@vocalstack/player 0.1.0-alpha.19 → 0.1.0-alpha.20

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/index.js CHANGED
@@ -1,12 +1,12 @@
1
- var da = Object.defineProperty;
2
- var Ma = (t, e, n) => e in t ? da(t, e, { enumerable: !0, configurable: !0, writable: !0, value: n }) : t[e] = n;
3
- var ge = (t, e, n) => Ma(t, typeof e != "symbol" ? e + "" : e, n);
1
+ var ua = Object.defineProperty;
2
+ var da = (t, e, n) => e in t ? ua(t, e, { enumerable: !0, configurable: !0, writable: !0, value: n }) : t[e] = n;
3
+ var ge = (t, e, n) => da(t, typeof e != "symbol" ? e + "" : e, n);
4
4
  import { jsx as i, jsxs as h, Fragment as _e } from "react/jsx-runtime";
5
- import { useState as I, useRef as v, useEffect as _, useLayoutEffect as Qt, createContext as ti, useMemo as Ie, useContext as ga, useCallback as Xe, Fragment as ha, forwardRef as fa, useImperativeHandle as Na } from "react";
6
- import { createPortal as pa } from "react-dom";
5
+ import { useState as I, useRef as v, useEffect as _, useLayoutEffect as Qt, createContext as ti, useMemo as Ie, useContext as Ma, useCallback as Xe, Fragment as ga, forwardRef as ha, useImperativeHandle as fa } from "react";
6
+ import { createPortal as Na } from "react-dom";
7
7
  import { VocalStackError as ni, VocalStack as si } from "@vocalstack/js-sdk";
8
- const ri = "https://vocalstack.com", ma = "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxMDUxLjY5MDciIGhlaWdodD0iMTU1LjMwNjQxIiB2aWV3Qm94PSIwIDAgMTA1MS42OTA2IDE1NS4zMDY0MSI+PGcgdHJhbnNmb3JtPSJtYXRyaXgoMC44ODczNDc3MSwwLDAsMC44OTExODY4MiwtNDIuNzE2NjMsLTEyMy44NTM4OCkiPjxwYXRoIHN0eWxlPSJmaWxsOiM1NWFiZTU7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlLXdpZHRoOjAuMzcyOTYyIiBkPSJtIDE2NS43NDM2OSwzMTIuMzQ1MTQgYyAtMy42NTkwNCwtMC45NTg2MSAtNi44OTEzMSwtMy4zNTM0OCAtOS4yMTQ5NCwtNi44Mjc1OSAtMS45MTIyNiwtMi44NTkwOCAtMi4zOTcwNSwtNC41Njk3MSAtMi4zOTcwNSwtOC40NTgzNiAwLC0zLjk5MjU0IDAuMDgyNCwtNC4yNzU3IDQuMjMwMTIsLTE0LjU0NTUzIDQuMDA5MjMsLTkuOTI2ODEgMTEuNzQ1OTcsLTI5LjYwODA0IDE0LjE3MjU0LC0zNi4wNTMwMiAxLjA1NTUsLTIuODAzNDQgNC42MzU3OSwtMTIuMDkwMiA3Ljk1NjE5LC0yMC42MzcyNSAzLjMyMDQsLTguNTQ3MDYgOS40NzI2NSwtMjQuNDkxMiAxMy42NzE2OCwtMzUuNDMxNDMgOS40MTE2MywtMjQuNTIxMjUgMTIuMTUxMjQsLTMxLjM5NjE0IDE0LjE5MjIyLC0zNS42MTQ1NSAxLjMzMjI5LC0yLjc1MzY0IDEuODc4NjcsLTMuNTkyNTggMy4zNDU0NiwtNS4xMzY3MiAxLjk2ODIyLC0yLjA3MjAzIDQuMDk4NCwtMy41NjI1MyA2LjQ2Njg3LC00LjUyNDkzIDEuMjcxMzgsLTAuNTE2NiAyLjI1NzYzLC0wLjY5MzAyIDQuODI2NzksLTAuODYzNCA1LjIxODMsLTAuMzQ2MDcgMjQuNTc0NjIsLTAuNTU0NTggMjQuOTg1MDgsLTAuMjY5MTQgMC40Mzc5NywwLjMwNDU2IDEuMTMxMzEsLTEuNTAwMjEgLTE1LjE1NDEyLDM5LjQ0Njc4IC0yMC42ODg0Miw1Mi4wMTc1NyAtMjguOTYxODUsNzIuOTgyNjUgLTM2Ljc1MTgxLDkzLjEzMDA0IC04LjQwMzU2LDIxLjczNDM0IC05LjM5NDk1LDI0LjIwNzY0IC0xMC43NjMxNiwyNi44NTE2NSAtMi4zNTQ1LDQuNTUgLTYuMzgyNCw3Ljc4MzMxIC0xMS4yNzY2MSw5LjA1MjA3IC0yLjA3MjU5LDAuNTM3MjkgLTYuMDAwMTUsMC40ODEwOSAtOC4yODkyNiwtMC4xMTg2MiB6Ii8+PHBhdGggc3R5bGU9ImZpbGw6IzU1YWJlNTtmaWxsLW9wYWNpdHk6MTtzdHJva2Utd2lkdGg6MC4zNzI5NjIiIGQ9Im0gMTIyLjQ5MjIsMzEyLjU4OTE2IGMgLTQuMDc5NTYsLTAuNzMyNTggLTguNjUxMjMsLTMuOTM0MSAtMTEuMjMyNTgsLTcuODY2MTYgLTAuNzMwMDQsLTEuMTEyMDMgLTEuODU0NTksLTMuNDgzMjYgLTIuODQzMDksLTUuOTk0OTYgLTAuODk5NDMsLTIuMjg1NCAtNC43NjI4NywtMTIuMTU1MyAtOC41ODU0MDksLTIxLjkzMzEzIC0zLjgyMjU0LC05Ljc3NzgzIC04LjQ3OTA3MiwtMjEuNjM4MDMgLTEwLjM0Nzg1MiwtMjYuMzU2MDEgLTEuODY4NzgsLTQuNzE3OTcgLTcuNDA0OTY4LC0xOC44MTU5NSAtMTIuMzAyNjQ2LC0zMS4zMjg4NCAtNC44OTc2ODEsLTEyLjUxMjg4IC0xMC44NjE5MjMsLTI3LjcyOTc1IC0xMy4yNTM4NzYsLTMzLjgxNTI1IC0yLjM5MTk1MywtNi4wODU1IC01LjY2NTIxNiwtMTQuNDc3MTUgLTcuMjczOTE4LC0xOC42NDgxMSAtMS42MDg2OTgsLTQuMTcwOTcgLTQuMjM1OTUsLTEwLjg0ODI2IC01LjgzODMzNCwtMTQuODM4NDMgLTIuMDcyNzc5LC01LjE2MTUzIC0yLjgzNjUwOSwtNy4zMzE3NyAtMi42NDY4NjksLTcuNTIxNCAwLjM0NzkwMywtMC4zNDc5MSAyMC44Mjg4ODcsLTAuMzU5MTcgMjQuNzMyODc0LC0wLjAxMzYgNC42NDkyNTYsMC40MTE1NCA3LjAxMjg0OCwxLjUyODExIDEwLjUxNzU0Niw0Ljk2ODUyIDEuNDUwODE5LDEuNDI0MjEgMi4zOTgsMi42MDIxMyAyLjkwNDM3NSwzLjYxMTkgMS43OTg2OTMsMy41ODY3OCA4LjQxODEwMywyMC4wMjg2OSAxOC42NjYyNzksNDYuMzY1MDYgMy42OTgzOSw5LjUwNDMyIDExLjE2MDY3LDI4LjQxMzUxIDE2LjU4Mjg1LDQyLjAyMDQyIDE0LjYzNDMzLDM2LjcyNDY3IDE4Ljc0NzUzLDQ3LjEzNzY1IDE5LjUzOTc1LDQ5LjQ2Njg3IDIuMjI5ODEsNi41NTU4OSAxLjA1NTMzLDEyLjcwMjE0IC0zLjMwNDI2LDE3LjI5MTc2IC0zLjEwMzU5LDMuMjY3MzYgLTYuMjIwNDMsNC42MDg0NSAtMTEuMDIxNzgsNC43NDI0IC0xLjY0MzMxLDAuMDQ1OCAtMy41NzUxOCwtMC4wMjIxIC00LjI5MzA2LC0wLjE1MTAzIHoiLz48cmVjdCBzdHlsZT0iZmlsbDojZWM2MzRkIiB3aWR0aD0iMTEuMjY5NTQiIGhlaWdodD0iNDIuMDk3NjIyIiB4PSIxNjQuODgwMTQiIHk9IjE3Ni4yNTkwOSIgcnk9IjUuNjEwNDk2Ii8+PHJlY3Qgc3R5bGU9ImZpbGw6I2VjNjM0ZCIgd2lkdGg9IjExLjYyMTU2IiBoZWlnaHQ9Ijg3LjAzODYwNSIgeD0iMTQyLjE1ODY4IiB5PSIxNTMuNzg4NiIgcnk9IjUuNjEwNDk2Ii8+PHJlY3Qgc3R5bGU9ImZpbGw6I2VjNjM0ZCIgd2lkdGg9IjExLjI2OTU0IiBoZWlnaHQ9IjQyLjA5NzYyMiIgeD0iMTE5Ljc4OTI0IiB5PSIxNzYuMjU5MDkiIHJ5PSI1LjYxMDQ5NiIvPjwvZz48cGF0aCBzdHlsZT0iZmlsbDojZmZmZmZmIiBkPSJtIDIyMi4yNTEzMiw2OC40Nzk4OTcgcSAtMTIuNzk5OTgsMCAtMjEuNzU5OTcsOC45NTk5ODYgLTguOTU5OTgsOC45NTk5ODYgLTguOTU5OTgsMjEuNzU5OTY1IDAsMTIuNTg2NjQyIDguOTU5OTgsMjEuNTQ2NjMyIDQuMjY2NjYsNC40Nzk5OSA5LjgxMzMyLDYuODI2NjYgNS43NTk5OSwyLjEzMzMzIDExLjk0NjY1LDIuMTMzMzMgNi4xODY2NiwwIDExLjczMzMxLC0yLjEzMzMzIDUuNTQ2NjYsLTIuMzQ2NjcgMTAuMDI2NjUsLTYuODI2NjYgOC45NTk5OSwtOC45NTk5OSA4Ljk1OTk5LC0yMS41NDY2MzIgMCwtMTIuNzk5OTc5IC04Ljk1OTk5LC0yMS43NTk5NjUgLTkuMzg2NjUsLTguOTU5OTg2IC0yMS43NTk5NiwtOC45NTk5ODYgeiBtIDAsLTI1LjU5OTk1OSBxIDExLjczMzMxLDAgMjEuOTczMyw0LjQ3OTk5MyAxMC4yMzk5OCw0LjI2NjY2IDE3LjkxOTk3LDExLjk0NjY0OCA3LjY3OTk5LDcuNjc5OTg3IDExLjk0NjY1LDE3LjkxOTk3MSA0LjQ3OTk5LDEwLjIzOTk4NCA0LjQ3OTk5LDIxLjk3MzI5OCAwLDExLjUxOTk4MiAtNC40Nzk5OSwyMS43NTk5NjIgLTQuMjY2NjYsMTAuMjM5OTkgLTExLjk0NjY1LDE3LjkxOTk3IC03LjY3OTk5LDcuNjc5OTkgLTE3LjkxOTk3LDEyLjE1OTk5IC0xMC4yMzk5OSw0LjI2NjY2IC0yMS45NzMzLDQuMjY2NjYgLTExLjczMzMyLDAgLTIxLjk3MzMsLTQuMjY2NjYgLTEwLjIzOTk4LC00LjQ4IC0xNy45MTk5NywtMTIuMTU5OTkgLTcuNjc5OTksLTcuNjc5OTggLTEyLjE1OTk4LC0xNy45MTk5NyAtNC4yNjY2NiwtMTAuMjM5OTggLTQuMjY2NjYsLTIxLjc1OTk2MiAwLC0xMS43MzMzMTQgNC4yNjY2NiwtMjEuOTczMjk4IDQuNDc5OTksLTEwLjIzOTk4NCAxMi4xNTk5OCwtMTcuOTE5OTcxIDcuNjc5OTksLTcuNjc5OTg4IDE3LjkxOTk3LC0xMS45NDY2NDggMTAuMjM5OTgsLTQuNDc5OTkzIDIxLjk3MzMsLTQuNDc5OTkzIHogTSAzODMuMzE3OSwxMzguODc5NzggcSAtNy42Nzk5OSw3LjY3OTk5IC0xNy45MTk5NywxMi4xNTk5OSAtMTAuMjM5OTksNC4yNjY2NiAtMjEuOTczMyw0LjI2NjY2IC0xMS43MzMzMiwwIC0yMS45NzMzLC00LjI2NjY2IC0xMC4yMzk5OCwtNC40OCAtMTcuOTE5OTcsLTEyLjE1OTk5IC03LjY3OTk5LC03LjY3OTk4IC0xMi4xNTk5OCwtMTcuOTE5OTcgLTQuMjY2NjYsLTEwLjIzOTk4IC00LjI2NjY2LC0yMS43NTk5NjIgMCwtMTEuNzMzMzE0IDQuMjY2NjYsLTIxLjk3MzI5OCA0LjQ3OTk5LC0xMC4yMzk5ODQgMTIuMTU5OTgsLTE3LjkxOTk3MSA3LjY3OTk5LC03LjY3OTk4OCAxNy45MTk5NywtMTEuOTQ2NjQ4IDEwLjIzOTk4LC00LjQ3OTk5MyAyMS45NzMzLC00LjQ3OTk5MyAxMS43MzMzMSwwIDIxLjk3MzMsNC40Nzk5OTMgMTAuMjM5OTgsNC4yNjY2NiAxNy45MTk5NywxMS45NDY2NDggbCAtMTguMTMzMzEsMTguMTMzMzA0IHEgLTguOTU5OTgsLTguOTU5OTg2IC0yMS43NTk5NiwtOC45NTk5ODYgLTEyLjM3MzMyLDAgLTIxLjc1OTk3LDguOTU5OTg2IC04Ljk1OTk4LDguOTU5OTg2IC04Ljk1OTk4LDIxLjc1OTk2NSAwLDEyLjU4NjY0MiA4Ljk1OTk4LDIxLjU0NjYzMiA0LjQ4LDQuNDc5OTkgMTAuMDI2NjUsNi44MjY2NiA1LjU0NjY2LDIuMTMzMzMgMTEuNzMzMzIsMi4xMzMzMyAxMy4wMTMzMSwwIDIxLjc1OTk2LC04Ljk1OTk5IHogTSA0OTguMDkxMTQsNDUuNjUzMjY3IFYgMTUyLjUzMzEgSCA0NzIuNDkxMTggViA5OS4xOTk4NDggcSAwLC0xMi43OTk5NzkgLTguOTU5OTgsLTIxLjc1OTk2NSAtOC45NTk5OSwtOC45NTk5ODYgLTIxLjc1OTk3LC04Ljk1OTk4NiAtNi4xODY2NiwwIC0xMS45NDY2NSwyLjM0NjY2MyAtNS41NDY2NSwyLjM0NjY2MyAtOS44MTMzMSw2LjYxMzMyMyAtOC45NTk5OSw4Ljk1OTk4NiAtOC45NTk5OSwyMS43NTk5NjUgMCwxMi41ODY2NDIgOC45NTk5OSwyMS41NDY2MzIgNC4yNjY2Niw0LjQ3OTk5IDkuODEzMzEsNi44MjY2NiA1Ljc1OTk5LDIuMTMzMzMgMTEuOTQ2NjUsMi4xMzMzMyA2LjM5OTk5LDAgMTEuNTE5OTgsLTIuMTMzMzMgbCA5LjE3MzMyLDIyLjgyNjYzIHEgLTkuODEzMzIsNC45MDY2NiAtMjIuODI2NjMsNC45MDY2NiAtMTEuNzMzMzEsMCAtMjEuNzU5OTYsLTQuMjY2NjYgLTkuODEzMzIsLTQuNDggLTE3LjA2NjY0LC0xMi4xNTk5OSAtNy4yNTMzMiwtNy42Nzk5OCAtMTEuMzA2NjUsLTE3LjkxOTk3IC00LjA1MzMzLC0xMC4yMzk5OCAtNC4wNTMzMywtMjEuNzU5OTYyIDAsLTExLjczMzMxNCA0LjA1MzMzLC0yMS45NzMyOTggNC4wNTMzMywtMTAuMjM5OTg0IDExLjMwNjY1LC0xNy45MTk5NzEgNy4yNTMzMiwtNy42Nzk5ODggMTcuMDY2NjQsLTExLjk0NjY0OCAxMC4wMjY2NSwtNC40Nzk5OTMgMjEuNzU5OTYsLTQuNDc5OTkzIDEwLjQ1MzMyLDAgMTguNTU5OTcsMy4xOTk5OTUgOC4xMDY2NiwzLjE5OTk5NSAxNC4yOTMzMSw4LjEwNjY1NCB2IC04LjUzMzMyIHogTSA1MzguNjI0NDYsMTUyLjUzMzEgSCA1MTMuMDI0NSBWIDMuMjAwMDAxNSBoIDI1LjU5OTk2IFYgMTUyLjUzMzEgWiBtIDEyMC4xMDY1OSwtNDIuNjY2NiBxIDAsMTAuNDUzMzEgLTMuNDEzMzMsMTguOTg2NjMgLTMuNDEzMzIsOC4zMTk5OSAtOS44MTMzMSwxNC4yOTMzMSAtNi4xODY2Niw1Ljc2IC0xNS4xNDY2NSw4Ljk1OTk5IC04Ljk1OTk4LDMuMiAtMjAuMDUzMywzLjIgLTE3LjcwNjY0LDAgLTMxLjU3MzI4LC01LjU0NjY2IC0xMy44NjY2NCwtNS43NTk5OSAtMjIuODI2NjMsLTEzLjAxMzMyIGwgMTcuNzA2NjQsLTE3LjcwNjYzIHEgNy4wMzk5OSw2LjM5OTk5IDE1Ljc4NjY0LDkuODEzMzEgNS4zMzMzMiwyLjEzMzMzIDEwLjAyNjY1LDIuNzczMzMgNC42OTMzMywwLjY0IDcuNjc5OTksMC42NCA1LjU0NjY2LDAgMTAuMDI2NjUsLTEuMjggNC42OTMzMiwtMS40OTMzMyA4LjEwNjY1LC0zLjgzOTk5IDcuMjUzMzIsLTUuMzMzMzIgNy4yNTMzMiwtMTQuMDc5OTggMCwtNS4zMzMzMiAtMy44Mzk5OSwtOS41OTk5OCAtMi45ODY2NiwtMy40MTMzMyAtNy42Nzk5OSwtNS41NDY2NiAtMy44Mzk5OSwtMi4xMzMzMyAtOC4xMDY2NSwtMy40MTMzMjggLTQuMjY2NjYsLTEuMjc5OTk4IC03LjY3OTk5LC0yLjM0NjY2MyAtMS4wNjY2NiwtMC40MjY2NjYgLTEuOTIsLTAuNDI2NjY2IC0wLjg1MzMzLC0wLjIxMzMzMyAtMS40OTMzMywtMC42Mzk5OTkgLTAuNDI2NjYsMCAtMS4yNzk5OSwtMC40MjY2NjYgLTQuNDgsLTEuMjc5OTk3IC0xMy4wMTMzMiwtNC40Nzk5OTIgLTguMzE5OTgsLTMuMTk5OTk1IC0xNi42Mzk5NywtOC43NDY2NTMgLTE5LjQxMzMsLTEzLjAxMzMxMyAtMTkuNDEzMywtMzEuOTk5OTQ5IDAsLTEyLjU4NjY0NyA0LjI2NjY2LC0yMS4xMTk5NjYgNC40Nzk5OSwtOC43NDY2NTMgMTEuNTE5OTgsLTE0LjA3OTk3OCA3LjAzOTk5LC01LjU0NjY1NzUgMTUuNTczMzEsLTcuODkzMzIwNCBRIDU5MS41MzExNiw2LjYzNzU3MzNlLTYgNTk5Ljg1MTE1LDYuNjM3NTczM2UtNiBxIDE1LjM1OTk3LDAgMjUuODEzMjksMy42MjY2NjA4NjI0MjY3IDEwLjQ1MzMyLDMuNjI2NjYwOSAxNi42Mzk5Nyw3LjI1MzMyMTUgMy4yLDEuOTE5OTk3IDUuMzMzMzMsMy44Mzk5OTQgMi4zNDY2NiwxLjcwNjY2NCA0LjA1MzMyLDMuMTk5OTk1IGwgLTE4LjEzMzMsMTguMzQ2NjM3IHEgLTUuNzU5OTksLTUuNzU5OTkgLTExLjczMzMyLC04Ljc0NjY1MiAtOC45NTk5OCwtNC4yNjY2NiAtMTguNzczMywtNC4yNjY2NiAtNC4yNjY2NiwwIC04LjUzMzMyLDEuMDY2NjY1IC00LjI2NjY2LDEuMDY2NjY1IC03LjQ2NjY1LDIuNzczMzI5IC05LjM4NjY1LDUuNzU5OTkgLTkuMzg2NjUsMTUuMTQ2NjQyIDAsNS43NTk5OTEgMy44Mzk5OSw5LjgxMzMxOCAyLjc3MzMzLDMuMTk5OTk1IDcuNjc5OTksNS43NTk5OTEgNC4wNTMzMiwyLjEzMzMzIDguNTMzMzIsMy40MTMzMjggNC40Nzk5OSwxLjI3OTk5NyA4LjMxOTk4LDIuMzQ2NjYyIGwgMi41NiwwLjYzOTk5OSBxIDEuMDY2NjYsMC40MjY2NjYgNC4wNTMzMywxLjI3OTk5OCAyLjk4NjY2LDAuODUzMzMyIDcuMDM5OTgsMi41NTk5OTYgNC4wNTMzMywxLjcwNjY2NCA4Ljc0NjY2LDQuMDUzMzI3IDQuOTA2NjYsMi4zNDY2NjMgOS41OTk5OCw1LjU0NjY1OCAyMC42OTMzLDEzLjY1MzMxMSAyMC42OTMzLDMyLjIxMzI4NCB6IG0gNjkuMTE5NzcsNDIuNjY2NiBoIC0yMy40NjY2MyBxIC03LjI1MzMyLDAgLTEzLjY1MzMxLC0yLjc3MzMzIC02LjM5OTk5LC0yLjc3MzMzIC0xMS4wOTMzMiwtNy40NjY2NiAtNC42OTMzMiwtNC45MDY2NiAtNy40NjY2NSwtMTEuMzA2NjUgLTIuNzczMzMsLTYuMzk5OTkgLTIuNzczMzMsLTEzLjY1MzMxIFYgMjQuMzE5OTY4IGwgMjUuNTk5OTYsLTYuMzk5OTkgViA1OC42NjY1OCBoIDE0LjkzMzMxIGwgNi4zOTk5OSwyNS41OTk5NTkgaCAtMjEuMzMzMyB2IDMzLjA2NjYxMSBxIDAsNC4wNTMzMyAyLjc3MzMzLDYuODI2NjYgMi43NzMzMywyLjc3MzMzIDYuNjEzMzIsMi43NzMzMyBoIDE3LjA2NjY0IHogbSAxMTEuMzYsLTEwNi44Nzk4MzMgViAxNTIuNTMzMSBIIDgxMy42MTA4NiBWIDk5LjE5OTg0OCBxIDAsLTEyLjc5OTk3OSAtOC45NTk5OSwtMjEuNzU5OTY1IC04Ljk1OTk4LC04Ljk1OTk4NiAtMjEuNzU5OTYsLTguOTU5OTg2IC02LjE4NjY2LDAgLTExLjk0NjY1LDIuMzQ2NjYzIC01LjU0NjY2LDIuMzQ2NjYzIC05LjgxMzMyLDYuNjEzMzIzIC04Ljk1OTk4LDguOTU5OTg2IC04Ljk1OTk4LDIxLjc1OTk2NSAwLDEyLjU4NjY0MiA4Ljk1OTk4LDIxLjU0NjYzMiA0LjI2NjY2LDQuNDc5OTkgOS44MTMzMiw2LjgyNjY2IDUuNzU5OTksMi4xMzMzMyAxMS45NDY2NSwyLjEzMzMzIDYuMzk5OTksMCAxMS41MTk5OCwtMi4xMzMzMyBsIDkuMTczMzIsMjIuODI2NjMgcSAtOS44MTMzMiw0LjkwNjY2IC0yMi44MjY2Myw0LjkwNjY2IC0xMS43MzMzMiwwIC0yMS43NTk5NywtNC4yNjY2NiAtOS44MTMzMiwtNC40OCAtMTcuMDY2NjQsLTEyLjE1OTk5IC03LjI1MzMyLC03LjY3OTk4IC0xMS4zMDY2NSwtMTcuOTE5OTcgLTQuMDUzMzIsLTEwLjIzOTk4IC00LjA1MzMyLC0yMS43NTk5NjIgMCwtMTEuNzMzMzE0IDQuMDUzMzIsLTIxLjk3MzI5OCA0LjA1MzMzLC0xMC4yMzk5ODQgMTEuMzA2NjUsLTE3LjkxOTk3MSA3LjI1MzMyLC03LjY3OTk4OCAxNy4wNjY2NCwtMTEuOTQ2NjQ4IDEwLjAyNjY1LC00LjQ3OTk5MyAyMS43NTk5NywtNC40Nzk5OTMgMTAuNDUzMzEsMCAxOC41NTk5NywzLjE5OTk5NSA4LjEwNjY1LDMuMTk5OTk1IDE0LjI5MzMxLDguMTA2NjU0IHYgLTguNTMzMzIgeiBtIDEwNy45NDY1Miw5My4yMjY1MTMgcSAtNy42Nzk5OCw3LjY3OTk5IC0xNy45MTk5NywxMi4xNTk5OSAtMTAuMjM5OTgsNC4yNjY2NiAtMjEuOTczMjksNC4yNjY2NiAtMTEuNzMzMzIsMCAtMjEuOTczMywtNC4yNjY2NiAtMTAuMjM5OTksLTQuNDggLTE3LjkxOTk3LC0xMi4xNTk5OSAtNy42Nzk5OSwtNy42Nzk5OCAtMTIuMTU5OTgsLTE3LjkxOTk3IC00LjI2NjY2LC0xMC4yMzk5OCAtNC4yNjY2NiwtMjEuNzU5OTYyIDAsLTExLjczMzMxNCA0LjI2NjY2LC0yMS45NzMyOTggNC40Nzk5OSwtMTAuMjM5OTg0IDEyLjE1OTk4LC0xNy45MTk5NzEgNy42Nzk5OCwtNy42Nzk5ODggMTcuOTE5OTcsLTExLjk0NjY0OCAxMC4yMzk5OCwtNC40Nzk5OTMgMjEuOTczMywtNC40Nzk5OTMgMTEuNzMzMzEsMCAyMS45NzMyOSw0LjQ3OTk5MyAxMC4yMzk5OSw0LjI2NjY2IDE3LjkxOTk3LDExLjk0NjY0OCBsIC0xOC4xMzMzLDE4LjEzMzMwNCBxIC04Ljk1OTk5LC04Ljk1OTk4NiAtMjEuNzU5OTYsLTguOTU5OTg2IC0xMi4zNzMzMiwwIC0yMS43NTk5Nyw4Ljk1OTk4NiAtOC45NTk5OSw4Ljk1OTk4NiAtOC45NTk5OSwyMS43NTk5NjUgMCwxMi41ODY2NDIgOC45NTk5OSwyMS41NDY2MzIgNC40Nzk5OSw0LjQ3OTk5IDEwLjAyNjY1LDYuODI2NjYgNS41NDY2NiwyLjEzMzMzIDExLjczMzMyLDIuMTMzMzMgMTMuMDEzMzEsMCAyMS43NTk5NiwtOC45NTk5OSB6IE0gMTA1MS42OTA3LDQ1Ljg2NjYgOTk4LjM1NzQsOTkuMTk5ODQ4IDEwNTEuNjkwNywxNTIuNTMzMSBoIC0zNi4wNTMzIEwgOTgwLjIyNDEsMTE3LjExOTgyIFYgMTUyLjUzMzEgSCA5NTQuNjI0MTQgViAzLjIwMDAwMTUgSCA5ODAuMjI0MSBWIDgxLjA2NjU0NCBMIDEwMTUuNDI0LDQ1Ljg2NjYgaCAzNi4yNjY3IHoiLz48L3N2Zz4=", ya = "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxMDUxLjY5MDciIGhlaWdodD0iMTU1LjMwNjQxIiB2aWV3Qm94PSIwIDAgMTA1MS42OTA2IDE1NS4zMDY0MSI+PGcgdHJhbnNmb3JtPSJtYXRyaXgoMC44ODczNDc3MSwwLDAsMC44OTExODY4MiwtNDIuNzE2NjMsLTEyMy44NTM4OCkiPjxwYXRoIHN0eWxlPSJmaWxsOiMyNDVCOEY7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlLXdpZHRoOjAuMzcyOTYyIiBkPSJtIDE2NS43NDM2OSwzMTIuMzQ1MTQgYyAtMy42NTkwNCwtMC45NTg2MSAtNi44OTEzMSwtMy4zNTM0OCAtOS4yMTQ5NCwtNi44Mjc1OSAtMS45MTIyNiwtMi44NTkwOCAtMi4zOTcwNSwtNC41Njk3MSAtMi4zOTcwNSwtOC40NTgzNiAwLC0zLjk5MjU0IDAuMDgyNCwtNC4yNzU3IDQuMjMwMTIsLTE0LjU0NTUzIDQuMDA5MjMsLTkuOTI2ODEgMTEuNzQ1OTcsLTI5LjYwODA0IDE0LjE3MjU0LC0zNi4wNTMwMiAxLjA1NTUsLTIuODAzNDQgNC42MzU3OSwtMTIuMDkwMiA3Ljk1NjE5LC0yMC42MzcyNSAzLjMyMDQsLTguNTQ3MDYgOS40NzI2NSwtMjQuNDkxMiAxMy42NzE2OCwtMzUuNDMxNDMgOS40MTE2MywtMjQuNTIxMjUgMTIuMTUxMjQsLTMxLjM5NjE0IDE0LjE5MjIyLC0zNS42MTQ1NSAxLjMzMjI5LC0yLjc1MzY0IDEuODc4NjcsLTMuNTkyNTggMy4zNDU0NiwtNS4xMzY3MiAxLjk2ODIyLC0yLjA3MjAzIDQuMDk4NCwtMy41NjI1MyA2LjQ2Njg3LC00LjUyNDkzIDEuMjcxMzgsLTAuNTE2NiAyLjI1NzYzLC0wLjY5MzAyIDQuODI2NzksLTAuODYzNCA1LjIxODMsLTAuMzQ2MDcgMjQuNTc0NjIsLTAuNTU0NTggMjQuOTg1MDgsLTAuMjY5MTQgMC40Mzc5NywwLjMwNDU2IDEuMTMxMzEsLTEuNTAwMjEgLTE1LjE1NDEyLDM5LjQ0Njc4IC0yMC42ODg0Miw1Mi4wMTc1NyAtMjguOTYxODUsNzIuOTgyNjUgLTM2Ljc1MTgxLDkzLjEzMDA0IC04LjQwMzU2LDIxLjczNDM0IC05LjM5NDk1LDI0LjIwNzY0IC0xMC43NjMxNiwyNi44NTE2NSAtMi4zNTQ1LDQuNTUgLTYuMzgyNCw3Ljc4MzMxIC0xMS4yNzY2MSw5LjA1MjA3IC0yLjA3MjU5LDAuNTM3MjkgLTYuMDAwMTUsMC40ODEwOSAtOC4yODkyNiwtMC4xMTg2MiB6Ii8+PHBhdGggc3R5bGU9ImZpbGw6IzI0NUI4RjtmaWxsLW9wYWNpdHk6MTtzdHJva2Utd2lkdGg6MC4zNzI5NjIiIGQ9Im0gMTIyLjQ5MjIsMzEyLjU4OTE2IGMgLTQuMDc5NTYsLTAuNzMyNTggLTguNjUxMjMsLTMuOTM0MSAtMTEuMjMyNTgsLTcuODY2MTYgLTAuNzMwMDQsLTEuMTEyMDMgLTEuODU0NTksLTMuNDgzMjYgLTIuODQzMDksLTUuOTk0OTYgLTAuODk5NDMsLTIuMjg1NCAtNC43NjI4NywtMTIuMTU1MyAtOC41ODU0MDksLTIxLjkzMzEzIC0zLjgyMjU0LC05Ljc3NzgzIC04LjQ3OTA3MiwtMjEuNjM4MDMgLTEwLjM0Nzg1MiwtMjYuMzU2MDEgLTEuODY4NzgsLTQuNzE3OTcgLTcuNDA0OTY4LC0xOC44MTU5NSAtMTIuMzAyNjQ2LC0zMS4zMjg4NCAtNC44OTc2ODEsLTEyLjUxMjg4IC0xMC44NjE5MjMsLTI3LjcyOTc1IC0xMy4yNTM4NzYsLTMzLjgxNTI1IC0yLjM5MTk1MywtNi4wODU1IC01LjY2NTIxNiwtMTQuNDc3MTUgLTcuMjczOTE4LC0xOC42NDgxMSAtMS42MDg2OTgsLTQuMTcwOTcgLTQuMjM1OTUsLTEwLjg0ODI2IC01LjgzODMzNCwtMTQuODM4NDMgLTIuMDcyNzc5LC01LjE2MTUzIC0yLjgzNjUwOSwtNy4zMzE3NyAtMi42NDY4NjksLTcuNTIxNCAwLjM0NzkwMywtMC4zNDc5MSAyMC44Mjg4ODcsLTAuMzU5MTcgMjQuNzMyODc0LC0wLjAxMzYgNC42NDkyNTYsMC40MTE1NCA3LjAxMjg0OCwxLjUyODExIDEwLjUxNzU0Niw0Ljk2ODUyIDEuNDUwODE5LDEuNDI0MjEgMi4zOTgsMi42MDIxMyAyLjkwNDM3NSwzLjYxMTkgMS43OTg2OTMsMy41ODY3OCA4LjQxODEwMywyMC4wMjg2OSAxOC42NjYyNzksNDYuMzY1MDYgMy42OTgzOSw5LjUwNDMyIDExLjE2MDY3LDI4LjQxMzUxIDE2LjU4Mjg1LDQyLjAyMDQyIDE0LjYzNDMzLDM2LjcyNDY3IDE4Ljc0NzUzLDQ3LjEzNzY1IDE5LjUzOTc1LDQ5LjQ2Njg3IDIuMjI5ODEsNi41NTU4OSAxLjA1NTMzLDEyLjcwMjE0IC0zLjMwNDI2LDE3LjI5MTc2IC0zLjEwMzU5LDMuMjY3MzYgLTYuMjIwNDMsNC42MDg0NSAtMTEuMDIxNzgsNC43NDI0IC0xLjY0MzMxLDAuMDQ1OCAtMy41NzUxOCwtMC4wMjIxIC00LjI5MzA2LC0wLjE1MTAzIHoiLz48cmVjdCBzdHlsZT0iZmlsbDojZWM2MzRkIiB3aWR0aD0iMTEuMjY5NTQiIGhlaWdodD0iNDIuMDk3NjIyIiB4PSIxNjQuODgwMTQiIHk9IjE3Ni4yNTkwOSIgcnk9IjUuNjEwNDk2Ii8+PHJlY3Qgc3R5bGU9ImZpbGw6I2VjNjM0ZCIgd2lkdGg9IjExLjYyMTU2IiBoZWlnaHQ9Ijg3LjAzODYwNSIgeD0iMTQyLjE1ODY4IiB5PSIxNTMuNzg4NiIgcnk9IjUuNjEwNDk2Ii8+PHJlY3Qgc3R5bGU9ImZpbGw6I2VjNjM0ZCIgd2lkdGg9IjExLjI2OTU0IiBoZWlnaHQ9IjQyLjA5NzYyMiIgeD0iMTE5Ljc4OTI0IiB5PSIxNzYuMjU5MDkiIHJ5PSI1LjYxMDQ5NiIvPjwvZz48cGF0aCBzdHlsZT0iZmlsbDojZWM2MzRkIiBkPSJtIDIyMi4yNTEzMiw2OC40Nzk4OTcgcSAtMTIuNzk5OTgsMCAtMjEuNzU5OTcsOC45NTk5ODYgLTguOTU5OTgsOC45NTk5ODYgLTguOTU5OTgsMjEuNzU5OTY1IDAsMTIuNTg2NjQyIDguOTU5OTgsMjEuNTQ2NjMyIDQuMjY2NjYsNC40Nzk5OSA5LjgxMzMyLDYuODI2NjYgNS43NTk5OSwyLjEzMzMzIDExLjk0NjY1LDIuMTMzMzMgNi4xODY2NiwwIDExLjczMzMxLC0yLjEzMzMzIDUuNTQ2NjYsLTIuMzQ2NjcgMTAuMDI2NjUsLTYuODI2NjYgOC45NTk5OSwtOC45NTk5OSA4Ljk1OTk5LC0yMS41NDY2MzIgMCwtMTIuNzk5OTc5IC04Ljk1OTk5LC0yMS43NTk5NjUgLTkuMzg2NjUsLTguOTU5OTg2IC0yMS43NTk5NiwtOC45NTk5ODYgeiBtIDAsLTI1LjU5OTk1OSBxIDExLjczMzMxLDAgMjEuOTczMyw0LjQ3OTk5MyAxMC4yMzk5OCw0LjI2NjY2IDE3LjkxOTk3LDExLjk0NjY0OCA3LjY3OTk5LDcuNjc5OTg3IDExLjk0NjY1LDE3LjkxOTk3MSA0LjQ3OTk5LDEwLjIzOTk4NCA0LjQ3OTk5LDIxLjk3MzI5OCAwLDExLjUxOTk4MiAtNC40Nzk5OSwyMS43NTk5NjIgLTQuMjY2NjYsMTAuMjM5OTkgLTExLjk0NjY1LDE3LjkxOTk3IC03LjY3OTk5LDcuNjc5OTkgLTE3LjkxOTk3LDEyLjE1OTk5IC0xMC4yMzk5OSw0LjI2NjY2IC0yMS45NzMzLDQuMjY2NjYgLTExLjczMzMyLDAgLTIxLjk3MzMsLTQuMjY2NjYgLTEwLjIzOTk4LC00LjQ4IC0xNy45MTk5NywtMTIuMTU5OTkgLTcuNjc5OTksLTcuNjc5OTggLTEyLjE1OTk4LC0xNy45MTk5NyAtNC4yNjY2NiwtMTAuMjM5OTggLTQuMjY2NjYsLTIxLjc1OTk2MiAwLC0xMS43MzMzMTQgNC4yNjY2NiwtMjEuOTczMjk4IDQuNDc5OTksLTEwLjIzOTk4NCAxMi4xNTk5OCwtMTcuOTE5OTcxIDcuNjc5OTksLTcuNjc5OTg4IDE3LjkxOTk3LC0xMS45NDY2NDggMTAuMjM5OTgsLTQuNDc5OTkzIDIxLjk3MzMsLTQuNDc5OTkzIHogTSAzODMuMzE3OSwxMzguODc5NzggcSAtNy42Nzk5OSw3LjY3OTk5IC0xNy45MTk5NywxMi4xNTk5OSAtMTAuMjM5OTksNC4yNjY2NiAtMjEuOTczMyw0LjI2NjY2IC0xMS43MzMzMiwwIC0yMS45NzMzLC00LjI2NjY2IC0xMC4yMzk5OCwtNC40OCAtMTcuOTE5OTcsLTEyLjE1OTk5IC03LjY3OTk5LC03LjY3OTk4IC0xMi4xNTk5OCwtMTcuOTE5OTcgLTQuMjY2NjYsLTEwLjIzOTk4IC00LjI2NjY2LC0yMS43NTk5NjIgMCwtMTEuNzMzMzE0IDQuMjY2NjYsLTIxLjk3MzI5OCA0LjQ3OTk5LC0xMC4yMzk5ODQgMTIuMTU5OTgsLTE3LjkxOTk3MSA3LjY3OTk5LC03LjY3OTk4OCAxNy45MTk5NywtMTEuOTQ2NjQ4IDEwLjIzOTk4LC00LjQ3OTk5MyAyMS45NzMzLC00LjQ3OTk5MyAxMS43MzMzMSwwIDIxLjk3MzMsNC40Nzk5OTMgMTAuMjM5OTgsNC4yNjY2NiAxNy45MTk5NywxMS45NDY2NDggbCAtMTguMTMzMzEsMTguMTMzMzA0IHEgLTguOTU5OTgsLTguOTU5OTg2IC0yMS43NTk5NiwtOC45NTk5ODYgLTEyLjM3MzMyLDAgLTIxLjc1OTk3LDguOTU5OTg2IC04Ljk1OTk4LDguOTU5OTg2IC04Ljk1OTk4LDIxLjc1OTk2NSAwLDEyLjU4NjY0MiA4Ljk1OTk4LDIxLjU0NjYzMiA0LjQ4LDQuNDc5OTkgMTAuMDI2NjUsNi44MjY2NiA1LjU0NjY2LDIuMTMzMzMgMTEuNzMzMzIsMi4xMzMzMyAxMy4wMTMzMSwwIDIxLjc1OTk2LC04Ljk1OTk5IHogTSA0OTguMDkxMTQsNDUuNjUzMjY3IFYgMTUyLjUzMzEgSCA0NzIuNDkxMTggViA5OS4xOTk4NDggcSAwLC0xMi43OTk5NzkgLTguOTU5OTgsLTIxLjc1OTk2NSAtOC45NTk5OSwtOC45NTk5ODYgLTIxLjc1OTk3LC04Ljk1OTk4NiAtNi4xODY2NiwwIC0xMS45NDY2NSwyLjM0NjY2MyAtNS41NDY2NSwyLjM0NjY2MyAtOS44MTMzMSw2LjYxMzMyMyAtOC45NTk5OSw4Ljk1OTk4NiAtOC45NTk5OSwyMS43NTk5NjUgMCwxMi41ODY2NDIgOC45NTk5OSwyMS41NDY2MzIgNC4yNjY2Niw0LjQ3OTk5IDkuODEzMzEsNi44MjY2NiA1Ljc1OTk5LDIuMTMzMzMgMTEuOTQ2NjUsMi4xMzMzMyA2LjM5OTk5LDAgMTEuNTE5OTgsLTIuMTMzMzMgbCA5LjE3MzMyLDIyLjgyNjYzIHEgLTkuODEzMzIsNC45MDY2NiAtMjIuODI2NjMsNC45MDY2NiAtMTEuNzMzMzEsMCAtMjEuNzU5OTYsLTQuMjY2NjYgLTkuODEzMzIsLTQuNDggLTE3LjA2NjY0LC0xMi4xNTk5OSAtNy4yNTMzMiwtNy42Nzk5OCAtMTEuMzA2NjUsLTE3LjkxOTk3IC00LjA1MzMzLC0xMC4yMzk5OCAtNC4wNTMzMywtMjEuNzU5OTYyIDAsLTExLjczMzMxNCA0LjA1MzMzLC0yMS45NzMyOTggNC4wNTMzMywtMTAuMjM5OTg0IDExLjMwNjY1LC0xNy45MTk5NzEgNy4yNTMzMiwtNy42Nzk5ODggMTcuMDY2NjQsLTExLjk0NjY0OCAxMC4wMjY2NSwtNC40Nzk5OTMgMjEuNzU5OTYsLTQuNDc5OTkzIDEwLjQ1MzMyLDAgMTguNTU5OTcsMy4xOTk5OTUgOC4xMDY2NiwzLjE5OTk5NSAxNC4yOTMzMSw4LjEwNjY1NCB2IC04LjUzMzMyIHogTSA1MzguNjI0NDYsMTUyLjUzMzEgSCA1MTMuMDI0NSBWIDMuMjAwMDAxNSBoIDI1LjU5OTk2IFYgMTUyLjUzMzEgWiBtIDEyMC4xMDY1OSwtNDIuNjY2NiBxIDAsMTAuNDUzMzEgLTMuNDEzMzMsMTguOTg2NjMgLTMuNDEzMzIsOC4zMTk5OSAtOS44MTMzMSwxNC4yOTMzMSAtNi4xODY2Niw1Ljc2IC0xNS4xNDY2NSw4Ljk1OTk5IC04Ljk1OTk4LDMuMiAtMjAuMDUzMywzLjIgLTE3LjcwNjY0LDAgLTMxLjU3MzI4LC01LjU0NjY2IC0xMy44NjY2NCwtNS43NTk5OSAtMjIuODI2NjMsLTEzLjAxMzMyIGwgMTcuNzA2NjQsLTE3LjcwNjYzIHEgNy4wMzk5OSw2LjM5OTk5IDE1Ljc4NjY0LDkuODEzMzEgNS4zMzMzMiwyLjEzMzMzIDEwLjAyNjY1LDIuNzczMzMgNC42OTMzMywwLjY0IDcuNjc5OTksMC42NCA1LjU0NjY2LDAgMTAuMDI2NjUsLTEuMjggNC42OTMzMiwtMS40OTMzMyA4LjEwNjY1LC0zLjgzOTk5IDcuMjUzMzIsLTUuMzMzMzIgNy4yNTMzMiwtMTQuMDc5OTggMCwtNS4zMzMzMiAtMy44Mzk5OSwtOS41OTk5OCAtMi45ODY2NiwtMy40MTMzMyAtNy42Nzk5OSwtNS41NDY2NiAtMy44Mzk5OSwtMi4xMzMzMyAtOC4xMDY2NSwtMy40MTMzMjggLTQuMjY2NjYsLTEuMjc5OTk4IC03LjY3OTk5LC0yLjM0NjY2MyAtMS4wNjY2NiwtMC40MjY2NjYgLTEuOTIsLTAuNDI2NjY2IC0wLjg1MzMzLC0wLjIxMzMzMyAtMS40OTMzMywtMC42Mzk5OTkgLTAuNDI2NjYsMCAtMS4yNzk5OSwtMC40MjY2NjYgLTQuNDgsLTEuMjc5OTk3IC0xMy4wMTMzMiwtNC40Nzk5OTIgLTguMzE5OTgsLTMuMTk5OTk1IC0xNi42Mzk5NywtOC43NDY2NTMgLTE5LjQxMzMsLTEzLjAxMzMxMyAtMTkuNDEzMywtMzEuOTk5OTQ5IDAsLTEyLjU4NjY0NyA0LjI2NjY2LC0yMS4xMTk5NjYgNC40Nzk5OSwtOC43NDY2NTMgMTEuNTE5OTgsLTE0LjA3OTk3OCA3LjAzOTk5LC01LjU0NjY1NzUgMTUuNTczMzEsLTcuODkzMzIwNCBRIDU5MS41MzExNiw2LjYzNzU3MzNlLTYgNTk5Ljg1MTE1LDYuNjM3NTczM2UtNiBxIDE1LjM1OTk3LDAgMjUuODEzMjksMy42MjY2NjA4NjI0MjY3IDEwLjQ1MzMyLDMuNjI2NjYwOSAxNi42Mzk5Nyw3LjI1MzMyMTUgMy4yLDEuOTE5OTk3IDUuMzMzMzMsMy44Mzk5OTQgMi4zNDY2NiwxLjcwNjY2NCA0LjA1MzMyLDMuMTk5OTk1IGwgLTE4LjEzMzMsMTguMzQ2NjM3IHEgLTUuNzU5OTksLTUuNzU5OTkgLTExLjczMzMyLC04Ljc0NjY1MiAtOC45NTk5OCwtNC4yNjY2NiAtMTguNzczMywtNC4yNjY2NiAtNC4yNjY2NiwwIC04LjUzMzMyLDEuMDY2NjY1IC00LjI2NjY2LDEuMDY2NjY1IC03LjQ2NjY1LDIuNzczMzI5IC05LjM4NjY1LDUuNzU5OTkgLTkuMzg2NjUsMTUuMTQ2NjQyIDAsNS43NTk5OTEgMy44Mzk5OSw5LjgxMzMxOCAyLjc3MzMzLDMuMTk5OTk1IDcuNjc5OTksNS43NTk5OTEgNC4wNTMzMiwyLjEzMzMzIDguNTMzMzIsMy40MTMzMjggNC40Nzk5OSwxLjI3OTk5NyA4LjMxOTk4LDIuMzQ2NjYyIGwgMi41NiwwLjYzOTk5OSBxIDEuMDY2NjYsMC40MjY2NjYgNC4wNTMzMywxLjI3OTk5OCAyLjk4NjY2LDAuODUzMzMyIDcuMDM5OTgsMi41NTk5OTYgNC4wNTMzMywxLjcwNjY2NCA4Ljc0NjY2LDQuMDUzMzI3IDQuOTA2NjYsMi4zNDY2NjMgOS41OTk5OCw1LjU0NjY1OCAyMC42OTMzLDEzLjY1MzMxMSAyMC42OTMzLDMyLjIxMzI4NCB6IG0gNjkuMTE5NzcsNDIuNjY2NiBoIC0yMy40NjY2MyBxIC03LjI1MzMyLDAgLTEzLjY1MzMxLC0yLjc3MzMzIC02LjM5OTk5LC0yLjc3MzMzIC0xMS4wOTMzMiwtNy40NjY2NiAtNC42OTMzMiwtNC45MDY2NiAtNy40NjY2NSwtMTEuMzA2NjUgLTIuNzczMzMsLTYuMzk5OTkgLTIuNzczMzMsLTEzLjY1MzMxIFYgMjQuMzE5OTY4IGwgMjUuNTk5OTYsLTYuMzk5OTkgViA1OC42NjY1OCBoIDE0LjkzMzMxIGwgNi4zOTk5OSwyNS41OTk5NTkgaCAtMjEuMzMzMyB2IDMzLjA2NjYxMSBxIDAsNC4wNTMzMyAyLjc3MzMzLDYuODI2NjYgMi43NzMzMywyLjc3MzMzIDYuNjEzMzIsMi43NzMzMyBoIDE3LjA2NjY0IHogbSAxMTEuMzYsLTEwNi44Nzk4MzMgViAxNTIuNTMzMSBIIDgxMy42MTA4NiBWIDk5LjE5OTg0OCBxIDAsLTEyLjc5OTk3OSAtOC45NTk5OSwtMjEuNzU5OTY1IC04Ljk1OTk4LC04Ljk1OTk4NiAtMjEuNzU5OTYsLTguOTU5OTg2IC02LjE4NjY2LDAgLTExLjk0NjY1LDIuMzQ2NjYzIC01LjU0NjY2LDIuMzQ2NjYzIC05LjgxMzMyLDYuNjEzMzIzIC04Ljk1OTk4LDguOTU5OTg2IC04Ljk1OTk4LDIxLjc1OTk2NSAwLDEyLjU4NjY0MiA4Ljk1OTk4LDIxLjU0NjYzMiA0LjI2NjY2LDQuNDc5OTkgOS44MTMzMiw2LjgyNjY2IDUuNzU5OTksMi4xMzMzMyAxMS45NDY2NSwyLjEzMzMzIDYuMzk5OTksMCAxMS41MTk5OCwtMi4xMzMzMyBsIDkuMTczMzIsMjIuODI2NjMgcSAtOS44MTMzMiw0LjkwNjY2IC0yMi44MjY2Myw0LjkwNjY2IC0xMS43MzMzMiwwIC0yMS43NTk5NywtNC4yNjY2NiAtOS44MTMzMiwtNC40OCAtMTcuMDY2NjQsLTEyLjE1OTk5IC03LjI1MzMyLC03LjY3OTk4IC0xMS4zMDY2NSwtMTcuOTE5OTcgLTQuMDUzMzIsLTEwLjIzOTk4IC00LjA1MzMyLC0yMS43NTk5NjIgMCwtMTEuNzMzMzE0IDQuMDUzMzIsLTIxLjk3MzI5OCA0LjA1MzMzLC0xMC4yMzk5ODQgMTEuMzA2NjUsLTE3LjkxOTk3MSA3LjI1MzMyLC03LjY3OTk4OCAxNy4wNjY2NCwtMTEuOTQ2NjQ4IDEwLjAyNjY1LC00LjQ3OTk5MyAyMS43NTk5NywtNC40Nzk5OTMgMTAuNDUzMzEsMCAxOC41NTk5NywzLjE5OTk5NSA4LjEwNjY1LDMuMTk5OTk1IDE0LjI5MzMxLDguMTA2NjU0IHYgLTguNTMzMzIgeiBtIDEwNy45NDY1Miw5My4yMjY1MTMgcSAtNy42Nzk5OCw3LjY3OTk5IC0xNy45MTk5NywxMi4xNTk5OSAtMTAuMjM5OTgsNC4yNjY2NiAtMjEuOTczMjksNC4yNjY2NiAtMTEuNzMzMzIsMCAtMjEuOTczMywtNC4yNjY2NiAtMTAuMjM5OTksLTQuNDggLTE3LjkxOTk3LC0xMi4xNTk5OSAtNy42Nzk5OSwtNy42Nzk5OCAtMTIuMTU5OTgsLTE3LjkxOTk3IC00LjI2NjY2LC0xMC4yMzk5OCAtNC4yNjY2NiwtMjEuNzU5OTYyIDAsLTExLjczMzMxNCA0LjI2NjY2LC0yMS45NzMyOTggNC40Nzk5OSwtMTAuMjM5OTg0IDEyLjE1OTk4LC0xNy45MTk5NzEgNy42Nzk5OCwtNy42Nzk5ODggMTcuOTE5OTcsLTExLjk0NjY0OCAxMC4yMzk5OCwtNC40Nzk5OTMgMjEuOTczMywtNC40Nzk5OTMgMTEuNzMzMzEsMCAyMS45NzMyOSw0LjQ3OTk5MyAxMC4yMzk5OSw0LjI2NjY2IDE3LjkxOTk3LDExLjk0NjY0OCBsIC0xOC4xMzMzLDE4LjEzMzMwNCBxIC04Ljk1OTk5LC04Ljk1OTk4NiAtMjEuNzU5OTYsLTguOTU5OTg2IC0xMi4zNzMzMiwwIC0yMS43NTk5Nyw4Ljk1OTk4NiAtOC45NTk5OSw4Ljk1OTk4NiAtOC45NTk5OSwyMS43NTk5NjUgMCwxMi41ODY2NDIgOC45NTk5OSwyMS41NDY2MzIgNC40Nzk5OSw0LjQ3OTk5IDEwLjAyNjY1LDYuODI2NjYgNS41NDY2NiwyLjEzMzMzIDExLjczMzMyLDIuMTMzMzMgMTMuMDEzMzEsMCAyMS43NTk5NiwtOC45NTk5OSB6IE0gMTA1MS42OTA3LDQ1Ljg2NjYgOTk4LjM1NzQsOTkuMTk5ODQ4IDEwNTEuNjkwNywxNTIuNTMzMSBoIC0zNi4wNTMzIEwgOTgwLjIyNDEsMTE3LjExOTgyIFYgMTUyLjUzMzEgSCA5NTQuNjI0MTQgViAzLjIwMDAwMTUgSCA5ODAuMjI0MSBWIDgxLjA2NjU0NCBMIDEwMTUuNDI0LDQ1Ljg2NjYgaCAzNi4yNjY3IHoiLz48L3N2Zz4=", Ta = "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI0Ni45NTU0ODJtbSIgaGVpZ2h0PSIzOS44NDUzMW1tIiB2aWV3Qm94PSIwIDAgNDYuOTU1NDgyIDM5Ljg0NTMxIj48ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtODAuOTYyNSwtMTI4LjU4NzUpIj48ZyB0cmFuc2Zvcm09Im1hdHJpeCgwLjIzNDc3NzQxLDAsMCwwLjIzNTc5MzE4LDY5LjY2MDM5Miw5NC42Njg4MzgpIj48cGF0aCBzdHlsZT0iZmlsbDojNTVhYmU1O2ZpbGwtb3BhY2l0eToxO3N0cm9rZS13aWR0aDowLjM3Mjk2MiIgZD0ibSAxNjUuNzQzNjksMzEyLjM0NTE0IGMgLTMuNjU5MDQsLTAuOTU4NjEgLTYuODkxMzEsLTMuMzUzNDggLTkuMjE0OTQsLTYuODI3NTkgLTEuOTEyMjYsLTIuODU5MDggLTIuMzk3MDUsLTQuNTY5NzEgLTIuMzk3MDUsLTguNDU4MzYgMCwtMy45OTI1NCAwLjA4MjQsLTQuMjc1NyA0LjIzMDEyLC0xNC41NDU1MyA0LjAwOTIzLC05LjkyNjgxIDExLjc0NTk3LC0yOS42MDgwNCAxNC4xNzI1NCwtMzYuMDUzMDIgMS4wNTU1LC0yLjgwMzQ0IDQuNjM1NzksLTEyLjA5MDIgNy45NTYxOSwtMjAuNjM3MjUgMy4zMjA0LC04LjU0NzA2IDkuNDcyNjUsLTI0LjQ5MTIgMTMuNjcxNjgsLTM1LjQzMTQzIDkuNDExNjMsLTI0LjUyMTI1IDEyLjE1MTI0LC0zMS4zOTYxNCAxNC4xOTIyMiwtMzUuNjE0NTUgMS4zMzIyOSwtMi43NTM2NCAxLjg3ODY3LC0zLjU5MjU4IDMuMzQ1NDYsLTUuMTM2NzIgMS45NjgyMiwtMi4wNzIwMyA0LjA5ODQsLTMuNTYyNTMgNi40NjY4NywtNC41MjQ5MyAxLjI3MTM4LC0wLjUxNjYgMi4yNTc2MywtMC42OTMwMiA0LjgyNjc5LC0wLjg2MzQgNS4yMTgzLC0wLjM0NjA3IDI0LjU3NDYyLC0wLjU1NDU4IDI0Ljk4NTA4LC0wLjI2OTE0IDAuNDM3OTcsMC4zMDQ1NiAxLjEzMTMxLC0xLjUwMDIxIC0xNS4xNTQxMiwzOS40NDY3OCAtMjAuNjg4NDIsNTIuMDE3NTcgLTI4Ljk2MTg1LDcyLjk4MjY1IC0zNi43NTE4MSw5My4xMzAwNCAtOC40MDM1NiwyMS43MzQzNCAtOS4zOTQ5NSwyNC4yMDc2NCAtMTAuNzYzMTYsMjYuODUxNjUgLTIuMzU0NSw0LjU1IC02LjM4MjQsNy43ODMzMSAtMTEuMjc2NjEsOS4wNTIwNyAtMi4wNzI1OSwwLjUzNzI5IC02LjAwMDE1LDAuNDgxMDkgLTguMjg5MjYsLTAuMTE4NjIgeiIvPjxwYXRoIHN0eWxlPSJmaWxsOiM1NWFiZTU7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlLXdpZHRoOjAuMzcyOTYyIiBkPSJtIDEyMi40OTIyLDMxMi41ODkxNiBjIC00LjA3OTU2LC0wLjczMjU4IC04LjY1MTIzLC0zLjkzNDEgLTExLjIzMjU4LC03Ljg2NjE2IC0wLjczMDA0LC0xLjExMjAzIC0xLjg1NDU5LC0zLjQ4MzI2IC0yLjg0MzA5LC01Ljk5NDk2IC0wLjg5OTQzLC0yLjI4NTQgLTQuNzYyODcsLTEyLjE1NTMgLTguNTg1NDA5LC0yMS45MzMxMyAtMy44MjI1NCwtOS43Nzc4MyAtOC40NzkwNzIsLTIxLjYzODAzIC0xMC4zNDc4NTIsLTI2LjM1NjAxIC0xLjg2ODc4LC00LjcxNzk3IC03LjQwNDk2OCwtMTguODE1OTUgLTEyLjMwMjY0NiwtMzEuMzI4ODQgLTQuODk3NjgxLC0xMi41MTI4OCAtMTAuODYxOTIzLC0yNy43Mjk3NSAtMTMuMjUzODc2LC0zMy44MTUyNSAtMi4zOTE5NTMsLTYuMDg1NSAtNS42NjUyMTYsLTE0LjQ3NzE1IC03LjI3MzkxOCwtMTguNjQ4MTEgLTEuNjA4Njk4LC00LjE3MDk3IC00LjIzNTk1LC0xMC44NDgyNiAtNS44MzgzMzQsLTE0LjgzODQzIC0yLjA3Mjc3OSwtNS4xNjE1MyAtMi44MzY1MDksLTcuMzMxNzcgLTIuNjQ2ODY5LC03LjUyMTQgMC4zNDc5MDMsLTAuMzQ3OTEgMjAuODI4ODg3LC0wLjM1OTE3IDI0LjczMjg3NCwtMC4wMTM2IDQuNjQ5MjU2LDAuNDExNTQgNy4wMTI4NDgsMS41MjgxMSAxMC41MTc1NDYsNC45Njg1MiAxLjQ1MDgxOSwxLjQyNDIxIDIuMzk4LDIuNjAyMTMgMi45MDQzNzUsMy42MTE5IDEuNzk4NjkzLDMuNTg2NzggOC40MTgxMDMsMjAuMDI4NjkgMTguNjY2Mjc5LDQ2LjM2NTA2IDMuNjk4MzksOS41MDQzMiAxMS4xNjA2NywyOC40MTM1MSAxNi41ODI4NSw0Mi4wMjA0MiAxNC42MzQzMywzNi43MjQ2NyAxOC43NDc1Myw0Ny4xMzc2NSAxOS41Mzk3NSw0OS40NjY4NyAyLjIyOTgxLDYuNTU1ODkgMS4wNTUzMywxMi43MDIxNCAtMy4zMDQyNiwxNy4yOTE3NiAtMy4xMDM1OSwzLjI2NzM2IC02LjIyMDQzLDQuNjA4NDUgLTExLjAyMTc4LDQuNzQyNCAtMS42NDMzMSwwLjA0NTggLTMuNTc1MTgsLTAuMDIyMSAtNC4yOTMwNiwtMC4xNTEwMyB6Ii8+PHJlY3Qgc3R5bGU9ImZpbGw6I2Y3ODQ3MiIgd2lkdGg9IjExLjI2OTU0IiBoZWlnaHQ9IjQyLjA5NzYyMiIgeD0iMTY0Ljg4MDE0IiB5PSIxNzYuMjU5MDkiIHJ5PSI1LjYxMDQ5NiIvPjxyZWN0IHN0eWxlPSJmaWxsOiNmNzg0NzIiIHdpZHRoPSIxMS42MjE1NiIgaGVpZ2h0PSI4Ny4wMzg2MDUiIHg9IjE0Mi4xNTg2OCIgeT0iMTUzLjc4ODYiIHJ5PSI1LjYxMDQ5NiIvPjxyZWN0IHN0eWxlPSJmaWxsOiNmNzg0NzIiIHdpZHRoPSIxMS4yNjk1NCIgaGVpZ2h0PSI0Mi4wOTc2MjIiIHg9IjExOS43ODkyNCIgeT0iMTc2LjI1OTA5IiByeT0iNS42MTA0OTYiLz48L2c+PC9nPjwvc3ZnPg==", wa = "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI0Ni45NTU0ODJtbSIgaGVpZ2h0PSIzOS44NDUzMW1tIiB2aWV3Qm94PSIwIDAgNDYuOTU1NDgyIDM5Ljg0NTMxIj48ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtODAuOTYyNSwtMTI4LjU4NzUpIj48ZyB0cmFuc2Zvcm09Im1hdHJpeCgwLjIzNDc3NzQxLDAsMCwwLjIzNTc5MzE4LDY5LjY2MDM5Miw5NC42Njg4MzgpIj48cGF0aCBzdHlsZT0iZmlsbDojMjQ1YjhmO2ZpbGwtb3BhY2l0eToxO3N0cm9rZS13aWR0aDowLjM3Mjk2MiIgZD0ibSAxNjUuNzQzNjksMzEyLjM0NTE0IGMgLTMuNjU5MDQsLTAuOTU4NjEgLTYuODkxMzEsLTMuMzUzNDggLTkuMjE0OTQsLTYuODI3NTkgLTEuOTEyMjYsLTIuODU5MDggLTIuMzk3MDUsLTQuNTY5NzEgLTIuMzk3MDUsLTguNDU4MzYgMCwtMy45OTI1NCAwLjA4MjQsLTQuMjc1NyA0LjIzMDEyLC0xNC41NDU1MyA0LjAwOTIzLC05LjkyNjgxIDExLjc0NTk3LC0yOS42MDgwNCAxNC4xNzI1NCwtMzYuMDUzMDIgMS4wNTU1LC0yLjgwMzQ0IDQuNjM1NzksLTEyLjA5MDIgNy45NTYxOSwtMjAuNjM3MjUgMy4zMjA0LC04LjU0NzA2IDkuNDcyNjUsLTI0LjQ5MTIgMTMuNjcxNjgsLTM1LjQzMTQzIDkuNDExNjMsLTI0LjUyMTI1IDEyLjE1MTI0LC0zMS4zOTYxNCAxNC4xOTIyMiwtMzUuNjE0NTUgMS4zMzIyOSwtMi43NTM2NCAxLjg3ODY3LC0zLjU5MjU4IDMuMzQ1NDYsLTUuMTM2NzIgMS45NjgyMiwtMi4wNzIwMyA0LjA5ODQsLTMuNTYyNTMgNi40NjY4NywtNC41MjQ5MyAxLjI3MTM4LC0wLjUxNjYgMi4yNTc2MywtMC42OTMwMiA0LjgyNjc5LC0wLjg2MzQgNS4yMTgzLC0wLjM0NjA3IDI0LjU3NDYyLC0wLjU1NDU4IDI0Ljk4NTA4LC0wLjI2OTE0IDAuNDM3OTcsMC4zMDQ1NiAxLjEzMTMxLC0xLjUwMDIxIC0xNS4xNTQxMiwzOS40NDY3OCAtMjAuNjg4NDIsNTIuMDE3NTcgLTI4Ljk2MTg1LDcyLjk4MjY1IC0zNi43NTE4MSw5My4xMzAwNCAtOC40MDM1NiwyMS43MzQzNCAtOS4zOTQ5NSwyNC4yMDc2NCAtMTAuNzYzMTYsMjYuODUxNjUgLTIuMzU0NSw0LjU1IC02LjM4MjQsNy43ODMzMSAtMTEuMjc2NjEsOS4wNTIwNyAtMi4wNzI1OSwwLjUzNzI5IC02LjAwMDE1LDAuNDgxMDkgLTguMjg5MjYsLTAuMTE4NjIgeiIvPjxwYXRoIHN0eWxlPSJmaWxsOiMyNDViOGY7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlLXdpZHRoOjAuMzcyOTYyIiBkPSJtIDEyMi40OTIyLDMxMi41ODkxNiBjIC00LjA3OTU2LC0wLjczMjU4IC04LjY1MTIzLC0zLjkzNDEgLTExLjIzMjU4LC03Ljg2NjE2IC0wLjczMDA0LC0xLjExMjAzIC0xLjg1NDU5LC0zLjQ4MzI2IC0yLjg0MzA5LC01Ljk5NDk2IC0wLjg5OTQzLC0yLjI4NTQgLTQuNzYyODcsLTEyLjE1NTMgLTguNTg1NDA5LC0yMS45MzMxMyAtMy44MjI1NCwtOS43Nzc4MyAtOC40NzkwNzIsLTIxLjYzODAzIC0xMC4zNDc4NTIsLTI2LjM1NjAxIC0xLjg2ODc4LC00LjcxNzk3IC03LjQwNDk2OCwtMTguODE1OTUgLTEyLjMwMjY0NiwtMzEuMzI4ODQgLTQuODk3NjgxLC0xMi41MTI4OCAtMTAuODYxOTIzLC0yNy43Mjk3NSAtMTMuMjUzODc2LC0zMy44MTUyNSAtMi4zOTE5NTMsLTYuMDg1NSAtNS42NjUyMTYsLTE0LjQ3NzE1IC03LjI3MzkxOCwtMTguNjQ4MTEgLTEuNjA4Njk4LC00LjE3MDk3IC00LjIzNTk1LC0xMC44NDgyNiAtNS44MzgzMzQsLTE0LjgzODQzIC0yLjA3Mjc3OSwtNS4xNjE1MyAtMi44MzY1MDksLTcuMzMxNzcgLTIuNjQ2ODY5LC03LjUyMTQgMC4zNDc5MDMsLTAuMzQ3OTEgMjAuODI4ODg3LC0wLjM1OTE3IDI0LjczMjg3NCwtMC4wMTM2IDQuNjQ5MjU2LDAuNDExNTQgNy4wMTI4NDgsMS41MjgxMSAxMC41MTc1NDYsNC45Njg1MiAxLjQ1MDgxOSwxLjQyNDIxIDIuMzk4LDIuNjAyMTMgMi45MDQzNzUsMy42MTE5IDEuNzk4NjkzLDMuNTg2NzggOC40MTgxMDMsMjAuMDI4NjkgMTguNjY2Mjc5LDQ2LjM2NTA2IDMuNjk4MzksOS41MDQzMiAxMS4xNjA2NywyOC40MTM1MSAxNi41ODI4NSw0Mi4wMjA0MiAxNC42MzQzMywzNi43MjQ2NyAxOC43NDc1Myw0Ny4xMzc2NSAxOS41Mzk3NSw0OS40NjY4NyAyLjIyOTgxLDYuNTU1ODkgMS4wNTUzMywxMi43MDIxNCAtMy4zMDQyNiwxNy4yOTE3NiAtMy4xMDM1OSwzLjI2NzM2IC02LjIyMDQzLDQuNjA4NDUgLTExLjAyMTc4LDQuNzQyNCAtMS42NDMzMSwwLjA0NTggLTMuNTc1MTgsLTAuMDIyMSAtNC4yOTMwNiwtMC4xNTEwMyB6Ii8+PHJlY3Qgc3R5bGU9ImZpbGw6I2VjNjM0ZCIgd2lkdGg9IjExLjI2OTU0IiBoZWlnaHQ9IjQyLjA5NzYyMiIgeD0iMTY0Ljg4MDE0IiB5PSIxNzYuMjU5MDkiIHJ5PSI1LjYxMDQ5NiIvPjxyZWN0IHN0eWxlPSJmaWxsOiNlYzYzNGQiIHdpZHRoPSIxMS42MjE1NiIgaGVpZ2h0PSI4Ny4wMzg2MDUiIHg9IjE0Mi4xNTg2OCIgeT0iMTUzLjc4ODYiIHJ5PSI1LjYxMDQ5NiIvPjxyZWN0IHN0eWxlPSJmaWxsOiNlYzYzNGQiIHdpZHRoPSIxMS4yNjk1NCIgaGVpZ2h0PSI0Mi4wOTc2MjIiIHg9IjExOS43ODkyNCIgeT0iMTc2LjI1OTA5IiByeT0iNS42MTA0OTYiLz48L2c+PC9nPjwvc3ZnPg==";
9
- function La({ size: t = 16, sw: e = 1.5, children: n, style: s, ...r }) {
8
+ const ri = "https://vocalstack.com", pa = "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxMDUxLjY5MDciIGhlaWdodD0iMTU1LjMwNjQxIiB2aWV3Qm94PSIwIDAgMTA1MS42OTA2IDE1NS4zMDY0MSI+PGcgdHJhbnNmb3JtPSJtYXRyaXgoMC44ODczNDc3MSwwLDAsMC44OTExODY4MiwtNDIuNzE2NjMsLTEyMy44NTM4OCkiPjxwYXRoIHN0eWxlPSJmaWxsOiM1NWFiZTU7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlLXdpZHRoOjAuMzcyOTYyIiBkPSJtIDE2NS43NDM2OSwzMTIuMzQ1MTQgYyAtMy42NTkwNCwtMC45NTg2MSAtNi44OTEzMSwtMy4zNTM0OCAtOS4yMTQ5NCwtNi44Mjc1OSAtMS45MTIyNiwtMi44NTkwOCAtMi4zOTcwNSwtNC41Njk3MSAtMi4zOTcwNSwtOC40NTgzNiAwLC0zLjk5MjU0IDAuMDgyNCwtNC4yNzU3IDQuMjMwMTIsLTE0LjU0NTUzIDQuMDA5MjMsLTkuOTI2ODEgMTEuNzQ1OTcsLTI5LjYwODA0IDE0LjE3MjU0LC0zNi4wNTMwMiAxLjA1NTUsLTIuODAzNDQgNC42MzU3OSwtMTIuMDkwMiA3Ljk1NjE5LC0yMC42MzcyNSAzLjMyMDQsLTguNTQ3MDYgOS40NzI2NSwtMjQuNDkxMiAxMy42NzE2OCwtMzUuNDMxNDMgOS40MTE2MywtMjQuNTIxMjUgMTIuMTUxMjQsLTMxLjM5NjE0IDE0LjE5MjIyLC0zNS42MTQ1NSAxLjMzMjI5LC0yLjc1MzY0IDEuODc4NjcsLTMuNTkyNTggMy4zNDU0NiwtNS4xMzY3MiAxLjk2ODIyLC0yLjA3MjAzIDQuMDk4NCwtMy41NjI1MyA2LjQ2Njg3LC00LjUyNDkzIDEuMjcxMzgsLTAuNTE2NiAyLjI1NzYzLC0wLjY5MzAyIDQuODI2NzksLTAuODYzNCA1LjIxODMsLTAuMzQ2MDcgMjQuNTc0NjIsLTAuNTU0NTggMjQuOTg1MDgsLTAuMjY5MTQgMC40Mzc5NywwLjMwNDU2IDEuMTMxMzEsLTEuNTAwMjEgLTE1LjE1NDEyLDM5LjQ0Njc4IC0yMC42ODg0Miw1Mi4wMTc1NyAtMjguOTYxODUsNzIuOTgyNjUgLTM2Ljc1MTgxLDkzLjEzMDA0IC04LjQwMzU2LDIxLjczNDM0IC05LjM5NDk1LDI0LjIwNzY0IC0xMC43NjMxNiwyNi44NTE2NSAtMi4zNTQ1LDQuNTUgLTYuMzgyNCw3Ljc4MzMxIC0xMS4yNzY2MSw5LjA1MjA3IC0yLjA3MjU5LDAuNTM3MjkgLTYuMDAwMTUsMC40ODEwOSAtOC4yODkyNiwtMC4xMTg2MiB6Ii8+PHBhdGggc3R5bGU9ImZpbGw6IzU1YWJlNTtmaWxsLW9wYWNpdHk6MTtzdHJva2Utd2lkdGg6MC4zNzI5NjIiIGQ9Im0gMTIyLjQ5MjIsMzEyLjU4OTE2IGMgLTQuMDc5NTYsLTAuNzMyNTggLTguNjUxMjMsLTMuOTM0MSAtMTEuMjMyNTgsLTcuODY2MTYgLTAuNzMwMDQsLTEuMTEyMDMgLTEuODU0NTksLTMuNDgzMjYgLTIuODQzMDksLTUuOTk0OTYgLTAuODk5NDMsLTIuMjg1NCAtNC43NjI4NywtMTIuMTU1MyAtOC41ODU0MDksLTIxLjkzMzEzIC0zLjgyMjU0LC05Ljc3NzgzIC04LjQ3OTA3MiwtMjEuNjM4MDMgLTEwLjM0Nzg1MiwtMjYuMzU2MDEgLTEuODY4NzgsLTQuNzE3OTcgLTcuNDA0OTY4LC0xOC44MTU5NSAtMTIuMzAyNjQ2LC0zMS4zMjg4NCAtNC44OTc2ODEsLTEyLjUxMjg4IC0xMC44NjE5MjMsLTI3LjcyOTc1IC0xMy4yNTM4NzYsLTMzLjgxNTI1IC0yLjM5MTk1MywtNi4wODU1IC01LjY2NTIxNiwtMTQuNDc3MTUgLTcuMjczOTE4LC0xOC42NDgxMSAtMS42MDg2OTgsLTQuMTcwOTcgLTQuMjM1OTUsLTEwLjg0ODI2IC01LjgzODMzNCwtMTQuODM4NDMgLTIuMDcyNzc5LC01LjE2MTUzIC0yLjgzNjUwOSwtNy4zMzE3NyAtMi42NDY4NjksLTcuNTIxNCAwLjM0NzkwMywtMC4zNDc5MSAyMC44Mjg4ODcsLTAuMzU5MTcgMjQuNzMyODc0LC0wLjAxMzYgNC42NDkyNTYsMC40MTE1NCA3LjAxMjg0OCwxLjUyODExIDEwLjUxNzU0Niw0Ljk2ODUyIDEuNDUwODE5LDEuNDI0MjEgMi4zOTgsMi42MDIxMyAyLjkwNDM3NSwzLjYxMTkgMS43OTg2OTMsMy41ODY3OCA4LjQxODEwMywyMC4wMjg2OSAxOC42NjYyNzksNDYuMzY1MDYgMy42OTgzOSw5LjUwNDMyIDExLjE2MDY3LDI4LjQxMzUxIDE2LjU4Mjg1LDQyLjAyMDQyIDE0LjYzNDMzLDM2LjcyNDY3IDE4Ljc0NzUzLDQ3LjEzNzY1IDE5LjUzOTc1LDQ5LjQ2Njg3IDIuMjI5ODEsNi41NTU4OSAxLjA1NTMzLDEyLjcwMjE0IC0zLjMwNDI2LDE3LjI5MTc2IC0zLjEwMzU5LDMuMjY3MzYgLTYuMjIwNDMsNC42MDg0NSAtMTEuMDIxNzgsNC43NDI0IC0xLjY0MzMxLDAuMDQ1OCAtMy41NzUxOCwtMC4wMjIxIC00LjI5MzA2LC0wLjE1MTAzIHoiLz48cmVjdCBzdHlsZT0iZmlsbDojZWM2MzRkIiB3aWR0aD0iMTEuMjY5NTQiIGhlaWdodD0iNDIuMDk3NjIyIiB4PSIxNjQuODgwMTQiIHk9IjE3Ni4yNTkwOSIgcnk9IjUuNjEwNDk2Ii8+PHJlY3Qgc3R5bGU9ImZpbGw6I2VjNjM0ZCIgd2lkdGg9IjExLjYyMTU2IiBoZWlnaHQ9Ijg3LjAzODYwNSIgeD0iMTQyLjE1ODY4IiB5PSIxNTMuNzg4NiIgcnk9IjUuNjEwNDk2Ii8+PHJlY3Qgc3R5bGU9ImZpbGw6I2VjNjM0ZCIgd2lkdGg9IjExLjI2OTU0IiBoZWlnaHQ9IjQyLjA5NzYyMiIgeD0iMTE5Ljc4OTI0IiB5PSIxNzYuMjU5MDkiIHJ5PSI1LjYxMDQ5NiIvPjwvZz48cGF0aCBzdHlsZT0iZmlsbDojZmZmZmZmIiBkPSJtIDIyMi4yNTEzMiw2OC40Nzk4OTcgcSAtMTIuNzk5OTgsMCAtMjEuNzU5OTcsOC45NTk5ODYgLTguOTU5OTgsOC45NTk5ODYgLTguOTU5OTgsMjEuNzU5OTY1IDAsMTIuNTg2NjQyIDguOTU5OTgsMjEuNTQ2NjMyIDQuMjY2NjYsNC40Nzk5OSA5LjgxMzMyLDYuODI2NjYgNS43NTk5OSwyLjEzMzMzIDExLjk0NjY1LDIuMTMzMzMgNi4xODY2NiwwIDExLjczMzMxLC0yLjEzMzMzIDUuNTQ2NjYsLTIuMzQ2NjcgMTAuMDI2NjUsLTYuODI2NjYgOC45NTk5OSwtOC45NTk5OSA4Ljk1OTk5LC0yMS41NDY2MzIgMCwtMTIuNzk5OTc5IC04Ljk1OTk5LC0yMS43NTk5NjUgLTkuMzg2NjUsLTguOTU5OTg2IC0yMS43NTk5NiwtOC45NTk5ODYgeiBtIDAsLTI1LjU5OTk1OSBxIDExLjczMzMxLDAgMjEuOTczMyw0LjQ3OTk5MyAxMC4yMzk5OCw0LjI2NjY2IDE3LjkxOTk3LDExLjk0NjY0OCA3LjY3OTk5LDcuNjc5OTg3IDExLjk0NjY1LDE3LjkxOTk3MSA0LjQ3OTk5LDEwLjIzOTk4NCA0LjQ3OTk5LDIxLjk3MzI5OCAwLDExLjUxOTk4MiAtNC40Nzk5OSwyMS43NTk5NjIgLTQuMjY2NjYsMTAuMjM5OTkgLTExLjk0NjY1LDE3LjkxOTk3IC03LjY3OTk5LDcuNjc5OTkgLTE3LjkxOTk3LDEyLjE1OTk5IC0xMC4yMzk5OSw0LjI2NjY2IC0yMS45NzMzLDQuMjY2NjYgLTExLjczMzMyLDAgLTIxLjk3MzMsLTQuMjY2NjYgLTEwLjIzOTk4LC00LjQ4IC0xNy45MTk5NywtMTIuMTU5OTkgLTcuNjc5OTksLTcuNjc5OTggLTEyLjE1OTk4LC0xNy45MTk5NyAtNC4yNjY2NiwtMTAuMjM5OTggLTQuMjY2NjYsLTIxLjc1OTk2MiAwLC0xMS43MzMzMTQgNC4yNjY2NiwtMjEuOTczMjk4IDQuNDc5OTksLTEwLjIzOTk4NCAxMi4xNTk5OCwtMTcuOTE5OTcxIDcuNjc5OTksLTcuNjc5OTg4IDE3LjkxOTk3LC0xMS45NDY2NDggMTAuMjM5OTgsLTQuNDc5OTkzIDIxLjk3MzMsLTQuNDc5OTkzIHogTSAzODMuMzE3OSwxMzguODc5NzggcSAtNy42Nzk5OSw3LjY3OTk5IC0xNy45MTk5NywxMi4xNTk5OSAtMTAuMjM5OTksNC4yNjY2NiAtMjEuOTczMyw0LjI2NjY2IC0xMS43MzMzMiwwIC0yMS45NzMzLC00LjI2NjY2IC0xMC4yMzk5OCwtNC40OCAtMTcuOTE5OTcsLTEyLjE1OTk5IC03LjY3OTk5LC03LjY3OTk4IC0xMi4xNTk5OCwtMTcuOTE5OTcgLTQuMjY2NjYsLTEwLjIzOTk4IC00LjI2NjY2LC0yMS43NTk5NjIgMCwtMTEuNzMzMzE0IDQuMjY2NjYsLTIxLjk3MzI5OCA0LjQ3OTk5LC0xMC4yMzk5ODQgMTIuMTU5OTgsLTE3LjkxOTk3MSA3LjY3OTk5LC03LjY3OTk4OCAxNy45MTk5NywtMTEuOTQ2NjQ4IDEwLjIzOTk4LC00LjQ3OTk5MyAyMS45NzMzLC00LjQ3OTk5MyAxMS43MzMzMSwwIDIxLjk3MzMsNC40Nzk5OTMgMTAuMjM5OTgsNC4yNjY2NiAxNy45MTk5NywxMS45NDY2NDggbCAtMTguMTMzMzEsMTguMTMzMzA0IHEgLTguOTU5OTgsLTguOTU5OTg2IC0yMS43NTk5NiwtOC45NTk5ODYgLTEyLjM3MzMyLDAgLTIxLjc1OTk3LDguOTU5OTg2IC04Ljk1OTk4LDguOTU5OTg2IC04Ljk1OTk4LDIxLjc1OTk2NSAwLDEyLjU4NjY0MiA4Ljk1OTk4LDIxLjU0NjYzMiA0LjQ4LDQuNDc5OTkgMTAuMDI2NjUsNi44MjY2NiA1LjU0NjY2LDIuMTMzMzMgMTEuNzMzMzIsMi4xMzMzMyAxMy4wMTMzMSwwIDIxLjc1OTk2LC04Ljk1OTk5IHogTSA0OTguMDkxMTQsNDUuNjUzMjY3IFYgMTUyLjUzMzEgSCA0NzIuNDkxMTggViA5OS4xOTk4NDggcSAwLC0xMi43OTk5NzkgLTguOTU5OTgsLTIxLjc1OTk2NSAtOC45NTk5OSwtOC45NTk5ODYgLTIxLjc1OTk3LC04Ljk1OTk4NiAtNi4xODY2NiwwIC0xMS45NDY2NSwyLjM0NjY2MyAtNS41NDY2NSwyLjM0NjY2MyAtOS44MTMzMSw2LjYxMzMyMyAtOC45NTk5OSw4Ljk1OTk4NiAtOC45NTk5OSwyMS43NTk5NjUgMCwxMi41ODY2NDIgOC45NTk5OSwyMS41NDY2MzIgNC4yNjY2Niw0LjQ3OTk5IDkuODEzMzEsNi44MjY2NiA1Ljc1OTk5LDIuMTMzMzMgMTEuOTQ2NjUsMi4xMzMzMyA2LjM5OTk5LDAgMTEuNTE5OTgsLTIuMTMzMzMgbCA5LjE3MzMyLDIyLjgyNjYzIHEgLTkuODEzMzIsNC45MDY2NiAtMjIuODI2NjMsNC45MDY2NiAtMTEuNzMzMzEsMCAtMjEuNzU5OTYsLTQuMjY2NjYgLTkuODEzMzIsLTQuNDggLTE3LjA2NjY0LC0xMi4xNTk5OSAtNy4yNTMzMiwtNy42Nzk5OCAtMTEuMzA2NjUsLTE3LjkxOTk3IC00LjA1MzMzLC0xMC4yMzk5OCAtNC4wNTMzMywtMjEuNzU5OTYyIDAsLTExLjczMzMxNCA0LjA1MzMzLC0yMS45NzMyOTggNC4wNTMzMywtMTAuMjM5OTg0IDExLjMwNjY1LC0xNy45MTk5NzEgNy4yNTMzMiwtNy42Nzk5ODggMTcuMDY2NjQsLTExLjk0NjY0OCAxMC4wMjY2NSwtNC40Nzk5OTMgMjEuNzU5OTYsLTQuNDc5OTkzIDEwLjQ1MzMyLDAgMTguNTU5OTcsMy4xOTk5OTUgOC4xMDY2NiwzLjE5OTk5NSAxNC4yOTMzMSw4LjEwNjY1NCB2IC04LjUzMzMyIHogTSA1MzguNjI0NDYsMTUyLjUzMzEgSCA1MTMuMDI0NSBWIDMuMjAwMDAxNSBoIDI1LjU5OTk2IFYgMTUyLjUzMzEgWiBtIDEyMC4xMDY1OSwtNDIuNjY2NiBxIDAsMTAuNDUzMzEgLTMuNDEzMzMsMTguOTg2NjMgLTMuNDEzMzIsOC4zMTk5OSAtOS44MTMzMSwxNC4yOTMzMSAtNi4xODY2Niw1Ljc2IC0xNS4xNDY2NSw4Ljk1OTk5IC04Ljk1OTk4LDMuMiAtMjAuMDUzMywzLjIgLTE3LjcwNjY0LDAgLTMxLjU3MzI4LC01LjU0NjY2IC0xMy44NjY2NCwtNS43NTk5OSAtMjIuODI2NjMsLTEzLjAxMzMyIGwgMTcuNzA2NjQsLTE3LjcwNjYzIHEgNy4wMzk5OSw2LjM5OTk5IDE1Ljc4NjY0LDkuODEzMzEgNS4zMzMzMiwyLjEzMzMzIDEwLjAyNjY1LDIuNzczMzMgNC42OTMzMywwLjY0IDcuNjc5OTksMC42NCA1LjU0NjY2LDAgMTAuMDI2NjUsLTEuMjggNC42OTMzMiwtMS40OTMzMyA4LjEwNjY1LC0zLjgzOTk5IDcuMjUzMzIsLTUuMzMzMzIgNy4yNTMzMiwtMTQuMDc5OTggMCwtNS4zMzMzMiAtMy44Mzk5OSwtOS41OTk5OCAtMi45ODY2NiwtMy40MTMzMyAtNy42Nzk5OSwtNS41NDY2NiAtMy44Mzk5OSwtMi4xMzMzMyAtOC4xMDY2NSwtMy40MTMzMjggLTQuMjY2NjYsLTEuMjc5OTk4IC03LjY3OTk5LC0yLjM0NjY2MyAtMS4wNjY2NiwtMC40MjY2NjYgLTEuOTIsLTAuNDI2NjY2IC0wLjg1MzMzLC0wLjIxMzMzMyAtMS40OTMzMywtMC42Mzk5OTkgLTAuNDI2NjYsMCAtMS4yNzk5OSwtMC40MjY2NjYgLTQuNDgsLTEuMjc5OTk3IC0xMy4wMTMzMiwtNC40Nzk5OTIgLTguMzE5OTgsLTMuMTk5OTk1IC0xNi42Mzk5NywtOC43NDY2NTMgLTE5LjQxMzMsLTEzLjAxMzMxMyAtMTkuNDEzMywtMzEuOTk5OTQ5IDAsLTEyLjU4NjY0NyA0LjI2NjY2LC0yMS4xMTk5NjYgNC40Nzk5OSwtOC43NDY2NTMgMTEuNTE5OTgsLTE0LjA3OTk3OCA3LjAzOTk5LC01LjU0NjY1NzUgMTUuNTczMzEsLTcuODkzMzIwNCBRIDU5MS41MzExNiw2LjYzNzU3MzNlLTYgNTk5Ljg1MTE1LDYuNjM3NTczM2UtNiBxIDE1LjM1OTk3LDAgMjUuODEzMjksMy42MjY2NjA4NjI0MjY3IDEwLjQ1MzMyLDMuNjI2NjYwOSAxNi42Mzk5Nyw3LjI1MzMyMTUgMy4yLDEuOTE5OTk3IDUuMzMzMzMsMy44Mzk5OTQgMi4zNDY2NiwxLjcwNjY2NCA0LjA1MzMyLDMuMTk5OTk1IGwgLTE4LjEzMzMsMTguMzQ2NjM3IHEgLTUuNzU5OTksLTUuNzU5OTkgLTExLjczMzMyLC04Ljc0NjY1MiAtOC45NTk5OCwtNC4yNjY2NiAtMTguNzczMywtNC4yNjY2NiAtNC4yNjY2NiwwIC04LjUzMzMyLDEuMDY2NjY1IC00LjI2NjY2LDEuMDY2NjY1IC03LjQ2NjY1LDIuNzczMzI5IC05LjM4NjY1LDUuNzU5OTkgLTkuMzg2NjUsMTUuMTQ2NjQyIDAsNS43NTk5OTEgMy44Mzk5OSw5LjgxMzMxOCAyLjc3MzMzLDMuMTk5OTk1IDcuNjc5OTksNS43NTk5OTEgNC4wNTMzMiwyLjEzMzMzIDguNTMzMzIsMy40MTMzMjggNC40Nzk5OSwxLjI3OTk5NyA4LjMxOTk4LDIuMzQ2NjYyIGwgMi41NiwwLjYzOTk5OSBxIDEuMDY2NjYsMC40MjY2NjYgNC4wNTMzMywxLjI3OTk5OCAyLjk4NjY2LDAuODUzMzMyIDcuMDM5OTgsMi41NTk5OTYgNC4wNTMzMywxLjcwNjY2NCA4Ljc0NjY2LDQuMDUzMzI3IDQuOTA2NjYsMi4zNDY2NjMgOS41OTk5OCw1LjU0NjY1OCAyMC42OTMzLDEzLjY1MzMxMSAyMC42OTMzLDMyLjIxMzI4NCB6IG0gNjkuMTE5NzcsNDIuNjY2NiBoIC0yMy40NjY2MyBxIC03LjI1MzMyLDAgLTEzLjY1MzMxLC0yLjc3MzMzIC02LjM5OTk5LC0yLjc3MzMzIC0xMS4wOTMzMiwtNy40NjY2NiAtNC42OTMzMiwtNC45MDY2NiAtNy40NjY2NSwtMTEuMzA2NjUgLTIuNzczMzMsLTYuMzk5OTkgLTIuNzczMzMsLTEzLjY1MzMxIFYgMjQuMzE5OTY4IGwgMjUuNTk5OTYsLTYuMzk5OTkgViA1OC42NjY1OCBoIDE0LjkzMzMxIGwgNi4zOTk5OSwyNS41OTk5NTkgaCAtMjEuMzMzMyB2IDMzLjA2NjYxMSBxIDAsNC4wNTMzMyAyLjc3MzMzLDYuODI2NjYgMi43NzMzMywyLjc3MzMzIDYuNjEzMzIsMi43NzMzMyBoIDE3LjA2NjY0IHogbSAxMTEuMzYsLTEwNi44Nzk4MzMgViAxNTIuNTMzMSBIIDgxMy42MTA4NiBWIDk5LjE5OTg0OCBxIDAsLTEyLjc5OTk3OSAtOC45NTk5OSwtMjEuNzU5OTY1IC04Ljk1OTk4LC04Ljk1OTk4NiAtMjEuNzU5OTYsLTguOTU5OTg2IC02LjE4NjY2LDAgLTExLjk0NjY1LDIuMzQ2NjYzIC01LjU0NjY2LDIuMzQ2NjYzIC05LjgxMzMyLDYuNjEzMzIzIC04Ljk1OTk4LDguOTU5OTg2IC04Ljk1OTk4LDIxLjc1OTk2NSAwLDEyLjU4NjY0MiA4Ljk1OTk4LDIxLjU0NjYzMiA0LjI2NjY2LDQuNDc5OTkgOS44MTMzMiw2LjgyNjY2IDUuNzU5OTksMi4xMzMzMyAxMS45NDY2NSwyLjEzMzMzIDYuMzk5OTksMCAxMS41MTk5OCwtMi4xMzMzMyBsIDkuMTczMzIsMjIuODI2NjMgcSAtOS44MTMzMiw0LjkwNjY2IC0yMi44MjY2Myw0LjkwNjY2IC0xMS43MzMzMiwwIC0yMS43NTk5NywtNC4yNjY2NiAtOS44MTMzMiwtNC40OCAtMTcuMDY2NjQsLTEyLjE1OTk5IC03LjI1MzMyLC03LjY3OTk4IC0xMS4zMDY2NSwtMTcuOTE5OTcgLTQuMDUzMzIsLTEwLjIzOTk4IC00LjA1MzMyLC0yMS43NTk5NjIgMCwtMTEuNzMzMzE0IDQuMDUzMzIsLTIxLjk3MzI5OCA0LjA1MzMzLC0xMC4yMzk5ODQgMTEuMzA2NjUsLTE3LjkxOTk3MSA3LjI1MzMyLC03LjY3OTk4OCAxNy4wNjY2NCwtMTEuOTQ2NjQ4IDEwLjAyNjY1LC00LjQ3OTk5MyAyMS43NTk5NywtNC40Nzk5OTMgMTAuNDUzMzEsMCAxOC41NTk5NywzLjE5OTk5NSA4LjEwNjY1LDMuMTk5OTk1IDE0LjI5MzMxLDguMTA2NjU0IHYgLTguNTMzMzIgeiBtIDEwNy45NDY1Miw5My4yMjY1MTMgcSAtNy42Nzk5OCw3LjY3OTk5IC0xNy45MTk5NywxMi4xNTk5OSAtMTAuMjM5OTgsNC4yNjY2NiAtMjEuOTczMjksNC4yNjY2NiAtMTEuNzMzMzIsMCAtMjEuOTczMywtNC4yNjY2NiAtMTAuMjM5OTksLTQuNDggLTE3LjkxOTk3LC0xMi4xNTk5OSAtNy42Nzk5OSwtNy42Nzk5OCAtMTIuMTU5OTgsLTE3LjkxOTk3IC00LjI2NjY2LC0xMC4yMzk5OCAtNC4yNjY2NiwtMjEuNzU5OTYyIDAsLTExLjczMzMxNCA0LjI2NjY2LC0yMS45NzMyOTggNC40Nzk5OSwtMTAuMjM5OTg0IDEyLjE1OTk4LC0xNy45MTk5NzEgNy42Nzk5OCwtNy42Nzk5ODggMTcuOTE5OTcsLTExLjk0NjY0OCAxMC4yMzk5OCwtNC40Nzk5OTMgMjEuOTczMywtNC40Nzk5OTMgMTEuNzMzMzEsMCAyMS45NzMyOSw0LjQ3OTk5MyAxMC4yMzk5OSw0LjI2NjY2IDE3LjkxOTk3LDExLjk0NjY0OCBsIC0xOC4xMzMzLDE4LjEzMzMwNCBxIC04Ljk1OTk5LC04Ljk1OTk4NiAtMjEuNzU5OTYsLTguOTU5OTg2IC0xMi4zNzMzMiwwIC0yMS43NTk5Nyw4Ljk1OTk4NiAtOC45NTk5OSw4Ljk1OTk4NiAtOC45NTk5OSwyMS43NTk5NjUgMCwxMi41ODY2NDIgOC45NTk5OSwyMS41NDY2MzIgNC40Nzk5OSw0LjQ3OTk5IDEwLjAyNjY1LDYuODI2NjYgNS41NDY2NiwyLjEzMzMzIDExLjczMzMyLDIuMTMzMzMgMTMuMDEzMzEsMCAyMS43NTk5NiwtOC45NTk5OSB6IE0gMTA1MS42OTA3LDQ1Ljg2NjYgOTk4LjM1NzQsOTkuMTk5ODQ4IDEwNTEuNjkwNywxNTIuNTMzMSBoIC0zNi4wNTMzIEwgOTgwLjIyNDEsMTE3LjExOTgyIFYgMTUyLjUzMzEgSCA5NTQuNjI0MTQgViAzLjIwMDAwMTUgSCA5ODAuMjI0MSBWIDgxLjA2NjU0NCBMIDEwMTUuNDI0LDQ1Ljg2NjYgaCAzNi4yNjY3IHoiLz48L3N2Zz4=", ma = "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxMDUxLjY5MDciIGhlaWdodD0iMTU1LjMwNjQxIiB2aWV3Qm94PSIwIDAgMTA1MS42OTA2IDE1NS4zMDY0MSI+PGcgdHJhbnNmb3JtPSJtYXRyaXgoMC44ODczNDc3MSwwLDAsMC44OTExODY4MiwtNDIuNzE2NjMsLTEyMy44NTM4OCkiPjxwYXRoIHN0eWxlPSJmaWxsOiMyNDVCOEY7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlLXdpZHRoOjAuMzcyOTYyIiBkPSJtIDE2NS43NDM2OSwzMTIuMzQ1MTQgYyAtMy42NTkwNCwtMC45NTg2MSAtNi44OTEzMSwtMy4zNTM0OCAtOS4yMTQ5NCwtNi44Mjc1OSAtMS45MTIyNiwtMi44NTkwOCAtMi4zOTcwNSwtNC41Njk3MSAtMi4zOTcwNSwtOC40NTgzNiAwLC0zLjk5MjU0IDAuMDgyNCwtNC4yNzU3IDQuMjMwMTIsLTE0LjU0NTUzIDQuMDA5MjMsLTkuOTI2ODEgMTEuNzQ1OTcsLTI5LjYwODA0IDE0LjE3MjU0LC0zNi4wNTMwMiAxLjA1NTUsLTIuODAzNDQgNC42MzU3OSwtMTIuMDkwMiA3Ljk1NjE5LC0yMC42MzcyNSAzLjMyMDQsLTguNTQ3MDYgOS40NzI2NSwtMjQuNDkxMiAxMy42NzE2OCwtMzUuNDMxNDMgOS40MTE2MywtMjQuNTIxMjUgMTIuMTUxMjQsLTMxLjM5NjE0IDE0LjE5MjIyLC0zNS42MTQ1NSAxLjMzMjI5LC0yLjc1MzY0IDEuODc4NjcsLTMuNTkyNTggMy4zNDU0NiwtNS4xMzY3MiAxLjk2ODIyLC0yLjA3MjAzIDQuMDk4NCwtMy41NjI1MyA2LjQ2Njg3LC00LjUyNDkzIDEuMjcxMzgsLTAuNTE2NiAyLjI1NzYzLC0wLjY5MzAyIDQuODI2NzksLTAuODYzNCA1LjIxODMsLTAuMzQ2MDcgMjQuNTc0NjIsLTAuNTU0NTggMjQuOTg1MDgsLTAuMjY5MTQgMC40Mzc5NywwLjMwNDU2IDEuMTMxMzEsLTEuNTAwMjEgLTE1LjE1NDEyLDM5LjQ0Njc4IC0yMC42ODg0Miw1Mi4wMTc1NyAtMjguOTYxODUsNzIuOTgyNjUgLTM2Ljc1MTgxLDkzLjEzMDA0IC04LjQwMzU2LDIxLjczNDM0IC05LjM5NDk1LDI0LjIwNzY0IC0xMC43NjMxNiwyNi44NTE2NSAtMi4zNTQ1LDQuNTUgLTYuMzgyNCw3Ljc4MzMxIC0xMS4yNzY2MSw5LjA1MjA3IC0yLjA3MjU5LDAuNTM3MjkgLTYuMDAwMTUsMC40ODEwOSAtOC4yODkyNiwtMC4xMTg2MiB6Ii8+PHBhdGggc3R5bGU9ImZpbGw6IzI0NUI4RjtmaWxsLW9wYWNpdHk6MTtzdHJva2Utd2lkdGg6MC4zNzI5NjIiIGQ9Im0gMTIyLjQ5MjIsMzEyLjU4OTE2IGMgLTQuMDc5NTYsLTAuNzMyNTggLTguNjUxMjMsLTMuOTM0MSAtMTEuMjMyNTgsLTcuODY2MTYgLTAuNzMwMDQsLTEuMTEyMDMgLTEuODU0NTksLTMuNDgzMjYgLTIuODQzMDksLTUuOTk0OTYgLTAuODk5NDMsLTIuMjg1NCAtNC43NjI4NywtMTIuMTU1MyAtOC41ODU0MDksLTIxLjkzMzEzIC0zLjgyMjU0LC05Ljc3NzgzIC04LjQ3OTA3MiwtMjEuNjM4MDMgLTEwLjM0Nzg1MiwtMjYuMzU2MDEgLTEuODY4NzgsLTQuNzE3OTcgLTcuNDA0OTY4LC0xOC44MTU5NSAtMTIuMzAyNjQ2LC0zMS4zMjg4NCAtNC44OTc2ODEsLTEyLjUxMjg4IC0xMC44NjE5MjMsLTI3LjcyOTc1IC0xMy4yNTM4NzYsLTMzLjgxNTI1IC0yLjM5MTk1MywtNi4wODU1IC01LjY2NTIxNiwtMTQuNDc3MTUgLTcuMjczOTE4LC0xOC42NDgxMSAtMS42MDg2OTgsLTQuMTcwOTcgLTQuMjM1OTUsLTEwLjg0ODI2IC01LjgzODMzNCwtMTQuODM4NDMgLTIuMDcyNzc5LC01LjE2MTUzIC0yLjgzNjUwOSwtNy4zMzE3NyAtMi42NDY4NjksLTcuNTIxNCAwLjM0NzkwMywtMC4zNDc5MSAyMC44Mjg4ODcsLTAuMzU5MTcgMjQuNzMyODc0LC0wLjAxMzYgNC42NDkyNTYsMC40MTE1NCA3LjAxMjg0OCwxLjUyODExIDEwLjUxNzU0Niw0Ljk2ODUyIDEuNDUwODE5LDEuNDI0MjEgMi4zOTgsMi42MDIxMyAyLjkwNDM3NSwzLjYxMTkgMS43OTg2OTMsMy41ODY3OCA4LjQxODEwMywyMC4wMjg2OSAxOC42NjYyNzksNDYuMzY1MDYgMy42OTgzOSw5LjUwNDMyIDExLjE2MDY3LDI4LjQxMzUxIDE2LjU4Mjg1LDQyLjAyMDQyIDE0LjYzNDMzLDM2LjcyNDY3IDE4Ljc0NzUzLDQ3LjEzNzY1IDE5LjUzOTc1LDQ5LjQ2Njg3IDIuMjI5ODEsNi41NTU4OSAxLjA1NTMzLDEyLjcwMjE0IC0zLjMwNDI2LDE3LjI5MTc2IC0zLjEwMzU5LDMuMjY3MzYgLTYuMjIwNDMsNC42MDg0NSAtMTEuMDIxNzgsNC43NDI0IC0xLjY0MzMxLDAuMDQ1OCAtMy41NzUxOCwtMC4wMjIxIC00LjI5MzA2LC0wLjE1MTAzIHoiLz48cmVjdCBzdHlsZT0iZmlsbDojZWM2MzRkIiB3aWR0aD0iMTEuMjY5NTQiIGhlaWdodD0iNDIuMDk3NjIyIiB4PSIxNjQuODgwMTQiIHk9IjE3Ni4yNTkwOSIgcnk9IjUuNjEwNDk2Ii8+PHJlY3Qgc3R5bGU9ImZpbGw6I2VjNjM0ZCIgd2lkdGg9IjExLjYyMTU2IiBoZWlnaHQ9Ijg3LjAzODYwNSIgeD0iMTQyLjE1ODY4IiB5PSIxNTMuNzg4NiIgcnk9IjUuNjEwNDk2Ii8+PHJlY3Qgc3R5bGU9ImZpbGw6I2VjNjM0ZCIgd2lkdGg9IjExLjI2OTU0IiBoZWlnaHQ9IjQyLjA5NzYyMiIgeD0iMTE5Ljc4OTI0IiB5PSIxNzYuMjU5MDkiIHJ5PSI1LjYxMDQ5NiIvPjwvZz48cGF0aCBzdHlsZT0iZmlsbDojZWM2MzRkIiBkPSJtIDIyMi4yNTEzMiw2OC40Nzk4OTcgcSAtMTIuNzk5OTgsMCAtMjEuNzU5OTcsOC45NTk5ODYgLTguOTU5OTgsOC45NTk5ODYgLTguOTU5OTgsMjEuNzU5OTY1IDAsMTIuNTg2NjQyIDguOTU5OTgsMjEuNTQ2NjMyIDQuMjY2NjYsNC40Nzk5OSA5LjgxMzMyLDYuODI2NjYgNS43NTk5OSwyLjEzMzMzIDExLjk0NjY1LDIuMTMzMzMgNi4xODY2NiwwIDExLjczMzMxLC0yLjEzMzMzIDUuNTQ2NjYsLTIuMzQ2NjcgMTAuMDI2NjUsLTYuODI2NjYgOC45NTk5OSwtOC45NTk5OSA4Ljk1OTk5LC0yMS41NDY2MzIgMCwtMTIuNzk5OTc5IC04Ljk1OTk5LC0yMS43NTk5NjUgLTkuMzg2NjUsLTguOTU5OTg2IC0yMS43NTk5NiwtOC45NTk5ODYgeiBtIDAsLTI1LjU5OTk1OSBxIDExLjczMzMxLDAgMjEuOTczMyw0LjQ3OTk5MyAxMC4yMzk5OCw0LjI2NjY2IDE3LjkxOTk3LDExLjk0NjY0OCA3LjY3OTk5LDcuNjc5OTg3IDExLjk0NjY1LDE3LjkxOTk3MSA0LjQ3OTk5LDEwLjIzOTk4NCA0LjQ3OTk5LDIxLjk3MzI5OCAwLDExLjUxOTk4MiAtNC40Nzk5OSwyMS43NTk5NjIgLTQuMjY2NjYsMTAuMjM5OTkgLTExLjk0NjY1LDE3LjkxOTk3IC03LjY3OTk5LDcuNjc5OTkgLTE3LjkxOTk3LDEyLjE1OTk5IC0xMC4yMzk5OSw0LjI2NjY2IC0yMS45NzMzLDQuMjY2NjYgLTExLjczMzMyLDAgLTIxLjk3MzMsLTQuMjY2NjYgLTEwLjIzOTk4LC00LjQ4IC0xNy45MTk5NywtMTIuMTU5OTkgLTcuNjc5OTksLTcuNjc5OTggLTEyLjE1OTk4LC0xNy45MTk5NyAtNC4yNjY2NiwtMTAuMjM5OTggLTQuMjY2NjYsLTIxLjc1OTk2MiAwLC0xMS43MzMzMTQgNC4yNjY2NiwtMjEuOTczMjk4IDQuNDc5OTksLTEwLjIzOTk4NCAxMi4xNTk5OCwtMTcuOTE5OTcxIDcuNjc5OTksLTcuNjc5OTg4IDE3LjkxOTk3LC0xMS45NDY2NDggMTAuMjM5OTgsLTQuNDc5OTkzIDIxLjk3MzMsLTQuNDc5OTkzIHogTSAzODMuMzE3OSwxMzguODc5NzggcSAtNy42Nzk5OSw3LjY3OTk5IC0xNy45MTk5NywxMi4xNTk5OSAtMTAuMjM5OTksNC4yNjY2NiAtMjEuOTczMyw0LjI2NjY2IC0xMS43MzMzMiwwIC0yMS45NzMzLC00LjI2NjY2IC0xMC4yMzk5OCwtNC40OCAtMTcuOTE5OTcsLTEyLjE1OTk5IC03LjY3OTk5LC03LjY3OTk4IC0xMi4xNTk5OCwtMTcuOTE5OTcgLTQuMjY2NjYsLTEwLjIzOTk4IC00LjI2NjY2LC0yMS43NTk5NjIgMCwtMTEuNzMzMzE0IDQuMjY2NjYsLTIxLjk3MzI5OCA0LjQ3OTk5LC0xMC4yMzk5ODQgMTIuMTU5OTgsLTE3LjkxOTk3MSA3LjY3OTk5LC03LjY3OTk4OCAxNy45MTk5NywtMTEuOTQ2NjQ4IDEwLjIzOTk4LC00LjQ3OTk5MyAyMS45NzMzLC00LjQ3OTk5MyAxMS43MzMzMSwwIDIxLjk3MzMsNC40Nzk5OTMgMTAuMjM5OTgsNC4yNjY2NiAxNy45MTk5NywxMS45NDY2NDggbCAtMTguMTMzMzEsMTguMTMzMzA0IHEgLTguOTU5OTgsLTguOTU5OTg2IC0yMS43NTk5NiwtOC45NTk5ODYgLTEyLjM3MzMyLDAgLTIxLjc1OTk3LDguOTU5OTg2IC04Ljk1OTk4LDguOTU5OTg2IC04Ljk1OTk4LDIxLjc1OTk2NSAwLDEyLjU4NjY0MiA4Ljk1OTk4LDIxLjU0NjYzMiA0LjQ4LDQuNDc5OTkgMTAuMDI2NjUsNi44MjY2NiA1LjU0NjY2LDIuMTMzMzMgMTEuNzMzMzIsMi4xMzMzMyAxMy4wMTMzMSwwIDIxLjc1OTk2LC04Ljk1OTk5IHogTSA0OTguMDkxMTQsNDUuNjUzMjY3IFYgMTUyLjUzMzEgSCA0NzIuNDkxMTggViA5OS4xOTk4NDggcSAwLC0xMi43OTk5NzkgLTguOTU5OTgsLTIxLjc1OTk2NSAtOC45NTk5OSwtOC45NTk5ODYgLTIxLjc1OTk3LC04Ljk1OTk4NiAtNi4xODY2NiwwIC0xMS45NDY2NSwyLjM0NjY2MyAtNS41NDY2NSwyLjM0NjY2MyAtOS44MTMzMSw2LjYxMzMyMyAtOC45NTk5OSw4Ljk1OTk4NiAtOC45NTk5OSwyMS43NTk5NjUgMCwxMi41ODY2NDIgOC45NTk5OSwyMS41NDY2MzIgNC4yNjY2Niw0LjQ3OTk5IDkuODEzMzEsNi44MjY2NiA1Ljc1OTk5LDIuMTMzMzMgMTEuOTQ2NjUsMi4xMzMzMyA2LjM5OTk5LDAgMTEuNTE5OTgsLTIuMTMzMzMgbCA5LjE3MzMyLDIyLjgyNjYzIHEgLTkuODEzMzIsNC45MDY2NiAtMjIuODI2NjMsNC45MDY2NiAtMTEuNzMzMzEsMCAtMjEuNzU5OTYsLTQuMjY2NjYgLTkuODEzMzIsLTQuNDggLTE3LjA2NjY0LC0xMi4xNTk5OSAtNy4yNTMzMiwtNy42Nzk5OCAtMTEuMzA2NjUsLTE3LjkxOTk3IC00LjA1MzMzLC0xMC4yMzk5OCAtNC4wNTMzMywtMjEuNzU5OTYyIDAsLTExLjczMzMxNCA0LjA1MzMzLC0yMS45NzMyOTggNC4wNTMzMywtMTAuMjM5OTg0IDExLjMwNjY1LC0xNy45MTk5NzEgNy4yNTMzMiwtNy42Nzk5ODggMTcuMDY2NjQsLTExLjk0NjY0OCAxMC4wMjY2NSwtNC40Nzk5OTMgMjEuNzU5OTYsLTQuNDc5OTkzIDEwLjQ1MzMyLDAgMTguNTU5OTcsMy4xOTk5OTUgOC4xMDY2NiwzLjE5OTk5NSAxNC4yOTMzMSw4LjEwNjY1NCB2IC04LjUzMzMyIHogTSA1MzguNjI0NDYsMTUyLjUzMzEgSCA1MTMuMDI0NSBWIDMuMjAwMDAxNSBoIDI1LjU5OTk2IFYgMTUyLjUzMzEgWiBtIDEyMC4xMDY1OSwtNDIuNjY2NiBxIDAsMTAuNDUzMzEgLTMuNDEzMzMsMTguOTg2NjMgLTMuNDEzMzIsOC4zMTk5OSAtOS44MTMzMSwxNC4yOTMzMSAtNi4xODY2Niw1Ljc2IC0xNS4xNDY2NSw4Ljk1OTk5IC04Ljk1OTk4LDMuMiAtMjAuMDUzMywzLjIgLTE3LjcwNjY0LDAgLTMxLjU3MzI4LC01LjU0NjY2IC0xMy44NjY2NCwtNS43NTk5OSAtMjIuODI2NjMsLTEzLjAxMzMyIGwgMTcuNzA2NjQsLTE3LjcwNjYzIHEgNy4wMzk5OSw2LjM5OTk5IDE1Ljc4NjY0LDkuODEzMzEgNS4zMzMzMiwyLjEzMzMzIDEwLjAyNjY1LDIuNzczMzMgNC42OTMzMywwLjY0IDcuNjc5OTksMC42NCA1LjU0NjY2LDAgMTAuMDI2NjUsLTEuMjggNC42OTMzMiwtMS40OTMzMyA4LjEwNjY1LC0zLjgzOTk5IDcuMjUzMzIsLTUuMzMzMzIgNy4yNTMzMiwtMTQuMDc5OTggMCwtNS4zMzMzMiAtMy44Mzk5OSwtOS41OTk5OCAtMi45ODY2NiwtMy40MTMzMyAtNy42Nzk5OSwtNS41NDY2NiAtMy44Mzk5OSwtMi4xMzMzMyAtOC4xMDY2NSwtMy40MTMzMjggLTQuMjY2NjYsLTEuMjc5OTk4IC03LjY3OTk5LC0yLjM0NjY2MyAtMS4wNjY2NiwtMC40MjY2NjYgLTEuOTIsLTAuNDI2NjY2IC0wLjg1MzMzLC0wLjIxMzMzMyAtMS40OTMzMywtMC42Mzk5OTkgLTAuNDI2NjYsMCAtMS4yNzk5OSwtMC40MjY2NjYgLTQuNDgsLTEuMjc5OTk3IC0xMy4wMTMzMiwtNC40Nzk5OTIgLTguMzE5OTgsLTMuMTk5OTk1IC0xNi42Mzk5NywtOC43NDY2NTMgLTE5LjQxMzMsLTEzLjAxMzMxMyAtMTkuNDEzMywtMzEuOTk5OTQ5IDAsLTEyLjU4NjY0NyA0LjI2NjY2LC0yMS4xMTk5NjYgNC40Nzk5OSwtOC43NDY2NTMgMTEuNTE5OTgsLTE0LjA3OTk3OCA3LjAzOTk5LC01LjU0NjY1NzUgMTUuNTczMzEsLTcuODkzMzIwNCBRIDU5MS41MzExNiw2LjYzNzU3MzNlLTYgNTk5Ljg1MTE1LDYuNjM3NTczM2UtNiBxIDE1LjM1OTk3LDAgMjUuODEzMjksMy42MjY2NjA4NjI0MjY3IDEwLjQ1MzMyLDMuNjI2NjYwOSAxNi42Mzk5Nyw3LjI1MzMyMTUgMy4yLDEuOTE5OTk3IDUuMzMzMzMsMy44Mzk5OTQgMi4zNDY2NiwxLjcwNjY2NCA0LjA1MzMyLDMuMTk5OTk1IGwgLTE4LjEzMzMsMTguMzQ2NjM3IHEgLTUuNzU5OTksLTUuNzU5OTkgLTExLjczMzMyLC04Ljc0NjY1MiAtOC45NTk5OCwtNC4yNjY2NiAtMTguNzczMywtNC4yNjY2NiAtNC4yNjY2NiwwIC04LjUzMzMyLDEuMDY2NjY1IC00LjI2NjY2LDEuMDY2NjY1IC03LjQ2NjY1LDIuNzczMzI5IC05LjM4NjY1LDUuNzU5OTkgLTkuMzg2NjUsMTUuMTQ2NjQyIDAsNS43NTk5OTEgMy44Mzk5OSw5LjgxMzMxOCAyLjc3MzMzLDMuMTk5OTk1IDcuNjc5OTksNS43NTk5OTEgNC4wNTMzMiwyLjEzMzMzIDguNTMzMzIsMy40MTMzMjggNC40Nzk5OSwxLjI3OTk5NyA4LjMxOTk4LDIuMzQ2NjYyIGwgMi41NiwwLjYzOTk5OSBxIDEuMDY2NjYsMC40MjY2NjYgNC4wNTMzMywxLjI3OTk5OCAyLjk4NjY2LDAuODUzMzMyIDcuMDM5OTgsMi41NTk5OTYgNC4wNTMzMywxLjcwNjY2NCA4Ljc0NjY2LDQuMDUzMzI3IDQuOTA2NjYsMi4zNDY2NjMgOS41OTk5OCw1LjU0NjY1OCAyMC42OTMzLDEzLjY1MzMxMSAyMC42OTMzLDMyLjIxMzI4NCB6IG0gNjkuMTE5NzcsNDIuNjY2NiBoIC0yMy40NjY2MyBxIC03LjI1MzMyLDAgLTEzLjY1MzMxLC0yLjc3MzMzIC02LjM5OTk5LC0yLjc3MzMzIC0xMS4wOTMzMiwtNy40NjY2NiAtNC42OTMzMiwtNC45MDY2NiAtNy40NjY2NSwtMTEuMzA2NjUgLTIuNzczMzMsLTYuMzk5OTkgLTIuNzczMzMsLTEzLjY1MzMxIFYgMjQuMzE5OTY4IGwgMjUuNTk5OTYsLTYuMzk5OTkgViA1OC42NjY1OCBoIDE0LjkzMzMxIGwgNi4zOTk5OSwyNS41OTk5NTkgaCAtMjEuMzMzMyB2IDMzLjA2NjYxMSBxIDAsNC4wNTMzMyAyLjc3MzMzLDYuODI2NjYgMi43NzMzMywyLjc3MzMzIDYuNjEzMzIsMi43NzMzMyBoIDE3LjA2NjY0IHogbSAxMTEuMzYsLTEwNi44Nzk4MzMgViAxNTIuNTMzMSBIIDgxMy42MTA4NiBWIDk5LjE5OTg0OCBxIDAsLTEyLjc5OTk3OSAtOC45NTk5OSwtMjEuNzU5OTY1IC04Ljk1OTk4LC04Ljk1OTk4NiAtMjEuNzU5OTYsLTguOTU5OTg2IC02LjE4NjY2LDAgLTExLjk0NjY1LDIuMzQ2NjYzIC01LjU0NjY2LDIuMzQ2NjYzIC05LjgxMzMyLDYuNjEzMzIzIC04Ljk1OTk4LDguOTU5OTg2IC04Ljk1OTk4LDIxLjc1OTk2NSAwLDEyLjU4NjY0MiA4Ljk1OTk4LDIxLjU0NjYzMiA0LjI2NjY2LDQuNDc5OTkgOS44MTMzMiw2LjgyNjY2IDUuNzU5OTksMi4xMzMzMyAxMS45NDY2NSwyLjEzMzMzIDYuMzk5OTksMCAxMS41MTk5OCwtMi4xMzMzMyBsIDkuMTczMzIsMjIuODI2NjMgcSAtOS44MTMzMiw0LjkwNjY2IC0yMi44MjY2Myw0LjkwNjY2IC0xMS43MzMzMiwwIC0yMS43NTk5NywtNC4yNjY2NiAtOS44MTMzMiwtNC40OCAtMTcuMDY2NjQsLTEyLjE1OTk5IC03LjI1MzMyLC03LjY3OTk4IC0xMS4zMDY2NSwtMTcuOTE5OTcgLTQuMDUzMzIsLTEwLjIzOTk4IC00LjA1MzMyLC0yMS43NTk5NjIgMCwtMTEuNzMzMzE0IDQuMDUzMzIsLTIxLjk3MzI5OCA0LjA1MzMzLC0xMC4yMzk5ODQgMTEuMzA2NjUsLTE3LjkxOTk3MSA3LjI1MzMyLC03LjY3OTk4OCAxNy4wNjY2NCwtMTEuOTQ2NjQ4IDEwLjAyNjY1LC00LjQ3OTk5MyAyMS43NTk5NywtNC40Nzk5OTMgMTAuNDUzMzEsMCAxOC41NTk5NywzLjE5OTk5NSA4LjEwNjY1LDMuMTk5OTk1IDE0LjI5MzMxLDguMTA2NjU0IHYgLTguNTMzMzIgeiBtIDEwNy45NDY1Miw5My4yMjY1MTMgcSAtNy42Nzk5OCw3LjY3OTk5IC0xNy45MTk5NywxMi4xNTk5OSAtMTAuMjM5OTgsNC4yNjY2NiAtMjEuOTczMjksNC4yNjY2NiAtMTEuNzMzMzIsMCAtMjEuOTczMywtNC4yNjY2NiAtMTAuMjM5OTksLTQuNDggLTE3LjkxOTk3LC0xMi4xNTk5OSAtNy42Nzk5OSwtNy42Nzk5OCAtMTIuMTU5OTgsLTE3LjkxOTk3IC00LjI2NjY2LC0xMC4yMzk5OCAtNC4yNjY2NiwtMjEuNzU5OTYyIDAsLTExLjczMzMxNCA0LjI2NjY2LC0yMS45NzMyOTggNC40Nzk5OSwtMTAuMjM5OTg0IDEyLjE1OTk4LC0xNy45MTk5NzEgNy42Nzk5OCwtNy42Nzk5ODggMTcuOTE5OTcsLTExLjk0NjY0OCAxMC4yMzk5OCwtNC40Nzk5OTMgMjEuOTczMywtNC40Nzk5OTMgMTEuNzMzMzEsMCAyMS45NzMyOSw0LjQ3OTk5MyAxMC4yMzk5OSw0LjI2NjY2IDE3LjkxOTk3LDExLjk0NjY0OCBsIC0xOC4xMzMzLDE4LjEzMzMwNCBxIC04Ljk1OTk5LC04Ljk1OTk4NiAtMjEuNzU5OTYsLTguOTU5OTg2IC0xMi4zNzMzMiwwIC0yMS43NTk5Nyw4Ljk1OTk4NiAtOC45NTk5OSw4Ljk1OTk4NiAtOC45NTk5OSwyMS43NTk5NjUgMCwxMi41ODY2NDIgOC45NTk5OSwyMS41NDY2MzIgNC40Nzk5OSw0LjQ3OTk5IDEwLjAyNjY1LDYuODI2NjYgNS41NDY2NiwyLjEzMzMzIDExLjczMzMyLDIuMTMzMzMgMTMuMDEzMzEsMCAyMS43NTk5NiwtOC45NTk5OSB6IE0gMTA1MS42OTA3LDQ1Ljg2NjYgOTk4LjM1NzQsOTkuMTk5ODQ4IDEwNTEuNjkwNywxNTIuNTMzMSBoIC0zNi4wNTMzIEwgOTgwLjIyNDEsMTE3LjExOTgyIFYgMTUyLjUzMzEgSCA5NTQuNjI0MTQgViAzLjIwMDAwMTUgSCA5ODAuMjI0MSBWIDgxLjA2NjU0NCBMIDEwMTUuNDI0LDQ1Ljg2NjYgaCAzNi4yNjY3IHoiLz48L3N2Zz4=", ya = "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI0Ni45NTU0ODJtbSIgaGVpZ2h0PSIzOS44NDUzMW1tIiB2aWV3Qm94PSIwIDAgNDYuOTU1NDgyIDM5Ljg0NTMxIj48ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtODAuOTYyNSwtMTI4LjU4NzUpIj48ZyB0cmFuc2Zvcm09Im1hdHJpeCgwLjIzNDc3NzQxLDAsMCwwLjIzNTc5MzE4LDY5LjY2MDM5Miw5NC42Njg4MzgpIj48cGF0aCBzdHlsZT0iZmlsbDojNTVhYmU1O2ZpbGwtb3BhY2l0eToxO3N0cm9rZS13aWR0aDowLjM3Mjk2MiIgZD0ibSAxNjUuNzQzNjksMzEyLjM0NTE0IGMgLTMuNjU5MDQsLTAuOTU4NjEgLTYuODkxMzEsLTMuMzUzNDggLTkuMjE0OTQsLTYuODI3NTkgLTEuOTEyMjYsLTIuODU5MDggLTIuMzk3MDUsLTQuNTY5NzEgLTIuMzk3MDUsLTguNDU4MzYgMCwtMy45OTI1NCAwLjA4MjQsLTQuMjc1NyA0LjIzMDEyLC0xNC41NDU1MyA0LjAwOTIzLC05LjkyNjgxIDExLjc0NTk3LC0yOS42MDgwNCAxNC4xNzI1NCwtMzYuMDUzMDIgMS4wNTU1LC0yLjgwMzQ0IDQuNjM1NzksLTEyLjA5MDIgNy45NTYxOSwtMjAuNjM3MjUgMy4zMjA0LC04LjU0NzA2IDkuNDcyNjUsLTI0LjQ5MTIgMTMuNjcxNjgsLTM1LjQzMTQzIDkuNDExNjMsLTI0LjUyMTI1IDEyLjE1MTI0LC0zMS4zOTYxNCAxNC4xOTIyMiwtMzUuNjE0NTUgMS4zMzIyOSwtMi43NTM2NCAxLjg3ODY3LC0zLjU5MjU4IDMuMzQ1NDYsLTUuMTM2NzIgMS45NjgyMiwtMi4wNzIwMyA0LjA5ODQsLTMuNTYyNTMgNi40NjY4NywtNC41MjQ5MyAxLjI3MTM4LC0wLjUxNjYgMi4yNTc2MywtMC42OTMwMiA0LjgyNjc5LC0wLjg2MzQgNS4yMTgzLC0wLjM0NjA3IDI0LjU3NDYyLC0wLjU1NDU4IDI0Ljk4NTA4LC0wLjI2OTE0IDAuNDM3OTcsMC4zMDQ1NiAxLjEzMTMxLC0xLjUwMDIxIC0xNS4xNTQxMiwzOS40NDY3OCAtMjAuNjg4NDIsNTIuMDE3NTcgLTI4Ljk2MTg1LDcyLjk4MjY1IC0zNi43NTE4MSw5My4xMzAwNCAtOC40MDM1NiwyMS43MzQzNCAtOS4zOTQ5NSwyNC4yMDc2NCAtMTAuNzYzMTYsMjYuODUxNjUgLTIuMzU0NSw0LjU1IC02LjM4MjQsNy43ODMzMSAtMTEuMjc2NjEsOS4wNTIwNyAtMi4wNzI1OSwwLjUzNzI5IC02LjAwMDE1LDAuNDgxMDkgLTguMjg5MjYsLTAuMTE4NjIgeiIvPjxwYXRoIHN0eWxlPSJmaWxsOiM1NWFiZTU7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlLXdpZHRoOjAuMzcyOTYyIiBkPSJtIDEyMi40OTIyLDMxMi41ODkxNiBjIC00LjA3OTU2LC0wLjczMjU4IC04LjY1MTIzLC0zLjkzNDEgLTExLjIzMjU4LC03Ljg2NjE2IC0wLjczMDA0LC0xLjExMjAzIC0xLjg1NDU5LC0zLjQ4MzI2IC0yLjg0MzA5LC01Ljk5NDk2IC0wLjg5OTQzLC0yLjI4NTQgLTQuNzYyODcsLTEyLjE1NTMgLTguNTg1NDA5LC0yMS45MzMxMyAtMy44MjI1NCwtOS43Nzc4MyAtOC40NzkwNzIsLTIxLjYzODAzIC0xMC4zNDc4NTIsLTI2LjM1NjAxIC0xLjg2ODc4LC00LjcxNzk3IC03LjQwNDk2OCwtMTguODE1OTUgLTEyLjMwMjY0NiwtMzEuMzI4ODQgLTQuODk3NjgxLC0xMi41MTI4OCAtMTAuODYxOTIzLC0yNy43Mjk3NSAtMTMuMjUzODc2LC0zMy44MTUyNSAtMi4zOTE5NTMsLTYuMDg1NSAtNS42NjUyMTYsLTE0LjQ3NzE1IC03LjI3MzkxOCwtMTguNjQ4MTEgLTEuNjA4Njk4LC00LjE3MDk3IC00LjIzNTk1LC0xMC44NDgyNiAtNS44MzgzMzQsLTE0LjgzODQzIC0yLjA3Mjc3OSwtNS4xNjE1MyAtMi44MzY1MDksLTcuMzMxNzcgLTIuNjQ2ODY5LC03LjUyMTQgMC4zNDc5MDMsLTAuMzQ3OTEgMjAuODI4ODg3LC0wLjM1OTE3IDI0LjczMjg3NCwtMC4wMTM2IDQuNjQ5MjU2LDAuNDExNTQgNy4wMTI4NDgsMS41MjgxMSAxMC41MTc1NDYsNC45Njg1MiAxLjQ1MDgxOSwxLjQyNDIxIDIuMzk4LDIuNjAyMTMgMi45MDQzNzUsMy42MTE5IDEuNzk4NjkzLDMuNTg2NzggOC40MTgxMDMsMjAuMDI4NjkgMTguNjY2Mjc5LDQ2LjM2NTA2IDMuNjk4MzksOS41MDQzMiAxMS4xNjA2NywyOC40MTM1MSAxNi41ODI4NSw0Mi4wMjA0MiAxNC42MzQzMywzNi43MjQ2NyAxOC43NDc1Myw0Ny4xMzc2NSAxOS41Mzk3NSw0OS40NjY4NyAyLjIyOTgxLDYuNTU1ODkgMS4wNTUzMywxMi43MDIxNCAtMy4zMDQyNiwxNy4yOTE3NiAtMy4xMDM1OSwzLjI2NzM2IC02LjIyMDQzLDQuNjA4NDUgLTExLjAyMTc4LDQuNzQyNCAtMS42NDMzMSwwLjA0NTggLTMuNTc1MTgsLTAuMDIyMSAtNC4yOTMwNiwtMC4xNTEwMyB6Ii8+PHJlY3Qgc3R5bGU9ImZpbGw6I2Y3ODQ3MiIgd2lkdGg9IjExLjI2OTU0IiBoZWlnaHQ9IjQyLjA5NzYyMiIgeD0iMTY0Ljg4MDE0IiB5PSIxNzYuMjU5MDkiIHJ5PSI1LjYxMDQ5NiIvPjxyZWN0IHN0eWxlPSJmaWxsOiNmNzg0NzIiIHdpZHRoPSIxMS42MjE1NiIgaGVpZ2h0PSI4Ny4wMzg2MDUiIHg9IjE0Mi4xNTg2OCIgeT0iMTUzLjc4ODYiIHJ5PSI1LjYxMDQ5NiIvPjxyZWN0IHN0eWxlPSJmaWxsOiNmNzg0NzIiIHdpZHRoPSIxMS4yNjk1NCIgaGVpZ2h0PSI0Mi4wOTc2MjIiIHg9IjExOS43ODkyNCIgeT0iMTc2LjI1OTA5IiByeT0iNS42MTA0OTYiLz48L2c+PC9nPjwvc3ZnPg==", Ta = "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI0Ni45NTU0ODJtbSIgaGVpZ2h0PSIzOS44NDUzMW1tIiB2aWV3Qm94PSIwIDAgNDYuOTU1NDgyIDM5Ljg0NTMxIj48ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtODAuOTYyNSwtMTI4LjU4NzUpIj48ZyB0cmFuc2Zvcm09Im1hdHJpeCgwLjIzNDc3NzQxLDAsMCwwLjIzNTc5MzE4LDY5LjY2MDM5Miw5NC42Njg4MzgpIj48cGF0aCBzdHlsZT0iZmlsbDojMjQ1YjhmO2ZpbGwtb3BhY2l0eToxO3N0cm9rZS13aWR0aDowLjM3Mjk2MiIgZD0ibSAxNjUuNzQzNjksMzEyLjM0NTE0IGMgLTMuNjU5MDQsLTAuOTU4NjEgLTYuODkxMzEsLTMuMzUzNDggLTkuMjE0OTQsLTYuODI3NTkgLTEuOTEyMjYsLTIuODU5MDggLTIuMzk3MDUsLTQuNTY5NzEgLTIuMzk3MDUsLTguNDU4MzYgMCwtMy45OTI1NCAwLjA4MjQsLTQuMjc1NyA0LjIzMDEyLC0xNC41NDU1MyA0LjAwOTIzLC05LjkyNjgxIDExLjc0NTk3LC0yOS42MDgwNCAxNC4xNzI1NCwtMzYuMDUzMDIgMS4wNTU1LC0yLjgwMzQ0IDQuNjM1NzksLTEyLjA5MDIgNy45NTYxOSwtMjAuNjM3MjUgMy4zMjA0LC04LjU0NzA2IDkuNDcyNjUsLTI0LjQ5MTIgMTMuNjcxNjgsLTM1LjQzMTQzIDkuNDExNjMsLTI0LjUyMTI1IDEyLjE1MTI0LC0zMS4zOTYxNCAxNC4xOTIyMiwtMzUuNjE0NTUgMS4zMzIyOSwtMi43NTM2NCAxLjg3ODY3LC0zLjU5MjU4IDMuMzQ1NDYsLTUuMTM2NzIgMS45NjgyMiwtMi4wNzIwMyA0LjA5ODQsLTMuNTYyNTMgNi40NjY4NywtNC41MjQ5MyAxLjI3MTM4LC0wLjUxNjYgMi4yNTc2MywtMC42OTMwMiA0LjgyNjc5LC0wLjg2MzQgNS4yMTgzLC0wLjM0NjA3IDI0LjU3NDYyLC0wLjU1NDU4IDI0Ljk4NTA4LC0wLjI2OTE0IDAuNDM3OTcsMC4zMDQ1NiAxLjEzMTMxLC0xLjUwMDIxIC0xNS4xNTQxMiwzOS40NDY3OCAtMjAuNjg4NDIsNTIuMDE3NTcgLTI4Ljk2MTg1LDcyLjk4MjY1IC0zNi43NTE4MSw5My4xMzAwNCAtOC40MDM1NiwyMS43MzQzNCAtOS4zOTQ5NSwyNC4yMDc2NCAtMTAuNzYzMTYsMjYuODUxNjUgLTIuMzU0NSw0LjU1IC02LjM4MjQsNy43ODMzMSAtMTEuMjc2NjEsOS4wNTIwNyAtMi4wNzI1OSwwLjUzNzI5IC02LjAwMDE1LDAuNDgxMDkgLTguMjg5MjYsLTAuMTE4NjIgeiIvPjxwYXRoIHN0eWxlPSJmaWxsOiMyNDViOGY7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlLXdpZHRoOjAuMzcyOTYyIiBkPSJtIDEyMi40OTIyLDMxMi41ODkxNiBjIC00LjA3OTU2LC0wLjczMjU4IC04LjY1MTIzLC0zLjkzNDEgLTExLjIzMjU4LC03Ljg2NjE2IC0wLjczMDA0LC0xLjExMjAzIC0xLjg1NDU5LC0zLjQ4MzI2IC0yLjg0MzA5LC01Ljk5NDk2IC0wLjg5OTQzLC0yLjI4NTQgLTQuNzYyODcsLTEyLjE1NTMgLTguNTg1NDA5LC0yMS45MzMxMyAtMy44MjI1NCwtOS43Nzc4MyAtOC40NzkwNzIsLTIxLjYzODAzIC0xMC4zNDc4NTIsLTI2LjM1NjAxIC0xLjg2ODc4LC00LjcxNzk3IC03LjQwNDk2OCwtMTguODE1OTUgLTEyLjMwMjY0NiwtMzEuMzI4ODQgLTQuODk3NjgxLC0xMi41MTI4OCAtMTAuODYxOTIzLC0yNy43Mjk3NSAtMTMuMjUzODc2LC0zMy44MTUyNSAtMi4zOTE5NTMsLTYuMDg1NSAtNS42NjUyMTYsLTE0LjQ3NzE1IC03LjI3MzkxOCwtMTguNjQ4MTEgLTEuNjA4Njk4LC00LjE3MDk3IC00LjIzNTk1LC0xMC44NDgyNiAtNS44MzgzMzQsLTE0LjgzODQzIC0yLjA3Mjc3OSwtNS4xNjE1MyAtMi44MzY1MDksLTcuMzMxNzcgLTIuNjQ2ODY5LC03LjUyMTQgMC4zNDc5MDMsLTAuMzQ3OTEgMjAuODI4ODg3LC0wLjM1OTE3IDI0LjczMjg3NCwtMC4wMTM2IDQuNjQ5MjU2LDAuNDExNTQgNy4wMTI4NDgsMS41MjgxMSAxMC41MTc1NDYsNC45Njg1MiAxLjQ1MDgxOSwxLjQyNDIxIDIuMzk4LDIuNjAyMTMgMi45MDQzNzUsMy42MTE5IDEuNzk4NjkzLDMuNTg2NzggOC40MTgxMDMsMjAuMDI4NjkgMTguNjY2Mjc5LDQ2LjM2NTA2IDMuNjk4MzksOS41MDQzMiAxMS4xNjA2NywyOC40MTM1MSAxNi41ODI4NSw0Mi4wMjA0MiAxNC42MzQzMywzNi43MjQ2NyAxOC43NDc1Myw0Ny4xMzc2NSAxOS41Mzk3NSw0OS40NjY4NyAyLjIyOTgxLDYuNTU1ODkgMS4wNTUzMywxMi43MDIxNCAtMy4zMDQyNiwxNy4yOTE3NiAtMy4xMDM1OSwzLjI2NzM2IC02LjIyMDQzLDQuNjA4NDUgLTExLjAyMTc4LDQuNzQyNCAtMS42NDMzMSwwLjA0NTggLTMuNTc1MTgsLTAuMDIyMSAtNC4yOTMwNiwtMC4xNTEwMyB6Ii8+PHJlY3Qgc3R5bGU9ImZpbGw6I2VjNjM0ZCIgd2lkdGg9IjExLjI2OTU0IiBoZWlnaHQ9IjQyLjA5NzYyMiIgeD0iMTY0Ljg4MDE0IiB5PSIxNzYuMjU5MDkiIHJ5PSI1LjYxMDQ5NiIvPjxyZWN0IHN0eWxlPSJmaWxsOiNlYzYzNGQiIHdpZHRoPSIxMS42MjE1NiIgaGVpZ2h0PSI4Ny4wMzg2MDUiIHg9IjE0Mi4xNTg2OCIgeT0iMTUzLjc4ODYiIHJ5PSI1LjYxMDQ5NiIvPjxyZWN0IHN0eWxlPSJmaWxsOiNlYzYzNGQiIHdpZHRoPSIxMS4yNjk1NCIgaGVpZ2h0PSI0Mi4wOTc2MjIiIHg9IjExOS43ODkyNCIgeT0iMTc2LjI1OTA5IiByeT0iNS42MTA0OTYiLz48L2c+PC9nPjwvc3ZnPg==";
9
+ function wa({ size: t = 16, sw: e = 1.5, children: n, style: s, ...r }) {
10
10
  return /* @__PURE__ */ i("svg", { viewBox: "0 0 24 24", width: t, height: t, fill: "none", stroke: "currentColor", strokeWidth: e, strokeLinecap: "round", strokeLinejoin: "round", "aria-hidden": "true", style: { flex: "none", ...s }, ...r, children: n });
11
11
  }
12
12
  const J = {
@@ -53,9 +53,9 @@ const J = {
53
53
  video: "m15.75 10.5 4.72-4.72a.75.75 0 0 1 1.28.53v11.38a.75.75 0 0 1-1.28.53l-4.72-4.72M4.5 18.75h9a2.25 2.25 0 0 0 2.25-2.25v-9a2.25 2.25 0 0 0-2.25-2.25h-9A2.25 2.25 0 0 0 2.25 7.5v9a2.25 2.25 0 0 0 2.25 2.25Z"
54
54
  };
55
55
  function oe({ d: t, ...e }) {
56
- return /* @__PURE__ */ i(La, { ...e, children: (Array.isArray(t) ? t : [t]).map((n) => /* @__PURE__ */ i("path", { d: n }, n)) });
56
+ return /* @__PURE__ */ i(wa, { ...e, children: (Array.isArray(t) ? t : [t]).map((n) => /* @__PURE__ */ i("path", { d: n }, n)) });
57
57
  }
58
- function ka({ size: t = 15 }) {
58
+ function La({ size: t = 15 }) {
59
59
  return /* @__PURE__ */ i("svg", { viewBox: "0 0 24 24", width: t, height: t, fill: "currentColor", "aria-hidden": "true", children: /* @__PURE__ */ i("rect", { x: "6", y: "6", width: "12", height: "12", rx: "2.5" }) });
60
60
  }
61
61
  function vs({ size: t = 13 }) {
@@ -80,20 +80,20 @@ function at({ size: t = 15, color: e = "currentColor", track: n = "rgba(127,127,
80
80
  }
81
81
  );
82
82
  }
83
- function va({ size: t = 12 }) {
83
+ function ka({ size: t = 12 }) {
84
84
  return /* @__PURE__ */ h("svg", { viewBox: "0 0 24 24", width: t, height: t, fill: "currentColor", "aria-hidden": "true", children: [
85
85
  /* @__PURE__ */ i("rect", { x: "6.5", y: "5", width: "3.75", height: "14", rx: "1.2" }),
86
86
  /* @__PURE__ */ i("rect", { x: "13.75", y: "5", width: "3.75", height: "14", rx: "1.2" })
87
87
  ] });
88
88
  }
89
89
  function In({ dark: t, height: e = 20, link: n = !0 }) {
90
- const s = /* @__PURE__ */ i("img", { src: t ? ma : ya, alt: "VocalStack", decoding: "sync", style: { height: e, width: "auto", display: "block" } });
90
+ const s = /* @__PURE__ */ i("img", { src: t ? pa : ma, alt: "VocalStack", decoding: "sync", style: { height: e, width: "auto", display: "block" } });
91
91
  return n ? /* @__PURE__ */ i("a", { href: ri, style: { display: "block" }, children: s }) : s;
92
92
  }
93
- function ii({ dark: t, size: e = 30 }) {
94
- return /* @__PURE__ */ i("img", { src: t ? Ta : wa, alt: "VocalStack", style: { width: e, height: Math.round(e * 26 / 30 * 100) / 100, display: "block" } });
93
+ function js({ dark: t, size: e = 30 }) {
94
+ return /* @__PURE__ */ i("img", { src: t ? ya : Ta, alt: "VocalStack", style: { width: e, height: Math.round(e * 26 / 30 * 100) / 100, display: "block" } });
95
95
  }
96
- function Er({ children: t, panel: e, inset: n, className: s = "", style: r }) {
96
+ function Yr({ children: t, panel: e, inset: n, className: s = "", style: r }) {
97
97
  return /* @__PURE__ */ i("div", { className: `vs-card${e ? " panel" : ""}${n ? " vs-card--inset" : ""} ${s}`, style: r, children: t });
98
98
  }
99
99
  function pt({ checked: t, onChange: e, label: n, disabled: s }) {
@@ -122,18 +122,20 @@ function cs({ value: t, onChange: e, options: n, size: s, bordered: r = !0, fill
122
122
  ] }, u.value))
123
123
  ] });
124
124
  }
125
- function ja({ children: t, onClick: e, label: n, size: s, variant: r, bordered: a = !0, active: o, title: l }) {
125
+ function va({ children: t, onClick: e, label: n, size: s, variant: r, bordered: a = !0, active: o, title: l }) {
126
126
  return /* @__PURE__ */ i("button", { type: "button", className: `vs-icon-btn${s === "sm" ? " vs-icon-btn--sm" : ""}${r === "primary" ? " vs-icon-btn--primary" : ""}${o ? " vs-icon-btn--primary" : ""}${a ? "" : " vs-icon-btn--borderless"}`, onClick: e, "aria-label": n, title: l ?? n, children: t });
127
127
  }
128
- function vn({ flag: t, code: e, label: n, onClick: s, variant: r, block: a, bordered: o = !0, size: l, style: c }) {
129
- const d = a && !!e;
130
- return /* @__PURE__ */ h("button", { type: "button", className: `vs-lang-chip${r ? ` vs-lang-chip--${r}` : ""}${a ? " vs-lang-chip--block" : ""}${a && !d ? " vs-lang-chip--bare" : ""}${o ? "" : " vs-lang-chip--borderless"}${l === "sm" ? " vs-lang-chip--sm" : ""}`, onClick: s, "aria-label": n ? e ? `${n} (${e})` : n : e, style: c, children: [
128
+ function vn({ flag: t, code: e, label: n, onClick: s, variant: r, block: a, bordered: o = !0, size: l, style: c, flagOnly: d }) {
129
+ if (d)
130
+ return /* @__PURE__ */ i("button", { type: "button", className: "vs-lang-chip vs-lang-chip--flag", onClick: s, "aria-label": n ? e ? `${n} (${e})` : n : e || "Language", title: n ?? e, style: c, children: /* @__PURE__ */ i("span", { className: "vs-lang-chip__flag", children: t }) });
131
+ const u = a && !!e;
132
+ return /* @__PURE__ */ h("button", { type: "button", className: `vs-lang-chip${r ? ` vs-lang-chip--${r}` : ""}${a ? " vs-lang-chip--block" : ""}${a && !u ? " vs-lang-chip--bare" : ""}${o ? "" : " vs-lang-chip--borderless"}${l === "sm" ? " vs-lang-chip--sm" : ""}`, onClick: s, "aria-label": n ? e ? `${n} (${e})` : n : e, style: c, children: [
131
133
  t ? /* @__PURE__ */ i("span", { className: "vs-lang-chip__flag", children: t }) : null,
132
- d ? /* @__PURE__ */ i("span", { className: "vs-lang-chip__name", children: n ?? e }) : a ? null : /* @__PURE__ */ i("span", { className: "vs-lang-chip__code", children: e }),
134
+ u ? /* @__PURE__ */ i("span", { className: "vs-lang-chip__name", children: n ?? e }) : a ? null : /* @__PURE__ */ i("span", { className: "vs-lang-chip__code", children: e }),
133
135
  /* @__PURE__ */ i(oe, { d: J.chevronDown, size: 13, className: "vs-lang-chip__chevron", style: { color: r === "primary" ? "currentColor" : "var(--vs-text-muted)" } })
134
136
  ] });
135
137
  }
136
- function za({ value: t, label: e = "Copy", onCopied: n }) {
138
+ function ja({ value: t, label: e = "Copy", onCopied: n }) {
137
139
  const [s, r] = I(!1), a = async () => {
138
140
  try {
139
141
  await navigator.clipboard.writeText(t), r(!0), n == null || n(), setTimeout(() => r(!1), 1400);
@@ -158,7 +160,7 @@ function za({ value: t, label: e = "Copy", onCopied: n }) {
158
160
  }
159
161
  );
160
162
  }
161
- function Ia(t, e) {
163
+ function za(t, e) {
162
164
  Qt(() => {
163
165
  const n = t.current, s = window.visualViewport;
164
166
  if (!e || !n || !s) return;
@@ -197,7 +199,7 @@ function us({ children: t, ms: e = 220 }) {
197
199
  }
198
200
  function $t({ open: t, onClose: e, title: n, titleNode: s, note: r, doneLabel: a = "Done", children: o, drawer: l = !1, header: c, kind: d, sticky: u = !1 }) {
199
201
  const g = v(null);
200
- return Ia(g, t), _(() => {
202
+ return za(g, t), _(() => {
201
203
  if (!t) return;
202
204
  const M = (p) => {
203
205
  p.key === "Escape" && e();
@@ -219,10 +221,10 @@ function ds({ children: t, style: e, className: n }) {
219
221
  return /* @__PURE__ */ i("div", { className: n ? `eyebrow ${n}` : "eyebrow", style: e, children: t });
220
222
  }
221
223
  let yn = null;
222
- function Bc(t) {
224
+ function $c(t) {
223
225
  yn = t;
224
226
  }
225
- function ai(t) {
227
+ function ii(t) {
226
228
  yn == null || yn(t);
227
229
  }
228
230
  function On() {
@@ -232,11 +234,11 @@ function On() {
232
234
  return "ogg";
233
235
  }
234
236
  }
235
- function Oa(t = {}) {
237
+ function Ia(t = {}) {
236
238
  const e = new URLSearchParams();
237
239
  return t.media ? e.set("media", t.media) : t.accessToken && e.set("access_token", t.accessToken), t.listenerToken && e.set("listenerToken", t.listenerToken), t.shareCode && e.set("shareCode", t.shareCode), e.toString();
238
240
  }
239
- async function Ca(t) {
241
+ async function Oa(t) {
240
242
  try {
241
243
  const e = await fetch(t, { redirect: "manual", headers: { accept: "application/json" } });
242
244
  if (e.type === "opaqueredirect" || e.ok || e.status >= 300 && e.status < 400) return null;
@@ -251,11 +253,11 @@ async function Ca(t) {
251
253
  return null;
252
254
  }
253
255
  }
254
- function ba(t, e, n = {}) {
256
+ function Ca(t, e, n = {}) {
255
257
  const s = new URLSearchParams({ kind: "delivery", format: On() });
256
258
  return n.accessToken && s.set("access_token", n.accessToken), n.listenerToken && s.set("listenerToken", n.listenerToken), n.shareCode && s.set("shareCode", n.shareCode), `${t}/v1/recordings/${e}/audio?${s}`;
257
259
  }
258
- function Yr(t, e, n = {}, s = "background") {
260
+ function _r(t, e, n = {}, s = "background") {
259
261
  const r = new URLSearchParams({ kind: s, format: On() });
260
262
  return n.accessToken && r.set("access_token", n.accessToken), n.listenerToken && r.set("listenerToken", n.listenerToken), n.shareCode && r.set("shareCode", n.shareCode), `${t}/v1/recordings/${e}/audio?${r}`;
261
263
  }
@@ -263,30 +265,30 @@ function Xn(t, e, n, s = {}) {
263
265
  const r = new URLSearchParams({ kind: n });
264
266
  return n === "delivery" && r.set("format", "mp3"), s.accessToken && r.set("access_token", s.accessToken), s.listenerToken && r.set("listenerToken", s.listenerToken), s.shareCode && r.set("shareCode", s.shareCode), `${t}/v1/recordings/${e}/audio?${r}`;
265
267
  }
266
- function xa(t, e, n, s, r = {}) {
267
- return Da(t, e, n, s, "mp3", r);
268
+ function ba(t, e, n, s, r = {}) {
269
+ return xa(t, e, n, s, "mp3", r);
268
270
  }
269
- function Da(t, e, n, s, r, a) {
271
+ function xa(t, e, n, s, r, a) {
270
272
  const o = new URLSearchParams({ kind: "voice", lang: n, format: r });
271
273
  return s && o.set("voice", s), a.accessToken && o.set("access_token", a.accessToken), a.listenerToken && o.set("listenerToken", a.listenerToken), a.shareCode && o.set("shareCode", a.shareCode), `${t}/v1/recordings/${e}/audio?${o}`;
272
274
  }
273
- function Sa(t, e = !0) {
275
+ function Da(t, e = !0) {
274
276
  const n = (t == null ? void 0 : t.code) ?? 0, s = n === 2 ? "the download failed" : n === 3 ? "this browser could not decode it" : n === 4 ? "the file is not available, or this browser cannot play it" : n === 1 ? "the load was stopped" : "something went wrong";
275
- return e && oi(t), `The audio could not be played: ${s}.`;
277
+ return e && ai(t), `The audio could not be played: ${s}.`;
276
278
  }
277
- function oi(t) {
279
+ function ai(t) {
278
280
  const e = (t == null ? void 0 : t.code) ?? 0;
279
- e !== 1 && ai(new Error(`media error ${e}${t != null && t.message ? `: ${t.message}` : ""}`));
281
+ e !== 1 && ii(new Error(`media error ${e}${t != null && t.message ? `: ${t.message}` : ""}`));
280
282
  }
281
- const Aa = 3e3;
282
- function Ea(t, e, n) {
283
+ const Sa = 3e3;
284
+ function Aa(t, e, n) {
283
285
  if (t !== 503) return null;
284
286
  const s = e == null || e.trim() === "" ? NaN : Number(e);
285
287
  if (Number.isFinite(s)) return Math.min(15e3, Math.max(1e3, s * 1e3));
286
288
  const r = n;
287
- return r && (r.retryable === !0 || r.code === "engine_unavailable") ? Aa : null;
289
+ return r && (r.retryable === !0 || r.code === "engine_unavailable") ? Sa : null;
288
290
  }
289
- class Ya {
291
+ class Ea {
290
292
  constructor(e = {}) {
291
293
  ge(this, "entries", /* @__PURE__ */ new Map());
292
294
  ge(this, "wanted", []);
@@ -379,13 +381,13 @@ class Ya {
379
381
  }).catch(() => s(n.signal.aborted ? null : { state: "failed", at: this.now() }));
380
382
  }
381
383
  }
382
- const li = { video: !1 };
383
- function ci(t) {
384
- if (!li.video) return new Audio(t);
384
+ const oi = { video: !1 };
385
+ function li(t) {
386
+ if (!oi.video) return new Audio(t);
385
387
  const e = document.createElement("video");
386
388
  return e.playsInline = !0, t && (e.src = t), e;
387
389
  }
388
- class ui extends Error {
390
+ class ci extends Error {
389
391
  constructor() {
390
392
  super("The voice did not start in time."), this.name = "VoiceNotStarted";
391
393
  }
@@ -431,7 +433,7 @@ const nt = class nt {
431
433
  ge(this, "loading", null);
432
434
  ge(this, "readAhead", 0);
433
435
  ge(this, "readAheadS", 0);
434
- ge(this, "prefetch", new Ya());
436
+ ge(this, "prefetch", new Ea());
435
437
  ge(this, "warmed", /* @__PURE__ */ new Set());
436
438
  ge(this, "startingSince", /* @__PURE__ */ new Map());
437
439
  ge(this, "retries", /* @__PURE__ */ new Map());
@@ -767,7 +769,7 @@ const nt = class nt {
767
769
  const l = await fetch(n, { method: "GET" });
768
770
  r = l.ok, s = l.status === 202 || l.status === 503 || l.status === 429;
769
771
  const c = l.status === 503 ? await l.json().catch(() => null) : null;
770
- a = Ea(l.status, l.headers.get("Retry-After"), c);
772
+ a = Aa(l.status, l.headers.get("Retry-After"), c);
771
773
  } catch {
772
774
  s = !0;
773
775
  }
@@ -788,7 +790,7 @@ const nt = class nt {
788
790
  }, a);
789
791
  return;
790
792
  }
791
- this.startingSince.delete(e), this.playing = !1, this.onStarting(null), this.onWaiting(null), this.onError(new ui()), this.onSentence(e);
793
+ this.startingSince.delete(e), this.playing = !1, this.onStarting(null), this.onWaiting(null), this.onError(new ci()), this.onSentence(e);
792
794
  return;
793
795
  }
794
796
  const o = (this.retries.get(e) ?? 0) + 1;
@@ -816,7 +818,7 @@ const nt = class nt {
816
818
  }
817
819
  element() {
818
820
  if (this.el) return this.el;
819
- const e = ci();
821
+ const e = li();
820
822
  e.preload = "auto";
821
823
  const n = e;
822
824
  return n.dataset && (n.dataset.vsVoice = "1"), e.playsInline = !0, e.onplaying = () => {
@@ -870,14 +872,14 @@ const nt = class nt {
870
872
  };
871
873
  ge(nt, "WAIT_MS", 15e3), ge(nt, "START_WAIT_MS", 4e3), ge(nt, "COMING_MS", 12e4), ge(nt, "SKEW_LINES", 3), ge(nt, "RETRIES", 4), ge(nt, "RETRY_MS", 1200), ge(nt, "STARTING_MS", 3e5);
872
874
  let Ms = nt;
873
- function di(t, e) {
875
+ function ui(t, e) {
874
876
  return e == null ? t.find((n) => !n.voiceKey) ?? null : t.find((n) => n.voiceKey === e) ?? t.find((n) => !n.voiceKey && n.voice === e) ?? null;
875
877
  }
876
- function _a(t, e, n, s = {}, r) {
878
+ function Ya(t, e, n, s = {}, r) {
877
879
  if (!t) return [];
878
880
  const a = r != null && r.length ? r : t.clips;
879
881
  if (!(a != null && a.length)) return [];
880
- const o = Oa(s), l = o ? `&${o}` : "", c = t.voiceKey ? `&voice=${encodeURIComponent(t.voiceKey)}` : "";
882
+ const o = Ia(s), l = o ? `&${o}` : "", c = t.voiceKey ? `&voice=${encodeURIComponent(t.voiceKey)}` : "";
881
883
  return a.flatMap((d) => {
882
884
  var M, p;
883
885
  const u = (M = t.clipRev) == null ? void 0 : M[String(d)], g = Math.max(1, ((p = t.clipParts) == null ? void 0 : p[String(d)]) ?? 1);
@@ -896,16 +898,16 @@ function _a(t, e, n, s = {}, r) {
896
898
  });
897
899
  });
898
900
  }
899
- function Mi(t, e) {
901
+ function di(t, e) {
900
902
  const n = e.words;
901
903
  if (n && n.length === t.length && t.length > 0) {
902
904
  let s = 0;
903
905
  for (let r = 0; r < n.length && e.t >= n[r][0]; r++) s = r;
904
906
  return s;
905
907
  }
906
- return e.dur > 0 ? Ua(t, e.t, e.dur) : null;
908
+ return e.dur > 0 ? _a(t, e.t, e.dur) : null;
907
909
  }
908
- function Ua(t, e, n) {
910
+ function _a(t, e, n) {
909
911
  if (t.length <= 1 || !(n > 0)) return 0;
910
912
  const s = t.map((l) => l.t.length + 1.6), r = s.reduce((l, c) => l + c, 0);
911
913
  let a = 0;
@@ -923,14 +925,14 @@ function fs(t, e) {
923
925
  return e;
924
926
  }
925
927
  }
926
- function gi(t, e) {
928
+ function Mi(t, e) {
927
929
  try {
928
930
  e == null ? localStorage.removeItem(t) : localStorage.setItem(t, JSON.stringify(e));
929
931
  } catch {
930
932
  }
931
933
  for (const n of hs) n();
932
934
  }
933
- function js(t, e) {
935
+ function zs(t, e) {
934
936
  const [n, s] = I(() => fs(t, e));
935
937
  return _(() => {
936
938
  const r = () => s(fs(t, e));
@@ -938,34 +940,34 @@ function js(t, e) {
938
940
  hs.delete(r), window.removeEventListener("storage", r);
939
941
  };
940
942
  }, [t]), [n, (r) => {
941
- s(r), gi(t, r);
943
+ s(r), Mi(t, r);
942
944
  }];
943
945
  }
944
- function _r(t) {
946
+ function Ur(t) {
945
947
  const e = fs(gs, []);
946
- gi(gs, Array.isArray(e) ? e.filter((n) => n !== t) : []);
948
+ Mi(gs, Array.isArray(e) ? e.filter((n) => n !== t) : []);
947
949
  }
948
- function hi() {
949
- const [t, e] = js(gs, []), n = Array.isArray(t) ? t : [];
950
+ function gi() {
951
+ const [t, e] = zs(gs, []), n = Array.isArray(t) ? t : [];
950
952
  return [n, (s) => {
951
953
  s && e([s, ...n.filter((r) => r !== s)].slice(0, 3));
952
954
  }];
953
955
  }
954
- function fi(t, e) {
956
+ function hi(t, e) {
955
957
  if (!t) return [];
956
958
  const n = new Set(t[e]);
957
959
  return t.languages.filter((s) => n.has(s.code)).map((s) => ({ code: s.code, label: s.name, native: s.native, flag: s.flag ?? "🌐", voice: !!s.voice }));
958
960
  }
959
- function Ra(t) {
960
- const [e, n] = js(`vs.pins.${t}`, null);
961
+ function Ua(t) {
962
+ const [e, n] = zs(`vs.pins.${t}`, null);
961
963
  return [Array.isArray(e) ? e : [], n];
962
964
  }
963
- const Pa = 352;
964
- function Qa(t) {
965
- const [e, n] = js(t === "ga" ? "vs.colW.ga" : "vs.colW", null);
966
- return [typeof e == "number" && e > 0 ? e : t === "ga" ? 560 : Pa, n];
965
+ const Ra = 352;
966
+ function Pa(t) {
967
+ const [e, n] = zs(t === "ga" ? "vs.colW.ga" : "vs.colW", null);
968
+ return [typeof e == "number" && e > 0 ? e : t === "ga" ? 560 : Ra, n];
967
969
  }
968
- function zs({ open: t, onClose: e, value: n, onSelect: s, languages: r, searchPlaceholder: a = "Search languages", none: o, pinned: l = [], recent: c = [], requireVoice: d, keepOpen: u, busy: g }) {
970
+ function Is({ open: t, onClose: e, value: n, onSelect: s, languages: r, searchPlaceholder: a = "Search languages", none: o, pinned: l = [], recent: c = [], requireVoice: d, keepOpen: u, busy: g }) {
969
971
  const [M, p] = I(""), [N, w] = I(!1), [k, m] = I(null);
970
972
  _(() => {
971
973
  t && (p(""), w(!1), m(null));
@@ -1001,9 +1003,9 @@ function zs({ open: t, onClose: e, value: n, onSelect: s, languages: r, searchPl
1001
1003
  /* @__PURE__ */ i("div", { className: "vs-picker__native", children: S.native })
1002
1004
  ] }),
1003
1005
  /* @__PURE__ */ i("span", { className: "vs-picker__slot", children: $ && /* @__PURE__ */ i("span", { className: "vs-picker__forget", role: "button", tabIndex: 0, title: `Remove ${S.label} from recent`, "aria-label": `Remove ${S.label} from recent`, onClick: (z) => {
1004
- z.stopPropagation(), _r(S.code);
1006
+ z.stopPropagation(), Ur(S.code);
1005
1007
  }, onKeyDown: (z) => {
1006
- (z.key === "Enter" || z.key === " ") && (z.preventDefault(), z.stopPropagation(), _r(S.code));
1008
+ (z.key === "Enter" || z.key === " ") && (z.preventDefault(), z.stopPropagation(), Ur(S.code));
1007
1009
  }, children: /* @__PURE__ */ i(oe, { d: J.close, size: 16 }) }) }),
1008
1010
  /* @__PURE__ */ i("span", { className: `vs-picker__slot${L ? " vs-picker__slot--wide" : ""}`, title: S.voice ? "Voice available" : L ? "No voice speaks this language yet" : void 0, children: L ? k === S.code && /* @__PURE__ */ i("span", { className: "vs-picker__off", children: "UNAVAILABLE" }) : S.voice && /* @__PURE__ */ i(oe, { d: J.headphones, size: 16 }) }),
1009
1011
  /* @__PURE__ */ i("span", { className: "vs-picker__check", children: n === S.code && (g === S.code ? /* @__PURE__ */ i(at, { size: 15, color: "var(--vs-link-hover)", track: "var(--vs-border)" }) : /* @__PURE__ */ i(oe, { d: J.check, size: 16, sw: 2.2 })) })
@@ -1046,41 +1048,41 @@ function zs({ open: t, onClose: e, value: n, onSelect: s, languages: r, searchPl
1046
1048
  ] });
1047
1049
  return { search: te, list: j };
1048
1050
  }
1049
- function $a({ open: t, onClose: e, title: n, note: s, sticky: r, ...a }) {
1050
- const { search: o, list: l } = zs({ ...a, open: t, onClose: e });
1051
+ function Qa({ open: t, onClose: e, title: n, note: s, sticky: r, ...a }) {
1052
+ const { search: o, list: l } = Is({ ...a, open: t, onClose: e });
1051
1053
  return /* @__PURE__ */ i($t, { open: t, onClose: e, title: n, note: s, drawer: !1, sticky: r, kind: "picker", header: o, children: l });
1052
1054
  }
1053
- const Ba = 0.3;
1054
- function Ur(t, e) {
1055
- t.muted = e.muted, Math.abs(t.currentTime - e.t) > Ba && (t.currentTime = Math.max(0, e.t)), e.playing ? t.paused && Promise.resolve(t.play()).catch(() => {
1055
+ const $a = 0.3;
1056
+ function Rr(t, e) {
1057
+ t.muted = e.muted, Math.abs(t.currentTime - e.t) > $a && (t.currentTime = Math.max(0, e.t)), e.playing ? t.paused && Promise.resolve(t.play()).catch(() => {
1056
1058
  }) : t.paused || t.pause();
1057
1059
  }
1058
- const jn = "Remove background sound", Ha = "Takes out everything that isn't speech: music, ambience and noise.";
1059
- function Va(t) {
1060
+ const jn = "Remove background sound", Ba = "Takes out everything that isn't speech: music, ambience and noise.";
1061
+ function Ha(t) {
1060
1062
  const e = Math.max(0, Math.floor(t)), n = Math.floor(e / 3600), s = Math.floor(e % 3600 / 60), r = String(e % 60).padStart(2, "0");
1061
1063
  return n ? `${n}:${String(s).padStart(2, "0")}:${r}` : `${s}:${r}`;
1062
1064
  }
1063
- function Wa(t, e, n = "transcription", s = 0) {
1064
- return e === "unavailable" ? `Not available for this ${n}` : e === "making" ? s > 0 ? `Separating the speech from the background… ready up to ${Va(s)}` : "Separating the speech from the background…" : Ha;
1065
+ function Va(t, e, n = "transcription", s = 0) {
1066
+ return e === "unavailable" ? `Not available for this ${n}` : e === "making" ? s > 0 ? `Separating the speech from the background… ready up to ${Ha(s)}` : "Separating the speech from the background…" : Ba;
1065
1067
  }
1066
- function Fa(t, e) {
1068
+ function Wa(t, e) {
1067
1069
  return { bed: e && !t, speech: !e && t };
1068
1070
  }
1069
- function Ga(t) {
1071
+ function Fa(t) {
1070
1072
  const e = t.get("bg");
1071
1073
  return e === "off" || e === "remove";
1072
1074
  }
1073
- function Za(t, e) {
1075
+ function Ga(t, e) {
1074
1076
  e ? t.searchParams.set("bg", "remove") : t.searchParams.delete("bg");
1075
1077
  }
1076
- function qa(t, e) {
1078
+ function Za(t, e) {
1077
1079
  var s, r;
1078
1080
  if (t !== 503) return null;
1079
1081
  const n = (r = (s = e == null ? void 0 : e.data) == null ? void 0 : s.details) == null ? void 0 : r.retryAfterS;
1080
1082
  return typeof n == "number" && n > 0 ? Math.max(2, n) : 3;
1081
1083
  }
1082
- const Ka = 0.05;
1083
- function Ja(t) {
1084
+ const qa = 0.05;
1085
+ function Ka(t) {
1084
1086
  var s, r;
1085
1087
  const e = (r = (s = t == null ? void 0 : t.data) == null ? void 0 : s.details) == null ? void 0 : r.parts, n = [];
1086
1088
  if (Array.isArray(e))
@@ -1092,8 +1094,8 @@ function Ja(t) {
1092
1094
  }
1093
1095
  return { untilS: n.length ? n[n.length - 1].endS : 0, parts: n };
1094
1096
  }
1095
- function Xa(t, e) {
1096
- if (!t.length || e < 0 || e >= t[t.length - 1].endS - Ka) return -1;
1097
+ function Ja(t, e) {
1098
+ if (!t.length || e < 0 || e >= t[t.length - 1].endS - qa) return -1;
1097
1099
  let n = 0, s = t.length - 1;
1098
1100
  for (; n < s; ) {
1099
1101
  const r = n + s + 1 >> 1;
@@ -1101,22 +1103,22 @@ function Xa(t, e) {
1101
1103
  }
1102
1104
  return n;
1103
1105
  }
1104
- function eo(t, e, n, s) {
1106
+ function Xa(t, e, n, s) {
1105
1107
  const r = t[e].startS, a = n[s] === r ? s : n[1 - s] === r ? 1 - s : s, o = [];
1106
1108
  n[a] !== r && o.push([a, e]);
1107
1109
  const l = 1 - a;
1108
1110
  return e + 1 < t.length && n[l] !== t[e + 1].startS && o.push([l, e + 1]), { play: a, load: o };
1109
1111
  }
1110
- async function to(t) {
1112
+ async function eo(t) {
1111
1113
  const e = await fetch(t, { redirect: "manual", credentials: "omit" });
1112
1114
  if (e.type === "opaqueredirect" || e.status >= 300 && e.status < 400 || e.ok) return { ready: !0 };
1113
1115
  const n = await e.json().catch(() => null);
1114
- return { ready: !1, retryS: qa(e.status, n), ...Ja(n) };
1116
+ return { ready: !1, retryS: Za(e.status, n), ...Ka(n) };
1115
1117
  }
1116
1118
  function es(t) {
1117
1119
  t && (t.pause(), t.removeAttribute("src"), t.load());
1118
1120
  }
1119
- function Ni(t, e) {
1121
+ function fi(t, e) {
1120
1122
  const [n, s] = I("off"), [r, a] = I([]), [o, l] = I(!1), c = v(null), d = v([null, null]), u = v([NaN, NaN]), g = v(0);
1121
1123
  return _(() => {
1122
1124
  if (a([]), l(!1), !t) {
@@ -1126,7 +1128,7 @@ function Ni(t, e) {
1126
1128
  let M = !1, p;
1127
1129
  s("making");
1128
1130
  const N = () => {
1129
- to(t).then((w) => {
1131
+ eo(t).then((w) => {
1130
1132
  if (!M) {
1131
1133
  if (w.ready) {
1132
1134
  const k = new Audio();
@@ -1155,35 +1157,35 @@ function Ni(t, e) {
1155
1157
  for (const m of d.current) m && !m.paused && m.pause();
1156
1158
  };
1157
1159
  if (n === "ready" && c.current) {
1158
- M(), Ur(c.current, e), l(!0);
1160
+ M(), Rr(c.current, e), l(!0);
1159
1161
  return;
1160
1162
  }
1161
- const p = n === "making" ? Xa(r, e.t) : -1;
1163
+ const p = n === "making" ? Ja(r, e.t) : -1;
1162
1164
  if (p < 0) {
1163
1165
  M(), l(!1);
1164
1166
  return;
1165
1167
  }
1166
- const N = eo(r, p, u.current, g.current);
1168
+ const N = Xa(r, p, u.current, g.current);
1167
1169
  for (const [m, f] of N.load) {
1168
1170
  let O = d.current[m];
1169
1171
  O || (O = new Audio(), O.preload = "auto", d.current[m] = O), O.pause(), O.src = r[f].url, u.current[m] = r[f].startS;
1170
1172
  }
1171
1173
  g.current = N.play;
1172
1174
  const w = d.current[N.play], k = d.current[1 - N.play];
1173
- k && !k.paused && k.pause(), Ur(w, { ...e, t: e.t - r[p].startS }), l(!e.playing || w.readyState >= 3);
1175
+ k && !k.paused && k.pause(), Rr(w, { ...e, t: e.t - r[p].startS }), l(!e.playing || w.readyState >= 3);
1174
1176
  }, [n, r, e.t, e.playing, e.muted]), { state: n, on: o, untilS: n === "ready" ? 1 / 0 : r.length ? r[r.length - 1].endS : 0 };
1175
1177
  }
1176
- function no(t, e) {
1177
- return Ni(t, e).state;
1178
+ function to(t, e) {
1179
+ return fi(t, e).state;
1178
1180
  }
1179
- const so = 0.5, ro = 3;
1180
- function Is(t, e) {
1181
+ const no = 0.5, so = 3;
1182
+ function Os(t, e) {
1181
1183
  let n = -1;
1182
1184
  for (let s = 0; s < t.length && t[s].start <= e + 0.02; s++) n = s;
1183
1185
  return n;
1184
1186
  }
1185
- function io(t, e, n) {
1186
- const s = Is(t, n);
1187
+ function ro(t, e, n) {
1188
+ const s = Os(t, n);
1187
1189
  if (s < 0) return { kind: "none" };
1188
1190
  const r = t[s];
1189
1191
  if (n >= r.end) return { kind: "none" };
@@ -1200,22 +1202,22 @@ function io(t, e, n) {
1200
1202
  }
1201
1203
  return { kind: "done", sid: r.sid };
1202
1204
  }
1203
- function ao(t, e, n) {
1205
+ function io(t, e, n) {
1204
1206
  if (n == null) return !1;
1205
- const s = Is(t, e);
1207
+ const s = Os(t, e);
1206
1208
  if (s < 0) return !1;
1207
1209
  const r = t[s];
1208
1210
  return e >= r.end ? r.sid === n : s > 0 && t[s - 1].sid === n && e - r.start < 1.5;
1209
1211
  }
1210
- function oo(t, e, n, s = ro) {
1211
- const r = Math.max(0, Is(t, n)), a = [];
1212
+ function ao(t, e, n, s = so) {
1213
+ const r = Math.max(0, Os(t, n)), a = [];
1212
1214
  for (let o = r; o < t.length && o <= r + s; o++) {
1213
1215
  const l = (e.get(t[o].sid) ?? []).find((c) => c.part === 0);
1214
1216
  l && a.push(l.src);
1215
1217
  }
1216
1218
  return a;
1217
1219
  }
1218
- function lo(t) {
1220
+ function oo(t) {
1219
1221
  const e = Ie(() => {
1220
1222
  const c = /* @__PURE__ */ new Map();
1221
1223
  for (const d of t.clips) c.set(d.sentenceId, [...c.get(d.sentenceId) ?? [], d]);
@@ -1236,9 +1238,9 @@ function lo(t) {
1236
1238
  l(), a((N) => N.missing == null && N.sid == null ? N : { missing: null, sid: null });
1237
1239
  return;
1238
1240
  }
1239
- const c = io(t.lines, e, t.t), d = c.kind === "missing" ? c.sid : null, u = c.kind === "none" ? null : c.sid;
1241
+ const c = ro(t.lines, e, t.t), d = c.kind === "missing" ? c.sid : null, u = c.kind === "none" ? null : c.sid;
1240
1242
  a((N) => N.missing === d && N.sid === u ? N : { missing: d, sid: u });
1241
- const g = new Set(oo(t.lines, e, t.t));
1243
+ const g = new Set(ao(t.lines, e, t.t));
1242
1244
  for (const N of g) o(N);
1243
1245
  const M = s.current;
1244
1246
  M && g.add(M.src);
@@ -1248,12 +1250,12 @@ function lo(t) {
1248
1250
  return;
1249
1251
  }
1250
1252
  if (c.kind !== "play") {
1251
- if (M && !M.el.paused && !M.el.ended && ao(t.lines, t.t, M.sid)) return;
1253
+ if (M && !M.el.paused && !M.el.ended && io(t.lines, t.t, M.sid)) return;
1252
1254
  M && M.el.pause(), s.current = null;
1253
1255
  return;
1254
1256
  }
1255
1257
  if (M && M.src === c.src) {
1256
- if (M.el.muted = t.muted, !M.el.ended && Math.abs(M.el.currentTime - c.offset) > so)
1258
+ if (M.el.muted = t.muted, !M.el.ended && Math.abs(M.el.currentTime - c.offset) > no)
1257
1259
  try {
1258
1260
  M.el.currentTime = c.offset;
1259
1261
  } catch {
@@ -1273,8 +1275,8 @@ function lo(t) {
1273
1275
  });
1274
1276
  }, [t.on, t.t, t.playing, t.muted, t.lines, e]), r;
1275
1277
  }
1276
- const Rr = ["play", "pause", "stop", "nexttrack", "previoustrack"];
1277
- function co(t, e) {
1278
+ const Pr = ["play", "pause", "stop", "nexttrack", "previoustrack"];
1279
+ function lo(t, e) {
1278
1280
  var n, s;
1279
1281
  if (t === "play") {
1280
1282
  e.playing || e.toggle();
@@ -1290,31 +1292,31 @@ function co(t, e) {
1290
1292
  }
1291
1293
  (s = e.prev) == null || s.call(e);
1292
1294
  }
1293
- function uo(t, e) {
1294
- for (const n of Rr)
1295
+ function co(t, e) {
1296
+ for (const n of Pr)
1295
1297
  try {
1296
1298
  t.setActionHandler(n, () => {
1297
1299
  const s = e();
1298
- s && co(n, s);
1300
+ s && lo(n, s);
1299
1301
  });
1300
1302
  } catch {
1301
1303
  }
1302
1304
  return () => {
1303
- for (const n of Rr)
1305
+ for (const n of Pr)
1304
1306
  try {
1305
1307
  t.setActionHandler(n, null);
1306
1308
  } catch {
1307
1309
  }
1308
1310
  };
1309
1311
  }
1310
- function Mo(t, e) {
1312
+ function uo(t, e) {
1311
1313
  const n = v(t);
1312
1314
  n.current = t;
1313
1315
  const s = !!t;
1314
1316
  _(() => {
1315
1317
  const a = typeof navigator < "u" ? navigator.mediaSession : void 0;
1316
1318
  if (!(!a || !s))
1317
- return uo(a, () => n.current);
1319
+ return co(a, () => n.current);
1318
1320
  }, [s]);
1319
1321
  const r = !!(t != null && t.playing);
1320
1322
  _(() => {
@@ -1346,7 +1348,7 @@ function Pt() {
1346
1348
  spans: []
1347
1349
  };
1348
1350
  }
1349
- function go(t, e) {
1351
+ function Mo(t, e) {
1350
1352
  for (const s of t.spans) {
1351
1353
  const r = s.mediaEnd ?? 1 / 0;
1352
1354
  if (e < r || s.mediaEnd == null) return s.wallStart + Math.max(0, e - s.mediaStart);
@@ -1419,11 +1421,11 @@ function ts(t, e) {
1419
1421
  ])
1420
1422
  ), n;
1421
1423
  }
1422
- function Pr(t, e) {
1424
+ function Qr(t, e) {
1423
1425
  const n = e ?? {};
1424
1426
  return !t || !Object.keys(t).length ? n : Object.keys(n).length ? { ...t, ...n } : t;
1425
1427
  }
1426
- function ho(t, e) {
1428
+ function go(t, e) {
1427
1429
  const n = e.tail;
1428
1430
  if (!n || !Array.isArray(n.words) || n.replaced !== t.length || n.words.length !== t.length) return !1;
1429
1431
  let s = !1;
@@ -1440,7 +1442,7 @@ function ho(t, e) {
1440
1442
  }
1441
1443
  return s;
1442
1444
  }
1443
- function fo(t, e) {
1445
+ function ho(t, e) {
1444
1446
  var n;
1445
1447
  switch (delete t.numbers, e.type) {
1446
1448
  case "transcript.committed": {
@@ -1460,7 +1462,7 @@ function fo(t, e) {
1460
1462
  confidence: s.confidence ?? (r == null ? void 0 : r.confidence),
1461
1463
  latencyS: s.latencyS,
1462
1464
  language: s.language,
1463
- translations: Pr(r == null ? void 0 : r.translations, s.translations),
1465
+ translations: Qr(r == null ? void 0 : r.translations, s.translations),
1464
1466
  scriptPos: s.scriptPos ?? (r == null ? void 0 : r.scriptPos),
1465
1467
  scriptFrom: s.scriptPos != null ? s.scriptFrom ?? void 0 : r == null ? void 0 : r.scriptFrom
1466
1468
  }), s.speakerName && (t.speakers[s.speaker] = s.speakerName);
@@ -1481,7 +1483,7 @@ function fo(t, e) {
1481
1483
  }
1482
1484
  case "transcript.amended": {
1483
1485
  const s = t.segments.get(e.seq);
1484
- if (s && s.corrected && ho(s.words, e)) {
1486
+ if (s && s.corrected && go(s.words, e)) {
1485
1487
  s.text = e.text, s.words = Jt(e.seq, e.tail.words);
1486
1488
  break;
1487
1489
  }
@@ -1529,7 +1531,7 @@ function fo(t, e) {
1529
1531
  seqs: s.seqs,
1530
1532
  speaker: s.speaker,
1531
1533
  start: s.start,
1532
- wallStart: go(t, s.start),
1534
+ wallStart: Mo(t, s.start),
1533
1535
  text: a ? r.text : s.text,
1534
1536
  status: s.status === "open" ? "open" : "closed",
1535
1537
  settled: !!s.settled,
@@ -1538,7 +1540,7 @@ function fo(t, e) {
1538
1540
  suppressed: !!s.suppressed,
1539
1541
  unclear: !!s.unclear,
1540
1542
  language: s.language,
1541
- translations: a ? r.translations : Pr(r == null ? void 0 : r.translations, s.translations),
1543
+ translations: a ? r.translations : Qr(r == null ? void 0 : r.translations, s.translations),
1542
1544
  provisional: !!s.provisional,
1543
1545
  translationLatencyS: s.translationLatencyS
1544
1546
  }), s.speakerName && (t.speakers[s.speaker] = s.speakerName), s.settled) for (const o of s.seqs) {
@@ -1581,7 +1583,7 @@ function fo(t, e) {
1581
1583
  }
1582
1584
  return typeof e.seq == "number" && (t.lastSeq = Math.max(t.lastSeq, e.seq)), t;
1583
1585
  }
1584
- function No(t) {
1586
+ function fo(t) {
1585
1587
  const e = [], n = [...t.sentences.values()].sort((s, r) => s.start - r.start || (s.sentenceId ?? 0) - (r.sentenceId ?? 0));
1586
1588
  for (const s of n) {
1587
1589
  const r = s.seqs.map((l) => t.segments.get(l)).filter(Boolean), a = r.length === s.seqs.length || !s.text ? r.flatMap((l) => l.words) : [], o = r[r.length - 1];
@@ -1594,16 +1596,16 @@ function No(t) {
1594
1596
  catchup: r.some((l) => l.catchup),
1595
1597
  suppressed: s.suppressed || r.length > 0 && r.every((l) => l.suppressed),
1596
1598
  unclear: s.unclear || r.length > 0 && r.every((l) => l.unclear),
1597
- confidence: po(r),
1599
+ confidence: No(r),
1598
1600
  latencyS: o == null ? void 0 : o.latencyS,
1599
1601
  settled: s.settled || r.length > 0 && r.every((l) => l.settled),
1600
- translations: Object.keys(s.translations).length ? s.translations : mo(r),
1602
+ translations: Object.keys(s.translations).length ? s.translations : po(r),
1601
1603
  speaker: s.speaker >= 0 ? s.speaker : (o == null ? void 0 : o.speaker) ?? -1
1602
1604
  });
1603
1605
  }
1604
1606
  return e.sort((s, r) => s.start - r.start), e;
1605
1607
  }
1606
- function po(t) {
1608
+ function No(t) {
1607
1609
  let e = 0, n = 0;
1608
1610
  for (const s of t) {
1609
1611
  if (s.confidence == null) continue;
@@ -1612,20 +1614,20 @@ function po(t) {
1612
1614
  }
1613
1615
  return n ? e / n : void 0;
1614
1616
  }
1615
- function mo(t) {
1617
+ function po(t) {
1616
1618
  const e = {};
1617
1619
  for (const n of t) for (const [s, r] of Object.entries(n.translations)) e[s] = e[s] ? `${e[s]} ${r}` : r;
1618
1620
  return e;
1619
1621
  }
1620
- const yo = 0.85, To = 0.75;
1621
- function wo(t) {
1622
- return t == null ? "" : t < To ? "low" : t < yo ? "mid" : "";
1622
+ const mo = 0.85, yo = 0.75;
1623
+ function To(t) {
1624
+ return t == null ? "" : t < yo ? "low" : t < mo ? "mid" : "";
1623
1625
  }
1624
1626
  const mn = ["a", "b", "c", "d", "e", "f", "g", "h"];
1625
- function Lo(t) {
1627
+ function wo(t) {
1626
1628
  return mn[(t % mn.length + mn.length) % mn.length];
1627
1629
  }
1628
- function ko(t) {
1630
+ function Lo(t) {
1629
1631
  if (t.numbers) return t.numbers;
1630
1632
  const e = /* @__PURE__ */ new Map(), n = (a, o) => {
1631
1633
  if (a < 0) return;
@@ -1641,26 +1643,26 @@ function ko(t) {
1641
1643
  }
1642
1644
  function zn(t, e) {
1643
1645
  if (e < 0) return 0;
1644
- const n = ko(t);
1646
+ const n = Lo(t);
1645
1647
  return n.get(e) ?? n.size + 1 + e;
1646
1648
  }
1647
- const vo = /^\s*speaker\s+\d+\s*$/i;
1648
- function Qr(t) {
1649
- return t && t.trim() && !vo.test(t) ? t : void 0;
1649
+ const ko = /^\s*speaker\s+\d+\s*$/i;
1650
+ function $r(t) {
1651
+ return t && t.trim() && !ko.test(t) ? t : void 0;
1650
1652
  }
1651
- function pi(t, e) {
1653
+ function Ni(t, e) {
1652
1654
  var n;
1653
- return Qr(t.speakers[e]) ?? Qr((n = t.speakerIds[e]) == null ? void 0 : n.name);
1655
+ return $r(t.speakers[e]) ?? $r((n = t.speakerIds[e]) == null ? void 0 : n.name);
1654
1656
  }
1655
- function Os(t, e) {
1656
- return e < 0 ? "" : pi(t, e) ?? `Speaker ${zn(t, e)}`;
1657
+ function Cs(t, e) {
1658
+ return e < 0 ? "" : Ni(t, e) ?? `Speaker ${zn(t, e)}`;
1657
1659
  }
1658
- function mi(t, e) {
1660
+ function pi(t, e) {
1659
1661
  if (e < 0) return "?";
1660
- const n = pi(t, e);
1662
+ const n = Ni(t, e);
1661
1663
  return n ? (n.split(" ").filter(Boolean).slice(0, 2).map((r) => r[0]).join("") || `S${zn(t, e)}`).toUpperCase() : `S${zn(t, e)}`;
1662
1664
  }
1663
- function jo(t) {
1665
+ function vo(t) {
1664
1666
  if (t) {
1665
1667
  if (t.startsWith("#"))
1666
1668
  return { fg: t, soft: `color-mix(in srgb, ${t} 16%, transparent)` };
@@ -1668,11 +1670,11 @@ function jo(t) {
1668
1670
  return { fg: `var(--vx-${t})`, soft: `var(--vx-${t}-soft)` };
1669
1671
  }
1670
1672
  }
1671
- function Cs(t, e) {
1672
- const n = t.speakerIds[e], s = jo(n == null ? void 0 : n.color);
1673
- return { fg: s == null ? void 0 : s.fg, soft: s == null ? void 0 : s.soft, lane: Lo(zn(t, e) - 1), hasVoice: !!n };
1673
+ function bs(t, e) {
1674
+ const n = t.speakerIds[e], s = vo(n == null ? void 0 : n.color);
1675
+ return { fg: s == null ? void 0 : s.fg, soft: s == null ? void 0 : s.soft, lane: wo(zn(t, e) - 1), hasVoice: !!n };
1674
1676
  }
1675
- function zo(t, e, n, s = !1) {
1677
+ function jo(t, e, n, s = !1) {
1676
1678
  const r = n ? n.speakerLabels ?? "auto" : null, a = (s ? r : null) ?? t.labels ?? r ?? "on";
1677
1679
  if (a !== "auto") return a === "on";
1678
1680
  const o = /* @__PURE__ */ new Set();
@@ -1680,7 +1682,7 @@ function zo(t, e, n, s = !1) {
1680
1682
  return !0;
1681
1683
  return !1;
1682
1684
  }
1683
- const Io = /* @__PURE__ */ new Set([
1685
+ const zo = /* @__PURE__ */ new Set([
1684
1686
  "invalid_audio",
1685
1687
  "invalid_options",
1686
1688
  "invalid_token",
@@ -1705,14 +1707,14 @@ const Io = /* @__PURE__ */ new Set([
1705
1707
  "invalid_request",
1706
1708
  "aborted",
1707
1709
  "unauthorized"
1708
- ]), yi = {
1710
+ ]), mi = {
1709
1711
  internal: "Something went wrong on our side. Please try again.",
1710
1712
  unavailable: "VocalStack is briefly unavailable. Please try again in a moment.",
1711
1713
  engine_unavailable: "No transcription engine is available right now. Please try again in a moment.",
1712
1714
  engine_lost: "The transcription engine stopped. Please try again.",
1713
1715
  capacity_exceeded: "Every transcription engine is busy right now. Please try again in a moment.",
1714
1716
  timeout: "That took too long. Please try again."
1715
- }, Ns = yi.internal, ns = "Can't reach VocalStack. Check your connection.", $r = {
1717
+ }, Ns = mi.internal, ns = "Can't reach VocalStack. Check your connection.", Br = {
1716
1718
  NotAllowedError: "The browser blocked this. Allow it for this site, then try again.",
1717
1719
  NotSupportedError: "This browser cannot play this.",
1718
1720
  AbortError: "It was cancelled."
@@ -1720,29 +1722,29 @@ const Io = /* @__PURE__ */ new Set([
1720
1722
  function kt(t) {
1721
1723
  const e = t, n = typeof (e == null ? void 0 : e.code) == "string" ? e.code : void 0, s = typeof (e == null ? void 0 : e.status) == "number" ? e.status : void 0, r = e == null ? void 0 : e.details;
1722
1724
  if (n || s && s >= 400)
1723
- return n && Io.has(n) && typeof (e == null ? void 0 : e.message) == "string" ? { message: e.message, code: n, status: s, details: r } : n === "unavailable" && s === void 0 ? { message: ns, code: n, details: r } : s === 0 ? { message: typeof (e == null ? void 0 : e.message) == "string" ? e.message : ns, code: n, status: s, details: r } : { message: n && yi[n] || Ns, code: n, status: s, details: r };
1725
+ return n && zo.has(n) && typeof (e == null ? void 0 : e.message) == "string" ? { message: e.message, code: n, status: s, details: r } : n === "unavailable" && s === void 0 ? { message: ns, code: n, details: r } : s === 0 ? { message: typeof (e == null ? void 0 : e.message) == "string" ? e.message : ns, code: n, status: s, details: r } : { message: n && mi[n] || Ns, code: n, status: s, details: r };
1724
1726
  const a = (e == null ? void 0 : e.name) ?? "";
1725
- return a === "TypeError" && /fetch|network|load failed/i.test(String((e == null ? void 0 : e.message) ?? "")) ? (typeof navigator < "u" && navigator.onLine !== !1 && ai(t instanceof Error ? t : new Error(String(t))), { message: ns }) : $r[a] ? { message: $r[a] } : t instanceof Error && a === "Error" && !(t instanceof ni) ? { message: t.message } : { message: Ns };
1727
+ return a === "TypeError" && /fetch|network|load failed/i.test(String((e == null ? void 0 : e.message) ?? "")) ? (typeof navigator < "u" && navigator.onLine !== !1 && ii(t instanceof Error ? t : new Error(String(t))), { message: ns }) : Br[a] ? { message: Br[a] } : t instanceof Error && a === "Error" && !(t instanceof ni) ? { message: t.message } : { message: Ns };
1726
1728
  }
1727
- const Ti = "https://api.vocalstack.com", bs = ti(null);
1729
+ const yi = "https://api.vocalstack.com", xs = ti(null);
1728
1730
  function At() {
1729
- const t = ga(bs);
1731
+ const t = Ma(xs);
1730
1732
  if (!t) throw new Error("VocalStack player hooks must be used inside <VocalStackPlayer> or <PlayerApiProvider>");
1731
1733
  return t;
1732
1734
  }
1733
- function Oo(t) {
1734
- return t.value ? /* @__PURE__ */ i(bs.Provider, { value: t.value, children: t.children }) : /* @__PURE__ */ i(Co, { ...t });
1735
+ function Io(t) {
1736
+ return t.value ? /* @__PURE__ */ i(xs.Provider, { value: t.value, children: t.children }) : /* @__PURE__ */ i(Oo, { ...t });
1735
1737
  }
1736
- function Co({ children: t, ...e }) {
1737
- const n = wi(e);
1738
- return /* @__PURE__ */ i(bs.Provider, { value: n, children: t });
1738
+ function Oo({ children: t, ...e }) {
1739
+ const n = Ti(e);
1740
+ return /* @__PURE__ */ i(xs.Provider, { value: n, children: t });
1739
1741
  }
1740
- const bo = /^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;
1741
- function xo(t) {
1742
- return bo.test(t);
1742
+ const Co = /^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;
1743
+ function bo(t) {
1744
+ return Co.test(t);
1743
1745
  }
1744
- function wi(t) {
1745
- const e = t.listen ?? null, n = e ? null : t.listenerToken ?? null, s = !e && !n && !!t.token && (!t.id || xo(t.id)), r = (t.baseUrl ?? Ti).replace(/\/$/, ""), a = v(t.token);
1746
+ function Ti(t) {
1747
+ const e = t.listen ?? null, n = e ? null : t.listenerToken ?? null, s = !e && !n && !!t.token && (!t.id || bo(t.id)), r = (t.baseUrl ?? yi).replace(/\/$/, ""), a = v(t.token);
1746
1748
  a.current = t.token;
1747
1749
  const o = !!t.token, l = Ie(() => async () => {
1748
1750
  const u = a.current;
@@ -1755,10 +1757,10 @@ function wi(t) {
1755
1757
  return { client: d, origin: r, owner: s, shareCode: u, listen: null, bearer: l, cred: { shareCode: u }, readAs: u ? { shareCode: u } : {} };
1756
1758
  }, [d, r, s, t.id, l, e, n]);
1757
1759
  }
1758
- function Do(t, e) {
1760
+ function xo(t, e) {
1759
1761
  return e ? { ...t, cred: { media: e } } : t;
1760
1762
  }
1761
- async function So(t, e) {
1763
+ async function Do(t, e) {
1762
1764
  if (t.listen) {
1763
1765
  const s = await t.client.recordings.get(t.listen.recordingId, t.readAs), r = s;
1764
1766
  return { key: e, code: null, transcriptionId: t.listen.transcriptionId, name: r.name ?? r.title ?? "", recording: s, job: r.job ?? null, allowDownload: !0, allowExport: !0, allowTranslate: !0, sharedBy: null };
@@ -1783,11 +1785,11 @@ async function So(t, e) {
1783
1785
  sharedBy: n.sharedBy ?? null
1784
1786
  };
1785
1787
  }
1786
- function Ao(t, e) {
1788
+ function So(t, e) {
1787
1789
  const [n, s] = I(null), [r, a] = I(!1), [o, l] = I(null), [c, d] = I(0);
1788
1790
  return _(() => {
1789
1791
  let u = !0;
1790
- return So(t, e).then((g) => {
1792
+ return Do(t, e).then((g) => {
1791
1793
  u && (s(g), a(!1), l(null));
1792
1794
  }).catch((g) => {
1793
1795
  if (!u) return;
@@ -1798,7 +1800,7 @@ function Ao(t, e) {
1798
1800
  };
1799
1801
  }, [t, e, c]), { source: n, gone: r, error: o, reload: () => d((u) => u + 1) };
1800
1802
  }
1801
- function Eo(t, e) {
1803
+ function Ao(t, e) {
1802
1804
  const [n, s] = I(null);
1803
1805
  return _(() => {
1804
1806
  if (!t.owner || !e) {
@@ -1819,7 +1821,7 @@ function Eo(t, e) {
1819
1821
  };
1820
1822
  }, [t, e]), n;
1821
1823
  }
1822
- async function Br(t, e, n = {}) {
1824
+ async function Hr(t, e, n = {}) {
1823
1825
  const s = new URLSearchParams();
1824
1826
  for (const [o, l] of Object.entries(n.query ?? {})) l != null && s.set(o, l);
1825
1827
  t.shareCode && s.set("shareCode", t.shareCode), t.listen && s.set("listenerToken", t.listen.token);
@@ -1832,7 +1834,7 @@ async function Br(t, e, n = {}) {
1832
1834
  return fetch(`${t.origin}${e}${a ? `${e.includes("?") ? "&" : "?"}${a}` : ""}`, { method: n.method ?? "GET", headers: r, body: n.body === void 0 ? void 0 : JSON.stringify(n.body) });
1833
1835
  }
1834
1836
  const ss = /* @__PURE__ */ new Map();
1835
- function Li() {
1837
+ function wi() {
1836
1838
  const t = At(), [e, n] = I(ss.get(t.origin) ?? null);
1837
1839
  return _(() => {
1838
1840
  ss.has(t.origin) || t.client.languages.list().then((s) => {
@@ -1841,7 +1843,7 @@ function Li() {
1841
1843
  });
1842
1844
  }, [t]), e;
1843
1845
  }
1844
- function ki(t, e) {
1846
+ function Li(t, e) {
1845
1847
  const [n, s] = I(null), [r, a] = I(null), [o, l] = I(0);
1846
1848
  return _(() => {
1847
1849
  let c = !0;
@@ -1850,8 +1852,8 @@ function ki(t, e) {
1850
1852
  };
1851
1853
  }, [...e, o]), { data: n, error: r, reload: () => l((c) => c + 1) };
1852
1854
  }
1853
- const Yo = (t) => new Promise((e) => setTimeout(e, t)), _o = 2500, Uo = 72;
1854
- function Ro(t, e) {
1855
+ const Eo = (t) => new Promise((e) => setTimeout(e, t)), Yo = 2500, _o = 72;
1856
+ function Uo(t, e) {
1855
1857
  const n = At(), s = v(n);
1856
1858
  s.current = n;
1857
1859
  const [r, a] = I(Pt), o = v(Pt()), l = v(null), c = v(e.lang ?? null), [d, u] = I(!1), [g, M] = I(null), [p, N] = I(!1), w = Xe(() => {
@@ -1885,7 +1887,7 @@ function Ro(t, e) {
1885
1887
  if (ae.type === "snapshot")
1886
1888
  o.current = ts(ae.snapshot, ae.reason === "gap" ? o.current : Pt()), w(), re();
1887
1889
  else if (ae.type === "frame") {
1888
- fo(o.current, ae.frame);
1890
+ ho(o.current, ae.frame);
1889
1891
  const we = ae.frame;
1890
1892
  we.type === "recording.state" && (E = o.current.state, (C = (V = k.current).onState) == null || C.call(V, we.state, we.reason)), (P = (ue = k.current).onFrame) == null || P.call(ue, we), w();
1891
1893
  } else ae.type === "closed" && u(!1);
@@ -1920,7 +1922,7 @@ function Ro(t, e) {
1920
1922
  }
1921
1923
  const le = o.current.state;
1922
1924
  if (!$ || le === "ended" || le === "finalized" || le === "processing") return;
1923
- L += 1, await Yo(Math.min(15e3, 1e3 * 2 ** Math.min(L, 4)));
1925
+ L += 1, await Eo(Math.min(15e3, 1e3 * 2 ** Math.min(L, 4)));
1924
1926
  }
1925
1927
  })(), () => {
1926
1928
  var V;
@@ -1936,9 +1938,9 @@ function Ro(t, e) {
1936
1938
  z === b.current && (o.current = ts(C, o.current), A($), w(), C.translationPending && V > 0 && window.setTimeout(() => {
1937
1939
  z === b.current && E(V - 1).catch(() => {
1938
1940
  });
1939
- }, _o));
1941
+ }, Yo));
1940
1942
  });
1941
- E(Uo).catch(() => {
1943
+ E(_o).catch(() => {
1942
1944
  z === b.current && $ && D($);
1943
1945
  }).finally(() => {
1944
1946
  z === b.current && f(!1);
@@ -1954,7 +1956,7 @@ function Ro(t, e) {
1954
1956
  }, [w]), S = Xe(() => M(null), []);
1955
1957
  return { model: r, connected: d, error: g, notFound: p, clearError: S, setLanguage: te, mergeTranslations: j, translating: m, translateFailed: O, shownLang: W };
1956
1958
  }
1957
- const Hr = {
1959
+ const Vr = {
1958
1960
  English: { vcFor: "Voice for", vcMute: "Mute", vcUnmute: "Unmute", vcMuted: "MUTED", vcShared: "Also used by", vcUsedBy: "Used by", vcUnknownSpk: "Unknown", vcUse: "Use this voice", vcGetting: "Downloading…", vcSample: "Here’s how it sounds.", vcPreview: "PREVIEW", vcMale: "Male", vcFemale: "Female", vcSynth: "SYNTHETIC", origAudio: "ORIGINAL AUDIO", vcCloned: "VOICES", vcBadge: "CLONED", vcNone: "TEXT ONLY", vcNoVoice: "No voice for ", vcSheet: "VOICE", vcNeutral: "SYNTHETIC VOICE", vcWarm: "SYNTHETIC VOICE", searchPlaceholder: "Search this broadcast", noise: "Audio unclear", newLines: "new", live: "LIVE", ended: "ENDED", waiting: "WAITING", corrected: "CORRECTED", hostLine: "Hosted by Marcus Reed · 4 speakers", langLabel: "LANGUAGE", langCount: "100+ languages", read: "Read", listen: "Listen", watch: "Watch", waitTitle: "The broadcast hasn’t started yet", waitBody: "The transcript appears here as soon as the host starts speaking.", english: "ENGLISH", playing: "Playing the live audio", ready: "Tap to start audio", readyNote: "Set your volume first", voiceMeta: "ORIGINAL AUDIO", voice: "Voice", sheetTitle: "APP LANGUAGE", done: "Done", search: "Search 100+ languages", sheetNote: "Follow along in your language.", moreLangs: "more", confTitle: "Some words weren't heard clearly", confBody: "The transcript marks words the model is unsure about with a dashed underline. The words keep their colour, so only the underline tells you where to look.", confMid: "Slightly unsure — probably right", confHigh: "Low confidence — may be wrong", settings: "BROADCAST", setOrig: "Show original language", setTheme: "Appearance", light: "Light", dark: "Dark", setConf: "Show uncertain words", setConfHint1: "Colours words the model is unsure about — ", setConfMid: "amber", setConfSep: " or ", setConfLow: "red", setConfHint2: "", behindLive: "TRANSLATION LATENCY", behindNote: "How far the translation trails the speaker right now.", shareLabel: "LIVE TRANSLATION LINK", copy: "Copy", copied: "Copied" },
1959
1961
  Spanish: { vcFor: "Voz de", vcMute: "Silenciar", vcUnmute: "Activar", vcMuted: "SILENCIADO", vcShared: "También la usa", vcUsedBy: "La usa", vcUnknownSpk: "Desconocido", vcUse: "Usar esta voz", vcGetting: "Descargando…", vcSample: "Así suena esta voz.", vcPreview: "MUESTRA", vcMale: "Hombre", vcFemale: "Mujer", vcSynth: "SINTÉTICA", origAudio: "AUDIO ORIGINAL", vcCloned: "VOCES", vcBadge: "CLONADA", vcNone: "SOLO TEXTO", vcNoVoice: "Sin voz para ", vcSheet: "VOZ", vcNeutral: "VOZ SINTÉTICA", vcWarm: "VOZ SINTÉTICA", searchPlaceholder: "Buscar en esta emisión", noise: "Audio poco claro", newLines: "nuevas", live: "EN VIVO", ended: "FINALIZADA", waiting: "EN ESPERA", corrected: "CORREGIDO", hostLine: "Presenta Marcus Reed · 4 hablantes", langLabel: "IDIOMA", langCount: "100+ idiomas", read: "Leer", listen: "Escuchar", watch: "Ver", waitTitle: "La emisión aún no ha comenzado", waitBody: "La transcripción aparecerá aquí en cuanto el anfitrión empiece a hablar.", english: "INGLÉS", playing: "Reproduciendo la traducción al español", ready: "Toca para iniciar el audio", readyNote: "Ajusta el volumen primero", voiceMeta: "VOZ NEUTRA", voice: "Voz", sheetTitle: "IDIOMA DE LA APP", done: "Listo", search: "Buscar entre 100+ idiomas", sheetNote: "Sigue la emisión en tu idioma.", moreLangs: "más", confTitle: "Algunas palabras no se oyeron bien", confBody: "La transcripción marca las palabras dudosas con un subrayado discontinuo. Las palabras conservan su color, así que solo el subrayado te indica dónde mirar.", confMid: "Poca duda: probablemente correcta", confHigh: "Baja confianza: puede estar mal", settings: "EMISIÓN", setOrig: "Mostrar idioma original", setTheme: "Apariencia", light: "Claro", dark: "Oscuro", setConf: "Mostrar palabras dudosas", setConfHint1: "Colorea las palabras dudosas: ", setConfMid: "ámbar", setConfSep: " o ", setConfLow: "rojo", setConfHint2: "", behindLive: "LATENCIA DE TRADUCCIÓN", behindNote: "Cuánto se retrasa la traducción respecto a quien habla.", shareLabel: "ENLACE PARA SEGUIR", copy: "Copiar", copied: "Copiado" },
1960
1962
  French: { vcFor: "Voix de", vcMute: "Couper", vcUnmute: "Réactiver", vcMuted: "COUPÉ", vcShared: "Aussi utilisée par", vcUsedBy: "Utilisée par", vcUnknownSpk: "Inconnu", vcUse: "Utiliser cette voix", vcGetting: "Téléchargement…", vcSample: "Voici le rendu.", vcPreview: "APERÇU", vcMale: "Homme", vcFemale: "Femme", vcSynth: "SYNTHÉTIQUE", origAudio: "AUDIO ORIGINAL", vcCloned: "VOIX", vcBadge: "CLONÉE", vcNone: "TEXTE SEUL", vcNoVoice: "Aucune voix pour ", vcSheet: "VOIX", vcNeutral: "VOIX SYNTHÉTIQUE", vcWarm: "VOIX SYNTHÉTIQUE", searchPlaceholder: "Rechercher dans la diffusion", noise: "Audio peu clair", newLines: "nouvelles", live: "EN DIRECT", ended: "TERMINÉ", waiting: "EN ATTENTE", corrected: "CORRIGÉ", hostLine: "Animé par Marcus Reed · 4 intervenants", langLabel: "LANGUE", langCount: "100+ langues", read: "Lire", listen: "Écouter", watch: "Regarder", waitTitle: "La diffusion n’a pas encore commencé", waitBody: "La transcription s’affichera ici dès que l’animateur prendra la parole.", english: "ANGLAIS", playing: "Lecture de la traduction française", ready: "Touchez pour lancer l'audio", readyNote: "Réglez le volume d'abord", voiceMeta: "VOIX NEUTRE", voice: "Voix", sheetTitle: "LANGUE DE L'APP", done: "Terminé", search: "Rechercher parmi 100+ langues", sheetNote: "Suivez la diffusion dans votre langue.", moreLangs: "autres", confTitle: "Certains mots n'ont pas été bien entendus", confBody: "La transcription marque les mots incertains d'un soulignement en pointillés. Les mots gardent leur couleur : seul le soulignement attire l'attention.", confMid: "Léger doute — probablement juste", confHigh: "Faible confiance — peut être faux", settings: "DIFFUSION", setOrig: "Afficher la langue d'origine", setTheme: "Apparence", light: "Clair", dark: "Sombre", setConf: "Afficher les mots incertains", setConfHint1: "Colore les mots incertains — ", setConfMid: "ambre", setConfSep: " ou ", setConfLow: "rouge", setConfHint2: "", behindLive: "LATENCE DE TRADUCTION", behindNote: "De combien la traduction suit le locuteur en ce moment.", shareLabel: "LIEN DE SUIVI", copy: "Copier", copied: "Copié" },
@@ -1962,10 +1964,10 @@ const Hr = {
1962
1964
  Romanian: { vcFor: "Vocea pentru", vcMute: "Oprește", vcUnmute: "Pornește", vcMuted: "OPRIT", vcShared: "Folosită și de", vcUsedBy: "Folosită de", vcUnknownSpk: "Necunoscut", vcUse: "Folosește această voce", vcGetting: "Se descarcă…", vcSample: "Așa sună această voce.", vcPreview: "MOSTRĂ", vcMale: "Bărbat", vcFemale: "Femeie", vcSynth: "SINTETICĂ", origAudio: "AUDIO ORIGINAL", vcCloned: "VOCI", vcBadge: "CLONATĂ", vcNone: "DOAR TEXT", vcNoVoice: "Nicio voce pentru ", vcSheet: "VOCE", vcNeutral: "VOCE SINTETICĂ", vcWarm: "VOCE SINTETICĂ", searchPlaceholder: "Caută în transmisiune", noise: "Sunet neclar", newLines: "noi", live: "ÎN DIRECT", ended: "ÎNCHEIAT", waiting: "ÎN AȘTEPTARE", corrected: "CORECTAT", hostLine: "Prezentat de Marcus Reed · 4 vorbitori", langLabel: "LIMBĂ", langCount: "100+ de limbi", read: "Citește", listen: "Ascultă", watch: "Vizionează", waitTitle: "Transmisiunea nu a început încă", waitBody: "Transcrierea va apărea aici imediat ce gazda începe să vorbească.", english: "ENGLEZĂ", playing: "Se redă traducerea în română", ready: "Atinge pentru a porni audio", readyNote: "Reglează întâi volumul", voiceMeta: "VOCE NEUTRĂ", voice: "Voce", sheetTitle: "LIMBA APLICAȚIEI", done: "Gata", search: "Caută printre 100+ de limbi", sheetNote: "Urmărește transmisiunea în limba ta.", moreLangs: "în plus", confTitle: "Unele cuvinte nu s-au auzit clar", confBody: "Transcrierea marchează cuvintele incerte cu o subliniere întreruptă. Cuvintele își păstrează culoarea, doar sublinierea îți arată unde să te uiți.", confMid: "Ușoară nesiguranță — probabil corect", confHigh: "Încredere scăzută — poate fi greșit", settings: "TRANSMISIUNE", setOrig: "Arată limba originală", setTheme: "Aspect", light: "Luminos", dark: "Întunecat", setConf: "Arată cuvintele incerte", setConfHint1: "Colorează cuvintele incerte — ", setConfMid: "galben", setConfSep: " sau ", setConfLow: "roșu", setConfHint2: "", behindLive: "LATENȚA TRADUCERII", behindNote: "Cu cât urmează traducerea vorbitorul în acest moment.", shareLabel: "LINK DE URMĂRIRE", copy: "Copiază", copied: "Copiat" },
1963
1965
  Portuguese: { vcFor: "Voz de", vcMute: "Silenciar", vcUnmute: "Ativar", vcMuted: "SILENCIADO", vcShared: "Também usada por", vcUsedBy: "Usada por", vcUnknownSpk: "Desconhecido", vcUse: "Usar esta voz", vcGetting: "Baixando…", vcSample: "É assim que soa.", vcPreview: "AMOSTRA", vcMale: "Homem", vcFemale: "Mulher", vcSynth: "SINTÉTICA", origAudio: "ÁUDIO ORIGINAL", vcCloned: "VOZES", vcBadge: "CLONADA", vcNone: "SÓ TEXTO", vcNoVoice: "Sem voz para ", vcSheet: "VOZ", vcNeutral: "VOZ SINTÉTICA", vcWarm: "VOZ SINTÉTICA", searchPlaceholder: "Pesquisar nesta transmissão", noise: "Áudio pouco claro", newLines: "novas", live: "AO VIVO", ended: "ENCERRADA", waiting: "AGUARDANDO", corrected: "CORRIGIDO", hostLine: "Apresentado por Marcus Reed · 4 falantes", langLabel: "IDIOMA", langCount: "100+ idiomas", read: "Ler", listen: "Ouvir", watch: "Assistir", waitTitle: "A transmissão ainda não começou", waitBody: "A transcrição aparece aqui assim que o apresentador começar a falar.", english: "INGLÊS", playing: "Reproduzindo a tradução em português", ready: "Toque para iniciar o áudio", readyNote: "Ajuste o volume primeiro", voiceMeta: "VOZ NEUTRA", voice: "Voz", sheetTitle: "IDIOMA DO APP", done: "Concluído", search: "Pesquisar entre 100+ idiomas", sheetNote: "Acompanhe a transmissão no seu idioma.", moreLangs: "mais", confTitle: "Algumas palavras não foram bem ouvidas", confBody: "A transcrição marca as palavras duvidosas com um sublinhado tracejado. As palavras mantêm a sua cor, por isso só o sublinhado indica onde olhar.", confMid: "Pouca dúvida — provavelmente certa", confHigh: "Baixa confiança — pode estar errada", settings: "TRANSMISSÃO", setOrig: "Mostrar idioma original", setTheme: "Aparência", light: "Claro", dark: "Escuro", setConf: "Mostrar palavras duvidosas", setConfHint1: "Colore as palavras duvidosas: ", setConfMid: "âmbar", setConfSep: " ou ", setConfLow: "vermelho", setConfHint2: "", behindLive: "LATÊNCIA DE TRADUÇÃO", behindNote: "Quanto a tradução está atrás de quem fala agora.", shareLabel: "LINK PARA ACOMPANHAR", copy: "Copiar", copied: "Copiado" }
1964
1966
  };
1965
- function vi(t) {
1966
- return t && Hr[t] || Hr.English;
1967
+ function ki(t) {
1968
+ return t && Vr[t] || Vr.English;
1967
1969
  }
1968
- async function ji(t) {
1970
+ async function vi(t) {
1969
1971
  var r, a, o, l, c;
1970
1972
  const e = await t.json().catch(() => null), n = ((r = e == null ? void 0 : e.error) == null ? void 0 : r.code) ?? (e == null ? void 0 : e.code), s = ((a = e == null ? void 0 : e.error) == null ? void 0 : a.message) ?? (e == null ? void 0 : e.message);
1971
1973
  return new ni(typeof n == "string" ? n : "internal", typeof s == "string" ? s : Ns, { status: t.status, details: ((l = (o = e == null ? void 0 : e.error) == null ? void 0 : o.data) == null ? void 0 : l.details) ?? ((c = e == null ? void 0 : e.data) == null ? void 0 : c.details) });
@@ -1986,14 +1988,14 @@ function rs(t) {
1986
1988
  return "queued";
1987
1989
  }
1988
1990
  }
1989
- function Po(t) {
1991
+ function Ro(t) {
1990
1992
  return t ? { state: t.state, processedS: t.progress.processedS, totalS: t.progress.totalS ?? null, segmentsDone: t.progress.segmentsDone, segmentsTotal: t.progress.segmentsTotal ?? null, pct: t.progress.pct, error: t.error ?? null } : null;
1991
1993
  }
1992
- const Qo = (t, e) => {
1994
+ const Po = (t, e) => {
1993
1995
  const n = (t == null ? void 0 : t.segmentsDone) ?? e, s = Math.max(n, (t == null ? void 0 : t.segmentsTotal) ?? n);
1994
1996
  return `${n} / ${s} SEGMENTS`;
1995
1997
  };
1996
- function $o(t, e) {
1998
+ function Qo(t, e) {
1997
1999
  var r;
1998
2000
  const n = ((r = t == null ? void 0 : t.source) == null ? void 0 : r.durationS) ?? (e == null ? void 0 : e.totalS) ?? null, s = t == null ? void 0 : t.crop;
1999
2001
  if (s && (s.startS != null || s.endS != null)) {
@@ -2008,24 +2010,24 @@ const ps = [
2008
2010
  { key: "srt", name: "Subtitles", ext: "SRT / VTT", note: "Timed caption cues, ready for a video editor or a player.", icon: "M2.25 15.75V8.25A2.25 2.25 0 0 1 4.5 6h15a2.25 2.25 0 0 1 2.25 2.25v7.5A2.25 2.25 0 0 1 19.5 18h-15a2.25 2.25 0 0 1-2.25-2.25Zm4.5-4.5h4.5m-4.5 3h1.5m3 0h6m-3-3h3" },
2009
2011
  { key: "json", name: "JSON", ext: "JSON", note: "Word-level timings, confidence scores and speaker turns.", icon: "M17.25 6.75 22.5 12l-5.25 5.25m-10.5 0L1.5 12l5.25-5.25m7.5-3-4.5 16.5" }
2010
2012
  ];
2011
- function xs(t) {
2013
+ function Ds(t) {
2012
2014
  const e = document.createElement("a");
2013
2015
  e.href = t, e.style.display = "none", document.body.appendChild(e), e.click(), e.remove();
2014
2016
  }
2015
- async function Bo(t) {
2017
+ async function $o(t) {
2016
2018
  const e = await fetch(t, { redirect: "manual" });
2017
- if (e.type !== "opaqueredirect" && !e.ok) throw await ji(e);
2018
- xs(t);
2019
+ if (e.type !== "opaqueredirect" && !e.ok) throw await vi(e);
2020
+ Ds(t);
2019
2021
  }
2020
- async function Ho(t, e, n, s = {}) {
2022
+ async function Bo(t, e, n, s = {}) {
2021
2023
  var M, p;
2022
2024
  const r = await t.client.recordings.export(e, n, { lang: s.lang ?? void 0, ...t.readAs });
2023
- if (!r.ok) throw await ji(r);
2025
+ if (!r.ok) throw await vi(r);
2024
2026
  const a = await r.blob(), o = r.headers.get("content-disposition") ?? "", l = (M = /filename\*=UTF-8''([^;]+)/i.exec(o)) == null ? void 0 : M[1], c = (p = /filename="([^"]+)"/i.exec(o)) == null ? void 0 : p[1], d = l ? decodeURIComponent(l) : c ?? `transcript.${n}`, u = URL.createObjectURL(a), g = document.createElement("a");
2025
2027
  g.href = u, g.download = d, g.style.display = "none", document.body.appendChild(g), g.click(), g.remove(), window.setTimeout(() => URL.revokeObjectURL(u), 6e4);
2026
2028
  }
2027
- async function Vo(t, e) {
2028
- const { recordingId: n, lang: s, voiceKey: r, cred: a } = e, o = async () => (await t.client.recordings.voice(n, s, t.readAs)).filter((g) => g.lang === s), l = (u) => di(u, r);
2029
+ async function Ho(t, e) {
2030
+ const { recordingId: n, lang: s, voiceKey: r, cred: a } = e, o = async () => (await t.client.recordings.voice(n, s, t.readAs)).filter((g) => g.lang === s), l = (u) => ui(u, r);
2029
2031
  let c = l(await o());
2030
2032
  (!c || c.state === "clips" || c.state === "failed") && await e.request();
2031
2033
  const d = Date.now() + (e.timeoutMs ?? 10 * 6e4);
@@ -2034,25 +2036,25 @@ async function Vo(t, e) {
2034
2036
  if (Date.now() > d) throw new Error("The spoken track is taking too long; try again in a moment.");
2035
2037
  await new Promise((u) => setTimeout(u, 4e3)), c = l(await o());
2036
2038
  }
2037
- xs(xa(t.origin, n, s, c.voiceKey, a));
2039
+ Ds(ba(t.origin, n, s, c.voiceKey, a));
2038
2040
  }
2039
2041
  const ms = (t) => {
2040
2042
  var e;
2041
2043
  return ((e = t == null ? void 0 : t.match(/(?:youtu\.be\/|[?&]v=|\/shorts\/|\/embed\/|\/live\/)([\w-]{11})/)) == null ? void 0 : e[1]) ?? null;
2042
- }, Wo = (t) => `https://www.youtube-nocookie.com/embed/${t}?autoplay=1&mute=1&controls=0&rel=0&modestbranding=1&playsinline=1&iv_load_policy=3`, Vr = 0.3, Fo = 1.5;
2043
- function zi(t, e, n) {
2044
+ }, Vo = (t) => `https://www.youtube-nocookie.com/embed/${t}?autoplay=1&mute=1&controls=0&rel=0&modestbranding=1&playsinline=1&iv_load_policy=3`, Wr = 0.3, Wo = 1.5;
2045
+ function ji(t, e, n) {
2044
2046
  var r;
2045
2047
  const s = (r = t.words[t.words.length - 1]) == null ? void 0 : r.end;
2046
2048
  return s != null && s > t.start ? s : t.end != null && t.end > t.start ? t.end : (e == null ? void 0 : e.start) ?? n;
2047
2049
  }
2048
- function Go(t, e, n) {
2050
+ function Fo(t, e, n) {
2049
2051
  var c, d;
2050
2052
  const s = t[e];
2051
2053
  if (!s) return !1;
2052
- const r = (((c = s.words[0]) == null ? void 0 : c.start) ?? s.start) - Vr, a = t[e + 1], o = zi(s, a, s.start + 4) + Fo, l = a ? Math.min(o, (((d = a.words[0]) == null ? void 0 : d.start) ?? a.start) - Vr) : o;
2054
+ const r = (((c = s.words[0]) == null ? void 0 : c.start) ?? s.start) - Wr, a = t[e + 1], o = ji(s, a, s.start + 4) + Wo, l = a ? Math.min(o, (((d = a.words[0]) == null ? void 0 : d.start) ?? a.start) - Wr) : o;
2053
2055
  return n >= r && n < Math.max(l, r + 0.5);
2054
2056
  }
2055
- function Zo(t, e, n) {
2057
+ function Go(t, e, n) {
2056
2058
  const s = Math.max(0, n - e), r = t.map((l) => Math.max(1, [...l.replace(/[^\p{L}\p{N}]/gu, "")].length)), a = r.reduce((l, c) => l + c, 0) || 1;
2057
2059
  let o = e;
2058
2060
  return t.map((l, c) => {
@@ -2067,7 +2069,7 @@ function is(t) {
2067
2069
  bottom: Math.min(parseFloat(e.paddingBottom) || 0, n)
2068
2070
  };
2069
2071
  }
2070
- function qo(t, e, n = 0) {
2072
+ function Zo(t, e, n = 0) {
2071
2073
  const s = v(() => {
2072
2074
  });
2073
2075
  _(() => {
@@ -2130,10 +2132,10 @@ function qo(t, e, n = 0) {
2130
2132
  };
2131
2133
  }, []);
2132
2134
  }
2133
- function Ko({ thumbRef: t }) {
2135
+ function qo({ thumbRef: t }) {
2134
2136
  return /* @__PURE__ */ i("div", { className: "feedbar", "aria-hidden": "true", children: /* @__PURE__ */ i("div", { ref: t, className: "feedbar__thumb" }) });
2135
2137
  }
2136
- function Jo({ error: t, onClose: e }) {
2138
+ function Ko({ error: t, onClose: e }) {
2137
2139
  const n = v(e);
2138
2140
  if (n.current = e, _(() => {
2139
2141
  if (!t) return;
@@ -2153,10 +2155,10 @@ function Jo({ error: t, onClose: e }) {
2153
2155
  /* @__PURE__ */ i("button", { type: "button", onClick: e, "aria-label": "Dismiss", children: /* @__PURE__ */ i(oe, { d: J.close, size: 14 }) })
2154
2156
  ] });
2155
2157
  }
2156
- function Ii({ color: t }) {
2158
+ function zi({ color: t }) {
2157
2159
  return /* @__PURE__ */ i("span", { title: "Cloned voice", style: { flex: "none", display: "inline-flex" }, children: /* @__PURE__ */ i(oe, { d: J.voiceClone, size: 13, sw: 1.7, stroke: t }) });
2158
2160
  }
2159
- function Hc({ chip: t, note: e, scrub: n, mute: s, voice: r, prev: a, play: o, next: l }) {
2161
+ function Bc({ chip: t, note: e, scrub: n, mute: s, voice: r, prev: a, play: o, next: l }) {
2160
2162
  return /* @__PURE__ */ h("div", { className: "vs-tt", children: [
2161
2163
  /* @__PURE__ */ h("div", { className: "vs-tt__r1", children: [
2162
2164
  /* @__PURE__ */ i("div", { className: "vs-tt__chip", children: t }),
@@ -2173,7 +2175,7 @@ function Hc({ chip: t, note: e, scrub: n, mute: s, voice: r, prev: a, play: o, n
2173
2175
  ] })
2174
2176
  ] });
2175
2177
  }
2176
- function Xo({ index: t, total: e, atLabel: n, durLabel: s, stepLabel: r, onSeek: a, onSeekFrac: o, onScrubStart: l, onScrubEnd: c, frac: d, glideMs: u = 260 }) {
2178
+ function Jo({ index: t, total: e, atLabel: n, durLabel: s, stepLabel: r, onSeek: a, onSeekFrac: o, onScrubStart: l, onScrubEnd: c, frac: d, glideMs: u = 260 }) {
2177
2179
  const g = v(null), M = v(!1), [p, N] = I(null), w = Math.max(1, e), k = p ?? d, m = k != null ? Math.min(100, Math.max(0, k * 100)) : t / Math.max(1, w - 1) * 100, f = d != null && u > 0 && p == null ? `width ${u}ms linear, left ${u}ms linear` : "none", O = (b) => {
2178
2180
  var j;
2179
2181
  const W = (j = g.current) == null ? void 0 : j.getBoundingClientRect();
@@ -2217,7 +2219,7 @@ function Xo({ index: t, total: e, atLabel: n, durLabel: s, stepLabel: r, onSeek:
2217
2219
  ] })
2218
2220
  ] });
2219
2221
  }
2220
- function el(t, e, n) {
2222
+ function Xo(t, e, n) {
2221
2223
  const s = new Set(t.seqs ?? t.words.map((l) => l.seq)), r = (e ?? []).filter((l) => !l.revertedAt && l.seq != null && s.has(l.seq) && (l.kind === "word" || l.kind === "line")), a = r.some((l) => l.kind === "line"), o = (l) => !!(n != null && n.has(`${l.seq}:${l.idx}`));
2222
2224
  return {
2223
2225
  script: a ? 0 : t.words.filter((l) => l.script && !o(l)).length,
@@ -2225,7 +2227,7 @@ function el(t, e, n) {
2225
2227
  manualCount: a ? 0 : r.filter((l) => l.kind === "word").length
2226
2228
  };
2227
2229
  }
2228
- function tl({ f: t, desk: e, onOpen: n }) {
2230
+ function el({ f: t, desk: e, onOpen: n }) {
2229
2231
  const s = (r, a, o) => /* @__PURE__ */ h("span", { role: "button", title: "Open this line in Fix", className: "badge badge--fix", style: { marginLeft: o ? "auto" : 0 }, onClick: (l) => {
2230
2232
  l.stopPropagation(), n == null || n();
2231
2233
  }, children: [
@@ -2238,7 +2240,7 @@ function tl({ f: t, desk: e, onOpen: n }) {
2238
2240
  t.manual && s(e ? "MANUAL FIX" : "MANUAL", t.manualCount, t.script === 0)
2239
2241
  ] });
2240
2242
  }
2241
- function nl({ onOpen: t, alone: e }) {
2243
+ function tl({ onOpen: t, alone: e }) {
2242
2244
  const [n, s] = I(!1);
2243
2245
  return /* @__PURE__ */ h("span", { role: "button", title: "Fix this line", className: `badge badge--pen${n ? " is-over" : ""}`, style: { marginLeft: e ? "auto" : 0 }, onMouseEnter: () => s(!0), onMouseLeave: () => s(!1), onClick: (r) => {
2244
2246
  r.stopPropagation(), t();
@@ -2247,7 +2249,7 @@ function nl({ onOpen: t, alone: e }) {
2247
2249
  n && "FIX"
2248
2250
  ] });
2249
2251
  }
2250
- function sl(t, e, n, s) {
2252
+ function nl(t, e, n, s) {
2251
2253
  const r = At(), [a, o] = I([]), [l, c] = I(0), d = v(/* @__PURE__ */ new Set()), u = v(!1), g = Ie(() => new Map(n.filter((p) => p.sentenceId != null).map((p) => [p.sentenceId, p])), [n]);
2252
2254
  _(() => {
2253
2255
  d.current = /* @__PURE__ */ new Set();
@@ -2274,13 +2276,13 @@ function sl(t, e, n, s) {
2274
2276
  }
2275
2277
  }, [t, e, a, l, g, s]), M;
2276
2278
  }
2277
- function rl(t) {
2279
+ function sl(t) {
2278
2280
  return t.live || t.auto ? "From this session" : t.cloned ? t.library === !1 ? "This transcription only" : "Saved in Voices" : "";
2279
2281
  }
2280
2282
  function qt(t, e) {
2281
2283
  return t.cloned ? { rank: 0, head: e.vcSheet } : t.gender === "male" ? { rank: 1, head: e.vcMale.toUpperCase() } : t.gender === "female" ? { rank: 2, head: e.vcFemale.toUpperCase() } : { rank: 3, head: e.vcSynth };
2282
2284
  }
2283
- function il(t, e) {
2285
+ function rl(t, e) {
2284
2286
  const n = t.slice().sort((r, a) => qt(r, e).rank - qt(a, e).rank || r.name.localeCompare(a.name, void 0, { numeric: !0 })), s = {};
2285
2287
  for (const r of n) {
2286
2288
  const a = qt(r, e).head;
@@ -2291,18 +2293,18 @@ function il(t, e) {
2291
2293
  return { v: r, headOn: l, head: o, headCount: s[o], rule: l ? "0" : "1px solid var(--hair)" };
2292
2294
  });
2293
2295
  }
2294
- function al(t, e, n) {
2296
+ function il(t, e, n) {
2295
2297
  const s = /* @__PURE__ */ new Set();
2296
2298
  let r = !1;
2297
2299
  for (const o of t)
2298
2300
  o.speaker < 0 ? r = !0 : s.add(o.speaker);
2299
2301
  const a = [...s].sort((o, l) => o - l).map((o) => {
2300
2302
  var c;
2301
- const l = Cs(e, o);
2303
+ const l = bs(e, o);
2302
2304
  return {
2303
2305
  key: o,
2304
- name: Os(e, o),
2305
- initial: mi(e, o),
2306
+ name: Cs(e, o),
2307
+ initial: pi(e, o),
2306
2308
  lane: l.lane,
2307
2309
  sex: e.speakerSex[o] ?? null,
2308
2310
  voiceId: ((c = e.speakerIds[o]) == null ? void 0 : c.voiceId) ?? null,
@@ -2313,11 +2315,11 @@ function al(t, e, n) {
2313
2315
  });
2314
2316
  return r && a.push({ key: -1, name: n, initial: "?", lane: null, sex: null }), a;
2315
2317
  }
2316
- function Wr(t) {
2318
+ function Fr(t) {
2317
2319
  const e = [...t.entries()].filter(([, n]) => n.trim()).sort((n, s) => n[0] - s[0]).map(([n, s]) => `${n}=${s.trim()}`).join(";");
2318
2320
  return e ? `cast:${e}` : "";
2319
2321
  }
2320
- function Fr(t) {
2322
+ function Gr(t) {
2321
2323
  if (!t || !t.startsWith("cast:")) return null;
2322
2324
  const e = /* @__PURE__ */ new Map();
2323
2325
  for (const n of t.slice(5).split(";")) {
@@ -2328,7 +2330,7 @@ function Fr(t) {
2328
2330
  }
2329
2331
  return e.size ? e : null;
2330
2332
  }
2331
- function Gr(t, e, n = !0) {
2333
+ function Zr(t, e, n = !0) {
2332
2334
  const s = e.filter((o) => !o.cloned), r = /* @__PURE__ */ new Set(), a = /* @__PURE__ */ new Map();
2333
2335
  for (const o of t) {
2334
2336
  const c = (o.voiceId ? e.find((M) => M.cloned && !M.auto && M.consent !== "pending" && M.id === `clone:${o.voiceId}`) : void 0) ?? (n ? (o.voiceId ? e.find((M) => M.cloned && M.consent !== "pending" && M.id === `clone:${o.voiceId}`) : void 0) ?? (o.key >= 0 ? e.find((M) => M.cloned && M.auto && M.consent !== "pending" && M.speaker === o.key) : void 0) : void 0);
@@ -2341,7 +2343,7 @@ function Gr(t, e, n = !0) {
2341
2343
  }
2342
2344
  return a;
2343
2345
  }
2344
- function ol({ roster: t, selected: e, onSelect: n, noClone: s, building: r, short: a, warn: o, sexOf: l, t: c }) {
2346
+ function al({ roster: t, selected: e, onSelect: n, noClone: s, building: r, short: a, warn: o, sexOf: l, t: c }) {
2345
2347
  const d = t.find((u) => u.key === e) ?? t[0] ?? null;
2346
2348
  return d ? /* @__PURE__ */ i("div", { style: { display: "flex", flexWrap: "wrap", gap: 6, padding: "0 2px 9px", margin: "0 -2px" }, children: t.map((u) => {
2347
2349
  const g = u.key === d.key, M = u.key >= 0 ? (o == null ? void 0 : o(u)) ?? null : null, p = u.key >= 0 && !M && !!(r != null && r(u)), N = u.key >= 0 && !M && !p && s(u), w = u.key >= 0 && !M && !p && !N && !u.hasVoice && !!(a != null && a(u));
@@ -2363,7 +2365,7 @@ function ol({ roster: t, selected: e, onSelect: n, noClone: s, building: r, shor
2363
2365
  }
2364
2366
  ),
2365
2367
  /* @__PURE__ */ i("span", { style: { fontSize: 12.5, fontWeight: 500, color: g ? "var(--ink-96)" : "var(--ink-62)", whiteSpace: "nowrap" }, children: u.name }),
2366
- u.hasVoice && !M && /* @__PURE__ */ i(Ii, { color: u.fg ?? (g ? "var(--ink-62)" : "var(--ink-45)") }),
2368
+ u.hasVoice && !M && /* @__PURE__ */ i(zi, { color: u.fg ?? (g ? "var(--ink-62)" : "var(--ink-45)") }),
2367
2369
  M && /* @__PURE__ */ i("span", { title: M, "aria-label": M, style: { flex: "none", width: 15, height: 15, marginRight: -2, borderRadius: "50%", background: "#c27c00", color: "#fff", font: "900 10.5px/1 system-ui, sans-serif", display: "flex", alignItems: "center", justifyContent: "center" }, children: "!" }),
2368
2370
  w && /* @__PURE__ */ i("span", { title: "Not enough audio to clone", "aria-label": "Not enough audio to clone", style: { flex: "none", display: "flex", marginRight: -2, color: g ? "var(--ink-45)" : "var(--ink-35)" }, children: /* @__PURE__ */ i(oe, { d: J.micOff, size: 13, sw: 1.7 }) }),
2369
2371
  (N || p) && /* @__PURE__ */ i("span", { title: p ? "Cloning this voice…" : "No voice clone yet", "aria-label": p ? "Cloning this voice" : "No voice clone yet", style: { flex: "none", width: 10, height: 10, marginRight: -2, display: "flex", alignItems: "center", justifyContent: "center" }, children: p ? /* @__PURE__ */ i(at, { size: 10, color: "var(--brand)", track: "var(--fill-10)", sw: 1.6 }) : /* @__PURE__ */ i("span", { style: { width: 7, height: 7, borderRadius: "50%", background: "var(--brand)" } }) })
@@ -2373,8 +2375,8 @@ function ol({ roster: t, selected: e, onSelect: n, noClone: s, building: r, shor
2373
2375
  );
2374
2376
  }) }) : null;
2375
2377
  }
2376
- function ll({ cast: t, voices: e, currentId: n, armedId: s = null, sampleId: r = null, dlId: a = null, onPick: o, onAdd: l, onUse: c, usedBy: d, foldKey: u, foldFor: g = null, problem: M, noClone: p = null, t: N }) {
2377
- const w = Ie(() => il(e, N), [e, N]), [k, m] = I({});
2378
+ function ol({ cast: t, voices: e, currentId: n, armedId: s = null, sampleId: r = null, dlId: a = null, onPick: o, onAdd: l, onUse: c, usedBy: d, foldKey: u, foldFor: g = null, problem: M, noClone: p = null, t: N }) {
2379
+ const w = Ie(() => rl(e, N), [e, N]), [k, m] = I({});
2378
2380
  _(() => {
2379
2381
  m({});
2380
2382
  }, [u, g]);
@@ -2387,7 +2389,7 @@ function ll({ cast: t, voices: e, currentId: n, armedId: s = null, sampleId: r =
2387
2389
  M && /* @__PURE__ */ h("div", { style: { display: "flex", alignItems: "flex-start", gap: 9, padding: "10px 11px", marginBottom: 10, borderRadius: 11, background: "var(--conf-low-soft)" }, children: [
2388
2390
  /* @__PURE__ */ i(oe, { d: J.warnTri, size: 15, sw: 1.7, style: { flex: "none", marginTop: 1, color: "var(--conf-low)" } }),
2389
2391
  /* @__PURE__ */ i("span", { style: { flex: 1, minWidth: 0, fontSize: 12.5, fontWeight: 300, lineHeight: 1.45, color: "var(--ink-80)", textWrap: "pretty" }, children: M }),
2390
- /* @__PURE__ */ i("span", { style: { flex: "none", marginTop: -1 }, children: /* @__PURE__ */ i(za, { value: M, label: "Copy this error" }) })
2392
+ /* @__PURE__ */ i("span", { style: { flex: "none", marginTop: -1 }, children: /* @__PURE__ */ i(ja, { value: M, label: "Copy this error" }) })
2391
2393
  ] }),
2392
2394
  t,
2393
2395
  p && /* @__PURE__ */ h(_e, { children: [
@@ -2403,8 +2405,8 @@ function ll({ cast: t, voices: e, currentId: n, armedId: s = null, sampleId: r =
2403
2405
  ] })
2404
2406
  ] }),
2405
2407
  w.map(({ v: b, headOn: W, head: A, headCount: te, rule: j }, S) => {
2406
- const $ = rl(b), L = a === b.id, z = O(A), E = (d == null ? void 0 : d(b)) ?? null;
2407
- return /* @__PURE__ */ h(ha, { children: [
2408
+ const $ = sl(b), L = a === b.id, z = O(A), E = (d == null ? void 0 : d(b)) ?? null;
2409
+ return /* @__PURE__ */ h(ga, { children: [
2408
2410
  W && A === N.vcSheet && /* @__PURE__ */ i("div", { style: { display: "flex", alignItems: "center", padding: "14px 2px 6px", borderTop: S === 0 && !p ? "0" : "1px solid var(--hair)", userSelect: "none" }, children: /* @__PURE__ */ i("span", { style: { font: "600 9px var(--vs-font-mono)", letterSpacing: ".13em", color: "var(--ink-62)" }, children: A }) }),
2409
2411
  W && A !== N.vcSheet && /* @__PURE__ */ h(
2410
2412
  "button",
@@ -2434,8 +2436,8 @@ function ll({ cast: t, voices: e, currentId: n, armedId: s = null, sampleId: r =
2434
2436
  style: { width: "100%", textAlign: "left", font: "inherit", border: 0, borderTop: z ? j : "0", display: "flex", alignItems: "center", gap: 11, padding: z ? "11px 8px" : "0px 8px", margin: "0 -6px", borderRadius: 10, background: s === b.id ? "var(--brand-tint)" : "transparent", cursor: "pointer", opacity: z ? 1 : 0, maxHeight: z ? 120 : 0, overflow: "hidden", transition: "max-height 280ms cubic-bezier(.32,.72,0,1),padding 280ms cubic-bezier(.32,.72,0,1),opacity 200ms ease" },
2435
2437
  children: [
2436
2438
  /* @__PURE__ */ i("span", { title: L ? "Downloading this voice" : void 0, style: { flex: "none", width: 32, height: 32, borderRadius: "50%", background: L ? "transparent" : b.cloned ? "var(--brand-soft)" : "var(--fill-06)", display: "flex", alignItems: "center", justifyContent: "center" }, children: L ? /* @__PURE__ */ i("span", { style: { width: 16, height: 16, borderRadius: "50%", border: "2px solid var(--fill-10)", borderTopColor: "var(--brand)", animation: "vs-spin .7s linear infinite" } }) : r === b.id ? /* @__PURE__ */ h("span", { className: "vcplay", children: [
2437
- /* @__PURE__ */ i("span", { className: "vcplay__eq", children: /* @__PURE__ */ i(cl, { height: 13, width: 2.5 }) }),
2438
- /* @__PURE__ */ i("span", { className: "vcplay__stop", children: /* @__PURE__ */ i(ka, { size: 11 }) })
2439
+ /* @__PURE__ */ i("span", { className: "vcplay__eq", children: /* @__PURE__ */ i(ll, { height: 13, width: 2.5 }) }),
2440
+ /* @__PURE__ */ i("span", { className: "vcplay__stop", children: /* @__PURE__ */ i(La, { size: 11 }) })
2439
2441
  ] }) : /* @__PURE__ */ i(oe, { d: b.cloned ? J.voiceClone : b.gender === "female" ? J.venus : b.gender === "male" ? J.mars : J.mic, size: 15, sw: 1.6, style: { color: b.cloned ? "var(--brand)" : "var(--ink-55)" } }) }),
2440
2442
  /* @__PURE__ */ h("div", { style: { flex: 1, minWidth: 0 }, children: [
2441
2443
  /* @__PURE__ */ i("div", { style: { display: "flex", alignItems: "center", gap: 7, minWidth: 0 }, children: /* @__PURE__ */ i("span", { style: { minWidth: 0, fontSize: 14.5, fontWeight: b.id === n ? 600 : 400, color: "var(--ink-96)", whiteSpace: "nowrap", overflow: "hidden", textOverflow: "ellipsis" }, children: b.name }) }),
@@ -2463,7 +2465,7 @@ function ll({ cast: t, voices: e, currentId: n, armedId: s = null, sampleId: r =
2463
2465
  D && /* @__PURE__ */ i("div", { style: { position: "sticky", bottom: 0, zIndex: 3, marginTop: 6, padding: "11px 0 3px", animation: "vs-slide-up .18s ease-out" }, children: /* @__PURE__ */ i("button", { type: "button", className: "vcuse", title: "Apply this voice", onClick: () => s && c(s), children: /* @__PURE__ */ i("span", { children: N.vcUse }) }) })
2464
2466
  ] });
2465
2467
  }
2466
- function cl({ height: t, width: e = 2 }) {
2468
+ function ll({ height: t, width: e = 2 }) {
2467
2469
  const n = { width: e, height: "100%", borderRadius: 1, background: "var(--brand)" };
2468
2470
  return /* @__PURE__ */ h("span", { style: { flex: "none", display: "flex", alignItems: "flex-end", gap: 2, height: t }, children: [
2469
2471
  /* @__PURE__ */ i("span", { style: { ...n, animation: "vs-eq .62s ease-in-out infinite" } }),
@@ -2471,17 +2473,16 @@ function cl({ height: t, width: e = 2 }) {
2471
2473
  /* @__PURE__ */ i("span", { style: { ...n, animation: "vs-eq .62s ease-in-out .38s infinite" } })
2472
2474
  ] });
2473
2475
  }
2474
- const ul = /* @__PURE__ */ h("span", { style: { display: "inline-flex", alignItems: "center", gap: 3 }, children: [
2476
+ const cl = /* @__PURE__ */ h("span", { style: { display: "inline-flex", alignItems: "center", gap: 3 }, children: [
2475
2477
  /* @__PURE__ */ i(oe, { d: J.langAuto, size: 19, sw: 1.7, style: { color: "var(--ink-62)", display: "block" } }),
2476
2478
  /* @__PURE__ */ i(oe, { d: J.globe, size: 18, sw: 1.6, style: { color: "var(--ink-62)", display: "block" } })
2477
2479
  ] });
2478
2480
  function ys(t, e) {
2479
2481
  const n = e ? t == null ? void 0 : t.languages.find((s) => s.code === e) : null;
2480
- return { flag: e ? (n == null ? void 0 : n.flag) ?? "🌐" : ul, code: e ? e.toUpperCase() : "", label: (n == null ? void 0 : n.native) ?? "As spoken", name: (n == null ? void 0 : n.name) ?? "Original" };
2482
+ return { flag: e ? (n == null ? void 0 : n.flag) ?? "🌐" : cl, code: e ? e.toUpperCase() : "", label: (n == null ? void 0 : n.native) ?? "As spoken", name: (n == null ? void 0 : n.name) ?? "Original" };
2481
2483
  }
2482
- const Zr = { minHeight: 36, height: 36, padding: "0 11px", background: "var(--fill-06)" };
2483
- function dl(t, e, n = 0, s) {
2484
- const r = (s == null ? void 0 : s.id) ?? null, a = (s == null ? void 0 : s.token) ?? null, o = (s == null ? void 0 : s.shareCode) ?? null, l = At(), { data: c } = ki(async () => {
2484
+ function ul(t, e, n = 0, s) {
2485
+ const r = (s == null ? void 0 : s.id) ?? null, a = (s == null ? void 0 : s.token) ?? null, o = (s == null ? void 0 : s.shareCode) ?? null, l = At(), { data: c } = Li(async () => {
2485
2486
  if (!t || !e) return null;
2486
2487
  try {
2487
2488
  return await l.client.voices.available(t, { recording: r ?? void 0, shareCode: r ? o ?? void 0 : void 0, asOwner: l.owner });
@@ -2491,25 +2492,25 @@ function dl(t, e, n = 0, s) {
2491
2492
  }, [t, e, n, r, a, o]);
2492
2493
  return c;
2493
2494
  }
2494
- function Ml(t) {
2495
+ function dl(t) {
2495
2496
  return (/* @__PURE__ */ new Set([...Object.keys(t.speakers), ...Object.keys(t.speakerIds)])).size;
2496
2497
  }
2497
- function gl({ recordingId: t, lang: e, ended: n, cred: s, pickedVoice: r, sentenceIds: a }) {
2498
- const o = At(), { data: l, reload: c } = ki(async () => {
2498
+ function Ml({ recordingId: t, lang: e, ended: n, cred: s, pickedVoice: r, sentenceIds: a }) {
2499
+ const o = At(), { data: l, reload: c } = Li(async () => {
2499
2500
  if (!t || !e) return null;
2500
2501
  const V = await o.client.recordings.voice(t, e, o.readAs).catch(() => []);
2501
2502
  return { recordingId: t, lang: e, rows: V.filter((C) => C.lang === e) };
2502
2503
  }, [t, e, o, n]), d = Ie(
2503
2504
  () => l && l.lang === e && l.recordingId === t ? l.rows : [],
2504
2505
  [l, e, t]
2505
- ), u = Ie(() => di(d, r), [d, r]), g = u ? u.voiceKey || null : r, [M, p] = I(null), [N, w] = I(null), k = v(/* @__PURE__ */ new Set()), m = `${t ?? ""}|${e ?? ""}|${g ?? ""}`, f = Xe(async (V, C) => {
2506
+ ), u = Ie(() => ui(d, r), [d, r]), g = u ? u.voiceKey || null : r, [M, p] = I(null), [N, w] = I(null), k = v(/* @__PURE__ */ new Set()), m = `${t ?? ""}|${e ?? ""}|${g ?? ""}`, f = Xe(async (V, C) => {
2506
2507
  if (!t || !e || !n) return;
2507
- const ue = C != null && C.size ? null : Fr(V), P = C != null && C.size ? C : ue, Z = P && P.size ? Object.fromEntries([...P].map(([we, ke]) => [String(we), ke])) : null, le = `${t}|${e}|${Z ? JSON.stringify(Z) : V ?? ""}`;
2508
+ const ue = C != null && C.size ? null : Gr(V), P = C != null && C.size ? C : ue, Z = P && P.size ? Object.fromEntries([...P].map(([we, ke]) => [String(we), ke])) : null, le = `${t}|${e}|${Z ? JSON.stringify(Z) : V ?? ""}`;
2508
2509
  if (k.current.has(le)) return;
2509
2510
  k.current.add(le), p(le), w(null);
2510
2511
  const ne = { langs: [e] };
2511
2512
  Z ? ne.voiceBySpeaker = Z : V && (ne.voice = V);
2512
- const ae = await Br(o, `/v1/recordings/${t}/voice`, { method: "POST", body: ne }).catch(() => null);
2513
+ const ae = await Hr(o, `/v1/recordings/${t}/voice`, { method: "POST", body: ne }).catch(() => null);
2513
2514
  if (p((we) => we === le ? null : we), !(ae != null && ae.ok)) {
2514
2515
  k.current.delete(le);
2515
2516
  const we = ae ? await ae.json().catch(() => null) : null;
@@ -2527,8 +2528,8 @@ function gl({ recordingId: t, lang: e, ended: n, cred: s, pickedVoice: r, senten
2527
2528
  const V = A ?? S[0], C = S.find((ne) => ne >= V) ?? S[0], ue = `${t}|${e}|${g ?? ""}`, P = $.current;
2528
2529
  if (P && P.key === ue && Math.abs(P.near - C) < 12 && Date.now() - P.at < 6e4) return;
2529
2530
  $.current = { key: ue, near: C, at: Date.now() };
2530
- const Z = Fr(g), le = { langs: [e], near: C };
2531
- Z && Z.size ? le.voiceBySpeaker = Object.fromEntries([...Z].map(([ne, ae]) => [String(ne), ae])) : g && (le.voice = g), Br(o, `/v1/recordings/${t}/voice`, { method: "POST", body: le }).then((ne) => {
2531
+ const Z = Gr(g), le = { langs: [e], near: C };
2532
+ Z && Z.size ? le.voiceBySpeaker = Object.fromEntries([...Z].map(([ne, ae]) => [String(ne), ae])) : g && (le.voice = g), Hr(o, `/v1/recordings/${t}/voice`, { method: "POST", body: le }).then((ne) => {
2532
2533
  ne.ok || ($.current = null);
2533
2534
  }).catch(() => {
2534
2535
  $.current = null;
@@ -2546,12 +2547,12 @@ function gl({ recordingId: t, lang: e, ended: n, cred: s, pickedVoice: r, senten
2546
2547
  const E = Ie(() => {
2547
2548
  if (!t) return [];
2548
2549
  const V = W ? W.split(",").map(Number).filter((ue) => !n || j.has(ue)) : void 0, C = u ?? (V != null && V.length && e ? { lang: e, voiceKey: r ?? "", clips: [], voice: null } : null);
2549
- return _a(C, t, o.origin, s, V);
2550
+ return Ya(C, t, o.origin, s, V);
2550
2551
  }, [u, t, o, s, W, e, r, n, j]), re = Ie(() => new Set(S), [S]);
2551
2552
  return { listed: l, rows: d, track: u, renderVoiceId: g, rendering: D, failed: b, clips: E, requestRender: f, forget: O, reload: c, setNear: te, missing: S.length, coming: re };
2552
2553
  }
2553
- const hl = { share: J.share, delay: J.tabGauge, video: J.video, source: J.tabSources, script: J.tabScript, fix: J.tabFix, ending: J.tabEnding, summary: J.tabSummary, export: J.tabExport, settings: J.tabSettings, sources: J.tabSources, recs: J.mic };
2554
- function Oi({ tabs: t, current: e, onPick: n, gap: s, fold: r = !0, side: a = !r }) {
2554
+ const gl = { share: J.share, delay: J.tabGauge, video: J.video, source: J.tabSources, script: J.tabScript, fix: J.tabFix, ending: J.tabEnding, summary: J.tabSummary, export: J.tabExport, settings: J.tabSettings, sources: J.tabSources, recs: J.mic };
2555
+ function Ii({ tabs: t, current: e, onPick: n, gap: s, fold: r = !0, side: a = !r }) {
2555
2556
  const o = r && t.length <= 3, l = t.some((k) => k.key === e), [c, d] = I(null), u = v(null), [g, M] = I(0);
2556
2557
  _(() => {
2557
2558
  u.current && M(u.current.offsetWidth);
@@ -2569,7 +2570,7 @@ function Oi({ tabs: t, current: e, onPick: n, gap: s, fold: r = !0, side: a = !r
2569
2570
  let w = null;
2570
2571
  if (c) {
2571
2572
  const k = { l: 0, r: typeof window < "u" ? window.innerWidth : 0 }, m = g || 80, f = Math.max(k.l + 8, Math.min(k.r - m - 8, c.x - m / 2));
2572
- w = pa(
2573
+ w = Na(
2573
2574
  /* @__PURE__ */ i("div", { className: "vsp vsp-portal", "data-theme": "dark", children: /* @__PURE__ */ h("div", { ref: u, "data-theme": "dark", className: "vs-tip__bubble vs-tip__bubble--top tabtip", style: { position: "fixed", left: f, top: c.y - 8, bottom: "auto", width: "auto", whiteSpace: "nowrap", transform: "translateY(-100%)", zIndex: 2147483e3, pointerEvents: "none" }, children: [
2574
2575
  /* @__PURE__ */ i("span", { className: "vs-tip__row", children: /* @__PURE__ */ i("span", { className: "vs-tip__copy", children: c.label }) }),
2575
2576
  /* @__PURE__ */ i("span", { className: "vs-tip__arrow", style: { left: Math.round(Math.max(8, Math.min(m - 19, c.x - f - 5.5))) } })
@@ -2579,7 +2580,7 @@ function Oi({ tabs: t, current: e, onPick: n, gap: s, fold: r = !0, side: a = !r
2579
2580
  }
2580
2581
  return /* @__PURE__ */ h("div", { role: "tablist", className: `tabbar tabbar--icons${r ? "" : " tabbar--desk"}`, "data-desk-tabs": a ? "" : void 0, "data-tab-n": a ? t.length : void 0, style: { marginBottom: s ? 12 : 0 }, onMouseLeave: N, children: [
2581
2582
  t.map((k) => {
2582
- const m = e === k.key, f = o || m, O = o ? "1 1 0" : m ? "1 1 auto" : r && !l ? "1 1 0" : "0 0 auto", D = k.icon ?? hl[k.key], b = () => {
2583
+ const m = e === k.key, f = o || m, O = o ? "1 1 0" : m ? "1 1 auto" : r && !l ? "1 1 0" : "0 0 auto", D = k.icon ?? gl[k.key], b = () => {
2583
2584
  N(), n(r && m ? "none" : k.key);
2584
2585
  };
2585
2586
  return r ? /* @__PURE__ */ h("button", { type: "button", role: "tab", "aria-selected": m, title: k.label, className: `tabbar__tab${m ? " is-on" : ""}`, style: { flex: O }, onClick: b, children: [
@@ -2593,8 +2594,8 @@ function Oi({ tabs: t, current: e, onPick: n, gap: s, fold: r = !0, side: a = !r
2593
2594
  w
2594
2595
  ] });
2595
2596
  }
2596
- const fl = "M3 16.5v2.25A2.25 2.25 0 0 0 5.25 21h13.5A2.25 2.25 0 0 0 21 18.75V16.5M16.5 12 12 16.5m0 0L7.5 12m4.5 4.5V3", Nl = "m9 9 10.5-3m0 6.553v3.75a2.25 2.25 0 0 1-1.632 2.163l-1.32.377a1.803 1.803 0 1 1-.99-3.467l2.31-.66a2.25 2.25 0 0 0 1.632-2.163Zm0 0V2.25L9 5.25v10.303m0 0v3.75a2.25 2.25 0 0 1-1.632 2.163l-1.32.377a1.803 1.803 0 0 1-.99-3.467l2.31-.66A2.25 2.25 0 0 0 9 15.553Z";
2597
- function pl({ audio: t, video: e, formats: n, onExport: s }) {
2597
+ const hl = "M3 16.5v2.25A2.25 2.25 0 0 0 5.25 21h13.5A2.25 2.25 0 0 0 21 18.75V16.5M16.5 12 12 16.5m0 0L7.5 12m4.5 4.5V3", fl = "m9 9 10.5-3m0 6.553v3.75a2.25 2.25 0 0 1-1.632 2.163l-1.32.377a1.803 1.803 0 1 1-.99-3.467l2.31-.66a2.25 2.25 0 0 0 1.632-2.163Zm0 0V2.25L9 5.25v10.303m0 0v3.75a2.25 2.25 0 0 1-1.632 2.163l-1.32.377a1.803 1.803 0 0 1-.99-3.467l2.31-.66A2.25 2.25 0 0 0 9 15.553Z";
2598
+ function Nl({ audio: t, video: e, formats: n, onExport: s }) {
2598
2599
  const [r, a] = I(null), [o, l] = I(null), c = v(void 0), d = v(!0);
2599
2600
  _(() => (d.current = !0, () => {
2600
2601
  d.current = !1, window.clearTimeout(c.current);
@@ -2623,11 +2624,11 @@ function pl({ audio: t, video: e, formats: n, onExport: s }) {
2623
2624
  /* @__PURE__ */ i("span", { style: { fontSize: 13, fontWeight: 500, color: "var(--ink-96)", whiteSpace: "nowrap", overflow: "hidden", textOverflow: "ellipsis" }, children: w.name }),
2624
2625
  /* @__PURE__ */ i("span", { style: { font: "500 9.5px var(--vs-font-mono)", color: "var(--ink-40)", letterSpacing: ".04em" }, children: w.meta })
2625
2626
  ] }),
2626
- /* @__PURE__ */ i(oe, { d: r === N ? J.check : fl, size: 17, sw: 1.6, style: { flex: "none", color: r === N ? "var(--brand)" : "var(--ink-62)" } })
2627
+ /* @__PURE__ */ i(oe, { d: r === N ? J.check : hl, size: 17, sw: 1.6, style: { flex: "none", color: r === N ? "var(--brand)" : "var(--ink-62)" } })
2627
2628
  ] })
2628
2629
  ] });
2629
2630
  return /* @__PURE__ */ h("div", { style: { display: "flex", flexDirection: "column", gap: 10 }, children: [
2630
- t && p("audio", t, Nl, "DOWNLOAD AUDIO"),
2631
+ t && p("audio", t, fl, "DOWNLOAD AUDIO"),
2631
2632
  e && p("video", e, J.video, "DOWNLOAD VIDEO"),
2632
2633
  n !== !1 && /* @__PURE__ */ h(_e, { children: [
2633
2634
  /* @__PURE__ */ i(ds, { style: { letterSpacing: ".12em", color: "var(--ink-35)" }, children: "EXPORT AS" }),
@@ -2638,7 +2639,7 @@ function pl({ audio: t, video: e, formats: n, onExport: s }) {
2638
2639
  ] })
2639
2640
  ] });
2640
2641
  }
2641
- function Ds(t, e, n) {
2642
+ function Ss(t, e, n) {
2642
2643
  const s = () => {
2643
2644
  var r;
2644
2645
  (r = navigator.clipboard) == null || r.writeText(t).then(() => n == null ? void 0 : n(), () => {
@@ -2652,7 +2653,7 @@ function Ds(t, e, n) {
2652
2653
  }
2653
2654
  s();
2654
2655
  }
2655
- function ml(t, e, n) {
2656
+ function pl(t, e, n) {
2656
2657
  const [s, r] = I(null), a = t.state === "ready", o = `${e ?? ""}|${n ?? ""}|${a ? `${t.title}
2657
2658
  ${t.summary}` : ""}`, l = At();
2658
2659
  return _(() => {
@@ -2669,12 +2670,12 @@ ${t.summary}` : ""}`, l = At();
2669
2670
  };
2670
2671
  }, [o, l]), !n || !a ? t : (s == null ? void 0 : s.key) === o ? s.s : { state: "pending", retry: t.retry };
2671
2672
  }
2672
- function yl(t) {
2673
+ function ml(t) {
2673
2674
  return t != null && t.title && (t != null && t.summary) ? { state: "ready", title: t.title, summary: t.summary, retry: () => {
2674
2675
  } } : { state: "unavailable", retry: () => {
2675
2676
  } };
2676
2677
  }
2677
- function Tl({ s: t }) {
2678
+ function yl({ s: t }) {
2678
2679
  const [e, n] = I(!1), s = v(void 0);
2679
2680
  _(() => () => window.clearTimeout(s.current), []);
2680
2681
  const r = t.title ?? "", a = t.summary ?? "", o = () => {
@@ -2691,7 +2692,7 @@ ${a}`).catch(() => {
2691
2692
  /* @__PURE__ */ h("div", { style: { display: "flex", alignItems: "center", justifyContent: "space-between", gap: 8, minHeight: 24 }, children: [
2692
2693
  /* @__PURE__ */ i(ds, { style: { letterSpacing: ".12em", color: "var(--ink-35)" }, children: "SUMMARY" }),
2693
2694
  t.state === "ready" && /* @__PURE__ */ h("button", { type: "button", className: "sumcopy", title: "Copy title and summary", style: { color: e ? "var(--brand)" : "var(--ink-70)" }, onClick: o, children: [
2694
- /* @__PURE__ */ i(oe, { d: e ? J.check : kl, size: 13, sw: 1.6 }),
2695
+ /* @__PURE__ */ i(oe, { d: e ? J.check : Ll, size: 13, sw: 1.6 }),
2695
2696
  e ? "Copied" : "Copy"
2696
2697
  ] })
2697
2698
  ] }),
@@ -2704,15 +2705,15 @@ ${a}`).catch(() => {
2704
2705
  ] })
2705
2706
  ] });
2706
2707
  }
2707
- function wl({ ytId: t, title: e, timeLabel: n, radius: s, style: r, large: a, children: o, picture: l }) {
2708
+ function Tl({ ytId: t, title: e, timeLabel: n, radius: s, style: r, large: a, children: o, picture: l }) {
2708
2709
  return /* @__PURE__ */ h("div", { className: "livevid", style: { ...s != null ? { borderRadius: s } : null, ...r }, children: [
2709
2710
  /* @__PURE__ */ i(oe, { d: "m15.75 10.5 4.72-4.72a.75.75 0 0 1 1.28.53v11.38a.75.75 0 0 1-1.28.53l-4.72-4.72M4.5 18.75h9a2.25 2.25 0 0 0 2.25-2.25v-9a2.25 2.25 0 0 0-2.25-2.25h-9A2.25 2.25 0 0 0 2.25 7.5v9a2.25 2.25 0 0 0 2.25 2.25Z", size: a ? 34 : 30, sw: 1.2 }),
2710
- l ?? /* @__PURE__ */ i("iframe", { src: Wo(t), title: e, referrerPolicy: "strict-origin-when-cross-origin", allow: "autoplay; encrypted-media; picture-in-picture" }),
2711
+ l ?? /* @__PURE__ */ i("iframe", { src: Vo(t), title: e, referrerPolicy: "strict-origin-when-cross-origin", allow: "autoplay; encrypted-media; picture-in-picture" }),
2711
2712
  n && /* @__PURE__ */ i("span", { className: "livevid__t", style: a ? { bottom: 10, right: 10 } : void 0, children: n }),
2712
2713
  o
2713
2714
  ] });
2714
2715
  }
2715
- function Ll(t = !0, e) {
2716
+ function wl(t = !0, e) {
2716
2717
  const n = v(null), s = e ?? n;
2717
2718
  return _(() => {
2718
2719
  const r = s.current;
@@ -2733,9 +2734,9 @@ function Ll(t = !0, e) {
2733
2734
  };
2734
2735
  }, [t]), s;
2735
2736
  }
2736
- const kl = "M15.75 17.25v3.375c0 .621-.504 1.125-1.125 1.125h-9.75a1.125 1.125 0 0 1-1.125-1.125V7.875c0-.621.504-1.125 1.125-1.125H6.75a9.06 9.06 0 0 1 1.5.124m7.5 10.376h3.375c.621 0 1.125-.504 1.125-1.125V11.25c0-4.46-3.243-8.161-7.5-8.876a9.06 9.06 0 0 0-1.5-.124H9.375c-.621 0-1.125.504-1.125 1.125v3.5m7.5 10.375H9.375a1.125 1.125 0 0 1-1.125-1.125v-9.25m12 6.625v-1.875a3.375 3.375 0 0 0-3.375-3.375h-1.5a1.125 1.125 0 0 1-1.125-1.125v-1.5a3.375 3.375 0 0 0-3.375-3.375H9.75";
2737
- function vl(t, e) {
2738
- const [n, s] = Ra(t), r = e.tabs.map((f) => f.key), a = e.tabbed !== !1, o = e.pinnable ?? r;
2737
+ const Ll = "M15.75 17.25v3.375c0 .621-.504 1.125-1.125 1.125h-9.75a1.125 1.125 0 0 1-1.125-1.125V7.875c0-.621.504-1.125 1.125-1.125H6.75a9.06 9.06 0 0 1 1.5.124m7.5 10.376h3.375c.621 0 1.125-.504 1.125-1.125V11.25c0-4.46-3.243-8.161-7.5-8.876a9.06 9.06 0 0 0-1.5-.124H9.375c-.621 0-1.125.504-1.125 1.125v3.5m7.5 10.375H9.375a1.125 1.125 0 0 1-1.125-1.125v-9.25m12 6.625v-1.875a3.375 3.375 0 0 0-3.375-3.375h-1.5a1.125 1.125 0 0 1-1.125-1.125v-1.5a3.375 3.375 0 0 0-3.375-3.375H9.75";
2738
+ function kl(t, e) {
2739
+ const [n, s] = Ua(t), r = e.tabs.map((f) => f.key), a = e.tabbed !== !1, o = e.pinnable ?? r;
2739
2740
  let l = n;
2740
2741
  [...e.autoPin ?? []].reverse().forEach((f) => {
2741
2742
  r.includes(f) && !l.includes(f) && !l.includes(`!${f}`) && (l = [f, ...l]);
@@ -2773,8 +2774,8 @@ function vl(t, e) {
2773
2774
  };
2774
2775
  return { id: t, tabbed: a && g.length > 1, cur: M, seq: u, pinnable: o, tabKeys: g, stripTabs: e.tabs.filter((f) => g.includes(f.key)), panel: m, pin: N, unpin: w };
2775
2776
  }
2776
- function jl({ col: t, order: e, render: n, grip: s, onPick: r, wrapClass: a }) {
2777
- return zl(t), /* @__PURE__ */ h(_e, { children: [
2777
+ function vl({ col: t, order: e, render: n, grip: s, onPick: r, wrapClass: a }) {
2778
+ return jl(t), /* @__PURE__ */ h(_e, { children: [
2778
2779
  e.map((o) => {
2779
2780
  const l = t.panel(o);
2780
2781
  if (!l.show) return null;
@@ -2784,13 +2785,13 @@ function jl({ col: t, order: e, render: n, grip: s, onPick: r, wrapClass: a }) {
2784
2785
  l.pill && /* @__PURE__ */ i("button", { type: "button", "data-pin-pill": "", className: `pinpill${l.pinned ? " is-on" : ""}`, title: l.title, "aria-label": l.title, "aria-pressed": l.pinned, onClick: l.toggle, children: /* @__PURE__ */ i(oe, { d: J.pin, size: 12, sw: 2 }) })
2785
2786
  ] }, o) : null;
2786
2787
  }),
2787
- t.tabbed && t.cur && /* @__PURE__ */ i("div", { className: "deskstrip", style: { order: 999 }, children: /* @__PURE__ */ i(Oi, { tabs: t.stripTabs, current: t.cur, onPick: (o) => {
2788
+ t.tabbed && t.cur && /* @__PURE__ */ i("div", { className: "deskstrip", style: { order: 999 }, children: /* @__PURE__ */ i(Ii, { tabs: t.stripTabs, current: t.cur, onPick: (o) => {
2788
2789
  o !== "none" && (r ?? (() => {
2789
2790
  }))(o);
2790
2791
  }, fold: !1 }) })
2791
2792
  ] });
2792
2793
  }
2793
- function zl(t) {
2794
+ function jl(t) {
2794
2795
  const e = v(t);
2795
2796
  e.current = t;
2796
2797
  const n = t.id;
@@ -2891,9 +2892,9 @@ function zl(t) {
2891
2892
  };
2892
2893
  }, [n]);
2893
2894
  }
2894
- function Il({ id: t, className: e, gap: n, hidden: s, plain: r, children: a }) {
2895
- const [o, l] = Qa(t), c = v(null), d = v(null);
2896
- Ol(d), _(() => {
2895
+ function zl({ id: t, className: e, gap: n, hidden: s, plain: r, children: a }) {
2896
+ const [o, l] = Pa(t), c = v(null), d = v(null);
2897
+ Il(d), _(() => {
2897
2898
  document.documentElement.style.setProperty("--colw", `${o}px`);
2898
2899
  }, [o]);
2899
2900
  const u = (M) => {
@@ -2917,7 +2918,7 @@ function Il({ id: t, className: e, gap: n, hidden: s, plain: r, children: a }) {
2917
2918
  /* @__PURE__ */ i("div", { ref: c, "data-tab-col": t, className: `${e} sidecol`, style: { flex: `0 0 ${o}px`, ...g }, children: r ? a : /* @__PURE__ */ i("div", { ref: d, "data-panel-grid": "", className: "panelgrid", children: a }) })
2918
2919
  ] });
2919
2920
  }
2920
- function Ol(t) {
2921
+ function Il(t) {
2921
2922
  _(() => {
2922
2923
  const e = t.current;
2923
2924
  if (!e) return;
@@ -2945,11 +2946,11 @@ function Ol(t) {
2945
2946
  };
2946
2947
  }, [t]);
2947
2948
  }
2948
- function Cl(t) {
2949
+ function Ol(t) {
2949
2950
  return /\bwas not captured\b/i.test(t ?? "");
2950
2951
  }
2951
- const bl = 1500, xl = 3e5;
2952
- function Dl(t) {
2952
+ const Cl = 1500, bl = 3e5;
2953
+ function xl(t) {
2953
2954
  const e = At(), [n, s] = I(null), [r, a] = I(null), [o, l] = I(null), [c, d] = I(null), u = v(null), g = v(null), M = v(null), p = v(0), N = Xe(() => {
2954
2955
  M.current && (clearTimeout(M.current), M.current = null), u.current && (u.current.pause(), u.current.removeAttribute("src"), u.current.load(), u.current = null), g.current && (URL.revokeObjectURL(g.current), g.current = null);
2955
2956
  }, []), w = Xe(() => {
@@ -2981,13 +2982,13 @@ function Dl(t) {
2981
2982
  }
2982
2983
  if (p.current !== O) return;
2983
2984
  if (A.status === 202 || A.status === 503) {
2984
- if (Date.now() - b > xl) {
2985
+ if (Date.now() - b > bl) {
2985
2986
  l(null), d({ message: "This voice is still being fetched. Try it again in a moment." });
2986
2987
  return;
2987
2988
  }
2988
2989
  l(f.id), M.current = setTimeout(() => {
2989
2990
  W();
2990
- }, bl);
2991
+ }, Cl);
2991
2992
  return;
2992
2993
  }
2993
2994
  if (!A.ok) {
@@ -3012,13 +3013,13 @@ function Dl(t) {
3012
3013
  }, [t, N, e]);
3013
3014
  return { armId: n, sampleId: r, dlId: o, error: c, clearError: () => d(null), arm: m, stop: w, reset: k };
3014
3015
  }
3015
- const Ts = 0.05, Ci = (t, e) => {
3016
+ const Ts = 0.05, Oi = (t, e) => {
3016
3017
  let n = 0;
3017
3018
  for (let s = 0; s < t.length; s++) t[s].start <= e + 1e-6 && (n = s);
3018
3019
  return n;
3019
3020
  };
3020
- function Sl(t, e, n, s) {
3021
- const r = Math.max(0, e), a = s > 0 && r >= s - Ts, o = t.length && t[0].start <= r + 1e-6 ? Ci(t, r) : -1;
3021
+ function Dl(t, e, n, s) {
3022
+ const r = Math.max(0, e), a = s > 0 && r >= s - Ts, o = t.length && t[0].start <= r + 1e-6 ? Oi(t, r) : -1;
3022
3023
  return o < 0 ? { t: r, playing: n && !a, sentenceId: null, offset: 0, ended: a } : { t: r, playing: n && !a, sentenceId: t[o].sentenceId ?? null, offset: Math.max(0, r - t[o].start), ended: a };
3023
3024
  }
3024
3025
  function Tn(t, e, n) {
@@ -3033,18 +3034,18 @@ function Tn(t, e, n) {
3033
3034
  }
3034
3035
  a = Math.max(0, Math.min(s, a));
3035
3036
  const o = s > 0 && a >= s - Ts && r < 0;
3036
- return { t: a, playing: t.playing && !o, index: r >= 0 ? r : Ci(e, a) };
3037
+ return { t: a, playing: t.playing && !o, index: r >= 0 ? r : Oi(e, a) };
3037
3038
  }
3038
- function bi(t, e, n) {
3039
+ function Ci(t, e, n) {
3039
3040
  var c;
3040
3041
  const s = t[e], r = n && s.translations[n] && s.language !== n ? s.translations[n] : null;
3041
3042
  if (!r && s.words.length) return s.words;
3042
- const a = (r ?? s.text).split(/\s+/).filter(Boolean), o = ((c = s.words[0]) == null ? void 0 : c.start) ?? s.start, l = zi(s, t[e + 1], s.start + Math.max(2, a.length * 0.4));
3043
- return Zo(a, o, l).map((d, u) => ({ ...d, seq: s.seqs[0] ?? 0, idx: u }));
3043
+ const a = (r ?? s.text).split(/\s+/).filter(Boolean), o = ((c = s.words[0]) == null ? void 0 : c.start) ?? s.start, l = ji(s, t[e + 1], s.start + Math.max(2, a.length * 0.4));
3044
+ return Go(a, o, l).map((d, u) => ({ ...d, seq: s.seqs[0] ?? 0, idx: u }));
3044
3045
  }
3045
3046
  function qr(t, e, n) {
3046
3047
  if (!t.engaged || e !== t.idx || !n.length) return null;
3047
- if (!t.wordSync) return t.clipPos ? Mi(n.map((a) => ({ t: a.text, sp: " " })), t.clipPos) : null;
3048
+ if (!t.wordSync) return t.clipPos ? di(n.map((a) => ({ t: a.text, sp: " " })), t.clipPos) : null;
3048
3049
  const s = t.t;
3049
3050
  let r = -1;
3050
3051
  for (let a = 0; a < n.length && n[a].start <= s; a++) r = a;
@@ -3062,7 +3063,7 @@ function St(t, e, n) {
3062
3063
  const s = (r = t == null ? void 0 : t.words[t.words.length - 1]) == null ? void 0 : r.end;
3063
3064
  return s != null && s > e ? s : (t == null ? void 0 : t.end) != null && t.end > e ? t.end : n > e ? n : e + 4;
3064
3065
  }
3065
- function Al({ ytId: t, title: e, t: n, playing: s, seekN: r, onToggle: a, onAd: o, endT: l, onGone: c, onKnown: d, lead: u, onTime: g, waiting: M = !1 }) {
3066
+ function Sl({ ytId: t, title: e, t: n, playing: s, seekN: r, onToggle: a, onAd: o, endT: l, onGone: c, onKnown: d, lead: u, onTime: g, waiting: M = !1 }) {
3066
3067
  const p = v(null), [N, w] = I(!1);
3067
3068
  _(() => {
3068
3069
  if (!M) {
@@ -3190,22 +3191,22 @@ function Al({ ytId: t, title: e, t: n, playing: s, seekN: r, onToggle: a, onAd:
3190
3191
  ] })
3191
3192
  ] });
3192
3193
  }
3193
- const El = /* @__PURE__ */ h(_e, { children: [
3194
+ const Al = /* @__PURE__ */ h(_e, { children: [
3194
3195
  /* @__PURE__ */ i("rect", { x: "6.5", y: "5", width: "3.75", height: "14", rx: "1.2" }),
3195
3196
  /* @__PURE__ */ i("rect", { x: "13.75", y: "5", width: "3.75", height: "14", rx: "1.2" })
3196
- ] }), Yl = /* @__PURE__ */ i("path", { d: "M7.5 5.6a1 1 0 0 1 1.52-.85l9.1 5.55a1 1 0 0 1 0 1.7l-9.1 5.55a1 1 0 0 1-1.52-.85V5.6Z" });
3197
- function _l({ player: t, size: e }) {
3197
+ ] }), El = /* @__PURE__ */ i("path", { d: "M7.5 5.6a1 1 0 0 1 1.52-.85l9.1 5.55a1 1 0 0 1 0 1.7l-9.1 5.55a1 1 0 0 1-1.52-.85V5.6Z" });
3198
+ function Yl({ player: t, size: e }) {
3198
3199
  const n = t.muted ? "Unmute" : "Mute";
3199
3200
  return /* @__PURE__ */ i("button", { type: "button", className: `mutebtn${e < 36 ? " mutebtn--sm" : e > 36 ? " mutebtn--lg" : ""}`, "aria-label": n, title: n, "aria-pressed": t.muted, onClick: t.toggleMute, children: /* @__PURE__ */ i(oe, { d: t.muted ? J.volumeOff : J.volume, size: 17, sw: 1.6, style: { color: t.muted ? "var(--ink-38)" : "var(--ink-70)" } }) });
3200
3201
  }
3201
- function Ul() {
3202
+ function _l() {
3202
3203
  const [t, e] = I(""), n = v(null), s = Xe((r) => {
3203
3204
  clearTimeout(n.current), e(r), n.current = setTimeout(() => e(""), 3e3);
3204
3205
  }, []);
3205
3206
  return _(() => () => clearTimeout(n.current), []), [t, s];
3206
3207
  }
3207
- const Rl = 0.2, Pl = 140, Ql = 320;
3208
- function $l(t, e) {
3208
+ const Ul = 0.2, Rl = 140, Pl = 320;
3209
+ function Ql(t, e) {
3209
3210
  const n = v(t);
3210
3211
  n.current = t;
3211
3212
  const s = v(0), r = v(1), a = Xe((o, l) => {
@@ -3219,13 +3220,13 @@ function $l(t, e) {
3219
3220
  u();
3220
3221
  }, []);
3221
3222
  _(() => {
3222
- a(e ? Rl : 1, e ? Pl : Ql);
3223
+ a(e ? Ul : 1, e ? Rl : Pl);
3223
3224
  }, [e, a]), _(() => () => {
3224
3225
  cancelAnimationFrame(s.current), r.current = 1;
3225
3226
  for (const o of n.current) o.setVolume(1);
3226
3227
  }, []);
3227
3228
  }
3228
- function Bl(t, e, n, s) {
3229
+ function $l(t, e, n, s) {
3229
3230
  var Oe;
3230
3231
  const r = v(null), a = v(!1), o = v(!1), [l, c] = I(null), [d, u] = I(!0), g = v(!0), M = v(!1), [p, N] = I(0), w = v(0);
3231
3232
  w.current = p;
@@ -3368,7 +3369,7 @@ function Bl(t, e, n, s) {
3368
3369
  setVolume: (G) => A("setVolume", [Math.round(G * 100)])
3369
3370
  }, lead: $, setVideoSound: Le };
3370
3371
  }
3371
- function Hl(t, e, n, s, r = 0, a = null) {
3372
+ function Bl(t, e, n, s, r = 0, a = null) {
3372
3373
  var X;
3373
3374
  const o = v(null), [l, c] = I(!1), [d, u] = I(0), [g, M] = I(!1), p = v(g);
3374
3375
  p.current = g;
@@ -3382,16 +3383,16 @@ function Hl(t, e, n, s, r = 0, a = null) {
3382
3383
  c(!1), o.current = null;
3383
3384
  return;
3384
3385
  }
3385
- const R = ci(t), fe = O.current;
3386
+ const R = li(t), fe = O.current;
3386
3387
  return R.preload = "metadata", R.muted = p.current || N.current, R.onplay = () => c(!0), R.onpause = () => c(!1), R.onended = () => c(!1), R.onloadedmetadata = () => {
3387
3388
  f(!0), R.currentTime = ((y == null ? void 0 : y.t) ?? 0) + fe, y != null && y.playing && R.play().catch((H) => {
3388
3389
  y.asked && (H == null ? void 0 : H.name) === "NotAllowedError" || k(kt(H));
3389
3390
  });
3390
3391
  }, R.onerror = () => {
3391
3392
  c(!1);
3392
- const H = R.error, me = Sa(H, !1);
3393
- Ca(t).then((q) => {
3394
- Cl(q == null ? void 0 : q.message) || oi(H), o.current === R && (k({ message: (q == null ? void 0 : q.message) ?? me }), q != null && q.permanent || (o.current = null));
3393
+ const H = R.error, me = Da(H, !1);
3394
+ Oa(t).then((q) => {
3395
+ Ol(q == null ? void 0 : q.message) || ai(H), o.current === R && (k({ message: (q == null ? void 0 : q.message) ?? me }), q != null && q.permanent || (o.current = null));
3395
3396
  });
3396
3397
  }, o.current = R, () => {
3397
3398
  D.current = { t: Math.max(0, R.currentTime - fe), playing: !R.paused && !R.ended }, R.pause(), R.onplay = R.onpause = R.onended = R.onloadedmetadata = R.onerror = null, o.current = null;
@@ -3560,7 +3561,7 @@ function Hl(t, e, n, s, r = 0, a = null) {
3560
3561
  }
3561
3562
  };
3562
3563
  }
3563
- function Vl(t, e, n, s, r, a, o = !1, l) {
3564
+ function Hl(t, e, n, s, r, a, o = !1, l) {
3564
3565
  const c = v(/* @__PURE__ */ new Set());
3565
3566
  c.current = l ?? c.current;
3566
3567
  const d = v(null), [u, g] = I(!1), [M, p] = I(0), [N, w] = I(0), [k, m] = I(!1), f = v(k);
@@ -3581,7 +3582,7 @@ function Vl(t, e, n, s, r, a, o = !1, l) {
3581
3582
  const F = Z.current.findIndex((ee) => ee.sentenceId === U);
3582
3583
  F >= 0 && p(F);
3583
3584
  }, Y.onError = (U) => {
3584
- g(Y.playing), D(U instanceof ui ? { message: "The voice could not be started. Press Play to try again.", code: "voice_not_started" } : { message: "A line of this reading could not be played." });
3585
+ g(Y.playing), D(U instanceof ci ? { message: "The voice could not be started. Press Play to try again.", code: "voice_not_started" } : { message: "A line of this reading could not be played." });
3585
3586
  }, Y.gapBefore = (U, F) => {
3586
3587
  if (!le.current) return 0;
3587
3588
  const ee = Z.current, Me = ee.find((xe) => xe.sentenceId === U), be = ee.find((xe) => xe.sentenceId === F);
@@ -3592,7 +3593,7 @@ function Vl(t, e, n, s, r, a, o = !1, l) {
3592
3593
  return ze && Date.now() - ze.at < 2e3 ? Math.max(0, be.start - (ze.t + (Date.now() - ze.at) / 1e3 * Y.rate)) : !Me || be.start <= Me.start ? 0 : Math.max(0, be.start - St(Me, Me.start, Me.start + 4));
3593
3594
  }, Y.flow = le.current, Y.silentSpan = (U) => {
3594
3595
  var $e;
3595
- const F = Z.current, ee = F.findIndex((st) => st.sentenceId === U), Me = F[ee];
3596
+ const F = Z.current, ee = F.findIndex((rt) => rt.sentenceId === U), Me = F[ee];
3596
3597
  if (!Me) return null;
3597
3598
  const be = (($e = F[ee + 1]) == null ? void 0 : $e.start) ?? St(Me, Me.start, Me.start + 4), Te = Math.max(0, be - Me.start), ze = ae.current, xe = ze && Date.now() - ze.at < 2e3 ? ze.t + (Date.now() - ze.at) / 1e3 * (Y.rate || 1) : Me.start, Ze = Math.max(0, Math.min(Te, xe - Me.start));
3598
3599
  return { fromS: Ze, ms: (Te - Ze) * 1e3 / (Y.rate || 1) };
@@ -3674,7 +3675,7 @@ function Vl(t, e, n, s, r, a, o = !1, l) {
3674
3675
  return { from: F, span: Math.max(0, ee - F) };
3675
3676
  }, ie = K(q), de = Math.max(0, Math.min(ie.span, St(e[q], ie.from, ie.from + 4) - ie.from)), ce = j ? j.t : o ? E != null && ue ? ie.from + Math.min(ie.span, E) : E != null ? V != null ? Math.min(ie.from, V + E) : ie.from + Math.min(ie.span, de + E) : L && L.dur > 0 ? ie.from + Math.min(de, L.t / L.dur * de) : ie.from : L && L.dur > 0 ? ie.from + Math.min(ie.span, L.t / L.dur * ie.span) : ie.from;
3676
3677
  _(() => {
3677
- Le.current = Se.current ?? Sl(e, ce, u, Ce);
3678
+ Le.current = Se.current ?? Dl(e, ce, u, Ce);
3678
3679
  });
3679
3680
  const Ne = {
3680
3681
  playing: u || Be,
@@ -3731,7 +3732,7 @@ function Vl(t, e, n, s, r, a, o = !1, l) {
3731
3732
  B(Y), t.some((U) => U.sentenceId >= (Y.sentenceId ?? 0)) && (B(null), G.current(Y));
3732
3733
  },
3733
3734
  seekFrac: (Y) => {
3734
- var st, ot, dt;
3735
+ var rt, ot, dt;
3735
3736
  X();
3736
3737
  const U = Math.max(0, Math.min(1, Y)) * Ce;
3737
3738
  let F = 0;
@@ -3739,7 +3740,7 @@ function Vl(t, e, n, s, r, a, o = !1, l) {
3739
3740
  const ee = e[F], Me = o && ee && U < ee.start - 0.05;
3740
3741
  if (o && ee && (Me || e[F + 1] && U >= St(ee, ee.start, ee.start + 4))) {
3741
3742
  const We = Me ? F : F + 1, Pe = e[We];
3742
- (st = d.current) == null || st.startWithin(-1, 0);
3743
+ (rt = d.current) == null || rt.startWithin(-1, 0);
3743
3744
  const lt = { t: U, sid: Pe.sentenceId ?? null };
3744
3745
  $.current = lt, S(lt), he(We);
3745
3746
  return;
@@ -3809,22 +3810,22 @@ function Vl(t, e, n, s, r, a, o = !1, l) {
3809
3810
  (F = Ne.seekFrac) == null || F.call(Ne, U.t / Ce), U.playing && Ue(Ae.current);
3810
3811
  }, Ne;
3811
3812
  }
3812
- const Wl = () => {
3813
- }, Fl = "The language this recording is read aloud in.", Gl = { title: "READ IN", note: "The transcript and its voice switch to this language." };
3814
- function Zl({ recordingId: t, model: e, rows: n, lenS: s, ended: r, cred: a, langs: o, srcLang: l, canTranslate: c, pickedLang: d, setPickedLang: u, side: g, hearOriginal: M = !1, timed: p = !1, stockVoices: N = !1, stickyPicker: w = !1, pickerBusy: k = null, voiceSheet: m, forcedVoice: f = null }) {
3813
+ const Vl = () => {
3814
+ }, Wl = "The language this recording is read aloud in.", Fl = { title: "READ IN", note: "The transcript and its voice switch to this language." };
3815
+ function Gl({ recordingId: t, model: e, rows: n, lenS: s, ended: r, cred: a, langs: o, srcLang: l, canTranslate: c, pickedLang: d, setPickedLang: u, side: g, hearOriginal: M = !1, timed: p = !1, stockVoices: N = !1, stickyPicker: w = !1, pickerBusy: k = null, voiceSheet: m, forcedVoice: f = null }) {
3815
3816
  var sn, rn, Ft, Gt;
3816
- const { onAddVoice: O, onPickVoice: D, onSelectSpeaker: b, noCloneFor: W, castNoClone: A, castShort: te, castBuilding: j, castWarn: S, badge: $, titleNode: L } = m ?? {}, z = !!m, E = !!(m != null && m.pendingClones), [re, V] = hi(), [C, ue] = I(null), [P, Z] = I(!1), [le, ne] = I(!1), [ae, we] = I(!1), [ke, Qe] = I(!1), ye = d ?? l, Le = d === null, Se = d != null || C != null, Oe = ((Q) => !!Q && !!(o != null && o.voice.includes(Q)))(Le ? l : ye) ? Le ? l : ye : "en", G = Dl(Oe), B = (m == null ? void 0 : m.cloneOn) ?? !0, [X, y] = I(0), R = v(B);
3817
+ const { onAddVoice: O, onPickVoice: D, onSelectSpeaker: b, noCloneFor: W, castNoClone: A, castShort: te, castBuilding: j, castWarn: S, badge: $, titleNode: L } = m ?? {}, z = !!m, E = !!(m != null && m.pendingClones), [re, V] = gi(), [C, ue] = I(null), [P, Z] = I(!1), [le, ne] = I(!1), [ae, we] = I(!1), [ke, Qe] = I(!1), ye = d ?? l, Le = d === null, Se = d != null || C != null, Oe = ((Q) => !!Q && !!(o != null && o.voice.includes(Q)))(Le ? l : ye) ? Le ? l : ye : "en", G = xl(Oe), B = (m == null ? void 0 : m.cloneOn) ?? !0, [X, y] = I(0), R = v(B);
3817
3818
  _(() => {
3818
3819
  R.current !== B && (R.current = B, y((Q) => Q + 1));
3819
3820
  }, [B]);
3820
- const fe = dl(Oe, Se || r || le, Ml(e) * 1e3 + X, { id: t ?? null, shareCode: a.shareCode ?? null }), H = Ie(() => ((fe == null ? void 0 : fe.voices) ?? []).filter((Q) => z || !Q.cloned || Q.speaker != null), [fe, z]), me = H.length > 1, q = ys(o, ye), ve = vi(), Ce = Ie(() => fi(o, "translation"), [o]), [He, Ae] = I(null), [Ue] = I(() => /* @__PURE__ */ new Set()), [he, Re] = I({}), K = Ie(() => al(n, e, ve.vcUnknownSpk), [n, e, ve]), ie = me && K.filter((Q) => Q.key >= 0).length > 1, de = He != null && K.some((Q) => Q.key === He) ? He : ((sn = K[0]) == null ? void 0 : sn.key) ?? null, ce = Ie(() => {
3821
- const Q = Gr(K, H, B);
3821
+ const fe = ul(Oe, Se || r || le, dl(e) * 1e3 + X, { id: t ?? null, shareCode: a.shareCode ?? null }), H = Ie(() => ((fe == null ? void 0 : fe.voices) ?? []).filter((Q) => z || !Q.cloned || Q.speaker != null), [fe, z]), me = H.length > 1, q = ys(o, ye), ve = ki(), Ce = Ie(() => hi(o, "translation"), [o]), [He, Ae] = I(null), [Ue] = I(() => /* @__PURE__ */ new Set()), [he, Re] = I({}), K = Ie(() => il(n, e, ve.vcUnknownSpk), [n, e, ve]), ie = me && K.filter((Q) => Q.key >= 0).length > 1, de = He != null && K.some((Q) => Q.key === He) ? He : ((sn = K[0]) == null ? void 0 : sn.key) ?? null, ce = Ie(() => {
3822
+ const Q = Zr(K, H, B);
3822
3823
  for (const [De, Fe] of Object.entries(he[Oe ?? ""] ?? {})) Q.set(Number(De), Fe);
3823
3824
  return Q;
3824
- }, [K, H, he, Oe, B]), Ne = ie && Object.keys(he[Oe ?? ""] ?? {}).length > 0, je = Ie(() => N && !Ne ? Gr(K, H, !1) : null, [N, Ne, K, H]), Y = Ie(() => Ne ? Wr(ce) || null : je && Wr(je) || null, [Ne, ce, je]), U = Ne ? ce : je, F = H.some((Q) => Q.cloned && Q.consent !== "pending"), ee = !!ye && !!(o != null && o.voice.includes(ye)), Me = ee && !M, be = Ie(
3825
+ }, [K, H, he, Oe, B]), Ne = ie && Object.keys(he[Oe ?? ""] ?? {}).length > 0, je = Ie(() => N && !Ne ? Zr(K, H, !1) : null, [N, Ne, K, H]), Y = Ie(() => Ne ? Fr(ce) || null : je && Fr(je) || null, [Ne, ce, je]), U = Ne ? ce : je, F = H.some((Q) => Q.cloned && Q.consent !== "pending"), ee = !!ye && !!(o != null && o.voice.includes(ye)), Me = ee && !M, be = Ie(
3825
3826
  () => n.filter((Q) => !Q.suppressed && !Q.unclear).map((Q) => Q.sentenceId).filter((Q) => Q != null),
3826
3827
  [n]
3827
- ), Te = gl({ recordingId: t, lang: ye, ended: r, cred: a, pickedVoice: f || (Y ?? C), sentenceIds: r && Me ? be : void 0 }), ze = H.find((Q) => Q.id === C) ?? H.find((Q) => {
3828
+ ), Te = Ml({ recordingId: t, lang: ye, ended: r, cred: a, pickedVoice: f || (Y ?? C), sentenceIds: r && Me ? be : void 0 }), ze = H.find((Q) => Q.id === C) ?? H.find((Q) => {
3828
3829
  var De;
3829
3830
  return Q.id === ((De = Te.track) == null ? void 0 : De.voice);
3830
3831
  }) ?? H.find((Q) => Q.default) ?? H[0] ?? null, xe = (ze == null ? void 0 : ze.id) ?? null;
@@ -3833,7 +3834,7 @@ function Zl({ recordingId: t, model: e, rows: n, lenS: s, ended: r, cred: a, lan
3833
3834
  const Q = setInterval(Te.reload, 4e3);
3834
3835
  return () => clearInterval(Q);
3835
3836
  }, [Te.rendering, Te.reload]);
3836
- const Ze = `${t ?? ""}|${ye ?? ""}|${f || (Y ?? C ?? ((rn = Te.track) == null ? void 0 : rn.voiceKey) ?? "default")}`, $e = Vl(Te.clips, n, s, Ze, Ue, (Ft = Te.track) == null ? void 0 : Ft.wordTimes, p, Te.coming);
3837
+ const Ze = `${t ?? ""}|${ye ?? ""}|${f || (Y ?? C ?? ((rn = Te.track) == null ? void 0 : rn.voiceKey) ?? "default")}`, $e = Hl(Te.clips, n, s, Ze, Ue, (Ft = Te.track) == null ? void 0 : Ft.wordTimes, p, Te.coming);
3837
3838
  _(() => {
3838
3839
  var De;
3839
3840
  const Q = (De = n[$e.idx]) == null ? void 0 : De.sentenceId;
@@ -3841,7 +3842,7 @@ function Zl({ recordingId: t, model: e, rows: n, lenS: s, ended: r, cred: a, lan
3841
3842
  }, [$e.idx]), _(() => {
3842
3843
  !ke || !$e.has || (Qe(!1), $e.playing || $e.toggle());
3843
3844
  }, [ke, $e.has]);
3844
- const st = Te.rendering, ot = st ? null : Te.failed ?? null, dt = !1, We = Se && Me, Pe = Se && !Le && Me && !(Te.listed && Te.listed.lang === ye && Te.listed.recordingId === t), lt = {
3845
+ const rt = Te.rendering, ot = rt ? null : Te.failed ?? null, dt = !1, We = Se && Me, Pe = Se && !Le && Me && !(Te.listed && Te.listed.lang === ye && Te.listed.recordingId === t), lt = {
3845
3846
  ...$e,
3846
3847
  has: $e.has || We && r,
3847
3848
  toggle: () => {
@@ -3884,7 +3885,7 @@ function Zl({ recordingId: t, model: e, rows: n, lenS: s, ended: r, cred: a, lan
3884
3885
  return;
3885
3886
  }
3886
3887
  ue(Q);
3887
- }, it = Le ? { ...ys(o, null), flag: /* @__PURE__ */ i(oe, { d: J.langAuto, size: 21, sw: 1.7, style: { color: "currentColor", display: "block" } }) } : q, Cn = c ? g ? /* @__PURE__ */ i("span", { className: "barchip", style: Ot ? { background: "var(--brand-tint)", boxShadow: "0 0 0 1.5px var(--brand)" } : void 0, children: /* @__PURE__ */ i(vn, { flag: it.flag, code: it.code, bordered: !1, onClick: en, style: Zr }) }) : /* @__PURE__ */ i(vn, { flag: it.flag, code: it.code, bordered: !1, onClick: Ve, style: Zr }) : null, tn = J.voiceClone, Ke = Se && (!!Te.track || st), gt = ot ? "var(--conf-low)" : Ke || g && x ? "var(--brand)" : "var(--ink-55)", Ct = st || !!$e.preparing && Se, yt = $e.preparing ? `Speaking this line in ${(ze == null ? void 0 : ze.name) ?? "this voice"}…` : st ? `Preparing this recording in ${(ze == null ? void 0 : ze.name) ?? "this voice"} — it will play as soon as it is ready` : ot ? `This voice could not be prepared: ${ot}` : ee ? me ? "Choose a voice" : ze ? ze.name : ve.vcNoVoice + q.label : `${ve.vcNoVoice}${q.label}`, Tt = /* @__PURE__ */ i($a, { open: P, onClose: mt, keepOpen: (!!g || w) && !ae, value: Le ? null : ye, onSelect: Mt, languages: Ce, title: (g == null ? void 0 : g.title) ?? "SPOKEN LANGUAGE", note: (g == null ? void 0 : g.note) ?? Fl, searchPlaceholder: ve.search, none: "Original", pinned: (Le ? l : ye) ? [Le ? l : ye] : [], recent: re, requireVoice: ae, sticky: w, busy: k }), Yt = Ie(() => H.filter((Q) => Q.cloned && !Q.auto), [H]), bt = (Q) => Q.voiceId ? Yt.find((De) => De.id === `clone:${Q.voiceId}`) ?? null : null, ct = Ie(() => K.filter((Q) => Q.key >= 0), [K]), Ht = Ie(() => {
3888
+ }, st = Le ? { ...ys(o, null), flag: /* @__PURE__ */ i(oe, { d: J.langAuto, size: 21, sw: 1.7, style: { color: "currentColor", display: "block" } }) } : q, Cn = c ? g ? /* @__PURE__ */ i("span", { className: "barchip", style: Ot ? { background: "var(--brand-tint)", boxShadow: "0 0 0 1.5px var(--brand)" } : void 0, children: /* @__PURE__ */ i(vn, { flag: st.flag, code: st.code, bordered: !1, onClick: en, flagOnly: !0, label: st.label }) }) : /* @__PURE__ */ i(vn, { flag: st.flag, code: st.code, bordered: !1, onClick: Ve, flagOnly: !0, label: st.label }) : null, tn = J.voiceClone, Ke = Se && (!!Te.track || rt), gt = ot ? "var(--conf-low)" : Ke || g && x ? "var(--brand)" : "var(--ink-55)", Ct = rt || !!$e.preparing && Se, yt = $e.preparing ? `Speaking this line in ${(ze == null ? void 0 : ze.name) ?? "this voice"}…` : rt ? `Preparing this recording in ${(ze == null ? void 0 : ze.name) ?? "this voice"} — it will play as soon as it is ready` : ot ? `This voice could not be prepared: ${ot}` : ee ? me ? "Choose a voice" : ze ? ze.name : ve.vcNoVoice + q.label : `${ve.vcNoVoice}${q.label}`, Tt = /* @__PURE__ */ i(Qa, { open: P, onClose: mt, keepOpen: (!!g || w) && !ae, value: Le ? null : ye, onSelect: Mt, languages: Ce, title: (g == null ? void 0 : g.title) ?? "SPOKEN LANGUAGE", note: (g == null ? void 0 : g.note) ?? Wl, searchPlaceholder: ve.search, none: "Original", pinned: (Le ? l : ye) ? [Le ? l : ye] : [], recent: re, requireVoice: ae, sticky: w, busy: k }), Yt = Ie(() => H.filter((Q) => Q.cloned && !Q.auto), [H]), bt = (Q) => Q.voiceId ? Yt.find((De) => De.id === `clone:${Q.voiceId}`) ?? null : null, ct = Ie(() => K.filter((Q) => Q.key >= 0), [K]), Ht = Ie(() => {
3888
3889
  const Q = H.filter((Fe) => !Fe.cloned);
3889
3890
  if (!ie) return [...Q, ...r && ct.length === 1 ? Yt.filter((Fe) => Fe.id === `clone:${ct[0].voiceId}`) : []];
3890
3891
  const De = [];
@@ -3894,18 +3895,18 @@ function Zl({ recordingId: t, model: e, rows: n, lenS: s, ended: r, cred: a, lan
3894
3895
  !ft || ft.ready === !1 || ft.consent === "pending" && !E || De.push({ id: ft.id, name: Fe.name, cloned: !0, default: !1, live: !0, auto: !0, gender: Fe.sex ?? ft.gender ?? null, speaker: Fe.key, consent: ft.consent ?? null });
3895
3896
  }
3896
3897
  return [...Q, ...Yt, ...De];
3897
- }, [H, Yt, ie, ct, E, r]), rt = ie ? ct.find((Q) => Q.key === de) ?? null : null, jt = (Q) => {
3898
+ }, [H, Yt, ie, ct, E, r]), it = ie ? ct.find((Q) => Q.key === de) ?? null : null, jt = (Q) => {
3898
3899
  var De;
3899
3900
  return Q ? ((De = H.find((Fe) => Fe.id === Q)) == null ? void 0 : De.gender) ?? null : null;
3900
- }, qe = rt ? rt.sex ?? jt(ce.get(rt.key)) : null, _t = Ie(() => rt ? Ht.filter((Q) => Q.cloned ? Q.live ? Q.speaker === rt.key : Q.id === `clone:${rt.voiceId}` : !0) : Ht, [Ht, rt, qe, ct]), Vt = (Q) => H.find((De) => De.cloned && De.auto && De.speaker === Q) ?? null, ht = { people: ct, gvList: H, autoOf: Vt, savedFor: bt }, Je = ($ == null ? void 0 : $(ht)) ?? 0, Wt = S ? ct.map((Q) => S(Q, ht)).filter((Q) => !!Q) : [], xt = /* @__PURE__ */ h("button", { type: "button", className: "txvoice", "aria-label": "Voice", "aria-pressed": g ? x : void 0, title: Ct || ot ? yt : void 0, style: { cursor: "pointer", background: Ke || Ct || g && x ? "var(--brand-tint)" : "var(--fill-06)", boxShadow: g && x ? "inset 0 0 0 1.5px var(--brand)" : void 0 }, onClick: g ? vt : Bt, children: [
3901
+ }, qe = it ? it.sex ?? jt(ce.get(it.key)) : null, _t = Ie(() => it ? Ht.filter((Q) => Q.cloned ? Q.live ? Q.speaker === it.key : Q.id === `clone:${it.voiceId}` : !0) : Ht, [Ht, it, qe, ct]), Vt = (Q) => H.find((De) => De.cloned && De.auto && De.speaker === Q) ?? null, ht = { people: ct, gvList: H, autoOf: Vt, savedFor: bt }, Je = ($ == null ? void 0 : $(ht)) ?? 0, Wt = S ? ct.map((Q) => S(Q, ht)).filter((Q) => !!Q) : [], xt = /* @__PURE__ */ h("button", { type: "button", className: "txvoice", "aria-label": "Voice", "aria-pressed": g ? x : void 0, title: Ct || ot ? yt : void 0, style: { cursor: "pointer", background: Ke || Ct || g && x ? "var(--brand-tint)" : "var(--fill-06)", boxShadow: g && x ? "inset 0 0 0 1.5px var(--brand)" : void 0 }, onClick: g ? vt : Bt, children: [
3901
3902
  Ct ? /* @__PURE__ */ i("span", { style: { width: 16, height: 16, borderRadius: "50%", border: "2px solid var(--fill-10)", borderTopColor: "var(--brand)", animation: "vs-spin .7s linear infinite" } }) : /* @__PURE__ */ i(oe, { d: tn, size: 17, sw: 1.6, style: { color: gt } }),
3902
3903
  Wt.length > 0 ? /* @__PURE__ */ i("span", { className: "txvoice__warn", title: Wt.join(" · "), children: "!" }) : !!Je && /* @__PURE__ */ i("span", { className: "txvoice__n", title: `${Je} speaker${Je === 1 ? "" : "s"} can get a cloned voice`, children: Je })
3903
3904
  ] }), nn = /* @__PURE__ */ i($t, { open: le, onClose: se, title: ve.vcSheet, titleNode: L, doneLabel: ve.done, children: /* @__PURE__ */ i(
3904
- ll,
3905
+ ol,
3905
3906
  {
3906
3907
  t: ve,
3907
3908
  cast: ie && /* @__PURE__ */ i(
3908
- ol,
3909
+ al,
3909
3910
  {
3910
3911
  t: ve,
3911
3912
  roster: K,
@@ -3924,7 +3925,7 @@ function Zl({ recordingId: t, model: e, rows: n, lenS: s, ended: r, cred: a, lan
3924
3925
  onAdd: (Q) => {
3925
3926
  G.reset(), O == null || O(Q);
3926
3927
  },
3927
- noClone: rt && !_t.some((Q) => Q.cloned) ? (W == null ? void 0 : W(rt, Vt(rt.key), ht)) ?? null : null,
3928
+ noClone: it && !_t.some((Q) => Q.cloned) ? (W == null ? void 0 : W(it, Vt(it.key), ht)) ?? null : null,
3928
3929
  usedBy: ie && de != null ? (Q) => {
3929
3930
  const De = K.filter((Fe) => Fe.key !== de && ce.get(Fe.key) === Q.id);
3930
3931
  return De.length ? De.map((Fe) => Fe.name).join(", ") : null;
@@ -3953,7 +3954,7 @@ function Zl({ recordingId: t, model: e, rows: n, lenS: s, ended: r, cred: a, lan
3953
3954
  nn
3954
3955
  ] }), zt = g && (P || le) ? /* @__PURE__ */ i("div", { className: "vs-side", children: P ? Tt : nn }) : null, xn = We && ot ? `This voice could not be prepared: ${ot}` : null, Dn = dt;
3955
3956
  return {
3956
- barChip: { flag: it.flag, code: it.code, label: it.label, onClick: g || w ? en : Ve, active: !!((g || w) && Ot), can: c },
3957
+ barChip: { flag: st.flag, code: st.code, label: st.label, onClick: g || w ? en : Ve, active: !!((g || w) && Ot), can: c },
3957
3958
  sheetsOpen: P || le,
3958
3959
  on: We,
3959
3960
  player: lt,
@@ -3982,7 +3983,7 @@ function Zl({ recordingId: t, model: e, rows: n, lenS: s, ended: r, cred: a, lan
3982
3983
  savedFor: bt,
3983
3984
  closeVoices: se,
3984
3985
  setSheet: ne,
3985
- selectedSpeaker: rt,
3986
+ selectedSpeaker: it,
3986
3987
  armVoice: G.arm,
3987
3988
  resetPreview: G.reset,
3988
3989
  armedId: G.armId,
@@ -4002,11 +4003,11 @@ function Zl({ recordingId: t, model: e, rows: n, lenS: s, ended: r, cred: a, lan
4002
4003
  langList: { value: Le ? null : ye, onSelect: Mt, languages: Ce, searchPlaceholder: ve.search, none: "Original", pinned: (Le ? l : ye) ? [Le ? l : ye] : [], recent: re }
4003
4004
  };
4004
4005
  }
4005
- function ql({ model: t, rows: e, player: n, fixed: s, applied: r, onFixOpen: a, onWord: o, onFix: l, fixMode: c, fixingId: d, marks: u = !0, fixBadges: g = !0, tail: M, tailFg: p, running: N, desk: w, feedRef: k, listener: m, showLabels: f, find: O, findOpen: D, lang: b, warm: W, onVisible: A, wordHl: te = !0 }) {
4006
+ function Zl({ model: t, rows: e, player: n, fixed: s, applied: r, onFixOpen: a, onWord: o, onFix: l, fixMode: c, fixingId: d, marks: u = !0, fixBadges: g = !0, tail: M, tailFg: p, running: N, desk: w, feedRef: k, listener: m, showLabels: f, find: O, findOpen: D, lang: b, warm: W, onVisible: A, wordHl: te = !0 }) {
4006
4007
  const { playing: j, engaged: S, t: $, idx: L, seekN: z, wordSync: E, clipPos: re } = n;
4007
- Ll(!0, k);
4008
+ wl(!0, k);
4008
4009
  const V = v(null);
4009
- qo(k, V);
4010
+ Zo(k, V);
4010
4011
  const [C, ue] = I(null), P = (O ?? "").trim().toLowerCase(), [Z, le] = I(0), ne = v(0), ae = v(null), we = v(L), ke = (B) => {
4011
4012
  var X;
4012
4013
  return ((X = k.current) == null ? void 0 : X.querySelector(`[data-tx-row="${B}"]`)) ?? null;
@@ -4084,27 +4085,27 @@ function ql({ model: t, rows: e, player: n, fixed: s, applied: r, onFixOpen: a,
4084
4085
  "Now playing"
4085
4086
  ] }) });
4086
4087
  return /* @__PURE__ */ h("div", { ref: k, "data-tx-feed": "1", className: `txfeed${w ? " txfeed--desk" : ""}${D && !N ? " is-find" : ""}`, children: [
4087
- /* @__PURE__ */ i(Ko, { thumbRef: V }),
4088
+ /* @__PURE__ */ i(qo, { thumbRef: V }),
4088
4089
  j && Z === -1 && G("up"),
4089
4090
  e.map((B, X) => {
4090
4091
  var ie;
4091
4092
  const y = j && X === L, R = S && X === L, fe = !!d && d === B.id, H = P && !B.text.toLowerCase().includes(P) && !(b && ((ie = B.translations[b]) != null && ie.toLowerCase().includes(P))) ? 0.22 : !S || X <= L || fe ? 1 : 0.38, me = m ? () => n.playRow(X) : c && l ? () => {
4092
4093
  j && !y && n.seekRow(X), l(B);
4093
- } : j && y ? void 0 : () => n.playRow(X), q = m ? null : el(B, r, s), ve = !!q && (q.script > 0 || q.manual), Ce = w && !!a && C === B.id && !!q && !ve, He = Os(t, B.speaker), Ae = Cs(t, B.speaker), Ue = Ae.lane, he = b && B.translations[b] && B.language !== b ? B.translations[b] : null, Re = bi(e, X, b), K = R && !E && re ? Mi(Re.map((de) => ({ t: de.text, sp: " " })), re) : null;
4094
+ } : j && y ? void 0 : () => n.playRow(X), q = m ? null : Xo(B, r, s), ve = !!q && (q.script > 0 || q.manual), Ce = w && !!a && C === B.id && !!q && !ve, He = Cs(t, B.speaker), Ae = bs(t, B.speaker), Ue = Ae.lane, he = b && B.translations[b] && B.language !== b ? B.translations[b] : null, Re = Ci(e, X, b), K = R && !E && re ? di(Re.map((de) => ({ t: de.text, sp: " " })), re) : null;
4094
4095
  return /* @__PURE__ */ h("div", { "data-tx-row": X, "data-sentence": B.sentenceId, className: `txline${W ? " txline--warm" : ""}${fe ? " txline--fixing" : ""}`, "aria-current": fe || void 0, style: { opacity: H }, onClick: me, onMouseEnter: w && a ? () => ue(B.id) : void 0, onMouseLeave: w && a ? () => ue(null) : void 0, children: [
4095
4096
  /* @__PURE__ */ h("div", { className: "txline__meta", children: [
4096
4097
  /* @__PURE__ */ i("span", { className: "txline__at", children: Lt(B.start) }),
4097
4098
  f && B.speaker >= 0 && /* @__PURE__ */ h(_e, { children: [
4098
- /* @__PURE__ */ i("div", { className: `lanechip bg-lane-${Ue}`, style: Ae.soft ? { background: Ae.soft, color: Ae.fg } : void 0, children: mi(t, B.speaker) }),
4099
+ /* @__PURE__ */ i("div", { className: `lanechip bg-lane-${Ue}`, style: Ae.soft ? { background: Ae.soft, color: Ae.fg } : void 0, children: pi(t, B.speaker) }),
4099
4100
  /* @__PURE__ */ i("span", { className: `txline__who lane-${Ue}`, style: Ae.fg ? { color: Ae.fg } : void 0, children: He }),
4100
- Ae.hasVoice && /* @__PURE__ */ i(Ii, { color: Ae.fg ?? `var(--lane-${Ue})` })
4101
+ Ae.hasVoice && /* @__PURE__ */ i(zi, { color: Ae.fg ?? `var(--lane-${Ue})` })
4101
4102
  ] }),
4102
4103
  y && /* @__PURE__ */ i("span", { title: "Playing", style: { flex: "none", display: "inline-flex", alignItems: "center" }, children: /* @__PURE__ */ i(oe, { d: J.headphones, size: w ? 15 : 14, sw: 1.6, stroke: f && B.speaker >= 0 ? Ae.fg ?? `var(--lane-${Ue})` : "var(--ink-45)" }) }),
4103
- q && g && /* @__PURE__ */ i(tl, { f: q, desk: w, onOpen: a ? () => a(B, !0) : void 0 }),
4104
- Ce && /* @__PURE__ */ i(nl, { alone: !0, onOpen: () => a == null ? void 0 : a(B, !1) })
4104
+ q && g && /* @__PURE__ */ i(el, { f: q, desk: w, onOpen: a ? () => a(B, !0) : void 0 }),
4105
+ Ce && /* @__PURE__ */ i(tl, { alone: !0, onOpen: () => a == null ? void 0 : a(B, !1) })
4105
4106
  ] }),
4106
4107
  /* @__PURE__ */ i("div", { className: "txline__text", children: Re.map((de, ce) => {
4107
- const Ne = `${de.seq}:${de.idx}`, je = wo(de.prob), Y = R && te, U = Y && (E ? $ >= de.start && ($ < de.end || ce === Re.length - 1 || $ < Re[ce + 1].start) : ce === K), F = Y && !U && (E ? de.start > $ : K != null && ce > K), ee = !he && !m && (!!(s != null && s.has(Ne)) || !!de.script), Me = !he && !m && u && !!je && !ee, be = Me ? je === "low" ? "var(--conf-low-half)" : "var(--conf-mid-half)" : null, Te = ee ? "var(--brand)" : F ? "var(--ink-40)" : be ?? "var(--ink-96)";
4108
+ const Ne = `${de.seq}:${de.idx}`, je = To(de.prob), Y = R && te, U = Y && (E ? $ >= de.start && ($ < de.end || ce === Re.length - 1 || $ < Re[ce + 1].start) : ce === K), F = Y && !U && (E ? de.start > $ : K != null && ce > K), ee = !he && !m && (!!(s != null && s.has(Ne)) || !!de.script), Me = !he && !m && u && !!je && !ee, be = Me ? je === "low" ? "var(--conf-low-half)" : "var(--conf-mid-half)" : null, Te = ee ? "var(--brand)" : F ? "var(--ink-40)" : be ?? "var(--ink-96)";
4108
4109
  return /* @__PURE__ */ h("span", { children: [
4109
4110
  /* @__PURE__ */ i(
4110
4111
  "span",
@@ -4140,7 +4141,7 @@ function ql({ model: t, rows: e, player: n, fixed: s, applied: r, onFixOpen: a,
4140
4141
  j && Z === 1 && G("down")
4141
4142
  ] });
4142
4143
  }
4143
- function Kl({ open: t, q: e, onQ: n, onClose: s, hits: r, desk: a, inline: o, flash: l }) {
4144
+ function ql({ open: t, q: e, onQ: n, onClose: s, hits: r, desk: a, inline: o, flash: l }) {
4144
4145
  return /* @__PURE__ */ i("div", { className: o ? "searchbar searchbar--inline" : `searchbar searchbar--float${a ? " searchbar--desk" : ""}${t ? "" : " is-hidden"}`, children: /* @__PURE__ */ h("div", { children: [
4145
4146
  /* @__PURE__ */ i(oe, { d: J.search, size: 16, sw: 1.7, style: { color: "var(--ink-45)", flex: "none" } }),
4146
4147
  /* @__PURE__ */ i("input", { value: e, onChange: (c) => n(c.target.value), onKeyDown: (c) => {
@@ -4154,7 +4155,7 @@ function Kl({ open: t, q: e, onQ: n, onClose: s, hits: r, desk: a, inline: o, fl
4154
4155
  e.trim() && /* @__PURE__ */ i("button", { type: "button", className: "searchbar__x", onClick: () => n(""), "aria-label": "Clear", title: "Clear", children: /* @__PURE__ */ i(oe, { d: J.close, size: 15, sw: 1.7 }) })
4155
4156
  ] }) });
4156
4157
  }
4157
- function Jl(t, e, n, s, r) {
4158
+ function Kl(t, e, n, s, r) {
4158
4159
  const a = v(n);
4159
4160
  a.current = n;
4160
4161
  const o = v(s);
@@ -4184,7 +4185,7 @@ function Jl(t, e, n, s, r) {
4184
4185
  }, []), l;
4185
4186
  }
4186
4187
  const Xt = { formatBits: 0, perBlock: [-1, 10, 16, 26, 18, 24, 16, 18, 22, 22, 26, 30, 22, 22, 24, 24, 28, 28, 26, 26, 26, 26, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28], blocks: [-1, 1, 1, 1, 2, 2, 4, 4, 4, 5, 5, 5, 8, 9, 9, 10, 10, 11, 13, 14, 16, 17, 17, 18, 20, 21, 23, 25, 26, 28, 29, 31, 33, 35, 37, 38, 40, 43, 45, 47, 49] };
4187
- function xi(t) {
4188
+ function bi(t) {
4188
4189
  let e = (16 * t + 128) * t + 64;
4189
4190
  if (t >= 2) {
4190
4191
  const n = Math.floor(t / 7) + 2;
@@ -4192,14 +4193,14 @@ function xi(t) {
4192
4193
  }
4193
4194
  return e;
4194
4195
  }
4195
- const Kr = (t) => Math.floor(xi(t) / 8) - Xt.perBlock[t] * Xt.blocks[t];
4196
+ const Kr = (t) => Math.floor(bi(t) / 8) - Xt.perBlock[t] * Xt.blocks[t];
4196
4197
  function ws(t, e) {
4197
4198
  let n = 0;
4198
4199
  for (let s = 7; s >= 0; s--)
4199
4200
  n = n << 1 ^ (n >>> 7) * 285, n ^= (e >>> s & 1) * t;
4200
4201
  return n;
4201
4202
  }
4202
- function Xl(t) {
4203
+ function Jl(t) {
4203
4204
  const e = new Array(t).fill(0);
4204
4205
  e[t - 1] = 1;
4205
4206
  let n = 1;
@@ -4209,7 +4210,7 @@ function Xl(t) {
4209
4210
  }
4210
4211
  return e;
4211
4212
  }
4212
- function ec(t, e) {
4213
+ function Xl(t, e) {
4213
4214
  const n = new Array(e.length).fill(0);
4214
4215
  for (const s of t) {
4215
4216
  const r = s ^ n.shift();
@@ -4219,13 +4220,13 @@ function ec(t, e) {
4219
4220
  }
4220
4221
  return n;
4221
4222
  }
4222
- function tc(t) {
4223
+ function ec(t) {
4223
4224
  if (t === 1) return [];
4224
4225
  const e = Math.floor(t / 7) + 2, n = t * 4 + 17, s = t === 32 ? 26 : Math.ceil((t * 4 + 4) / (e * 2 - 2)) * 2, r = [6];
4225
4226
  for (let a = n - 7; r.length < e; a -= s) r.splice(1, 0, a);
4226
4227
  return r;
4227
4228
  }
4228
- function nc(t) {
4229
+ function tc(t) {
4229
4230
  const e = Array.from(new TextEncoder().encode(t));
4230
4231
  let n = 1;
4231
4232
  for (; n <= 40 && !(4 + (n <= 9 ? 8 : 16) + e.length * 8 <= Kr(n) * 8); n++)
@@ -4240,11 +4241,11 @@ function nc(t) {
4240
4241
  for (let L = 236; a.length < r; L ^= 253) o(L, 8);
4241
4242
  const l = [];
4242
4243
  for (let L = 0; L < a.length; L += 8) l.push(a.slice(L, L + 8).reduce((z, E) => z << 1 | E, 0));
4243
- const c = Xt.blocks[n], d = Xt.perBlock[n], u = Math.floor(xi(n) / 8), g = c - u % c, M = Math.floor(u / c), p = [], N = Xl(d);
4244
+ const c = Xt.blocks[n], d = Xt.perBlock[n], u = Math.floor(bi(n) / 8), g = c - u % c, M = Math.floor(u / c), p = [], N = Jl(d);
4244
4245
  for (let L = 0, z = 0; L < c; L++) {
4245
4246
  const E = l.slice(z, z + M - d + (L < g ? 0 : 1));
4246
4247
  z += E.length;
4247
- const re = ec(E, N);
4248
+ const re = Xl(E, N);
4248
4249
  L < g && E.push(0), p.push(E.concat(re));
4249
4250
  }
4250
4251
  const w = [];
@@ -4263,7 +4264,7 @@ function nc(t) {
4263
4264
  }
4264
4265
  };
4265
4266
  O(3, 3), O(s - 4, 3), O(3, s - 4);
4266
- const D = tc(n);
4267
+ const D = ec(n);
4267
4268
  for (let L = 0; L < D.length; L++) for (let z = 0; z < D.length; z++)
4268
4269
  if (!(L === 0 && z === 0 || L === 0 && z === D.length - 1 || L === D.length - 1 && z === 0))
4269
4270
  for (let E = -2; E <= 2; E++) for (let re = -2; re <= 2; re++) f(D[L] + re, D[z] + E, Math.max(Math.abs(re), Math.abs(E)) !== 1);
@@ -4350,30 +4351,30 @@ function nc(t) {
4350
4351
  }
4351
4352
  return te(S), b(S), k;
4352
4353
  }
4353
- function sc(t) {
4354
- const e = nc(t), n = e.length, s = 2;
4354
+ function nc(t) {
4355
+ const e = tc(t), n = e.length, s = 2;
4355
4356
  let r = "";
4356
4357
  for (let o = 0; o < n; o++) for (let l = 0; l < n; l++) e[o][l] && (r += `M${l} ${o}h1v1h-1z`);
4357
4358
  const a = `<svg xmlns="http://www.w3.org/2000/svg" viewBox="${-s} ${-s} ${n + s * 2} ${n + s * 2}" shape-rendering="crispEdges"><rect x="${-s}" y="${-s}" width="${n + s * 2}" height="${n + s * 2}" fill="#fff"/><path fill="#111" d="${r}"/></svg>`;
4358
4359
  return `data:image/svg+xml,${encodeURIComponent(a)}`;
4359
4360
  }
4360
- const Di = "M3.75 3.75v4.5m0-4.5h4.5m-4.5 0L9 9M3.75 20.25v-4.5m0 4.5h4.5m-4.5 0L9 15M20.25 3.75h-4.5m4.5 0v4.5m0-4.5L15 9m5.25 11.25h-4.5m4.5 0v-4.5m0 4.5L15 15", rc = "M9 9V4.5M9 9H4.5M9 9 3.75 3.75M9 15v4.5M9 15H4.5M9 15l-5.25 5.25M15 9h4.5M15 9V4.5M15 9l5.25-5.25M15 15h4.5M15 15v4.5m0-4.5 5.25 5.25";
4361
+ const xi = "M3.75 3.75v4.5m0-4.5h4.5m-4.5 0L9 9M3.75 20.25v-4.5m0 4.5h4.5m-4.5 0L9 15M20.25 3.75h-4.5m4.5 0v4.5m0-4.5L15 9m5.25 11.25h-4.5m4.5 0v-4.5m0 4.5L15 15", sc = "M9 9V4.5M9 9H4.5M9 9 3.75 3.75M9 15v4.5M9 15H4.5M9 15l-5.25 5.25M15 9h4.5M15 9V4.5M15 9l5.25-5.25M15 15h4.5M15 15v4.5m0-4.5 5.25 5.25";
4361
4362
  function os() {
4362
4363
  const t = document;
4363
4364
  return t.fullscreenElement ?? t.webkitFullscreenElement ?? null;
4364
4365
  }
4365
- let Ss = null;
4366
+ let As = null;
4366
4367
  function Jr(t) {
4367
- Ss = t;
4368
+ As = t;
4368
4369
  }
4369
4370
  function Xr() {
4370
4371
  const t = document;
4371
4372
  return !!(t.fullscreenEnabled || t.webkitFullscreenEnabled);
4372
4373
  }
4373
- function ic() {
4374
+ function rc() {
4374
4375
  var e;
4375
4376
  if (typeof document > "u" || !((e = window.matchMedia) != null && e.call(window, "(pointer: coarse)").matches)) return !1;
4376
- const t = Ss ?? document.documentElement;
4377
+ const t = As ?? document.documentElement;
4377
4378
  return !t.requestFullscreen && !t.webkitRequestFullscreen;
4378
4379
  }
4379
4380
  function Kt(t) {
@@ -4383,7 +4384,7 @@ function Kt(t) {
4383
4384
  function wn(t) {
4384
4385
  var r, a, o, l;
4385
4386
  if (typeof document > "u") return;
4386
- const e = document, n = Ss ?? document.documentElement, s = e.fullscreenElement ?? e.webkitFullscreenElement;
4387
+ const e = document, n = As ?? document.documentElement, s = e.fullscreenElement ?? e.webkitFullscreenElement;
4387
4388
  try {
4388
4389
  t && !s && ((a = (r = n.requestFullscreen ?? n.webkitRequestFullscreen) == null ? void 0 : r.call(n, { navigationUI: "hide" })) == null || a.catch(() => {
4389
4390
  })), !t && s && ((l = (o = e.exitFullscreen ?? e.webkitExitFullscreen) == null ? void 0 : o.call(e)) == null || l.catch(() => {
@@ -4391,7 +4392,7 @@ function wn(t) {
4391
4392
  } catch {
4392
4393
  }
4393
4394
  }
4394
- function ac(t) {
4395
+ function ic(t) {
4395
4396
  const [e, n] = I(() => {
4396
4397
  var s;
4397
4398
  return typeof window < "u" && !!((s = window.matchMedia) != null && s.call(window, t).matches);
@@ -4443,7 +4444,7 @@ function Ln({ pos: t, interactive: e, axis: n = "x" }) {
4443
4444
  /* @__PURE__ */ i("span", { className: "gfull__t gfull__end", style: { color: t.live ? "#ec634d" : "rgba(234,236,250,.6)" }, children: t.endLabel })
4444
4445
  ] });
4445
4446
  }
4446
- function Vc({ pos: t }) {
4447
+ function Hc({ pos: t }) {
4447
4448
  const [e, n] = I(null), s = (l) => {
4448
4449
  const c = l.currentTarget.getBoundingClientRect();
4449
4450
  return Math.min(1, Math.max(0, (l.clientX - c.left) / Math.max(1, c.width)));
@@ -4497,7 +4498,7 @@ function kn({ t, mini: e }) {
4497
4498
  disabled: !t.playable,
4498
4499
  style: { background: t.playable ? t.playing ? "rgba(238,240,248,.92)" : "var(--brand)" : "rgba(5,6,21,.42)", color: t.playable ? t.playing ? "#131326" : "var(--brand-ink)" : "rgba(234,236,250,.5)", cursor: t.playable ? "pointer" : "default" },
4499
4500
  onClick: t.onPlay,
4500
- children: t.busy ? /* @__PURE__ */ i("span", { className: "gfull__spin", "aria-hidden": "true" }) : t.playing ? /* @__PURE__ */ i(va, { size: e ? 14 : 18 }) : /* @__PURE__ */ i(vs, { size: e ? 15 : 19 })
4501
+ children: t.busy ? /* @__PURE__ */ i("span", { className: "gfull__spin", "aria-hidden": "true" }) : t.playing ? /* @__PURE__ */ i(ka, { size: e ? 14 : 18 }) : /* @__PURE__ */ i(vs, { size: e ? 15 : 19 })
4501
4502
  }
4502
4503
  ),
4503
4504
  /* @__PURE__ */ i("button", { type: "button", className: "gfull__step", "aria-label": "Next line", title: "Next line", style: { opacity: t.nextOn ? 1 : 0.3 }, onClick: t.onNext, children: /* @__PURE__ */ i(oe, { d: J.chevronRight, size: e ? 13 : 16, sw: e ? 1.8 : 1.9 }) })
@@ -4505,7 +4506,7 @@ function kn({ t, mini: e }) {
4505
4506
  }
4506
4507
  function Ls({ live: t, mini: e, desk: n, pct: s, mark: r }) {
4507
4508
  return /* @__PURE__ */ h("div", { className: `gfull__brand${r ? " gfull__brand--mark" : ""}`, children: [
4508
- /* @__PURE__ */ i("a", { href: ri, target: "_blank", rel: "noopener", style: { display: "block", lineHeight: 0 }, "aria-label": "VocalStack", title: "VocalStack", children: r ? /* @__PURE__ */ i(ii, { dark: !0, size: 22 }) : /* @__PURE__ */ i(In, { dark: !0, link: !1, height: e ? 11 : n ? 18 : 15 }) }),
4509
+ /* @__PURE__ */ i("a", { href: ri, target: "_blank", rel: "noopener", style: { display: "block", lineHeight: 0 }, "aria-label": "VocalStack", title: "VocalStack", children: r ? /* @__PURE__ */ i(js, { dark: !0, size: 22 }) : /* @__PURE__ */ i(In, { dark: !0, link: !1, height: e ? 11 : n ? 18 : 15 }) }),
4509
4510
  t && /* @__PURE__ */ h("span", { className: "gfull__live", children: [
4510
4511
  /* @__PURE__ */ i("i", {}),
4511
4512
  "LIVE"
@@ -4513,10 +4514,10 @@ function Ls({ live: t, mini: e, desk: n, pct: s, mark: r }) {
4513
4514
  s != null && /* @__PURE__ */ i("span", { className: "gfull__txpct", title: "Still being transcribed: it plays as far as it is written", children: `TRANSCRIBING ${s}%` })
4514
4515
  ] });
4515
4516
  }
4516
- function Si({ v: t, size: e }) {
4517
+ function Di({ v: t, size: e }) {
4517
4518
  return /* @__PURE__ */ i("button", { type: "button", className: "gfull__btn", "aria-label": "Voices", title: t.title, disabled: !t.on, style: { opacity: t.on ? 1 : 0.45, cursor: t.on ? "pointer" : "default" }, onClick: t.on ? t.onClick : void 0, children: /* @__PURE__ */ i(oe, { d: J.headphones, size: e, sw: 1.6 }) });
4518
4519
  }
4519
- function oc({ pos: t, transport: e, chip: n, voices: s, onShare: r, onFull: a, copied: o }) {
4520
+ function ac({ pos: t, transport: e, chip: n, voices: s, onShare: r, onFull: a, copied: o }) {
4520
4521
  return /* @__PURE__ */ h("div", { className: "gmini", "data-theme": "dark", children: [
4521
4522
  /* @__PURE__ */ i("div", { className: "gmini__shade", "aria-hidden": "true" }),
4522
4523
  /* @__PURE__ */ i("div", { className: "gmini__top", children: /* @__PURE__ */ i(Ls, { live: t.live, mini: !0 }) }),
@@ -4526,18 +4527,18 @@ function oc({ pos: t, transport: e, chip: n, voices: s, onShare: r, onFull: a, c
4526
4527
  /* @__PURE__ */ i(kn, { t: e, mini: !0 }),
4527
4528
  /* @__PURE__ */ i("span", { style: { flex: 1 } }),
4528
4529
  /* @__PURE__ */ i("div", { className: "gfull__chip", children: n }),
4529
- /* @__PURE__ */ i(Si, { v: s, size: 14 }),
4530
+ /* @__PURE__ */ i(Di, { v: s, size: 14 }),
4530
4531
  r && /* @__PURE__ */ i("button", { type: "button", className: "gfull__btn", "aria-label": "Share", title: "Share", onClick: (l) => {
4531
4532
  l.stopPropagation(), r();
4532
4533
  }, children: /* @__PURE__ */ i(oe, { d: J.share, size: 13, sw: 1.8 }) }),
4533
- /* @__PURE__ */ i("button", { type: "button", className: "gfull__btn", "aria-label": "Full screen", title: "Full screen", onClick: a, children: /* @__PURE__ */ i(oe, { d: Di, size: 14, sw: 1.8 }) })
4534
+ /* @__PURE__ */ i("button", { type: "button", className: "gfull__btn", "aria-label": "Full screen", title: "Full screen", onClick: a, children: /* @__PURE__ */ i(oe, { d: xi, size: 14, sw: 1.8 }) })
4534
4535
  ] })
4535
4536
  ] }),
4536
4537
  o
4537
4538
  ] });
4538
4539
  }
4539
- const lc = { color: "rgba(255,255,255,.4)" };
4540
- function Ai({ compact: t = !1, noFull: e = !1, page: n = !0, picture: s, title: r, desk: a, pos: o, sub: l, wait: c, pct: d, mute: u, cc: g, ad: M, chip: p, transport: N, picker: w, sheet: k, voices: m, voicesBtn: f, sheetOpen: O, onShare: D, onSettings: b, paused: W, copied: A, onTouch: te, onClose: j }) {
4540
+ const oc = { color: "rgba(255,255,255,.4)" };
4541
+ function Si({ compact: t = !1, noFull: e = !1, page: n = !0, picture: s, title: r, desk: a, pos: o, sub: l, wait: c, pct: d, mute: u, cc: g, ad: M, chip: p, transport: N, picker: w, sheet: k, voices: m, voicesBtn: f, sheetOpen: O, onShare: D, onSettings: b, paused: W, copied: A, onTouch: te, onClose: j }) {
4541
4542
  const [S, $] = I(() => !!os());
4542
4543
  _(() => {
4543
4544
  const K = () => $(!!os());
@@ -4563,7 +4564,7 @@ function Ai({ compact: t = !1, noFull: e = !1, page: n = !0, picture: s, title:
4563
4564
  }), de && ce && (de.content = ce);
4564
4565
  };
4565
4566
  }, []);
4566
- const P = Ie(() => n && ic(), [n]), [Z, le] = I(P);
4567
+ const P = Ie(() => n && rc(), [n]), [Z, le] = I(P);
4567
4568
  _(() => {
4568
4569
  if (!n) return;
4569
4570
  const K = [document.documentElement, document.body], ie = K.map((Ne) => [Ne.style.overflow, Ne.style.overscrollBehavior]);
@@ -4594,7 +4595,7 @@ function Ai({ compact: t = !1, noFull: e = !1, page: n = !0, picture: s, title:
4594
4595
  window.removeEventListener("keydown", ie, !0), window.removeEventListener("keyup", de, !0);
4595
4596
  };
4596
4597
  }, []);
4597
- const ae = ac("(orientation: landscape) and (max-height: 540px)"), we = v(null), [ke, Qe] = I(null);
4598
+ const ae = ic("(orientation: landscape) and (max-height: 540px)"), we = v(null), [ke, Qe] = I(null);
4598
4599
  Qt(() => {
4599
4600
  const K = we.current;
4600
4601
  if (!K || (Qe(K.getBoundingClientRect().width), typeof ResizeObserver > "u")) return;
@@ -4627,7 +4628,7 @@ function Ai({ compact: t = !1, noFull: e = !1, page: n = !0, picture: s, title:
4627
4628
  }, [y, B]);
4628
4629
  const [R, fe] = I(!0), [H, me] = I(!1), q = v(void 0);
4629
4630
  _(() => () => window.clearTimeout(q.current), []);
4630
- const ve = W != null && W.share ? W.share.url(R && W.share.at >= 1 ? Math.floor(W.share.at) : null) : "", Ce = Ie(() => Le && ve && !N.playing ? sc(ve) : "", [Le, ve, N.playing]), He = () => {
4631
+ const ve = W != null && W.share ? W.share.url(R && W.share.at >= 1 ? Math.floor(W.share.at) : null) : "", Ce = Ie(() => Le && ve && !N.playing ? nc(ve) : "", [Le, ve, N.playing]), He = () => {
4631
4632
  var K;
4632
4633
  (K = navigator.clipboard) == null || K.writeText(ve).then(() => {
4633
4634
  me(!0), window.clearTimeout(q.current), q.current = window.setTimeout(() => me(!1), 1800);
@@ -4648,16 +4649,16 @@ function Ai({ compact: t = !1, noFull: e = !1, page: n = !0, picture: s, title:
4648
4649
  /* @__PURE__ */ i(oe, { d: H ? J.check : J.copy, size: 14, sw: 1.8 }),
4649
4650
  H ? "Copied" : "Copy link"
4650
4651
  ] }),
4651
- /* @__PURE__ */ h("button", { type: "button", className: "gfull__sharebtn", onClick: () => Ds(ve, r), children: [
4652
+ /* @__PURE__ */ h("button", { type: "button", className: "gfull__sharebtn", onClick: () => Ss(ve, r), children: [
4652
4653
  /* @__PURE__ */ i(oe, { d: J.share, size: 14, sw: 1.6 }),
4653
4654
  "Share"
4654
4655
  ] })
4655
4656
  ] })
4656
4657
  ] })
4657
4658
  ] }), Ue = (K, ie, de, ce, Ne, je = 0) => /* @__PURE__ */ i("button", { type: "button", className: "gfull__btn", title: K, "aria-label": K, onClick: ce, children: /* @__PURE__ */ i(oe, { d: ie, size: (Le ? 20 : Se ? 15 : 18) + je, sw: de, style: Ne }) }), he = /* @__PURE__ */ h("div", { className: "gfull__acts", children: [
4658
- f && /* @__PURE__ */ i(Si, { v: f, size: Le ? 20 : Se ? 15 : 18 }),
4659
+ f && /* @__PURE__ */ i(Di, { v: f, size: Le ? 20 : Se ? 15 : 18 }),
4659
4660
  D && Ue("Share", J.share, 1.6, D),
4660
- Xr() && !e && Ue(S ? "Exit full screen" : "Full screen", S ? rc : Di, 1.7, () => wn(!S)),
4661
+ Xr() && !e && Ue(S ? "Exit full screen" : "Full screen", S ? sc : xi, 1.7, () => wn(!S)),
4661
4662
  j && Ue("Close player", J.close, 1.7, j)
4662
4663
  ] }), Re = (u || g || b) && /* @__PURE__ */ h("div", { className: "gfull__top", children: [
4663
4664
  u && Ue(u.muted ? "Unmute" : "Mute", u.muted ? J.volumeOff : J.volume, 1.6, u.onToggle),
@@ -4690,7 +4691,10 @@ function Ai({ compact: t = !1, noFull: e = !1, page: n = !0, picture: s, title:
4690
4691
  /* @__PURE__ */ i("div", { className: "gfull__shade", "aria-hidden": "true" }),
4691
4692
  W && !M && /* @__PURE__ */ h("div", { className: `gfull__pausedinfo${N.playing ? "" : " gfull__pausedinfo--on"}`, "aria-hidden": N.playing, children: [
4692
4693
  /* @__PURE__ */ h("div", { className: "gfull__pausedtext", children: [
4693
- /* @__PURE__ */ i("div", { className: "gfull__pausedtitle", children: W.title }),
4694
+ /* @__PURE__ */ h("div", { className: "gfull__pausedhead", children: [
4695
+ (Se || ye) && /* @__PURE__ */ i("span", { className: "gfull__pausedmark", "aria-hidden": "true", children: /* @__PURE__ */ i(js, { dark: !0, size: 20 }) }),
4696
+ /* @__PURE__ */ i("div", { className: "gfull__pausedtitle", children: W.title })
4697
+ ] }),
4694
4698
  W.summary && /* @__PURE__ */ i("div", { className: "gfull__pausedsum", children: W.summary })
4695
4699
  ] }),
4696
4700
  Ae
@@ -4719,7 +4723,7 @@ function Ai({ compact: t = !1, noFull: e = !1, page: n = !0, picture: s, title:
4719
4723
  ] }),
4720
4724
  " "
4721
4725
  ] }),
4722
- l.words.map((K, ie) => /* @__PURE__ */ h("span", { "data-said": K.dim ? void 0 : "", "data-at": l.cursor != null && ie <= l.cursor ? "" : void 0, style: K.dim ? lc : void 0, children: [
4726
+ l.words.map((K, ie) => /* @__PURE__ */ h("span", { "data-said": K.dim ? void 0 : "", "data-at": l.cursor != null && ie <= l.cursor ? "" : void 0, style: K.dim ? oc : void 0, children: [
4723
4727
  K.t,
4724
4728
  K.sp
4725
4729
  ] }, ie))
@@ -4756,10 +4760,10 @@ function Ai({ compact: t = !1, noFull: e = !1, page: n = !0, picture: s, title:
4756
4760
  }
4757
4761
  );
4758
4762
  }
4759
- function cc({ dark: t, back: e, home: n, live: s, title: r, badge: a, subline: o, onOptions: l, optionsActive: c }) {
4763
+ function lc({ dark: t, back: e, home: n, live: s, title: r, badge: a, subline: o, onOptions: l, optionsActive: c }) {
4760
4764
  return /* @__PURE__ */ h("div", { className: "ghead", children: [
4761
4765
  e && /* @__PURE__ */ i("button", { type: "button", className: "ghead__back", "aria-label": "Back", title: "Back", onClick: e, children: /* @__PURE__ */ i(oe, { d: J.chevronLeft, size: 19, sw: 1.7 }) }),
4762
- s && /* @__PURE__ */ i("span", { className: "mark", children: /* @__PURE__ */ i(ii, { dark: t, size: 30 }) }),
4766
+ s && /* @__PURE__ */ i("span", { className: "mark", children: /* @__PURE__ */ i(js, { dark: t, size: 30 }) }),
4763
4767
  /* @__PURE__ */ i("div", { style: { flex: 1, minWidth: 0, display: "flex" }, children: n ? /* @__PURE__ */ i("div", { className: "ghead__logo", children: /* @__PURE__ */ i(In, { dark: t, height: 22 }) }) : /* @__PURE__ */ h("div", { className: "ghead__title", onClick: e, title: e ? "Back" : void 0, style: { cursor: e ? "pointer" : "default" }, children: [
4764
4768
  /* @__PURE__ */ h("div", { style: { display: "flex", alignItems: "center", gap: 8 }, children: [
4765
4769
  /* @__PURE__ */ i("span", { className: "ghead__name", children: r }),
@@ -4767,20 +4771,20 @@ function cc({ dark: t, back: e, home: n, live: s, title: r, badge: a, subline: o
4767
4771
  ] }),
4768
4772
  o && /* @__PURE__ */ i("div", { className: "ghead__sub", children: o })
4769
4773
  ] }) }),
4770
- /* @__PURE__ */ i(ja, { size: "sm", bordered: !1, variant: c ? "primary" : void 0, onClick: l, label: "Options", children: /* @__PURE__ */ h("svg", { viewBox: "0 0 24 24", width: "19", height: "19", fill: "currentColor", "aria-hidden": "true", children: [
4774
+ /* @__PURE__ */ i(va, { size: "sm", bordered: !1, variant: c ? "primary" : void 0, onClick: l, label: "Options", children: /* @__PURE__ */ h("svg", { viewBox: "0 0 24 24", width: "19", height: "19", fill: "currentColor", "aria-hidden": "true", children: [
4771
4775
  /* @__PURE__ */ i("circle", { cx: "12", cy: "5.5", r: "1.85" }),
4772
4776
  /* @__PURE__ */ i("circle", { cx: "12", cy: "12", r: "1.85" }),
4773
4777
  /* @__PURE__ */ i("circle", { cx: "12", cy: "18.5", r: "1.85" })
4774
4778
  ] }) })
4775
4779
  ] });
4776
4780
  }
4777
- const uc = "m15.75 10.5 4.72-4.72a.75.75 0 0 1 1.28.53v11.38a.75.75 0 0 1-1.28.53l-4.72-4.72M4.5 18.75h9a2.25 2.25 0 0 0 2.25-2.25v-9a2.25 2.25 0 0 0-2.25-2.25h-9A2.25 2.25 0 0 0 2.25 7.5v9a2.25 2.25 0 0 0 2.25 2.25Z", dc = (t, e = !1) => [{ value: "read", label: t.read, icon: /* @__PURE__ */ i(oe, { d: J.book, size: 17 }) }, { value: "listen", label: /* @__PURE__ */ i("span", { style: { display: "inline-block", minWidth: 52, textAlign: "center" }, children: e ? t.watch : t.listen }), icon: /* @__PURE__ */ i(oe, { d: e ? uc : J.headphones, size: 19, sw: 1.5 }) }];
4778
- function Mc(t) {
4781
+ const cc = "m15.75 10.5 4.72-4.72a.75.75 0 0 1 1.28.53v11.38a.75.75 0 0 1-1.28.53l-4.72-4.72M4.5 18.75h9a2.25 2.25 0 0 0 2.25-2.25v-9a2.25 2.25 0 0 0-2.25-2.25h-9A2.25 2.25 0 0 0 2.25 7.5v9a2.25 2.25 0 0 0 2.25 2.25Z", uc = (t, e = !1) => [{ value: "read", label: t.read, icon: /* @__PURE__ */ i(oe, { d: J.book, size: 17 }) }, { value: "listen", label: /* @__PURE__ */ i("span", { style: { display: "inline-block", minWidth: 52, textAlign: "center" }, children: e ? t.watch : t.listen }), icon: /* @__PURE__ */ i(oe, { d: e ? cc : J.headphones, size: 19, sw: 1.5 }) }];
4782
+ function dc(t) {
4779
4783
  if (!t.lang) return null;
4780
4784
  const e = t.langName;
4781
4785
  return t.translateFailed === t.lang ? { kind: "translateFailed", lang: e } : t.voiceFailed ? { kind: "voiceFailed", lang: e } : t.translating ? { kind: "translating", lang: e } : t.starting != null ? { kind: "starting", lang: e, since: t.starting } : t.relang || t.slowLine ? { kind: "voice", lang: e, since: t.lineSince } : null;
4782
4786
  }
4783
- function gc(t, e) {
4787
+ function Mc(t, e) {
4784
4788
  const [n, s] = I(null), [r, a] = I(!1);
4785
4789
  return _(() => {
4786
4790
  if (!t) {
@@ -4793,8 +4797,8 @@ function gc(t, e) {
4793
4797
  return () => clearTimeout(l);
4794
4798
  }, [t, e]), [r, n];
4795
4799
  }
4796
- const hc = (t) => `${Math.floor(t / 60)}:${String(t % 60).padStart(2, "0")}`;
4797
- function fc({ state: t, line: e, onRetry: n, onOriginal: s }) {
4800
+ const gc = (t) => `${Math.floor(t / 60)}:${String(t % 60).padStart(2, "0")}`;
4801
+ function hc({ state: t, line: e, onRetry: n, onOriginal: s }) {
4798
4802
  const [r, a] = I(() => Date.now());
4799
4803
  _(() => {
4800
4804
  if (t.since == null) return;
@@ -4827,7 +4831,7 @@ function fc({ state: t, line: e, onRetry: n, onOriginal: s }) {
4827
4831
  /* @__PURE__ */ h("div", { className: "pwait__head", children: [
4828
4832
  l ? /* @__PURE__ */ i("div", { className: "pwait__mark", "aria-hidden": "true", children: /* @__PURE__ */ i(oe, { d: J.warnCircle, size: 18, sw: 1.8 }) }) : /* @__PURE__ */ i("div", { className: "pwait__spin", "aria-hidden": "true" }),
4829
4833
  /* @__PURE__ */ i("div", { className: "pwait__t", children: c }),
4830
- !l && o != null && o >= 3 && /* @__PURE__ */ i("div", { className: "pwait__clock", "aria-label": `${o} seconds`, children: hc(o) })
4834
+ !l && o != null && o >= 3 && /* @__PURE__ */ i("div", { className: "pwait__clock", "aria-label": `${o} seconds`, children: gc(o) })
4831
4835
  ] }),
4832
4836
  /* @__PURE__ */ i("div", { className: "pwait__note", children: d }),
4833
4837
  !l && /* @__PURE__ */ i("div", { className: "pwait__bar", "aria-hidden": "true", children: /* @__PURE__ */ i("div", {}) }),
@@ -4840,13 +4844,13 @@ function fc({ state: t, line: e, onRetry: n, onOriginal: s }) {
4840
4844
  }
4841
4845
  );
4842
4846
  }
4843
- const As = "https://app.vocalstack.com", Nc = "/connect/transcribe";
4844
- function pc() {
4847
+ const Es = "https://app.vocalstack.com", fc = "/connect/transcribe";
4848
+ function Nc() {
4845
4849
  const t = new Uint8Array(24);
4846
4850
  return crypto.getRandomValues(t), btoa(String.fromCharCode(...t)).replace(/\+/g, "-").replace(/\//g, "_").replace(/=+$/, "");
4847
4851
  }
4848
- function Ei(t, e, n) {
4849
- const s = new URL(t ?? As), r = pc(), a = new URL(Nc, s);
4852
+ function Ai(t, e, n) {
4853
+ const s = new URL(t ?? Es), r = Nc(), a = new URL(fc, s);
4850
4854
  e.url && a.searchParams.set("url", e.url), e.transcription && a.searchParams.set("transcription", e.transcription), e.ask && a.searchParams.set("ask", "1"), e.connect && a.searchParams.set("connect", "1"), a.searchParams.set("origin", window.location.origin), a.searchParams.set("nonce", r);
4851
4855
  const o = 480, l = 640, c = Math.max(0, (window.screenX ?? 0) + ((window.outerWidth ?? o) - o) / 2), d = Math.max(0, (window.screenY ?? 0) + ((window.outerHeight ?? l) - l) / 2), u = window.open(a.toString(), "vocalstack-connect", `popup=yes,width=${o},height=${l},left=${Math.round(c)},top=${Math.round(d)}`);
4852
4856
  return u ? new Promise((g, M) => {
@@ -4886,33 +4890,33 @@ function Ei(t, e, n) {
4886
4890
  }, 500);
4887
4891
  }) : Promise.reject(new Error("Your browser blocked the VocalStack window. Allow pop-ups for this site and try again."));
4888
4892
  }
4889
- async function mc(t, e, n) {
4890
- const s = await Ei(t, { url: e }, n);
4893
+ async function pc(t, e, n) {
4894
+ const s = await Ai(t, { url: e }, n);
4891
4895
  return s === "connected" ? null : s;
4892
4896
  }
4893
- const Yi = "vsp.connected";
4894
- function yc(t) {
4897
+ const Ei = "vsp.connected";
4898
+ function mc(t) {
4895
4899
  try {
4896
- return localStorage.getItem(Yi) === new URL(t ?? As).origin;
4900
+ return localStorage.getItem(Ei) === new URL(t ?? Es).origin;
4897
4901
  } catch {
4898
4902
  return !1;
4899
4903
  }
4900
4904
  }
4901
- function Tc(t) {
4905
+ function yc(t) {
4902
4906
  try {
4903
- localStorage.setItem(Yi, new URL(t ?? As).origin);
4907
+ localStorage.setItem(Ei, new URL(t ?? Es).origin);
4904
4908
  } catch {
4905
4909
  }
4906
4910
  }
4907
- const wc = {
4911
+ const Tc = {
4908
4912
  "signing-in": "Sign in to VocalStack in the window that opened…",
4909
4913
  consent: "Confirm in the VocalStack window…",
4910
4914
  looking: "Looking for your transcription of this video…",
4911
4915
  confirm: "Confirm in the VocalStack window…",
4912
4916
  checking: "Checking the link…",
4913
4917
  starting: "Starting the transcription…"
4914
- }, Lc = /^(https?:\/\/)?([\w-]+\.)+[a-z]{2,}(\/\S*)?$/i;
4915
- function kc({ options: t, onStarted: e, onReplay: n, onClose: s }) {
4918
+ }, wc = /^(https?:\/\/)?([\w-]+\.)+[a-z]{2,}(\/\S*)?$/i;
4919
+ function Lc({ options: t, onStarted: e, onReplay: n, onClose: s }) {
4916
4920
  const [r, a] = I(""), [o, l] = I(!1), [c, d] = I(null), [u, g] = I(null);
4917
4921
  _(() => {
4918
4922
  const w = (k) => {
@@ -4920,11 +4924,11 @@ function kc({ options: t, onStarted: e, onReplay: n, onClose: s }) {
4920
4924
  };
4921
4925
  return window.addEventListener("keydown", w), () => window.removeEventListener("keydown", w);
4922
4926
  }, [s]);
4923
- const M = r.trim(), p = Lc.test(M), N = async () => {
4927
+ const M = r.trim(), p = wc.test(M), N = async () => {
4924
4928
  if (!(!p || o)) {
4925
4929
  l(!0), d(null);
4926
4930
  try {
4927
- const w = await mc(t.appUrl, /^https?:\/\//i.test(M) ? M : `https://${M}`, g);
4931
+ const w = await pc(t.appUrl, /^https?:\/\//i.test(M) ? M : `https://${M}`, g);
4928
4932
  w && e(w);
4929
4933
  } catch (w) {
4930
4934
  d(w instanceof Error ? w.message : "Something went wrong. Please try again.");
@@ -4948,7 +4952,7 @@ function kc({ options: t, onStarted: e, onReplay: n, onClose: s }) {
4948
4952
  }, "aria-label": "Video link" }),
4949
4953
  /* @__PURE__ */ i("button", { type: "submit", className: "vsp-end__go", disabled: !p || o, children: o ? /* @__PURE__ */ i(at, { size: 15, color: "#050507", track: "rgba(5,5,7,.2)" }) : "Transcribe" })
4950
4954
  ] }),
4951
- o && /* @__PURE__ */ i("div", { className: "vsp-end__note", role: "status", children: wc[u ?? "checking"] }),
4955
+ o && /* @__PURE__ */ i("div", { className: "vsp-end__note", role: "status", children: Tc[u ?? "checking"] }),
4952
4956
  c && /* @__PURE__ */ i("div", { className: "vsp-end__err", role: "alert", children: c }),
4953
4957
  /* @__PURE__ */ h("div", { className: "vsp-end__foot", children: [
4954
4958
  /* @__PURE__ */ i("span", { children: "Uses your VocalStack account. You'll be asked to sign in if you're not." }),
@@ -4959,7 +4963,7 @@ function kc({ options: t, onStarted: e, onReplay: n, onClose: s }) {
4959
4963
  ] })
4960
4964
  ] }) });
4961
4965
  }
4962
- function _i(t) {
4966
+ function Yi(t) {
4963
4967
  const [e, n] = I(() => typeof window > "u" ? !0 : window.innerWidth >= 880);
4964
4968
  return _(() => {
4965
4969
  if (t != null) return;
@@ -4967,11 +4971,11 @@ function _i(t) {
4967
4971
  return window.addEventListener("resize", s), () => window.removeEventListener("resize", s);
4968
4972
  }, [t]), t ?? e;
4969
4973
  }
4970
- const vc = { lang: null, subtitles: !0, speakerLabels: !1, wordHighlight: !0, translateAudio: !0, voices: "cloned", removeBackground: !1, muted: !1 };
4971
- function jc(t, e) {
4972
- const n = Li(), [s, r] = hi(), [a, o] = I(null), [l, c] = I("main"), d = ys(n, t.lang), u = Ie(() => fi(n, "translation"), [n]), g = (A) => {
4974
+ const kc = { lang: null, subtitles: !0, speakerLabels: !1, wordHighlight: !0, translateAudio: !0, voices: "cloned", removeBackground: !1, muted: !1 };
4975
+ function vc(t, e) {
4976
+ const n = wi(), [s, r] = gi(), [a, o] = I(null), [l, c] = I("main"), d = ys(n, t.lang), u = Ie(() => hi(n, "translation"), [n]), g = (A) => {
4973
4977
  e({ lang: A }), r(A);
4974
- }, M = zs({ open: a === "lang" || a === "settings" && l === "lang", onClose: () => a === "lang" ? o(null) : c("main"), value: t.lang, onSelect: g, languages: u, none: "As spoken", pinned: t.lang ? [t.lang] : [], recent: s, keepOpen: !0 }), p = () => {
4978
+ }, M = Is({ open: a === "lang" || a === "settings" && l === "lang", onClose: () => a === "lang" ? o(null) : c("main"), value: t.lang, onSelect: g, languages: u, none: "As spoken", pinned: t.lang ? [t.lang] : [], recent: s, keepOpen: !0 }), p = () => {
4975
4979
  o(null), c("main");
4976
4980
  }, N = t.lang ? /* @__PURE__ */ i("span", { style: { fontSize: 19, lineHeight: 1 }, children: d.flag }) : /* @__PURE__ */ i(oe, { d: J.langAuto, size: 19, sw: 1.7 }), w = /* @__PURE__ */ i("button", { type: "button", className: "gfull__btn", "aria-label": `Language: ${t.lang ? d.label : "As spoken"}`, title: t.lang ? d.label : "As spoken", onClick: (A) => {
4977
4981
  A.stopPropagation(), c("main"), o((te) => te === "lang" ? null : "lang");
@@ -5036,14 +5040,14 @@ function jc(t, e) {
5036
5040
  }
5037
5041
  };
5038
5042
  }
5039
- const Ui = {
5043
+ const _i = {
5040
5044
  "signing-in": "Sign in to VocalStack in the window that opened…",
5041
5045
  consent: "Confirm in the VocalStack window…",
5042
5046
  looking: "Looking for your transcription of this video…",
5043
5047
  confirm: "Confirm in the VocalStack window…",
5044
5048
  checking: "Checking the link…",
5045
5049
  starting: "Starting the transcription…"
5046
- }, zc = /^(https?:\/\/)?([\w-]+\.)+[a-z]{2,}(\/\S*)?$/i;
5050
+ }, jc = /^(https?:\/\/)?([\w-]+\.)+[a-z]{2,}(\/\S*)?$/i;
5047
5051
  function ls(t) {
5048
5052
  try {
5049
5053
  return new URL(t).hostname.replace(/^www\./, "");
@@ -5051,35 +5055,35 @@ function ls(t) {
5051
5055
  return t;
5052
5056
  }
5053
5057
  }
5054
- function Ic(t, e) {
5055
- const [n, s] = I(!1), [r, a] = I(null), [o, l] = I(null), [c, d] = I(() => yc(t)), u = Xe((p) => {
5058
+ function zc(t, e) {
5059
+ const [n, s] = I(!1), [r, a] = I(null), [o, l] = I(null), [c, d] = I(() => mc(t)), u = Xe((p) => {
5056
5060
  if (n) return;
5057
5061
  s(!0), l(null);
5058
5062
  let N;
5059
5063
  try {
5060
- N = Ei(t, p, a);
5064
+ N = Ai(t, p, a);
5061
5065
  } catch (w) {
5062
5066
  N = Promise.reject(w);
5063
5067
  }
5064
5068
  N.then((w) => {
5065
- w && (Tc(t), d(!0), w !== "connected" && e(w));
5069
+ w && (yc(t), d(!0), w !== "connected" && e(w));
5066
5070
  }).catch((w) => l(w instanceof Error ? w.message : "Something went wrong. Please try again.")).finally(() => {
5067
5071
  s(!1), a(null);
5068
5072
  });
5069
5073
  }, [t, n, e]), g = Xe(() => u({ connect: !0 }), [u]), M = Xe((p, N) => u({ url: p, ask: N }), [u]);
5070
5074
  return { busy: n, status: r, err: o, connected: c, connect: g, start: M };
5071
5075
  }
5072
- function Oc(t) {
5076
+ function Ic(t) {
5073
5077
  return /\.(mp4|webm|mov|m4v|ogv|mkv)(\?|#|$)/i.test(t);
5074
5078
  }
5075
- function Cc({ poster: t, src: e }) {
5079
+ function Oc({ poster: t, src: e }) {
5076
5080
  const n = e ? ms(e) : null, s = t ?? (n ? `https://i.ytimg.com/vi/${n}/hqdefault.jpg` : null);
5077
- return s ? /* @__PURE__ */ i("div", { className: "vsp-idle__pic", style: { backgroundImage: `url(${s})` } }) : e && Oc(e) ? /* @__PURE__ */ i("video", { className: "vsp-idle__pic vsp-idle__frame", src: `${e}#t=1`, muted: !0, playsInline: !0, preload: "metadata", "aria-hidden": "true" }) : /* @__PURE__ */ i("div", { className: "vsp-idle__pic vsp-idle__pic--brand" });
5081
+ return s ? /* @__PURE__ */ i("div", { className: "vsp-idle__pic", style: { backgroundImage: `url(${s})` } }) : e && Ic(e) ? /* @__PURE__ */ i("video", { className: "vsp-idle__pic vsp-idle__frame", src: `${e}#t=1`, muted: !0, playsInline: !0, preload: "metadata", "aria-hidden": "true" }) : /* @__PURE__ */ i("div", { className: "vsp-idle__pic vsp-idle__pic--brand" });
5078
5082
  }
5079
- const bc = { live: !1, atEdge: !1, edgeFrac: null, pct: 0, atLabel: "0:00", labelAt: () => "0:00", endLabel: "0:00", onSeek: () => {
5083
+ const Cc = { live: !1, atEdge: !1, edgeFrac: null, pct: 0, atLabel: "0:00", labelAt: () => "0:00", endLabel: "0:00", onSeek: () => {
5080
5084
  } };
5081
5085
  function ks({ idle: t, poster: e, src: n, title: s, page: r, onAct: a, children: o }) {
5082
- const l = jc(t.prefs, t.set), c = _i(), d = v(null), [u, g] = I(!1);
5086
+ const l = vc(t.prefs, t.set), c = Yi(), d = v(null), [u, g] = I(!1);
5083
5087
  Qt(() => {
5084
5088
  var k;
5085
5089
  const p = (k = d.current) == null ? void 0 : k.parentElement;
@@ -5093,31 +5097,31 @@ function ks({ idle: t, poster: e, src: n, title: s, page: r, onAct: a, children:
5093
5097
  }, onNext: () => {
5094
5098
  }, playing: !1, playable: !0, playTitle: "Connect to play", onPlay: a };
5095
5099
  return /* @__PURE__ */ h("div", { ref: d, className: `vsp-idleroot${u ? " vsp-idleroot--small" : ""}`, children: [
5096
- /* @__PURE__ */ i(Ai, { page: r, picture: /* @__PURE__ */ i(Cc, { poster: e, src: n }), title: s, desk: c, pos: bc, sub: null, mute: { muted: t.prefs.muted, onToggle: () => t.set({ muted: !t.prefs.muted }) }, cc: { on: t.prefs.subtitles, onToggle: () => t.set({ subtitles: !t.prefs.subtitles }) }, chip: l.chip, transport: M, picker: l.sheets, sheet: null, voices: null, voicesBtn: null, sheetOpen: l.sheetOpen, onSettings: l.openSettings, onShare: () => Ds(t.shareUrl ?? window.location.href, s), copied: null, onTouch: () => {
5100
+ /* @__PURE__ */ i(Si, { page: r, picture: /* @__PURE__ */ i(Oc, { poster: e, src: n }), title: s, desk: c, pos: Cc, sub: null, mute: { muted: t.prefs.muted, onToggle: () => t.set({ muted: !t.prefs.muted }) }, cc: { on: t.prefs.subtitles, onToggle: () => t.set({ subtitles: !t.prefs.subtitles }) }, chip: l.chip, transport: M, picker: l.sheets, sheet: null, voices: null, voicesBtn: null, sheetOpen: l.sheetOpen, onSettings: l.openSettings, onShare: () => Ss(t.shareUrl ?? window.location.href, s), copied: null, onTouch: () => {
5097
5101
  } }),
5098
5102
  !l.sheetOpen && /* @__PURE__ */ i("div", { className: "vsp-idle", "data-theme": "dark", children: /* @__PURE__ */ i("div", { className: "vsp-idle__box", children: o }) })
5099
5103
  ] });
5100
5104
  }
5101
- function Ri({ connect: t, onClick: e, label: n }) {
5105
+ function Ui({ connect: t, onClick: e, label: n }) {
5102
5106
  return /* @__PURE__ */ h(_e, { children: [
5103
5107
  /* @__PURE__ */ h("button", { type: "button", className: "vsp-idle__connect", onClick: e, disabled: t.busy, children: [
5104
5108
  t.busy ? /* @__PURE__ */ i(at, { size: 18, color: "#050507", track: "rgba(5,5,7,.2)" }) : /* @__PURE__ */ i(oe, { d: J.link, size: 18, sw: 1.8 }),
5105
5109
  /* @__PURE__ */ i("span", { children: t.busy ? "Waiting for VocalStack…" : n })
5106
5110
  ] }),
5107
- t.busy && /* @__PURE__ */ i("div", { className: "vsp-idle__note", role: "status", children: Ui[t.status ?? "checking"] }),
5111
+ t.busy && /* @__PURE__ */ i("div", { className: "vsp-idle__note", role: "status", children: _i[t.status ?? "checking"] }),
5108
5112
  t.err && /* @__PURE__ */ i("div", { className: "vsp-end__err", role: "alert", children: t.err })
5109
5113
  ] });
5110
5114
  }
5111
- function xc({ idle: t, src: e, ask: n, connect: s, page: r, poster: a = null, onClear: o }) {
5115
+ function bc({ idle: t, src: e, ask: n, connect: s, page: r, poster: a = null, onClear: o }) {
5112
5116
  const l = () => s.start(e, n);
5113
5117
  return /* @__PURE__ */ h(ks, { idle: t, poster: a, src: e, title: ls(e), page: r, onAct: l, children: [
5114
- /* @__PURE__ */ i(Ri, { connect: s, onClick: l, label: s.connected ? "Play with VocalStack" : "Connect to VocalStack" }),
5118
+ /* @__PURE__ */ i(Ui, { connect: s, onClick: l, label: s.connected ? "Play with VocalStack" : "Connect to VocalStack" }),
5115
5119
  !s.busy && /* @__PURE__ */ i("div", { className: "vsp-idle__note", children: s.connected ? `Plays ${ls(e)} with subtitles and spoken translations.` : `Connect to play ${ls(e)} with subtitles and spoken translations.` }),
5116
5120
  o && !s.busy && /* @__PURE__ */ i("button", { type: "button", className: "vsp-idle__other", onClick: o, children: "Choose another video" })
5117
5121
  ] });
5118
5122
  }
5119
- function Dc({ idle: t, connect: e, page: n, poster: s = null, onPick: r }) {
5120
- const [a, o] = I(""), l = v(null), c = a.trim(), d = zc.test(c), u = () => {
5123
+ function xc({ idle: t, connect: e, page: n, poster: s = null, onPick: r }) {
5124
+ const [a, o] = I(""), l = v(null), c = a.trim(), d = jc.test(c), u = () => {
5121
5125
  if (!d || e.busy) return;
5122
5126
  const M = /^https?:\/\//i.test(c) ? c : `https://${c}`;
5123
5127
  r(M), e.start(M, !1);
@@ -5133,14 +5137,14 @@ function Dc({ idle: t, connect: e, page: n, poster: s = null, onPick: r }) {
5133
5137
  /* @__PURE__ */ i("input", { ref: l, className: "vsp-idle__input", type: "url", inputMode: "url", enterKeyHint: "go", autoComplete: "off", spellCheck: !1, placeholder: "Paste a video link", value: a, onChange: (M) => o(M.target.value), "aria-label": "Video link", autoFocus: !0 }),
5134
5138
  e.busy && /* @__PURE__ */ i(at, { size: 15, color: "#eef0f8", track: "rgba(255,255,255,.2)" })
5135
5139
  ] }) }),
5136
- e.busy ? /* @__PURE__ */ i("div", { className: "vsp-idle__note", role: "status", children: Ui[e.status ?? "checking"] }) : /* @__PURE__ */ i("div", { className: "vsp-idle__note", children: "YouTube, Vimeo, an mp3 or any video link. Press Enter or ▶ to play it here with subtitles and spoken translations." }),
5140
+ e.busy ? /* @__PURE__ */ i("div", { className: "vsp-idle__note", role: "status", children: _i[e.status ?? "checking"] }) : /* @__PURE__ */ i("div", { className: "vsp-idle__note", children: "YouTube, Vimeo, an mp3 or any video link. Press Enter or ▶ to play it here with subtitles and spoken translations." }),
5137
5141
  e.err && /* @__PURE__ */ i("div", { className: "vsp-end__err", role: "alert", children: e.err })
5138
5142
  ] }) : /* @__PURE__ */ h(ks, { idle: t, poster: s, src: null, title: "VocalStack", page: n, onAct: e.connect, children: [
5139
- /* @__PURE__ */ i(Ri, { connect: e, onClick: e.connect, label: "Connect to VocalStack" }),
5143
+ /* @__PURE__ */ i(Ui, { connect: e, onClick: e.connect, label: "Connect to VocalStack" }),
5140
5144
  !e.busy && /* @__PURE__ */ i("div", { className: "vsp-idle__note", children: "Connect your VocalStack account to watch any video with subtitles and spoken translations." })
5141
5145
  ] });
5142
5146
  }
5143
- function Sc(t, e, n) {
5147
+ function Dc(t, e, n) {
5144
5148
  const [s, r] = I(t && e ? void 0 : null);
5145
5149
  return _(() => {
5146
5150
  if (!t) {
@@ -5153,7 +5157,7 @@ function Sc(t, e, n) {
5153
5157
  }
5154
5158
  let a = !0;
5155
5159
  r(void 0);
5156
- const o = new si({ baseUrl: (n ?? Ti).replace(/\/$/, ""), token: async () => (typeof e == "function" ? await e() : e) || void 0 }), l = o.transcriptions.lookup;
5160
+ const o = new si({ baseUrl: (n ?? yi).replace(/\/$/, ""), token: async () => (typeof e == "function" ? await e() : e) || void 0 }), l = o.transcriptions.lookup;
5157
5161
  if (!l) {
5158
5162
  r(null);
5159
5163
  return;
@@ -5167,8 +5171,8 @@ function Sc(t, e, n) {
5167
5171
  };
5168
5172
  }, [t, e, n]), s;
5169
5173
  }
5170
- const Ac = 100, ei = (t) => t == null ? null : t ? "on" : "off";
5171
- function Ec(t) {
5174
+ const Sc = 100, ei = (t) => t == null ? null : t ? "on" : "off";
5175
+ function Ac(t) {
5172
5176
  const e = t.syncUrl && typeof window < "u" ? new URLSearchParams(window.location.search) : null, n = { ...t.initial ?? {}, ...t.settings ?? {} }, s = (a) => a === "on" || a === "off" ? a : null, r = Number(e == null ? void 0 : e.get("t"));
5173
5177
  return {
5174
5178
  lang: (e == null ? void 0 : e.get("lang")) || n.lang || null,
@@ -5177,14 +5181,14 @@ function Ec(t) {
5177
5181
  cc: e != null && e.get("cc") ? e.get("cc") !== "off" : n.subtitles ?? !0,
5178
5182
  translateAudio: e != null && e.get("audio") ? e.get("audio") !== "original" : n.translateAudio ?? !0,
5179
5183
  clonedVoices: e != null && e.get("voices") ? e.get("voices") !== "stock" : (n.voices ?? "cloned") === "cloned",
5180
- removeBackground: e && e.get("bg") ? Ga(e) : n.removeBackground ?? !1,
5184
+ removeBackground: e && e.get("bg") ? Fa(e) : n.removeBackground ?? !1,
5181
5185
  startAt: Number.isFinite(r) && r > 0 ? r : t.startAt ?? null
5182
5186
  };
5183
5187
  }
5184
- const Wc = fa(function(e, n) {
5188
+ const Vc = ha(function(e, n) {
5185
5189
  var V;
5186
5190
  const s = v(null);
5187
- Na(n, () => ({
5191
+ fa(n, () => ({
5188
5192
  seek: (C) => {
5189
5193
  var ue;
5190
5194
  return (ue = s.current) == null ? void 0 : ue.seek(C);
@@ -5210,17 +5214,17 @@ const Wc = fa(function(e, n) {
5210
5214
  _(() => {
5211
5215
  a({ id: e.id ?? "", token: e.token });
5212
5216
  }, [e.id, e.token, e.src]);
5213
- const o = Sc(e.src ?? null, e.token ?? null, e.baseUrl ?? null);
5217
+ const o = Dc(e.src ?? null, e.token ?? null, e.baseUrl ?? null);
5214
5218
  _(() => {
5215
5219
  o != null && o.id && a({ id: o.id, token: e.token });
5216
5220
  }, [o == null ? void 0 : o.id]);
5217
- const [l, c] = I(null), [d, u] = I(() => ({ ...vc, ...Object.fromEntries(Object.entries({ ...e.initial ?? {}, ...e.settings ?? {} }).filter(([, C]) => C !== void 0)) })), [g, M] = I({}), p = { prefs: d, set: (C) => {
5221
+ const [l, c] = I(null), [d, u] = I(() => ({ ...kc, ...Object.fromEntries(Object.entries({ ...e.initial ?? {}, ...e.settings ?? {} }).filter(([, C]) => C !== void 0)) })), [g, M] = I({}), p = { prefs: d, set: (C) => {
5218
5222
  u((ue) => ({ ...ue, ...C })), M((ue) => ({ ...ue, ...C }));
5219
5223
  }, shareUrl: (V = e.shareUrl) == null ? void 0 : V.call(e, null) }, { muted: N, ...w } = g;
5220
5224
  _(() => {
5221
5225
  c(null);
5222
5226
  }, [e.id, e.src]);
5223
- const k = e.src ?? l, m = !r.id && !!k && (l != null || o !== void 0), f = !r.id && !e.src && !l, O = wi({ id: r.id, token: r.token, baseUrl: e.baseUrl, listen: r.listen }), { source: D, gone: b, error: W, reload: A } = Ao(O, r.id), te = Eo(O, (D == null ? void 0 : D.recording.id) ?? null), j = Ie(() => Do(O, te), [O, te]);
5227
+ const k = e.src ?? l, m = !r.id && !!k && (l != null || o !== void 0), f = !r.id && !e.src && !l, O = Ti({ id: r.id, token: r.token, baseUrl: e.baseUrl, listen: r.listen }), { source: D, gone: b, error: W, reload: A } = So(O, r.id), te = Ao(O, (D == null ? void 0 : D.recording.id) ?? null), j = Ie(() => xo(O, te), [O, te]);
5224
5228
  _(() => {
5225
5229
  var C;
5226
5230
  D && ((C = e.onSource) == null || C.call(e, D));
@@ -5228,16 +5232,16 @@ const Wc = fa(function(e, n) {
5228
5232
  var C;
5229
5233
  W && ((C = e.onError) == null || C.call(e, W));
5230
5234
  }, [W]);
5231
- const S = _i(e.desk), $ = (e.layout ?? "embed") === "embed", L = e.appUrl ?? (e.endCard ? e.endCard.appUrl : void 0), z = Xe((C) => a({ id: C.transcriptionId, token: null, listen: { transcriptionId: C.transcriptionId, recordingId: C.recordingId, token: C.token } }), []), E = Ic(L, z), re = v(null);
5232
- return _(() => (Jr($ ? re.current : null), () => Jr(null)), [$]), /* @__PURE__ */ i(Oo, { value: j, children: /* @__PURE__ */ i("div", { ref: re, className: `vsp${$ ? " vsp--embed" : ""}${e.className ? ` ${e.className}` : ""}`, "data-theme": (e.mode ?? "video") === "video" || e.dark ? "dark" : "light", "data-mode": (e.mode ?? "video") === "video" ? "video" : "transcript", children: f ? /* @__PURE__ */ i(Dc, { idle: p, connect: E, page: !$, poster: e.poster ?? null, onPick: c }) : m ? /* @__PURE__ */ i(xc, { idle: p, src: k, ask: !l, connect: E, page: !$, poster: e.poster ?? null, onClear: l ? () => c(null) : void 0 }) : r.id ? /* @__PURE__ */ i(Yc, { ...e, initial: { ...e.initial ?? {}, ...w }, startMuted: N === !0, handle: s, id: r.id, api: j, shared: D, gone: b, loadError: W, reread: A, desk: S, dark: (e.mode ?? "video") === "video" || !!e.dark, onStarted: (C) => a({ id: C.transcriptionId, token: null, listen: { transcriptionId: C.transcriptionId, recordingId: C.recordingId, token: C.token } }) }, r.id) : /* @__PURE__ */ i("div", { className: "vsp-gate", "data-theme": "dark", children: /* @__PURE__ */ i("span", { className: "gfull__spin gfull__holdspin", "aria-label": "Loading" }) }) }) });
5235
+ const S = Yi(e.desk), $ = (e.layout ?? "embed") === "embed", L = e.appUrl ?? (e.endCard ? e.endCard.appUrl : void 0), z = Xe((C) => a({ id: C.transcriptionId, token: null, listen: { transcriptionId: C.transcriptionId, recordingId: C.recordingId, token: C.token } }), []), E = zc(L, z), re = v(null);
5236
+ return _(() => (Jr($ ? re.current : null), () => Jr(null)), [$]), /* @__PURE__ */ i(Io, { value: j, children: /* @__PURE__ */ i("div", { ref: re, className: `vsp${$ ? " vsp--embed" : ""}${e.className ? ` ${e.className}` : ""}`, "data-theme": (e.mode ?? "video") === "video" || e.dark ? "dark" : "light", "data-mode": (e.mode ?? "video") === "video" ? "video" : "transcript", children: f ? /* @__PURE__ */ i(xc, { idle: p, connect: E, page: !$, poster: e.poster ?? null, onPick: c }) : m ? /* @__PURE__ */ i(bc, { idle: p, src: k, ask: !l, connect: E, page: !$, poster: e.poster ?? null, onClear: l ? () => c(null) : void 0 }) : r.id ? /* @__PURE__ */ i(Ec, { ...e, initial: { ...e.initial ?? {}, ...w }, startMuted: N === !0, handle: s, id: r.id, api: j, shared: D, gone: b, loadError: W, reread: A, desk: S, dark: (e.mode ?? "video") === "video" || !!e.dark, onStarted: (C) => a({ id: C.transcriptionId, token: null, listen: { transcriptionId: C.transcriptionId, recordingId: C.recordingId, token: C.token } }) }, r.id) : /* @__PURE__ */ i("div", { className: "vsp-gate", "data-theme": "dark", children: /* @__PURE__ */ i("span", { className: "gfull__spin gfull__holdspin", "aria-label": "Loading" }) }) }) });
5233
5237
  });
5234
- function Yc(t) {
5235
- var dr, Mr, gr, hr, fr, Nr, pr, mr, yr, Tr, wr, Lr, kr, vr, jr, zr, Ir, Or, Cr, br, xr, Dr, Sr, Ar;
5236
- const { api: e, shared: n, gone: s, desk: r, dark: a } = t, o = t.id ?? "", l = Ie(() => Ec(t), []), c = (t.mode ?? "video") === "video", d = ((Mr = (dr = n == null ? void 0 : n.job) == null ? void 0 : dr.source) == null ? void 0 : Mr.kind) === "url" ? ms(n.job.source.url) : null, u = c && !(n && !d), [g, M] = I(t.loadError);
5238
+ function Ec(t) {
5239
+ var Mr, gr, hr, fr, Nr, pr, mr, yr, Tr, wr, Lr, kr, vr, jr, zr, Ir, Or, Cr, br, xr, Dr, Sr, Ar, Er;
5240
+ const { api: e, shared: n, gone: s, desk: r, dark: a } = t, o = t.id ?? "", l = Ie(() => Ac(t), []), c = (t.mode ?? "video") === "video", d = ((gr = (Mr = n == null ? void 0 : n.job) == null ? void 0 : Mr.source) == null ? void 0 : gr.kind) === "url" ? ms(n.job.source.url) : null, u = c && !(n && !d), [g, M] = I(t.loadError);
5237
5241
  _(() => {
5238
5242
  t.loadError && M(t.loadError);
5239
5243
  }, [t.loadError]);
5240
- const [p, N] = I("none"), [w, k] = I(!1), [m, f] = I(""), [O, D] = Ul(), [b, W] = I(null), [A, te] = I(u ? "listen" : "read"), [j, S] = I(!1), $ = v(null), L = v(/* @__PURE__ */ new Map()), [z, E] = I("main"), re = (T) => {
5244
+ const [p, N] = I("none"), [w, k] = I(!1), [m, f] = I(""), [O, D] = _l(), [b, W] = I(null), [A, te] = I(u ? "listen" : "read"), [j, S] = I(!1), $ = v(null), L = v(/* @__PURE__ */ new Map()), [z, E] = I("main"), re = (T) => {
5241
5245
  const pe = document.querySelector(".vs-sheet--settings"), Ye = pe == null ? void 0 : pe.parentElement;
5242
5246
  pe && Ye && z === "main" && T !== "main" && Ye.style.setProperty("--vs-sheet-top", `${Math.round(pe.getBoundingClientRect().top - Ye.getBoundingClientRect().top)}px`), E(T);
5243
5247
  };
@@ -5264,20 +5268,20 @@ function Yc(t) {
5264
5268
  _(() => {
5265
5269
  if (!t.syncUrl) return;
5266
5270
  const T = new URL(window.location.href);
5267
- ne ? T.searchParams.set("lang", ne) : T.searchParams.delete("lang"), ae ? T.searchParams.set("labels", ae) : T.searchParams.delete("labels"), ke ? T.searchParams.set("words", ke) : T.searchParams.delete("words"), ye ? T.searchParams.delete("cc") : T.searchParams.set("cc", "off"), Se ? T.searchParams.delete("audio") : T.searchParams.set("audio", "original"), Oe ? T.searchParams.delete("voices") : T.searchParams.set("voices", "stock"), Za(T, B), T.href !== window.location.href && window.history.replaceState(window.history.state, "", T);
5271
+ ne ? T.searchParams.set("lang", ne) : T.searchParams.delete("lang"), ae ? T.searchParams.set("labels", ae) : T.searchParams.delete("labels"), ke ? T.searchParams.set("words", ke) : T.searchParams.delete("words"), ye ? T.searchParams.delete("cc") : T.searchParams.set("cc", "off"), Se ? T.searchParams.delete("audio") : T.searchParams.set("audio", "original"), Oe ? T.searchParams.delete("voices") : T.searchParams.set("voices", "stock"), Ga(T, B), T.href !== window.location.href && window.history.replaceState(window.history.state, "", T);
5268
5272
  }, [ne, ae, ke, ye, Se, Oe, B]), _(() => {
5269
5273
  n && !n.allowTranslate && ne && le(null);
5270
5274
  }, [n, ne]);
5271
- const { model: H, error: me, clearError: q, setLanguage: ve, mergeTranslations: Ce, translating: He, translateFailed: Ae, shownLang: Ue } = Ro(P, {
5275
+ const { model: H, error: me, clearError: q, setLanguage: ve, mergeTranslations: Ce, translating: He, translateFailed: Ae, shownLang: Ue } = Uo(P, {
5272
5276
  lang: null,
5273
5277
  onFrame: (T) => {
5274
5278
  T.type === "job.progress" && W({ state: T.state, processedS: T.processedS ?? 0, totalS: T.totalS ?? null, segmentsDone: T.segmentsDone ?? 0, segmentsTotal: T.segmentsTotal ?? null, pct: T.pct ?? 0, error: T.error ?? null });
5275
5279
  }
5276
- }), he = Ie(() => No(H).filter((T) => !T.suppressed), [H]), Re = Po((n == null ? void 0 : n.job) ?? null), K = ["done", "failed", "stopped"].includes(rs((Re == null ? void 0 : Re.state) ?? ((gr = n == null ? void 0 : n.job) == null ? void 0 : gr.state))), ie = K ? Re : b ?? Re, de = !!b && !["done", "failed", "stopped"].includes(rs(b.state)), ce = v(0);
5280
+ }), he = Ie(() => fo(H).filter((T) => !T.suppressed), [H]), Re = Ro((n == null ? void 0 : n.job) ?? null), K = ["done", "failed", "stopped"].includes(rs((Re == null ? void 0 : Re.state) ?? ((hr = n == null ? void 0 : n.job) == null ? void 0 : hr.state))), ie = K ? Re : b ?? Re, de = !!b && !["done", "failed", "stopped"].includes(rs(b.state)), ce = v(0);
5277
5281
  _(() => {
5278
5282
  !K || !de || Date.now() - ce.current < 1e4 || (ce.current = Date.now(), t.reread());
5279
5283
  }, [K, de, b == null ? void 0 : b.state, b == null ? void 0 : b.processedS, o]);
5280
- const Ne = rs((ie == null ? void 0 : ie.state) ?? ((hr = n == null ? void 0 : n.job) == null ? void 0 : hr.state)), je = !!P && (Ne === "transcribing" || Ne === "queued"), Y = u && !s && (!n || (je || Ne === "cropping") && he.length === 0), U = je ? (ie == null ? void 0 : ie.pct) ?? 0 : 100, F = $o(n == null ? void 0 : n.job, ie) ?? (ue == null ? void 0 : ue.mediaDurationS) ?? null, ee = ((fr = H.segments.values().next().value) == null ? void 0 : fr.language) ?? (ue == null ? void 0 : ue.spokenLanguage) ?? null, Me = n != null && n.sharedBy ? `Shared by ${n.sharedBy}` : "", be = ((mr = (pr = (Nr = n == null ? void 0 : n.job) == null ? void 0 : Nr.source) == null ? void 0 : pr.name) == null ? void 0 : mr.trim()) || null, Te = n ? ((yr = n.name) == null ? void 0 : yr.trim()) || be : null, ze = !!((Tr = n == null ? void 0 : n.job) != null && Tr.hasAudio), xe = (wr = n == null ? void 0 : n.job) == null ? void 0 : wr.source, Ze = !ze && !!xe && (xe.kind !== "url" || xe.bytes != null) && (Ne === "transcribing" || Ne === "queued" || Ne === "done"), $e = P && (n != null && n.allowDownload) && ze ? ba(e.origin, P, e.cred) : P && (n != null && n.allowDownload) && Ze ? Xn(e.origin, P, "source", e.cred) : null, st = he[he.length - 1], ot = st ? ((Lr = st.words[st.words.length - 1]) == null ? void 0 : Lr.end) ?? st.start : 0, dt = u && je ? Math.max(ot, (ie == null ? void 0 : ie.processedS) ?? 0) : null, We = Hl($e, (ze || Ze) && !!(n != null && n.allowDownload), he, F, Ze ? ((vr = (kr = n == null ? void 0 : n.job) == null ? void 0 : kr.crop) == null ? void 0 : vr.startS) ?? 0 : 0, dt), Pe = ((zr = (jr = n == null ? void 0 : n.job) == null ? void 0 : jr.source) == null ? void 0 : zr.kind) === "url" ? ms(n.job.source.url) : null, lt = Bl(he, F, ((Or = (Ir = n == null ? void 0 : n.job) == null ? void 0 : Ir.crop) == null ? void 0 : Or.startS) ?? 0, dt), Ve = !!Pe, mt = Ve ? lt.player : We, Mt = Li(), Bt = v(null), se = Zl({ forcedVoice: t.voice ?? null, recordingId: P, model: H, rows: he, lenS: F, ended: !!P && !je, cred: e.cred, langs: Mt, srcLang: ee, canTranslate: !!(n != null && n.allowTranslate), pickedLang: Z, setPickedLang: le, side: r && !V ? Gl : void 0, hearOriginal: fe, timed: !!Pe, stockVoices: u && !Oe, stickyPicker: u, pickerBusy: Bt.current }), Ot = v(null);
5284
+ const Ne = rs((ie == null ? void 0 : ie.state) ?? ((fr = n == null ? void 0 : n.job) == null ? void 0 : fr.state)), je = !!P && (Ne === "transcribing" || Ne === "queued"), Y = u && !s && (!n || (je || Ne === "cropping") && he.length === 0), U = je ? (ie == null ? void 0 : ie.pct) ?? 0 : 100, F = Qo(n == null ? void 0 : n.job, ie) ?? (ue == null ? void 0 : ue.mediaDurationS) ?? null, ee = ((Nr = H.segments.values().next().value) == null ? void 0 : Nr.language) ?? (ue == null ? void 0 : ue.spokenLanguage) ?? null, Me = n != null && n.sharedBy ? `Shared by ${n.sharedBy}` : "", be = ((yr = (mr = (pr = n == null ? void 0 : n.job) == null ? void 0 : pr.source) == null ? void 0 : mr.name) == null ? void 0 : yr.trim()) || null, Te = n ? ((Tr = n.name) == null ? void 0 : Tr.trim()) || be : null, ze = !!((wr = n == null ? void 0 : n.job) != null && wr.hasAudio), xe = (Lr = n == null ? void 0 : n.job) == null ? void 0 : Lr.source, Ze = !ze && !!xe && (xe.kind !== "url" || xe.bytes != null) && (Ne === "transcribing" || Ne === "queued" || Ne === "done"), $e = P && (n != null && n.allowDownload) && ze ? Ca(e.origin, P, e.cred) : P && (n != null && n.allowDownload) && Ze ? Xn(e.origin, P, "source", e.cred) : null, rt = he[he.length - 1], ot = rt ? ((kr = rt.words[rt.words.length - 1]) == null ? void 0 : kr.end) ?? rt.start : 0, dt = u && je ? Math.max(ot, (ie == null ? void 0 : ie.processedS) ?? 0) : null, We = Bl($e, (ze || Ze) && !!(n != null && n.allowDownload), he, F, Ze ? ((jr = (vr = n == null ? void 0 : n.job) == null ? void 0 : vr.crop) == null ? void 0 : jr.startS) ?? 0 : 0, dt), Pe = ((Ir = (zr = n == null ? void 0 : n.job) == null ? void 0 : zr.source) == null ? void 0 : Ir.kind) === "url" ? ms(n.job.source.url) : null, lt = $l(he, F, ((Cr = (Or = n == null ? void 0 : n.job) == null ? void 0 : Or.crop) == null ? void 0 : Cr.startS) ?? 0, dt), Ve = !!Pe, mt = Ve ? lt.player : We, Mt = wi(), Bt = v(null), se = Gl({ forcedVoice: t.voice ?? null, recordingId: P, model: H, rows: he, lenS: F, ended: !!P && !je, cred: e.cred, langs: Mt, srcLang: ee, canTranslate: !!(n != null && n.allowTranslate), pickedLang: Z, setPickedLang: le, side: r && !V ? Fl : void 0, hearOriginal: fe, timed: !!Pe, stockVoices: u && !Oe, stickyPicker: u, pickerBusy: Bt.current }), Ot = v(null);
5281
5285
  _(() => {
5282
5286
  !P || Ot.current === ne || (Ot.current = ne, ve(ne));
5283
5287
  }, [ne, P]);
@@ -5292,36 +5296,36 @@ function Yc(t) {
5292
5296
  const en = Ie(() => he.filter((T) => T.sentenceId != null).map((T, pe, Ye) => {
5293
5297
  var Ge;
5294
5298
  return { sid: T.sentenceId, start: T.start, end: ((Ge = Ye[pe + 1]) == null ? void 0 : Ge.start) ?? St(T, T.start, T.start + 4) };
5295
- }), [he]), vt = lo({ on: Ve && se.on, lines: en, clips: se.clips, t: x.t, playing: x.playing, muted: x.muted }), Et = !!ne && (He || se.relang || se.on && vt.missing != null);
5299
+ }), [he]), vt = oo({ on: Ve && se.on, lines: en, clips: se.clips, t: x.t, playing: x.playing, muted: x.muted }), Et = !!ne && (He || se.relang || se.on && vt.missing != null);
5296
5300
  Bt.current = Et ? ne : null, _(() => {
5297
5301
  Ve && se.on && vt.sid != null && se.setNear(vt.sid);
5298
- }, [vt.sid, Ve, se.on]), $l([mt, se.player], se.sampling);
5299
- const it = v(null);
5302
+ }, [vt.sid, Ve, se.on]), Ql([mt, se.player], se.sampling);
5303
+ const st = v(null);
5300
5304
  _(() => {
5301
- je && !x.playing && it.current && (it.current.scrollTop = it.current.scrollHeight);
5305
+ je && !x.playing && st.current && (st.current.scrollTop = st.current.scrollHeight);
5302
5306
  }, [je, he.length]);
5303
- const Cn = Jl(it, he, w, m, k), tn = /* @__PURE__ */ i(Kl, { open: w, q: m, onQ: f, onClose: () => k(!1), hits: Cn, desk: r, inline: r }), Ke = (n == null ? void 0 : n.name) || t.src || o, gt = !!(n != null && n.allowDownload), Ct = !!(n != null && n.allowExport), yt = se.readLang, Tt = yt ? ((Cr = Mt == null ? void 0 : Mt.languages.find((T) => T.code === yt)) == null ? void 0 : Cr.name) ?? yt.toUpperCase() : null, Yt = async () => {
5307
+ const Cn = Kl(st, he, w, m, k), tn = /* @__PURE__ */ i(ql, { open: w, q: m, onQ: f, onClose: () => k(!1), hits: Cn, desk: r, inline: r }), Ke = (n == null ? void 0 : n.name) || t.src || o, gt = !!(n != null && n.allowDownload), Ct = !!(n != null && n.allowExport), yt = se.readLang, Tt = yt ? ((br = Mt == null ? void 0 : Mt.languages.find((T) => T.code === yt)) == null ? void 0 : br.name) ?? yt.toUpperCase() : null, Yt = async () => {
5304
5308
  if (P)
5305
5309
  try {
5306
5310
  if (yt && se.canSpeak) {
5307
- D(`Preparing ${Ke} in ${Tt}${se.readVoiceName ? `, read by ${se.readVoiceName}` : ""} — the download starts when it is ready.`), await Vo(e, { recordingId: P, lang: yt, voiceKey: se.readVoiceKey, cred: e.cred, request: se.requestTrack }), D(`Downloading ${Ke} in ${Tt}.`);
5311
+ D(`Preparing ${Ke} in ${Tt}${se.readVoiceName ? `, read by ${se.readVoiceName}` : ""} — the download starts when it is ready.`), await Ho(e, { recordingId: P, lang: yt, voiceKey: se.readVoiceKey, cred: e.cred, request: se.requestTrack }), D(`Downloading ${Ke} in ${Tt}.`);
5308
5312
  return;
5309
5313
  }
5310
5314
  if (ze) {
5311
- D(`Preparing ${Ke} as MP3 — the download starts when it is ready.`), await Bo(Xn(e.origin, P, "delivery", e.cred)), D(`Downloading ${Ke}.`);
5315
+ D(`Preparing ${Ke} as MP3 — the download starts when it is ready.`), await $o(Xn(e.origin, P, "delivery", e.cred)), D(`Downloading ${Ke}.`);
5312
5316
  return;
5313
5317
  }
5314
- xs(Xn(e.origin, P, "source", e.cred)), D(`Downloading ${Ke} — the full audio, since the transcript is still being written.`);
5318
+ Ds(Xn(e.origin, P, "source", e.cred)), D(`Downloading ${Ke} — the full audio, since the transcript is still being written.`);
5315
5319
  } catch (T) {
5316
5320
  throw M(kt(T)), T;
5317
5321
  }
5318
5322
  }, bt = (T) => {
5319
5323
  if (!P) return;
5320
5324
  const pe = ps.find((Ge) => Ge.key === T).name, Ye = Tt ? ` in ${Tt}` : "";
5321
- return Ho(e, P, T, { lang: yt }).then(() => D(je ? `${pe} exported${Ye} for the first ${he.length} segments — the rest is still transcribing.` : `${pe} exported${Ye}.`)).catch((Ge) => {
5325
+ return Bo(e, P, T, { lang: yt }).then(() => D(je ? `${pe} exported${Ye} for the first ${he.length} segments — the rest is still transcribing.` : `${pe} exported${Ye}.`)).catch((Ge) => {
5322
5326
  throw M(kt(Ge)), Ge;
5323
5327
  });
5324
- }, ct = je ? "MORE TO COME…" : "END OF TRANSCRIPT", Ht = je ? "var(--brand)" : "var(--ink-28)", rt = Qo(ie, he.length), jt = x.has && (!se.relang || !!Pe), qe = v(x);
5328
+ }, ct = je ? "MORE TO COME…" : "END OF TRANSCRIPT", Ht = je ? "var(--brand)" : "var(--ink-28)", it = Po(ie, he.length), jt = x.has && (!se.relang || !!Pe), qe = v(x);
5325
5329
  qe.current = x;
5326
5330
  const _t = `${ne ?? ""}|${se.on ? "voice" : "source"}`, Vt = v({ key: _t, idx: 0, t: 0, playing: !1, until: 0 });
5327
5331
  _(() => {
@@ -5339,7 +5343,7 @@ function Yc(t) {
5339
5343
  }
5340
5344
  });
5341
5345
  const ht = v(!1), Je = v(!1);
5342
- u && (li.video = !0);
5346
+ u && (oi.video = !0);
5343
5347
  const [Wt, xt] = I(!1), [nn, bn] = I(!1);
5344
5348
  _(() => {
5345
5349
  if (!u || ht.current || !jt || !V || Y || t.autoplay === !1) return;
@@ -5373,7 +5377,7 @@ function Yc(t) {
5373
5377
  return;
5374
5378
  }
5375
5379
  Je.current = !0, qe.current.toggle();
5376
- }, rn = (T) => /* @__PURE__ */ i(_l, { player: x, size: T }), Ft = !!P && !je, [Gt, Q] = I(!1);
5380
+ }, rn = (T) => /* @__PURE__ */ i(Yl, { player: x, size: T }), Ft = !!P && !je, [Gt, Q] = I(!1);
5377
5381
  _(() => {
5378
5382
  if (!He) {
5379
5383
  Q(!1);
@@ -5382,12 +5386,12 @@ function Yc(t) {
5382
5386
  const T = setTimeout(() => Q(!0), 180);
5383
5387
  return () => clearTimeout(T);
5384
5388
  }, [He]);
5385
- const De = Gt ? Ue : ne, Fe = sl(P, ne, he, Ce), ft = ml(yl(ue), P, se.readLang), Zt = gt || Ct, Pi = (((xr = (br = n == null ? void 0 : n.job) == null ? void 0 : br.crop) == null ? void 0 : xr.startS) ?? 0) + as(x, he), Sn = A === "listen", Dt = Sn && !!Pe, Qi = (T) => {
5389
+ const De = Gt ? Ue : ne, Fe = nl(P, ne, he, Ce), ft = pl(ml(ue), P, se.readLang), Zt = gt || Ct, Ri = (((Dr = (xr = n == null ? void 0 : n.job) == null ? void 0 : xr.crop) == null ? void 0 : Dr.startS) ?? 0) + as(x, he), Sn = A === "listen", Dt = Sn && !!Pe, Pi = (T) => {
5386
5390
  mt.pause(), se.player.pause(), te(T), T === "read" && V && (Kt(!1), C(!1));
5387
- }, Ee = se.barChip, Ut = vi(Ee.label), Es = /* @__PURE__ */ i(cs, { value: A, onChange: Qi, bordered: !1, options: dc(Ut, !!Pe) }), Rt = [...Ft ? [{ key: "summary", label: "Summary" }] : [], ...Zt ? [{ key: "export", label: "Export" }] : []], Ys = (T) => /* @__PURE__ */ h(_e, { children: [
5388
- T === "summary" && Ft && /* @__PURE__ */ i(Tl, { s: ft }),
5389
- T === "export" && /* @__PURE__ */ i(pl, { audio: gt ? { name: Ke, meta: yt && se.canSpeak || ze ? `MP3${F ? ` · ${Lt(F)}` : ""}` : "ORIGINAL AUDIO", onClick: Yt } : null, formats: Ct, onExport: bt })
5390
- ] }), $i = (T) => /* @__PURE__ */ i(Xo, { index: x.idx, total: Math.max(1, he.length), frac: x.dur > 0 ? Math.min(1, x.t / x.dur) : 0, glideMs: x.wordSync ? 0 : 220, atLabel: Lt(x.t), durLabel: Lt(x.dur), stepLabel: T ? `${x.idx + 1} / ${he.length}` : "", onSeek: se.relang ? Wl : x.seekRow, onSeekFrac: se.relang ? void 0 : x.seekFrac, onScrubStart: x.hold, onScrubEnd: x.release }), _s = {
5391
+ }, Ee = se.barChip, Ut = ki(Ee.label), Ys = /* @__PURE__ */ i(cs, { value: A, onChange: Pi, bordered: !1, options: uc(Ut, !!Pe) }), Rt = [...Ft ? [{ key: "summary", label: "Summary" }] : [], ...Zt ? [{ key: "export", label: "Export" }] : []], _s = (T) => /* @__PURE__ */ h(_e, { children: [
5392
+ T === "summary" && Ft && /* @__PURE__ */ i(yl, { s: ft }),
5393
+ T === "export" && /* @__PURE__ */ i(Nl, { audio: gt ? { name: Ke, meta: yt && se.canSpeak || ze ? `MP3${F ? ` · ${Lt(F)}` : ""}` : "ORIGINAL AUDIO", onClick: Yt } : null, formats: Ct, onExport: bt })
5394
+ ] }), Qi = (T) => /* @__PURE__ */ i(Jo, { index: x.idx, total: Math.max(1, he.length), frac: x.dur > 0 ? Math.min(1, x.t / x.dur) : 0, glideMs: x.wordSync ? 0 : 220, atLabel: Lt(x.t), durLabel: Lt(x.dur), stepLabel: T ? `${x.idx + 1} / ${he.length}` : "", onSeek: se.relang ? Vl : x.seekRow, onSeekFrac: se.relang ? void 0 : x.seekFrac, onScrubStart: x.hold, onScrubEnd: x.release }), Us = {
5391
5395
  live: !1,
5392
5396
  atEdge: !1,
5393
5397
  edgeFrac: null,
@@ -5400,24 +5404,24 @@ function Yc(t) {
5400
5404
  var pe;
5401
5405
  se.relang || (pe = x.seekFrac) == null || pe.call(x, T);
5402
5406
  }
5403
- }, [Bi, Hi] = gc(se.on && !!x.preparing && x.playing, 1500), An = se.on && ((Dr = x.error) == null ? void 0 : Dr.code) === "voice_not_started", En = se.canSpeak && !se.error && !An, an = ne ? ((Sr = Mt == null ? void 0 : Mt.languages.find((T) => T.code === ne)) == null ? void 0 : Sr.name) ?? Ee.label : "", tt = V ? Mc({ lang: ne, langName: an, translating: He && !!ne, translateFailed: Ae, voiceFailed: An, relang: se.relang, starting: se.on ? x.starting : null, slowLine: Bi, lineSince: Hi }) : null, Yn = !!Pe && !!tt && (tt.kind === "translating" || tt.kind === "voice" && se.relang), Us = !Yn || !tt ? null : tt.kind === "translating" ? `Translating into ${an || "the new language"}…` : `Preparing the ${an || "translated"} voice…`, on = !Yn && ((tt == null ? void 0 : tt.kind) === "voice" || (tt == null ? void 0 : tt.kind) === "starting"), Rs = zs({ ...se.langList, keepOpen: !0, open: z === "lang", onClose: () => re("main") }), Ps = Fa(B, se.on), Vi = u && Ps.bed && gt && P && (!je || $e) ? Yr(e.origin, P, e.cred) : null, Qs = no(Vi, { t: as(x, he), playing: x.playing && !on && !(x.timed && x.preparing), muted: x.muted }), Wi = u && Ps.speech && gt && P && (!je || $e) ? Yr(e.origin, P, e.cred, "speech") : null, _n = Ni(Wi, { t: as(x, he), playing: !se.on && x.playing, muted: x.muted }), Un = !se.on && _n.on;
5407
+ }, [$i, Bi] = Mc(se.on && !!x.preparing && x.playing, 1500), An = se.on && ((Sr = x.error) == null ? void 0 : Sr.code) === "voice_not_started", En = se.canSpeak && !se.error && !An, an = ne ? ((Ar = Mt == null ? void 0 : Mt.languages.find((T) => T.code === ne)) == null ? void 0 : Ar.name) ?? Ee.label : "", tt = V ? dc({ lang: ne, langName: an, translating: He && !!ne, translateFailed: Ae, voiceFailed: An, relang: se.relang, starting: se.on ? x.starting : null, slowLine: $i, lineSince: Bi }) : null, Yn = !!Pe && !!tt && (tt.kind === "translating" || tt.kind === "voice" && se.relang), Rs = !Yn || !tt ? null : tt.kind === "translating" ? `Translating into ${an || "the new language"}…` : `Preparing the ${an || "translated"} voice…`, on = !Yn && ((tt == null ? void 0 : tt.kind) === "voice" || (tt == null ? void 0 : tt.kind) === "starting"), Ps = Is({ ...se.langList, keepOpen: !0, open: z === "lang", onClose: () => re("main") }), Qs = Wa(B, se.on), Hi = u && Qs.bed && gt && P && (!je || $e) ? _r(e.origin, P, e.cred) : null, $s = to(Hi, { t: as(x, he), playing: x.playing && !on && !(x.timed && x.preparing), muted: x.muted }), Vi = u && Qs.speech && gt && P && (!je || $e) ? _r(e.origin, P, e.cred, "speech") : null, _n = fi(Vi, { t: as(x, he), playing: !se.on && x.playing, muted: x.muted }), Un = !se.on && _n.on;
5404
5408
  _(() => {
5405
5409
  var T;
5406
5410
  lt.setVideoSound(!(Ve && (se.on || Un))), (T = We.silence) == null || T.call(We, !Ve && Un);
5407
5411
  }, [Ve, se.on, Un, $e]);
5408
- const Rn = gt ? se.on ? Qs : _n.state : "unavailable", Pn = Se && En && !!ne, Fi = Pn ? [`Translated${se.hasClone ? Oe ? ", cloned voices" : ", synthetic voices" : ""}`, !B && gt && Qs !== "unavailable" ? "with background sound" : null].filter(Boolean).join(" ") : B && Rn !== "unavailable" ? "Original speech, background removed" : "Original sound", Gi = () => {
5412
+ const Rn = gt ? se.on ? $s : _n.state : "unavailable", Pn = Se && En && !!ne, Wi = Pn ? [`Translated${se.hasClone ? Oe ? ", cloned voices" : ", synthetic voices" : ""}`, !B && gt && $s !== "unavailable" ? "with background sound" : null].filter(Boolean).join(" ") : B && Rn !== "unavailable" ? "Original speech, background removed" : "Original sound", Fi = () => {
5409
5413
  if ((tt == null ? void 0 : tt.kind) === "translateFailed") {
5410
5414
  ve(ne);
5411
5415
  return;
5412
5416
  }
5413
5417
  Je.current = !0, x.toggle();
5414
- }, Zi = () => {
5418
+ }, Gi = () => {
5415
5419
  const T = x.idx;
5416
5420
  x.pause(), le(null), Je.current = !0, mt.playRow(T);
5417
- }, $s = { prevOn: x.idx > 0, nextOn: x.idx < he.length - 1, onPrev: x.prev, onNext: x.next, playing: x.playing, playable: jt, playTitle: se.playTitle ?? (x.playing ? "Pause" : "Play"), onPlay: () => {
5421
+ }, Bs = { prevOn: x.idx > 0, nextOn: x.idx < he.length - 1, onPrev: x.prev, onNext: x.next, playing: x.playing, playable: jt, playTitle: se.playTitle ?? (x.playing ? "Pause" : "Play"), onPlay: () => {
5418
5422
  Je.current = !0, x.toggle();
5419
5423
  }, busy: se.relang && !Pe || on };
5420
- Mo(jt ? { playing: x.playing, toggle: () => {
5424
+ uo(jt ? { playing: x.playing, toggle: () => {
5421
5425
  Je.current = !0, x.toggle();
5422
5426
  }, next: x.next, prev: x.prev } : null, Te);
5423
5427
  const Qn = { background: "transparent", color: "#eef0f8", width: 74, justifyContent: "center", boxSizing: "border-box" }, $n = (T, pe) => !Ee.can || !R.language ? null : u ? /* @__PURE__ */ h("button", { type: "button", className: "gfull__btn", title: Et ? `${Ee.label ?? Ee.code}: still being prepared` : Ee.label ?? Ee.code, "aria-label": `Language: ${Ee.label ?? Ee.code}`, "aria-busy": Et || void 0, onClick: () => {
@@ -5425,36 +5429,36 @@ function Yc(t) {
5425
5429
  }, style: { position: "relative" }, children: [
5426
5430
  /* @__PURE__ */ i("span", { style: { fontSize: pe === "sm" ? 17 : 21, lineHeight: 1 }, children: Ee.flag }),
5427
5431
  Et && /* @__PURE__ */ i("span", { style: { position: "absolute", right: 2, bottom: 2, display: "flex", borderRadius: 999, background: "rgba(5,6,21,.7)", padding: 1 }, children: /* @__PURE__ */ i(at, { size: 11, color: "#eef0f8", track: "rgba(255,255,255,.25)" }) })
5428
- ] }) : /* @__PURE__ */ i(vn, { flag: Ee.flag, code: Ee.code, label: Ee.label, bordered: !1, size: pe, onClick: Ee.onClick, style: T }), Bs = { on: !1, title: "Voices", onClick: () => {
5429
- } }, [qi, Ki] = I(!1);
5432
+ ] }) : /* @__PURE__ */ i(vn, { flag: Ee.flag, code: Ee.code, label: Ee.label, bordered: !1, size: pe, onClick: Ee.onClick, style: T }), Hs = { on: !1, title: "Voices", onClick: () => {
5433
+ } }, [Zi, qi] = I(!1);
5430
5434
  _(() => {
5431
- x.t > 0.3 && Ki(!0);
5435
+ x.t > 0.3 && qi(!0);
5432
5436
  }, [x.t]);
5433
- const Hs = Pe && /* @__PURE__ */ h(_e, { children: [
5434
- /* @__PURE__ */ i(Al, { ytId: Pe, title: Ke, t: Pi, playing: x.playing && !on, waiting: se.on && !!x.timed && !!x.preparing, seekN: x.seekN, onTime: (T) => {
5437
+ const Vs = Pe && /* @__PURE__ */ h(_e, { children: [
5438
+ /* @__PURE__ */ i(Sl, { ytId: Pe, title: Ke, t: Ri, playing: x.playing && !on, waiting: se.on && !!x.timed && !!x.preparing, seekN: x.seekN, onTime: (T) => {
5435
5439
  var pe, Ye, Ge;
5436
5440
  return (Ge = x.videoAt) == null ? void 0 : Ge.call(x, T - (((Ye = (pe = n == null ? void 0 : n.job) == null ? void 0 : pe.crop) == null ? void 0 : Ye.startS) ?? 0));
5437
5441
  }, onToggle: x.has ? sn : void 0, onAd: bn, lead: Ve ? lt.lead : void 0 }),
5438
- /* @__PURE__ */ h("div", { className: "vsp-poster", "aria-hidden": "true", style: { opacity: qi ? 0 : 1 }, children: [
5442
+ /* @__PURE__ */ h("div", { className: "vsp-poster", "aria-hidden": "true", style: { opacity: Zi ? 0 : 1 }, children: [
5439
5443
  /* @__PURE__ */ i("div", { className: "vsp-poster__img", style: { backgroundImage: `url(https://i.ytimg.com/vi/${Pe}/hqdefault.jpg)` } }),
5440
5444
  /* @__PURE__ */ i("span", { className: "txyt__pausedplay", children: /* @__PURE__ */ i(vs, { size: 44 }) })
5441
5445
  ] })
5442
- ] }), Vs = Dt && Pe && !V ? /* @__PURE__ */ i(wl, { ytId: Pe, title: Ke, radius: 14, large: !0, style: r ? void 0 : { margin: "8px 20px 2px" }, picture: Hs, children: /* @__PURE__ */ i(oc, { pos: _s, transport: $s, chip: $n({ ...Qn, width: 64, height: 28, minHeight: 28, padding: "0 8px" }, "sm"), voices: Bs, onFull: () => {
5446
+ ] }), Ws = Dt && Pe && !V ? /* @__PURE__ */ i(Tl, { ytId: Pe, title: Ke, radius: 14, large: !0, style: r ? void 0 : { margin: "8px 20px 2px" }, picture: Vs, children: /* @__PURE__ */ i(ac, { pos: Us, transport: Bs, chip: $n({ ...Qn, width: 64, height: 28, minHeight: 28, padding: "0 8px" }, "sm"), voices: Hs, onFull: () => {
5443
5447
  Kt(!0), C(!0);
5444
- }, copied: null }) }) : null, et = x.wordSync ? Go(he, x.idx, x.t) ? he[x.idx] : void 0 : he[x.idx];
5448
+ }, copied: null }) }) : null, et = x.wordSync ? Fo(he, x.idx, x.t) ? he[x.idx] : void 0 : he[x.idx];
5445
5449
  for (const T of he) for (const [pe, Ye] of Object.entries(T.translations)) Ye && L.current.set(`${T.sentenceId ?? T.start}|${pe}`, Ye);
5446
- const Ws = (T, pe) => T.translations[pe] || L.current.get(`${T.sentenceId ?? T.start}|${pe}`) || null, Bn = (T, pe) => !T || !pe || T.language === pe || !!Ws(T, pe), wt = Bn(et, ne) ? ne : Bn(et, $.current) ? $.current : ne;
5450
+ const Fs = (T, pe) => T.translations[pe] || L.current.get(`${T.sentenceId ?? T.start}|${pe}`) || null, Bn = (T, pe) => !T || !pe || T.language === pe || !!Fs(T, pe), wt = Bn(et, ne) ? ne : Bn(et, $.current) ? $.current : ne;
5447
5451
  et && Bn(et, wt) && ($.current = wt);
5448
- const Fs = et && wt && et.language !== wt ? Ws(et, wt) : null, Ji = et && Fs && wt && !et.translations[wt] ? Object.assign([...he], { [x.idx]: { ...et, translations: { ...et.translations, [wt]: Fs } } }) : he, ln = et ? bi(Ji, x.idx, wt) : [], cn = ke ? ke === "on" : !u || se.on || !De || De === ee, Gs = cn ? qr(x, x.idx, ln) : null, Zs = ln.map((T, pe) => ({ t: T.text, sp: pe < ln.length - 1 ? " " : "", dim: Gs != null && pe > Gs })), un = ae ? ae === "on" : u ? !1 : zo(H, he, ue == null ? void 0 : ue.settings), qs = { lang: ne, subtitles: ye, speakerLabels: un, wordHighlight: cn, translateAudio: Se, voices: Oe ? "cloned" : "synthetic", removeBackground: B }, Xi = JSON.stringify(qs), dn = v(t.onSettingsChange);
5452
+ const Gs = et && wt && et.language !== wt ? Fs(et, wt) : null, Ki = et && Gs && wt && !et.translations[wt] ? Object.assign([...he], { [x.idx]: { ...et, translations: { ...et.translations, [wt]: Gs } } }) : he, ln = et ? Ci(Ki, x.idx, wt) : [], cn = ke ? ke === "on" : !u || se.on || !De || De === ee, Zs = cn ? qr(x, x.idx, ln) : null, qs = ln.map((T, pe) => ({ t: T.text, sp: pe < ln.length - 1 ? " " : "", dim: Zs != null && pe > Zs })), un = ae ? ae === "on" : u ? !1 : jo(H, he, ue == null ? void 0 : ue.settings), Ks = { lang: ne, subtitles: ye, speakerLabels: un, wordHighlight: cn, translateAudio: Se, voices: Oe ? "cloned" : "synthetic", removeBackground: B }, Ji = JSON.stringify(Ks), dn = v(t.onSettingsChange);
5449
5453
  dn.current = t.onSettingsChange, _(() => {
5450
5454
  var T;
5451
- (T = dn.current) == null || T.call(dn, qs);
5452
- }, [Xi]);
5453
- const Mn = et && et.speaker >= 0 && un ? Cs(H, et.speaker) : null, [ea, Ks] = I(!1), [Hn, Js] = I(null), [ta, Xs] = I(null), Vn = v(void 0);
5455
+ (T = dn.current) == null || T.call(dn, Ks);
5456
+ }, [Ji]);
5457
+ const Mn = et && et.speaker >= 0 && un ? bs(H, et.speaker) : null, [Xi, Js] = I(!1), [Hn, Xs] = I(null), [ea, er] = I(null), Vn = v(void 0);
5454
5458
  _(() => () => window.clearTimeout(Vn.current), []);
5455
5459
  const Wn = v(void 0);
5456
5460
  _(() => () => window.clearTimeout(Wn.current), []);
5457
- const er = (T) => {
5461
+ const tr = (T) => {
5458
5462
  if (t.shareUrl) return t.shareUrl(T);
5459
5463
  const pe = new URL(window.location.href);
5460
5464
  return T != null && T > 0 ? pe.searchParams.set("t", String(T)) : pe.searchParams.delete("t"), pe.href;
@@ -5466,19 +5470,19 @@ function Yc(t) {
5466
5470
  let pe = 0;
5467
5471
  for (let Ye = 0; Ye < he.length; Ye++) he[Ye].start <= T && (pe = Ye);
5468
5472
  x.seekRow(pe);
5469
- }, tr = v(!1);
5473
+ }, nr = v(!1);
5470
5474
  _(() => {
5471
5475
  const T = gn.current;
5472
- T == null || tr.current || !x.has || he.length === 0 || (tr.current = !0, Fn(T));
5476
+ T == null || nr.current || !x.has || he.length === 0 || (nr.current = !0, Fn(T));
5473
5477
  }, [x.has, he.length]), _(() => {
5474
5478
  const T = gn.current;
5475
5479
  T == null || !x.playing || (gn.current = null, Math.abs(x.t - T) > 2 && Fn(T));
5476
5480
  }, [x.playing]);
5477
- const na = (T) => {
5481
+ const ta = (T) => {
5478
5482
  Je.current = !0, gn.current = null, Fn(Math.max(0, T));
5479
5483
  };
5480
5484
  t.handle.current = {
5481
- seek: (T) => na(T),
5485
+ seek: (T) => ta(T),
5482
5486
  play: () => {
5483
5487
  Je.current = !0, qe.current.playing || qe.current.toggle();
5484
5488
  },
@@ -5494,30 +5498,30 @@ function Yc(t) {
5494
5498
  }, _(() => () => {
5495
5499
  t.handle.current = null;
5496
5500
  }, []);
5497
- const nr = v(t.onPlayback);
5498
- nr.current = t.onPlayback;
5499
- const sr = v(ne);
5500
- sr.current = ne, _(() => {
5501
+ const sr = v(t.onPlayback);
5502
+ sr.current = t.onPlayback;
5503
+ const rr = v(ne);
5504
+ rr.current = ne, _(() => {
5501
5505
  let T = "";
5502
5506
  const pe = () => {
5503
- const Ge = nr.current;
5507
+ const Ge = sr.current;
5504
5508
  if (!Ge) return;
5505
- const Nt = qe.current, ut = { t: Nt.t, dur: Nt.dur, playing: Nt.playing, idx: Nt.idx, seekN: Nt.seekN, lang: sr.current, muted: Nt.muted }, pn = `${ut.t.toFixed(2)}|${ut.dur}|${ut.playing}|${ut.idx}|${ut.seekN}|${ut.lang}|${ut.muted}`;
5509
+ const Nt = qe.current, ut = { t: Nt.t, dur: Nt.dur, playing: Nt.playing, idx: Nt.idx, seekN: Nt.seekN, lang: rr.current, muted: Nt.muted }, pn = `${ut.t.toFixed(2)}|${ut.dur}|${ut.playing}|${ut.idx}|${ut.seekN}|${ut.lang}|${ut.muted}`;
5506
5510
  pn !== T && (T = pn, Ge(ut));
5507
5511
  };
5508
5512
  pe();
5509
- const Ye = window.setInterval(pe, Ac);
5513
+ const Ye = window.setInterval(pe, Sc);
5510
5514
  return () => window.clearInterval(Ye);
5511
5515
  }, []);
5512
- const sa = () => t.onShare ? t.onShare() : Ds(er(null), Ke, () => {
5513
- window.clearTimeout(Wn.current), Ks(!0), Wn.current = window.setTimeout(() => Ks(!1), 2200);
5514
- }), rr = (T, pe, Ye) => {
5515
- const Ge = ps.find((pn) => pn.key === T), Nt = Hn === T, ut = ta === T;
5516
+ const na = () => t.onShare ? t.onShare() : Ss(tr(null), Ke, () => {
5517
+ window.clearTimeout(Wn.current), Js(!0), Wn.current = window.setTimeout(() => Js(!1), 2200);
5518
+ }), ir = (T, pe, Ye) => {
5519
+ const Ge = ps.find((pn) => pn.key === T), Nt = Hn === T, ut = ea === T;
5516
5520
  return /* @__PURE__ */ h("div", { className: "srow srow--tap", role: "button", "aria-busy": Nt || void 0, style: Hn && !Nt ? { opacity: 0.45, pointerEvents: "none" } : void 0, onClick: () => {
5517
- Hn || (Js(T), Promise.resolve().then(() => bt(T)).then(() => {
5518
- Xs(T), window.clearTimeout(Vn.current), Vn.current = window.setTimeout(() => Xs(null), 1600);
5521
+ Hn || (Xs(T), Promise.resolve().then(() => bt(T)).then(() => {
5522
+ er(T), window.clearTimeout(Vn.current), Vn.current = window.setTimeout(() => er(null), 1600);
5519
5523
  }).catch(() => {
5520
- }).finally(() => Js(null)));
5524
+ }).finally(() => Xs(null)));
5521
5525
  }, children: [
5522
5526
  Nt ? /* @__PURE__ */ i(at, { size: 17, color: "var(--brand)", track: "var(--fill-12)" }) : /* @__PURE__ */ i(oe, { d: Ge.icon, size: 17, sw: 1.5, style: { flex: "none", color: "var(--ink-70)" } }),
5523
5527
  /* @__PURE__ */ h("div", { style: { flex: 1, minWidth: 0 }, children: [
@@ -5526,15 +5530,15 @@ function Yc(t) {
5526
5530
  ] }),
5527
5531
  /* @__PURE__ */ i(oe, { d: ut ? J.check : J.downloaded, size: 17, sw: 1.6, style: { flex: "none", color: ut ? "var(--brand)" : "var(--ink-62)" } })
5528
5532
  ] });
5529
- }, ra = /* @__PURE__ */ h("span", { className: "vs-sheet__title", style: { position: "relative" }, children: [
5533
+ }, sa = /* @__PURE__ */ h("span", { className: "vs-sheet__title", style: { position: "relative" }, children: [
5530
5534
  " ",
5531
5535
  /* @__PURE__ */ h("button", { type: "button", onClick: () => re("main"), "aria-label": "Back", style: { position: "absolute", left: -6, top: "50%", transform: "translateY(-50%)", display: "inline-flex", alignItems: "center", gap: 2, padding: "4px 6px 4px 0", border: 0, background: "none", color: "var(--ink-96)", fontFamily: "var(--vs-font-sans)", fontSize: 15, fontWeight: 600, letterSpacing: 0, lineHeight: 1, whiteSpace: "nowrap", cursor: "pointer" }, children: [
5532
5536
  /* @__PURE__ */ i(oe, { d: J.chevronLeft, size: 18, sw: 1.8 }),
5533
5537
  "Back"
5534
5538
  ] })
5535
- ] }), hn = /* @__PURE__ */ i(oe, { d: J.chevronRight, size: 17, sw: 1.6, style: { flex: "none", color: "var(--ink-45)" } }), ia = { main: "SETTINGS", lang: "LANGUAGE", subs: "SUBTITLES", audio: "AUDIO", export: "EXPORT" }[z], fn = { display: "flex", flexDirection: "column", gap: 2, paddingBottom: 14 }, Gn = u ? /* @__PURE__ */ i($t, { open: j, onClose: () => S(!1), title: ia, titleNode: z === "main" ? void 0 : ra, doneLabel: Ut.done, kind: z === "main" ? "settings" : "settings vs-sheet--page", sticky: !0, children: /* @__PURE__ */ i(us, { children: z === "lang" ? /* @__PURE__ */ h("div", { style: { display: "flex", flexDirection: "column" }, children: [
5536
- /* @__PURE__ */ i("div", { style: { position: "sticky", top: 0, zIndex: 1, padding: "4px 14px 10px", background: "var(--vs-surface-raised)" }, children: Rs.search }),
5537
- Rs.list
5539
+ ] }), hn = /* @__PURE__ */ i(oe, { d: J.chevronRight, size: 17, sw: 1.6, style: { flex: "none", color: "var(--ink-45)" } }), ra = { main: "SETTINGS", lang: "LANGUAGE", subs: "SUBTITLES", audio: "AUDIO", export: "EXPORT" }[z], fn = { display: "flex", flexDirection: "column", gap: 2, paddingBottom: 14 }, Gn = u ? /* @__PURE__ */ i($t, { open: j, onClose: () => S(!1), title: ra, titleNode: z === "main" ? void 0 : sa, doneLabel: Ut.done, kind: z === "main" ? "settings" : "settings vs-sheet--page", sticky: !0, children: /* @__PURE__ */ i(us, { children: z === "lang" ? /* @__PURE__ */ h("div", { style: { display: "flex", flexDirection: "column" }, children: [
5540
+ /* @__PURE__ */ i("div", { style: { position: "sticky", top: 0, zIndex: 1, padding: "4px 14px 10px", background: "var(--vs-surface-raised)" }, children: Ps.search }),
5541
+ Ps.list
5538
5542
  ] }) : z === "subs" ? /* @__PURE__ */ h("div", { style: fn, children: [
5539
5543
  /* @__PURE__ */ h("div", { className: "srow", children: [
5540
5544
  /* @__PURE__ */ h("div", { style: { flex: 1, minWidth: 0 }, children: [
@@ -5575,13 +5579,13 @@ function Yc(t) {
5575
5579
  /* @__PURE__ */ h("div", { className: "srow", children: [
5576
5580
  /* @__PURE__ */ h("div", { style: { flex: 1, minWidth: 0 }, children: [
5577
5581
  /* @__PURE__ */ i("div", { className: "srow__t", children: jn }),
5578
- /* @__PURE__ */ i("div", { className: "srow__s", children: Wa(B, Rn, "video", se.on ? 0 : _n.untilS) })
5582
+ /* @__PURE__ */ i("div", { className: "srow__s", children: Va(B, Rn, "video", se.on ? 0 : _n.untilS) })
5579
5583
  ] }),
5580
5584
  /* @__PURE__ */ i(pt, { checked: B && gt, onChange: X, label: jn, disabled: !gt || Rn === "unavailable" && !B })
5581
5585
  ] })
5582
5586
  ] }) : z === "export" ? /* @__PURE__ */ h("div", { style: fn, children: [
5583
- rr("srt", "Subtitles", "SRT / VTT caption cues, ready for a video editor or a player"),
5584
- rr("pdf", "PDF", "Formatted transcript in paragraphs, with timestamps and speaker labels")
5587
+ ir("srt", "Subtitles", "SRT / VTT caption cues, ready for a video editor or a player"),
5588
+ ir("pdf", "PDF", "Formatted transcript in paragraphs, with timestamps and speaker labels")
5585
5589
  ] }) : /* @__PURE__ */ i("div", { style: fn, children: [
5586
5590
  Ee.can && R.language && /* @__PURE__ */ h("div", { className: "srow srow--tap", role: "button", onClick: () => re("lang"), children: [
5587
5591
  /* @__PURE__ */ h("div", { style: { flex: 1, minWidth: 0 }, children: [
@@ -5601,7 +5605,7 @@ function Yc(t) {
5601
5605
  R.audio && /* @__PURE__ */ h("div", { className: "srow srow--tap", role: "button", onClick: () => re("audio"), children: [
5602
5606
  /* @__PURE__ */ h("div", { style: { flex: 1, minWidth: 0 }, children: [
5603
5607
  /* @__PURE__ */ i("div", { className: "srow__t", children: "Audio" }),
5604
- /* @__PURE__ */ i("div", { className: "srow__s", children: Fi })
5608
+ /* @__PURE__ */ i("div", { className: "srow__s", children: Wi })
5605
5609
  ] }),
5606
5610
  hn
5607
5611
  ] }, "audio"),
@@ -5632,42 +5636,42 @@ function Yc(t) {
5632
5636
  ] }),
5633
5637
  t.settingsExtra
5634
5638
  ] }) }), It = V && Dt && Pe && /* @__PURE__ */ i(
5635
- Ai,
5639
+ Si,
5636
5640
  {
5637
5641
  page: (t.layout ?? "embed") === "page",
5638
- picture: Hs,
5642
+ picture: Vs,
5639
5643
  title: Ke,
5640
5644
  desk: r,
5641
- pos: _s,
5645
+ pos: Us,
5642
5646
  mute: { muted: x.muted, onToggle: Dn },
5643
5647
  cc: R.subtitles ? { on: ye, onToggle: () => Le((T) => !T) } : void 0,
5644
5648
  noFull: !R.fullscreen,
5645
5649
  ad: nn,
5646
- wait: tt && !Yn ? /* @__PURE__ */ i(fc, { state: tt, line: on ? Zs.map((T) => T.t + T.sp).join("") : null, onRetry: Gi, onOriginal: Zi }) : x.edgeWait ? `Transcribing ${Math.round(U)}% — it plays on as more is written` : null,
5650
+ wait: tt && !Yn ? /* @__PURE__ */ i(hc, { state: tt, line: on ? qs.map((T) => T.t + T.sp).join("") : null, onRetry: Fi, onOriginal: Gi }) : x.edgeWait ? `Transcribing ${Math.round(U)}% — it plays on as more is written` : null,
5647
5651
  pct: je ? Math.round(U) : null,
5648
- sub: ye && et ? { who: Mn ? Os(H, et.speaker) : null, color: Mn ? Mn.fg ?? `var(--lane-${Mn.lane})` : "#fff", words: Zs, cursor: qr(x, x.idx, ln) } : null,
5652
+ sub: ye && et ? { who: Mn ? Cs(H, et.speaker) : null, color: Mn ? Mn.fg ?? `var(--lane-${Mn.lane})` : "#fff", words: qs, cursor: qr(x, x.idx, ln) } : null,
5649
5653
  chip: $n(r ? Qn : { ...Qn, width: 64, padding: "0 6px" }, r ? void 0 : "sm"),
5650
- transport: $s,
5654
+ transport: Bs,
5651
5655
  picker: se.sheets,
5652
5656
  sheet: u ? Gn : null,
5653
5657
  voices: null,
5654
- voicesBtn: u ? null : Bs,
5658
+ voicesBtn: u ? null : Hs,
5655
5659
  sheetOpen: se.sheetsOpen || j,
5656
- onShare: u && R.share ? sa : void 0,
5660
+ onShare: u && R.share ? na : void 0,
5657
5661
  onSettings: u && R.settings ? () => {
5658
5662
  se.closePicker(), S((T) => !T);
5659
5663
  } : void 0,
5660
5664
  compact: !!t.compact,
5661
- paused: { title: Ke, summary: ft.state === "ready" ? ft.summary ?? null : null, share: R.share && (t.shareUrl || !t.onShare) ? { url: er, at: x.t } : null },
5662
- copied: ea ? /* @__PURE__ */ h("div", { className: "gfull__toast", "aria-live": "polite", children: [
5665
+ paused: { title: Ke, summary: ft.state === "ready" ? ft.summary ?? null : null, share: R.share && (t.shareUrl || !t.onShare) ? { url: tr, at: x.t } : null },
5666
+ copied: Xi ? /* @__PURE__ */ h("div", { className: "gfull__toast", "aria-live": "polite", children: [
5663
5667
  /* @__PURE__ */ i(oe, { d: J.check, size: 13, sw: 2 }),
5664
5668
  "Link copied"
5665
5669
  ] }) : Wt ? /* @__PURE__ */ h("div", { className: "gfull__toast gfull__soundtip", "aria-live": "polite", children: [
5666
5670
  /* @__PURE__ */ i(oe, { d: J.volumeOff, size: 14, sw: 1.8 }),
5667
5671
  "Tap for sound"
5668
- ] }) : Us ? /* @__PURE__ */ h("div", { className: "gfull__toast", role: "status", "aria-live": "polite", children: [
5672
+ ] }) : Rs ? /* @__PURE__ */ h("div", { className: "gfull__toast", role: "status", "aria-live": "polite", children: [
5669
5673
  /* @__PURE__ */ i(at, { size: 13, color: "#eef0f8", track: "rgba(255,255,255,.25)" }),
5670
- Us
5674
+ Rs
5671
5675
  ] }) : se.on && (Ve ? vt.missing != null : x.silent) ? /* @__PURE__ */ h("div", { className: "gfull__toast", role: "status", "aria-live": "polite", children: [
5672
5676
  /* @__PURE__ */ i(at, { size: 13, color: "#eef0f8", track: "rgba(255,255,255,.25)" }),
5673
5677
  `${an || "Translated"} voice is still being prepared · playing with subtitles`
@@ -5683,65 +5687,65 @@ function Yc(t) {
5683
5687
  _(() => {
5684
5688
  !u && V && !Dt && (Kt(!1), C(!1));
5685
5689
  }, [u, V, Dt]);
5686
- const ir = je && /* @__PURE__ */ h("div", { className: `pubprog${r ? " pubprog--desk" : ""}${w ? " pubprog--find" : ""}`, children: [
5690
+ const ar = je && /* @__PURE__ */ h("div", { className: `pubprog${r ? " pubprog--desk" : ""}${w ? " pubprog--find" : ""}`, children: [
5687
5691
  /* @__PURE__ */ h("div", { className: "pubprog__row", children: [
5688
5692
  /* @__PURE__ */ i("span", { className: "l", children: `TRANSCRIBING ${U}%` }),
5689
5693
  !r && /* @__PURE__ */ i("div", { style: { flex: 1 } }),
5690
5694
  r && /* @__PURE__ */ i("div", { className: "pubprog__bar", style: { flex: 1 }, children: /* @__PURE__ */ i("div", { style: { width: `${U}%` } }) }),
5691
- /* @__PURE__ */ i("span", { className: "s", children: rt })
5695
+ /* @__PURE__ */ i("span", { className: "s", children: it })
5692
5696
  ] }),
5693
5697
  !r && /* @__PURE__ */ i("div", { className: "pubprog__bar", style: { marginTop: 8 }, children: /* @__PURE__ */ i("div", { style: { width: `${U}%` } }) })
5694
- ] }), Zn = s && /* @__PURE__ */ i("div", { className: "hint", style: { padding: "30px 20px", textAlign: "center", fontSize: 13 }, children: "This link is no longer shared. Ask the person who sent it for a new one." }), ar = /* @__PURE__ */ i(ql, { model: H, rows: he, player: x, tail: ct, tailFg: Ht, running: je, desk: r, feedRef: it, listener: !0, showLabels: un, find: m, findOpen: !r && w, lang: De, warm: Gt, onVisible: Fe, wordHl: cn }), qn = /* @__PURE__ */ i(Jo, { error: g ?? me ?? (An && V ? null : x.error) ?? se.error, onClose: () => {
5698
+ ] }), Zn = s && /* @__PURE__ */ i("div", { className: "hint", style: { padding: "30px 20px", textAlign: "center", fontSize: 13 }, children: "This link is no longer shared. Ask the person who sent it for a new one." }), or = /* @__PURE__ */ i(Zl, { model: H, rows: he, player: x, tail: ct, tailFg: Ht, running: je, desk: r, feedRef: st, listener: !0, showLabels: un, find: m, findOpen: !r && w, lang: De, warm: Gt, onVisible: Fe, wordHl: cn }), qn = /* @__PURE__ */ i(Ko, { error: g ?? me ?? (An && V ? null : x.error) ?? se.error, onClose: () => {
5695
5699
  M(null), q(), x.clearError(), se.clearError();
5696
- } }), or = [F ? Lt(F) : null, ee ? ee.toUpperCase() : null, Me || "Read-only copy"].filter(Boolean).join(" · "), lr = (T) => /* @__PURE__ */ i("div", { className: "ctrans", children: se.noVoice ? se.noVoiceNote : /* @__PURE__ */ h(_e, { children: [
5700
+ } }), lr = [F ? Lt(F) : null, ee ? ee.toUpperCase() : null, Me || "Read-only copy"].filter(Boolean).join(" · "), cr = (T) => /* @__PURE__ */ i("div", { className: "ctrans", children: se.noVoice ? se.noVoiceNote : /* @__PURE__ */ h(_e, { children: [
5697
5701
  /* @__PURE__ */ h("div", { className: "ctrans__row", children: [
5698
5702
  /* @__PURE__ */ i("span", { className: "ctrans__sp", "aria-hidden": "true" }),
5699
5703
  /* @__PURE__ */ h("div", { className: "ctrans__mid", children: [
5700
5704
  /* @__PURE__ */ i("button", { type: "button", className: "ctrans__step", "aria-label": "Previous segment", title: "Previous segment", style: { opacity: x.idx <= 0 ? 0.3 : 1 }, onClick: x.prev, children: /* @__PURE__ */ i(oe, { d: J.chevronLeft, size: 16, sw: 1.8 }) }),
5701
- /* @__PURE__ */ i("button", { type: "button", className: "ctrans__play", "aria-label": se.relang ? "Preparing audio" : x.playing ? "Pause" : "Play", title: se.relang ? "Preparing audio…" : se.playTitle ?? (x.playing ? "Pause" : "Play"), disabled: !jt, onClick: x.toggle, children: se.relang ? /* @__PURE__ */ i("span", { className: "ctrans__spin" }) : /* @__PURE__ */ i("svg", { viewBox: "0 0 24 24", width: 16, height: 16, fill: "currentColor", "aria-hidden": "true", style: x.playing ? void 0 : { marginLeft: 2 }, children: x.playing ? El : Yl }) }),
5705
+ /* @__PURE__ */ i("button", { type: "button", className: "ctrans__play", "aria-label": se.relang ? "Preparing audio" : x.playing ? "Pause" : "Play", title: se.relang ? "Preparing audio…" : se.playTitle ?? (x.playing ? "Pause" : "Play"), disabled: !jt, onClick: x.toggle, children: se.relang ? /* @__PURE__ */ i("span", { className: "ctrans__spin" }) : /* @__PURE__ */ i("svg", { viewBox: "0 0 24 24", width: 16, height: 16, fill: "currentColor", "aria-hidden": "true", style: x.playing ? void 0 : { marginLeft: 2 }, children: x.playing ? Al : El }) }),
5702
5706
  /* @__PURE__ */ i("button", { type: "button", className: "ctrans__step", "aria-label": "Next segment", title: "Next segment", style: { opacity: x.idx >= he.length - 1 ? 0.3 : 1 }, onClick: x.next, children: /* @__PURE__ */ i(oe, { d: J.chevronRight, size: 16, sw: 1.8 }) })
5703
5707
  ] }),
5704
5708
  /* @__PURE__ */ i("span", { className: "ctrans__mute", children: rn(36) })
5705
5709
  ] }),
5706
- /* @__PURE__ */ i("div", { className: "ctrans__scrub", children: $i(T) })
5707
- ] }) }), aa = vl("ga", { tabs: Rt, cur: p, pref: (Ar = Rt[0]) == null ? void 0 : Ar.key, onPick: N }), cr = Math.max(0, Math.min(100, Math.round(U))), oa = Y && /* @__PURE__ */ h("div", { className: "gfull gfull--hold", "data-theme": "dark", role: "status", "aria-live": "polite", children: [
5710
+ /* @__PURE__ */ i("div", { className: "ctrans__scrub", children: Qi(T) })
5711
+ ] }) }), ia = kl("ga", { tabs: Rt, cur: p, pref: (Er = Rt[0]) == null ? void 0 : Er.key, onPick: N }), ur = Math.max(0, Math.min(100, Math.round(U))), aa = Y && /* @__PURE__ */ h("div", { className: "gfull gfull--hold", "data-theme": "dark", role: "status", "aria-live": "polite", children: [
5708
5712
  Pe && /* @__PURE__ */ i("div", { className: "gfull__holdbg", style: { backgroundImage: `url(https://i.ytimg.com/vi/${Pe}/hqdefault.jpg)` } }),
5709
5713
  /* @__PURE__ */ i("div", { className: "gfull__hold", children: n ? /* @__PURE__ */ h(_e, { children: [
5710
5714
  Ke && /* @__PURE__ */ i("div", { className: "gfull__holdt", children: Ke }),
5711
- /* @__PURE__ */ i("div", { className: "gfull__holdpct", children: Ne === "transcribing" ? `${cr}%` : /* @__PURE__ */ i("span", { className: "gfull__spin gfull__holdspin" }) }),
5712
- /* @__PURE__ */ i("div", { className: "gfull__holdbar", children: /* @__PURE__ */ i("div", { style: { width: `${Ne === "transcribing" ? cr : 0}%` } }) }),
5715
+ /* @__PURE__ */ i("div", { className: "gfull__holdpct", children: Ne === "transcribing" ? `${ur}%` : /* @__PURE__ */ i("span", { className: "gfull__spin gfull__holdspin" }) }),
5716
+ /* @__PURE__ */ i("div", { className: "gfull__holdbar", children: /* @__PURE__ */ i("div", { style: { width: `${Ne === "transcribing" ? ur : 0}%` } }) }),
5713
5717
  /* @__PURE__ */ h("div", { className: "gfull__holds", children: [
5714
5718
  Ne === "transcribing" ? "Transcribing" : Ne === "cropping" ? "Preparing the video" : "Waiting to start",
5715
- Ne === "transcribing" && (ie != null && ie.segmentsDone) ? ` · ${rt.toLowerCase()}` : ""
5719
+ Ne === "transcribing" && (ie != null && ie.segmentsDone) ? ` · ${it.toLowerCase()}` : ""
5716
5720
  ] }),
5717
5721
  /* @__PURE__ */ i("div", { className: "gfull__holdn", children: "The video starts as soon as the first lines are transcribed." })
5718
5722
  ] }) : /* @__PURE__ */ i("span", { className: "gfull__spin gfull__holdspin", "aria-label": "Loading" }) })
5719
- ] }), ur = u && n && (je || Ne === "cropping") ? Math.max(0, Math.min(100, Math.round(U))) : null, Nn = v(t.onProgress);
5723
+ ] }), dr = u && n && (je || Ne === "cropping") ? Math.max(0, Math.min(100, Math.round(U))) : null, Nn = v(t.onProgress);
5720
5724
  Nn.current = t.onProgress, _(() => {
5721
5725
  var T;
5722
- (T = Nn.current) == null || T.call(Nn, ur);
5723
- }, [ur]);
5724
- const [la, Kn] = I(!1), Jn = !!It && !Y && (Ve ? !!x.ended : !x.playing && x.dur > 0 && x.t >= x.dur - 0.5);
5726
+ (T = Nn.current) == null || T.call(Nn, dr);
5727
+ }, [dr]);
5728
+ const [oa, Kn] = I(!1), Jn = !!It && !Y && (Ve ? !!x.ended : !x.playing && x.dur > 0 && x.t >= x.dur - 0.5);
5725
5729
  _(() => {
5726
5730
  Jn || Kn(!1);
5727
5731
  }, [Jn]);
5728
- const ca = t.endCard !== !1 && Jn && !la && /* @__PURE__ */ i(kc, { options: { appUrl: t.appUrl, ...t.endCard || {} }, onStarted: t.onStarted, onClose: () => Kn(!0), onReplay: () => {
5732
+ const la = t.endCard !== !1 && Jn && !oa && /* @__PURE__ */ i(Lc, { options: { appUrl: t.appUrl, ...t.endCard || {} }, onStarted: t.onStarted, onClose: () => Kn(!0), onReplay: () => {
5729
5733
  Kn(!0), Je.current = !0, x.seekFrac ? x.seekFrac(0) : x.seekRow(0), x.playing || x.toggle();
5730
5734
  } });
5731
5735
  if (u) return /* @__PURE__ */ h(_e, { children: [
5732
- s ? /* @__PURE__ */ i("div", { className: "gfull", "data-theme": "dark", children: Zn }) : oa || It || /* @__PURE__ */ i("div", { className: "gfull", "data-theme": "dark" }),
5733
- ca,
5736
+ s ? /* @__PURE__ */ i("div", { className: "gfull", "data-theme": "dark", children: Zn }) : aa || It || /* @__PURE__ */ i("div", { className: "gfull", "data-theme": "dark" }),
5737
+ la,
5734
5738
  qn
5735
5739
  ] });
5736
5740
  if (r) {
5737
- const T = Sn && !Dt && !s && /* @__PURE__ */ i("div", { className: "pubdeskctl", children: lr(!0) }), pe = !s && (Rt.length > 0 || Dt || !!se.sidePanel || !!T);
5741
+ const T = Sn && !Dt && !s && /* @__PURE__ */ i("div", { className: "pubdeskctl", children: cr(!0) }), pe = !s && (Rt.length > 0 || Dt || !!se.sidePanel || !!T);
5738
5742
  return /* @__PURE__ */ h(_e, { children: [
5739
5743
  /* @__PURE__ */ i("div", { className: "dhead dhead--listener dhead--cols", children: /* @__PURE__ */ h("div", { className: "gcolhead", children: [
5740
5744
  /* @__PURE__ */ i("div", { className: "gcolhead__main", children: /* @__PURE__ */ h("div", { className: "gcolhead__col", children: [
5741
5745
  /* @__PURE__ */ i("div", { style: { flex: "none" }, children: /* @__PURE__ */ i(In, { dark: a, height: 20.38 }) }),
5742
5746
  !s && /* @__PURE__ */ h("div", { className: "dhead__session", children: [
5743
5747
  /* @__PURE__ */ i("span", { className: "t", children: n ? Ke : "" }),
5744
- /* @__PURE__ */ i("span", { className: "s", children: n ? or : "" })
5748
+ /* @__PURE__ */ i("span", { className: "s", children: n ? lr : "" })
5745
5749
  ] })
5746
5750
  ] }) }),
5747
5751
  pe && /* @__PURE__ */ i("div", { className: "gcolhead__side" })
@@ -5750,18 +5754,18 @@ function Yc(t) {
5750
5754
  /* @__PURE__ */ h("div", { className: "listenerlive__main", children: [
5751
5755
  Zn,
5752
5756
  !s && tn,
5753
- ir,
5757
+ ar,
5754
5758
  O && /* @__PURE__ */ i("div", { className: "pubflash", children: O }),
5755
- !s && /* @__PURE__ */ i("div", { className: "listenerlive__inner", style: { flex: 1, minHeight: 0, display: "flex", flexDirection: "column", marginTop: 6 }, children: ar }),
5759
+ !s && /* @__PURE__ */ i("div", { className: "listenerlive__inner", style: { flex: 1, minHeight: 0, display: "flex", flexDirection: "column", marginTop: 6 }, children: or }),
5756
5760
  !s && /* @__PURE__ */ h("div", { className: "listenerlive__inner gdeskbar", "data-transport": "1", children: [
5757
5761
  Ee.can && /* @__PURE__ */ i("span", { className: "barchip", style: Ee.active ? { background: "var(--brand-tint)", boxShadow: "0 0 0 1.5px var(--brand)", borderRadius: 12 } : void 0, children: /* @__PURE__ */ i(vn, { flag: Ee.flag, code: Ee.code, label: Ee.label, bordered: !1, onClick: Ee.onClick }) }),
5758
- Es
5762
+ Ys
5759
5763
  ] })
5760
5764
  ] }),
5761
- pe && /* @__PURE__ */ h(Il, { id: "ga", className: "listenerside", gap: 20, plain: !0, children: [
5765
+ pe && /* @__PURE__ */ h(zl, { id: "ga", className: "listenerside", gap: 20, plain: !0, children: [
5762
5766
  !se.sidePanel && T,
5763
- !se.sidePanel && Vs,
5764
- !se.sidePanel && Rt.length > 0 && /* @__PURE__ */ i("div", { "data-panel-grid": "", className: "listenerside__panels", children: /* @__PURE__ */ i(jl, { col: aa, order: ["summary", "export"], onPick: N, grip: { summary: 40, export: 28 }, render: (Ye) => /* @__PURE__ */ i(Er, { panel: !0, children: Ys(Ye) }) }) }),
5767
+ !se.sidePanel && Ws,
5768
+ !se.sidePanel && Rt.length > 0 && /* @__PURE__ */ i("div", { "data-panel-grid": "", className: "listenerside__panels", children: /* @__PURE__ */ i(vl, { col: ia, order: ["summary", "export"], onPick: N, grip: { summary: 40, export: 28 }, render: (Ye) => /* @__PURE__ */ i(Yr, { panel: !0, children: _s(Ye) }) }) }),
5765
5769
  se.sidePanel
5766
5770
  ] })
5767
5771
  ] }),
@@ -5771,26 +5775,26 @@ function Yc(t) {
5771
5775
  qn
5772
5776
  ] });
5773
5777
  }
5774
- const ua = Rt.length > 0 && !w && /* @__PURE__ */ i("div", { className: "txwidget", children: /* @__PURE__ */ h(Er, { panel: !0, children: [
5775
- /* @__PURE__ */ i(Oi, { tabs: Rt, current: p, onPick: N, gap: p !== "none" }),
5776
- p !== "none" && Ys(p)
5778
+ const ca = Rt.length > 0 && !w && /* @__PURE__ */ i("div", { className: "txwidget", children: /* @__PURE__ */ h(Yr, { panel: !0, children: [
5779
+ /* @__PURE__ */ i(Ii, { tabs: Rt, current: p, onPick: N, gap: p !== "none" }),
5780
+ p !== "none" && _s(p)
5777
5781
  ] }) });
5778
5782
  return /* @__PURE__ */ h(_e, { children: [
5779
- /* @__PURE__ */ i(cc, { dark: a, title: n ? Ke : "", subline: n ? or : "", onOptions: () => S(!0), optionsActive: j }),
5783
+ /* @__PURE__ */ i(lc, { dark: a, title: n ? Ke : "", subline: n ? lr : "", onOptions: () => S(!0), optionsActive: j }),
5780
5784
  Zn,
5781
- ir,
5782
- !s && ua,
5783
- !s && Vs,
5785
+ ar,
5786
+ !s && ca,
5787
+ !s && Ws,
5784
5788
  !s && /* @__PURE__ */ h("div", { style: { position: "relative", flex: 1, minHeight: 0, display: "flex", flexDirection: "column" }, children: [
5785
5789
  tn,
5786
- ar,
5790
+ or,
5787
5791
  O && /* @__PURE__ */ i("div", { className: "txflash", children: O })
5788
5792
  ] }),
5789
5793
  !s && /* @__PURE__ */ h("div", { className: "gbottom", "data-transport": "1", children: [
5790
- Sn && !Dt && /* @__PURE__ */ i("div", { className: "pubctl", children: lr(!1) }),
5794
+ Sn && !Dt && /* @__PURE__ */ i("div", { className: "pubctl", children: cr(!1) }),
5791
5795
  /* @__PURE__ */ h("div", { className: "gbottom__bar", children: [
5792
5796
  Ee.can && /* @__PURE__ */ i("div", { style: { flex: "none" }, children: $n({ width: 87 }, void 0) }),
5793
- /* @__PURE__ */ i("div", { style: { flex: 1, minWidth: 0 }, children: Es })
5797
+ /* @__PURE__ */ i("div", { style: { flex: 1, minWidth: 0 }, children: Ys })
5794
5798
  ] })
5795
5799
  ] }),
5796
5800
  !It && se.sheets,
@@ -5800,53 +5804,53 @@ function Yc(t) {
5800
5804
  ] });
5801
5805
  }
5802
5806
  export {
5803
- pl as ExportPanel,
5804
- Ai as FullVideo,
5805
- oc as MiniPlayer,
5806
- _l as MuteButton,
5807
- Wl as NO_SEEK,
5808
- El as PAUSE_D,
5809
- Yl as PLAY_D,
5810
- Gl as PUB_SIDE,
5811
- Vc as PanelSeek,
5812
- Oo as PlayerApiProvider,
5807
+ Nl as ExportPanel,
5808
+ Si as FullVideo,
5809
+ ac as MiniPlayer,
5810
+ Yl as MuteButton,
5811
+ Vl as NO_SEEK,
5812
+ Al as PAUSE_D,
5813
+ El as PLAY_D,
5814
+ Fl as PUB_SIDE,
5815
+ Hc as PanelSeek,
5816
+ Io as PlayerApiProvider,
5813
5817
  jn as REMOVE_BG_LABEL,
5814
- Ha as REMOVE_BG_NOTE,
5815
- Xo as ReplayScrub,
5816
- ol as SpeakerCast,
5817
- Tl as SummaryPanel,
5818
- Hc as Transport,
5819
- Kl as TxFind,
5820
- ql as TxLines,
5821
- Wc as VocalStackPlayer,
5822
- ll as VoiceSheetBody,
5823
- Al as YtFollow,
5824
- Wa as bedNote,
5818
+ Ba as REMOVE_BG_NOTE,
5819
+ Jo as ReplayScrub,
5820
+ al as SpeakerCast,
5821
+ yl as SummaryPanel,
5822
+ Bc as Transport,
5823
+ ql as TxFind,
5824
+ Zl as TxLines,
5825
+ Vc as VocalStackPlayer,
5826
+ ol as VoiceSheetBody,
5827
+ Sl as YtFollow,
5828
+ Va as bedNote,
5825
5829
  Kt as browserFull,
5826
5830
  St as lineEnd,
5827
- bi as lineWords,
5831
+ Ci as lineWords,
5828
5832
  as as pictureT,
5829
5833
  Tn as placePosition,
5830
5834
  wn as realFull,
5831
- Bc as setErrorReporter,
5835
+ $c as setErrorReporter,
5832
5836
  Jr as setFullTarget,
5833
- Sl as snapPosition,
5837
+ Dl as snapPosition,
5834
5838
  qr as spokenWordOf,
5835
- Fa as trackPlan,
5836
- wi as useApi,
5837
- gl as useArchiveVoice,
5838
- no as useBackgroundBed,
5839
- $l as useDuck,
5840
- Jl as useFindPull,
5841
- Ul as useFlash,
5839
+ Wa as trackPlan,
5840
+ Ti as useApi,
5841
+ Ml as useArchiveVoice,
5842
+ to as useBackgroundBed,
5843
+ Ql as useDuck,
5844
+ Kl as useFindPull,
5845
+ _l as useFlash,
5842
5846
  At as usePlayerApi,
5843
- Ni as useSeparatedTrack,
5844
- ml as useSummaryIn,
5845
- Ro as useTranscript,
5846
- Hl as useTxPlayer,
5847
- Zl as useTxVoice,
5848
- sl as useViewportTranslation,
5849
- dl as useVoiceCatalogue,
5850
- Bl as useYtLead
5847
+ fi as useSeparatedTrack,
5848
+ pl as useSummaryIn,
5849
+ Uo as useTranscript,
5850
+ Bl as useTxPlayer,
5851
+ Gl as useTxVoice,
5852
+ nl as useViewportTranslation,
5853
+ ul as useVoiceCatalogue,
5854
+ $l as useYtLead
5851
5855
  };
5852
5856
  //# sourceMappingURL=index.js.map