var CWCLetterGrid=(function(hr){"use strict";const hn=['','','','','','','',''];function Tr(L){return`data:image/svg+xml,${(L.includes("xmlns")?L:L.replace("/g,"%3E")}`}const Pr=hn.map(Tr),Lr={body:0,shadow:1},fn=Tr(''),kr=1,Ls=1;function fr(L){return"generate"in L}const zs={C:{cols:7,topCap:[".XXXX.","XXXXXX","XX..XX"],body:"XX....",bottomCap:["XX..XX","XXXXXX",".XXXX."]},O:{cols:7,topCap:[".XXXX.","XXXXXX"],body:"XX..XX",bottomCap:["XXXXXX",".XXXX."]},D:{cols:7,topCap:["XXXXX.","XXXXXX"],body:"XX..XX",bottomCap:["XXXXXX","XXXXX."]},E:{cols:7,topCap:[".XXXXX","XXXXXX"],body:"XX....",midBar:["XXXXX.","XXXXX."],bottomCap:["XXXXXX",".XXXXX"]},B:{cols:7,topCap:["XXXXX.","XXXXXX"],body:"XX..XX",midBar:["XXXXXX","XXXXXX"],bottomCap:["XXXXXX","XXXXX."]},U:{cols:7,topCap:["XX..XX"],body:"XX..XX",bottomCap:["XX..XX","XXXXXX",".XXXX."]},I:{cols:7,topCap:["XXXXXX","XXXXXX"],body:"..XX..",bottomCap:["XXXXXX","XXXXXX"]},L:{cols:7,topCap:["XX...."],body:"XX....",bottomCap:["XX....","XXXXXX","XXXXXX"]},T:{cols:7,topCap:["XXXXXX","XXXXXX"],body:"..XX..",bottomCap:["..XX.."]},N:{cols:7,topCap:["XX..XX"],body:"XX..XX",midBar:["XXX.XX","XXXXXX","XX.XXX"],bottomCap:["XX..XX"]},K:{cols:7,generate(L){const C=[],D=Math.floor((L-1)/2);for(let z=0;z{const O=Math.abs(z-C);return O<.6?"..XX..":O<1.6?".XXXX.":"XX..XX"})}},Y:{cols:7,topCap:["XX..XX","XX..XX","XX..XX"],upperBody:"XX..XX",midBar:["XXXXXX",".XXXXX"],body:"....XX",bottomCap:["XX..XX","XXXXXX",".XXXX."]},Z:{cols:7,generate(L){const C=["XXXXXX","XXXXXX"],D=L-4;for(let z=0;z1?z/(D-1):0,V=Math.ceil(5-tt*4-.3),G=Math.floor(4-tt*4+.3);for(let H=G;H<=V;H++)O[H]="X";C.push(O.join(""))}return C.push("XXXXXX","XXXXXX"),C}},0:{cols:7,generate(L){const C=[".XXXX.","XXXXXX","XX..XX"],D=L-6;if(D===1)C.push("XXXXXX");else if(D===2)C.push("XX.XXX","XXX.XX");else if(D===3)C.push("XX.XXX","XXXXXX","XXX.XX");else{const z=["XX.XXX","XX.XXX","XXXXXX","XXX.XX"],O=Math.floor((D-4)/2);for(let tt=0;tt1?z/(D-1):0,V=Math.round(4-tt*4);O[V]="X",V+1<6&&(O[V+1]="X"),C.push(O.join(""))}return C.push("XXXXXX","XXXXXX"),C}},3:{cols:7,topCap:[".XXXX.","XXXXXX","XX..XX"],midBar:["..XXX.","..XXX."],body:"....XX",bottomCap:["XX..XX","XXXXXX",".XXXX."]},4:{cols:7,topCap:["XX..XX","XX..XX"],upperBody:"XX..XX",midBar:["XXXXXX",".XXXXX"],body:"....XX",bottomCap:[]},5:{cols:7,topCap:["XXXXXX","XXXXXX","XX...."],upperBody:"XX....",midBar:["XXXXX.",".XXXXX"],body:"....XX",bottomCap:["XX..XX","XXXXXX",".XXXX."]},6:{cols:7,topCap:[".XXXX.","XXXXXX","XX..XX"],upperBody:"XX....",midBar:["XXXXX.","XXXXXX"],body:"XX..XX",bottomCap:["XXXXXX",".XXXX."]},7:{cols:7,generate(L){const C=["XXXXXX","XXXXXX"],D=L-2;for(let z=0;z1?z/(D-1):0,V=Math.floor(4.5-tt*4.5);O[V]="X",O[V+1]="X",C.push(O.join(""))}return C}},8:{cols:7,topCap:[".XXXX.","XXXXXX"],body:"XX..XX",midBar:[".XXXX.","XXXXXX"],bottomCap:["XXXXXX",".XXXX."]},9:{cols:7,topCap:[".XXXX.","XXXXXX","XX..XX"],upperBody:"XX..XX",midBar:["XXXXXX",".XXXXX"],body:"....XX",bottomCap:["XX..XX","XXXXXX",".XXXX."]},コ:{cols:11,topCap:["XXXXXXXXX.","XXXXXXXXX."],body:".......XX.",bottomCap:["XXXXXXXXX.","XXXXXXXXX."]},ー:{cols:11,topCap:[],body:"..........",midBar:["XXXXXXXXX.","XXXXXXXXX."],bottomCap:[]},ト:{cols:11,topCap:["XX........"],body:"XX........",upperBody:"XX........",midBar:["XXXXX.....","XX..XXX...","XX....XX.."],bottomCap:["XX........"]},ド:{cols:11,topCap:["XX....X.X.","XX.....X.."],body:"XX........",upperBody:"XX........",midBar:["XXXXX.....","XX..XXX...","XX....XX.."],bottomCap:["XX........"]},テ:{cols:11,topCap:["XXXXXXXXX.","XXXXXXXXX.","..XXXXXX.."],body:"....XX....",bottomCap:["....XX...."]},ィ:{cols:11,topCap:["....XX....","....XXX..."],body:".....XX...",bottomCap:[".....XX..."]},ン:{cols:11,generate(L){const C=[];C.push(".XX......."),C.push("..XX......");const D=L-2;for(let z=0;z1?z/(D-1):0,V=Math.round(8-tt*6);O[Math.min(9,V)]="X",O[Math.max(0,V-1)]="X",C.push(O.join(""))}return C}},カ:{cols:11,topCap:[".XXXXXXXX.",".XXXXXXXX.","....XX..XX"],body:"....XX..XX",bottomCap:["...XX...XX","..XX......"]},ビ:{cols:11,topCap:["XX....X.X.","XX.....X..","XXXXXXXX.."],body:"......XX..",bottomCap:["......XX.."]},ル:{cols:11,topCap:["..XX..XX.."],body:"..XX..XX..",bottomCap:["..XX...XX.",".XX.....XX"]},イ:{cols:11,generate(L){const C=[],D=Math.max(2,Math.ceil(L*.35));for(let z=0;z1?z/(D-1):0,V=Math.round(5-tt*4);O[V]="X",V+1<6&&(O[V+1]="X"),C.push(O.join(""))}for(let z=D;z1?O/(D-1):1,G=Math.round(V*7);tt[Math.min(9,G)]="X",tt[Math.min(9,G+1)]="X",O0&&(tt[G-1]="X"),C.push(tt.join(""))}return C}}};function cr(L){var C;return((C=zs[L])==null?void 0:C.cols)??7}const Ir=new Map;function wi(L,C){const D=`${L}:${C}`,z=Ir.get(D);if(z)return z;const O=zs[L];if(!O)return[];let tt;if(fr(O))tt=O.generate(C);else{if(tt=[...O.topCap],O.midBar){const U=Array.isArray(O.midBar)?O.midBar:[O.midBar],R=O.topCap.length+O.bottomCap.length+U.length,vt=Math.max(0,C-R),ht=Math.floor(vt/2),q=Math.ceil(vt/2),K=O.upperBody||O.body;for(let lt=0;lt({oldR:lt,newR:lt})),newOnly:Array.from({length:Math.max(0,D-C)},(K,lt)=>q+lt),oldOnly:Array.from({length:Math.max(0,C-D)},(K,lt)=>q+lt)}}const O=z.generate(C),tt=z.generate(D),V=O.length,G=tt.length,H=[],et=[],U=[],R=Math.min(V,G),vt=Math.ceil(R/2),ht=R-vt;for(let q=0;q0){const q=Math.floor(et/2),K=Math.ceil(et/2),lt=Math.floor(U/2),ct=Math.ceil(U/2),Bt=Math.min(q,lt);for(let N=0;Net-U))O.push({startCol:H,letters:z.get(H)});const tt=[];for(let H=0;H{const et=new Int8Array(V).fill(-1);for(const{wi:U,li:R}of H.letters)et[U]=R;return et});return{columnGroups:O,letterToColGroup:tt,groupWordLetter:G}}const pr=["THINK","PAIR","BUILD","ITERATE"],Oe=1,Rr=[7,0,14,0],un=49,dn=7;pr.length;const mn=768,vn=Fr(pr,Rr),gn={words:pr,wordOffsetCols:Rr,compositionCols:un,numColGroups:dn,...vn},yn=` /* ── CWC LetterGrid Embed ─────────────────────────────── */ .cwc-lg-hero { flex: 1; min-width: 0; position: relative; display: flex; flex-direction: column; align-items: center; justify-content: center; height: 100%; padding-top: 2rem; padding-bottom: 2rem; padding-right: 0.25rem; overflow: hidden; touch-action: pan-y; } @media (min-width: 768px) { .cwc-lg-hero { padding-top: clamp(2rem, 4vh, 4rem); padding-bottom: clamp(2rem, 4vh, 4rem); padding-right: 0; } } .cwc-lg-canvas { flex-shrink: 0; opacity: 0; position: relative; z-index: 1; } /* ── LCP poster ── */ .cwc-lg-poster { position: absolute; inset: 0; background-color: var(--page-bg, #faf9f5); pointer-events: none; z-index: 0; } .cwc-lg-canvas[style] ~ .cwc-lg-poster { visibility: hidden; } /* ── Breakout HUD — scoreboard ── */ .cwc-lg-breakout-hud { position: absolute; top: 8px; left: 8px; z-index: 10; pointer-events: none; animation: cwcLgHudFadeIn 200ms ease-out; } @media (min-width: 768px) { .cwc-lg-breakout-hud { top: 3rem; left: auto; right: 3rem; } } /* ── Close button ── */ .cwc-lg-hud-close-btn { position: absolute; top: 8px; right: 8px; z-index: 10; width: 28px; height: 28px; border-radius: 50%; border: 1px solid var(--border-primary, #b0aea5); background: color-mix(in srgb, var(--page-bg, #faf9f5) 85%, white 15%); color: var(--fg-secondary, #30302e); font-size: 1rem; line-height: 1; display: flex; align-items: center; justify-content: center; cursor: pointer; pointer-events: auto; transition: opacity 150ms ease; animation: cwcLgHudFadeIn 200ms ease-out; } @media (min-width: 768px) { .cwc-lg-hud-close-btn { display: none; } } .cwc-lg-hud-close-btn:hover { opacity: 0.7; } /* ── HUD panel ── */ .cwc-lg-hud-panel { pointer-events: auto; display: flex; flex-direction: column; width: 120px; position: relative; z-index: 8; } @media (min-width: 768px) { .cwc-lg-hud-panel { width: 160px; } } .cwc-lg-hud-row { background: color-mix(in srgb, var(--page-bg, #faf9f5) 85%, white 15%); border: 1px solid var(--border-primary, #b0aea5); padding: 4px 8px; display: flex; align-items: center; justify-content: space-between; margin-bottom: -1px; min-height: 1.75rem; } @media (min-width: 768px) { .cwc-lg-hud-row { padding: 8px 12px; min-height: 2.75rem; } } .cwc-lg-hud-label { font-family: var(--font-family-sans, 'Anthropic Mono Variable', 'JetBrains Mono', monospace); font-size: 0.5625rem; line-height: 0.75rem; color: var(--fg-tertiary, #5e5d59); text-transform: uppercase; letter-spacing: 0.5px; font-variation-settings: 'opsz' 16; font-feature-settings: 'lnum', 'tnum'; } @media (min-width: 768px) { .cwc-lg-hud-label { font-size: 0.6875rem; line-height: 0.875rem; } } .cwc-lg-hud-value { font-family: var(--font-family-sans, 'Anthropic Mono Variable', 'JetBrains Mono', monospace); font-size: 0.6875rem; line-height: 0.875rem; color: var(--fg-primary, #141413); font-variation-settings: 'opsz' 16; font-feature-settings: 'lnum', 'tnum'; } @media (min-width: 768px) { .cwc-lg-hud-value { font-size: 0.9375rem; line-height: 1.25rem; } } .cwc-lg-hud-lives { display: flex; gap: 4px; align-items: center; } .cwc-lg-hud-life-dot { width: 7px; height: 7px; background: var(--accent-clay, #c96442); mask-image: url('https://cdn.sanity.io/images/4zrzovbb/claude-com/b505899fba92ce63e8dfbfd89e29cf29cd099b21-116x116.svg'); mask-size: contain; mask-repeat: no-repeat; } @media (min-width: 768px) { .cwc-lg-hud-life-dot { width: 10px; height: 10px; } } /* ── Sound toggle ── */ .cwc-lg-hud-sound-toggle { width: 100%; cursor: pointer; transition: opacity 150ms ease; } .cwc-lg-hud-sound-toggle:hover { opacity: 0.7; } .cwc-lg-hud-switch { position: relative; display: inline-block; width: 24px; height: 14px; border-radius: 7px; background: var(--fg-tertiary, #5e5d59); opacity: 0.4; transition: background 150ms ease, opacity 150ms ease; flex-shrink: 0; } .cwc-lg-hud-switch::after { content: ''; position: absolute; top: 2px; left: 2px; width: 10px; height: 10px; border-radius: 50%; background: var(--page-bg, #faf9f5); transition: transform 150ms ease; } .cwc-lg-hud-switch[data-on] { background: var(--accent-clay, #c96442); opacity: 1; } .cwc-lg-hud-switch[data-on]::after { transform: translateX(10px); } @media (min-width: 768px) { .cwc-lg-hud-switch { width: 30px; height: 16px; border-radius: 8px; } .cwc-lg-hud-switch::after { top: 2px; left: 2px; width: 12px; height: 12px; } .cwc-lg-hud-switch[data-on]::after { transform: translateX(14px); } } /* ── Game Over ── */ .cwc-lg-breakout-game-over { position: absolute; inset: 0; z-index: 10; pointer-events: none; display: flex; align-items: center; justify-content: center; animation: cwcLgHudFadeIn 200ms ease-out; } .cwc-lg-hud-title { font-family: var(--font-family-sans, 'Anthropic Mono Variable', 'JetBrains Mono', monospace); font-size: 0.6875rem; line-height: 0.875rem; color: var(--fg-primary, #141413); font-variation-settings: 'opsz' 16; width: 100%; text-align: center; } @media (min-width: 768px) { .cwc-lg-hud-title { font-size: 0.9375rem; line-height: 1.25rem; } } .cwc-lg-hud-play-again { background: var(--fg-primary, #141413); border: 1px solid var(--border-primary, #b0aea5); padding: 4px 8px; margin-bottom: -1px; cursor: pointer; font-family: var(--font-family-sans, 'Anthropic Mono Variable', 'JetBrains Mono', monospace); font-size: 0.6875rem; line-height: 0.875rem; color: var(--bg-primary, #faf9f5); width: 100%; text-align: center; font-variation-settings: 'opsz' 16; transition: opacity 150ms ease; } @media (min-width: 768px) { .cwc-lg-hud-play-again { padding: 8px 12px; font-size: 0.9375rem; line-height: 1.25rem; } } .cwc-lg-hud-play-again:hover { background: color-mix(in srgb, var(--fg-primary, #141413) 85%, var(--page-bg, #faf9f5) 15%); } .cwc-lg-hud-exit-game { background: color-mix(in srgb, var(--page-bg, #faf9f5) 85%, white 15%); border: 1px solid var(--border-primary, #b0aea5); padding: 4px 8px; cursor: pointer; font-family: var(--font-family-sans, 'Anthropic Mono Variable', 'JetBrains Mono', monospace); font-size: 0.6875rem; line-height: 0.875rem; color: var(--fg-secondary, #30302e); width: 100%; text-align: center; font-variation-settings: 'opsz' 16; transition: opacity 150ms ease; } @media (min-width: 768px) { .cwc-lg-hud-exit-game { padding: 8px 12px; font-size: 0.9375rem; line-height: 1.25rem; } } .cwc-lg-hud-exit-game:hover { background: color-mix(in srgb, var(--page-bg, #faf9f5) 75%, white 25%); } /* ── Mobile touch targets ── */ @media (max-width: 767px) { .cwc-lg-breakout-hud { top: 12px; left: 12px; } .cwc-lg-hud-close-btn { top: 12px; right: 12px; width: 40px; height: 40px; min-height: 40px; font-size: 1.375rem; background: var(--page-bg, #faf9f5); border: 1px solid var(--border-primary, #b0aea5); } .cwc-lg-breakout-game-over .cwc-lg-hud-panel { width: 200px; } .cwc-lg-breakout-game-over .cwc-lg-hud-row { padding: 8px 12px; } .cwc-lg-breakout-game-over .cwc-lg-hud-title { font-size: 0.875rem; line-height: 1.125rem; } .cwc-lg-breakout-game-over .cwc-lg-hud-value { font-size: 0.875rem; line-height: 1.125rem; } .cwc-lg-breakout-game-over .cwc-lg-hud-play-again, .cwc-lg-breakout-game-over .cwc-lg-hud-exit-game { min-height: 44px; padding: 12px 16px; font-size: 0.875rem; line-height: 1.125rem; } .cwc-lg-breakout-game-over .cwc-lg-hud-exit-game { background: var(--page-bg, #faf9f5); } } /* ── Mobile fullscreen breakout ── */ @media (max-width: 767px) { html[data-breakout="active"] { overflow: hidden; } html[data-breakout="active"] .cwc-lg-hero { position: fixed; top: 80px; left: 0; right: 0; bottom: 0; z-index: 9999; width: 100vw; height: calc(100svh - 80px); padding: 0; background: var(--page-bg, #faf9f5); } } /* ── Animations ── */ @keyframes cwcLgHudFadeIn { from { opacity: 0; transform: translateY(-4px); } to { opacity: 1; transform: translateY(0); } } /* ═══════════════════════════════════════════════ ClawdMascot ═══════════════════════════════════════════════ */ .cwc-lg-mascot-wrapper { position: absolute; bottom: -22px; right: 32px; z-index: 35; pointer-events: auto; cursor: pointer; user-select: none; -webkit-user-select: none; -webkit-tap-highlight-color: transparent; display: flex; flex-direction: column; align-items: center; } /* Entrance / exit */ .cwc-lg-mascot-entering { animation: cwcLgClawdSlideUp 500ms cubic-bezier(0.34, 1.56, 0.64, 1) forwards; } .cwc-lg-mascot-exiting { animation: cwcLgClawdSlideDown 300ms ease-in forwards; pointer-events: none; } @keyframes cwcLgClawdSlideUp { from { transform: translateY(100%); opacity: 0; } to { transform: translateY(0); opacity: 1; } } @keyframes cwcLgClawdSlideDown { from { transform: translateY(0); opacity: 1; } to { transform: translateY(100%); opacity: 0; } } /* Bounce (idle) */ @keyframes cwcLgClawdBounce { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-6px); } } .cwc-lg-mascot-bouncing { animation: cwcLgClawdBounce 2s ease-in-out infinite; } /* Label */ @keyframes cwcLgLabelPopIn { from { opacity: 0; transform: scale(0.8) translateY(4px); } to { opacity: 1; transform: scale(1) translateY(0); } } .cwc-lg-mascot-label { font-family: var(--font-family-sans, 'Anthropic Sans Variable', system-ui, sans-serif); font-size: 0.6875rem; pointer-events: none; text-align: center; text-transform: uppercase; letter-spacing: 0.5px; line-height: 1.3; animation: cwcLgLabelPopIn 300ms cubic-bezier(0.34, 1.56, 0.64, 1) forwards; position: relative; background: var(--fg-primary, #141413); color: var(--page-bg, #faf9f5); padding: 4px 8px; border-radius: 6px; margin-bottom: 8px; } /* Lottie container */ .cwc-lg-mascot-lottie { display: block; width: 100px; aspect-ratio: 1200 / 1050; } .cwc-lg-mascot-lottie div, .cwc-lg-mascot-lottie svg { width: 100% !important; height: 100% !important; } .cwc-lg-mascot-lottie svg { shape-rendering: crispEdges; display: block; } /* Hover scale (pointer devices only) */ @media (hover: hover) { .cwc-lg-mascot-lottie { transition: transform 150ms ease-out; } .cwc-lg-mascot-lottie:hover { transform: scale(1.05); } .cwc-lg-mascot-bouncing:hover { animation-play-state: paused; } } /* Desktop backdrop removed — bg color mismatch in Webflow */ /* Mobile */ @media (max-width: 767px) { .cwc-lg-mascot-wrapper { bottom: -16px; right: 0; z-index: 10; width: 100px; } .cwc-lg-mascot-lottie { width: 56px; } .cwc-lg-mascot-label { font-size: 0.5625rem; max-width: 100px; width: max-content; } } /* ═══════════════════════════════════════════════ ClawdCheerleader ═══════════════════════════════════════════════ */ .cwc-lg-cheer-wrapper { position: fixed; bottom: env(safe-area-inset-bottom, 0px); right: calc(32px + env(safe-area-inset-right, 0px)); z-index: 35; pointer-events: none; user-select: none; -webkit-user-select: none; -webkit-tap-highlight-color: transparent; display: flex; flex-direction: column; align-items: center; } .cwc-lg-cheer-entering { animation: cwcLgCheerSlideUp 500ms cubic-bezier(0.34, 1.56, 0.64, 1) forwards; } .cwc-lg-cheer-exiting { animation: cwcLgCheerSlideDown 300ms ease-in forwards; } @keyframes cwcLgCheerSlideUp { from { transform: translateY(100%); opacity: 0; } to { transform: translateY(0); opacity: 1; } } @keyframes cwcLgCheerSlideDown { from { transform: translateY(0); opacity: 1; } to { transform: translateY(100%); opacity: 0; } } .cwc-lg-cheer-label { font-family: var(--font-family-sans, 'Anthropic Sans Variable', system-ui, sans-serif); font-size: 0.6875rem; pointer-events: none; margin-bottom: -24px; position: relative; z-index: 1; text-align: center; text-transform: uppercase; letter-spacing: 0.5px; line-height: 1.3; background: var(--fg-primary, #141413); color: var(--page-bg, #faf9f5); padding: 4px 8px; border-radius: 6px; } .cwc-lg-cheer-lottie { display: block; width: 80px; aspect-ratio: 1200 / 1400; } .cwc-lg-cheer-lottie div, .cwc-lg-cheer-lottie svg { width: 100% !important; height: 100% !important; } .cwc-lg-cheer-lottie svg { shape-rendering: crispEdges; display: block; } /* Mobile: absolute within grid wrapper */ @media (max-width: 767px) { .cwc-lg-cheer-wrapper { position: absolute; bottom: 0; right: 12px; z-index: 10; } .cwc-lg-cheer-lottie { width: 56px; } .cwc-lg-cheer-label { font-size: 0.5625rem; max-width: 100px; margin-bottom: 8px; } } @media (prefers-reduced-motion: reduce) { .cwc-lg-breakout-hud, .cwc-lg-breakout-game-over { animation: none; } .cwc-lg-hud-play-again, .cwc-lg-hud-exit-game, .cwc-lg-hud-sound-toggle, .cwc-lg-hud-switch, .cwc-lg-hud-switch::after { transition: none; } /* Mascot */ .cwc-lg-mascot-entering { animation: none; opacity: 1; transform: translateY(0); } .cwc-lg-mascot-exiting { animation: none; opacity: 0; } .cwc-lg-mascot-bouncing { animation: none; } .cwc-lg-mascot-label { animation: none; } /* Cheerleader */ .cwc-lg-cheer-entering { animation: none; opacity: 1; transform: translateY(0); } .cwc-lg-cheer-exiting { animation: none; opacity: 0; } } /* ── Confetti overlay ── */ .cwc-lg-confetti-overlay { position: absolute; inset: 0; z-index: 5; pointer-events: none; } `;let Br=!1;function _n(){if(Br)return;Br=!0;const L=document.createElement("style");L.textContent=yn,L.setAttribute("data-cwc-lettergrid",""),document.head.appendChild(L)}let Or=!1;function Xn(L){let C=0;for(const D of L)C+=cr(D);return C}function wn(L){const C=L.map(tt=>Xn(tt)),D=Math.max(...C),z=C.map(tt=>Math.floor((D-tt)/2)),O=Fr(L,z);return{words:L,wordOffsetCols:z,compositionCols:D,numColGroups:O.columnGroups.length,...O}}function bn(L,C={}){const D=C.words?wn(C.words.split(/\s+/).filter(Boolean)):C.config??gn,{svgConfig:z=Lr,className:O="",mouseTarget:tt}=C,V=D;_n();const G=typeof L=="string"?document.querySelector(L):L;if(!G)throw new Error(`CWCLetterGrid: target "${L}" not found`);const H=document.createElement("div");H.className=`cwc-lg-hero${O?` ${O}`:""}`,H.setAttribute("role","img"),H.setAttribute("aria-label","Interactive typographic grid");const et=document.createElement("canvas");et.className="cwc-lg-canvas",et.setAttribute("aria-hidden","true");const U=document.createElement("div");U.className="cwc-lg-poster",U.setAttribute("aria-hidden","true"),H.appendChild(et),H.appendChild(U),G.appendChild(H);let R=null,vt=!1;return Promise.resolve().then(()=>Dn).then(({createCanvasEngine:ht})=>{if(vt)return;const q=tt?typeof tt=="string"?document.querySelector(tt)??void 0:tt:void 0;R=ht({heroEl:H,canvas:et,config:V,svgConfig:z,skipEntrance:Or,disableGame:!0,mouseTarget:q}),R.onEntranceComplete=()=>{Or=!0,window.dispatchEvent(new CustomEvent("grid-entrance-complete"))},R.start()}),()=>{vt=!0,R==null||R.destroy(),H.remove()}}const B={...{SPRING_TENSION:.15,SPRING_FRICTION:.4,BLEND_SPRING_TENSION:.25,BLEND_SPRING_FRICTION:.45,BLEND_WARMUP_DURATION:1200,BLEND_WARMUP_TENSION:.06,HEIGHT_SPRING_TENSION:.15,HEIGHT_SPRING_FRICTION:.4,MIN_H:8,MAX_H:32,SIGMA_X:1.5,SIGMA_Y:.55,FOCUS_LERP:.3,IDLE_FOCUS_LERP:.12,IDLE_SMOOTHING_RATE:.09,HOVER_FALLOFF_RADIUS:.6,SHAKE_THRESHOLD:15,SHAKE_COUNT_TRIGGER:3,SHAKE_WINDOW:600,SHAKE_COOLDOWN:1500,SHAKE_WOBBLE_AMPLITUDE:2.5,SHAKE_WOBBLE_DECAY:.92,SHAKE_FOCUS_LERP:.25,SHAKE_WOBBLE_ANGULAR_VELOCITY:.3,IDLE_DELAY:0,IDLE_DEMO_PERIOD:8e3,IDLE_BLEND_FADE_IN:1500,WAVE_ENABLED:1,FISHEYE_TRANSITIONS:0,SPIN_STAGGER_PER_COL:15,SHADOW_INTERVAL_MIN:8e3,SHADOW_INTERVAL_MAX:15e3,WAVE_INITIAL_BODY_DELAY_MS:0,WAVE_INITIAL_SHADOW_DELAY_MS:500,WAVE_WORD_STAGGER_MS:0,WAVE_LETTER_STAGGER_MS:80,WAVE_LETTER_JITTER_MS:160,WAVE_CELL_JITTER_MS:300,WAVE_FPS:12,LOTTIE_FISHEYE_FPS:18,LOTTIE_EXIT_FPS:36,LOTTIE_EXIT_START_FRAME:3,LOTTIE_EXIT_HOLD_FRAMES:3,LOTTIE_MIN_INTERRUPT_FRAMES:4,TW_INITIAL_DELAY_MS:700,TW_TYPE_SPEED_MS:65,TW_ERASE_SPEED_MS:40,TW_PAUSE_MS:5e3,TW_PAUSE_ALT_MS:2e3,TW_GAP_MS:200,BK_MAX_LIVES:3,BK_COMBO_WINDOW_MS:2e3,BK_PADDLE_SHRINK_INTERVAL:30,BK_MIN_PADDLE_CELLS:5,BK_SHAKE_DURATION_MS:200,BK_SHAKE_INTENSITY:4,BK_EXTRA_BALL_SCORE:2e3,BK_MOBILE_BALL_SPEED_FACTOR:.4,BK_DESKTOP_BALL_SPEED_FACTOR:.55,BK_MOBILE_PADDLE_CELLS:10,BK_DESKTOP_PADDLE_CELLS:8,BK_MOBILE_RAMP_INTERVAL:25,BK_MOBILE_RAMP_FACTOR:1.03,BK_MOBILE_SHRINK_INTERVAL:40,BK_MOBILE_TOP_PADDING_PCT:.2,BK_MOBILE_PADDLE_BOTTOM_PCT:.26,BK_SOUND_ENABLED:1,BK_HAPTICS_ENABLED:1,BK_AUDIO_VOLUME:.3,BK_STAR_LOOP:0,BK_BLOB_ENABLED:1,BK_BLOB_INTERVAL_MIN:40,BK_BLOB_INTERVAL_MAX:100,BK_BLOB_CLUSTER_MIN:2,BK_BLOB_CLUSTER_MAX:5,BK_BLOB_STAGGER_PER_CELL_MS:40,BK_BLOB_STAGGER_JITTER_MS:20,BK_BLOB_FPS:12,BK_BLOB_MEMORY_DECAY_MS:4e3,ENTRANCE_WORD_STAGGER_MS:0,ENTRANCE_LETTER_STAGGER_MS:50,ENTRANCE_LETTER_JITTER_MS:100,ENTRANCE_CELL_JITTER_MS:200,PHANTOM_ENABLED:1,PHANTOM_COUNT:100,PHANTOM_SIGMA_X:.35,PHANTOM_SIGMA_Y:.35,PHANTOM_STAGGER_MS:800,PHANTOM_HOLD_MIN_MS:200,PHANTOM_HOLD_MAX_MS:600,PHANTOM_FPS:18,GYRO_FLAT_BETA:15,GYRO_FLAT_GAMMA:5,GYRO_FLAT_DURATION:1e3,RENDER_FPS:0,CSS_STAGGER_DURATION:500,CSS_STAGGER_TRANSLATE_Y:12,CSS_HUD_FADE_DURATION:200,CSS_CLAWD_SLIDE_UP_DURATION:500,CSS_CLAWD_SLIDE_DOWN_DURATION:300,CSS_CLAWD_BOUNCE_DURATION:2e3}};function Cn(L,C,D){const z=new Float64Array(C),O=new Int32Array(C),tt=new Float64Array(C),V=Array.from({length:L},()=>new Int32Array(C)),G=Array.from({length:L},()=>new Float64Array(C)),H=Array.from({length:L},()=>new Float64Array(C)),et=Array.from({length:L},()=>new Float64Array(C));function U(K,lt,ct,Bt,Tt){if(Bt<.001){for(let J=0;J1?B.SIGMA_X*(L-1)/4:D;for(let J=0;J.01&&(ct=!0)}else for(let Bt=0;Bt.01||Math.abs(et[Bt][Tt])>.01)&&(ct=!0)}return ct}function vt(K,lt){const ct=K;let Bt=0;for(let nt=0;ntN?.4:0;tt[nt]=Xt+J,Bt+=N}const Tt=lt-Bt;for(let nt=0;ntN&&O[Xt]{V==="idle"&&Te("idle-demo")},B.IDLE_DELAY))}function Te(M){if(V!==M){switch(V){case"loading":Bt=performance.now();break;case"mouse":K=0,lt=0,ct=0;break;case"wobble":gt=0,ct=0;break;case"idle-demo":ct=0;break}switch(M){case"idle":ht=0,xt();break;case"idle-demo":Tt=performance.now();break;case"mouse":nt&&clearTimeout(nt),V==="idle-demo"&&(vt=0,ct=0);break;case"gyro":nt&&clearTimeout(nt);break;case"wobble":gt=B.SHAKE_WOBBLE_AMPLITUDE,N=Math.random()*Math.PI*2,ht=1,nt&&clearTimeout(nt);break}V=M,Ue()}}function si(M,rt=1){if(V==="idle-demo"){const mt=M-Tt,Kt=mt/B.IDLE_DEMO_PERIOD*Math.PI*2;U=(Math.sin(Kt-Math.PI/2)+1)/2*(C-1),R=(Math.sin(Kt*2)+1)/2*(D-1);const It=Math.min(1,mt/B.IDLE_BLEND_FADE_IN);ht=It*It*It*It,q=!1}if(V==="gyro"&&(ht=1),V==="wobble"&&(N+=B.SHAKE_WOBBLE_ANGULAR_VELOCITY*rt,gt*=Math.pow(B.SHAKE_WOBBLE_DECAY,rt),U=O+Math.cos(N)*gt,R=tt+Math.sin(N)*gt,U=Math.max(0,Math.min(C-1,U)),R=Math.max(0,Math.min(D-1,R)),q=!1,gt<.01&&(U=O,R=tt,Te(G?"gyro":"idle"))),q)return!1;let pt=!0;if(re)H=U,et=R,vt=ht;else{if(V==="mouse"||V==="gyro"){const It=B.SPRING_TENSION*(U-H)-B.SPRING_FRICTION*K,yt=B.SPRING_TENSION*(R-et)-B.SPRING_FRICTION*lt;K+=It*rt,lt+=yt*rt,H+=K*rt,et+=lt*rt}else{const It=V==="wobble"?B.SHAKE_FOCUS_LERP:V==="idle-demo"?B.IDLE_FOCUS_LERP:B.FOCUS_LERP,yt=1-Math.pow(1-It,rt);H+=(U-H)*yt,et+=(R-et)*yt}let mt=B.BLEND_SPRING_TENSION;if(Bt>0){const It=M-Bt;if(Itmt?"horizontal":"vertical",ni==="horizontal"&&(V!=="mouse"&&(K=0,lt=0,Te("mouse")),ht=1,Ue())}ni!=="vertical"&&(M.preventDefault(),V!=="mouse"&&Te("mouse"),Ue(),zi(rt))}function Pt(){ni==="horizontal"&&Te(G?"gyro":"idle"),ni=null}function it(){if(re)return;ft=mt=>{if(V==="loading"||V==="mouse"||mt.gamma===null||mt.beta===null)return;if(G||(G=!0),Se=mt.gamma,jt=mt.beta,Math.abs(mt.beta)=B.GYRO_FLAT_DURATION){V==="gyro"&&Te("idle");return}}else ae=0;if(V==="wobble")return;V!=="gyro"&&Te("gyro"),Ue(),U=(Math.max(-45,Math.min(45,mt.gamma))+45)/90*(C-1),R=(Math.max(20,Math.min(70,mt.beta))-20)/50*(D-1)},Re=mt=>{var Ot;if(V==="loading")return;const Kt=mt.accelerationIncludingGravity;if(!Kt||Kt.x===null||Kt.y===null||Kt.z===null)return;const It=Kt.x,yt=Kt.y,_t=Kt.z;if(St){const oe=It-Xt,le=yt-J,Xe=_t-j;if(Math.sqrt(oe*oe+le*le+Xe*Xe)>=B.SHAKE_THRESHOLD){const $e=performance.now();for(st.push($e);st.length>0&&$e-st[0]>B.SHAKE_WINDOW;)st.shift();st.length>=B.SHAKE_COUNT_TRIGGER&&$e-W>B.SHAKE_COOLDOWN&&(W=$e,st.length=0,(Ot=L.onShake)==null||Ot.call(L),Te("wobble"))}}Xt=It,J=yt,j=_t,St=!0};const M=typeof DeviceOrientationEvent<"u",rt=typeof DeviceMotionEvent<"u",pt=()=>{M&&ft&&window.addEventListener("deviceorientation",ft),rt&&Re&&window.addEventListener("devicemotion",Re)};Ne=pt,pt(),window.addEventListener("gyro-permission-granted",se)}function se(){Ne&&Ne()}function Ei(M,rt,pt){Fe=M,Me=pt??M,ke=rt,typeof window<"u"&&window.matchMedia&&(me=window.matchMedia("(prefers-reduced-motion: reduce)"),re=me.matches,Nt=()=>{re=me.matches,re&&(V==="idle-demo"&&Te("idle"),H=U,et=R,vt=ht),Ue()},me.addEventListener("change",Nt)),De=Je,je=ri,Me.addEventListener("mousemove",De),Me.addEventListener("mouseleave",je),Ee=mi,Ae=ai,ze=Pt,Me.addEventListener("touchstart",Ee,{passive:!0}),Me.addEventListener("touchmove",Ae,{passive:!1}),Me.addEventListener("touchend",ze),Me.addEventListener("touchcancel",ze),it()}function bi(){const M=Me??Fe;M&&(De&&M.removeEventListener("mousemove",De),je&&M.removeEventListener("mouseleave",je),Ee&&M.removeEventListener("touchstart",Ee),Ae&&M.removeEventListener("touchmove",Ae),ze&&(M.removeEventListener("touchend",ze),M.removeEventListener("touchcancel",ze))),me&&Nt&&me.removeEventListener("change",Nt),ft&&window.removeEventListener("deviceorientation",ft),Re&&window.removeEventListener("devicemotion",Re),window.removeEventListener("gyro-permission-granted",se),nt&&clearTimeout(nt),Fe=null,ke=null,De=null,je=null,Ee=null,Ae=null,ze=null,ft=null,Re=null,Ne=null,me=null,Nt=null}const Ve={mode:V,focusX:0,focusY:0,blend:0,settled:!0,rawGamma:0,rawBeta:0,gyroAvailable:!1};return{get state(){return Ve.mode=V,Ve.focusX=H,Ve.focusY=et,Ve.blend=vt,Ve.settled=q,Ve.rawGamma=Se,Ve.rawBeta=jt,Ve.gyroAvailable=G,Ve},tick:si,transition:Te,ensureAnimating:Ue,attachListeners:Ei,detachListeners:bi,enableGyro:se,get prefersReducedMotion(){return re}}}function Dr(L,C){if(typeof OffscreenCanvas<"u")return new OffscreenCanvas(L,C);const D=document.createElement("canvas");return D.width=L,D.height=C,D}function Nr(L){const C=L.getContext("2d");if(!C)throw new Error("strip-baker: failed to get 2d context");return C}function ur(L){return new Promise((C,D)=>{const z=new Image;z.onload=()=>C(z),z.onerror=D,z.src=L})}async function dr(L,C,D,z){const O=Math.round(C*z),tt=Dr(O,O),V=Nr(tt);return V.fillStyle=D,V.fillRect(0,0,O,O),V.globalCompositeOperation="destination-in",V.drawImage(L,0,0,O,O),V.globalCompositeOperation="source-over",tt}function An(){let L=null,C=null,D=0,z=0,O=1,tt={body:0,shadow:1},V=!1;const G=new Map;async function H(R,vt,ht,q,K){if(q){const nt=await ur(fn),gt=await dr(nt,R,vt,K);return{body:gt,shadow:gt}}const[lt,ct]=await Promise.all([ur(Pr[ht.body]),ur(Pr[ht.shadow])]),[Bt,Tt]=await Promise.all([dr(lt,R,vt,K),dr(ct,R,vt,K)]);return{body:Bt,shadow:Tt}}function et(R,vt,ht){const q=wi(R,vt),K=vt+Oe,lt=Math.round(D*O),ct=z*O,Bt=Math.ceil(ht*lt+Math.max(0,ht-1)*ct),Tt=Math.ceil(K*lt+Math.max(0,K-1)*ct),nt=Dr(Bt,Tt),gt=Nr(nt);for(let N=0;N`${L.wi}:${L.li}:${L.r}:${L.c}`,qs=(L,C)=>`${L}:${C}`;function xn(L){return L&&L.__esModule&&Object.prototype.hasOwnProperty.call(L,"default")?L.default:L}var ks={exports:{}},Mn=ks.exports,Vr;function En(){return Vr||(Vr=1,(function(L,C){typeof document<"u"&&typeof navigator<"u"&&(function(D,z){L.exports=z()})(Mn,(function(){var D="http://www.w3.org/2000/svg",z="",O=!1,tt=-999999,V=function(e){O=!!e},G=function(){return O},H=function(e){z=e},et=function(){return z};function U(t){return document.createElement(t)}function R(t,e){var i,s=t.length,n;for(i=0;i1?i[1]=1:i[1]<=0&&(i[1]=0),Fe(i[0],i[1],i[2])}function De(t,e){var i=Me(t[0]*255,t[1]*255,t[2]*255);return i[2]+=e,i[2]>1?i[2]=1:i[2]<0&&(i[2]=0),Fe(i[0],i[1],i[2])}function je(t,e){var i=Me(t[0]*255,t[1]*255,t[2]*255);return i[0]+=e/360,i[0]>1?i[0]-=1:i[0]<0&&(i[0]+=1),Fe(i[0],i[1],i[2])}(function(){var t=[],e,i;for(e=0;e<256;e+=1)i=e.toString(16),t[e]=i.length===1?"0"+i:i;return function(s,n,r){return s<0&&(s=0),n<0&&(n=0),r<0&&(r=0),"#"+t[s]+t[n]+t[r]}})();var Ee=function(e){lt=!!e},Ae=function(){return lt},ze=function(e){ct=e},ft=function(){return ct},Re=function(e){J=e},Ne=function(){return J},Ue=function(e){Bt=e};function xt(t){return document.createElementNS(D,t)}function Te(t){"@babel/helpers - typeof";return Te=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Te(t)}var si=(function(){var t=1,e=[],i,s,n={onmessage:function(){},postMessage:function(w){i({data:w})}},r={postMessage:function(w){n.onmessage({data:w})}};function a(f){if(window.Worker&&window.Blob&&G()){var w=new Blob(["var _workerSelf = self; self.onmessage = ",f.toString()],{type:"text/javascript"}),b=URL.createObjectURL(w);return new Worker(b)}return i=f,n}function h(){s||(s=a(function(w){function b(){function T($,v){var S,l,c=$.length,I,E,Ct,Gt;for(l=0;l=0;v-=1)if($[v].ty==="sh")if($[v].ks.k.i)X($[v].ks.k);else for(c=$[v].ks.k.length,l=0;lS[0]?!0:S[0]>$[0]?!1:$[1]>S[1]?!0:S[1]>$[1]?!1:$[2]>S[2]?!0:S[2]>$[2]?!1:null}var P=(function(){var $=[4,4,14];function v(l){var c=l.t.d;l.t.d={k:[{s:c,t:0}]}}function S(l){var c,I=l.length;for(c=0;c=0;c-=1)if(l[c].ty==="sh")if(l[c].ks.k.i)l[c].ks.k.c=l[c].closed;else for(Ct=l[c].ks.k.length,E=0;E500)&&(this._imageLoaded(),clearInterval(p)),g+=1}).bind(this),50)}function r(_){var g=s(_,this.assetsPath,this.path),p=xt("image");Tt?this.testImageLoaded(p):p.addEventListener("load",this._imageLoaded,!1),p.addEventListener("error",(function(){d.img=t,this._imageLoaded()}).bind(this),!1),p.setAttributeNS("http://www.w3.org/1999/xlink","href",g),this._elementHelper.append?this._elementHelper.append(p):this._elementHelper.appendChild(p);var d={img:p,assetData:_};return d}function a(_){var g=s(_,this.assetsPath,this.path),p=U("img");p.crossOrigin="anonymous",p.addEventListener("load",this._imageLoaded,!1),p.addEventListener("error",(function(){d.img=t,this._imageLoaded()}).bind(this),!1),p.src=g;var d={img:p,assetData:_};return d}function h(_){var g={assetData:_},p=s(_,this.assetsPath,this.path);return si.loadData(p,(function(d){g.img=d,this._footageLoaded()}).bind(this),(function(){g.img={},this._footageLoaded()}).bind(this)),g}function o(_,g){this.imagesLoadedCb=g;var p,d=_.length;for(p=0;pthis.animationData.op&&(this.animationData.op=t.op,this.totalFrames=Math.floor(t.op-this.animationData.ip));var e=this.animationData.layers,i,s=e.length,n=t.layers,r,a=n.length;for(r=0;rthis.timeCompleted&&(this.currentFrame=this.timeCompleted),this.trigger("enterFrame"),this.renderFrame(),this.trigger("drawnFrame")},Pt.prototype.renderFrame=function(){if(!(this.isLoaded===!1||!this.renderer))try{this.expressionsPlugin&&this.expressionsPlugin.resetFrame(),this.renderer.renderFrame(this.currentFrame+this.firstFrame)}catch(t){this.triggerRenderFrameError(t)}},Pt.prototype.play=function(t){t&&this.name!==t||this.isPaused===!0&&(this.isPaused=!1,this.trigger("_play"),this.audioController.resume(),this._idle&&(this._idle=!1,this.trigger("_active")))},Pt.prototype.pause=function(t){t&&this.name!==t||this.isPaused===!1&&(this.isPaused=!0,this.trigger("_pause"),this._idle=!0,this.trigger("_idle"),this.audioController.pause())},Pt.prototype.togglePause=function(t){t&&this.name!==t||(this.isPaused===!0?this.play():this.pause())},Pt.prototype.stop=function(t){t&&this.name!==t||(this.pause(),this.playCount=0,this._completedLoop=!1,this.setCurrentRawFrameValue(0))},Pt.prototype.getMarkerData=function(t){for(var e,i=0;i=this.totalFrames-1&&this.frameModifier>0?!this.loop||this.playCount===this.loop?this.checkSegments(e>this.totalFrames?e%this.totalFrames:0)||(i=!0,e=this.totalFrames-1):e>=this.totalFrames?(this.playCount+=1,this.checkSegments(e%this.totalFrames)||(this.setCurrentRawFrameValue(e%this.totalFrames),this._completedLoop=!0,this.trigger("loopComplete"))):this.setCurrentRawFrameValue(e):e<0?this.checkSegments(e%this.totalFrames)||(this.loop&&!(this.playCount--<=0&&this.loop!==!0)?(this.setCurrentRawFrameValue(this.totalFrames+e%this.totalFrames),this._completedLoop?this.trigger("loopComplete"):this._completedLoop=!0):(i=!0,e=0)):this.setCurrentRawFrameValue(e),i&&(this.setCurrentRawFrameValue(e),this.pause(),this.trigger("complete"))}},Pt.prototype.adjustSegment=function(t,e){this.playCount=0,t[1]0&&(this.playSpeed<0?this.setSpeed(-this.playSpeed):this.setDirection(-1)),this.totalFrames=t[0]-t[1],this.timeCompleted=this.totalFrames,this.firstFrame=t[1],this.setCurrentRawFrameValue(this.totalFrames-.001-e)):t[1]>t[0]&&(this.frameModifier<0&&(this.playSpeed<0?this.setSpeed(-this.playSpeed):this.setDirection(1)),this.totalFrames=t[1]-t[0],this.timeCompleted=this.totalFrames,this.firstFrame=t[0],this.setCurrentRawFrameValue(.001+e)),this.trigger("segmentStart")},Pt.prototype.setSegment=function(t,e){var i=-1;this.isPaused&&(this.currentRawFrame+this.firstFramee&&(i=e-t)),this.firstFrame=t,this.totalFrames=e-t,this.timeCompleted=this.totalFrames,i!==-1&&this.goToAndStop(i,!0)},Pt.prototype.playSegments=function(t,e){if(e&&(this.segments.length=0),ai(t[0])==="object"){var i,s=t.length;for(i=0;i=0;S-=1)e[S].animation.destroy(v)}function k(v,S,l){var c=[].concat([].slice.call(document.getElementsByClassName("lottie")),[].slice.call(document.getElementsByClassName("bodymovin"))),I,E=c.length;for(I=0;I0?d=k:p=k;while(Math.abs(P)>r&&++Q=n?T(p,Rt,d,X):dt===0?Rt:y(p,P,P+o,d,X)}},t})(),Ei=(function(){function t(e){return e.concat(K(e.length))}return{double:t}})(),bi=(function(){return function(t,e,i){var s=0,n=t,r=K(n),a={newElement:h,release:o};function h(){var u;return s?(s-=1,u=r[s]):u=e(),u}function o(u){s===n&&(r=Ei.double(r),n*=2),i&&i(u),r[s]=u,s+=1}return a}})(),Ve=(function(){function t(){return{addedLength:0,percents:q("float32",Ne()),lengths:q("float32",Ne())}}return bi(8,t)})(),M=(function(){function t(){return{lengths:[],totalLength:0}}function e(i){var s,n=i.lengths.length;for(s=0;s-.001&&g<.001}function i(f,w,b,y,T,_,g,p,d){if(b===0&&_===0&&d===0)return e(f,w,y,T,g,p);var X=t.sqrt(t.pow(y-f,2)+t.pow(T-w,2)+t.pow(_-b,2)),x=t.sqrt(t.pow(g-f,2)+t.pow(p-w,2)+t.pow(d-b,2)),P=t.sqrt(t.pow(g-y,2)+t.pow(p-T,2)+t.pow(d-_,2)),k;return X>x?X>P?k=X-x-P:k=P-x-X:P>x?k=P-x-X:k=x-X-P,k>-1e-4&&k<1e-4}var s=(function(){return function(f,w,b,y){var T=Ne(),_,g,p,d,X,x=0,P,k=[],Q=[],zt=Ve.newElement();for(p=b.length,_=0;_g?-1:1,X=!0;X;)if(y[_]<=g&&y[_+1]>g?(p=(g-y[_])/(y[_+1]-y[_]),X=!1):_+=d,_<0||_>=T-1){if(_===T-1)return b[_];X=!1}return b[_]+(b[_+1]-b[_])*p}function u(f,w,b,y,T,_){var g=o(T,_),p=1-g,d=t.round((p*p*p*f[0]+(g*p*p+p*g*p+p*p*g)*b[0]+(g*g*p+p*g*g+g*p*g)*y[0]+g*g*g*w[0])*1e3)/1e3,X=t.round((p*p*p*f[1]+(g*p*p+p*g*p+p*p*g)*b[1]+(g*g*p+p*g*g+g*p*g)*y[1]+g*g*g*w[1])*1e3)/1e3;return[d,X]}var m=q("float32",8);function A(f,w,b,y,T,_,g){T<0?T=0:T>1&&(T=1);var p=o(T,g);_=_>1?1:_;var d=o(_,g),X,x=f.length,P=1-p,k=1-d,Q=P*P*P,zt=p*P*P*3,Rt=p*p*P*3,dt=p*p*p,Yt=P*P*k,Lt=p*P*k+P*p*k+P*P*d,$=p*p*k+P*p*d+p*P*d,v=p*p*d,S=P*k*k,l=p*k*k+P*d*k+P*k*d,c=p*d*k+P*d*d+p*k*d,I=p*d*d,E=k*k*k,Ct=d*k*k+k*d*k+k*k*d,Gt=d*d*k+k*d*d+d*k*d,qt=d*d*d;for(X=0;X=u.t-i){o.h&&(o=u),n=0;break}if(u.t-i>t){n=r;break}r=_||t=_?d.points.length-1:0;for(f=d.points[X].point.length,A=0;A=k&&x=_)s[0]=p[0],s[1]=p[1],s[2]=p[2];else if(t<=g)s[0]=o.s[0],s[1]=o.s[1],s[2]=o.s[2];else{var Lt=Ot(o.s),$=Ot(p),v=(t-g)/(_-g);_t(s,yt(Lt,$,v))}else for(r=0;r=_?w=1:t1e-6?(f=Math.acos(w),b=Math.sin(f),y=Math.sin((1-i)*f)/b,T=Math.sin(i*f)/b):(y=1-i,T=i),s[0]=y*n+T*o,s[1]=y*r+T*u,s[2]=y*a+T*m,s[3]=y*h+T*A,s}function _t(t,e){var i=e[0],s=e[1],n=e[2],r=e[3],a=Math.atan2(2*s*r-2*i*n,1-2*s*s-2*n*n),h=Math.asin(2*i*s+2*n*r),o=Math.atan2(2*i*r-2*s*n,1-2*i*i-2*n*n);t[0]=a/j,t[1]=h/j,t[2]=o/j}function Ot(t){var e=t[0]*j,i=t[1]*j,s=t[2]*j,n=Math.cos(e/2),r=Math.cos(i/2),a=Math.cos(s/2),h=Math.sin(e/2),o=Math.sin(i/2),u=Math.sin(s/2),m=n*r*a-h*o*u,A=h*o*a+n*r*u,f=h*r*a+n*o*u,w=n*o*a-h*r*u;return[A,f,w,m]}function oe(){var t=this.comp.renderedFrame-this.offsetTime,e=this.keyframes[0].t-this.offsetTime,i=this.keyframes[this.keyframes.length-1].t-this.offsetTime;if(!(t===this._caching.lastFrame||this._caching.lastFrame!==mt&&(this._caching.lastFrame>=i&&t>=i||this._caching.lastFrame=t&&(this._caching._lastKeyframeIndex=-1,this._caching.lastIndex=0);var s=this.interpolateValue(t,this._caching);this.pv=s}return this._caching.lastFrame=t,this.pv}function le(t){var e;if(this.propType==="unidimensional")e=t*this.mult,Kt(this.v-e)>1e-5&&(this.v=e,this._mdf=!0);else for(var i=0,s=this.v.length;i1e-5&&(this.v[i]=e,this._mdf=!0),i+=1}function Xe(){if(!(this.elem.globalData.frameId===this.frameId||!this.effectsSequence.length)){if(this.lock){this.setVValue(this.pv);return}this.lock=!0,this._mdf=this._isFirstFrame;var t,e=this.effectsSequence.length,i=this.kf?this.pv:this.data.k;for(t=0;t=this._maxLength&&this.doubleArrayLength(),i){case"v":r=this.v;break;case"i":r=this.i;break;case"o":r=this.o;break;default:r=[];break}(!r[s]||r[s]&&!n)&&(r[s]=vi.newElement()),r[s][0]=t,r[s][1]=e},He.prototype.setTripleAt=function(t,e,i,s,n,r,a,h){this.setXYAt(t,e,"v",a,h),this.setXYAt(i,s,"o",a,h),this.setXYAt(n,r,"i",a,h)},He.prototype.reverse=function(){var t=new He;t.setPathData(this.c,this._length);var e=this.v,i=this.o,s=this.i,n=0;this.c&&(t.setTripleAt(e[0][0],e[0][1],s[0][0],s[0][1],i[0][0],i[0][1],0,!1),n=1);var r=this._length-1,a=this._length,h;for(h=n;h=Lt[Lt.length-1].t-this.offsetTime)X=Lt[Lt.length-1].s?Lt[Lt.length-1].s[0]:Lt[Lt.length-2].e[0],P=!0;else{for(var $=d,v=Lt.length-1,S=!0,l,c,I;S&&(l=Lt[$],c=Lt[$+1],!(c.t-this.offsetTime>_));)$=c.t-this.offsetTime)dt=1;else if(_p&&_>p)||(this._caching.lastIndex=d<_?this._caching.lastIndex:0,this.interpolateShape(_,this.pv,this._caching)),this._caching.lastFrame=_,this.pv}function s(){this.paths=this.localShapeCollection}function n(_,g){if(_._length!==g._length||_.c!==g.c)return!1;var p,d=_._length;for(p=0;p0||l>-1e-6&&l<0?s(l*c)/c:l}function S(){var l=this.props,c=v(l[0]),I=v(l[1]),E=v(l[4]),Ct=v(l[5]),Gt=v(l[12]),qt=v(l[13]);return"matrix("+c+","+I+","+E+","+Ct+","+Gt+","+qt+")"}return function(){this.reset=n,this.rotate=r,this.rotateX=a,this.rotateY=h,this.rotateZ=o,this.skew=m,this.skewFromAxis=A,this.shear=u,this.scale=f,this.setTransform=w,this.translate=b,this.transform=y,this.multiply=T,this.applyToPoint=X,this.applyToX=x,this.applyToY=P,this.applyToZ=k,this.applyToPointArray=Yt,this.applyToTriplePoints=dt,this.applyToPointStringified=Lt,this.toCSS=$,this.to2dCSS=S,this.clone=p,this.cloneFromProps=d,this.equals=g,this.inversePoints=Rt,this.inversePoint=zt,this.getInverseMatrix=Q,this._t=this.transform,this.isIdentity=_,this._identity=!0,this._identityCalculated=!1,this.props=q("float32",16),this.reset()}})();function Qi(t){"@babel/helpers - typeof";return Qi=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Qi(t)}var Qt={};function ts(t){H(t)}function ds(){it.searchAnimations()}function es(t){Ee(t)}function is(t){Ue(t)}function ms(t){return it.loadAnimation(t)}function Ss(t){if(typeof t=="string")switch(t){case"high":Re(200);break;default:case"medium":Re(50);break;case"low":Re(10);break}else!isNaN(t)&&t>1&&Re(t)}function As(){return typeof navigator<"u"}function Js(t,e){t==="expressions"&&ze(e)}function $s(t){switch(t){case"propertyFactory":return at;case"shapePropertyFactory":return Pi;case"matrix":return he;default:return null}}Qt.play=it.play,Qt.pause=it.pause,Qt.setLocationHref=ts,Qt.togglePause=it.togglePause,Qt.setSpeed=it.setSpeed,Qt.setDirection=it.setDirection,Qt.stop=it.stop,Qt.searchAnimations=ds,Qt.registerAnimation=it.registerAnimation,Qt.loadAnimation=ms,Qt.setSubframeRendering=es,Qt.resize=it.resize,Qt.goToAndStop=it.goToAndStop,Qt.destroy=it.destroy,Qt.setQuality=Ss,Qt.inBrowser=As,Qt.installPlugin=Js,Qt.freeze=it.freeze,Qt.unfreeze=it.unfreeze,Qt.setVolume=it.setVolume,Qt.mute=it.mute,Qt.unmute=it.unmute,Qt.getRegisteredAnimations=it.getRegisteredAnimations,Qt.useWebWorker=V,Qt.setIDPrefix=is,Qt.__getFactory=$s,Qt.version="5.13.0";function Zs(){document.readyState==="complete"&&(clearInterval(er),ds())}function Is(t){for(var e=Fs.split("&"),i=0;i=1?r.push({s:t-1,e:e-1}):(r.push({s:t,e:1}),r.push({s:0,e:e-1}));var a=[],h,o=r.length,u;for(h=0;hs+i)){var m,A;u.s*n<=s?m=0:m=(u.s*n-s)/i,u.e*n>=s+i?A=1:A=(u.e*n-s)/i,a.push([m,A])}return a.length||a.push([0,0]),a},ei.prototype.releasePathsData=function(t){var e,i=t.length;for(e=0;e1?e=1+s:this.s.v<0?e=0+s:e=this.s.v+s,this.e.v>1?i=1+s:this.e.v<0?i=0+s:i=this.e.v+s,e>i){var n=e;e=i,i=n}e=Math.round(e*1e4)*1e-4,i=Math.round(i*1e4)*1e-4,this.sValue=e,this.eValue=i}else e=this.sValue,i=this.eValue;var r,a,h=this.shapes.length,o,u,m,A,f,w=0;if(i===e)for(a=0;a=0;a-=1)if(y=this.shapes[a],y.shape._mdf){for(T=y.localShapeCollection,T.releaseShapes(),this.m===2&&h>1?(d=this.calculateShapeEdges(e,i,y.totalShapeLength,p,w),p+=y.totalShapeLength):d=[[_,g]],u=d.length,o=0;o=1?b.push({s:y.totalShapeLength*(_-1),e:y.totalShapeLength*(g-1)}):(b.push({s:y.totalShapeLength*_,e:y.totalShapeLength}),b.push({s:0,e:y.totalShapeLength*(g-1)}));var X=this.addShapes(y,b[0]);if(b[0].s!==b[0].e){if(b.length>1){var x=y.shape.paths.shapes[y.shape.paths._length-1];if(x.c){var P=X.pop();this.addPaths(X,T),X=this.addShapes(y,b[1],P)}else this.addPaths(X,T),X=this.addShapes(y,b[1])}this.addPaths(X,T)}}y.shape.paths=T}}},ei.prototype.addPaths=function(t,e){var i,s=t.length;for(i=0;ie.e){i.c=!1;break}else e.s<=u&&e.e>=u+m.addedLength?(this.addSegment(n[r].v[h-1],n[r].o[h-1],n[r].i[h],n[r].v[h],i,A,T),T=!1):(w=pt.getNewSegment(n[r].v[h-1],n[r].v[h],n[r].o[h-1],n[r].i[h],(e.s-u)/m.addedLength,(e.e-u)/m.addedLength,f[h-1]),this.addSegmentFromArray(w,i,A,T),T=!1,i.c=!1),u+=m.addedLength,A+=1;if(n[r].c&&f.length){if(m=f[h-1],u<=e.e){var _=f[h-1].addedLength;e.s<=u&&e.e>=u+_?(this.addSegment(n[r].v[h-1],n[r].o[h-1],n[r].i[0],n[r].v[0],i,A,T),T=!1):(w=pt.getNewSegment(n[r].v[h-1],n[r].v[0],n[r].o[h-1],n[r].i[0],(e.s-u)/_,(e.e-u)/_,f[h-1]),this.addSegmentFromArray(w,i,A,T),T=!1,i.c=!1)}else i.c=!1;u+=m.addedLength,A+=1}if(i._length&&(i.setXYAt(i.v[y][0],i.v[y][1],"i",y),i.setXYAt(i.v[i._length-1][0],i.v[i._length-1][1],"o",i._length-1)),u>e.e)break;r=this.p.keyframes[this.p.keyframes.length-1].t?(m=this.p.getValueAtTime(this.p.keyframes[this.p.keyframes.length-1].t/u,0),A=this.p.getValueAtTime((this.p.keyframes[this.p.keyframes.length-1].t-.05)/u,0)):(m=this.p.pv,A=this.p.getValueAtTime((this.p._caching.lastFrame+this.p.offsetTime-.01)/u,this.p.offsetTime));else if(this.px&&this.px.keyframes&&this.py.keyframes&&this.px.getValueAtTime&&this.py.getValueAtTime){m=[],A=[];var f=this.px,w=this.py;f._caching.lastFrame+f.offsetTime<=f.keyframes[0].t?(m[0]=f.getValueAtTime((f.keyframes[0].t+.01)/u,0),m[1]=w.getValueAtTime((w.keyframes[0].t+.01)/u,0),A[0]=f.getValueAtTime(f.keyframes[0].t/u,0),A[1]=w.getValueAtTime(w.keyframes[0].t/u,0)):f._caching.lastFrame+f.offsetTime>=f.keyframes[f.keyframes.length-1].t?(m[0]=f.getValueAtTime(f.keyframes[f.keyframes.length-1].t/u,0),m[1]=w.getValueAtTime(w.keyframes[w.keyframes.length-1].t/u,0),A[0]=f.getValueAtTime((f.keyframes[f.keyframes.length-1].t-.01)/u,0),A[1]=w.getValueAtTime((w.keyframes[w.keyframes.length-1].t-.01)/u,0)):(m=[f.pv,w.pv],A[0]=f.getValueAtTime((f._caching.lastFrame+f.offsetTime-.01)/u,f.offsetTime),A[1]=w.getValueAtTime((w._caching.lastFrame+w.offsetTime-.01)/u,w.offsetTime))}else A=t,m=A;this.v.rotate(-Math.atan2(m[1]-A[1],m[0]-A[0]))}this.data.p&&this.data.p.s?this.data.p.z?this.v.translate(this.px.v,this.py.v,-this.pz.v):this.v.translate(this.px.v,this.py.v,0):this.v.translate(this.p.v[0],this.p.v[1],-this.p.v[2])}this.frameId=this.elem.globalData.frameId}}function s(){if(this.appliedTransformations=0,this.pre.reset(),!this.a.effectsSequence.length)this.pre.translate(-this.a.v[0],-this.a.v[1],this.a.v[2]),this.appliedTransformations=1;else return;if(!this.s.effectsSequence.length)this.pre.scale(this.s.v[0],this.s.v[1],this.s.v[2]),this.appliedTransformations=2;else return;if(this.sk)if(!this.sk.effectsSequence.length&&!this.sa.effectsSequence.length)this.pre.skewFromAxis(-this.sk.v,this.sa.v),this.appliedTransformations=3;else return;this.r?this.r.effectsSequence.length||(this.pre.rotate(-this.r.v),this.appliedTransformations=4):!this.rz.effectsSequence.length&&!this.ry.effectsSequence.length&&!this.rx.effectsSequence.length&&!this.or.effectsSequence.length&&(this.pre.rotateZ(-this.rz.v).rotateY(this.ry.v).rotateX(this.rx.v).rotateZ(-this.or.v[2]).rotateY(this.or.v[1]).rotateX(this.or.v[0]),this.appliedTransformations=4)}function n(){}function r(o){this._addDynamicProperty(o),this.elem.addDynamicProperty(o),this._isDirty=!0}function a(o,u,m){if(this.elem=o,this.frameId=-1,this.propType="transform",this.data=u,this.v=new he,this.pre=new he,this.appliedTransformations=0,this.initDynamicPropertyContainer(m||o),u.p&&u.p.s?(this.px=at.getProp(o,u.p.x,0,0,this),this.py=at.getProp(o,u.p.y,0,0,this),u.p.z&&(this.pz=at.getProp(o,u.p.z,0,0,this))):this.p=at.getProp(o,u.p||{k:[0,0,0]},1,0,this),u.rx){if(this.rx=at.getProp(o,u.rx,0,j,this),this.ry=at.getProp(o,u.ry,0,j,this),this.rz=at.getProp(o,u.rz,0,j,this),u.or.k[0].ti){var A,f=u.or.k.length;for(A=0;A0;)i-=1,this._elements.unshift(e[i]);this.dynamicProperties.length?this.k=!0:this.getValue(!0)},Si.prototype.resetElements=function(t){var e,i=t.length;for(e=0;e0?Math.floor(f):Math.ceil(f),y=this.pMatrix.props,T=this.rMatrix.props,_=this.sMatrix.props;this.pMatrix.reset(),this.rMatrix.reset(),this.sMatrix.reset(),this.tMatrix.reset(),this.matrix.reset();var g=0;if(f>0){for(;gb;)this.applyTransforms(this.pMatrix,this.rMatrix,this.sMatrix,this.tr,1,!0),g-=1;w&&(this.applyTransforms(this.pMatrix,this.rMatrix,this.sMatrix,this.tr,-w,!0),g-=w)}s=this.data.m===1?0:this._currentCopies-1,n=this.data.m===1?1:-1,r=this._currentCopies;for(var p,d;r;){if(e=this.elemsData[s].it,i=e[e.length-1].transform.mProps.v.props,d=i.length,e[e.length-1].transform.mProps._mdf=!0,e[e.length-1].transform.op._mdf=!0,e[e.length-1].transform.op.v=this._currentCopies===1?this.so.v:this.so.v+(this.eo.v-this.so.v)*(s/(this._currentCopies-1)),g!==0){for((s!==0&&n===1||s!==this._currentCopies-1&&n===-1)&&this.applyTransforms(this.pMatrix,this.rMatrix,this.sMatrix,this.tr,1,!1),this.matrix.transform(T[0],T[1],T[2],T[3],T[4],T[5],T[6],T[7],T[8],T[9],T[10],T[11],T[12],T[13],T[14],T[15]),this.matrix.transform(_[0],_[1],_[2],_[3],_[4],_[5],_[6],_[7],_[8],_[9],_[10],_[11],_[12],_[13],_[14],_[15]),this.matrix.transform(y[0],y[1],y[2],y[3],y[4],y[5],y[6],y[7],y[8],y[9],y[10],y[11],y[12],y[13],y[14],y[15]),p=0;p0&&s<1?[e]:[]:[e-s,e+s].filter(function(n){return n>0&&n<1})},Y.prototype.split=function(t){if(t<=0)return[wt(this.points[0]),this];if(t>=1)return[this,wt(this.points[this.points.length-1])];var e=gi(this.points[0],this.points[1],t),i=gi(this.points[1],this.points[2],t),s=gi(this.points[2],this.points[3],t),n=gi(e,i,t),r=gi(i,s,t),a=gi(n,r,t);return[new Y(this.points[0],e,n,a,!0),new Y(a,r,s,this.points[3],!0)]};function ot(t,e){var i=t.points[0][e],s=t.points[t.points.length-1][e];if(i>s){var n=s;s=i,i=n}for(var r=F(3*t.a[e],2*t.b[e],t.c[e]),a=0;a0&&r[a]<1){var h=t.point(r[a])[e];hs&&(s=h)}return{min:i,max:s}}Y.prototype.bounds=function(){return{x:ot(this,0),y:ot(this,1)}},Y.prototype.boundingBox=function(){var t=this.bounds();return{left:t.x.min,right:t.x.max,top:t.y.min,bottom:t.y.max,width:t.x.max-t.x.min,height:t.y.max-t.y.min,cx:(t.x.max+t.x.min)/2,cy:(t.y.max+t.y.min)/2}};function ut(t,e,i){var s=t.boundingBox();return{cx:s.cx,cy:s.cy,width:s.width,height:s.height,bez:t,t:(e+i)/2,t1:e,t2:i}}function At(t){var e=t.bez.split(.5);return[ut(e[0],t.t1,t.t),ut(e[1],t.t,t.t2)]}function Vt(t,e){return Math.abs(t.cx-e.cx)*2=r||t.width<=s&&t.height<=s&&e.width<=s&&e.height<=s){n.push([t.t,e.t]);return}var a=At(t),h=At(e);Et(a[0],h[0],i+1,s,n,r),Et(a[0],h[1],i+1,s,n,r),Et(a[1],h[0],i+1,s,n,r),Et(a[1],h[1],i+1,s,n,r)}}Y.prototype.intersections=function(t,e,i){e===void 0&&(e=2),i===void 0&&(i=7);var s=[];return Et(ut(this,0,1),ut(t,0,1),0,e,s,i),s},Y.shapeSegment=function(t,e){var i=(e+1)%t.length();return new Y(t.v[e],t.o[e],t.i[i],t.v[i],!0)},Y.shapeSegmentInverted=function(t,e){var i=(e+1)%t.length();return new Y(t.v[i],t.i[i],t.o[e],t.v[e],!0)};function Dt(t,e){return[t[1]*e[2]-t[2]*e[1],t[2]*e[0]-t[0]*e[2],t[0]*e[1]-t[1]*e[0]]}function Mt(t,e,i,s){var n=[t[0],t[1],1],r=[e[0],e[1],1],a=[i[0],i[1],1],h=[s[0],s[1],1],o=Dt(Dt(n,r),Dt(a,h));return xs(o[2])?null:[o[0]/o[2],o[1]/o[2]]}function Ft(t,e,i){return[t[0]+Math.cos(e)*i,t[1]-Math.sin(e)*i]}function bt(t,e){return Math.hypot(t[0]-e[0],t[1]-e[1])}function Ht(t,e){return vs(t[0],e[0])&&vs(t[1],e[1])}function Wt(){}R([ti],Wt),Wt.prototype.initModifierProperties=function(t,e){this.getValue=this.processKeys,this.amplitude=at.getProp(t,e.s,0,null,this),this.frequency=at.getProp(t,e.r,0,null,this),this.pointsType=at.getProp(t,e.pt,0,null,this),this._isAnimated=this.amplitude.effectsSequence.length!==0||this.frequency.effectsSequence.length!==0||this.pointsType.effectsSequence.length!==0};function Jt(t,e,i,s,n,r,a){var h=i-Math.PI/2,o=i+Math.PI/2,u=e[0]+Math.cos(i)*s*n,m=e[1]-Math.sin(i)*s*n;t.setTripleAt(u,m,u+Math.cos(h)*r,m-Math.sin(h)*r,u+Math.cos(o)*a,m-Math.sin(o)*a,t.length())}function Ut(t,e){var i=[e[0]-t[0],e[1]-t[1]],s=-Math.PI*.5,n=[Math.cos(s)*i[0]-Math.sin(s)*i[1],Math.sin(s)*i[0]+Math.cos(s)*i[1]];return n}function $t(t,e){var i=e===0?t.length()-1:e-1,s=(e+1)%t.length(),n=t.v[i],r=t.v[s],a=Ut(n,r);return Math.atan2(0,1)-Math.atan2(a[1],a[0])}function ge(t,e,i,s,n,r,a){var h=$t(e,i),o=e.v[i%e._length],u=e.v[i===0?e._length-1:i-1],m=e.v[(i+1)%e._length],A=r===2?Math.sqrt(Math.pow(o[0]-u[0],2)+Math.pow(o[1]-u[1],2)):0,f=r===2?Math.sqrt(Math.pow(o[0]-m[0],2)+Math.pow(o[1]-m[1],2)):0;Jt(t,e.v[i%e._length],h,a,s,f/((n+1)*2),A/((n+1)*2))}function be(t,e,i,s,n,r){for(var a=0;a1&&e.length>1&&(n=ne(t[0],e[e.length-1]),n)?[[t[0].split(n[0])[0]],[e[e.length-1].split(n[1])[1]]]:[i,s]}function gs(t){for(var e,i=1;i1&&(e=ns(t[t.length-1],t[0]),t[t.length-1]=e[0],t[0]=e[1]),t}function Ai(t,e){var i=t.inflectionPoints(),s,n,r,a;if(i.length===0)return[Be(t,e)];if(i.length===1||vs(i[1],1))return r=t.split(i[0]),s=r[0],n=r[1],[Be(s,e),Be(n,e)];r=t.split(i[0]),s=r[0];var h=(i[1]-i[0])/(1-i[0]);return r=r[1].split(h),a=r[0],n=r[1],[Be(s,e),Be(a,e),Be(n,e)]}function Ce(){}R([ti],Ce),Ce.prototype.initModifierProperties=function(t,e){this.getValue=this.processKeys,this.amount=at.getProp(t,e.a,0,null,this),this.miterLimit=at.getProp(t,e.ml,0,null,this),this.lineJoin=e.lj,this._isAnimated=this.amount.effectsSequence.length!==0},Ce.prototype.processPath=function(t,e,i,s){var n=ve.newElement();n.c=t.c;var r=t.length();t.c||(r-=1);var a,h,o,u=[];for(a=0;a=0;a-=1)o=Y.shapeSegmentInverted(t,a),u.push(Ai(o,e));u=gs(u);var m=null,A=null;for(a=0;a0&&(Ct=!1),Ct){var fe=U("style");fe.setAttribute("f-forigin",l[c].fOrigin),fe.setAttribute("f-origin",l[c].origin),fe.setAttribute("f-family",l[c].fFamily),fe.type="text/css",fe.innerText="@font-face {font-family: "+l[c].fFamily+"; font-style: normal; src: url('"+l[c].fPath+"');}",S.appendChild(fe)}}else if(l[c].fOrigin==="g"||l[c].origin===1){for(Gt=document.querySelectorAll('link[f-forigin="g"], link[f-origin="1"]'),qt=0;qt=55296&&l<=56319){var c=v.charCodeAt(1);c>=56320&&c<=57343&&(S=(l-55296)*1024+c-56320+65536)}return S}function x(v,S){var l=v.toString(16)+S.toString(16);return A.indexOf(l)!==-1}function P(v){return v===o}function k(v){return v===h}function Q(v){var S=X(v);return S>=u&&S<=m}function zt(v){return Q(v.substr(0,2))&&Q(v.substr(2,2))}function Rt(v){return i.indexOf(v)!==-1}function dt(v,S){var l=X(v.substr(S,2));if(l!==s)return!1;var c=0;for(S+=2;c<5;){if(l=X(v.substr(S,2)),la)return!1;c+=1,S+=2}return X(v.substr(S,2))===n}function Yt(){this.isLoaded=!0}var Lt=function(){this.fonts=[],this.chars=null,this.typekitLoaded=0,this.isLoaded=!1,this._warned=!1,this.initTime=Date.now(),this.setIsLoadedBinded=this.setIsLoaded.bind(this),this.checkLoadedFontsBinded=this.checkLoadedFonts.bind(this)};Lt.isModifier=x,Lt.isZeroWidthJoiner=P,Lt.isFlagEmoji=zt,Lt.isRegionalCode=Q,Lt.isCombinedCharacter=Rt,Lt.isRegionalFlag=dt,Lt.isVariationSelector=k,Lt.BLACK_FLAG_CODE_POINT=s;var $={addChars:_,addFonts:T,getCharData:g,getFontByName:d,measureText:p,checkLoadedFonts:b,setIsLoaded:Yt};return Lt.prototype=$,Lt})();function ii(t){this.animationData=t}ii.prototype.getProp=function(t){return this.animationData.slots&&this.animationData.slots[t.sid]?Object.assign(t,this.animationData.slots[t.sid].p):t};function Li(t){return new ii(t)}function ue(){}ue.prototype={initRenderable:function(){this.isInRange=!1,this.hidden=!1,this.isTransparent=!1,this.renderableComponents=[]},addRenderableComponent:function(e){this.renderableComponents.indexOf(e)===-1&&this.renderableComponents.push(e)},removeRenderableComponent:function(e){this.renderableComponents.indexOf(e)!==-1&&this.renderableComponents.splice(this.renderableComponents.indexOf(e),1)},prepareRenderableFrame:function(e){this.checkLayerLimits(e)},checkTransparency:function(){this.finalTransform.mProp.o.v<=0?!this.isTransparent&&this.globalData.renderConfig.hideOnTransparent&&(this.isTransparent=!0,this.hide()):this.isTransparent&&(this.isTransparent=!1,this.show())},checkLayerLimits:function(e){this.data.ip-this.data.st<=e&&this.data.op-this.data.st>e?this.isInRange!==!0&&(this.globalData._mdf=!0,this._mdf=!0,this.isInRange=!0,this.show()):this.isInRange!==!1&&(this.globalData._mdf=!0,this.isInRange=!1,this.hide())},renderRenderable:function(){var e,i=this.renderableComponents.length;for(e=0;e.1)&&this.audio.seek(this._currentTime/this.globalData.frameRate):(this.audio.play(),this.audio.seek(this._currentTime/this.globalData.frameRate),this._isPlaying=!0))},ci.prototype.show=function(){},ci.prototype.hide=function(){this.audio.pause(),this._isPlaying=!1},ci.prototype.pause=function(){this.audio.pause(),this._isPlaying=!1,this._canPlay=!1},ci.prototype.resume=function(){this._canPlay=!0},ci.prototype.setRate=function(t){this.audio.rate(t)},ci.prototype.volume=function(t){this._volumeMultiplier=t,this._previousVolume=t*this._volume,this.audio.volume(this._previousVolume)},ci.prototype.getBaseElement=function(){return null},ci.prototype.destroy=function(){},ci.prototype.sourceRectAtTime=function(){},ci.prototype.initExpressions=function(){};function Ze(){}Ze.prototype.checkLayers=function(t){var e,i=this.layers.length,s;for(this.completeLayers=!0,e=i-1;e>=0;e-=1)this.elements[e]||(s=this.layers[e],s.ip-s.st<=t-this.layers[e].st&&s.op-s.st>t-this.layers[e].st&&this.buildItem(e)),this.completeLayers=this.elements[e]?this.completeLayers:!1;this.checkPendingElements()},Ze.prototype.createItem=function(t){switch(t.ty){case 2:return this.createImage(t);case 0:return this.createComp(t);case 1:return this.createSolid(t);case 3:return this.createNull(t);case 4:return this.createShape(t);case 5:return this.createText(t);case 6:return this.createAudio(t);case 13:return this.createCamera(t);case 15:return this.createFootage(t);default:return this.createNull(t)}},Ze.prototype.createCamera=function(){throw new Error("You're using a 3d camera. Try the html renderer.")},Ze.prototype.createAudio=function(t){return new ci(t,this.globalData,this)},Ze.prototype.createFootage=function(t){return new as(t,this.globalData,this)},Ze.prototype.buildAllItems=function(){var t,e=this.layers.length;for(t=0;t0&&(this.maskElement.setAttribute("id",f),this.element.maskedElement.setAttribute(g,"url("+et()+"#"+f+")"),s.appendChild(this.maskElement)),this.viewData.length&&this.element.addRenderableComponent(this)}os.prototype.getMaskProperty=function(t){return this.viewData[t].prop},os.prototype.renderFrame=function(t){var e=this.element.finalTransform.mat,i,s=this.masksProperties.length;for(i=0;i1&&(s+=" C"+e.o[n-1][0]+","+e.o[n-1][1]+" "+e.i[0][0]+","+e.i[0][1]+" "+e.v[0][0]+","+e.v[0][1]),i.lastPath!==s){var a="";i.elem&&(e.c&&(a=t.inv?this.solidPath+s:s),i.elem.setAttribute("d",a)),i.lastPath=s}},os.prototype.destroy=function(){this.element=null,this.globalData=null,this.maskElement=null,this.data=null,this.masksProperties=null};var Ds=(function(){var t={};t.createFilter=e,t.createAlphaToLuminanceFilter=i;function e(s,n){var r=xt("filter");return r.setAttribute("id",s),n!==!0&&(r.setAttribute("filterUnits","objectBoundingBox"),r.setAttribute("x","0%"),r.setAttribute("y","0%"),r.setAttribute("width","100%"),r.setAttribute("height","100%")),r}function i(){var s=xt("feColorMatrix");return s.setAttribute("type","matrix"),s.setAttribute("color-interpolation-filters","sRGB"),s.setAttribute("values","0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 1"),s}return t})(),sr=(function(){var t={maskType:!0,svgLumaHidden:!0,offscreenCanvas:typeof OffscreenCanvas<"u"};return(/MSIE 10/i.test(navigator.userAgent)||/MSIE 9/i.test(navigator.userAgent)||/rv:11.0/i.test(navigator.userAgent)||/Edge\/\d./i.test(navigator.userAgent))&&(t.maskType=!1),/firefox/i.test(navigator.userAgent)&&(t.svgLumaHidden=!1),t})(),yr={},Jr="filter_result_";function _r(t){var e,i="SourceGraphic",s=t.data.ef?t.data.ef.length:0,n=Nt(),r=Ds.createFilter(n,!0),a=0;this.filters=[];var h;for(e=0;e=0&&(s=this.shapeModifiers[e].processShapes(this._isFirstFrame),!s);e-=1);}},searchProcessedElement:function(e){for(var i=this.processedElements,s=0,n=i.length;s.01)return!1;i+=1}return!0},Es.prototype.checkCollapsable=function(){if(this.o.length/2!==this.c.length/4)return!1;if(this.data.k.k[0].s)for(var t=0,e=this.data.k.k.length;t0;)_=f.transformers[Q].mProps._mdf||_,k-=1,Q-=1;if(_)for(k=X-f.styles[p].lvl,Q=f.transformers.length-1;k>0;)P.multiply(f.transformers[Q].mProps.v),k-=1,Q-=1}else P=t;if(x=f.sh.paths,y=x._length,_){for(T="",b=0;b=1?Yt=.99:Yt<=-1&&(Yt=-.99);var Lt=Rt*Yt,$=Math.cos(dt+f.a.v)*Lt+T[0],v=Math.sin(dt+f.a.v)*Lt+T[1];b.setAttribute("fx",$),b.setAttribute("fy",v),y&&!f.g._collapsable&&(f.of.setAttribute("fx",$),f.of.setAttribute("fy",v))}}}function m(A,f,w){var b=f.style,y=f.d;y&&(y._mdf||w)&&y.dashStr&&(b.pElem.setAttribute("stroke-dasharray",y.dashStr),b.pElem.setAttribute("stroke-dashoffset",y.dashoffset[0])),f.c&&(f.c._mdf||w)&&b.pElem.setAttribute("stroke","rgb("+N(f.c.v[0])+","+N(f.c.v[1])+","+N(f.c.v[2])+")"),(f.o._mdf||w)&&b.pElem.setAttribute("stroke-opacity",f.o.v),(f.w._mdf||w)&&(b.pElem.setAttribute("stroke-width",f.w.v),b.msElem&&b.msElem.setAttribute("stroke-width",f.w.v))}return i})();function Ie(t,e,i){this.shapes=[],this.shapesData=t.shapes,this.stylesList=[],this.shapeModifiers=[],this.itemsData=[],this.processedElements=[],this.animatedContents=[],this.initElement(t,e,i),this.prevViewData=[]}R([xi,Di,Ns,Xr,Ni,Mi,Ms],Ie),Ie.prototype.initSecondaryElement=function(){},Ie.prototype.identityMatrix=new he,Ie.prototype.buildExpressionInterface=function(){},Ie.prototype.createContent=function(){this.searchShapes(this.shapesData,this.itemsData,this.prevViewData,this.layerElement,0,[],!0),this.filterUniqueShapes()},Ie.prototype.filterUniqueShapes=function(){var t,e=this.shapes.length,i,s,n=this.stylesList.length,r,a=[],h=!1;for(s=0;s1&&h&&this.setShapesAsAnimated(a)}},Ie.prototype.setShapesAsAnimated=function(t){var e,i=t.length;for(e=0;e=0;o-=1){if(T=this.searchProcessedElement(t[o]),T?e[o]=i[T-1]:t[o]._render=a,t[o].ty==="fl"||t[o].ty==="st"||t[o].ty==="gf"||t[o].ty==="gs"||t[o].ty==="no")T?e[o].style.closed=t[o].hd:e[o]=this.createStyleElement(t[o],n),t[o]._render&&e[o].style.pElem.parentNode!==s&&s.appendChild(e[o].style.pElem),f.push(e[o].style);else if(t[o].ty==="gr"){if(!T)e[o]=this.createGroupElement(t[o]);else for(A=e[o].it.length,m=0;m1,this.kf&&this.addEffect(this.getKeyframeValue.bind(this)),this.kf},li.prototype.addEffect=function(t){this.effectsSequence.push(t),this.elem.addDynamicProperty(this)},li.prototype.getValue=function(t){if(!((this.elem.globalData.frameId===this.frameId||!this.effectsSequence.length)&&!t)){this.currentData.t=this.data.d.k[this.keysIndex].s.t;var e=this.currentData,i=this.keysIndex;if(this.lock){this.setCurrentData(this.currentData);return}this.lock=!0,this._mdf=!1;var s,n=this.effectsSequence.length,r=t||this.data.d.k[this.keysIndex].s;for(s=0;se);)i+=1;return this.keysIndex!==i&&(this.keysIndex=i),this.data.d.k[this.keysIndex].s},li.prototype.buildFinalText=function(t){for(var e=[],i=0,s=t.length,n,r,a=!1,h=!1,o="";i=55296&&n<=56319?qe.isRegionalFlag(t,i)?o=t.substr(i,14):(r=t.charCodeAt(i+1),r>=56320&&r<=57343&&(qe.isModifier(n,r)?(o=t.substr(i,2),a=!0):qe.isFlagEmoji(t.substr(i,4))?o=t.substr(i,4):o=t.substr(i,2))):n>56319?(r=t.charCodeAt(i+1),qe.isVariationSelector(n)&&(a=!0)):qe.isZeroWidthJoiner(n)&&(a=!0,h=!0),a?(e[e.length-1]+=o,a=!1):e.push(o),i+=o.length;return e},li.prototype.completeTextData=function(t){t.__complete=!0;var e=this.elem.globalData.fontManager,i=this.data,s=[],n,r,a,h=0,o,u=i.m.g,m=0,A=0,f=0,w=[],b=0,y=0,T,_,g=e.getFontByName(t.f),p,d=0,X=yi(g);t.fWeight=X.weight,t.fStyle=X.style,t.finalSize=t.s,t.finalText=this.buildFinalText(t.t),r=t.finalText.length,t.finalLineHeight=t.lh;var x=t.tr/1e3*t.finalSize,P;if(t.sz)for(var k=!0,Q=t.sz[0],zt=t.sz[1],Rt,dt;k;){dt=this.buildFinalText(t.t),Rt=0,b=0,r=dt.length,x=t.tr/1e3*t.finalSize;var Yt=-1;for(n=0;nQ&&dt[n]!==" "?(Yt===-1?r+=1:n=Yt,Rt+=t.finalLineHeight||t.finalSize*1.2,dt.splice(n,Yt===n?1:0,"\r"),Yt=-1,b=0):(b+=d,b+=x);Rt+=g.ascent*t.finalSize/100,this.canResize&&t.finalSize>this.minimumFontSize&&zty?b:y,b=-2*x,o="",a=!0,f+=1):o=$,e.chars?(p=e.getCharData($,g.fStyle,e.getFontByName(t.f).fFamily),d=a?0:p.w*t.finalSize/100):d=e.measureText(o,t.f,t.finalSize),$===" "?Lt+=d+x:(b+=d+x+Lt,Lt=0),s.push({l:d,an:d,add:m,n:a,anIndexes:[],val:o,line:f,animatorJustifyOffset:0}),u==2){if(m+=d,o===""||o===" "||n===r-1){for((o===""||o===" ")&&(m-=d);A<=n;)s[A].an=m,s[A].ind=h,s[A].extra=d,A+=1;h+=1,m=0}}else if(u==3){if(m+=d,o===""||n===r-1){for(o===""&&(m-=d);A<=n;)s[A].an=m,s[A].ind=h,s[A].extra=d,A+=1;m=0,h+=1}}else s[h].ind=h,s[h].extra=0,h+=1;if(t.l=s,y=b>y?b:y,w.push(b),t.sz)t.boxWidth=t.sz[0],t.justifyOffset=0;else switch(t.boxWidth=y,t.j){case 1:t.justifyOffset=-t.boxWidth;break;case 2:t.justifyOffset=-t.boxWidth/2;break;default:t.justifyOffset=0}t.lineWidths=w;var v=i.a,S,l;_=v.length;var c,I,E=[];for(T=0;T<_;T+=1){for(S=v[T],S.a.sc&&(t.strokeColorAnim=!0),S.a.sw&&(t.strokeWidthAnim=!0),(S.a.fc||S.a.fh||S.a.fs||S.a.fb)&&(t.fillColorAnim=!0),I=0,c=S.s.b,n=0;n0?h=this.ne.v/100:o=-this.ne.v/100,this.xe.v>0?u=1-this.xe.v/100:m=1+this.xe.v/100;var A=se.getBezierEasing(h,o,u,m).get,f=0,w=this.finalS,b=this.finalE,y=this.data.sh;if(y===2)b===w?f=a>=b?1:0:f=t(0,e(.5/(b-w)+(a-w)/(b-w),1)),f=A(f);else if(y===3)b===w?f=a>=b?0:1:f=1-t(0,e(.5/(b-w)+(a-w)/(b-w),1)),f=A(f);else if(y===4)b===w?f=0:(f=t(0,e(.5/(b-w)+(a-w)/(b-w),1)),f<.5?f*=2:f=1-2*(f-.5)),f=A(f);else if(y===5){if(b===w)f=0;else{var T=b-w;a=e(t(0,a+.5-w),b-w);var _=-T/2+a,g=T/2;f=Math.sqrt(1-_*_/(g*g))}f=A(f)}else y===6?(b===w?f=0:(a=e(t(0,a+.5-w),b-w),f=(1+Math.cos(Math.PI+Math.PI*2*a/(b-w)))/2),f=A(f)):(a>=i(w)&&(a-w<0?f=t(0,e(e(b,1)-(w-a),1)):f=t(0,e(b-a,1))),f=A(f));if(this.sm.v!==100){var p=this.sm.v*.01;p===0&&(p=1e-8);var d=.5-p*.5;f1&&(f=1))}return f*this.a.v},getValue:function(a){this.iterateDynamicProperties(),this._mdf=a||this._mdf,this._currentTextLength=this.elem.textProperty.currentData.l.length||0,a&&this.data.r===2&&(this.e.v=this._currentTextLength);var h=this.data.r===2?1:100/this.data.totalChars,o=this.o.v/h,u=this.s.v/h+o,m=this.e.v/h+o;if(u>m){var A=u;u=m,m=A}this.finalS=u,this.finalE=m}},R([xe],s);function n(r,a,h){return new s(r,a)}return{getTextSelectorProp:n}})();function na(t,e,i){var s={propType:!1},n=at.getProp,r=e.a;this.a={r:r.r?n(t,r.r,0,j,i):s,rx:r.rx?n(t,r.rx,0,j,i):s,ry:r.ry?n(t,r.ry,0,j,i):s,sk:r.sk?n(t,r.sk,0,j,i):s,sa:r.sa?n(t,r.sa,0,j,i):s,s:r.s?n(t,r.s,1,.01,i):s,a:r.a?n(t,r.a,1,0,i):s,o:r.o?n(t,r.o,0,.01,i):s,p:r.p?n(t,r.p,1,0,i):s,sw:r.sw?n(t,r.sw,0,0,i):s,sc:r.sc?n(t,r.sc,1,0,i):s,fc:r.fc?n(t,r.fc,1,0,i):s,fh:r.fh?n(t,r.fh,0,0,i):s,fs:r.fs?n(t,r.fs,0,.01,i):s,fb:r.fb?n(t,r.fb,0,.01,i):s,t:r.t?n(t,r.t,0,0,i):s},this.s=ra.getTextSelectorProp(t,e.s,i),this.s.t=e.s.t}function _s(t,e,i){this._isFirstFrame=!0,this._hasMaskedPath=!1,this._frameId=-1,this._textData=t,this._renderType=e,this._elem=i,this._animatorsData=K(this._textData.a.length),this._pathData={},this._moreOptions={alignment:{}},this.renderedLetters=[],this.lettersChangedFlag=!1,this.initDynamicPropertyContainer(i)}_s.prototype.searchProperties=function(){var t,e=this._textData.a.length,i,s=at.getProp;for(t=0;t=b+Ii||!X?(Q=(b+Ii-T)/y.partialLength,qt=d.point[0]+(y.point[0]-d.point[0])*Q,fe=d.point[1]+(y.point[1]-d.point[1])*Q,r.translate(-i[0]*f[m].an*.005,-(i[1]*Lt)*.01),_=!1):X&&(T+=y.partialLength,g+=1,g>=X.length&&(g=0,p+=1,x[p]?X=x[p].points:Rt.v.c?(g=0,p=0,X=x[p].points):(T-=y.partialLength,X=null)),X&&(d=y,y=X[g],P=y.partialLength));Gt=f[m].an/2-f[m].add,r.translate(-Gt,0,0)}else Gt=f[m].an/2-f[m].add,r.translate(-Gt,0,0),r.translate(-i[0]*f[m].an*.005,-i[1]*Lt*.01,0);for(l=0;lt?this.textSpans[t].span:xt(h?"g":"text"),p<=t){if(o.setAttribute("stroke-linecap","butt"),o.setAttribute("stroke-linejoin","round"),o.setAttribute("stroke-miterlimit","4"),this.textSpans[t].span=o,h){var X=xt("g");o.appendChild(X),this.textSpans[t].childSpan=X}this.textSpans[t].span=o,this.layerElement.appendChild(o)}o.style.display="inherit"}if(u.reset(),A&&(a[t].n&&(f=-y,w+=i.yOffset,w+=b?1:0,b=!1),this.applyTextPropertiesToMatrix(i,u,a[t].line,f,w),f+=a[t].l||0,f+=y),h){d=this.globalData.fontManager.getCharData(i.finalText[t],s.fStyle,this.globalData.fontManager.getFontByName(i.f).fFamily);var x;if(d.t===1)x=new Hs(d.data,this.globalData,this);else{var P=aa;d.data&&d.data.shapes&&(P=this.buildShapeData(d.data,i.finalSize)),x=new Ie(P,this.globalData,this)}if(this.textSpans[t].glyph){var k=this.textSpans[t].glyph;this.textSpans[t].childSpan.removeChild(k.layerElement),k.destroy()}this.textSpans[t].glyph=x,x._debug=!0,x.prepareFrame(0),x.renderFrame(),this.textSpans[t].childSpan.appendChild(x.layerElement),d.t===1&&this.textSpans[t].childSpan.setAttribute("transform","scale("+i.finalSize/100+","+i.finalSize/100+")")}else A&&o.setAttribute("transform","translate("+u.props[12]+","+u.props[13]+")"),o.textContent=a[t].val,o.setAttributeNS("http://www.w3.org/XML/1998/namespace","xml:space","preserve")}A&&o&&o.setAttribute("d",m)}for(;t=0;e-=1)(this.completeLayers||this.elements[e])&&this.elements[e].prepareFrame(t-this.layers[e].st);if(this.globalData._mdf)for(e=0;e=0;i-=1)(this.completeLayers||this.elements[i])&&(this.elements[i].prepareFrame(this.renderedFrame-this.layers[i].st),this.elements[i]._mdf&&(this._mdf=!0))}},Vi.prototype.renderInnerContent=function(){var t,e=this.layers.length;for(t=0;t=0;s-=1)e.finalTransform.multiply(e.transforms[s].transform.mProps.v);e._mdf=r},processSequences:function(e){var i,s=this.sequenceList.length;for(i=0;i=1){this.buffers=[];var e=this.globalData.canvasContext,i=rr.createCanvas(e.canvas.width,e.canvas.height);this.buffers.push(i);var s=rr.createCanvas(e.canvas.width,e.canvas.height);this.buffers.push(s),this.data.tt>=3&&!document._isProxy&&rr.loadLumaCanvas()}this.canvasContext=this.globalData.canvasContext,this.transformCanvas=this.globalData.transformCanvas,this.renderableEffectsManager=new Mr(this),this.searchEffectTransforms()},createContent:function(){},setBlendMode:function(){var e=this.globalData;if(e.blendMode!==this.data.bm){e.blendMode=this.data.bm;var i=ie(this.data.bm);e.canvasContext.globalCompositeOperation=i}},createRenderableComponents:function(){this.maskManager=new nr(this.data,this),this.transformEffects=this.renderableEffectsManager.getEffects(Ur.TRANSFORM_EFFECT)},hideElement:function(){!this.hidden&&(!this.isInRange||this.isTransparent)&&(this.hidden=!0)},showElement:function(){this.isInRange&&!this.isTransparent&&(this.hidden=!1,this._isFirstFrame=!0,this.maskManager._isFirstFrame=!0)},clearCanvas:function(e){e.clearRect(this.transformCanvas.tx,this.transformCanvas.ty,this.transformCanvas.w*this.transformCanvas.sx,this.transformCanvas.h*this.transformCanvas.sy)},prepareLayer:function(){if(this.data.tt>=1){var e=this.buffers[0],i=e.getContext("2d");this.clearCanvas(i),i.drawImage(this.canvasContext.canvas,0,0),this.currentTransform=this.canvasContext.getTransform(),this.canvasContext.setTransform(1,0,0,1,0,0),this.clearCanvas(this.canvasContext),this.canvasContext.setTransform(this.currentTransform)}},exitLayer:function(){if(this.data.tt>=1){var e=this.buffers[1],i=e.getContext("2d");this.clearCanvas(i),i.drawImage(this.canvasContext.canvas,0,0),this.canvasContext.setTransform(1,0,0,1,0,0),this.clearCanvas(this.canvasContext),this.canvasContext.setTransform(this.currentTransform);var s=this.comp.getElementById("tp"in this.data?this.data.tp:this.data.ind-1);if(s.renderFrame(!0),this.canvasContext.setTransform(1,0,0,1,0,0),this.data.tt>=3&&!document._isProxy){var n=rr.getLumaCanvas(this.canvasContext.canvas),r=n.getContext("2d");r.drawImage(this.canvasContext.canvas,0,0),this.clearCanvas(this.canvasContext),this.canvasContext.drawImage(n,0,0)}this.canvasContext.globalCompositeOperation=la[this.data.tt],this.canvasContext.drawImage(e,0,0),this.canvasContext.globalCompositeOperation="destination-over",this.canvasContext.drawImage(this.buffers[0],0,0),this.canvasContext.setTransform(this.currentTransform),this.canvasContext.globalCompositeOperation="source-over"}},renderFrame:function(e){if(!(this.hidden||this.data.hd)&&!(this.data.td===1&&!e)){this.renderTransform(),this.renderRenderable(),this.renderLocalTransform(),this.setBlendMode();var i=this.data.ty===0;this.prepareLayer(),this.globalData.renderer.save(i),this.globalData.renderer.ctxTransform(this.finalTransform.localMat.props),this.globalData.renderer.ctxOpacity(this.finalTransform.localOpacity),this.renderInnerContent(),this.globalData.renderer.restore(i),this.exitLayer(),this.maskManager.hasMasks&&this.globalData.renderer.restore(!0),this._isFirstFrame&&(this._isFirstFrame=!1)}},destroy:function(){this.canvasContext=null,this.data=null,this.globalData=null,this.maskManager.destroy()},mHelper:new he},Hi.prototype.hide=Hi.prototype.hideElement,Hi.prototype.show=Hi.prototype.showElement;function on(t,e,i,s){this.styledShapes=[],this.tr=[0,0,0,0,0,0];var n=4;e.ty==="rc"?n=5:e.ty==="el"?n=6:e.ty==="sr"&&(n=7),this.sh=Pi.getShapeProp(t,e,n,t);var r,a=i.length,h;for(r=0;r=0;r-=1){if(A=this.searchProcessedElement(t[r]),A?e[r]=i[A-1]:t[r]._shouldRender=s,t[r].ty==="fl"||t[r].ty==="st"||t[r].ty==="gf"||t[r].ty==="gs")A?e[r].style.closed=!1:e[r]=this.createStyleElement(t[r],b),u.push(e[r].style);else if(t[r].ty==="gr"){if(!A)e[r]=this.createGroupElement(t[r]);else for(o=e[r].it.length,h=0;h=0;n-=1)e[n].ty==="tr"?(a=i[n].transform,this.renderShapeTransform(t,a)):e[n].ty==="sh"||e[n].ty==="el"||e[n].ty==="rc"||e[n].ty==="sr"?this.renderPath(e[n],i[n]):e[n].ty==="fl"?this.renderFill(e[n],i[n],a):e[n].ty==="st"?this.renderStroke(e[n],i[n],a):e[n].ty==="gf"||e[n].ty==="gs"?this.renderGradientFill(e[n],i[n],a):e[n].ty==="gr"?this.renderShape(a,e[n].it,i[n].it):e[n].ty;s&&this.drawLayer()},Le.prototype.renderStyledShape=function(t,e){if(this._isFirstFrame||e._mdf||t.transforms._mdf){var i=t.trNodes,s=e.paths,n,r,a,h=s._length;i.length=0;var o=t.transforms.finalTransform;for(a=0;a=1?m=.99:m<=-1&&(m=-.99);var A=o*m,f=Math.cos(u+e.a.v)*A+a[0],w=Math.sin(u+e.a.v)*A+a[1];n=r.createRadialGradient(f,w,0,a[0],a[1],o)}var b,y=t.g.p,T=e.g.c,_=1;for(b=0;br&&o==="xMidYMid slice"||nn&&h==="meet"||rn&&h==="slice")?this.transformCanvas.tx=(i-this.transformCanvas.w*(s/this.transformCanvas.h))/2*this.renderConfig.dpr:u==="xMax"&&(rn&&h==="slice")?this.transformCanvas.tx=(i-this.transformCanvas.w*(s/this.transformCanvas.h))*this.renderConfig.dpr:this.transformCanvas.tx=0,m==="YMid"&&(r>n&&h==="meet"||rn&&h==="meet"||r=0;t-=1)this.elements[t]&&this.elements[t].destroy&&this.elements[t].destroy();this.elements.length=0,this.globalData.canvasContext=null,this.animationItem.container=null,this.destroyed=!0},de.prototype.renderFrame=function(t,e){if(!(this.renderedFrame===t&&this.renderConfig.clearCanvas===!0&&!e||this.destroyed||t===-1)){this.renderedFrame=t,this.globalData.frameNum=t-this.animationItem._isFirstFrame,this.globalData.frameId+=1,this.globalData._mdf=!this.renderConfig.clearCanvas||e,this.globalData.projectInterface.currentFrame=t;var i,s=this.layers.length;for(this.completeLayers||this.checkLayers(t),i=s-1;i>=0;i-=1)(this.completeLayers||this.elements[i])&&this.elements[i].prepareFrame(t-this.layers[i].st);if(this.globalData._mdf){for(this.renderConfig.clearCanvas===!0?this.canvasContext.clearRect(0,0,this.transformCanvas.w,this.transformCanvas.h):this.save(),i=s-1;i>=0;i-=1)(this.completeLayers||this.elements[i])&&this.elements[i].renderFrame();this.renderConfig.clearCanvas!==!0&&this.restore()}}},de.prototype.buildItem=function(t){var e=this.elements;if(!(e[t]||this.layers[t].ty===99)){var i=this.createItem(this.layers[t],this,this.globalData);e[t]=i,i.initExpressions()}},de.prototype.checkPendingElements=function(){for(;this.pendingElements.length;){var t=this.pendingElements.pop();t.checkParenting()}},de.prototype.hide=function(){this.animationItem.container.style.display="none"},de.prototype.show=function(){this.animationItem.container.style.display="block"};function ln(){this.opacity=-1,this.transform=q("float32",16),this.fillStyle="",this.strokeStyle="",this.lineWidth="",this.lineCap="",this.lineJoin="",this.miterLimit="",this.id=Math.random()}function Ye(){this.stack=[],this.cArrPos=0,this.cTr=new he;var t,e=15;for(t=0;t=0;e-=1)(this.completeLayers||this.elements[e])&&this.elements[e].renderFrame()},Ps.prototype.destroy=function(){var t,e=this.layers.length;for(t=e-1;t>=0;t-=1)this.elements[t]&&this.elements[t].destroy();this.layers=null,this.elements=null},Ps.prototype.createComp=function(t){return new Ps(t,this.globalData,this)};function Er(t,e){this.animationItem=t,this.renderConfig={clearCanvas:e&&e.clearCanvas!==void 0?e.clearCanvas:!0,context:e&&e.context||null,progressiveLoad:e&&e.progressiveLoad||!1,preserveAspectRatio:e&&e.preserveAspectRatio||"xMidYMid meet",imagePreserveAspectRatio:e&&e.imagePreserveAspectRatio||"xMidYMid slice",contentVisibility:e&&e.contentVisibility||"visible",className:e&&e.className||"",id:e&&e.id||"",runExpressions:!e||e.runExpressions===void 0||e.runExpressions},this.renderConfig.dpr=e&&e.dpr||1,this.animationItem.wrapper&&(this.renderConfig.dpr=e&&e.dpr||window.devicePixelRatio||1),this.renderedFrame=-1,this.globalData={frameNum:-1,_mdf:!1,renderConfig:this.renderConfig,currentGlobalAlpha:-1},this.contextData=new Ye,this.elements=[],this.pendingElements=[],this.transformMat=new he,this.completeLayers=!1,this.rendererType="canvas",this.renderConfig.clearCanvas&&(this.ctxTransform=this.contextData.transform.bind(this.contextData),this.ctxOpacity=this.contextData.opacity.bind(this.contextData),this.ctxFillStyle=this.contextData.fillStyle.bind(this.contextData),this.ctxStrokeStyle=this.contextData.strokeStyle.bind(this.contextData),this.ctxLineWidth=this.contextData.lineWidth.bind(this.contextData),this.ctxLineCap=this.contextData.lineCap.bind(this.contextData),this.ctxLineJoin=this.contextData.lineJoin.bind(this.contextData),this.ctxMiterLimit=this.contextData.miterLimit.bind(this.contextData),this.ctxFill=this.contextData.fill.bind(this.contextData),this.ctxFillRect=this.contextData.fillRect.bind(this.contextData),this.ctxStroke=this.contextData.stroke.bind(this.contextData),this.save=this.contextData.save.bind(this.contextData))}return R([de],Er),Er.prototype.createComp=function(t){return new Ps(t,this.globalData,this)},ni("canvas",Er),oi.registerModifier("tm",ei),oi.registerModifier("pb",ss),oi.registerModifier("rp",Si),oi.registerModifier("rd",rs),oi.registerModifier("zz",Wt),oi.registerModifier("op",Ce),Qt}))})(ks,ks.exports)),ks.exports}var Tn=En();const Pn=xn(Tn),us="https://cdn.sanity.io/files/4zrzovbb/claude-com",Hr=`${us}/d7f0445ab91f8d8182142b33e060ead9d7bc46b9.json`,Fi=[{type:"diagonal-to-diagonal",url:`${us}/4f1e9cc7f76fa151f971acec456964d99c59d938.json`},{type:"diagonal-to-none",url:`${us}/e85541b56b6e0b7f8df5a587372dbeb26d3aa5f2.json`},{type:"diagonal-to-star",url:Hr,reverse:!0},{type:"none-to-diagonal",url:`${us}/f336bace2f2e4f719522bdd335ef5b31316ae079.json`},{type:"none-to-star",url:`${us}/5f7523ad959b6d1a9b84291d8644c24b437ab618.json`},{type:"star-to-diagonal",url:Hr},{type:"star-to-none",url:`${us}/263542d8421d78d08330c7643823e3c30637323a.json`},{type:"star-to-star",url:`${us}/9080efa2c9c4f055af6e108770d829fc00c79ff1.json`}],Gr=new Map;async function Ks(L){let C=Gr.get(L);if(!C)try{const D=await fetch(L);if(!D.ok)return null;C=await D.json(),Gr.set(L,C)}catch{return null}return C}const $i=12,Ln=12,Zi=Fi.map(L=>L.type),Ys=new Map(Fi.map(({type:L},C)=>[L,C])),js=new Set([Ys.get("none-to-star"),Ys.get("none-to-diagonal")]);function mr(L,C){if(typeof OffscreenCanvas<"u")return new OffscreenCanvas(L,C);const D=document.createElement("canvas");return D.width=L,D.height=C,D}function vr(L){const C=L.getContext("2d");if(!C)throw new Error("lottie-frame-bank: failed to get 2d context");return C}function kn(){return new Promise(L=>requestAnimationFrame(()=>L()))}function In(){let L=null,C=0;async function D(O,tt,V,G,H,et,U=!1){const R=document.createElement("div");R.style.width=`${H}px`,R.style.height=`${H}px`,R.style.position="fixed",R.style.left="-9999px",R.style.top="-9999px",document.body.appendChild(R);let vt=null;try{vt=Pn.loadAnimation({container:R,renderer:"canvas",loop:!1,autoplay:!1,animationData:structuredClone(O),rendererSettings:{clearCanvas:!0,preserveAspectRatio:"xMidYMid meet"}});const ht=R.querySelector("canvas");if(!ht)throw new Error("lottie-frame-bank: lottie did not create a canvas");const q=mr(H,H),K=vr(q);for(let lt=0;lt<$i;lt++){vt.goToAndStop(lt,!0),K.clearRect(0,0,H,H),K.fillStyle=G,K.fillRect(0,0,H,H),K.globalCompositeOperation="destination-in",K.drawImage(ht,0,0,H,H),K.globalCompositeOperation="source-over";const Bt=(U?$i-1-lt:lt)*H,Tt=V*H;tt.drawImage(q,Bt,Tt),performance.now()-et.start>et.limitMs&&(await kn(),et.start=performance.now())}}finally{vt&&vt.destroy(),R.remove()}}return{get ready(){return L!==null},get frameCount(){return $i},get fps(){return Ln},async init(O,tt,V,G){var lt;const H=++C,et=Math.round(O*tt),U=mr($i*et,Fi.length*et),R=vr(U),vt={start:performance.now(),limitMs:10},ht=[...js].map(ct=>Fi[ct].url);await Promise.all(ht.map(ct=>Ks(ct)));for(const ct of js){if(H!==C)return;const Bt=await Ks(Fi[ct].url);Bt&&await D(Bt,R,ct,V,et,vt,Fi[ct].reverse)}if(H!==C)return;L={atlas:U,physSize:et},(lt=G==null?void 0:G.onEntranceReady)==null||lt.call(G);const q=Fi.filter((ct,Bt)=>!js.has(Bt)).map(ct=>ct.url),K=Promise.all([...new Set(q)].map(ct=>Ks(ct)));vt.limitMs=6;for(let ct=0;ct[L,C])),Wr={"none-to-star":3,"diagonal-to-star":3,"none-to-diagonal":2,"star-to-diagonal":2,"star-to-star":2,"diagonal-to-diagonal":2,"star-to-none":1,"diagonal-to-none":1},gr={"none-to-star":1,"diagonal-to-star":1,"star-to-star":1,"none-to-diagonal":2,"star-to-diagonal":2,"diagonal-to-diagonal":2,"star-to-none":0,"diagonal-to-none":0},Bn=L=>{const C=new Uint8Array(Cs),D=new Uint8Array(Cs),z=new Float64Array(Cs),O=new Uint32Array(Cs),tt=new Uint8Array(Cs),V=new Uint8Array(Cs),G=new Map,H=new Map,et=new Map;let U=0,R=0,vt=0;const ht=j=>{let St=G.get(j);return St===void 0&&(St=U++,G.set(j,St)),St},q=j=>{const St=qs(j.wi,j.li);et.set(St,(et.get(St)??0)+1)},K=j=>{const St=qs(j.wi,j.li),st=et.get(St)??0;st<=1?et.delete(St):et.set(St,st-1)},lt=(j,St)=>{C[j]&&(C[j]=0,vt--,K(St),H.delete(j))},ct=(j,St,st,W)=>{const Se=bs(j),jt=ht(Se),ae=(W==null?void 0:W.force)??!1;if(C[jt]&&!ae){const ke=gr[Zi[D[jt]]],De=gr[St],je=st-z[jt],Ee=tt[jt]||12,Ae=V[jt]+Math.floor(je/(1e3/Ee));if(ke===De){const ze=Wr[Zi[D[jt]]],ft=Wr[St];if(ft{const st=bs(j),W=G.get(st);if(W===void 0||!C[W])return null;const Se=St-z[W],jt=V[W];if(Se<0)return{frame:jt>0?jt:-1,type:Zi[D[W]]};const re=1e3/(tt[W]||12),me=jt+Math.floor(Se/re);if(me>=$i){if(C[W]=0,vt--,K(j),O[W]===R){const Nt=H.get(W);Nt&&(H.delete(W),Nt())}return null}return{frame:me,type:Zi[D[W]]}},Tt=j=>{const St=bs(j),st=G.get(St);return st===void 0||!C[st]?null:Zi[D[st]]},nt=j=>{const St=bs(j),st=G.get(St);return st===void 0||!C[st]?null:gr[Zi[D[st]]]},gt=(j,St)=>(et.get(qs(j,St))??0)>0,N=j=>{const St=bs(j),st=G.get(St);st!==void 0&<(st,j)},Xt=()=>{R++,C.fill(0),H.clear(),et.clear(),vt=0};return{start:ct,getFrame:Bt,getActiveTransitionType:Tt,getEffectiveEndState:nt,hasActiveInLetter:gt,cancelAll:Xt,cancelCell:N,dispose:()=>{Xt(),G.clear()},get activeCount(){return vt}}};function On({heroEl:L,canvas:C,config:D,svgConfig:z=Lr,skipEntrance:O=!1,disableGame:tt=!1,mouseTarget:V}){const{words:G,wordOffsetCols:H,compositionCols:et,numColGroups:U,columnGroups:R,groupWordLetter:vt}=D,ht=G.length,q=B.SIGMA_X*(U-1)/4;function K(F){return(F.rowBudget-ht*Oe)/ht}function lt(){return getComputedStyle(L).getPropertyValue("--fg-primary").trim()||"#141413"}const ct=Cn(U,ht,q),Bt=typeof window<"u"&&("ontouchstart"in window||navigator.maxTouchPoints>0),Tt=typeof window<"u"&&window.innerWidth<768,nt=Sn({numColGroups:U,numWords:ht,scaledSigmaX:q,isTouchDevice:Bt,onShake:tt?void 0:()=>{jt||Ri()}}),gt=An();let N,Xt=12;const J=Bn(),j=[];for(let F=0;FF.length));let st=null,W=null,Se=null,jt=!1,ae=0,re,me=0,Nt={l:0,r:0,t:0,b:0},Fe=null,Me=-1,ke=-1,De=-1,je=-1,Ee=!1,Ae=0;function ze(){return(ht-1)*B.ENTRANCE_WORD_STAGGER_MS+Math.max(...j.map(F=>F.length-1))*B.ENTRANCE_LETTER_STAGGER_MS}const ft={wi:0,li:0,r:0,c:0};function Re(){if(!(N!=null&&N.ready))return;const F=N.extractEndFrameTile("none-to-star"),Z=N.extractEndFrameTile("none-to-diagonal");F&&Z&>.setTiles(F,Z)}function Ne(F,Z){return F===0&&Z===1?"none-to-star":F===0&&Z===2?"none-to-diagonal":F===1&&Z===0?"star-to-none":F===1&&Z===2?"star-to-diagonal":F===2&&Z===0?"diagonal-to-none":F===2&&Z===1?"diagonal-to-star":null}function Ue(){var F;Ee=!0,L.classList.add("entrance-done"),nt.state.mode==="loading"&&nt.transition("idle"),(F=gi.onEntranceComplete)==null||F.call(gi)}let xt=!1,Te=0,si=!0,Je=0,ri=0;const zi=.5;let hi=0,Zt=!1,ni=!1,_e=0,mi=0,ai=0,Pt=0,it=null,se=null,Ei="idle",bi=0,Ve=0,M=0,rt=1e3,pt=0,mt=0,Kt=0,It=0;const yt=8,_t=[];let Ot=0;function oe(F,Z,wt){(F!==bi||Z!==Ve||wt!==M)&&(bi=F,Ve=Z,M=wt,window.dispatchEvent(new CustomEvent("breakout-hud-update",{detail:{score:F,lives:Z,combo:wt}})))}function le(){const F=window.innerWidth>=mn?"desktop":"mobile";if(F!==Fe){const Z=getComputedStyle(L);Nt={l:parseFloat(Z.paddingLeft)??32,r:parseFloat(Z.paddingRight)??32,t:parseFloat(Z.paddingTop)??32,b:parseFloat(Z.paddingBottom)??32},Fe=F}}function Xe(){le();const F=L.clientWidth-Nt.l-Nt.r,Z=L.clientHeight-Nt.t-Nt.b,wt=1,Y=(et-1)*wt;for(let ot=14;ot>=B.MIN_H;ot--){const ut=ot+Oe,At=(F-Y)/et,Vt=ht*ut,Et=ht*(ut-1)*wt,Dt=(ht-1)*wt,Mt=(Z-Et-Dt)/Vt,Ft=Math.floor(Math.min(At,Mt));if(Ft>=3){const bt=(F-et*Ft)/(et-1),Ht=ht*(ot+Oe),Wt=(Z-Ht*Ft)/Math.max(1,Ht-1)-.05,Jt=Math.max(.5,Math.min(bt,1,Wt));let Ut=Math.floor((Z-(ht-1)*Jt)/(ht*(Ft+Jt)))-Oe;Ut=Math.max(B.MIN_H,Math.min(B.MAX_H,Ut));const $t=Math.floor((Z+Jt)/(Ft+Jt)),ge=ht*(Ut+Oe),be=Math.min($t,ge);return{cellSize:Ft,cellGap:Jt,maxSafeH:Ut,rowBudget:be}}}return{cellSize:3,cellGap:1,maxSafeH:B.MIN_H,rowBudget:ht*(B.MIN_H+Oe)}}function we(F){const Z=F.cellSize+F.cellGap;return{w:et*F.cellSize+(et-1)*F.cellGap,h:F.rowBudget*Z-F.cellGap}}function $e(F){const{w:Z,h:wt}=we(F),Y=window.devicePixelRatio||1;C.style.width=Z+"px",C.style.height=wt+"px",C.width=Math.round(Z*Y),C.height=Math.round(wt*Y),st=C.getContext("2d"),st&&st.setTransform(Y,0,0,Y,0,0);const ot=F.cellSize+F.cellGap;for(const ut of j)for(const At of ut)At.xPx=At.colStart*ot,At.lastIntHeight=-1;cancelAnimationFrame(me),me=requestAnimationFrame(()=>{re=C.getBoundingClientRect()})}function Ri(){W&&(!Ee&&!xt&&(J.cancelAll(),he(),Ue()),!Zt&&Ee?Ci():Zt&&it.state==="game-over"&&(fi(),Ci()))}async function Ci(){if(!Ee||!W||Zt)return;if(!it){let Y=null;try{Y=new AudioContext,Y.state!=="running"&&Y.resume().catch(()=>{});const At=Y.createBuffer(1,1,Y.sampleRate),Vt=Y.createBufferSource();Vt.buffer=At,Vt.connect(Y.destination),Vt.start()}catch{}const[{createBreakoutEngine:ot},{createBreakoutAudioEngine:ut}]=await Promise.all([Promise.resolve().then(()=>Gn),Promise.resolve().then(()=>Jn)]);it=ot(),se=ut(Y)}if(J.cancelAll(),clearTimeout(ei),cancelAnimationFrame(me),se.resumeContext(),se.startKeepAlive(),window.dispatchEvent(new CustomEvent("breakout-entered")),Fe=null,Tt){Se=W,le();const Y=L.clientHeight-Nt.t-Nt.b,ot=L.clientWidth-Nt.l-Nt.r,ut=Y,At=W.cellSize+W.cellGap,Vt=Math.round(ut*B.BK_MOBILE_PADDLE_BOTTOM_PCT)+W.cellSize*3,Et=ut-Vt,Dt=96;_e=Math.round(K(W)),_e=Math.max(B.MIN_H,Math.min(B.MAX_H,_e));const Mt=Math.floor((Et-Dt+W.cellGap)/At),Ft=Math.floor(Mt/ht)-Oe;Ft>=B.MIN_H&&Ft<_e&&(_e=Ft),ct.distribute(0,0,W.rowBudget,0,_e),ct.snapHeights();const{w:bt}=we(W),Wt=ht*(_e+Oe)*At-W.cellGap;mi=Math.round((ot-bt)/2),ai=Math.max(Dt,Math.round((Et-Wt)/2))+32;const Jt=window.devicePixelRatio||1;C.style.width=ot+"px",C.style.height=ut+"px",C.width=Math.round(ot*Jt),C.height=Math.round(ut*Jt),st=C.getContext("2d"),st&&st.setTransform(Jt,0,0,Jt,0,0),re=C.getBoundingClientRect(),it.buildCellMap(j,_e,D,W.cellSize,W.cellGap,ot,ut,mi,Tt,ai)}else{le();const Y=L.clientWidth-Nt.l-Nt.r,{w:ot}=we(W),ut=L.clientHeight,At=W.cellSize+W.cellGap,Vt=W.cellSize*6,Et=Math.ceil(Vt/At),Dt=W.rowBudget-ht*Oe-Et;_e=Math.floor(Dt/ht),_e=Math.max(B.MIN_H,Math.min(B.MAX_H,_e)),ct.distribute(0,0,W.rowBudget,0,_e),ct.snapHeights(),ai=Nt.t+16;const Mt=Math.max(Y,ot);mi=Math.round((Mt-ot)/2);const Ft=Mt+Nt.r;C.style.position="absolute",C.style.top="0",C.style.left="0";const bt=window.devicePixelRatio||1;C.style.width=Ft+"px",C.style.height=ut+"px",C.width=Math.round(Ft*bt),C.height=Math.round(ut*bt),st=C.getContext("2d"),st&&st.setTransform(bt,0,0,bt,0,0),re=C.getBoundingClientRect(),it.buildCellMap(j,_e,D,W.cellSize,W.cellGap,Ft,ut,mi,Tt,ai)}Zt=!0,hi=0,ni=!0,De=L.clientWidth,je=L.clientHeight,window.dispatchEvent(new CustomEvent("breakout-mute-toggle",{detail:{muted:se.muted}})),st&&it.updateColors(st),Pt=performance.now(),mt=Pt+B.WAVE_INITIAL_BODY_DELAY_MS,pt=0,It=Pt,it.start();const F=2,Z=2,wt=30;it.onBrickDestroyed((Y,ot)=>{const ut=performance.now();J.start({wi:Y.wi,li:Y.li,r:Y.row,c:Y.col},"star-to-none",ut,{fps:B.LOTTIE_EXIT_FPS,startFrame:B.LOTTIE_EXIT_START_FRAME,holdFrames:B.LOTTIE_EXIT_HOLD_FRAMES,force:!0,onComplete:()=>{it.markFullyDestroyed(Y.wi,Y.li,Y.row,Y.col)}});for(const At of ot)J.start({wi:Y.wi,li:Y.li,r:At.row,c:At.col},"diagonal-to-none",ut+wt,{fps:B.LOTTIE_EXIT_FPS,startFrame:F,holdFrames:Z,force:!0,onComplete:()=>{it.markFullyDestroyed(Y.wi,Y.li,At.row,At.col)}})}),bi=0,Ve=0,M=0,rt=1e3,oe(it.score,it.lives,it.combo),xe()}function fi(){Zt&&(se==null||se.stopKeepAlive(),C.style.alignSelf="",C.style.position="",C.style.top="",C.style.left="",Zt=!1,ni=!1,Ei="idle",it.drainEvents(),it.reset(),J.cancelAll(),window.dispatchEvent(new CustomEvent("breakout-exited")),mi=0,ai=0,mt=performance.now()+B.WAVE_INITIAL_BODY_DELAY_MS,Kt=0,It=0,_t.length=0,Ot=0,Fe=null,Se&&(W=Se,Se=null),W&&($e(W),ct.initHeights(K(W))),nt.transition(nt.state.gyroAvailable?"gyro":"idle"),nt.ensureAnimating(),xe())}function at(F){if(!st)return;const Z=it.getShakeOffset(),wt=Z.x!==0||Z.y!==0;wt&&(st.save(),st.translate(Z.x,Z.y));const Y=F.cellSize+F.cellGap,ot=gt.bodyTile,ut=gt.shadowTile,At=_e,Vt=At+Oe,Et=mi,Dt=ai;for(let Mt=0;Mt=0){const Wt=j[bt][Ht],Jt=Ft*Y+Dt;if(!(it!=null&&it.hasDestroyedInLetter(bt,Ht))&&!J.hasActiveInLetter(bt,Ht)){const Ut=gt.getStrip(Wt.name,At,Wt.cols),$t=Wt.cols*F.cellSize+Math.max(0,Wt.cols-1)*F.cellGap,ge=Vt*F.cellSize+Math.max(0,Vt-1)*F.cellGap;st.drawImage(Ut,Wt.xPx+Et,Jt,$t,ge)}else if(ot&&ut){const Ut=wi(Wt.name,At),$t=F.cellSize,ge=F.cellGap,be=performance.now();for(let pe=0;pe{const Dt=Math.random()<.5?"none-to-star":"none-to-diagonal";return{col:Et.col,row:Et.row,inType:Dt}}),ve=He.length;const ot=Xt/B.PHANTOM_FPS*1e3,ut=Xt/18*1e3,At=ze()+B.ENTRANCE_LETTER_JITTER_MS+B.ENTRANCE_CELL_JITTER_MS+ut,Vt=Math.max(0,At-2*ot);for(const Et of He){const Dt=Math.random()*Math.min(Vt,B.PHANTOM_STAGGER_MS),Mt=Et.inType==="none-to-star"?"star-to-none":"diagonal-to-none";J.start({wi:-1,li:0,r:Et.row,c:Et.col},Et.inType,F+Dt,{fps:B.PHANTOM_FPS,onComplete:()=>{J.start({wi:-1,li:0,r:Et.row,c:Et.col},Mt,performance.now(),{fps:B.PHANTOM_FPS,onComplete:()=>{ve--}})}})}}function he(){He=[],ve=0}function Qi(F,Z){if(!W)return;const wt="star-to-star";for(let Y=0;Y=B.MIN_H?At.lastIntHeight:_e,Et=wi(At.name,Vt),Dt=Y*B.WAVE_WORD_STAGGER_MS+ut*B.WAVE_LETTER_STAGGER_MS,Mt=(Math.random()-.5)*2*B.WAVE_LETTER_JITTER_MS,Ft=Math.max(0,Dt+Mt);for(let bt=0;bt=At||Et.wi!==F)continue;const Mt=Math.abs(Et.li-Z)+Math.abs(Et.r-wt)+Math.abs(Et.c-Y),Ft=1-Dt/At;ut*=.1+.9*(1-Ft*Math.max(0,1-Mt/8))}return ut}function ts(F,Z,wt,Y,ot,ut){const At=ut.length,Vt=ut[0].length,Et=B.BK_BLOB_CLUSTER_MIN+Math.floor(Math.random()*(B.BK_BLOB_CLUSTER_MAX-B.BK_BLOB_CLUSTER_MIN+1)),Dt=[{r:wt,c:Y,dist:0}],Mt=new Set;Mt.add(wt*1e3+Y);const Ft=[],bt=[[-1,0],[1,0],[0,-1],[0,1]];for(const[Ht,Wt]of bt){const Jt=wt+Ht,Ut=Y+Wt;if(Jt>=0&&Jt=0&&Ut0;){const Ht=Math.floor(Math.random()*Ft.length),Wt=Ft[Ht];if(Ft[Ht]=Ft[Ft.length-1],Ft.pop(),ut[Wt.r][Wt.c]!==ot||it!=null&&it.isCellDestroyed(F,Z,Wt.r,Wt.c)||it!=null&&it.isCellDying(F,Z,Wt.r,Wt.c)||(ft.wi=F,ft.li=Z,ft.r=Wt.r,ft.c=Wt.c,J.getActiveTransitionType(ft)))continue;const Jt=Wt.parentDist+1;Dt.push({r:Wt.r,c:Wt.c,dist:Jt});for(const[Ut,$t]of bt){const ge=Wt.r+Ut,be=Wt.c+$t;if(ge>=0&&ge=0&&be=B.MIN_H?Ht.lastIntHeight:_e,Jt=wi(Ht.name,Wt);for(let Ut=0;Ut=B.MIN_H?ut.lastIntHeight:_e,Vt=wi(ut.name,At),Et=ts(ot.wi,ot.li,ot.r,ot.c,ot.type,Vt),Dt=ot.type===1?"star-to-star":"diagonal-to-diagonal";for(const Mt of Et){const Ft=Mt.dist*B.BK_BLOB_STAGGER_PER_CELL_MS,bt=(Math.random()-.5)*B.BK_BLOB_STAGGER_JITTER_MS,Ht=Math.max(0,Ft+bt);J.start({wi:ot.wi,li:ot.li,r:Mt.r,c:Mt.c},Dt,F+Ht,{fps:B.BK_BLOB_FPS})}_t.lengthFs*Fs&&(Is=!0)}function Rs(F){if(!Zt||F.touches.length===0||(se==null||se.resumeContext(),As(F))||(F.preventDefault(),performance.now()-Pt<100)||it.state==="game-over")return;Js=F.touches[0].clientX,$s=F.touches[0].clientY,Zs=performance.now(),Is=!1;const Z=re??C.getBoundingClientRect(),wt=F.touches[0].clientX-Z.left;it.movePaddle(wt)}function er(F){if(!Zt||As(F))return;const Z=performance.now()-Zs;!Is&&Z=0){const ne=j[pe][Be],ns=be*Z,gs=Math.max(B.MIN_H,Math.min(B.MAX_H,Math.round(ct.targetGroupWordH[$t][pe])));if(Ee&&B.FISHEYE_TRANSITIONS&&ot&&ne.lastIntHeight>=0&&Pe!==ne.lastIntHeight&&N.ready){if(Pe>ne.lastIntHeight?Pe<=gs:Pe>=gs){const Ce=wi(ne.name,ne.lastIntHeight),yi=wi(ne.name,Pe),qe=Math.max(Ce.length,yi.length),ii=ne.cols,Li=pn(ne.name,ne.lastIntHeight,Pe);if(Li){for(const{oldR:ue,newR:ie}of Li.pairs)for(let te=0;te=0){const ee=N.getFrame(te.type,te.frame);ee&&st.drawImage(ee.atlas,ee.sx,ee.sy,ee.sw,ee.sh,ue,ie,F.cellSize,F.cellSize)}else if(te&&te.frame<0){if(Ee&&Li!==0){const ee=Li===1?gt.bodyTile:gt.shadowTile;ee&&st.drawImage(ee,ue,ie,F.cellSize,F.cellSize)}}else if(Li!==0){const ee=Li===1?gt.bodyTile:gt.shadowTile;ee&&st.drawImage(ee,ue,ie,F.cellSize,F.cellSize)}}ne.hadActiveTransitions=!0}else{ne.hadActiveTransitions?ne.hadActiveTransitions=!1:ne.maxAnimRow=0;const Ai=gt.getStrip(ne.name,Pe,ne.cols),Ce=Pe+Oe,yi=ne.cols*F.cellSize+Math.max(0,ne.cols-1)*F.cellGap,qe=Ce*F.cellSize+Math.max(0,Ce-1)*F.cellGap;st.drawImage(Ai,ne.xPx,ns,yi,qe)}}be+=Pe+Oe}}if(He.length>0&&ve>0&&N.ready)for(const $t of He){ft.wi=-1,ft.li=0,ft.r=$t.row,ft.c=$t.col;const ge=J.getFrame(ft,Y);if(ge&&ge.frame>=0){const be=N.getFrame(ge.type,ge.frame);be&&st.drawImage(be.atlas,be.sx,be.sy,be.sw,be.sh,$t.col*Z,$t.row*Z,F.cellSize,F.cellSize)}}!Ee&&Ae>0&&J.activeCount<=ve&&Ue()}function ti(){if(jt)return;const F=performance.now(),Z=Je>0?Math.min(Math.max((F-Je)/16.667,.5),3):1;if(Je=F,Zt&&Ee&&B.BK_STAR_LOOP&&F>=It){const ot=B.WAVE_FPS;for(let ut=0;ut=mt&&(Qi(1,F),pt=F),pt>0){const ot=Xt/B.WAVE_FPS*1e3,ut=(ht-1)*B.WAVE_WORD_STAGGER_MS+(St-1)*B.WAVE_LETTER_STAGGER_MS+B.WAVE_LETTER_JITTER_MS+B.WAVE_CELL_JITTER_MS;F-pt>ot+ut&&(pt=0,mt=F+B.SHADOW_INTERVAL_MIN+Math.random()*(B.SHADOW_INTERVAL_MAX-B.SHADOW_INTERVAL_MIN))}if(Ee&&B.BK_BLOB_ENABLED&&!(Zt&&B.BK_STAR_LOOP)&&(Kt===0&&(Kt=F+1500),F>=Kt&&(ds(F),Kt=F+B.BK_BLOB_INTERVAL_MIN+Math.random()*(B.BK_BLOB_INTERVAL_MAX-B.BK_BLOB_INTERVAL_MIN))),Zt){let ot=!1;for(hi+=Z;hi>=zi;)ot=it.tick(zi),hi-=zi;const ut=it.drainEvents();ut.length>0&&se&&se.processEvents(ut);const At=it.state;if(At==="playing"&&(oe(it.score,it.lives,it.combo),it.score>=rt)){const Et=rt;rt*=2,window.dispatchEvent(new CustomEvent("breakout-score-milestone",{detail:{milestone:Et,score:it.score}}))}At==="celebrating"&&Ei!=="celebrating"&&window.dispatchEvent(new CustomEvent("breakout-win",{detail:{score:it.score}})),At==="game-over"&&Ei!=="game-over"&&window.dispatchEvent(new CustomEvent("breakout-game-over",{detail:{score:it.score,highScore:it.highScore}})),Ei=At;const Vt=B.RENDER_FPS>0?1e3/B.RENDER_FPS:0;(Vt<=0||F-ri>=Vt)&&(ri=F,oi(W)),!ot&&At==="idle"&&fi(),ae=requestAnimationFrame(ti);return}const wt=ni?!1:nt.tick(F,Z),Y=pt>0;if(wt||!Ee||!si||Y||J.activeCount>0){const{focusX:ot,focusY:ut,blend:At,mode:Vt}=nt.state;ct.distribute(ot,ut,W.rowBudget,At,K(W)),si=!ct.tickHeightSprings(Vt==="idle-demo",Z),si||nt.ensureAnimating();const Et=B.RENDER_FPS>0?1e3/B.RENDER_FPS:0;(Et<=0||F-ri>=Et)&&(ri=F,oi(W))}ae=requestAnimationFrame(ti)}let ei;function ss(){clearTimeout(ei),ei=setTimeout(async()=>{const F=L.clientWidth,Z=L.clientHeight;if(W&&F===Me&&Z===ke)return;if(Me=F,ke=Z,Zt){const Dt=Math.abs(F-De),Mt=Math.abs(Z-je);if(Dt<100&&Mt<100){De=F,je=Z;return}fi()}W=Xe();const wt=W.cellSize<4,Y=lt(),ot=window.devicePixelRatio||1;J.cancelAll(),he(),Te++,xt=!1,!Ee&&Ae>0&&Ue();const ut=[gt.init(W.cellSize,W.cellGap,Y,z,wt,ot)];if(N&&ut.push(N.init(W.cellSize,ot,Y)),await Promise.all(ut),jt)return;Re(),$e(W),nt.ensureAnimating();const{focusX:At,focusY:Vt,blend:Et}=nt.state;ct.distribute(At,Vt,W.rowBudget,Et,K(W)),ct.snapHeights(),si=!0,oi(W)},100)}let qi=null;function Si(){J.cancelAll(),he(),Te++,xt=!1;const F=lt(),Z=window.devicePixelRatio||1,wt=[gt.rebake(F)];N&&wt.push(N.init((W==null?void 0:W.cellSize)??3,Z,F)),Promise.all(wt).then(()=>{if(!jt){Re();for(const Y of j)for(const ot of Y)ot.lastIntHeight=-1;Zt&&st&&it.updateColors(st),nt.ensureAnimating()}})}function rs(){Zt&&it.state==="game-over"&&(fi(),Ci())}function vs(){Zt&&fi()}function xs(){if(!Zt||!se)return;const F=se.toggleMute();window.dispatchEvent(new CustomEvent("breakout-mute-toggle",{detail:{muted:F}}))}function Bs(){Ri()}const gi={async start(){if(st=C.getContext("2d"),!st)throw new Error("CanvasEngine: failed to get 2d context");performance.now();const F=await Promise.resolve().then(()=>Fn);if(jt)return;N=F.createLottieFrameBank(),Xt=F.FRAME_COUNT,W=Xe();const Z=W.cellSize<4,wt=lt(),Y=window.devicePixelRatio||1;if(await gt.init(W.cellSize,W.cellGap,wt,z,Z,Y),!jt){if($e(W),C.style.opacity="1",ct.initHeights(K(W)),nt.attachListeners(L,()=>re,V),nt.prefersReducedMotion||O)Ue(),N.init(W.cellSize,Y,wt).then(()=>{jt||Re()});else{xt=!0;const ot=++Te;N.init(W.cellSize,Y,wt,{onEntranceReady:()=>{jt||ot!==Te||(Re(),xt=!1,performance.now(),Ae=performance.now(),vi(Ae),Pi(Ae))}}).then(()=>{})}oi(W),ae=requestAnimationFrame(ti),window.addEventListener("resize",ss),tt||(window.addEventListener("breakout-requested",Bs),window.addEventListener("breakout-play-again",rs),window.addEventListener("breakout-exit-game",vs),window.addEventListener("breakout-toggle-sound",xs),window.addEventListener("keydown",es),window.addEventListener("mousemove",is),window.addEventListener("click",ms),window.addEventListener("touchmove",tr,{passive:!1}),window.addEventListener("touchstart",Rs,{passive:!1}),window.addEventListener("touchend",er)),qi=new MutationObserver(ot=>{for(const ut of ot)if(ut.attributeName==="data-theme"||ut.attributeName==="class"){Si();break}}),qi.observe(document.documentElement,{attributes:!0})}},destroy(){jt=!0,Zt&&it.reset(),se==null||se.dispose(),se=null,cancelAnimationFrame(ae),cancelAnimationFrame(me),nt.detachListeners(),gt.dispose(),N==null||N.dispose(),J.dispose(),window.removeEventListener("resize",ss),tt||(window.removeEventListener("breakout-requested",Bs),window.removeEventListener("breakout-play-again",rs),window.removeEventListener("breakout-exit-game",vs),window.removeEventListener("breakout-toggle-sound",xs),window.removeEventListener("keydown",es),window.removeEventListener("mousemove",is),window.removeEventListener("click",ms),window.removeEventListener("touchmove",tr),window.removeEventListener("touchstart",Rs),window.removeEventListener("touchend",er)),clearTimeout(ei),pt=0,qi&&qi.disconnect()}};return gi}const Dn=Object.freeze(Object.defineProperty({__proto__:null,createCanvasEngine:On},Symbol.toStringTag,{value:"Module"})),Us=["#C2856A","#6E9B7B","#DF8972","#9B8EC0"],zr="#D97757",Nn=10,qr="cwc-breakout-highscore",Vn=2;function Hn(){let L="idle",C=0,D=0,z=0,O=0,tt=0;const V=[];let G=0,H=0,et=!1,U=0,R=0,vt=0,ht=0,q=0,K=12;const lt=new Map,ct=[],Bt=new Set;let Tt=0;const nt=new Set,gt=new Map;let N=0;const Xt=new Set,J=new Map;let j=null,St=B.BK_MAX_LIVES,st=0,W=0,Se=0,jt=0;const ae=[],re=[];let me=0;const Nt=[],Fe={fgColor:"#141413"},Me={x:0,y:0};let ke=null;if(typeof Image<"u"){const M=new Image;M.src="https://cdn.sanity.io/images/4zrzovbb/claude-com/b505899fba92ce63e8dfbfd89e29cf29cd099b21-116x116.svg",M.onload=()=>{ke=M}}let De=0,je=0,Ee=0,Ae=0,ze=!1,ft=1,Re=0,Ne=20,Ue=1.05,xt=0,Te=B.BK_PADDLE_SHRINK_INTERVAL;const si=.3;function Je(M,rt,pt,mt){return bs({wi:M,li:rt,r:pt,c:mt})}function ri(M,rt){return qs(M,rt)}function zi(M,rt){const pt=z+O;return`${Math.floor(M/pt)}:${Math.floor(rt/pt)}`}function hi(M,rt=!1){return{x:U,y:ht-vt-G-2,vx:0,vy:0,attached:M,trail:[],bonus:rt}}function Zt(){V.length=0,V.push(hi(!0))}function ni(){for(const M of V){if(!M.attached)continue;M.attached=!1;const rt=-Math.PI/2+(Math.random()-.5)*.6;M.vx=Math.cos(rt)*H,M.vy=Math.sin(rt)*H,Nt.push({type:"ball-launch"});return}}function _e(M){const rt=H*si;if(Math.abs(M.vy)=0?rt:-rt;const pt=Math.sqrt(M.vx*M.vx+M.vy*M.vy);if(pt>0){const mt=H/pt;M.vx*=mt,M.vy*=mt}}}function mi(M,rt){re.length=0;for(let pt=0;pt<100;pt++){const mt=Math.random()*Math.PI*2,Kt=2+Math.random()*5;re.push({x:M,y:rt,vx:Math.cos(mt)*Kt,vy:Math.sin(mt)*Kt-3,color:Us[Math.floor(Math.random()*Us.length)],life:.8+Math.random()*.2})}}function ai(M){M.trail.push({x:M.x,y:M.y}),M.trail.length>Nn&&M.trail.shift()}function Pt(){const M=z*B.BK_MIN_PADDLE_CELLS*ft;R=Math.max(M,R-z*.5*ft)}function it(){if(st>jt){jt=st;try{localStorage.setItem(qr,String(jt))}catch{}}}function se(){try{jt=parseInt(localStorage.getItem(qr)||"0",10)||0}catch{jt=0}}function Ei(M){const rt=z+O,pt=Math.floor((M.x-G)/rt),mt=Math.floor((M.x+G)/rt),Kt=Math.floor((M.y-G)/rt),It=Math.floor((M.y+G)/rt);let yt=null,_t=1/0;for(let Ot=pt;Ot<=mt;Ot++)for(let oe=Kt;oe<=It;oe++){const le=`${Ot}:${oe}`,Xe=lt.get(le);if(Xe)for(const we of Xe){if(we.cellType!==1)continue;const $e=Je(we.wi,we.li,we.row,we.col);if(nt.has($e)||Xt.has($e))continue;const Ri=Math.max(we.px,Math.min(M.x,we.px+z)),Ci=Math.max(we.py,Math.min(M.y,we.py+z)),fi=M.x-Ri,at=M.y-Ci,xe=fi*fi+at*at;xe<=G*G&&xe<_t&&(_t=xe,yt=we)}}return yt}function bi(M){const rt=Je(M.wi,M.li,M.row,M.col);if(nt.has(rt)||Xt.has(rt))return;Xt.add(rt);const pt=ri(M.wi,M.li);J.set(pt,(J.get(pt)??0)+1),N++,gt.set(pt,(gt.get(pt)??0)+1);const mt=[],Kt=[[Oe,1],[Oe,0],[0,1]];for(const[yt,_t]of Kt){const Ot=M.row+yt,oe=M.col+_t,le=Je(M.wi,M.li,Ot,oe);!Bt.has(le)&&!nt.has(le)&&!Xt.has(le)&&(Xt.add(le),J.set(pt,(J.get(pt)??0)+1),mt.push({row:Ot,col:oe}))}if(j)j(M,mt);else{Xt.delete(rt),nt.add(rt),J.set(pt,Math.max(0,(J.get(pt)??0)-1));for(const yt of mt){const _t=Je(M.wi,M.li,yt.row,yt.col);Xt.delete(_t),nt.add(_t),J.set(pt,Math.max(0,(J.get(pt)??0)-1))}}Se=B.BK_COMBO_WINDOW_MS,W++;const It=Math.min(W,10);if(st+=10*It,je=M.px+z/2,Ee=M.py+z/2,W>1){const yt=Math.floor(Math.random()*Us.length);ae.push({x:M.px+z/2,y:M.py,text:`×${It}`,color:Us[yt],life:1})}if(N-Re>=Ne){Re=N;const yt=ze?B.BK_MOBILE_BALL_SPEED_FACTOR:B.BK_DESKTOP_BALL_SPEED_FACTOR,_t=z*yt*ft*3;H=Math.min(H*Ue,_t);for(const Ot of V){if(Ot.attached)continue;const oe=Math.sqrt(Ot.vx*Ot.vx+Ot.vy*Ot.vy);if(oe>0){const le=H/oe;Ot.vx*=le,Ot.vy*=le}}}N-xt>=Te&&(xt=N,Pt())}const Ve={get state(){return L},get destroyedCount(){return N},get totalBricks(){return Tt},get score(){return st},get lives(){return St},get combo(){return W},get ballAttached(){return V.some(M=>M.attached)},get highScore(){return jt},buildCellMap(M,rt,pt,mt,Kt,It,yt,_t=0,Ot=!1,oe=-1){z=mt,O=Kt,C=It,D=yt,tt=_t,ze=Ot,lt.clear(),ct.length=0,Bt.clear(),Tt=0;const le=mt+Kt,{numColGroups:Xe,groupWordLetter:we}=pt,$e=pt.words.length,Ri=Ot?Math.round(yt*B.BK_MOBILE_PADDLE_BOTTOM_PCT)+mt*3:mt*6,Ci=oe>=0?oe:Ot?Math.round(yt*B.BK_MOBILE_TOP_PADDING_PCT):0,fi=rt+Oe;for(let vi=0;vi=0){const Ti=M[ve][Bi],Pi=wi(Ti.name,rt);for(let he=0;heyt-Ri)continue;const is={wi:ve,li:Bi,row:he,col:Qt,px:ds,py:es,cellType:ts},ms=zi(ds+mt/2,es+mt/2),Ss=lt.get(ms);Ss?Ss.push(is):lt.set(ms,[is]),ts===1&&(ct.push(is),Tt++)}}}He+=fi}}ft=Ot?Vn:1;const at=Ot?B.BK_MOBILE_PADDLE_CELLS:B.BK_DESKTOP_PADDLE_CELLS,xe=Ot?B.BK_MOBILE_BALL_SPEED_FACTOR:B.BK_DESKTOP_BALL_SPEED_FACTOR;q=mt*at*ft,R=q,vt=Math.round(mt*.6*ft),ht=Ot?yt-Math.round(yt*B.BK_MOBILE_PADDLE_BOTTOM_PCT)+16+32:yt-mt*4,U=It/2,G=Math.round(mt*.5*ft),H=mt*xe*ft,Ne=Ot?B.BK_MOBILE_RAMP_INTERVAL:20,Ue=Ot?B.BK_MOBILE_RAMP_FACTOR:1.05,Te=Ot?B.BK_MOBILE_SHRINK_INTERVAL:B.BK_PADDLE_SHRINK_INTERVAL,K=Math.round(mt*1.5*ft),se()},start(){L==="idle"&&(L="playing",St=B.BK_MAX_LIVES,st=0,W=0,Se=0,Re=0,xt=0,Ae=0,et=!1,R=q,ae.length=0,Zt())},launchBall(){ni()},tick(M){if(L==="idle")return!1;for(let yt=ae.length-1;yt>=0;yt--){const _t=ae[yt];_t.y-=M*.8,_t.life-=M*16.667/800,_t.life<=0&&ae.splice(yt,1)}if(Ae>0&&(Ae-=M*16.667,Ae<0&&(Ae=0)),L==="celebrating"){me+=M*16.667;for(const yt of re)yt.x+=yt.vx*M,yt.y+=yt.vy*M,yt.vy+=.15*M,yt.life-=M*16.667/2e3;return me>=2e3&&(L="resetting",De=0),!0}if(L==="resetting")return De+=M*16.667,De>=300?(Ve.reset(),!1):!0;if(L==="game-over")return!0;let rt=!0;for(const yt of V)yt.attached?(yt.x=U,yt.y=ht-vt-G-2):rt=!1;if(rt)return!0;Se>0&&(Se-=M*16.667,Se<=0&&(W=0,Se=0));const pt=V.length,mt=[];for(let yt=0;yt=C&&(_t.x=C-G,_t.vx=-Math.abs(_t.vx),Ot=!0),_t.y-G<=0&&(_t.y=G,_t.vy=Math.abs(_t.vy),Ot=!0),Ot&&Nt.push({type:"wall-bounce"}),_t.y+G>=D){mt.push(yt);continue}if(_t.vy>0&&_t.y+G>=ht&&_t.y+G<=ht+vt+H*M&&_t.x>=U-R/2&&_t.x<=U+R/2){_t.y=ht-G;const Xe=((_t.x-(U-R/2))/R-.5)*(Math.PI/1.5);_t.vx=Math.sin(Xe)*H,_t.vy=-Math.cos(Xe)*H,_e(_t),Nt.push({type:"paddle-hit"})}const oe=Ei(_t);if(oe){bi(oe),Nt.push({type:"brick-hit",combo:W,x:oe.px+z/2,y:oe.py+z/2});const le=oe.px+z/2,Xe=oe.py+z/2,we=_t.x-le,$e=_t.y-Xe,Ri=z/2+G-Math.abs(we),Ci=z/2+G-Math.abs($e);Ri=B.BK_EXTRA_BALL_SCORE&&(et=!0,V.push(hi(!0,!0))),Tt>0&&N>=Tt&&(L="celebrating",me=0,it(),mi(je,Ee),Nt.push({type:"win"}))}}const Kt=mt.some(yt=>!V[yt].bonus);for(let yt=mt.length-1;yt>=0;yt--)V.splice(mt[yt],1);const It=V.some(yt=>!yt.bonus);return Kt&&!It?(Nt.push({type:"ball-lost"}),St--,W=0,Se=0,Ae=B.BK_SHAKE_DURATION_MS,St<=0?(L="game-over",De=0,it(),Nt.push({type:"game-over"})):(Nt.push({type:"life-lost",livesRemaining:St}),V.push(hi(!0)))):V.length===0&&V.push(hi(!0)),!0},movePaddle(M){U=Math.max(R/2,Math.min(C-R/2,M))},nudgePaddle(M){U=Math.max(R/2,Math.min(C-R/2,U+M*K))},isCellDestroyed(M,rt,pt,mt){const Kt=Je(M,rt,pt,mt);return nt.has(Kt)||Xt.has(Kt)},hasDestroyedInLetter(M,rt){const pt=ri(M,rt);return(gt.get(pt)??0)>0||(J.get(pt)??0)>0},isCellDying(M,rt,pt,mt){return Xt.has(Je(M,rt,pt,mt))},hasDyingInLetter(M,rt){return(J.get(ri(M,rt))??0)>0},markFullyDestroyed(M,rt,pt,mt){const Kt=Je(M,rt,pt,mt);if(!Xt.has(Kt))return;Xt.delete(Kt),nt.add(Kt);const It=ri(M,rt),yt=J.get(It)??0;yt<=1?J.delete(It):J.set(It,yt-1)},onBrickDestroyed(M){j=M},updateColors(M){const rt=getComputedStyle(M.canvas).getPropertyValue("--fg-primary").trim();rt&&(Fe.fgColor=rt)},drawOverlay(M){if(L==="idle")return;const rt=Fe.fgColor,pt=Math.max(12,z*1.4);if(L==="playing"){for(const It of V){if(It.attached)continue;const yt=It.trail.length;for(let _t=0;_tOt.attached),_t=V.some(Ot=>!Ot.attached);if(yt){const Ot=ht-vt*6;M.textAlign="center",M.textBaseline="middle";const oe=.6+.4*Math.sin(Date.now()/300);M.globalAlpha=oe,M.font=`${Math.round(pt*.8)}px system-ui, sans-serif`,M.fillStyle=rt;const le=ze?"Tap":"Click",Xe=_t?`Bonus ball! ${le} to launch`:`${le} to launch`;M.fillText(Xe,C/2,Ot),M.globalAlpha=1}}for(const It of ae)M.globalAlpha=It.life,M.fillStyle=It.color,M.font=`bold ${Math.round(pt*.9)}px system-ui, sans-serif`,M.textAlign="center",M.fillText(It.text,It.x,It.y);if(M.globalAlpha=1,L==="celebrating"){for(const It of re)It.life<=0||(M.globalAlpha=It.life*It.life,M.fillStyle=It.color,M.beginPath(),M.arc(It.x,It.y,z*.5,0,Math.PI*2),M.fill());M.globalAlpha=1,M.fillStyle=rt,M.font=`bold ${Math.round(pt*2)}px system-ui, sans-serif`,M.textAlign="center",M.textBaseline="middle",M.fillText(`${st}`,C/2,D/2)}M.textAlign="start",M.textBaseline="alphabetic"},getShakeOffset(){if(Ae<=0)Me.x=0,Me.y=0;else{const M=Ae/B.BK_SHAKE_DURATION_MS,rt=B.BK_SHAKE_INTENSITY*M;Me.x=(Math.random()-.5)*2*rt,Me.y=(Math.random()-.5)*2*rt}return Me},drainEvents(){if(Nt.length===0)return Nt;const M=Nt.slice();return Nt.length=0,M},reset(){L="idle",nt.clear(),gt.clear(),Xt.clear(),J.clear(),N=0,lt.clear(),ct.length=0,Bt.clear(),Tt=0,re.length=0,ae.length=0,V.length=0,Nt.length=0,me=0,De=0,Ae=0,Re=0,xt=0,et=!1,St=B.BK_MAX_LIVES,st=0,W=0,Se=0},debugWin(){if(L==="playing"){for(const M of ct){const rt=Je(M.wi,M.li,M.row,M.col);if(!nt.has(rt)){nt.add(rt),N++;const pt=ri(M.wi,M.li);gt.set(pt,(gt.get(pt)??0)+1)}}st=Math.max(st,Tt*10),L="celebrating",me=0,it(),mi(C/2,D/3)}}};return Ve}const Gn=Object.freeze(Object.defineProperty({__proto__:null,createBreakoutEngine:Hn},Symbol.toStringTag,{value:"Module"})),Kr="cwc-breakout-muted",Wn={pulses:1,gaps:[],vibratePattern:[30]},zn={pulses:1,gaps:[],vibratePattern:[20]},qn={pulses:2,gaps:[100],vibratePattern:[80,40,80]},Kn={pulses:3,gaps:[120,120],vibratePattern:[100,50,100,50,200]},Yn={pulses:3,gaps:[100,100],vibratePattern:[40,30,40,30,80]};function Yr(){try{const L=document.createElement("label");L.ariaHidden="true",L.style.cssText="position:fixed;top:-100px;left:-100px;opacity:0;pointer-events:none";const C=document.createElement("input");C.type="checkbox",C.setAttribute("switch",""),L.appendChild(C),document.body.appendChild(L),L.click(),L.remove()}catch{}}const jn=typeof navigator<"u"&&/iPad|iPhone|iPod/.test(navigator.userAgent)&&/Safari/.test(navigator.userAgent)&&!/CriOS|FxiOS|OPiOS/.test(navigator.userAgent);function Un(L){let C=L??null,D=null,z=null,O=!1,tt=!1,V=null,G=null;const H=typeof window<"u"?window.matchMedia("(prefers-reduced-motion: reduce)").matches:!1;try{O=localStorage.getItem(Kr)==="1"}catch{}if(C)try{D=C.createGain(),D.gain.value=O?0:B.BK_AUDIO_VOLUME,D.connect(C.destination);const gt=C.sampleRate,N=Math.ceil(gt*.015);z=C.createBuffer(1,N,gt);const Xt=z.getChannelData(0);for(let J=0;JJ+j,0);setTimeout(Yr,Xt)}}}}const nt={processEvents(gt){if(gt.length===0||!B.BK_SOUND_ENABLED&&!B.BK_HAPTICS_ENABLED)return;if(D&&C){const J=O?0:B.BK_AUDIO_VOLUME;Math.abs(D.gain.value-J)>.001&&D.gain.setValueAtTime(J,C.currentTime)}const N=gt.some(J=>J.type==="game-over"),Xt=B.BK_SOUND_ENABLED&&!O;for(const J of gt)switch(J.type){case"brick-hit":Xt&&ht(J.combo),Tt(Wn);break;case"paddle-hit":Xt&&q(),Tt(zn);break;case"wall-bounce":Xt&&K();break;case"life-lost":Xt&&!N&<(),Tt(qn);break;case"game-over":Xt&&ct(),Tt(Kn);break;case"win":Xt&&Bt(),Tt(Yn);break}},resumeContext(){et(),C&&C.state!=="running"&&C.resume().catch(()=>{})},startKeepAlive(){if(!(V||!C))try{G=C.createGain(),G.gain.value=0,G.connect(C.destination),V=C.createOscillator(),V.connect(G),V.start()}catch{}},stopKeepAlive(){try{V==null||V.stop()}catch{}V==null||V.disconnect(),G==null||G.disconnect(),V=null,G=null},toggleMute(){O=!O;try{localStorage.setItem(Kr,O?"1":"0")}catch{}return D&&C&&D.gain.setValueAtTime(O?0:B.BK_AUDIO_VOLUME,C.currentTime),O},get muted(){return O},dispose(){tt=!0,nt.stopKeepAlive(),C&&(C.close().catch(()=>{}),C=null,D=null,z=null)}};return nt}const Jn=Object.freeze(Object.defineProperty({__proto__:null,createBreakoutAudioEngine:Un},Symbol.toStringTag,{value:"Module"}));return hr.mount=bn,Object.defineProperty(hr,Symbol.toStringTag,{value:"Module"}),hr})({});