@gentbajko/slopify 1.2.0 → 1.2.1

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.
@@ -99,7 +99,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
99
99
  `,r+2),a=i===-1?e.length:i,o=e.indexOf(uM,r+2);if(o===-1||o>a){n.push({kind:`unclosed`,at:r}),r=e.indexOf(lM,r+2);continue}let s=e.slice(r+2,o),c=s.trim();s.includes(`{`)||s.includes(`}`)?n.push({kind:`nested`,at:r}):c===``?n.push({kind:`empty`,at:r}):t.includes(c)||t.push(c),r=e.indexOf(lM,o+2)}return{names:t,errors:n}}function fM(e,t){let n=mM(e),r=mM(t),i=[];for(let e of[...n,...r]){if(i.some(t=>t.name===e))continue;let t=n.includes(e),a=r.includes(e);i.push({name:e,group:t&&a?`common`:t?`text`:`image`})}return i}function pM(e,t){return e.replace(cM,(e,n)=>{let r=n.trim(),i=Object.hasOwn(t,r)?t[r]:void 0;return i===void 0?e:i})}function mM(e){let t=[];for(let n of e)for(let e of dM(n).names)t.includes(e)||t.push(e);return t}function hM(e){return _M(e.name,e.body)}function gM(e){return _M(e.name,e.body)}function _M(e,t){let n=[],r=e.trim();if(r===``?n.push({field:`name`,message:`A name is required.`}):r.length>200&&n.push({field:`name`,message:`A name is at most 200 characters.`}),t.trim()===``)return n.push({field:`body`,message:`A body is required.`}),n;if(t.length>1e5)return n.push({field:`body`,message:`A body is at most ${String(sO)} characters.`}),n;for(let e of dM(t).errors)n.push({field:`body`,message:vM(e,t)});return n}function vM(e,t){let n=yM(t,e.at);switch(e.kind){case`unclosed`:return`The \`{{\` at ${n} is never closed.`;case`empty`:return`The slot at ${n} has no name.`;case`nested`:return`The slot at ${n} holds a brace; slots do not nest.`}}function yM(e,t){let n=e.slice(0,t),r=n.lastIndexOf(`
100
100
  `),i=n.split(`
101
101
  `).length,a=t-r;return`line ${String(i)}, column ${String(a)}`}function bM(e,t){return[...`kind`in e?hM(e):gM(e),...t]}function xM(e){return e[0]?.message}function SM(e){return e.filter(e=>e.field===`body`)}function CM(e){return e.filter(e=>e.field===`name`)}function wM(e){return dM(e).names}function TM(e){let t=[],n=0;for(let r of dM(e).errors){if(r.at<n)continue;r.at>n&&t.push({start:n,text:e.slice(n,r.at),marked:!1});let i=Math.min(r.at+2,e.length);t.push({start:r.at,text:e.slice(r.at,i),marked:!0}),n=i}return n<e.length&&t.push({start:n,text:e.slice(n),marked:!1}),t}var EM=`px-3 py-[10px] font-sans text-body leading-[1.5] break-words [scrollbar-gutter:stable]`;function DM({id:e,value:t,invalid:n,describedBy:r,onChange:i}){let a=(0,m.useRef)(null);return(0,h.jsxs)(`div`,{className:`relative max-w-[75ch]`,children:[(0,h.jsxs)(`div`,{ref:a,"aria-hidden":`true`,"data-slot":`lint-overlay`,className:z(EM,`pointer-events-none absolute inset-0 overflow-hidden whitespace-pre-wrap`,`rounded-control border border-transparent bg-panel2 text-ink`),children:[TM(t).map(e=>(0,h.jsx)(`span`,{"data-lint-mark":e.marked?e.start:void 0,className:e.marked?`text-red underline decoration-red decoration-2 underline-offset-[3px]`:void 0,children:e.text},e.start)),`
102
- `]}),(0,h.jsx)(sM,{id:e,rows:24,value:t,spellCheck:!1,"aria-invalid":n,"aria-describedby":r,className:z(EM,`relative block min-h-[520px] resize-y overflow-auto bg-transparent text-transparent caret-ink`),onChange:e=>{i(e.target.value)},onScroll:e=>{let t=a.current;t!==null&&(t.scrollTop=e.currentTarget.scrollTop,t.scrollLeft=e.currentTarget.scrollLeft)}})]})}function OM({entryId:e,category:t,from:n,onLeave:r}){let{api:i}=I(),a=_(),o=nt(xy(i)),s=(0,m.useId)(),c=(0,m.useId)(),l=(0,m.useId)(),u=(0,m.useId)(),d=(0,m.useId)(),f=(0,m.useId)(),[p,g]=(0,m.useState)(void 0),[v,y]=(0,m.useState)([]),[b,x]=(0,m.useState)(!1),[S,C]=(0,m.useState)(!1),w=o.data?.entries,T=e??n,E=T===void 0?void 0:w?.find(e=>e.id===T),D=E===void 0?{category:t,mode:`text`,name:``,body:``}:{category:E.category,mode:E.mode,name:e===void 0?`${E.name} copy`:E.name,body:E.body},O=p??D,k=it({mutationFn:t=>Po(i,t,e),onSuccess:async e=>{if(!e.ok){y(e.fields);return}x(!0),await a.invalidateQueries({queryKey:xy(i).queryKey})}}),A=it({mutationFn:e=>Fo(i,e),onSuccess:async()=>{C(!1),await a.invalidateQueries({queryKey:xy(i).queryKey}),r(O.category)}});Zj(b,()=>{r(O.category)});let j=(e,t)=>{g(e),y(e=>e.filter(e=>e.field!==t))},ee=bM(O,v),M=xM(ee),N=wM(O.body),P=O.body.trim()===``?[]:SM(ee),F=O.name.trim()===``?[]:CM(ee);return o.error===null?T!==void 0&&w===void 0?(0,h.jsx)(tM,{}):T!==void 0&&E===void 0?(0,h.jsx)(kM,{category:t,children:`That entry is gone. It may have been deleted in another tab.`}):(0,h.jsxs)(`div`,{className:`mx-auto max-w-[1440px]`,children:[(0,h.jsxs)(sa,{to:`/entries`,search:{category:O.category},className:`mb-[10px] inline-flex items-center gap-1 text-small text-ink2 hover:text-ink`,children:[(0,h.jsx)(qA,{"aria-hidden":`true`,className:`size-[14px]`}),`Intros & Outros`]}),(0,h.jsx)(`h1`,{className:`mb-4 text-title font-bold tracking-[-0.01em]`,children:e===void 0?`New entry`:`Edit entry`}),(0,h.jsxs)(`div`,{className:`grid grid-cols-[minmax(0,1fr)] items-start gap-6 lg:grid-cols-[minmax(0,1fr)_360px]`,children:[(0,h.jsxs)(`div`,{className:`${eM} flex min-w-0 flex-col gap-[14px]`,children:[(0,h.jsxs)(`div`,{className:`flex flex-wrap items-end gap-[14px]`,children:[(0,h.jsxs)(`div`,{className:`min-w-[200px] flex-1`,children:[(0,h.jsx)(iM,{htmlFor:s,className:`mb-[5px]`,children:`Name`}),(0,h.jsx)(oM,{id:s,value:O.name,"aria-invalid":F.length>0,"aria-describedby":F.length===0?void 0:c,onChange:e=>{j({...O,name:e.target.value},`name`)}}),F.length===0?null:(0,h.jsx)(`p`,{id:c,className:`mt-1 text-label text-red`,children:F.map(e=>e.message).join(` `)})]}),(0,h.jsx)(aM,{label:`Category`,value:O.category,options:xj,onPick:e=>{j({...O,category:e},`name`)}}),(0,h.jsx)(aM,{label:`Mode`,value:O.mode,options:Sj,describedBy:l,onPick:e=>{j({...O,mode:e},`mode`)}})]}),(0,h.jsx)(`p`,{id:l,className:`-mt-[6px] text-right text-small text-ink2`,children:Tj(O.mode)}),(0,h.jsxs)(`div`,{children:[(0,h.jsx)(iM,{htmlFor:u,className:`mb-[5px]`,children:`Body`}),(0,h.jsx)(DM,{id:u,value:O.body,invalid:P.length>0,describedBy:P.length===0?void 0:d,onChange:e=>{j({...O,body:e},`body`)}})]}),(0,h.jsx)($j,{onDelete:e===void 0?void 0:()=>{C(!0)},blocked:M,blockedId:f,pending:k.isPending,saved:b,cancel:(0,h.jsx)(B,{asChild:!0,children:(0,h.jsx)(sa,{to:`/entries`,search:{category:O.category},children:`Cancel`})}),errors:[k.error,A.error].flatMap(e=>e===null?[]:[e.message]),onSave:()=>{k.mutate(O)}})]}),(0,h.jsx)(`div`,{className:`${eM} flex flex-col gap-3 lg:sticky lg:top-6`,children:(0,h.jsx)(Yj,{slots:N,body:O.body,lint:P,lintId:d,noSlots:Ej(O.mode)})})]}),(0,h.jsx)(jj,{open:S,title:`Delete "${O.name}"?`,consequence:`Projects that used it keep their text.`,verb:`Delete`,pending:A.isPending,onConfirm:()=>{e!==void 0&&A.mutate(e)},onCancel:()=>{C(!1)}})]}):(0,h.jsx)(kM,{category:O.category,children:o.error.message})}function kM({category:e,children:t}){return(0,h.jsx)(nM,{back:(0,h.jsx)(sa,{to:`/entries`,search:{category:e},className:rM,children:`Back to Intros & Outros`}),children:t})}function AM(e,t){let n={...eO,...e},r=t.audio===`off`?`off`:(t.video===`off`||t.images===`off`)&&n.mode===`burn-in`?`files`:n.mode;if(r!==`off`)return{...n,mode:r};let i=$D.shape.fontId.safeParse(n.fontId),a=$D.shape.fontSize.safeParse(n.fontSize);return{...n,mode:r,fontId:i.success?i.data:eO.fontId,fontSize:a.success?a.data:eO.fontSize}}function jM(e){return e.mode===`off`||e.fontId!==``&&Number.isInteger(e.fontSize)&&e.fontSize>=16&&e.fontSize<=120}({...ok.form});var MM={off:`Off`,generate:`Generate`,provide:`Provide`,from_prompt:`From prompt`,prompt_by_llm:`Prompt by LLM`};function NM(e){return ZO[e].map(e=>({value:e,label:MM[e]}))}function PM(e,t){return e.sources.article===`generate`||e.sources.thumbnail===`prompt_by_llm`||e.sources.audio===`generate`&&(FM(t,`intro`,e.intro)===`llm`||FM(t,`outro`,e.outro)===`llm`)}function FM(e,t,n){if(n!==``)return e.find(e=>e.category===t&&e.name===n)?.mode}function IM(e){return[e.audio,e.thumbnail,...e.images].flatMap(e=>e?.file===void 0?[]:[e.file])}function LM(e){let{form:t}=e;return{...t.checkpoints===void 0?{}:{checkpoints:t.checkpoints},title:t.title,format:t.format,sources:{...t.sources,...t.sources.article===`provide`?{research:`off`}:{},...t.sources.images===`off`?{video:`off`}:{}},llm:t.llm,audio:t.audio,images:t.images,articlePrompt:t.articlePrompt,imagePrompts:t.imagePrompts,thumbnailPrompt:t.thumbnailPrompt,...RM(zM(e,`intro`),e=>({intro:e})),...RM(zM(e,`outro`),e=>({outro:e})),values:BM(t.values,e.slots),provided:{research:t.provided.research,article:t.provided.article,...RM(t.provided.audio?.file,e=>({audio:e.id})),...RM(t.provided.thumbnail?.file,e=>({thumbnail:e.id})),images:t.provided.images.flatMap(e=>e.file===void 0?[]:[e.file.id])},chunking:t.chunking,subtitles:AM(t.subtitles,t.sources),silenceGapSeconds:e.silenceGapSeconds}}function RM(e,t){return e===void 0?{}:t(e)}function zM(e,t){if(e.form.sources.audio!==`generate`)return;let n=t===`intro`?e.form.intro:e.form.outro,r=FM(e.entries,t,n);return n===``||r===void 0?void 0:{name:n,mode:r}}function BM(e,t){let n=Object.create(null);for(let r of t)n[r]=Object.hasOwn(e,r)?e[r]??``:``;return n}function VM(e){let{form:t}=e,n=[],r=[];if(t.sources.article===`generate`&&XM(n,JM(e.prompts,`article`,t.articlePrompt)),t.sources.audio===`generate`&&(XM(n,YM(e.entries,`intro`,t.intro)),XM(n,YM(e.entries,`outro`,t.outro))),t.sources.images===`generate`)for(let n of t.imagePrompts)XM(r,JM(e.prompts,`image`,n.name));return(t.sources.thumbnail===`from_prompt`||t.sources.thumbnail===`prompt_by_llm`)&&XM(r,JM(e.prompts,`thumbnail`,t.thumbnailPrompt)),fM(n,r)}function HM(e){let t=VM(e),n={form:e.form,entries:e.entries,slots:t.map(e=>e.name),silenceGapSeconds:e.silenceGapSeconds},r=LM(n),i=QO({draft:r,staged:IM(e.form.provided),requiredSlots:n.slots}),a=jM(r.subtitles??e.form.subtitles)?i:{ok:!1,fields:[...i.ok?[]:i.fields,{field:`subtitles.fontSize`,message:`Choose a whole subtitle font size from 16 to 120.`}]};return{fields:t,draft:r,result:a,blocker:WM(e.form,a)}}var UM=[`sources`,`provided.research`,`articlePrompt`,`provided.article`,`audio`,`provided.audio`,`imagePrompts`,`images`,`provided.images`,`thumbnailPrompt`,`provided.thumbnail`,`subtitles`,`title`,`intro`,`outro`,`llm`,`values`,`silenceGapSeconds`];function WM(e,t){let n=GM(e);if(n!==void 0)return n;if(t.ok)return;let r=[...t.fields].sort((e,t)=>KM(e.field)-KM(t.field))[0];return r===void 0?void 0:{field:r.field,hint:qM(e,r)}}function GM(e){let{sources:t,provided:n}=e,r=[];if(t.audio===`provide`&&n.audio!==void 0&&r.push(n.audio),t.images===`provide`&&r.push(...n.images),t.thumbnail===`provide`&&n.thumbnail!==void 0&&r.push(n.thumbnail),r.some(e=>e.error!==void 0))return{field:`provided`,hint:`Remove the upload that failed to play`};if(r.some(e=>e.file===void 0))return{field:`provided`,hint:`Wait for the uploads to finish to play`}}function KM(e){let t=UM.length;for(let[n,r]of UM.entries())(e===r||e.startsWith(`${r}.`))&&n<t&&(t=n);return t}function qM(e,t){if(t.field.startsWith(`values.`))return`Fill ${t.field.slice(7)} to play`;if(t.field.startsWith(`imagePrompts.`))return t.field.endsWith(`.number`)?`Set a Number between 1 and 20 to play`:`Pick an image prompt to play`;switch(t.field){case`title`:return e.title.trim()===``?`Name the video to play`:`Shorten the title to 200 characters to play`;case`imagePrompts`:return e.imagePrompts.length===0?`Tick an image prompt to play`:`Lower the Numbers to play: a run makes at most 60 images`;case`llm`:return`Pick an LLM provider and model to play`;case`articlePrompt`:return`Pick an article prompt to play`;case`audio`:return`Pick a narration provider to play`;case`audio.voice`:return`Pick a voice to play`;case`images`:return`Pick an image provider and model to play`;case`thumbnailPrompt`:return`Pick a thumbnail prompt to play`;case`provided.research`:return`Paste the research notes to play`;case`provided.article`:return`Paste the article to play`;case`provided.audio`:return`Attach the narration audio to play`;case`provided.images`:return e.provided.images.length>60?`Remove images to play: a run holds at most 60`:`Attach at least one image to play`;case`provided.thumbnail`:return`Attach the thumbnail image to play`;default:return t.message}}function JM(e,t,n){if(n!==``)return e.find(e=>e.kind===t&&e.name===n)?.body}function YM(e,t,n){if(n!==``)return e.find(e=>e.category===t&&e.name===n)?.body}function XM(e,t){t!==void 0&&e.push(t)}function ZM(e){let t=new Map,n=(e,n)=>{if(e)for(let r of dM(e).names){let e=t.get(r)??[];e.includes(n)||e.push(n),t.set(r,e)}},{form:r,prompts:i,entries:a}=e;if(r.sources.article===`generate`&&n(JM(i,`article`,r.articlePrompt),`Article`),r.sources.images===`generate`)for(let e of r.imagePrompts)n(JM(i,`image`,e.name),`Image: ${e.name}`);if((r.sources.thumbnail===`from_prompt`||r.sources.thumbnail===`prompt_by_llm`)&&n(JM(i,`thumbnail`,r.thumbnailPrompt),`Thumbnail`),r.sources.audio===`generate`)for(let e of[`intro`,`outro`])n(YM(a,e,r[e]),e===`intro`?`Intro`:`Outro`);return t}var QM=[{stage:`audio`,label:`Audio`},{stage:`images`,label:`Images`},{stage:`video`,label:`Video / export`}];function $M(e,t){if(e!==`checkpoints`&&!e.startsWith(`checkpoints.`))return;let n=e.slice(12),r=/^\d+$/.test(n)?t.checkpoints?.[Number(n)]:n;return{section:`outputs`,field:QM.some(e=>e.stage===r)?`checkpoints.${r}`:`checkpoints`}}function eN({problem:e}){let t=wk(),{document:n,review:r}=t,{form:i}=n,a=(0,m.useId)(),o=i.checkpoints??[];return(0,h.jsxs)(`fieldset`,{"data-play-field":`checkpoints`,tabIndex:-1,"aria-invalid":e(`checkpoints`)!==void 0,disabled:r.starting||r.uncertain,className:`min-w-0 border-b border-line py-6`,children:[(0,h.jsx)(`legend`,{className:`text-lg font-semibold`,children:`Review checkpoints`}),(0,h.jsx)(`p`,{className:`mb-3 text-small text-ink2`,children:`Hold a step so you can review and edit before it runs. Independent steps continue. Approve each checkpoint on the project page when you are ready.`}),QM.map(({stage:r,label:s})=>{let c=o.includes(r),l=r===`video`?i.sources.video!==`off`&&i.sources.images!==`off`||i.sources.audio!==`off`:i.sources[r]===`generate`,u=e(`checkpoints.${r}`),d=`${a}-${r}`;return(0,h.jsxs)(`div`,{children:[(0,h.jsxs)(`label`,{htmlFor:d,className:`flex min-h-10 items-center gap-3 max-[1099px]:min-h-11`,children:[(0,h.jsx)(`input`,{id:d,type:`checkbox`,"data-play-field":`checkpoints.${r}`,"aria-invalid":u!==void 0,"aria-describedby":`${d}-detail`,checked:c,disabled:!l&&!c,className:`size-4 accent-accent`,onChange:e=>{let a=e.target.checked?[...o,r]:o.filter(e=>e!==r);t.edit({...n,form:{...i,checkpoints:a}}),t.invalidateReview(!0)}}),`Before `,s]}),(0,h.jsx)(`p`,{id:`${d}-detail`,className:`pb-2 pl-7 text-small ${u?`text-red`:`text-ink3`}`,children:u??(l?`Approval required before this step and its dependents run.`:c?`This step is unavailable. Remove its checkpoint or enable the step.`:r===`video`?`Enable Video or Audio to review before export.`:`Choose Generate for ${s} to add this checkpoint.`)})]},r)}),e(`checkpoints`)?(0,h.jsx)(`p`,{className:`text-small text-red`,children:e(`checkpoints`)}):null]})}function tN({fields:e,values:t,origins:n,problem:r,onChange:i}){return e.length?(0,h.jsxs)(`section`,{"data-tour":`play-keywords`,className:`min-w-0 py-6`,children:[(0,h.jsx)(`h3`,{className:`mb-2 text-lg font-semibold`,children:`Keywords`}),(0,h.jsxs)(`p`,{className:`mb-5 text-small text-ink3`,children:[`Each keyword is entered once. For example, `,`{{topic}}`,` becomes the topic you enter below.`]}),(0,h.jsx)(`div`,{className:`flex flex-col gap-4`,children:e.map(e=>(0,h.jsx)(nN,{name:e.name,value:Object.hasOwn(t,e.name)?t[e.name]??``:``,origins:n?.get(e.name),problem:r(`values.${e.name}`),onChange:i},e.name))})]}):null}function nN({name:e,origins:t,value:n,problem:r,onChange:i}){let a=(0,m.useId)(),o=(0,m.useId)();return(0,h.jsxs)(`div`,{className:`min-w-0`,children:[(0,h.jsx)(iM,{htmlFor:a,className:`mb-[5px]`,children:e}),(0,h.jsx)(oM,{id:a,"data-play-field":`values.${e}`,value:n,maxLength:200,spellCheck:!1,"aria-invalid":r!==void 0,"aria-describedby":r===void 0?void 0:o,onChange:t=>{i(e,t.target.value)}}),t?.length?(0,h.jsx)(`p`,{className:`mt-1 text-small text-ink3`,children:t.join(` · `)}):null,r===void 0?null:(0,h.jsx)(`p`,{id:o,className:`mt-1 text-label text-red`,children:r})]})}function rN({className:e,children:t,...n}){return(0,h.jsxs)(`span`,{className:`relative inline-flex min-w-0 items-center`,children:[(0,h.jsx)(`select`,{"data-slot":`picker`,className:z(`h-8 w-full min-w-0 appearance-none rounded-control border border-line2 bg-panel2`,`py-[5px] pr-[26px] pl-[10px] text-small text-ink aria-invalid:border-red`,e),...n,children:t}),(0,h.jsx)(KA,{"aria-hidden":`true`,className:`pointer-events-none absolute right-[8px] size-[14px] text-ink2`})]})}var iN=e=>[`provider-models`,e];async function aN(e,t,n=!1,r){let i=`${e.origin}/api/providers/${encodeURIComponent(t)}/models${n?`?refresh=1`:``}`;return eo(await e.fetch(i,r?{signal:r}:void 0))}function oN(e,t){return rt({queryKey:iN(t),queryFn:({signal:n})=>aN(e,t,!1,n),enabled:t!==``,staleTime:3e4,refetchInterval:3e4,retry:!1})}function sN(e){return e!==``&&e!==`fal`&&e!==`replicate`}function cN({label:e,field:t,problem:n,inline:r=!1,children:i}){let a=(0,m.useId)(),o=(0,m.useId)();return(0,h.jsxs)(`div`,{className:z(r?`flex min-w-0 max-w-full items-center gap-[10px]`:`min-w-0 [&>span]:w-full`),children:[(0,h.jsx)(iM,{htmlFor:a,className:r?`shrink-0`:`mb-[5px]`,children:e}),i({field:t,id:a,describedBy:n===void 0?void 0:o}),n===void 0?null:(0,h.jsx)(`p`,{id:o,className:z(`text-label text-red`,r?``:`mt-1`),children:n})]})}function lN({label:e,field:t,value:n,problem:r,inline:i,placeholder:a,options:o,disabled:s=!1,onPick:c}){return(0,h.jsx)(cN,{field:t,label:e,problem:r,inline:i,children:({id:e,describedBy:l})=>(0,h.jsxs)(rN,{id:e,"data-play-field":t,value:n,disabled:s,"aria-invalid":r!==void 0,"aria-describedby":l,className:i===!0?`w-auto min-w-[120px]`:void 0,onChange:e=>{c(e.target.value)},children:[(0,h.jsx)(`option`,{value:``,children:a}),n!==``&&!o.some(e=>e.value===n)?(0,h.jsxs)(`option`,{value:n,children:[n,` (saved choice)`]}):null,o.map(e=>(0,h.jsx)(`option`,{value:e.value,disabled:e.disabled===!0,children:e.label},e.value))]})})}function uN(e,t){return e.filter(e=>e.family===t).map(e=>{let t=dN(e);return{value:e.id,label:t===void 0?e.displayName:`${e.displayName} · ${t}`,disabled:t!==void 0}})}function dN(e){let{readiness:t}=e;return t.kind===`cli`?t.issue===void 0?Ik(t)?void 0:`CLI missing`:`CLI update required`:t.hasKey?void 0:`Key missing`}function fN({label:e,field:t,family:n,providers:r,value:i,problem:a,inline:o,onPick:s}){return(0,h.jsx)(lN,{field:t,label:e,value:i,problem:a,inline:o,placeholder:`Pick a provider`,options:[...i!==``&&!r.some(e=>e.id===i&&e.family===n)?[{value:i,label:`${i} (saved provider)`,disabled:!0}]:[],...uN(r,n)],onPick:s})}function pN(e){return(0,h.jsx)(mN,{...e},e.provider)}function mN({label:e,field:t,provider:n,value:r,problem:i,inline:a,onPick:o}){let{api:s}=I(),c=_(),l=nt(oN(s,n)),[u,d]=(0,m.useState)(!1),f=(0,m.useId)(),p=(0,m.useId)(),g=it({mutationFn:()=>aN(s,n,!0),onSuccess:e=>c.setQueryData(iN(n),e)}),v=l.data?.models??[],y=l.data?.allowsCustom??sN(n),b=u&&y,x=l.isFetching||g.isPending,S=g.error?.message??l.error?.message??l.data?.warning,C=r!==``&&!v.some(e=>e.id===r);return(0,h.jsxs)(`div`,{className:`min-w-0 max-w-full`,children:[(0,h.jsx)(cN,{field:t,label:e,problem:i,inline:a,children:({id:e,describedBy:s})=>{let c=[s,S?f:void 0,l.data?.notice?p:void 0].filter(Boolean).join(` `)||void 0;return(0,h.jsx)(`div`,{className:z(`min-w-0 [&>span]:w-full`,a?`max-w-[260px]`:`w-full`),children:b?(0,h.jsx)(oM,{id:e,"data-play-field":t,value:r,spellCheck:!1,placeholder:`Type the model id`,"aria-invalid":i!==void 0,"aria-describedby":c,className:a?`w-[180px] max-w-full`:void 0,onChange:e=>o(e.target.value)}):(0,h.jsxs)(rN,{id:e,"data-play-field":t,value:r,disabled:n===``,"aria-invalid":i!==void 0,"aria-describedby":c,className:a?`w-full min-w-[120px] max-w-[260px]`:void 0,onChange:e=>o(e.target.value),children:[(0,h.jsx)(`option`,{value:``,children:n===``?`Pick a provider first`:l.isPending?`Loading models…`:`Pick a model`}),C?(0,h.jsxs)(`option`,{value:r,children:[r,` (saved model)`]}):null,v.map(e=>(0,h.jsx)(`option`,{value:e.id,children:e.name},e.id))]})})}}),n===``?null:(0,h.jsxs)(`div`,{className:`mt-1 flex flex-wrap items-center gap-1`,children:[(0,h.jsxs)(B,{type:`button`,variant:`ghost`,className:`px-2 text-label`,"aria-label":`Refresh ${e} list`,title:`Refresh models`,disabled:x,onClick:()=>g.mutate(),children:[(0,h.jsx)(ij,{"aria-hidden":`true`,className:z(`size-3`,x&&`animate-spin motion-reduce:animate-none`)}),`Refresh`]}),y?(0,h.jsx)(B,{type:`button`,variant:`ghost`,className:`px-2 text-label`,"aria-label":b?`Choose ${e} from list`:`Enter ${e} ID`,onClick:()=>d(!b),children:b?`Use list`:`Custom ID`}):null]}),l.data?.notice?(0,h.jsx)(`p`,{id:p,className:`mt-1 max-w-[360px] text-label text-ink3`,children:l.data.notice}):null,S?(0,h.jsx)(`p`,{id:f,className:`mt-1 max-w-[360px] text-label text-ink3`,role:`status`,children:S}):null]})}function hN({label:e,field:t,hideLabel:n=!1,value:r,options:i,className:a,onPick:o}){let s=(0,m.useId)();return(0,h.jsxs)(`span`,{className:z(`inline-flex items-center gap-[10px]`,a),children:[(0,h.jsx)(iM,{id:s,className:n?`sr-only`:`shrink-0`,children:e}),(0,h.jsx)(Bj,{type:`single`,value:r,"aria-labelledby":s,onValueChange:e=>{let t=i.find(t=>t.value===e);t!==void 0&&t.disabled!==!0&&o(t.value)},children:i.map(e=>(0,h.jsx)(Vj,{value:e.value,"data-play-field":e.value===r?t:void 0,disabled:e.disabled===!0,children:e.label},e.value))})]})}function gN({value:e,onPick:t,rawCounts:n}){let r=e.words??500,i=e.characters??3e3,a=e.mode===`words`||e.mode===`characters`,o=e.mode===`characters`,s=o?e.characters:e.words;return(0,h.jsxs)(h.Fragment,{children:[(0,h.jsx)(hN,{field:`chunking.mode`,label:`Chunking`,className:`min-w-0 max-w-full flex-wrap [&_[data-slot=toggle-group]]:max-w-full [&_[data-slot=toggle-group]]:flex-wrap`,value:e.mode,options:[{value:`whole`,label:`Whole`},{value:`paragraph`,label:`Paragraph`},{value:`words`,label:`Every ${String(n?.words??r)} words`},{value:`characters`,label:`Every ${String(n?.characters??i)} characters`}],onPick:e=>{if(n){n.onChange(e,e===`characters`?n.characters:n.words);return}t(e===`words`?{mode:e,words:r}:e===`characters`?{mode:e,characters:i}:{mode:e})}}),a?(0,h.jsx)(cN,{label:o?`Characters`:`Words`,problem:void 0,inline:!0,children:({id:r})=>(0,h.jsx)(oM,{id:r,"data-play-field":o?`chunking.characters`:`chunking.words`,type:n?`text`:`number`,min:1,max:o?1e6:1e4,inputMode:`numeric`,className:`w-[100px] tabular-nums`,value:n?o?n.characters:n.words:s===void 0?``:String(s),onChange:r=>{if(n){n.onChange(e.mode,r.target.value);return}let i=Number.parseInt(r.target.value,10),a=Number.isFinite(i)&&i>0;t(o?a?{mode:`characters`,characters:Math.min(i,1e6)}:{mode:`characters`}:a?{mode:`words`,words:Math.min(i,1e4)}:{mode:`words`})}})}):null,o?(0,h.jsx)(`p`,{className:`basis-full text-small text-ink3`,children:`Ends at the last complete sentence within the character count, including spaces. A longer sentence stays whole; provider request limits still apply.`}):null]})}var _N=1;function vN({prompts:e,picked:t,problem:n,onPick:r,rawNumbers:i}){let a=(0,m.useId)(),o=t.reduce((e,t)=>e+t.number,0),s=t.filter(t=>!e.some(e=>e.name===t.name)),c=[...e.map(e=>({name:e.name,missing:!1})),...s.map(e=>({name:e.name,missing:!0}))];return c.length===0?(0,h.jsx)(`p`,{className:`basis-full text-right text-small text-ink3`,children:`No image prompts saved. Write one on Prompts.`}):(0,h.jsxs)(`div`,{className:`flex basis-full flex-col items-start gap-[6px]`,children:[(0,h.jsx)(`span`,{id:a,className:`engraved text-ink3`,children:`Image prompts`}),(0,h.jsx)(`ul`,{"aria-labelledby":a,className:`flex flex-wrap justify-start gap-x-4 gap-y-2`,children:c.map(e=>{let a=t.findIndex(t=>t.name===e.name),o=a===-1?void 0:t[a];return(0,h.jsxs)(`li`,{children:[e.missing?(0,h.jsx)(`span`,{className:`block text-label text-red`,children:`Missing template · untick to remove`}):null,(0,h.jsx)(yN,{name:e.name,number:o?.number,rawNumber:i?{value:i.values.find(t=>t.name===e.name)?.number??``,onChange:t=>i.onChange(e.name,t)}:void 0,problem:a===-1?void 0:n(`imagePrompts.${String(a)}.number`),onTick:n=>{r(n?[...t,{name:e.name,number:_N}]:t.filter(t=>t.name!==e.name))},onNumber:n=>{r(t.map(t=>t.name===e.name?{name:t.name,number:n}:t))}})]},e.name)})}),t.length===0?null:(0,h.jsx)(`span`,{className:`text-label text-ink3 tabular-nums`,children:Number.isFinite(o)?`${String(o)} of 60 images`:`Complete image counts to see the total`})]})}function yN({name:e,number:t,problem:n,onTick:r,onNumber:i,rawNumber:a}){let o=(0,m.useId)(),s=(0,m.useId)(),c=(0,m.useId)();return(0,h.jsxs)(`span`,{className:`inline-flex items-center gap-2 text-small`,children:[(0,h.jsx)(`input`,{id:o,"data-play-field":`imagePrompts`,type:`checkbox`,checked:t!==void 0,className:`size-[14px] shrink-0 accent-accent`,onChange:e=>{r(e.target.checked)}}),(0,h.jsx)(`label`,{htmlFor:o,className:t===void 0?`text-ink3`:`text-ink`,children:e}),(0,h.jsx)(iM,{htmlFor:s,className:`sr-only`,children:`Number for ${e}`}),(0,h.jsx)(oM,{id:s,"data-play-field":`imagePrompts.${e}.number`,type:a?`text`:`number`,min:_N,max:20,inputMode:`numeric`,disabled:t===void 0,"aria-invalid":n!==void 0,"aria-describedby":n===void 0?void 0:c,className:`w-[64px] tabular-nums`,value:a?.value??(t===void 0||t===0?``:String(t)),onChange:e=>{if(a){a.onChange(e.target.value);return}let t=Number.parseInt(e.target.value,10);i(Number.isFinite(t)?t:0)}}),n===void 0?null:(0,h.jsx)(`span`,{id:c,className:`text-label text-red`,children:n})]})}var bN=`text-small text-ink2 file:mr-3 file:h-8 file:rounded-control file:border file:border-line2 file:bg-panel2 file:px-3 file:text-ink`;function xN({label:e,field:t,value:n,placeholder:r,problem:i,onChange:a}){let o=(0,m.useId)(),s=(0,m.useId)();return(0,h.jsxs)(`div`,{children:[(0,h.jsx)(iM,{htmlFor:o,className:`mb-[5px]`,children:e}),(0,h.jsx)(sM,{id:o,"data-play-field":t,rows:6,value:n,placeholder:r,"aria-invalid":i!==void 0,"aria-describedby":i===void 0?void 0:s,onChange:e=>{a(e.target.value)}}),i===void 0?null:(0,h.jsx)(`p`,{id:s,className:`mt-1 text-label text-red`,children:i})]})}function SN({label:e,field:t,accept:n,multiple:r=!1,uploads:i,problem:a,numbered:o=!1,onPick:s,onRemove:c,onReattach:l}){let u=(0,m.useId)(),d=(0,m.useId)();return(0,h.jsxs)(`div`,{children:[(0,h.jsx)(iM,{htmlFor:u,className:`mb-[5px]`,children:e}),(0,h.jsx)(`input`,{id:u,"data-play-field":t,type:`file`,accept:n,multiple:r,"aria-invalid":a!==void 0,"aria-describedby":a===void 0?void 0:d,className:bN,onChange:e=>{s([...e.target.files??[]]),e.target.value=``}}),a===void 0?null:(0,h.jsx)(`p`,{id:d,className:`mt-1 text-label text-red`,children:a}),i.length===0?null:(0,h.jsx)(`ul`,{className:`mt-2 flex flex-col gap-1`,children:i.map((e,t)=>(0,h.jsxs)(`li`,{className:`flex flex-wrap items-center gap-3`,children:[o?(0,h.jsx)(`span`,{className:`engraved w-6 text-ink3`,children:String(t+1)}):null,(0,h.jsx)(CN,{upload:e}),e.error!==void 0&&l?(0,h.jsxs)(`label`,{className:`text-small text-ink2`,children:[`Reattach`,(0,h.jsx)(`input`,{"aria-label":`Reattach ${e.name}`,className:`max-w-full`,type:`file`,accept:n,onChange:t=>{let n=t.target.files?.[0];t.target.value=``,n&&l(e.key,n)}})]}):null,c===void 0?null:(0,h.jsx)(B,{variant:`ghost`,className:`ml-auto`,"aria-label":`Remove ${e.name}`,onClick:()=>{c(e.key)},children:`Remove`})]},e.key))})]})}function CN({upload:e}){return(0,h.jsxs)(`span`,{className:`flex min-w-0 flex-wrap items-center gap-3 text-small [overflow-wrap:anywhere]`,children:[(0,h.jsx)(`span`,{className:e.error===void 0?`text-ink`:`text-red`,children:e.name}),e.error===void 0?(0,h.jsx)(`span`,{className:`engraved text-ink3`,children:e.file===void 0?`Copying`:`Staged`}):(0,h.jsx)(`span`,{className:`text-small text-red`,children:e.error})]})}var wN=`col-span-3 grid min-w-0 grid-cols-1 gap-4 min-[700px]:grid-cols-2`,TN=`col-span-3 min-w-0`;function EN({kind:e,name:t,dim:n,children:r}){return(0,h.jsxs)(`section`,{"data-tour":`play-${e}`,className:`grid grid-cols-[24px_1fr_auto] items-center gap-x-2 gap-y-5 border-b border-line py-6`,children:[(0,h.jsx)(Pc,{kind:e,className:n?`text-ink3`:`text-ink2`}),(0,h.jsx)(`h3`,{className:z(`text-lg font-semibold`,n?`text-ink3`:void 0),children:t}),r]})}function DN({kind:e,form:t,update:n}){return(0,h.jsx)(hN,{field:`sources.${e}`,label:`${e} source`,hideLabel:!0,className:`max-[700px]:col-span-3 max-[700px]:justify-self-start [&_[data-slot=toggle-group]]:flex-wrap`,value:t.sources[e],options:NM(e).map(n=>({...n,disabled:e===`video`&&n.value===`generate`&&t.sources.images===`off`})),onPick:r=>{n({sources:{...t.sources,[e]:r,...e===`images`&&r===`off`?{video:`off`}:{}}})}})}function ON(e,t){return e.filter(e=>e.kind===t).map(e=>({value:e.name,label:e.name}))}function kN({form:e,providers:t,voices:n,problem:r,update:i,onPickFiles:a,onRemoveFile:o,onReattachFile:s,rawCounts:c}){let l=n.filter(t=>t.provider===e.audio.provider);return(0,h.jsxs)(EN,{kind:`audio`,name:`Audio`,dim:e.sources.audio===`off`,children:[(0,h.jsx)(DN,{kind:`audio`,form:e,update:i}),(0,h.jsx)(`div`,{className:wN,children:e.sources.audio===`generate`?(0,h.jsxs)(h.Fragment,{children:[(0,h.jsx)(fN,{field:`audio.provider`,label:`TTS`,family:`tts`,providers:t,value:e.audio.provider,problem:r(`audio`),onPick:e=>{i({audio:{provider:e,model:``,voice:``}})}}),(0,h.jsx)(pN,{field:`audio.model`,label:`TTS model`,provider:e.audio.provider,value:e.audio.model,problem:r(`audio.model`),onPick:t=>i({audio:{...e.audio,model:t}})}),(0,h.jsx)(lN,{field:`audio.voice`,label:`Voice`,value:e.audio.voice,placeholder:l.length===0?`No voices. Add one in Settings.`:`Pick a voice`,options:l.map(e=>({value:e.voiceId,label:e.name})),problem:r(`audio.voice`),onPick:t=>{i({audio:{...e.audio,voice:t}})}}),(0,h.jsxs)(`details`,{className:`col-span-full`,children:[(0,h.jsxs)(`summary`,{className:`cursor-pointer py-2`,children:[`Audio Advanced · `,e.chunking.mode]}),(0,h.jsx)(gN,{...c?{rawCounts:c}:{},value:e.chunking,onPick:e=>{i({chunking:e})}})]})]}):null}),e.sources.audio===`provide`?(0,h.jsxs)(`div`,{className:TN,children:[(0,h.jsx)(SN,{field:`provided.audio`,label:`Narration file`,accept:`audio/*`,uploads:e.provided.audio===void 0?[]:[e.provided.audio],problem:r(`provided.audio`),onPick:e=>{a(`audio`,e)},onReattach:s?(e,t)=>s(`audio`,e,t):void 0,onRemove:e=>{o(`audio`,e)}}),(0,h.jsx)(`p`,{className:`mt-2 text-small text-ink2`,children:`Uploaded narration is used as-is; include any intro and outro in that file.`})]}):null]})}function AN({form:e,providers:t,prompts:n,problem:r,update:i,onPickFiles:a,onRemoveFile:o,onReattachFile:s,rawNumbers:c}){return(0,h.jsxs)(EN,{kind:`images`,name:`Images`,dim:e.sources.images===`off`,children:[(0,h.jsx)(DN,{kind:`images`,form:e,update:i}),(0,h.jsx)(`div`,{className:wN,children:e.sources.images===`generate`?(0,h.jsxs)(h.Fragment,{children:[(0,h.jsx)(jN,{form:e,providers:t,problem:r,update:i}),(0,h.jsx)(vN,{prompts:n.filter(e=>e.kind===`image`),...c?{rawNumbers:c}:{},picked:e.imagePrompts,problem:r,onPick:e=>{i({imagePrompts:e})}})]}):null}),e.sources.images===`provide`?(0,h.jsx)(`div`,{className:TN,children:(0,h.jsx)(SN,{field:`provided.images`,label:`Slideshow images`,accept:`image/png,image/jpeg,image/webp`,multiple:!0,numbered:!0,uploads:e.provided.images,problem:r(`provided.images`),onPick:e=>{a(`images`,e)},onReattach:s?(e,t)=>s(`images`,e,t):void 0,onRemove:e=>{o(`images`,e)}})}):null]})}function jN({form:e,providers:t,problem:n,update:r}){return(0,h.jsxs)(h.Fragment,{children:[(0,h.jsx)(fN,{field:`images.provider`,label:`Provider`,family:`image`,providers:t,value:e.images.provider,problem:n(`images`),onPick:e=>r({images:{provider:e,model:``}})}),(0,h.jsx)(pN,{field:`images.model`,label:`Model`,provider:e.images.provider,value:e.images.model,problem:n(`images.model`),onPick:t=>r({images:{...e.images,model:t}})})]})}function MN({form:e,problem:t,update:n}){return(0,h.jsxs)(EN,{kind:`research`,name:`Research`,dim:e.sources.research===`off`,children:[(0,h.jsx)(DN,{kind:`research`,form:e,update:n}),(0,h.jsx)(`div`,{className:wN,children:e.sources.research===`generate`?(0,h.jsx)(`span`,{className:`engraved text-ink3`,children:`Runs through the LLM, one agent per chapter`}):null}),e.sources.research===`provide`?(0,h.jsx)(`div`,{className:TN,children:(0,h.jsx)(xN,{field:`provided.research`,label:`Research notes`,value:e.provided.research,placeholder:`Paste the notes the article will be written from.`,problem:t(`provided.research`),onChange:t=>{n({provided:{...e.provided,research:t}})}})}):null]})}function NN({form:e,prompts:t,problem:n,update:r}){return(0,h.jsxs)(EN,{kind:`article`,name:`Article`,dim:!1,children:[(0,h.jsx)(DN,{kind:`article`,form:e,update:r}),(0,h.jsx)(`div`,{className:`${TN} grid gap-4`,children:e.sources.article===`generate`?(0,h.jsx)(lN,{field:`articlePrompt`,label:`Article prompt`,value:e.articlePrompt,placeholder:`Pick a prompt`,options:ON(t,`article`),problem:n(`articlePrompt`),onPick:e=>{r({articlePrompt:e})}}):null}),e.sources.article===`provide`?(0,h.jsx)(`div`,{className:TN,children:(0,h.jsx)(xN,{field:`provided.article`,label:`Article text`,value:e.provided.article,placeholder:`Paste the article that will be narrated.`,problem:n(`provided.article`),onChange:t=>{r({provided:{...e.provided,article:t}})}})}):null]})}function PN({form:e,providers:t,prompts:n,problem:r,update:i,onPickFiles:a,onRemoveFile:o,onReattachFile:s}){let c=e.sources.thumbnail===`from_prompt`||e.sources.thumbnail===`prompt_by_llm`;return(0,h.jsxs)(EN,{kind:`thumbnail`,name:`Thumbnail`,dim:e.sources.thumbnail===`off`,children:[(0,h.jsx)(DN,{kind:`thumbnail`,form:e,update:i}),(0,h.jsxs)(`div`,{className:wN,children:[c&&e.sources.images!==`generate`?(0,h.jsx)(jN,{form:e,providers:t,problem:r,update:i}):null,c?(0,h.jsx)(lN,{field:`thumbnailPrompt`,label:`Thumbnail prompt`,value:e.thumbnailPrompt,placeholder:`Pick a prompt`,options:ON(n,`thumbnail`),problem:r(`thumbnailPrompt`),onPick:e=>{i({thumbnailPrompt:e})}}):null]}),e.sources.thumbnail===`provide`?(0,h.jsx)(`div`,{className:TN,children:(0,h.jsx)(SN,{field:`provided.thumbnail`,label:`Thumbnail image`,accept:`image/png,image/jpeg,image/webp`,uploads:e.provided.thumbnail===void 0?[]:[e.provided.thumbnail],problem:r(`provided.thumbnail`),onPick:e=>{a(`thumbnail`,e)},onReattach:s?(e,t)=>s(`thumbnail`,e,t):void 0,onRemove:e=>{o(`thumbnail`,e)}})}):null]})}function FN({form:e,silenceGapSeconds:t,update:n}){let r=e.sources.video===`generate`?e.sources.audio===`off`?`Silent video · 5 seconds per image`:`Images and narration · ${String(t)} s segment gaps`:e.sources.audio===`off`?`Download each enabled stage separately`:`Combined WAV export with narration and segment gaps`;return(0,h.jsxs)(EN,{kind:`video`,name:`Export`,dim:e.sources.video===`off`,children:[(0,h.jsx)(DN,{kind:`video`,form:e,update:n}),(0,h.jsx)(`span`,{className:wN,children:(0,h.jsx)(`span`,{className:`engraved text-ink3`,children:r})}),e.sources.images===`off`?(0,h.jsx)(`p`,{className:`${TN} text-small text-ink2`,children:`Video is Off because Images is Off. Generate or provide images to enable video.`}):null]})}function IN({choice:e,onChange:t}){let{api:n}=I(),r=nt(oN(n,e.provider)).data?.models.find(t=>t.id===e.model)?.thinkingModes??[];return!r.length&&!e.thinking?null:(0,h.jsxs)(`div`,{className:`min-w-0`,children:[(0,h.jsx)(lN,{field:`llm.thinking`,label:`Thinking`,value:e.thinking??`default`,placeholder:`Model default`,problem:e.thinking&&!r.includes(e.thinking)?`Choose a supported thinking level.`:void 0,options:[{value:`default`,label:`Model default`},...e.thinking&&!r.includes(e.thinking)?[{value:e.thinking,label:`${e.thinking} (saved level)`}]:[],...r.map(e=>({value:e,label:e===`off`?`Off`:e.charAt(0).toUpperCase()+e.slice(1)}))],onPick:n=>{let i=r.find(e=>e===n);t({...e,thinking:i})}}),r.length&&!r.includes(`off`)?(0,h.jsx)(`p`,{className:`mt-1 text-small text-ink3`,children:`This model does not support turning thinking off.`}):null]})}function LN(e){let{form:t,problem:n,update:r,fields:i,entries:a,onLibrary:o}=e,s=(0,m.useId)(),c=e.prompts.find(e=>e.kind===`article`&&e.name===t.articlePrompt);return(0,h.jsxs)(h.Fragment,{children:[(0,h.jsxs)(`div`,{className:`mt-7`,children:[(0,h.jsx)(iM,{htmlFor:s,className:`mb-2`,children:`Project title`}),(0,h.jsx)(oM,{id:s,"data-play-field":`title`,value:t.title,maxLength:200,"aria-invalid":n(`title`)!==void 0,onChange:e=>r({title:e.target.value})}),n(`title`)?(0,h.jsx)(`p`,{className:`text-small text-red`,children:n(`title`)}):null]}),(0,h.jsx)(NN,{...e}),t.sources.article===`generate`?(0,h.jsxs)(`div`,{className:`flex flex-wrap items-start gap-3 py-3`,children:[c?(0,h.jsxs)(`details`,{className:`min-w-0 flex-1`,children:[(0,h.jsx)(`summary`,{"data-play-field":`articlePrompt.preview`,className:`cursor-pointer py-2 text-small text-run-text`,children:`View prompt`}),(0,h.jsx)(`pre`,{className:`whitespace-pre-wrap break-words py-3 font-sans text-body text-ink2`,children:c.body})]}):(0,h.jsx)(`p`,{className:`text-small text-ink2`,children:e.prompts.some(e=>e.kind===`article`)?`Choose a saved article prompt.`:`No article prompts saved. Create a prompt to begin.`}),(0,h.jsx)(B,{variant:`ghost`,onClick:()=>o(`/prompts`),children:`Create prompt`})]}):(0,h.jsxs)(`p`,{className:`py-3 text-small text-ink3`,children:[t.provided.article.trim()?t.provided.article.trim().split(/\s+/).length:0,` `,`words · `,t.provided.article.length,` characters`]}),(0,h.jsx)(tN,{fields:i,origins:ZM({form:t,prompts:e.prompts,entries:a,silenceGapSeconds:e.silenceGapSeconds}),values:t.values,problem:n,onChange:(e,n)=>r({values:{...t.values,[e]:n}})}),PM(t,a)?(0,h.jsxs)(`section`,{className:`border-y border-line py-6`,children:[(0,h.jsx)(`h3`,{className:`mb-4 text-lg font-semibold`,children:`Text generation`}),(0,h.jsxs)(`div`,{className:`grid grid-cols-1 gap-4 min-[700px]:grid-cols-2`,children:[(0,h.jsx)(fN,{field:`llm.provider`,label:`LLM`,family:`llm`,providers:e.providers,value:t.llm.provider,problem:n(`llm`)??n(`llm.provider`),onPick:e=>r({llm:{provider:e,model:``}})}),(0,h.jsx)(pN,{field:`llm.model`,label:`Text model`,provider:t.llm.provider,value:t.llm.model,problem:n(`llm.model`),onPick:e=>r({llm:{...t.llm,model:e}})}),(0,h.jsx)(IN,{choice:t.llm,onChange:e=>r({llm:e})})]}),(0,h.jsx)(`p`,{className:`mt-3 text-small text-ink3`,children:`Shared by generated article, research, thumbnail wording and generated entries when enabled.`}),(0,h.jsx)(B,{variant:`ghost`,onClick:()=>o(`/settings`),children:`Settings`})]}):null,t.sources.article===`provide`?(0,h.jsx)(`p`,{className:`py-4 text-small text-ink3`,children:`Research is Off because the article is provided.`}):(0,h.jsx)(MN,{...e})]})}function RN(){let{api:e}=I(),t=wk(),n=_(),[r,i]=(0,m.useState)(null),[a,o]=(0,m.useState)(null),[s,c]=(0,m.useState)(!1),l=nt({queryKey:[`play-drafts`],queryFn:async()=>{let t=await NO(e);if(!t.ok)throw Error(t.message);return t.value.drafts}}),u=async()=>{if(!r||s)return;let e=r.id;c(!0),o(null);try{await t.discard({id:r.id,version:r.version}),i(null),await n.cancelQueries({queryKey:[`play-drafts`]}),n.setQueryData([`play-drafts`],t=>t?.filter(t=>t.id!==e))}catch(e){o(e instanceof Error?e.message:`Couldn't discard draft`)}finally{c(!1)}};return(0,h.jsxs)(`section`,{"aria-label":`Drafts`,className:`min-w-0 max-w-full text-small`,children:[(0,h.jsxs)(`div`,{className:`flex flex-wrap items-start gap-2`,children:[(0,h.jsxs)(`details`,{className:`max-w-full rounded-control border border-line bg-panel px-3`,children:[(0,h.jsx)(`summary`,{className:`flex min-h-10 cursor-pointer items-center font-semibold`,children:`Drafts`}),l.isPending?(0,h.jsx)(`p`,{role:`status`,children:`Loading drafts…`}):null,l.error?(0,h.jsxs)(`p`,{role:`alert`,children:[l.error.message,(0,h.jsx)(`button`,{type:`button`,onClick:()=>void l.refetch(),children:`Retry`})]}):null,l.data?.length===0?(0,h.jsx)(`p`,{children:`No saved drafts`}):null,(0,h.jsx)(`ul`,{className:`max-h-72 max-w-[320px] overflow-y-auto pb-2`,children:l.data?.map(e=>(0,h.jsxs)(`li`,{className:`flex flex-wrap items-center gap-2 border-t border-line py-2`,children:[(0,h.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,h.jsx)(`button`,{type:`button`,className:`w-full break-words text-left`,onClick:()=>void t.open(e.id),children:(0,h.jsx)(`span`,{className:`block`,children:e.title||`Untitled draft`})}),(0,h.jsxs)(`time`,{dateTime:e.updatedAt,className:`block text-label text-ink3`,children:[`Last edited `,jc(e.updatedAt)]})]}),e.readable?null:(0,h.jsx)(`p`,{children:`Unsupported or corrupt draft. Try opening it to recover, or discard it.`}),(0,h.jsx)(`button`,{type:`button`,onClick:()=>{i(e),o(null)},"aria-label":`Discard ${e.title||`Untitled draft`}`,children:`Discard`})]},e.id))})]}),(0,h.jsx)(B,{onClick:()=>void t.newDraft(),children:`New draft`})]}),(0,h.jsx)(`p`,{role:`status`,className:`mt-2 text-small text-ink3`,children:{unsaved:`Unsaved`,saving:`Saving…`,saved:`Saved`,error:`Couldn't save`,conflict:`Changed elsewhere`}[t.status]}),(0,h.jsx)(jj,{open:r!==null,title:`Discard draft`,consequence:`Discard ${r?.title||`Untitled draft`}? This cannot be undone.`,verb:`Confirm discard`,pending:s,onConfirm:()=>void u(),onCancel:()=>{s||i(null)}}),a?(0,h.jsx)(`p`,{role:`alert`,children:a}):null,t.error?(0,h.jsxs)(`p`,{role:`alert`,children:[`Couldn't save. `,t.error]}):null,t.status===`error`?(0,h.jsx)(`button`,{type:`button`,onClick:()=>{!t.view&&t.activeId&&t.edited===0?t.open(t.activeId):t.flush()},children:`Retry`}):null,t.status===`conflict`?(0,h.jsxs)(h.Fragment,{children:[(0,h.jsx)(`button`,{type:`button`,onClick:()=>{t.activeId&&t.open(t.activeId)},children:`Reload saved draft`}),(0,h.jsx)(`button`,{type:`button`,onClick:()=>void t.saveAsNew(),children:`Save as a new draft`})]}):null]})}function zN(e,t){let n=[...e.querySelectorAll(`[data-play-field]`)].find(e=>e.dataset.playField===t);return!n||n.hasAttribute(`disabled`)?!1:(n.focus(),n.scrollIntoView({block:`nearest`,inline:`nearest`,behavior:`instant`}),document.activeElement===n)}function BN(e,t,n){let r=e;e===`fontUpload`&&(r=`subtitles.fontUpload`),/^provided\.images\.\d+$/.test(e)&&(r=`provided.images`),e===`subtitles`&&(r=`subtitles.mode`),e===`chunking`&&(r=`chunking.mode`),[`audio`,`llm`,`images`].includes(e)&&(r=`${e}.provider`),e===`provided`&&(r=`provided.${[`audio`,`images`,`thumbnail`].find(e=>t.sources[e]===`provide`&&(e===`images`?t.provided.images:[t.provided[e]]).some(e=>e&&(e.error!==void 0||e.file===void 0)))??`audio`}`);let i=/^imagePrompts\.(\d+)\.(.+)$/.exec(e);if(i){let e=t.imagePrompts[Number(i[1])];e&&(r=`imagePrompts.${e.name}.${i[2]}`)}e===`imagePrompts`&&(r=t.imagePrompts[0]?`imagePrompts.${t.imagePrompts[0].name}.number`:`imagePrompts`);let a=/^variants\.(\d+)\.(.+)$/.exec(e);a&&(r=`items.${n[Number(a[1])]?.key??a[1]}.${a[2]}`);let o=/^items\.(\d+)\.(.+)$/.exec(e);o&&(r=Number(o[1])===0?o[2]??e:`items.${n[Number(o[1])-1]?.key??o[1]}.${o[2]}`);let s=t=>t.some(t=>e===t||e.startsWith(`${t}.`));return{section:s([`title`,`articlePrompt`,`provided.article`,`provided.research`,`sources.article`,`sources.research`,`llm`,`values`])?`content`:s([`format`,`subtitles`,`fontUpload`])?`style`:s([`audio`,`provided.audio`,`intro`,`outro`,`chunking`,`images`,`imagePrompts`,`provided.images`,`thumbnailPrompt`,`provided.thumbnail`,`provided`,`sources`])?`outputs`:`review`,field:r}}function VN(e){return e===`9:16`?{width:1080,height:1920}:{width:1920,height:1080}}function HN(e,t){switch(e){case`top`:return{y:60,alignment:8,translateY:0};case`upper-middle`:return{y:t/4,alignment:5,translateY:-50};case`center`:return{y:t/2,alignment:5,translateY:-50};case`lower-middle`:return{y:t*3/4,alignment:5,translateY:-50};case`bottom`:return{y:t-60,alignment:2,translateY:-100}}}function UN({value:e,format:t,sample:n=`Every story begins with a word.`,backgroundUrl:r,showCaptions:i=!0,maxFrameHeight:a}){let{api:o}=I(),s=KO(o,e.fontId),c=`subtitle-preview-${(0,m.useId)().replace(/[^a-zA-Z0-9]/g,``)}`,[l,u]=(0,m.useState)(!1);(0,m.useEffect)(()=>{if(typeof FontFace>`u`||!document.fonts)return;let e=!0,t=new FontFace(c,`url(${JSON.stringify(s)})`);return u(!1),t.load().then(t=>{e&&document.fonts.add(t)}).catch(()=>{e&&u(!0)}),()=>{e=!1,document.fonts.delete(t)}},[c,s]);let d=VN(t),f=HN(e.position??`bottom`,d.height),p=Number.isFinite(e.fontSize)?Math.max(16,Math.min(120,e.fontSize)):48,g={position:`absolute`,left:`50%`,top:`${f.y/d.height*100}%`,width:`${(d.width-120)/d.width*100}%`,transform:`translate(-50%, ${f.translateY}%)`,fontFamily:`"${c}", sans-serif`,fontSize:`${p/d.width*100}cqw`,lineHeight:1.2,overflowWrap:`anywhere`,WebkitTextStroke:`${2.5/d.width*100}cqw #101010`,paintOrder:`stroke fill`,textShadow:`0 ${100/d.width}cqw ${100/d.width}cqw #000`};return(0,h.jsxs)(`figure`,{className:`min-w-0 self-start`,children:[(0,h.jsxs)(`div`,{className:`mb-2 flex items-center justify-between gap-2 text-label text-ink2`,children:[(0,h.jsx)(`span`,{children:`Style preview`}),(0,h.jsx)(`span`,{children:t})]}),(0,h.jsxs)(`div`,{role:`img`,"aria-label":`Subtitle style preview`,"data-format":t,"data-position":e.position??`bottom`,className:`relative mx-auto w-full overflow-hidden rounded-control border border-line2 bg-screen text-center text-white`,style:{aspectRatio:`${d.width} / ${d.height}`,maxWidth:t===`9:16`?a?`min(240px, calc((${a}) * 9 / 16))`:240:480,containerType:`inline-size`},children:[r?(0,h.jsx)(`img`,{src:r,alt:``,className:`absolute inset-0 h-full w-full object-cover`}):null,i?(0,h.jsx)(`span`,{role:`note`,"aria-label":`Caption sample`,style:g,children:n}):null]}),(0,h.jsxs)(`figcaption`,{className:`mt-2 text-label text-ink3`,children:[d.width,` × `,d.height,` · Preview at reduced scale.`,l?` Font preview unavailable; showing a fallback.`:``]})]})}function WN(){let[e,t]=(0,m.useState)(()=>window.matchMedia?.(`(min-width: 1100px)`).matches??!1);return(0,m.useEffect)(()=>{let e=window.matchMedia?.(`(min-width: 1100px)`);if(!e)return;let n=()=>t(e.matches);return n(),e.addEventListener(`change`,n),()=>e.removeEventListener(`change`,n)},[]),e}function GN(){let{api:e}=I(),t=wk(),{form:n,previewText:r}=t.document,i=n.sources.images===`provide`?n.provided.images.map(e=>t.view?.attachments.find(t=>t.id===e.attachmentId&&t.kind===`images`&&t.state===`ready`&&t.stagedFileId)).find(Boolean):void 0,a=i&&t.activeId?VO(e,t.activeId,i.id):void 0,o=n.sources.video===`generate`&&n.sources.images!==`off`;return(0,h.jsxs)(`section`,{"aria-label":`Output preview`,className:`min-w-0`,children:[(0,h.jsxs)(`div`,{className:`mb-3 flex items-center justify-between gap-3`,children:[(0,h.jsx)(`h2`,{className:`text-small font-semibold`,children:`Output preview`}),(0,h.jsx)(B,{variant:`ghost`,className:`text-run-text`,onClick:()=>void t.navigate(`style`),children:`Edit style ↗`})]}),(0,h.jsx)(`div`,{className:`rounded-control border border-line bg-panel p-4`,children:(0,h.jsx)(UN,{value:{...n.subtitles,fontSize:Number(n.subtitles.fontSize)},format:n.format,sample:r,showCaptions:n.sources.audio!==`off`&&n.subtitles.mode!==`off`,maxFrameHeight:`max(160px, 100dvh - 360px)`,...a?{backgroundUrl:a}:{}})}),(0,h.jsx)(`p`,{className:`mt-3 text-small text-ink3`,children:a?`Style preview using your supplied image.`:`Style preview only. No generated image is shown.`}),(0,h.jsx)(`p`,{className:`mt-2 text-small text-ink3`,children:o?n.subtitles.mode===`burn-in`?`Captions will be burned into the MP4.`:`Caption styling previews burn-in. SRT/VTT players choose their own styling.`:`Frame and caption styling apply when Video is enabled.`})]})}function KN(e){let t=wk(),n=t.document,{form:r,entries:i,problem:a,update:o}=e;return(0,h.jsxs)(h.Fragment,{children:[(0,h.jsx)(kN,{...e,rawCounts:{...n.form.chunking,onChange:(e,r)=>t.edit({...n,form:{...n.form,chunking:{...n.form.chunking,mode:e,...e===`words`?{words:r}:e===`characters`?{characters:r}:{}}}})}}),r.sources.audio===`generate`?(0,h.jsxs)(`div`,{className:`grid grid-cols-1 gap-4 border-b border-line py-4 min-[700px]:grid-cols-2`,children:[[`intro`,`outro`].map(e=>(0,h.jsx)(lN,{field:e,label:e===`intro`?`Intro`:`Outro`,value:r[e],placeholder:`Off`,options:i.filter(t=>t.category===e).map(e=>({value:e.name,label:e.name})),problem:a(e),onPick:t=>o({[e]:t})},e)),(0,h.jsx)(B,{variant:`ghost`,onClick:e.onSettings,children:`Settings`})]}):null,(0,h.jsx)(AN,{...e,rawNumbers:{values:n.form.imagePrompts,onChange:(e,r)=>t.edit({...n,form:{...n.form,imagePrompts:n.form.imagePrompts.map(t=>t.name===e?{...t,number:r}:t)}})}}),(0,h.jsx)(PN,{...e}),(0,h.jsx)(FN,{...e}),(0,h.jsx)(eN,{problem:a}),e.missingKeyword?(0,h.jsxs)(`p`,{className:`py-4 text-small text-ink2`,children:[`A selected template needs keywords.`,` `,(0,h.jsx)(B,{variant:`ghost`,onClick:()=>e.onKeyword(e.missingKeyword??`values`),children:`Complete keywords in Content`})]}):null]})}function qN({selected:e,reviewed:t}){let n=e=>QM.find(t=>t.stage===e)?.label??e;return e?.length?(0,h.jsxs)(`div`,{className:`space-y-3 text-body`,children:[t?.length?t.map(e=>(0,h.jsxs)(`div`,{children:[(0,h.jsxs)(`p`,{className:`font-medium`,children:[`Run `,e.runIndex+1,` · Before `,n(e.stage)]}),(0,h.jsx)(`p`,{className:`text-small text-ink2`,children:e.dependents.length?`Also holds: ${e.dependents.map(n).join(`, `)}.`:`No dependent steps.`})]},`${e.runIndex}-${e.checkpointId}`)):(0,h.jsxs)(`p`,{children:[`Selected: `,e.map(e=>`Before ${n(e)}`).join(`, `),`. Refresh review to confirm dependent steps.`]}),(0,h.jsx)(`p`,{className:`text-small text-ink2`,children:`Approval required on the project page. Starting this run does not approve these checkpoints.`})]}):(0,h.jsx)(`p`,{className:`text-body text-ink2`,children:`No review checkpoints selected.`})}function JN({items:e,fields:t,title:n,values:r,problem:i,onChange:a}){let o=(0,m.useId)();return(0,h.jsxs)(`details`,{className:`rounded-control border border-line p-3`,children:[(0,h.jsxs)(`summary`,{className:`cursor-pointer text-body font-medium`,children:[`Queue keyword variations `,e.length?`(${e.length+1} videos)`:``]}),(0,h.jsx)(`p`,{className:`my-3 text-small text-ink2`,children:`The setup above is video 1. Add videos with different titles and keywords. They run one at a time; a failed video releases the next, and a pause holds the queue.`}),e.map((n,r)=>(0,h.jsxs)(`fieldset`,{className:`mb-3 flex min-w-0 flex-col gap-2 border-t border-line pt-3`,children:[(0,h.jsxs)(`legend`,{className:`text-small text-ink2`,children:[`Video `,r+2]}),(0,h.jsxs)(`label`,{htmlFor:`${o}-${n.key}-title`,className:`text-small`,children:[`Title`,(0,h.jsx)(oM,{id:`${o}-${n.key}-title`,"data-play-field":`items.${n.key}.title`,"aria-invalid":i?.(`items.${r+1}.title`)!==void 0,value:n.title,maxLength:200,onChange:t=>a(e.map(e=>e.key===n.key?{...e,title:t.target.value}:e))})]}),t.map(t=>(0,h.jsxs)(`label`,{htmlFor:`${o}-${n.key}-${encodeURIComponent(t.name)}`,className:`text-small`,children:[t.name,(0,h.jsx)(oM,{id:`${o}-${n.key}-${encodeURIComponent(t.name)}`,"data-play-field":`items.${n.key}.values.${t.name}`,"aria-invalid":i?.(`items.${r+1}.values.${t.name}`)!==void 0,value:n.values[t.name]??``,onChange:r=>a(e.map(e=>e.key===n.key?{...e,values:{...e.values,[t.name]:r.target.value}}:e))})]},t.name)),(0,h.jsxs)(B,{onClick:()=>a(e.filter(e=>e.key!==n.key)),children:[`Remove video `,r+2]})]},n.key)),(0,h.jsx)(B,{disabled:e.length>=49,onClick:()=>a([...e,{key:crypto.randomUUID(),title:`${n||`Video`} ${e.length+2}`,values:{...r}}]),children:`Add keyword variation`})]})}function YN({estimates:e}){let t=e.reduce((e,t)=>e+t.low,0),n=e.reduce((e,t)=>e+t.high,0),r=e.reduce((e,t)=>e+t.unknown,0),i=e[0]?.rows.map((t,n)=>({...t,low:e.some(e=>e.rows[n]?.low===null)?null:e.reduce((e,t)=>e+(t.rows[n]?.low??0),0),high:e.some(e=>e.rows[n]?.high===null)?null:e.reduce((e,t)=>e+(t.rows[n]?.high??0),0)}))??[];return(0,h.jsxs)(`div`,{className:`flex flex-col gap-4`,children:[` `,e.length?(0,h.jsxs)(h.Fragment,{children:[(0,h.jsxs)(`p`,{className:`text-title font-bold`,children:[r?`Known subtotal: `:`Estimated total: `,XN(t,n)]}),r?(0,h.jsxs)(`p`,{className:`text-body text-ink2`,children:[`Plus `,r,` stage charge`,r===1?``:`s`,` with unavailable pricing.`]}):null,(0,h.jsx)(`div`,{className:`divide-y divide-line`,children:i.map(e=>(0,h.jsx)(`div`,{className:`py-2`,children:(0,h.jsxs)(`div`,{className:`flex justify-between gap-4 text-body`,children:[(0,h.jsx)(`span`,{children:e.stage}),(0,h.jsx)(`span`,{children:e.low===null||e.high===null?`Unknown`:XN(e.low,e.high)})]})},e.stage))}),(0,h.jsxs)(`details`,{className:`border-t border-line py-3`,children:[(0,h.jsx)(`summary`,{className:`cursor-pointer text-small`,children:`Assumptions and stage details`}),(0,h.jsxs)(`div`,{className:`mt-3 flex flex-col gap-2`,children:[i.map(e=>(0,h.jsxs)(`p`,{className:`text-small text-ink2`,children:[e.stage,`: `,e.detail]},e.stage)),[...new Set(e.flatMap(e=>e.assumptions))].map(e=>(0,h.jsx)(`p`,{className:`text-small text-ink2`,children:e},e))]})]}),(0,h.jsxs)(`p`,{className:`text-small text-ink3`,children:[`Catalogue verified `,e[0]?.catalogueDate??`date unavailable`,`. Batch rows show combined costs.`]})]}):null]})}function XN(e,t){let n=e=>e===0?`$0`:e<.01?`<$0.01`:`$${e.toFixed(2)}`;return e===t?n(e):`${n(e)} – ${n(t)}`}function ZN(e){return e===void 0?{ok:!1,text:`Provider status unavailable`}:e.readiness.kind===`cli`?Ik(e.readiness)?{ok:!0,text:e.readiness.version===void 0?`CLI ready`:`CLI ready · ${e.readiness.version}`}:{ok:!1,text:e.readiness.issue??`CLI not found`}:e.readiness.hasKey?{ok:!0,text:`API key saved`}:{ok:!1,text:`API key missing`}}function QN(e,t){let n=e.sources.audio===`generate`,r=[`from_prompt`,`prompt_by_llm`].includes(e.sources.thumbnail);return[...(e.sources.article===`generate`||e.sources.thumbnail===`prompt_by_llm`||n&&[`intro`,`outro`].some(n=>t.some(t=>t.category===n&&t.name===e[n]&&t.mode===`llm`)))&&e.llm?[{field:`llm.provider`,family:`llm`,label:`Text generation`,provider:e.llm.provider,model:e.llm.model}]:[],...n&&e.audio?[{field:`audio.provider`,family:`tts`,label:`Narration`,provider:e.audio.provider,model:e.audio.model,voice:e.audio.voice}]:[],...(e.sources.images===`generate`||r)&&e.images?[{field:`images.provider`,family:`image`,label:`Images`,provider:e.images.provider,model:e.images.model}]:[]]}function $N({name:e,children:t}){return(0,h.jsxs)(`section`,{"aria-label":`${e} summary`,className:`min-w-0 border-t border-line pt-5`,children:[(0,h.jsx)(`h3`,{className:`mb-4 font-semibold`,children:e}),t]})}function eP({form:e,entries:t,providers:n,voices:r,textModels:i,audioModels:a,imageModels:o,onReveal:s}){let c=QN(e,t);if(!c.length)return(0,h.jsx)($N,{name:`Run readiness`,children:(0,h.jsx)(`p`,{className:`text-body text-ink2`,children:`No generated providers required. Supplied content is ready for processing.`})});let l={llm:i,tts:a,image:o};return(0,h.jsxs)($N,{name:`Run readiness`,children:[(0,h.jsx)(`p`,{className:`mb-3 text-small text-ink2`,children:`These checks are refreshed with Review and checked again when you start.`}),(0,h.jsx)(`ul`,{className:`divide-y divide-line`,"aria-label":`Run readiness checks`,children:c.map(e=>{let t=n?.find(t=>t.id===e.provider&&t.family===e.family),i=ZN(t),a=l[e.family],o=a?.models.find(t=>t.id===e.model),c=a===void 0?{ok:!0,text:`Model checked at Start`}:o!==void 0||a.allowsCustom?{ok:!0,text:`Model available`}:{ok:!1,text:`Model unavailable`},u=e.voice===void 0?void 0:r===void 0?{ok:!1,text:`Voice list unavailable`}:r.some(t=>t.provider===e.provider&&t.voiceId===e.voice)?{ok:!0,text:`Voice saved`}:{ok:!1,text:`Voice missing`},d=[i,c,...u?[u]:[]],f=d.every(e=>e.ok);return(0,h.jsxs)(`li`,{className:`flex flex-wrap items-center justify-between gap-3 py-3`,children:[(0,h.jsx)(`span`,{className:`font-medium`,children:e.label}),(0,h.jsx)(`span`,{className:f?`text-lime`:`text-red`,children:f?`Ready`:d.filter(e=>!e.ok).map(e=>e.text).join(` · `)}),f?null:(0,h.jsx)(B,{variant:`ghost`,onClick:()=>s(e.field),children:`Edit ↗`})]},`${e.family}:${e.provider}`)})})]})}function tP({fields:e,onReveal:t,children:n}){let{document:r,review:i}=wk(),{form:a}=r,{api:o}=I(),s=_(),c=s.getQueryData(vy(o).queryKey),l=s.getQueryData(xy(o).queryKey),u=s.getQueryData(yy(o).queryKey),d=s.getQueryData(UO),f=s.getQueryData(iN(a.llm.provider)),p=s.getQueryData(iN(a.audio.provider)),m=s.getQueryData(iN(a.images.provider)),g=a.sources.audio===`generate`,v=[`from_prompt`,`prompt_by_llm`].includes(a.sources.thumbnail),y=a.sources.article===`generate`||a.sources.thumbnail===`prompt_by_llm`||g&&[`intro`,`outro`].some(e=>l?.entries.some(t=>t.category===e&&t.name===a[e]&&t.mode===`llm`)),b=e=>c?.providers.find(t=>t.id===e)?.displayName??e,x=(e,n,r)=>(0,h.jsxs)(`div`,{className:`grid min-w-0 grid-cols-[90px_minmax(0,1fr)_auto] items-start gap-x-3 py-1 sm:grid-cols-[145px_minmax(0,1fr)_auto]`,children:[(0,h.jsx)(`dt`,{className:`break-words py-2 text-ink2`,children:e}),(0,h.jsx)(`dd`,{className:`min-w-0 whitespace-pre-wrap break-words py-2`,children:r||`Not selected`}),n?(0,h.jsx)(`dd`,{children:(0,h.jsx)(B,{variant:`ghost`,"aria-label":`Edit ${e}`,onClick:()=>t(n),children:`Edit ↗`})}):null]},n??e),S=a.chunking.mode===`words`||a.chunking.mode===`characters`?a.chunking.mode:null;return(0,h.jsxs)(h.Fragment,{children:[(0,h.jsx)(eP,{form:a,entries:l?.entries??[],providers:c?.providers,voices:u?.voices,textModels:f,audioModels:p,imageModels:m,onReveal:t}),(0,h.jsxs)($N,{name:`Content`,children:[(0,h.jsxs)(`dl`,{className:`text-body`,children:[x(`Project`,`title`,a.title||`Untitled run`),x(`Article`,`sources.article`,MM[a.sources.article]),a.sources.article===`generate`?x(`Article prompt`,`articlePrompt`,a.articlePrompt):x(`Article text`,`provided.article`,`Your article`),a.sources.article===`generate`?x(`Research`,`sources.research`,MM[a.sources.research]):x(`Research`,null,`Off · Article is provided`),a.sources.research===`provide`&&a.sources.article===`generate`?x(`Research text`,`provided.research`,a.provided.research):null,y?(0,h.jsxs)(h.Fragment,{children:[x(`Text provider`,`llm.provider`,b(a.llm.provider)),x(`Text model`,`llm.model`,f?.models.find(e=>e.id===a.llm.model)?.name??a.llm.model),a.llm.thinking||f?.models.find(e=>e.id===a.llm.model)?.thinkingModes?.length?x(`Thinking`,`llm.thinking`,a.llm.thinking??`Model default`):null]}):null,e.map(({name:e})=>x(e,`values.${e}`,a.values[e]??``))]}),n]}),(0,h.jsx)($N,{name:`Outputs`,children:(0,h.jsxs)(`dl`,{className:`text-body`,children:[x(`Narration`,`sources.audio`,MM[a.sources.audio]),g?(0,h.jsxs)(h.Fragment,{children:[x(`Audio provider`,`audio.provider`,b(a.audio.provider)),x(`Audio model`,`audio.model`,p?.models.find(e=>e.id===a.audio.model)?.name??a.audio.model),x(`Voice`,`audio.voice`,u?.voices.find(e=>e.provider===a.audio.provider&&e.voiceId===a.audio.voice)?.name??a.audio.voice),x(`Chunking`,S?`chunking.${S}`:`chunking.mode`,S?`Every ${a.chunking[S]||`(not entered)`} ${S}`:a.chunking.mode===`whole`?`Whole text`:`Paragraph`),x(`Intro`,`intro`,a.intro||`Off`),x(`Outro`,`outro`,a.outro||`Off`)]}):null,a.sources.audio===`provide`?x(`Narration file`,`provided.audio`,a.provided.audio?.name):null,x(`Images`,`sources.images`,MM[a.sources.images]),a.sources.images===`generate`||v?(0,h.jsxs)(h.Fragment,{children:[x(`Image provider`,`images.provider`,b(a.images.provider)),x(`Image model`,`images.model`,m?.models.find(e=>e.id===a.images.model)?.name??a.images.model)]}):null,a.sources.images===`generate`?a.imagePrompts.length?a.imagePrompts.map((e,t)=>x(e.name,`imagePrompts.${t}.number`,`${e.name} · ${e.number||`(not entered)`} images`)):x(`Image prompts`,`imagePrompts`,`None selected`):null,a.sources.images===`provide`?x(`Image files`,`provided.images`,a.provided.images.length?(0,h.jsx)(`ol`,{className:`list-inside list-decimal`,children:a.provided.images.map(e=>(0,h.jsx)(`li`,{children:e.name},e.attachmentId))}):`No files selected`):null,x(`Thumbnail`,`sources.thumbnail`,MM[a.sources.thumbnail]),v?x(`Thumbnail prompt`,`thumbnailPrompt`,a.thumbnailPrompt):null,a.sources.thumbnail===`provide`?x(`Thumbnail file`,`provided.thumbnail`,a.provided.thumbnail?.name):null,x(`Video`,`sources.video`,MM[a.sources.video])]})}),(0,h.jsxs)($N,{name:`Checkpoints`,children:[(0,h.jsx)(qN,{selected:a.checkpoints,reviewed:i.valid?i.receipt?.checkpointSet:void 0}),(0,h.jsx)(B,{variant:`ghost`,"aria-label":`Edit checkpoints`,onClick:()=>t(`checkpoints`),children:`Edit checkpoints ↗`})]}),(0,h.jsxs)($N,{name:`Style`,children:[(0,h.jsxs)(`dl`,{className:`text-body`,children:[x(`Frame`,`format`,a.format),a.sources.audio===`off`?x(`Subtitles`,null,`Off · Audio is Off`):x(`Subtitles`,`subtitles.mode`,a.subtitles.mode),a.sources.audio!==`off`&&a.subtitles.mode!==`off`?(0,h.jsxs)(h.Fragment,{children:[x(`Subtitle font`,`subtitles.fontId`,d?.fonts.find(e=>e.id===a.subtitles.fontId)?.name??a.subtitles.fontId),x(`Subtitle size`,`subtitles.fontSize`,`${a.subtitles.fontSize||`(not entered)`} px`),x(`Subtitle position`,`subtitles.position`,a.subtitles.position)]}):null]}),a.sources.audio!==`off`&&a.subtitles.mode===`files`?(0,h.jsx)(`p`,{className:`mt-3 text-small text-ink2`,children:`Font, size and position apply to burned captions. SRT/VTT players choose their own styling.`}):null]})]})}function nP({fields:e,errors:t,onReveal:n,problem:r}){let i=wk(),{document:a,review:o}=i,s=a.form,c=(0,m.useId)(),l=_k(a,i.view),u=o.starting||o.uncertain;(0,m.useEffect)(()=>{i.reviewDraft()},[i.reviewDraft]);let d=o.valid?o.receipt?.runs??[]:[];return(0,h.jsxs)(`div`,{className:`flex min-w-0 flex-col gap-6 py-6`,children:[(0,h.jsx)(`p`,{className:`text-body text-ink2`,children:`Check your setup and estimated costs before starting.`}),t.length?(0,h.jsx)(`ul`,{"aria-label":`Setup errors`,className:`text-small text-red`,children:t.map(e=>(0,h.jsx)(`li`,{children:(0,h.jsx)(B,{variant:`ghost`,onClick:()=>n(e.field),children:e.message})},`${e.field}-${e.message}`))}):null,l?(0,h.jsx)(B,{variant:`ghost`,onClick:()=>n(l),children:`Wait for uploads to finish before Start`}):null,o.error?(0,h.jsx)(`p`,{role:`alert`,className:`text-body text-red`,children:o.error}):null,(0,h.jsx)(tP,{fields:e,onReveal:n,children:(0,h.jsxs)(`details`,{className:`mt-5 border-t border-line py-3`,children:[(0,h.jsx)(`summary`,{className:`cursor-pointer text-small`,children:s.sources.article===`provide`?`Read the supplied article and resolved prompts`:`Read the resolved prompt`}),d.length?d.map((e,t)=>(0,h.jsxs)(`div`,{className:`mt-4`,children:[(0,h.jsx)(`h4`,{className:`font-medium`,children:e.draft.title}),e.draft.sources.article===`provide`?(0,h.jsx)(`p`,{className:`mt-3 whitespace-pre-wrap break-words text-body`,children:e.draft.provided.article}):null,Object.entries(e.rendered).map(([e,t])=>(0,h.jsxs)(`div`,{className:`mt-3`,children:[(0,h.jsx)(`h5`,{className:`text-small text-ink2`,children:e}),(0,h.jsx)(`p`,{className:`whitespace-pre-wrap break-words text-body`,children:t})]},e))]},a.variants[t-1]?.id??i.activeId)):(0,h.jsx)(`p`,{className:`mt-3 text-small text-ink2`,children:`Refresh review to read the exact resolved inputs.`})]})}),(0,h.jsx)(`fieldset`,{disabled:u,className:`min-w-0`,children:(0,h.jsx)(JN,{fields:e,items:a.variants.map(({id:e,...t})=>({...t,key:e})),title:s.title,values:s.values,problem:r,onChange:e=>i.edit({...a,variants:e.map(({key:e,...t})=>({...t,id:e}))})})}),(0,h.jsxs)(`div`,{className:`flex flex-col gap-4 border-t border-line pt-5`,children:[(0,h.jsx)(`h3`,{className:`font-semibold`,children:`Estimated cost`}),(0,h.jsxs)(`label`,{htmlFor:c,className:`text-body`,children:[`Expected article words per video`,(0,h.jsx)(oM,{id:c,"data-play-field":`expectedWords`,type:`number`,min:1,max:1e5,value:a.expectedWords,disabled:u,onChange:e=>i.edit({...a,expectedWords:e.target.value})})]}),(0,h.jsx)(`p`,{className:`text-small text-ink2`,children:`Estimated provider charges in USD. Actual usage can differ. This estimate does not cap spending.`}),o.pending?(0,h.jsx)(`p`,{role:`status`,children:`Calculating estimate…`}):null,o.valid&&o.receipt?(0,h.jsx)(YN,{estimates:o.receipt.estimates}):(0,h.jsx)(`p`,{className:`text-small text-ink2`,children:`Review needs refreshing before Start.`}),(0,h.jsx)(B,{disabled:o.pending||u||!!l,onClick:()=>{i.reviewDraft()},children:`Refresh review`})]}),(0,h.jsxs)(`div`,{className:`flex justify-between gap-3 border-t border-line pt-5`,children:[(0,h.jsx)(B,{variant:`ghost`,onClick:()=>{i.navigate(`style`)},children:`← Style`}),(0,h.jsx)(B,{variant:`play`,"data-tour":`play-start`,disabled:o.starting||!o.uncertain&&(!o.valid||o.pending||t.length>0||!!l),onClick:()=>{i.startRun()},children:o.starting?`Starting…`:o.uncertain?`Check Start result`:a.variants.length?`Queue ${a.variants.length+1} videos`:`Start run`})]})]})}var rP=[{id:`content`,label:`Content`,description:`Article and keywords`},{id:`outputs`,label:`Outputs`,description:`Voice and images`},{id:`style`,label:`Style`,description:`Frame and captions`},{id:`review`,label:`Review`,description:`Cost and start`}];function iP({section:e,onNavigate:t}){return(0,h.jsx)(`nav`,{"aria-label":`Run setup`,className:`mb-7 grid grid-cols-2 border-b border-line min-[700px]:grid-cols-4`,children:rP.map((n,r)=>(0,h.jsxs)(`div`,{className:`border-b-2 py-4 ${e===n.id?`border-focus`:`border-transparent`}`,children:[(0,h.jsxs)(`button`,{type:`button`,"aria-current":e===n.id?`step`:void 0,onClick:()=>t(n.id),className:`min-h-11 w-full text-left font-semibold ${e===n.id?`text-run-text`:`text-ink`}`,children:[(0,h.jsx)(`span`,{"aria-hidden":`true`,className:`mr-3 inline-flex size-7 items-center justify-center rounded-full border text-small ${e===n.id?`border-accent bg-accent text-accent-ink`:`border-line`}`,children:r+1}),n.label]}),(0,h.jsx)(`p`,{className:`pl-10 text-small text-ink3`,children:n.description})]},n.id))})}function aP({form:e,blocker:t,onReveal:n}){let r=[[`Article`,e.sources.article,e.sources.article===`provide`?`provided.article`:`articlePrompt`],[`Audio`,e.sources.audio,`sources.audio`],[`Images`,e.sources.images===`generate`?`${e.imagePrompts.reduce((e,t)=>e+t.number,0)} images`:e.sources.images,`sources.images`],[`Export`,e.sources.video===`generate`?e.sources.audio===`off`?`Silent MP4`:`MP4`:e.sources.audio===`off`?`Individual outputs`:`Combined WAV`,`sources.video`]];return(0,h.jsxs)(`aside`,{"aria-label":`Setup summary`,className:`min-w-0`,children:[(0,h.jsx)(`h2`,{className:`mb-3 font-semibold`,children:`This run`}),(0,h.jsx)(`dl`,{className:`divide-y divide-line`,children:r.map(([e,t,r])=>(0,h.jsxs)(`div`,{className:`flex items-center justify-between gap-3 py-2 text-small`,children:[(0,h.jsx)(`dt`,{className:`text-ink3`,children:e}),(0,h.jsx)(`dd`,{children:(0,h.jsx)(B,{variant:`ghost`,onClick:()=>n(r),"aria-label":`Edit ${e}`,children:t})})]},e))}),t?(0,h.jsxs)(`div`,{className:`mt-4 text-small text-ink2`,children:[(0,h.jsx)(`p`,{children:t.hint}),(0,h.jsx)(B,{variant:`ghost`,onClick:()=>n(t.field),children:`Fix setup`})]}):null,(0,h.jsx)(`p`,{className:`mt-4 text-small text-ink3`,children:`Nothing starts until you review the costs and choose Start run.`})]})}function oP(e){return e.upload?(0,h.jsx)(cP,{value:e.value,onPick:e.onPick,upload:e.upload}):(0,h.jsx)(sP,{...e})}function sP({value:e,onPick:t,onUploading:n}){let{api:r}=I(),i=_(),a=it({mutationFn:e=>GO(r,e),onSuccess:({font:e})=>{i.setQueryData(UO,t=>({fonts:[...(t?.fonts??[]).filter(t=>t.id!==e.id),e]})),i.invalidateQueries({queryKey:UO})}}),o=a.isPending,s=(0,m.useRef)(t);s.current=t;let c=(0,m.useRef)(n);return c.current=n,(0,m.useEffect)(()=>{c.current(o)},[o]),(0,m.useEffect)(()=>()=>c.current(!1),[]),(0,h.jsx)(cP,{value:e,onPick:t,upload:{pending:o,error:a.error?.message,pick:e=>a.mutate(e,{onSuccess:({font:e})=>s.current(e.id)})}})}function cP({value:e,onPick:t,upload:n}){let{api:r}=I(),i=(0,m.useId)(),a=(0,m.useId)(),o=nt({queryKey:UO,queryFn:()=>WO(r),staleTime:6e4}),s=n.pending,c=o.data?.fonts??[],l=e!=="default"&&!c.some(t=>t.id===e);return(0,h.jsxs)(`div`,{className:`flex flex-col gap-3`,children:[(0,h.jsxs)(`div`,{className:`flex flex-wrap items-end gap-3`,children:[(0,h.jsxs)(`div`,{className:`min-w-0 basis-full`,children:[(0,h.jsx)(iM,{htmlFor:i,className:`mb-1`,children:`Subtitle font`}),(0,h.jsxs)(`select`,{id:i,"data-play-field":`subtitles.fontId`,value:e,disabled:s,onChange:e=>t(e.target.value),className:`h-8 w-full rounded-control border border-line2 bg-panel2 px-[10px] text-small text-ink`,children:[c.some(e=>e.id==="default")?null:(0,h.jsx)(`option`,{value:`default`,children:`Default font · bundled`}),l?(0,h.jsxs)(`option`,{value:e,children:[e,` · saved font`]}):null,c.map(e=>(0,h.jsxs)(`option`,{value:e.id,children:[e.name,` · `,e.source]},e.id))]})]}),(0,h.jsxs)(`div`,{className:`min-w-0 basis-full`,children:[(0,h.jsx)(iM,{htmlFor:a,className:`mb-1`,children:`Upload font (.ttf or .otf)`}),(0,h.jsx)(`input`,{id:a,"data-play-field":`subtitles.fontUpload`,type:`file`,accept:`.ttf,.otf,font/ttf,font/otf`,disabled:s,className:`w-full text-small text-ink2 file:mr-2 file:rounded-control file:border file:border-line2 file:bg-panel2 file:px-2 file:py-1 file:text-ink`,onChange:e=>{let t=e.target.files?.[0];e.target.value=``,t&&n.pick(t)}})]})]}),s?(0,h.jsx)(`p`,{role:`status`,className:`text-small text-ink2`,children:`Uploading font…`}):null,n.error?(0,h.jsx)(`p`,{role:`alert`,className:`text-small text-red`,children:n.error}):null,l&&o.data?(0,h.jsx)(`p`,{role:`alert`,children:`Saved font is unavailable. Choose another font or upload it again.`}):null,o.error?(0,h.jsxs)(`p`,{role:`alert`,className:`text-small text-red`,children:[`Could not load fonts. `,o.error.message]}):null]})}function lP({value:e,format:t=`16:9`,audioEnabled:n,videoEnabled:r,disabled:i=!1,onChange:a,onUploading:o,problem:s,session:c,fontUpload:l,showPreview:u=!0,illustratedPositions:d=!1,rawFontSize:f}){let p=(0,m.useId)(),g=(0,m.useId)(),_=(0,m.useId)(),v=(0,m.useId)(),[y,b]=(0,m.useState)(!1),x=s?.(`subtitles.fontId`),S=s?.(`subtitles.fontSize`),C=s?.(`subtitles.mode`)??s?.(`subtitles`);return(0,h.jsxs)(`section`,{className:`flex min-w-0 flex-col gap-3`,"aria-label":`Subtitles`,children:[(0,h.jsxs)(`fieldset`,{disabled:i||!n,className:`flex min-w-0 flex-col gap-3 disabled:opacity-60`,children:[(0,h.jsxs)(`div`,{className:`flex flex-wrap items-end gap-3`,children:[(0,h.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,h.jsx)(iM,{htmlFor:p,className:`mb-1`,children:`Subtitles`}),(0,h.jsxs)(`select`,{id:p,"data-play-field":`subtitles.mode`,value:n?e.mode:`off`,disabled:l?.pending??y,"aria-describedby":_,"aria-invalid":C!==void 0,onChange:t=>a({...e,mode:t.target.value}),className:`h-8 w-full rounded-control border border-line2 bg-panel2 px-[10px] text-small text-ink`,children:[(0,h.jsx)(`option`,{value:`off`,children:`Off`}),(0,h.jsx)(`option`,{value:`files`,children:`Subtitle files (.srt + .vtt)`}),(0,h.jsx)(`option`,{value:`burn-in`,disabled:!r,children:`Burn into video + files`})]})]}),(0,h.jsx)(`span`,{className:`pb-1 text-label text-ink3`,children:`English · local · no paid API`})]}),e.mode!==`off`&&n?(0,h.jsxs)(h.Fragment,{children:[(0,h.jsx)(`p`,{className:`text-small text-ink2`,children:`Timed from your narration on this computer. First use downloads an approximately 95 MB speech model. Review the subtitles before publishing.`}),(0,h.jsxs)(`div`,{className:`grid items-start gap-5`,style:{gridTemplateColumns:`repeat(auto-fit, minmax(min(100%, 240px), 1fr))`},children:[(0,h.jsxs)(`div`,{className:`flex min-w-0 flex-col gap-4`,children:[(0,h.jsx)(oP,{...l?{upload:l}:{},value:e.fontId,onPick:t=>c?c.selectFont(t):a({...e,fontId:t}),onUploading:e=>{b(e),o?.(e)}}),(0,h.jsxs)(`div`,{className:d?`w-full`:`max-w-[180px]`,children:[(0,h.jsx)(iM,{htmlFor:g,className:`mb-1`,children:`Subtitle font size`}),(0,h.jsxs)(`div`,{className:`flex items-center gap-5`,children:[d?(0,h.jsx)(`input`,{"aria-label":`Subtitle font size slider`,type:`range`,min:16,max:120,step:1,value:Math.max(16,Math.min(120,Number.isFinite(e.fontSize)?e.fontSize:48)),className:`min-w-0 flex-1 accent-accent`,onChange:t=>f?f.onChange(t.target.value):a({...e,fontSize:Number(t.target.value)})}):null,(0,h.jsx)(oM,{className:d?`w-20`:void 0,id:g,"data-play-field":`subtitles.fontSize`,type:`number`,min:16,max:120,step:1,value:f?.value??e.fontSize,"aria-invalid":!jM(e)||S!==void 0,onChange:t=>f?f.onChange(t.target.value):a({...e,fontSize:Number(t.target.value)})})]}),!jM(e)||S?(0,h.jsx)(`p`,{role:`alert`,className:`mt-1 text-label text-red`,children:S??`Choose a whole font size from 16 to 120.`}):null]}),(0,h.jsxs)(`div`,{children:[(0,h.jsx)(iM,{htmlFor:d?void 0:v,id:`${v}-label`,className:`mb-1`,children:`Subtitle position`}),d?(0,h.jsx)(Bj,{type:`single`,"aria-labelledby":`${v}-label`,value:e.position??`bottom`,onValueChange:t=>{let n=QD.find(e=>e===t);n&&a({...e,position:n})},className:`grid w-full grid-cols-5 gap-2 overflow-visible border-0`,children:QD.map((t,n)=>(0,h.jsxs)(Vj,{value:t,"aria-label":t,"data-play-field":(e.position??`bottom`)===t?`subtitles.position`:void 0,className:`flex min-w-0 flex-col items-center gap-2 rounded-control border border-line2 bg-panel px-1 py-3 text-[10px] last:border-r data-[state=on]:border-focus data-[state=on]:text-run-text data-[state=on]:shadow-none`,children:[(0,h.jsx)(`span`,{"aria-hidden":`true`,className:`relative block h-11 w-7 rounded-[2px] border border-current`,children:(0,h.jsx)(`span`,{className:`absolute left-1 right-1 h-[3px] bg-current`,style:{top:`${8+n*20}%`}})}),(0,h.jsxs)(`span`,{children:[t[0]?.toUpperCase(),t.slice(1)]})]},t))}):(0,h.jsx)(`select`,{id:v,"data-play-field":`subtitles.position`,value:e.position??`bottom`,onChange:t=>{let n=QD.find(e=>e===t.target.value);n&&a({...e,position:n})},className:`h-8 w-full rounded-control border border-line2 bg-panel2 px-[10px] text-small text-ink`,children:QD.map(e=>(0,h.jsxs)(`option`,{value:e,children:[e[0]?.toUpperCase(),e.slice(1)]},e))})]})]}),u?(0,h.jsx)(UN,{value:e,format:t,...c?{sample:c.previewText}:{}}):null]}),c?.fontUpload&&!c.fontUploading?(0,h.jsxs)(`p`,{role:`alert`,children:[`Reattach `,c.fontUpload.name,`, or select a font.`]}):null,x?(0,h.jsx)(`p`,{role:`alert`,className:`text-small text-red`,children:x}):null,e.mode===`files`?(0,h.jsx)(`p`,{className:`text-label text-ink3`,children:`Font, size and position apply to burned captions. SRT/VTT players choose their own styling.`}):null]}):null]}),c?.fontUpload&&(e.mode===`off`||!n)?(0,h.jsxs)(`div`,{className:`flex flex-col items-start gap-3`,children:[(0,h.jsx)(`p`,{role:c.fontUploading?`status`:`alert`,className:`text-small text-ink2`,children:c.fontUploading?`Uploading ${c.fontUpload.name}…`:`Unfinished font upload: ${c.fontUpload.name}`}),l?.error?(0,h.jsx)(`p`,{role:`alert`,className:`text-small text-red`,children:l.error}):null,(0,h.jsx)(B,{"data-play-field":`subtitles.fontUpload`,disabled:i,onClick:()=>c.selectFont(e.fontId),children:`Keep current font`})]}):null,C?(0,h.jsx)(`p`,{role:`alert`,className:`text-small text-red`,children:C}):null,(0,h.jsx)(`p`,{id:_,className:`text-small text-ink2`,children:n?r?`Optional: download subtitles separately or keep them visible in the video.`:`Audio exports support separate subtitle files. Enable Video to burn captions into an MP4.`:`Turn Audio on to add subtitles.`})]})}function uP({value:e,onPick:t}){let n=(0,m.useId)();return(0,h.jsxs)(`div`,{className:`w-full`,children:[(0,h.jsx)(iM,{id:n,className:`mb-2`,children:`Frame format`}),(0,h.jsx)(Bj,{type:`single`,value:e,"aria-labelledby":n,className:`w-full max-w-[400px] gap-3 overflow-visible border-0`,onValueChange:e=>{(e===`16:9`||e===`9:16`)&&t(e)},children:[`16:9`,`9:16`].map(t=>(0,h.jsxs)(Vj,{value:t,"data-play-field":e===t?`format`:void 0,"aria-label":t,className:`flex h-28 min-w-0 flex-1 items-center justify-center gap-4 rounded-control border border-line2 bg-panel p-3 last:border-r data-[state=on]:border-focus data-[state=on]:shadow-none`,children:[(0,h.jsx)(`span`,{className:`flex h-12 items-center justify-center`,"aria-hidden":`true`,children:(0,h.jsx)(`span`,{"data-format-shape":t,className:`block rounded-[2px] border-2 border-current`,style:{width:t===`16:9`?64:27,aspectRatio:t===`16:9`?`16 / 9`:`9 / 16`}})}),(0,h.jsxs)(`span`,{className:`text-left`,children:[(0,h.jsx)(`span`,{className:`block text-body font-semibold`,children:t}),(0,h.jsx)(`span`,{className:`text-label text-ink3`,children:t===`16:9`?`Landscape`:`Portrait`})]})]},t))})]})}function dP({problem:e}){let t=wk(),{document:n}=t,{form:r}=n,i=(0,m.useId)(),a=e=>t.edit({...n,form:{...r,subtitles:{...e,fontSize:r.subtitles.fontSize}}});return(0,h.jsxs)(`div`,{"data-tour":`play-subtitles`,className:`flex min-w-0 flex-col gap-6 py-6`,children:[(0,h.jsx)(`p`,{className:`text-body text-ink2`,children:`See frame and caption changes in the preview as you go.`}),(0,h.jsx)(uP,{value:r.format,onPick:e=>t.edit({...n,form:{...r,format:e}})}),(0,h.jsx)(`div`,{className:`border-t border-line pt-6`,children:(0,h.jsx)(lP,{showPreview:!1,illustratedPositions:!0,fontUpload:t.fontUpload,session:{previewText:n.previewText,fontUploading:t.fontUploading,fontUpload:n.fontUpload,selectFont:t.selectFont,uploadSubtitleFont:t.uploadSubtitleFont},value:{...r.subtitles,fontSize:Number(r.subtitles.fontSize)},rawFontSize:{value:r.subtitles.fontSize,onChange:e=>t.edit({...n,form:{...r,subtitles:{...r.subtitles,fontSize:e}}})},format:r.format,audioEnabled:r.sources.audio!==`off`,videoEnabled:r.sources.video===`generate`&&r.sources.images!==`off`,onChange:a,problem:e})}),(0,h.jsxs)(`div`,{className:`border-t border-line pt-6`,children:[(0,h.jsx)(iM,{htmlFor:i,className:`mb-2`,children:`Preview text`}),(0,h.jsx)(oM,{id:i,value:n.previewText,onChange:e=>t.edit({...n,previewText:e.target.value})}),(0,h.jsx)(`p`,{className:`mt-2 text-small text-ink3`,children:`Just a sample. Your actual captions come from the narration.`})]})]})}function fP(e,t,n){let r=e?.prompts??[],i=e?.entries??[];return{prompts:[...r,...t.filter(e=>!r.some(t=>t.kind===e.kind&&t.name.toLowerCase()===e.name.toLowerCase()))],entries:[...i,...n.filter(e=>!i.some(t=>t.category===e.category&&t.name.toLowerCase()===e.name.toLowerCase()))]}}function pP(){let e=Gi();return(0,h.jsx)(mP,{onCreated:t=>{e({to:`/projects/$projectId`,params:{projectId:t}})}})}function mP({onCreated:e}){let{api:t}=I(),n=WN(),r=MA(),i=nt(vy(t)),a=nt(by(t)),o=nt(xy(t)),s=nt(yy(t)),c=nt(Sy(t)),[l,u]=Ok(),d=wk(),f=fP(d.document.librarySnapshot,a.data?.prompts??[],o.data?.entries??[]),p=d.document.variants.map(({id:e,...t})=>({...t,key:e})),g=d.fontUploading||d.document.fontUpload!==null,_=d.review.fields,[v,y]=(0,m.useState)(new Set),b=(0,m.useRef)(null),x=(0,m.useRef)(null),S=Gi(),C=(0,m.useRef)(d.activeId);(0,m.useLayoutEffect)(()=>{C.current!==d.activeId&&(C.current=d.activeId,y(new Set))},[d.activeId]);let w=(0,m.useRef)(null);(0,m.useLayoutEffect)(()=>{let e=d.reveal;if(e||(w.current=null),e&&e.sequence!==w.current&&e.section===d.section&&b.current){if(w.current=e.sequence,e.field){let t=[...b.current.querySelectorAll(`[data-play-field]`)].find(t=>t.dataset.playField===e.field)?.parentElement;for(;t&&t!==b.current;)t instanceof HTMLDetailsElement&&(t.open=!0),t=t.parentElement;if(zN(b.current,e.field))return}x.current?.focus()}},[d.reveal,d.section]);let T=e=>{let t=$M(e,l)??BN(e,l,p);y(n=>new Set([...n,e,t.field])),d.navigate(t.section,t.field)},E=async e=>{await d.flush()&&(e===`/prompts`?await S({to:`/prompts/new`,search:{kind:`article`}}):await S({to:e}))},D=e=>{u(t=>{let n={...t,...e};return{...n,subtitles:AM(n.subtitles,n.sources)}}),d.invalidateReview(!0)},{fields:O,result:k,blocker:A}=HM({form:l,prompts:f.prompts,entries:f.entries,silenceGapSeconds:c.data?.silenceGapSeconds??3}),j=g?{field:`subtitles.fontUpload`,hint:`Wait for the subtitle font upload to finish to play`}:A;(0,m.useEffect)(()=>{if(!d.review.created)return;let t=d.takeCreated()?.projectIds[0];t&&(r({type:`project-created`,id:t}),e(t))},[d.review.created,d.takeCreated,r,e]);let ee=k.ok?_:[...k.fields,..._],M=(...e)=>!ee.some(t=>e.some(e=>t.field===e||t.field.startsWith(`${e}.`))),N=(e,t)=>f.prompts.some(n=>n.kind===e&&n.name===t),P=e=>e?.file!==void 0&&e.error===void 0;jA({playArticleReady:M(`sources.article`,`articlePrompt`,`provided.article`)&&(l.sources.article===`provide`||N(`article`,l.articlePrompt)),playAudioReady:l.sources.audio===`off`||M(`sources.audio`,`audio`,`provided.audio`)&&(l.sources.audio!==`provide`||P(l.provided.audio)),playImagesReady:l.sources.images===`off`||M(`sources.images`,`images`,`imagePrompts`,`provided.images`)&&(l.sources.images===`provide`?l.provided.images.every(P):l.imagePrompts.every(e=>N(`image`,e.name))),playVideoReady:M(`sources.video`),playSubtitlesReady:M(`subtitles`)&&!g,playOptionsReady:M(`title`,`format`,`llm`,`intro`,`outro`),playHasKeywords:O.length>0,playKeywordsReady:M(`values`),playReady:j===void 0&&!d.review.starting});let F=e=>{let t=($M(e,l)??BN(e,l,p)).field;return ee.find(n=>($M(n.field,l)??BN(n.field,l,p)).field===t&&(_.includes(n)||v.has(e)||v.has(t)))?.message},te=()=>{d.navigate(`review`)},ne=e=>{e.key===`Enter`&&(e.metaKey||e.ctrlKey)&&(e.preventDefault(),te())},re=(e,t)=>{d.invalidateReview(!0),d.attach(e,t)},ie=(e,t)=>{u(n=>({...n,provided:e===`images`?{...n.provided,images:n.provided.images.filter(e=>e.key!==t)}:e===`audio`?{...n.provided,audio:void 0}:{...n.provided,thumbnail:void 0}}))},ae=[i,a,o,s,c].find(e=>e.error!==null)?.error?.message,oe={form:l,providers:i.data?.providers??[],prompts:f.prompts,voices:s.data?.voices??[],silenceGapSeconds:c.data?.silenceGapSeconds??3,problem:F,update:D,onPickFiles:re,onRemoveFile:ie,onReattachFile:(e,t,n)=>{d.attach(e,[n],t)}};return(0,h.jsxs)(`div`,{ref:b,onKeyDown:ne,onBlurCapture:e=>{let t=e.target.dataset.playField;t&&y(e=>new Set([...e,t]))},"data-play-grid":`true`,className:`mx-auto max-w-[1320px] pb-[calc(4rem+env(safe-area-inset-bottom))] [&_input:not([type=checkbox])]:min-h-10 [&_select]:min-h-10 [&_button]:min-h-10 [&_summary]:min-h-10 max-[1099px]:[&_button]:min-h-11 max-[1099px]:[&_input:not([type=checkbox])]:min-h-11 max-[1099px]:[&_select]:min-h-11 max-[1099px]:[&_summary]:min-h-11`,children:[(0,h.jsxs)(`header`,{className:`mb-6 flex flex-wrap items-start justify-between gap-4`,children:[(0,h.jsxs)(`div`,{children:[(0,h.jsx)(`h1`,{className:`mb-1 text-[36px] font-bold tracking-[-0.01em]`,children:`New run`}),(0,h.jsx)(`p`,{className:`text-body text-ink2`,children:`Create the article, choose the outputs, then review.`})]}),(0,h.jsx)(RN,{})]}),ae?(0,h.jsx)(`p`,{className:`mb-4 text-body text-red`,children:ae}):null,(0,h.jsx)(iP,{section:d.section,onNavigate:e=>{d.navigate(e)}}),(0,h.jsxs)(`div`,{className:`grid min-w-0 grid-cols-1 items-start gap-7 min-[1100px]:grid-cols-[minmax(0,1fr)_360px]`,children:[(0,h.jsxs)(`section`,{"data-tour":d.section===`content`?`play-options`:void 0,className:`min-w-0`,children:[(0,h.jsx)(`h2`,{ref:x,tabIndex:-1,className:`text-xl font-semibold`,children:d.section===`style`?`Make it look like yours.`:rP.find(e=>e.id===d.section)?.label}),n?null:d.section===`style`?(0,h.jsx)(`div`,{className:`mt-5`,children:(0,h.jsx)(GN,{})}):(0,h.jsxs)(`details`,{className:`my-5 rounded-control border border-line p-3`,children:[(0,h.jsxs)(`summary`,{className:`min-h-11 cursor-pointer text-small font-semibold`,children:[`Preview · `,l.format]}),(0,h.jsx)(GN,{})]}),d.section===`content`?(0,h.jsx)(LN,{...oe,fields:O,entries:f.entries,onLibrary:e=>{E(e)}}):null,d.section===`outputs`?(0,h.jsx)(KN,{...oe,entries:f.entries,missingKeyword:ee.find(e=>e.field.startsWith(`values.`))?.field,onKeyword:T,onSettings:()=>{E(`/settings`)}}):null,d.section===`style`?(0,h.jsx)(dP,{problem:F}):null,d.section===`review`?(0,h.jsx)(nP,{fields:O,errors:ee,problem:F,onReveal:T}):(0,h.jsx)(`div`,{className:`mt-8 flex justify-end border-t border-line py-6`,children:(0,h.jsxs)(B,{variant:`play`,onClick:()=>{let e=rP[rP.findIndex(e=>e.id===d.section)+1];e&&d.navigate(e.id)},children:[`Continue to`,` `,rP[rP.findIndex(e=>e.id===d.section)+1]?.label,` `,`→`]})})]}),(0,h.jsxs)(`div`,{className:`flex min-w-0 flex-col gap-6 min-[1100px]:sticky min-[1100px]:top-6`,children:[n?(0,h.jsx)(GN,{}):null,(0,h.jsx)(aP,{form:l,blocker:j,onReveal:T})]})]})]})}function hP(){let{api:e}=I(),t=nt({queryKey:[`batch-queue`],queryFn:async()=>eo(await e.fetch(`${e.origin}/api/projects/queue`)),refetchInterval:2e3,retry:!1}),n=nt(my(e));return t.data?.queue.length?(0,h.jsxs)(`details`,{className:`mb-4 rounded-panel border border-line bg-panel p-3`,open:!0,children:[(0,h.jsxs)(`summary`,{className:`cursor-pointer text-body font-semibold`,children:[`Video queue · `,t.data.queue.length,` remaining`]}),(0,h.jsx)(`p`,{className:`mt-1 text-small text-ink2`,children:`One batch video runs at a time. Pause holds the queue; failure or cancellation advances it.`}),(0,h.jsx)(`ol`,{className:`mt-2 max-h-40 overflow-y-auto`,children:t.data.queue.map((e,t)=>{let r=n.data?.projects.find(t=>t.id===e.projectId);return(0,h.jsxs)(`li`,{className:`flex justify-between gap-3 py-1 text-small`,children:[(0,h.jsxs)(sa,{className:`truncate underline`,to:`/projects/$projectId`,params:{projectId:e.projectId},children:[t+1,`. `,r?.title??`Video`]}),(0,h.jsx)(`span`,{className:`shrink-0 text-ink2`,children:r?.status===`paused`?`Paused`:e.state===`active`?`Active`:`Queued`})]},e.projectId)})})]}):null}function gP(e,t){return e.filter(e=>e.stageKind===t.kind)}function _P(e,t){return e.find(e=>e.role===t)}var vP={research:`Replaces the notes, then re-runs the enabled stages below.`,article:`Replaces the article, then re-runs the enabled stages below.`,audio:`Replaces the narration and refreshes the final audio or video export.`,images:`Replaces every image in this run and re-renders video when enabled.`,thumbnail:`Replaces the thumbnail.`,video:`Replaces the final audio or video export.`};function yP(e){switch(e.kind){case`cancel`:return{title:`Cancel this run?`,consequence:`Stops every running stage; finished outputs are kept.`,verb:`Cancel run`,dismiss:`Keep running`};case`rerun`:return{title:`Re-run this stage?`,consequence:vP[e.stage],verb:`Re-run`,dismiss:`Cancel`};case`delete-image`:return{title:`Delete this image?`,consequence:`Removes the image and re-renders video when enabled.`,verb:`Delete`,dismiss:`Cancel`};case`regenerate-image`:return{title:`Regenerate this image?`,consequence:`Replaces the image with a new one and re-renders video when enabled.`,verb:`Regenerate`,dismiss:`Cancel`};case`save-article`:return{title:`Save the edited article?`,consequence:`Replaces the article, then updates the enabled narration and final export.`,verb:`Save & update outputs`,dismiss:`Cancel`};case`discard-article`:return{title:`Discard these edits?`,consequence:`The article goes back to the text on disk.`,verb:`Discard`,dismiss:`Keep editing`}}}var bP=(0,m.createContext)(!1);function xP({action:e,run:t,disabled:n=!1,pending:r=!1,variant:i=`outline`,className:a,children:o}){let[s,c]=(0,m.useState)(!1),l=yP(e);return(0,m.useContext)(bP)&&e.kind!==`cancel`?null:(0,h.jsxs)(h.Fragment,{children:[(0,h.jsx)(B,{type:`button`,variant:i,disabled:n,className:z(i===`ghost`?`px-2 text-small`:void 0,a),onClick:()=>{c(!0)},children:o}),(0,h.jsx)(jj,{open:s,title:l.title,consequence:l.consequence,verb:l.verb,dismiss:l.dismiss,pending:r,onConfirm:()=>{c(!1),t()},onCancel:()=>{c(!1)}})]})}function SP(e){let{api:t}=I();return nt({...hy(t,e),enabled:!1,select:e=>e.revisionId??null}).data??null}var CP=(e,t=null)=>[`live-writing`,e,t];function wP(e,t){let n=e=>e.callId===t.callId&&e.revisionId===t.revisionId&&e.workId===t.workId,r=e.find(n),i=(t.reset?t.text:`${r?.text??``}${t.text}`).slice(-65536),a={...t.revisionId===void 0?{}:{revisionId:t.revisionId},...t.workId===void 0?{}:{workId:t.workId},...t.workPieceId===void 0?{}:{workPieceId:t.workPieceId},stage:t.stage,callId:t.callId,...t.label===void 0?{}:{label:t.label},text:i};return(r?e.map(e=>n(e)?a:e):[...e,a]).slice(-24)}function TP({projectId:e,stage:t}){let n=(nt({queryKey:CP(e,SP(e)),queryFn:()=>[],enabled:!1}).data??[]).filter(e=>e.stage===t),[r,i]=(0,m.useState)(),a=n.find(e=>e.callId===r)??n.at(-1),[o,s]=(0,m.useState)(!0),c=(0,m.useRef)(null);return(0,m.useEffect)(()=>{a?.text&&o&&c.current&&(c.current.scrollTop=c.current.scrollHeight)},[o,a?.text]),n.length===0&&t!==`research`&&t!==`article`?null:(0,h.jsxs)(`div`,{className:`mx-5 mt-5 rounded-control border border-line2 bg-panel2`,children:[(0,h.jsxs)(`div`,{className:`flex flex-wrap items-center justify-between gap-3 border-b border-line px-4 py-3`,children:[(0,h.jsx)(`span`,{className:`text-small font-semibold text-run-text`,children:`Live writing`}),n.length>1?(0,h.jsx)(rN,{"aria-label":`Live writing task`,value:a?.callId??``,onChange:e=>i(e.target.value),className:`max-w-[280px]`,children:n.map((e,t)=>(0,h.jsxs)(`option`,{value:e.callId,children:[e.label??`Writing`,` · `,t+1]},e.callId))}):null,(0,h.jsxs)(`label`,{className:`flex cursor-pointer items-center gap-2 text-label text-ink2`,children:[(0,h.jsx)(`input`,{type:`checkbox`,checked:o,onChange:e=>s(e.target.checked)}),`Follow output`]})]}),(0,h.jsx)(`section`,{ref:c,"aria-label":`Live writing preview`,tabIndex:0,className:`max-h-[360px] min-h-32 overflow-auto whitespace-pre-wrap break-words p-4 font-sans text-small leading-relaxed text-ink2`,children:a?.text||`Waiting for the provider's first text…`}),(0,h.jsx)(`p`,{className:`border-t border-line px-4 py-2 text-label text-ink3`,children:`Live preview. The complete output is saved when this stage finishes.`})]})}function EP(e){let t=e.role.replaceAll(`_`,`-`);return e.role===`instructions`?`${e.stageKind}-${t}`:e.role===`image`&&e.meta.index!==void 0?`${t}-${String(e.meta.index)}`:t}function DP(e,t){let n=t||{};return(e[e.length-1]===``?[...e,``]:e).join((n.padRight?` `:``)+`,`+(n.padLeft===!1?``:` `)).trim()}var OP=/^[$_\p{ID_Start}][$_\u{200C}\u{200D}\p{ID_Continue}]*$/u,kP=/^[$_\p{ID_Start}][-$_\u{200C}\u{200D}\p{ID_Continue}]*$/u,AP={};function jP(e,t){return((t||AP).jsx?kP:OP).test(e)}var MP=/[ \t\n\f\r]/g;function NP(e){return typeof e==`object`?e.type===`text`&&PP(e.value):PP(e)}function PP(e){return e.replace(MP,``)===``}var FP=class{constructor(e,t,n){this.normal=t,this.property=e,n&&(this.space=n)}};FP.prototype.normal={},FP.prototype.property={},FP.prototype.space=void 0;function IP(e,t){let n={},r={};for(let t of e)Object.assign(n,t.property),Object.assign(r,t.normal);return new FP(n,r,t)}function LP(e){return e.toLowerCase()}var RP=class{constructor(e,t){this.attribute=t,this.property=e}};RP.prototype.attribute=``,RP.prototype.booleanish=!1,RP.prototype.boolean=!1,RP.prototype.commaOrSpaceSeparated=!1,RP.prototype.commaSeparated=!1,RP.prototype.defined=!1,RP.prototype.mustUseProperty=!1,RP.prototype.number=!1,RP.prototype.overloadedBoolean=!1,RP.prototype.property=``,RP.prototype.spaceSeparated=!1,RP.prototype.space=void 0;var zP=s({boolean:()=>VP,booleanish:()=>HP,commaOrSpaceSeparated:()=>KP,commaSeparated:()=>GP,number:()=>J,overloadedBoolean:()=>UP,spaceSeparated:()=>WP}),BP=0,VP=qP(),HP=qP(),UP=qP(),J=qP(),WP=qP(),GP=qP(),KP=qP();function qP(){return 2**++BP}var JP=Object.keys(zP),YP=class extends RP{constructor(e,t,n,r){let i=-1;if(super(e,t),XP(this,`space`,r),typeof n==`number`)for(;++i<JP.length;){let e=JP[i];XP(this,JP[i],(n&zP[e])===zP[e])}}};YP.prototype.defined=!0;function XP(e,t,n){n&&(e[t]=n)}function ZP(e){let t={},n={};for(let[r,i]of Object.entries(e.properties)){let a=new YP(r,e.transform(e.attributes||{},r),i,e.space);e.mustUseProperty&&e.mustUseProperty.includes(r)&&(a.mustUseProperty=!0),t[r]=a,n[LP(r)]=r,n[LP(a.attribute)]=r}return new FP(t,n,e.space)}var QP=ZP({properties:{ariaActiveDescendant:null,ariaAtomic:HP,ariaAutoComplete:null,ariaBusy:HP,ariaChecked:HP,ariaColCount:J,ariaColIndex:J,ariaColSpan:J,ariaControls:WP,ariaCurrent:null,ariaDescribedBy:WP,ariaDetails:null,ariaDisabled:HP,ariaDropEffect:WP,ariaErrorMessage:null,ariaExpanded:HP,ariaFlowTo:WP,ariaGrabbed:HP,ariaHasPopup:null,ariaHidden:HP,ariaInvalid:null,ariaKeyShortcuts:null,ariaLabel:null,ariaLabelledBy:WP,ariaLevel:J,ariaLive:null,ariaModal:HP,ariaMultiLine:HP,ariaMultiSelectable:HP,ariaOrientation:null,ariaOwns:WP,ariaPlaceholder:null,ariaPosInSet:J,ariaPressed:HP,ariaReadOnly:HP,ariaRelevant:null,ariaRequired:HP,ariaRoleDescription:WP,ariaRowCount:J,ariaRowIndex:J,ariaRowSpan:J,ariaSelected:HP,ariaSetSize:J,ariaSort:null,ariaValueMax:J,ariaValueMin:J,ariaValueNow:J,ariaValueText:null,role:null},transform(e,t){return t===`role`?t:`aria-`+t.slice(4).toLowerCase()}});function $P(e,t){return t in e?e[t]:t}function eF(e,t){return $P(e,t.toLowerCase())}var tF=ZP({attributes:{acceptcharset:`accept-charset`,classname:`class`,htmlfor:`for`,httpequiv:`http-equiv`},mustUseProperty:[`checked`,`multiple`,`muted`,`selected`],properties:{abbr:null,accept:GP,acceptCharset:WP,accessKey:WP,action:null,allow:null,allowFullScreen:VP,allowPaymentRequest:VP,allowUserMedia:VP,alpha:VP,alt:null,as:null,async:VP,autoCapitalize:null,autoComplete:WP,autoFocus:VP,autoPlay:VP,blocking:WP,capture:null,charSet:null,checked:VP,cite:null,className:WP,closedBy:null,colorSpace:null,cols:J,colSpan:J,command:null,commandFor:null,content:null,contentEditable:HP,controls:VP,controlsList:WP,coords:J|GP,crossOrigin:null,data:null,dateTime:null,decoding:null,default:VP,defer:VP,dir:null,dirName:null,disabled:VP,download:UP,draggable:HP,encType:null,enterKeyHint:null,fetchPriority:null,form:null,formAction:null,formEncType:null,formMethod:null,formNoValidate:VP,formTarget:null,headers:WP,height:J,hidden:UP,high:J,href:null,hrefLang:null,htmlFor:WP,httpEquiv:WP,id:null,imageSizes:null,imageSrcSet:null,inert:VP,inputMode:null,integrity:null,is:null,isMap:VP,itemId:null,itemProp:WP,itemRef:WP,itemScope:VP,itemType:WP,kind:null,label:null,lang:null,language:null,list:null,loading:null,loop:VP,low:J,manifest:null,max:null,maxLength:J,media:null,method:null,min:null,minLength:J,multiple:VP,muted:VP,name:null,nonce:null,noModule:VP,noValidate:VP,onAbort:null,onAfterPrint:null,onAuxClick:null,onBeforeMatch:null,onBeforePrint:null,onBeforeToggle:null,onBeforeUnload:null,onBlur:null,onCancel:null,onCanPlay:null,onCanPlayThrough:null,onChange:null,onClick:null,onClose:null,onContextLost:null,onContextMenu:null,onContextRestored:null,onCopy:null,onCueChange:null,onCut:null,onDblClick:null,onDrag:null,onDragEnd:null,onDragEnter:null,onDragExit:null,onDragLeave:null,onDragOver:null,onDragStart:null,onDrop:null,onDurationChange:null,onEmptied:null,onEnded:null,onError:null,onFocus:null,onFormData:null,onHashChange:null,onInput:null,onInvalid:null,onKeyDown:null,onKeyPress:null,onKeyUp:null,onLanguageChange:null,onLoad:null,onLoadedData:null,onLoadedMetadata:null,onLoadEnd:null,onLoadStart:null,onMessage:null,onMessageError:null,onMouseDown:null,onMouseEnter:null,onMouseLeave:null,onMouseMove:null,onMouseOut:null,onMouseOver:null,onMouseUp:null,onOffline:null,onOnline:null,onPageHide:null,onPageShow:null,onPaste:null,onPause:null,onPlay:null,onPlaying:null,onPopState:null,onProgress:null,onRateChange:null,onRejectionHandled:null,onReset:null,onResize:null,onScroll:null,onScrollEnd:null,onSecurityPolicyViolation:null,onSeeked:null,onSeeking:null,onSelect:null,onSlotChange:null,onStalled:null,onStorage:null,onSubmit:null,onSuspend:null,onTimeUpdate:null,onToggle:null,onUnhandledRejection:null,onUnload:null,onVolumeChange:null,onWaiting:null,onWheel:null,open:VP,optimum:J,pattern:null,ping:WP,placeholder:null,playsInline:VP,popover:null,popoverTarget:null,popoverTargetAction:null,poster:null,preload:null,readOnly:VP,referrerPolicy:null,rel:WP,required:VP,reversed:VP,rows:J,rowSpan:J,sandbox:WP,scope:null,scoped:VP,seamless:VP,selected:VP,shadowRootClonable:VP,shadowRootCustomElementRegistry:VP,shadowRootDelegatesFocus:VP,shadowRootMode:null,shadowRootSerializable:VP,shape:null,size:J,sizes:null,slot:null,span:J,spellCheck:HP,src:null,srcDoc:null,srcLang:null,srcSet:null,start:J,step:null,style:null,tabIndex:J,target:null,title:null,translate:null,type:null,typeMustMatch:VP,useMap:null,value:HP,width:J,wrap:null,writingSuggestions:null,align:null,aLink:null,archive:WP,axis:null,background:null,bgColor:null,border:J,borderColor:null,bottomMargin:J,cellPadding:null,cellSpacing:null,char:null,charOff:null,classId:null,clear:null,code:null,codeBase:null,codeType:null,color:null,compact:VP,declare:VP,event:null,face:null,frame:null,frameBorder:null,hSpace:J,leftMargin:J,link:null,longDesc:null,lowSrc:null,marginHeight:J,marginWidth:J,noResize:VP,noHref:VP,noShade:VP,noWrap:VP,object:null,profile:null,prompt:null,rev:null,rightMargin:J,rules:null,scheme:null,scrolling:HP,standby:null,summary:null,text:null,topMargin:J,valueType:null,version:null,vAlign:null,vLink:null,vSpace:J,allowTransparency:null,autoCorrect:null,autoSave:null,credentialless:VP,disablePictureInPicture:VP,disableRemotePlayback:VP,exportParts:GP,part:WP,prefix:null,property:null,results:J,security:null,unselectable:null},space:`html`,transform:eF}),nF=ZP({attributes:{accentHeight:`accent-height`,alignmentBaseline:`alignment-baseline`,arabicForm:`arabic-form`,baselineShift:`baseline-shift`,capHeight:`cap-height`,className:`class`,clipPath:`clip-path`,clipRule:`clip-rule`,colorInterpolation:`color-interpolation`,colorInterpolationFilters:`color-interpolation-filters`,colorProfile:`color-profile`,colorRendering:`color-rendering`,crossOrigin:`crossorigin`,dataType:`datatype`,dominantBaseline:`dominant-baseline`,enableBackground:`enable-background`,fillOpacity:`fill-opacity`,fillRule:`fill-rule`,floodColor:`flood-color`,floodOpacity:`flood-opacity`,fontFamily:`font-family`,fontSize:`font-size`,fontSizeAdjust:`font-size-adjust`,fontStretch:`font-stretch`,fontStyle:`font-style`,fontVariant:`font-variant`,fontWeight:`font-weight`,glyphName:`glyph-name`,glyphOrientationHorizontal:`glyph-orientation-horizontal`,glyphOrientationVertical:`glyph-orientation-vertical`,hrefLang:`hreflang`,horizAdvX:`horiz-adv-x`,horizOriginX:`horiz-origin-x`,horizOriginY:`horiz-origin-y`,imageRendering:`image-rendering`,letterSpacing:`letter-spacing`,lightingColor:`lighting-color`,markerEnd:`marker-end`,markerMid:`marker-mid`,markerStart:`marker-start`,maskType:`mask-type`,navDown:`nav-down`,navDownLeft:`nav-down-left`,navDownRight:`nav-down-right`,navLeft:`nav-left`,navNext:`nav-next`,navPrev:`nav-prev`,navRight:`nav-right`,navUp:`nav-up`,navUpLeft:`nav-up-left`,navUpRight:`nav-up-right`,onAbort:`onabort`,onActivate:`onactivate`,onAfterPrint:`onafterprint`,onBeforePrint:`onbeforeprint`,onBegin:`onbegin`,onCancel:`oncancel`,onCanPlay:`oncanplay`,onCanPlayThrough:`oncanplaythrough`,onChange:`onchange`,onClick:`onclick`,onClose:`onclose`,onCopy:`oncopy`,onCueChange:`oncuechange`,onCut:`oncut`,onDblClick:`ondblclick`,onDrag:`ondrag`,onDragEnd:`ondragend`,onDragEnter:`ondragenter`,onDragExit:`ondragexit`,onDragLeave:`ondragleave`,onDragOver:`ondragover`,onDragStart:`ondragstart`,onDrop:`ondrop`,onDurationChange:`ondurationchange`,onEmptied:`onemptied`,onEnd:`onend`,onEnded:`onended`,onError:`onerror`,onFocus:`onfocus`,onFocusIn:`onfocusin`,onFocusOut:`onfocusout`,onHashChange:`onhashchange`,onInput:`oninput`,onInvalid:`oninvalid`,onKeyDown:`onkeydown`,onKeyPress:`onkeypress`,onKeyUp:`onkeyup`,onLoad:`onload`,onLoadedData:`onloadeddata`,onLoadedMetadata:`onloadedmetadata`,onLoadStart:`onloadstart`,onMessage:`onmessage`,onMouseDown:`onmousedown`,onMouseEnter:`onmouseenter`,onMouseLeave:`onmouseleave`,onMouseMove:`onmousemove`,onMouseOut:`onmouseout`,onMouseOver:`onmouseover`,onMouseUp:`onmouseup`,onMouseWheel:`onmousewheel`,onOffline:`onoffline`,onOnline:`ononline`,onPageHide:`onpagehide`,onPageShow:`onpageshow`,onPaste:`onpaste`,onPause:`onpause`,onPlay:`onplay`,onPlaying:`onplaying`,onPopState:`onpopstate`,onProgress:`onprogress`,onRateChange:`onratechange`,onRepeat:`onrepeat`,onReset:`onreset`,onResize:`onresize`,onScroll:`onscroll`,onSeeked:`onseeked`,onSeeking:`onseeking`,onSelect:`onselect`,onShow:`onshow`,onStalled:`onstalled`,onStorage:`onstorage`,onSubmit:`onsubmit`,onSuspend:`onsuspend`,onTimeUpdate:`ontimeupdate`,onToggle:`ontoggle`,onUnload:`onunload`,onVolumeChange:`onvolumechange`,onWaiting:`onwaiting`,onZoom:`onzoom`,overlinePosition:`overline-position`,overlineThickness:`overline-thickness`,paintOrder:`paint-order`,panose1:`panose-1`,pointerEvents:`pointer-events`,referrerPolicy:`referrerpolicy`,renderingIntent:`rendering-intent`,shapeRendering:`shape-rendering`,stopColor:`stop-color`,stopOpacity:`stop-opacity`,strikethroughPosition:`strikethrough-position`,strikethroughThickness:`strikethrough-thickness`,strokeDashArray:`stroke-dasharray`,strokeDashOffset:`stroke-dashoffset`,strokeLineCap:`stroke-linecap`,strokeLineJoin:`stroke-linejoin`,strokeMiterLimit:`stroke-miterlimit`,strokeOpacity:`stroke-opacity`,strokeWidth:`stroke-width`,tabIndex:`tabindex`,textAnchor:`text-anchor`,textDecoration:`text-decoration`,textRendering:`text-rendering`,transformOrigin:`transform-origin`,typeOf:`typeof`,underlinePosition:`underline-position`,underlineThickness:`underline-thickness`,unicodeBidi:`unicode-bidi`,unicodeRange:`unicode-range`,unitsPerEm:`units-per-em`,vAlphabetic:`v-alphabetic`,vHanging:`v-hanging`,vIdeographic:`v-ideographic`,vMathematical:`v-mathematical`,vectorEffect:`vector-effect`,vertAdvY:`vert-adv-y`,vertOriginX:`vert-origin-x`,vertOriginY:`vert-origin-y`,wordSpacing:`word-spacing`,writingMode:`writing-mode`,xHeight:`x-height`,playbackOrder:`playbackorder`,timelineBegin:`timelinebegin`},properties:{about:KP,accentHeight:J,accumulate:null,additive:null,alignmentBaseline:null,alphabetic:J,amplitude:J,arabicForm:null,ascent:J,attributeName:null,attributeType:null,azimuth:J,bandwidth:null,baselineShift:null,baseFrequency:null,baseProfile:null,bbox:null,begin:null,bias:J,by:null,calcMode:null,capHeight:J,className:WP,clip:null,clipPath:null,clipPathUnits:null,clipRule:null,color:null,colorInterpolation:null,colorInterpolationFilters:null,colorProfile:null,colorRendering:null,content:null,contentScriptType:null,contentStyleType:null,crossOrigin:null,cursor:null,cx:null,cy:null,d:null,dataType:null,defaultAction:null,descent:J,diffuseConstant:J,direction:null,display:null,dur:null,divisor:J,dominantBaseline:null,download:VP,dx:null,dy:null,edgeMode:null,editable:null,elevation:J,enableBackground:null,end:null,event:null,exponent:J,externalResourcesRequired:null,fill:null,fillOpacity:J,fillRule:null,filter:null,filterRes:null,filterUnits:null,floodColor:null,floodOpacity:null,focusable:null,focusHighlight:null,fontFamily:null,fontSize:null,fontSizeAdjust:null,fontStretch:null,fontStyle:null,fontVariant:null,fontWeight:null,format:null,fr:null,from:null,fx:null,fy:null,g1:GP,g2:GP,glyphName:GP,glyphOrientationHorizontal:null,glyphOrientationVertical:null,glyphRef:null,gradientTransform:null,gradientUnits:null,handler:null,hanging:J,hatchContentUnits:null,hatchUnits:null,height:null,href:null,hrefLang:null,horizAdvX:J,horizOriginX:J,horizOriginY:J,id:null,ideographic:J,imageRendering:null,initialVisibility:null,in:null,in2:null,intercept:J,k:J,k1:J,k2:J,k3:J,k4:J,kernelMatrix:KP,kernelUnitLength:null,keyPoints:null,keySplines:null,keyTimes:null,kerning:null,lang:null,lengthAdjust:null,letterSpacing:null,lightingColor:null,limitingConeAngle:J,local:null,markerEnd:null,markerMid:null,markerStart:null,markerHeight:null,markerUnits:null,markerWidth:null,mask:null,maskContentUnits:null,maskType:null,maskUnits:null,mathematical:null,max:null,media:null,mediaCharacterEncoding:null,mediaContentEncodings:null,mediaSize:J,mediaTime:null,method:null,min:null,mode:null,name:null,navDown:null,navDownLeft:null,navDownRight:null,navLeft:null,navNext:null,navPrev:null,navRight:null,navUp:null,navUpLeft:null,navUpRight:null,numOctaves:null,observer:null,offset:null,onAbort:null,onActivate:null,onAfterPrint:null,onBeforePrint:null,onBegin:null,onCancel:null,onCanPlay:null,onCanPlayThrough:null,onChange:null,onClick:null,onClose:null,onCopy:null,onCueChange:null,onCut:null,onDblClick:null,onDrag:null,onDragEnd:null,onDragEnter:null,onDragExit:null,onDragLeave:null,onDragOver:null,onDragStart:null,onDrop:null,onDurationChange:null,onEmptied:null,onEnd:null,onEnded:null,onError:null,onFocus:null,onFocusIn:null,onFocusOut:null,onHashChange:null,onInput:null,onInvalid:null,onKeyDown:null,onKeyPress:null,onKeyUp:null,onLoad:null,onLoadedData:null,onLoadedMetadata:null,onLoadStart:null,onMessage:null,onMouseDown:null,onMouseEnter:null,onMouseLeave:null,onMouseMove:null,onMouseOut:null,onMouseOver:null,onMouseUp:null,onMouseWheel:null,onOffline:null,onOnline:null,onPageHide:null,onPageShow:null,onPaste:null,onPause:null,onPlay:null,onPlaying:null,onPopState:null,onProgress:null,onRateChange:null,onRepeat:null,onReset:null,onResize:null,onScroll:null,onSeeked:null,onSeeking:null,onSelect:null,onShow:null,onStalled:null,onStorage:null,onSubmit:null,onSuspend:null,onTimeUpdate:null,onToggle:null,onUnload:null,onVolumeChange:null,onWaiting:null,onZoom:null,opacity:null,operator:null,order:null,orient:null,orientation:null,origin:null,overflow:null,overlay:null,overlinePosition:J,overlineThickness:J,paintOrder:null,panose1:null,path:null,pathLength:J,patternContentUnits:null,patternTransform:null,patternUnits:null,phase:null,ping:WP,pitch:null,playbackOrder:null,pointerEvents:null,points:null,pointsAtX:J,pointsAtY:J,pointsAtZ:J,preserveAlpha:null,preserveAspectRatio:null,primitiveUnits:null,propagate:null,property:KP,r:null,radius:null,referrerPolicy:null,refX:null,refY:null,rel:KP,rev:KP,renderingIntent:null,repeatCount:null,repeatDur:null,requiredExtensions:KP,requiredFeatures:KP,requiredFonts:KP,requiredFormats:KP,resource:null,restart:null,result:null,rotate:null,rx:null,ry:null,scale:null,seed:null,shapeRendering:null,side:null,slope:null,snapshotTime:null,specularConstant:J,specularExponent:J,spreadMethod:null,spacing:null,startOffset:null,stdDeviation:null,stemh:null,stemv:null,stitchTiles:null,stopColor:null,stopOpacity:null,strikethroughPosition:J,strikethroughThickness:J,string:null,stroke:null,strokeDashArray:KP,strokeDashOffset:null,strokeLineCap:null,strokeLineJoin:null,strokeMiterLimit:J,strokeOpacity:J,strokeWidth:null,style:null,surfaceScale:J,syncBehavior:null,syncBehaviorDefault:null,syncMaster:null,syncTolerance:null,syncToleranceDefault:null,systemLanguage:KP,tabIndex:J,tableValues:null,target:null,targetX:J,targetY:J,textAnchor:null,textDecoration:null,textRendering:null,textLength:null,timelineBegin:null,title:null,transformBehavior:null,type:null,typeOf:KP,to:null,transform:null,transformOrigin:null,u1:null,u2:null,underlinePosition:J,underlineThickness:J,unicode:null,unicodeBidi:null,unicodeRange:null,unitsPerEm:J,values:null,vAlphabetic:J,vMathematical:J,vectorEffect:null,vHanging:J,vIdeographic:J,version:null,vertAdvY:J,vertOriginX:J,vertOriginY:J,viewBox:null,viewTarget:null,visibility:null,width:null,widths:null,wordSpacing:null,writingMode:null,x:null,x1:null,x2:null,xChannelSelector:null,xHeight:J,y:null,y1:null,y2:null,yChannelSelector:null,z:null,zoomAndPan:null},space:`svg`,transform:$P}),rF=ZP({properties:{xLinkActuate:null,xLinkArcRole:null,xLinkHref:null,xLinkRole:null,xLinkShow:null,xLinkTitle:null,xLinkType:null},space:`xlink`,transform(e,t){return`xlink:`+t.slice(5).toLowerCase()}}),iF=ZP({attributes:{xmlnsxlink:`xmlns:xlink`},properties:{xmlnsXLink:null,xmlns:null},space:`xmlns`,transform:eF}),aF=ZP({properties:{xmlBase:null,xmlLang:null,xmlSpace:null},space:`xml`,transform(e,t){return`xml:`+t.slice(3).toLowerCase()}}),oF={classId:`classID`,dataType:`datatype`,itemId:`itemID`,strokeDashArray:`strokeDasharray`,strokeDashOffset:`strokeDashoffset`,strokeLineCap:`strokeLinecap`,strokeLineJoin:`strokeLinejoin`,strokeMiterLimit:`strokeMiterlimit`,typeOf:`typeof`,xLinkActuate:`xlinkActuate`,xLinkArcRole:`xlinkArcrole`,xLinkHref:`xlinkHref`,xLinkRole:`xlinkRole`,xLinkShow:`xlinkShow`,xLinkTitle:`xlinkTitle`,xLinkType:`xlinkType`,xmlnsXLink:`xmlnsXlink`},sF=/[A-Z]/g,cF=/-[a-z]/g,lF=/^data[-\w.:]+$/i;function uF(e,t){let n=LP(t),r=t,i=RP;if(n in e.normal)return e.property[e.normal[n]];if(n.length>4&&n.slice(0,4)===`data`&&lF.test(t)){if(t.charAt(4)===`-`){let e=t.slice(5).replace(cF,fF);r=`data`+e.charAt(0).toUpperCase()+e.slice(1)}else{let e=t.slice(4);if(!cF.test(e)){let n=e.replace(sF,dF);n.charAt(0)!==`-`&&(n=`-`+n),t=`data`+n}}i=YP}return new i(r,t)}function dF(e){return`-`+e.toLowerCase()}function fF(e){return e.charAt(1).toUpperCase()}var pF=IP([QP,tF,rF,iF,aF],`html`),mF=IP([QP,nF,rF,iF,aF],`svg`);function hF(e){return e.join(` `).trim()}var gF=o(((e,t)=>{var n=/\/\*[^*]*\*+([^/*][^*]*\*+)*\//g,r=/\n/g,i=/^\s*/,a=/^(\*?[-#/*\\\w]+(\[[0-9a-z_-]+\])?)\s*/,o=/^:\s*/,s=/^((?:'(?:\\'|.)*?'|"(?:\\"|.)*?"|\([^)]*?\)|[^};])+)/,c=/^[;\s]*/,l=/^\s+|\s+$/g;function u(e,t){if(typeof e!=`string`)throw TypeError(`First argument must be a string`);if(!e)return[];t||={};var l=1,u=1;function f(e){var t=e.match(r);t&&(l+=t.length);var n=e.lastIndexOf(`
102
+ `]}),(0,h.jsx)(sM,{id:e,rows:24,value:t,spellCheck:!1,"aria-invalid":n,"aria-describedby":r,className:z(EM,`relative block min-h-[520px] resize-y overflow-auto bg-transparent text-transparent caret-ink`),onChange:e=>{i(e.target.value)},onScroll:e=>{let t=a.current;t!==null&&(t.scrollTop=e.currentTarget.scrollTop,t.scrollLeft=e.currentTarget.scrollLeft)}})]})}function OM({entryId:e,category:t,from:n,onLeave:r}){let{api:i}=I(),a=_(),o=nt(xy(i)),s=(0,m.useId)(),c=(0,m.useId)(),l=(0,m.useId)(),u=(0,m.useId)(),d=(0,m.useId)(),f=(0,m.useId)(),[p,g]=(0,m.useState)(void 0),[v,y]=(0,m.useState)([]),[b,x]=(0,m.useState)(!1),[S,C]=(0,m.useState)(!1),w=o.data?.entries,T=e??n,E=T===void 0?void 0:w?.find(e=>e.id===T),D=E===void 0?{category:t,mode:`text`,name:``,body:``}:{category:E.category,mode:E.mode,name:e===void 0?`${E.name} copy`:E.name,body:E.body},O=p??D,k=it({mutationFn:t=>Po(i,t,e),onSuccess:async e=>{if(!e.ok){y(e.fields);return}x(!0),await a.invalidateQueries({queryKey:xy(i).queryKey})}}),A=it({mutationFn:e=>Fo(i,e),onSuccess:async()=>{C(!1),await a.invalidateQueries({queryKey:xy(i).queryKey}),r(O.category)}});Zj(b,()=>{r(O.category)});let j=(e,t)=>{g(e),y(e=>e.filter(e=>e.field!==t))},ee=bM(O,v),M=xM(ee),N=wM(O.body),P=O.body.trim()===``?[]:SM(ee),F=O.name.trim()===``?[]:CM(ee);return o.error===null?T!==void 0&&w===void 0?(0,h.jsx)(tM,{}):T!==void 0&&E===void 0?(0,h.jsx)(kM,{category:t,children:`That entry is gone. It may have been deleted in another tab.`}):(0,h.jsxs)(`div`,{className:`mx-auto max-w-[1440px]`,children:[(0,h.jsxs)(sa,{to:`/entries`,search:{category:O.category},className:`mb-[10px] inline-flex items-center gap-1 text-small text-ink2 hover:text-ink`,children:[(0,h.jsx)(qA,{"aria-hidden":`true`,className:`size-[14px]`}),`Intros & Outros`]}),(0,h.jsx)(`h1`,{className:`mb-4 text-title font-bold tracking-[-0.01em]`,children:e===void 0?`New entry`:`Edit entry`}),(0,h.jsxs)(`div`,{className:`grid grid-cols-[minmax(0,1fr)] items-start gap-6 lg:grid-cols-[minmax(0,1fr)_360px]`,children:[(0,h.jsxs)(`div`,{className:`${eM} flex min-w-0 flex-col gap-[14px]`,children:[(0,h.jsxs)(`div`,{className:`flex flex-wrap items-end gap-[14px]`,children:[(0,h.jsxs)(`div`,{className:`min-w-[200px] flex-1`,children:[(0,h.jsx)(iM,{htmlFor:s,className:`mb-[5px]`,children:`Name`}),(0,h.jsx)(oM,{id:s,value:O.name,"aria-invalid":F.length>0,"aria-describedby":F.length===0?void 0:c,onChange:e=>{j({...O,name:e.target.value},`name`)}}),F.length===0?null:(0,h.jsx)(`p`,{id:c,className:`mt-1 text-label text-red`,children:F.map(e=>e.message).join(` `)})]}),(0,h.jsx)(aM,{label:`Category`,value:O.category,options:xj,onPick:e=>{j({...O,category:e},`name`)}}),(0,h.jsx)(aM,{label:`Mode`,value:O.mode,options:Sj,describedBy:l,onPick:e=>{j({...O,mode:e},`mode`)}})]}),(0,h.jsx)(`p`,{id:l,className:`-mt-[6px] text-right text-small text-ink2`,children:Tj(O.mode)}),(0,h.jsxs)(`div`,{children:[(0,h.jsx)(iM,{htmlFor:u,className:`mb-[5px]`,children:`Body`}),(0,h.jsx)(DM,{id:u,value:O.body,invalid:P.length>0,describedBy:P.length===0?void 0:d,onChange:e=>{j({...O,body:e},`body`)}})]}),(0,h.jsx)($j,{onDelete:e===void 0?void 0:()=>{C(!0)},blocked:M,blockedId:f,pending:k.isPending,saved:b,cancel:(0,h.jsx)(B,{asChild:!0,children:(0,h.jsx)(sa,{to:`/entries`,search:{category:O.category},children:`Cancel`})}),errors:[k.error,A.error].flatMap(e=>e===null?[]:[e.message]),onSave:()=>{k.mutate(O)}})]}),(0,h.jsx)(`div`,{className:`${eM} flex flex-col gap-3 lg:sticky lg:top-6`,children:(0,h.jsx)(Yj,{slots:N,body:O.body,lint:P,lintId:d,noSlots:Ej(O.mode)})})]}),(0,h.jsx)(jj,{open:S,title:`Delete "${O.name}"?`,consequence:`Projects that used it keep their text.`,verb:`Delete`,pending:A.isPending,onConfirm:()=>{e!==void 0&&A.mutate(e)},onCancel:()=>{C(!1)}})]}):(0,h.jsx)(kM,{category:O.category,children:o.error.message})}function kM({category:e,children:t}){return(0,h.jsx)(nM,{back:(0,h.jsx)(sa,{to:`/entries`,search:{category:e},className:rM,children:`Back to Intros & Outros`}),children:t})}function AM(e,t){let n={...eO,...e},r=t.audio===`off`?`off`:(t.video===`off`||t.images===`off`)&&n.mode===`burn-in`?`files`:n.mode;if(r!==`off`)return{...n,mode:r};let i=$D.shape.fontId.safeParse(n.fontId),a=$D.shape.fontSize.safeParse(n.fontSize);return{...n,mode:r,fontId:i.success?i.data:eO.fontId,fontSize:a.success?a.data:eO.fontSize}}function jM(e){return e.mode===`off`||e.fontId!==``&&Number.isInteger(e.fontSize)&&e.fontSize>=16&&e.fontSize<=120}({...ok.form});var MM={off:`Off`,generate:`Generate`,provide:`Provide`,from_prompt:`From prompt`,prompt_by_llm:`Prompt by LLM`};function NM(e){return ZO[e].map(e=>({value:e,label:MM[e]}))}function PM(e,t){return e.sources.article===`generate`||e.sources.thumbnail===`prompt_by_llm`||e.sources.audio===`generate`&&(FM(t,`intro`,e.intro)===`llm`||FM(t,`outro`,e.outro)===`llm`)}function FM(e,t,n){if(n!==``)return e.find(e=>e.category===t&&e.name===n)?.mode}function IM(e){return[e.audio,e.thumbnail,...e.images].flatMap(e=>e?.file===void 0?[]:[e.file])}function LM(e){let{form:t}=e;return{...t.checkpoints===void 0?{}:{checkpoints:t.checkpoints},title:t.title,format:t.format,sources:{...t.sources,...t.sources.article===`provide`?{research:`off`}:{},...t.sources.images===`off`?{video:`off`}:{}},llm:t.llm,audio:t.audio,images:t.images,articlePrompt:t.articlePrompt,imagePrompts:t.imagePrompts,thumbnailPrompt:t.thumbnailPrompt,...RM(zM(e,`intro`),e=>({intro:e})),...RM(zM(e,`outro`),e=>({outro:e})),values:BM(t.values,e.slots),provided:{research:t.provided.research,article:t.provided.article,...RM(t.provided.audio?.file,e=>({audio:e.id})),...RM(t.provided.thumbnail?.file,e=>({thumbnail:e.id})),images:t.provided.images.flatMap(e=>e.file===void 0?[]:[e.file.id])},chunking:t.chunking,subtitles:AM(t.subtitles,t.sources),silenceGapSeconds:e.silenceGapSeconds}}function RM(e,t){return e===void 0?{}:t(e)}function zM(e,t){if(e.form.sources.audio!==`generate`)return;let n=t===`intro`?e.form.intro:e.form.outro,r=FM(e.entries,t,n);return n===``||r===void 0?void 0:{name:n,mode:r}}function BM(e,t){let n=Object.create(null);for(let r of t)n[r]=Object.hasOwn(e,r)?e[r]??``:``;return n}function VM(e){let{form:t}=e,n=[],r=[];if(t.sources.article===`generate`&&XM(n,JM(e.prompts,`article`,t.articlePrompt)),t.sources.audio===`generate`&&(XM(n,YM(e.entries,`intro`,t.intro)),XM(n,YM(e.entries,`outro`,t.outro))),t.sources.images===`generate`)for(let n of t.imagePrompts)XM(r,JM(e.prompts,`image`,n.name));return(t.sources.thumbnail===`from_prompt`||t.sources.thumbnail===`prompt_by_llm`)&&XM(r,JM(e.prompts,`thumbnail`,t.thumbnailPrompt)),fM(n,r)}function HM(e){let t=VM(e),n={form:e.form,entries:e.entries,slots:t.map(e=>e.name),silenceGapSeconds:e.silenceGapSeconds},r=LM(n),i=QO({draft:r,staged:IM(e.form.provided),requiredSlots:n.slots}),a=jM(r.subtitles??e.form.subtitles)?i:{ok:!1,fields:[...i.ok?[]:i.fields,{field:`subtitles.fontSize`,message:`Choose a whole subtitle font size from 16 to 120.`}]};return{fields:t,draft:r,result:a,blocker:WM(e.form,a)}}var UM=[`sources`,`provided.research`,`articlePrompt`,`provided.article`,`audio`,`provided.audio`,`imagePrompts`,`images`,`provided.images`,`thumbnailPrompt`,`provided.thumbnail`,`subtitles`,`title`,`intro`,`outro`,`llm`,`values`,`silenceGapSeconds`];function WM(e,t){let n=GM(e);if(n!==void 0)return n;if(t.ok)return;let r=[...t.fields].sort((e,t)=>KM(e.field)-KM(t.field))[0];return r===void 0?void 0:{field:r.field,hint:qM(e,r)}}function GM(e){let{sources:t,provided:n}=e,r=[];if(t.audio===`provide`&&n.audio!==void 0&&r.push(n.audio),t.images===`provide`&&r.push(...n.images),t.thumbnail===`provide`&&n.thumbnail!==void 0&&r.push(n.thumbnail),r.some(e=>e.error!==void 0))return{field:`provided`,hint:`Remove the upload that failed to play`};if(r.some(e=>e.file===void 0))return{field:`provided`,hint:`Wait for the uploads to finish to play`}}function KM(e){let t=UM.length;for(let[n,r]of UM.entries())(e===r||e.startsWith(`${r}.`))&&n<t&&(t=n);return t}function qM(e,t){if(t.field.startsWith(`values.`))return`Fill ${t.field.slice(7)} to play`;if(t.field.startsWith(`imagePrompts.`))return t.field.endsWith(`.number`)?`Set a Number between 1 and 20 to play`:`Pick an image prompt to play`;switch(t.field){case`title`:return e.title.trim()===``?`Name the video to play`:`Shorten the title to 200 characters to play`;case`imagePrompts`:return e.imagePrompts.length===0?`Tick an image prompt to play`:`Lower the Numbers to play: a run makes at most 60 images`;case`llm`:return`Pick an LLM provider and model to play`;case`articlePrompt`:return`Pick an article prompt to play`;case`audio`:return`Pick a narration provider to play`;case`audio.voice`:return`Pick a voice to play`;case`images`:return`Pick an image provider and model to play`;case`thumbnailPrompt`:return`Pick a thumbnail prompt to play`;case`provided.research`:return`Paste the research notes to play`;case`provided.article`:return`Paste the article to play`;case`provided.audio`:return`Attach the narration audio to play`;case`provided.images`:return e.provided.images.length>60?`Remove images to play: a run holds at most 60`:`Attach at least one image to play`;case`provided.thumbnail`:return`Attach the thumbnail image to play`;default:return t.message}}function JM(e,t,n){if(n!==``)return e.find(e=>e.kind===t&&e.name===n)?.body}function YM(e,t,n){if(n!==``)return e.find(e=>e.category===t&&e.name===n)?.body}function XM(e,t){t!==void 0&&e.push(t)}function ZM(e){let t=new Map,n=(e,n)=>{if(e)for(let r of dM(e).names){let e=t.get(r)??[];e.includes(n)||e.push(n),t.set(r,e)}},{form:r,prompts:i,entries:a}=e;if(r.sources.article===`generate`&&n(JM(i,`article`,r.articlePrompt),`Article`),r.sources.images===`generate`)for(let e of r.imagePrompts)n(JM(i,`image`,e.name),`Image: ${e.name}`);if((r.sources.thumbnail===`from_prompt`||r.sources.thumbnail===`prompt_by_llm`)&&n(JM(i,`thumbnail`,r.thumbnailPrompt),`Thumbnail`),r.sources.audio===`generate`)for(let e of[`intro`,`outro`])n(YM(a,e,r[e]),e===`intro`?`Intro`:`Outro`);return t}var QM=[{stage:`audio`,label:`Audio`},{stage:`images`,label:`Images`},{stage:`video`,label:`Video / export`}];function $M(e,t){if(e!==`checkpoints`&&!e.startsWith(`checkpoints.`))return;let n=e.slice(12),r=/^\d+$/.test(n)?t.checkpoints?.[Number(n)]:n;return{section:`outputs`,field:QM.some(e=>e.stage===r)?`checkpoints.${r}`:`checkpoints`}}function eN({problem:e}){let t=wk(),{document:n,review:r}=t,{form:i}=n,a=(0,m.useId)(),o=i.checkpoints??[];return(0,h.jsxs)(`fieldset`,{"data-play-field":`checkpoints`,tabIndex:-1,"aria-invalid":e(`checkpoints`)!==void 0,disabled:r.starting||r.uncertain,className:`min-w-0 border-b border-line py-6`,children:[(0,h.jsx)(`legend`,{className:`text-lg font-semibold`,children:`Review checkpoints`}),(0,h.jsx)(`p`,{className:`mb-3 text-small text-ink2`,children:`Hold a step so you can review and edit before it runs. Independent steps continue. Approve each checkpoint on the project page when you are ready.`}),QM.map(({stage:r,label:s})=>{let c=o.includes(r),l=r===`video`?i.sources.video!==`off`&&i.sources.images!==`off`||i.sources.audio!==`off`:i.sources[r]===`generate`,u=e(`checkpoints.${r}`),d=`${a}-${r}`;return(0,h.jsxs)(`div`,{children:[(0,h.jsxs)(`label`,{htmlFor:d,className:`flex min-h-10 items-center gap-3 max-[1099px]:min-h-11`,children:[(0,h.jsx)(`input`,{id:d,type:`checkbox`,"data-play-field":`checkpoints.${r}`,"aria-invalid":u!==void 0,"aria-describedby":`${d}-detail`,checked:c,disabled:!l&&!c,className:`size-4 accent-accent`,onChange:e=>{let a=e.target.checked?[...o,r]:o.filter(e=>e!==r);t.edit({...n,form:{...i,checkpoints:a}}),t.invalidateReview(!0)}}),`Before `,s]}),(0,h.jsx)(`p`,{id:`${d}-detail`,className:`pb-2 pl-7 text-small ${u?`text-red`:`text-ink3`}`,children:u??(l?`Approval required before this step and its dependents run.`:c?`This step is unavailable. Remove its checkpoint or enable the step.`:r===`video`?`Enable Video or Audio to review before export.`:`Choose Generate for ${s} to add this checkpoint.`)})]},r)}),e(`checkpoints`)?(0,h.jsx)(`p`,{className:`text-small text-red`,children:e(`checkpoints`)}):null]})}function tN({fields:e,values:t,origins:n,problem:r,onChange:i}){return e.length?(0,h.jsxs)(`section`,{"data-tour":`play-keywords`,className:`min-w-0 py-6`,children:[(0,h.jsx)(`h3`,{className:`mb-2 text-lg font-semibold`,children:`Keywords`}),(0,h.jsxs)(`p`,{className:`mb-5 text-small text-ink3`,children:[`Each keyword is entered once. For example, `,`{{topic}}`,` becomes the topic you enter below.`]}),(0,h.jsx)(`div`,{className:`flex flex-col gap-4`,children:e.map(e=>(0,h.jsx)(nN,{name:e.name,value:Object.hasOwn(t,e.name)?t[e.name]??``:``,origins:n?.get(e.name),problem:r(`values.${e.name}`),onChange:i},e.name))})]}):null}function nN({name:e,origins:t,value:n,problem:r,onChange:i}){let a=(0,m.useId)(),o=(0,m.useId)();return(0,h.jsxs)(`div`,{className:`min-w-0`,children:[(0,h.jsx)(iM,{htmlFor:a,className:`mb-[5px]`,children:e}),(0,h.jsx)(oM,{id:a,"data-play-field":`values.${e}`,value:n,maxLength:200,spellCheck:!1,"aria-invalid":r!==void 0,"aria-describedby":r===void 0?void 0:o,onChange:t=>{i(e,t.target.value)}}),t?.length?(0,h.jsx)(`p`,{className:`mt-1 text-small text-ink3`,children:t.join(` · `)}):null,r===void 0?null:(0,h.jsx)(`p`,{id:o,className:`mt-1 text-label text-red`,children:r})]})}function rN({className:e,children:t,...n}){return(0,h.jsxs)(`span`,{className:`relative inline-flex min-w-0 items-center`,children:[(0,h.jsx)(`select`,{"data-slot":`picker`,className:z(`h-8 w-full min-w-0 appearance-none rounded-control border border-line2 bg-panel2`,`py-[5px] pr-[26px] pl-[10px] text-small text-ink aria-invalid:border-red`,e),...n,children:t}),(0,h.jsx)(KA,{"aria-hidden":`true`,className:`pointer-events-none absolute right-[8px] size-[14px] text-ink2`})]})}var iN=e=>[`provider-models`,e];async function aN(e,t,n=!1,r){let i=`${e.origin}/api/providers/${encodeURIComponent(t)}/models${n?`?refresh=1`:``}`;return eo(await e.fetch(i,r?{signal:r}:void 0))}function oN(e,t){return rt({queryKey:iN(t),queryFn:({signal:n})=>aN(e,t,!1,n),enabled:t!==``,staleTime:3e4,refetchInterval:3e4,retry:!1})}function sN(e){return e!==``&&e!==`fal`&&e!==`replicate`}function cN({label:e,field:t,problem:n,inline:r=!1,children:i}){let a=(0,m.useId)(),o=(0,m.useId)();return(0,h.jsxs)(`div`,{className:z(r?`flex min-w-0 max-w-full items-center gap-[10px]`:`min-w-0 [&>span]:w-full`),children:[(0,h.jsx)(iM,{htmlFor:a,className:r?`shrink-0`:`mb-[5px]`,children:e}),i({field:t,id:a,describedBy:n===void 0?void 0:o}),n===void 0?null:(0,h.jsx)(`p`,{id:o,className:z(`text-label text-red`,r?``:`mt-1`),children:n})]})}function lN({label:e,field:t,value:n,problem:r,inline:i,placeholder:a,options:o,disabled:s=!1,onPick:c}){return(0,h.jsx)(cN,{field:t,label:e,problem:r,inline:i,children:({id:e,describedBy:l})=>(0,h.jsxs)(rN,{id:e,"data-play-field":t,value:n,disabled:s,"aria-invalid":r!==void 0,"aria-describedby":l,className:i===!0?`w-auto min-w-[120px]`:void 0,onChange:e=>{c(e.target.value)},children:[(0,h.jsx)(`option`,{value:``,children:a}),n!==``&&!o.some(e=>e.value===n)?(0,h.jsxs)(`option`,{value:n,children:[n,` (saved choice)`]}):null,o.map(e=>(0,h.jsx)(`option`,{value:e.value,disabled:e.disabled===!0,children:e.label},e.value))]})})}function uN(e,t){return e.filter(e=>e.family===t).map(e=>{let t=dN(e);return{value:e.id,label:t===void 0?e.displayName:`${e.displayName} · ${t}`,disabled:t!==void 0}})}function dN(e){let{readiness:t}=e;return t.kind===`cli`?t.issue===void 0?Ik(t)?void 0:`CLI missing`:`CLI update required`:t.hasKey?void 0:`Key missing`}function fN({label:e,field:t,family:n,providers:r,value:i,problem:a,inline:o,onPick:s}){return(0,h.jsx)(lN,{field:t,label:e,value:i,problem:a,inline:o,placeholder:`Pick a provider`,options:[...i!==``&&!r.some(e=>e.id===i&&e.family===n)?[{value:i,label:`${i} (saved provider)`,disabled:!0}]:[],...uN(r,n)],onPick:s})}function pN(e){return(0,h.jsx)(mN,{...e},e.provider)}function mN({label:e,field:t,provider:n,value:r,problem:i,inline:a,onPick:o}){let{api:s}=I(),c=_(),l=nt(oN(s,n)),[u,d]=(0,m.useState)(!1),f=(0,m.useId)(),p=(0,m.useId)(),g=it({mutationFn:()=>aN(s,n,!0),onSuccess:e=>c.setQueryData(iN(n),e)}),v=l.data?.models??[],y=[...new Set(v.flatMap(e=>e.group?[e.group]:[]))],b=l.data?.allowsCustom??sN(n),x=u&&b,S=l.isFetching||g.isPending,C=g.error?.message??l.error?.message??l.data?.warning,w=r!==``&&!v.some(e=>e.id===r);return(0,h.jsxs)(`div`,{className:`min-w-0 max-w-full`,children:[(0,h.jsx)(cN,{field:t,label:e,problem:i,inline:a,children:({id:e,describedBy:s})=>{let c=[s,C?f:void 0,l.data?.notice?p:void 0].filter(Boolean).join(` `)||void 0;return(0,h.jsx)(`div`,{className:z(`min-w-0 [&>span]:w-full`,a?`max-w-[260px]`:`w-full`),children:x?(0,h.jsx)(oM,{id:e,"data-play-field":t,value:r,spellCheck:!1,placeholder:`Type the model id`,"aria-invalid":i!==void 0,"aria-describedby":c,className:a?`w-[180px] max-w-full`:void 0,onChange:e=>o(e.target.value)}):(0,h.jsxs)(rN,{id:e,"data-play-field":t,value:r,disabled:n===``,"aria-invalid":i!==void 0,"aria-describedby":c,className:a?`w-full min-w-[120px] max-w-[260px]`:void 0,onChange:e=>o(e.target.value),children:[(0,h.jsx)(`option`,{value:``,children:n===``?`Pick a provider first`:l.isPending?`Loading models…`:`Pick a model`}),w?(0,h.jsxs)(`option`,{value:r,children:[r,` (saved model)`]}):null,v.filter(e=>!e.group).map(e=>(0,h.jsx)(`option`,{value:e.id,children:e.name},e.id)),y.map(e=>(0,h.jsx)(`optgroup`,{label:e,children:v.filter(t=>t.group===e).map(e=>(0,h.jsx)(`option`,{value:e.id,children:e.name},e.id))},e))]})})}}),n===``?null:(0,h.jsxs)(`div`,{className:`mt-1 flex flex-wrap items-center gap-1`,children:[(0,h.jsxs)(B,{type:`button`,variant:`ghost`,className:`px-2 text-label`,"aria-label":`Refresh ${e} list`,title:`Refresh models`,disabled:S,onClick:()=>g.mutate(),children:[(0,h.jsx)(ij,{"aria-hidden":`true`,className:z(`size-3`,S&&`animate-spin motion-reduce:animate-none`)}),`Refresh`]}),b?(0,h.jsx)(B,{type:`button`,variant:`ghost`,className:`px-2 text-label`,"aria-label":x?`Choose ${e} from list`:`Enter ${e} ID`,onClick:()=>d(!x),children:x?`Use list`:`Custom ID`}):null]}),l.data?.notice?(0,h.jsx)(`p`,{id:p,className:`mt-1 max-w-[360px] text-label text-ink3`,children:l.data.notice}):null,C?(0,h.jsx)(`p`,{id:f,className:`mt-1 max-w-[360px] text-label text-ink3`,role:`status`,children:C}):null]})}function hN({label:e,field:t,hideLabel:n=!1,value:r,options:i,className:a,onPick:o}){let s=(0,m.useId)();return(0,h.jsxs)(`span`,{className:z(`inline-flex items-center gap-[10px]`,a),children:[(0,h.jsx)(iM,{id:s,className:n?`sr-only`:`shrink-0`,children:e}),(0,h.jsx)(Bj,{type:`single`,value:r,"aria-labelledby":s,onValueChange:e=>{let t=i.find(t=>t.value===e);t!==void 0&&t.disabled!==!0&&o(t.value)},children:i.map(e=>(0,h.jsx)(Vj,{value:e.value,"data-play-field":e.value===r?t:void 0,disabled:e.disabled===!0,children:e.label},e.value))})]})}function gN({value:e,onPick:t,rawCounts:n}){let r=e.words??500,i=e.characters??3e3,a=e.mode===`words`||e.mode===`characters`,o=e.mode===`characters`,s=o?e.characters:e.words;return(0,h.jsxs)(h.Fragment,{children:[(0,h.jsx)(hN,{field:`chunking.mode`,label:`Chunking`,className:`min-w-0 max-w-full flex-wrap [&_[data-slot=toggle-group]]:max-w-full [&_[data-slot=toggle-group]]:flex-wrap`,value:e.mode,options:[{value:`whole`,label:`Whole`},{value:`paragraph`,label:`Paragraph`},{value:`words`,label:`Every ${String(n?.words??r)} words`},{value:`characters`,label:`Every ${String(n?.characters??i)} characters`}],onPick:e=>{if(n){n.onChange(e,e===`characters`?n.characters:n.words);return}t(e===`words`?{mode:e,words:r}:e===`characters`?{mode:e,characters:i}:{mode:e})}}),a?(0,h.jsx)(cN,{label:o?`Characters`:`Words`,problem:void 0,inline:!0,children:({id:r})=>(0,h.jsx)(oM,{id:r,"data-play-field":o?`chunking.characters`:`chunking.words`,type:n?`text`:`number`,min:1,max:o?1e6:1e4,inputMode:`numeric`,className:`w-[100px] tabular-nums`,value:n?o?n.characters:n.words:s===void 0?``:String(s),onChange:r=>{if(n){n.onChange(e.mode,r.target.value);return}let i=Number.parseInt(r.target.value,10),a=Number.isFinite(i)&&i>0;t(o?a?{mode:`characters`,characters:Math.min(i,1e6)}:{mode:`characters`}:a?{mode:`words`,words:Math.min(i,1e4)}:{mode:`words`})}})}):null,o?(0,h.jsx)(`p`,{className:`basis-full text-small text-ink3`,children:`Ends at the last complete sentence within the character count, including spaces. A longer sentence stays whole; provider request limits still apply.`}):null]})}var _N=1;function vN({prompts:e,picked:t,problem:n,onPick:r,rawNumbers:i}){let a=(0,m.useId)(),o=t.reduce((e,t)=>e+t.number,0),s=t.filter(t=>!e.some(e=>e.name===t.name)),c=[...e.map(e=>({name:e.name,missing:!1})),...s.map(e=>({name:e.name,missing:!0}))];return c.length===0?(0,h.jsx)(`p`,{className:`basis-full text-right text-small text-ink3`,children:`No image prompts saved. Write one on Prompts.`}):(0,h.jsxs)(`div`,{className:`flex basis-full flex-col items-start gap-[6px]`,children:[(0,h.jsx)(`span`,{id:a,className:`engraved text-ink3`,children:`Image prompts`}),(0,h.jsx)(`ul`,{"aria-labelledby":a,className:`flex flex-wrap justify-start gap-x-4 gap-y-2`,children:c.map(e=>{let a=t.findIndex(t=>t.name===e.name),o=a===-1?void 0:t[a];return(0,h.jsxs)(`li`,{children:[e.missing?(0,h.jsx)(`span`,{className:`block text-label text-red`,children:`Missing template · untick to remove`}):null,(0,h.jsx)(yN,{name:e.name,number:o?.number,rawNumber:i?{value:i.values.find(t=>t.name===e.name)?.number??``,onChange:t=>i.onChange(e.name,t)}:void 0,problem:a===-1?void 0:n(`imagePrompts.${String(a)}.number`),onTick:n=>{r(n?[...t,{name:e.name,number:_N}]:t.filter(t=>t.name!==e.name))},onNumber:n=>{r(t.map(t=>t.name===e.name?{name:t.name,number:n}:t))}})]},e.name)})}),t.length===0?null:(0,h.jsx)(`span`,{className:`text-label text-ink3 tabular-nums`,children:Number.isFinite(o)?`${String(o)} of 60 images`:`Complete image counts to see the total`})]})}function yN({name:e,number:t,problem:n,onTick:r,onNumber:i,rawNumber:a}){let o=(0,m.useId)(),s=(0,m.useId)(),c=(0,m.useId)();return(0,h.jsxs)(`span`,{className:`inline-flex items-center gap-2 text-small`,children:[(0,h.jsx)(`input`,{id:o,"data-play-field":`imagePrompts`,type:`checkbox`,checked:t!==void 0,className:`size-[14px] shrink-0 accent-accent`,onChange:e=>{r(e.target.checked)}}),(0,h.jsx)(`label`,{htmlFor:o,className:t===void 0?`text-ink3`:`text-ink`,children:e}),(0,h.jsx)(iM,{htmlFor:s,className:`sr-only`,children:`Number for ${e}`}),(0,h.jsx)(oM,{id:s,"data-play-field":`imagePrompts.${e}.number`,type:a?`text`:`number`,min:_N,max:20,inputMode:`numeric`,disabled:t===void 0,"aria-invalid":n!==void 0,"aria-describedby":n===void 0?void 0:c,className:`w-[64px] tabular-nums`,value:a?.value??(t===void 0||t===0?``:String(t)),onChange:e=>{if(a){a.onChange(e.target.value);return}let t=Number.parseInt(e.target.value,10);i(Number.isFinite(t)?t:0)}}),n===void 0?null:(0,h.jsx)(`span`,{id:c,className:`text-label text-red`,children:n})]})}var bN=`text-small text-ink2 file:mr-3 file:h-8 file:rounded-control file:border file:border-line2 file:bg-panel2 file:px-3 file:text-ink`;function xN({label:e,field:t,value:n,placeholder:r,problem:i,onChange:a}){let o=(0,m.useId)(),s=(0,m.useId)();return(0,h.jsxs)(`div`,{children:[(0,h.jsx)(iM,{htmlFor:o,className:`mb-[5px]`,children:e}),(0,h.jsx)(sM,{id:o,"data-play-field":t,rows:6,value:n,placeholder:r,"aria-invalid":i!==void 0,"aria-describedby":i===void 0?void 0:s,onChange:e=>{a(e.target.value)}}),i===void 0?null:(0,h.jsx)(`p`,{id:s,className:`mt-1 text-label text-red`,children:i})]})}function SN({label:e,field:t,accept:n,multiple:r=!1,uploads:i,problem:a,numbered:o=!1,onPick:s,onRemove:c,onReattach:l}){let u=(0,m.useId)(),d=(0,m.useId)();return(0,h.jsxs)(`div`,{children:[(0,h.jsx)(iM,{htmlFor:u,className:`mb-[5px]`,children:e}),(0,h.jsx)(`input`,{id:u,"data-play-field":t,type:`file`,accept:n,multiple:r,"aria-invalid":a!==void 0,"aria-describedby":a===void 0?void 0:d,className:bN,onChange:e=>{s([...e.target.files??[]]),e.target.value=``}}),a===void 0?null:(0,h.jsx)(`p`,{id:d,className:`mt-1 text-label text-red`,children:a}),i.length===0?null:(0,h.jsx)(`ul`,{className:`mt-2 flex flex-col gap-1`,children:i.map((e,t)=>(0,h.jsxs)(`li`,{className:`flex flex-wrap items-center gap-3`,children:[o?(0,h.jsx)(`span`,{className:`engraved w-6 text-ink3`,children:String(t+1)}):null,(0,h.jsx)(CN,{upload:e}),e.error!==void 0&&l?(0,h.jsxs)(`label`,{className:`text-small text-ink2`,children:[`Reattach`,(0,h.jsx)(`input`,{"aria-label":`Reattach ${e.name}`,className:`max-w-full`,type:`file`,accept:n,onChange:t=>{let n=t.target.files?.[0];t.target.value=``,n&&l(e.key,n)}})]}):null,c===void 0?null:(0,h.jsx)(B,{variant:`ghost`,className:`ml-auto`,"aria-label":`Remove ${e.name}`,onClick:()=>{c(e.key)},children:`Remove`})]},e.key))})]})}function CN({upload:e}){return(0,h.jsxs)(`span`,{className:`flex min-w-0 flex-wrap items-center gap-3 text-small [overflow-wrap:anywhere]`,children:[(0,h.jsx)(`span`,{className:e.error===void 0?`text-ink`:`text-red`,children:e.name}),e.error===void 0?(0,h.jsx)(`span`,{className:`engraved text-ink3`,children:e.file===void 0?`Copying`:`Staged`}):(0,h.jsx)(`span`,{className:`text-small text-red`,children:e.error})]})}var wN=`col-span-3 grid min-w-0 grid-cols-1 gap-4 min-[700px]:grid-cols-2`,TN=`col-span-3 min-w-0`;function EN({kind:e,name:t,dim:n,children:r}){return(0,h.jsxs)(`section`,{"data-tour":`play-${e}`,className:`grid grid-cols-[24px_1fr_auto] items-center gap-x-2 gap-y-5 border-b border-line py-6`,children:[(0,h.jsx)(Pc,{kind:e,className:n?`text-ink3`:`text-ink2`}),(0,h.jsx)(`h3`,{className:z(`text-lg font-semibold`,n?`text-ink3`:void 0),children:t}),r]})}function DN({kind:e,form:t,update:n}){return(0,h.jsx)(hN,{field:`sources.${e}`,label:`${e} source`,hideLabel:!0,className:`max-[700px]:col-span-3 max-[700px]:justify-self-start [&_[data-slot=toggle-group]]:flex-wrap`,value:t.sources[e],options:NM(e).map(n=>({...n,disabled:e===`video`&&n.value===`generate`&&t.sources.images===`off`})),onPick:r=>{n({sources:{...t.sources,[e]:r,...e===`images`&&r===`off`?{video:`off`}:{}}})}})}function ON(e,t){return e.filter(e=>e.kind===t).map(e=>({value:e.name,label:e.name}))}function kN({form:e,providers:t,voices:n,problem:r,update:i,onPickFiles:a,onRemoveFile:o,onReattachFile:s,rawCounts:c}){let l=n.filter(t=>t.provider===e.audio.provider);return(0,h.jsxs)(EN,{kind:`audio`,name:`Audio`,dim:e.sources.audio===`off`,children:[(0,h.jsx)(DN,{kind:`audio`,form:e,update:i}),(0,h.jsx)(`div`,{className:wN,children:e.sources.audio===`generate`?(0,h.jsxs)(h.Fragment,{children:[(0,h.jsx)(fN,{field:`audio.provider`,label:`TTS`,family:`tts`,providers:t,value:e.audio.provider,problem:r(`audio`),onPick:e=>{i({audio:{provider:e,model:``,voice:``}})}}),(0,h.jsx)(pN,{field:`audio.model`,label:`TTS model`,provider:e.audio.provider,value:e.audio.model,problem:r(`audio.model`),onPick:t=>i({audio:{...e.audio,model:t}})}),(0,h.jsx)(lN,{field:`audio.voice`,label:`Voice`,value:e.audio.voice,placeholder:l.length===0?`No voices. Add one in Settings.`:`Pick a voice`,options:l.map(e=>({value:e.voiceId,label:e.name})),problem:r(`audio.voice`),onPick:t=>{i({audio:{...e.audio,voice:t}})}}),(0,h.jsxs)(`details`,{className:`col-span-full`,children:[(0,h.jsxs)(`summary`,{className:`cursor-pointer py-2`,children:[`Audio Advanced · `,e.chunking.mode]}),(0,h.jsx)(gN,{...c?{rawCounts:c}:{},value:e.chunking,onPick:e=>{i({chunking:e})}})]})]}):null}),e.sources.audio===`provide`?(0,h.jsxs)(`div`,{className:TN,children:[(0,h.jsx)(SN,{field:`provided.audio`,label:`Narration file`,accept:`audio/*`,uploads:e.provided.audio===void 0?[]:[e.provided.audio],problem:r(`provided.audio`),onPick:e=>{a(`audio`,e)},onReattach:s?(e,t)=>s(`audio`,e,t):void 0,onRemove:e=>{o(`audio`,e)}}),(0,h.jsx)(`p`,{className:`mt-2 text-small text-ink2`,children:`Uploaded narration is used as-is; include any intro and outro in that file.`})]}):null]})}function AN({form:e,providers:t,prompts:n,problem:r,update:i,onPickFiles:a,onRemoveFile:o,onReattachFile:s,rawNumbers:c}){return(0,h.jsxs)(EN,{kind:`images`,name:`Images`,dim:e.sources.images===`off`,children:[(0,h.jsx)(DN,{kind:`images`,form:e,update:i}),(0,h.jsx)(`div`,{className:wN,children:e.sources.images===`generate`?(0,h.jsxs)(h.Fragment,{children:[(0,h.jsx)(jN,{form:e,providers:t,problem:r,update:i}),(0,h.jsx)(vN,{prompts:n.filter(e=>e.kind===`image`),...c?{rawNumbers:c}:{},picked:e.imagePrompts,problem:r,onPick:e=>{i({imagePrompts:e})}})]}):null}),e.sources.images===`provide`?(0,h.jsx)(`div`,{className:TN,children:(0,h.jsx)(SN,{field:`provided.images`,label:`Slideshow images`,accept:`image/png,image/jpeg,image/webp`,multiple:!0,numbered:!0,uploads:e.provided.images,problem:r(`provided.images`),onPick:e=>{a(`images`,e)},onReattach:s?(e,t)=>s(`images`,e,t):void 0,onRemove:e=>{o(`images`,e)}})}):null]})}function jN({form:e,providers:t,problem:n,update:r}){return(0,h.jsxs)(h.Fragment,{children:[(0,h.jsx)(fN,{field:`images.provider`,label:`Provider`,family:`image`,providers:t,value:e.images.provider,problem:n(`images`),onPick:e=>r({images:{provider:e,model:``}})}),(0,h.jsx)(pN,{field:`images.model`,label:`Model`,provider:e.images.provider,value:e.images.model,problem:n(`images.model`),onPick:t=>r({images:{...e.images,model:t}})})]})}function MN({form:e,problem:t,update:n}){return(0,h.jsxs)(EN,{kind:`research`,name:`Research`,dim:e.sources.research===`off`,children:[(0,h.jsx)(DN,{kind:`research`,form:e,update:n}),(0,h.jsx)(`div`,{className:wN,children:e.sources.research===`generate`?(0,h.jsx)(`span`,{className:`engraved text-ink3`,children:`Runs through the LLM, one agent per chapter`}):null}),e.sources.research===`provide`?(0,h.jsx)(`div`,{className:TN,children:(0,h.jsx)(xN,{field:`provided.research`,label:`Research notes`,value:e.provided.research,placeholder:`Paste the notes the article will be written from.`,problem:t(`provided.research`),onChange:t=>{n({provided:{...e.provided,research:t}})}})}):null]})}function NN({form:e,prompts:t,problem:n,update:r}){return(0,h.jsxs)(EN,{kind:`article`,name:`Article`,dim:!1,children:[(0,h.jsx)(DN,{kind:`article`,form:e,update:r}),(0,h.jsx)(`div`,{className:`${TN} grid gap-4`,children:e.sources.article===`generate`?(0,h.jsx)(lN,{field:`articlePrompt`,label:`Article prompt`,value:e.articlePrompt,placeholder:`Pick a prompt`,options:ON(t,`article`),problem:n(`articlePrompt`),onPick:e=>{r({articlePrompt:e})}}):null}),e.sources.article===`provide`?(0,h.jsx)(`div`,{className:TN,children:(0,h.jsx)(xN,{field:`provided.article`,label:`Article text`,value:e.provided.article,placeholder:`Paste the article that will be narrated.`,problem:n(`provided.article`),onChange:t=>{r({provided:{...e.provided,article:t}})}})}):null]})}function PN({form:e,providers:t,prompts:n,problem:r,update:i,onPickFiles:a,onRemoveFile:o,onReattachFile:s}){let c=e.sources.thumbnail===`from_prompt`||e.sources.thumbnail===`prompt_by_llm`;return(0,h.jsxs)(EN,{kind:`thumbnail`,name:`Thumbnail`,dim:e.sources.thumbnail===`off`,children:[(0,h.jsx)(DN,{kind:`thumbnail`,form:e,update:i}),(0,h.jsxs)(`div`,{className:wN,children:[c&&e.sources.images!==`generate`?(0,h.jsx)(jN,{form:e,providers:t,problem:r,update:i}):null,c?(0,h.jsx)(lN,{field:`thumbnailPrompt`,label:`Thumbnail prompt`,value:e.thumbnailPrompt,placeholder:`Pick a prompt`,options:ON(n,`thumbnail`),problem:r(`thumbnailPrompt`),onPick:e=>{i({thumbnailPrompt:e})}}):null]}),e.sources.thumbnail===`provide`?(0,h.jsx)(`div`,{className:TN,children:(0,h.jsx)(SN,{field:`provided.thumbnail`,label:`Thumbnail image`,accept:`image/png,image/jpeg,image/webp`,uploads:e.provided.thumbnail===void 0?[]:[e.provided.thumbnail],problem:r(`provided.thumbnail`),onPick:e=>{a(`thumbnail`,e)},onReattach:s?(e,t)=>s(`thumbnail`,e,t):void 0,onRemove:e=>{o(`thumbnail`,e)}})}):null]})}function FN({form:e,silenceGapSeconds:t,update:n}){let r=e.sources.video===`generate`?e.sources.audio===`off`?`Silent video · 5 seconds per image`:`Images and narration · ${String(t)} s segment gaps`:e.sources.audio===`off`?`Download each enabled stage separately`:`Combined WAV export with narration and segment gaps`;return(0,h.jsxs)(EN,{kind:`video`,name:`Export`,dim:e.sources.video===`off`,children:[(0,h.jsx)(DN,{kind:`video`,form:e,update:n}),(0,h.jsx)(`span`,{className:wN,children:(0,h.jsx)(`span`,{className:`engraved text-ink3`,children:r})}),e.sources.images===`off`?(0,h.jsx)(`p`,{className:`${TN} text-small text-ink2`,children:`Video is Off because Images is Off. Generate or provide images to enable video.`}):null]})}function IN({choice:e,onChange:t}){let{api:n}=I(),r=nt(oN(n,e.provider)).data?.models.find(t=>t.id===e.model)?.thinkingModes??[];return!r.length&&!e.thinking?null:(0,h.jsxs)(`div`,{className:`min-w-0`,children:[(0,h.jsx)(lN,{field:`llm.thinking`,label:`Thinking`,value:e.thinking??`default`,placeholder:`Model default`,problem:e.thinking&&!r.includes(e.thinking)?`Choose a supported thinking level.`:void 0,options:[{value:`default`,label:`Model default`},...e.thinking&&!r.includes(e.thinking)?[{value:e.thinking,label:`${e.thinking} (saved level)`}]:[],...r.map(e=>({value:e,label:e===`off`?`Off`:e.charAt(0).toUpperCase()+e.slice(1)}))],onPick:n=>{let i=r.find(e=>e===n);t({...e,thinking:i})}}),r.length&&!r.includes(`off`)?(0,h.jsx)(`p`,{className:`mt-1 text-small text-ink3`,children:`This model does not support turning thinking off.`}):null]})}function LN(e){let{form:t,problem:n,update:r,fields:i,entries:a,onLibrary:o}=e,s=(0,m.useId)(),c=e.prompts.find(e=>e.kind===`article`&&e.name===t.articlePrompt);return(0,h.jsxs)(h.Fragment,{children:[(0,h.jsxs)(`div`,{className:`mt-7`,children:[(0,h.jsx)(iM,{htmlFor:s,className:`mb-2`,children:`Project title`}),(0,h.jsx)(oM,{id:s,"data-play-field":`title`,value:t.title,maxLength:200,"aria-invalid":n(`title`)!==void 0,onChange:e=>r({title:e.target.value})}),n(`title`)?(0,h.jsx)(`p`,{className:`text-small text-red`,children:n(`title`)}):null]}),(0,h.jsx)(NN,{...e}),t.sources.article===`generate`?(0,h.jsxs)(`div`,{className:`flex flex-wrap items-start gap-3 py-3`,children:[c?(0,h.jsxs)(`details`,{className:`min-w-0 flex-1`,children:[(0,h.jsx)(`summary`,{"data-play-field":`articlePrompt.preview`,className:`cursor-pointer py-2 text-small text-run-text`,children:`View prompt`}),(0,h.jsx)(`pre`,{className:`whitespace-pre-wrap break-words py-3 font-sans text-body text-ink2`,children:c.body})]}):(0,h.jsx)(`p`,{className:`text-small text-ink2`,children:e.prompts.some(e=>e.kind===`article`)?`Choose a saved article prompt.`:`No article prompts saved. Create a prompt to begin.`}),(0,h.jsx)(B,{variant:`ghost`,onClick:()=>o(`/prompts`),children:`Create prompt`})]}):(0,h.jsxs)(`p`,{className:`py-3 text-small text-ink3`,children:[t.provided.article.trim()?t.provided.article.trim().split(/\s+/).length:0,` `,`words · `,t.provided.article.length,` characters`]}),(0,h.jsx)(tN,{fields:i,origins:ZM({form:t,prompts:e.prompts,entries:a,silenceGapSeconds:e.silenceGapSeconds}),values:t.values,problem:n,onChange:(e,n)=>r({values:{...t.values,[e]:n}})}),PM(t,a)?(0,h.jsxs)(`section`,{className:`border-y border-line py-6`,children:[(0,h.jsx)(`h3`,{className:`mb-4 text-lg font-semibold`,children:`Text generation`}),(0,h.jsxs)(`div`,{className:`grid grid-cols-1 gap-4 min-[700px]:grid-cols-2`,children:[(0,h.jsx)(fN,{field:`llm.provider`,label:`LLM`,family:`llm`,providers:e.providers,value:t.llm.provider,problem:n(`llm.provider`)??(t.llm.provider===``?n(`llm`):void 0),onPick:e=>r({llm:{provider:e,model:``}})}),(0,h.jsx)(pN,{field:`llm.model`,label:`Text model`,provider:t.llm.provider,value:t.llm.model,problem:n(`llm.model`)??(t.llm.provider!==``&&n(`llm`)?`Pick a text model.`:void 0),onPick:e=>r({llm:{...t.llm,model:e}})}),(0,h.jsx)(IN,{choice:t.llm,onChange:e=>r({llm:e})})]}),(0,h.jsx)(`p`,{className:`mt-3 text-small text-ink3`,children:`Shared by generated article, research, thumbnail wording and generated entries when enabled.`}),(0,h.jsx)(B,{variant:`ghost`,onClick:()=>o(`/settings`),children:`Settings`})]}):null,t.sources.article===`provide`?(0,h.jsx)(`p`,{className:`py-4 text-small text-ink3`,children:`Research is Off because the article is provided.`}):(0,h.jsx)(MN,{...e})]})}function RN(){let{api:e}=I(),t=wk(),n=_(),[r,i]=(0,m.useState)(null),[a,o]=(0,m.useState)(null),[s,c]=(0,m.useState)(!1),l=nt({queryKey:[`play-drafts`],queryFn:async()=>{let t=await NO(e);if(!t.ok)throw Error(t.message);return t.value.drafts}}),u=async()=>{if(!r||s)return;let e=r.id;c(!0),o(null);try{await t.discard({id:r.id,version:r.version}),i(null),await n.cancelQueries({queryKey:[`play-drafts`]}),n.setQueryData([`play-drafts`],t=>t?.filter(t=>t.id!==e))}catch(e){o(e instanceof Error?e.message:`Couldn't discard draft`)}finally{c(!1)}};return(0,h.jsxs)(`section`,{"aria-label":`Drafts`,className:`min-w-0 max-w-full text-small`,children:[(0,h.jsxs)(`div`,{className:`flex flex-wrap items-start gap-2`,children:[(0,h.jsxs)(`details`,{className:`max-w-full rounded-control border border-line bg-panel px-3`,children:[(0,h.jsx)(`summary`,{className:`flex min-h-10 cursor-pointer items-center font-semibold`,children:`Drafts`}),l.isPending?(0,h.jsx)(`p`,{role:`status`,children:`Loading drafts…`}):null,l.error?(0,h.jsxs)(`p`,{role:`alert`,children:[l.error.message,(0,h.jsx)(`button`,{type:`button`,onClick:()=>void l.refetch(),children:`Retry`})]}):null,l.data?.length===0?(0,h.jsx)(`p`,{children:`No saved drafts`}):null,(0,h.jsx)(`ul`,{className:`max-h-72 max-w-[320px] overflow-y-auto pb-2`,children:l.data?.map(e=>(0,h.jsxs)(`li`,{className:`flex flex-wrap items-center gap-2 border-t border-line py-2`,children:[(0,h.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,h.jsx)(`button`,{type:`button`,className:`w-full break-words text-left`,onClick:()=>void t.open(e.id),children:(0,h.jsx)(`span`,{className:`block`,children:e.title||`Untitled draft`})}),(0,h.jsxs)(`time`,{dateTime:e.updatedAt,className:`block text-label text-ink3`,children:[`Last edited `,jc(e.updatedAt)]})]}),e.readable?null:(0,h.jsx)(`p`,{children:`Unsupported or corrupt draft. Try opening it to recover, or discard it.`}),(0,h.jsx)(`button`,{type:`button`,onClick:()=>{i(e),o(null)},"aria-label":`Discard ${e.title||`Untitled draft`}`,children:`Discard`})]},e.id))})]}),(0,h.jsx)(B,{onClick:()=>void t.newDraft(),children:`New draft`})]}),(0,h.jsx)(`p`,{role:`status`,className:`mt-2 text-small text-ink3`,children:{unsaved:`Unsaved`,saving:`Saving…`,saved:`Saved`,error:`Couldn't save`,conflict:`Changed elsewhere`}[t.status]}),(0,h.jsx)(jj,{open:r!==null,title:`Discard draft`,consequence:`Discard ${r?.title||`Untitled draft`}? This cannot be undone.`,verb:`Confirm discard`,pending:s,onConfirm:()=>void u(),onCancel:()=>{s||i(null)}}),a?(0,h.jsx)(`p`,{role:`alert`,children:a}):null,t.error?(0,h.jsxs)(`p`,{role:`alert`,children:[`Couldn't save. `,t.error]}):null,t.status===`error`?(0,h.jsx)(`button`,{type:`button`,onClick:()=>{!t.view&&t.activeId&&t.edited===0?t.open(t.activeId):t.flush()},children:`Retry`}):null,t.status===`conflict`?(0,h.jsxs)(h.Fragment,{children:[(0,h.jsx)(`button`,{type:`button`,onClick:()=>{t.activeId&&t.open(t.activeId)},children:`Reload saved draft`}),(0,h.jsx)(`button`,{type:`button`,onClick:()=>void t.saveAsNew(),children:`Save as a new draft`})]}):null]})}function zN(e,t){let n=[...e.querySelectorAll(`[data-play-field]`)].find(e=>e.dataset.playField===t);return!n||n.hasAttribute(`disabled`)?!1:(n.focus(),n.scrollIntoView({block:`nearest`,inline:`nearest`,behavior:`instant`}),document.activeElement===n)}function BN(e,t,n){let r=e;e===`fontUpload`&&(r=`subtitles.fontUpload`),/^provided\.images\.\d+$/.test(e)&&(r=`provided.images`),e===`subtitles`&&(r=`subtitles.mode`),e===`chunking`&&(r=`chunking.mode`),[`audio`,`llm`,`images`].includes(e)&&(r=`${e}.provider`),e===`provided`&&(r=`provided.${[`audio`,`images`,`thumbnail`].find(e=>t.sources[e]===`provide`&&(e===`images`?t.provided.images:[t.provided[e]]).some(e=>e&&(e.error!==void 0||e.file===void 0)))??`audio`}`);let i=/^imagePrompts\.(\d+)\.(.+)$/.exec(e);if(i){let e=t.imagePrompts[Number(i[1])];e&&(r=`imagePrompts.${e.name}.${i[2]}`)}e===`imagePrompts`&&(r=t.imagePrompts[0]?`imagePrompts.${t.imagePrompts[0].name}.number`:`imagePrompts`);let a=/^variants\.(\d+)\.(.+)$/.exec(e);a&&(r=`items.${n[Number(a[1])]?.key??a[1]}.${a[2]}`);let o=/^items\.(\d+)\.(.+)$/.exec(e);o&&(r=Number(o[1])===0?o[2]??e:`items.${n[Number(o[1])-1]?.key??o[1]}.${o[2]}`);let s=t=>t.some(t=>e===t||e.startsWith(`${t}.`));return{section:s([`title`,`articlePrompt`,`provided.article`,`provided.research`,`sources.article`,`sources.research`,`llm`,`values`])?`content`:s([`format`,`subtitles`,`fontUpload`])?`style`:s([`audio`,`provided.audio`,`intro`,`outro`,`chunking`,`images`,`imagePrompts`,`provided.images`,`thumbnailPrompt`,`provided.thumbnail`,`provided`,`sources`])?`outputs`:`review`,field:r}}function VN(e){return e===`9:16`?{width:1080,height:1920}:{width:1920,height:1080}}function HN(e,t){switch(e){case`top`:return{y:60,alignment:8,translateY:0};case`upper-middle`:return{y:t/4,alignment:5,translateY:-50};case`center`:return{y:t/2,alignment:5,translateY:-50};case`lower-middle`:return{y:t*3/4,alignment:5,translateY:-50};case`bottom`:return{y:t-60,alignment:2,translateY:-100}}}function UN({value:e,format:t,sample:n=`Every story begins with a word.`,backgroundUrl:r,showCaptions:i=!0,maxFrameHeight:a}){let{api:o}=I(),s=KO(o,e.fontId),c=`subtitle-preview-${(0,m.useId)().replace(/[^a-zA-Z0-9]/g,``)}`,[l,u]=(0,m.useState)(!1);(0,m.useEffect)(()=>{if(typeof FontFace>`u`||!document.fonts)return;let e=!0,t=new FontFace(c,`url(${JSON.stringify(s)})`);return u(!1),t.load().then(t=>{e&&document.fonts.add(t)}).catch(()=>{e&&u(!0)}),()=>{e=!1,document.fonts.delete(t)}},[c,s]);let d=VN(t),f=HN(e.position??`bottom`,d.height),p=Number.isFinite(e.fontSize)?Math.max(16,Math.min(120,e.fontSize)):48,g={position:`absolute`,left:`50%`,top:`${f.y/d.height*100}%`,width:`${(d.width-120)/d.width*100}%`,transform:`translate(-50%, ${f.translateY}%)`,fontFamily:`"${c}", sans-serif`,fontSize:`${p/d.width*100}cqw`,lineHeight:1.2,overflowWrap:`anywhere`,WebkitTextStroke:`${2.5/d.width*100}cqw #101010`,paintOrder:`stroke fill`,textShadow:`0 ${100/d.width}cqw ${100/d.width}cqw #000`};return(0,h.jsxs)(`figure`,{className:`min-w-0 self-start`,children:[(0,h.jsxs)(`div`,{className:`mb-2 flex items-center justify-between gap-2 text-label text-ink2`,children:[(0,h.jsx)(`span`,{children:`Style preview`}),(0,h.jsx)(`span`,{children:t})]}),(0,h.jsxs)(`div`,{role:`img`,"aria-label":`Subtitle style preview`,"data-format":t,"data-position":e.position??`bottom`,className:`relative mx-auto w-full overflow-hidden rounded-control border border-line2 bg-screen text-center text-white`,style:{aspectRatio:`${d.width} / ${d.height}`,maxWidth:t===`9:16`?a?`min(240px, calc((${a}) * 9 / 16))`:240:480,containerType:`inline-size`},children:[r?(0,h.jsx)(`img`,{src:r,alt:``,className:`absolute inset-0 h-full w-full object-cover`}):null,i?(0,h.jsx)(`span`,{role:`note`,"aria-label":`Caption sample`,style:g,children:n}):null]}),(0,h.jsxs)(`figcaption`,{className:`mt-2 text-label text-ink3`,children:[d.width,` × `,d.height,` · Preview at reduced scale.`,l?` Font preview unavailable; showing a fallback.`:``]})]})}function WN(){let[e,t]=(0,m.useState)(()=>window.matchMedia?.(`(min-width: 1100px)`).matches??!1);return(0,m.useEffect)(()=>{let e=window.matchMedia?.(`(min-width: 1100px)`);if(!e)return;let n=()=>t(e.matches);return n(),e.addEventListener(`change`,n),()=>e.removeEventListener(`change`,n)},[]),e}function GN(){let{api:e}=I(),t=wk(),{form:n,previewText:r}=t.document,i=n.sources.images===`provide`?n.provided.images.map(e=>t.view?.attachments.find(t=>t.id===e.attachmentId&&t.kind===`images`&&t.state===`ready`&&t.stagedFileId)).find(Boolean):void 0,a=i&&t.activeId?VO(e,t.activeId,i.id):void 0,o=n.sources.video===`generate`&&n.sources.images!==`off`;return(0,h.jsxs)(`section`,{"aria-label":`Output preview`,className:`min-w-0`,children:[(0,h.jsxs)(`div`,{className:`mb-3 flex items-center justify-between gap-3`,children:[(0,h.jsx)(`h2`,{className:`text-small font-semibold`,children:`Output preview`}),(0,h.jsx)(B,{variant:`ghost`,className:`text-run-text`,onClick:()=>void t.navigate(`style`),children:`Edit style ↗`})]}),(0,h.jsx)(`div`,{className:`rounded-control border border-line bg-panel p-4`,children:(0,h.jsx)(UN,{value:{...n.subtitles,fontSize:Number(n.subtitles.fontSize)},format:n.format,sample:r,showCaptions:n.sources.audio!==`off`&&n.subtitles.mode!==`off`,maxFrameHeight:`max(160px, 100dvh - 360px)`,...a?{backgroundUrl:a}:{}})}),(0,h.jsx)(`p`,{className:`mt-3 text-small text-ink3`,children:a?`Style preview using your supplied image.`:`Style preview only. No generated image is shown.`}),(0,h.jsx)(`p`,{className:`mt-2 text-small text-ink3`,children:o?n.subtitles.mode===`burn-in`?`Captions will be burned into the MP4.`:`Caption styling previews burn-in. SRT/VTT players choose their own styling.`:`Frame and caption styling apply when Video is enabled.`})]})}function KN(e){let t=wk(),n=t.document,{form:r,entries:i,problem:a,update:o}=e;return(0,h.jsxs)(h.Fragment,{children:[(0,h.jsx)(kN,{...e,rawCounts:{...n.form.chunking,onChange:(e,r)=>t.edit({...n,form:{...n.form,chunking:{...n.form.chunking,mode:e,...e===`words`?{words:r}:e===`characters`?{characters:r}:{}}}})}}),r.sources.audio===`generate`?(0,h.jsxs)(`div`,{className:`grid grid-cols-1 gap-4 border-b border-line py-4 min-[700px]:grid-cols-2`,children:[[`intro`,`outro`].map(e=>(0,h.jsx)(lN,{field:e,label:e===`intro`?`Intro`:`Outro`,value:r[e],placeholder:`Off`,options:i.filter(t=>t.category===e).map(e=>({value:e.name,label:e.name})),problem:a(e),onPick:t=>o({[e]:t})},e)),(0,h.jsx)(B,{variant:`ghost`,onClick:e.onSettings,children:`Settings`})]}):null,(0,h.jsx)(AN,{...e,rawNumbers:{values:n.form.imagePrompts,onChange:(e,r)=>t.edit({...n,form:{...n.form,imagePrompts:n.form.imagePrompts.map(t=>t.name===e?{...t,number:r}:t)}})}}),(0,h.jsx)(PN,{...e}),(0,h.jsx)(FN,{...e}),(0,h.jsx)(eN,{problem:a}),e.missingKeyword?(0,h.jsxs)(`p`,{className:`py-4 text-small text-ink2`,children:[`A selected template needs keywords.`,` `,(0,h.jsx)(B,{variant:`ghost`,onClick:()=>e.onKeyword(e.missingKeyword??`values`),children:`Complete keywords in Content`})]}):null]})}function qN({selected:e,reviewed:t}){let n=e=>QM.find(t=>t.stage===e)?.label??e;return e?.length?(0,h.jsxs)(`div`,{className:`space-y-3 text-body`,children:[t?.length?t.map(e=>(0,h.jsxs)(`div`,{children:[(0,h.jsxs)(`p`,{className:`font-medium`,children:[`Run `,e.runIndex+1,` · Before `,n(e.stage)]}),(0,h.jsx)(`p`,{className:`text-small text-ink2`,children:e.dependents.length?`Also holds: ${e.dependents.map(n).join(`, `)}.`:`No dependent steps.`})]},`${e.runIndex}-${e.checkpointId}`)):(0,h.jsxs)(`p`,{children:[`Selected: `,e.map(e=>`Before ${n(e)}`).join(`, `),`. Refresh review to confirm dependent steps.`]}),(0,h.jsx)(`p`,{className:`text-small text-ink2`,children:`Approval required on the project page. Starting this run does not approve these checkpoints.`})]}):(0,h.jsx)(`p`,{className:`text-body text-ink2`,children:`No review checkpoints selected.`})}function JN({items:e,fields:t,title:n,values:r,problem:i,onChange:a}){let o=(0,m.useId)();return(0,h.jsxs)(`details`,{className:`rounded-control border border-line p-3`,children:[(0,h.jsxs)(`summary`,{className:`cursor-pointer text-body font-medium`,children:[`Queue keyword variations `,e.length?`(${e.length+1} videos)`:``]}),(0,h.jsx)(`p`,{className:`my-3 text-small text-ink2`,children:`The setup above is video 1. Add videos with different titles and keywords. They run one at a time; a failed video releases the next, and a pause holds the queue.`}),e.map((n,r)=>(0,h.jsxs)(`fieldset`,{className:`mb-3 flex min-w-0 flex-col gap-2 border-t border-line pt-3`,children:[(0,h.jsxs)(`legend`,{className:`text-small text-ink2`,children:[`Video `,r+2]}),(0,h.jsxs)(`label`,{htmlFor:`${o}-${n.key}-title`,className:`text-small`,children:[`Title`,(0,h.jsx)(oM,{id:`${o}-${n.key}-title`,"data-play-field":`items.${n.key}.title`,"aria-invalid":i?.(`items.${r+1}.title`)!==void 0,value:n.title,maxLength:200,onChange:t=>a(e.map(e=>e.key===n.key?{...e,title:t.target.value}:e))})]}),t.map(t=>(0,h.jsxs)(`label`,{htmlFor:`${o}-${n.key}-${encodeURIComponent(t.name)}`,className:`text-small`,children:[t.name,(0,h.jsx)(oM,{id:`${o}-${n.key}-${encodeURIComponent(t.name)}`,"data-play-field":`items.${n.key}.values.${t.name}`,"aria-invalid":i?.(`items.${r+1}.values.${t.name}`)!==void 0,value:n.values[t.name]??``,onChange:r=>a(e.map(e=>e.key===n.key?{...e,values:{...e.values,[t.name]:r.target.value}}:e))})]},t.name)),(0,h.jsxs)(B,{onClick:()=>a(e.filter(e=>e.key!==n.key)),children:[`Remove video `,r+2]})]},n.key)),(0,h.jsx)(B,{disabled:e.length>=49,onClick:()=>a([...e,{key:crypto.randomUUID(),title:`${n||`Video`} ${e.length+2}`,values:{...r}}]),children:`Add keyword variation`})]})}function YN({estimates:e}){let t=e.reduce((e,t)=>e+t.low,0),n=e.reduce((e,t)=>e+t.high,0),r=e.reduce((e,t)=>e+t.unknown,0),i=e[0]?.rows.map((t,n)=>({...t,low:e.some(e=>e.rows[n]?.low===null)?null:e.reduce((e,t)=>e+(t.rows[n]?.low??0),0),high:e.some(e=>e.rows[n]?.high===null)?null:e.reduce((e,t)=>e+(t.rows[n]?.high??0),0)}))??[];return(0,h.jsxs)(`div`,{className:`flex flex-col gap-4`,children:[` `,e.length?(0,h.jsxs)(h.Fragment,{children:[(0,h.jsxs)(`p`,{className:`text-title font-bold`,children:[r?`Known subtotal: `:`Estimated total: `,XN(t,n)]}),r?(0,h.jsxs)(`p`,{className:`text-body text-ink2`,children:[`Plus `,r,` stage charge`,r===1?``:`s`,` with unavailable pricing.`]}):null,(0,h.jsx)(`div`,{className:`divide-y divide-line`,children:i.map(e=>(0,h.jsx)(`div`,{className:`py-2`,children:(0,h.jsxs)(`div`,{className:`flex justify-between gap-4 text-body`,children:[(0,h.jsx)(`span`,{children:e.stage}),(0,h.jsx)(`span`,{children:e.low===null||e.high===null?`Unknown`:XN(e.low,e.high)})]})},e.stage))}),(0,h.jsxs)(`details`,{className:`border-t border-line py-3`,children:[(0,h.jsx)(`summary`,{className:`cursor-pointer text-small`,children:`Assumptions and stage details`}),(0,h.jsxs)(`div`,{className:`mt-3 flex flex-col gap-2`,children:[i.map(e=>(0,h.jsxs)(`p`,{className:`text-small text-ink2`,children:[e.stage,`: `,e.detail]},e.stage)),[...new Set(e.flatMap(e=>e.assumptions))].map(e=>(0,h.jsx)(`p`,{className:`text-small text-ink2`,children:e},e))]})]}),(0,h.jsxs)(`p`,{className:`text-small text-ink3`,children:[`Catalogue verified `,e[0]?.catalogueDate??`date unavailable`,`. Batch rows show combined costs.`]})]}):null]})}function XN(e,t){let n=e=>e===0?`$0`:e<.01?`<$0.01`:`$${e.toFixed(2)}`;return e===t?n(e):`${n(e)} – ${n(t)}`}function ZN(e){return e===void 0?{ok:!1,text:`Provider status unavailable`}:e.readiness.kind===`cli`?Ik(e.readiness)?{ok:!0,text:e.readiness.version===void 0?`CLI ready`:`CLI ready · ${e.readiness.version}`}:{ok:!1,text:e.readiness.issue??`CLI not found`}:e.readiness.hasKey?{ok:!0,text:`API key saved`}:{ok:!1,text:`API key missing`}}function QN(e,t){let n=e.sources.audio===`generate`,r=[`from_prompt`,`prompt_by_llm`].includes(e.sources.thumbnail);return[...(e.sources.article===`generate`||e.sources.thumbnail===`prompt_by_llm`||n&&[`intro`,`outro`].some(n=>t.some(t=>t.category===n&&t.name===e[n]&&t.mode===`llm`)))&&e.llm?[{field:`llm.provider`,family:`llm`,label:`Text generation`,provider:e.llm.provider,model:e.llm.model}]:[],...n&&e.audio?[{field:`audio.provider`,family:`tts`,label:`Narration`,provider:e.audio.provider,model:e.audio.model,voice:e.audio.voice}]:[],...(e.sources.images===`generate`||r)&&e.images?[{field:`images.provider`,family:`image`,label:`Images`,provider:e.images.provider,model:e.images.model}]:[]]}function $N({name:e,children:t}){return(0,h.jsxs)(`section`,{"aria-label":`${e} summary`,className:`min-w-0 border-t border-line pt-5`,children:[(0,h.jsx)(`h3`,{className:`mb-4 font-semibold`,children:e}),t]})}function eP({form:e,entries:t,providers:n,voices:r,textModels:i,audioModels:a,imageModels:o,onReveal:s}){let c=QN(e,t);if(!c.length)return(0,h.jsx)($N,{name:`Run readiness`,children:(0,h.jsx)(`p`,{className:`text-body text-ink2`,children:`No generated providers required. Supplied content is ready for processing.`})});let l={llm:i,tts:a,image:o};return(0,h.jsxs)($N,{name:`Run readiness`,children:[(0,h.jsx)(`p`,{className:`mb-3 text-small text-ink2`,children:`These checks are refreshed with Review and checked again when you start.`}),(0,h.jsx)(`ul`,{className:`divide-y divide-line`,"aria-label":`Run readiness checks`,children:c.map(e=>{let t=n?.find(t=>t.id===e.provider&&t.family===e.family),i=ZN(t),a=l[e.family],o=a?.models.find(t=>t.id===e.model),c=a===void 0?{ok:!0,text:`Model checked at Start`}:o!==void 0||a.allowsCustom?{ok:!0,text:`Model available`}:{ok:!1,text:`Model unavailable`},u=e.voice===void 0?void 0:r===void 0?{ok:!1,text:`Voice list unavailable`}:r.some(t=>t.provider===e.provider&&t.voiceId===e.voice)?{ok:!0,text:`Voice saved`}:{ok:!1,text:`Voice missing`},d=[i,c,...u?[u]:[]],f=d.every(e=>e.ok);return(0,h.jsxs)(`li`,{className:`flex flex-wrap items-center justify-between gap-3 py-3`,children:[(0,h.jsx)(`span`,{className:`font-medium`,children:e.label}),(0,h.jsx)(`span`,{className:f?`text-lime`:`text-red`,children:f?`Ready`:d.filter(e=>!e.ok).map(e=>e.text).join(` · `)}),f?null:(0,h.jsx)(B,{variant:`ghost`,onClick:()=>s(e.field),children:`Edit ↗`})]},`${e.family}:${e.provider}`)})})]})}function tP({fields:e,onReveal:t,children:n}){let{document:r,review:i}=wk(),{form:a}=r,{api:o}=I(),s=_(),c=s.getQueryData(vy(o).queryKey),l=s.getQueryData(xy(o).queryKey),u=s.getQueryData(yy(o).queryKey),d=s.getQueryData(UO),f=s.getQueryData(iN(a.llm.provider)),p=s.getQueryData(iN(a.audio.provider)),m=s.getQueryData(iN(a.images.provider)),g=a.sources.audio===`generate`,v=[`from_prompt`,`prompt_by_llm`].includes(a.sources.thumbnail),y=a.sources.article===`generate`||a.sources.thumbnail===`prompt_by_llm`||g&&[`intro`,`outro`].some(e=>l?.entries.some(t=>t.category===e&&t.name===a[e]&&t.mode===`llm`)),b=e=>c?.providers.find(t=>t.id===e)?.displayName??e,x=(e,n,r)=>(0,h.jsxs)(`div`,{className:`grid min-w-0 grid-cols-[90px_minmax(0,1fr)_auto] items-start gap-x-3 py-1 sm:grid-cols-[145px_minmax(0,1fr)_auto]`,children:[(0,h.jsx)(`dt`,{className:`break-words py-2 text-ink2`,children:e}),(0,h.jsx)(`dd`,{className:`min-w-0 whitespace-pre-wrap break-words py-2`,children:r||`Not selected`}),n?(0,h.jsx)(`dd`,{children:(0,h.jsx)(B,{variant:`ghost`,"aria-label":`Edit ${e}`,onClick:()=>t(n),children:`Edit ↗`})}):null]},n??e),S=a.chunking.mode===`words`||a.chunking.mode===`characters`?a.chunking.mode:null;return(0,h.jsxs)(h.Fragment,{children:[(0,h.jsx)(eP,{form:a,entries:l?.entries??[],providers:c?.providers,voices:u?.voices,textModels:f,audioModels:p,imageModels:m,onReveal:t}),(0,h.jsxs)($N,{name:`Content`,children:[(0,h.jsxs)(`dl`,{className:`text-body`,children:[x(`Project`,`title`,a.title||`Untitled run`),x(`Article`,`sources.article`,MM[a.sources.article]),a.sources.article===`generate`?x(`Article prompt`,`articlePrompt`,a.articlePrompt):x(`Article text`,`provided.article`,`Your article`),a.sources.article===`generate`?x(`Research`,`sources.research`,MM[a.sources.research]):x(`Research`,null,`Off · Article is provided`),a.sources.research===`provide`&&a.sources.article===`generate`?x(`Research text`,`provided.research`,a.provided.research):null,y?(0,h.jsxs)(h.Fragment,{children:[x(`Text provider`,`llm.provider`,b(a.llm.provider)),x(`Text model`,`llm.model`,f?.models.find(e=>e.id===a.llm.model)?.name??a.llm.model),a.llm.thinking||f?.models.find(e=>e.id===a.llm.model)?.thinkingModes?.length?x(`Thinking`,`llm.thinking`,a.llm.thinking??`Model default`):null]}):null,e.map(({name:e})=>x(e,`values.${e}`,a.values[e]??``))]}),n]}),(0,h.jsx)($N,{name:`Outputs`,children:(0,h.jsxs)(`dl`,{className:`text-body`,children:[x(`Narration`,`sources.audio`,MM[a.sources.audio]),g?(0,h.jsxs)(h.Fragment,{children:[x(`Audio provider`,`audio.provider`,b(a.audio.provider)),x(`Audio model`,`audio.model`,p?.models.find(e=>e.id===a.audio.model)?.name??a.audio.model),x(`Voice`,`audio.voice`,u?.voices.find(e=>e.provider===a.audio.provider&&e.voiceId===a.audio.voice)?.name??a.audio.voice),x(`Chunking`,S?`chunking.${S}`:`chunking.mode`,S?`Every ${a.chunking[S]||`(not entered)`} ${S}`:a.chunking.mode===`whole`?`Whole text`:`Paragraph`),x(`Intro`,`intro`,a.intro||`Off`),x(`Outro`,`outro`,a.outro||`Off`)]}):null,a.sources.audio===`provide`?x(`Narration file`,`provided.audio`,a.provided.audio?.name):null,x(`Images`,`sources.images`,MM[a.sources.images]),a.sources.images===`generate`||v?(0,h.jsxs)(h.Fragment,{children:[x(`Image provider`,`images.provider`,b(a.images.provider)),x(`Image model`,`images.model`,m?.models.find(e=>e.id===a.images.model)?.name??a.images.model)]}):null,a.sources.images===`generate`?a.imagePrompts.length?a.imagePrompts.map((e,t)=>x(e.name,`imagePrompts.${t}.number`,`${e.name} · ${e.number||`(not entered)`} images`)):x(`Image prompts`,`imagePrompts`,`None selected`):null,a.sources.images===`provide`?x(`Image files`,`provided.images`,a.provided.images.length?(0,h.jsx)(`ol`,{className:`list-inside list-decimal`,children:a.provided.images.map(e=>(0,h.jsx)(`li`,{children:e.name},e.attachmentId))}):`No files selected`):null,x(`Thumbnail`,`sources.thumbnail`,MM[a.sources.thumbnail]),v?x(`Thumbnail prompt`,`thumbnailPrompt`,a.thumbnailPrompt):null,a.sources.thumbnail===`provide`?x(`Thumbnail file`,`provided.thumbnail`,a.provided.thumbnail?.name):null,x(`Video`,`sources.video`,MM[a.sources.video])]})}),(0,h.jsxs)($N,{name:`Checkpoints`,children:[(0,h.jsx)(qN,{selected:a.checkpoints,reviewed:i.valid?i.receipt?.checkpointSet:void 0}),(0,h.jsx)(B,{variant:`ghost`,"aria-label":`Edit checkpoints`,onClick:()=>t(`checkpoints`),children:`Edit checkpoints ↗`})]}),(0,h.jsxs)($N,{name:`Style`,children:[(0,h.jsxs)(`dl`,{className:`text-body`,children:[x(`Frame`,`format`,a.format),a.sources.audio===`off`?x(`Subtitles`,null,`Off · Audio is Off`):x(`Subtitles`,`subtitles.mode`,a.subtitles.mode),a.sources.audio!==`off`&&a.subtitles.mode!==`off`?(0,h.jsxs)(h.Fragment,{children:[x(`Subtitle font`,`subtitles.fontId`,d?.fonts.find(e=>e.id===a.subtitles.fontId)?.name??a.subtitles.fontId),x(`Subtitle size`,`subtitles.fontSize`,`${a.subtitles.fontSize||`(not entered)`} px`),x(`Subtitle position`,`subtitles.position`,a.subtitles.position)]}):null]}),a.sources.audio!==`off`&&a.subtitles.mode===`files`?(0,h.jsx)(`p`,{className:`mt-3 text-small text-ink2`,children:`Font, size and position apply to burned captions. SRT/VTT players choose their own styling.`}):null]})]})}function nP({fields:e,errors:t,onReveal:n,problem:r}){let i=wk(),{document:a,review:o}=i,s=a.form,c=(0,m.useId)(),l=_k(a,i.view),u=o.starting||o.uncertain;(0,m.useEffect)(()=>{i.reviewDraft()},[i.reviewDraft]);let d=o.valid?o.receipt?.runs??[]:[];return(0,h.jsxs)(`div`,{className:`flex min-w-0 flex-col gap-6 py-6`,children:[(0,h.jsx)(`p`,{className:`text-body text-ink2`,children:`Check your setup and estimated costs before starting.`}),t.length?(0,h.jsx)(`ul`,{"aria-label":`Setup errors`,className:`text-small text-red`,children:t.map(e=>(0,h.jsx)(`li`,{children:(0,h.jsx)(B,{variant:`ghost`,onClick:()=>n(e.field),children:e.message})},`${e.field}-${e.message}`))}):null,l?(0,h.jsx)(B,{variant:`ghost`,onClick:()=>n(l),children:`Wait for uploads to finish before Start`}):null,o.error?(0,h.jsx)(`p`,{role:`alert`,className:`text-body text-red`,children:o.error}):null,(0,h.jsx)(tP,{fields:e,onReveal:n,children:(0,h.jsxs)(`details`,{className:`mt-5 border-t border-line py-3`,children:[(0,h.jsx)(`summary`,{className:`cursor-pointer text-small`,children:s.sources.article===`provide`?`Read the supplied article and resolved prompts`:`Read the resolved prompt`}),d.length?d.map((e,t)=>(0,h.jsxs)(`div`,{className:`mt-4`,children:[(0,h.jsx)(`h4`,{className:`font-medium`,children:e.draft.title}),e.draft.sources.article===`provide`?(0,h.jsx)(`p`,{className:`mt-3 whitespace-pre-wrap break-words text-body`,children:e.draft.provided.article}):null,Object.entries(e.rendered).map(([e,t])=>(0,h.jsxs)(`div`,{className:`mt-3`,children:[(0,h.jsx)(`h5`,{className:`text-small text-ink2`,children:e}),(0,h.jsx)(`p`,{className:`whitespace-pre-wrap break-words text-body`,children:t})]},e))]},a.variants[t-1]?.id??i.activeId)):(0,h.jsx)(`p`,{className:`mt-3 text-small text-ink2`,children:`Refresh review to read the exact resolved inputs.`})]})}),(0,h.jsx)(`fieldset`,{disabled:u,className:`min-w-0`,children:(0,h.jsx)(JN,{fields:e,items:a.variants.map(({id:e,...t})=>({...t,key:e})),title:s.title,values:s.values,problem:r,onChange:e=>i.edit({...a,variants:e.map(({key:e,...t})=>({...t,id:e}))})})}),(0,h.jsxs)(`div`,{className:`flex flex-col gap-4 border-t border-line pt-5`,children:[(0,h.jsx)(`h3`,{className:`font-semibold`,children:`Estimated cost`}),(0,h.jsxs)(`label`,{htmlFor:c,className:`text-body`,children:[`Expected article words per video`,(0,h.jsx)(oM,{id:c,"data-play-field":`expectedWords`,type:`number`,min:1,max:1e5,value:a.expectedWords,disabled:u,onChange:e=>i.edit({...a,expectedWords:e.target.value})})]}),(0,h.jsx)(`p`,{className:`text-small text-ink2`,children:`Estimated provider charges in USD. Actual usage can differ. This estimate does not cap spending.`}),o.pending?(0,h.jsx)(`p`,{role:`status`,children:`Calculating estimate…`}):null,o.valid&&o.receipt?(0,h.jsx)(YN,{estimates:o.receipt.estimates}):(0,h.jsx)(`p`,{className:`text-small text-ink2`,children:`Review needs refreshing before Start.`}),(0,h.jsx)(B,{disabled:o.pending||u||!!l,onClick:()=>{i.reviewDraft()},children:`Refresh review`})]}),(0,h.jsxs)(`div`,{className:`flex justify-between gap-3 border-t border-line pt-5`,children:[(0,h.jsx)(B,{variant:`ghost`,onClick:()=>{i.navigate(`style`)},children:`← Style`}),(0,h.jsx)(B,{variant:`play`,"data-tour":`play-start`,disabled:o.starting||!o.uncertain&&(!o.valid||o.pending||t.length>0||!!l),onClick:()=>{i.startRun()},children:o.starting?`Starting…`:o.uncertain?`Check Start result`:a.variants.length?`Queue ${a.variants.length+1} videos`:`Start run`})]})]})}var rP=[{id:`content`,label:`Content`,description:`Article and keywords`},{id:`outputs`,label:`Outputs`,description:`Voice and images`},{id:`style`,label:`Style`,description:`Frame and captions`},{id:`review`,label:`Review`,description:`Cost and start`}];function iP({section:e,onNavigate:t}){return(0,h.jsx)(`nav`,{"aria-label":`Run setup`,className:`mb-7 grid grid-cols-2 border-b border-line min-[700px]:grid-cols-4`,children:rP.map((n,r)=>(0,h.jsxs)(`div`,{className:`border-b-2 py-4 ${e===n.id?`border-focus`:`border-transparent`}`,children:[(0,h.jsxs)(`button`,{type:`button`,"aria-current":e===n.id?`step`:void 0,onClick:()=>t(n.id),className:`min-h-11 w-full text-left font-semibold ${e===n.id?`text-run-text`:`text-ink`}`,children:[(0,h.jsx)(`span`,{"aria-hidden":`true`,className:`mr-3 inline-flex size-7 items-center justify-center rounded-full border text-small ${e===n.id?`border-accent bg-accent text-accent-ink`:`border-line`}`,children:r+1}),n.label]}),(0,h.jsx)(`p`,{className:`pl-10 text-small text-ink3`,children:n.description})]},n.id))})}function aP({form:e,blocker:t,onReveal:n}){let r=[[`Article`,e.sources.article,e.sources.article===`provide`?`provided.article`:`articlePrompt`],[`Audio`,e.sources.audio,`sources.audio`],[`Images`,e.sources.images===`generate`?`${e.imagePrompts.reduce((e,t)=>e+t.number,0)} images`:e.sources.images,`sources.images`],[`Export`,e.sources.video===`generate`?e.sources.audio===`off`?`Silent MP4`:`MP4`:e.sources.audio===`off`?`Individual outputs`:`Combined WAV`,`sources.video`]];return(0,h.jsxs)(`aside`,{"aria-label":`Setup summary`,className:`min-w-0`,children:[(0,h.jsx)(`h2`,{className:`mb-3 font-semibold`,children:`This run`}),(0,h.jsx)(`dl`,{className:`divide-y divide-line`,children:r.map(([e,t,r])=>(0,h.jsxs)(`div`,{className:`flex items-center justify-between gap-3 py-2 text-small`,children:[(0,h.jsx)(`dt`,{className:`text-ink3`,children:e}),(0,h.jsx)(`dd`,{children:(0,h.jsx)(B,{variant:`ghost`,onClick:()=>n(r),"aria-label":`Edit ${e}`,children:t})})]},e))}),t?(0,h.jsxs)(`div`,{className:`mt-4 text-small text-ink2`,children:[(0,h.jsx)(`p`,{children:t.hint}),(0,h.jsx)(B,{variant:`ghost`,onClick:()=>n(t.field),children:`Fix setup`})]}):null,(0,h.jsx)(`p`,{className:`mt-4 text-small text-ink3`,children:`Nothing starts until you review the costs and choose Start run.`})]})}function oP(e){return e.upload?(0,h.jsx)(cP,{value:e.value,onPick:e.onPick,upload:e.upload}):(0,h.jsx)(sP,{...e})}function sP({value:e,onPick:t,onUploading:n}){let{api:r}=I(),i=_(),a=it({mutationFn:e=>GO(r,e),onSuccess:({font:e})=>{i.setQueryData(UO,t=>({fonts:[...(t?.fonts??[]).filter(t=>t.id!==e.id),e]})),i.invalidateQueries({queryKey:UO})}}),o=a.isPending,s=(0,m.useRef)(t);s.current=t;let c=(0,m.useRef)(n);return c.current=n,(0,m.useEffect)(()=>{c.current(o)},[o]),(0,m.useEffect)(()=>()=>c.current(!1),[]),(0,h.jsx)(cP,{value:e,onPick:t,upload:{pending:o,error:a.error?.message,pick:e=>a.mutate(e,{onSuccess:({font:e})=>s.current(e.id)})}})}function cP({value:e,onPick:t,upload:n}){let{api:r}=I(),i=(0,m.useId)(),a=(0,m.useId)(),o=nt({queryKey:UO,queryFn:()=>WO(r),staleTime:6e4}),s=n.pending,c=o.data?.fonts??[],l=e!=="default"&&!c.some(t=>t.id===e);return(0,h.jsxs)(`div`,{className:`flex flex-col gap-3`,children:[(0,h.jsxs)(`div`,{className:`flex flex-wrap items-end gap-3`,children:[(0,h.jsxs)(`div`,{className:`min-w-0 basis-full`,children:[(0,h.jsx)(iM,{htmlFor:i,className:`mb-1`,children:`Subtitle font`}),(0,h.jsxs)(`select`,{id:i,"data-play-field":`subtitles.fontId`,value:e,disabled:s,onChange:e=>t(e.target.value),className:`h-8 w-full rounded-control border border-line2 bg-panel2 px-[10px] text-small text-ink`,children:[c.some(e=>e.id==="default")?null:(0,h.jsx)(`option`,{value:`default`,children:`Default font · bundled`}),l?(0,h.jsxs)(`option`,{value:e,children:[e,` · saved font`]}):null,c.map(e=>(0,h.jsxs)(`option`,{value:e.id,children:[e.name,` · `,e.source]},e.id))]})]}),(0,h.jsxs)(`div`,{className:`min-w-0 basis-full`,children:[(0,h.jsx)(iM,{htmlFor:a,className:`mb-1`,children:`Upload font (.ttf or .otf)`}),(0,h.jsx)(`input`,{id:a,"data-play-field":`subtitles.fontUpload`,type:`file`,accept:`.ttf,.otf,font/ttf,font/otf`,disabled:s,className:`w-full text-small text-ink2 file:mr-2 file:rounded-control file:border file:border-line2 file:bg-panel2 file:px-2 file:py-1 file:text-ink`,onChange:e=>{let t=e.target.files?.[0];e.target.value=``,t&&n.pick(t)}})]})]}),s?(0,h.jsx)(`p`,{role:`status`,className:`text-small text-ink2`,children:`Uploading font…`}):null,n.error?(0,h.jsx)(`p`,{role:`alert`,className:`text-small text-red`,children:n.error}):null,l&&o.data?(0,h.jsx)(`p`,{role:`alert`,children:`Saved font is unavailable. Choose another font or upload it again.`}):null,o.error?(0,h.jsxs)(`p`,{role:`alert`,className:`text-small text-red`,children:[`Could not load fonts. `,o.error.message]}):null]})}function lP({value:e,format:t=`16:9`,audioEnabled:n,videoEnabled:r,disabled:i=!1,onChange:a,onUploading:o,problem:s,session:c,fontUpload:l,showPreview:u=!0,illustratedPositions:d=!1,rawFontSize:f}){let p=(0,m.useId)(),g=(0,m.useId)(),_=(0,m.useId)(),v=(0,m.useId)(),[y,b]=(0,m.useState)(!1),x=s?.(`subtitles.fontId`),S=s?.(`subtitles.fontSize`),C=s?.(`subtitles.mode`)??s?.(`subtitles`);return(0,h.jsxs)(`section`,{className:`flex min-w-0 flex-col gap-3`,"aria-label":`Subtitles`,children:[(0,h.jsxs)(`fieldset`,{disabled:i||!n,className:`flex min-w-0 flex-col gap-3 disabled:opacity-60`,children:[(0,h.jsxs)(`div`,{className:`flex flex-wrap items-end gap-3`,children:[(0,h.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,h.jsx)(iM,{htmlFor:p,className:`mb-1`,children:`Subtitles`}),(0,h.jsxs)(`select`,{id:p,"data-play-field":`subtitles.mode`,value:n?e.mode:`off`,disabled:l?.pending??y,"aria-describedby":_,"aria-invalid":C!==void 0,onChange:t=>a({...e,mode:t.target.value}),className:`h-8 w-full rounded-control border border-line2 bg-panel2 px-[10px] text-small text-ink`,children:[(0,h.jsx)(`option`,{value:`off`,children:`Off`}),(0,h.jsx)(`option`,{value:`files`,children:`Subtitle files (.srt + .vtt)`}),(0,h.jsx)(`option`,{value:`burn-in`,disabled:!r,children:`Burn into video + files`})]})]}),(0,h.jsx)(`span`,{className:`pb-1 text-label text-ink3`,children:`English · local · no paid API`})]}),e.mode!==`off`&&n?(0,h.jsxs)(h.Fragment,{children:[(0,h.jsx)(`p`,{className:`text-small text-ink2`,children:`Timed from your narration on this computer. First use downloads an approximately 95 MB speech model. Review the subtitles before publishing.`}),(0,h.jsxs)(`div`,{className:`grid items-start gap-5`,style:{gridTemplateColumns:`repeat(auto-fit, minmax(min(100%, 240px), 1fr))`},children:[(0,h.jsxs)(`div`,{className:`flex min-w-0 flex-col gap-4`,children:[(0,h.jsx)(oP,{...l?{upload:l}:{},value:e.fontId,onPick:t=>c?c.selectFont(t):a({...e,fontId:t}),onUploading:e=>{b(e),o?.(e)}}),(0,h.jsxs)(`div`,{className:d?`w-full`:`max-w-[180px]`,children:[(0,h.jsx)(iM,{htmlFor:g,className:`mb-1`,children:`Subtitle font size`}),(0,h.jsxs)(`div`,{className:`flex items-center gap-5`,children:[d?(0,h.jsx)(`input`,{"aria-label":`Subtitle font size slider`,type:`range`,min:16,max:120,step:1,value:Math.max(16,Math.min(120,Number.isFinite(e.fontSize)?e.fontSize:48)),className:`min-w-0 flex-1 accent-accent`,onChange:t=>f?f.onChange(t.target.value):a({...e,fontSize:Number(t.target.value)})}):null,(0,h.jsx)(oM,{className:d?`w-20`:void 0,id:g,"data-play-field":`subtitles.fontSize`,type:`number`,min:16,max:120,step:1,value:f?.value??e.fontSize,"aria-invalid":!jM(e)||S!==void 0,onChange:t=>f?f.onChange(t.target.value):a({...e,fontSize:Number(t.target.value)})})]}),!jM(e)||S?(0,h.jsx)(`p`,{role:`alert`,className:`mt-1 text-label text-red`,children:S??`Choose a whole font size from 16 to 120.`}):null]}),(0,h.jsxs)(`div`,{children:[(0,h.jsx)(iM,{htmlFor:d?void 0:v,id:`${v}-label`,className:`mb-1`,children:`Subtitle position`}),d?(0,h.jsx)(Bj,{type:`single`,"aria-labelledby":`${v}-label`,value:e.position??`bottom`,onValueChange:t=>{let n=QD.find(e=>e===t);n&&a({...e,position:n})},className:`grid w-full grid-cols-5 gap-2 overflow-visible border-0`,children:QD.map((t,n)=>(0,h.jsxs)(Vj,{value:t,"aria-label":t,"data-play-field":(e.position??`bottom`)===t?`subtitles.position`:void 0,className:`flex min-w-0 flex-col items-center gap-2 rounded-control border border-line2 bg-panel px-1 py-3 text-[10px] last:border-r data-[state=on]:border-focus data-[state=on]:text-run-text data-[state=on]:shadow-none`,children:[(0,h.jsx)(`span`,{"aria-hidden":`true`,className:`relative block h-11 w-7 rounded-[2px] border border-current`,children:(0,h.jsx)(`span`,{className:`absolute left-1 right-1 h-[3px] bg-current`,style:{top:`${8+n*20}%`}})}),(0,h.jsxs)(`span`,{children:[t[0]?.toUpperCase(),t.slice(1)]})]},t))}):(0,h.jsx)(`select`,{id:v,"data-play-field":`subtitles.position`,value:e.position??`bottom`,onChange:t=>{let n=QD.find(e=>e===t.target.value);n&&a({...e,position:n})},className:`h-8 w-full rounded-control border border-line2 bg-panel2 px-[10px] text-small text-ink`,children:QD.map(e=>(0,h.jsxs)(`option`,{value:e,children:[e[0]?.toUpperCase(),e.slice(1)]},e))})]})]}),u?(0,h.jsx)(UN,{value:e,format:t,...c?{sample:c.previewText}:{}}):null]}),c?.fontUpload&&!c.fontUploading?(0,h.jsxs)(`p`,{role:`alert`,children:[`Reattach `,c.fontUpload.name,`, or select a font.`]}):null,x?(0,h.jsx)(`p`,{role:`alert`,className:`text-small text-red`,children:x}):null,e.mode===`files`?(0,h.jsx)(`p`,{className:`text-label text-ink3`,children:`Font, size and position apply to burned captions. SRT/VTT players choose their own styling.`}):null]}):null]}),c?.fontUpload&&(e.mode===`off`||!n)?(0,h.jsxs)(`div`,{className:`flex flex-col items-start gap-3`,children:[(0,h.jsx)(`p`,{role:c.fontUploading?`status`:`alert`,className:`text-small text-ink2`,children:c.fontUploading?`Uploading ${c.fontUpload.name}…`:`Unfinished font upload: ${c.fontUpload.name}`}),l?.error?(0,h.jsx)(`p`,{role:`alert`,className:`text-small text-red`,children:l.error}):null,(0,h.jsx)(B,{"data-play-field":`subtitles.fontUpload`,disabled:i,onClick:()=>c.selectFont(e.fontId),children:`Keep current font`})]}):null,C?(0,h.jsx)(`p`,{role:`alert`,className:`text-small text-red`,children:C}):null,(0,h.jsx)(`p`,{id:_,className:`text-small text-ink2`,children:n?r?`Optional: download subtitles separately or keep them visible in the video.`:`Audio exports support separate subtitle files. Enable Video to burn captions into an MP4.`:`Turn Audio on to add subtitles.`})]})}function uP({value:e,onPick:t}){let n=(0,m.useId)();return(0,h.jsxs)(`div`,{className:`w-full`,children:[(0,h.jsx)(iM,{id:n,className:`mb-2`,children:`Frame format`}),(0,h.jsx)(Bj,{type:`single`,value:e,"aria-labelledby":n,className:`w-full max-w-[400px] gap-3 overflow-visible border-0`,onValueChange:e=>{(e===`16:9`||e===`9:16`)&&t(e)},children:[`16:9`,`9:16`].map(t=>(0,h.jsxs)(Vj,{value:t,"data-play-field":e===t?`format`:void 0,"aria-label":t,className:`flex h-28 min-w-0 flex-1 items-center justify-center gap-4 rounded-control border border-line2 bg-panel p-3 last:border-r data-[state=on]:border-focus data-[state=on]:shadow-none`,children:[(0,h.jsx)(`span`,{className:`flex h-12 items-center justify-center`,"aria-hidden":`true`,children:(0,h.jsx)(`span`,{"data-format-shape":t,className:`block rounded-[2px] border-2 border-current`,style:{width:t===`16:9`?64:27,aspectRatio:t===`16:9`?`16 / 9`:`9 / 16`}})}),(0,h.jsxs)(`span`,{className:`text-left`,children:[(0,h.jsx)(`span`,{className:`block text-body font-semibold`,children:t}),(0,h.jsx)(`span`,{className:`text-label text-ink3`,children:t===`16:9`?`Landscape`:`Portrait`})]})]},t))})]})}function dP({problem:e}){let t=wk(),{document:n}=t,{form:r}=n,i=(0,m.useId)(),a=e=>t.edit({...n,form:{...r,subtitles:{...e,fontSize:r.subtitles.fontSize}}});return(0,h.jsxs)(`div`,{"data-tour":`play-subtitles`,className:`flex min-w-0 flex-col gap-6 py-6`,children:[(0,h.jsx)(`p`,{className:`text-body text-ink2`,children:`See frame and caption changes in the preview as you go.`}),(0,h.jsx)(uP,{value:r.format,onPick:e=>t.edit({...n,form:{...r,format:e}})}),(0,h.jsx)(`div`,{className:`border-t border-line pt-6`,children:(0,h.jsx)(lP,{showPreview:!1,illustratedPositions:!0,fontUpload:t.fontUpload,session:{previewText:n.previewText,fontUploading:t.fontUploading,fontUpload:n.fontUpload,selectFont:t.selectFont,uploadSubtitleFont:t.uploadSubtitleFont},value:{...r.subtitles,fontSize:Number(r.subtitles.fontSize)},rawFontSize:{value:r.subtitles.fontSize,onChange:e=>t.edit({...n,form:{...r,subtitles:{...r.subtitles,fontSize:e}}})},format:r.format,audioEnabled:r.sources.audio!==`off`,videoEnabled:r.sources.video===`generate`&&r.sources.images!==`off`,onChange:a,problem:e})}),(0,h.jsxs)(`div`,{className:`border-t border-line pt-6`,children:[(0,h.jsx)(iM,{htmlFor:i,className:`mb-2`,children:`Preview text`}),(0,h.jsx)(oM,{id:i,value:n.previewText,onChange:e=>t.edit({...n,previewText:e.target.value})}),(0,h.jsx)(`p`,{className:`mt-2 text-small text-ink3`,children:`Just a sample. Your actual captions come from the narration.`})]})]})}function fP(e,t,n){let r=e?.prompts??[],i=e?.entries??[];return{prompts:[...r,...t.filter(e=>!r.some(t=>t.kind===e.kind&&t.name.toLowerCase()===e.name.toLowerCase()))],entries:[...i,...n.filter(e=>!i.some(t=>t.category===e.category&&t.name.toLowerCase()===e.name.toLowerCase()))]}}function pP(){let e=Gi();return(0,h.jsx)(mP,{onCreated:t=>{e({to:`/projects/$projectId`,params:{projectId:t}})}})}function mP({onCreated:e}){let{api:t}=I(),n=WN(),r=MA(),i=nt(vy(t)),a=nt(by(t)),o=nt(xy(t)),s=nt(yy(t)),c=nt(Sy(t)),[l,u]=Ok(),d=wk(),f=fP(d.document.librarySnapshot,a.data?.prompts??[],o.data?.entries??[]),p=d.document.variants.map(({id:e,...t})=>({...t,key:e})),g=d.fontUploading||d.document.fontUpload!==null,_=d.review.fields,[v,y]=(0,m.useState)(new Set),b=(0,m.useRef)(null),x=(0,m.useRef)(null),S=Gi(),C=(0,m.useRef)(d.activeId);(0,m.useLayoutEffect)(()=>{C.current!==d.activeId&&(C.current=d.activeId,y(new Set))},[d.activeId]);let w=(0,m.useRef)(null);(0,m.useLayoutEffect)(()=>{let e=d.reveal;if(e||(w.current=null),e&&e.sequence!==w.current&&e.section===d.section&&b.current){if(w.current=e.sequence,e.field){let t=[...b.current.querySelectorAll(`[data-play-field]`)].find(t=>t.dataset.playField===e.field)?.parentElement;for(;t&&t!==b.current;)t instanceof HTMLDetailsElement&&(t.open=!0),t=t.parentElement;if(zN(b.current,e.field))return}x.current?.focus()}},[d.reveal,d.section]);let T=e=>{let t=$M(e,l)??BN(e,l,p);y(n=>new Set([...n,e,t.field])),d.navigate(t.section,t.field)},E=async e=>{await d.flush()&&(e===`/prompts`?await S({to:`/prompts/new`,search:{kind:`article`}}):await S({to:e}))},D=e=>{u(t=>{let n={...t,...e};return{...n,subtitles:AM(n.subtitles,n.sources)}}),d.invalidateReview(!0)},{fields:O,result:k,blocker:A}=HM({form:l,prompts:f.prompts,entries:f.entries,silenceGapSeconds:c.data?.silenceGapSeconds??3}),j=g?{field:`subtitles.fontUpload`,hint:`Wait for the subtitle font upload to finish to play`}:A;(0,m.useEffect)(()=>{if(!d.review.created)return;let t=d.takeCreated()?.projectIds[0];t&&(r({type:`project-created`,id:t}),e(t))},[d.review.created,d.takeCreated,r,e]);let ee=k.ok?_:[...k.fields,..._],M=(...e)=>!ee.some(t=>e.some(e=>t.field===e||t.field.startsWith(`${e}.`))),N=(e,t)=>f.prompts.some(n=>n.kind===e&&n.name===t),P=e=>e?.file!==void 0&&e.error===void 0;jA({playArticleReady:M(`sources.article`,`articlePrompt`,`provided.article`)&&(l.sources.article===`provide`||N(`article`,l.articlePrompt)),playAudioReady:l.sources.audio===`off`||M(`sources.audio`,`audio`,`provided.audio`)&&(l.sources.audio!==`provide`||P(l.provided.audio)),playImagesReady:l.sources.images===`off`||M(`sources.images`,`images`,`imagePrompts`,`provided.images`)&&(l.sources.images===`provide`?l.provided.images.every(P):l.imagePrompts.every(e=>N(`image`,e.name))),playVideoReady:M(`sources.video`),playSubtitlesReady:M(`subtitles`)&&!g,playOptionsReady:M(`title`,`format`,`llm`,`intro`,`outro`),playHasKeywords:O.length>0,playKeywordsReady:M(`values`),playReady:j===void 0&&!d.review.starting});let F=e=>{let t=($M(e,l)??BN(e,l,p)).field;return ee.find(n=>($M(n.field,l)??BN(n.field,l,p)).field===t&&(_.includes(n)||v.has(e)||v.has(t)))?.message},te=()=>{d.navigate(`review`)},ne=e=>{e.key===`Enter`&&(e.metaKey||e.ctrlKey)&&(e.preventDefault(),te())},re=(e,t)=>{d.invalidateReview(!0),d.attach(e,t)},ie=(e,t)=>{u(n=>({...n,provided:e===`images`?{...n.provided,images:n.provided.images.filter(e=>e.key!==t)}:e===`audio`?{...n.provided,audio:void 0}:{...n.provided,thumbnail:void 0}}))},ae=[i,a,o,s,c].find(e=>e.error!==null)?.error?.message,oe={form:l,providers:i.data?.providers??[],prompts:f.prompts,voices:s.data?.voices??[],silenceGapSeconds:c.data?.silenceGapSeconds??3,problem:F,update:D,onPickFiles:re,onRemoveFile:ie,onReattachFile:(e,t,n)=>{d.attach(e,[n],t)}};return(0,h.jsxs)(`div`,{ref:b,onKeyDown:ne,onBlurCapture:e=>{let t=e.target.dataset.playField;t&&y(e=>new Set([...e,t]))},"data-play-grid":`true`,className:`mx-auto max-w-[1320px] pb-[calc(4rem+env(safe-area-inset-bottom))] [&_input:not([type=checkbox])]:min-h-10 [&_select]:min-h-10 [&_button]:min-h-10 [&_summary]:min-h-10 max-[1099px]:[&_button]:min-h-11 max-[1099px]:[&_input:not([type=checkbox])]:min-h-11 max-[1099px]:[&_select]:min-h-11 max-[1099px]:[&_summary]:min-h-11`,children:[(0,h.jsxs)(`header`,{className:`mb-6 flex flex-wrap items-start justify-between gap-4`,children:[(0,h.jsxs)(`div`,{children:[(0,h.jsx)(`h1`,{className:`mb-1 text-[36px] font-bold tracking-[-0.01em]`,children:`New run`}),(0,h.jsx)(`p`,{className:`text-body text-ink2`,children:`Create the article, choose the outputs, then review.`})]}),(0,h.jsx)(RN,{})]}),ae?(0,h.jsx)(`p`,{className:`mb-4 text-body text-red`,children:ae}):null,(0,h.jsx)(iP,{section:d.section,onNavigate:e=>{d.navigate(e)}}),(0,h.jsxs)(`div`,{className:`grid min-w-0 grid-cols-1 items-start gap-7 min-[1100px]:grid-cols-[minmax(0,1fr)_360px]`,children:[(0,h.jsxs)(`section`,{"data-tour":d.section===`content`?`play-options`:void 0,className:`min-w-0`,children:[(0,h.jsx)(`h2`,{ref:x,tabIndex:-1,className:`text-xl font-semibold`,children:d.section===`style`?`Make it look like yours.`:rP.find(e=>e.id===d.section)?.label}),n?null:d.section===`style`?(0,h.jsx)(`div`,{className:`mt-5`,children:(0,h.jsx)(GN,{})}):(0,h.jsxs)(`details`,{className:`my-5 rounded-control border border-line p-3`,children:[(0,h.jsxs)(`summary`,{className:`min-h-11 cursor-pointer text-small font-semibold`,children:[`Preview · `,l.format]}),(0,h.jsx)(GN,{})]}),d.section===`content`?(0,h.jsx)(LN,{...oe,fields:O,entries:f.entries,onLibrary:e=>{E(e)}}):null,d.section===`outputs`?(0,h.jsx)(KN,{...oe,entries:f.entries,missingKeyword:ee.find(e=>e.field.startsWith(`values.`))?.field,onKeyword:T,onSettings:()=>{E(`/settings`)}}):null,d.section===`style`?(0,h.jsx)(dP,{problem:F}):null,d.section===`review`?(0,h.jsx)(nP,{fields:O,errors:ee,problem:F,onReveal:T}):(0,h.jsx)(`div`,{className:`mt-8 flex justify-end border-t border-line py-6`,children:(0,h.jsxs)(B,{variant:`play`,onClick:()=>{let e=rP[rP.findIndex(e=>e.id===d.section)+1];e&&d.navigate(e.id)},children:[`Continue to`,` `,rP[rP.findIndex(e=>e.id===d.section)+1]?.label,` `,`→`]})})]}),(0,h.jsxs)(`div`,{className:`flex min-w-0 flex-col gap-6 min-[1100px]:sticky min-[1100px]:top-6`,children:[n?(0,h.jsx)(GN,{}):null,(0,h.jsx)(aP,{form:l,blocker:j,onReveal:T})]})]})]})}function hP(){let{api:e}=I(),t=nt({queryKey:[`batch-queue`],queryFn:async()=>eo(await e.fetch(`${e.origin}/api/projects/queue`)),refetchInterval:2e3,retry:!1}),n=nt(my(e));return t.data?.queue.length?(0,h.jsxs)(`details`,{className:`mb-4 rounded-panel border border-line bg-panel p-3`,open:!0,children:[(0,h.jsxs)(`summary`,{className:`cursor-pointer text-body font-semibold`,children:[`Video queue · `,t.data.queue.length,` remaining`]}),(0,h.jsx)(`p`,{className:`mt-1 text-small text-ink2`,children:`One batch video runs at a time. Pause holds the queue; failure or cancellation advances it.`}),(0,h.jsx)(`ol`,{className:`mt-2 max-h-40 overflow-y-auto`,children:t.data.queue.map((e,t)=>{let r=n.data?.projects.find(t=>t.id===e.projectId);return(0,h.jsxs)(`li`,{className:`flex justify-between gap-3 py-1 text-small`,children:[(0,h.jsxs)(sa,{className:`truncate underline`,to:`/projects/$projectId`,params:{projectId:e.projectId},children:[t+1,`. `,r?.title??`Video`]}),(0,h.jsx)(`span`,{className:`shrink-0 text-ink2`,children:r?.status===`paused`?`Paused`:e.state===`active`?`Active`:`Queued`})]},e.projectId)})})]}):null}function gP(e,t){return e.filter(e=>e.stageKind===t.kind)}function _P(e,t){return e.find(e=>e.role===t)}var vP={research:`Replaces the notes, then re-runs the enabled stages below.`,article:`Replaces the article, then re-runs the enabled stages below.`,audio:`Replaces the narration and refreshes the final audio or video export.`,images:`Replaces every image in this run and re-renders video when enabled.`,thumbnail:`Replaces the thumbnail.`,video:`Replaces the final audio or video export.`};function yP(e){switch(e.kind){case`cancel`:return{title:`Cancel this run?`,consequence:`Stops every running stage; finished outputs are kept.`,verb:`Cancel run`,dismiss:`Keep running`};case`rerun`:return{title:`Re-run this stage?`,consequence:vP[e.stage],verb:`Re-run`,dismiss:`Cancel`};case`delete-image`:return{title:`Delete this image?`,consequence:`Removes the image and re-renders video when enabled.`,verb:`Delete`,dismiss:`Cancel`};case`regenerate-image`:return{title:`Regenerate this image?`,consequence:`Replaces the image with a new one and re-renders video when enabled.`,verb:`Regenerate`,dismiss:`Cancel`};case`save-article`:return{title:`Save the edited article?`,consequence:`Replaces the article, then updates the enabled narration and final export.`,verb:`Save & update outputs`,dismiss:`Cancel`};case`discard-article`:return{title:`Discard these edits?`,consequence:`The article goes back to the text on disk.`,verb:`Discard`,dismiss:`Keep editing`}}}var bP=(0,m.createContext)(!1);function xP({action:e,run:t,disabled:n=!1,pending:r=!1,variant:i=`outline`,className:a,children:o}){let[s,c]=(0,m.useState)(!1),l=yP(e);return(0,m.useContext)(bP)&&e.kind!==`cancel`?null:(0,h.jsxs)(h.Fragment,{children:[(0,h.jsx)(B,{type:`button`,variant:i,disabled:n,className:z(i===`ghost`?`px-2 text-small`:void 0,a),onClick:()=>{c(!0)},children:o}),(0,h.jsx)(jj,{open:s,title:l.title,consequence:l.consequence,verb:l.verb,dismiss:l.dismiss,pending:r,onConfirm:()=>{c(!1),t()},onCancel:()=>{c(!1)}})]})}function SP(e){let{api:t}=I();return nt({...hy(t,e),enabled:!1,select:e=>e.revisionId??null}).data??null}var CP=(e,t=null)=>[`live-writing`,e,t];function wP(e,t){let n=e=>e.callId===t.callId&&e.revisionId===t.revisionId&&e.workId===t.workId,r=e.find(n),i=(t.reset?t.text:`${r?.text??``}${t.text}`).slice(-65536),a={...t.revisionId===void 0?{}:{revisionId:t.revisionId},...t.workId===void 0?{}:{workId:t.workId},...t.workPieceId===void 0?{}:{workPieceId:t.workPieceId},stage:t.stage,callId:t.callId,...t.label===void 0?{}:{label:t.label},text:i};return(r?e.map(e=>n(e)?a:e):[...e,a]).slice(-24)}function TP({projectId:e,stage:t}){let n=(nt({queryKey:CP(e,SP(e)),queryFn:()=>[],enabled:!1}).data??[]).filter(e=>e.stage===t),[r,i]=(0,m.useState)(),a=n.find(e=>e.callId===r)??n.at(-1),[o,s]=(0,m.useState)(!0),c=(0,m.useRef)(null);return(0,m.useEffect)(()=>{a?.text&&o&&c.current&&(c.current.scrollTop=c.current.scrollHeight)},[o,a?.text]),n.length===0&&t!==`research`&&t!==`article`?null:(0,h.jsxs)(`div`,{className:`mx-5 mt-5 rounded-control border border-line2 bg-panel2`,children:[(0,h.jsxs)(`div`,{className:`flex flex-wrap items-center justify-between gap-3 border-b border-line px-4 py-3`,children:[(0,h.jsx)(`span`,{className:`text-small font-semibold text-run-text`,children:`Live writing`}),n.length>1?(0,h.jsx)(rN,{"aria-label":`Live writing task`,value:a?.callId??``,onChange:e=>i(e.target.value),className:`max-w-[280px]`,children:n.map((e,t)=>(0,h.jsxs)(`option`,{value:e.callId,children:[e.label??`Writing`,` · `,t+1]},e.callId))}):null,(0,h.jsxs)(`label`,{className:`flex cursor-pointer items-center gap-2 text-label text-ink2`,children:[(0,h.jsx)(`input`,{type:`checkbox`,checked:o,onChange:e=>s(e.target.checked)}),`Follow output`]})]}),(0,h.jsx)(`section`,{ref:c,"aria-label":`Live writing preview`,tabIndex:0,className:`max-h-[360px] min-h-32 overflow-auto whitespace-pre-wrap break-words p-4 font-sans text-small leading-relaxed text-ink2`,children:a?.text||`Waiting for the provider's first text…`}),(0,h.jsx)(`p`,{className:`border-t border-line px-4 py-2 text-label text-ink3`,children:`Live preview. The complete output is saved when this stage finishes.`})]})}function EP(e){let t=e.role.replaceAll(`_`,`-`);return e.role===`instructions`?`${e.stageKind}-${t}`:e.role===`image`&&e.meta.index!==void 0?`${t}-${String(e.meta.index)}`:t}function DP(e,t){let n=t||{};return(e[e.length-1]===``?[...e,``]:e).join((n.padRight?` `:``)+`,`+(n.padLeft===!1?``:` `)).trim()}var OP=/^[$_\p{ID_Start}][$_\u{200C}\u{200D}\p{ID_Continue}]*$/u,kP=/^[$_\p{ID_Start}][-$_\u{200C}\u{200D}\p{ID_Continue}]*$/u,AP={};function jP(e,t){return((t||AP).jsx?kP:OP).test(e)}var MP=/[ \t\n\f\r]/g;function NP(e){return typeof e==`object`?e.type===`text`&&PP(e.value):PP(e)}function PP(e){return e.replace(MP,``)===``}var FP=class{constructor(e,t,n){this.normal=t,this.property=e,n&&(this.space=n)}};FP.prototype.normal={},FP.prototype.property={},FP.prototype.space=void 0;function IP(e,t){let n={},r={};for(let t of e)Object.assign(n,t.property),Object.assign(r,t.normal);return new FP(n,r,t)}function LP(e){return e.toLowerCase()}var RP=class{constructor(e,t){this.attribute=t,this.property=e}};RP.prototype.attribute=``,RP.prototype.booleanish=!1,RP.prototype.boolean=!1,RP.prototype.commaOrSpaceSeparated=!1,RP.prototype.commaSeparated=!1,RP.prototype.defined=!1,RP.prototype.mustUseProperty=!1,RP.prototype.number=!1,RP.prototype.overloadedBoolean=!1,RP.prototype.property=``,RP.prototype.spaceSeparated=!1,RP.prototype.space=void 0;var zP=s({boolean:()=>VP,booleanish:()=>HP,commaOrSpaceSeparated:()=>KP,commaSeparated:()=>GP,number:()=>J,overloadedBoolean:()=>UP,spaceSeparated:()=>WP}),BP=0,VP=qP(),HP=qP(),UP=qP(),J=qP(),WP=qP(),GP=qP(),KP=qP();function qP(){return 2**++BP}var JP=Object.keys(zP),YP=class extends RP{constructor(e,t,n,r){let i=-1;if(super(e,t),XP(this,`space`,r),typeof n==`number`)for(;++i<JP.length;){let e=JP[i];XP(this,JP[i],(n&zP[e])===zP[e])}}};YP.prototype.defined=!0;function XP(e,t,n){n&&(e[t]=n)}function ZP(e){let t={},n={};for(let[r,i]of Object.entries(e.properties)){let a=new YP(r,e.transform(e.attributes||{},r),i,e.space);e.mustUseProperty&&e.mustUseProperty.includes(r)&&(a.mustUseProperty=!0),t[r]=a,n[LP(r)]=r,n[LP(a.attribute)]=r}return new FP(t,n,e.space)}var QP=ZP({properties:{ariaActiveDescendant:null,ariaAtomic:HP,ariaAutoComplete:null,ariaBusy:HP,ariaChecked:HP,ariaColCount:J,ariaColIndex:J,ariaColSpan:J,ariaControls:WP,ariaCurrent:null,ariaDescribedBy:WP,ariaDetails:null,ariaDisabled:HP,ariaDropEffect:WP,ariaErrorMessage:null,ariaExpanded:HP,ariaFlowTo:WP,ariaGrabbed:HP,ariaHasPopup:null,ariaHidden:HP,ariaInvalid:null,ariaKeyShortcuts:null,ariaLabel:null,ariaLabelledBy:WP,ariaLevel:J,ariaLive:null,ariaModal:HP,ariaMultiLine:HP,ariaMultiSelectable:HP,ariaOrientation:null,ariaOwns:WP,ariaPlaceholder:null,ariaPosInSet:J,ariaPressed:HP,ariaReadOnly:HP,ariaRelevant:null,ariaRequired:HP,ariaRoleDescription:WP,ariaRowCount:J,ariaRowIndex:J,ariaRowSpan:J,ariaSelected:HP,ariaSetSize:J,ariaSort:null,ariaValueMax:J,ariaValueMin:J,ariaValueNow:J,ariaValueText:null,role:null},transform(e,t){return t===`role`?t:`aria-`+t.slice(4).toLowerCase()}});function $P(e,t){return t in e?e[t]:t}function eF(e,t){return $P(e,t.toLowerCase())}var tF=ZP({attributes:{acceptcharset:`accept-charset`,classname:`class`,htmlfor:`for`,httpequiv:`http-equiv`},mustUseProperty:[`checked`,`multiple`,`muted`,`selected`],properties:{abbr:null,accept:GP,acceptCharset:WP,accessKey:WP,action:null,allow:null,allowFullScreen:VP,allowPaymentRequest:VP,allowUserMedia:VP,alpha:VP,alt:null,as:null,async:VP,autoCapitalize:null,autoComplete:WP,autoFocus:VP,autoPlay:VP,blocking:WP,capture:null,charSet:null,checked:VP,cite:null,className:WP,closedBy:null,colorSpace:null,cols:J,colSpan:J,command:null,commandFor:null,content:null,contentEditable:HP,controls:VP,controlsList:WP,coords:J|GP,crossOrigin:null,data:null,dateTime:null,decoding:null,default:VP,defer:VP,dir:null,dirName:null,disabled:VP,download:UP,draggable:HP,encType:null,enterKeyHint:null,fetchPriority:null,form:null,formAction:null,formEncType:null,formMethod:null,formNoValidate:VP,formTarget:null,headers:WP,height:J,hidden:UP,high:J,href:null,hrefLang:null,htmlFor:WP,httpEquiv:WP,id:null,imageSizes:null,imageSrcSet:null,inert:VP,inputMode:null,integrity:null,is:null,isMap:VP,itemId:null,itemProp:WP,itemRef:WP,itemScope:VP,itemType:WP,kind:null,label:null,lang:null,language:null,list:null,loading:null,loop:VP,low:J,manifest:null,max:null,maxLength:J,media:null,method:null,min:null,minLength:J,multiple:VP,muted:VP,name:null,nonce:null,noModule:VP,noValidate:VP,onAbort:null,onAfterPrint:null,onAuxClick:null,onBeforeMatch:null,onBeforePrint:null,onBeforeToggle:null,onBeforeUnload:null,onBlur:null,onCancel:null,onCanPlay:null,onCanPlayThrough:null,onChange:null,onClick:null,onClose:null,onContextLost:null,onContextMenu:null,onContextRestored:null,onCopy:null,onCueChange:null,onCut:null,onDblClick:null,onDrag:null,onDragEnd:null,onDragEnter:null,onDragExit:null,onDragLeave:null,onDragOver:null,onDragStart:null,onDrop:null,onDurationChange:null,onEmptied:null,onEnded:null,onError:null,onFocus:null,onFormData:null,onHashChange:null,onInput:null,onInvalid:null,onKeyDown:null,onKeyPress:null,onKeyUp:null,onLanguageChange:null,onLoad:null,onLoadedData:null,onLoadedMetadata:null,onLoadEnd:null,onLoadStart:null,onMessage:null,onMessageError:null,onMouseDown:null,onMouseEnter:null,onMouseLeave:null,onMouseMove:null,onMouseOut:null,onMouseOver:null,onMouseUp:null,onOffline:null,onOnline:null,onPageHide:null,onPageShow:null,onPaste:null,onPause:null,onPlay:null,onPlaying:null,onPopState:null,onProgress:null,onRateChange:null,onRejectionHandled:null,onReset:null,onResize:null,onScroll:null,onScrollEnd:null,onSecurityPolicyViolation:null,onSeeked:null,onSeeking:null,onSelect:null,onSlotChange:null,onStalled:null,onStorage:null,onSubmit:null,onSuspend:null,onTimeUpdate:null,onToggle:null,onUnhandledRejection:null,onUnload:null,onVolumeChange:null,onWaiting:null,onWheel:null,open:VP,optimum:J,pattern:null,ping:WP,placeholder:null,playsInline:VP,popover:null,popoverTarget:null,popoverTargetAction:null,poster:null,preload:null,readOnly:VP,referrerPolicy:null,rel:WP,required:VP,reversed:VP,rows:J,rowSpan:J,sandbox:WP,scope:null,scoped:VP,seamless:VP,selected:VP,shadowRootClonable:VP,shadowRootCustomElementRegistry:VP,shadowRootDelegatesFocus:VP,shadowRootMode:null,shadowRootSerializable:VP,shape:null,size:J,sizes:null,slot:null,span:J,spellCheck:HP,src:null,srcDoc:null,srcLang:null,srcSet:null,start:J,step:null,style:null,tabIndex:J,target:null,title:null,translate:null,type:null,typeMustMatch:VP,useMap:null,value:HP,width:J,wrap:null,writingSuggestions:null,align:null,aLink:null,archive:WP,axis:null,background:null,bgColor:null,border:J,borderColor:null,bottomMargin:J,cellPadding:null,cellSpacing:null,char:null,charOff:null,classId:null,clear:null,code:null,codeBase:null,codeType:null,color:null,compact:VP,declare:VP,event:null,face:null,frame:null,frameBorder:null,hSpace:J,leftMargin:J,link:null,longDesc:null,lowSrc:null,marginHeight:J,marginWidth:J,noResize:VP,noHref:VP,noShade:VP,noWrap:VP,object:null,profile:null,prompt:null,rev:null,rightMargin:J,rules:null,scheme:null,scrolling:HP,standby:null,summary:null,text:null,topMargin:J,valueType:null,version:null,vAlign:null,vLink:null,vSpace:J,allowTransparency:null,autoCorrect:null,autoSave:null,credentialless:VP,disablePictureInPicture:VP,disableRemotePlayback:VP,exportParts:GP,part:WP,prefix:null,property:null,results:J,security:null,unselectable:null},space:`html`,transform:eF}),nF=ZP({attributes:{accentHeight:`accent-height`,alignmentBaseline:`alignment-baseline`,arabicForm:`arabic-form`,baselineShift:`baseline-shift`,capHeight:`cap-height`,className:`class`,clipPath:`clip-path`,clipRule:`clip-rule`,colorInterpolation:`color-interpolation`,colorInterpolationFilters:`color-interpolation-filters`,colorProfile:`color-profile`,colorRendering:`color-rendering`,crossOrigin:`crossorigin`,dataType:`datatype`,dominantBaseline:`dominant-baseline`,enableBackground:`enable-background`,fillOpacity:`fill-opacity`,fillRule:`fill-rule`,floodColor:`flood-color`,floodOpacity:`flood-opacity`,fontFamily:`font-family`,fontSize:`font-size`,fontSizeAdjust:`font-size-adjust`,fontStretch:`font-stretch`,fontStyle:`font-style`,fontVariant:`font-variant`,fontWeight:`font-weight`,glyphName:`glyph-name`,glyphOrientationHorizontal:`glyph-orientation-horizontal`,glyphOrientationVertical:`glyph-orientation-vertical`,hrefLang:`hreflang`,horizAdvX:`horiz-adv-x`,horizOriginX:`horiz-origin-x`,horizOriginY:`horiz-origin-y`,imageRendering:`image-rendering`,letterSpacing:`letter-spacing`,lightingColor:`lighting-color`,markerEnd:`marker-end`,markerMid:`marker-mid`,markerStart:`marker-start`,maskType:`mask-type`,navDown:`nav-down`,navDownLeft:`nav-down-left`,navDownRight:`nav-down-right`,navLeft:`nav-left`,navNext:`nav-next`,navPrev:`nav-prev`,navRight:`nav-right`,navUp:`nav-up`,navUpLeft:`nav-up-left`,navUpRight:`nav-up-right`,onAbort:`onabort`,onActivate:`onactivate`,onAfterPrint:`onafterprint`,onBeforePrint:`onbeforeprint`,onBegin:`onbegin`,onCancel:`oncancel`,onCanPlay:`oncanplay`,onCanPlayThrough:`oncanplaythrough`,onChange:`onchange`,onClick:`onclick`,onClose:`onclose`,onCopy:`oncopy`,onCueChange:`oncuechange`,onCut:`oncut`,onDblClick:`ondblclick`,onDrag:`ondrag`,onDragEnd:`ondragend`,onDragEnter:`ondragenter`,onDragExit:`ondragexit`,onDragLeave:`ondragleave`,onDragOver:`ondragover`,onDragStart:`ondragstart`,onDrop:`ondrop`,onDurationChange:`ondurationchange`,onEmptied:`onemptied`,onEnd:`onend`,onEnded:`onended`,onError:`onerror`,onFocus:`onfocus`,onFocusIn:`onfocusin`,onFocusOut:`onfocusout`,onHashChange:`onhashchange`,onInput:`oninput`,onInvalid:`oninvalid`,onKeyDown:`onkeydown`,onKeyPress:`onkeypress`,onKeyUp:`onkeyup`,onLoad:`onload`,onLoadedData:`onloadeddata`,onLoadedMetadata:`onloadedmetadata`,onLoadStart:`onloadstart`,onMessage:`onmessage`,onMouseDown:`onmousedown`,onMouseEnter:`onmouseenter`,onMouseLeave:`onmouseleave`,onMouseMove:`onmousemove`,onMouseOut:`onmouseout`,onMouseOver:`onmouseover`,onMouseUp:`onmouseup`,onMouseWheel:`onmousewheel`,onOffline:`onoffline`,onOnline:`ononline`,onPageHide:`onpagehide`,onPageShow:`onpageshow`,onPaste:`onpaste`,onPause:`onpause`,onPlay:`onplay`,onPlaying:`onplaying`,onPopState:`onpopstate`,onProgress:`onprogress`,onRateChange:`onratechange`,onRepeat:`onrepeat`,onReset:`onreset`,onResize:`onresize`,onScroll:`onscroll`,onSeeked:`onseeked`,onSeeking:`onseeking`,onSelect:`onselect`,onShow:`onshow`,onStalled:`onstalled`,onStorage:`onstorage`,onSubmit:`onsubmit`,onSuspend:`onsuspend`,onTimeUpdate:`ontimeupdate`,onToggle:`ontoggle`,onUnload:`onunload`,onVolumeChange:`onvolumechange`,onWaiting:`onwaiting`,onZoom:`onzoom`,overlinePosition:`overline-position`,overlineThickness:`overline-thickness`,paintOrder:`paint-order`,panose1:`panose-1`,pointerEvents:`pointer-events`,referrerPolicy:`referrerpolicy`,renderingIntent:`rendering-intent`,shapeRendering:`shape-rendering`,stopColor:`stop-color`,stopOpacity:`stop-opacity`,strikethroughPosition:`strikethrough-position`,strikethroughThickness:`strikethrough-thickness`,strokeDashArray:`stroke-dasharray`,strokeDashOffset:`stroke-dashoffset`,strokeLineCap:`stroke-linecap`,strokeLineJoin:`stroke-linejoin`,strokeMiterLimit:`stroke-miterlimit`,strokeOpacity:`stroke-opacity`,strokeWidth:`stroke-width`,tabIndex:`tabindex`,textAnchor:`text-anchor`,textDecoration:`text-decoration`,textRendering:`text-rendering`,transformOrigin:`transform-origin`,typeOf:`typeof`,underlinePosition:`underline-position`,underlineThickness:`underline-thickness`,unicodeBidi:`unicode-bidi`,unicodeRange:`unicode-range`,unitsPerEm:`units-per-em`,vAlphabetic:`v-alphabetic`,vHanging:`v-hanging`,vIdeographic:`v-ideographic`,vMathematical:`v-mathematical`,vectorEffect:`vector-effect`,vertAdvY:`vert-adv-y`,vertOriginX:`vert-origin-x`,vertOriginY:`vert-origin-y`,wordSpacing:`word-spacing`,writingMode:`writing-mode`,xHeight:`x-height`,playbackOrder:`playbackorder`,timelineBegin:`timelinebegin`},properties:{about:KP,accentHeight:J,accumulate:null,additive:null,alignmentBaseline:null,alphabetic:J,amplitude:J,arabicForm:null,ascent:J,attributeName:null,attributeType:null,azimuth:J,bandwidth:null,baselineShift:null,baseFrequency:null,baseProfile:null,bbox:null,begin:null,bias:J,by:null,calcMode:null,capHeight:J,className:WP,clip:null,clipPath:null,clipPathUnits:null,clipRule:null,color:null,colorInterpolation:null,colorInterpolationFilters:null,colorProfile:null,colorRendering:null,content:null,contentScriptType:null,contentStyleType:null,crossOrigin:null,cursor:null,cx:null,cy:null,d:null,dataType:null,defaultAction:null,descent:J,diffuseConstant:J,direction:null,display:null,dur:null,divisor:J,dominantBaseline:null,download:VP,dx:null,dy:null,edgeMode:null,editable:null,elevation:J,enableBackground:null,end:null,event:null,exponent:J,externalResourcesRequired:null,fill:null,fillOpacity:J,fillRule:null,filter:null,filterRes:null,filterUnits:null,floodColor:null,floodOpacity:null,focusable:null,focusHighlight:null,fontFamily:null,fontSize:null,fontSizeAdjust:null,fontStretch:null,fontStyle:null,fontVariant:null,fontWeight:null,format:null,fr:null,from:null,fx:null,fy:null,g1:GP,g2:GP,glyphName:GP,glyphOrientationHorizontal:null,glyphOrientationVertical:null,glyphRef:null,gradientTransform:null,gradientUnits:null,handler:null,hanging:J,hatchContentUnits:null,hatchUnits:null,height:null,href:null,hrefLang:null,horizAdvX:J,horizOriginX:J,horizOriginY:J,id:null,ideographic:J,imageRendering:null,initialVisibility:null,in:null,in2:null,intercept:J,k:J,k1:J,k2:J,k3:J,k4:J,kernelMatrix:KP,kernelUnitLength:null,keyPoints:null,keySplines:null,keyTimes:null,kerning:null,lang:null,lengthAdjust:null,letterSpacing:null,lightingColor:null,limitingConeAngle:J,local:null,markerEnd:null,markerMid:null,markerStart:null,markerHeight:null,markerUnits:null,markerWidth:null,mask:null,maskContentUnits:null,maskType:null,maskUnits:null,mathematical:null,max:null,media:null,mediaCharacterEncoding:null,mediaContentEncodings:null,mediaSize:J,mediaTime:null,method:null,min:null,mode:null,name:null,navDown:null,navDownLeft:null,navDownRight:null,navLeft:null,navNext:null,navPrev:null,navRight:null,navUp:null,navUpLeft:null,navUpRight:null,numOctaves:null,observer:null,offset:null,onAbort:null,onActivate:null,onAfterPrint:null,onBeforePrint:null,onBegin:null,onCancel:null,onCanPlay:null,onCanPlayThrough:null,onChange:null,onClick:null,onClose:null,onCopy:null,onCueChange:null,onCut:null,onDblClick:null,onDrag:null,onDragEnd:null,onDragEnter:null,onDragExit:null,onDragLeave:null,onDragOver:null,onDragStart:null,onDrop:null,onDurationChange:null,onEmptied:null,onEnd:null,onEnded:null,onError:null,onFocus:null,onFocusIn:null,onFocusOut:null,onHashChange:null,onInput:null,onInvalid:null,onKeyDown:null,onKeyPress:null,onKeyUp:null,onLoad:null,onLoadedData:null,onLoadedMetadata:null,onLoadStart:null,onMessage:null,onMouseDown:null,onMouseEnter:null,onMouseLeave:null,onMouseMove:null,onMouseOut:null,onMouseOver:null,onMouseUp:null,onMouseWheel:null,onOffline:null,onOnline:null,onPageHide:null,onPageShow:null,onPaste:null,onPause:null,onPlay:null,onPlaying:null,onPopState:null,onProgress:null,onRateChange:null,onRepeat:null,onReset:null,onResize:null,onScroll:null,onSeeked:null,onSeeking:null,onSelect:null,onShow:null,onStalled:null,onStorage:null,onSubmit:null,onSuspend:null,onTimeUpdate:null,onToggle:null,onUnload:null,onVolumeChange:null,onWaiting:null,onZoom:null,opacity:null,operator:null,order:null,orient:null,orientation:null,origin:null,overflow:null,overlay:null,overlinePosition:J,overlineThickness:J,paintOrder:null,panose1:null,path:null,pathLength:J,patternContentUnits:null,patternTransform:null,patternUnits:null,phase:null,ping:WP,pitch:null,playbackOrder:null,pointerEvents:null,points:null,pointsAtX:J,pointsAtY:J,pointsAtZ:J,preserveAlpha:null,preserveAspectRatio:null,primitiveUnits:null,propagate:null,property:KP,r:null,radius:null,referrerPolicy:null,refX:null,refY:null,rel:KP,rev:KP,renderingIntent:null,repeatCount:null,repeatDur:null,requiredExtensions:KP,requiredFeatures:KP,requiredFonts:KP,requiredFormats:KP,resource:null,restart:null,result:null,rotate:null,rx:null,ry:null,scale:null,seed:null,shapeRendering:null,side:null,slope:null,snapshotTime:null,specularConstant:J,specularExponent:J,spreadMethod:null,spacing:null,startOffset:null,stdDeviation:null,stemh:null,stemv:null,stitchTiles:null,stopColor:null,stopOpacity:null,strikethroughPosition:J,strikethroughThickness:J,string:null,stroke:null,strokeDashArray:KP,strokeDashOffset:null,strokeLineCap:null,strokeLineJoin:null,strokeMiterLimit:J,strokeOpacity:J,strokeWidth:null,style:null,surfaceScale:J,syncBehavior:null,syncBehaviorDefault:null,syncMaster:null,syncTolerance:null,syncToleranceDefault:null,systemLanguage:KP,tabIndex:J,tableValues:null,target:null,targetX:J,targetY:J,textAnchor:null,textDecoration:null,textRendering:null,textLength:null,timelineBegin:null,title:null,transformBehavior:null,type:null,typeOf:KP,to:null,transform:null,transformOrigin:null,u1:null,u2:null,underlinePosition:J,underlineThickness:J,unicode:null,unicodeBidi:null,unicodeRange:null,unitsPerEm:J,values:null,vAlphabetic:J,vMathematical:J,vectorEffect:null,vHanging:J,vIdeographic:J,version:null,vertAdvY:J,vertOriginX:J,vertOriginY:J,viewBox:null,viewTarget:null,visibility:null,width:null,widths:null,wordSpacing:null,writingMode:null,x:null,x1:null,x2:null,xChannelSelector:null,xHeight:J,y:null,y1:null,y2:null,yChannelSelector:null,z:null,zoomAndPan:null},space:`svg`,transform:$P}),rF=ZP({properties:{xLinkActuate:null,xLinkArcRole:null,xLinkHref:null,xLinkRole:null,xLinkShow:null,xLinkTitle:null,xLinkType:null},space:`xlink`,transform(e,t){return`xlink:`+t.slice(5).toLowerCase()}}),iF=ZP({attributes:{xmlnsxlink:`xmlns:xlink`},properties:{xmlnsXLink:null,xmlns:null},space:`xmlns`,transform:eF}),aF=ZP({properties:{xmlBase:null,xmlLang:null,xmlSpace:null},space:`xml`,transform(e,t){return`xml:`+t.slice(3).toLowerCase()}}),oF={classId:`classID`,dataType:`datatype`,itemId:`itemID`,strokeDashArray:`strokeDasharray`,strokeDashOffset:`strokeDashoffset`,strokeLineCap:`strokeLinecap`,strokeLineJoin:`strokeLinejoin`,strokeMiterLimit:`strokeMiterlimit`,typeOf:`typeof`,xLinkActuate:`xlinkActuate`,xLinkArcRole:`xlinkArcrole`,xLinkHref:`xlinkHref`,xLinkRole:`xlinkRole`,xLinkShow:`xlinkShow`,xLinkTitle:`xlinkTitle`,xLinkType:`xlinkType`,xmlnsXLink:`xmlnsXlink`},sF=/[A-Z]/g,cF=/-[a-z]/g,lF=/^data[-\w.:]+$/i;function uF(e,t){let n=LP(t),r=t,i=RP;if(n in e.normal)return e.property[e.normal[n]];if(n.length>4&&n.slice(0,4)===`data`&&lF.test(t)){if(t.charAt(4)===`-`){let e=t.slice(5).replace(cF,fF);r=`data`+e.charAt(0).toUpperCase()+e.slice(1)}else{let e=t.slice(4);if(!cF.test(e)){let n=e.replace(sF,dF);n.charAt(0)!==`-`&&(n=`-`+n),t=`data`+n}}i=YP}return new i(r,t)}function dF(e){return`-`+e.toLowerCase()}function fF(e){return e.charAt(1).toUpperCase()}var pF=IP([QP,tF,rF,iF,aF],`html`),mF=IP([QP,nF,rF,iF,aF],`svg`);function hF(e){return e.join(` `).trim()}var gF=o(((e,t)=>{var n=/\/\*[^*]*\*+([^/*][^*]*\*+)*\//g,r=/\n/g,i=/^\s*/,a=/^(\*?[-#/*\\\w]+(\[[0-9a-z_-]+\])?)\s*/,o=/^:\s*/,s=/^((?:'(?:\\'|.)*?'|"(?:\\"|.)*?"|\([^)]*?\)|[^};])+)/,c=/^[;\s]*/,l=/^\s+|\s+$/g;function u(e,t){if(typeof e!=`string`)throw TypeError(`First argument must be a string`);if(!e)return[];t||={};var l=1,u=1;function f(e){var t=e.match(r);t&&(l+=t.length);var n=e.lastIndexOf(`
103
103
  `);u=~n?e.length-n:u+e.length}function p(){var e={line:l,column:u};return function(t){return t.position=new m(e),_(),t}}function m(e){this.start=e,this.end={line:l,column:u},this.source=t.source}m.prototype.content=e;function h(n){var r=Error(t.source+`:`+l+`:`+u+`: `+n);if(r.reason=n,r.filename=t.source,r.line=l,r.column=u,r.source=e,!t.silent)throw r}function g(t){var n=t.exec(e);if(n){var r=n[0];return f(r),e=e.slice(r.length),n}}function _(){g(i)}function v(e){var t;for(e||=[];t=y();)t!==!1&&e.push(t);return e}function y(){var t=p();if(e.charAt(0)==`/`&&e.charAt(1)==`*`){for(var n=2;e.charAt(n)!=``&&(e.charAt(n)!=`*`||e.charAt(n+1)!=`/`);)++n;if(n+=2,e.charAt(n-1)===``)return h(`End of comment missing`);var r=e.slice(2,n-2);return u+=2,f(r),e=e.slice(n),u+=2,t({type:`comment`,comment:r})}}function b(){var e=p(),t=g(a);if(t){if(y(),!g(o))return h(`property missing ':'`);var r=g(s),i=e({type:`declaration`,property:d(t[0].replace(n,``)),value:r?d(r[0].replace(n,``)):``});return g(c),i}}function x(){var e=[];v(e);for(var t;t=b();)t!==!1&&(e.push(t),v(e));return e}return _(),x()}function d(e){return e?e.replace(l,``):``}t.exports=u})),_F=o((e=>{var t=e&&e.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(e,"__esModule",{value:!0}),e.default=r;var n=t(gF());function r(e,t){let r=null;if(!e||typeof e!=`string`)return r;let i=(0,n.default)(e),a=typeof t==`function`;return i.forEach(e=>{if(e.type!==`declaration`)return;let{property:n,value:i}=e;a?t(n,i,e):i&&(r||={},r[n]=i)}),r}})),vF=o((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.camelCase=void 0;var t=/^--[a-zA-Z0-9_-]+$/,n=/-([a-z])/g,r=/^[^-]+$/,i=/^-(webkit|moz|ms|o|khtml)-/,a=/^-(ms)-/,o=function(e){return!e||r.test(e)||t.test(e)},s=function(e,t){return t.toUpperCase()},c=function(e,t){return`${t}-`};e.camelCase=function(e,t){return t===void 0&&(t={}),o(e)?e:(e=e.toLowerCase(),e=t.reactCompat?e.replace(a,c):e.replace(i,c),e.replace(n,s))}})),yF=o(((e,t)=>{var n=(e&&e.__importDefault||function(e){return e&&e.__esModule?e:{default:e}})(_F()),r=vF();function i(e,t){var i={};return!e||typeof e!=`string`||(0,n.default)(e,function(e,n){e&&n&&(i[(0,r.camelCase)(e,t)]=n)}),i}i.default=i,t.exports=i})),bF=SF(`end`),xF=SF(`start`);function SF(e){return t;function t(t){let n=t&&t.position&&t.position[e]||{};if(typeof n.line==`number`&&n.line>0&&typeof n.column==`number`&&n.column>0)return{line:n.line,column:n.column,offset:typeof n.offset==`number`&&n.offset>-1?n.offset:void 0}}}function CF(e){let t=xF(e),n=bF(e);if(t&&n)return{start:t,end:n}}function wF(e){return!e||typeof e!=`object`?``:`position`in e||`type`in e?EF(e.position):`start`in e||`end`in e?EF(e):`line`in e||`column`in e?TF(e):``}function TF(e){return DF(e&&e.line)+`:`+DF(e&&e.column)}function EF(e){return TF(e&&e.start)+`-`+TF(e&&e.end)}function DF(e){return e&&typeof e==`number`?e:1}var OF=class extends Error{constructor(e,t,n){super(),typeof t==`string`&&(n=t,t=void 0);let r=``,i={},a=!1;if(t&&(i=`line`in t&&`column`in t||`start`in t&&`end`in t?{place:t}:`type`in t?{ancestors:[t],place:t.position}:{...t}),typeof e==`string`?r=e:!i.cause&&e&&(a=!0,r=e.message,i.cause=e),!i.ruleId&&!i.source&&typeof n==`string`){let e=n.indexOf(`:`);e===-1?i.ruleId=n:(i.source=n.slice(0,e),i.ruleId=n.slice(e+1))}if(!i.place&&i.ancestors&&i.ancestors){let e=i.ancestors[i.ancestors.length-1];e&&(i.place=e.position)}let o=i.place&&`start`in i.place?i.place.start:i.place;this.ancestors=i.ancestors||void 0,this.cause=i.cause||void 0,this.column=o?o.column:void 0,this.fatal=void 0,this.file=``,this.message=r,this.line=o?o.line:void 0,this.name=wF(i.place)||`1:1`,this.place=i.place||void 0,this.reason=this.message,this.ruleId=i.ruleId||void 0,this.source=i.source||void 0,this.stack=a&&i.cause&&typeof i.cause.stack==`string`?i.cause.stack:``,this.actual=void 0,this.expected=void 0,this.note=void 0,this.url=void 0}};OF.prototype.file=``,OF.prototype.name=``,OF.prototype.reason=``,OF.prototype.message=``,OF.prototype.stack=``,OF.prototype.column=void 0,OF.prototype.line=void 0,OF.prototype.ancestors=void 0,OF.prototype.cause=void 0,OF.prototype.fatal=void 0,OF.prototype.place=void 0,OF.prototype.ruleId=void 0,OF.prototype.source=void 0;var kF=l(yF(),1),AF={}.hasOwnProperty,jF=new Map,MF=/[A-Z]/g,NF=new Set([`table`,`tbody`,`thead`,`tfoot`,`tr`]),PF=new Set([`td`,`th`]),FF=`https://github.com/syntax-tree/hast-util-to-jsx-runtime`;function IF(e,t){if(!t||t.Fragment===void 0)throw TypeError("Expected `Fragment` in options");let n=t.filePath||void 0,r;if(t.development){if(typeof t.jsxDEV!=`function`)throw TypeError("Expected `jsxDEV` in options when `development: true`");r=qF(n,t.jsxDEV)}else{if(typeof t.jsx!=`function`)throw TypeError("Expected `jsx` in production options");if(typeof t.jsxs!=`function`)throw TypeError("Expected `jsxs` in production options");r=KF(n,t.jsx,t.jsxs)}let i={Fragment:t.Fragment,ancestors:[],components:t.components||{},create:r,elementAttributeNameCase:t.elementAttributeNameCase||`react`,evaluater:t.createEvaluater?t.createEvaluater():void 0,filePath:n,ignoreInvalidStyle:t.ignoreInvalidStyle||!1,passKeys:t.passKeys!==!1,passNode:t.passNode||!1,schema:t.space===`svg`?mF:pF,stylePropertyNameCase:t.stylePropertyNameCase||`dom`,tableCellAlignToStyle:t.tableCellAlignToStyle!==!1},a=LF(i,e,void 0);return a&&typeof a!=`string`?a:i.create(e,i.Fragment,{children:a||void 0},void 0)}function LF(e,t,n){if(t.type===`element`)return RF(e,t,n);if(t.type===`mdxFlowExpression`||t.type===`mdxTextExpression`)return zF(e,t);if(t.type===`mdxJsxFlowElement`||t.type===`mdxJsxTextElement`)return VF(e,t,n);if(t.type===`mdxjsEsm`)return BF(e,t);if(t.type===`root`)return HF(e,t,n);if(t.type===`text`)return UF(e,t)}function RF(e,t,n){let r=e.schema,i=r;t.tagName.toLowerCase()===`svg`&&r.space===`html`&&(i=mF,e.schema=i),e.ancestors.push(t);let a=$F(e,t.tagName,!1),o=JF(e,t),s=XF(e,t);return NF.has(t.tagName)&&(s=s.filter(function(e){return typeof e!=`string`||!NP(e)})),WF(e,o,a,t),GF(o,s),e.ancestors.pop(),e.schema=r,e.create(t,a,o,n)}function zF(e,t){if(t.data&&t.data.estree&&e.evaluater){let n=t.data.estree.body[0];return n.type,e.evaluater.evaluateExpression(n.expression)}eI(e,t.position)}function BF(e,t){if(t.data&&t.data.estree&&e.evaluater)return e.evaluater.evaluateProgram(t.data.estree);eI(e,t.position)}function VF(e,t,n){let r=e.schema,i=r;t.name===`svg`&&r.space===`html`&&(i=mF,e.schema=i),e.ancestors.push(t);let a=t.name===null?e.Fragment:$F(e,t.name,!0),o=YF(e,t),s=XF(e,t);return WF(e,o,a,t),GF(o,s),e.ancestors.pop(),e.schema=r,e.create(t,a,o,n)}function HF(e,t,n){let r={};return GF(r,XF(e,t)),e.create(t,e.Fragment,r,n)}function UF(e,t){return t.value}function WF(e,t,n,r){typeof n!=`string`&&n!==e.Fragment&&e.passNode&&(t.node=r)}function GF(e,t){if(t.length>0){let n=t.length>1?t:t[0];n&&(e.children=n)}}function KF(e,t,n){return r;function r(e,r,i,a){let o=Array.isArray(i.children)?n:t;return a?o(r,i,a):o(r,i)}}function qF(e,t){return n;function n(n,r,i,a){let o=Array.isArray(i.children),s=xF(n);return t(r,i,a,o,{columnNumber:s?s.column-1:void 0,fileName:e,lineNumber:s?s.line:void 0},void 0)}}function JF(e,t){let n={},r,i;for(i in t.properties)if(i!==`children`&&AF.call(t.properties,i)){let a=ZF(e,i,t.properties[i]);if(a){let[i,o]=a;e.tableCellAlignToStyle&&i===`align`&&typeof o==`string`&&PF.has(t.tagName)?r=o:n[i]=o}}if(r){let t=n.style||={};t[e.stylePropertyNameCase===`css`?`text-align`:`textAlign`]=r}return n}function YF(e,t){let n={};for(let r of t.attributes)if(r.type===`mdxJsxExpressionAttribute`){if(r.data&&r.data.estree&&e.evaluater){let t=r.data.estree.body[0];t.type;let i=t.expression;i.type;let a=i.properties[0];a.type,Object.assign(n,e.evaluater.evaluateExpression(a.argument))}else eI(e,t.position)}else{let i=r.name,a;if(r.value&&typeof r.value==`object`){if(r.value.data&&r.value.data.estree&&e.evaluater){let t=r.value.data.estree.body[0];t.type,a=e.evaluater.evaluateExpression(t.expression)}else eI(e,t.position)}else a=r.value===null||r.value;n[i]=a}return n}function XF(e,t){let n=[],r=-1,i=e.passKeys?new Map:jF;for(;++r<t.children.length;){let a=t.children[r],o;if(e.passKeys){let e=a.type===`element`?a.tagName:a.type===`mdxJsxFlowElement`||a.type===`mdxJsxTextElement`?a.name:void 0;if(e){let t=i.get(e)||0;o=e+`-`+t,i.set(e,t+1)}}let s=LF(e,a,o);s!==void 0&&n.push(s)}return n}function ZF(e,t,n){let r=uF(e.schema,t);if(!(n==null||typeof n==`number`&&Number.isNaN(n))){if(Array.isArray(n)&&(n=r.commaSeparated?DP(n):hF(n)),r.property===`style`){let t=typeof n==`object`?n:QF(e,String(n));return e.stylePropertyNameCase===`css`&&(t=tI(t)),[`style`,t]}return[e.elementAttributeNameCase===`react`&&r.space?oF[r.property]||r.property:r.attribute,n]}}function QF(e,t){try{return(0,kF.default)(t,{reactCompat:!0})}catch(t){if(e.ignoreInvalidStyle)return{};let n=t,r=new OF("Cannot parse `style` attribute",{ancestors:e.ancestors,cause:n,ruleId:`style`,source:`hast-util-to-jsx-runtime`});throw r.file=e.filePath||void 0,r.url=FF+`#cannot-parse-style-attribute`,r}}function $F(e,t,n){let r;if(!n)r={type:`Literal`,value:t};else if(t.includes(`.`)){let e=t.split(`.`),n=-1,i;for(;++n<e.length;){let t=jP(e[n])?{type:`Identifier`,name:e[n]}:{type:`Literal`,value:e[n]};i=i?{type:`MemberExpression`,object:i,property:t,computed:!!(n&&t.type===`Literal`),optional:!1}:t}r=i}else r=jP(t)&&!/^[a-z]/.test(t)?{type:`Identifier`,name:t}:{type:`Literal`,value:t};if(r.type===`Literal`){let t=r.value;return AF.call(e.components,t)?e.components[t]:t}if(e.evaluater)return e.evaluater.evaluateExpression(r);eI(e)}function eI(e,t){let n=new OF("Cannot handle MDX estrees without `createEvaluater`",{ancestors:e.ancestors,place:t,ruleId:`mdx-estree`,source:`hast-util-to-jsx-runtime`});throw n.file=e.filePath||void 0,n.url=FF+`#cannot-handle-mdx-estrees-without-createevaluater`,n}function tI(e){let t={},n;for(n in e)AF.call(e,n)&&(t[nI(n)]=e[n]);return t}function nI(e){let t=e.replace(MF,rI);return t.slice(0,3)===`ms-`&&(t=`-`+t),t}function rI(e){return`-`+e.toLowerCase()}var iI={action:[`form`],cite:[`blockquote`,`del`,`ins`,`q`],data:[`object`],formAction:[`button`,`input`],href:[`a`,`area`,`base`,`link`],icon:[`menuitem`],itemId:null,manifest:[`html`],ping:[`a`,`area`],poster:[`video`],src:[`audio`,`embed`,`iframe`,`img`,`input`,`script`,`source`,`track`,`video`]},aI={};function oI(e,t){let n=t||aI;return sI(e,typeof n.includeImageAlt!=`boolean`||n.includeImageAlt,typeof n.includeHtml!=`boolean`||n.includeHtml)}function sI(e,t,n){if(lI(e)){if(`value`in e)return e.type===`html`&&!n?``:e.value;if(t&&`alt`in e&&e.alt)return e.alt;if(`children`in e)return cI(e.children,t,n)}return Array.isArray(e)?cI(e,t,n):``}function cI(e,t,n){let r=[],i=-1;for(;++i<e.length;)r[i]=sI(e[i],t,n);return r.join(``)}function lI(e){return!!(e&&typeof e==`object`)}var uI=document.createElement(`i`);function dI(e){let t=`&`+e+`;`;uI.innerHTML=t;let n=uI.textContent;return n.charCodeAt(n.length-1)===59&&e!==`semi`?!1:n!==t&&n}function fI(e,t,n,r){let i=e.length,a=0,o;if(t=t<0?-t>i?0:i+t:t>i?i:t,n=n>0?n:0,r.length<1e4)o=Array.from(r),o.unshift(t,n),e.splice(...o);else for(n&&e.splice(t,n);a<r.length;)o=r.slice(a,a+1e4),o.unshift(t,0),e.splice(...o),a+=1e4,t+=1e4}function pI(e,t){return e.length>0?(fI(e,e.length,0,t),e):t}var mI={}.hasOwnProperty;function hI(e){let t={},n=-1;for(;++n<e.length;)gI(t,e[n]);return t}function gI(e,t){let n;for(n in t){let r=(mI.call(e,n)?e[n]:void 0)||(e[n]={}),i=t[n],a;if(i)for(a in i){mI.call(r,a)||(r[a]=[]);let e=i[a];_I(r[a],Array.isArray(e)?e:e?[e]:[])}}}function _I(e,t){let n=-1,r=[];for(;++n<t.length;)(t[n].add===`after`?e:r).push(t[n]);fI(e,0,0,r)}function vI(e,t){let n=Number.parseInt(e,t);return n<9||n===11||n>13&&n<32||n>126&&n<160||n>55295&&n<57344||n>64975&&n<65008||(n&65535)==65535||(n&65535)==65534||n>1114111?`�`:String.fromCodePoint(n)}function yI(e){return e.replace(/[\t\n\r ]+/g,` `).replace(/^ | $/g,``).toLowerCase().toUpperCase()}var bI=MI(/[A-Za-z]/),xI=MI(/[\dA-Za-z]/),SI=MI(/[#-'*+\--9=?A-Z^-~]/);function CI(e){return e!==null&&(e<32||e===127)}var wI=MI(/\d/),TI=MI(/[\dA-Fa-f]/),EI=MI(/[!-/:-@[-`{-~]/);function DI(e){return e!==null&&e<-2}function OI(e){return e!==null&&(e<0||e===32)}function kI(e){return e===-2||e===-1||e===32}var AI=MI(/\p{P}|\p{S}/u),jI=MI(/\s/);function MI(e){return t;function t(t){return t!==null&&t>-1&&e.test(String.fromCharCode(t))}}function NI(e){let t=[],n=-1,r=0,i=0;for(;++n<e.length;){let a=e.charCodeAt(n),o=``;if(a===37&&xI(e.charCodeAt(n+1))&&xI(e.charCodeAt(n+2)))i=2;else if(a<128)/[!#$&-;=?-Z_a-z~]/.test(String.fromCharCode(a))||(o=String.fromCharCode(a));else if(a>55295&&a<57344){let t=e.charCodeAt(n+1);a<56320&&t>56319&&t<57344?(o=String.fromCharCode(a,t),i=1):o=`�`}else o=String.fromCharCode(a);o&&=(t.push(e.slice(r,n),encodeURIComponent(o)),r=n+i+1,``),i&&=(n+=i,0)}return t.join(``)+e.slice(r)}function PI(e,t,n,r){let i=r?r-1:1/0,a=0;return o;function o(r){return kI(r)?(e.enter(n),s(r)):t(r)}function s(r){return kI(r)&&a++<i?(e.consume(r),s):(e.exit(n),t(r))}}var FI={tokenize:II};function II(e){let t=e.attempt(this.parser.constructs.contentInitial,r,i),n;return t;function r(n){if(n===null){e.consume(n);return}return e.enter(`lineEnding`),e.consume(n),e.exit(`lineEnding`),PI(e,t,`linePrefix`)}function i(t){return e.enter(`paragraph`),a(t)}function a(t){let r=e.enter(`chunkText`,{contentType:`text`,previous:n});return n&&(n.next=r),n=r,o(t)}function o(t){if(t===null){e.exit(`chunkText`),e.exit(`paragraph`),e.consume(t);return}return DI(t)?(e.consume(t),e.exit(`chunkText`),a):(e.consume(t),o)}}var LI={tokenize:zI},RI={tokenize:BI};function zI(e){let t=this,n=[],r=0,i,a,o;return s;function s(i){if(r<n.length){let a=n[r];return t.containerState=a[1],e.attempt(a[0].continuation,c,l)(i)}return l(i)}function c(e){if(r++,t.containerState._closeFlow){t.containerState._closeFlow=void 0,i&&v();let n=t.events.length,a=n,o;for(;a--;)if(t.events[a][0]===`exit`&&t.events[a][1].type===`chunkFlow`){o=t.events[a][1].end;break}_(r);let s=n;for(;s<t.events.length;)t.events[s][1].end={...o},s++;return fI(t.events,a+1,0,t.events.slice(n)),t.events.length=s,l(e)}return s(e)}function l(a){if(r===n.length){if(!i)return f(a);if(i.currentConstruct&&i.currentConstruct.concrete)return m(a);t.interrupt=!(!i.currentConstruct||i._gfmTableDynamicInterruptHack)}return t.containerState={},e.check(RI,u,d)(a)}function u(e){return i&&v(),_(r),f(e)}function d(e){return t.parser.lazy[t.now().line]=r!==n.length,o=t.now().offset,m(e)}function f(n){return t.containerState={},e.attempt(RI,p,m)(n)}function p(e){return r++,n.push([t.currentConstruct,t.containerState]),f(e)}function m(n){if(n===null){i&&v(),_(0),e.consume(n);return}return i||=t.parser.flow(t.now()),e.enter(`chunkFlow`,{_tokenizer:i,contentType:`flow`,previous:a}),h(n)}function h(n){if(n===null){g(e.exit(`chunkFlow`),!0),_(0),e.consume(n);return}return DI(n)?(e.consume(n),g(e.exit(`chunkFlow`)),r=0,t.interrupt=void 0,s):(e.consume(n),h)}function g(e,n){let s=t.sliceStream(e);if(n&&s.push(null),e.previous=a,a&&(a.next=e),a=e,i.defineSkip(e.start),i.write(s),t.parser.lazy[e.start.line]){let e=i.events.length;for(;e--;)if(i.events[e][1].start.offset<o&&(!i.events[e][1].end||i.events[e][1].end.offset>o))return;let n=t.events.length,a=n,s,c;for(;a--;)if(t.events[a][0]===`exit`&&t.events[a][1].type===`chunkFlow`){if(s){c=t.events[a][1].end;break}s=!0}for(_(r),e=n;e<t.events.length;)t.events[e][1].end={...c},e++;fI(t.events,a+1,0,t.events.slice(n)),t.events.length=e}}function _(r){let i=n.length;for(;i-->r;){let r=n[i];t.containerState=r[1],r[0].exit.call(t,e)}n.length=r}function v(){i.write([null]),a=void 0,i=void 0,t.containerState._closeFlow=void 0}}function BI(e,t,n){return PI(e,e.attempt(this.parser.constructs.document,t,n),`linePrefix`,this.parser.constructs.disable.null.includes(`codeIndented`)?void 0:4)}function VI(e){if(e===null||OI(e)||jI(e))return 1;if(AI(e))return 2}function HI(e,t,n){let r=[],i=-1;for(;++i<e.length;){let a=e[i].resolveAll;a&&!r.includes(a)&&(t=a(t,n),r.push(a))}return t}var UI={name:`attention`,resolveAll:WI,tokenize:GI};function WI(e,t){let n=-1,r,i,a,o,s,c,l,u;for(;++n<e.length;)if(e[n][0]===`enter`&&e[n][1].type===`attentionSequence`&&e[n][1]._close){for(r=n;r--;)if(e[r][0]===`exit`&&e[r][1].type===`attentionSequence`&&e[r][1]._open&&t.sliceSerialize(e[r][1]).charCodeAt(0)===t.sliceSerialize(e[n][1]).charCodeAt(0)){if((e[r][1]._close||e[n][1]._open)&&(e[n][1].end.offset-e[n][1].start.offset)%3&&!((e[r][1].end.offset-e[r][1].start.offset+e[n][1].end.offset-e[n][1].start.offset)%3))continue;c=e[r][1].end.offset-e[r][1].start.offset>1&&e[n][1].end.offset-e[n][1].start.offset>1?2:1;let d={...e[r][1].end},f={...e[n][1].start};KI(d,-c),KI(f,c),o={type:c>1?`strongSequence`:`emphasisSequence`,start:d,end:{...e[r][1].end}},s={type:c>1?`strongSequence`:`emphasisSequence`,start:{...e[n][1].start},end:f},a={type:c>1?`strongText`:`emphasisText`,start:{...e[r][1].end},end:{...e[n][1].start}},i={type:c>1?`strong`:`emphasis`,start:{...o.start},end:{...s.end}},e[r][1].end={...o.start},e[n][1].start={...s.end},l=[],e[r][1].end.offset-e[r][1].start.offset&&(l=pI(l,[[`enter`,e[r][1],t],[`exit`,e[r][1],t]])),l=pI(l,[[`enter`,i,t],[`enter`,o,t],[`exit`,o,t],[`enter`,a,t]]),l=pI(l,HI(t.parser.constructs.insideSpan.null,e.slice(r+1,n),t)),l=pI(l,[[`exit`,a,t],[`enter`,s,t],[`exit`,s,t],[`exit`,i,t]]),e[n][1].end.offset-e[n][1].start.offset?(u=2,l=pI(l,[[`enter`,e[n][1],t],[`exit`,e[n][1],t]])):u=0,fI(e,r-1,n-r+3,l),n=r+l.length-u-2;break}}for(n=-1;++n<e.length;)e[n][1].type===`attentionSequence`&&(e[n][1].type=`data`);return e}function GI(e,t){let n=this.parser.constructs.attentionMarkers.null,r=this.previous,i=VI(r),a;return o;function o(t){return a=t,e.enter(`attentionSequence`),s(t)}function s(o){if(o===a)return e.consume(o),s;let c=e.exit(`attentionSequence`),l=VI(o),u=!l||l===2&&i||n.includes(o),d=!i||i===2&&l||n.includes(r);return c._open=!!(a===42?u:u&&(i||!d)),c._close=!!(a===42?d:d&&(l||!u)),t(o)}}function KI(e,t){e.column+=t,e.offset+=t,e._bufferIndex+=t}var qI={name:`autolink`,tokenize:JI};function JI(e,t,n){let r=0;return i;function i(t){return e.enter(`autolink`),e.enter(`autolinkMarker`),e.consume(t),e.exit(`autolinkMarker`),e.enter(`autolinkProtocol`),a}function a(t){return bI(t)?(e.consume(t),o):t===64?n(t):l(t)}function o(e){return e===43||e===45||e===46||xI(e)?(r=1,s(e)):l(e)}function s(t){return t===58?(e.consume(t),r=0,c):(t===43||t===45||t===46||xI(t))&&r++<32?(e.consume(t),s):(r=0,l(t))}function c(r){return r===62?(e.exit(`autolinkProtocol`),e.enter(`autolinkMarker`),e.consume(r),e.exit(`autolinkMarker`),e.exit(`autolink`),t):r===null||r===32||r===60||CI(r)?n(r):(e.consume(r),c)}function l(t){return t===64?(e.consume(t),u):SI(t)?(e.consume(t),l):n(t)}function u(e){return xI(e)?d(e):n(e)}function d(n){return n===46?(e.consume(n),r=0,u):n===62?(e.exit(`autolinkProtocol`).type=`autolinkEmail`,e.enter(`autolinkMarker`),e.consume(n),e.exit(`autolinkMarker`),e.exit(`autolink`),t):f(n)}function f(t){if((t===45||xI(t))&&r++<63){let n=t===45?f:d;return e.consume(t),n}return n(t)}}var YI={partial:!0,tokenize:XI};function XI(e,t,n){return r;function r(t){return kI(t)?PI(e,i,`linePrefix`)(t):i(t)}function i(e){return e===null||DI(e)?t(e):n(e)}}var ZI={continuation:{tokenize:$I},exit:eL,name:`blockQuote`,tokenize:QI};function QI(e,t,n){let r=this;return i;function i(t){if(t===62){let n=r.containerState;return n.open||=(e.enter(`blockQuote`,{_container:!0}),!0),e.enter(`blockQuotePrefix`),e.enter(`blockQuoteMarker`),e.consume(t),e.exit(`blockQuoteMarker`),a}return n(t)}function a(n){return kI(n)?(e.enter(`blockQuotePrefixWhitespace`),e.consume(n),e.exit(`blockQuotePrefixWhitespace`),e.exit(`blockQuotePrefix`),t):(e.exit(`blockQuotePrefix`),t(n))}}function $I(e,t,n){let r=this;return i;function i(t){return kI(t)?PI(e,a,`linePrefix`,r.parser.constructs.disable.null.includes(`codeIndented`)?void 0:4)(t):a(t)}function a(r){return e.attempt(ZI,t,n)(r)}}function eL(e){e.exit(`blockQuote`)}var tL={name:`characterEscape`,tokenize:nL};function nL(e,t,n){return r;function r(t){return e.enter(`characterEscape`),e.enter(`escapeMarker`),e.consume(t),e.exit(`escapeMarker`),i}function i(r){return EI(r)?(e.enter(`characterEscapeValue`),e.consume(r),e.exit(`characterEscapeValue`),e.exit(`characterEscape`),t):n(r)}}var rL={name:`characterReference`,tokenize:iL};function iL(e,t,n){let r=this,i=0,a,o;return s;function s(t){return e.enter(`characterReference`),e.enter(`characterReferenceMarker`),e.consume(t),e.exit(`characterReferenceMarker`),c}function c(t){return t===35?(e.enter(`characterReferenceMarkerNumeric`),e.consume(t),e.exit(`characterReferenceMarkerNumeric`),l):(e.enter(`characterReferenceValue`),a=31,o=xI,u(t))}function l(t){return t===88||t===120?(e.enter(`characterReferenceMarkerHexadecimal`),e.consume(t),e.exit(`characterReferenceMarkerHexadecimal`),e.enter(`characterReferenceValue`),a=6,o=TI,u):(e.enter(`characterReferenceValue`),a=7,o=wI,u(t))}function u(s){if(s===59&&i){let i=e.exit(`characterReferenceValue`);return o===xI&&!dI(r.sliceSerialize(i))?n(s):(e.enter(`characterReferenceMarker`),e.consume(s),e.exit(`characterReferenceMarker`),e.exit(`characterReference`),t)}return o(s)&&i++<a?(e.consume(s),u):n(s)}}var aL={partial:!0,tokenize:cL},oL={concrete:!0,name:`codeFenced`,tokenize:sL};function sL(e,t,n){let r=this,i={partial:!0,tokenize:x},a=0,o=0,s;return c;function c(e){return l(e)}function l(t){let n=r.events[r.events.length-1];return a=n&&n[1].type===`linePrefix`?n[2].sliceSerialize(n[1],!0).length:0,s=t,e.enter(`codeFenced`),e.enter(`codeFencedFence`),e.enter(`codeFencedFenceSequence`),u(t)}function u(t){return t===s?(o++,e.consume(t),u):o<3?n(t):(e.exit(`codeFencedFenceSequence`),kI(t)?PI(e,d,`whitespace`)(t):d(t))}function d(n){return n===null||DI(n)?(e.exit(`codeFencedFence`),r.interrupt?t(n):e.check(aL,h,b)(n)):(e.enter(`codeFencedFenceInfo`),e.enter(`chunkString`,{contentType:`string`}),f(n))}function f(t){return t===null||DI(t)?(e.exit(`chunkString`),e.exit(`codeFencedFenceInfo`),d(t)):kI(t)?(e.exit(`chunkString`),e.exit(`codeFencedFenceInfo`),PI(e,p,`whitespace`)(t)):t===96&&t===s?n(t):(e.consume(t),f)}function p(t){return t===null||DI(t)?d(t):(e.enter(`codeFencedFenceMeta`),e.enter(`chunkString`,{contentType:`string`}),m(t))}function m(t){return t===null||DI(t)?(e.exit(`chunkString`),e.exit(`codeFencedFenceMeta`),d(t)):t===96&&t===s?n(t):(e.consume(t),m)}function h(t){return e.attempt(i,b,g)(t)}function g(t){return e.enter(`lineEnding`),e.consume(t),e.exit(`lineEnding`),_}function _(t){return a>0&&kI(t)?PI(e,v,`linePrefix`,a+1)(t):v(t)}function v(t){return t===null||DI(t)?e.check(aL,h,b)(t):(e.enter(`codeFlowValue`),y(t))}function y(t){return t===null||DI(t)?(e.exit(`codeFlowValue`),v(t)):(e.consume(t),y)}function b(n){return e.exit(`codeFenced`),t(n)}function x(e,t,n){let i=0;return a;function a(t){return e.enter(`lineEnding`),e.consume(t),e.exit(`lineEnding`),c}function c(t){return e.enter(`codeFencedFence`),kI(t)?PI(e,l,`linePrefix`,r.parser.constructs.disable.null.includes(`codeIndented`)?void 0:4)(t):l(t)}function l(t){return t===s?(e.enter(`codeFencedFenceSequence`),u(t)):n(t)}function u(t){return t===s?(i++,e.consume(t),u):i>=o?(e.exit(`codeFencedFenceSequence`),kI(t)?PI(e,d,`whitespace`)(t):d(t)):n(t)}function d(r){return r===null||DI(r)?(e.exit(`codeFencedFence`),t(r)):n(r)}}}function cL(e,t,n){let r=this;return i;function i(t){return t===null?n(t):(e.enter(`lineEnding`),e.consume(t),e.exit(`lineEnding`),a)}function a(e){return r.parser.lazy[r.now().line]?n(e):t(e)}}var lL={name:`codeIndented`,tokenize:dL},uL={partial:!0,tokenize:fL};function dL(e,t,n){let r=this;return i;function i(t){return e.enter(`codeIndented`),PI(e,a,`linePrefix`,5)(t)}function a(e){let t=r.events[r.events.length-1];return t&&t[1].type===`linePrefix`&&t[2].sliceSerialize(t[1],!0).length>=4?o(e):n(e)}function o(t){return t===null?c(t):DI(t)?e.attempt(uL,o,c)(t):(e.enter(`codeFlowValue`),s(t))}function s(t){return t===null||DI(t)?(e.exit(`codeFlowValue`),o(t)):(e.consume(t),s)}function c(n){return e.exit(`codeIndented`),t(n)}}function fL(e,t,n){let r=this;return i;function i(t){return r.parser.lazy[r.now().line]?n(t):DI(t)?(e.enter(`lineEnding`),e.consume(t),e.exit(`lineEnding`),i):PI(e,a,`linePrefix`,5)(t)}function a(e){let a=r.events[r.events.length-1];return a&&a[1].type===`linePrefix`&&a[2].sliceSerialize(a[1],!0).length>=4?t(e):DI(e)?i(e):n(e)}}var pL={name:`codeText`,previous:hL,resolve:mL,tokenize:gL};function mL(e){let t=e.length-4,n=3,r,i;if((e[n][1].type===`lineEnding`||e[n][1].type===`space`)&&(e[t][1].type===`lineEnding`||e[t][1].type===`space`)){for(r=n;++r<t;)if(e[r][1].type===`codeTextData`){e[n][1].type=`codeTextPadding`,e[t][1].type=`codeTextPadding`,n+=2,t-=2;break}}for(r=n-1,t++;++r<=t;)i===void 0?r!==t&&e[r][1].type!==`lineEnding`&&(i=r):(r===t||e[r][1].type===`lineEnding`)&&(e[i][1].type=`codeTextData`,r!==i+2&&(e[i][1].end=e[r-1][1].end,e.splice(i+2,r-i-2),t-=r-i-2,r=i+2),i=void 0);return e}function hL(e){return e!==96||this.events[this.events.length-1][1].type===`characterEscape`}function gL(e,t,n){let r=0,i,a;return o;function o(t){return e.enter(`codeText`),e.enter(`codeTextSequence`),s(t)}function s(t){return t===96?(e.consume(t),r++,s):(e.exit(`codeTextSequence`),c(t))}function c(t){return t===null?n(t):t===32?(e.enter(`space`),e.consume(t),e.exit(`space`),c):t===96?(a=e.enter(`codeTextSequence`),i=0,u(t)):DI(t)?(e.enter(`lineEnding`),e.consume(t),e.exit(`lineEnding`),c):(e.enter(`codeTextData`),l(t))}function l(t){return t===null||t===32||t===96||DI(t)?(e.exit(`codeTextData`),c(t)):(e.consume(t),l)}function u(n){return n===96?(e.consume(n),i++,u):i===r?(e.exit(`codeTextSequence`),e.exit(`codeText`),t(n)):(a.type=`codeTextData`,l(n))}}var _L=class{constructor(e){this.left=e?[...e]:[],this.right=[]}get(e){if(e<0||e>=this.left.length+this.right.length)throw RangeError("Cannot access index `"+e+"` in a splice buffer of size `"+(this.left.length+this.right.length)+"`");return e<this.left.length?this.left[e]:this.right[this.right.length-e+this.left.length-1]}get length(){return this.left.length+this.right.length}shift(){return this.setCursor(0),this.right.pop()}slice(e,t){let n=t??1/0;return n<this.left.length?this.left.slice(e,n):e>this.left.length?this.right.slice(this.right.length-n+this.left.length,this.right.length-e+this.left.length).reverse():this.left.slice(e).concat(this.right.slice(this.right.length-n+this.left.length).reverse())}splice(e,t,n){let r=t||0;this.setCursor(Math.trunc(e));let i=this.right.splice(this.right.length-r,1/0);return n&&vL(this.left,n),i.reverse()}pop(){return this.setCursor(1/0),this.left.pop()}push(e){this.setCursor(1/0),this.left.push(e)}pushMany(e){this.setCursor(1/0),vL(this.left,e)}unshift(e){this.setCursor(0),this.right.push(e)}unshiftMany(e){this.setCursor(0),vL(this.right,e.reverse())}setCursor(e){if(!(e===this.left.length||e>this.left.length&&this.right.length===0||e<0&&this.left.length===0)){if(e<this.left.length){let t=this.left.splice(e,1/0);vL(this.right,t.reverse())}else{let t=this.right.splice(this.left.length+this.right.length-e,1/0);vL(this.left,t.reverse())}}}};function vL(e,t){let n=0;if(t.length<1e4)e.push(...t);else for(;n<t.length;)e.push(...t.slice(n,n+1e4)),n+=1e4}function yL(e){let t={},n=-1,r,i,a,o,s,c,l,u=new _L(e);for(;++n<u.length;){for(;n in t;)n=t[n];if(r=u.get(n),n&&r[1].type===`chunkFlow`&&u.get(n-1)[1].type===`listItemPrefix`&&(c=r[1]._tokenizer.events,a=0,a<c.length&&c[a][1].type===`lineEndingBlank`&&(a+=2),a<c.length&&c[a][1].type===`content`))for(;++a<c.length&&c[a][1].type!==`content`;)c[a][1].type===`chunkText`&&(c[a][1]._isInFirstContentOfListItem=!0,a++);if(r[0]===`enter`)r[1].contentType&&(Object.assign(t,bL(u,n)),n=t[n],l=!0);else if(r[1]._container){for(a=n,i=void 0;a--;)if(o=u.get(a),o[1].type===`lineEnding`||o[1].type===`lineEndingBlank`)o[0]===`enter`&&(i&&(u.get(i)[1].type=`lineEndingBlank`),o[1].type=`lineEnding`,i=a);else if(o[1].type!==`linePrefix`&&o[1].type!==`listItemIndent`)break;i&&(r[1].end={...u.get(i)[1].start},s=u.slice(i,n),s.unshift(r),u.splice(i,n-i+1,s))}}return fI(e,0,1/0,u.slice(0)),!l}function bL(e,t){let n=e.get(t)[1],r=e.get(t)[2],i=t-1,a=[],o=n._tokenizer;o||(o=r.parser[n.contentType](n.start),n._contentTypeTextTrailing&&(o._contentTypeTextTrailing=!0));let s=o.events,c=[],l={},u,d,f=-1,p=n,m=0,h=0,g=[h];for(;p;){for(;e.get(++i)[1]!==p;);a.push(i),p._tokenizer||(u=r.sliceStream(p),p.next||u.push(null),d&&o.defineSkip(p.start),p._isInFirstContentOfListItem&&(o._gfmTasklistFirstContentOfListItem=!0),o.write(u),p._isInFirstContentOfListItem&&(o._gfmTasklistFirstContentOfListItem=void 0)),d=p,p=p.next}for(p=n;++f<s.length;)s[f][0]===`exit`&&s[f-1][0]===`enter`&&s[f][1].type===s[f-1][1].type&&s[f][1].start.line!==s[f][1].end.line&&(h=f+1,g.push(h),p._tokenizer=void 0,p.previous=void 0,p=p.next);for(o.events=[],p?(p._tokenizer=void 0,p.previous=void 0):g.pop(),f=g.length;f--;){let t=s.slice(g[f],g[f+1]),n=a.pop();c.push([n,n+t.length-1]),e.splice(n,2,t)}for(c.reverse(),f=-1;++f<c.length;)l[m+c[f][0]]=m+c[f][1],m+=c[f][1]-c[f][0]-1;return l}var xL={resolve:CL,tokenize:wL},SL={partial:!0,tokenize:TL};function CL(e){return yL(e),e}function wL(e,t){let n;return r;function r(t){return e.enter(`content`),n=e.enter(`chunkContent`,{contentType:`content`}),i(t)}function i(t){return t===null?a(t):DI(t)?e.check(SL,o,a)(t):(e.consume(t),i)}function a(n){return e.exit(`chunkContent`),e.exit(`content`),t(n)}function o(t){return e.consume(t),e.exit(`chunkContent`),n.next=e.enter(`chunkContent`,{contentType:`content`,previous:n}),n=n.next,i}}function TL(e,t,n){let r=this;return i;function i(t){return e.exit(`chunkContent`),e.enter(`lineEnding`),e.consume(t),e.exit(`lineEnding`),PI(e,a,`linePrefix`)}function a(i){if(i===null||DI(i))return n(i);let a=r.events[r.events.length-1];return!r.parser.constructs.disable.null.includes(`codeIndented`)&&a&&a[1].type===`linePrefix`&&a[2].sliceSerialize(a[1],!0).length>=4?t(i):e.interrupt(r.parser.constructs.flow,n,t)(i)}}function EL(e,t,n,r,i,a,o,s,c){let l=c||1/0,u=0;return d;function d(t){return t===60?(e.enter(r),e.enter(i),e.enter(a),e.consume(t),e.exit(a),f):t===null||t===32||t===41||CI(t)?n(t):(e.enter(r),e.enter(o),e.enter(s),e.enter(`chunkString`,{contentType:`string`}),h(t))}function f(n){return n===62?(e.enter(a),e.consume(n),e.exit(a),e.exit(i),e.exit(r),t):(e.enter(s),e.enter(`chunkString`,{contentType:`string`}),p(n))}function p(t){return t===62?(e.exit(`chunkString`),e.exit(s),f(t)):t===null||t===60||DI(t)?n(t):(e.consume(t),t===92?m:p)}function m(t){return t===60||t===62||t===92?(e.consume(t),p):p(t)}function h(i){return!u&&(i===null||i===41||OI(i))?(e.exit(`chunkString`),e.exit(s),e.exit(o),e.exit(r),t(i)):u<l&&i===40?(e.consume(i),u++,h):i===41?(e.consume(i),u--,h):i===null||i===32||i===40||CI(i)?n(i):(e.consume(i),i===92?g:h)}function g(t){return t===40||t===41||t===92?(e.consume(t),h):h(t)}}function DL(e,t,n,r,i,a){let o=this,s=0,c;return l;function l(t){return e.enter(r),e.enter(i),e.consume(t),e.exit(i),e.enter(a),u}function u(l){return s>999||l===null||l===91||l===93&&!c||l===94&&!s&&`_hiddenFootnoteSupport`in o.parser.constructs?n(l):l===93?(e.exit(a),e.enter(i),e.consume(l),e.exit(i),e.exit(r),t):DI(l)?(e.enter(`lineEnding`),e.consume(l),e.exit(`lineEnding`),u):(e.enter(`chunkString`,{contentType:`string`}),d(l))}function d(t){return t===null||t===91||t===93||DI(t)||s++>999?(e.exit(`chunkString`),u(t)):(e.consume(t),c||=!kI(t),t===92?f:d)}function f(t){return t===91||t===92||t===93?(e.consume(t),s++,d):d(t)}}function OL(e,t,n,r,i,a){let o;return s;function s(t){return t===34||t===39||t===40?(e.enter(r),e.enter(i),e.consume(t),e.exit(i),o=t===40?41:t,c):n(t)}function c(n){return n===o?(e.enter(i),e.consume(n),e.exit(i),e.exit(r),t):(e.enter(a),l(n))}function l(t){return t===o?(e.exit(a),c(o)):t===null?n(t):DI(t)?(e.enter(`lineEnding`),e.consume(t),e.exit(`lineEnding`),PI(e,l,`linePrefix`)):(e.enter(`chunkString`,{contentType:`string`}),u(t))}function u(t){return t===o||t===null||DI(t)?(e.exit(`chunkString`),l(t)):(e.consume(t),t===92?d:u)}function d(t){return t===o||t===92?(e.consume(t),u):u(t)}}function kL(e,t){let n;return r;function r(i){return DI(i)?(e.enter(`lineEnding`),e.consume(i),e.exit(`lineEnding`),n=!0,r):kI(i)?PI(e,r,n?`linePrefix`:`lineSuffix`)(i):t(i)}}var AL={name:`definition`,tokenize:ML},jL={partial:!0,tokenize:NL};function ML(e,t,n){let r=this,i;return a;function a(t){return e.enter(`definition`),o(t)}function o(t){return DL.call(r,e,s,n,`definitionLabel`,`definitionLabelMarker`,`definitionLabelString`)(t)}function s(t){return i=yI(r.sliceSerialize(r.events[r.events.length-1][1]).slice(1,-1)),t===58?(e.enter(`definitionMarker`),e.consume(t),e.exit(`definitionMarker`),c):n(t)}function c(t){return OI(t)?kL(e,l)(t):l(t)}function l(t){return EL(e,u,n,`definitionDestination`,`definitionDestinationLiteral`,`definitionDestinationLiteralMarker`,`definitionDestinationRaw`,`definitionDestinationString`)(t)}function u(t){return e.attempt(jL,d,d)(t)}function d(t){return kI(t)?PI(e,f,`whitespace`)(t):f(t)}function f(a){return a===null||DI(a)?(e.exit(`definition`),r.parser.defined.push(i),t(a)):n(a)}}function NL(e,t,n){return r;function r(t){return OI(t)?kL(e,i)(t):n(t)}function i(t){return OL(e,a,n,`definitionTitle`,`definitionTitleMarker`,`definitionTitleString`)(t)}function a(t){return kI(t)?PI(e,o,`whitespace`)(t):o(t)}function o(e){return e===null||DI(e)?t(e):n(e)}}var PL={name:`hardBreakEscape`,tokenize:FL};function FL(e,t,n){return r;function r(t){return e.enter(`hardBreakEscape`),e.consume(t),i}function i(r){return DI(r)?(e.exit(`hardBreakEscape`),t(r)):n(r)}}var IL={name:`headingAtx`,resolve:LL,tokenize:RL};function LL(e,t){let n=e.length-2,r=3,i,a;return e[r][1].type===`whitespace`&&(r+=2),n-2>r&&e[n][1].type===`whitespace`&&(n-=2),e[n][1].type===`atxHeadingSequence`&&(r===n-1||n-4>r&&e[n-2][1].type===`whitespace`)&&(n-=r+1===n?2:4),n>r&&(i={type:`atxHeadingText`,start:e[r][1].start,end:e[n][1].end},a={type:`chunkText`,start:e[r][1].start,end:e[n][1].end,contentType:`text`},fI(e,r,n-r+1,[[`enter`,i,t],[`enter`,a,t],[`exit`,a,t],[`exit`,i,t]])),e}function RL(e,t,n){let r=0;return i;function i(t){return e.enter(`atxHeading`),a(t)}function a(t){return e.enter(`atxHeadingSequence`),o(t)}function o(t){return t===35&&r++<6?(e.consume(t),o):t===null||OI(t)?(e.exit(`atxHeadingSequence`),s(t)):n(t)}function s(n){return n===35?(e.enter(`atxHeadingSequence`),c(n)):n===null||DI(n)?(e.exit(`atxHeading`),t(n)):kI(n)?PI(e,s,`whitespace`)(n):(e.enter(`atxHeadingText`),l(n))}function c(t){return t===35?(e.consume(t),c):(e.exit(`atxHeadingSequence`),s(t))}function l(t){return t===null||t===35||OI(t)?(e.exit(`atxHeadingText`),s(t)):(e.consume(t),l)}}var zL=`address.article.aside.base.basefont.blockquote.body.caption.center.col.colgroup.dd.details.dialog.dir.div.dl.dt.fieldset.figcaption.figure.footer.form.frame.frameset.h1.h2.h3.h4.h5.h6.head.header.hr.html.iframe.legend.li.link.main.menu.menuitem.nav.noframes.ol.optgroup.option.p.param.search.section.summary.table.tbody.td.tfoot.th.thead.title.tr.track.ul`.split(`.`),BL=[`pre`,`script`,`style`,`textarea`],VL={concrete:!0,name:`htmlFlow`,resolveTo:WL,tokenize:GL},HL={partial:!0,tokenize:qL},UL={partial:!0,tokenize:KL};function WL(e){let t=e.length;for(;t--&&(e[t][0]!==`enter`||e[t][1].type!==`htmlFlow`););return t>1&&e[t-2][1].type===`linePrefix`&&(e[t][1].start=e[t-2][1].start,e[t+1][1].start=e[t-2][1].start,e.splice(t-2,2)),e}function GL(e,t,n){let r=this,i,a,o,s,c;return l;function l(e){return u(e)}function u(t){return e.enter(`htmlFlow`),e.enter(`htmlFlowData`),e.consume(t),d}function d(s){return s===33?(e.consume(s),f):s===47?(e.consume(s),a=!0,h):s===63?(e.consume(s),i=3,r.interrupt?t:F):bI(s)?(e.consume(s),o=String.fromCharCode(s),g):n(s)}function f(a){return a===45?(e.consume(a),i=2,p):a===91?(e.consume(a),i=5,s=0,m):bI(a)?(e.consume(a),i=4,r.interrupt?t:F):n(a)}function p(i){return i===45?(e.consume(i),r.interrupt?t:F):n(i)}function m(i){return i===`CDATA[`.charCodeAt(s++)?(e.consume(i),s===6?r.interrupt?t:O:m):n(i)}function h(t){return bI(t)?(e.consume(t),o=String.fromCharCode(t),g):n(t)}function g(s){if(s===null||s===47||s===62||OI(s)){let c=s===47,l=o.toLowerCase();return!c&&!a&&BL.includes(l)?(i=1,r.interrupt?t(s):O(s)):zL.includes(o.toLowerCase())?(i=6,c?(e.consume(s),_):r.interrupt?t(s):O(s)):(i=7,r.interrupt&&!r.parser.lazy[r.now().line]?n(s):a?v(s):y(s))}return s===45||xI(s)?(e.consume(s),o+=String.fromCharCode(s),g):n(s)}function _(i){return i===62?(e.consume(i),r.interrupt?t:O):n(i)}function v(t){return kI(t)?(e.consume(t),v):E(t)}function y(t){return t===47?(e.consume(t),E):t===58||t===95||bI(t)?(e.consume(t),b):kI(t)?(e.consume(t),y):E(t)}function b(t){return t===45||t===46||t===58||t===95||xI(t)?(e.consume(t),b):x(t)}function x(t){return t===61?(e.consume(t),S):kI(t)?(e.consume(t),x):y(t)}function S(t){return t===null||t===60||t===61||t===62||t===96?n(t):t===34||t===39?(e.consume(t),c=t,C):kI(t)?(e.consume(t),S):w(t)}function C(t){return t===c?(e.consume(t),c=null,T):t===null||DI(t)?n(t):(e.consume(t),C)}function w(t){return t===null||t===34||t===39||t===47||t===60||t===61||t===62||t===96||OI(t)?x(t):(e.consume(t),w)}function T(e){return e===47||e===62||kI(e)?y(e):n(e)}function E(t){return t===62?(e.consume(t),D):n(t)}function D(t){return t===null||DI(t)?O(t):kI(t)?(e.consume(t),D):n(t)}function O(t){return t===45&&i===2?(e.consume(t),ee):t===60&&i===1?(e.consume(t),M):t===62&&i===4?(e.consume(t),te):t===63&&i===3?(e.consume(t),F):t===93&&i===5?(e.consume(t),P):DI(t)&&(i===6||i===7)?(e.exit(`htmlFlowData`),e.check(HL,ne,k)(t)):t===null||DI(t)?(e.exit(`htmlFlowData`),k(t)):(e.consume(t),O)}function k(t){return e.check(UL,A,ne)(t)}function A(t){return e.enter(`lineEnding`),e.consume(t),e.exit(`lineEnding`),j}function j(t){return t===null||DI(t)?k(t):(e.enter(`htmlFlowData`),O(t))}function ee(t){return t===45?(e.consume(t),F):O(t)}function M(t){return t===47?(e.consume(t),o=``,N):O(t)}function N(t){if(t===62){let n=o.toLowerCase();return BL.includes(n)?(e.consume(t),te):O(t)}return bI(t)&&o.length<8?(e.consume(t),o+=String.fromCharCode(t),N):O(t)}function P(t){return t===93?(e.consume(t),F):O(t)}function F(t){return t===62?(e.consume(t),te):t===45&&i===2?(e.consume(t),F):O(t)}function te(t){return t===null||DI(t)?(e.exit(`htmlFlowData`),ne(t)):(e.consume(t),te)}function ne(n){return e.exit(`htmlFlow`),t(n)}}function KL(e,t,n){let r=this;return i;function i(t){return DI(t)?(e.enter(`lineEnding`),e.consume(t),e.exit(`lineEnding`),a):n(t)}function a(e){return r.parser.lazy[r.now().line]?n(e):t(e)}}function qL(e,t,n){return r;function r(r){return e.enter(`lineEnding`),e.consume(r),e.exit(`lineEnding`),e.attempt(YI,t,n)}}var JL={name:`htmlText`,tokenize:YL};function YL(e,t,n){let r=this,i,a,o;return s;function s(t){return e.enter(`htmlText`),e.enter(`htmlTextData`),e.consume(t),c}function c(t){return t===33?(e.consume(t),l):t===47?(e.consume(t),x):t===63?(e.consume(t),y):bI(t)?(e.consume(t),w):n(t)}function l(t){return t===45?(e.consume(t),u):t===91?(e.consume(t),a=0,m):bI(t)?(e.consume(t),v):n(t)}function u(t){return t===45?(e.consume(t),p):n(t)}function d(t){return t===null?n(t):t===45?(e.consume(t),f):DI(t)?(o=d,M(t)):(e.consume(t),d)}function f(t){return t===45?(e.consume(t),p):d(t)}function p(e){return e===62?ee(e):e===45?f(e):d(e)}function m(t){return t===`CDATA[`.charCodeAt(a++)?(e.consume(t),a===6?h:m):n(t)}function h(t){return t===null?n(t):t===93?(e.consume(t),g):DI(t)?(o=h,M(t)):(e.consume(t),h)}function g(t){return t===93?(e.consume(t),_):h(t)}function _(t){return t===62?ee(t):t===93?(e.consume(t),_):h(t)}function v(t){return t===null||t===62?ee(t):DI(t)?(o=v,M(t)):(e.consume(t),v)}function y(t){return t===null?n(t):t===63?(e.consume(t),b):DI(t)?(o=y,M(t)):(e.consume(t),y)}function b(e){return e===62?ee(e):y(e)}function x(t){return bI(t)?(e.consume(t),S):n(t)}function S(t){return t===45||xI(t)?(e.consume(t),S):C(t)}function C(t){return DI(t)?(o=C,M(t)):kI(t)?(e.consume(t),C):ee(t)}function w(t){return t===45||xI(t)?(e.consume(t),w):t===47||t===62||OI(t)?T(t):n(t)}function T(t){return t===47?(e.consume(t),ee):t===58||t===95||bI(t)?(e.consume(t),E):DI(t)?(o=T,M(t)):kI(t)?(e.consume(t),T):ee(t)}function E(t){return t===45||t===46||t===58||t===95||xI(t)?(e.consume(t),E):D(t)}function D(t){return t===61?(e.consume(t),O):DI(t)?(o=D,M(t)):kI(t)?(e.consume(t),D):T(t)}function O(t){return t===null||t===60||t===61||t===62||t===96?n(t):t===34||t===39?(e.consume(t),i=t,k):DI(t)?(o=O,M(t)):kI(t)?(e.consume(t),O):(e.consume(t),A)}function k(t){return t===i?(e.consume(t),i=void 0,j):t===null?n(t):DI(t)?(o=k,M(t)):(e.consume(t),k)}function A(t){return t===null||t===34||t===39||t===60||t===61||t===96?n(t):t===47||t===62||OI(t)?T(t):(e.consume(t),A)}function j(e){return e===47||e===62||OI(e)?T(e):n(e)}function ee(r){return r===62?(e.consume(r),e.exit(`htmlTextData`),e.exit(`htmlText`),t):n(r)}function M(t){return e.exit(`htmlTextData`),e.enter(`lineEnding`),e.consume(t),e.exit(`lineEnding`),N}function N(t){return kI(t)?PI(e,P,`linePrefix`,r.parser.constructs.disable.null.includes(`codeIndented`)?void 0:4)(t):P(t)}function P(t){return e.enter(`htmlTextData`),o(t)}}var XL={name:`labelEnd`,resolveAll:eR,resolveTo:tR,tokenize:nR},ZL={tokenize:rR},QL={tokenize:iR},$L={tokenize:aR};function eR(e){let t=-1,n=[];for(;++t<e.length;){let r=e[t][1];if(n.push(e[t]),r.type===`labelImage`||r.type===`labelLink`||r.type===`labelEnd`){let e=r.type===`labelImage`?4:2;r.type=`data`,t+=e}}return e.length!==n.length&&fI(e,0,e.length,n),e}function tR(e,t){let n=e.length,r=0,i,a,o,s;for(;n--;)if(i=e[n][1],a){if(i.type===`link`||i.type===`labelLink`&&i._inactive)break;e[n][0]===`enter`&&i.type===`labelLink`&&(i._inactive=!0)}else if(o){if(e[n][0]===`enter`&&(i.type===`labelImage`||i.type===`labelLink`)&&!i._balanced&&(a=n,i.type!==`labelLink`)){r=2;break}}else i.type===`labelEnd`&&(o=n);let c={type:e[a][1].type===`labelLink`?`link`:`image`,start:{...e[a][1].start},end:{...e[e.length-1][1].end}},l={type:`label`,start:{...e[a][1].start},end:{...e[o][1].end}},u={type:`labelText`,start:{...e[a+r+2][1].end},end:{...e[o-2][1].start}};return s=[[`enter`,c,t],[`enter`,l,t]],s=pI(s,e.slice(a+1,a+r+3)),s=pI(s,[[`enter`,u,t]]),s=pI(s,HI(t.parser.constructs.insideSpan.null,e.slice(a+r+4,o-3),t)),s=pI(s,[[`exit`,u,t],e[o-2],e[o-1],[`exit`,l,t]]),s=pI(s,e.slice(o+1)),s=pI(s,[[`exit`,c,t]]),fI(e,a,e.length,s),e}function nR(e,t,n){let r=this,i=r.events.length,a,o;for(;i--;)if((r.events[i][1].type===`labelImage`||r.events[i][1].type===`labelLink`)&&!r.events[i][1]._balanced){a=r.events[i][1];break}return s;function s(t){return a?a._inactive?d(t):(o=r.parser.defined.includes(yI(r.sliceSerialize({start:a.end,end:r.now()}))),e.enter(`labelEnd`),e.enter(`labelMarker`),e.consume(t),e.exit(`labelMarker`),e.exit(`labelEnd`),c):n(t)}function c(t){return t===40?e.attempt(ZL,u,o?u:d)(t):t===91?e.attempt(QL,u,o?l:d)(t):o?u(t):d(t)}function l(t){return e.attempt($L,u,d)(t)}function u(e){return t(e)}function d(e){return a._balanced=!0,n(e)}}function rR(e,t,n){return r;function r(t){return e.enter(`resource`),e.enter(`resourceMarker`),e.consume(t),e.exit(`resourceMarker`),i}function i(t){return OI(t)?kL(e,a)(t):a(t)}function a(t){return t===41?u(t):EL(e,o,s,`resourceDestination`,`resourceDestinationLiteral`,`resourceDestinationLiteralMarker`,`resourceDestinationRaw`,`resourceDestinationString`,32)(t)}function o(t){return OI(t)?kL(e,c)(t):u(t)}function s(e){return n(e)}function c(t){return t===34||t===39||t===40?OL(e,l,n,`resourceTitle`,`resourceTitleMarker`,`resourceTitleString`)(t):u(t)}function l(t){return OI(t)?kL(e,u)(t):u(t)}function u(r){return r===41?(e.enter(`resourceMarker`),e.consume(r),e.exit(`resourceMarker`),e.exit(`resource`),t):n(r)}}function iR(e,t,n){let r=this;return i;function i(t){return DL.call(r,e,a,o,`reference`,`referenceMarker`,`referenceString`)(t)}function a(e){return r.parser.defined.includes(yI(r.sliceSerialize(r.events[r.events.length-1][1]).slice(1,-1)))?t(e):n(e)}function o(e){return n(e)}}function aR(e,t,n){return r;function r(t){return e.enter(`reference`),e.enter(`referenceMarker`),e.consume(t),e.exit(`referenceMarker`),i}function i(r){return r===93?(e.enter(`referenceMarker`),e.consume(r),e.exit(`referenceMarker`),e.exit(`reference`),t):n(r)}}var oR={name:`labelStartImage`,resolveAll:XL.resolveAll,tokenize:sR};function sR(e,t,n){let r=this;return i;function i(t){return e.enter(`labelImage`),e.enter(`labelImageMarker`),e.consume(t),e.exit(`labelImageMarker`),a}function a(t){return t===91?(e.enter(`labelMarker`),e.consume(t),e.exit(`labelMarker`),e.exit(`labelImage`),o):n(t)}function o(e){return e===94&&`_hiddenFootnoteSupport`in r.parser.constructs?n(e):t(e)}}var cR={name:`labelStartLink`,resolveAll:XL.resolveAll,tokenize:lR};function lR(e,t,n){let r=this;return i;function i(t){return e.enter(`labelLink`),e.enter(`labelMarker`),e.consume(t),e.exit(`labelMarker`),e.exit(`labelLink`),a}function a(e){return e===94&&`_hiddenFootnoteSupport`in r.parser.constructs?n(e):t(e)}}var uR={name:`lineEnding`,tokenize:dR};function dR(e,t){return n;function n(n){return e.enter(`lineEnding`),e.consume(n),e.exit(`lineEnding`),PI(e,t,`linePrefix`)}}var fR={name:`thematicBreak`,tokenize:pR};function pR(e,t,n){let r=0,i;return a;function a(t){return e.enter(`thematicBreak`),o(t)}function o(e){return i=e,s(e)}function s(a){return a===i?(e.enter(`thematicBreakSequence`),c(a)):r>=3&&(a===null||DI(a))?(e.exit(`thematicBreak`),t(a)):n(a)}function c(t){return t===i?(e.consume(t),r++,c):(e.exit(`thematicBreakSequence`),kI(t)?PI(e,s,`whitespace`)(t):s(t))}}var mR={continuation:{tokenize:vR},exit:bR,name:`list`,tokenize:_R},hR={partial:!0,tokenize:xR},gR={partial:!0,tokenize:yR};function _R(e,t,n){let r=this,i=r.events[r.events.length-1],a=i&&i[1].type===`linePrefix`?i[2].sliceSerialize(i[1],!0).length:0,o=0;return s;function s(t){let i=r.containerState.type||(t===42||t===43||t===45?`listUnordered`:`listOrdered`);if(i===`listUnordered`?!r.containerState.marker||t===r.containerState.marker:wI(t)){if(r.containerState.type||(r.containerState.type=i,e.enter(i,{_container:!0})),i===`listUnordered`)return e.enter(`listItemPrefix`),t===42||t===45?e.check(fR,n,l)(t):l(t);if(!r.interrupt||t===49)return e.enter(`listItemPrefix`),e.enter(`listItemValue`),c(t)}return n(t)}function c(t){return wI(t)&&++o<10?(e.consume(t),c):(!r.interrupt||o<2)&&(r.containerState.marker?t===r.containerState.marker:t===41||t===46)?(e.exit(`listItemValue`),l(t)):n(t)}function l(t){return e.enter(`listItemMarker`),e.consume(t),e.exit(`listItemMarker`),r.containerState.marker=r.containerState.marker||t,e.check(YI,r.interrupt?n:u,e.attempt(hR,f,d))}function u(e){return r.containerState.initialBlankLine=!0,a++,f(e)}function d(t){return kI(t)?(e.enter(`listItemPrefixWhitespace`),e.consume(t),e.exit(`listItemPrefixWhitespace`),f):n(t)}function f(n){return r.containerState.size=a+r.sliceSerialize(e.exit(`listItemPrefix`),!0).length,t(n)}}function vR(e,t,n){let r=this;return r.containerState._closeFlow=void 0,e.check(YI,i,a);function i(n){return r.containerState.furtherBlankLines=r.containerState.furtherBlankLines||r.containerState.initialBlankLine,PI(e,t,`listItemIndent`,r.containerState.size+1)(n)}function a(n){return r.containerState.furtherBlankLines||!kI(n)?(r.containerState.furtherBlankLines=void 0,r.containerState.initialBlankLine=void 0,o(n)):(r.containerState.furtherBlankLines=void 0,r.containerState.initialBlankLine=void 0,e.attempt(gR,t,o)(n))}function o(i){return r.containerState._closeFlow=!0,r.interrupt=void 0,PI(e,e.attempt(mR,t,n),`linePrefix`,r.parser.constructs.disable.null.includes(`codeIndented`)?void 0:4)(i)}}function yR(e,t,n){let r=this;return PI(e,i,`listItemIndent`,r.containerState.size+1);function i(e){let i=r.events[r.events.length-1];return i&&i[1].type===`listItemIndent`&&i[2].sliceSerialize(i[1],!0).length===r.containerState.size?t(e):n(e)}}function bR(e){e.exit(this.containerState.type)}function xR(e,t,n){let r=this;return PI(e,i,`listItemPrefixWhitespace`,r.parser.constructs.disable.null.includes(`codeIndented`)?void 0:5);function i(e){let i=r.events[r.events.length-1];return!kI(e)&&i&&i[1].type===`listItemPrefixWhitespace`?t(e):n(e)}}var SR={name:`setextUnderline`,resolveTo:CR,tokenize:wR};function CR(e,t){let n=e.length,r,i,a;for(;n--;)if(e[n][0]===`enter`){if(e[n][1].type===`content`){r=n;break}e[n][1].type===`paragraph`&&(i=n)}else e[n][1].type===`content`&&e.splice(n,1),!a&&e[n][1].type===`definition`&&(a=n);let o={type:`setextHeading`,start:{...e[r][1].start},end:{...e[e.length-1][1].end}};return e[i][1].type=`setextHeadingText`,a?(e.splice(i,0,[`enter`,o,t]),e.splice(a+1,0,[`exit`,e[r][1],t]),e[r][1].end={...e[a][1].end}):e[r][1]=o,e.push([`exit`,o,t]),e}function wR(e,t,n){let r=this,i;return a;function a(t){let a=r.events.length,s;for(;a--;)if(r.events[a][1].type!==`lineEnding`&&r.events[a][1].type!==`linePrefix`&&r.events[a][1].type!==`content`){s=r.events[a][1].type===`paragraph`;break}return!r.parser.lazy[r.now().line]&&(r.interrupt||s)?(e.enter(`setextHeadingLine`),i=t,o(t)):n(t)}function o(t){return e.enter(`setextHeadingLineSequence`),s(t)}function s(t){return t===i?(e.consume(t),s):(e.exit(`setextHeadingLineSequence`),kI(t)?PI(e,c,`lineSuffix`)(t):c(t))}function c(r){return r===null||DI(r)?(e.exit(`setextHeadingLine`),t(r)):n(r)}}var TR={tokenize:ER};function ER(e){let t=this,n=e.attempt(YI,r,e.attempt(this.parser.constructs.flowInitial,i,PI(e,e.attempt(this.parser.constructs.flow,i,e.attempt(xL,i)),`linePrefix`)));return n;function r(r){if(r===null){e.consume(r);return}return e.enter(`lineEndingBlank`),e.consume(r),e.exit(`lineEndingBlank`),t.currentConstruct=void 0,n}function i(r){if(r===null){e.consume(r);return}return e.enter(`lineEnding`),e.consume(r),e.exit(`lineEnding`),t.currentConstruct=void 0,n}}var DR={resolveAll:jR()},OR=AR(`string`),kR=AR(`text`);function AR(e){return{resolveAll:jR(e===`text`?MR:void 0),tokenize:t};function t(t){let n=this,r=this.parser.constructs[e],i=t.attempt(r,a,o);return a;function a(e){return c(e)?i(e):o(e)}function o(e){if(e===null){t.consume(e);return}return t.enter(`data`),t.consume(e),s}function s(e){return c(e)?(t.exit(`data`),i(e)):(t.consume(e),s)}function c(e){if(e===null)return!0;let t=r[e],i=-1;if(t)for(;++i<t.length;){let e=t[i];if(!e.previous||e.previous.call(n,n.previous))return!0}return!1}}}function jR(e){return t;function t(t,n){let r=-1,i;for(;++r<=t.length;)i===void 0?t[r]&&t[r][1].type===`data`&&(i=r,r++):(!t[r]||t[r][1].type!==`data`)&&(r!==i+2&&(t[i][1].end=t[r-1][1].end,t.splice(i+2,r-i-2),r=i+2),i=void 0);return e?e(t,n):t}}function MR(e,t){let n=0;for(;++n<=e.length;)if((n===e.length||e[n][1].type===`lineEnding`)&&e[n-1][1].type===`data`){let r=e[n-1][1],i=t.sliceStream(r),a=i.length,o=-1,s=0,c;for(;a--;){let e=i[a];if(typeof e==`string`){for(o=e.length;e.charCodeAt(o-1)===32;)s++,o--;if(o)break;o=-1}else if(e===-2)c=!0,s++;else if(e!==-1){a++;break}}if(t._contentTypeTextTrailing&&n===e.length&&(s=0),s){let i={type:n===e.length||c||s<2?`lineSuffix`:`hardBreakTrailing`,start:{_bufferIndex:a?o:r.start._bufferIndex+o,_index:r.start._index+a,line:r.end.line,column:r.end.column-s,offset:r.end.offset-s},end:{...r.end}};r.end={...i.start},r.start.offset===r.end.offset?Object.assign(r,i):(e.splice(n,0,[`enter`,i,t],[`exit`,i,t]),n+=2)}n++}return e}var NR=s({attentionMarkers:()=>VR,contentInitial:()=>FR,disable:()=>HR,document:()=>PR,flow:()=>LR,flowInitial:()=>IR,insideSpan:()=>BR,string:()=>RR,text:()=>zR}),PR={42:mR,43:mR,45:mR,48:mR,49:mR,50:mR,51:mR,52:mR,53:mR,54:mR,55:mR,56:mR,57:mR,62:ZI},FR={91:AL},IR={[-2]:lL,[-1]:lL,32:lL},LR={35:IL,42:fR,45:[SR,fR],60:VL,61:SR,95:fR,96:oL,126:oL},RR={38:rL,92:tL},zR={[-5]:uR,[-4]:uR,[-3]:uR,33:oR,38:rL,42:UI,60:[qI,JL],91:cR,92:[PL,tL],93:XL,95:UI,96:pL},BR={null:[UI,DR]},VR={null:[42,95]},HR={null:[]};function UR(e,t,n){let r={_bufferIndex:-1,_index:0,line:n&&n.line||1,column:n&&n.column||1,offset:n&&n.offset||0},i={},a=[],o=[],s=[],c={attempt:C(x),check:C(S),consume:v,enter:y,exit:b,interrupt:C(S,{interrupt:!0})},l={code:null,containerState:{},defineSkip:h,events:[],now:m,parser:e,previous:null,sliceSerialize:f,sliceStream:p,write:d},u=t.tokenize.call(l,c);return t.resolveAll&&a.push(t),l;function d(e){return o=pI(o,e),g(),o[o.length-1]===null?(w(t,0),l.events=HI(a,l.events,l),l.events):[]}function f(e,t){return GR(p(e),t)}function p(e){return WR(o,e)}function m(){let{_bufferIndex:e,_index:t,line:n,column:i,offset:a}=r;return{_bufferIndex:e,_index:t,line:n,column:i,offset:a}}function h(e){i[e.line]=e.column,E()}function g(){let e;for(;r._index<o.length;){let t=o[r._index];if(typeof t==`string`)for(e=r._index,r._bufferIndex<0&&(r._bufferIndex=0);r._index===e&&r._bufferIndex<t.length;)_(t.charCodeAt(r._bufferIndex));else _(t)}}function _(e){u=u(e)}function v(e){DI(e)?(r.line++,r.column=1,r.offset+=e===-3?2:1,E()):e!==-1&&(r.column++,r.offset++),r._bufferIndex<0?r._index++:(r._bufferIndex++,r._bufferIndex===o[r._index].length&&(r._bufferIndex=-1,r._index++)),l.previous=e}function y(e,t){let n=t||{};return n.type=e,n.start=m(),l.events.push([`enter`,n,l]),s.push(n),n}function b(e){let t=s.pop();return t.end=m(),l.events.push([`exit`,t,l]),t}function x(e,t){w(e,t.from)}function S(e,t){t.restore()}function C(e,t){return n;function n(n,r,i){let a,o,s,u;return Array.isArray(n)?f(n):`tokenize`in n?f([n]):d(n);function d(e){return t;function t(t){let n=t!==null&&e[t],r=t!==null&&e.null;return f([...Array.isArray(n)?n:n?[n]:[],...Array.isArray(r)?r:r?[r]:[]])(t)}}function f(e){return a=e,o=0,e.length===0?i:p(e[o])}function p(e){return n;function n(n){return u=T(),s=e,e.partial||(l.currentConstruct=e),e.name&&l.parser.constructs.disable.null.includes(e.name)?h(n):e.tokenize.call(t?Object.assign(Object.create(l),t):l,c,m,h)(n)}}function m(t){return e(s,u),r}function h(e){return u.restore(),++o<a.length?p(a[o]):i}}}function w(e,t){e.resolveAll&&!a.includes(e)&&a.push(e),e.resolve&&fI(l.events,t,l.events.length-t,e.resolve(l.events.slice(t),l)),e.resolveTo&&(l.events=e.resolveTo(l.events,l))}function T(){let e=m(),t=l.previous,n=l.currentConstruct,i=l.events.length,a=Array.from(s);return{from:i,restore:o};function o(){r=e,l.previous=t,l.currentConstruct=n,l.events.length=i,s=a,E()}}function E(){r.line in i&&r.column<2&&(r.column=i[r.line],r.offset+=i[r.line]-1)}}function WR(e,t){let n=t.start._index,r=t.start._bufferIndex,i=t.end._index,a=t.end._bufferIndex,o;if(n===i)o=[e[n].slice(r,a)];else{if(o=e.slice(n,i),r>-1){let e=o[0];typeof e==`string`?o[0]=e.slice(r):o.shift()}a>0&&o.push(e[i].slice(0,a))}return o}function GR(e,t){let n=-1,r=[],i;for(;++n<e.length;){let a=e[n],o;if(typeof a==`string`)o=a;else switch(a){case-5:o=`\r`;break;case-4:o=`
104
104
  `;break;case-3:o=`\r
105
105
  `;break;case-2:o=t?` `:` `;break;case-1:if(!t&&i)continue;o=` `;break;default:o=String.fromCharCode(a)}i=a===-2,r.push(o)}return r.join(``)}function KR(e){let t={constructs:hI([NR,...(e||{}).extensions||[]]),content:n(FI),defined:[],document:n(LI),flow:n(TR),lazy:{},string:n(OR),text:n(kR)};return t;function n(e){return n;function n(n){return UR(t,e,n)}}}function qR(e){for(;!yL(e););return e}var JR=/[\0\t\n\r]/g;function YR(){let e=1,t=``,n=!0,r;return i;function i(i,a,o){let s=[],c,l,u,d,f;for(i=t+(typeof i==`string`?i.toString():new TextDecoder(a||void 0).decode(i)),u=0,t=``,n&&=(i.charCodeAt(0)===65279&&u++,void 0);u<i.length;){if(JR.lastIndex=u,c=JR.exec(i),d=c&&c.index!==void 0?c.index:i.length,f=i.charCodeAt(d),!c){t=i.slice(u);break}if(f===10&&u===d&&r)s.push(-3),r=void 0;else switch(r&&=(s.push(-5),void 0),u<d&&(s.push(i.slice(u,d)),e+=d-u),f){case 0:s.push(65533),e++;break;case 9:for(l=Math.ceil(e/4)*4,s.push(-2);e++<l;)s.push(-1);break;case 10:s.push(-4),e=1;break;default:r=!0,e=1}u=d+1}return o&&(r&&s.push(-5),t&&s.push(t),s.push(null)),s}}var XR=/\\([!-/:-@[-`{-~])|&(#(?:\d{1,7}|x[\da-f]{1,6})|[\da-z]{1,31});/gi;function ZR(e){return e.replace(XR,QR)}function QR(e,t,n){if(t)return t;if(n.charCodeAt(0)===35){let e=n.charCodeAt(1),t=e===120||e===88;return vI(n.slice(t?2:1),t?16:10)}return dI(n)||e}var $R={}.hasOwnProperty;function ez(e,t,n){return t&&typeof t==`object`&&(n=t,t=void 0),tz(n)(qR(KR(n).document().write(YR()(e,t,!0))))}function tz(e){let t={transforms:[],canContainEols:[`emphasis`,`fragment`,`heading`,`paragraph`,`strong`],enter:{autolink:a(ye),autolinkProtocol:T,autolinkEmail:T,atxHeading:a(he),blockQuote:a(ue),characterEscape:T,characterReference:T,codeFenced:a(de),codeFencedFenceInfo:o,codeFencedFenceMeta:o,codeIndented:a(de,o),codeText:a(fe,o),codeTextData:T,data:T,codeFlowValue:T,definition:a(pe),definitionDestinationString:o,definitionLabelString:o,definitionTitleString:o,emphasis:a(me),hardBreakEscape:a(ge),hardBreakTrailing:a(ge),htmlFlow:a(_e,o),htmlFlowData:T,htmlText:a(_e,o),htmlTextData:T,image:a(ve),label:o,link:a(ye),listItem:a(xe),listItemValue:f,listOrdered:a(be,d),listUnordered:a(be),paragraph:a(Se),reference:re,referenceString:o,resourceDestinationString:o,resourceTitleString:o,setextHeading:a(he),strong:a(Ce),thematicBreak:a(Te)},exit:{atxHeading:c(),atxHeadingSequence:x,autolink:c(),autolinkEmail:le,autolinkProtocol:ce,blockQuote:c(),characterEscapeValue:E,characterReferenceMarkerHexadecimal:ae,characterReferenceMarkerNumeric:ae,characterReferenceValue:oe,characterReference:se,codeFenced:c(g),codeFencedFence:h,codeFencedFenceInfo:p,codeFencedFenceMeta:m,codeFlowValue:E,codeIndented:c(_),codeText:c(j),codeTextData:E,data:E,definition:c(),definitionDestinationString:b,definitionLabelString:v,definitionTitleString:y,emphasis:c(),hardBreakEscape:c(O),hardBreakTrailing:c(O),htmlFlow:c(k),htmlFlowData:E,htmlText:c(A),htmlTextData:E,image:c(M),label:P,labelText:N,lineEnding:D,link:c(ee),listItem:c(),listOrdered:c(),listUnordered:c(),paragraph:c(),referenceString:ie,resourceDestinationString:F,resourceTitleString:te,resource:ne,setextHeading:c(w),setextHeadingLineSequence:C,setextHeadingText:S,strong:c(),thematicBreak:c()}};rz(t,(e||{}).mdastExtensions||[]);let n={};return r;function r(e){let r={type:`root`,children:[]},a={stack:[r],tokenStack:[],config:t,enter:s,exit:l,buffer:o,resume:u,data:n},c=[],d=-1;for(;++d<e.length;)(e[d][1].type===`listOrdered`||e[d][1].type===`listUnordered`)&&(e[d][0]===`enter`?c.push(d):d=i(e,c.pop(),d));for(d=-1;++d<e.length;){let n=t[e[d][0]];$R.call(n,e[d][1].type)&&n[e[d][1].type].call(Object.assign({sliceSerialize:e[d][2].sliceSerialize},a),e[d][1])}if(a.tokenStack.length>0){let e=a.tokenStack[a.tokenStack.length-1];(e[1]||az).call(a,void 0,e[0])}for(r.position={start:nz(e.length>0?e[0][1].start:{line:1,column:1,offset:0}),end:nz(e.length>0?e[e.length-2][1].end:{line:1,column:1,offset:0})},d=-1;++d<t.transforms.length;)r=t.transforms[d](r)||r;return r}function i(e,t,n){let r=t-1,i=-1,a=!1,o,s,c,l;for(;++r<=n;){let t=e[r];switch(t[1].type){case`listUnordered`:case`listOrdered`:case`blockQuote`:t[0]===`enter`?i++:i--,l=void 0;break;case`lineEndingBlank`:t[0]===`enter`&&(o&&!l&&!i&&!c&&(c=r),l=void 0);break;case`linePrefix`:case`listItemValue`:case`listItemMarker`:case`listItemPrefix`:case`listItemPrefixWhitespace`:break;default:l=void 0}if(!i&&t[0]===`enter`&&t[1].type===`listItemPrefix`||i===-1&&t[0]===`exit`&&(t[1].type===`listUnordered`||t[1].type===`listOrdered`)){if(o){let i=r;for(s=void 0;i--;){let t=e[i];if(t[1].type===`lineEnding`||t[1].type===`lineEndingBlank`){if(t[0]===`exit`)continue;s&&(e[s][1].type=`lineEndingBlank`,a=!0),t[1].type=`lineEnding`,s=i}else if(t[1].type!==`linePrefix`&&t[1].type!==`blockQuotePrefix`&&t[1].type!==`blockQuotePrefixWhitespace`&&t[1].type!==`blockQuoteMarker`&&t[1].type!==`listItemIndent`)break}c&&(!s||c<s)&&(o._spread=!0),o.end=Object.assign({},s?e[s][1].start:t[1].end),e.splice(s||r,0,[`exit`,o,t[2]]),r++,n++}if(t[1].type===`listItemPrefix`){let i={type:`listItem`,_spread:!1,start:Object.assign({},t[1].start),end:void 0};o=i,e.splice(r,0,[`enter`,i,t[2]]),r++,n++,c=void 0,l=!0}}}return e[t][1]._spread=a,n}function a(e,t){return n;function n(n){s.call(this,e(n),n),t&&t.call(this,n)}}function o(){this.stack.push({type:`fragment`,children:[]})}function s(e,t,n){this.stack[this.stack.length-1].children.push(e),this.stack.push(e),this.tokenStack.push([t,n||void 0]),e.position={start:nz(t.start),end:void 0}}function c(e){return t;function t(t){e&&e.call(this,t),l.call(this,t)}}function l(e,t){let n=this.stack.pop(),r=this.tokenStack.pop();if(r)r[0].type!==e.type&&(t?t.call(this,e,r[0]):(r[1]||az).call(this,e,r[0]));else throw Error("Cannot close `"+e.type+"` ("+wF({start:e.start,end:e.end})+`): it’s not open`);n.position.end=nz(e.end)}function u(){return oI(this.stack.pop())}function d(){this.data.expectingFirstListItemValue=!0}function f(e){if(this.data.expectingFirstListItemValue){let t=this.stack[this.stack.length-2];t.start=Number.parseInt(this.sliceSerialize(e),10),this.data.expectingFirstListItemValue=void 0}}function p(){let e=this.resume(),t=this.stack[this.stack.length-1];t.lang=e}function m(){let e=this.resume(),t=this.stack[this.stack.length-1];t.meta=e}function h(){this.data.flowCodeInside||(this.buffer(),this.data.flowCodeInside=!0)}function g(){let e=this.resume(),t=this.stack[this.stack.length-1];t.value=e.replace(/^(\r?\n|\r)|(\r?\n|\r)$/g,``),this.data.flowCodeInside=void 0}function _(){let e=this.resume(),t=this.stack[this.stack.length-1];t.value=e.replace(/(\r?\n|\r)$/g,``)}function v(e){let t=this.resume(),n=this.stack[this.stack.length-1];n.label=t,n.identifier=yI(this.sliceSerialize(e)).toLowerCase()}function y(){let e=this.resume(),t=this.stack[this.stack.length-1];t.title=e}function b(){let e=this.resume(),t=this.stack[this.stack.length-1];t.url=e}function x(e){let t=this.stack[this.stack.length-1];t.depth||=this.sliceSerialize(e).length}function S(){this.data.setextHeadingSlurpLineEnding=!0}function C(e){let t=this.stack[this.stack.length-1];t.depth=this.sliceSerialize(e).codePointAt(0)===61?1:2}function w(){this.data.setextHeadingSlurpLineEnding=void 0}function T(e){let t=this.stack[this.stack.length-1].children,n=t[t.length-1];(!n||n.type!==`text`)&&(n=we(),n.position={start:nz(e.start),end:void 0},t.push(n)),this.stack.push(n)}function E(e){let t=this.stack.pop();t.value+=this.sliceSerialize(e),t.position.end=nz(e.end)}function D(e){let n=this.stack[this.stack.length-1];if(this.data.atHardBreak){let t=n.children[n.children.length-1];t.position.end=nz(e.end),this.data.atHardBreak=void 0;return}!this.data.setextHeadingSlurpLineEnding&&t.canContainEols.includes(n.type)&&(T.call(this,e),E.call(this,e))}function O(){this.data.atHardBreak=!0}function k(){let e=this.resume(),t=this.stack[this.stack.length-1];t.value=e}function A(){let e=this.resume(),t=this.stack[this.stack.length-1];t.value=e}function j(){let e=this.resume(),t=this.stack[this.stack.length-1];t.value=e}function ee(){let e=this.stack[this.stack.length-1];if(this.data.inReference){let t=this.data.referenceType||`shortcut`;e.type+=`Reference`,e.referenceType=t,delete e.url,delete e.title}else delete e.identifier,delete e.label;this.data.referenceType=void 0}function M(){let e=this.stack[this.stack.length-1];if(this.data.inReference){let t=this.data.referenceType||`shortcut`;e.type+=`Reference`,e.referenceType=t,delete e.url,delete e.title}else delete e.identifier,delete e.label;this.data.referenceType=void 0}function N(e){let t=this.sliceSerialize(e),n=this.stack[this.stack.length-2];n.label=ZR(t),n.identifier=yI(t).toLowerCase()}function P(){let e=this.stack[this.stack.length-1],t=this.resume(),n=this.stack[this.stack.length-1];this.data.inReference=!0,n.type===`link`?n.children=e.children:n.alt=t}function F(){let e=this.resume(),t=this.stack[this.stack.length-1];t.url=e}function te(){let e=this.resume(),t=this.stack[this.stack.length-1];t.title=e}function ne(){this.data.inReference=void 0}function re(){this.data.referenceType=`collapsed`}function ie(e){let t=this.resume(),n=this.stack[this.stack.length-1];n.label=t,n.identifier=yI(this.sliceSerialize(e)).toLowerCase(),this.data.referenceType=`full`}function ae(e){this.data.characterReferenceType=e.type}function oe(e){let t=this.sliceSerialize(e),n=this.data.characterReferenceType,r;n?(r=vI(t,n===`characterReferenceMarkerNumeric`?10:16),this.data.characterReferenceType=void 0):r=dI(t);let i=this.stack[this.stack.length-1];i.value+=r}function se(e){let t=this.stack.pop();t.position.end=nz(e.end)}function ce(e){E.call(this,e);let t=this.stack[this.stack.length-1];t.url=this.sliceSerialize(e)}function le(e){E.call(this,e);let t=this.stack[this.stack.length-1];t.url=`mailto:`+this.sliceSerialize(e)}function ue(){return{type:`blockquote`,children:[]}}function de(){return{type:`code`,lang:null,meta:null,value:``}}function fe(){return{type:`inlineCode`,value:``}}function pe(){return{type:`definition`,identifier:``,label:null,title:null,url:``}}function me(){return{type:`emphasis`,children:[]}}function he(){return{type:`heading`,depth:0,children:[]}}function ge(){return{type:`break`}}function _e(){return{type:`html`,value:``}}function ve(){return{type:`image`,title:null,url:``,alt:null}}function ye(){return{type:`link`,title:null,url:``,children:[]}}function be(e){return{type:`list`,ordered:e.type===`listOrdered`,start:null,spread:e._spread,children:[]}}function xe(e){return{type:`listItem`,spread:e._spread,checked:null,children:[]}}function Se(){return{type:`paragraph`,children:[]}}function Ce(){return{type:`strong`,children:[]}}function we(){return{type:`text`,value:``}}function Te(){return{type:`thematicBreak`}}}function nz(e){return{line:e.line,column:e.column,offset:e.offset}}function rz(e,t){let n=-1;for(;++n<t.length;){let r=t[n];Array.isArray(r)?rz(e,r):iz(e,r)}}function iz(e,t){let n;for(n in t)if($R.call(t,n))switch(n){case`canContainEols`:{let r=t[n];r&&e[n].push(...r);break}case`transforms`:{let r=t[n];r&&e[n].push(...r);break}case`enter`:case`exit`:{let r=t[n];r&&Object.assign(e[n],r);break}}}function az(e,t){throw Error(e?"Cannot close `"+e.type+"` ("+wF({start:e.start,end:e.end})+"): a different token (`"+t.type+"`, "+wF({start:t.start,end:t.end})+`) is open`:"Cannot close document, a token (`"+t.type+"`, "+wF({start:t.start,end:t.end})+`) is still open`)}function oz(e){let t=this;t.parser=n;function n(n){return ez(n,{...t.data(`settings`),...e,extensions:t.data(`micromarkExtensions`)||[],mdastExtensions:t.data(`fromMarkdownExtensions`)||[]})}}function sz(e,t){let n={type:`element`,tagName:`blockquote`,properties:{},children:e.wrap(e.all(t),!0)};return e.patch(t,n),e.applyData(t,n)}function cz(e,t){let n={type:`element`,tagName:`br`,properties:{},children:[]};return e.patch(t,n),[e.applyData(t,n),{type:`text`,value:`