PageSourceSearch

https://opentactic.ai/_next/static/chunks/0paj-rqn~iehr.js

js opentactic.ai collected 2026-10-05 15:43:01 UTC 1,129,469 bytes, 488 lines download raw bytes

1(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,407276,e=>{"use strict";var t,n,r=e.i(843476),i=e.i(500932),a=e.i(271645),o=e.i(216828),s=e.i(375732),l=e.i(926156),c=e.i(346944),u=e.i(576943),d=e.i(948148),m=e.i(410543),p=e.i(663139),h=e.i(840713),f=e.i(190072);let g={cone:a.default.memo(function(e){let t,n,a,o=(0,i.c)(4),{color:s}=e,l=void 0===s?"#ff8800":s;return o[0]===Symbol.for("react.memo_cache_sentinel")?(t=[0,.06,0],n=(0,r.jsx)("cylinderGeometry",{args:[.06,.18,.12,16,1,!0]}),o[0]=t,o[1]=n):(t=o[0],n=o[1]),o[2]!==l?(a=(0,r.jsx)("group",{children:(0,r.jsxs)("mesh",{position:t,children:[n,(0,r.jsx)("meshStandardMaterial",{color:l,side:f.DoubleSide})]})}),o[2]=l,o[3]=a):a=o[3],a}),ladder:a.default.memo(function(e){let t,n,a,o,s,l,c,u,d=(0,i.c)(12),{color:m}=e,p=void 0===m?"#ffd700":m;return d[0]===Symbol.for("react.memo_cache_sentinel")?(t=[-.3,.01,0],n=(0,r.jsx)("boxGeometry",{args:[.04,.02,4.5]}),d[0]=t,d[1]=n):(t=d[0],n=d[1]),d[2]!==p?(a=(0,r.jsxs)("mesh",{position:t,children:[n,(0,r.jsx)("meshStandardMaterial",{color:p})]}),d[2]=p,d[3]=a):a=d[3],d[4]===Symbol.for("react.memo_cache_sentinel")?(o=[.3,.01,0],s=(0,r.jsx)("boxGeometry",{args:[.04,.02,4.5]}),d[4]=o,d[5]=s):(o=d[4],s=d[5]),d[6]!==p?(l=(0,r.jsxs)("mesh",{position:o,children:[s,(0,r.jsx)("meshStandardMaterial",{color:p})]}),d[6]=p,d[7]=l):l=d[7],d[8]===Symbol.for("react.memo_cache_sentinel")?(c=Array.from({length:11},b),d[8]=c):c=d[8],d[9]!==a||d[10]!==l?(u=(0,r.jsxs)("group",{children:[a,l,c]}),d[9]=a,d[10]=l,d[11]=u):u=d[11],u}),mannequin:a.default.memo(function(e){let t,n,a,o,s,l,c,u,d=(0,i.c)(12),{color:m}=e,p=void 0===m?"#2563eb":m;return d[0]===Symbol.for("react.memo_cache_sentinel")?(t=(0,r.jsxs)("mesh",{position:[0,.05,0],children:[(0,r.jsx)("cylinderGeometry",{args:[.25,.3,.1,12]}),(0,r.jsx)("meshStandardMaterial",{color:"#333"})]}),n=[0,.85,0],a=(0,r.jsx)("boxGeometry",{args:[.35,1.3,.08]}),d[0]=t,d[1]=n,d[2]=a):(t=d[0],n=d[1],a=d[2]),d[3]!==p?(o=(0,r.jsxs)("mesh",{position:n,children:[a,(0,r.jsx)("meshStandardMaterial",{color:p,side:f.DoubleSide})]}),d[3]=p,d[4]=o):o=d[4],d[5]===Symbol.for("react.memo_cache_sentinel")?(s=[0,1.6,0],l=(0,r.jsx)("sphereGeometry",{args:[.12,12,12]}),d[5]=s,d[6]=l):(s=d[5],l=d[6]),d[7]!==p?(c=(0,r.jsxs)("mesh",{position:s,children:[l,(0,r.jsx)("meshStandardMaterial",{color:p})]}),d[7]=p,d[8]=c):c=d[8],d[9]!==o||d[10]!==c?(u=(0,r.jsxs)("group",{children:[t,o,c]}),d[9]=o,d[10]=c,d[11]=u):u=d[11],u}),pole:a.default.memo(function(e){let t,n,a,o,s,l,c=(0,i.c)(8),{color:u}=e,d=void 0===u?"#facc15":u;return c[0]===Symbol.for("react.memo_cache_sentinel")?(t=(0,r.jsxs)("mesh",{position:[0,.025,0],children:[(0,r.jsx)("cylinderGeometry",{args:[.12,.15,.05,12]}),(0,r.jsx)("meshStandardMaterial",{color:"#333"})]}),n=[0,.425,0],a=(0,r.jsx)("cylinderGeometry",{args:[.025,.025,.75,8]}),c[0]=t,c[1]=n,c[2]=a):(t=c[0],n=c[1],a=c[2]),c[3]!==d?(o=(0,r.jsxs)("mesh",{position:n,children:[a,(0,r.jsx)("meshStandardMaterial",{color:d})]}),c[3]=d,c[4]=o):o=c[4],c[5]===Symbol.for("react.memo_cache_sentinel")?(s=(0,r.jsxs)("mesh",{position:[0,1.175,0],children:[(0,r.jsx)("cylinderGeometry",{args:[.025,.025,.75,8]}),(0,r.jsx)("meshStandardMaterial",{color:"#111"})]}),c[5]=s):s=c[5],c[6]!==o?(l=(0,r.jsxs)("group",{children:[t,o,s]}),c[6]=o,c[7]=l):l=c[7],l}),hurdle:a.default.memo(function(e){let t,n,a,o,s,l,c,u=(0,i.c)(8),{color:d}=e,m=void 0===d?"#ff6600":d;return u[0]===Symbol.for("react.memo_cache_sentinel")?(t=(0,r.jsxs)("mesh",{position:[-.425,.01,0],children:[(0,r.jsx)("boxGeometry",{args:[.06,.02,.25]}),(0,r.jsx)("meshStandardMaterial",{color:"white"})]}),n=(0,r.jsxs)("mesh",{position:[.425,.01,0],children:[(0,r.jsx)("boxGeometry",{args:[.06,.02,.25]}),(0,r.jsx)("meshStandardMaterial",{color:"white"})]}),a=(0,r.jsxs)("mesh",{position:[-.425,.15,0],children:[(0,r.jsx)("cylinderGeometry",{args:[.015,.015,.3,8]}),(0,r.jsx)("meshStandardMaterial",{color:"white"})]}),o=(0,r.jsxs)("mesh",{position:[.425,.15,0],children:[(0,r.jsx)("cylinderGeometry",{args:[.015,.015,.3,8]}),(0,r.jsx)("meshStandardMaterial",{color:"white"})]}),s=[0,.3,0],l=(0,r.jsx)("boxGeometry",{args:[.9099999999999999,.03,.03]}),u[0]=t,u[1]=n,u[2]=a,u[3]=o,u[4]=s,u[5]=l):(t=u[0],n=u[1],a=u[2],o=u[3],s=u[4],l=u[5]),u[6]!==m?(c=(0,r.jsxs)("group",{children:[t,n,a,o,(0,r.jsxs)("mesh",{position:s,children:[l,(0,r.jsx)("meshStandardMaterial",{color:m})]})]}),u[6]=m,u[7]=c):c=u[7],c}),miniGoal:a.default.memo(function(e){let t,n,a,o,s,l,c,u,d,m,p,h,g,x,b,y,v,w,_,k=(0,i.c)(25),{color:S}
1=e,j=void 0===S?"#ffffff":S;return k[0]===Symbol.for("react.memo_cache_sentinel")?(t=[-.6,.4,0],n=(0,r.jsx)("cylinderGeometry",{args:[.03,.03,.8,8]}),k[0]=t,k[1]=n):(t=k[0],n=k[1]),k[2]!==j?(a=(0,r.jsxs)("mesh",{position:t,children:[n,(0,r.jsx)("meshStandardMaterial",{color:j})]}),k[2]=j,k[3]=a):a=k[3],k[4]===Symbol.for("react.memo_cache_sentinel")?(o=[.6,.4,0],s=(0,r.jsx)("cylinderGeometry",{args:[.03,.03,.8,8]}),k[4]=o,k[5]=s):(o=k[4],s=k[5]),k[6]!==j?(l=(0,r.jsxs)("mesh",{position:o,children:[s,(0,r.jsx)("meshStandardMaterial",{color:j})]}),k[6]=j,k[7]=l):l=k[7],k[8]===Symbol.for("react.memo_cache_sentinel")?(u=[0,.8,0],d=[0,0,Math.PI/2],c=(0,r.jsx)("cylinderGeometry",{args:[.03,.03,1.2,8]}),k[8]=c,k[9]=u,k[10]=d):(c=k[8],u=k[9],d=k[10]),k[11]!==j?(m=(0,r.jsxs)("mesh",{position:u,rotation:d,children:[c,(0,r.jsx)("meshStandardMaterial",{color:j})]}),k[11]=j,k[12]=m):m=k[12],k[13]===Symbol.for("react.memo_cache_sentinel")?(p=(0,r.jsxs)("mesh",{position:[0,.015,-.4],rotation:[0,0,Math.PI/2],children:[(0,r.jsx)("cylinderGeometry",{args:[.02,.02,1.2,8]}),(0,r.jsx)("meshStandardMaterial",{color:"#666"})]}),h=[-.6,.4,-.2],g=[Math.atan2(.4,.8),0,0],k[13]=p,k[14]=h,k[15]=g):(p=k[13],h=k[14],g=k[15]),k[16]===Symbol.for("react.memo_cache_sentinel")?(x=(0,r.jsxs)("mesh",{position:h,rotation:g,children:[(0,r.jsx)("cylinderGeometry",{args:[.015,.015,Math.sqrt(.8000000000000002),8]}),(0,r.jsx)("meshStandardMaterial",{color:"#666"})]}),b=[.6,.4,-.2],y=[Math.atan2(.4,.8),0,0],k[16]=x,k[17]=b,k[18]=y):(x=k[16],b=k[17],y=k[18]),k[19]===Symbol.for("react.memo_cache_sentinel")?(v=(0,r.jsxs)("mesh",{position:b,rotation:y,children:[(0,r.jsx)("cylinderGeometry",{args:[.015,.015,Math.sqrt(.8000000000000002),8]}),(0,r.jsx)("meshStandardMaterial",{color:"#666"})]}),w=(0,r.jsxs)("mesh",{position:[0,.4,-.2],children:[(0,r.jsx)("boxGeometry",{args:[1.2,.8,.4]}),(0,r.jsx)("meshStandardMaterial",{color:"white",transparent:!0,opacity:.08,side:f.DoubleSide,wireframe:!0})]}),k[19]=v,k[20]=w):(v=k[19],w=k[20]),k[21]!==m||k[22]!==a||k[23]!==l?(_=(0,r.jsxs)("group",{children:[a,l,m,p,x,v,w]}),k[21]=m,k[22]=a,k[23]=l,k[24]=_):_=k[24],_}),gate:a.default.memo(function(e){let t,n,a,o,s,l,c,u,d,m=(0,i.c)(13),{color:p}=e,h=void 0===p?"#22c55e":p;return m[0]===Symbol.for("react.memo_cache_sentinel")?(t=(0,r.jsxs)("mesh",{position:[-.75,.02,0],children:[(0,r.jsx)("cylinderGeometry",{args:[.1,.12,.04,12]}),(0,r.jsx)("meshStandardMaterial",{color:"#333"})]}),n=(0,r.jsxs)("mesh",{position:[.75,.02,0],children:[(0,r.jsx)("cylinderGeometry",{args:[.1,.12,.04,12]}),(0,r.jsx)("meshStandardMaterial",{color:"#333"})]}),a=[-.75,.5,0],o=(0,r.jsx)("cylinderGeometry",{args:[.025,.025,1,8]}),m[0]=t,m[1]=n,m[2]=a,m[3]=o):(t=m[0],n=m[1],a=m[2],o=m[3]),m[4]!==h?(s=(0,r.jsxs)("mesh",{position:a,children:[o,(0,r.jsx)("meshStandardMaterial",{color:h})]}),m[4]=h,m[5]=s):s=m[5],m[6]===Symbol.for("react.memo_cache_sentinel")?(l=[.75,.5,0],c=(0,r.jsx)("cylinderGeometry",{args:[.025,.025,1,8]}),m[6]=l,m[7]=c):(l=m[6],c=m[7]),m[8]!==h?(u=(0,r.jsxs)("mesh",{position:l,children:[c,(0,r.jsx)("meshStandardMaterial",{color:h})]}),m[8]=h,m[9]=u):u=m[9],m[10]!==s||m[11]!==u?(d=(0,r.jsxs)("group",{children:[t,n,s,u]}),m[10]=s,m[11]=u,m[12]=d):d=m[12],d}),rebounder:a.default.memo(function(e){let t,n,a,o,s,l,c,u,d=(0,i.c)(10),{color:m}=e,p=void 0===m?"#64748b":m,h=-(Math.PI/180*15);return d[0]===Symbol.for("react.memo_cache_sentinel")?(t=[0,.5,0],n=[h,0,0],a=(0,r.jsx)("boxGeometry",{args:[2,1,.05]}),d[0]=t,d[1]=n,d[2]=a):(t=d[0],n=d[1],a=d[2]),d[3]!==p?(o=(0,r.jsxs)("mesh",{position:t,rotation:n,children:[a,(0,r.jsx)("meshStandardMaterial",{color:p})]}),d[3]=p,d[4]=o):o=d[4],d[5]===Symbol.for("react.memo_cache_sentinel")?(s=(0,r.jsxs)("mesh",{position:[-.95,.25,-.15],rotation:[.3,0,0],children:[(0,r.jsx)("boxGeometry",{args:[.04,.6,.04]}),(0,r.jsx)("meshStandardMaterial",{color:"#333"})]}),l=(0,r.jsxs)("mesh",{position:[.95,.25,-.15],rotation:[.3,0,0],children:[(0,r.jsx)("boxGeometry",{args:[.04,.6,.04]}),(0,r.jsx)("meshStandardMaterial",{color:"#333"})]}),c=(0,r.jsxs)("mesh",{position:[0,.02,-.1],rotation:[0,0,Math.PI/2],children:[(0,r.jsx)("cylinderGeometry",{args:[.02,.02,2,8]}
1),(0,r.jsx)("meshStandardMaterial",{color:"#333"})]}),d[5]=s,d[6]=l,d[7]=c):(s=d[5],l=d[6],c=d[7]),d[8]!==o?(u=(0,r.jsxs)("group",{children:[o,s,l,c]}),d[8]=o,d[9]=u):u=d[9],u}),ring:a.default.memo(function(e){let t,n,a,o,s=(0,i.c)(5),{color:l}=e,c=void 0===l?"#ef4444":l;return s[0]===Symbol.for("react.memo_cache_sentinel")?(t=[0,.01,0],n=[-Math.PI/2,0,0],a=(0,r.jsx)("torusGeometry",{args:[.4,.03,8,24]}),s[0]=t,s[1]=n,s[2]=a):(t=s[0],n=s[1],a=s[2]),s[3]!==c?(o=(0,r.jsx)("group",{children:(0,r.jsxs)("mesh",{position:t,rotation:n,children:[a,(0,r.jsx)("meshStandardMaterial",{color:c})]})}),s[3]=c,s[4]=o):o=s[4],o})},x={cone:"Cone",ladder:"Ladder",mannequin:"Mannequin",pole:"Pole",hurdle:"Hurdle",miniGoal:"Mini Goal",gate:"Gate",rebounder:"Rebounder",ring:"Ring"};function b(e,t){return(0,r.jsxs)("mesh",{position:[0,.01,-2.25+.45*t],children:[(0,r.jsx)("boxGeometry",{args:[.6,.02,.04]}),(0,r.jsx)("meshStandardMaterial",{color:"white"})]},t)}var y=e.i(408595),v=e.i(477183),w=e.i(76590),_=e.i(807311);let k=()=>{let e,t=(0,i.c)(1);return t[0]===Symbol.for("react.memo_cache_sentinel")?(e=(0,r.jsxs)("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,r.jsx)("path",{d:"M1 12s4-8 11-8 11 8 11 8-4 8-11 8-11-8-11-8z"}),(0,r.jsx)("circle",{cx:"12",cy:"12",r:"3"})]}),t[0]=e):e=t[0],e},S=()=>{let e,t=(0,i.c)(1);return t[0]===Symbol.for("react.memo_cache_sentinel")?(e=(0,r.jsxs)("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,r.jsx)("path",{d:"M17.94 17.94A10.07 10.07 0 0 1 12 20c-7 0-11-8-11-8a18.45 18.45 0 0 1 5.06-5.94M9.9 4.24A9.12 9.12 0 0 1 12 4c7 0 11 8 11 8a18.5 18.5 0 0 1-2.16 3.19m-6.72-1.07a3 3 0 1 1-4.24-4.24"}),(0,r.jsx)("line",{x1:"1",y1:"1",x2:"23",y2:"23"})]}),t[0]=e):e=t[0],e},j=()=>{let e,t=(0,i.c)(1);return t[0]===Symbol.for("react.memo_cache_sentinel")?(e=(0,r.jsxs)("svg",{width:"10",height:"10",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,r.jsx)("line",{x1:"18",y1:"6",x2:"6",y2:"18"}),(0,r.jsx)("line",{x1:"6",y1:"6",x2:"18",y2:"18"})]}),t[0]=e):e=t[0],e},$=()=>{let e,t=(0,i.c)(1);return t[0]===Symbol.for("react.memo_cache_sentinel")?(e=(0,r.jsxs)("svg",{width:"10",height:"10",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,r.jsx)("line",{x1:"12",y1:"5",x2:"12",y2:"19"}),(0,r.jsx)("line",{x1:"5",y1:"12",x2:"19",y2:"12"})]}),t[0]=e):e=t[0],e},I=()=>{let e,t=(0,i.c)(1);return t[0]===Symbol.for("react.memo_cache_sentinel")?(e=(0,r.jsx)("svg",{width:"10",height:"10",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:(0,r.jsx)("polyline",{points:"6 9 12 15 18 9"})}),t[0]=e):e=t[0],e},C=()=>{let e,t=(0,i.c)(1);return t[0]===Symbol.for("react.memo_cache_sentinel")?(e=(0,r.jsx)("svg",{width:"10",height:"10",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:(0,r.jsx)("polyline",{points:"9 18 15 12 9 6"})}),t[0]=e):e=t[0],e},N=()=>{let e,t=(0,i.c)(1);return t[0]===Symbol.for("react.memo_cache_sentinel")?(e=(0,r.jsxs)("svg",{width:"10",height:"10",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",className:"opacity-50 cursor-grab",children:[(0,r.jsx)("circle",{cx:"9",cy:"12",r:"1"}),(0,r.jsx)("circle",{cx:"9",cy:"5",r:"1"}),(0,r.jsx)("circle",{cx:"9",cy:"19",r:"1"}),(0,r.jsx)("circle",{cx:"15",cy:"12",r:"1"}),(0,r.jsx)("circle",{cx:"15",cy:"5",r:"1"}),(0,r.jsx)("circle",{cx:"15",cy:"19",r:"1"})]}),t[0]=e):e=t[0],e},T=()=>{let e,t=(0,i.c)(1);return t[0]===Symbol.for("react.memo_cache_sentinel")?(e=(0,r.jsx)("svg",{width:"10",height:"10",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:(0,r.jsx)("path",{d:"M17 3a2.828 2.828 0 1 1 4 4L7.5 20.5 2 22l1.5-5.5L17 3z"})}),t[0]=e):e=t[0],e},A=()=>{let e,t=(0,i.c)(1);return t[0]===Symbol.for("react.memo_cache_sentinel")?(e=(0,r.jsx)("svg",{width:"10",height:"10",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:(0,r.jsx)("path",{d:"M4 7V4h16v3M9 20h6M12 4v16"})}),t[0]=e):e=t[0],e},P=()=>{let e,t=(0,i.c)(1);return t[0]===Symbol.for("react.memo_cache_sentinel")?(e=(0,r.jsx)("svg",{width:"10",height:"10",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:(0,r.jsx)("rect",{x:"3",y:"3",width:"18",height:"18",rx:"2",ry:"2"})}),t[0]=e):e=t[0],e},E=()=>{let e,t=(0,i.c)(1);return t[0]===Symbol.for("react.memo_cache_sentinel")?(e=(0,r.jsx)("svg",{width:"10",height:"10",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:(0,r.jsx)("circle",{cx:"12",cy:"12",r:"10"})}),t[0]=e):e=t[0],e},D=()=>{let e,t=(0,i.c)(1);return t[0]===Symbol.for("react.memo_cache_sentinel")?(e=(0,r.jsxs)("svg",{width:"10",height:"10",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,r.jsx)("line",{x1:"5",y1:"19",x2:"19",y2:"5"}),(0,r.jsx)("polyline",{points:"12 5 19 5 19 12"})]}),t[0]=e):e=t[0],e},M=()=>{let e,t=(0,i.c)(1);return t[0]===Symbol.for("react.memo_cache_sentinel")?(e=(0,r.jsx)("svg",{width:"10",height:"10",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:(0,r.jsx)("path",{d:"M22 19a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h5l2 3h9a2 2 0 0 1 2 2z"})}),t[0]=e):e=t[0],e},z=e=>{let t,n,a,o,s,l,c=(0,i.c)(18),{team:u,color:m,number:p,name:h}=e,f=(0,d.useTranslations)("FieldManager"),g=`${m}40`;return c[0]!==g?(t={backgroundColor:g},c[0]=g,c[1]=t):t=c[1],c[2]!==h||c[3]!==f||c[4]!==u?(n=f("teamTagTooltip",{team:u,name:h}),c[2]=h,c[3]=f,c[4]=u,c[5]=n):n=c[5],c[6]!==m?(a={color:m},c[6]=m,c[7]=a):a=c[7],c[8]!==p||c[9]!==a?(o=(0,r.jsx)("span",{className:"font-bold text-[8px]",style:a,children:p}),c[8]=p,c[9]=a,c[10]=o):o=c[10],c[11]!==h?(s=(0,r.jsx)("span",{className:"text-[8px] uppercase truncate max-w-[50px] text-white/90",children:h}),c[11]=h,c[12]=s):s=c[12],c[13]!==t||c[14]!==n||c[15]!==o||c[16]!==s?(l=(0,r.jsxs)("div",{className:"flex items-center gap-1 px-1 py-0.5 rounded-sm shrink-0 border border-white/20",style:t,title:n,children:[o,s]}),c[13]=t,c[14]=n,c[15]=o,c[16]=s,c[17]=l):l=c[17],l};function F(e){let t,n,a,o,s,l,c,u,m,p,h,f,g,x,b,y,v,$,z,F,L,R,B,U,Z=(0,i.c)(
176),{id:G,item:W,type:H,isSelected:V,onClick:q,onRename:K,onDelete:J,onToggle:X,isCollapsed:Y,depth:Q,onVisibilityToggle:ee}=e,et=void 0===Q?0:Q;Z[0]!==W||Z[1]!==H?(t={type:H,item:W},Z[0]=W,Z[1]=H,Z[2]=t):t=Z[2],Z[3]!==G||Z[4]!==t?(n={id:G,data:t},Z[3]=G,Z[4]=t,Z[5]=n):n=Z[5];let{attributes:en,listeners:er,setNodeRef:ei,transform:ea,transition:eo,isDragging:es}=(0,w.useSortable)(n),el=(0,d.useTranslations)("FieldManager");Z[6]!==ea?(a=_.CSS.Transform.toString(ea),Z[6]=ea,Z[7]=a):a=Z[7];let ec=`${12*et}px`,eu=es?.3:1;Z[8]!==a||Z[9]!==ec||Z[10]!==eu||Z[11]!==eo?(o={transform:a,transition:eo,marginLeft:ec,opacity:eu},Z[8]=a,Z[9]=ec,Z[10]=eu,Z[11]=eo,Z[12]=o):o=Z[12];let ed=o,em=!1!==W.visible,ep=`group flex items-center justify-between px-2 py-1.5 rounded border transition text-[10px] my-0.5 ${V?"bg-blue-600/20 border-blue-500/30":"bg-transparent hover:bg-white/5 border-transparent"}`;Z[13]===Symbol.for("react.memo_cache_sentinel")?(s=(0,r.jsx)(N,{}),Z[13]=s):s=Z[13],Z[14]!==er?(l=(0,r.jsx)("div",{...er,className:"shrink-0 cursor-grab hover:text-white text-white/30",children:s}),Z[14]=er,Z[15]=l):l=Z[15],Z[16]!==Y||Z[17]!==W.id||Z[18]!==X||Z[19]!==H?(c="group"===H&&(0,r.jsx)("button",{onClick:e=>{e.stopPropagation(),X&&X(W.id)},className:"shrink-0 text-white/50 hover:text-white -mr-1",children:Y?(0,r.jsx)(C,{}):(0,r.jsx)(I,{})}),Z[16]=Y,Z[17]=W.id,Z[18]=X,Z[19]=H,Z[20]=c):c=Z[20],Z[21]!==et||Z[22]!==H?(u="group"!==H&&0===et&&(0,r.jsx)("div",{className:"w-3"}),Z[21]=et,Z[22]=H,Z[23]=u):u=Z[23],Z[24]!==W||Z[25]!==H?(m="group"===H?(0,r.jsx)(M,{}):(e=>{if(!e)return(0,r.jsx)(T,{});switch(e.type){case"text":return(0,r.jsx)(A,{});case"pencil":default:return(0,r.jsx)(T,{});case"shape":return"circle"===e.shapeType?(0,r.jsx)(E,{}):(0,r.jsx)(P,{});case"arrow":return(0,r.jsx)(D,{})}})(W),Z[24]=W,Z[25]=H,Z[26]=m):m=Z[26],Z[27]!==m?(p=(0,r.jsx)("div",{className:"text-white/50 shrink-0 ml-1",children:m}),Z[27]=m,Z[28]=p):p=Z[28],Z[29]!==W.name||Z[30]!==el?(h=W.name||el("untitled"),Z[29]=W.name,Z[30]=el,Z[31]=h):h=Z[31],Z[32]!==W.id||Z[33]!==K?(f=e=>K&&K(W.id,e.target.value),Z[32]=W.id,Z[33]=K,Z[34]=f):f=Z[34],Z[35]!==q?(g=e=>{e.target.select(),q&&q()},Z[35]=q,Z[36]=g):g=Z[36],Z[37]!==h||Z[38]!==f||Z[39]!==g?(x=(0,r.jsx)("input",{type:"text",value:h,onChange:f,className:"bg-transparent text-white outline-none w-full truncate focus:text-blue-200 ml-1",onClick:O,onFocus:g}),Z[37]=h,Z[38]=f,Z[39]=g,Z[40]=x):x=Z[40],Z[41]!==l||Z[42]!==c||Z[43]!==u||Z[44]!==p||Z[45]!==x?(b=(0,r.jsxs)("div",{className:"flex items-center gap-2 overflow-hidden w-full",children:[l,c,u,p,x]}),Z[41]=l,Z[42]=c,Z[43]=u,Z[44]=p,Z[45]=x,Z[46]=b):b=Z[46],Z[47]!==W.id||Z[48]!==ee?(y=e=>{e.stopPropagation(),ee(W.id)},Z[47]=W.id,Z[48]=ee,Z[49]=y):y=Z[49];let eh=`shrink-0 transition p-0.5 ${em?"text-white/70 hover:text-white":"text-white/30 hover:text-white/50"}`;return Z[50]!==em?(v=em?(0,r.jsx)(k,{}):(0,r.jsx)(S,{}),Z[50]=em,Z[51]=v):v=Z[51],Z[52]!==y||Z[53]!==eh||Z[54]!==v?($=(0,r.jsx)("button",{onClick:y,className:eh,children:v}),Z[52]=y,Z[53]=eh,Z[54]=v,Z[55]=$):$=Z[55],Z[56]!==W.id||Z[57]!==J?(z=e=>{e.stopPropagation(),J&&J(W.id)},Z[56]=W.id,Z[57]=J,Z[58]=z):z=Z[58],Z[59]!==el?(F=el("delete"),Z[59]=el,Z[60]=F):F=Z[60],Z[61]===Symbol.for("react.memo_cache_sentinel")?(L=(0,r.jsx)(j,{}),Z[61]=L):L=Z[61],Z[62]!==z||Z[63]!==F?(R=(0,r.jsx)("button",{onClick:z,className:"opacity-50 hover:opacity-100 p-0.5 hover:text-red-400 text-white transition shrink-0",title:F,children:L}),Z[62]=z,Z[63]=F,Z[64]=R):R=Z[64],Z[65]!==$||Z[66]!==R?(B=(0,r.jsxs)("div",{className:"flex items-center gap-1 shrink-0 ml-1",children:[$,R]}),Z[65]=$,Z[66]=R,Z[67]=B):B=Z[67],Z[68]!==en||Z[69]!==q||Z[70]!==ei||Z[71]!==ed||Z[72]!==b||Z[73]!==B||Z[74]!==ep?(U=(0,r.jsxs)("div",{ref:ei,style:ed,...en,className:ep,onClick:q,children:[b,B]}),Z[68]=en,Z[69]=q,Z[70]=ei,Z[71]=ed,Z[72]=b,Z[73]=B,Z[74]=ep,Z[75]=U):U=Z[75],U}function O(e){return e.stopPropagation()}let L=e=>{let t,n,a,o,c,u,m,p,h,f,g,x,b,y,v,w,_,$,N,A,P,E,D,M,z,F,O,L,R=(0,i.c)(80),{player:B,team:U,isExpanded:Z,onToggleExpand:G}=e,{togglePlayerVisibility:W,removePlayer:H,togglePlayerAttribute:V,setActivePlayerForMenu:q}=(0,s.usePlayerStore)(),{closeTeamMenu:K,openTwoTeamMenuForPlayer:J}=(0,l.useUIStore)(),X=(0,d.useTranslations)("FieldManager"),Y=!1!==B.visible,Q=(0,s.usePlayerStore)(ea);R[0]!==X?(t=X("visionArc"),R[0]=X,R[1]=t):t=R[1],R[2]!==t?(n={key:"showVision",label:t,default:!0},R[2]=t,R[3]=n):n=R[3],R[4]!==X?(a=X("playerArea"),R[4]=X,R[5]=a):a=R[5],R[6]!==a?(o={key:"showArea",label:a,default:!0},R[6]=a,R[7]=o):o=R[7],R[8]!==Q||R[9]!==X?(c=Q?[]:[{key:"showNumber",label:X("numberDisk"),default:!0}],R[8]=Q,R[9]=X,R[10]=c):c=R[10],R[11]!==X?(u=X("nameLabel"),R[11]=X,R[12]=u):u=R[12],R[13]!==u?(m={key:"showName",label:u,default:!0},R[13]=u,R[14]=m):m=R[14],R[15]!==X?(p=X("playerCard"),R[15]=X,R[16]=p):p=R[16],R[17]!==p?(h={key:"showCard",label:p,default:!1},R[17]=p,R[18]=h):h=R[18],R[19]!==n||R[20]!==o||R[21]!==c||R[22]!==m||R[23]!==h?(f=[n,o,...c,m,h],R[19]=n,R[20]=o,R[21]=c,R[22]=m,R[23]=h,R[24]=f):f=R[24];let ee=f;return R[25]!==Z?(g=(0,r.jsx)("span",{className:"opacity-50 text-[9px] shrink-0",children:Z?(0,r.jsx)(I,{}):(0,r.jsx)(C,{})}),R[25]=Z,R[26]=g):g=R[26],R[27]!==B.number?(x=(0,r.jsx)("span",{className:"font-bold w-4 text-center text-white/50 shrink-0",children:B.number}),R[27]=B.number,R[28]=x):x=R[28],R[29]!==B.name?(b=(0,r.jsx)("span",{className:"truncate max-w-[80px]",children:B.name}),R[29]=B.name,R[30]=b):b=R[30],R[31]!==g||R[32]!==x||R[33]!==b?(y=(0,r.jsxs)("div",{className:"flex items-center gap-2 overflow-hidden",children:[g,x,b]}),R[31]=g,R[32]=x,R[33]=b,R[34]=y):y=R[34],R[35]!==K||R[36]!==J||R[37]!==B.id||R[38]!==q||R[39]!==U?(v=e=>{e.stopPropagation(),s.usePlayerStore.setState({activeTeam:U}),q(U,B.id),K(),J({team:U,playerId:B.id,tab:"details"})},R[35]=K,R[36]=J,R[37]=B.id,R[38]=q,R[39]=U,R[40]=v):v=R[40],R[41]!==X?(w=X("editPlayer"),R[41]=X,R[42]=w):w=R[42],R[43]===Symbol.for("react.memo_cache_sentinel")?(_=(0,r.jsx)(T,{}),R[43]=_):_=R[43],R[44]!==v||R[45]!==w?($=(0,r.jsx)("button",{onClick:v,className:"p-0.5 hover:text-white",title:w,children:_}),R[44]=v,R[45]=w,R[46]=$):$=R[46],R[47]!==B.id||R[48]!==U||R[49]!==W?(N=e=>{e.stopPropagation(),W(U,B.id)},R[47]=B.id,R[48]=U,R[49]=W,R[50]=N):N=R[50],R[51]!==Y?(A=Y?(0,r.jsx)(k,{}):(0,r.jsx)(S,{}),R[51]=Y,R[52]=A):A=R[52],R[53]!==N||R[54]!==A?(P=(0,r.jsx)("button",{onClick:N,className:"p-0.5 hover:text-white",children:A}),R[53]=N,R[54]=A,R[55]=P):P=R[55],R[56]!==B.id||R[57]!==H||R[58]!==U?(E=e=>{e.stopPropagation(),H(U,B.id)},R[56]=B.id,R[57]=H,R[58]=U,R[59]=E):E=R[59],R[60]===Symbol.for("react.memo_cache_sentinel")?(D=(0,r.jsx)(j,{}),R[60]=D):D=R[60],R[61]!==E?(M=(0,r.jsx)("button",{onClick:E,className:"p-0.5 hover:text-red-400",children:D}),R[61]=E,R[62]=M):M=R[62],R[63]!==$||R[64]!==P||R[65]!==M?(z=(0,r.jsxs)("div",{className:"flex items-center gap-1 opacity-50 group-hover:opacity-100 transition shrink-0 pl-1",children:[$,P,M]}),R[63]=$,R[64]=P,R[65]=M,R[66]=z):z=R[66],R[67]!==G||R[68]!==y||R[69]!==z?(F=(0,r.jsxs)("div",{className:"flex items-center justify-between px-2 py-1 hover:bg-white/5 text-[10px] transition group cursor-pointer",onClick:G,children:[y,z]}),R[67]=G,R[68]=y,R[69]=z,R[70]=F):F=R[70],R[71]!==ee||R[72]!==Z||R[73]!==B||R[74]!==U||R[75]!==V?(O=Z&&(0,r.jsx)("div",{className:"flex flex-col pl-8 pr-2 pb-1 gap-1 border-l border-white/10 ml-3 my-1",children:ee.map(e=>{let t=B[e.key],n=void 0!==t?t:e.default;return(0,r.jsxs)("div",{className:"flex items-center justify-between text-[9px] text-white/60 hover:text-white transition",children:[(0,r.jsx)("span",{children:e.label}),(0,r.jsx)("button",{onClick:t=>{t.stopPropagation(),V(U,B.id,e.key)},className:`p-0.5 ${n?"text-white/80":"text-white/30"}`,children:n?(0,r.jsx)(k,{}):(0,r.jsx)(S,{})})]},e.key)})}),R[71]=ee,R[72]=Z,R[73]=B,R[74]=U,R[75]=V,R[76]=O):O=R[76],R[77]!==F||R[78]!==O?(L=(0,r.jsxs)("div",{className:"flex flex-col bg-black/10 rounded",children:[F,O]}
1),R[77]=F,R[78]=O,R[79]=L):L=R[79],L},R=e=>{let t,n=(0,i.c)(19),{team:o,players:l}=e,{toggleTeamAttribute:c}=(0,s.usePlayerStore)(),[u,m]=(0,a.useState)(!1),p=(0,d.useTranslations)("FieldManager"),h=(0,s.usePlayerStore)(eo);if(n[0]!==u||n[1]!==h||n[2]!==l||n[3]!==p||n[4]!==o||n[5]!==c){let e,i,a,s,d,f=[{key:"showVision",label:p("allVisionArcs"),default:!0},{key:"showArea",label:p("allPlayerAreas"),default:!0},...h?[]:[{key:"showNumber",label:p("allNumberDisks"),default:!0}],{key:"showName",label:p("allNameLabels"),default:!0},{key:"showCard",label:p("allPlayerCards"),default:!1}];n[7]!==u?(e=()=>m(!u),n[7]=u,n[8]=e):e=n[8],n[9]!==u?(i=(0,r.jsx)("span",{className:"opacity-50 text-[9px]",children:u?(0,r.jsx)(I,{}):(0,r.jsx)(C,{})}),n[9]=u,n[10]=i):i=n[10],n[11]!==p?(a=p("teamSettings"),n[11]=p,n[12]=a):a=n[12],n[13]!==a?(s=(0,r.jsx)("span",{className:"text-[10px] text-white/50 font-medium uppercase tracking-wider",children:a}),n[13]=a,n[14]=s):s=n[14],n[15]!==e||n[16]!==i||n[17]!==s?(d=(0,r.jsxs)("div",{className:"flex items-center gap-2 px-2 py-1 cursor-pointer hover:bg-white/5 transition rounded-t",onClick:e,children:[i,s]}),n[15]=e,n[16]=i,n[17]=s,n[18]=d):d=n[18],t=(0,r.jsxs)("div",{className:"flex flex-col bg-black/10 rounded mb-1 mx-1",children:[d,u&&(0,r.jsx)("div",{className:"flex flex-col gap-0.5 pb-1 px-1 border-t border-white/5",children:f.map(e=>{let t=l.some(t=>{let n=t[e.key];return void 0!==n?n:e.default});return(0,r.jsxs)("div",{className:"flex items-center justify-between px-2 py-0.5 text-[9px] text-white/40 hover:text-white transition rounded hover:bg-white/5 cursor-pointer ml-3",onClick:t=>{t.stopPropagation(),c(o,e.key)},children:[(0,r.jsx)("span",{className:"italic",children:e.label}),(0,r.jsx)("button",{className:`p-0.5 ${t?"text-white/60":"text-white/20"}`,children:t?(0,r.jsx)(k,{}):(0,r.jsx)(S,{})})]},e.key)})})]}),n[0]=u,n[1]=h,n[2]=l,n[3]=p,n[4]=o,n[5]=c,n[6]=t}else t=n[6];return t},B=e=>{let t,n,a=(0,i.c)(5),{label:o,children:s}=e;return a[0]!==o?(t=(0,r.jsx)("span",{className:"min-w-0 truncate",children:o}),a[0]=o,a[1]=t):t=a[1],a[2]!==s||a[3]!==t?(n=(0,r.jsxs)("label",{className:"flex items-center justify-between gap-3 rounded border border-white/5 bg-black/10 px-2 py-1.5 text-[10px] text-white/65",children:[t,s]}),a[2]=s,a[3]=t,a[4]=n):n=a[4],n},U=e=>{let t,n,a,o,s,l,c=(0,i.c)(21),{label:u,value:d,min:m,max:p,step:h,onChange:f,suffix:g,disabled:x}=e,b=void 0===g?"":g,y=void 0!==x&&x,v=`rounded border border-white/5 bg-black/10 px-2 py-1.5 transition ${y?"opacity-45":""}`;return c[0]!==u?(t=(0,r.jsx)("span",{children:u}),c[0]=u,c[1]=t):t=c[1],c[2]!==b||c[3]!==d?(n=(0,r.jsxs)("span",{className:"font-mono text-[9px] tabular-nums text-white/40",children:[d,b]}),c[2]=b,c[3]=d,c[4]=n):n=c[4],c[5]!==t||c[6]!==n?(a=(0,r.jsxs)("div",{className:"mb-1 flex items-center justify-between text-[10px] text-white/65",children:[t,n]}),c[5]=t,c[6]=n,c[7]=a):a=c[7],c[8]!==f?(o=e=>f(Number(e.target.value)),c[8]=f,c[9]=o):o=c[9],c[10]!==y||c[11]!==p||c[12]!==m||c[13]!==h||c[14]!==o||c[15]!==d?(s=(0,r.jsx)("input",{type:"range",min:m,max:p,step:h,value:d,disabled:y,onChange:o,className:"w-full accent-green-400 disabled:cursor-not-allowed"}),c[10]=y,c[11]=p,c[12]=m,c[13]=h,c[14]=o,c[15]=d,c[16]=s):s=c[16],c[17]!==v||c[18]!==a||c[19]!==s?(l=(0,r.jsxs)("div",{className:v,children:[a,s]}),c[17]=v,c[18]=a,c[19]=s,c[20]=l):l=c[20],l};function Z(e){let t,n,a,o,s,l,c,u,m,p,h,f,g,x,b,y,v,w,_,k,S,j,$,I,C,N,T,A,P,E,D,M,z,F,O,L,R,Z,G,W,H,V,q,K,J,X,Y,Q,ee,et,en,er,ei,ea,eo,es,el,ec,eu,ed,em,ep,eh=(0,i.c)(170),{grassStripes:ef,updateGrassStripes:eg,resetFieldAppearance:ex}=e,eb=(0,d.useTranslations)("FieldManager");eh[0]!==eb?(t=eb("grassStripes"),eh[0]=eb,eh[1]=t):t=eh[1],eh[2]!==t?(n=(0,r.jsx)("div",{className:"text-[10px] font-bold uppercase tracking-wider text-green-300",children:t}),eh[2]=t,eh[3]=n):n=eh[3],eh[4]!==eb?(a=eb("grassStripesHint"),eh[4]=eb,eh[5]=a):a=eh[5],eh[6]!==a?(o=(0,r.jsx)("div",{className:"text-[9px] text-white/40",children:a}),eh[6]=a,eh[7]=o):o=eh[7],eh[8]!==n||eh[9]!==o?(s=(0,r.jsxs)("div",{children:[n,o]}),eh[8]=n,eh[9]=o,eh[10]=s):s=eh[10],eh[11]!==ef.enabled||eh[12]!==eg?
1(l=()=>eg({enabled:!ef.enabled}),eh[11]=ef.enabled,eh[12]=eg,eh[13]=l):l=eh[13];let ey=`rounded px-2 py-1 text-[10px] font-bold transition ${ef.enabled?"bg-green-500/20 text-green-200":"bg-white/10 text-white/50"}`;eh[14]!==ef.enabled||eh[15]!==eb?(c=eb(ef.enabled?"enabled":"disabled"),eh[14]=ef.enabled,eh[15]=eb,eh[16]=c):c=eh[16],eh[17]!==ef.enabled||eh[18]!==l||eh[19]!==ey||eh[20]!==c?(u=(0,r.jsx)("button",{type:"button",onClick:l,className:ey,"aria-pressed":ef.enabled,children:c}),eh[17]=ef.enabled,eh[18]=l,eh[19]=ey,eh[20]=c,eh[21]=u):u=eh[21],eh[22]!==s||eh[23]!==u?(m=(0,r.jsxs)("div",{className:"mb-2 flex items-center justify-between gap-2",children:[s,u]}),eh[22]=s,eh[23]=u,eh[24]=m):m=eh[24],eh[25]!==eb?(p=eb("stripeDirection"),eh[25]=eb,eh[26]=p):p=eh[26];let ev=ef.stripeDirection;eh[27]!==eg?(h=e=>eg({stripeDirection:e.target.value}),eh[27]=eg,eh[28]=h):h=eh[28],eh[29]!==eb?(f=eb("stripeHorizontal"),eh[29]=eb,eh[30]=f):f=eh[30],eh[31]!==f?(g=(0,r.jsx)("option",{value:"horizontal",children:f}),eh[31]=f,eh[32]=g):g=eh[32],eh[33]!==eb?(x=eb("stripeVertical"),eh[33]=eb,eh[34]=x):x=eh[34],eh[35]!==x?(b=(0,r.jsx)("option",{value:"vertical",children:x}),eh[35]=x,eh[36]=b):b=eh[36],eh[37]!==eb?(y=eb("stripeDiagonal"),eh[37]=eb,eh[38]=y):y=eh[38],eh[39]!==y?(v=(0,r.jsx)("option",{value:"diagonal",children:y}),eh[39]=y,eh[40]=v):v=eh[40],eh[41]!==ef.stripeDirection||eh[42]!==h||eh[43]!==g||eh[44]!==b||eh[45]!==v?(w=(0,r.jsxs)("select",{value:ev,onChange:h,className:"w-28 rounded border border-white/10 bg-black/40 px-2 py-1 text-[10px] text-white outline-none",children:[g,b,v]}),eh[41]=ef.stripeDirection,eh[42]=h,eh[43]=g,eh[44]=b,eh[45]=v,eh[46]=w):w=eh[46],eh[47]!==p||eh[48]!==w?(_=(0,r.jsx)(B,{label:p,children:w}),eh[47]=p,eh[48]=w,eh[49]=_):_=eh[49],eh[50]!==eb?(k=eb("stripePattern"),eh[50]=eb,eh[51]=k):k=eh[51];let ew=ef.patternMode;eh[52]!==eg?(S=e=>eg({patternMode:e.target.value}),eh[52]=eg,eh[53]=S):S=eh[53];let e_="horizontal"!==ef.stripeDirection;eh[54]!==eb?(j=eb("stripeSynced"),eh[54]=eb,eh[55]=j):j=eh[55],eh[56]!==j?($=(0,r.jsx)("option",{value:"markings",children:j}),eh[56]=j,eh[57]=$):$=eh[57],eh[58]!==eb?(I=eb("stripeUniform"),eh[58]=eb,eh[59]=I):I=eh[59],eh[60]!==I?(C=(0,r.jsx)("option",{value:"uniform",children:I}),eh[60]=I,eh[61]=C):C=eh[61],eh[62]!==ef.patternMode||eh[63]!==S||eh[64]!==e_||eh[65]!==$||eh[66]!==C?(N=(0,r.jsxs)("select",{value:ew,onChange:S,disabled:e_,className:"w-28 rounded border border-white/10 bg-black/40 px-2 py-1 text-[10px] text-white outline-none disabled:opacity-40",children:[$,C]}),eh[62]=ef.patternMode,eh[63]=S,eh[64]=e_,eh[65]=$,eh[66]=C,eh[67]=N):N=eh[67],eh[68]!==k||eh[69]!==N?(T=(0,r.jsx)(B,{label:k,children:N}),eh[68]=k,eh[69]=N,eh[70]=T):T=eh[70],eh[71]!==eb?(A=eb("stripeSizing"),eh[71]=eb,eh[72]=A):A=eh[72];let ek=ef.sizingMode;eh[73]!==eg?(P=e=>eg({sizingMode:e.target.value}),eh[73]=eg,eh[74]=P):P=eh[74],eh[75]!==eb?(E=eb("stripeSizingCount"),eh[75]=eb,eh[76]=E):E=eh[76],eh[77]!==E?(D=(0,r.jsx)("option",{value:"count",children:E}),eh[77]=E,eh[78]=D):D=eh[78],eh[79]!==eb?(M=eb("stripeSizingWidth"),eh[79]=eb,eh[80]=M):M=eh[80],eh[81]!==M?(z=(0,r.jsx)("option",{value:"width",children:M}),eh[81]=M,eh[82]=z):z=eh[82],eh[83]!==ef.sizingMode||eh[84]!==P||eh[85]!==D||eh[86]!==z?(F=(0,r.jsxs)("select",{value:ek,onChange:P,className:"w-28 rounded border border-white/10 bg-black/40 px-2 py-1 text-[10px] text-white outline-none",children:[D,z]}),eh[83]=ef.sizingMode,eh[84]=P,eh[85]=D,eh[86]=z,eh[87]=F):F=eh[87],eh[88]!==A||eh[89]!==F?(O=(0,r.jsx)(B,{label:A,children:F}),eh[88]=A,eh[89]=F,eh[90]=O):O=eh[90],eh[91]!==eb?(L=eb("stripeCount"),eh[91]=eb,eh[92]=L):L=eh[92];let eS="count"!==ef.sizingMode;eh[93]!==eg?(R=e=>eg({stripeCount:e}),eh[93]=eg,eh[94]=R):R=eh[94],eh[95]!==ef.stripeCount||eh[96]!==L||eh[97]!==eS||eh[98]!==R?(Z=(0,r.jsx)(U,{label:L,value:ef.stripeCount,min:2,max:40,step:1,disabled:eS,onChange:R}),eh[95]=ef.stripeCount,eh[96]=L,eh[97]=eS,eh[98]=R,eh[99]=Z):Z=eh[99],eh[100]!==eb?(G=eb("stripeWidth"),eh[100]=eb,eh[101]=G):G=eh[101];let ej="width"!==ef.sizingMode;
1eh[102]!==eg?(W=e=>eg({stripeWidth:e}),eh[102]=eg,eh[103]=W):W=eh[103],eh[104]!==ef.stripeWidth||eh[105]!==G||eh[106]!==ej||eh[107]!==W?(H=(0,r.jsx)(U,{label:G,value:ef.stripeWidth,min:2,max:20,step:.5,suffix:"m",disabled:ej,onChange:W}),eh[104]=ef.stripeWidth,eh[105]=G,eh[106]=ej,eh[107]=W,eh[108]=H):H=eh[108],eh[109]!==eb?(V=eb("stripeIntensity"),eh[109]=eb,eh[110]=V):V=eh[110];let e$=Number(ef.intensity);eh[111]!==e$?(q=e$.toFixed(2),eh[111]=e$,eh[112]=q):q=eh[112];let eI=` ${function(e){return`${Math.round(100*Number(e||0))}%`}(ef.intensity)}`;eh[113]!==eg?(K=e=>eg({intensity:e}),eh[113]=eg,eh[114]=K):K=eh[114],eh[115]!==V||eh[116]!==q||eh[117]!==eI||eh[118]!==K?(J=(0,r.jsx)(U,{label:V,value:q,min:0,max:1.4,step:.01,suffix:eI,onChange:K}),eh[115]=V,eh[116]=q,eh[117]=eI,eh[118]=K,eh[119]=J):J=eh[119],eh[120]!==eb?(X=eb("stripeNoise"),eh[120]=eb,eh[121]=X):X=eh[121];let eC=Number(ef.noiseAmount);return eh[122]!==eC?(Y=eC.toFixed(3),eh[122]=eC,eh[123]=Y):Y=eh[123],eh[124]!==eg?(Q=e=>eg({noiseAmount:e}),eh[124]=eg,eh[125]=Q):Q=eh[125],eh[126]!==X||eh[127]!==Y||eh[128]!==Q?(ee=(0,r.jsx)(U,{label:X,value:Y,min:0,max:.08,step:.001,onChange:Q}),eh[126]=X,eh[127]=Y,eh[128]=Q,eh[129]=ee):ee=eh[129],eh[130]!==eb?(et=eb("baseGrass"),eh[130]=eb,eh[131]=et):et=eh[131],eh[132]!==et?(en=["baseGrassColor",et],eh[132]=et,eh[133]=en):en=eh[133],eh[134]!==eb?(er=eb("lightGrass"),eh[134]=eb,eh[135]=er):er=eh[135],eh[136]!==er?(ei=["lightGrassColor",er],eh[136]=er,eh[137]=ei):ei=eh[137],eh[138]!==eb?(ea=eb("darkGrass"),eh[138]=eb,eh[139]=ea):ea=eh[139],eh[140]!==ea?(eo=["darkGrassColor",ea],eh[140]=ea,eh[141]=eo):eo=eh[141],eh[142]!==en||eh[143]!==ei||eh[144]!==eo?(es=[en,ei,eo],eh[142]=en,eh[143]=ei,eh[144]=eo,eh[145]=es):es=eh[145],eh[146]!==ef||eh[147]!==es||eh[148]!==eg?(el=(0,r.jsx)("div",{className:"grid grid-cols-3 gap-1.5",children:es.map(e=>{let[t,n]=e;return(0,r.jsxs)("label",{className:"rounded border border-white/5 bg-black/10 p-1 text-[9px] text-white/45",children:[(0,r.jsx)("span",{className:"mb-1 block truncate",children:n}),(0,r.jsx)("input",{type:"color",value:ef[t],onChange:e=>eg({[t]:e.target.value}),className:"h-7 w-full cursor-pointer rounded border border-white/10 bg-transparent p-0"})]},t)})}),eh[146]=ef,eh[147]=es,eh[148]=eg,eh[149]=el):el=eh[149],eh[150]!==_||eh[151]!==T||eh[152]!==O||eh[153]!==Z||eh[154]!==H||eh[155]!==J||eh[156]!==ee||eh[157]!==el?(ec=(0,r.jsxs)("div",{className:"flex flex-col gap-1.5",children:[_,T,O,Z,H,J,ee,el]}),eh[150]=_,eh[151]=T,eh[152]=O,eh[153]=Z,eh[154]=H,eh[155]=J,eh[156]=ee,eh[157]=el,eh[158]=ec):ec=eh[158],eh[159]!==m||eh[160]!==ec?(eu=(0,r.jsxs)("div",{className:"rounded border border-white/5 bg-white/5 p-2",children:[m,ec]}),eh[159]=m,eh[160]=ec,eh[161]=eu):eu=eh[161],eh[162]!==eb?(ed=eb("resetFieldAppearance"),eh[162]=eb,eh[163]=ed):ed=eh[163],eh[164]!==ex||eh[165]!==ed?(em=(0,r.jsx)("button",{type:"button",onClick:ex,className:"rounded border border-white/10 px-2 py-1.5 text-[10px] font-bold uppercase tracking-wider text-white/55 transition hover:bg-white/10 hover:text-white",children:ed}),eh[164]=ex,eh[165]=ed,eh[166]=em):em=eh[166],eh[167]!==eu||eh[168]!==em?(ep=(0,r.jsxs)("div",{className:"flex flex-col gap-2",children:[eu,em]}),eh[167]=eu,eh[168]=em,eh[169]=ep):ep=eh[169],ep}function G(e){let t,n,o,c,f,g,b,_,N,A,P,E,D,O,B,U,G,ea,eo,es,el,ec,eu,ed,em,ep,eh,ef,eg,ex,eb,ey,ev,ew,e_,ek,eS,ej,e$,eI,eC=(0,i.c)(129),{isOpen:eN,setIsOpen:eT,isPinned:eA,onPinToggle:eP,position:eE,onPositionChange:eD}=e,eM=void 0!==eA&&eA,ez=void 0===eP?null:eP;eC[0]!==eE?(t=void 0===eE?{x:100,y:100}:eE,eC[0]=eE,eC[1]=t):t=eC[1];let eF=t,eO=void 0===eD?null:eD,eL=(0,d.useTranslations)("FieldManager"),[eR,eB]=(0,a.useState)("layers");eC[2]===Symbol.for("react.memo_cache_sentinel")?(n={width:300,height:300},eC[2]=n):n=eC[2];let[eU,eZ]=(0,a.useState)(n);eC[3]===Symbol.for("react.memo_cache_sentinel")?(o={},eC[3]=o):o=eC[3];let[eG,eW]=(0,a.useState)(o);eC[4]===Symbol.for("react.memo_cache_sentinel")?(c=e=>{eW(t=>({...t,[e]:!t[e]}))},eC[4]=c):c=eC[4];let eH=c,{teamAPlayers:eV,teamASubs:eq,teamBPlayers:eK,teamBSubs:eJ,teamAInfo:eX,teamBInfo:eY,links:eQ,zones:e0,addPlayer:e1,toggleTeamVisibility:e2,toggleLinkVisibility:e5,toggleZoneVisibility:e4,removeLink:e3,removeZone:e6,toggleMarkingVisibility:e8,clearMarking:e9,toggleAllAssociationsVisibility:e7}=(0,s.usePlayerStore)(),{groups:te,setAnnotationGroup:tt,reorderAnnotations:tn,createGroup:tr,updateGroup:ti,deleteGroup:ta,removeAnnotation:to,updateAnnotation:ts,toggleAnnotationVisibility:tl,toggleGroupVisibility:tc,selectedGroupId:tu,setSelectedGroupId:td,selectedAnnotationIds:tm,toggleAnnotationSelection:tp}=(0,m.useAnnotationStore)(),th=(0,m.useAnnotationStore)(ei),tf=(0,p.useTrainingStore)(er),tg=(0,p.useTrainingStore)(en),{removeEquipment:tx,updateEquipment:tb,removeEquipmentGroup:ty,toggleEquipmentGroupVisibility:tv,toggleEquipmentGroupCollapse:tw,updateEquipmentGroup:t_,selectedEquipmentId:tk,setSelectedEquipmentId:tS,editEquipment:tj,editEquipmentGroup:t$}=(0,p.useTrainingStore)(),{grassStripes:tI,updateGrassStripes:tC,resetFieldAppearance:tN}=(0,h.useFieldAppearanceStore)();eC[5]===Symbol.for("react.memo_cache_sentinel")?(f={teamA:!1,teamB:!1,teamASubs:!1,teamBSubs:!1,associations:!1},eC[5]=f):f=eC[5];let[tT,tA]=(0,a.useState)(f),{toggleTeamMenu:tP,openTrainingMenu:tE}=(0,l.useUIStore)();eC[6]===Symbol.for("react.memo_cache_sentinel")?(g=e=>tA(t=>({...t,[e]:!t[e]})),eC[6]=g):g=eC[6];let tD=g;eC[7]!==eX?(b=e=>({...e.marking,playerId:e.id,team:"A",color:eX.color,number:e.number,playerName:e.name}),eC[7]=eX,eC[8]=b):b=eC[8],eC[9]!==eY?(_=e=>({...e.marking,playerId:e.id,team:"B",color:eY.color,number:e.number,playerName:e.name}),eC[9]=eY,eC[10]=_):_=eC[10];let tM=[...eV.filter(et).map(b),...eK.filter(ee).map(_)];
1eC[11]!==eX||eC[12]!==eV||eC[13]!==eq||eC[14]!==eY||eC[15]!==eK||eC[16]!==eJ?(N=e=>{let t=(0,u.findPlayer)({teamAPlayers:eV,teamASubs:eq,teamBPlayers:eK,teamBSubs:eJ},e);if(!t)return null;let n="A"===t.team?eX.color:eY.color;return{team:t.team,color:n,number:t.number,name:t.name}},eC[11]=eX,eC[12]=eV,eC[13]=eq,eC[14]=eY,eC[15]=eK,eC[16]=eJ,eC[17]=N):N=eC[17];let tz=N;eC[18]!==e1||eC[19]!==eL||eC[20]!==eX||eC[21]!==eV||eC[22]!==eq||eC[23]!==eY||eC[24]!==eK||eC[25]!==eJ?(A=(e,t)=>{let n=("A"===e?[...eV,...eq]:[...eK,...eJ]).map(Q),r=1;for(;n.includes(r);)r++;let i={name:eL("newPlayerName",{number:r}),number:r,position:["A"===e?-10:10,0,0],rotation:[0,0,0],role:"MID",shortRole:"M",positionGroup:"MID"};e1(e,i)},eC[18]=e1,eC[19]=eL,eC[20]=eX,eC[21]=eV,eC[22]=eq,eC[23]=eY,eC[24]=eK,eC[25]=eJ,eC[26]=A):A=eC[26];let tF=A;eC[27]===Symbol.for("react.memo_cache_sentinel")?(P={activationConstraint:{distance:5}},eC[27]=P):P=eC[27];let tO=(0,v.useSensors)((0,v.useSensor)(v.PointerSensor,P));eC[28]!==th||eC[29]!==te?(E=[],[...th.filter(Y)].reverse().forEach(e=>{E.push({id:e.id,type:"annotation",data:e,depth:0})}),[...te].reverse().forEach(e=>{E.push({id:e.id,type:"group",data:e}),e.isCollapsed||[...th.filter(t=>t.groupId===e.id)].reverse().forEach(e=>E.push({id:e.id,type:"annotation",data:e,depth:1}))}),eC[28]=th,eC[29]=te,eC[30]=E):E=eC[30];let tL=E;eC[31]!==th||eC[32]!==tL||eC[33]!==tn||eC[34]!==tt?(D=e=>{let{active:t,over:n}=e;if(!n)return;let r=t.id,i=n.id;if(r===i)return;let a=tL.find(e=>e.id===r),o=tL.find(e=>e.id===i);if(a&&o&&"annotation"===a.type){if("group"===o.type)tt(a.id,o.id);else if("annotation"===o.type){let e=th.find(e=>e.id===i);th.find(e=>e.id===r).groupId===e.groupId?tn(r,i):e.groupId?tt(a.id,e.groupId):(tt(a.id,null),tn(r,i))}}},eC[31]=th,eC[32]=tL,eC[33]=tn,eC[34]=tt,eC[35]=D):D=eC[35];let tR=D;if(!eN)return null;let tB=y.default;eC[36]!==eL?(O=eL("title"),eC[36]=eL,eC[37]=O):O=eC[37],eC[38]===Symbol.for("react.memo_cache_sentinel")?(B={width:300,height:300},eC[38]=B):B=eC[38],eC[39]!==eT?(U=()=>eT(!1),eC[39]=eT,eC[40]=U):U=eC[40],eC[41]===Symbol.for("react.memo_cache_sentinel")?(G=(0,r.jsxs)("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",children:[(0,r.jsx)("line",{x1:"18",y1:"6",x2:"6",y2:"18"}),(0,r.jsx)("line",{x1:"6",y1:"6",x2:"18",y2:"18"})]}),eC[41]=G):G=eC[41],eC[42]!==U?(ea=(0,r.jsx)("button",{onClick:U,className:"opacity-50 hover:opacity-100 transition",children:G}),eC[42]=U,eC[43]=ea):ea=eC[43],eC[44]===Symbol.for("react.memo_cache_sentinel")?(eo=()=>eB("layers"),eC[44]=eo):eo=eC[44];let tU=`flex-1 py-2 text-[10px] font-bold uppercase tracking-wider transition ${"layers"===eR?"bg-white/10 text-white":"text-white/40 hover:text-white/70"}`;eC[45]!==eL?(es=eL("tabAnalysis"),eC[45]=eL,eC[46]=es):es=eC[46],eC[47]!==tU||eC[48]!==es?(el=(0,r.jsx)("button",{onClick:eo,className:tU,children:es}),eC[47]=tU,eC[48]=es,eC[49]=el):el=eC[49],eC[50]===Symbol.for("react.memo_cache_sentinel")?(ec=()=>eB("objects"),eC[50]=ec):ec=eC[50];let tZ=`flex-1 py-2 text-[10px] font-bold uppercase tracking-wider transition ${"objects"===eR?"bg-white/10 text-white":"text-white/40 hover:text-white/70"}`;eC[51]!==eL?(eu=eL("tabObjects"),eC[51]=eL,eC[52]=eu):eu=eC[52],eC[53]!==tZ||eC[54]!==eu?(ed=(0,r.jsx)("button",{onClick:ec,className:tZ,children:eu}),eC[53]=tZ,eC[54]=eu,eC[55]=ed):ed=eC[55],eC[56]===Symbol.for("react.memo_cache_sentinel")?(em=()=>eB("training"),eC[56]=em):em=eC[56];let tG=`flex-1 py-2 text-[10px] font-bold uppercase tracking-wider transition ${"training"===eR?"bg-white/10 text-white":"text-white/40 hover:text-white/70"}`;eC[57]!==eL?(ep=eL("tabTraining"),eC[57]=eL,eC[58]=ep):ep=eC[58],eC[59]!==tG||eC[60]!==ep?(eh=(0,r.jsx)("button",{onClick:em,className:tG,children:ep}),eC[59]=tG,eC[60]=ep,eC[61]=eh):eh=eC[61],eC[62]===Symbol.for("react.memo_cache_sentinel")?(ef=()=>eB("field"),eC[62]=ef):ef=eC[62];let tW=`flex-1 py-2 text-[10px] font-bold uppercase tracking-wider transition ${"field"===eR?"bg-white/10 text-white":"text-white/40 hover:text-white/70"}`;eC[63]!==eL?(eg=eL("tabField"),eC[63]=eL,eC[64]=eg):eg=eC[64],eC[65]!==tW||eC[66]!==eg?(ex=(0,r.jsx)("button",{onClick:ef,className:tW,children:eg}),eC[65]=tW,eC[66]=eg,eC[67]=ex):ex=eC[67],eC[68]!==el||eC[69]!==ed||eC[70]!==eh||eC[71]!==ex?(eb=(0,r.jsxs)("div",{className:"flex bg-black/20 border-b border-white/10 shrink-0",children:[el,ed,eh,ex]}),eC[68]=el,eC[69]=ed,eC[70]=eh,eC[71]=ex,eC[72]=eb):eb=eC[72];let tH="objects"===eR&&(eS=eV.some(X),ej=eK.some(J),e$=eq.some(K),eI=eJ.some(q),(0,r.jsxs)("div",{className:"flex flex-col gap-1",children:[(0,r.jsxs)("div",{className:"bg-white/5 rounded border border-white/5 overflow-hidden",children:[(0,r.jsxs)("div",{className:"flex items-center justify-between px-2 py-1.5 bg-black/20 cursor-pointer hover:bg-white/10 transition",onClick:()=>tD("teamA"),children:[(0,r.jsxs)("div",{className:"flex items-center gap-2",children:[(0,r.jsx)("span",{className:"opacity-50 text-[9px]",children:tT.teamA?(0,r.jsx)(I,{}):(0,r.jsx)(C,{})}),(0,r.jsx)("span",{style:{color:eX.color},className:"font-bold text-[10px] uppercase",children:eX.name})]}),(0,r.jsxs)("div",{className:"flex items-center gap-1",children:[(0,r.jsx)("button",{onClick:e=>{e.stopPropagation();let t=eV[0],n=s.usePlayerStore.getState().activePlayerForMenu;t&&(!n||"A"!==n.team)&&s.usePlayerStore.getState().toggleActivePlayerForMenu("A",t.id),tP()},className:"p-1 hover:bg-white/10 rounded text-white/50 hover:text-white",title:eL("editTeam"),children:(0,r.jsx)(T,{})}),(0,r.jsx)("button",{onClick:e=>{e.stopPropagation(),e2("A")},className:`p-1 hover:bg-white/10 rounded transition ${eS?"text-white/70 hover:text-white":"text-white/20 hover:text-white/40"}`,title:eL("toggleTeamVisibility"),children:eS?(0,r.jsx)(k,{}):(0,r.jsx)(S,{})}),(0,r.jsx)("button",{onClick:e=>{e.stopPropagation(),tF("A")},className:"p-1 hover:bg-white/10 rounded text-green-400 hover:text-green-300",title:eL("addPlayer"),children:(0,r.jsx)($,{})})]})]}),tT.teamA&&(0,r.jsxs)("div",{className:"flex flex-col p-1 gap-0.5",children:[(0,r.jsx)(R,{team:"A",players:eV}),eV.map(e=>(0,r.jsx)(L,{player:e,team:"A",isExpanded:!!eG[e.id],onToggleExpand:()=>eH(e.id)},e.id))]}),eq.length>0&&(0,r.jsxs)("div",{className:"flex flex-col border-t border-white/5",children:[(0,r.jsxs)("div",{className:"flex items-center justify-between px-2 py-1.5 cursor-pointer hover:bg-white/5 transition border-b border-white/5",onClick:()=>tD("teamASubs"),children:[(0,r.jsxs)("div",{className:"flex items-center gap-2",children:[(0,r.jsx)("span",{className:"opacity-50 text-[8px]",children:tT.teamASubs?(0,r.jsx)(I,{}):(0,r.jsx)(C,{})}),(0,r.jsx)("span",{className:"text-[10px] uppercase tracking-widest font-bold",children:eL("teamASubs")})]}),(0,r.jsx)("div",{className:"flex items-center gap-1",children:(0,r.jsx)("button",{onClick:e=>{e.stopPropagation(),e2("ASubs")},className:`p-1 hover:bg-white/10 rounded transition ${e$?"text-white/70 hover:text-white":"text-white/20 hover:text-white/40"}`,title:eL("toggleSubsVisibility"),children:e$?(0,r.jsx)(k,{}):(0,r.jsx)(S,{})})})]}),tT.teamASubs&&(0,r.jsxs)("div",{className:"flex flex-col p-1 gap-0.5",children:[(0,r.jsx)(R,{team:"ASubs",players:eq}),eq.map(e=>(0,r.jsx)(L,{player:e,team:"A",isExpanded:!!eG[e.id],onToggleExpand:()=>eH(e.id)},e.id))]})]})]}),(0,r.jsxs)("div",{className:"bg-white/5 rounded border border-white/5 overflow-hidden",children:[(0,r.jsxs)("div",{className:"flex items-center justify-between px-2 py-1.5 bg-black/20 cursor-pointer hover:bg-white/10 transition",onClick:()=>tD("teamB"),children:[(0,r.jsxs)("div",{className:"flex items-center gap-2",children:[(0,r.jsx)("span",{className:"opacity-50 text-[9px]",children:tT.teamB?(0,r.jsx)(I,{}):(0,r.jsx)(C,{})}),(0,r.jsx)("span",{style:{color:eY.color},className:"font-bold text-[10px] uppercase",children:eY.name})]}),(0,r.jsxs)("div",{className:"flex items-center gap-1",children:[(0,r.jsx)("button",{onClick:e=>{e.stopPropagation();let t=eK[0],n=s.usePlayerStore.getState().activePlayerForMenu;t&&(!n||"B"!==n.team)&&s.usePlayerStore.getState().toggleActivePlayerForMenu("B",t.id),tP()},className:"p-1 hover:bg-white/10 rounded text-white/50 hover:text-white",title:eL("editTeam"),children:(0,r.jsx)(T,{})}),(0,r.jsx)("button",{onClick:e=>{e.stopPropagation(),e2("B")},className:`p-1 hover:bg-white/10 rounded transition ${ej?"text-white/70 hover:text-white":"text-white/20 hover:text-white/40"}`,title:eL("toggleTeamVisibility"),children:ej?(0,r.jsx)(k,{}):(0,r.jsx)(S,{})}),(0,r.jsx)("button",{onClick:e=>{e.stopPropagation(),tF("B")},className:"p-1 hover:bg-white/10 rounded text-green-400 hover:text-green-300",title:eL("addPlayer"),children:(0,r.jsx)($,{})})]})]}),tT.teamB&&(0,r.jsxs)("div",{className:"flex flex-col p-1 gap-0.5",children:[(0,r.jsx)(R,{team:"B",players:eK}),eK.map(e=>(0,r.jsx)(L,{player:e,team:"B",isExpanded:!!eG[e.id],onToggleExpand:()=>eH(e.id)},e.id))]}),eJ.length>0&&(0,r.jsxs)("div",{className:"flex flex-col border-t border-white/5",children:[(0,r.jsxs)("div",{className:"flex items-center justify-between px-2 py-1.5 cursor-pointer hover:bg-white/5 transition border-b border-white/5",onClick:()=>tD("teamBSubs"),children:[(0,r.jsxs)("div",{className:"flex items-center gap-2",children:[(0,r.jsx)("span",{className:"opacity-50 text-[8px]",children:tT.teamBSubs?(0,r.jsx)(I,{}):(0,r.jsx)(C,{})}),(0,r.jsx)("span",{className:"text-[10px] uppercase tracking-widest font-bold",children:eL("teamBSubs")})]}),(0,r.jsx)("div",{className:"flex items-center gap-1",children:(0,r.jsx)("button",{onClick:e=>{e.stopPropagation(),e2("BSubs")},className:`p-1 hover:bg-white/10 rounded transition ${eI?"text-white/70 hover:text-white":"text-white/20 hover:text-white/40"}`,title:eL("toggleSubsVisibility"),children:eI?(0,r.jsx)(k,{}):(0,r.jsx)(S,{})})})]}),tT.teamBSubs&&(0,r.jsxs)("div",{className:"flex flex-col p-1 gap-0.5",children:[(0,r.jsx)(R,{team:"BSubs",players:eJ}),eJ.map(e=>(0,r.jsx)(L,{player:e,team:"B",isExpanded:!!eG[e.id],onToggleExpand:()=>eH(e.id)},e.id))]})]})]}),(eQ.length>0||e0.length>0||tM.length>0)&&(0,r.jsxs)("div",{className:"bg-white/5 rounded border border-white/5 overflow-hidden",children:[(0,r.jsxs)("div",{className:"flex items-center justify-between px-2 py-1.5 bg-black/20 cursor-pointer hover:bg-white/10 transition",onClick:()=>tD("associations"),children:[(0,r.jsxs)("div",{className:"flex items-center gap-2",children:[(0,r.jsx)("span",{className:"opacity-50 text-[9px]",children:tT.associations?(0,r.jsx)(I,{}):(0,r.jsx)(C,{})}),(0,r.jsx)("span",{className:"font-bold text-[10px] uppercase text-yellow-400",children:eL("associations")})]}),(0,r.jsx)("div",{className:"flex items-center gap-1",children:(0,r.jsx)("button",{onClick:e=>{e.stopPropagation(),e7()},className:"p-1 hover:bg-white/10 rounded text-white/70 hover:text-white",title:eL("toggleAllAssociations"),children:(0,r.jsx)(k,{})})})]}),tT.associations&&(0,r.jsxs)("div",{className:"flex flex-col p-1 gap-0.5",children:[eQ.map((e,t)=>(0,r.jsxs)("div",{className:"flex items-center justify-between px-2 py-1 rounded hover:bg-white/5 text-[10px] transition group",children:[(0,r.jsxs)("div",{className:"flex flex-col gap-1 w-full overflow-hidden",children:[(0,r.jsx)("span",{className:"text-white/50 text-[9px] uppercase tracking-wider font-bold shrink-0",children:eL("link")}),(0,r.jsx)("div",{className:"flex items-center gap-1 flex-wrap",children:e.playerIds.map(e=>{let t=tz(e);return t?(0,r.jsx)(z,{team:t.team,color:t.color,number:t.number,name:t.name},e):null})})]}),(0,r.jsxs)("div",{className:"flex items-center gap-1 opacity-50 group-hover:opacity-100 transition shrink-0 pl-1",children:[(0,r.jsx)("button",{onClick:()=>{let{editingLinkId:t,isLinkMenuOpen:n,openLinkMenu:r,closeLinkMenu:i}=l.useUIStore.getState();t===e.id&&n?i():r({id:e.id})},className:"p-0.5 hover:text-white",title:eL("editLink"),children:(0,r.jsx)(T,{})}),(0,r.jsx)("button",{onClick:()=>e5(e.id),className:"p-0.5 hover:text-white",children:!1!==e.visible?(0,r.jsx)(k,{}):(0,r.jsx)(S,{})}),(0,r.jsx)("button",{onClick:()=>e3(e.id),className:"p-0.5 hover:text-red-400",children:(0,r.jsx)(j,{})})]})]},e.id)),e0.map((e,t)=>(0,r.jsxs)("div",{className:"flex items-center justify-between px-2 py-1 rounded hover:bg-white/5 text-[10px] transition group",children:[(0,r.jsxs)("div",{className:"flex flex-col gap-1 w-full overflow-hidden",children:[(0,r.jsx)("span",{className:"text-white/50 text-[9px] uppercase tracking-wider font-bold shrink-0",children:eL("zone")}),(0,r.jsx)("div",{className:"flex items-center gap-1 flex-wrap",children:e.playerIds.map(e=>{let t=tz(e);return t?(0,r.jsx)(z,{team:t.team,color:t.color,number:t.number,name:t.name},e):null})})]}),(0,r.jsxs)("div",{className:"flex items-center gap-1 opacity-50 group-hover:opacity-100 transition shrink-0 pl-1",children:[(0,r.jsx)("button",{onClick:()=>{let{editingZoneId:t,isZoneMenuOpen:n,openZoneMenu:r,closeZoneMenu:i}=l.useUIStore.getState();t===e.id&&n?i():r({id:e.id})},className:"p-0.5 hover:text-white",title:eL("editZone"),children:(0,r.jsx)(T,{})}),(0,r.jsx)("button",{onClick:()=>e4(e.id),className:"p-0.5 hover:text-white",children:!1!==e.visible?(0,r.jsx)(k,{}):(0,r.jsx)(S,{})}),(0,r.jsx)("button",{onClick:()=>e6(e.id),className:"p-0.5 hover:text-red-400",children:(0,r.jsx)(j,{})})]})]},e.id)),tM.map((e,t)=>{let n;return(0,r.jsxs)("div",{className:"flex items-center justify-between px-2 py-1 rounded hover:bg-white/5 text-[10px] transition group",children:[(0,r.jsxs)("div",{className:"flex flex-col gap-1 w-full overflow-hidden",children:[(0,r.jsx)("span",{className:"text-white/50 text-[9px] uppercase tracking-wider font-bold shrink-0",children:"man"===e.type?eL("marking"):eL("zonalMarking")}),(0,r.jsxs)("div",{className:"flex items-center gap-1 flex-wrap",children:[(0,r.jsx)(z,{team:e.team,color:e.color,number:e.number,name:e.playerName}),"man"===e.type&&e.targetId&&((n=tz(e.targetId))?(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)("span",{className:"text-white/30 text-[8px]",children:"→"}),(0,r.jsx)(z,{team:n.team,color:n.color,number:n.number,name:n.name})]}):null)]})]}),(0,r.jsxs)("div",{className:"flex items-center gap-1 opacity-50 group-hover:opacity-100 transition shrink-0 pl-1",children:[(0,r.jsx)("button",{onClick:()=>
1{if("man"===e.type&&e.targetId){let t=tz(e.playerId),n=tz(e.targetId);if(t&&n){let{isMarkingMenuOpen:t,originalMarking:r,openMarkingMenu:i,closeMarkingMenu:a}=l.useUIStore.getState();t&&r?.markerId===e.playerId&&r?.targetId===e.targetId?a():i({roles:{marker:{id:e.playerId,team:e.team,name:e.playerName},target:{id:e.targetId,team:n.team,name:n.name}},distance:e.distance,originalMarking:{markerId:e.playerId,targetId:e.targetId,markerTeam:e.team}})}}else if("zonal"===e.type){let{isZonalMarkingMenuOpen:t,editingZonalMarkerId:n,openZonalMarkingMenu:r,closeZonalMarkingMenu:i}=l.useUIStore.getState();t&&n===e.playerId?i():r({config:{dims:e.zoneDims,anchors:e.zoneAnchors.map(e=>{let t=tz(e);return t?{id:e,name:t.name,team:t.team}:null}).filter(Boolean),distance:e.distance,anchorType:e.anchorType||"custom"},isEditing:!0,markerId:e.playerId})}},className:"p-0.5 hover:text-white",title:eL("editMarking"),children:(0,r.jsx)(T,{})}),(0,r.jsx)("button",{onClick:()=>e8(e.team,e.playerId),className:"p-0.5 hover:text-white",children:!1!==e.visible?(0,r.jsx)(k,{}):(0,r.jsx)(S,{})}),(0,r.jsx)("button",{onClick:()=>e9(e.team,e.playerId),className:"p-0.5 hover:text-red-400",children:(0,r.jsx)(j,{})})]})]},`${e.team} -${e.playerId} `)})]})]})]}));if(eC[73]!==eR||eC[74]!==tj||eC[75]!==t$||eC[76]!==tf||eC[77]!==tg||eC[78]!==tE||eC[79]!==tx||eC[80]!==ty||eC[81]!==tk||eC[82]!==tS||eC[83]!==eL||eC[84]!==tw||eC[85]!==tv||eC[86]!==tb||eC[87]!==t_){let e,t;ey="training"===eR&&(e=tg.map(e=>({...e,items:tf.filter(t=>t.groupId===e.id)})),t=tf.filter(V),(0,r.jsxs)("div",{className:"flex flex-col gap-1",children:[0===e.length&&0===t.length&&(0,r.jsx)("div",{className:"text-center py-8 text-[9px] text-white/30 italic",children:eL("noTrainingEquipment")}),e.map(e=>(0,r.jsxs)("div",{className:"bg-white/5 rounded border border-white/5 overflow-hidden",children:[(0,r.jsxs)("div",{className:"flex items-center justify-between px-2 py-1.5 bg-black/20 cursor-pointer hover:bg-white/10 transition",onClick:()=>tw(e.id),children:[(0,r.jsxs)("div",{className:"flex items-center gap-2 overflow-hidden",children:[(0,r.jsx)("span",{className:"opacity-50 text-[9px] shrink-0",children:e.isCollapsed?(0,r.jsx)(C,{}):(0,r.jsx)(I,{})}),(0,r.jsx)(M,{}),(0,r.jsx)("input",{type:"text",value:e.name||eL("untitledGroup"),onChange:t=>t_(e.id,{name:t.target.value}),className:"bg-transparent text-white text-[10px] outline-none w-full truncate focus:text-blue-200",onClick:H})]}),(0,r.jsxs)("div",{className:"flex items-center gap-1 shrink-0 ml-1",children:[(0,r.jsx)("span",{className:"text-[8px] text-white/30",children:e.items.length}),(0,r.jsx)("button",{onClick:t=>{t.stopPropagation(),t$(e.id),tE()},className:"p-0.5 text-white/50 transition hover:text-white",title:"Edit training equipment group",children:(0,r.jsx)(T,{})}),(0,r.jsx)("button",{onClick:t=>{t.stopPropagation(),tv(e.id)},className:`p-0.5 transition ${!1!==e.visible?"text-white/70 hover:text-white":"text-white/30 hover:text-white/50"}`,children:!1!==e.visible?(0,r.jsx)(k,{}):(0,r.jsx)(S,{})}),(0,r.jsx)("button",{onClick:t=>{t.stopPropagation(),ty(e.id)},className:"opacity-50 hover:opacity-100 p-0.5 hover:text-red-400 text-white transition",title:eL("deleteGroup"),children:(0,r.jsx)(j,{})})]})]}),!e.isCollapsed&&e.items.length>0&&(0,r.jsx)("div",{className:"flex flex-col p-1 gap-0.5",children:e.items.map(e=>(0,r.jsxs)("div",{className:`group flex items-center justify-between px-2 py-1 rounded text-[10px] transition cursor-pointer ml-3 ${tk===e.id?"bg-blue-600/20 border border-blue-500/30":"hover:bg-white/5 border border-transparent"}`,onClick:()=>tS(e.id),children:[(0,r.jsxs)("div",{className:"flex items-center gap-2 overflow-hidden",children:[(0,r.jsx)("div",{className:"w-2 h-2 rounded-full shrink-0",style:{backgroundColor:e.color||"#ff8800"}}),(0,r.jsx)("span",{className:"truncate",children:x[e.type]||e.type})]}),(0,r.jsxs)("div",{className:"flex items-center gap-1 shrink-0 ml-1 opacity-60 transition group-hover:opacity-100",children:[(0,r.jsx)("button",{onClick:t=>{t.stopPropagation(),tj(e.id),tE()},className:"p-0.5 text-white/50 hover:text-white",title:"Edit training equipment",children:(0,r.jsx)(T,{})}),(0,r.jsx)("button",{onClick:t=>{t.stopPropagation(),tb(e.id,{visible:!1===e.visible})},className:`p-0.5 ${!1!==e.visible?"text-white/70":"text-white/30"}`,children:!1!==e.visible?(0,r.jsx)(k,{}):(0,r.jsx)(S,{})}),(0,r.jsx)("button",{onClick:t=>{t.stopPropagation(),tx(e.id)},className:"p-0.5 hover:text-red-400 text-white/50",children:(0,r.jsx)(j,{})})]})]},e.id))})]},e.id)),t.length>0&&(0,r.jsxs)("div",{className:"bg-white/5 rounded border border-white/5 overflow-hidden",children:[(0,r.jsx)("div",{className:"px-2 py-1.5 bg-black/20 text-[10px] font-bold uppercase tracking-wider text-white/40",children:eL("ungrouped")}),(0,r.jsx)("div",{className:"flex flex-col p-1 gap-0.5",children:t.map(e=>(0,r.jsxs)("div",{className:`group flex items-center justify-between px-2 py-1 rounded text-[10px] transition cursor-pointer ${tk===e.id?"bg-blue-600/20 border border-blue-500/30":"hover:bg-white/5 border border-transparent"}`,onClick:()=>tS(e.id),children:[(0,r.jsxs)("div",{className:"flex items-center gap-2 overflow-hidden",children:[(0,r.jsx)("div",{className:"w-2 h-2 rounded-full shrink-0",style:{backgroundColor:e.color||"#ff8800"}}),(0,r.jsx)("span",{className:"truncate",children:x[e.type]||e.type})]}),(0,r.jsxs)("div",{className:"flex items-center gap-1 shrink-0 ml-1 opacity-60 transition group-hover:opacity-100",children:[(0,r.jsx)("button",{onClick:t=>{t.stopPropagation(),tj(e.id),tE()},className:"p-0.5 text-white/50 hover:text-white",title:"Edit training equipment",children:(0,r.jsx)(T,{})}),(0,r.jsx)("button",{onClick:t=>{t.stopPropagation(),tb(e.id,{visible:!1===e.visible})},className:`p-0.5 ${!1!==e.visible?"text-white/70":"text-white/30"}`,children:!1!==e.visible?(0,r.jsx)(k,{}):(0,r.jsx)(S,{})}),(0,r.jsx)("button",{onClick:t=>{t.stopPropagation(),tx(e.id)},className:"p-0.5 hover:text-red-400 text-white/50",children:(0,r.jsx)(j,{})})]})]},e.id))})]})]})),eC[73]=eR,eC[74]=tj,eC[75]=t$,eC[76]=tf,eC[77]=tg,eC[78]=tE,eC[79]=tx,eC[80]=ty,eC[81]=tk,eC[82]=tS,eC[83]=eL,eC[84]=tw,eC[85]=tv,eC[86]=tb,eC[87]=t_,eC[88]=ey}else ey=eC[88];return eC[89]!==eR||eC[90]!==tI||eC[91]!==tN||eC[92]!==tC?(ev="field"===eR&&(0,r.jsx)(Z,{grassStripes:tI,updateGrassStripes:tC,resetFieldAppearance:tN}),eC[89]=eR,eC[90]=tI,eC[91]=tN,eC[92]=tC,eC[93]=ev):ev=eC[93],eC[94]!==eR||eC[95]!==tr||eC[96]!==ta||e
1C[97]!==te||eC[98]!==tR||eC[99]!==tL||eC[100]!==to||eC[101]!==tm||eC[102]!==tu||eC[103]!==tO||eC[104]!==td||eC[105]!==eL||eC[106]!==tp||eC[107]!==tl||eC[108]!==tc||eC[109]!==ts||eC[110]!==ti?(ew="layers"===eR&&(0,r.jsxs)("div",{className:"flex flex-col gap-1",children:[(0,r.jsx)("div",{className:"flex justify-end p-1",children:(0,r.jsxs)("button",{onClick:()=>tr(),className:"flex items-center gap-1 text-[9px] px-2 py-1 bg-white/5 hover:bg-white/10 rounded transition text-green-400",children:[(0,r.jsx)($,{})," ",eL("newGroup")]})}),(0,r.jsx)(v.DndContext,{sensors:tO,collisionDetection:v.closestCenter,onDragEnd:tR,children:(0,r.jsxs)(w.SortableContext,{items:tL.map(W),strategy:w.verticalListSortingStrategy,children:[0===tL.length&&(0,r.jsx)("div",{className:"text-center py-8 text-[9px] text-white/30 italic",children:eL("noAnnotations")}),tL.map(e=>(0,r.jsx)(F,{id:e.id,item:e.data,type:e.type,depth:e.depth||0,isCollapsed:"group"===e.type&&e.data.isCollapsed,isSelected:"group"===e.type?tu===e.id:tm.includes(e.id),onClick:()=>{"group"===e.type?td(e.id):tp(e.id)},onToggle:e=>{let t=te.find(t=>t.id===e);t&&ti(e,{isCollapsed:!t.isCollapsed})},onVisibilityToggle:t=>{"group"===e.type?tc(t):tl(t)}
1,onRename:(t,n)=>{"group"===e.type?ti(t,{name:n}):ts(t,{name:n})},onDelete:t=>{"group"===e.type?ta(t):to(t)}},e.id))]})})]}),eC[94]=eR,eC[95]=tr,eC[96]=ta,eC[97]=te,eC[98]=tR,eC[99]=tL,eC[100]=to,eC[101]=tm,eC[102]=tu,eC[103]=tO,eC[104]=td,eC[105]=eL,eC[106]=tp,eC[107]=tl,eC[108]=tc,eC[109]=ts,eC[110]=ti,eC[111]=ew):ew=eC[111],eC[112]!==tH||eC[113]!==ey||eC[114]!==ev||eC[115]!==ew?(e_=(0,r.jsxs)("div",{className:"flex-1 overflow-y-auto custom-scrollbar p-1",children:[tH,ey,ev,ew]}),eC[112]=tH,eC[113]=ey,eC[114]=ev,eC[115]=ew,eC[116]=e_):e_=eC[116],eC[117]!==tB||eC[118]!==eM||eC[119]!==eU||eC[120]!==ez||eC[121]!==eO||eC[122]!==eF||eC[123]!==O||eC[124]!==B||eC[125]!==ea||eC[126]!==eb||eC[127]!==e_?(ek=(0,r.jsxs)(tB,{title:O,initialOffset:eF,onPositionChange:eO,isPinned:eM,onPinToggle:ez,initialSize:eU,onSizeChange:eZ,minSize:B,resizable:!0,headerEnd:ea,children:[eb,e_]}),eC[117]=tB,eC[118]=eM,eC[119]=eU,eC[120]=ez,eC[121]=eO,eC[122]=eF,eC[123]=O,eC[124]=B,eC[125]=ea,eC[126]=eb,eC[127]=e_,eC[128]=ek):ek=eC[128],ek}function W(e){return e.id}function H(e){return e.stopPropagation()}function V(e){return!e.groupId}function q(e){return!1!==e.visible}function K(e){return!1!==e.visible}function J(e){return!1!==e.visible}function X(e){return!1!==e.visible}function Y(e){return!e.groupId}function Q(e){return e.number}function ee(e){return e.marking?.active}function et(e){return e.marking?.active}function en(e){return e.equipmentGroups}function er(e){return e.equipment}function ei(e){return e.annotations}function ea(e){return!1!==e.playerModelEnabled}function eo(e){return!1!==e.playerModelEnabled}function es(e){let t,n,o,c,m,p,h,f,g,x,b,v,w,_,k,S,j,$,I,C,N,T,A,P,E,D,M,z,F,O,L,R,B,U,Z,G,W,H,V,q,K,J,X,Y,Q,ee,et,en,er,ei,ea,eo,es,eN,eT,eA,eP,eE,eD,eM=(0,i.c)(173),{isPinned:ez,onPinToggle:eF,position:eO,onPositionChange:eL}=e,eR=void 0!==ez&&ez,eB=void 0===eF?null:eF;eM[0]!==eO?(t=void 0===eO?{x:80,y:100}:eO,eM[0]=eO,eM[1]=t):t=eM[1];let eU=t,eZ=void 0===eL?null:eL,eG=(0,d.useTranslations)("AssociationMenu"),eW=(0,l.useUIStore)(eC),eH=(0,s.usePlayerStore)(eI),eV=(0,s.usePlayerStore)(e$),eq=(0,s.usePlayerStore)(ej),eK=(0,s.usePlayerStore)(eS),eJ=(0,s.usePlayerStore)(ek);(0,s.usePlayerStore)(e_);let eX=(0,s.usePlayerStore)(ew),eY=(0,s.usePlayerStore)(ev),eQ=(0,s.usePlayerStore)(ey),e0=(0,l.useUIStore)(eb),e1=(0,l.useUIStore)(ex),e2=(0,l.useUIStore)(eg),e5=(0,l.useUIStore)(ef),e4=(0,s.usePlayerStore)(eh),e3=(0,s.usePlayerStore)(ep),e6=(0,s.usePlayerStore)(em),[e8,e9]=a.default.useState(""),[e7,te]=a.default.useState("ALL"),[tt,tn]=a.default.useState("ALL"),[tr,ti]=a.default.useState(!1);eM[2]===Symbol.for("react.memo_cache_sentinel")?(n=()=>{ti(!0)},o=[],eM[2]=n,eM[3]=o):(n=eM[2],o=eM[3]),a.default.useEffect(n,o),eM[4]!==eV||eM[5]!==eK||eM[6]!==eq||eM[7]!==eJ?(c=(e,t)=>(0,u.findPlayer)({teamAPlayers:eV,teamASubs:eK,teamBPlayers:eq,teamBSubs:eJ},t,e),eM[4]=eV,eM[5]=eK,eM[6]=eq,eM[7]=eJ,eM[8]=c):c=eM[8];let ta=c;eM[9]!==eV||eM[10]!==eK||eM[11]!==eq||eM[12]!==eJ?(m=[...eV.map(ed),...eK.map(eu),...eq.map(ec),...eJ.map(el)],eM[9]=eV,eM[10]=eK,eM[11]=eq,eM[12]=eJ,eM[13]=m):m=eM[13];let to=m;eM[14]!==to||eM[15]!==tt||eM[16]!==e7||eM[17]!==e8||eM[18]!==eH?(p=to.filter(e=>{let t=e8.toLowerCase();return!(!(e.name.toLowerCase().includes(t)||e.number.toString().includes(t))||"ALL"!==e7&&e.team!==e7||"ALL"!==tt&&e.positionGroup!==tt||eH.some(t=>t.team===e.team&&t.id===e.id))}),eM[14]=to,eM[15]=tt,eM[16]=e7,eM[17]=e8,eM[18]=eH,eM[19]=p):p=eM[19];let ts=p;eM[20]!==e0||eM[21]!==eH.length?(h=()=>{eH.length<2||e0({isCreating:!0})},eM[20]=e0,eM[21]=eH.length,eM[22]=h):h=eM[22];let tl=h;eM[23]!==e1||eM[24]!==eH.length?(f=()=>{eH.length<3||e1({isCreating:!0})},eM[23]=e1,eM[24]=eH.length,eM[25]=f):f=eM[25];let tc=f;eM[26]!==e2||eM[27]!==eH[0]||eM[28]!==eH[1]||eM[29]!==eH.length||eM[30]!==eV||eM[31]!==eK||eM[32]!==eq||eM[33]!==eJ?(g=()=>{if(2!==eH.length)return;let e=eH[0],t=eH[1];e2({roles:{marker:(0,u.findPlayer)({teamAPlayers:eV,teamASubs:eK,teamBPlayers:eq,teamBSubs:eJ},e.id,e.team)||e,target:(0,u.findPlayer)({teamAPlayers:eV,teamASubs:eK,teamBPlayers:eq,teamBSubs:eJ},t.id,t.team)||t},distance:2})},eM[26]=e2,eM[27]=eH[0],eM[28]=eH[1],eM[29]=eH.length,eM[30]=eV,eM[31]=eK,eM[32]=eq,eM[33]=eJ,eM[34]=g):g=eM[34];let tu=g;eM[35]!==ta||eM[36]!==e5||eM[37]!==eH[0]||eM[38]!==eH.length?(x=()=>
1{if(1!==eH.length)return;let e=ta(eH[0].team,eH[0].id);e&&e5({config:{markerId:e.id,markerTeam:e.team,dims:{width:10,height:10},anchors:[],distance:2,anchorType:"custom"},isEditing:!1,markerId:null})},eM[35]=ta,eM[36]=e5,eM[37]=eH[0],eM[38]=eH.length,eM[39]=x):x=eM[39];let td=x;if(!tr||!eW)return null;eM[40]!==eG?(b=eG("title"),eM[40]=eG,eM[41]=b):b=eM[41],eM[42]===Symbol.for("react.memo_cache_sentinel")?(v={width:180,height:250},w={width:180,height:250},eM[42]=v,eM[43]=w):(v=eM[42],w=eM[43]),eM[44]===Symbol.for("react.memo_cache_sentinel")?(_=()=>(function(e){return e?l.useUIStore.getState().openAssociationMenu():l.useUIStore.getState().closeAssociationMenu()})(!1),eM[44]=_):_=eM[44],eM[45]!==eG?(k=eG("close"),eM[45]=eG,eM[46]=k):k=eM[46],eM[47]!==eG?(S=eG("close"),eM[47]=eG,eM[48]=S):S=eM[48],eM[49]===Symbol.for("react.memo_cache_sentinel")?(j=(0,r.jsxs)("svg",{xmlns:"http://www.w3.org/2000/svg",width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,r.jsx)("line",{x1:"18",y1:"6",x2:"6",y2:"18"}),(0,r.jsx)("line",{x1:"6",y1:"6",x2:"18",y2:"18"})]}),eM[49]=j):j=eM[49],eM[50]!==k||eM[51]!==S?($=(0,r.jsx)("button",{onClick:_,className:"opacity-50 hover:opacity-100 transition",title:k,"aria-label":S,children:j}),eM[50]=k,eM[51]=S,eM[52]=$):$=eM[52],eM[53]!==eG?(I=eG("searchPlaceholder"),eM[53]=eG,eM[54]=I):I=eM[54],eM[55]===Symbol.for("react.memo_cache_sentinel")?(C=e=>e9(e.target.value),eM[55]=C):C=eM[55],eM[56]!==e8||eM[57]!==I?(N=(0,r.jsx)("div",{className:"px-2 pt-2",children:(0,r.jsx)("input",{type:"text",placeholder:I,value:e8,onChange:C,className:"w-full bg-black/20 rounded px-2 py-1 text-[10px] border border-white/10 focus:border-blue-400 outline-none placeholder:text-white/30"})}),eM[56]=e8,eM[57]=I,eM[58]=N):N=eM[58],eM[59]===Symbol.for("react.memo_cache_sentinel")?(T=e=>te(e.target.value),eM[59]=T):T=eM[59],eM[60]!==eG?(A=eG("filterAllTeams"),eM[60]=eG,eM[61]=A):A=eM[61],eM[62]!==A?(P=(0,r.jsx)("option",{value:"ALL",children:A}),eM[62]=A,eM[63]=P):P=eM[63],eM[64]!==eG?(E=eG("filterTeamA"),eM[64]=eG,eM[65]=E):E=eM[65],eM[66]!==E?(D=(0,r.jsx)("option",{value:"A",children:E}),eM[66]=E,eM[67]=D):D=eM[67],eM[68]!==eG?(M=eG("filterTeamB"),eM[68]=eG,eM[69]=M):M=eM[69],eM[70]!==M?(z=(0,r.jsx)("option",{value:"B",children:M}),eM[70]=M,eM[71]=z):z=eM[71],eM[72]!==e7||eM[73]!==P||eM[74]!==D||eM[75]!==z?(F=(0,r.jsxs)("select",{value:e7,onChange:T,className:"flex-1 bg-black/20 rounded px-1.5 py-1 text-[9px] border border-white/10 focus:border-blue-400 outline-none cursor-pointer",children:[P,D,z]}),eM[72]=e7,eM[73]=P,eM[74]=D,eM[75]=z,eM[76]=F):F=eM[76],eM[77]===Symbol.for("react.memo_cache_sentinel")?(O=e=>tn(e.target.value),eM[77]=O):O=eM[77],eM[78]!==eG?(L=eG("filterAllPos"),eM[78]=eG,eM[79]=L):L=eM[79],eM[80]!==L?(R=(0,r.jsx)("option",{value:"ALL",children:L}),eM[80]=L,eM[81]=R):R=eM[81],eM[82]===Symbol.for("react.memo_cache_sentinel")?(B=(0,r.jsx)("option",{value:"ATT",children:"ATT"}),U=(0,r.jsx)("option",{value:"MID",children:"MID"}),Z=(0,r.jsx)("option",{value:"DEF",children:"DEF"}),G=(0,r.jsx)("option",{value:"GK",children:"GK"}),eM[82]=B,eM[83]=U,eM[84]=Z,eM[85]=G):(B=eM[82],U=eM[83],Z=eM[84],G=eM[85]),eM[86]!==tt||eM[87]!==R?(W=(0,r.jsxs)("select",{value:tt,onChange:O,className:"flex-1 bg-black/20 rounded px-1.5 py-1 text-[9px] border border-white/10 focus:border-blue-400 outline-none cursor-pointer",children:[R,B,U,Z,G]}),eM[86]=tt,eM[87]=R,eM[88]=W):W=eM[88],eM[89]!==F||eM[90]!==W?(H=(0,r.jsxs)("div",{className:"flex items-center gap-1 px-2 mt-1",children:[F,W]}),eM[89]=F,eM[90]=W,eM[91]=H):H=eM[91],eM[92]!==e4?.id||eM[93]!==e4?.team||eM[94]!==ts||eM[95]!==eH||eM[96]!==eY?.color||eM[97]!==eQ?.color||eM[98]!==e3||eM[99]!==eX?(V=ts.map(e=>{let t=eH.some(t=>t.team===e.team&&t.id===e.id),n=e4?.team===e.team&&e4?.id===e.id;return(0,r.jsxs)("div",{className:`flex items-center gap-1.5 px-2 py-1 text-[10px] transition border-b border-white/5 ${n?"bg-white/10":"hover:bg-white/5"} ${t?"opacity-40 pointer-events-none":""}`,children:[(0,r.jsxs)("div",{className:"flex-1 flex items-center gap-1.5 cursor-pointer min-w-0",onClick:()=>!t&&e3(e.team,e.id),children:[(0,r.jsxs)("span",{className:"font-bold text-[10px] shrink-0",style:{color:"A"===e.team?eY?.color||"#3e3eff":eQ?.color||"#ff3e3e"},children:["#",e.number]}),(0,r.jsx)("span",{className:"truncate text-[10px]",children:e.name}),(0,r.jsx)("span",{className:"opacity-50 text-[8px] bg-white/10 px-1 rounded shrink-0",children:e.positionGroup})]}),(0,r.jsx)("button",{onClick:n=>{n.stopPropagation(),t||eX(e.team,e.id)},disabled:t,className:`w-4 h-4 rounded flex items-center justify-center transition ${t?"text-white/20":"text-white/60 hover:text-white hover:bg-white/10"}`,children:(0,r.jsxs)("svg",{xmlns:"http://www.w3.org/2000/svg",width:"10",height:"10",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"3",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,r.jsx)("line",{x1:"12",y1:"5",x2:"12",y2:"19"}),(0,r.jsx)("line",{x1:"5",y1:"12",x2:"19",y2:"12"})]})})]},e.id)}),eM[92]=e4?.id,eM[93]=e4?.team,eM[94]=ts,eM[95]=eH,eM[96]=eY?.color,eM[97]=eQ?.color,eM[98]=e3,eM[99]=eX,eM[100]=V):V=eM[100],eM[101]!==ts.length||eM[102]!==eG?(q=0===ts.length&&(0,r.jsx)("div",{className:"text-center text-[10px] opacity-40 py-3 px-2",children:eG("noPlayersFound")}),eM[101]=ts.length,eM[102]=eG,eM[103]=q):q=eM[103],eM[104]!==V||eM[105]!==q?(K=(0,r.jsxs)("div",{className:"flex flex-col overflow-y-auto custom-scrollbar mt-1 flex-1 min-h-0 pb-2",children:[V,q]}),eM[104]=V,eM[105]=q,eM[106]=K):K=eM[106],eM[107]!==eG?(J=eG("selectionHeader"),eM[107]=eG,eM[108]=J):J=eM[108],eM[109]!==J?(X=(0,r.jsx)("div",{className:"text-[9px] opacity-50 uppercase font-bold mb-1.5",children:J}),eM[109]=J,eM[110]=X):X=eM[110],eM[111]!==e4?.id||eM[112]!==e6||eM[113]!==ta||eM[114]!==eH||eM[115]!==eG||eM[116]!==eY?.color||eM[11
17]!==eQ?.color||eM[118]!==e3||eM[119]!==eX?(Y=0===eH.length?(0,r.jsx)("div",{className:"text-[10px] opacity-40 italic mb-2 px-1",children:eG("addPlayersHint")}):(0,r.jsx)("div",{className:"flex flex-wrap gap-1 mb-1",children:eH.map(e=>{let t=ta(e.team,e.id);if(!t)return null;let n="A"===e.team?eY?.color||"#3e3eff":eQ?.color||"#ff3e3e";return(0,r.jsxs)("div",{onClick:()=>e3(e.team,e.id),className:"flex items-center gap-1 border rounded px-1.5 py-0.5 text-[9px] cursor-pointer transition",style:{backgroundColor:e4?.id===e.id?`${n}80`:`${n}33`,borderColor:e4?.id===e.id?`${n}CC`:`${n}4D`},children:[(0,r.jsxs)("span",{className:"font-bold opacity-70",children:["#",t.number]}),(0,r.jsx)("span",{className:"truncate max-w-[60px]",children:t.name}),(0,r.jsx)("button",{onClick:t=>{t.stopPropagation(),eX(e.team,e.id),e4?.id===e.id&&e6()},className:"ml-0.5 opacity-50 hover:opacity-100 hover:text-red-300",children:(0,r.jsxs)("svg",{xmlns:"http://www.w3.org/2000/svg",width:"8",height:"8",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"3",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,r.jsx)("line",{x1:"18",y1:"6",x2:"6",y2:"18"}),(0,r.jsx)("line",{x1:"6",y1:"6",x2:"18",y2:"18"})]})})]},e.id)})}),eM[111]=e4?.id,eM[112]=e6,eM[113]=ta,eM[114]=eH,eM[115]=eG,eM[116]=eY?.color,eM[117]=eQ?.color,eM[118]=e3,eM[119]=eX,eM[120]=Y):Y=eM[120];let tm=eH.length<2,tp=`flex items-center justify-center w-6 h-6 rounded transition ${eH.length>=2?"bg-blue-600/80 hover:bg-blue-500/80 text-white cursor-pointer":"bg-gray-700/50 text-white/30 curs
1or-not-allowed"}`;eM[121]!==eG?(Q=eG("createLink"),eM[121]=eG,eM[122]=Q):Q=eM[122],eM[123]===Symbol.for("react.memo_cache_sentinel")?(ee=(0,r.jsxs)("svg",{xmlns:"http://www.w3.org/2000/svg",width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,r.jsx)("path",{d:"M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"}),(0,r.jsx)("path",{d:"M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"})]}),eM[123]=ee):ee=eM[123],eM[124]!==tl||eM[125]!==tm||eM[126]!==tp||eM[127]!==Q?(et=(0,r.jsx)("button",{onClick:tl,disabled:tm,className:tp,title:Q,children:ee}),eM[124]=tl,eM[125]=tm,eM[126]=tp,eM[127]=Q,eM[128]=et):et=eM[128];let th=eH.length<3,tf=`flex items-center justify-center w-6 h-6 rounded transition ${eH.length>=3?"bg-blue-600/80 hover:bg-blue-500/80 text-white cursor-pointer":"bg-gray-700/50 text-white/30 cursor-not-allowed"}`;eM[129]!==eG?(en=eG("createZone"),eM[129]=eG,eM[130]=en):en=eM[130],eM[131]===Symbol.for("react.memo_cache_sentinel")?(er=(0,r.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:(0,r.jsx)("path",{d:"M3 12l9-9 9 9-9 9-9-9z"})}),eM[131]=er):er=eM[131],eM[132]!==tc||eM[133]!==th||eM[134]!==tf||eM[135]!==en?(ei=(0,r.jsx)("button",{onClick:tc,disabled:th,className:tf,title:en,children:er}),eM[132]=tc,eM[133]=th,eM[134]=tf,eM[135]=en,eM[136]=ei):ei=eM[136];let tg=2!==eH.length,tx=`flex items-center justify-center w-6 h-6 rounded transition ${2===eH.length?"bg-blue-600/80 hover:bg-blue-500/80 text-white cursor-pointer":"bg-gray-700/50 text-white/30 curs
1or-not-allowed"}`;eM[137]!==eG?(ea=eG("markPlayer"),eM[137]=eG,eM[138]=ea):ea=eM[138],eM[139]===Symbol.for("react.memo_cache_sentinel")?(eo=(0,r.jsxs)("svg",{xmlns:"http://www.w3.org/2000/svg",width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,r.jsx)("circle",{cx:"12",cy:"12",r:"10"}),(0,r.jsx)("circle",{cx:"12",cy:"12",r:"3"})]}),eM[139]=eo):eo=eM[139],eM[140]!==tu||eM[141]!==tg||eM[142]!==tx||eM[143]!==ea?(es=(0,r.jsx)("button",{onClick:tu,disabled:tg,className:tx,title:ea,children:eo}),eM[140]=tu,eM[141]=tg,eM[142]=tx,eM[143]=ea,eM[144]=es):es=eM[144];let tb=1!==eH.length,ty=`flex items-center justify-center w-6 h-6 rounded transition ${1===eH.length?"bg-blue-600/80 hover:bg-blue-500/80 text-white cursor-pointer":"bg-gray-700/50 text-white/30 cursor-not-allowed"}`;return eM[145]!==eG?(eN=eG("zonalMarking"),eM[145]=eG,eM[146]=eN):eN=eM[146],eM[147]===Symbol.for("react.memo_cache_sentinel")?(eT=(0,r.jsxs)("svg",{xmlns:"http://www.w3.org/2000/svg",width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,r.jsx)("rect",{x:"3",y:"3",width:"18",height:"18",rx:"2",ry:"2",strokeWidth:"2",strokeDasharray:"4 2"}),(0,r.jsx)("circle",{cx:"12",cy:"12",r:"3",fill:"currentColor"})]}),eM[147]=eT):eT=eM[147],eM[148]!==td||eM[149]!==tb||eM[150]!==ty||eM[151]!==eN?(eA=(0,r.jsx)("button",{onClick:td,disabled:tb,className:ty,title:eN,children:eT}),eM[148]=td,eM[149]=tb,eM[150]=ty,eM[151]=eN,eM[152]=eA):eA=eM[152],eM[153]!==et||eM[154]!==ei||eM[155]!==es||eM[156]!==eA?(eP=(0,r.jsx)("div",{className:"flex justify-between items-center",children:(0,r.jsxs)("div",{className:"flex gap-1",children:[et,ei,es,eA]})}),eM[153]=et,eM[154]=ei,eM[155]=es,eM[156]=eA,eM[157]=eP):eP=eM[157],eM[158]!==X||eM[159]!==Y||eM[160]!==eP?(eE=(0,r.jsxs)("div",{className:"px-2 py-2 border-t border-white/10 bg-black/10",children:[X,Y,eP]}),eM[158]=X,eM[159]=Y,eM[160]=eP,eM[161]=eE):eE=eM[161],eM[162]!==eR||eM[163]!==eB||eM[164]!==eZ||eM[165]!==eU||eM[166]!==b||eM[167]!==$||eM[168]!==N||eM[169]!==H||eM[170]!==K||eM[171]!==eE?(eD=(0,r.jsxs)(y.default,{title:b,resizable:!0,initialSize:v,minSize:w,initialOffset:eU,onPositionChange:eZ,isPinned:eR,onPinToggle:eB,headerEnd:$,children:[N,H,K,eE]}),eM[162]=eR,eM[163]=eB,eM[164]=eZ,eM[165]=eU,eM[166]=b,eM[167]=$,eM[168]=N,eM[169]=H,eM[170]=K,eM[171]=eE,eM[172]=eD):eD=eM[172],eD}function el(e){return{...e,team:"B"}}function ec(e){return{...e,team:"B"}}function eu(e){return{...e,team:"A"}}function ed(e){return{...e,team:"A"}}function em(e){return e.clearActivePlayerForMenu}function ep(e){return e.toggleActivePlayerForMenu}function eh(e){return e.activePlayerForMenu}function ef(e){return e.openZonalMarkingMenu}function eg(e){return e.openMarkingMenu}function ex(e){return e.openZoneMenu}function eb(e){return e.openLinkMenu}function ey(e){return e.teamBInfo}function ev(e){return e.teamAInfo}function ew(e){return e.togglePlayerSelection}function e_(e){return e.clearSelection}function ek(e){return e.teamBSubs}function eS(e){return e.teamASubs}function ej(e){return e.teamBPlayers}function e$(e){return e.teamAPlayers}function eI(e){return e.selectedPlayers}function eC(e){return e.isAssociationMenuOpen}var eN=e.i(750210),eT=e.i(188263);let eA=()=>{let e,t=(0,i.c)(1);return t[0]===Symbol.for("react.memo_cache_sentinel")?(e=(0,r.jsx)("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:(0,r.jsx)("path",{d:"M17 3a2.828 2.828 0 1 1 4 4L7.5 20.5 2 22l1.5-5.5L17 3z"})}),t[0]=e):e=t[0],e},eP=()=>{let e,t=(0,i.c)(1);return t[0]===Symbol.for("react.memo_cache_sentinel")?(e=(0,r.jsx)("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:(0,r.jsx)("path",{d:"M3 3l7.07 16.97 2.51-7.39 7.39-2.51L3 3z"})}),t[0]=e):e=t[0],e},eE=()=>{let e,t=(0,i.c)(1);return t[0]===Symbol.for("react.memo_cache_sentinel")?(e=(0,r.jsxs)("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,r.jsx)("line",{x1:"18",y1:"6",x2:"6",y2:"18"}),(0,r.jsx)("line",{x1:"6",y1:"6",x2:"18",y2:"18"})]}),t[0]=e):e=t[0],e},eD=()=>{let e,t=(0,i.c)(1);return t[0]===Symbol.for("react.memo_cache_sentinel")?(e=(0,r.jsx)("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:(0,r.jsx)("path",{d:"M4 7V4h16v3M9 20h6M12 4v16"})}),t[0]=e):e=t[0],e},eM=()=>{let e,t=(0,i.c)(1);return t[0]===Symbol.for("react.memo_cache_sentinel")?(e=(0,r.jsx)("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:(0,r.jsx)("rect",{x:"3",y:"3",width:"18",height:"18",rx:"2",ry:"2"})}),t[0]=e):e=t[0],e},ez=()=>{let e,t=(0,i.c)(1);return t[0]===Symbol.for("react.memo_cache_sentinel")?(e=(0,r.jsx)("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:(0,r.jsx)("circle",{cx:"12",cy:"12",r:"10"})}),t[0]=e):e=t[0],e},eF=()=>{let e,t=(0,i.c)(1);return t[0]===Symbol.for("react.memo_cache_sentinel")?(e=(0,r.jsxs)("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,r.jsx)("path",{d:"m7 21-4.3-4.3c-1-1-1-2.5 0-3.4l9.6-9.6c1-1 2.5-1 3.4 0l5.6 5.6c1 1 1 2.5 0 3.4L13 21"}),(0,r.jsx)("path",{d:"M22 21H7"}),(0,r.jsx)("path",{d:"m5 11 9 9"})]}),t[0]=e):e=t[0],e},eO=()=>{let e,t=(0,i.c)(1);return t[0]===Symbol.for("react.memo_cache_sentinel")?(e=(0,r.jsxs)("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,r.jsx)("line",{x1:"5",y1:"19",x2:"19",y2:"5"}),(0,r.jsx)("polyline",{points:"12 5 19 5 19 12"})]}),t[0]=e):e=t[0],e},eL=()=>{let e,t=(0,i.c)(1);return t[0]===Symbol.for("react.memo_cache_sentinel")?(e=(0,r.jsxs)("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,r.jsx)("path",{d:"M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z"}),(0,r.jsx)("polyline",{points:"14 2 14 8 20 8"}),(0,r.jsx)("line",{x1:"16",y1:"13",x2:"8",y2:"13"}),(0,r.jsx)("line",{x1:"16",y1:"17",x2:"8",y2:"17"}),(0,r.jsx)("polyline",{points:"10 9 9 9 8 9"})]}),t[0]=e):e=t[0],e},eR=e=>{let t,n,a,o,s,l=(0,i.c)(16),{label:c,value:u,displayValue:d,min:m,max:p,step:h,onChange:f}=e;return l[0]!==c?(t=(0,r.jsx)("span",{className:"text-[9px] uppercase opacity-50 font-bold tracking-wider w-[38px] shrink-0",children:c}),l[0]=c,l[1]=t):t=l[1],l[2]!==f?(n=e=>f(parseFloat(e.target.value)),l[2]=f,l[3]=n):n=l[3],l[4]!==p||l[5]!==m||l[6]!==h||l[7]!==n||l[8]!==u?(a=(0,r.jsx)("input",{type:"range",min:m,max:p,step:h,value:u,onChange:n,className:"compact-slider flex-1 min-w-0"}),l[4]=p,l[5]=m,l[6]=h,l[7]=n,l[8]=u,l[9]=a):a=l[9],l[10]!==d?(o=(0,r.jsx)("span",{className:"text-[9px] opacity-40 font-bold w-[30px] text-right shrink-0 tabular-nums",children:d}),l[10]=d,l[11]=o):o=l[11],l[12]!==t||l[13]!==a||l[14]!==o?(s=(0,r.jsxs)("div",{className:"flex items-center gap-1",children:[t,a,o]}),l[12]=t,l[13]=a,l[14]=o,l[15]=s):s=l[15],s},eB=e=>{let t,n=(0,i.c)(4),{label:a,active:o,onClick:s}=e,l=`px-1.5 py-0.5 text-[8px] font-bold uppercase rounded transition
2            ${o?"bg-white/20 text-white":"bg-black/20 text-white/40 hover:text-white/60"}
3            border border-white/5`;return n[0]!==a||n[1]!==s||n[2]!==l?(t=(0,r.jsx)("button",{onClick:s,className:l,children:a}),n[0]=a,n[1]=s,n[2]=l,n[3]=t):t=n[3],t},eU=e=>{let t,n,a=(0,i.c)(9),{options:o,value:s,onChange:l}=e;if(a[0]!==l||a[1]!==o||a[2]!==s){let e;a[4]!==l||a[5]!==s?(e=e=>(0,r.jsx)("button",{onClick:()=>l(e.value),className:`flex-1 text-[8px] py-0.5 px-1.5 rounded transition
4                    ${s===e.value?"bg-white/20 text-white shadow-sm":"text-white/40 hover:text-white"}`,children:e.label},String(e.value)),a[4]=l,a[5]=s,a[6]=e):e=a[6],t=o.map(e),a[0]=l,a[1]=o,a[2]=s,a[3]=t}else t=a[3];return a[7]!==t?(n=(0,r.jsx)("div",{className:"flex bg-black/20 rounded p-0.5 border border-white/5",children:t}),a[7]=t,a[8]=n):n=a[8],n};function eZ(e){let t,n,o,s,l,c=(0,i.c)(31),{isOpen:u,setIsOpen:p,isPinned:h,onPinToggle:f,position:g,onPositionChange:x}=e,b=void 0!==h&&h,v=void 0===f?null:f;c[0]!==g?(t=void 0===g?{x:80,y:100}:g,c[0]=g,c[1]=t):t=c[1];let w=t,_=void 0===x?null:x,k=(0,d.useTranslations)("AnnotationUI"),{activeTool:S,setActiveTool:j,pencilConfig:$,setPencilConfig:I,textConfig:C,setTextConfig:N,shapeConfig:T,setShapeConfig:A,lineConfig:P,setLineConfig:E,textWindowConfig:D,setTextWindowConfig:M,annotations:z,updateAnnotation:F,selectedAnnotationId:O,setSelectedAnnotationId:L}=(0,m.useAnnotationStore)();c[2]===Symbol.for("react.memo_cache_sentinel")?(n={width:260,height:280},c[2]=n):n=c[2];let[R,B]=(0,a.useState)(n);if(c[3]===Symbol.for("react.memo_cache_sentinel")?(o=[],c[3]=o):o=c[3],(0,a.useEffect)(eG,o),c[4]!==S||c[5]!==z||c[6]!==u||c[7]!==b||c[8]!==P||c[9]!==R||c[10]!==v||c[11]!==_||c[12]!==$||c[13]!==w||c[14]!==O||c[15]!==j||c[16]!==p||c[17]!==E||c[18]!==I||c[19]!==L||c[20]!==A||c[21]!==N||c[22]!==M||c[23]!==T||c[24]!==k||c[25]!==C||c[26]!==D||c[27]!==F){let e,t,n,i,a,o,l,d,m,h,f,g=O?z.find(e=>e.id===O):null,x={};g?x=g.config||{}:"pencil"===S?x=$:"text"===S?x=C:"rectangle"===S||"circle"===S?x=T:"arrow"===S?x=P:"textwindow"===S&&(x=D);let U=e=>{g?F(g.id,function(e,t){let n={...e.config||{},...t||{}},r={config:n},i=Object.prototype.hasOwnProperty.call(t||{},"pathType")||Object.prototype.hasOwnProperty.call(t||{},"curveBend");if("arrow"!==e.type||!i||!Array.isArray(e.points)||e.points.length<2)return r;let a="bezier"===n.pathType?"bezier":"linear",o=(0,eT.clampCurveBend)(n.curveBend,.35);return r.config={...n,pathType:a,curveBend:o},r.points=(0,eT.buildPathPoints3)(e.points,a,o),r}(g,e)):("pencil"===S&&I(e),"text"===S&&N(e),("rectangle"===S||"circle"===S)&&A(e),"arrow"===S&&E(e),"textwindow"===S&&M(e))},Z="pencil"===S||"text"===S||"rectangle"===S||"circle"===S||"arrow"===S||"textwindow"===S||!!g;s=u&&(0,r.jsx)(y.default,{title:k("title"),className:"w-[260px]",initialOffset:w,onPositionChange:_,isPinned:b,onPinToggle:v,initialSize:R,onSizeChange:B,minSize:{width:260,height:230},allowOverflow:!1,resizable:!0,headerEnd:(0,r.jsx)("button",{onClick:()=>p(!1),className:"opacity-50 hover:opacity-100 transition",children:(0,r.jsx)(eE,{})}),children:(0,r.jsxs)("div",{className:"flex flex-1 min-h-0 divide-x divide-white/10",children:[(0,r.jsxs)("div",{className:"w-[34px] flex flex-col items-center py-1 gap-1 bg-black/10 shrink-0",children:[(0,r.jsx)("button",{onClick:()=>j("select"),className:`w-5 h-5 flex items-center justify-center rounded transition ${"select"===S?"bg-blue-600 text-white shadow-sm":"text-white/55 hover:bg-white/10"}`,title:k("toolSelect"),children:(0,r.jsx)(eP,{})}),(0,r.jsx)("button",{onClick:()=>{j("pencil"),L(null)},className:`w-5 h-5 flex items-center justify-center rounded transition ${"pencil"
4===S?"bg-blue-600 text-white shadow-sm":"text-white/55 hover:bg-white/10"}`,title:k("toolPencil"),children:(0,r.jsx)(eA,{})}),(0,r.jsx)("button",{onClick:()=>{j("text"),L(null)},className:`w-5 h-5 flex items-center justify-center rounded transition ${"text"===S?"bg-blue-600 text-white shadow-sm":"text-white/55 hover:bg-white/10"}`,title:k("toolText"),children:(0,r.jsx)(eD,{})}),(0,r.jsx)("button",{onClick:()=>{j("rectangle"),L(null),A({type:"rectangle"})},className:`w-5 h-5 flex items-center justify-center rounded transition ${"rectangle"===S?"bg-blue-600 text-white shadow-sm":"text-white/55 hover:bg-white/10"}`,title:k("toolRectangle"),children:(0,r.jsx)(eM,{})}),(0,r.jsx)("button",{onClick:()=>{j("circle"),L(null),A({type:"circle"})},className:`w-5 h-5 flex items-center justify-center rounded transition ${"circle"===S?"bg-blue-600 text-white shadow-sm":"text-white/55 hover:bg-white/10"}`,title:k("toolCircle"),children:(0,r.jsx)(ez,{})}),(0,r.jsx)("button",{onClick:()=>{j("arrow"),L(null)},className:`w-5 h-5 flex items-center justify-center rounded transition ${"arrow"===S?"bg-blue-600 text-white shadow-sm":"text-white/55 hover:bg-white/10"}`,title:k("toolArrow"),children:(0,r.jsx)(eO,{})}),(0,r.jsx)("button",{onClick:()=>{j("eraser"),L(null)},className:`w-5 h-5 flex items-center justify-center rounded transition ${"eraser"===S?"bg-blue-600 text-white shadow-sm":"text-white/55 hover:bg-white/10"}`,title:k("toolEraser"),children:(0,r.jsx)(eF,{})}),(0,r.jsx)("div",{className:"w-4 border-t border-white/10 my-0.5"}),(0,r.jsx)("button",{onClick:()=>{j("textwindow"),L(null)},className:`w-5 h-5 flex items-center justify-center rounded transition ${"textwindow"===S?"bg-blue-600 text-white shadow-sm":"text-white/55 hover:bg-white/10"}`,title:k("toolTextWindowNote"),children:(0,r.jsx)(eL,{})})]}),(0,r.jsxs)("div",{className:"flex-1 p-4 flex flex-col gap-1 overflow-y-auto custom-scrollbar",children:[!Z&&(0,r.jsx)("div",{className:"flex-1 flex items-center justify-center text-[9px] text-white/30 italic text-center leading-relaxed whitespace-pre-line",children:k("emptyHint")}),Z&&(0,r.jsxs)("div",{className:"flex flex-col gap-1 animate-in fade-in duration-200",children:[(0,r.jsxs)("div",{className:"flex items-center justify-between",children:[("text"===S||g&&"text"===g.type)&&(0,r.jsxs)("div",{className:"flex items-center gap-2 w-full",children:[(0,r.jsxs)("div",{className:"flex items-center gap-1",children:[(0,r.jsx)(eN.default,{value:x.color,onChange:e=>U({color:e}),size:"sm"}),(0,r.jsx)("span",{className:"text-[9px] uppercase opacity-40 font-bold",children:k("fill")})]}),(0,r.jsxs)("div",{className:"flex items-center gap-1",children:[(0,r.jsx)(eN.default,{value:x.outlineColor||"#000000",onChange:e=>U({outlineColor:e}),size:"sm"}),(0,r.jsx)("span",{className:"text-[9px] uppercase opacity-40 font-bold",children:k("outline")})]})]}),("rectangle"===S||"circle"===S||g&&"shape"===g.type)&&(0,r.jsxs)("div",{className:"flex items-center gap-2 w-full",children:[(0,r.jsxs)("div",{className:"flex items-center gap-1",children:[(0,r.jsx)(eN.default,{value:x.color,onChange:e=>U({color:e}),size:"sm"}),(0,r.jsx)("span",{className:"text-[9px] uppercase opacity-40 font-bold",children:k("fill")})]}),(0,r.jsxs)("div",{className:"flex items-center gap-1",children:[(0,r.jsx)(eN.default,{value:x.outlineColor||"#000000",onChange:e=>U({outlineColor:e}),size:"sm"}),(0,r.jsx)("span",{className:"text-[9px] uppercase opacity-40 font-bold",children:k("outline")})]})]}),("pencil"===S||g&&"pencil"===g.type)&&(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(eN.default,{value:x.color,onChange:e=>U({color:e}),size:"md"}),(0,r.jsx)(eU,{options:[{label:k("solid"),value:!1},{label:k("dash"),value:!0}],value:x.dashed,onChange:e=>U({dashed:e})})]}),("arrow"===S||g&&"arrow"===g.type)&&(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(eN.default,{value:x.color,onChange:e=>U({color:e}),size:"md"}),(0,r.jsxs)("div",{className:"flex flex-col gap-1",children:[(0,r.jsx)(eU,{options:[{label:k("typeLine"),value:"line"},{label:k("typeArrow"),value:"arrow"}],value:x.type,onChange:e=>U({type:e})}),(0,r.jsx)(eU,{options:[{label:k("pathStraight"),value:"linear"},{label:k("pathCurved"),value:"bezier"}],value:x.pathType||"linear",onChange:e=>U({pathType:e})}),(0,r.jsx)(eU,{options:[{label:k("solid"),value:!1},{label:k("dash"),value:!0}],value:x.dashed,onChange:e=>U({dashed:e})})]})]})]}),("arrow"===S||g&&"arrow"===g.type)&&(0,r.jsxs)("div",{className:"flex flex-col gap-1",children:[(0,r.jsx)("div",{className:"w-full h-6 bg-black/20 rounded border border-white/10 flex items-center justify-center relative overflow-hidden",children:(0,r.jsx)("svg",{width:"100%",height:"100%",viewBox:"0 0 300 30",preserveAspectRatio:"none",children:(e=Math.max(1.5,Math.min(14,20*Math.max(x.thickness||.1,.167))),t=void 0!==x.opacity?x.opacity:1,n=x.color||"#ffffff",i=24*(x.headSize||.5),a="arrow"===x.type,o=x.dashed,l=x.dashScale||2,d="bezier"===x.pathType,m=Math.max(-1,Math.min(1,Number(x.curveBend??.35))),h=285-i,f=a?h:285,(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)("path",{d:d?`M 15 15 Q ${(15+f)/2} ${15-26*m} ${Math.max(15,f)} 15`:`M 15 15 L ${Math.max(15,f)} 15`,fill:"none",stroke:n,strokeWidth:e,strokeOpacity:t,strokeDasharray:o?`${20/l} ${20/l}`:"none",strokeLinecap:"butt"}),a&&(0,r.jsx)("path",{d:`M 285 15 L ${h} ${15-.58*i} L ${h} ${15+.58*i} Z`,fill:n,fillOpacity:t})]}))})}),(0,r.jsx)(eR,{label:k("sliderThick"),value:Math.max(x.thickness||.1,.167),displayValue:Math.max(x.thickness||.1,.167).toFixed(2),min:.167,max:.5,step:.
401,onChange:e=>U({thickness:e})}),(0,r.jsx)(eR,{label:k("sliderOpacity"),value:void 0!==x.opacity?x.opacity:1,displayValue:`${Math.round(100*(x.opacity||1))}%`,min:0,max:1,step:.1,onChange:e=>U({opacity:e})}),"bezier"===(x.pathType||"linear")&&(0,r.jsx)(eR,{label:k("sliderBend"),value:x.curveBend??.35,displayValue:(x.curveBend??.35).toFixed(2),min:-1,max:1,step:.05,onChange:e=>U({curveBend:e})}),"arrow"===x.type&&(0,r.jsx)(eR,{label:k("sliderHead"),value:x.headSize||.5,displayValue:x.headSize||.5,min:.1,max:2,step:.1,onChange:e=>U({headSize:e})}),x.dashed&&(0,r.jsx)(eR,{label:k("sliderDashSc"),value:x.dashScale||2,displayValue:x.dashScale||2,min:.5,max:10,step:.5,onChange:e=>U({dashScale:e})})]}),("text"===S||g&&"text"===g.type)&&(0,r.jsxs)("div",{className:"flex flex-col gap-1",children:[(0,r.jsxs)("div",{className:"flex items-center gap-1",children:[(0,r.jsx)("span",{className:"text-[9px] uppercase opacity-50 font-bold tracking-wider w-[38px] shrink-0",children:k("labelText")}),(0,r.jsx)("input",{type:"text",value:x.text||"",onChange:e=>U({text:e.target.value}),className:"flex-1 bg-white/10 border border-white/10 rounded px-1.5 py-0.5 text-[10px] text-white focus:border-blue-500 outline-none",placeholder:k("enterTextPlaceholder")})]}),(0,r.jsx)(eR,{label:k("sliderSize"),value:x.fontSize||1,displayValue:x.fontSize||1,min:.5,max:5,step:.1,onChange:e=>U({fontSize:e})}),(0,r.jsx)(eB,{label:k("outline"),active:!1!==x.outlined,onClick:()=>U({outlined:!1===x.outlined})}),(0,r.jsxs)("div",{className:"w-full h-6 bg-black/20 rounded border border-white/10 flex items-center justify-center overflow-hidden relative",children:[(0,r.jsx)("span",{style:{position:"absolute",color:"transparent",fontSize:`${Math.min(16*(x.fontSize||1),20)}px`,opacity:x.opacity,WebkitTextStroke:!1!==x.outlined?`${(x.thickness||.02)*(x.fontSize||1)*16}px ${x.outlineColor||"black"}`:"none",zIndex:1},children:x.text||k("preview")}),(0,r.jsx)("span",{style:{position:"absolute",color:x.color,fontSize:`${Math.min(16*(x.fontSize||1),20)}px`,opacity:x.opacity,zIndex:2},children:x.text||k("preview")})]}),(0,r.jsx)(eR,{label:k("sliderOpacity"),value:void 0!==x.opacity?x.opacity:1,displayValue:`${Math.round(100*(x.opacity||1))}%`,min:0,max:1,step:.1,onChange:e=>U({opacity:e})}),!1!==x.outlined&&(0,r.jsx)(eR,{label:k("sliderThick"),value:x.thickness||.02,displayValue:(x.thickness||.02).toFixed(3),min:.001,max:.5,step:.001,onChange:e=>U({thickness:e})})]}),("rectangle"===S||"circle"===S||g&&"shape"===g.type)&&(0,r.jsxs)("div",{className:"flex flex-col gap-1",children:[(0,r.jsxs)("div",{className:"flex gap-1",children:[(0,r.jsx)(eB,{label:k("fill"),active:x.filled??!1,onClick:()=>U({filled:!x.filled})}),(0,r.jsx)(eB,{label:k("outline"),active:x.outlined??!1,onClick:()=>U({outlined:!x.outlined})}),(0,r.jsx)(eB,{label:k("toggleStriped"),active:x.striped??!1,onClick:()=>U({striped:!x.striped})}),(0,r.jsx)(eB,{label:k("toggleDashed"),active:x.dashed??!1,onClick:()=>U({dashed:!x.dashed})})]}),(0,r.jsxs)("div",{className:"w-full h-6 bg-black/20 rounded border border-white/10 flex items-center justify-center overflow-hidden relative",children:[(0,r.jsx)("div",{className:"absolute inset-0",style:{backgroundColor:x.filled?x.color:"transparent",opacity:x.filled?x.fillOpacity??x.opacity??1:1,backgroundImage:x.filled&&x.striped?"linear-gradient(45deg, rgba(0,0,0,0.3) 25%, transparent 25%, transparent 50%, rgba(0,0,0,0.3) 50%, rgba(0,0,0,0.3) 75%, transparent 75%, transparent 100%)":"none",backgroundSize:x.filled&&x.striped?`${100/(x.stripeScale||1)}px ${100/(x.stripeScale||1)}px`:"auto"}}),x.outlined&&(0,r.jsx)("svg",{className:"absolute inset-0 w-full h-full pointer-events-none",children:(0,r.jsx)("rect",{x:"4",y:"4",width:"calc(100% - 8px)",height:"calc(100% - 8px)",fill:"none",stroke:x.outlineColor||"#000000",strokeWidth:Math.max(1.5,Math.min(14,20*(x.thickness||.1))),strokeDasharray:x.dashed?`${180/(x.dashScale||2)} ${180/(x.dashScale||2)}`:"none",style:{opacity:x.outlineOpacity??x.opacity??1}})})]}),x.filled&&(0,r.jsx)(eR,{label:k("sliderFillOp"),value:x.fillOpacity??x.opacity??1,displayValue:`${Math.round((x.fillOpacity??x.opacity??1)*100)}
4%`,min:0,max:1,step:.05,onChange:e=>U({fillOpacity:e})}),x.outlined&&(0,r.jsx)(eR,{label:k("sliderOutOp"),value:x.outlineOpacity??x.opacity??1,displayValue:`${Math.round((x.outlineOpacity??x.opacity??1)*100)}%`,min:0,max:1,step:.05,onChange:e=>U({outlineOpacity:e})}),(0,r.jsx)(eR,{label:k("sliderThick"),value:Math.max(x.thickness||.1,.167),displayValue:Math.max(x.thickness||.1,.167).toFixed(2),min:.167,max:.5,step:.005,onChange:e=>U({thickness:e})}),x.striped&&(0,r.jsx)(eR,{label:k("sliderStripe"),value:x.stripeScale||1,displayValue:x.stripeScale||1,min:.5,max:3,step:.1,onChange:e=>U({stripeScale:e})}),x.dashed&&(0,r.jsx)(eR,{label:k("sliderDashSc"),value:x.dashScale||2,displayValue:x.dashScale||2,min:1,max:50,step:.5,onChange:e=>U({dashScale:e})})]}),("textwindow"===S||g&&"textwindow"===g.type)&&(0,r.jsxs)("div",{className:"flex flex-col gap-1",children:[(0,r.jsxs)("div",{className:"flex items-center gap-2 flex-wrap",children:[(0,r.jsxs)("div",{className:"flex flex-col items-center gap-0.5",children:[(0,r.jsx)(eN.default,{value:x.textColor||"#e2e8f0",onChange:e=>U({textColor:e}),size:"sm"}),(0,r.jsx)("span",{className:"text-[9px] uppercase opacity-40 font-bold",children:k("labelText")})]}),(0,r.jsxs)("div",{className:"flex flex-col items-center gap-0.5",children:[(0,r.jsx)(eN.default,{value:x.bgColor||"#0f172a",onChange:e=>U({bgColor:e}),size:"sm"}),(0,r.jsx)("span",{className:"text-[9px] uppercase opacity-40 font-bold",children:k("labelBg")})]}),(0,r.jsxs)("div",{className:"flex flex-col items-center gap-0.5",children:[(0,r.jsx)(eN.default,{value:x.accentColor||"#38bdf8",onChange:e=>U({accentColor:e}),size:"sm"}),(0,r.jsx)("span",{className:"text-[9px] uppercase opacity-40 font-bold",children:k("labelAccent")})]}),(0,r.jsxs)("div",{className:"flex flex-col items-center gap-0.5",children:[(0,r.jsx)(eN.default,{value:x.buttonColor||"#38bdf8",onChange:e=>U({buttonColor:e}),size:"sm"}),(0,r.jsx)("span",{className:"text-[9px] uppercase opacity-40 font-bold",children:k("labelBtn")})]})]}),(0,r.jsx)("label",{className:"text-[9px] uppercase opacity-50 font-bold tracking-wider",children:k("labelContentMD")}),(0,r.jsx)("textarea",{value:x.content||"",onChange:e=>U({content:e.target.value}),className:"w-full bg-white/10 border border-white/10 rounded px-1.5 py-1 text-[10px] text-white focus:border-blue-500 outline-none resize-y font-mono leading-relaxed",placeholder:k("writeMarkdownPlaceholder"),rows:3,style:{minHeight:"48px",maxHeight:"120px"}}),(0,r.jsx)(eR,{label:k("sliderPole"),value:x.height||12,displayValue:`${x.height||12}m`,min:1,max:50,step:.5,onChange:e=>U({height:e})}),(0,r.jsx)(eR,{label:k("sliderFont"),value:x.fontSize||51,displayValue:`${x.fontSize||51}px`,min:6,max:72,step:1,onChange:e=>U({fontSize:parseInt(e)})}),(0,r.jsx)(eR,{label:k("sliderWidth"),value:x.width||260,displayValue:x.width||260,min:120,max:800,step:10,onChange:e=>U({width:parseInt(e)})}),(0,r.jsx)(eR,{label:k("sliderHeight"),value:x.windowHeight||320,displayValue:x.windowHeight||320,min:100,max:800,step:10,onChange:e=>U({windowHeight:parseInt(e)})}),(0,r.jsx)(eR,{label:k("sliderOpacity"),value:void 0!==x.opacity?x.opacity:.95,displayValue:`${Math.round(100*(x.opacity||.95))}%`,min:.3,max:1,step:.05,onChange:e=>U({opacity:e})})]}),("pencil"===S||g&&"pencil"===g.type)&&(0,r.jsxs)("div",{className:"flex flex-col gap-1",children:[(0,r.jsxs)("div",{className:"flex items-center gap-1",children:[(0,r.jsx)("span",{className:"text-[9px] uppercase opacity-50 font-bold tracking-wider w-[38px] shrink-0",children:k("sliderOpacity")}),(0,r.jsx)("input",{type:"range",min:"0.1",max:"1",step:"0.1",value:x.opacity??1,onChange:e=>U({opacity:parseFloat(e.target.value)}),className:"compact-slider flex-1 min-w-0"}),(0,r.jsxs)("span",{className:"text-[9px] opacity-40 font-bold w-[30px] text-right shrink-0 tabular-nums",children:[Math.round((x.opacity??1)*100),"%"]}),(0,r.jsx)("div",{className:"w-5 h-5 flex items-center justify-center shrink-0 bg-black/10 rounded border border-white/5",children:(0,r.jsx)("div",{className:"rounded-full transition-all",style:{width:`${Math.max(3,Math.min(14,20*Math.max(x.thickness??.1,.167)))}px`,height:`${Math.max(3,Math.min(14,20*Math.max(x.thickness??.1,.167)))}px`,backgroundColor:x.color,opacity:x.opacity}})})]}),(0,r.jsx)(eR,{label:k("sliderThick"),value:Math.max(x.thickness??.1,.167),displayValue:Math.max(x.thickness??.1,.167).toFixed(2),min:.167,max:.5,step:.
401,onChange:e=>U({thickness:e})})]})]})]})]})}),c[4]=S,c[5]=z,c[6]=u,c[7]=b,c[8]=P,c[9]=R,c[10]=v,c[11]=_,c[12]=$,c[13]=w,c[14]=O,c[15]=j,c[16]=p,c[17]=E,c[18]=I,c[19]=L,c[20]=A,c[21]=N,c[22]=M,c[23]=T,c[24]=k,c[25]=C,c[26]=D,c[27]=F,c[28]=s}else s=c[28];return c[29]!==s?(l=(0,r.jsx)(r.Fragment,{children:s}),c[29]=s,c[30]=l):l=c[30],l}function eG(){let e=eW;return e(),window.addEventListener("resize",e),window.addEventListener("orientationchange",e),()=>{window.removeEventListener("resize",e),window.removeEventListener("orientationchange",e)}}function eW(){}function eH(e){let t,n,a,o,l,c,u,m,p,h,f,g,x,b,v,w,_,k,S,j,$,I,C,N,T,A,P=(0,i.c)(77),{isOpen:E,onClose:D,activePlayerForMenu:M,teamInfo:z,updateTeamInfo:F,isPinned:O,onPinToggle:L,initialOffset:R,onPositionChange:B}=e,U=void 0!==O&&O,Z=void 0===L?null:L,G=void 0===R?null:R,W=void 0===B?null:B,H=(0,d.useTranslations)("TeamMenu"),V=(0,s.usePlayerStore)(eQ),q=(0,s.usePlayerStore)(eY),K=(0,s.usePlayerStore)(eX),J=(0,s.usePlayerStore)(eJ),X=(0,s.usePlayerStore)(eK),Y=(0,s.usePlayerStore)(eq),Q=M?.team==="A"?V:q;P[0]!==Q?(t=!!Q&&Q.every(eV),P[0]=Q,P[1]=t):t=P[1];let ee=t;if(!E||!M||!z)return null;P[2]!==H?(n=H("title"),P[2]=H,P[3]=n):n=P[3],P[4]!==G?(a=G||{x:80,y:Math.max(80,window.innerHeight/2-130)},P[4]=G,P[5]=a):a=P[5],P[6]!==H?(o=H("close"),P[6]=H,P[7]=o):o=P[7],P[8]!==H?(l=H("close"),P[8]=H,P[9]=l):l=P[9],P[10]===Symbol.for("react.memo_cache_sentinel")?(c=(0,r.jsxs)("svg",{xmlns:"http://www.w3.org/2000/svg",width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,r.jsx)("line",{x1:"18",y1:"6",x2:"6",y2:"18"}),(0,r.jsx)("line",{x1:"6",y1:"6",x2:"18",y2:"18"})]}),P[10]=c):c=P[10],P[11]!==D||P[12]!==o||P[13]!==l?(u=(0,r.jsx)("button",{onClick:D,className:"opacity-50 hover:opacity-100 transition",title:o,"aria-label":l,children:c}),P[11]=D,P[12]=o,P[13]=l,P[14]=u):u=P[14],P[15]!==H?(m=H("name"),P[15]=H,P[16]=m):m=P[16],P[17]!==m?(p=(0,r.jsx)("label",{className:"text-[9px] opacity-60",children:m}),P[17]=m,P[18]=p):p=P[18],P[19]!==M.team||P[20]!==F?(h=e=>F(M.team,{name:e.target.value}),P[19]=M.team,P[20]=F,P[21]=h):h=P[21],P[22]!==h||P[23]!==z.name?(f=(0,r.jsx)("input",{type:"text",value:z.name,onChange:h,className:"bg-transparent text-[10px] focus:text-blue-400 outline-none text-right w-20"}),P[22]=h,P[23]=z.name,P[24]=f):f=P[24],P[25]!==p||P[26]!==f?(g=(0,r.jsxs)("div",{className:"flex items-center justify-between px-3 py-1.5",children:[p,f]}),P[25]=p,P[26]=f,P[27]=g):g=P[27],P[28]!==H?(x=H("color"),P[28]=H,P[29]=x):x=P[29],P[30]!==x?(b=(0,r.jsx)("label",{className:"text-[9px] opacity-60",children:x}),P[30]=x,P[31]=b):b=P[31],P[32]!==M.team||P[33]!==F?(v=e=>F(M.team,{color:e}),P[32]=M.team,P[33]=F,P[34]=v):v=P[34],P[35]!==v||P[36]!==z.color?(w=(0,r.jsx)(eN.default,{value:z.color,onChange:v,size:"sm"}),P[35]=v,P[36]=z.color,P[37]=w):w=P[37],P[38]!==b||P[39]!==w?(_=(0,r.jsxs)("div",{className:"flex items-center justify-between px-3 py-1.5",children:[b,w]}),P[38]=b,P[39]=w,P[40]=_):_=P[40],P[41]!==H?(k=H("showCards"),P[41]=H,P[42]=k):k=P[42],P[43]!==k?(S=(0,r.jsx)("label",{className:"text-[9px] opacity-60",children:k}),P[43]=k,P[44]=S):S=P[44],P[45]!==M.team||P[46]!==ee?(j=()=>{s.usePlayerStore.getState().toggleAllTeamCards(M.team,!ee)},P[45]=M.team,P[46]=ee,P[47]=j):j=P[47];let et=`w-8 h-4 rounded-full relative transition-colors duration-200 ease-in-out ${ee?"bg-green-500/50":"bg-white/10"}`,en=`absolute top-0.5 left-0.5 w-3 h-3 rounded-full bg-white transition-transform duration-200 ${ee?"translate-x-4":"translate-x-0"}`;return P[48]!==en?($=(0,r.jsx)("div",{className:en}),P[48]=en,P[49]=$):$=P[49],P[50]!==j||P[51]!==et||P[52]!==$?(I=(0,r.jsx)("button",{onClick:j,className:et,children:$}),P[50]=j,P[51]=et,P[52]=$,P[53]=I):I=P[53],P[54]!==S||P[55]!==I?(C=(0,r.jsxs)("div",{className:"flex items-center justify-between px-3 py-1.5",children:[S,I]}),P[54]=S,P[55]=I,P[56]=C):C=P[56],P[57]!==ee||P[58]!==X||P[59]!==K||P[60]!==Y||P[61]!==J||P[62]!==H?(N=ee&&(0,r.jsxs)(r.Fragment,{children:[(0,r.jsxs)("div",{className:"flex flex-col px-3 py-1.5 gap-1",children:[(0,r.jsxs)("div",{className:"flex justify-between items-center",children:[(0,r.jsx)("label",{className:"text-[9px] opacity-60",children:H("cardSize")}),(0,r.jsx)("span",{className:"text-[9px] opacity-40",children:K.toFixed(2)})]}),(0,r.jsx)("input",{type:"range",min:"0.40",max:"1.00",step:"0.05",value:K,onChange:e=>J(parseFloat(e.target.value)),className:"w-full h-1 bg-white/10 rounded-lg appearance-none cursor-pointer [&::-webkit-slider-thumb]:appearance-none [&::-webkit-slider-thumb]:w-2.5 [&::-webkit-slider-thumb]:h-2.5 [&::-webkit-slider-thumb]:rounded-full [&::-webkit-slider-thumb]:bg-white/80"})]}),(0,r.jsxs)("div",{className:"flex flex-col px-3 py-1.5 gap-1",children:[(0,r.jsxs)("div",{className:"flex justify-between items-center",children:[(0,r.jsx)("label",{className:"text-[9px] opacity-60",children:H("distance")}),(0,r.jsxs)("span",{className:"text-[9px] opacity-40",children:[Math.round(X),"px"]})]}),(0,r.jsx)("input",{type:"range",min:"0",max:"150",step:"1",value:X,onChange:e=>Y(parseFloat(e.target.value)),className:"w-full h-1 bg-white/10 rounded-lg appearance-none cursor-pointer [&::-webkit-slider-thumb]:appearance-none [&::-webkit-slider-thumb]:w-2.5 [&::-webkit-slider-thumb]:h-2.5 [&::-webkit-slider-thumb]:rounded-full [&::-webkit-slider-thumb]:bg-white/80"})]})]}),P[57]=ee,P[58]=X,P[59]=K,P[60]=Y,P[61]=J,P[62]=H,P[63]=N):N=P[63],P[64]!==g||P[65]!==_||P[66]!==C||P[67]!==N?(T=(0,r.jsxs)("div",{className:"flex flex-col divide-y divide-white/5",children:[g,_,C,N]}),P[64]=g,P[65]=_,P[66]=C,P[67]=N,P[68]=T):T=P[68],P[69]!==U||P[70]!==Z||P[71]!==W||P[72]!==u||P[73]!==T||P[74]!==n||P[75]!==a?(A=(0,r.jsx)(y.default,{title:n,className:"w-[150px]",initialOffset:a,onPositionChange:W,isPinned:U,onPinToggle:Z,headerEnd:u,children:T}),P[69]=U,P[70]=Z,P[71]=W,P[72]=u,P[73]=T,P[74]=n,P[75]=a,P[76]=A):A=P[76],A}function eV(e){return e.showCard}function eq(e){return e.setCardDistance}function eK(e){return e.cardDistance}function eJ(e){return e.setCardScale}function eX(e){return e.cardScale}function eY(e){return e.teamBPlayers}function eQ(e){return e.teamAPlayers}var e0=e.i(174080),e1=e.i(861745),e2=e.i(192199),e5=e.i(511152);let e4="4-4-2",e3=Object.freeze(["2-3-5","3-1-4-2","3-2-2-3","3-2-3-2","3-3-1-3","3-3-3-1","3-4-1-2","3-4-2-1","3-4-3","3-5-1-1","3-5-2","4-1-2-1-2","4-1-3-2","4-1-4-1","4-2-1-3","4-2-2-2","4-2-3-1","4-2-4","4-3-1-2","4-3-2-1","4-3-3","4-4-1-1","4-4-2","4-5-1","5-2-1-2","5-2-2-1","5-3-1-1","5-3-2","5-4-1"]);function e6(e){let t=String(e||"").trim().split(/[-\s]+/).map(e=>parseInt(e,10));return t.length<2||t.length>6||t.some(e=>!Number.isFinite(e)||e<1||e>9)?[]:t}function e8(e){let t;return(0===(t=e6(e)).length?null:10===t.reduce((e,t)=>
4e+t,0)?t.join("-"):null)||e4}var e9=e.i(777078);let e7=e9.FORMATION_FIELD_HALF_LENGTH,te=e7-3,tt=e9.FORMATION_FIELD_HALF_WIDTH;function tn(e){let t=String(e||"").trim().split(/[-\s]+/).map(e=>parseInt(e,10));return t.length<2||t.length>6||t.some(e=>!Number.isFinite(e)||e<1||e>9)?[]:10===t.reduce((e,t)=>e+t,0)?t:[]}function tr(e){return{x:ti(e?.x,-e7,e7),y:Number(e?.y)||0,z:ti(e?.z,-tt,tt)}}function ti(e,t,n){let r=Number(e)||0;return 0===r?0:Math.min(n,Math.max(t,Math.sign(r)*Math.round(Math.abs(r)/e9.FORMATION_GRID_STEP_M)*e9.FORMATION_GRID_STEP_M))}let ta="4-4-2",to=Object.freeze({en:{GK:{shortRole:"GK",role:"Goalkeeper",positionGroup:"GK"},LB:{shortRole:"LB",role:"Left Back",positionGroup:"DEF"},LCB:{shortRole:"LCB",role:"Left Center Back",positionGroup:"DEF"},CB:{shortRole:"CB",role:"Center Back",positionGroup:"DEF"},RCB:{shortRole:"RCB",role:"Right Center Back",positionGroup:"DEF"},RB:{shortRole:"RB",role:"Right Back",positionGroup:"DEF"},LWB:{shortRole:"LWB",role:"Left Wing Back",positionGroup:"DEF"},RWB:{shortRole:"RWB",role:"Right Wing Back",positionGroup:"DEF"},CDM:{shortRole:"CDM",role:"Defensive Midfielder",positionGroup:"MID"},CM:{shortRole:"CM",role:"Central Midfielder",positionGroup:"MID"},CAM:{shortRole:"CAM",role:"Attacking Midfielder",positionGroup:"MID"},LM:{shortRole:"LM",role:"Left Midfielder",positionGroup:"MID"},RM:{shortRole:"RM",role:"Right Midfielder",positionGroup:"MID"},LW:{shortRole:"LW",role:"Left Winger",positionGroup:"ATT"},RW:{shortRole:"RW",role:"Right Winger",positionGroup:"ATT"},ST:{shortRole:"ST",role:"Striker",positionGroup:"ATT"}},fr:{GK:{shortRole:"GB",role:"Gardien de but",positionGroup:"GK"},LB:{shortRole:"DG",role:"Defenseur gauche",positionGroup:"DEF"},LCB:{shortRole:"DCG",role:"Defenseur central gauche",positionGroup:"DEF"},CB:{shortRole:"DC",role:"Defenseur central",positionGroup:"DEF"},RCB:{shortRole:"DCD",role:"Defenseur central droit",positionGroup:"DEF"},RB:{shortRole:"DD",role:"Defenseur droit",positionGroup:"DEF"},LWB:{shortRole:"PIG",role:"Piston gauche",positionGroup:"DEF"},RWB:{shortRole:"PID",role:"Piston droit",positionGroup:"DEF"},CDM:{shortRole:"MDC",role:"Milieu defensif",positionGroup:"MID"},CM:{shortRole:"MC",role:"Milieu central",positionGroup:"MID"},CAM:{shortRole:"MOC",role:"Milieu offensif",positionGroup:"MID"},LM:{shortRole:"MG",role:"Milieu gauche",positionGroup:"MID"},RM:{shortRole:"MD",role:"Milieu droit",positionGroup:"MID"},LW:{shortRole:"AG",role:"Ailier gauche",positionGroup:"ATT"},RW:{shortRole:"AD",role:"Ailier droit",positionGroup:"ATT"},ST:{shortRole:"BU",role:"Buteur",positionGroup:"ATT"}}}),ts=Object.freeze({GK:["g","keeper","goalkeeper","gardien","gardien but"],LB:["left back","full back left","lateral gauche"],LCB:["left centre back","left center back","central gauche"],CB:["centre back","center back","central defender","defenseur central"],RCB:["right centre back","right center back","central droit"],RB:["right back","full back right","lateral droit"],LWB:["left wing back","piston gauche"],RWB:["right wing back","piston droit"],CDM:["dm","defensive midfield","holding midfield","milieu defensif"],CM:["central midfield","midfielder","milieu central"],CAM:["am","attacking midfield","number 10","milieu offensif"],LM:["left midfield","milieu gauche"],RM:["right midfield","milieu droit"],LW:["left wing","left winger","ailier gauche"],RW:["right wing","right winger","ailier droit"],ST:["cf","fw","forward","striker","buteur","attaquant"]}),tl=Object.freeze({"2-3-5":[["RCB","LCB"],["RM","CM","LM"],["RW","ST","CAM","ST","LW"]],"3-1-4-2":[["RCB","CB","LCB"],["CDM"],["RM","CM","CM","LM"],["ST","ST"]],"3-2-2-3":[["RCB","CB","LCB"],["CDM","CDM"],["CAM","CAM"],["RW","ST","LW"]],"3-2-3-2":[["RCB","CB","LCB"],["CDM","CDM"],["RW","CAM","LW"],["ST","ST"]],"3-3-1-3":[["RCB","CB","LCB"],["RM","CM","LM"],["CAM"],["RW","ST","LW"]],"3-3-3-1":[["RCB","CB","LCB"],["RM","CM","LM"],["RW","CAM","LW"],["ST"]],"3-4-1-2":[["RCB","CB","LCB"],["RM","CM","CM","LM"],["CAM"],["ST","ST"]],"3-4-2-1":[["RCB","CB","LCB"],["RM","CM","CM","LM"],["CAM","CAM"],["ST"]],"3-4-3":[["RCB","CB","LCB"],["RM","CM","CM","LM"],["RW","ST","LW"]],"3-5-1-1":[["RCB","CB","LCB"],["RWB","CDM","CM","CDM","LWB"],["CAM"],["ST"]],"3-5-2":[["RCB","CB","LCB"],["RWB","CM","CDM","CM","LWB"],["ST","ST"]],"4-1-2-1-2":[["RB","RCB","LCB","LB"],["CDM"],["CM","CM"],["CAM"],["ST","ST"]],"4-1-3-2":[["RB","RCB","LCB","LB"],["CDM"],["RM","CM","LM"],["ST","ST"]],"4-1-4-1":[["RB","RCB","LCB","LB"],["CDM"],["RM","CM","CM","LM"],["ST"]],"4-2-1-3":[["RB","RCB","LCB","LB"],["CDM","CDM"],["CAM"],["RW","ST","LW"]],"4-2-2-2":[["RB","RCB","LCB","LB"],["CDM","CDM"],["CAM","CAM"],["ST","ST"]],"4-2-3-1":[["RB","RCB","LCB","LB"],["CDM","CDM"],["RW","CAM","LW"],["ST"]],"4-2-4":[["RB","RCB","LCB","LB"],["CM","CM"],["RW","ST","ST","LW"]],"4-3-1-2":[["RB","RCB","LCB","LB"],["CM","CDM","CM"],["CAM"],["ST","ST"]],"4-3-2-1":[["RB","RCB","LCB","LB"],["CM","CDM","CM"],["CAM","CAM"],["ST"]],"4-3-3":[["RB","RCB","LCB","LB"],["CM","CDM","CM"],["RW","ST","LW"]],"4-4-1-1":[["RB","RCB","LCB","LB"],["RM","CM","CM","LM"],["CAM"],["ST"]],"4-4-2":[["RB","RCB","LCB","LB"],["RM","CM","CM","LM"],["ST","ST"]],"4-5-1":[["RB","RCB","LCB","LB"],["RM","CM","CAM","CM","LM"],["ST"]],"5-2-1-2":[["RWB","RCB","CB","LCB","LWB"],["CM","CM"],["CAM"],["ST","ST"]],"5-2-2-1":[["RWB","RCB","CB","LCB","LWB"],["CDM","CDM"],["CAM","CAM"],["ST"]],"5-3-1-1":[["RWB","RCB","CB","LCB","LWB"],["CM","CDM","CM"],["CAM"],["ST"]],"5-3-2":[["RWB","RCB","CB","LCB","LWB"],["CM","CDM","CM"],["ST","ST"]],"5-4-1":[["RWB","RCB","CB","LCB","LWB"],["RM","CM","CM","LM"],["ST"]]});function tc(e){return String(e||"").toLowerCase().startsWith("fr")?"fr":"en"}function tu(e){let t,n=(t=String(e||"").trim().split(/[-\s]+/).map(e=>parseInt(e,10))).length<2||t.length>6||t.some(e=>!Number.isFinite(e)||e<1||e>9)?[]:10===t.reduce((e,t)=>
4e+t,0)?t:[],r=n.length>0?n.join("-"):ta;return tl[r]?r:ta}function td(e,t="en"){let n=to.en[e]?e:"CM",r=to[tc(t)][n]||to.en[n];return{roleKey:n,shortRole:r.shortRole,role:r.role,positionGroup:r.positionGroup}}function tm(e,t="en"){let n=tu(e),r=tl[n],i=[{line:1,col:1,slotIndex:0,...td("GK",t)}];return r.forEach((e,n)=>{e.forEach((e,r)=>{i.push({line:n+2,col:r+1,slotIndex:i.length,...td(e,t)})})}),i.map(e=>({...e,visualSlot:{formation:n,line:e.line,col:e.col,slotIndex:e.slotIndex,roleKey:e.roleKey}}))}function tp(e,t="en",n=""){let r=tm(e,t),i=new Set([e,n]);for(let e of r)for(let t of function(e){let t=to.en[e]?e:"CM",n=new Set([t,...ts[t]||[]]);for(let e of Object.keys(to)){let r=to[e][t];r&&(n.add(r.shortRole),n.add(r.role))}return[...n]}(e.roleKey))i.add(t);return[...i].filter(Boolean).join(" ")}var th=e.i(614010);function tf(e,t,n){return function(e,t,n){let r;if(!e)return{x:0,y:0,z:0};let[i,a]=String(e).split(":"),o=parseInt(i,10),s=parseInt(a,10);if(!Number.isFinite(o)||!Number.isFinite(s)||o<1||s<1)return{x:0,y:0,z:0};let l=tn((r=tn(t)).length>0?r.join("-"):"4-4-2"),c=l.length+1;if(1===o)return tr({x:"home"===n?-e7+5:e7-5,y:0,z:0});let u=l[o-2];if(!Number.isFinite(u)||s>u)return{x:0,y:0,z:0};let d=18.5+(o-2)/Math.max(c-1-1,1)*(te-18.5),m=2*tt/(u+1),p=-tt+s*m;return tr({x:"home"===n?-e7+d:e7-d,y:0,z:"home"===n?-p:p})}(e,t,n)}function tg(e){return{x:tx(e.x,-52.5,52.5),y:e.y,z:tx(e.z,-34,34)}}function tx(e,t,n){return 0===e?0:Math.min(n,Math.max(t,Math.sign(e)*Math.round(Math.abs(e)/e9.FORMATION_GRID_STEP_M)*e9.FORMATION_GRID_STEP_M))}function tb(e,t){if(e?.roleKey)return{roleKey:e.roleKey,shortRole:e.shortRole,role:e.role,positionGroup:e.positionGroup,visualSlot:e.visualSlot||null};let n=(t||"MID").toUpperCase();return{roleKey:null,role:n,shortRole:n,positionGroup:ty(t)||"MID",visualSlot:null}}function ty(e){let t=tv(e);return"G"===t?"GK":"D"===t?"DEF":"F"===t||"A"===t?"ATT":"M"===t?"MID":null}function tv(e){return(e||"").trim().slice(0,1).toUpperCase()}function tw(e){let t=[e.shortRole,e.role,e.positionGroup].filter(Boolean).join(" ").toUpperCase();return/\b(GK|G|GOALKEEPER|KEEPER)\b/.test(t)?"GK":/\b(D|DEF|CB|LB|RB|LWB|RWB|SW|BACK|DEFENDER)\b/.test(t)?"DEF":/\b(F|FW|ST|CF|LW|RW|ATT|FORWARD|STRIKER|WINGER)\b/.test(t)?"ATT":/\b(M|MID|DM|CM|AM|MF|MIDFIELDER)\b/.test(t)?"MID":"OTHER"}function t_(e){if(!e)return null;let t=e.replace(/^#/,"").trim();return/^[0-9a-fA-F]{3}([0-9a-fA-F]{3})?$/.test(t)?`#${t}`:null}function tk(e){return!!(e&&e.toLowerCase().startsWith("g"))}let tS="private",tj="shared",t$="Custom",tI=new Set(["GK","DEF","MID","ATT"]),tC={GK:1,DEF:2,MID:3,ATT:4},tN=e9.FORMATION_FIELD_HALF_LENGTH,tT=e9.FORMATION_FIELD_HALF_WIDTH;function tA(e,t=e9.FORMATION_SCALE_DEFAULT){let n=Number(e);return Number.isFinite(n)?Math.min(e9.FORMATION_SCALE_MAX,Math.max(e9.FORMATION_SCALE_MIN,n)):t}function tP(e){if(!e||"object"!=typeof e)return null;let t=tE(e.slots);return 0===t.length?null:{id:e.id||null,name:String(e.name||t$).trim()||t$,scope:e.scope===tj?tj:tS,baseFormation:e.baseFormation||null,slots:t,widthScale:tA(e.widthScale),depthScale:tA(e.depthScale),ownerId:e.ownerId||e.userId||null,ownerName:e.ownerName||null,canEdit:!0===e.canEdit}}function tE(e){return Array.isArray(e)?e.map((e,t)=>{let n=Number(e?.x),r=Number(e?.z);if(!Number.isFinite(n)||!Number.isFinite(r))return null;let i=tR(e);return{id:e?.id?String(e.id):`slot-${t+1}`,x:tZ(n,-tN,tN),z:tZ(r,-tT,tT),line:tB(e?.line)||tC[i],col:tB(e?.col)||t+1,roleKey:tU(e?.roleKey),role:tU(e?.role),shortRole:tU(e?.shortRole),positionGroup:i}}).filter(Boolean):[]}function tD(e,t,n=null){let r=(Array.isArray(e)?e:[]).filter(Boolean).map((e,n)=>{let r=function(e,t){if(!Array.isArray(e))return null;let n=Number(e[0]),r=Number(e[2]);return Number.isFinite(n)&&Number.isFinite(r)?"B"===t?{x:-n,z:-r}:{x:n,z:r}:null}(e.position,t),i=tR(e);return{player:e,index:n,group:i,line:tB(e.visualSlot?.line)||tC[i],point:r}}).filter(e=>e.point),i=new Map;for(let e of r){let t=String(e.line);i.set(t,[...i.get(t)||[],e])}for(let e of i.values())e.sort((e,t)=>
4e.point.z-t.point.z||e.index-t.index).forEach((e,t)=>{e.col=t+1});return r.sort((e,t)=>e.line-t.line||(e.col||0)-(t.col||0)||e.index-t.index).map(e=>({id:e.player.id,x:e.point.x,z:e.point.z,line:e.line,col:e.col||1,roleKey:e.player.roleKey||null,role:e.player.role||null,shortRole:e.player.shortRole||null,positionGroup:e.group,formation:n||e.player.visualSlot?.formation||null}))}function tM(e,t=1,n=1){let r=tE(e),i=tA(t),a=tA(n),o=r.filter(e=>"GK"!==e.positionGroup),s=o.length>0?o.reduce((e,t)=>e+t.x,0)/o.length:0;return r.map(e=>{let t="GK"===e.positionGroup;return{...e,x:t?e.x:tZ(s+(e.x-s)*a,-tN,tN),z:tZ(e.z*i,-tT,tT)}})}function tz(e,t){let n=Number(e),r=Number(t);return Number.isFinite(n)&&Number.isFinite(r)&&0!==r?n/r:1}function tF(e,t=e9.FORMATION_GRID_STEP_M){return{x:tO(e?.x,-tN,tN,t),z:tO(e?.z,-tT,tT,t)}}function tO(e,t,n,r=e9.FORMATION_GRID_STEP_M){return tZ(function(e,t=e9.FORMATION_GRID_STEP_M){let n=Number(e)||0,r=Number.isFinite(Number(t))&&Number(t)>0?Number(t):e9.FORMATION_GRID_STEP_M;return 0===n?0:Math.sign(n)*Math.round(Math.abs(n)/r)*r}(Number(e)||0,r),t,n)}function tL(e,t){let n=tZ(Number(e?.x)||0,-tN,tN),r=tZ(Number(e?.z)||0,-tT,tT);return"B"===t?{x:-n,z:-r}:{x:n,z:r}}function tR(e){let t=String(e?.positionGroup||"").trim().toUpperCase();if(tI.has(t))return t;let n=[e?.shortRole,e?.role,e?.roleKey].filter(Boolean).join(" ").toUpperCase();return/\b(GK|G|GB|GOALKEEPER|KEEPER|GARDIEN)\b/.test(n)?"GK":/\b(DEF|D|CB|DC|LB|DG|RB|DD|LWB|RWB|SW|BACK|DEFENDER|DEFENSEUR)\b/.test(n)?"DEF":/\b(F|FW|ST|CF|BU|LW|AG|RW|AD|ATT|FORWARD|STRIKER|WINGER|AILIER|ATTAQUANT|BUTEUR)\b/.test(n)?"ATT":(/\b(M|MID|DM|CDM|MDC|CM|MC|AM|CAM|MOC|MF|LM|MG|RM|MD|MIDFIELDER|MILIEU)\b/.test(n),"MID")}function tB(e){let t=Number(e);return Number.isInteger(t)&&t>0?t:null}function tU(e){return"string"!=typeof e?null:e.trim()||null}function tZ(e,t,n){return Math.min(n,Math.max(t,e))}let tG={2:{primary:"001489",secondary:"FFFFFF",goalkeeper:"FFCC00"},3:{primary:"C8102E",secondary:"FFFFFF",goalkeeper:"00A650"},6:{primary:"DF0024",secondary:"FFFFFF",goalkeeper:"004B87"},7:{primary:"FFFFFF",secondary:"75AADB",goalkeeper:"000000"},10:{primary:"FFFFFF",secondary:"002868",goalkeeper:"00FF00"},13:{primary:"DD0000",secondary:"FFFFFF",goalkeeper:"008000"},14:{primary:"E11A22",secondary:"0085CA",goalkeeper:"FFDD00"},21:{primary:"FCEA10",secondary:"0072CE",goalkeeper:"000000"},25:{primary:"DB0007",secondary:"FFFFFF",goalkeeper:"007A33"},85:{primary:"004170",secondary:"FFFFFF",goalkeeper:"DA291C"},81:{primary:"2FAEE0",secondary:"FFFFFF",goalkeeper:"000000"},80:{primary:"DD2847",secondary:"0A2D82",goalkeeper:"FFCC00"},94:{primary:"FFFFFF",secondary:"000000",goalkeeper:"FF6600"},116:{primary:"CC0000",secondary:"FFFFFF",goalkeeper:"000000"},91:{primary:"FC364A",secondary:"FFFFFF",goalkeeper:"FFFF00"},79:{primary:"FFFF00",secondary:"008000",goalkeeper:"000000"},33:{primary:"DA291C",secondary:"FFFFFF",goalkeeper:"00B140"},42:{primary:"EF0107",secondary:"FFFFFF",goalkeeper:"000000"},40:{primary:"C8102E",secondary:"FFFFFF",goalkeeper:"00A650"},49:{primary:"034694",secondary:"FFFFFF",goalkeeper:"FFCC00"},50:{primary:"6CABDD",secondary:"FFFFFF",goalkeeper:"FFD700"},47:{primary:"132257",secondary:"FFFFFF",goalkeeper:"FFD700"},529:{primary:"A50044",secondary:"004D98",goalkeeper:"000000"},541:{primary:"FEBE10",secondary:"00529B",goalkeeper:"FFFFFF"},530:{primary:"EE2528",secondary:"FFFFFF",goalkeeper:"000000"},543:{primary:"FFFFFF",secondary:"000000",goalkeeper:"FF6600"},489:{primary:"000000",secondary:"FFFFFF",goalkeeper:"FF0000"},505:{primary:"010E80",secondary:"000000",goalkeeper:"FF0000"},496:{primary:"FFFFFF",secondary:"000000",goalkeeper:"FF0000"},497:{primary:"A31E39",secondary:"DCA438",goalkeeper:"000000"},492:{primary:"5D2D91",secondary:"FFFFFF",goalkeeper:"000000"},157:{primary:"DD0734",secondary:"FFFFFF",goalkeeper:"000000"},165:{primary:"FDE100",secondary:"000000",goalkeeper:"00A650"},173:{primary:"DD0734",secondary:"FFFFFF",goalkeeper:"000000"},160:{primary:"0000EE",secondary:"FFFFFF",goalkeeper:"FFCC00"}};var tW=e.i(408451),tH=e.i(857827),tV=e.i(261752),tq=e.i(666970),tK=e.i(824092);let tJ="teamSelection",tX={starters:!0,substitutes:!1,selected:!0},tY=[{key:"showVision",copyKey:"visionArc",defaultValue:!0},{key:"showArea",copyKey:"actionArea",defaultValue:!0},{key:"showNumberDisk",copyKey:"disk",defaultValue:!0},{key:"showNumber",copyKey:"number",defaultValue:!0},{key:"showName",copyKey:"name",defaultValue:!1}],tQ={key:"showFloatingDynamic",copyKey:"dynamicPill",defaultValue:!1},t0=[{key:"showFloatingRole",copyKey:"role",defaultValue:!0},{key:"showFloatingName",copyKey:"name",defaultValue:!0},{key:"showFloatingNumber",copyKey:"number",defaultValue:!1},{key:"showFloatingPhoto",copyKey:"photo",defaultValue:!1},{key:"showCard",copyKey:"card",defaultValue:!1}],t1={onPitch:!1,floating:!1},t2=[{key:"ALL",label:"ALL"},{key:"ATT",label:"A",group:"ATT"},{key:"MID",label:"M",group:"MID"},{key:"DEF",label:"D",group:"DEF"}],t5=[{key:"players",label:"Players",icon:e2.FiMousePointer},{key:"structureAnchors",label:"Structure anchors",fieldLabel:"S"}
4,{key:"zoneAnchors",label:"Zone anchors",fieldLabel:"Z"},{key:"passAnchors",label:"Pass anchors",fieldLabel:"P"}],t4=[{key:"builtIn",copyKey:"builtIn",icon:e2.FiList},{key:"private",copyKey:"privatePreset",icon:e2.FiUser},{key:"shared",copyKey:"sharedPreset",icon:e2.FiGlobe}],t3=t4.map(e=>e.key),t6="formation",t8="preset",t9=[{key:"details",label:"Details",icon:e2.FiUser},{key:"visibility",label:"Visibility",icon:e2.FiEye},{key:"associations",label:"Associations",icon:e2.FiTarget}],t7=["GK","DEF","MID","ATT"],ne=[...t7],nt="🏆",nn=[{id:"lineup",copyKey:"progressLineup"},{id:"formation",copyKey:"progressFormation"},{id:"colors",copyKey:"progressColors"}],nr=e9.FORMATION_GRID_STEP_M,ni={en:{appearance:"Appearance",teamSelection:"Team selection",formation:"Formation",visibility:"Visibility",players:"Players",competitionPlaceholder:"Competition...",teamPlaceholder:"Team...",formationPlaceholder:"Formation...",loading:"loading",noTeams:"No teams found",noOptions:"No results",retry:"Retry",outfield:"Outfield",goalkeeper:"GK",jersey:"Jersey",number:"No.",border:"Border",shorts:"Shorts",current:"Current",teamVisible:"Team",substitutesVisible:"Bench",visible:"visible",hidden:"hidden",onPitch:"On pitch",floating:"Floating",visionArc:"Vision Arc",actionArea:"Action Area",disk:"Disk",name:"Name",role:"Role",dynamicPill:"Dynamic",photo:"Photo",card:"Card",scale:"Scale",height:"Height",starters:"Starters",substitutes:"Substitutes",selected:"Selected",selectedToAdd:"Selected to add",worldCupSquad:"World Cup squad",worldCupListReady:"World Cup list is ready, update the team !",notInLastFixture:"Not in last fixture",swapPosition:"Swap position",swapAction:"Swap",swapWaiting:"Pick two",swapReady:"Ready",edit:"Edit",source:"Source",lineupWarnings:"Lineup warnings",sourceFallback:"fallback",sourceGenerated:"generated",progressFixtures:"Fixtures",progressLineup:"Lineup",progressFormation:"Formation",progressColors:"Colors",progressPitch:"Pitch",progressPending:"pending",progressLoading:"loading",progressFound:"found",progressFallback:"fallback",progressDone:"done",progressChecking:"checking",progressUpdating:"updating",progressStreamFallback:"stream unavailable, using final result",playersCount:"players",passNetwork:"Pass Network",passCarrier:"Carrier",passTeam:"Team",teamDataRequiresLogin:"Log in or sign up for free to import real teams and latest lineups.",logIn:"Log in / sign up for free",applyFoundingTester:"Apply as Founding Tester",presets:"Presets",custom:"Custom",all:"All",builtIn:"Built-in",account:"Account",community:"Community",yourPrivate:"Your private",yourPublic:"Your public",communityPublic:"Community Public",publicSource:"Public",clearSearch:"Clear search",savePreset:"Save formation",savingPreset:"Saving...",privatePreset:"Private",sharedPreset:"Shared",width:"Width",depth:"Depth",opacity:"Opacity",thickness:"Thickness",zoneStyle:"Zones",passStyle:"Pass",selectMode:"Select",structureStyle:"Structure",opponent:"Opponent",management:"Management",shape:"Shape",overlays:"Overlays",anchors:"Anchors",live:"Live",teamColor:"Team color",customColor:"Custom color",overlayConfig:"Config",quickSetup:"⚡ QUICK SETUP",playerSearch:"Search players...",noPlayer:"Select a player",notes:"Notes",markdownNotesPlaceholder:"Markdown notes...",associations:"Associations",noAssociations:"No associations"},fr:{appearance:"Apparence",teamSelection:"Selection equipe",formation:"Formation",visibility:"Visibilite",players:"Joueurs",competitionPlaceholder:"Competition...",teamPlaceholder:"Equipe...",formationPlaceholder:"Formation...",loading:"chargement",noTeams:"Aucune equipe",noOptions:"Aucun resultat",retry:"Reessayer",outfield:"Joueurs",goalkeeper:"GB",jersey:"Maillot",number:"No",border:"Bord",shorts:"Short",current:"Actuelle",teamVisible:"Equipe",substitutesVisible:"Banc",visible:"visible",hidden:"masque",onPitch:"Terrain",floating:"Flottant",visionArc:"Vision",actionArea:"Zone",disk:"Disque",name:"Nom",role:"Role",dynamicPill:"Dynamique",photo:"Photo",card:"Carte",scale:"Taille",height:"Hauteur",starters:"Titulaires",substitutes:"Remplacants",selected:"Selection",selectedToAdd:"Selection a ajouter",worldCupSquad:"Groupe Coupe du monde",worldCupListReady:"Liste Coupe du monde prete, mets l'equipe a jour !",notInLastFixture:"Hors dernier match",swapPosition:"Echanger poste",swapAction:"Echanger",swapWaiting:"Choisir deux",swapReady:"Pret",edit:"Modifier",source:"Source",lineupWarnings:"Alertes compo",sourceFallback:"secours",sourceGenerated:"generee",progressFixtures:"Matchs",progressLineup:"Compo",progressFormation:"Formation",progressColors:"Couleurs",progressPitch:"Terrain",progressPending:"attente",progressLoading:"chargement",progressFound:"trouve",progressFallback:"secours",progressDone:"termine",progressChecking:"verification",progressUpdating:"mise a jour",progressStreamFallback:"stream indisponible, resultat final",playersCount:"joueurs",passNetwork:"Pass Network",passCarrier:"Porteur",passTeam:"Equipe",teamDataRequiresLogin:"Connectez-vous ou inscrivez-vous gratuitement pour importer les equipes reelles et les dernieres compos.",logIn:"Connexion / inscription gratuite",applyFoundingTester:"Candidater Founding Tester",presets:"Presets",custom:"Custom",all:"Tout",builtIn:"Integre",account:"Compte",community:"Communaute",yourPrivate:"Prive",yourPublic:"Public",communityPublic:"Communaute Public",publicSource:"Public",clearSearch:"Effacer recherche",savePreset:"Sauver formation",savingPreset:"Sauvegarde...",privatePreset:"Prive",sharedPreset:"Partage",width:"Largeur",depth:"Profondeur",opacity:"Opacite",thickness:"Epaisseur",zoneStyle:"Zones",passStyle:"Pass",selectMode:"Selection",structureStyle:"Structure",opponent:"Adversaire",management:"Gestion",shape:"Structure",overlays:"Calques",anchors:"Ancres",live:"Direct",teamColor:"Couleur equipe",customColor:"Couleur custom",overlayConfig:"Config",quickSetup:"⚡ QUICK SETUP",playerSearch:"
4Chercher joueurs...",noPlayer:"Choisir un joueur",notes:"Notes",markdownNotesPlaceholder:"Notes markdown...",associations:"Associations",noAssociations:"Aucune association"}};function na({isOpen:e,onClose:t,isPinned:n=!1,onPinToggle:i=null,initialOffset:o=null,onPositionChange:l=null,target:c=null,onTargetHandled:u=null}){let m=(0,d.useTranslations)("TeamMenu"),p=(0,tq.useAppAccess)(),h=p?.capabilities?.canUseTeamDataImports===!0,f=p?.isAuthenticated===!0,g=tc((0,e1.useLocale)()),x=ni[g]||ni.en,b="fr"===g?"/fr/app":"/app",v=`${"fr"===g?"/fr/login":"/login"}?callbackUrl=${encodeURIComponent(b)}`,w="fr"===g?"/fr/founding-testers":"/founding-testers",_=(0,s.usePlayerStore)(e=>e.teamAPlayers),k=(0,s.usePlayerStore)(e=>e.teamBPlayers),S=(0,s.usePlayerStore)(e=>e.teamASubs),j=(0,s.usePlayerStore)(e=>e.teamBSubs),$=(0,s.usePlayerStore)(e=>e.teamAInfo),I=(0,s.usePlayerStore)(e=>e.teamBInfo),C=(0,s.usePlayerStore)(e=>e.activeTeam),N=(0,s.usePlayerStore)(e=>e.setActiveTeam),T=(0,s.usePlayerStore)(e=>e.activePlayerForMenu),A=(0,s.usePlayerStore)(e=>e.setActivePlayerForMenu),P=(0,s.usePlayerStore)(e=>e.updateTeamInfo),E=(0,s.usePlayerStore)(e=>e.updatePlayerDetails),D=(0,s.usePlayerStore)(e=>e.updateMultiplePlayerPositions),M=(0,s.usePlayerStore)(e=>e.updateMultiplePlayerDetails),z=(0,s.usePlayerStore)(e=>e.swapTeamPlayerPositions),F=(0,s.usePlayerStore)(e=>e.applyTeamKitColors),O=(0,s.usePlayerStore)(e=>e.toggleTeamVisibility),L=(0,s.usePlayerStore)(e=>e.links),R=(0,s.usePlayerStore)(e=>e.zones),B=(0,s.usePlayerStore)(e=>e.selectedPlayers),U=(0,s.usePlayerStore)(e=>e.setTeamStructureLinks),Z=(0,s.usePlayerStore)(e=>e.removeTeamStructureLinks),G=(0,s.usePlayerStore)(e=>e.setTeamCoverageZones),W=(0,s.usePlayerStore)(e=>e.removeTeamCoverageZones),H=(0,s.usePlayerStore)(e=>e.voronoiDiagram?.enabled===!0),V=(0,s.usePlayerStore)(e=>e.toggleVoronoiDiagram),q=(0,s.usePlayerStore)(e=>e.setVoronoiDiagramEnabled),K=(0,s.usePlayerStore)(e=>e.passNetwork),J=(0,s.usePlayerStore)(e=>e.setPassNetworkEnabled),X=(0,s.usePlayerStore)(e=>e.setPassNetworkMode),Y=(0,s.usePlayerStore)(e=>e.setPassNetworkStyle),Q=(0,s.usePlayerStore)(e=>e.setPassNetworkAnchors),ee=(0,s.usePlayerStore)(e=>e.setPlayerPhoto),et=(0,s.usePlayerStore)(e=>e.removePlayerPhoto),en=(0,s.usePlayerStore)(e=>e.isProcessingPhoto),[er,ei]=(0,a.useState)([]),[ea,eo]=(0,a.useState)([]),[es,el]=(0,a.useState)(null),[ec,eu]=(0,a.useState)(!1),[ed,em]=(0,a.useState)(!1),[ep,eh]=(0,a.useState)(!1),[ef,eg]=(0,a.useState)(null),[ex,eb]=(0,a.useState)(()=>({A:rc(),B:rc()})),[ey,ev]=(0,a.useState)(()=>({A:ru(),B:ru()})),[ew,e_]=(0,a.useState)(null),[ek,eS]=(0,a.useState)([]),[ej,e$]=(0,a.useState)([]),[eI,eC]=(0,a.useState)(tJ),[eN,eT]=(0,a.useState)(tX),[eA,eP]=(0,a.useState)(t1),[eE,eD]=(0,a.useState)([]),[eM,ez]=(0,a.useState)(!1),[eF,eO]=(0,a.useState)(!1),[eL,eR]=(0,a.useState)(!1),[eB,eU]=(0,a.useState)(!1),[eZ,eG]=(0,a.useState)(null),[eW,eH]=(0,a.useState)("Custom"),[eV,eq]=(0,a.useState)(tS),[eK,eJ]=(0,a.useState)(t3),[eX,eY]=(0,a.useState)(null),[eQ,e0]=(0,a.useState)(1),[e7,te]=(0,a.useState)(1),[tt,tn]=(0,a.useState)([]),[tr,ti]=(0,a.useState)("players"),[ta,to]=(0,a.useState)(!1),[ts,tl]=(0,a.useState)([]),[td,tx]=(0,a.useState)([]),[tI,tC]=(0,a.useState)([]),[tE,tO]=(0,a.useState)("zone"),[tB,tU]=(0,a.useState)("details"),[tY,tQ]=(0,a.useState)(""),[t0,t2]=(0,a.useState)(ne),[t5,t9]=(0,a.useState)(null),[t7,nn]=(0,a.useState)(null),nr=(0,a.useRef)(null),ng=(0,a.useRef)([]),nx=(0,a.useRef)([]),nb=(0,a.useRef)({width:1,depth:1}),ny=(0,a.useRef)(null),nv=(0,a.useRef)(null),n_=(0,a.useRef)(!1),nk=(0,a.useRef)(null),nS=(0,a.useRef)(null),nj=(0,a.useCallback)(e=>{let t="function"==typeof e?e(nx.current):e;nx.current=Array.isArray(t)?t:[],tn(nx.current)},[]),n$="A"===C?$:I,nI="A"===C?_:k,nC="A"===C?S:j,nN=(0,a.useMemo)(()=>[...nI||[],...nC||[]],[nI,nC]),nT="A"===C?"B":"A",nA="A"===nT?$:I,nP="A"===nT?_:k,nE=ex[C]||rc(),nD=nE.selectedTeamId,nM=nE.lineupAnalysis,nz=nE.lineupProgress,nF=e8(ew||n$?.formation||e4),nO=n$?.customFormation?.name||nF,nL=(0,a.useMemo)(()=>(0,tW.hasTeamStructureLinks)(L,C),[L,C]),nR=(0,a.useMemo)(()=>(0,tH.hasTeamCoverageZones)(R,C),[R,C]),nU=K?.[C]||{enabled:!1,mode:tV.PASS_NETWORK_MODE_CARRIER},nZ=!0===nU.enabled,nG=nU.mode===tV.PASS_NETWORK_MODE_TEAM?tV.PASS_NETWORK_MODE_TEAM:tV.PASS_NETWORK_MODE_CARRIER,nW=(0,a.useMemo)(()=>f?t4:t4.filter(e=>"builtIn"===e.key),[f]),nH=(nI||[]).some(e=>!1!==e.visible),nV=(nC||[]).some(e=>!1!==e.visible),nq=(nI||[]).filter(e=>!1!==e.visible).length,nK=nN?.[0]?.floatingScale??1,nJ=nN?.[0]?.floatingHeight??1.5,nX=es?.id?String(es.id):"",nY=ey[C]||ru(),n0=rd(es)||null!==nY.teamId,n1=!0!==nY.fallbackOnly,n2=(0,a.useMemo)(()=>(function({squadPlayers:e,starters:t,substitutes:n,teamInfo:r,sourceLabel:i}
4){let a=new Set([...t||[],...n||[]].map(rh).filter(Boolean));return(Array.isArray(e)?e:[]).filter(e=>e?.id&&!a.has(String(e.id))).map(e=>{var t,n,a,o,s;let l,c,u,d,m,p;return t=e,n=r,a=i,d=(l=String((u=t.position||"")||"").toLowerCase()).includes("goalkeeper")?"GK":l.includes("defender")?"DEF":l.includes("midfielder")?"MID":l.includes("attacker")||l.includes("forward")?"ATT":"OTHER",m=(o=u,s=d,(c=String(o||"").toLowerCase()).includes("goalkeeper")?"GK":c.includes("defender")?"DEF":c.includes("midfielder")?"MID":c.includes("attacker")?"ATT":c.includes("forward")?"FW":"OTHER"===s?"SQ":s),p=rz(n?.color,"#64748b"),{id:rm(t),apiPlayerId:t.id,name:(t.name||"Player").toUpperCase(),number:t.number||"",role:u||"Squad player",shortRole:m,positionGroup:d,age:t.age||null,nationality:t.nationality||null,height:t.height||null,weight:t.weight||null,visible:!1,photoUrl:null,color:p,teamColor:p,source:"world-cup-squad",sourceLabel:a,listSourceLabel:a}})})({squadPlayers:nY.players,starters:n1&&nI||[],substitutes:n1&&nC||[],teamInfo:n$,sourceLabel:x.notInLastFixture}),[nY.players,x.notInLastFixture,nI,n1,nC,n$]),n5=(0,a.useMemo)(()=>T&&T.team===C?[...nI||[],...nC||[],...n2].find(e=>e.id===T.id)||null:(nI||[])[0]||n2[0]||null,[T,nI,n2,nC,C]),n4=(0,a.useMemo)(()=>(function({player:e,links:t,zones:n,allPlayers:r}){if(!e)return[];let i=new Map((r||[]).map(e=>[e.id,e])),a=e.id;return[...(t||[]).filter(e=>(e.playerIds||[]).includes(a)).map(e=>({id:e.id,kind:"Link",color:e.color,players:(e.playerIds||[]).filter(e=>e!==a).map(e=>i.get(e)).filter(Boolean)})),...(n||[]).filter(e=>(e.playerIds||[]).includes(a)).map(e=>({id:e.id,kind:"Zone",color:e.config?.color,players:(e.playerIds||[]).filter(e=>e!==a).map(e=>i.get(e)).filter(Boolean)}))]})({player:n5,links:L,zones:R,allPlayers:[..._||[],...S||[],...k||[],...j||[]]}),[n5,L,_,S,k,j,R]),n3=(0,a.useMemo)(()=>{let e=ek.length>0?ek:e3.map(e=>({value:e,source:"curated"})),t=new Map;for(let n of e){let e=rM(n);!e||t.has(e.value)||t.set(e.value,{type:t6,value:e.value,formation:e.value,label:e.value,source:x.builtIn,sourceKind:"builtIn",sourceLabel:x.builtIn,filterGroup:"builtIn",searchText:tp(e.value,g,x.builtIn)})}return t.has(nF)||t.set(nF,{type:t6,value:nF,formation:nF,label:nF,source:x.builtIn,sourceKind:"builtIn",sourceLabel:x.builtIn,filterGroup:"builtIn",searchText:tp(nF,g,x.builtIn)}),[...f?eE.map(e=>rD(e,x)).filter(Boolean):[],...t.values()]},[nF,f,x,eE,ek,g]),re=(0,a.useMemo)(()=>{let e=new Set(eK);return 0===e.size?[]:n3.filter(t=>e.has(t.filterGroup))},[n3,eK]),rt=(0,a.useMemo)(()=>eX&&n3.some(e=>e.value===eX)?eX:nF,[nF,n3,eX]),rn=(0,a.useMemo)(()=>(function(e,t=[]){let n=t.find(e=>!rF(e)),r=t.find(rF),i=e?.kitColors?.player||{},a=e?.kitColors?.goalkeeper||{},o=rz(e?.color,"#333333");return{player:{primary:rz(i.primary,rz(n?.primaryColor,o)),number:rz(i.number,rz(n?.numberColor,"#ffffff")),border:rz(i.border,rz(n?.borderColor,o))},goalkeeper:{primary:rz(a.primary,rz(r?.primaryColor,o)),number:rz(a.number,rz(r?.numberColor,"#ffffff")),border:rz(a.border,rz(r?.borderColor,o))}}})(n$,nI),[n$,nI]),ri=n$?.coverageStyle||{color:rn?.player?.primary||n$?.color||"#38bdf8",opacity:.16},rs={color:rz(n$?.structureStyle?.color,(0,tK.accentColor)(n$?.color||"#34d399"))},rS=(0,a.useMemo)(()=>tD(nP||[],nT,nA?.customFormation?.baseFormation||nA?.formation||e4),[nA?.customFormation?.baseFormation,nA?.formation,nP,nT]),rN=(0,a.useMemo)(()=>{var e,t;let n;return e=nI||[],t=tt,n=new Set((Array.isArray(e)?e:[]).map(e=>e?.id).filter(Boolean)),rj((Array.isArray(t)?t:[]).map(e=>e?.id)).filter(e=>n.has(e))},[tt,nI]),rR=(0,a.useMemo)(()=>(function(e,t,n){let r=Array.isArray(e)?e.filter(Boolean):[],i=Array.isArray(t)?t.filter(Boolean):[];if(0===i.length)return r;let a=new Map(r.map(e=>[e.id,e]));return i.map(e=>{let t=a.get(e.id);if(!t)return null;let r=tL(e,n);return{...t,position:[r.x,0,r.z],roleKey:e.roleKey??t.roleKey??null,role:e.role??t.role??null,shortRole:e.shortRole??t.shortRole??null,positionGroup:e.positionGroup||t.positionGroup||null,visualSlot:{...t.visualSlot||{},formation:e.formation||t.visualSlot?.formation||null,line:e.line,col:e.col,custom:!0}}}
4).filter(Boolean)})(nI||[],tt,C),[tt,nI,C]),rB=(0,a.useMemo)(()=>{var e,t;let n=(e=L,t=C,rI((Array.isArray(e)?e:[]).filter(e=>e?.source===tW.TEAM_STRUCTURE_LINK_SOURCE&&e.structureTeam===t)));return td.length>0?td:n},[L,td,C]),rU=(0,a.useMemo)(()=>{var e,t;let n=(e=R,t=C,rI((Array.isArray(e)?e:[]).filter(e=>e?.source===tH.TEAM_COVERAGE_ZONE_SOURCE&&e.coverageTeam===t)));return ts.length>0?ts:n},[C,ts,R]),rZ=(0,a.useMemo)(()=>{if(tI.length>0)return tI;let e=rj(nU.anchorIds);return e.length>0?e:nZ?rN:[]},[nU.anchorIds,rN,tI,nZ]),rG=rC(nU,n$.color),rW="B"===C!==ta,rH="B"===nT!==ta,rV=(0,a.useMemo)(()=>rL(nI||[],tY,t0),[t0,tY,nI]),rq=(0,a.useMemo)(()=>rL(nC||[],tY,t0),[t0,tY,nC]),rK=(0,a.useMemo)(()=>rL(n2,tY,t0),[t0,tY,n2]),rJ=n0||nY.loading||!!nY.error||nY.players.length>0,rX=n2.length>0,rY=(0,a.useCallback)(({force:t=!1}={})=>{if(!f||!e||!t&&eM||nS.current)return;let n=new AbortController;nS.current=n,eO(!0),eR(!0),eG(null),no("/api/formation-presets",{signal:n.signal}).then(e=>{eD((e.presets||[]).map(tP).filter(Boolean)),ez(!0)}).catch(e=>{"AbortError"!==e.name&&eG(e.message)}).finally(()=>{nS.current===n&&(nS.current=null),eR(!1)})},[f,eM,e]),rQ=(0,a.useCallback)((e,t)=>{("A"===e||"B"===e)&&eb(n=>{let r=n[e]||rc(),i="function"==typeof t?t(r):t;return{...n,[e]:{...r,...i}}})},[]),r0=(0,a.useCallback)(()=>{eb({A:rc(),B:rc()})},[]),r1=(0,a.useCallback)((e,t)=>{("A"===e||"B"===e)&&ev(n=>{let r=n[e]||ru(),i="function"==typeof t?t(r):t;return{...n,[e]:{...r,...i}}})},[]),r2=(0,a.useCallback)(()=>{ev({A:ru(),B:ru()})},[]),r5=(0,a.useCallback)(async(e,t)=>{r1(t,{teamId:e,loading:!0,error:null,players:[],source:"world-cup-squad",fallbackOnly:!1});try{let n=await no(`/api/teams/${e}/world-cup-squad`),r=(n.squad||n.players||[]).filter(Boolean);return r1(t,{teamId:e,loading:!1,error:null,players:r,source:n.source||"world-cup-squad",cache:n.cache||null,fallbackOnly:!1}),r}catch(n){return r1(t,{teamId:e,loading:!1,error:n.message,players:[],source:"world-cup-squad",fallbackOnly:!1}),[]}},[r1]);(0,a.useEffect)(()=>{e&&(eC(tJ),eT(tX),eP(t1),e$([]),eO(!1),eJ(f?t3:["builtIn"]),t2(ne),eR(!1),eG(null))},[f,e]),(0,a.useEffect)(()=>{if(!e){nS.current&&(nS.current.abort(),nS.current=null),eR(!1);return}rY()},[e,rY]),(0,a.useEffect)(()=>{e&&c&&(("A"===c.team||"B"===c.team)&&N(c.team),c.section&&eC(c.section),c.tab&&tU(c.tab),c.team&&c.playerId&&A(c.team,c.playerId),u?.())},[e,u,A,N,c]),(0,a.useEffect)(()=>{if(!e||!h||er.length>0)return;let t=new AbortController;return eu(!0),eg(null),no("/api/competitions",{signal:t.signal}).then(e=>{let t=e.competitions?.filter(e=>e.currentSeason)||[];ei(t),e.error&&0===t.length&&eg(e.error)}).catch(e=>{"AbortError"!==e.name&&eg(e.message)}).finally(()=>{t.signal.aborted||eu(!1)}),()=>t.abort()},[h,e,er.length]),(0,a.useEffect)(()=>{if(!e||!h||"formation"!==eI||ek.length>0)return;let t=new AbortController;return no("/api/formations",{signal:t.signal}).then(e=>{let t=(e.formations||[]).map(rM).filter(Boolean);eS(t.length>0?t:e3.map(e=>({value:e,source:"curated"})))}).catch(e=>{"AbortError"!==e.name&&eS(e3.map(e=>({value:e,source:"curated"})))}),()=>t.abort()},[eI,h,e,ek.length]),(0,a.useLayoutEffect)(()=>{e_(n$?.formation||null)},[C,n$?.formation]),(0,a.useEffect)(()=>{nb.current={width:eQ,depth:e7}},[e7,eQ]),(0,a.useLayoutEffect)(()=>{let e=tD(nI||[],C,nO),t=rk(e),n=rk(n$?.customFormation?.slots||[]),r=nk.current;if(r?.team===C&&t===r.expectedSignature){r.updateBase&&(ng.current=e),nk.current=null,eH(n$?.customFormation?.name||nO||"Custom");return}r?.team===C&&t===r.previousSignature&&n===r.expectedSignature||(ng.current=e,nx.current=e,nj(e),nk.current=null),eH(n$?.customFormation?.name||nO||"Custom")},[nO,nI,nj,n$?.customFormation?.name,n$?.customFormation?.slots,C]),(0,a.useLayoutEffect)(()=>{eT(tX),eP(t1),e$([]),tl([]),tx([]),tC(rj(s.usePlayerStore.getState().passNetwork?.[C]?.anchorIds)),nb.current={width:e9.FORMATION_SCALE_DEFAULT,depth:e9.FORMATION_SCALE_DEFAULT},nk.current=null,e0(e9.FORMATION_SCALE_DEFAULT),te(e9.FORMATION_SCALE_DEFAULT),to(!1),eY(null),tQ(""),t2(ne)},[C]),(0,a.useEffect)(()=>{(T?.team!==C||!n5)&&(nI||[])[0]&&A(C,nI[0].id)},[n5,T?.team,nI,A,C]),(0,a.useEffect)(()=>{"zoneAnchors"===tr&&tO("zone"),"structureAnchors"===tr&&tO("structure"),"passAnchors"===tr&&tO("pass")},[tr]);let r4=(0,a.useCallback)(e=>{eT(t=>({...t,[e]:!t[e]}))},[]),r3=(0,a.useCallback)(()=>{eT(e=>({...e,selected:!0})),n2[0]&&A(C,n2[0].id),eC("players")},[n2,A,C]),r6=(0,a.useCallback)(e=>{eP(t=>({...t,[e]:!t[e]}))},[]),r8=(0,a.useCallback)(()=>{el(null),eo([]),e_(null),r0(),r2(),eg(null),e$([])},[r0,r2]),r9=async e=>{let t=Number(e);if(!t)return void r8();let n=er.find(e=>e.id===t);if(n){el(n),eo([]),e_(null),r0(),r2(),em(!0),eg(null);try{var r;let e=(r=n,rd(r)?2026:r?.currentSeason),t=await no(`/api/teams?competition=${n.id}&season=${e}`);eo(t.teams?.filter(e=>e.id)||[])}catch(e){eg(e.message)}finally{em(!1)}}},r7=(0,a.useCallback)(()=>{r8()},[r8]),ie=async e=>{let t=Number(e),n=ea.find(e=>e.id===t);if(!n)return;let r=rd(es),i=r?r5(n.id,C):Promise.resolve([]);r||r1(C,ru()),rQ(C,{selectedTeamId:String(t),lineupAnalysis:null,lineupProgress:rl()}),eh(!0),eg(null);try{let e;try{e=await ns(`/api/teams/${n.id}/last-lineup?stream=1`,e=>{rQ(C,t=>({lineupProgress:function(e,t,n){let r=rg(e);switch(t?.event){case"stream-start":rx(r,"lineup","loading",""),r.message=t.message||r.message||"";break;case"heartbeat":r.message=t.tick?`${t.message||"Still checking lineup data..."} (${t.tick})`:t.message||r.message||"";break;
4case"fixtures":rx(r,"fixtures","found"===t.status?"done":"loading",t.count?`${t.checkedLimit||t.count}/${t.count}`:""),"found"===t.status&&(rx(r,"lineup","loading",""),rx(r,"formation","loading",""),rx(r,"colors","loading",""));break;case"fixture-check":rx(r,"lineup","loading",ry(t.fixture,n));break;case"source-found":"lineup"===t.part&&rx(r,"lineup","found",ry(t.source,n)),"formation"===t.part&&rx(r,"formation","found",ry(t.source,n)),"colors"===t.part&&rx(r,"colors","found",ry(t.source,n));break;case"source-fallback":"formation"===t.part&&rx(r,"formation","fallback","4-4-2"),"colors"===t.part&&rx(r,"colors","fallback","");break;case"persisting":rx(r,"pitch","done"===t.status?"done":"loading","Saving lineup"),r.message="done"===t.status?"":"Saving lineup data...";break;case"result":rx(r,"pitch","loading",""),r.message=""}return r}(t.lineupProgress||rl(),e,g)}))})}catch{rQ(C,e=>{var t,n;return{lineupProgress:(t=e.lineupProgress||rl(),n=x.progressStreamFallback,{...rg(t),message:n})}}),e=await no(`/api/teams/${n.id}/last-lineup`)}if(!e.lineup){let e=await i;if(e.length>0){eg(null),Z(C),W(C),Q(C,[]),s.usePlayerStore.setState(t=>(function({state:e,targetTeamSlot:t,team:n,squadPlayers:r}){let i,a="A"===t,o=a?"teamAInfo":"teamBInfo",s=e[o]||{},l=(i=tG[Number(n?.id)||0]||{primary:"333333",secondary:"EEEEEE",goalkeeper:"00AA00"},{primaryColor:`#${i.primary}`,secondaryColor:`#${i.secondary}`,goalkeeperColor:`#${i.goalkeeper}`}),c=rz(l.primaryColor,"#333333"),u=rz(l.secondaryColor,"#eeeeee"),d=rz(l.goalkeeperColor,"#00aa00"),m=r[0]?{team:t,id:rm(r[0])}:null;return{[a?"teamAPlayers":"teamBPlayers"]:[],[a?"teamASubs":"teamBSubs"]:[],[o]:{...s,name:n?.name||s.name,color:c,formation:e4,customFormation:null,kitColors:{player:{primary:c,number:u,border:u},goalkeeper:{primary:d,number:u,border:u}}},activeTeam:t,activePlayerForMenu:m,selectedPlayers:(e.selectedPlayers||[]).filter(e=>e.team!==t)}})({state:t,targetTeamSlot:C,team:n,squadPlayers:e})),e_(null),r1(C,{fallbackOnly:!0}),rQ(C,e=>({lineupAnalysis:null,lineupProgress:rb(e.lineupProgress,"done",x.worldCupSquad)})),A(C,rm(e[0])),eC("players");return}eg("No lineup available for this team"),rQ(C,e=>({lineupAnalysis:null,lineupProgress:rb(e.lineupProgress,"error","No lineup")}));return}let t=e.lineup;rQ(C,e=>{var n,r,i;let a,o;return{lineupProgress:rb((n=e.lineupProgress||rl(),r=t,i=g,a=rg(n),o=r?.sources||{},rx(a,"fixtures","done",""),o.starters&&rx(a,"lineup","found",ry(o.starters,i)),o.shape&&rx(a,"formation","generated"===o.shape.type?"fallback":"found","generated"===o.shape.type?"4-4-2":ry(o.shape,i)),o.colors&&rx(a,"colors","fallback"===o.colors.type?"fallback":"found","fallback"===o.colors.type?"":ry(o.colors,i)),a),"loading",x.progressUpdating)}});let r="A"===C?"home":"away",a=function(e,t,n="en"){let r="home"===t?"A":"B",i=e.colors?.player||{},a=e.colors?.goalkeeper||{},o=[0,"home"===t?-Math.PI/2:Math.PI/2,0],s=t_(i.primary),l=t_(i.number),c=t_(i.border),u=t_(a.primary),d=t_(a.number),m=t_(a.border),p=t_(e.team.primaryColor)||s||"#333333",h=e8(e.formation),f=tu(h),g=function(e,t,n){let r=function(e,t){if(e.some(e=>{let t=tv(e.pos);return"D"===t||"M"===t||"F"===t||"A"===t}))return e.map((t,n)=>{let r=tv(t.pos);return"G"!==r&&(0!==n||e.some(e=>"G"===tv(e.pos)))?"D"===r?"DEF":"F"===r||"A"===r?"ATT":"MID":"GK"});let n=e6(e8(t)),r=[];return n.forEach((e,t)=>{let i=0===t?"DEF":t===n.length-1?"ATT":"MID";for(let t=0;t<e;t+=1)r.push(i)}),e.map((e,t)=>0===t?"GK":r[t-1]||"MID")}(e,t),i={GK:[],DEF:[],MID:[],ATT:[]};r.forEach((e,t)=>{i[e].push({index:t})});let a=e.map(()=>({x:0,y:0,z:0}));for(let e of["GK","DEF","MID","ATT"]){let t=i[e];t.forEach((r,i)=>{a[r.index]=function(e,t,n,r){let i={GK:-47.5,DEF:-34,MID:-18.5,ATT:-3}[e],a=30*("GK"!==e),o=n>1?-a+(t+1)*(n>1?2*a/(n+1):0):0;return{x:"home"===r?i:-i,y:0,z:"home"===r?-o:o}}(e,i,t.length,n)})}return a}(e.startXI,f,t),x=tm(f,n),b=new Map(x.map(e=>[`${e.line}:${e.col}`,e])),y=f===h,v=e.startXI.map((e,n)=>{let r=(y&&function(e){if(!e)return!1;let[t,n]=e.split(":").map(e=>parseInt(e,10));return Number.isFinite(t)&&Number.isFinite(n)&&t>0&&n>0}(e.grid)?b.get(e.grid):null)||x[n],i=tg(r?tf(`${r.line}:${r.col}`,f,t):g[n]),a=tk(e.pos),h=tb(r,e.pos),v=(a?u:s)||p;return{id:`api-${e.player_id}`,name:(e.name||"").toUpperCase(),number:e.number,position:[i.x,i.y,i.z],rotation:o,...h,photoUrl:null,showNumber:!0,showName:!1,showFloatingName:!0,showFloatingNumber:!1,showFloatingRole:!0,showFloatingPhoto:!1,show
4FloatingDynamic:!1,showNumberDisk:!0,floatingScale:1,floatingHeight:1.5,color:p,primaryColor:v,borderColor:a?m:c,numberColor:a?d:l,visible:!0,movements:[],playerPrimaryColor:v}});return{team:r,players:v,substitutes:e.substitutes.map((e,n)=>{let r=tk(e.pos),i=(r?u:s)||p,a=(e.pos||"SUB").toUpperCase();return{id:`api-sub-${e.player_id}`,name:(e.name||"").toUpperCase(),number:e.number,position:(0,th.benchPosition)(n,t),rotation:o,role:a,roleKey:null,shortRole:a,positionGroup:ty(e.pos)||"SUB",visualSlot:null,photoUrl:null,showNumber:!0,showName:!1,showFloatingName:!0,showFloatingNumber:!1,showFloatingRole:!0,showFloatingPhoto:!1,showFloatingDynamic:!1,showNumberDisk:!0,floatingScale:1,floatingHeight:1.5,visible:!1,color:p,primaryColor:i,borderColor:r?m:c,numberColor:r?d:l,movements:[],playerPrimaryColor:i}}),colorHex:p,teamName:e.team.name,formation:h,kitColors:{player:{primary:s||p,number:l,border:c},goalkeeper:{primary:u||p,number:d,border:m}}}}(t,r,g),o="A"===C,l=new Set([...a.players.map(e=>e.id),...a.substitutes.map(e=>e.id)]);Z(C),W(C),s.usePlayerStore.setState(e=>{let t=function(e,t){let n=("A"===t?[...e.teamAPlayers||[],...e.teamASubs||[]]:[...e.teamBPlayers||[],...e.teamBSubs||[]]).find(Boolean)||{};return{showFloatingName:!1!==n.showFloatingName,showFloatingNumber:!0===n.show
4FloatingNumber,showFloatingRole:!1!==n.showFloatingRole,showFloatingPhoto:!0===n.showFloatingPhoto,showFloatingDynamic:!0===n.showFloatingDynamic,showCard:!0===n.showCard,floatingScale:n.floatingScale??1,floatingHeight:n.floatingHeight??1.5}}(e,C),n=rT(a.players,t),r=rT(a.substitutes,t);return{[o?"teamAPlayers":"teamBPlayers"]:n,[o?"teamASubs":"teamBSubs"]:r,[o?"teamAInfo":"teamBInfo"]:{name:a.teamName,color:a.colorHex,formation:a.formation,kitColors:a.kitColors},activeTeam:C,activePlayerForMenu:n[0]?{team:C,id:n[0].id}:null,selectedPlayers:e.selectedPlayers.filter(e=>e.team!==C||l.has(e.id))}}),e_(a.formation),rQ(C,e=>{var n,r;let i,a,o,s;return{lineupAnalysis:(n=t,r=g,i=ra(n,"starters",r),a=ra(n,"shape",r),o=n?.sources?.starters?.fixtureId||n?.sources?.starters?.id,s=n?.sources?.shape?.fixtureId||n?.sources?.shape?.id,o&&String(o)===String(s||"")&&(ro(i,o,"lineup"),ro(a,o,"formation")),{_syncLinked:!!(o&&String(o)===String(s||"")),_syncFixtureId:o&&String(o)===String(s||"")?String(o):null,lineup:i,formation:a,colors:ra(n,"colors",r)}),lineupProgress:rb(e.lineupProgress,"done",x.progressDone)}}),e$([])}catch(e){eg(e.message),rQ(C,t=>({lineupAnalysis:null,lineupProgress:rb(t.lineupProgress,"error",e.message)}))}finally{eh(!1)}},it=(0,a.useCallback)(()=>{rQ(C,rc()),r1(C,ru()),eg(null),e$([])},[C,rQ,r1]),ir=(0,a.useCallback)(e=>{let t=e8(e),n=function(e,t,n,r,i="en"){let a=tu(e8(t)),o=function(e,t){var n;let r=Array.isArray(e)?e.filter(Boolean):[];if(0===r.length)return[];let i=(n=r).find(e=>"GK"===tw(e))||n[0]||null,a=r.filter(e=>e!==i),o={DEF:[],MID:[],ATT:[],OTHER:[]};a.forEach(e=>{let t=tw(e);o["GK"===t?"OTHER":t].push(e)});let s=[];i&&s.push({player:i,line:1,col:1}),t.forEach((e,n)=>{let r=0===n?"DEF":n===t.length-1?"ATT":"MID";for(let t=1;t<=e;t+=1){let e=function(e,t){for(let n of"DEF"===t?["DEF","MID","ATT","OTHER"]:"ATT"===t?["ATT","MID","DEF","OTHER"]:["MID","DEF","ATT","OTHER"]){let t=e[n].shift();if(t)return t}return null}(o,r);e&&s.push({player:e,line:n+2,col:t})}});let l=Math.max(2,t.length+1);return[...o.DEF,...o.MID,...o.ATT,...o.OTHER].forEach((e,t)=>{s.push({player:e,line:l,col:t+1})}),s}(e,e6(a)),s=function(e,t="en"){return new Map(tm(e,t).map(e=>[`${e.line}:${e.col}`,e]))}(a,i);return o.map(({player:e,line:t,col:i})=>{let o=tg(tf(`${t}:${i}`,a,n)),l=s.get(`${t}:${i}`);return{team:r,id:e.id,position:[o.x,o.y,o.z],...l?tb(l,null):{}}})}(nI||[],t,"A"===C?"home":"away",C,g);nk.current=null,n.length>0&&D(n),Z(C),W(C),P(C,{formation:t,customFormation:null}),e_(t),nb.current={width:e9.FORMATION_SCALE_DEFAULT,depth:e9.FORMATION_SCALE_DEFAULT},e0(e9.FORMATION_SCALE_DEFAULT),te(e9.FORMATION_SCALE_DEFAULT),e$([])},[nI,W,Z,g,C,D,P]),ii=(0,a.useCallback)(e=>{let t=rO(nI||[],e),n=new Set(t.map(e=>e.id)),r=new Set(B.filter(e=>e.team===C).map(e=>e.id)),i=t.length>0&&t.every(e=>r.has(e.id)),a=B.filter(e=>e.team!==C||!n.has(e.id));i?s.usePlayerStore.setState({selectedPlayers:a}):s.usePlayerStore.setState({selectedPlayers:[...a,...t.map(e=>({team:C,id:e.id}))]})},[nI,B,C]),ia=(0,a.useCallback)(e=>{let t=rj(e);if(tx(t),0===t.length)return void Z(C);let n=(0,tW.buildTeamStructureLinks)(rR,{team:C,formation:nO,color:rs.color,thickness:.5,anchorIds:t});n.length>0?U(C,n):Z(C)},[nO,rR,Z,U,rs.color,C]),io=(0,a.useCallback)(e=>{let t=rj(e);if(tl(t),0===t.length)return void W(C);let n=(0,tH.buildTeamCoverageZones)(rR,{team:C,formation:nO,color:ri.color,opacity:ri.opacity,anchorIds:t});q(!1),n.length>0?G(C,n):W(C)},[nO,rR,W,G,q,C,ri.color,ri.opacity]),is=(0,a.useCallback)(e=>{let t=rj(e);tC(t),Q(C,t),J(C,t.length>0)},[Q,J,C]),il=(0,a.useCallback)((e,t)=>{var n,r;let i,a,o=(n="structureAnchors"===e?td:"passAnchors"===e?tI:ts,r=t,i=new Set(rj(n)),0===(a=rj(r)).length||(a.every(e=>i.has(e))?a.forEach(e=>i.delete(e)):a.forEach(e=>i.add(e))),[...i]);"structureAnchors"===e?ia(o):"passAnchors"===e?is(o):io(o)},[is,ia,io,tI,td,ts]),ic=(0,a.useCallback)(e=>{let t=rO(nI||[],e).map(e=>e.id);"players"===tr?ii(e):il(tr,t)},[tr,ii,nI,il]),iu=(0,a.useCallback)(e=>{if(e){if(n_.current){n_.current=!1;return}if("players"===tr){let t=B.some(t=>t.team===C&&t.id===e);s.usePlayerStore.setState({selectedPlayers:t?B.filter(t=>t.team!==C||t.id!==e):[...B,{team:C,id:e}]}),A(C,e);return}il(tr,[e])}},[tr,B,A,C,il]);(0,a.useCallback)(e=>{if(Array.isArray(e)&&0!==e.length){if("players"===tr){let t=new Set(B.filter(e=>e.team===C).map(e=>e.id)),n=e.every(e=>t.has(e)),r=B.filter(t=>t.team!==C||!e.includes(t.id));s.usePlayerStore.setState({selectedPlayers:n?r:[...r,...e.map(e=>({team:C,id:e}))]});return}il(tr,e)}},[tr,B,C,il]);let id=(0,a.useCallback)(e=>{let t=rj(e);if("players"===tr){s.usePlayerStore.setState({selectedPlayers:[...B.filter(e=>e.team!==C),...t.map(e=>({team:C,id:e}))]}),t[0]&&A(C,t[0]);return}"structureAnchors"===tr?ia(t):"passAnchors"===tr?is(t):io(t)},[is,ia,io,tr,B,A,C]),im=(0,a.useCallback)(e=>{ti(e),"zoneAnchors"===e&&tO("zone"),"structureAnchors"===e&&tO("structure"),"passAnchors"===e&&tO("pass")},[]),ip=(0,a.useCallback)(e=>{tO(e),"zone"===e&&ti("zoneAnchors"),"structure"===e&&ti("structureAnchors"),"pass"===e&&ti("passAnchors")},[]),ih=(0,a.useCallback)(()=>
4{if(im("structureAnchors"),nL||td.length>0)return void ia([]);let e=rI((0,tW.buildTeamStructureLinks)(rR,{team:C,formation:nO,color:rs.color,thickness:.5}));ia(e.length>0?e:r$(rR))},[nO,ia,rR,nL,td,rs.color,im,C]),ig=(0,a.useCallback)(()=>{if(im("zoneAnchors"),nR||ts.length>0)return void io([]);let e=rI((0,tH.buildTeamCoverageZones)(rR,{team:C,formation:nO,color:ri.color,opacity:ri.opacity}));io(e.length>0?e:rN)},[nO,io,nR,rN,im,rR,C,ts,ri.color,ri.opacity]),ix=(0,a.useCallback)(()=>{tO("voronoi"),V()},[V]),ib=(0,a.useCallback)(()=>{(im("passAnchors"),nZ||tI.length>0)?is([]):is(rN)},[is,rN,im,tI.length,nZ]),iy=(0,a.useCallback)(e=>{im("passAnchors"),X(C,e)},[im,X,C]),iv=(0,a.useCallback)(e=>{let t={color:e.color||ri.color,opacity:function(e,t=.5){let n=Number(e);return Number.isFinite(n)?rP(n,.05,1):t}(e.opacity,ri.opacity)};if(P(C,{coverageStyle:t}),nR){let e=(0,tH.buildTeamCoverageZones)(rR,{team:C,formation:nO,color:t.color,opacity:t.opacity,anchorIds:ts});q(!1),G(C,e)}},[nO,nR,rR,G,q,C,P,ts,ri.color,ri.opacity]),iw=(0,a.useCallback)(e=>{let t={color:rz(e.color,rs.color)};if(P(C,{structureStyle:t}),nL){let e=rB.length>0?rB:r$(rR),n=(0,tW.buildTeamStructureLinks)(rR,{team:C,formation:nO,color:t.color,thickness:.5,anchorIds:e});U(C,n)}},[nO,rR,U,nL,rB,rs.color,C,P]),i_=(0,a.useCallback)(e=>{Y(C,e)},[Y,C]),ik=(0,a.useCallback)((e,{name:t=eW||"Custom",baseFormation:n=nF,widthScale:r=eQ,depthScale:i=e7,removeGenerated:a=!1,updateBase:o=!0,updateCustomFormation:s=!0}={})=>{let l=tP({name:t,baseFormation:n,slots:e,widthScale:1,depthScale:1});if(!l)return[];let c=rk(tD(nI||[],C,nO));o&&(ng.current=l.slots),nx.current=l.slots,nk.current={team:C,previousSignature:c,expectedSignature:rk(l.slots),updateBase:o,slots:l.slots};let u=function(e,t,n,{widthScale:r=1,depthScale:i=1}={}){let a=tP(t);if(!a)return[];let o=tM(a.slots,r,i),s=(Array.isArray(e)?e:[]).filter(Boolean),l=new Set,c=[];for(let e of o){let t=function(e,t,n){let r=e.find(e=>e.id===t.id&&!n.has(e.id));if(r)return r;let i=e.find(e=>!n.has(e.id)&&tR(e)===t.positionGroup);return i||e.find(e=>!n.has(e.id))||null}(s,e,l);if(!t)continue;l.add(t.id);let r=tL(e,n);c.push({team:n,id:t.id,position:[r.x,0,r.z],roleKey:e.roleKey??t.roleKey??null,role:e.role??t.role??null,shortRole:e.shortRole??t.shortRole??null,positionGroup:e.positionGroup||tR(t),visualSlot:{formation:a.name,line:e.line,col:e.col,custom:!0,presetId:a.id}})}return c}(nI||[],l,C,{widthScale:1,depthScale:1});return u.length>0&&D(u),a&&(Z(C),W(C),tx([]),tl([])),s&&P(C,{formation:n,customFormation:{name:l.name,baseFormation:n,slots:l.slots,widthScale:r,depthScale:i}}),l.slots},[nF,nO,e7,eW,eQ,nI,W,Z,C,D,P]),iS=(0,a.useCallback)(e=>{let t=tP(e);t&&(eH(t.name),nb.current={width:e9.FORMATION_SCALE_DEFAULT,depth:e9.FORMATION_SCALE_DEFAULT},e0(e9.FORMATION_SCALE_DEFAULT),te(e9.FORMATION_SCALE_DEFAULT),nj(t.slots),ng.current=t.slots,ik(t.slots,{name:t.name,baseFormation:t.baseFormation||nF,widthScale:e9.FORMATION_SCALE_DEFAULT,depthScale:e9.FORMATION_SCALE_DEFAULT,removeGenerated:!0}))},[nF,nj,ik]),ij=(0,a.useCallback)((e,t)=>{if(t?.type===t8){eY(t.value),iS(t.preset);return}let n=t?.formation||e;eY(n),ir(n)},[iS,ir]),i$=(0,a.useCallback)(e=>{eJ(t=>rA(t,e))},[]),iI=(0,a.useCallback)(()=>{eG(null),ez(!1),eO(!1),nS.current&&(nS.current.abort(),nS.current=null),eR(!1),rY({force:!0})},[rY]),iC=(0,a.useCallback)(async()=>{if(!f)return;let e=function(e,t,{name:n=t$,scope:r=tS,baseFormation:i=null,widthScale:a=1,depthScale:o=1}={}){let s=tM(tD(e,t,i),a,o);return{name:n,scope:r===tj?tj:tS,baseFormation:i,widthScale:tA(a),depthScale:tA(o),slots:s}}(nI||[],C,{name:eW||"Custom",scope:eV,baseFormation:nF,widthScale:eQ,depthScale:e7}),t=nx.current.length>0?nx.current:tt,n={...e,slots:t.length>0?t:e.slots};eU(!0),eG(null);try{let e=await no("/api/formation-presets",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(n)}),t=tP(e.preset);if(t){let e=rD(t,x);eD(e=>[t,...e.filter(e=>e.id!==t.id)]),ez(!0),eO(!0),eY(rE(t)),e?.filterGroup&&eJ(t=>t.includes(e.filterGroup)?t:[...t,e.filterGroup])}}catch(e){eG(e.message)}finally{eU(!1)}},[nF,f,x,e7,tt,eW,eQ,nI,eV,C]),iN=(0,a.useCallback)(()=>{let e=nx.current.length>0?nx.current:tt,t=nb.current,n=function(e,t=e9.FORMATION_GRID_STEP_M){return(Array.isArray(e)?e:[]).map(e=>({...e,...tF(e,t)}))}(e);nj(n),ik(n,{widthScale:t.width,depthScale:t.depth})},[tt,nj,ik]),iT=(0,a.useCallback)((e,t)=>{let n=tA(t),r=nb.current,i=r.width||e9.FORMATION_SCALE_DEFAULT,a=r.depth||e9.FORMATION_SCALE_DEFAULT,o="width"===e?n:i,s="depth"===e?n:a,l=function(e,{widthRatio:t=1,depthRatio:n=1}={}){let r=Array.isArray(e)?e:[],i=Number.isFinite(Number(t))?Number(t):1,a=Number.isFinite(Number(n))?Number(n):1,o=r.filter(e=>"GK"!==tR(e)),s=o.length>0?o.reduce((e,t)=>
4e+(Number(t.x)||0),0)/o.length:0;return r.map(e=>{let t="GK"===tR(e),n=Number(e.x)||0,r=Number(e.z)||0;return{...e,x:t?tZ(n,-tN,tN):tZ(s+(n-s)*a,-tN,tN),z:tZ(r*i,-tT,tT)}})}(nx.current.length>0?nx.current:ng.current.length>0?ng.current:tD(nI||[],C,nO),{widthRatio:tz(o,i),depthRatio:tz(s,a)});nb.current={width:o,depth:s},"width"===e&&e0(n),"depth"===e&&te(n),nj(l),ik(l,{widthScale:o,depthScale:s,updateBase:!1,updateCustomFormation:!1})},[nO,nI,nj,ik,C]),iA=(0,a.useCallback)((e,t)=>{if(0!==t.button||"players"!==tr)return;let n=rO(nI||[],e),r=new Set(tt.map(e=>e.id)),i=n.map(e=>e.id).filter(e=>r.has(e));0!==i.length&&(t.preventDefault(),t.stopPropagation(),nv.current={group:e||"ALL",startClient:{x:t.clientX,y:t.clientY},slots:tt,dragIds:i,moved:!1})},[tt,tr,nI]),iP=(0,a.useCallback)((e,t)=>{var n;let r,i=nv.current;if(!i||i.group!==(e||"ALL"))return;let a=function(e,t,n,{flipped:r=!1}={}){let i=t?.getBoundingClientRect();if(!i||!n||i.width<=0||i.height<=0)return null;let a=e.clientX-n.x,o=-((e.clientY-n.y)/i.height)*e9.FORMATION_FIELD_LENGTH,s=a/i.width*e9.FORMATION_FIELD_WIDTH;return{x:r?-o:o,z:r?-s:s}}(t,nr.current,i.startClient,{flipped:rW});if(!a)return;Math.sqrt((t.clientX-i.startClient.x)**2+(t.clientY-i.startClient.y)**2)>3&&(i.moved=!0);let o=new Set(i.dragIds),s=0===(r=(Array.isArray(n=i.slots.filter(e=>o.has(e.id)))?n:[]).filter(Boolean)).length?null:{x:r.reduce((e,t)=>e+(Number(t.x)||0),0)/r.length,z:r.reduce((e,t)=>e+(Number(t.z)||0),0)/r.length};if(!s)return;let l=tF({x:s.x+a.x,z:s.z}).x-s.x;if(.01>Math.abs(l))return;let c=i.slots.map(e=>o.has(e.id)?{...e,x:rP(e.x+l,-e9.FORMATION_FIELD_HALF_LENGTH,e9.FORMATION_FIELD_HALF_LENGTH),z:rP(e.z+0,-e9.FORMATION_FIELD_HALF_WIDTH,e9.FORMATION_FIELD_HALF_WIDTH)}:e);nj(c),ik(c)},[rW,nj,ik]),iE=(0,a.useCallback)((e,t)=>{let n=e||"ALL",r=nv.current;if(nv.current=null,t?.type!=="pointercancel"){if(r?.group===n&&r.moved){t?.preventDefault?.(),t?.stopPropagation?.();return}ic(e)}},[ic]),iD=(0,a.useCallback)(e=>{let t=new Set(tt.map(e=>e.id)),n=("players"===tr?B.filter(e=>e.team===C).map(e=>e.id):"zoneAnchors"===tr?ts:"structureAnchors"===tr?td:tI).filter(e=>t.has(e));return n.includes(e)?n:[e]},[tt,tr,tI,B,td,C,ts]),iM=(0,a.useCallback)((e,t)=>{if("players"!==tr)return;let n=rw(t,nr.current,{flipped:rW});n&&(ny.current={slotId:e,startPoint:n,slots:tt,dragIds:iD(e)},nn(e))},[rW,tt,tr,iD]),iz=(0,a.useCallback)((e,t)=>{let n=rw(t,nr.current,{flipped:rW}),r=ny.current;if(!n||!r||r.slotId!==e)return;let i=new Set(r.dragIds),a=n.x-r.startPoint.x,o=n.z-r.startPoint.z,s=r.slots.find(t=>t.id===e),l=tF({x:(s?.x||0)+a,z:(s?.z||0)+o}),c=l.x-(s?.x||0),u=l.z-(s?.z||0);(Math.abs(a)>.35||Math.abs(o)>.35)&&(n_.current=!0);let d=r.slots.map(e=>i.has(e.id)?{...e,x:rP(e.x+c,-e9.FORMATION_FIELD_HALF_LENGTH,e9.FORMATION_FIELD_HALF_LENGTH),z:rP(e.z+u,-e9.FORMATION_FIELD_HALF_WIDTH,e9.FORMATION_FIELD_HALF_WIDTH)}:e);nj(d),ik(d)},[rW,nj,ik]),iF=(0,a.useCallback)(()=>{ny.current=null,nn(null)},[]),iO=(0,a.useCallback)(e=>{if(0!==e.button)return;e.preventDefault();let t=nr.current?.getBoundingClientRect();if(!t)return;let n={x:e.clientX-t.left,y:e.clientY-t.top};id([]),t9({start:n,current:n})},[id]),iL=(0,a.useCallback)(e=>{if(!t5)return;e.preventDefault();let t=nr.current?.getBoundingClientRect();t&&t9(n=>n?{...n,current:{x:e.clientX-t.left,y:e.clientY-t.top}}:null)},[t5]),iR=(0,a.useCallback)(e=>{if(!t5)return;let t=nr.current?.getBoundingClientRect();if(!t)return void t9(null);let n=r_(t5.start,t5.current);id(tt.filter(e=>{let r=function(e,t,n,r={}){let i=rv(e,r);return{x:i.left/100*t,y:i.top/100*n}}(e,t.width,t.height,{flipped:rW});return r.x>=n.left&&r.x<=n.right&&r.y>=n.top&&r.y<=n.bottom}).map(e=>e.id)),t9(null)},[rW,tt,id,t5]),iB=(0,a.useCallback)(e=>{A(C,e),eC("players"),tU("details")},[A,C]),iU=(0,a.useCallback)((e,t,n)=>{E(e,t,n),String(t||"").startsWith("wc-squad-")&&ev(r=>{let i=r[e]||ru();return{...r,[e]:{...i,players:(i.players||[]).map(e=>rm(e)===t?{...e,...n}:e)}}})},[E]),iZ=(0,a.useCallback)(e=>{e$(t=>t.includes(e)?t.filter(t=>t!==e):t.length>=2?[e]:[...t,e])},[]),iG=(0,a.useCallback)((e,t)=>{let n=n2.find(t=>
4t.id===e);if(!n||!t)return!1;let r=null;return s.usePlayerStore.setState(e=>{var i,a,o;let s,l="A"===C,c=l?"teamAPlayers":"teamBPlayers",u=l?"teamASubs":"teamBSubs",d=e[c]||[],m=e[u]||[],p=d.findIndex(e=>e.id===t),h=-1===p?m.findIndex(e=>e.id===t):-1;if(-1===p&&-1===h)return e;let f=-1===p?"subs":"players",g=(i=n,a="players"===f?d[p]:m[h],o=f,s=i?.apiPlayerId||rh(i),{...a,id:`${"players"===o?"api":"api-sub"}-${s}`,apiPlayerId:s,name:i?.name||a?.name||"PLAYER",number:i?.number||a?.number||"",age:i?.age??a?.age??null,nationality:i?.nationality??a?.nationality??null,height:i?.height??a?.height??null,weight:i?.weight??a?.weight??null,photoUrl:i?.photoUrl??a?.photoUrl??null,source:i?.source||"world-cup-squad",sourceLabel:i?.sourceLabel,listSourceLabel:i?.listSourceLabel});if(r=g.id,"players"===f){let n=[...d];return n[p]=g,{[c]:n,activePlayerForMenu:{team:C,id:g.id},selectedPlayers:rf(e.selectedPlayers,C,t,g.id)}}let x=[...m];return x[h]=g,{[u]:x,activePlayerForMenu:{team:C,id:g.id},selectedPlayers:rf(e.selectedPlayers,C,t,g.id)}}),!!r&&(A(C,r),!0)},[n2,A,C]),iW=(0,a.useCallback)(()=>{if(2!==ej.length)return;let[e,t]=ej,n=rp(e);if(n!==rp(t)){if(!iG(n?e:t,n?t:e))return}else n||z(C,e,t);e$([])},[ej,z,iG,C]),iH=(0,a.useCallback)((e,t,n)=>{F(C,e,{[t]:n})},[F,C]),iV=(0,a.useCallback)((e,t=!0)=>nN.length>0&&nN.every(n=>t?!1!==n[e]:!!n[e]),[nN]),iq=(0,a.useCallback)((e,t=!0)=>{let n=!iV(e,t);M(nN.map(t=>({team:C,id:t.id,updates:{[e]:n}})))},[nN,iV,C,M]),iK=(0,a.useCallback)((e,t)=>{M(nN.map(n=>({team:C,id:n.id,updates:{[e]:t}})))},[nN,C,M]),iJ=(0,a.useMemo)(()=>[{key:"teamSelection",label:x.teamSelection,icon:e5.FaShieldAlt},{key:"formation",label:x.formation,icon:e2.FiFileText},{key:"players",label:x.players,icon:e5.FaUsers}],[x]),iX=iJ.find(e=>e.key===eI)||iJ[0];return e&&n$?(0,r.jsx)(y.default,{title:"TEAMS",className:"w-[458px]",allowOverflow:!0,initialOffset:o||{x:80,y:Math.max(80,window.innerHeight/2-160)},onPositionChange:l,isPinned:n,onPinToggle:i,headerEnd:(0,r.jsx)("button",{onClick:t,className:"opacity-50 hover:opacity-100 transition",title:m("close"),"aria-label":m("close"),children:(0,r.jsxs)("svg",{xmlns:"http://www.w3.org/2000/svg",width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,r.jsx)("line",{x1:"18",y1:"6",x2:"6",y2:"18"}),(0,r.jsx)("line",{x1:"6",y1:"6",x2:"18",y2:"18"})]})}),children:(0,r.jsxs)("div",{className:"flex flex-col",style:{width:458},children:[(0,r.jsxs)("div",{className:"flex border-b border-white/10",children:[(0,r.jsx)(nl,{active:"A"===C,color:$.color,label:$.name,activeClass:"text-blue-400",onClick:()=>N("A")}),(0,r.jsx)(nl,{active:"B"===C,color:I.color,label:I.name,activeClass:"text-red-400",onClick:()=>N("B")})]}),(0,r.jsxs)("div",{className:"flex min-h-[360px] divide-x divide-white/10",children:[(0,r.jsx)("div",{className:"w-[30px] shrink-0 flex flex-col items-center gap-1 bg-black/10 py-1",style:{width:30},children:iJ.map(e=>(0,r.jsx)(nc,{active:eI===e.key,icon:e.icon,label:e.label,onClick:()=>eC(e.key)},e.key))}),(0,r.jsxs)("div",{className:"w-[184px] min-w-0 shrink-0 overflow-y-auto custom-scrollbar",style:{width:184},children:[(0,r.jsxs)("div",{className:"flex min-h-[34px] items-center justify-between gap-2 border-b border-white/5 px-3 py-1.5","data-team-menu-section-header":"true",children:[(0,r.jsx)("span",{className:"min-w-0 flex-1 truncate text-[9px] font-semibold uppercase tracking-wide text-white/80",children:iX.label}),"formation"===eI&&(0,r.jsx)(nu,{copy:x,filters:eK,availableFilters:nW,onToggle:i$}),"players"===eI&&(0,r.jsx)(nd,{copy:x,activeGroups:t0,onToggle:t2})]}),"teamSelection"===eI&&(0,r.jsxs)("div",{className:"py-1",children:[!h&&(0,r.jsxs)("div",{className:"mx-3 my-2 rounded-lg border border-white/10 bg-white/[0.04] p-2 text-[9px] leading-relaxed text-white/45",children:[(0,r.jsx)("div",{children:x.teamDataRequiresLogin}),(0,r.jsxs)("div",{className:"mt-2 flex flex-wrap gap-1.5",children:[(0,r.jsx)("a",{href:v,className:"rounded-md bg-white/10 px-2 py-1 font-medium text-white/70 hover:bg-white/15",children:x.logIn}),(0,r.jsx)("a",{href:w,className:"rounded-md bg-emerald-500/20 px-2 py-1 font-medium text-emerald-100 hover:bg-emerald-500/30",children:x.applyFoundingTester})]})]}),h&&(0,r.jsxs)(r.Fragment,{children:[ef&&(0,r.jsx)("div",{className:"px-3 py-1 text-[8px] text-red-400",children:ef}),(0,r.jsx)("div",{className:"px-3 py-1",children:(0,r.jsx)(nQ,{value:nX,options:er,placeholder:x.competitionPlaceholder,disabled:ec||ed||ep,loading:ec||ed,emptyLabel:x.noOptions,clearable:!0,clearLabel:x.clearSearch,getValue:e=>String(e.id),getLabel:e=>e.name,getMeta:e=>
4[e.country,e.type].filter(Boolean).join(" - "),getSearchText:e=>[e.name,e.country,e.type].filter(Boolean).join(" "),onChange:r9,onClear:r7})}),es&&ea.length>0&&(0,r.jsx)("div",{className:"px-3 py-1 pb-1.5",children:(0,r.jsx)(nQ,{value:nD,options:ea,placeholder:x.teamPlaceholder,disabled:ed||ep,loading:ep,emptyLabel:x.noOptions,clearable:!0,clearLabel:x.clearSearch,getValue:e=>String(e.id),getLabel:e=>e.name,getMeta:e=>e.code||e.country||"",getSearchText:e=>[e.name,e.code].filter(Boolean).join(" "),onChange:ie,onClear:it})}),nz&&(0,r.jsx)(rr,{progress:nz,copy:x,analysis:nM}),rX&&(0,r.jsx)(n6,{copy:x,count:n2.length,onClick:r3}),es&&0===ea.length&&!ed&&!ep&&(0,r.jsx)("div",{className:"px-3 py-1 text-[8px] text-white/30",children:x.noTeams})]})]}),"appearance"===eI&&(0,r.jsx)("div",{className:"py-1",children:(0,r.jsxs)("div",{className:"px-3 py-1.5 space-y-1.5",children:[(0,r.jsx)(n9,{label:m("name"),value:n$.name,onChange:e=>P(C,{name:e})}),(0,r.jsx)(n7,{copy:x,kitColors:rn,onKitColorChange:iH})]})}),"formation"===eI&&(0,r.jsxs)("div",{className:"px-3 py-1.5",children:[(0,r.jsxs)("div",{className:"space-y-1.5","data-formation-selection-interface":"true",children:[f&&(0,r.jsx)(nm,{copy:x,loading:eL,error:eZ,onRetry:iI}),(0,r.jsx)(nQ,{value:rt,options:re,placeholder:x.formationPlaceholder,emptyLabel:x.noOptions,getValue:e=>e.value,getLabel:e=>e.label||e.value,getMeta:e=>e.source||x.builtIn,getSearchText:e=>e.searchText,getBadgeKind:e=>e.sourceKind,getBadgeLabel:e=>e.sourceLabel||e.source||x.builtIn,leadingIcon:e2.FiSearch,onChange:ij,clearable:!0,clearLabel:x.clearSearch}),f&&(0,r.jsx)(nf,{copy:x,formationName:eW,setFormationName:eH,presetScope:eV,setPresetScope:eq,onSave:iC,presetSaving:eB,presetError:eZ})]}),(0,r.jsx)(nh,{copy:x,teamColor:n$.color,structureActive:nL,coverageActive:nR,voronoiEnabled:H,passNetworkActive:nZ,passNetworkMode:nG,selectionMode:tr,activeOverlayPanel:tE,onOverlayPanelFocus:ip,zoneAnchorIds:rU,structureAnchorIds:rB,passAnchorIds:rZ,onStructureToggle:ih,onCoverageToggle:ig,onVoronoiToggle:ix,onPassNetworkToggle:ib,onPassNetworkMode:iy,structureStyle:rs,zoneStyle:ri,passNetwork:nU,onStructureStyleChange:iw,onZoneStyleChange:iv,onPassStyleChange:i_})]}),"players"===eI&&(0,r.jsxs)("div",{className:"px-3 py-1.5 space-y-2",children:[(0,r.jsx)("div",{className:"space-y-1.5","data-
4player-list-smart-controls":"true",children:(0,r.jsxs)("label",{className:"relative block","data-player-list-search":"true",children:[(0,r.jsx)(e2.FiSearch,{size:10,className:"pointer-events-none absolute left-2 top-1/2 -translate-y-1/2 text-white/35","aria-hidden":"true"}),(0,r.jsx)("input",{type:"text",value:tY,onChange:e=>tQ(e.target.value),placeholder:x.playerSearch,className:"h-6 w-full rounded border border-white/10 bg-white/[0.04] pl-6 pr-2 text-[9px] text-white/80 outline-none transition focus:border-blue-400/55"})]})}),n1&&(0,r.jsx)(n8,{title:x.starters,expanded:eN.starters,onToggle:()=>r4("starters"),team:C,players:rV,swapSelection:ej,onRowClick:iB,onSwapPlayer:iZ,onSwapConfirm:iW,activePlayerId:n5?.id,copy:x}),n1&&(0,r.jsx)(n8,{title:x.substitutes,expanded:eN.substitutes,onToggle:()=>r4("substitutes"),team:C,players:rq,swapSelection:ej,onRowClick:iB,onSwapPlayer:iZ,onSwapConfirm:iW,activePlayerId:n5?.id,copy:x}),nY.loading&&(0,r.jsxs)("div",{className:"rounded border border-white/[0.07] bg-white/[0.025] px-2 py-1 text-[8px] font-semibold uppercase tracking-wide text-white/45","data-world-cup-squad-status":"loading",children:[x.worldCupSquad,": ",x.loading]}),nY.error&&(0,r.jsx)("div",{className:"rounded border border-red-400/15 bg-red-500/10 px-2 py-1 text-[8px] text-red-200/80","data-world-cup-squad-status":"error",children:nY.error}),rJ&&(0,r.jsx)(n8,{title:`${nt} ${x.selected}`,expanded:eN.selected,onToggle:()=>r4("selected"),team:C,players:rK,swapSelection:ej,onRowClick:iB,onSwapPlayer:iZ,onSwapConfirm:iW,activePlayerId:n5?.id,copy:x,sourceLabel:x.notInLastFixture,dataKind:"world-cup-selected",renderEmpty:!0,emptyLabel:x.noOptions})]})]}),(0,r.jsxs)("div",{className:"w-[244px] min-w-0 shrink-0 overflow-y-auto custom-scrollbar bg-black/[0.08]",style:{width:244},children:["teamSelection"===eI&&(0,r.jsx)(np,{copy:x,t:m,teamInfo:n$,activeTeam:C,kitColors:rn,updateTeamInfo:P,onKitColorChange:iH,startersVisible:nH,substitutesVisible:nV,visiblePlayersCount:nq,playersCount:nI?.length||0,substitutesVisibleCount:(nC||[]).filter(e=>!1!==e.visible).length,substitutesCount:nC?.length||0,toggleTeamVisibility:O,teamSlot:C,expandedVisibilitySections:eA,toggleVisibilitySection:r6,isTeamVisibilityOptionOn:iV,handleTeamVisibilityOptionToggle:iq,activeFloatingScale:nK,activeFloatingHeight:nJ,handleTeamFloatingMetricChange:iK}),"formation"===eI&&(0,r.jsx)(nw,{copy:x,players:nI||[],slots:tt,opponentPlayers:nP||[],opponentSlots:rS,opponentColor:nA?.color||"#ffffff",opponentPreviewFlipped:rH,selectedPlayers:B,teamSlot:C,teamColor:n$.color,selectionMode:tr,setSelectionMode:im,zoneAnchorIds:rU,structureAnchorIds:rB,passAnchorIds:rZ,structureColor:rs.color,zoneColor:ri.color,passNetworkColor:rG,activePreviewFlipped:rW,previewRotated:ta,onPreviewRotate:()=>to(e=>!e),viewerRef:nr,selectionRect:t5,draggingSlotId:t7,onSlotDragStart:iM,onSlotClick:iu,onSlotDrag:iz,onSlotDragEnd:iF,onRectStart:iO,onRectMove:iL,onRectEnd:iR,onGroupDragStart:iA,onGroupDrag:iP,onGroupDragEnd:iE,onGroupActivate:ic,formationWidthScale:eQ,formationDepthScale:e7,onFormationScaleChange:iT,onFormationScaleCommit:iN,updatePlayerDetails:E}),"players"===eI&&(0,r.jsx)(nB,{copy:x,player:n5,team:C,activeTab:tB,setActiveTab:tU,updatePlayerDetails:iU,associations:n4,isProcessingPhoto:en,setPlayerPhoto:ee,removePlayerPhoto:et})]})]})]})}):null}async function no(e,t){let n=await fetch(e,t),r=await n.json().catch(()=>({}));if(!n.ok)throw Error(r.error||`Request failed (${n.status})`);return r}async function ns(e,t){let n=await fetch(e,{headers:{Accept:"text/event-stream"}}),r=n.headers.get("content-type")||"";if(!n.ok||!n.body||!r.includes("text/event-stream"))throw Error((await n.json().catch(()=>({}))).error||`Streaming unavailable (${n.status})`);let i=n.body.getReader(),a=new TextDecoder,o="",s=null,l=null;for(;;){let{done:e,value:n}=await i.read();if(e)break;let r=(o+=a.decode(n,{stream:!0})).split("\n");for(let e of(o=r.pop()||"",r))if(e.startsWith("data: "))try{let n=JSON.parse(e.slice(6));t?.(n),"result"===n.event&&(s={cache:n.cache,lineup:n.lineup}),"error"===n.event&&(l=n.error||"Lineup stream failed")}catch{throw Error("Malformed lineup stream event")}}if(s)return s;throw Error(l||"Lineup stream ended without a result")}function nl(e){let t,n,a,o,s=(0,i.c)(12),{active:l,color:c,label:u,activeClass:d,onClick:m}=e,p=`flex-1 min-w-0 py-1.5 text-[10px] font-medium transition-colors relative ${l?d:"text-white/40 hover:text-white/60"}`;return s[0]!==c?(t=(0,r.jsx)("span",{className:"inline-block w-2.5 h-2.5 rounded-full mr-1.5 align-middle",style:{backgroundColor:c}}),s[0]=c,s[1]=t):t=s[1],s[2]!==u?(n=(0,r.jsx)("span",{className:"align-middle truncate",children:u}),s[2]=u,s[3]=n):n=s[3],s[4]!==l?(a=l&&(0,r.jsx)("div",{className:"absolute bottom-0 left-1/4 right-1/4 h-0.5 bg-current roun
4ded-full"}),s[4]=l,s[5]=a):a=s[5],s[6]!==m||s[7]!==p||s[8]!==t||s[9]!==n||s[10]!==a?(o=(0,r.jsxs)("button",{onClick:m,className:p,children:[t,n,a]}),s[6]=m,s[7]=p,s[8]=t,s[9]=n,s[10]=a,s[11]=o):o=s[11],o}function nc(e){let t,n,a=(0,i.c)(7),{active:o,icon:s,label:l,onClick:c}=e,u=`flex h-6 w-6 items-center justify-center rounded transition ${o?"bg-blue-600 text-white shadow-sm":"text-white/55 hover:bg-white/10 hover:text-white/80"}`;return a[0]!==s?(t=(0,r.jsx)(s,{size:12}),a[0]=s,a[1]=t):t=a[1],a[2]!==l||a[3]!==c||a[4]!==u||a[5]!==t?(n=(0,r.jsx)("button",{type:"button",onClick:c,title:l,"aria-label":l,className:u,children:t}),a[2]=l,a[3]=c,a[4]=u,a[5]=t,a[6]=n):n=a[6],n}function nu(e){let t,n,a=(0,i.c)(11),{copy:o,filters:s,availableFilters:l,onToggle:c}=e,u=void 0===l?t4:l;if(a[0]!==u||a[1]!==o||a[2]!==s||a[3]!==c){let e;a[5]!==o||a[6]!==s||a[7]!==c?(e=e=>{let t=e.icon,n=s.includes(e.key),i=o[e.copyKey];return(0,r.jsx)("button",{type:"button",onClick:()=>c(e.key),"aria-label":i,title:i,"aria-pressed":n,className:`flex h-5 w-5 items-center justify-center rounded border transition ${n?"border-blue-300/55 bg-blue-500/20 text-blue-100":"border-white/10 bg-white/[0.03] text-white/55 hover:bg-white/10 hover:text-white/80"}`,children:(0,r.jsx)(t,{size:11})},e.key)},a[5]=o,a[6]=s,a[7]=c,a[8]=e):e=a[8],t=u.map(e),a[0]=u,a[1]=o,a[2]=s,a[3]=c,a[4]=t}else t=a[4];return a[9]!==t?(n=(0,r.jsx)("menu",{className:"m-0 flex shrink-0 items-center gap-0.5 p-0","data-formation-library-filters":"header-icons",children:t}),a[9]=t,a[10]=n):n=a[10],n}function nd(e){let t,n,a=(0,i.c)(5),{activeGroups:o,onToggle:s}=e;return a[0]!==o||a[1]!==s?(t=t7.map(e=>{let t=o.includes(e);return(0,r.jsx)("button",{type:"button",onClick:()=>s(t=>rA(t,e)),"aria-label":e,title:e,"aria-pressed":t,className:`h-5 min-w-5 rounded border px-1 text-[7px] font-semibold uppercase transition ${t?"border-blue-300/60 bg-blue-500/20 text-blue-100":"border-white/10 bg-white/[0.03] text-white/50 hover:bg-white/10 hover:text-white/80"}`,children:e.slice(0,1)},e)}),a[0]=o,a[1]=s,a[2]=t):t=a[2],a[3]!==t?(n=(0,r.jsx)("menu",{className:"m-0 flex shrink-0 items-center gap-0.5 p-0","data-player-list-group-filters":"header",children:t}),a[3]=t,a[4]=n):n=a[4],n}function nm(e){let t,n,a,o=(0,i.c)(10),{copy:s,loading:l,error:c,onRetry:u}=e;if(!l&&!c)return null;let d=`min-w-0 flex-1 truncate text-[8px] ${c?"text-red-300/80":"text-white/45"}`,m=c||s.loading;return o[0]!==d||o[1]!==m?(t=(0,r.jsx)("span",{className:d,children:m}),o[0]=d,o[1]=m,o[2]=t):t=o[2],o[3]!==s||o[4]!==c||o[5]!==u?(n=c&&(0,r.jsx)("button",{type:"button",onClick:u,className:"shrink-0 text-[8px] font-semibold uppercase tracking-wide text-white/65 transition hover:text-white","data-formation-preset-retry":"true",children:s.retry}),o[3]=s,o[4]=c,o[5]=u,o[6]=n):n=o[6],o[7]!==t||o[8]!==n?(a=(0,r.jsxs)("div",{className:"flex min-w-0 items-center justify-between gap-2 rounded border border-white/[0.06] bg-white/[0.025] px-2 py-1","data-formation-preset-load-status":"true",children:[t,n]}),o[7]=t,o[8]=n,o[9]=a):a=o[9],a}function np(e){let t,n,a,o,s,l,c,u,d,m,p,h,f,g,x,b,y,v,w,_,k,S,j,$,I=(0,i.c)(85),{copy:C,t:N,teamInfo:T,activeTeam:A,kitColors:P,updateTeamInfo:E,onKitColorChange:D,startersVisible:M,substitutesVisible:z,visiblePlayersCount:F,playersCount:O,substitutesVisibleCount:L,substitutesCount:R,toggleTeamVisibility:B,teamSlot:U,expandedVisibilitySections:Z,toggleVisibilitySection:G,isTeamVisibilityOptionOn:W,handleTeamVisibilityOptionToggle:H,activeFloatingScale:V,activeFloatingHeight:q,handleTeamFloatingMetricChange:K}=e;I[0]!==C.appearance?(t=(0,r.jsx)(nU,{title:C.appearance}),I[0]=C.appearance,I[1]=t):t=I[1],I[2]!==N?(n=N("name"),I[2]=N,I[3]=n):n=I[3],I[4]!==A||I[5]!==E?(a=e=>E(A,{name:e}),I[4]=A,I[5]=E,I[6]=a):a=I[6],I[7]!==n||I[8]!==a||I[9]!==T.name?(o=(0,r.jsx)(n9,{label:n,value:T.name,onChange:a}),I[7]=n,I[8]=a,I[9]=T.name,I[10]=o):o=I[10],I[11]!==C||I[12]!==P||I[13]!==D?(s=(0,r.jsx)(n7,{copy:C,kitColors:P,onKitColorChange:D}),I[11]=C,I[12]=P,I[13]=D,I[14]=s):s=I[14],I[15]!==o||I[16]!==s?(l=(0,r.jsxs)("div",{className:"space-y-1.5",children:[o,s]}),I[15]=o,I[16]=s,I[17]=l):l=I[17];let J=`${F}/${O}`;I[18]!==U||I[19]!==B?(c=()=>B(U),I[18]=U,I[19]=B,I[20]=c):c=I[20],I[21]!==C.teamVisible||I[22]!==M||I[23]!==J||I[24]!==c||I[25]!==T.color?(u=(0,r.jsx)(nK,{label:C.teamVisible,count:J,enabled:M,color:T.color,onClick:c}),I[21]=C.teamVisible,I[22]=M,I[23]=J,I[24]=c,I[25]=T.color,I[26]=u):u=I[26];let X=`${L}/${R}`;I[27]!==U||I[28]!==B?(d=()=>B(`${U}Subs`),I[27]=U,I[28]=B,I[29]=d):d=I[29],I[30]!==C.substitutesVisible||I[31]!==z||I[32]!==X||I[33]!==d||I[34]!==T.color?(m=(0,r.jsx)(nK,{label:C.substitutesVisible,count:X,enabled:z,color:T.color,onClick:d}),I[30]=C.substitutesVisible,I[31]=z,I[32]=X,I[33]=d,I[34]=T.color,I[35]=m):m=I[35],I[36]!==m||I[37]!==u?(p=(0,r.jsxs)("div",{className:"grid grid-cols-2 gap-1.5",children:[u,m]}),I[36]=m,I[37]=u,I[38]=p):p=I[38],I[39]!==G?(h=()=>G("onPitch"),I[39]=G,I[40]=h):h=I[40],I[41]!==C||I[42]!==Z.onPitch||I[43]!==H||I[44]!==W||I[45]!==h?(f=(0,r.jsx)(nJ,{title:C.onPitch,expanded:Z.onPitch,onHeaderToggle:h,options:tY,copy:C,isOptionOn:W,onOptionToggle:H}),I[41]=C,I[42]=Z.onPitch,I[43]=H,I[44]=W,I[45]=h,I[46]=f):f=I[46];let Y=C.floating,Q=Z.floating;I[47]!==G?(g=()=>G("floating"),I[47]=G,I[48]=g):g=I[48];let ee=C.scale;I[49]!==V?(x=V.toFixed(1),I[49]=V,I[50]=x):x=I[50];let et=`${x}x`;I[51]!==K?(b=e=>K("floatingScale",e),I[51]=K,I[52]=b):b=I[52],I[53]!==V||I[54]!==C.scale||I[55]!==et||I[56]!==b?(y=(0,r.jsx)(nY,{label:ee,value:V,valueLabel:et,min:.3,max:2,step:.05,onChange:b}),I[53]=V,I[54]=C.scale,I[55]=et,I[56]=b,I[57]=y):y=I[57];let en=C.height;return I[58]!==q?(v=q.toFixed(1),I[58]=q,I[59]=v):v=I[59],I[60]!==K?(w=e=>K("floatingHeight",e),I[60]=K,I[61]=w):w=I[61],I[62]!==q||I[63]!==C.height||I[64]!==v||I[65]!==w?(_=(0,r.jsx)(nY,{label:en,value:q,valueLabel:v,min:.5,max:5,step:.1,onChange:w}),I[62]=q,I[63]=C.height,I[64]=v,I[65]=w,I[66]=_):_=I[66],I[67]!==y||I[68]!==_?(k=(0,r.jsxs)("div",{className:"grid grid-cols-2 gap-1.5 px-2 pb-1.5 pt-1",children:[y,_]}),I[67]=y,I[68]=_,I[69]=k):k=I[69],I[70]!==C||I[71]!==Z.floating||I[72]!==H||I[73]!==W||I[74]!==g||I[75]!==k?(S=(0,r.jsx)(nJ,{title:Y,expanded:Q,onHeaderToggle:g,headerOption:tQ,options:t0,copy:C,isOptionOn:W,onOptionToggle:H,children:k}),I[70]=C,I[71]=Z.floating,I[72]=H,I[73]=W,I[74]=g,I[75]=k,I[76]=S):S=I[76],I[77]!==p||I[78]!==f||I[79]!==S?(j=(0,r.jsxs)("div",{className:"space-y-1.5",children:[p,f,S]}
4),I[77]=p,I[78]=f,I[79]=S,I[80]=j):j=I[80],I[81]!==t||I[82]!==j||I[83]!==l?($=(0,r.jsxs)("div",{className:"p-3 space-y-2",children:[t,l,j]}),I[81]=t,I[82]=j,I[83]=l,I[84]=$):$=I[84],$}function nh(e){let t,n,a,o,s,l,c,u,d,m,p,h,f,g,x,b,y,v,w,_,k,S,j,$,I,C,N,T,A,P,E=(0,i.c)(108),{copy:D,teamColor:M,structureActive:z,coverageActive:F,voronoiEnabled:O,passNetworkActive:L,passNetworkMode:R,selectionMode:B,activeOverlayPanel:U,onOverlayPanelFocus:Z,zoneAnchorIds:G,structureAnchorIds:W,passAnchorIds:H,onStructureToggle:V,onCoverageToggle:q,onVoronoiToggle:K,onPassNetworkToggle:J,onPassNetworkMode:X,structureStyle:Y,zoneStyle:Q,passNetwork:ee,onStructureStyleChange:et,onZoneStyleChange:en,onPassStyleChange:er}=e,ei=ee?.opacity??.72,ea=ee?.thickness??tV.DEFAULT_PASS_NETWORK_THICKNESS;E[0]!==ee||E[1]!==M?(t=rC(ee,M),E[0]=ee,E[1]=M,E[2]=t):t=E[2];let eo=t,es="players"!==B;E[3]!==D.quickSetup?(n=(0,r.jsx)("span",{className:"text-[8px] font-semibold uppercase tracking-wide text-white/85",children:D.quickSetup}),E[3]=D.quickSetup,E[4]=n):n=E[4],E[5]!==D.overlayConfig?(a=(0,r.jsx)("span",{className:"truncate text-[8px] text-white/25",children:D.overlayConfig}),E[5]=D.overlayConfig,E[6]=a):a=E[6],E[7]!==n||E[8]!==a?(o=(0,r.jsxs)("header",{className:"flex items-center justify-between gap-2",children:[n,a]}),E[7]=n,E[8]=a,E[9]=o):o=E[9];let el=es&&"structure"===U;E[10]!==Z?(s=()=>Z("structure"),E[10]=Z,E[11]=s):s=E[11],E[12]!==et?(l=e=>et({color:e}),E[12]=et,E[13]=l):l=E[13],E[14]!==D.teamColor||E[15]!==Y.color||E[16]!==l?(c=(0,r.jsx)(nb,{label:D.teamColor,color:Y.color,onColorChange:l}),E[14]=D.teamColor,E[15]=Y.color,E[16]=l,E[17]=c):c=E[17],E[18]!==D.structureStyle||E[19]!==V||E[20]!==z||E[21]!==W.length||E[22]!==el||E[23]!==s||E[24]!==c?(u=(0,r.jsx)(ng,{label:D.structureStyle,active:z,selected:el,count:W.length,tone:"emerald",onToggle:V,onFocus:s,children:c}),E[18]=D.structureStyle,E[19]=V,E[20]=z,E[21]=W.length,E[22]=el,E[23]=s,E[24]=c,E[25]=u):u=E[25];let ec=D.passNetwork,eu=es&&"pass"===U,ed=H.length;E[26]!==Z?(d=()=>Z("pass"),E[26]=Z,E[27]=d):d=E[27];let em=R===tV.PASS_NETWORK_MODE_CARRIER,ep=R===tV.PASS_NETWORK_MODE_CARRIER;E[28]!==X?(m=()=>X(tV.PASS_NETWORK_MODE_CARRIER),E[28]=X,E[29]=m):m=E[29],E[30]!==D.passCarrier||E[31]!==em||E[32]!==ep||E[33]!==m?(p=(0,r.jsx)(nx,{label:D.passCarrier,active:em,selected:ep,tone:"fuchsia",onClick:m}),E[30]=D.passCarrier,E[31]=em,E[32]=ep,E[33]=m,E[34]=p):p=E[34];let eh=R===tV.PASS_NETWORK_MODE_TEAM,ef=R===tV.PASS_NETWORK_MODE_TEAM;E[35]!==X?(h=()=>X(tV.PASS_NETWORK_MODE_TEAM),E[35]=X,E[36]=h):h=E[36],E[37]!==D.passTeam||E[38]!==eh||E[39]!==ef||E[40]!==h?(f=(0,r.jsx)(nx,{label:D.passTeam,active:eh,selected:ef,tone
4:"fuchsia",onClick:h}),E[37]=D.passTeam,E[38]=eh,E[39]=ef,E[40]=h,E[41]=f):f=E[41],E[42]!==p||E[43]!==f?(g=(0,r.jsxs)("menu",{className:"m-0 flex gap-1 p-0",children:[p,f]}),E[42]=p,E[43]=f,E[44]=g):g=E[44],E[45]!==er?(x=e=>er({color:e,colorMode:tV.PASS_NETWORK_COLOR_MODE_CUSTOM}),b=e=>er({opacity:e}),E[45]=er,E[46]=x,E[47]=b):(x=E[46],b=E[47]),E[48]!==D.opacity||E[49]!==eo||E[50]!==ei||E[51]!==x||E[52]!==b?(y=(0,r.jsx)(ny,{color:eo,opacity:ei,opacityLabel:D.opacity,onColorChange:x,onOpacityChange:b}),E[48]=D.opacity,E[49]=eo,E[50]=ei,E[51]=x,E[52]=b,E[53]=y):y=E[53];let eg=D.thickness;E[54]!==ea?(v=ea.toFixed(2),E[54]=ea,E[55]=v):v=E[55],E[56]!==er?(w=e=>er({thickness:e}),E[56]=er,E[57]=w):w=E[57],E[58]!==D.thickness||E[59]!==ea||E[60]!==v||E[61]!==w?(_=(0,r.jsx)(nv,{opacity:ea,opacityLabel:eg,min:.08,max:.36,step:.01,displayValue:v,onOpacityChange:w}),E[58]=D.thickness,E[59]=ea,E[60]=v,E[61]=w,E[62]=_):_=E[62],E[63]!==D.passNetwork||E[64]!==J||E[65]!==H.length||E[66]!==L||E[67]!==eu||E[68]!==d||E[69]!==g||E[70]!==y||E[71]!==_?(k=(0,r.jsxs)(ng,{label:ec,active:L,selected:eu,count:ed,tone:"fuchsia",onToggle:J,onFocus:d,children:[g,y,_]}),E[63]=D.passNetwork,E[64]=J,E[65]=H.length,E[66]=L,E[67]=eu,E[68]=d,E[69]=g,E[70]=y,E[71]=_,E[72]=k):k=E[72];let ex=es&&"zone"===U;E[73]!==Z?(S=()=>Z("zone"),E[73]=Z,E[74]=S):S=E[74],E[75]!==en?(j=e=>en({color:e}),$=e=>en({opacity:e}),E[75]=en,E[76]=j,E[77]=$):(j=E[76],$=E[77]),E[78]!==D.opacity||E[79]!==j||E[80]!==$||E[81]!==Q.color||E[82]!==Q.opacity?(I=(0,r.jsx)(ny,{color:Q.color,opacity:Q.opacity,opacityLabel:D.opacity,onColorChange:j,onOpacityChange:$}),E[78]=D.opacity,E[79]=j,E[80]=$,E[81]=Q.color,E[82]=Q.opacity,E[83]=I):I=E[83],E[84]!==D.zoneStyle||E[85]!==F||E[86]!==q||E[87]!==ex||E[88]!==S||E[89]!==I||E[90]!==G.length?(C=(0,r.jsx)(ng,{label:D.zoneStyle,active:F,selected:ex,count:G.length,tone:"sky",onToggle:q,onFocus:S,children:I}),E[84]=D.zoneStyle,E[85]=F,E[86]=q,E[87]=ex,E[88]=S,E[89]=I,E[90]=G.length,E[91]=C):C=E[91];let eb=es&&"voronoi"===U,ey=+!!O;return E[92]!==Z?(N=()=>Z("voronoi"),E[92]=Z,E[93]=N):N=E[93],E[94]!==K||E[95]!==eb||E[96]!==ey||E[97]!==N||E[98]!==O?(T=(0,r.jsx)(ng,{label:"Voronoi",active:O,selected:eb,count:ey,tone:"amber",onToggle:K,onFocus:N}),E[94]=K,E[95]=eb,E[96]=ey,E[97]=N,E[98]=O,E[99]=T):T=E[99],E[100]!==k||E[101]!==C||E[102]!==T||E[103]!==u?(A=(0,r.jsxs)("menu",{className:"m-0 flex min-w-0 flex-col gap-1 p-0","data-overlay-config-list":"vertical",children:[u,k,C,T]}),E[100]=k,E[101]=C,E[102]=T,E[103]=u,E[104]=A):A=E[104],E[105]!==o||E[106]!==A?(P=(0,r.jsxs)("section",{className:"mt-2 min-w-0 space-y-1.5","data-formation-dynamic-overlay":"true",children:[o,A]}),E[105]=o,E[106]=A,E[107]=P):P=E[107],P}function nf(e){let t,n,a,o,s,l,c,u,d,m,p,h,f,g,x,b,y=(0,i.c)(44),{copy:v,formationName:w,setFormationName:_,presetScope:k,setPresetScope:S,onSave:j,presetSaving:$,presetError:I}=e;y[0]!==v.savePreset?(t=(0,r.jsx)("legend",{className:"sr-only",children:v.savePreset}),y[0]=v.savePreset,y[1]=t):t=y[1],y[2]===Symbol.for("react.memo_cache_sentinel")?(n=(0,r.jsx)(e2.FiPlus,{size:11,className:"justify-self-center text-white/40","aria-hidden":"true","data-formation-save-row-icon":"static"}),y[2]=n):n=y[2],y[3]!==_?(a=e=>_(e.target.value),y[3]=_,y[4]=a):a=y[4],y[5]!==v.savePreset||y[6]!==w||y[7]!==a?(o=(0,r.jsx)("input",{type:"text",value:w,onChange:a,className:"h-5 min-w-0 border-0 border-b border-white/10 bg-transparent px-0.5 text-[10px] font-semibold text-white/75 outline-none focus:border-blue-300/60","aria-label":v.savePreset}),y[5]=v.savePreset,y[6]=w,y[7]=a,y[8]=o):o=y[8],y[9]!==S?(s=()=>S(tS),y[9]=S,y[10]=s):s=y[10];let C=k===tS,N=`flex items-center justify-center px-1 transition ${k===tS?"bg-white/15 text-white":"bg-transparent text-white/45 hover:text-white/75"}`;y[11]===Symbol.for("react.memo_cache_sentinel")?(l=(0,r.jsx)(e2.FiUser,{size:10}),y[11]=l):l=y[11],y[12]!==v.privatePreset||y[13]!==s||y[14]!==C||y[15]!==N?(c=(0,r.jsx)("button",{type:"button",onClick:s,"aria-pressed":C,title:v.privatePreset,"aria-label":v.privatePreset,className:N,children:l}),y[12]=v.privatePreset,y[13]=s,y[14]=C,y[15]=N,y[16]=c):c=y[16],y[17]!==S?(u=()=>S(tj),y[17]=S,y[18]=u):u=y[18];let T=k===tj,A=`flex items-center justify-center px-1 transition ${k===tj?"bg-white/15 text-white":"bg-transparent text-white/45 hover:text-white/75"}`;y[19]===Symbol.for("react.memo_cache_sentinel")?(d=(0,r.jsx)(e2.FiGlobe,{size:10}),y[19]=d):d=y[19],y[20]!==v.sharedPreset||y[21]!==u||y[22]!==T||y[23]!==A?(m=(0,r.jsx)("button",{type:"button",onClick:u,"aria-pressed":T,title:v.sharedPreset,"aria-label":v.sharedPreset,className:A,children:d}),y[20]=v.sharedPreset,y[21]=u,y[22]=T,y[23]=A,y[24]=m):m=y[24],y[25]!==m||y[26]!==c?(p=(0,r.jsxs)("menu",{className:"grid h-5 grid-cols-2 overflow-hidden rounded border border-white/10 p-0","data-formation-save-scope-switch":"private-public",children:[c,m]}),y[25]=m,y[26]=c,y[27]=p):p=y[27];let P=$?v.savingPreset:v.savePreset,E=$?v.savingPreset:v.savePreset;return y[28]===Symbol.for("react.memo_cache_sentinel")?(h=(0,r.jsx)(e2.FiSave,{size:12}),y[28]=h):h=y[28],y[29]!==j||y[30]!==$||y[31]!==P||y[32]!==E?(f=(0,r.jsx)("button",{type:"button",onClick:j,disabled:$,className:"flex h-5 w-4 items-center justify-center text-emerald-200/75 transition hover:text-emerald-50 disabled:cursor-wait disabled:text-white/25",title:P,"aria-label":E,"data-formation-save-icon-button":"true",children:h}),y[29]=j,y[30]=$,y[31]=P,y[32]=E,y[33]=f):f=y[33],y[34]!==p||y[35]!==f||y[36]!==o?(g=(0,r.jsxs)("div",{className:"grid grid-cols-[16px_minmax(0,1fr)_44px_16px] items-center gap-1",children:[n,o,p,f]}),y[34]=p,y[35]=f,y[36]=o,y[37]=g):g=y[37],y[38]!==I?(x=I&&(0,r.jsx)("div",{className:"rounded border border-red-400/20 bg-red-500/10 px-1.5 py-0.5 text-[7px] leading-snug text-red-200",children:I}),y[38]=I,y[39]=x):x=y[39],y[40]!==t||y[41]!==g||y[42]!==x?(b=(0,r.jsxs)("fieldset",{className:"space-y-1","data-formation-save-inline":"true",children:[t,g,x]}),y[40]=t,y[41]=g,y[42]=x,y[43]=b):b=y[43],b}function ng(e){let t,n,a,o,s,l,c=(0,i.c)(19),{label:u,active:d,selected:m,count:p,tone:h,onToggle:f,onFocus:g,children:x}=e,b=void 0===x?null:x,y=`group/overlay min-w-0 rounded border transition ${m?"emerald"===h?"border-emerald-400/35 bg-emerald-400/[0.08]":"sky"===h?"border-sky-400/35 bg-sky-4
400/[0.08]":"amber"===h?"border-amber-300/35 bg-amber-300/[0.08]":"border-fuchsia-300/35 bg-fuchsia-300/[0.08]":"border-white/5 bg-white/[0.025]"}`;c[0]!==u?(t=(0,r.jsx)("span",{className:"min-w-0 flex-1 truncate text-[8px] font-semibold uppercase tracking-wide text-white/75",children:u}),c[0]=u,c[1]=t):t=c[1],c[2]!==p?(n=(0,r.jsx)("span",{className:"shrink-0 text-[8px] tabular-nums text-white/45",children:p}),c[2]=p,c[3]=n):n=c[3];let v=`h-2.5 w-2.5 shrink-0 rounded-full border ${d?"border-emerald-300 bg-emerald-400":"border-white/20 bg-white/5"}`;return c[4]!==v?(a=(0,r.jsx)("span",{className:v}),c[4]=v,c[5]=a):a=c[5],c[6]!==d||c[7]!==g||c[8]!==f||c[9]!==t||c[10]!==n||c[11]!==a?(o=(0,r.jsxs)("button",{type:"button",onClick:f,onFocus:g,"aria-pressed":d,className:"flex h-7 w-full min-w-0 items-center gap-1.5 px-2 text-left transition hover:bg-white/[0.04]",children:[t,n,a]}),c[6]=d,c[7]=g,c[8]=f,c[9]=t,c[10]=n,c[11]=a,c[12]=o):o=c[12],c[13]!==b?(s=b&&(0,r.jsx)("div",{className:"hidden space-y-1 px-2 pb-1.5 group-hover/overlay:block group-focus-within/overlay:block","data-overlay-config-body":"hover-focus",children:b}),c[13]=b,c[14]=s):s=c[14],c[15]!==y||c[16]!==o||c[17]!==s?(l=(0,r.jsxs)("li",{className:y,"data-overlay-config-item":"true",children:[o,s]}),c[15]=y,c[16]=o,c[17]=s,c[18]=l):l=c[18],l}function nx(e){let t,n=(0,i.c)(6),{label:a,active:o,selected:s,tone:l,onClick:c,onFocus:u}=e,d=(void 0===u?null:u)||void 0,m=`h-6 min-w-0 flex-1 truncate rounded border px-1.5 text-[8px] font-semibold uppercase tracking-wide transition ${o?"emerald"===l?"border-emerald-400/50 bg-emerald-500/20 text-emerald-100":"sky"===l?"border-sky-400/50 bg-sky-500/20 text-sky-100":"amber"===l?"border-amber-300/55 bg-amber-400/20 text-amber-100":"neutral"===l?"border-white/25 bg-white/[0.12] text-white":"border-fuchsia-300/55 bg-fuchsia-400/20 text-fuchsia-100":"border-white/10 bg-white/[0.04] text-white/55 hover:bg-white/10 hover:text-white/80"} ${void 0!==s&&s?"ring-1 ring-white/25":""}`;return n[0]!==o||n[1]!==a||n[2]!==c||n[3]!==d||n[4]!==m?(t=(0,r.jsx)("button",{type:"button",onClick:c,onFocus:d,"aria-pressed":o,className:m,children:a}),n[0]=o,n[1]=a,n[2]=c,n[3]=d,n[4]=m,n[5]=t):t=n[5],t}function nb(e){let t,n,a,o,s,l=(0,i.c)(14),{label:c,color:u,onColorChange:d,colorDisabled:m}=e;l[0]!==c?(t=(0,r.jsx)("span",{className:"min-w-0 flex-1 truncate text-[8px] font-semibold uppercase tracking-wide text-white/75",children:c}),l[0]=c,l[1]=t):t=l[1];let p=`shrink-0 ${void 0!==m&&m?"pointer-events-none opacity-35":""}`;return l[2]!==u||l[3]!==d?(n=(0,r.jsx)(eN.default,{value:u,onChange:d,size:"sm"}),l[2]=u,l[3]=d,l[4]=n):n=l[4],l[5]!==p||l[6]!==n?(a=(0,r.jsx)("span",{className:p,children:n}),l[5]=p,l[6]=n,l[7]=a):a=l[7],l[8]!==u?(o=(0,r.jsx)("span",{className:"w-[56px] shrink-0 truncate text-right text-[8px] tabular-nums text-white/45",children:u}),l[8]=u,l[9]=o):o=l[9],l[10]!==t||l[11]!==a||l[12]!==o?(s=(0,r.jsxs)("label",{className:"flex min-w-0 items-center gap-1",children:[t,a,o]}),l[10]=t,l[11]=a,l[12]=o,l[13]=s):s=l[13],s}function ny(e){let t,n,a,o,s,l,c,u,d=(0,i.c)(22),{color:m,opacity:p,opacityLabel:h,onColorChange:f,onOpacityChange:g,colorDisabled:x}=e;d[0]!==h?(t=(0,r.jsx)("span",{className:"w-[44px] shrink-0 text-[8px] font-semibold uppercase tracking-wide text-white/75",children:h}),d[0]=h,d[1]=t):t=d[1];let b=`shrink-0 ${void 0!==x&&x?"pointer-events-none opacity-35":""}`;return d[2]!==m||d[3]!==f?(n=(0,r.jsx)(eN.default,{value:m,onChange:f,size:"sm"}),d[2]=m,d[3]=f,d[4]=n):n=d[4],d[5]!==b||d[6]!==n?(a=(0,r.jsx)("span",{className:b,children:n}),d[5]=b,d[6]=n,d[7]=a):a=d[7],d[8]!==g?(o=e=>g(parseFloat(e.target.value)),d[8]=g,d[9]=o):o=d[9],d[10]!==p||d[11]!==o?(s=(0,r.jsx)("input",{type:"range",min:.05,max:1,step:.01,value:p,onChange:o,className:"compact-slider min-w-0 flex-1"}),d[10]=p,d[11]=o,d[12]=s):s=d[12],d[13]!==p?(l=Math.round(100*p),d[13]=p,d[14]=l):l=d[14],d[15]!==l?(c=(0,r.jsxs)("span",{className:"w-8 shrink-0 text-right text-[8px] tabular-nums text-white/45",children:[l,"%"]}),d[15]=l,d[16]=c):c=d[16],d[17]!==t||d[18]!==a||d[19]!==s||d[20]!==c?(u=(0,r.jsxs)("label",{className:"flex items-center gap-1",children:[t,a,s,c]}),d[17]=t,d[18]=a,d[19]=s,d[20]=c,d[21]=u):u=d[21],u}function nv(e){let t,n,a,o,s,l,c=(0,i.c)(19),{opacity:u,opacityLabel:d,onOpacityChange:m,min:p,max:h,step:f,displayValue:g}=e,x=void 0===p?.05:p,b=void 0===h?1:h,y=void 0===f?.01:f,v=void 0===g?null:g;return c[0]!==d?(t=(0,r.jsx)("span",{className:"w-[44px] shrink-0 text-[8px] font-semibold uppercase tracking-wide text-white/75",children:d}),c[0]=d,c[1]=t):t=c[1],c[2]!==m?(n=e=>m(parseFloat(e.target.value)),c[2]=m,c[3]=n):n=c[3],c[4]!==b||c[5]!==x||c[6]!==u||c[7]!==y||c[8]!==n?(a=(0,r.jsx)("input",{type:"range",min:x,max:b,step:y,value:u,onChange:n,className:"compact-slider min-w-0 flex-1"}),c[4]=b,c[5]=x,c[6]=u,c[7]=y,c[8]=n,c[9]=a):a=c[9],c[10]!==v||c[11]!==u?(o=v||`${Math.round(100*u)}%`,c[10]=v,c[11]=u,c[12]=o):o=c[12],c[13]!==o?(s=(0,r.jsx)("span",{className:"w-8 shrink-0 text-right text-[8px] tabular-nums text-white/45",children:o}),c[13]=o,c[14]=s):s=c[14],c[15]!==t||c[16]!==a||c[17]!==s?(l=(0,r.jsxs)("label",{className:"flex items-center gap-1",children:[t,a,s]}),c[15]=t,c[16]=a,c[17]=s,c[18]=l):l=c[18],l}function nw(e){let t,n=(0,i.c)(41),{copy:a,players:o,slots:s,opponentPlayers:l,opponentSlots:c,opponentColor:u,opponentPreviewFlipped:d,selectedPlayers:m,teamSlot:p,teamColor:h,selectionMode:f,setSelectionMode:g,zoneAnchorIds:x,structureAnchorIds:b,passAnchorIds:y,structureColor:v,zoneColor:w,passNetworkColor:_,activePreviewFlipped:k,previewRotated:S,onPreviewRotate:j,viewerRef
4:$,selectionRect:I,draggingSlotId:C,onSlotDragStart:N,onSlotClick:T,onSlotDrag:A,onSlotDragEnd:P,onRectStart:E,onRectMove:D,onRectEnd:M,onGroupDragStart:z,onGroupDrag:F,onGroupDragEnd:O,onGroupActivate:L,formationWidthScale:R,formationDepthScale:B,onFormationScaleChange:U,onFormationScaleCommit:Z,updatePlayerDetails:G}=e;return n[0]!==k||n[1]!==a||n[2]!==C||n[3]!==B||n[4]!==R||n[5]!==U||n[6]!==Z||n[7]!==L||n[8]!==F||n[9]!==O||n[10]!==z||n[11]!==j||n[12]!==M||n[13]!==D||n[14]!==E||n[15]!==T||n[16]!==A||n[17]!==P||n[18]!==N||n[19]!==u||n[20]!==l||n[21]!==d||n[22]!==c||n[23]!==y||n[24]!==_||n[25]!==o||n[26]!==S||n[27]!==m||n[28]!==f||n[29]!==I||n[30]!==g||n[31]!==s||n[32]!==b||n[33]!==v||n[34]!==h||n[35]!==p||n[36]!==G||n[37]!==$||n[38]!==x||n[39]!==w?(t=(0,r.jsx)("section",{className:"h-full p-0",children:(0,r.jsx)(n_,{copy:a,players:o,slots:s,opponentPlayers:l,opponentSlots:c,opponentColor:u,opponentPreviewFlipped:d,selectedPlayers:m,teamSlot:p,teamColor:h,selectionMode:f,setSelectionMode:g,zoneAnchorIds:x,structureAnchorIds:b,passAnchorIds:y,structureColor:v,zoneColor:w,passNetworkColor:_,activePreviewFlipped:k,previewRotated:S,onPreviewRotate:j,viewerRef:$,selectionRect:I,draggingSlotId:C,onSlotDragStart:N,onSlotClick:T,onSlotDrag:A,onSlotDragEnd:P,onRectStart:E,onRectMove:D,onRectEnd:M,onGroupDragStart:z,onGroupDrag:F,onGroupDragEnd:O,onGroupActivate:L,formationWidthScale:R,formationDepthScale:B,onFormationScaleChange:U,onFormationScaleCommit:Z,updatePlayerDetails:G})}),n[0]=k,n[1]=a,n[2]=C,n[3]=B,n[4]=R,n[5]=U,n[6]=Z,n[7]=L,n[8]=F,n[9]=O,n[10]=z,n[11]=j,n[12]=M,n[13]=D,n[14]=E,n[15]=T,n[16]=A,n[17]=P,n[18]=N,n[19]=u,n[20]=l,n[21]=d,n[22]=c,n[23]=y,n[24]=_,n[25]=o,n[26]=S,n[27]=m,n[28]=f,n[29]=I,n[30]=g,n[31]=s,n[32]=b,n[33]=v,n[34]=h,n[35]=p,n[36]=G,n[37]=$,n[38]=x,n[39]=w,n[40]=t):t=n[40],t}function n_(e){var t;let n,o,s,l,c,u,d,m,p,h,f,g,x,b,y,v,w,_,k,S,j,$,I,C,N,T,A,P,E,D,M,z=(0,i.c)(144),{copy:F,players:O,slots:L,opponentPlayers:R,opponentSlots:B,opponentColor:U,opponentPreviewFlipped:Z,selectedPlayers:G,teamSlot:W,teamColor:H,selectionMode:V,setSelectionMode:q,zoneAnchorIds:K,structureAnchorIds:J,passAnchorIds:X,structureColor:Y,zoneColor:Q,passNetworkColor:ee,activePreviewFlipped:et,previewRotated:en,onPreviewRotate:er,viewerRef:ei,selectionRect:ea,draggingSlotId:eo,onSlotDragStart:es,onSlotClick:el,onSlotDrag:ec,onSlotDragEnd:eu,onRectStart:ed,onRectMove:em,onRectEnd:ep,onGroupDragStart:eh,onGroupDrag:ef,onGroupDragEnd:eg,onGroupActivate:ex,formationWidthScale:eb,formationDepthScale:ey,onFormationScaleChange:ev,onFormationScaleCommit:ew,updatePlayerDetails:e_}=e;z[0]!==O?(o=new Map((O||[]).map(nA)),z[0]=O,z[1]=o):o=z[1];let ek=o;z[2]!==R?(s=new Map((R||[]).map(nT)),z[2]=R,z[3]=s):s=z[3];let eS=s;if(z[4]!==G||z[5]!==W){let e;z[7]!==W?(e=e=>e.team===W,z[7]=W,z[8]=e):e=z[8],l=new Set((G||[]).filter(e).map(nN)),z[4]=G,z[5]=W,z[6]=l}else l=z[6];let ej=l;z[9]!==et||z[10]!==ek||z[11]!==L?(c=function(e,t,n={}){let r={ATT:[],MID:[],DEF:[],GK:[]};
4return(Array.isArray(e)?e:[]).forEach(e=>{let i=rR(t.get(e.id)||e);r[i]&&r[i].push(rv(e,n).top)}),Object.fromEntries(Object.entries(r).map(([e,t])=>{var n;return 0===t.length?[e,"ATT"===(n=e)?22:"MID"===n?48:"DEF"===n?72:"GK"===n?92:50]:[e,rP(t.reduce((e,t)=>e+t,0)/t.length,8,94)]}))}(L,ek,{flipped:et}),z[9]=et,z[10]=ek,z[11]=L,z[12]=c):c=z[12];let e$=c;z[13]!==eo||z[14]!==L?(u=(L||[]).find(e=>e.id===eo)||null,z[13]=eo,z[14]=L,z[15]=u):u=z[15];let eI=u,[eC,eN]=(0,a.useState)(null),[eT,eA]=(0,a.useState)("");z[16]===Symbol.for("react.memo_cache_sentinel")?(d=(e,t,n)=>{e.preventDefault(),e.stopPropagation(),eN(t.id),eA(n?.shortRole||t.shortRole||"")},z[16]=d):d=z[16];let eP=d;z[17]===Symbol.for("react.memo_cache_sentinel")?(m=()=>{eN(null),eA("")},z[17]=m):m=z[17];let eE=m;z[18]!==eC||z[19]!==eT||z[20]!==W||z[21]!==e_?(p=()=>{eC&&(e_(W,eC,{shortRole:eT.trim()}),eE())},z[18]=eC,z[19]=eT,z[20]=W,z[21]=e_,z[22]=p):p=z[22];let eD=p;z[23]!==eD||z[24]!==eC?(f=()=>{if(!eC)return;let e=e=>{e.target?.closest?.('[data-player-short-role-editor="true"]')||eD()};return document.addEventListener("pointerdown",e),()=>document.removeEventListener("pointerdown",e)},h=[eD,eC],z[23]=eD,z[24]=eC,z[25]=h,z[26]=f):(h=z[25],f=z[26]),(0,a.useEffect)(f,h),z[27]===Symbol.for("react.memo_cache_sentinel")?(g={"--formation-preview-gutter":"24px",minHeight:360,boxShadow:"inset 0 0 0 1px rgba(255,255,255,0.05), 0 14px 28px rgba(0,0,0,0.22), 0 0 22px rgba(16,185,129,0.16)"},z[27]=g):g=z[27],z[28]!==V||z[29]!==q?(x=t5.map(e=>{let t=e.icon;return(0,r.jsx)("button",{type:"button",title:e.label,"aria-label":e.label,"aria-pressed":V===e.key,onClick:t=>{t.stopPropagation(),q(e.key)},className:`flex h-5 min-w-5 items-center justify-center rounded border px-1 text-[7px] font-semibold uppercase tracking-wide transition ${V===e.key?"border-blue-300 bg-blue-600 text-white":"border-neutral-600 bg-neutral-800 text-white/70 hover:bg-neutral-700 hover:text-white"}`,children:t?(0,r.jsx)(t,{size:10}):e.fieldLabel},e.key)}),z[28]=V,z[29]=q,z[30]=x):x=z[30],z[31]!==x?(b=(0,r.jsx)("menu",{className:"absolute left-[24px] top-1 z-20 m-0 flex justify-start gap-0.5 p-0 opacity-30 transition-opacity hover:opacity-100 focus-within:opacity-100 active:opacity-100","data-formation-overlay-mode-menu":"true","data-formation-mode-gutter":"top-left",onPointerDown:nC,children:x}),z[31]=x,z[32]=b):b=z[32],z[33]!==er?(y=e=>{e.stopPropagation(),er()},z[33]=er,z[34]=y):y=z[34];let eM=`absolute right-[24px] top-1 z-20 flex h-5 w-5 items-center justify-center rounded border text-[10px] opacity-30 transition hover:opacity-100 focus:opacity-100 ${en?"border-blue-300 bg-blue-600 text-white":"border-neutral-600 bg-neutral-800 text-white/70 hover:bg-neutral-700 hover:text-white"}`;z[35]===Symbol.for("react.memo_cache_sentinel")?(v=(0,r.jsx)(e2.FiRefreshCw,{size:10}),z[35]=v):v=z[35],z[36]!==en||z[37]!==y||z[38]!==eM?(w=(0,r.jsx)("button",{type:"button",title:"Rotate field","aria-label":"Rotate field","aria-pressed":en,onClick:y,onPointerDown:nI,className:eM,"data-formation-preview-rotate":"top-right",children:v}),z[36]=en,z[37]=y,z[38]=eM,z[39]=w):w=z[39],z[40]!==et||z[41]!==F.all||z[42]!==F.role||z[43]!==ex||z[44]!==ef||z[45]!==eg||z[46]!==eh||z[47]!==e$?(_=t2.map(e=>(0,r.jsx)("button",{type:"button",onPointerDown:t=>{0===t.button&&(t.preventDefault(),t.stopPropagation(),eh(e.group,t),t.currentTarget.setPointerCapture(t.pointerId))},onPointerMove:t=>ef(e.group,t),onPointerUp:t=>{t.preventDefault(),t.stopPropagation(),t.currentTarget.hasPointerCapture(t.pointerId)&&t.currentTarget.releasePointerCapture(t.pointerId),eg(e.group,t)},onPointerCancel:t=>{t.stopPropagation(),eg(e.group,t)},onKeyDown:t=>{("Enter"===t.key||" "===t.key)&&(t.preventDefault(),ex(e.group))},className:"pointer-events-auto absolute right-0 h-5 w-5 -translate-y-1/2 cursor-grab rounded border border-neutral-600 bg-neutral-800/90 text-[7px] font-semibold text-white/75 shadow-sm transition hover:bg-neutral-700 hover:text-white active:cursor-grabbing",style:{top:`${e.group?e$[e.group]:et?6:94}%`},"data-formation-role-drag-handle":"true",title:e.group?`${e.label} ${F.role}`:F.all,"aria-label":e.group?`${e.label} ${F.role}`:F.all,children:e.label},e.key)),z[40]=et,z[41]=F.all,z[42]=F.role,z[43]=ex,z[44]=ef,z[45]=eg,z[46]=eh,z[47]=e$,z[48]=_):_=z[48],z[49]!==_?(k=(0,r.jsx)("menu",{className:"pointer-events-none absolute bottom-[24px] right-0.5 top-[24px] z-20 m-0 w-5 p-0 opacity-30 transition-opacity hover:opacity-100 focus-within:opacity-100 active:opacity-100","data-formation-quick-role-menu":"in-field","data-formation-role-gutter":"right",onPointerDown:n$,children:_}),z[49]=_,z[50]=k):k=z[50],z[51]!==ev?(S=e=>ev("depth",e),z[51]=ev,z[52]=S):S=z[52],z[53]!==F.depth||z[54]!==ey||z[55]!==ew||z[56]!==S?(j=(0,r.jsx)(nD,{label:F.depth,value:ey,onChange:S,onRelease:ew}),z[53]=F.depth,z[54]=ey,z[55]=ew,z[56]=S,z[57]=j):j=z[57],z[58]===Symbol.for("react.memo_cache_sentinel")?($={aspectRatio:"68 / 105"},z[58]=$):$=z[58];let ez=!!eI;if(z[59]!==et||z[60]!==eI||z[61]!==ez?(I=(0,r.jsx)("div",{className:"pointer-events-none absolute inset-0 overflow-hidden rounded",children:(0,r.jsx)(nz,{showDragGuides:ez,dragGuideSlot:eI,flipped:et})}),z[59]=et,z[60]=eI,z[61]=ez,z[62]=I):I=z[62],z[63]!==B?(C=B||[],z[63]=B,z[64]=C):C=z[64],z[65]!==F.opponent||z[66]!==U||z[67]!==eS||z[68]!==Z||z[69]!==C){let e;z[71]!==F.opponent||z[72]!==U||z[73]!==eS||z[74]!==Z?(e=e=>{let t=rv(e,{flipped:Z}),n=eS.get(e.id);return(0,r.jsx)("span",{"data-opponent-ghost":"true",className:"pointer-events-none absolute flex h-5 w-5 -translate-x-1/2 -translate-y-1/2 items-center justify-center rounded-full border text-[7px] font-semibold text-white/35",style:{left:`${t.left}%`,top:`${t.top}%`,borderColor:rN(U,.32),backgroundColor:rN(U,.12)},title:`${F.opponent} ${rB(n||e)}`,children:n?.number||""},`opponent-${e.id}`)},z[71]=F.opponent,z[72]=U,z[73]=eS,z[74]=Z,z[75]=e):e=z[75],N=C.map(e),z[65]=F.opponent,z[66]=U,z[67]=eS,z[68]=Z,z[69]=C,z[70]=N}else N=z[70];if(z[76]!==et||z[77]!==eD||z[78]!==F.role||z[79]!==eo||z[80]!==eC||z[81]!==el||z[82]!==ec||z[83]!==eu||z[84]!==es||z[85]!==X||z[86]!==ee||z[87]!==ek||z[88]!==ej||z[89]!==V||z[90]!==eT||z[91]!==L||z[92]!==J||z[93]!==Y||z[94]!==H||z[95]!==K||z[96]!==Q){let e;z[98]!==et||z[99]!==eD||z[100]!==F.role||z[101]!==eo||z[102]!==eC||z[103]!==el||z[104]!==ec||z[105]!==eu||z[106]!==es||z[107]!==X||z[108]!==ee||z[109]!==ek||z[110]!==ej||z[111]!==V||z[112]!==eT||z[113]!==J||z[114]!==Y||z[115]!==H||z[116]!==K||z[117]!==Q?(e=e=>{let t=rv(e,{flipped:et}),n=ek.get(e.id),i="players"===V&&ej.has(e.id),a=K.includes(e.id),o=function(e,{zoneAnchor:t,structureAnchor:n,passAnchor:r,structureColor:i,zoneColor:a,passNetworkColor:o}){return"zoneAnchors"===e&&t?{color:a}:"structureAnchors"===e&&n?{color:i}:"passAnchors"===e&&r?{color:o}:null}(V,{zoneAnchor:a,structureAnchor:J.includes(e.id),passAnchor:X.includes(e.id),structureColor:Y,zoneColor:Q,passNetworkColor:ee}),s=eo===e.id,l=!function(e){let t=/^#?([0-9a-f]{6})$/i.exec(String(e||"").trim());if(!t)return!1;let n=t[1];return .2126*(parseInt(n.slice(0,2),16)/255)+.7152*(parseInt(n.slice(2,4),16)/255)+.0722*(parseInt(n.slice(4,6),16)/255)>.76}(o?.color||H)?"rgba(255, 255, 255, 0.82)":"rgba(15, 23, 42, 0.92)",c=n?.shortRole||e.shortRole||"",u=eC===e.id;return(0,r.jsxs)("div",{className:`absolute h-7 w-7 -translate-x-1/2 -translate-y-1/2 roun
4ded-full transition ${s?"scale-110":""}`,"data-player-dot-shell":"true",style:{left:`${t.left}%`,top:`${t.top}%`},children:[(0,r.jsx)("button",{type:"button","data-player-dot":"true",onClick:t=>{t.stopPropagation(),el(e.id)},onPointerDown:t=>{0!==t.button||(t.stopPropagation(),"players"===V&&(t.preventDefault(),es(e.id,t),t.currentTarget.setPointerCapture(t.pointerId)))},onPointerMove:t=>{eo===e.id&&ec(e.id,t)},onPointerUp:t=>{t.stopPropagation(),t.currentTarget.hasPointerCapture(t.pointerId)&&t.currentTarget.releasePointerCapture(t.pointerId),eu(e.id,t)},onPointerCancel:t=>{t.stopPropagation(),eu(e.id,t)},className:"absolute inset-0 rounded-full",title:rB(n||e),"aria-label":rB(n||e),children:(0,r.jsx)("span",{className:`pointer-events-none absolute inset-[5px] flex items-center justify-center rounded-full border text-[7px] font-bold shadow ${i||o?"text-white":"text-white/85"}`,style:{backgroundColor:i?rN(H,.92):rN(H,.42),borderColor:rN(H,.86),outline:i||o?`1px solid ${l}`:"none",outlineOffset:1},children:n?.number||e.col})}),u?(0,r.jsx)("input",{value:eT,onChange:e=>eA(e.target.value),onBlur:eD,onPointerDown:nS,onKeyDown:e=>{"Enter"===e.key&&(e.preventDefault(),eD()),"Escape"===e.key&&(e.preventDefault(),eE())},className:"absolute left-1/2 top-[22px] z-30 h-4 w-11 -translate-x-1/2 rounded border border-blue-300/60 bg-neutral-950/95 px-1 text-center text-[8px] font-semibold uppercase text-white outline-none","data-player-short-role-editor":"true",autoFocus:!0}):(0,r.jsx)("button",{type:"button",onClick:t=>eP(t,e,n),onPointerDown:nk,className:"absolute left-1/2 top-[21px] z-20 max-w-[48px] -translate-x-1/2 truncate rounded-sm px-1 py-px text-[8px] font-bold uppercase leading-none text-white/85 transition hover:bg-neutral-950/75 hover:text-white",style:{textShadow:"0 0 5px rgba(0,0,0,0.9), 0 0 6px rgba(16,185,129,0.45)"},title:F.role,"aria-label":F.role,"data-player-short-role-label":"true",children:c||"Role"})]},e.id)},z[98]=et,z[99]=eD,z[100]=F.role,z[101]=eo,z[102]=eC,z[103]=el,z[104]=ec,z[105]=eu,z[106]=es,z[107]=X,z[108]=ee,z[109]=ek,z[110]=ej,z[111]=V,z[112]=eT,z[113]=J,z[114]=Y,z[115]=H,z[116]=K,z[117]=Q,z[118]=e):e=z[118],T=L.map(e),z[76]=et,z[77]=eD,z[78]=F.role,z[79]=eo,z[80]=eC,z[81]=el,z[82]=ec,z[83]=eu,z[84]=es,z[85]=X,z[86]=ee,z[87]=ek,z[88]=ej,z[89]=V,z[90]=eT,z[91]=L,z[92]=J,z[93]=Y,z[94]=H,z[95]=K,z[96]=Q,z[97]=T}else T=z[97];return z[119]!==ea?(A=ea&&(0,r.jsx)("div",{className:"pointer-events-none absolute border border-blue-300/80 bg-blue-400/15",style:{left:(n=r_((t=ea).start,t.current)).left,top:n.top,width:n.right-n.left,height:n.bottom-n.top}}),z[119]=ea,z[120]=A):A=z[120],z[121]!==ep||z[122]!==em||z[123]!==ed||z[124]!==I||z[125]!==N||z[126]!==T||z[127]!==A||z[128]!==ei?(P=(0,r.jsxs)("div",{ref:ei,className:"absolute left-[24px] right-[24px] top-[24px] overflow-visible rounded border border-white/10 bg-emerald-950/25",style:$,"data-formation-pitch-play-area":"true",onPointerDown:ed,onPointerMove:em,onPointerUp:ep,onPointerCancel:ep,onContextMenu:nj,children:[I,N,T,A]}),z[121]=ep,z[122]=em,z[123]=ed,z[124]=I,z[125]=N,z[126]=T,z[127]=A,z[128]=ei,z[129]=P):P=z[129],z[130]!==ev?(E=e=>ev("width",e),z[130]=ev,z[131]=E):E=z[131],z[132]!==F.width||z[133]!==eb||z[134]!==ew||z[135]!==E?(D=(0,r.jsx)(nP,{label:F.width,value:eb,onChange:E,onRelease:ew}),z[132]=F.width,z[133]=eb,z[134]=ew,z[135]=E,z[136]=D):D=z[136],z[137]!==b||z[138]!==w||z[139]!==k||z[140]!==j||z[141]!==P||z[142]!==D?(M=(0,r.jsx)("section",{className:"h-full","data-formation-preview-controls":"pitch-scale-sliders",children:(0,r.jsxs)("section",{className:"relative h-full select-none overflow-hidden rounded border border-emerald-200/15 bg-emerald-950/35",style:g,"data-formation-preview-pitch":"true",children:[b,w,k,j,P,D]})}),z[137]=b,z[138]=w,z[139]=k,z[140]=j,z[141]=P,z[142]=D,z[143]=M):M=z[143],M}function nk(e){return e.stopPropagation()}function nS(e){return e.stopPropagation()}function nj(e){return e.preventDefault()}function n$(e){e.preventDefault(),e.stopPropagation()}function nI(e){e.preventDefault(),e.stopPropagation()}function nC(e){e.preventDefault(),e.stopPropagation()}function nN(e){return e.id}function nT(e){return[e.id,e]}function nA(e){return[e.id,e]}function nP(e){let t,n,a,o,s,l,c=(0,i.c)(17),{label:u,value:d,onChange:m,onRelease:p}=e;return c[0]!==u[0]?(t=(0,r.jsx)("span",{className:"shrink-0 text-[7px] font-semibold uppercase leading-none text-white/75",children:u[0]}),c[0]=u[0],c[1]=t):t=c[1],c[2]!==m?(n=e=>m(parseFloat(e.target.value)),c[2]=m,c[3]=n):n=c[3],c[4]!==u||c[5]!==p||c[6]!==n||c[7]!==d?(a=(0,r.jsx)("input",{type:"range",min:e9.FORMATION_SCALE_MIN,max:e9.FORMATION_SCALE_MAX,step:.01,value:d,onChange:n,onPointerUp:p,onKeyUp:p,onBlur:p,className:"compact-slider block w-full min-w-0","aria-label":u}
4),c[4]=u,c[5]=p,c[6]=n,c[7]=d,c[8]=a):a=c[8],c[9]!==d?(o=Math.round(100*d),c[9]=d,c[10]=o):o=c[10],c[11]!==o?(s=(0,r.jsxs)("span",{className:"shrink-0 text-right text-[7px] tabular-nums text-white/45",children:[o,"%"]}),c[11]=o,c[12]=s):s=c[12],c[13]!==t||c[14]!==a||c[15]!==s?(l=(0,r.jsxs)("label",{className:"absolute bottom-1 left-[24px] right-[24px] z-30 grid min-w-0 grid-cols-[12px_minmax(0,1fr)_28px] items-center gap-1 opacity-30 transition-opacity hover:opacity-100 focus-within:opacity-100 active:opacity-100","data-formation-width-slider":"pitch-bottom",onPointerDown:nE,children:[t,a,s]}),c[13]=t,c[14]=a,c[15]=s,c[16]=l):l=c[16],l}function nE(e){return e.stopPropagation()}function nD(e){let t,n,a,o,s,l,c,u,d=(0,i.c)(21),{label:m,value:p,onChange:h,onRelease:f}=e;d[0]!==p?(t=Math.round(100*p),d[0]=p,d[1]=t):t=d[1];let g=`${m} ${t}%`;return d[2]!==m[0]?(n=(0,r.jsx)("span",{className:"shrink-0 text-[7px] font-semibold uppercase leading-none text-white/75",children:m[0]}),d[2]=m[0],d[3]=n):n=d[3],d[4]!==h?(a=e=>h(parseFloat(e.target.value)),d[4]=h,d[5]=a):a=d[5],d[6]===Symbol.for("react.memo_cache_sentinel")?(o={height:"100%"},d[6]=o):o=d[6],d[7]!==m||d[8]!==f||d[9]!==a||d[10]!==p?(s=(0,r.jsx)("input",{type:"range",min:e9.FORMATION_SCALE_MIN,max:e9.FORMATION_SCALE_MAX,step:.01,value:p,onChange:a,onPointerUp:f,onKeyUp:f,onBlur:f,className:"vertical-scale-slider block min-h-0",style:o,"aria-label":m}),d[7]=m,d[8]=f,d[9]=a,d[10]=p,d[11]=s):s=d[11],d[12]!==p?(l=Math.round(100*p),d[12]=p,d[13]=l):l=d[13],d[14]!==l?(c=(0,r.jsxs)("span",{className:"shrink-0 text-right text-[7px] tabular-nums leading-none text-white/45 [writing-mode:vertical-rl]",children:[l,"%"]}),d[14]=l,d[15]=c):c=d[15],d[16]!==g||d[17]!==n||d[18]!==s||d[19]!==c?(u=(0,r.jsxs)("label",{className:"absolute bottom-[24px] left-1 top-[24px] z-30 grid w-4 min-h-0 grid-rows-[12px_minmax(0,1fr)_28px] justify-items-center gap-1 opacity-30 transition-opacity hover:opacity-100 focus-within:opacity-100 active:opacity-100","data-formation-depth-slider":"pitch-side",title:g,onPointerDown:nM,children:[n,s,c]}),d[16]=g,d[17]=n,d[18]=s,d[19]=c,d[20]=u):u=d[20],u}function nM(e){e.stopPropagation()}function nz(e){let t,n=(0,i.c)(8),{showDragGuides:a,dragGuideSlot:o,flipped:s}=e,l=void 0!==a&&a,c=void 0===o?null:o,u=void 0!==s&&s,d=e9.FORMATION_FIELD_HALF_WIDTH-20.16,m=e9.FORMATION_FIELD_HALF_WIDTH-9.16,p=e9.FORMATION_FIELD_HALF_WIDTH-3.66,h=e9.FORMATION_FIELD_LENGTH-16.5,f=e9.FORMATION_FIELD_LENGTH-5.5,g=e9.FORMATION_FIELD_LENGTH-2,x=e9.FORMATION_FIELD_LENGTH-11,b=Math.sqrt(53.47250000000001),y=e9.FORMATION_FIELD_HALF_WIDTH-b,v=e9.FORMATION_FIELD_HALF_WIDTH+b;if(n[0]!==c||n[1]!==u||n[2]!==l){let e,i,a,o,s=l?function(){let e=[];for(let t of nR(-e9.FORMATION_FIELD_HALF_WIDTH,e9.FORMATION_FIELD_HALF_WIDTH)){let n=t+e9.FORMATION_FIELD_HALF_WIDTH;e.push({key:`width-${t}`,x1:n,y1:0,x2:n,y2:e9.FORMATION_FIELD_LENGTH})}for(let t of nR(-e9.FORMATION_FIELD_HALF_LENGTH,e9.FORMATION_FIELD_HALF_LENGTH)){let n=e9.FORMATION_FIELD_HALF_LENGTH-t;e.push({key:`depth-${t}`,x1:0,y1:n,x2:e9.FORMATION_FIELD_WIDTH,y2:n})}return e}():[],b=l?function(){let e=[];for(let t of nR(-e9.FORMATION_FIELD_HALF_WIDTH,e9.FORMATION_FIELD_HALF_WIDTH)){let n=t+e9.FORMATION_FIELD_HALF_WIDTH;e.push({key:`top-${t}`,x1:n,y1:0,x2:n,y2:2.2}),e.push({key:`bottom-${t}`,x1:n,y1:e9.FORMATION_FIELD_LENGTH,x2:n,y2:e9.FORMATION_FIELD_LENGTH-2.2})}for(let t of nR(-e9.FORMATION_FIELD_HALF_LENGTH,e9.FORMATION_FIELD_HALF_LENGTH)){let n=e9.FORMATION_FIELD_HALF_LENGTH-t;e.push({key:`left-${t}`,x1:0,y1:n,x2:2.2,y2:n}),e.push({key:`right-${t}`,x1:e9.FORMATION_FIELD_WIDTH,y1:n,x2:e9.FORMATION_FIELD_WIDTH-2.2,y2:n})}return e}():[],w=l?function(){let e=[];for(let t=-30;t<=30;t+=10)e.push({key:`width-label-${t}`,text:`${t}`,x:t+e9.FORMATION_FIELD_HALF_WIDTH,y:4.6,anchor:"middle"});for(let t=-50;t<=50;t+=10)e.push({key:`depth-label-${t}`,text:`${t}`,x:3.3,y:e9.FORMATION_FIELD_HALF_LENGTH-t-.8,anchor:"start"});return e}():[],_=l&&c?function(e,{flipped:t=!1}={}){let n=Number(e?.x)||0,r=Number(e?.z)||0,i=t?-n:n,a=t?-r:r;return{x:a+e9.FORMATION_FIELD_HALF_WIDTH,y:e9.FORMATION_FIELD_HALF_LENGTH-i,z:a,depth:i}}(c,{flipped:u}):null;n[4]===Symbol.for("react.memo_cache_sentinel")?(e=(0,r.jsx)("rect",{width:e9.FORMATION_FIELD_WIDTH,height:e9.FORMATION_FIELD_LENGTH,fill:"rgba(6, 78, 59, 0.28)"}),n[4]=e):e=n[4],n[5]===Symbol.for("react.memo_cache_sentinel")?(i=(0,r.jsxs)("g",{fill:"none",stroke:"rgba(255,255,255,0.18)",strokeWidth:"0.45",vectorEffect:"non-scaling-stroke",children:[(0,r.jsx)("rect",{x:"0",y:"0",width:e9.FORMATION_FIELD_WIDTH,height:e9.FORMATION_FIELD_LENGTH}),(0,r.jsx)("line",{x1:"0",y1:e9.FORMATION_FIELD_HALF_LENGTH,x2:e9.FORMATION_FIELD_WIDTH,y2:e9.FORMATION_FIELD_HALF_LENGTH}
4),(0,r.jsx)("circle",{cx:e9.FORMATION_FIELD_HALF_WIDTH,cy:e9.FORMATION_FIELD_HALF_LENGTH,r:9.15}),(0,r.jsx)("rect",{x:d,y:"0",width:40.32,height:16.5}),(0,r.jsx)("rect",{x:m,y:"0",width:18.32,height:5.5}),(0,r.jsx)("rect",{x:d,y:h,width:40.32,height:16.5}),(0,r.jsx)("rect",{x:m,y:f,width:18.32,height:5.5}),(0,r.jsx)("path",{d:`M ${y} 16.5 A 9.15 9.15 0 0 0 ${v} 16.5`}),(0,r.jsx)("path",{d:`M ${y} ${h} A 9.15 9.15 0 0 1 ${v} ${h}`}),(0,r.jsx)("path",{d:"M 1 0 A 1 1 0 0 1 0 1"}),(0,r.jsx)("path",{d:`M ${e9.FORMATION_FIELD_WIDTH-1} 0 A 1 1 0 0 0 ${e9.FORMATION_FIELD_WIDTH} 1`}),(0,r.jsx)("path",{d:`M 0 ${e9.FORMATION_FIELD_LENGTH-1} A 1 1 0 0 0 1 ${e9.FORMATION_FIELD_LENGTH}`}),(0,r.jsx)("path",{d:`M ${e9.FORMATION_FIELD_WIDTH-1} ${e9.FORMATION_FIELD_LENGTH} A 1 1 0 0 0 ${e9.FORMATION_FIELD_WIDTH} ${e9.FORMATION_FIELD_LENGTH-1}`})]}),n[5]=i):i=n[5],n[6]===Symbol.for("react.memo_cache_sentinel")?(a=(0,r.jsxs)("g",{fill:"rgba(255,255,255,0.18)",children:[(0,r.jsx)("circle",{cx:e9.FORMATION_FIELD_HALF_WIDTH,cy:e9.FORMATION_FIELD_HALF_LENGTH,r:"0.28"}),(0,r.jsx)("circle",{cx:e9.FORMATION_FIELD_HALF_WIDTH,cy:11,r:"0.28"}),(0,r.jsx)("circle",{cx:e9.FORMATION_FIELD_HALF_WIDTH,cy:x,r:"0.28"})]}),n[6]=a):a=n[6],n[7]===Symbol.for("react.memo_cache_sentinel")?(o=(0,r.jsxs)("g",{fill:"rgba(255,255,255,0.04)",stroke:"rgba(255,255,255,0.13)",strokeWidth:"0.35",vectorEffect:"non-scaling-stroke",children:[(0,r.jsx)("rect",{x:p,y:"0",width:7.32,height:2}),(0,r.jsx)("rect",{x:p,y:g,width:7.32,height:2})]}),n[7]=o):o=n[7],t=(0,r.jsxs)("svg",{className:"absolute inset-0 h-full w-full","data-formation-pitch-svg":"true",viewBox:`0 0 ${e9.FORMATION_FIELD_WIDTH} ${e9.FORMATION_FIELD_LENGTH}`,preserveAspectRatio:"none","aria-hidden":"true",children:[e,l&&(0,r.jsx)("g",{"data-formation-coordinate-helpers":`${nr}m`,fill:"none",stroke:"rgba(255,255,255,0.08)",strokeWidth:"0.22",vectorEffect:"non-scaling-stroke",children:s.map(nL)}),i,a,o,l&&(0,r.jsxs)("g",{"data-formation-ruler-helpers":"width-depth",fontSize:"2.25",fontWeight:"600",children:[(0,r.jsxs)("g",{fill:"none",stroke:"rgba(255,255,255,0.16)",strokeWidth:"0.28",vectorEffect:"non-scaling-stroke",children:[b.map(nO),_&&(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)("line",{"data-formation-drag-guide":"width",x1:_.x,y1:"0",x2:_.x,y2:e9.FORMATION_FIELD_LENGTH,stroke:"rgba(125, 211, 252, 0.56)",strokeDasharray:"2 2"}),(0,r.jsx)("line",{"data-formation-drag-guide":"depth",x1:"0",y1:_.y,x2:e9.FORMATION_FIELD_WIDTH,y2:_.y,stroke:"rgba(125, 211, 252, 0.56)",strokeDasharray:"2 2"})]})]}),(0,r.jsxs)("g",{fill:"rgba(255,255,255,0.42)",textAnchor:"middle",children:[w.map(nF),_&&(0,r.jsxs)(r.Fragment,{children:[(0,r.jsxs)("text",{x:_.x,y:"6",fill:"rgba(186, 230, 253, 0.85)",children:[Math.round(_.z),"m"]}),(0,r.jsxs)("text",{x:"6",y:_.y-1.5,fill:"rgba(186, 230, 253, 0.85)",textAnchor:"start",children:[Math.round(_.depth),"m"]})]})]})]})]}),n[0]=c,n[1]=u,n[2]=l,n[3]=t}else t=n[3];return t}function nF(e){return(0,r.jsx)("text",{x:e.x,y:e.y,textAnchor:e.anchor,children:e.text},e.key)}function nO(e){return(0,r.jsx)("line",{x1:e.x1,y1:e.y1,x2:e.x2,y2:e.y2},e.key)}function nL(e){return(0,r.jsx)("line",{x1:e.x1,y1:e.y1,x2:e.x2,y2:e.y2},e.key)}function nR(e,t,n=nr){let r=Number.isFinite(Number(n))&&Number(n)>0?Number(n):e9.FORMATION_GRID_STEP_M,i=Math.ceil(e/r)*r,a=Math.floor(t/r)*r,o=[];for(let e=i;e<=a;e+=r)o.push(Object.is(e,-0)?0:e);return o}function nB(e){let t,n,a,o,s,l,c,u,d,m=(0,i.c)(43),{copy:p,player:h,team:f,activeTab:g,setActiveTab:x,updatePlayerDetails:b,associations:y,isProcessingPhoto:v,setPlayerPhoto:w,removePlayerPhoto:_}=e;if(!h){let e,t,n;return m[0]!==p.players?(e=(0,r.jsx)(nU,{title:p.players}),m[0]=p.players,m[1]=e):e=m[1],m[2]!==p.noPlayer?(t=(0,r.jsx)("div",{className:"mt-3 rounded border border-white/10 bg-white/[0.03] px-3 py-8 text-center text-[9px] text-white/35",children:p.noPlayer}),m[2]=p.noPlayer,m[3]=t):t=m[3],m[4]!==e||m[5]!==t?(n=(0,r.jsxs)("div",{className:"p-3",children:[e,t]}),m[4]=e,m[5]=t,m[6]=n):n=m[6],n}return m[7]!==h?(t=rB(h),m[7]=h,m[8]=t):t=m[8],m[9]!==t?(n=(0,r.jsx)(nU,{title:t}),m[9]=t,m[10]=n):n=m[10],m[11]!==g||m[12]!==p||m[13]!==v||m[14]!==h||m[15]!==_||m[16]!==w||m[17]!==f||m[18]!==b?(a="details"===g&&(0,r.jsxs)("div",{className:"mt-2 space-y-2",children:[(0,r.jsxs)("div",{className:"grid grid-cols-2 gap-1.5","data-
4player-info-compact":"true",children:[(0,r.jsx)(nZ,{className:"col-span-2",label:p.name,value:h.name||"",onChange:e=>b(f,h.id,{name:e})}),(0,r.jsx)(nZ,{label:p.number,type:"number",value:h.number||"",onChange:e=>b(f,h.id,{number:parseInt(e,10)||0})}),(0,r.jsx)(nZ,{label:"Short",value:h.shortRole||"",onChange:e=>b(f,h.id,{shortRole:e})}),(0,r.jsx)(nZ,{className:"col-span-2",label:p.role,value:h.role||"",onChange:e=>b(f,h.id,{role:e})}),(0,r.jsxs)("div",{className:"col-span-2 flex items-center justify-between gap-2 rounded border border-white/5 bg-white/[0.02] px-2 py-1",children:[(0,r.jsx)("span",{className:"text-[8px] font-semibold uppercase tracking-wide text-white/70",children:p.photo}),(0,r.jsx)("span",{className:"min-w-0 flex-1 truncate text-right text-[9px] text-white/40",children:v?"processing":h.photoUrl?"uploaded":"none"}),h.photoUrl&&(0,r.jsx)("button",{type:"button",onClick:()=>_(f,h.id),className:"flex h-5 w-5 items-center justify-center rounded text-red-300 transition hover:bg-red-500/10 hover:text-red-200",title:"Remove photo","aria-label":"Remove photo",children:(0,r.jsx)(e2.FiX,{size:11,"aria-hidden":"true"})}),(0,r.jsxs)("label",{className:"cursor-pointer rounded border border-white/10 px-1.5 py-0.5 text-[8px] text-white/60 transition hover:bg-white/10 hover:text-white",children:["Upload",(0,r.jsx)("input",{type:"file",accept:"image/*",className:"hidden",onChange:e=>{let t=e.target.files?.[0];t&&w(f,h.id,t),e.target.value=""}})]})]})]}),(0,r.jsxs)("label",{className:"block rounded border border-white/5 bg-white/[0.025] p-2",children:[(0,r.jsx)("span",{className:"mb-1.5 block text-[8px] font-semibold uppercase tracking-wide text-white/75",children:p.notes}),(0,r.jsx)("textarea",{"data-player-markdown-notes":"true",value:h.notes||"",onChange:e=>b(f,h.id,{notes:e.target.value}),placeholder:p.markdownNotesPlaceholder,className:"h-28 w-full resize-y rounded border border-white/10 bg-black/20 px-2 py-1.5 font-mono text-[10px] leading-4 text-white/80 outline-none transition placeholder:text-white/25 focus:border-blue-400/55 focus:text-white"})]})]}),m[11]=g,m[12]=p,m[13]=v,m[14]=h,m[15]=_,m[16]=w,m[17]=f,m[18]=b,m[19]=a):a=m[19],m[20]!==g||m[21]!==p||m[22]!==h||m[23]!==f||m[24]!==b?(o="visibility"===g&&(0,r.jsx)(nG,{copy:p,player:h,team:f,updatePlayerDetails:b}),m[20]=g,m[21]=p,m[22]=h,m[23]=f,m[24]=b,m[25]=o):o=m[25],m[26]!==g||m[27]!==y||m[28]!==p?(s="associations"===g&&(0,r.jsx)(nV,{copy:p,associations:y}),m[26]=g,m[27]=y,m[28]=p,m[29]=s):s=m[29],m[30]!==n||m[31]!==a||m[32]!==o||m[33]!==s?(l=(0,r.jsxs)("div",{className:"min-w-0 flex-1 p-3",children:[n,a,o,s]}),m[30]=n,m[31]=a,m[32]=o,m[33]=s,m[34]=l):l=m[34],m[35]!==g||m[36]!==x?(c=t9.map(e=>{let t=e.icon;return(0,r.jsx)("button",{type:"button",title:e.label,"aria-label":e.label,"aria-pressed":g===e.key,onClick:()=>x(e.key),className:`mx-auto mb-1 flex h-7 w-7 items-center justify-center rounded transition ${g===e.key?"bg-blue-600 text-white":"text-white/45 hover:bg-white/10 hover:text-white"}`,children:(0,r.jsx)(t,{size:13})},e.key)}),m[35]=g,m[36]=x,m[37]=c):c=m[37],m[38]!==c?(u=(0,r.jsx)("div",{className:"w-9 shrink-0 border-l border-white/10 bg-white/[0.03] py-2",children:c}),m[38]=c,m[39]=u):u=m[39],m[40]!==l||m[41]!==u?(d=(0,r.jsxs)("div",{className:"flex min-h-full",children:[l,u]}),m[40]=l,m[41]=u,m[42]=d):d=m[42],d}function nU(e){let t,n=(0,i.c)(2),{title:a}=e;return n[0]!==a?(t=(0,r.jsx)("div",{className:"text-[9px] font-semibold uppercase tracking-wide text-white/75",children:a}),n[0]=a,n[1]=t):t=n[1],t}function nZ(e){let t,n,a,o,s=(0,i.c)(12),{label:l,value:c,onChange:u,type:d,className:m}=e,p=void 0===d?"text":d,h=`block rounded border border-white/5 bg-white/[0.02] px-2 py-1 ${void 0===m?"":m}`;return s[0]!==l?(t=(0,r.jsx)("span",{className:"mb-1 block text-[8px] font-semibold uppercase tracking-wide text-white/70",children:l}),s[0]=l,s[1]=t):t=s[1],s[2]!==u?(n=e=>u(e.target.value),s[2]=u,s[3]=n):n=s[3],s[4]!==n||s[5]!==p||s[6]!==c?(a=(0,r.jsx)("input",{type:p,value:c,onChange:n,className:"w-full bg-transparent text-[10px] text-white/75 outline-none focus:text-blue-300"}),s[4]=n,s[5]=p,s[6]=c,s[7]=a):a=s[7],s[8]!==h||s[9]!==t||s[10]!==a?(o=(0,r.jsxs)("label",{className:h,children:[t,a]}),s[8]=h,s[9]=t,s[10]=a,s[11]=o):o=s[11],o}function nG(e){let t,n,o,s,l,c,u,d,m,p,h,f,g,x,b,y,v,w=(0,i.c)(55),{copy:_,player:k,team:S,updatePlayerDetails:j}=e,[$,I]=(0,a.useState)(t1);w[0]!==k?(t=e=>e.defaultValue?k?.[e.key]!==!1:!!k?.[e.key],w[0]=k,w[1]=t):t=w[1];let C=t;w[2]!==C||w[3]!==k.id||w[4]!==S||w[5]!==j?(n=e=>{j(S,k.id,{[e.key]:!C(e)})},w[2]=C,w[3]=k.id,w[4]=S,w[5]=j,w[6]=n):n=w[6];let N=n;
4w[7]===Symbol.for("react.memo_cache_sentinel")?(o=e=>{I(t=>({...t,[e]:!t[e]}))},w[7]=o):o=w[7];let T=o,A=_.onPitch,P=$.onPitch;w[8]===Symbol.for("react.memo_cache_sentinel")?(s=()=>T("onPitch"),w[8]=s):s=w[8],w[9]!==_||w[10]!==C||w[11]!==N?(l=tY.map(e=>(0,r.jsx)(nH,{label:_[e.copyKey]||e.copyKey,checked:C(e),onClick:()=>N(e)},e.key)),w[9]=_,w[10]=C,w[11]=N,w[12]=l):l=w[12],w[13]!==_.onPitch||w[14]!==$.onPitch||w[15]!==l?(c=(0,r.jsx)(nW,{title:A,expanded:P,onToggle:s,children:l}),w[13]=_.onPitch,w[14]=$.onPitch,w[15]=l,w[16]=c):c=w[16];let E=_.floating,D=$.floating;w[17]===Symbol.for("react.memo_cache_sentinel")?(u=()=>T("floating"),w[17]=u):u=w[17],w[18]!==_||w[19]!==C||w[20]!==N?(d=[tQ,...t0].map(e=>(0,r.jsx)(nH,{label:_[e.copyKey]||e.copyKey,checked:C(e),onClick:()=>N(e)},e.key)),w[18]=_,w[19]=C,w[20]=N,w[21]=d):d=w[21],w[22]!==_.floating||w[23]!==$.floating||w[24]!==d?(m=(0,r.jsx)(nW,{title:E,expanded:D,onToggle:u,children:d}),w[22]=_.floating,w[23]=$.floating,w[24]=d,w[25]=m):m=w[25];let M=_.scale,z=k.floatingScale??1,F=k.floatingScale??1;w[26]!==F?(p=F.toFixed(1),w[26]=F,w[27]=p):p=w[27];let O=`${p}x`;w[28]!==k.id||w[29]!==S||w[30]!==j?(h=e=>j(S,k.id,{floatingScale:e}),w[28]=k.id,w[29]=S,w[30]=j,w[31]=h):h=w[31],w[32]!==_.scale||w[33]!==z||w[34]!==O||w[35]!==h?(f=(0,r.jsx)(nY,{label:M,value:z,valueLabel:O,min:.3,max:2,step:.05,onChange:h}),w[32]=_.scale,w[33]=z,w[34]=O,w[35]=h,w[36]=f):f=w[36];let L=_.height,R=k.floatingHeight??1.5,B=k.floatingHeight??1.5;return w[37]!==B?(g=B.toFixed(1),w[37]=B,w[38]=g):g=w[38],w[39]!==k.id||w[40]!==S||w[41]!==j?(x=e=>j(S,k.id,{floatingHeight:e}),w[39]=k.id,w[40]=S,w[41]=j,w[42]=x):x=w[42],w[43]!==_.height||w[44]!==R||w[45]!==g||w[46]!==x?(b=(0,r.jsx)(nY,{label:L,value:R,valueLabel:g,min:.5,max:5,step:.1,onChange:x}),w[43]=_.height,w[44]=R,w[45]=g,w[46]=x,w[47]=b):b=w[47],w[48]!==f||w[49]!==b?(y=(0,r.jsxs)("div",{className:"grid grid-cols-2 gap-2",children:[f,b]}),w[48]=f,w[49]=b,w[50]=y):y=w[50],w[51]!==m||w[52]!==y||w[53]!==c?(v=(0,r.jsxs)("div",{className:"mt-2 space-y-2",children:[c,m,y]}),w[51]=m,w[52]=y,w[53]=c,w[54]=v):v=w[54],v}function nW(e){let t,n,a,o,s=(0,i.c)(12),{title:l,expanded:c,onToggle:u,children:d}=e;s[0]!==c?(t=(0,r.jsx)("span",{className:"text-[10px] text-white/35",children:c?(0,r.jsx)(e2.FiChevronDown,{}):(0,r.jsx)(e2.FiChevronRight,{})}),s[0]=c,s[1]=t):t=s[1],s[2]!==l?(n=(0,r.jsx)("span",{className:"text-[8px] font-semibold uppercase tracking-wide text-white/70",children:l}),s[2]=l,s[3]=n):n=s[3],s[4]!==c||s[5]!==u||s[6]!==t||s[7]!==n?(a=(0,r.jsxs)("button",{type:"button",onClick:u,className:"flex w-full items-center gap-1.5 px-2 py-1 text-left transition hover:bg-white/5","aria-expanded":c,children:[t,n]}),s[4]=c,s[5]=u,s[6]=t,s[7]=n,s[8]=a):a=s[8];let m=c&&d;return s[9]!==a||s[10]!==m?(o=(0,r.jsxs)("div",{className:"rounded border border-white/5 bg-white/[0.02] py-1",children:[a,m]}),s[9]=a,s[10]=m,s[11]=o):o=s[11],o}function nH(e){let t,n,a,o=(0,i.c)(9),{label:s,checked:l,onClick:c}=e;o[0]!==s?(t=(0,r.jsx)("span",{className:"truncate text-[8px] text-white/55",children:s}),o[0]=s,o[1]=t):t=o[1];let u=`h-2.5 w-2.5 shrink-0 rounded-full border ${l?"border-emerald-300 bg-emerald-400":"border-white/20 bg-white/5"}`;return o[2]!==u?(n=(0,r.jsx)("span",{className:u}),o[2]=u,o[3]=n):n=o[3],o[4]!==l||o[5]!==c||o[6]!==t||o[7]!==n?(a=(0,r.jsxs)("button",{type:"button",onClick:c,"aria-pressed":l,className:"flex w-full items-center justify-between gap-2 px-2 py-1 text-left transition hover:bg-white/5",children:[t,n]}),o[4]=l,o[5]=c,o[6]=t,o[7]=n,o[8]=a):a=o[8],a}function nV(e){let t,n,a=(0,i.c)(6),{copy:o,associations:s}=e;if(!s.length){let e;return a[0]!==o.noAssociations?(e=(0,r.jsx)("div",{className:"mt-2 rounded border border-white/10 bg-white/[0.03] px-3 py-8 text-center text-[9px] text-white/35",children:o.noAssociations}),a[0]=o.noAssociations,a[1]=e):e=a[1],e}return a[2]!==s?(t=s.map(nq),a[2]=s,a[3]=t):t=a[3],a[4]!==t?(n=(0,r.jsx)("div",{className:"mt-2 space-y-1.5",children:t}),a[4]=t,a[5]=n):n=a[5],n}function nq(e){return(0,r.jsxs)("div",{className:"rounded border border-white/10 bg-white/[0.03] px-2 py-1.5",children:[(0,r.jsxs)("div",{className:"mb-1 flex items-center justify-between gap-2",children:[(0,r.jsx)("span",{className:"text-[8px] font-semibold uppercase tracking-wide text-white/70",children:e.kind}),(0,r.jsx)("span",{className:"h-2.5 w-2.5 rounded-full",style:{backgroundColor:e.color||"#ffffff"}})]}),(0,r.jsx)("div",{className:"flex flex-wrap gap-1",children:e.players.map(t=>(0,r.jsx)("span",{className:"rounded bg-white/10 px-1.5 py-0.5 text-[8px] text-white/60",children:rB(t)},`${e.id}-${t.id}`))})]},e.id)}function nK(e){let t,n,a,o,s,l,c,u=(0,i.c)(19),{label:d,count:m,enabled:p,color:h,onClick:f}=e;u[0]!==d?(t=(0,r.jsx)("div",{className:"truncate text-[9px] text-white/70",children:d}),u[0]=d,u[1]=t):t=u[1],u[2]!==m?(n=(0,r.jsx)("div",{className:"text-[8px] text-white/30",children:m}),u[2]=m,u[3]=n):n=u[3],u[4]!==t||u[5]!==n?(a=(0,r.jsxs)("div",{className:"min-w-0",children:[t,n]}),u[4]=t,u[5]=n,u[6]=a):a=u[6];let g=p?h:"rgba(255,255,255,0.14)";u[7]!==g?(o={backgroundColor:g},u[7]=g,u[8]=o):o=u[8];let x=p?"translateX(14px)":"translateX(0)";return u[9]!==x?(s=(0,r.jsx)("span",{className:"absolute left-[2px] top-[2px] h-3.5 w-3.5 rounded-full bg-white shadow-sm transition-transform",style:{transform:x}}),u[9]=x,u[10]=s):s=u[10],u[11]!==p||u[12]!==f||u[13]!==o||u[14]!==s?(l=(0,r.jsx)("button",{type:"button",onClick:f,"aria-pressed":p,className:"relative h-[18px] w-8 shrink-0 rounded-full transition-colors",style:o,children:s}),u[11]=p,u[12]=f,u[13]=o,u[14]=s,u[15]=l):l=u[15],u[16]!==a||u[17]!==l?(c=(0,r.jsxs)("div",{className:"flex items-center justify-between gap-2 rounded border border-white/5 bg-white/[0.02] px-2 py-1.5",children:[a,l]}),u[16]=a,u[17]=l,u[18]=c):c=u[18],c}function nJ(e){let t,n,a,o,s,l,c,u,d=(0,i.c)(30),{title:m,expanded:p,onHeaderToggle:h,headerOption:f,options:g,copy:x,isOptionOn:b,onOptionToggle:y,children:v}=e,w=void 0===f?null:f;d[0]!==w||d[1]!==b?(t=!!w&&b(w.key,w.defaultValue),d[0]=w,d[1]=b,d[2]=t):t=d[2];let _=t;return d[3]!==p?(n=(0,r.jsx)("span",{className:"shrink-0 text-[10px] text-white/35",children:p?(0,r.jsx)(e2.FiChevronDown,{}):(0,r.jsx)(e2.FiChevronRight,{})}),d[3]=p,d[4]=n):n=d[4],d[5]!==m?(a=(0,r.jsx)("span",{className:"truncate text-[8px] font-semibold uppercase tracking-wide text-white/70",children:m}),d[5]=m,d[6]=a):a=d[6],d[7]!==p||d[8]!==h||d[9]!==n||d[10]!==a?(o=(0,r.jsxs)("button",{type:"button",onClick:h,className:"flex min-w-0 flex-1 items-center gap-1.5 text-left","aria-expanded":p,children:[n,a]}),d[7]=p,d[8]=h,d[9]=n,d[10]=a,d[11]=o):o=d[11],d[12]!==x||d[13]!==w||d[14]!==_||d[15]!==y?(s=w&&(0,r.jsxs)("button",{type:"button",onClick:()=>y(w.key,w.defaultValue),className:`flex h-5 shrink-0 items-center gap-1 rounded border px-1.5 text-[7px] font-semibold uppercase tracking-wide transition ${_?"border-emerald-300/60 bg-emerald-400/20 text-emerald-100 hover:bg-emerald-400/25":"border-white/10 bg-white/[0.04] text-white/45 hover:bg-white/10 hover:text-white/70"}`,"aria-pressed":_,children:[(0,r.jsx)("span",{children:x[w.copyKey]}),(0,r.jsx)("span",{className:`h-2 w-2 rounded-full border ${_?"border-emerald-300 bg-emerald-400":"border-white/20 bg-white/5"}`})]}),d[12]=x,d[13]=w,d[14]=_,d[15]=y,d[16]=s):s=d[16],d[17]!==o||d[18]!==s?(l=(0,r.jsxs)("div",{className:"flex items-center gap-1 px-2 py-1 transition hover:bg-white/5",children:[o,s]}),d[17]=o,d[18]=s,d[19]=l):l=d[19],d[20]!==v||d[21]!==x||d[22]!==p||d[23]!==b||d[24]!==y||d[25]!==g?(c=p&&(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(nX,{options:g,copy:x,isOptionOn:b,onOptionToggle:y}),v]}),d[20]=v,d[21]=x,d[22]=p,d[23]=b,d[24]=y,d[25]=g,d[26]=c):c=d[26],d[27]!==l||d[28]!==c?(u=(0,r.jsxs)("div",{className:"rounded border border-white/5 bg-white/[0.02] py-1",children:[l,c]}),d[27]=l,d[28]=c,d[29]=u):u=d[29],u}function nX(e){let t,n,a=(0,i.c)(11),{options:o,copy:s,isOptionOn:l,onOptionToggle:c}=e;if(a[0]!==s||a[1]!==l||a[2]!==c||a[3]!==o){let e;a[5]!==s||a[6]!==l||a[7]!==c?(e=e=>{let t=l(e.key,e.defaultValue);return(0,r.jsxs)("button",{type:"button",onClick:()=>c(e.key,e.defaultValue),className:"flex w-full items-center justify-between gap-2 px-2 py-1 text-left transition hover:bg-white/5","aria-pressed":t,children:[(0,r.jsx)("span",{className:"truncate text-[8px] text-white/60",children:s[e.copyKey]}),(0,r.jsx)("span",{className:`h-2.5 w-2.5 shrink-0 rounded-full border ${t?"border-emerald-300 bg-emerald-400":"border-white/20 bg-white/5"}`})]},e.key)},a[5]=s,a[6]=l,a[7]=c,a[8]=e):e=a[8],t=o.map(e),a[0]=s,a[1]=l,a[2]=c,a[3]=o,a[4]=t}else t=a[4];return a[9]!==t?(n=(0,r.jsx)("div",{className:"space-y-0.5",children:t}),a[9]=t,a[10]=n):n=a[10],n}function nY(e){let t,n,a,o,s,l,c=(0,i.c)(18),{label:u,value:d,valueLabel:m,min:p,max:h,step:f,onChange:g}=e;return c[0]!==u?(t=(0,r.jsx)("span",{className:"truncate text-[8px] font-semibold uppercase tracking-wide text-white/75",children:u}),c[0]=u,c[1]=t):t=c[1],c[2]!==m?(n=(0,r.jsx)("span",{className:"shrink-0 text-[8px] text-white/45",children:m}),c[2]=m,c[3]=n):n=c[3],c[4]!==t||c[5]!==n?(a=(0,r.jsxs)("div",{className:"mb-1 flex items-center justify-between gap-2",children:[t,n]}),c[4]=t,c[5]=n,c[6]=a):a=c[6],c[7]!==g?(o=e=>g(parseFloat(e.target.value)),c[7]=g,c[8]=o):o=c[8],c[9]!==h||c[10]!==p||c[11]!==f||c[12]!==o||c[13]!==d?(s=(0,r.jsx)("input",{type:"range",min:p,max:h,step:f,value:d,onChange:o,className:"w-full h-1 bg-white/10 rounded-lg appearance-none cursor-pointer [&::-webkit-slider-thumb]:appearance-none [&::-webkit-slider-thumb]:w-2.5 [&::-webkit-slider-thumb]:h-2.5 [&::-webkit-slider-thumb]:rounded-full [&::-webkit-slider-thumb]:bg-white/80"}),c[9]=h,c[10]=p,c[11]=f,c[12]=o,c[13]=d,c[14]=s):s=c[14],c[15]!==a||c[16]!==s?(l=(0,r.jsxs)("div",{className:"rounded border border-white/5 bg-white/[0.02] px-2 py-1.5",children:[a,s]}),c[15]=a,c[16]=s,c[17]=l):l=c[17],l}function nQ(e){let t,n,o,s,l,c,u,d,m,p,h,f,g,x,b,y,v,w,_,k,S,j=(0,i.c)(83),{value:$,options:I,placeholder:C,disabled:N,loading:T,emptyLabel:A,clearable:P,clearLabel:E,getValue:D,getLabel:M,getMeta:z,getBadgeKind:F,getBadgeLabel:O,getSearchText:L,leadingIcon:R,onChange:B,onClear:U}=e,Z=void 0!==N&&N,G=void 0!==T&&T,W=void 0!==P&&P,H=void 0===E?"Clear search":E,V=void 0===z?n4:z,q=void 0===F?n5:F,K=void 0===O?n2:O,J=void 0===L?M:L,X=void 0===R?null:R,Y=void 0===U?null:U,Q=(0,a.useRef)(null),ee=(0,a.useRef)(null),et=(0,a.useRef)(null),[en,er]=(0,a.useState)(!1),[ei,ea]=(0,a.useState)(""),[eo,es]=(0,a.useState)(null);j[0]!==D||j[1]!==I||j[2]!==$?(t=I.find(e=>
4String(D(e))===String($||""))||null,j[0]=D,j[1]=I,j[2]=$,j[3]=t):t=j[3];let el=t;j[4]!==M||j[5]!==el?(n=el?M(el):"",j[4]=M,j[5]=el,j[6]=n):n=j[6];let ec=n;j[7]!==q||j[8]!==el?(o=el?q(el):null,j[7]=q,j[8]=el,j[9]=o):o=j[9];let eu=o;j[10]!==K||j[11]!==el?(s=el?K(el):"",j[10]=K,j[11]=el,j[12]=s):s=j[12];let ed=s;j[13]!==M||j[14]!==V||j[15]!==J||j[16]!==D||j[17]!==I||j[18]!==ei||j[19]!==$?(l=(function({options:e,query:t,selectedValue:n,getValue:r,getLabel:i,getMeta:a,getSearchText:o}){let s=rU(t),l=String(n||"");return(e||[]).map((e,t)=>{var n;let c=String(r(e)),u=rU(i(e)),d=rU(o(e)),m=rU(a(e)),p=rU(`${d} ${u} ${m}`),h=l&&c===l?-1e3:0,f=(n=e,n?.type===t8||n?.sourceKind==="private"||n?.sourceKind==="shared"?0:n?.sourceKind==="builtIn"?20:10);return s?p.includes(s)?{option:e,index:t,rank:h+(u===s?0:u.startsWith(s)?2:d.startsWith(s)?4:Math.max(8,p.indexOf(s)+8))+f}:null:{option:e,index:t,rank:h+f}}).filter(Boolean).sort((e,t)=>e.rank-t.rank||e.index-t.index).map(e=>e.option)})({options:I,query:ei,selectedValue:$,getValue:D,getLabel:M,getMeta:V,getSearchText:J}).slice(0,80),j[13]=M,j[14]=V,j[15]=J,j[16]=D,j[17]=I,j[18]=ei,j[19]=$,j[20]=l):l=j[20];let em=l;j[21]===Symbol.for("react.memo_cache_sentinel")?(c=()=>{let e=Q.current?.getBoundingClientRect();e&&es({position:"fixed",left:e.left,top:e.bottom+4,width:e.width,maxHeight:144})},j[21]=c):c=j[21];let ep=c;j[22]!==en?(u=()=>{if(!en)return;let e=e=>{Q.current?.contains(e.target)||ee.current?.contains(e.target)||er(!1)},t=()=>ep(),n=window.requestAnimationFrame(ep);return document.addEventListener("pointerdown",e),window.addEventListener("resize",t),window.addEventListener("scroll",t,!0),()=>{window.cancelAnimationFrame(n),document.removeEventListener("pointerdown",e),window.removeEventListener("resize",t),window.removeEventListener("scroll",t,!0)}},d=[en,ep],j[22]=en,j[23]=u,j[24]=d):(u=j[23],d=j[24]),(0,a.useEffect)(u,d),j[25]!==M||j[26]!==D||j[27]!==B?(m=e=>{let t=D(e);ea(M(e)),er(!1),B(t,e)},j[25]=M,j[26]=D,j[27]=B,j[28]=m):m=j[28];let eh=m,ef=en?ei:ec;j[29]!==Y||j[30]!==el||j[31]!==$?(p=()=>{if(et.current?.focus(),ea(""),Y&&el){Y($,el),er(!1);return}er(!0)},j[29]=Y,j[30]=el,j[31]=$,j[32]=p):p=j[32];let eg=p,ex=!!(W&&!Z&&ef),eb=eu&&!en;e:{if(X){if(W&&G){h=eb?"pl-6 pr-24":"pl-6 pr-10";break e}if(W||G){h=eb?"pl-6 pr-20":"pl-6 pr-6";break e}h=eb?"pl-6 pr-16":"pl-6 pr-2";break e}if(W&&G){h=eb?"pl-2 pr-24":"pl-2 pr-10";break e}if(W||G){h=eb?"pl-2 pr-20":"pl-2 pr-6";break e}h=eb?"pl-2 pr-16":"px-2"}let ey=h,ev=ex?"right-5":"right-1",ew=W?G?"right-9":"right-5":G?"right-5":"right-1";j[33]!==Z||j[34]!==eo||j[35]!==A||j[36]!==em||j[37]!==q||j[38]!==K||j[39]!==M||j[40]!==V||j[41]!==D||j[42]!==en||j[43]!==eh||j[44]!==$?(f=en&&!Z&&eo&&"u">typeof document?(0,e0.createPortal)((0,r.jsx)("div",{ref:ee,className:"overflow-y-auto rounded border border-white/10 bg-zinc-950/95 shadow-xl backdrop-blur-xl",style:{...eo,zIndex:2100},onMouseDown:n1,children:0===em.length?(0,r.jsx)("div",{className:"px-2 py-2 text-[10px] text-white/35",children:A}):em.map(e=>{let t=String(D(e)),n=t===String($||""),i=V(e),a=q(e),o=K(e);return(0,r.jsxs)("button",{type:"button",onClick:()=>eh(e),className:`w-full px-2 py-1.5 text-left transition ${n?"bg-blue-500/20 text-blue-100":"text-white/70 hover:bg-white/10"}`,children:[(0,r.jsxs)("span",{className:"flex min-w-0 items-center justify-between gap-2",children:[(0,r.jsx)("span",{className:"block min-w-0 flex-1 truncate text-[10px] font-medium",children:M(e)}),a&&(0,r.jsx)(n3,{kind:a,label:o})]}),i&&(0,r.jsx)("span",{className:"block truncate text-[8px] text-white/35",children:i})]},t)})}),document.body):null,j[33]=Z,j[34]=eo,j[35]=A,j[36]=em,j[37]=q,j[38]=K,j[39]=M,j[40]=V,j[41]=D,j[42]=en,j[43]=eh,j[44]=$,j[45]=f):f=j[45];let e_=f;j[46]!==X?(g=X&&(0,r.jsx)(X,{size:11,className:"pointer-events-none absolute left-2 top-1/2 z-10 -translate-y-1/2 text-white/40","aria-hidden":"true"}),j[46]=X,j[47]=g):g=j[47],j[48]!==Z||j[49]!==ec?(x=()=>{Z||(ea(ec),er(!0))},j[48]=Z,j[49]=ec,j[50]=x):x=j[50],j[51]!==en?(b=e=>{ea(e.target.value),en||er(!0)},j[51]=en,j[52]=b):b=j[52],j[53]!==em||j[54]!==eh?(y=e=>{"Escape"===e.key&&er(!1),"Enter"===e.key&&em[0]&&(e.preventDefault(),eh(em[0]))},j[53]=em,j[54]=eh,j[55]=y):y=j[55];let ek=`w-full bg-white/5 border border-white/10 rounded py-1 text-[10px] text-white/80 outline-none focus:border-blue-500/50 disabled:opacity-40 ${ey}`;return j[56]!==Z||j[57]!==C||j[58]!==x||j[59]!==b||j[60]!==y||j[61]!==ek||j[62]!==ef?(v=(0,r.jsx)("input",{ref:et,type:"text",value:ef,onFocus:x,onChange:b,onKeyDown:y,disabled:Z,placeholder:C,className:ek}),j[56]=Z,j[57]=C,j[58]=x,j[59]=b,j[60]=y,j[61]=ek,j[62]=ef,j[63]=v):v=j[63],j[64]!==ew||j[65]!==en||j[66]!==eu||j[67]!==ed?(w=eu&&!en&&(0,r.jsx)("span",{className:`pointer-events-none absolute ${ew} top-1/2 flex -translate-y-1/2`,"data-selected-formation-source-pill":"true",children:(0,r.jsx)(n3,{kind:eu,label:ed})}),j[64]=ew,j[65]=en,j[66]=eu,j[67]=ed,j[68]=w):w=j[68],j[69]!==G||j[70]!==ev?(_=G&&(0,r.jsx)("span",{className:`pointer-events-none absolute ${ev} top-1/2 flex h-4 w-4 -translate-y-1/2 items-center justify-center`,"data-autocomplete-loading":"true","aria-hidden":"true",children:(0,r.jsx)("span",{className:"h-2.5 w-2.5 animate-spin rounded-full border border-blue-300/60 border-t-transparent"})}),j[69]=G,j[70]=ev,j[71]=_):_=j[71],j[72]!==H||j[73]!==eg||j[74]!==ex?(k=ex&&(0,r.jsx)("button",{type:"button",onMouseDown:n0,onClick:eg,className:"absolute right-1 top-1/2 flex h-4 w-4 -translate-y-1/2 items-center justify-center text-white/45 transition hover:text-white",title:H,"aria-label":H,children:(0,r.jsx)(e2.FiX,{size:11})}),j[72]=H,j[73]=eg,j[74]=ex,j[75]=k):k=j[75],j[76]!==e_||j[77]!==g||j[78]!==v||j[79]!==w||j[80]!==_||j[81]!==k?(S=(0,r.jsxs)("div",{ref:Q,className:"relative",children:[g,v,w,_,k,e_]}),j[76]=e_,j[77]=g,j[78]=v,j[79]=w,j[80]=_,j[81]=k,j[82]=S):S=j[82],S}function n0(e){return e.preventDefault()}function n1(e){return e.preventDefault()}function n2(){return""}function n5(){return null}function n4(){return""}function n3(e){let t,n=(0,i.c)(4),{kind:a,label:o}=e,s="builtIn"===a?"border-sky-300/45 text-sky-100":"private"===a?"border-amber-200/45 text-amber-100":"border-emerald-300/45 text-emerald-100",l=`shrink-0 rounded-full border px-1 py-px text-[8px] font-semibold uppercase tracking-wide ${s}`;return n[0]!==a||n[1]!==o||n[2]!==l?(t=(0,r.jsx)("span",{className:l,"data-formation-source-pill":a,children:o}),n[0]=a,n[1]=o,n[2]=l,n[3]=t):t=n[3],t}function n6(e){let t,n,a,o,s,l,c=(0,i.c)(14),{copy:u,count:d,onClick:m}=e;return c[0]===Symbol.for("react.memo_cache_sentinel")?(t=(0,r.jsx)("span",{className:"text-3xl leading-none","aria-hidden":"true",children:nt}),c[0]=t):t=c[0],c[1]!==u.worldCupListReady?(n=(0,r.jsx)("span",{className:"block text-[10px] font-semibold leading-snug text-amber-50",children:u.worldCupListReady}),c[1]=u.worldCupListReady,c[2]=n):n=c[2],c[3]===Symbol.for("react.memo_cache_sentinel")?(a=(0,r.jsx)(e2.FiCheckSquare,{className:"h-2.5 w-2.5 shrink-0","aria-hidden":"true"}),c[3]=a):a=c[3],c[4]!==u.selectedToAdd||c[5]!==d?(o=(0,r.jsxs)("span",{className:"mt-0.5 flex items-center gap-1 text-[8px] font-medium text-amber-100/65",children:[a,(0,r.jsxs)("span",{children:[d," ",u.selectedToAdd]})]}),c[4]=u.selectedToAdd,c[5]=d,c[6]=o):o=c[6],c[7]!==n||c[8]!==o?(s=(0,r.jsxs)("span",{className:"min-w-0 flex-1",children:[n,o]}),c[7]=n,c[8]=o,c[9]=s):s=c[9],c[10]!==u.worldCupListReady||c[11]!==m||c[12]!==s?(l=(0,r.jsx)("div",{className:"px-3 py-1.5","data-world-cup-squad-ready-section":"true",children:(0,r.jsxs)("button",{type:"button",onClick:m,className:"group flex w-full items-center gap-2 rounded border border-amber-300/25 bg-amber-300/[0.08] px-2 py-2 text-left transition hover:border-amber-200/55 hover:bg-amber-300/[0.14]",title:u.worldCupListReady,"aria-label":u.worldCupListReady,children:[t,s]})}),c[10]=u.worldCupListReady,c[11]=m,c[12]=s,c[13]=l):l=c[13],l}function n8(e){let t,n,a,o,s,l,c,u=(0,i.c)(30),{title:d,expanded:m,onToggle:p,team:h,players:f,swapSelection:g,onRowClick:x,onSwapPlayer:b,onSwapConfirm:y,activePlayerId:v,copy:w,showSwapAction:_,sourceLabel:k,dataKind:S,renderEmpty:j,emptyLabel:$}=e,I=void 0===v?null:v,C=void 0===_||_,N=void 0===k?null:k,T=void 0===$?null:$;if(!f.length&&!(void 0!==j&&j))return null;let A=(void 0===S?null:S)||void 0;return u[0]!==m?(t=(0,r.jsx)("span",{className:"text-[10px] text-white/35",children:m?(0,r.jsx)(e2.FiChevronDown,{}):(0,r.jsx)(e2.FiChevronRight,{})}),u[0]=m,u[1]=t):t=u[1],u[2]!==d?(n=(0,r.jsx)("span",{className:"truncate text-[8px] font-semibold uppercase tracking-wide text-white/70",children:d}),u[2]=d,u[3]=n):n=u[3],u[4]!==t||u[5]!==n?(a=(0,r.jsxs)("span",{className:"flex min-w-0 items-center gap-1.5",children:[t,n]}),u[4]=t,u[5]=n,u[6]=a):a=u[6],u[7]!==f.length?(o=(0,r.jsx)("span",{className:"text-[8px] text-white/25",children:f.length}),u[7]=f.length,u[8]=o):o=u[8],u[9]!==p||u[10]!==a||u[11]!==o?(s=(0,r.jsxs)("button",{type:"button",onClick:p,className:"flex w-full items-center justify-between gap-2 px-2 py-1.5 text-left transition hover:bg-white/[0.04]",children:[a,o]}
4),u[9]=p,u[10]=a,u[11]=o,u[12]=s):s=u[12],u[13]!==I||u[14]!==w||u[15]!==T||u[16]!==m||u[17]!==x||u[18]!==y||u[19]!==b||u[20]!==f||u[21]!==C||u[22]!==N||u[23]!==g||u[24]!==h?(l=m&&(0,r.jsxs)("div",{className:"max-h-44 space-y-0.5 overflow-y-auto border-t border-white/[0.06] p-1 custom-scrollbar",children:[0===f.length&&(0,r.jsx)("div",{className:"px-1.5 py-2 text-center text-[8px] text-white/30",children:T||w.noOptions}),f.map(e=>{let t=g.indexOf(e.id),n=-1!==t,i=n&&2===g.length,a=I===e.id,o=rR(e),s=e.listSourceLabel||e.sourceLabel||N;return(0,r.jsxs)("div",{role:"button",tabIndex:0,onClick:()=>x(e.id),onKeyDown:t=>{("Enter"===t.key||" "===t.key)&&(t.preventDefault(),x(e.id))},className:`group/playerrow w-full flex items-center gap-2 rounded border px-1.5 py-1 text-left transition ${a?"border-blue-300/70 bg-blue-500/20 text-blue-50":n?"border-blue-400/70 bg-blue-500/20 text-blue-100":"border-transparent bg-transparent text-white/70 hover:border-white/10 hover:bg-white/[0.05]"}`,children:[(0,r.jsx)("span",{className:"h-5 w-1 shrink-0 rounded-full",style:{backgroundColor:e.color||e.teamColor||"rgba(255,255,255,0.22)"}}),(0,r.jsxs)("span",{className:"min-w-0 flex-1 leading-tight",children:[(0,r.jsxs)("span",{className:"flex min-w-0 items-center gap-1",children:[(0,r.jsx)("span",{className:"min-w-0 flex-1 truncate text-[9px] font-medium",children:e.name||"Player"}),C&&(0,r.jsx)("button",{type:"button",onClick:t=>{(t.stopPropagation(),i)?y():b(e.id)},className:`flex h-4 min-w-4 shrink-0 items-center justify-center rounded border px-1 text-[7px] font-bold uppercase transition ${i?"border-emerald-200 bg-emerald-400 text-black":n?"border-blue-200 bg-blue-400 text-black":"border-white/10 bg-white/5 text-white/30 opacity-70 group-hover/playerrow:opacity-100 group-hover/playerrow:text-white/65"}`,"aria-label":i?w.swapAction:w.swapPosition,title:i?w.swapAction:w.swapPosition,"data-player-inline-swap":"true",children:i?w.swapAction:n?t+1:(0,r.jsx)(e2.FiRefreshCw,{size:8})})]}),(0,r.jsxs)("span",{className:"flex min-w-0 items-center gap-1",children:[(0,r.jsx)("span",{className:"shrink-0 rounded border border-white/10 bg-white/[0.04] px-1 text-[7px] uppercase tracking-wide text-white/[0.38]",children:o}),(0,r.jsx)("span",{className:"truncate text-[8px] text-white/35",children:e.shortRole||e.role||""}),s&&(0,r.jsx)("span",{className:"shrink-0 rounded border border-amber-200/15 bg-amber-300/10 px-1 text-[7px] uppercase tracking-wide text-amber-100/55",children:s})]})]})]},`${h}-${e.id}`)})]}),u[13]=I,u[14]=w,u[15]=T,u[16]=m,u[17]=x,u[18]=y,u[19]=b,u[20]=f,u[21]=C,u[22]=N,u[23]=g,u[24]=h,u[25]=l):l=u[25],u[26]!==s||u[27]!==l||u[28]!==A?(c=(0,r.jsxs)("div",{className:"rounded border border-white/[0.07] bg-white/[0.025]","data-player-list-kind":A,children:[s,l]}),u[26]=s,u[27]=l,u[28]=A,u[29]=c):c=u[29],c}function n9(e){let t,n,a,o,s=(0,i.c)(10),{label:l,value:c,onChange:u}=e;return s[0]!==l?(t=(0,r.jsx)("span",{className:"shrink-0 text-[8px] font-semibold uppercase tracking-wide text-white/75",children:l}),s[0]=l,s[1]=t):t=s[1],s[2]!==u?(n=e=>u(e.target.value),s[2]=u,s[3]=n):n=s[3],s[4]!==n||s[5]!==c?(a=(0,r.jsx)("input",{type:"text",value:c,onChange:n,className:"min-w-0 flex-1 bg-transparent text-right text-[10px] font-semibold text-white/80 outline-none focus:text-blue-300"}),s[4]=n,s[5]=c,s[6]=a):a=s[6],s[7]!==t||s[8]!==a?(o=(0,r.jsxs)("label",{className:"flex h-6 min-w-0 items-center gap-2 rounded border border-white/5 bg-white/[0.025] px-2","data-team-name-compact":"true",children:[t,a]}),s[7]=t,s[8]=a,s[9]=o):o=s[9],o}function n7(e){let t,n,a,o,s,l=(0,i.c)(15),{copy:c,kitColors:u,onKitColorChange:d}=e;return l[0]!==d?(t=(e,t)=>d("player",e,t),l[0]=d,l[1]=t):t=l[1],l[2]!==c||l[3]!==u.player||l[4]!==t?(n=(0,r.jsx)(re,{label:c.outfield,copy:c,colors:u.player,onChange:t}),l[2]=c,l[3]=u.player,l[4]=t,l[5]=n):n=l[5],l[6]!==d?(a=(e,t)=>d("goalkeeper",e,t),l[6]=d,l[7]=a):a=l[7],l[8]!==c||l[9]!==u.goalkeeper||l[10]!==a?(o=(0,r.jsx)(re,{label:c.goalkeeper,copy:c,colors:u.goalkeeper,onChange:a}),l[8]=c,l[9]=u.goalkeeper,l[10]=a,l[11]=o):o=l[11],l[12]!==n||l[13]!==o?(s=(0,r.jsxs)("div",{className:"grid grid-cols-2 gap-1.5","data-kit-preview-grid":"outfield-gk",children:[n,o]}),l[12]=n,l[13]=o,l[14]=s):s=l[14],s}function re(e){let t,n,a,o,s,l,c,u,d,m,p,h=(0,i.c)(32),{label:f,copy:g,colors:x,onChange:b}=e;h[0]!==f?(t=(0,r.jsx)("div",{className:"w-full truncate text-center text-[8px] font-semibold uppercase tracking-wide text-white/75",children:f}),h[0]=f,h[1]=t):t=h[1],h[2]!==x?(n=(0,r.jsx)(rt,{colors:x}),h[2]=x,h[3]=n):n=h[3],h[4]!==t||h[5]!==n?(a=(0,r.jsxs)("div",{className:"flex flex-col items-center gap-1",children:[t,n]}),h[4]=t,h[5]=n,h[6]=a):a=h[6],h[7]!==b?(o=e=>b("primary",e),h[7]=b,h[8]=o):o=h[8],h[9]!==x.primary||h[10]!==g.jersey||h[11]!==o?(s=(0,r.jsx)(rn,{label:g.jersey,value:x.primary,onChange:o}),h[9]=x.primary,h[10]=g.jersey,h[11]=o,h[12]=s):s=h[12];let y=g.shorts||g.border;return h[13]!==b?(l=e=>b("border",e),h[13]=b,h[14]=l):l=h[14],h[15]!==x.border||h[16]!==y||h[17]!==l?(c=(0,r.jsx)(rn,{label:y,value:x.border,onChange:l}),h[15]=x.border,h[16]=y,h[17]=l,h[18]=c):c=h[18],h[19]!==b?(u=e=>b("number",e),h[19]=b,h[20]=u):u=h[20],h[21]!==x.number||h[22]!==g.number||h[23]!==u?(d=(0,r.jsx)(rn,{label:g.number,value:x.number,onChange:u}),h[21]=x.number,h[22]=g.number,h[23]=u,h[24]=d):d=h[24],h[25]!==d||h[26]!==s||h[27]!==c?(m=(0,r.jsxs)("div",{className:"mt-1 grid grid-cols-3 gap-1",children:[s,c,d]}),h[25]=d,h[26]=s,h[27]=c,h[28]=m):m=h[28],h[29]!==m||h[30]!==a?(p=(0,r.jsxs)("div",{className:"min-w-0 rounded border border-white/5 bg-white/[0.02] px-1.5 py-1.5","data-kit-color-card":"true",children:[a,m]}),h[29]=m,h[30]=a,h[31]=p):p=h[31],p}function rt(e){let t,n,a,o,s=(0,i.c)(10),{colors:l}=e,c=l?.primary||"#38bdf8",u=l?.border||"#ffffff",d=l?.number||"#ffffff";return s[0]!==c?(t=(0,r.jsx)("path",{d:"M9 2.5 4.5 6.3 6.4 10.3 8.8 9v9.2h10.4V9l2.4 1.3 1.9-4L19 2.5 16.2 4a4.7 4.7 0 0 1-4.4 0L9 2.5Z",fill:c,stroke:"rgba(255,255,255,0.18)",strokeWidth:"0.7",strokeLinejoin:"round"}),s[0]=c,s[1]=t):t=s[1],s[2]!==u?(n=(0,r.jsx)("path",{d:"M9 19.2h10l1.2 4H15l-1-2.2-1 2.2H7.8L9 19.2Z",fill:u,stroke:"rgba(255,255,255,0.18)",strokeWidth:"0.7",strokeLinejoin:"round"}),s[2]=u,s[3]=n):n=s[3],s[4]!==d?(a=(0,r.jsx)("text",{x:"14",y:"14",textAnchor:"middle",fontSize:"7",fontWeight:"800",fill:d,children:"9"}),s[4]=d,s[5]=a):a=s[5],s[6]!==t||s[7]!==n||s[8]!==a?(o=(0,r.jsxs)("svg",{width:"66",height:"60",viewBox:"0 0 28 26","aria-hidden":"true",className:"mx-auto 
4shrink-0","data-kit-uniform-preview":"true",children:[t,n,a]}),s[6]=t,s[7]=n,s[8]=a,s[9]=o):o=s[9],o}function rn(e){let t,n,a,o=(0,i.c)(8),{label:s,value:l,onChange:c}=e;return o[0]!==s?(t=(0,r.jsx)("span",{className:"truncate text-[7px] font-semibold text-white/70",children:s}),o[0]=s,o[1]=t):t=o[1],o[2]!==c||o[3]!==l?(n=(0,r.jsx)(eN.default,{value:l,onChange:c,size:"sm"}),o[2]=c,o[3]=l,o[4]=n):n=o[4],o[5]!==t||o[6]!==n?(a=(0,r.jsxs)("div",{className:"flex min-w-0 flex-col items-center gap-1",children:[t,n]}),o[5]=t,o[6]=n,o[7]=a):a=o[7],a}function rr(e){let t,n,a,o,s,l,c,u,d=(0,i.c)(23),{progress:m,copy:p,analysis:h}=e,f=void 0===h?null:h;d[0]!==f||d[1]!==p||d[2]!==m.steps?(t=e=>{var t,n,i,a;let o=m.steps?.[e.id]||{status:"pending"},s=f?.[e.id]||[];return(0,r.jsxs)("div",{className:"flex min-w-0 items-start gap-1.5",children:[(0,r.jsx)("span",{className:`mt-1 h-1.5 w-1.5 shrink-0 rounded-full ${"done"===(t=o.status)||"found"===t?"bg-emerald-400":"loading"===t?"bg-blue-400 animate-pulse":"fallback"===t?"bg-white/35":"error"===t?"bg-red-400":"bg-white/20"}`}),(0,r.jsxs)("span",{className:"min-w-0 flex-1",children:[(0,r.jsxs)("span",{className:"flex min-w-0 items-center gap-1.5",children:[(0,r.jsx)("span",{className:"truncate text-[9px] font-medium text-white/70",children:p[e.copyKey]}),(0,r.jsx)("span",{className:`shrink-0 rounded border px-1 py-px text-[7px] uppercase tracking-wide ${"done"===(n=o.status)||"found"===n?"border-emerald-300/55 bg-emerald-400/10 text-emerald-100/85":"loading"===n?"border-blue-300/45 bg-blue-400/10 text-blue-100/75":"fallback"===n?"border-white/15 bg-white/[0.03] text-white/50":"error"===n?"border-red-300/55 bg-red-400/10 text-red-200/85":"border-white/10 bg-white/[0.025] text-white/30"}`,children:(i=o.status,a=p,"loading"===i?a.progressLoading:"found"===i?a.progressFound:"done"===i?a.progressDone:"fallback"===i?a.progressFallback:"error"===i?"error":a.progressPending)})]}),s.length>0?(0,r.jsx)("div",{className:"mt-0.5 space-y-0.5",children:s.map(t=>(0,r.jsx)(ri,{line:t}
4,`${e.id}:${t.status}:${t.fixtureId||t.label}`))}):o.detail&&(0,r.jsx)("span",{className:"block truncate text-[8px] text-white/40",children:o.detail})]})]},e.id)},d[0]=f,d[1]=p,d[2]=m.steps,d[3]=t):t=d[3];let g=t;if(d[4]!==f?._syncFixtureId||d[5]!==g){let e=nn.slice(0,2),t=nn.slice(2);s="mx-3 my-1.5 px-0.5 py-1",n="space-y-1.5";let i=f?._syncFixtureId||void 0,l=e.map(g);d[10]!==i||d[11]!==l?(a=(0,r.jsx)("div",{className:"relative space-y-1.5","data-lineup-sync-fixture-id":i,children:l}),d[10]=i,d[11]=l,d[12]=a):a=d[12],o=t.map(g),d[4]=f?._syncFixtureId,d[5]=g,d[6]=n,d[7]=a,d[8]=o,d[9]=s}else n=d[6],a=d[7],o=d[8],s=d[9];return d[13]!==n||d[14]!==a||d[15]!==o?(l=(0,r.jsxs)("div",{className:n,children:[a,o]}),d[13]=n,d[14]=a,d[15]=o,d[16]=l):l=d[16],d[17]!==m.message?(c=m.message&&(0,r.jsx)("div",{className:"mt-1 border-t border-white/5 pt-1 text-[8px] leading-snug text-white/35",children:m.message}),d[17]=m.message,d[18]=c):c=d[18],d[19]!==s||d[20]!==l||d[21]!==c?(u=(0,r.jsxs)("div",{className:s,children:[l,c]}),d[19]=s,d[20]=l,d[21]=c,d[22]=u):u=d[22],u}function ri(e){let t,n,a,o,s=(0,i.c)(13),{line:l}=e,c="selected"===l.status,u="synced"===l.status,d=c||u?e2.FiCheckCircle:e2.FiXCircle,m=u?"min-w-0 flex-1 whitespace-normal break-words line-through decoration-white/35":"min-w-0 flex-1 whitespace-normal break-words",p=`relative flex min-w-0 items-start gap-1 ${l.syncLink?"pr-3.5":""} text-[8px] leading-tight ${c?"text-emerald-200/85":u?"text-white/45":"text-red-300/80"}`;return s[0]!==d?(t=(0,r.jsx)(d,{className:"mt-0.5 h-2.5 w-2.5 shrink-0","aria-hidden":"true"}),s[0]=d,s[1]=t):t=s[1],s[2]!==l.label||s[3]!==m?(n=(0,r.jsx)("span",{className:m,children:l.label}),s[2]=l.label,s[3]=m,s[4]=n):n=s[4],s[5]!==l.syncFixtureId||s[6]!==l.syncLink?(a=l.syncLink&&(0,r.jsx)("span",{className:"absolute right-0 top-0.5 flex h-3 w-3 items-center justify-center rounded-full border border-emerald-300/70 bg-emerald-400/10 text-emerald-100","data-sync-fixture-id":l.syncFixtureId||void 0,"data-sync-fixture-row":l.syncLink,children:(0,r.jsx)(e2.FiRefreshCw,{className:"h-2 w-2","aria-hidden":"true"})}),s[5]=l.syncFixtureId,s[6]=l.syncLink,s[7]=a):a=s[7],s[8]!==p||s[9]!==t||s[10]!==n||s[11]!==a?(o=(0,r.jsxs)("span",{className:p,children:[t,n,a]}),s[8]=p,s[9]=t,s[10]=n,s[11]=a,s[12]=o):o=s[12],o}function ra(e,t,n){let r=e?.sources?.[t];if(!r||"fallback"===r.type||"generated"===r.type)return[];let i=r.fixtureId||r.id,a=Array.isArray(e?.dataQuality?.scannedFixtures)?e.dataQuality.scannedFixtures:[],o=a.findIndex(e=>String(e.fixtureId||e.id||"")===String(i||"")),s=o>0?a.slice(0,o):[],l=o>=0?a[o]:r;return[...s.map(e=>{var r;return rs(e,(r=e,"starters"===t&&r?.hasElevenStarters?"synced":"rejected"),n)}),rs(l,"selected",n)].filter(Boolean)}function ro(e,t,n){let r=e.find(e=>"selected"===e.status&&String(e.fixtureId||"")===String(t||""));r&&(r.syncLink=n,r.syncFixtureId=String(t))}function rs(e,t,n){return{status:t,label:ry(e,n),fixtureId:e?.fixtureId||e?.id||null}}function rl(){return{steps:{fixtures:{status:"loading",detail:""},lineup:{status:"pending",detail:""},formation:{status:"pending",detail:""},colors:{status:"pending",detail:""},pitch:{status:"pending",detail:""}},message:""}}function rc(){return{selectedTeamId:"",lineupAnalysis:null,lineupProgress:null}}function ru(){return{teamId:null,players:[],loading:!1,error:null,source:null,cache:null,fallbackOnly:!1}}function rd(e){return 1===Number(e?.id)}function rm(e){let t=String((e?.apiPlayerId??e?.id)||"").replace(/^wc-squad-/,"");return`wc-squad-${t}`}function rp(e){return String(e||"").startsWith("wc-squad-")}function rh(e){if(e?.apiPlayerId)return String(e.apiPlayerId);let t=String(e?.id||""),n=t.match(/^api(?:-sub)?-(\d+)$/)||t.match(/^wc-squad-(\d+)$/);return n?.[1]||t}function rf(e,t,n,r){return(e||[]).map(e=>e.team===t&&e.id===n?{...e,id:r}:e)}function rg(e){let t=e||rl();return{...t,steps:Object.fromEntries(Object.entries(t.steps||{}).map(([e,t])=>[e,{...t}]))}}function rx(e,t,n,r){e.steps[t]={...e.steps[t]||{},status:n,detail:r??e.steps[t]?.detail??""}}function rb(e,t,n){let r=rg(e);return rx(r,"pitch",t,n),r}
4function ry(e,t){return[[e.home,e.away].filter(Boolean).join(" vs "),function(e,t){if(!e)return"";let n=new Date(e);return Number.isNaN(n.getTime())?"":new Intl.DateTimeFormat(t||"en",{year:"numeric",month:"short",day:"numeric"}).format(n)}(e.date,t)].filter(Boolean).join(", ")||`#${e.fixtureId||e.id}`}function rv(e,{flipped:t=!1}={}){let n=Number(e?.x)||0,r=Number(e?.z)||0;return{left:((t?-r:r)+e9.FORMATION_FIELD_HALF_WIDTH)/e9.FORMATION_FIELD_WIDTH*100,top:(e9.FORMATION_FIELD_HALF_LENGTH-(t?-n:n))/e9.FORMATION_FIELD_LENGTH*100}}function rw(e,t,{flipped:n=!1}={}){let r=t?.getBoundingClientRect();if(!r)return null;let i=100*rP((e.clientX-r.left)/r.width,0,1),a=100*rP((e.clientY-r.top)/r.height,0,1),o=e9.FORMATION_FIELD_HALF_LENGTH-a/100*e9.FORMATION_FIELD_LENGTH,s=i/100*e9.FORMATION_FIELD_WIDTH-e9.FORMATION_FIELD_HALF_WIDTH;return{x:n?-o:o,z:n?-s:s}}function r_(e,t){return{left:Math.min(e.x,t.x),right:Math.max(e.x,t.x),top:Math.min(e.y,t.y),bottom:Math.max(e.y,t.y)}}function rk(e){return(Array.isArray(e)?e:[]).map(e=>[e?.id||"",rS(e?.x),rS(e?.z),e?.positionGroup||"",e?.roleKey||"",e?.role||"",e?.shortRole||""].join(":")).join("|")}function rS(e){let t=Number(e);return Number.isFinite(t)?t.toFixed(3):"0.000"}function rj(e){return Array.isArray(e)?[...new Set(e.map(e=>String(e||"")).filter(Boolean))]:[]}function r$(e){return(Array.isArray(e)?e:[]).filter(e=>e&&"GK"!==rR(e)).map(e=>e.id).filter(Boolean)}function rI(e){return rj((Array.isArray(e)?e:[]).flatMap(e=>e?.playerIds||[]))}function rC(e,t){return e?.colorMode===tV.PASS_NETWORK_COLOR_MODE_CUSTOM?e.color||t||"#f0abfc":t||"#f0abfc"}function rN(e,t=1){let n=String(e||"").trim(),r=/^#?([0-9a-f]{6})$/i.exec(n);if(!r)return`rgba(240, 171, 252, ${t})`;let i=r[1],a=parseInt(i.slice(0,2),16),o=parseInt(i.slice(2,4),16),s=parseInt(i.slice(4,6),16);return`rgba(${a}, ${o}, ${s}, ${t})`}function rT(e,t){return(e||[]).map(e=>({...e,...t}))}function rA(e,t){let n=Array.isArray(e)?e:[];return n.includes(t)?n.filter(e=>e!==t):[...n,t]}function rP(e,t,n){return Math.min(n,Math.max(t,e))}function rE(e){return`preset:${e?.id||e?.name||"custom"}`}function rD(e,t){let n=tP(e);if(!n?.id)return null;let r=function(e,t){if(e?.canEdit)return e.scope===tj?t.yourPublic:t.yourPrivate;let n=String(e?.ownerName||"").trim();return n?`${n} ${t.publicSource}`:t.communityPublic}(n,t),i=n.canEdit&&n.scope!==tj?"private":"shared",a="private"===i?t.privatePreset:t.sharedPreset,o=n.baseFormation||"";return{type:t8,value:rE(n),label:n.name,source:r,sourceKind:i,sourceLabel:a,filterGroup:i,preset:n,searchText:[n.name,r,a,n.ownerName,o,n.scope].filter(Boolean).join(" ")}}function rM(e){return e?"string"==typeof e?{value:e,source:"curated"}:e.value?{value:e.value,source:e.source||"curated"}:null:null}function rz(e,t){if("string"!=typeof e)return t;let n=e.trim();return/^#[0-9a-fA-F]{6}$/.test(n)?n:t}function rF(e){let t=[e?.shortRole,e?.role,e?.positionGroup].filter(Boolean).join(" ").toUpperCase();return/\b(GK|G|GB|GOALKEEPER|KEEPER|GARDIEN)\b/.test(t)}function rO(e,t){let n=Array.isArray(e)?e.filter(Boolean):[];return t?n.filter(e=>rR(e)===t):n.filter(e=>"GK"!==rR(e))}function rL(e,t,n){let r=rU(t),i=new Set((Array.isArray(n)?n:[]).map(e=>String(e).toUpperCase()).filter(e=>t7.includes(e))),a=t7.every(e=>i.has(e));return 0===i.size?[]:(Array.isArray(e)?e:[]).filter(Boolean).filter(e=>{let t=rR(e);return(!!i.has(t)||!!("OTHER"===t&&a))&&(!r||rU([e.name,e.number,e.shortRole,e.role,t].filter(Boolean).join(" ")).includes(r))})}function rR(e){let t=String(e?.positionGroup||"").trim().toUpperCase();if(["GK","DEF","MID","ATT"].includes(t))return t;
4let n=[e?.shortRole,e?.role].filter(Boolean).join(" ").toUpperCase();return/\b(GK|G|GB|GOALKEEPER|KEEPER|GARDIEN)\b/.test(n)?"GK":/\b(DEF|D|CB|DC|LB|DG|RB|DD|LWB|PIG|RWB|PID|SW|BACK|DEFENDER|DEFENSEUR)\b/.test(n)?"DEF":/\b(F|FW|ST|CF|BU|LW|AG|RW|AD|ATT|FORWARD|STRIKER|WINGER|AILIER|ATTAQUANT|BUTEUR)\b/.test(n)?"ATT":/\b(M|MID|DM|CDM|MDC|CM|MC|AM|CAM|MOC|MF|LM|MG|RM|MD|MIDFIELDER|MILIEU)\b/.test(n)?"MID":"OTHER"}function rB(e){let t=e.number?`#${e.number} `:"";return`${t}${e.name||"Player"}`}function rU(e){return String(e||"").normalize("NFD").replace(/[\u0300-\u036f]/g,"").toLowerCase().trim()}var rZ=e.i(259051);function rG(e){return{color:e?.color??"#ffffff",thickness:e?.thickness??.3,style:e?.style??"solid",showDistance:e?.showDistance??!1,dashSize:e?.dashSize??.5,gapSize:e?.gapSize??.25}}function rW(e){let t=1/0,n=-1/0,r=1/0,i=-1/0;e.forEach(e=>{let a=Array.isArray(e.position)?e.position[0]:e.position.x,o=Array.isArray(e.position)?e.position[2]:e.position.z;t=Math.min(t,a),n=Math.max(n,a),r=Math.min(r,o),i=Math.max(i,o)});let a=n-t,o=i-r;return[...e].sort((e,t)=>{let n=Array.isArray(e.position)?e.position[0]:e.position.x,r=Array.isArray(e.position)?e.position[2]:e.position.z,i=Array.isArray(t.position)?t.position[0]:t.position.x,s=Array.isArray(t.position)?t.position[2]:t.position.z;return a>o?n-i:r-s}).map(e=>e.id)}function rH(){let e,t=(0,i.c)(2),n=(0,l.useUIStore)(rK),a=(0,l.useUIStore)(rq),o=(0,l.useUIStore)(rV);if(!n)return null;let s=o?"create-link":`edit-link-${a??"none"}`;return t[0]!==s?(e=(0,r.jsx)(rJ,{},s),t[0]=s,t[1]=e):e=t[1],e}function rV(e){return e.isCreatingLink}function rq(e){return e.editingLinkId}function rK(e){return e.isLinkMenuOpen}function rJ(){let e=(0,d.useTranslations)("LinkMenu"),t=(0,l.useUIStore)(e=>e.isCreatingLink),n=(0,l.useUIStore)(e=>e.editingLinkId),i=(0,l.useUIStore)(e=>e.pendingLinkConfig),o=(0,l.useUIStore)(e=>e.setPendingLinkConfig),c=(0,l.useUIStore)(e=>e.closeLinkMenu),m=(0,l.useUIStore)(e=>e.linkPinned),p=(0,l.useUIStore)(e=>e.setLinkPinned),h=(0,l.useUIStore)(e=>e.linkPos),f=(0,l.useUIStore)(e=>e.setLinkPos),g=(0,s.usePlayerStore)(e=>e.links),x=(0,s.usePlayerStore)(e=>e.updateLink),b=(0,s.usePlayerStore)(e=>e.removeLink),v=(0,s.usePlayerStore)(e=>e.addLink),w=(0,s.usePlayerStore)(e=>e.selectedPlayers),_=n?g.find(e=>e.id===n):null,[k,S]=a.default.useState(()=>rG(_));if((0,a.useEffect)(()=>{if(!t)return;let e=s.usePlayerStore.getState(),n=e.selectedPlayers?.[0],r=n?(0,u.findPlayer)(e,n.id,n.team):null,i=r?.team==="B"?e.teamBInfo?.color:e.teamAInfo?.color;i&&o(e=>({...e,color:(0,tK.accentColor)(i)}))},[]),(0,a.useEffect)(()=>{if(t){if(w.length<2)return void rZ.default.set(null);let e=s.usePlayerStore.getState(),t=w.map(t=>(0,u.findPlayerRaw)(e,t.id)).filter(Boolean);return t.length<2?void rZ.default.set(null):void rZ.default.set({id:"preview-link-create",playerIds:rW(t),...i})}_?rZ.default.set({..._,...k,id:`preview-link-edit-${_.id}`,replaceId:_.id}):rZ.default.set(null)},[_,k,t,i,w]),(0,a.useEffect)(()=>()=>rZ.default.set(null),[]),!t&&!_)return null;let j=t?i:k,$=e=>{t?o(t=>({...t,...e})):S(t=>({...t,...e}))};return(0,r.jsx)(y.default,{title:e(t?"titleNew":"titleEdit"),className:"w-[150px]",initialOffset:h||{x:280,y:window.innerHeight/2-100},onPositionChange:f,isPinned:m,onPinToggle:()=>p(!m),headerEnd:(0,r.jsx)("button",{onClick:()=>{c(),rZ.default.set(null)},className:"opacity-50 hover:opacity-100 transition",title:e("close"),"aria-label":e("close"),children:(0,r.jsxs)("svg",{xmlns:"http://www.w3.org/2000/svg",width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,r.jsx)("line",{x1:"18",y1:"6",x2:"6",y2:"18"}),(0,r.jsx)("line",{x1:"6",y1:"6",x2:"18",y2:"18"})]})}),children:(0,r.jsxs)("div",{className:"flex flex-col divide-y divide-white/5",children:[(0,r.jsxs)("div",{className:"flex items-center justify-between px-3 py-1.5",children:[(0,r.jsx)("label",{className:"text-[9px] opacity-60",children:e("color")}),(0,r.jsx)(eN.default,{value:j.color,onChange:e=>$({color:e}),size:"sm"})]}),(0,r.jsxs)("div",{className:"flex items-center justify-between px-3 py-1.5",children:[(0,r.jsx)("label",{className:"text-[9px] opacity-60",children:e("size")}),(0,r.jsxs)("div",{className:"flex items-center gap-1.5",children:[(0,r.jsx)("span",{className:"text-[8px] opacity-40 w-4 text-right tabular-nums",children:(j.thickness??.3).toFixed(1)}),(0,r.jsx)("input",{type:"range",min:"0.1",max:"1",step:"0.05",value:j.thickness??.3,onChange:e=>{$({thickness:parseFloat(e.target.value)})},className:"w-14 h-1 bg-white/20 rounded-lg appearance-none cursor-pointer"})]})]}),(0,r.jsxs)("div",{className:"flex items-center justify-between px-3 py-1.5",children:[(0,r.jsx)("label",{className:"text-[9px] opacity-60",children:e("style")}),(0,r.jsxs)("div",{className:"flex gap-1",children:[(0,r.jsx)("button",{onClick:()=>$({style:"solid"}),className:`px-2 py-0.5 text-[8px] rounded transition-colors ${"solid"===j.style?"bg-blue-500 text-white":"bg-white/10 text-white/60 hover:bg-white/20"}`,children:e("styleSolid")}),(0,r.jsx)("button",{onClick:()=>$({style:"dashed"}),className:`px-2 py-0.5 text-[8px] rounded transition-colors ${"dashed"===j.style?"bg-blue-500 text-white":"bg-white/10 text-white/60 hover:bg-white/20"}`,children:e("styleDashed")})]})]}),"dashed"===j.style&&(0,r.jsxs)(r.Fragment,{children:[(0,r.jsxs)("div",{className:"flex items-center justify-between px-3 py-1.5",children:[(0,r.jsx)("label",{className:"text-[9px] opacity-60",children:e("dash")}),(0,r.jsx)("input",{type:"range",min:"0.1",max:"2",step:"0.1",value:j.dashSize??.5,onChange:e=>{$({dashSize:parseFloat(e.target.value)})},className:"w-16 h-1 bg-white/20 rounded-lg appearance-none cursor-pointer"})]}),(0,r.jsxs)("div",{className:"flex items-center justify-between px-3 py-1.5",children:[(0,r.jsx)("label",{className:"text-[9px] opacity-60",children:e("gap")}),(0,r.jsx)("input",{type:"range",min:"0.1",max:"2",step:"0.1",value:j.gapSize??.25,onChange:e=>{$({gapSize:parseFloat(e.target.value)})},className:"w-16 h-1 bg-white/20 rounded-lg appearance-none cursor-pointer"})]})]}),(0,r.jsxs)("div",{className:"flex items-center justify-between px-3 py-1.5",children:[(0,r.jsx)("label",{className:"text-[9px] opacity-60",children:e("distance")}),(0,r.jsx)("button",{onClick:()=>{$({showDistance:!j.showDistance})},className:`w-8 h-4 rounded-full transition-colors ${j.showDistance?"bg-blue-500":"bg-white/20"}`,children:(0,r.jsx)("div",{className:`w-3 h-3 rounded-full bg-white transition-transform ${j.showDistance?"translate-x-4":"translate-x-0.5"}`})})]}),t?(0,r.jsx)("button",{onClick:()=>
4{if(w.length<2)return;let e=s.usePlayerStore.getState(),t=w.map(t=>(0,u.findPlayerRaw)(e,t.id)).filter(Boolean);t.length<2||(v({id:`link-${Date.now()}`,playerIds:rW(t),...l.useUIStore.getState().pendingLinkConfig}),c(),rZ.default.set(null))},className:"w-full py-2 bg-blue-600/80 hover:bg-blue-500/80 text-white text-[10px] font-bold transition uppercase tracking-wider backdrop-blur-md",children:e("create")}):(0,r.jsxs)(r.Fragment,{children:[(0,r.jsxs)("div",{className:"flex gap-1.5 px-1.5 py-1.5",children:[(0,r.jsx)("button",{onClick:()=>{S(rG(_)),c(),rZ.default.set(null)},className:"flex-1 py-1 bg-white/10 hover:bg-white/20 text-white text-[9px] font-bold transition uppercase tracking-wider rounded",children:e("cancel")}),(0,r.jsx)("button",{onClick:()=>{_&&(x(_.id,k),c(),rZ.default.set(null))},className:"flex-1 py-1 bg-blue-600/80 hover:bg-blue-500/80 text-white text-[9px] font-bold transition uppercase tracking-wider rounded backdrop-blur-md",children:e("confirm")})]}),(0,r.jsx)("button",{onClick:()=>{b(_.id),c(),rZ.default.set(null)},className:"w-full py-2 bg-red-500/20 hover:bg-red-500/30 text-red-300 text-[10px] transition uppercase tracking-wider",children:e("remove")})]})]})})}let rX=[{value:null,labelKey:"gradientFlat"},{value:"attack-axis",labelKey:"gradientAttack"},{value:"center",labelKey:"gradientCenter"},{value:"lateral",labelKey:"gradientLateral"}];function rY(e){var t,n,o,s,l;let c,u,m,p,h,f,g,x,b,v,w,_,k,S,j,$,I,C,N,T,A,P,E,D,M,z,F,O,L,R,B,U,Z,G,W,H,V,q,K,J,X,Y,Q,ee,et,en,er,ei,ea,eo,es,el,ec,eu,ed,em,ep,eh,ef,eg,ex,eb,ey,ev,ew,e_,ek,eS,ej,e$,eI,eC,eT,eA,eP,eE,eD,eM,ez=(0,i.c)(251),{isOpen:eF,onClose:eO,isCreatingZone:eL,activeZone:eR,pendingZoneConfig:eB,setPendingZoneConfig:eU,updateZone:eZ,removeZone:eG,handleConfirmCreateZone:eW,onPreviewConfigChange:eH,isPinned:eV,onPinToggle:eq,initialOffset:eK,onPositionChange:eJ}=e,eX=void 0!==eV&&eV,eY=void 0===eq?null:eq,eQ=void 0===eK?null:eK,e0=void 0===eJ?null:eJ,e1=(0,d.useTranslations)("ZoneMenu");ez[0]!==eR?.config?(c=eR?.config||{},ez[0]=eR?.config,ez[1]=c):c=ez[1];let[e2,e5]=a.default.useState(c);ez[2]!==eR?.config||ez[3]!==eL||ez[4]!==eF?(u=()=>{!eF||eL||e5(eR?.config||{})},ez[2]=eR?.config,ez[3]=eL,ez[4]=eF,ez[5]=u):u=ez[5];let e4=eR?.config,e3=eR?.id;ez[6]!==eL||ez[7]!==eF||ez[8]!==e4||ez[9]!==e3?(m=[e4,e3,eL,eF],ez[6]=eL,ez[7]=eF,ez[8]=e4,ez[9]=e3,ez[10]=m):m=ez[10],a.default.useEffect(u,m),ez[11]!==eR||ez[12]!==eL||ez[13]!==eU?(p=e=>{eL?eU(t=>({...t,...e})):eR&&e5(t=>({...t||eR.config||{},...e}))},ez[11]=eR,ez[12]=eL,ez[13]=eU,ez[14]=p):p=ez[14];let e6=p;ez[15]!==eR||ez[16]!==e2||ez[17]!==eO||ez[18]!==eZ?(h=()=>{eR&&(eZ(eR.id,{config:{...eR.config||{},...e2||{}}}),eO())},ez[15]=eR,ez[16]=e2,ez[17]=eO,ez[18]=eZ,ez[19]=h):h=ez[19];let e8=h;ez[20]!==eR?.config||ez[21]!==eO?(f=()=>{e5(eR?.config||{}),eO()},ez[20]=eR?.config,ez[21]=eO,ez[22]=f):f=ez[22];let e9=f;eR?.config,ez[23]!==eR?.config||ez[24]!==e2||ez[25]!==eL||ez[26]!==eB?(g=eL?eB:e2||eR?.config||{},ez[23]=eR?.config,ez[24]=e2,ez[25]=eL,ez[26]=eB,ez[27]=g):g=ez[27];let e7=g,te=r0,tt=void 0!==e7.opacity?e7.opacity:.35,tn=void 0!==e7.outlineOpacity?e7.outlineOpacity:Math.min(1,tt+.2),tr=void 0!==e7.thickness?e7.thickness:.12,ti=void 0!==e7.stripeScale?e7.stripeScale:.12,ta=void 0!==e7.dashScale?e7.dashScale:1.2,to=te(tr,.06,.2),ts=te(ti,.05,.4),tl=te(ta,.6,2.2),tc=a.default.useId();if(ez[28]!==tc){let e;ez[30]===Symbol.for("react.memo_cache_sentinel")?(e=/[^a-zA-Z0-9_-]/g,ez[30]=e):e=ez[30],x=tc.replace(e,""),ez[28]=tc,ez[29]=x}else x=ez[29];let tu=`zone-preview-${x}`,td=`${tu}-gradient`,tm=Math.max(1,Math.min(8,28*to)),tp=`${Math.max(2,12/tl)} ${Math.max(1.5,8.4/tl)}`,th=te(2/ts,4,60);ez[31]!==e7||ez[32]!==td||ez[33]!==tu?(t=e7.gradientMode,b=rX.some(e=>e.value===t)?t:null,n=e7,o=tu,s=td,l=b,v=!1===n.filled?"transparent":n.striped?`url(#${o})`:l?`url(#${s}-${l})`:n.color||"#ffffff",ez[31]=e7,ez[32]=td,ez[33]=tu,ez[34]=b,ez[35]=v):(b=ez[34],v=ez[35]);let tf=v;ez[36]!==e1?(w=e1("fillOpacity"),ez[36]=e1,ez[37]=w):w=ez[37],ez[38]!==tt?(_=Math.round(100*tt),ez[38]=tt,ez[39]=_):_=ez[39];let tg=`${_}%`;ez[40]!==e6?(k=e=>e6({opacity:e}),ez[40]=e6,ez[41]=k):k=ez[41],ez[42]!==tt||ez[43]!==w||ez[44]!==tg||ez[45]!==k?(S={key:"fillOpacity",label:w,valueLabel:tg,min:0,max:1,step:.
405,value:tt,onChange:k},ez[42]=tt,ez[43]=w,ez[44]=tg,ez[45]=k,ez[46]=S):S=ez[46];let tx=!1!==e7.outlined?[{key:"outlineOpacity",label:e1("outlineOpacity"),valueLabel:`${Math.round(100*tn)}%`,min:0,max:1,step:.05,value:tn,onChange:e=>e6({outlineOpacity:e})},{key:"thickness",label:e1("thickness"),valueLabel:to.toFixed(2),min:.06,max:.2,step:.005,value:to,onChange:e=>e6({thickness:e})}]:[],tb=e7.striped?[{key:"stripeScale",label:e1("stripeScale"),valueLabel:ts.toFixed(2),min:.05,max:.4,step:.01,value:ts,onChange:e=>e6({stripeScale:e})}]:[],ty=e7.dashed?[{key:"dashScale",label:e1("dashScale"),valueLabel:tl.toFixed(2),min:.6,max:2.2,step:.05,value:tl,onChange:e=>e6({dashScale:e})}]:[];ez[47]!==S||ez[48]!==tx||ez[49]!==tb||ez[50]!==ty?(j=[S,...tx,...tb,...ty],ez[47]=S,ez[48]=tx,ez[49]=tb,ez[50]=ty,ez[51]=j):j=ez[51];let tv=j;if(ez[52]!==eR||ez[53]!==e7||ez[54]!==eL||ez[55]!==eF||ez[56]!==eH?($=()=>{!eF||eL||eR&&eH&&eH(e7)},I=[eR,e7,eL,eF,eH],ez[52]=eR,ez[53]=e7,ez[54]=eL,ez[55]=eF,ez[56]=eH,ez[57]=$,ez[58]=I):($=ez[57],I=ez[58]),a.default.useEffect($,I),!eF||!eL&&!eR)return null;ez[59]!==eL||ez[60]!==e1?(C=eL?e1("titleNew"):e1("titleEdit"),ez[59]=eL,ez[60]=e1,ez[61]=C):C=ez[61],ez[62]!==eQ?(N=eQ||{x:280,y:window.innerHeight/2-100},ez[62]=eQ,ez[63]=N):N=ez[63],ez[64]!==e1?(T=e1("close"),ez[64]=e1,ez[65]=T):T=ez[65],ez[66]!==e1?(A=e1("close"),ez[66]=e1,ez[67]=A):A=ez[67],ez[68]===Symbol.for("react.memo_cache_sentinel")?(P=(0,r.jsxs)("svg",{xmlns:"http://www.w3.org/2000/svg",width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,r.jsx)("line",{x1:"18",y1:"6",x2:"6",y2:"18"}),(0,r.jsx)("line",{x1:"6",y1:"6",x2:"18",y2:"18"})]}),ez[68]=P):P=ez[68],ez[69]!==eO||ez[70]!==T||ez[71]!==A?(E=(0,r.jsx)("button",{onClick:eO,className:"opacity-50 hover:opacity-100 transition",title:T,"aria-label":A,children:P}),ez[69]=eO,ez[70]=T,ez[71]=A,ez[72]=E):E=ez[72],ez[73]!==e1?(D=e1("fill"),ez[73]=e1,ez[74]=D):D=ez[74],ez[75]!==D?(M=(0,r.jsx)("label",{className:"text-[8px] opacity-60 uppercase font-bold",children:D}),ez[75]=D,ez[76]=M):M=ez[76];let tw=e7.color||"#ffffff";ez[77]!==e6?(z=e=>e6({color:e}),ez[77]=e6,ez[78]=z):z=ez[78],ez[79]!==tw||ez[80]!==z?(F=(0,r.jsx)(eN.default,{value:tw,onChange:z,size:"md"}),ez[79]=tw,ez[80]=z,ez[81]=F):F=ez[81],ez[82]!==M||ez[83]!==F?(O=(0,r.jsxs)("div",{className:"flex items-center justify-between flex-1",children:[M,F]}),ez[82]=M,ez[83]=F,ez[84]=O):O=ez[84],ez[85]!==e7.color||ez[86]!==e7.outlineColor||ez[87]!==e7.outlined||ez[88]!==e6||ez[89]!==e1?(L=!1!==e7.outlined&&(0,r.jsxs)("div",{className:"flex items-center justify-between flex-1 animate-in fade-in slide-in-from-right-1",children:[(0,r.jsx)("label",{className:"text-[8px] opacity-60 uppercase font-bold",children:e1("outline")}),(0,r.jsx)(eN.default,{value:e7.outlineColor||e7.color||"#ffffff",onChange:e=>e6({outlineColor:e}),size:"md"})]}),ez[85]=e7.color,ez[86]=e7.outlineColor,ez[87]=e7.outlined,ez[88]=e6,ez[89]=e1,ez[90]=L):L=ez[90],ez[91]!==O||ez[92]!==L?(R=(0,r.jsxs)("div",{className:"flex items-center justify-between gap-1.5",children:[O,L]}),ez[91]=O,ez[92]=L,ez[93]=R):R=ez[93];let t_=!1!==e7.filled;ez[94]!==e6?(B=e=>e6({filled:e.target.checked}),ez[94]=e6,ez[95]=B):B=ez[95],ez[96]!==t_||ez[97]!==B?(U=(0,r.jsx)("input",{type:"checkbox",checked:t_,onChange:B,className:"cursor-pointer"}),ez[96]=t_,ez[97]=B,ez[98]=U):U=ez[98],ez[99]!==e1?(Z=e1("fill"),ez[99]=e1,ez[100]=Z):Z=ez[100],ez[101]!==Z?(G=(0,r.jsx)("label",{className:"text-[8px] uppercase opacity-50 font-bold cursor-pointer",children:Z}),ez[101]=Z,ez[102]=G):G=ez[102],ez[103]!==U||ez[104]!==G?(W=(0,r.jsxs)("div",{className:"flex items-center gap-1",children:[U,G]}),ez[103]=U,ez[104]=G,ez[105]=W):W=ez[105];let tk=!1!==e7.outlined;ez[106]!==e6?(H=e=>e6({outlined:e.target.checked}),ez[106]=e6,ez[107]=H):H=ez[107],ez[108]!==tk||ez[109]!==H?(V=(0,r.jsx)("input",{type:"checkbox",checked:tk,onChange:H,className:"cursor-pointer"}),ez[108]=tk,ez[109]=H,ez[110]=V):V=ez[110],ez[111]!==e1?(q=e1("outline"),ez[111]=e1,ez[112]=q):q=ez[112],ez[113]!==q?(K=(0,r.jsx)("label",{className:"text-[8px] uppercase opacity-50 font-bold cursor-pointer",children:q}),ez[113]=q,ez[114]=K):K=ez[114],ez[115]!==V||ez[116]!==K?(J=(0,r.jsxs)("div",{className:"flex items-center gap-1",children:[V,K]}),ez[115]=V,ez[116]=K,ez[117]=J):J=ez[117];let tS=e7.striped||!1;ez[118]!==e6?(X=e=>e6({striped:e.target.checked,...e.target.checked?{gradientMode:null}:{}}),ez[118]=e6,ez[119]=X):X=ez[119],ez[120]!==tS||ez[121]!==X?(Y=(0,r.jsx)("input",{type:"checkbox",checked:tS,onChange:X,className:"cursor-pointer"}),ez[120]=tS,ez[121]=X,ez[122]=Y):Y=ez[122],ez[123]!==e1?(Q=e1("striped"),ez[123]=e1,ez[124]=Q):Q=ez[124],ez[125]!==Q?(ee=(0,r.jsx)("label",{className:"text-[8px] uppercase opacity-50 font-bold cursor-pointer",children:Q}),ez[125]=Q,ez[126]=ee):ee=ez[126],ez[127]!==Y||ez[128]!==ee?(et=(0,r.jsxs)("div",{className:"flex items-center gap-1",children:[Y,ee]}),ez[127]=Y,ez[128]=ee,ez[129]=et):et=ez[129];let tj=e7.dashed||!1;ez[130]!==e6?(en=e=>e6({dashed:e.target.checked}),ez[130]=e6,ez[131]=en):en=ez[131],ez[132]!==tj||ez[133]!==en?(er=(0,r.jsx)("input",{type:"checkbox",checked:tj,onChange:en,className:"cursor-pointer"}),ez[132]=tj,ez[133]=en,ez[134]=er):er=ez[134],ez[135]!==e1?(ei=e1("dashed"),ez[135]=e1,ez[136]=ei):ei=ez[136],ez[137]!==ei?(ea=(0,r.jsx)("label",{className:"text-[8px] uppercase opacity-50 font-bold cursor-pointer",children:ei}),ez[137]=ei,ez[138]=ea):ea=ez[138],ez[139]!==er||ez[140]!==ea?(eo=(0,r.jsxs)("div",{className:"flex items-center gap-1",children:[er,ea]}),ez[139]=er,ez[140]=ea,ez[141]=eo):eo=ez[141],ez[142]!==W||ez[143]!==J||ez[144]!==et||ez[145]!==eo?(es=(0,r.jsxs)("div",{className:"grid grid-cols-2 gap-x-2 gap-y-1",children:[W,J,et,eo]}),ez[142]=W,ez[143]=J,ez[144]=et,ez[145]=eo,ez[146]=es):es=ez[146],ez[147]!==e7.stripeColor||ez[148]!==e7.striped||ez[149]!==e6||ez[150]!==e1?(el=e7.striped&&(0,r.jsxs)("div",{className:"flex items-center justify-between animate-in fade-in slide-in-from-top-1",children:[(0,r.jsx)("label",{className:"text-[8px] opacity-60 uppercase font-bold",children:e1("stripeColor")}),(0,r.jsx)(eN.default,{value:e7.stripeColor||"#000000",onChange:e=>e6({stripeColor:e}),size:"md"})]}),ez[147]=e7.stripeColor,ez[148]=e7.striped,ez[149]=e6,ez[150]=e1,ez[151]=el):el=ez[151],ez[152]!==e1?(ec=e1("gradient"),ez[152]=e1,ez[153]=ec):ec=ez[153],ez[154]!==ec?(eu=(0,r.jsx)("div",{className:"text-[8px] opacity-50 font-bold uppercase tracking-wider",children:ec}),ez[154]=ec,ez[155]=eu):eu=ez[155],ez[156]!==b||ez[157]!==e6||ez[158]!==e1?(ed=rX.map(e=>{let t=b===e.value;return(0,r.jsx)("button",{type:"button",onClick:()=>e6(e.value?{gradientMode:e.value,striped:!1}:{gradientMode:null}),className:`h-5 rounded border px-1 text-[7px] font-bold uppercase tracking-wide transition ${t?"border-blue-400/50 bg-blue-500/20 text-blue-100":"border-white/10 bg-white/[0.04] text-white/45 hover:bg-white/10 hover:text-white/75"}`,"aria-pressed":t,children:e1(e.labelKey)},e.value||"flat")}),ez[156]=b,ez[157]=e6,ez[158]=e1,ez[159]=ed):ed=ez[159],ez[160]!==ed?(em=(0,r.jsx)("div",{className:"grid grid-cols-4 gap-1",children:ed}),ez[160]=ed,ez[161]=em):em=ez[161],ez[162]!==eu||ez[163]!==em?(ep=(0,r.jsxs)("div",{className:"flex flex-col gap-1",children:[eu,em]}),ez[162]=eu,ez[163]=em,ez[164]=ep):ep=ez[164];let t$=e7.color||"#ffffff";ez[165]!==th||ez[166]!==t$?(eh=(0,r.jsx)("rect",{width:th,height:th,fill:t$}),ez[165]=th,ez[166]=t$,ez[167]=eh):eh=ez[167];let tI=.45*th,tC=e7.stripeColor||"#000000";ez[168]!==th||ez[169]!==tI||ez[170]!==tC?(ef=(0,r.jsx)("rect",{width:tI,height:th,fill:tC,opacity:.5}),ez[168]=th,ez[169]=tI,ez[170]=tC,ez[171]=ef):ef=ez[171],ez[172]!==tu||ez[173]!==th||ez[174]!==eh||ez[175]!==ef?(eg=(0,r.jsxs)("pattern",{id:tu,patternUnits:"userSpaceOnUse",width:th,height:th,patternTransform:"rotate(45)",children:[eh,ef]}),ez[172]=tu,ez[173]=th,ez[174]=eh,ez[175]=ef,ez[176]=eg):eg=ez[176];let tN=`${td}-attack-axis`,tT=e7.color||"#ffffff";ez[177]!==tT?(ex=(0,r.jsx)("stop",{offset:"0%",stopColor:tT,stopOpacity:"0.48"}),ez[177]=tT,ez[178]=ex):ex=ez[178];let tA=e7.color||"#ffffff";ez[179]!==tA?(eb=(0,r.jsx)("stop",{offset:"100%",stopColor:tA,stopOpacity:"1"}),ez[179]=tA,ez[180]=eb):eb=ez[180],ez[181]!==tN||ez[182]!==ex||ez[183]!==eb?(ey=(0,r.jsxs)("linearGradient",{id:tN,x1:"0%",y1:"0%",x2:"100%",y2:"0%",children:[ex,eb]}),ez[181]=tN,ez[182]=ex,ez[183]=eb,ez[184]=ey):ey=ez[184];let tP=`${td}-center`,tE=e7.color||"#ffffff";ez[185]!==tE?(ev=(0,r.jsx)("stop",{offset:"0%",stopColor:tE,stopOpacity:"1"}),ez[185]=tE,ez[186]=ev):ev=ez[186];let tD=e7.color||"#ffffff";ez[187]!==tD?(ew=(0,r.jsx)("stop",{offset:"100%",stopColor:tD,stopOpacity:"0.45"}),ez[187]=tD,ez[188]=ew):ew=ez[188],ez[189]!==tP||ez[190]!==ev||ez[191]!==ew?(e_=(0,r.jsxs)("radialGradient",{id:tP,cx:"50%",cy:"50%",r:"70%",children:[ev,ew]}),ez[189]=tP,ez[190]=ev,ez[191]=ew,ez[192]=e_):e_=ez[192];let tM=`${td}-lateral`,tz=e7.color||"#ffffff";ez[193]!==tz?(ek=(0,r.jsx)("stop",{offset:"0%",stopColor:tz,stopOpacity:"0.58"}),ez[193]=tz,ez[194]=ek):ek=ez[194];let tF=e7.color||"#ffffff";ez[195]!==tF?(eS=(0,r.jsx)("stop",{offset:"50%",stopColor:tF,stopOpacity:"1"}),ez[195]=tF,ez[196]=eS):eS=ez[196];let tO=e7.color||"#ffffff";ez[197]!==tO?(ej=(0,r.jsx)("stop",{offset:"100%",stopColor:tO,stopOpacity:"0.58"}),ez[197]=tO,ez[198]=ej):ej=ez[198],ez[199]!==tM||ez[200]!==ek||ez[201]!==eS||ez[202]!==ej?(e$=(0,r.jsxs)("linearGradient",{id:tM,x1:"0%",y1:"0%",x2:"0%",y2:"100%",children:[ek,eS,ej]}
4),ez[199]=tM,ez[200]=ek,ez[201]=eS,ez[202]=ej,ez[203]=e$):e$=ez[203],ez[204]!==eg||ez[205]!==ey||ez[206]!==e_||ez[207]!==e$?(eI=(0,r.jsxs)("defs",{children:[eg,ey,e_,e$]}),ez[204]=eg,ez[205]=ey,ez[206]=e_,ez[207]=e$,ez[208]=eI):eI=ez[208];let tL=!1!==e7.filled?tt:0;return ez[209]!==tf||ez[210]!==tL?(eC=(0,r.jsx)("rect",{x:"12",y:"9",width:"136",height:"34",fill:tf,fillOpacity:tL}),ez[209]=tf,ez[210]=tL,ez[211]=eC):eC=ez[211],ez[212]!==e7.color||ez[213]!==e7.dashed||ez[214]!==e7.outlineColor||ez[215]!==e7.outlined||ez[216]!==tn||ez[217]!==tp||ez[218]!==tm?(eT=!1!==e7.outlined&&(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)("line",{x1:"12",y1:"9",x2:"148",y2:"9",stroke:e7.outlineColor||e7.color||"#ffffff",strokeOpacity:tn,strokeWidth:tm,strokeDasharray:e7.dashed?tp:void 0,strokeLinecap:"butt"}),(0,r.jsx)("line",{x1:"148",y1:"9",x2:"148",y2:"43",stroke:e7.outlineColor||e7.color||"#ffffff",strokeOpacity:tn,strokeWidth:tm,strokeDasharray:e7.dashed?tp:void 0,strokeLinecap:"butt"}),(0,r.jsx)("line",{x1:"148",y1:"43",x2:"12",y2:"43",stroke:e7.outlineColor||e7.color||"#ffffff",strokeOpacity:tn,strokeWidth:tm,strokeDasharray:e7.dashed?tp:void 0,strokeLinecap:"butt"}),(0,r.jsx)("line",{x1:"12",y1:"43",x2:"12",y2:"9",stroke:e7.outlineColor||e7.color||"#ffffff",strokeOpacity:tn,strokeWidth:tm,strokeDasharray:e7.dashed?tp:void 0,strokeLinecap:"butt"})]}),ez[212]=e7.color,ez[213]=e7.dashed,ez[214]=e7.outlineColor,ez[215]=e7.outlined,ez[216]=tn,ez[217]=tp,ez[218]=tm,ez[219]=eT):eT=ez[219],ez[220]!==eC||ez[221]!==eT||ez[222]!==eI?(eA=(0,r.jsx)("div",{className:"w-full h-11 bg-black/20 rounded border border-white/10 relative overflow-hidden",children:(0,r.jsxs)("svg",{width:"100%",height:"100%",viewBox:"0 0 160 52",preserveAspectRatio:"none",children:[eI,eC,eT]})}),ez[220]=eC,ez[221]=eT,ez[222]=eI,ez[223]=eA):eA=ez[223],ez[224]!==tv?(eP=(0,r.jsx)("div",{className:"border-t border-white/5 pt-1.5 flex flex-col gap-1.5",children:(0,r.jsx)("div",{className:"grid grid-cols-2 gap-x-2 gap-y-1.5",children:tv.map(rQ)})}),ez[224]=tv,ez[225]=eP):eP=ez[225],ez[226]!==eR||ez[227]!==e9||ez[228]!==eW||ez[229]!==e8||ez[230]!==eL||ez[231]!==eO||ez[232]!==eG||ez[233]!==e1?(eE=eL?(0,r.jsxs)("div",{className:"flex gap-1.5 mt-1.5",children:[(0,r.jsx)("button",{onClick:eO,className:"flex-1 py-1 bg-white/10 hover:bg-white/20 text-white text-[9px] font-bold transition uppercase tracking-wider rounded",children:e1("cancel")}),(0,r.jsx)("button",{onClick:eW,className:"flex-1 py-1 bg-blue-600/80 hover:bg-blue-500/80 text-white text-[9px] font-bold transition uppercase tracking-wider rounded backdrop-blur-md",children:e1("create")})]}):(0,r.jsxs)(r.Fragment,{children:[(0,r.jsxs)("div",{className:"flex gap-1.5 mt-1.5",children:[(0,r.jsx)("button",{onClick:e9,className:"flex-1 py-1 bg-white/10 hover:bg-white/20 text-white text-[9px] font-bold transition uppercase tracking-wider rounded",children:e1("cancel")}),(0,r.jsx)("button",{onClick:e8,className:"flex-1 py-1 bg-blue-600/80 hover:bg-blue-500/80 text-white text-[9px] font-bold transition uppercase tracking-wider rounded backdrop-blur-md",children:e1("confirm")})]}),(0,r.jsx)("button",{onClick:()=>{eG(eR.id),eO()},className:"w-full py-1.5 mt-1 bg-red-500/20 hover:bg-red-500/30 text-red-300 text-[9px] transition uppercase tracking-wider rounded",children:e1("removeZone")})]}),ez[226]=eR,ez[227]=e9,ez[228]=eW,ez[229]=e8,ez[230]=eL,ez[231]=eO,ez[232]=eG,ez[233]=e1,ez[234]=eE):eE=ez[234],ez[235]!==eA||ez[236]!==eP||ez[237]!==eE||ez[238]!==R||ez[239]!==es||ez[240]!==el||ez[241]!==ep?(eD=(0,r.jsxs)("div",{className:"flex flex-col gap-2 p-1.5",children:[R,es,el,ep,eA,eP,eE]}),ez[235]=eA,ez[236]=eP,ez[237]=eE,ez[238]=R,ez[239]=es,ez[240]=el,ez[241]=ep,ez[242]=eD):eD=ez[242],ez[243]!==eX||ez[244]!==eY||ez[245]!==e0||ez[246]!==eD||ez[247]!==C||ez[248]!==N||ez[249]!==E?(eM=(0,r.jsx)(y.default,{title:C,className:"w-[176px]",initialOffset:N,onPositionChange:e0,isPinned:eX,onPinToggle:eY,headerEnd:E,children:eD}),ez[243]=eX,ez[244]=eY,ez[245]=e0,ez[246]=eD,ez[247]=C,ez[248]=N,ez[249]=E,ez[250]=eM):eM=ez[250],eM}function rQ(e){return(0,r.jsxs)("div",{className:"flex flex-col gap-0.5 animate-in fade-in duration-150",children:[(0,r.jsxs)("div",{className:"flex justify-between items-center text-[8px] opacity-50 font-bold tracking-wider",children:[(0,r.jsx)("span",{children:e.label}),(0,r.jsx)("span",{children:e.valueLabel})]}),(0,r.jsx)("input",{type:"range",min:e.min,max:e.max,step:e.step,value:e.value,onChange:t=>e.onChange(parseFloat(t.target.value)),className:"w-full h-0.5 bg-white/20 rounded-lg appearance-none cursor-pointer accent-blue-500 [&::-webkit-slider-thumb]:appearance-none [&::-webkit-slider-thumb]:w-2.5 [&::-webkit-slider-thumb]:h-2.5 [&::-webkit-slider-thumb]:rounded-full [&::-webkit-slider-thumb]:bg-white [&::-webkit-slider-thumb]:border [&::-webkit-slider-thumb]:border-white/50 [&::-moz-range-thumb]:w-2.5 [&::-moz-range-thumb]:h-2.5 [&::-moz-range-thumb]:rounded-full [&::-moz-range-thumb]:bg-white [&::-moz-range-thumb]:border [&::-moz-range-thumb]:border-white/50"})]},e.key)}
4function r0(e,t,n){return Math.max(t,Math.min(n,e))}function r1(e){let t,n,a,o,s,l,c,u,m,p,h,f,g,x,b,v,w,_,k,S,j,$,I,C,N,T,A,P,E,D,M,z,F,O=(0,i.c)(88),{isOpen:L,onClose:R,markerName:B,targetName:U,distance:Z,setDistance:G,onSwapRoles:W,onConfirm:H,onCancel:V,onDelete:q,isPinned:K,onPinToggle:J,initialOffset:X,onPositionChange:Y,isEditing:Q}=e,ee=void 0!==K&&K,et=void 0===J?null:J,en=void 0===X?null:X,er=void 0===Y?null:Y,ei=void 0!==Q&&Q,ea=(0,d.useTranslations)("MarkingMenu");return L?(O[0]!==ea?(t=ea("title"),O[0]=ea,O[1]=t):t=O[1],O[2]!==en?(n=en||{x:280,y:window.innerHeight/2-100},O[2]=en,O[3]=n):n=O[3],O[4]!==ea?(a=ea("close"),O[4]=ea,O[5]=a):a=O[5],O[6]!==ea?(o=ea("close"),O[6]=ea,O[7]=o):o=O[7],O[8]===Symbol.for("react.memo_cache_sentinel")?(s=(0,r.jsxs)("svg",{xmlns:"http://www.w3.org/2000/svg",width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,r.jsx)("line",{x1:"18",y1:"6",x2:"6",y2:"18"}),(0,r.jsx)("line",{x1:"6",y1:"6",x2:"18",y2:"18"})]}),O[8]=s):s=O[8],O[9]!==R||O[10]!==a||O[11]!==o?(l=(0,r.jsx)("button",{onClick:R,className:"opacity-50 hover:opacity-100 transition",title:a,"aria-label":o,children:s}),O[9]=R,O[10]=a,O[11]=o,O[12]=l):l=O[12],O[13]!==ea?(c=ea("marker"),O[13]=ea,O[14]=c):c=O[14],O[15]!==c?(u=(0,r.jsx)("span",{className:"opacity-60",children:c}),O[15]=c,O[16]=u):u=O[16],O[17]!==B?(m=(0,r.jsx)("span",{className:"font-bold truncate max-w-[80px]",children:B}),O[17]=B,O[18]=m):m=O[18],O[19]!==u||O[20]!==m?(p=(0,r.jsxs)("div",{className:"flex items-center justify-between text-[10px]",children:[u,m]}),O[19]=u,O[20]=m,O[21]=p):p=O[21],O[22]!==ea?(h=ea("swapRoles"),O[22]=ea,O[23]=h):h=O[23],O[24]===Symbol.for("react.memo_cache_sentinel")?(f=(0,r.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:(0,r.jsx)("path",{d:"M7 16V4m0 0L3 8m4-4l4 4m6 0v12m0 0l4-4m-4 4l-4-4"})}),O[24]=f):f=O[24],O[25]!==W||O[26]!==h?(g=(0,r.jsx)("div",{className:"flex justify-center",children:(0,r.jsx)("button",{onClick:W,className:"p-1 rounded hover:bg-white/10 text-white/60 hover:text-white transition",title:h,children:f})}),O[25]=W,O[26]=h,O[27]=g):g=O[27],O[28]!==ea?(x=ea("target"),O[28]=ea,O[29]=x):x=O[29],O[30]!==x?(b=(0,r.jsx)("span",{className:"opacity-60",children:x}),O[30]=x,O[31]=b):b=O[31],O[32]!==U?(v=(0,r.jsx)("span",{className:"font-bold truncate max-w-[80px]",children:U}),O[32]=U,O[33]=v):v=O[33],O[34]!==b||O[35]!==v?(w=(0,r.jsxs)("div",{className:"flex items-center justify-between text-[10px]",children:[b,v]}),O[34]=b,O[35]=v,O[36]=w):w=O[36],O[37]!==p||O[38]!==g||O[39]!==w?(_=(0,r.jsxs)("div",{className:"flex flex-col px-3 py-2 gap-2",children:[p,g,w]}),O[37]=p,O[38]=g,O[39]=w,O[40]=_):_=O[40],O[41]!==ea?(k=ea("distance"),O[41]=ea,O[42]=k):k=O[42],O[43]!==k?(S=(0,r.jsx)("label",{className:"text-[9px] opacity-60",children:k}),O[43]=k,O[44]=S):S=O[44],O[45]!==G?(j=e=>G(parseFloat(e.target.value)),O[45]=G,O[46]=j):j=O[46],O[47]!==Z||O[48]!==j?($=(0,r.jsx)("input",{type:"range",min:"0.5",max:"10",step:"0.1",value:Z,onChange:j,className:"w-16 h-1 bg-white/20 rounded-lg appearance-none cursor-pointer"}),O[47]=Z,O[48]=j,O[49]=$):$=O[49],O[50]!==Z?(I=(0,r.jsxs)("span",{className:"text-[9px] w-6 text-right",children:[Z,"m"]}),O[50]=Z,O[51]=I):I=O[51],O[52]!==$||O[53]!==I?(C=(0,r.jsxs)("div",{className:"flex items-center gap-2",children:[$,I]}),O[52]=$,O[53]=I,O[54]=C):C=O[54],O[55]!==S||O[56]!==C?(N=(0,r.jsxs)("div",{className:"flex items-center justify-between px-3 py-2",children:[S,C]}),O[55]=S,O[56]=C,O[57]=N):N=O[57],O[58]!==ea?(T=ea("cancel"),O[58]=ea,O[59]=T):T=O[59],O[60]!==V||O[61]!==T?(A=(0,r.jsx)("button",{onClick:V,className:"flex-1 py-2 bg-red-500/20 hover:bg-red-500/30 text-red-300 text-[10px] transition uppercase tracking-wider border-r border-white/5",children:T}),O[60]=V,O[61]=T,O[62]=A):A=O[62],O[63]!==ei||O[64]!==q||O[65]!==ea?(P=ei&&(0,r.jsx)("button",{onClick:q,className:"flex-1 py-2 bg-red-500/50 hover:bg-red-500/60 text-white text-[10px] transition uppercase tracking-wider border-r border-white/5 font-bold",children:ea("delete")}),O[63]=ei,O[64]=q,O[65]=ea,O[66]=P):P=O[66],O[67]!==ea?(E=ea("confirm"),O[67]=ea,O[68]=E):E=O[68],O[69]!==H||O[70]!==E?(D=(0,r.jsx)("button",{onClick:H,className:"flex-1 py-2 bg-blue-600/80 hover:bg-blue-500/80 text-white text-[10px] font-bold transition uppercase tracking-wider backdrop-blur-md",children:E}),O[69]=H,O[70]=E,O[71]=D):D=O[71],O[72]!==A||O[73]!==P||O[74]!==D?(M=(0,r.jsxs)("div",{className:"flex",children:[A,P,D]}),O[72]=A,O[73]=P,O[74]=D,O[75]=M):M=O[75],O[76]!==_||O[77]!==N||O[78]!==M?(z=(0,r.jsxs)("div",{className:"flex flex-col divide-y divide-white/5",children:[_,N,M]}),O[76]=_,O[77]=N,O[78]=M,O[79]=z):z=O[79],O[80]!==ee||O[81]!==et||O[82]!==er||O[83]!==l||O[84]!==z||O[85]!==t||O[86]!==n?(F=(0,r.jsx)(y.default,{title:t,className:"w-[200px]",initialOffset:n,onPositionChange:er,isPinned:ee,onPinToggle:et,headerEnd:l,children:z}),O[80]=ee,O[81]=et,O[82]=er,O[83]=l,O[84]=z,O[85]=t,O[86]=n,O[87]=F):F=O[87],F):null}function r2(e){let t,n,a,o,s,l,c,u,m,p,h,f,g,x,b,v,w,_,k,S,j,$,I,C,N,T,A,P,E,D,M,z,F,O,L,R,B,U,Z,G,W,H,V,q,K,J,X,Y,Q,ee,et,en=(0,i.c)(145),{isOpen:er,onClose:ei,markerName:ea,zoneDims:eo,setZoneDims:es,anchors:el,onAddAnchor:ec,onRemoveAnchor:eu,availableTeammates:ed,distance:em,setDistance:ep,anchorType:eh,setAnchorType:ef,onConfirm:eg,onCancel:ex,onDelete:eb,isPinned:ey,onPinToggle:ev,initialOffset:ew,onPositionChange:e_,isEditing:ek}=e,eS=void 0!==ey&&ey,ej=void 0===ev?null:ev,e$=void 0===ew?null:ew,eI=void 0===e_?null:e_,eC=void 0!==ek&&ek,eN=(0,d.useTranslations)("ZonalMarkingMenu");if(!er)return null;en[0]!==eN?(t=eN("title"),en[0]=eN,en[1]=t):t=en[1],en[2]!==e$?(n=e$||{x:280,y:window.innerHeight/2-150},en[2]=e$,en[3]=n):n=en[3],en[4]!==eN?(a=eN("close"),en[4]=eN,en[5]=a):a=en[5],en[6]!==eN?(o=eN("close"),en[
46]=eN,en[7]=o):o=en[7],en[8]===Symbol.for("react.memo_cache_sentinel")?(s=(0,r.jsxs)("svg",{xmlns:"http://www.w3.org/2000/svg",width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,r.jsx)("line",{x1:"18",y1:"6",x2:"6",y2:"18"}),(0,r.jsx)("line",{x1:"6",y1:"6",x2:"18",y2:"18"})]}),en[8]=s):s=en[8],en[9]!==ei||en[10]!==a||en[11]!==o?(l=(0,r.jsx)("button",{onClick:ei,className:"opacity-50 hover:opacity-100 transition",title:a,"aria-label":o,children:s}),en[9]=ei,en[10]=a,en[11]=o,en[12]=l):l=en[12],en[13]!==eN?(c=eN("marker"),en[13]=eN,en[14]=c):c=en[14],en[15]!==c?(u=(0,r.jsx)("span",{className:"text-[9px] opacity-60",children:c}),en[15]=c,en[16]=u):u=en[16],en[17]!==ea?(m=(0,r.jsx)("span",{className:"text-[9px] font-bold truncate max-w-[100px] text-blue-300",children:ea}),en[17]=ea,en[18]=m):m=en[18],en[19]!==u||en[20]!==m?(p=(0,r.jsxs)("div",{className:"flex items-center justify-between px-3 py-1",children:[u,m]}),en[19]=u,en[20]=m,en[21]=p):p=en[21],en[22]!==eN?(h=eN("width"),en[22]=eN,en[23]=h):h=en[23],en[24]!==h?(f=(0,r.jsx)("label",{className:"text-[9px] opacity-60",children:h}),en[24]=h,en[25]=f):f=en[25],en[26]!==eo.width?(g=(0,r.jsx)("span",{className:"text-[8px] opacity-40 w-4 text-right tabular-nums",children:eo.width}),en[26]=eo.width,en[27]=g):g=en[27],en[28]!==es||en[29]!==eo?(x=e=>es({...eo,width:parseFloat(e.target.value)}),en[28]=es,en[29]=eo,en[30]=x):x=en[30],en[31]!==x||en[32]!==eo.width?(b=(0,r.jsx)("input",{type:"range",min:"2",max:"30",step:"1",value:eo.width,onChange:x,className:"w-14 h-1 bg-white/20 rounded-lg appearance-none cursor-pointer"}),en[31]=x,en[32]=eo.width,en[33]=b):b=en[33],en[34]!==g||en[35]!==b?(v=(0,r.jsxs)("div",{className:"flex items-center gap-1.5",children:[g,b]}),en[34]=g,en[35]=b,en[36]=v):v=en[36],en[37]!==f||en[38]!==v?(w=(0,r.jsxs)("div",{className:"flex items-center justify-between",children:[f,v]}),en[37]=f,en[38]=v,en[39]=w):w=en[39],en[40]!==eN?(_=eN("depth"),en[40]=eN,en[41]=_):_=en[41],en[42]!==_?(k=(0,r.jsx)("label",{className:"text-[9px] opacity-60",children:_}),en[42]=_,en[43]=k):k=en[43],en[44]!==eo.height?(S=(0,r.jsx)("span",{className:"text-[8px] opacity-40 w-4 text-right tabular-nums",children:eo.height}),en[44]=eo.height,en[45]=S):S=en[45],en[46]!==es||en[47]!==eo?(j=e=>es({...eo,height:parseFloat(e.target.value)}),en[46]=es,en[47]=eo,en[48]=j):j=en[48],en[49]!==j||en[50]!==eo.height?($=(0,r.jsx)("input",{type:"range",min:"2",max:"30",step:"1",value:eo.height,onChange:j,className:"w-14 h-1 bg-white/20 rounded-lg appearance-none cursor-pointer"}),en[49]=j,en[50]=eo.height,en[51]=$):$=en[51],en[52]!==S||en[53]!==$?(I=(0,r.jsxs)("div",{className:"flex items-center gap-1.5",children:[S,$]}),en[52]=S,en[53]=$,en[54]=I):I=en[54],en[55]!==k||en[56]!==I?(C=(0,r.jsxs)("div",{className:"flex items-center justify-between",children:[k,I]}),en[55]=k,en[56]=I,en[57]=C):C=en[57],en[58]!==w||en[59]!==C?(N=(0,r.jsxs)("div",{className:"flex flex-col px-3 py-1.5 gap-1",children:[w,C]}),en[58]=w,en[59]=C,en[60]=N):N=en[60],en[61]!==ef?(T=()=>ef("custom"),en[61]=ef,en[62]=T):T=en[62];let eT=`flex-1 py-0.5 text-[8px] rounded transition ${"custom"===eh?"bg-white/20 text-white":"text-white/40 hover:text-white/60"}`;en[63]!==eN?(A=eN("anchorTypeCustom"),en[63]=eN,en[64]=A):A=en[64],en[65]!==T||en[66]!==eT||en[67]!==A?(P=(0,r.jsx)("button",{onClick:T,className:eT,children:A}),en[65]=T,en[66]=eT,en[67]=A,en[68]=P):P=en[68],en[69]!==ef?(E=()=>ef("team"),en[69]=ef,en[70]=E):E=en[70];let eA=`flex-1 py-0.5 text-[8px] rounded transition ${"team"===eh?"bg-white/20 text-white":"text-white/40 hover:text-white/60"}`;return en[71]!==eN?(D=eN("anchorTypeTeam"),en[71]=eN,en[72]=D):D=en[72],en[73]!==E||en[74]!==eA||en[75]!==D?(M=(0,r.jsx)("button",{onClick:E,className:eA,children:D}),en[73]=E,en[74]=eA,en[75]=D,en[76]=M):M=en[76],en[77]!==P||en[78]!==M?(z=(0,r.jsxs)("div",{className:"flex bg-white/5 rounded p-0.5",children:[P,M]}),en[77]=P,en[78]=M,en[79]=z):z=en[79],en[80]!==eh||en[81]!==el||en[82]!==ed||en[83]!==ec||en[84]!==eu||en[85]!==eN?(F="custom"===eh&&(0,r.jsxs)(r.Fragment,{children:[(0,r.jsxs)("div",{className:"flex items-center justify-between",children:[(0,r.jsx)("label",{className:"text-[9px] opacity-60",children:eN("anchors")}),(0,r.jsx)("span",{className:"text-[8px] opacity-40",children:0===el.length?eN("anchorsFixed"):eN("anchorsLinked",{count:el.length})})]}),el.length>0&&(0,r.jsx)("div",{className:"flex flex-wrap gap-0.5",children:el.map(e=>(0,r.jsxs)("div",{className:"flex items-center gap-0.5 bg-white/10 px-1 py-px rounded text-[8px]",children:[(0,r.jsx)("span",{children:e.name}),(0,r.jsx)("button",{onClick:()=>eu(e.id),className:"opacity-50 hover:text-red-400",children:"×"})]},e.id))}),(0,r.jsxs)("div",{className:"relative",children:[(0,r.jsxs)("select",{className:"w-full bg-black/20 rounded px-1.5 py-0.5 text-[8px] border border-white/10 focus:border-blue-400 outline-none appearance-none cursor-pointer",onChange:e=>{e.target.value&&(ec(e.target.value),e.target.value="")},defaultValue:"",children:[(0,r.jsx)("option",{value:"",disabled:!0,children:eN("addAnchor")}),ed.filter(e=>!el.some(t=>t.id===e.id)).map(r5)]}),(0,r.jsx)("div",{className:"pointer-events-none absolute inset-y-0 right-0 flex items-center px-1.5 text-white/50",children:(0,r.jsx)("svg",{className:"fill-current h-2.5 w-2.5",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",children:(0,r.jsx)("path",{d:"M9.293 12.95l.707.707L15.657 8l-1.414-1.414L10 10.828 5.757 6.586 4.343 8z"})})})]})]}),en[80]=eh,en[81]=el,en[82]=ed,en[83]=ec,en[84]=eu,en[85]=eN,en[86]=F):F=en[86],en[87]!==eh||en[88]!==eN?(O="team"===eh&&(0,r.jsx)("div",{className:"px-1.5 py-1 bg-blue-500/10 border border-blue-500/20 rounded text-[8px] text-blue-200/70",children:eN("anchoredToTeamCenter")}),en[87]=eh,en[88]=eN,en[89]=O):O=en[89],en[90]!==z||en[91]!==F||en[92]!==O?(L=(0,r.jsxs)("div",{className:"flex flex-col px-3 py-1.5 gap-1.5",children:[z,F,O]}
4),en[90]=z,en[91]=F,en[92]=O,en[93]=L):L=en[93],en[94]!==eN?(R=eN("engage"),en[94]=eN,en[95]=R):R=en[95],en[96]!==R?(B=(0,r.jsx)("label",{className:"text-[9px] opacity-60",children:R}),en[96]=R,en[97]=B):B=en[97],en[98]!==em?(U=(0,r.jsx)("span",{className:"text-[8px] opacity-40 w-4 text-right tabular-nums",children:em}),en[98]=em,en[99]=U):U=en[99],en[100]!==ep?(Z=e=>ep(parseFloat(e.target.value)),en[100]=ep,en[101]=Z):Z=en[101],en[102]!==em||en[103]!==Z?(G=(0,r.jsx)("input",{type:"range",min:"0.5",max:"5",step:"0.1",value:em,onChange:Z,className:"w-14 h-1 bg-white/20 rounded-lg appearance-none cursor-pointer"}),en[102]=em,en[103]=Z,en[104]=G):G=en[104],en[105]!==U||en[106]!==G?(W=(0,r.jsxs)("div",{className:"flex items-center gap-1.5",children:[U,G]}),en[105]=U,en[106]=G,en[107]=W):W=en[107],en[108]!==B||en[109]!==W?(H=(0,r.jsxs)("div",{className:"flex items-center justify-between px-3 py-1.5",children:[B,W]}),en[108]=B,en[109]=W,en[110]=H):H=en[110],en[111]!==eN?(V=eN("cancel"),en[111]=eN,en[112]=V):V=en[112],en[113]!==ex||en[114]!==V?(q=(0,r.jsx)("button",{onClick:ex,className:"flex-1 py-1.5 bg-red-500/20 hover:bg-red-500/30 text-red-300 text-[9px] transition uppercase tracking-wider border-r border-white/5",children:V}),en[113]=ex,en[114]=V,en[115]=q):q=en[115],en[116]!==eC||en[117]!==eb||en[118]!==eN?(K=eC&&(0,r.jsx)("button",{onClick:eb,className:"flex-1 py-1.5 bg-red-500/50 hover:bg-red-500/60 text-white text-[9px] transition uppercase tracking-wider border-r border-white/5 font-bold",children:eN("delete")}),en[116]=eC,en[117]=eb,en[118]=eN,en[119]=K):K=en[119],en[120]!==eg?(J=()=>eg(),en[120]=eg,en[121]=J):J=en[121],en[122]!==eN?(X=eN("confirm"),en[122]=eN,en[123]=X):X=en[123],en[124]!==J||en[125]!==X?(Y=(0,r.jsx)("button",{onClick:J,className:"flex-1 py-1.5 bg-blue-600/80 hover:bg-blue-500/80 text-white text-[9px] font-bold transition uppercase tracking-wider backdrop-blur-md",children:X}),en[124]=J,en[125]=X,en[126]=Y):Y=en[126],en[127]!==q||en[128]!==K||en[129]!==Y?(Q=(0,r.jsxs)("div",{className:"flex",children:[q,K,Y]}),en[127]=q,en[128]=K,en[129]=Y,en[130]=Q):Q=en[130],en[131]!==p||en[132]!==N||en[133]!==L||en[134]!==H||en[135]!==Q?(ee=(0,r.jsxs)("div",{className:"flex flex-col divide-y divide-white/5",children:[p,N,L,H,Q]}),en[131]=p,en[132]=N,en[133]=L,en[134]=H,en[135]=Q,en[136]=ee):ee=en[136],en[137]!==eS||en[138]!==ej||en[139]!==eI||en[140]!==l||en[141]!==ee||en[142]!==t||en[143]!==n?(et=(0,r.jsx)(y.default,{title:t,className:"w-[200px]",initialOffset:n,onPositionChange:eI,isPinned:eS,onPinToggle:ej,headerEnd:l,children:ee}),en[137]=eS,en[138]=ej,en[139]=eI,en[140]=l,en[141]=ee,en[142]=t,en[143]=n,en[144]=et):et=en[144],et}function r5(e){return(0,r.jsx)("option",{value:e.id,children:e.name},e.id)}var r4=e.i(104338),r3=e.i(575056),r6=e.i(175696),r6=r6,r8=e.i(770703),r9=e.i(881852),r7=e.i(983959),ie=e.i(768834),it=e.i(579473);let ir=a.createContext(null);function ii({map:e,children:t,onChange:n,domElement:r}){let i=e.map(e=>e.name+e.keys).join("-"),o=a.useMemo(()=>(0,ie.create)((0,it.subscribeWithSelector)(()=>e.reduce((e,t)=>({...e,[t.name]:!1}),{}))),[i]),s=a.useMemo(()=>[o.subscribe,o.getState,o],[i]),l=o.setState;return a.useEffect(()=>{let t=e.map(({name:e,keys:t,up:r})=>({keys:t,up:r,fn:t=>{l({[e]:t}),n&&n(e,t,s[1]())}})).reduce((e,{keys:t,fn:n,up:r=!0})=>(t.forEach(t=>e[t]={fn:n,pressed:!1,up:r}),e),{}),i=({key:e,code:n})=>{let r=t[e]||t[n];if(!r)return;let{fn:i,pressed:a,up:o}=r;r.pressed=!0,(o||!a)&&i(!0)},a=({key:e,code:n})=>{let r=t[e]||t[n];if(!r)return;let{fn:i,up:a}=r;r.pressed=!1,a&&i(!1)},o=r||window;return o.addEventListener("keydown",i,{passive:!0}),o.addEventListener("keyup",a,{passive:!0}),()=>{o.removeEventListener("keydown",i),o.removeEventListener("keyup",a)}},[r,i]),a.createElement(ir.Provider,{value:s,children:t})}var ia=e.i(270290),io=e.i(964392),is=e.i(252226);function il(){let e=(0,m.useAnnotationStore)(e=>e.activeTool),t=(0,m.useAnnotationStore)(e=>e.isDrawing),n=(0,m.useAnnotationStore)(e=>e.startDrawing),i=(0,m.useAnnotationStore)(e=>e.updateDrawing),o=(0,m.useAnnotationStore)(e=>e.finishDrawing),s=(0,m.useAnnotationStore)(e=>e.addAnnotation),l=(0,m.useAnnotationStore)(e=>e.addAnnotationAndSelect),c=(0,m.useAnnotationStore)(e=>e.updateAnnotation),u=(0,m.useAnnotationStore)(e=>e.pencilConfig),d=(0,m.useAnnotationStore)(e=>e.lineConfig),p=(0,ia.useCameraStore)(e=>e.setOrbitControlsEnabled),h=(0,m.useAnnotationStore)(e=>e.currentPoints),g=(0,a.useRef)(null),x=(0,a.useRef)(!1),b=(0,a.useRef)(new f.Vector3),y=(0,a.useRef)(null);return(0,a.useEffect)(()=>{let e=e=>{if("Delete"===e.key||"Backspace"===e.key){if(document.activeElement&&("INPUT"===document.activeElement.tagName||"TEXTAREA"===document.activeElement.tagName||document.activeElement.isContentEditable))return;let{selectedGroupId:e,deleteGroup:t,selectedAnnotationIds:n,removeAnnotation:r,clearAnnotationSelection:i}=m.useAnnotationStore.getState();e?t(e):n.length>
40&&(n.forEach(e=>r(e)),i())}};return window.addEventListener("keydown",e),()=>window.removeEventListener("keydown",e)},[]),(0,r.jsx)(r.Fragment,{children:("pencil"===e||"text"===e||"rectangle"===e||"circle"===e||"arrow"===e||"textwindow"===e||t||x.current)&&(0,r.jsxs)("mesh",{rotation:[-Math.PI/2,0,0],position:[0,.01,0],onPointerDown:t=>{if("textwindow"===e){t.stopPropagation(),p(!1);let e=t.point.clone(),n=m.useAnnotationStore.getState().annotations.length,r=m.useAnnotationStore.getState().textWindowConfig;l({id:f.MathUtils.generateUUID(),type:"textwindow",position:[e.x,0,e.z],rotation:[0,0,0],scale:[1,1,1],config:{...r,isOpen:!1},visible:!0,locked:!1,name:`Note ${n+1}`,timestamp:Date.now()}),p(!0);return}if("text"===e){t.stopPropagation(),t.target.setPointerCapture&&t.target.setPointerCapture(t.pointerId),p(!1);let e=t.point.clone();b.current.copy(e),x.current=!0;let n=m.useAnnotationStore.getState().annotations.length,r=f.MathUtils.generateUUID();y.current=r,s({id:r,type:"text",position:[e.x,e.y+.5,e.z],rotation:[0,0,0],scale:[.01,.01,.01],config:{...m.useAnnotationStore.getState().textConfig},visible:!0,locked:!1,name:`Text ${n+1}`,timestamp:Date.now()});return}if("rectangle"===e||"circle"===e){t.stopPropagation(),p(!1);let n=t.point.clone();b.current.copy(n),x.current=!0;let r=m.useAnnotationStore.getState().annotations.length,i=m.useAnnotationStore.getState().shapeConfig,a=f.MathUtils.generateUUID();y.current=a,s({id:a,type:"shape",shapeType:e,position:[n.x,n.y+.05,n.z],rotation:[-Math.PI/2,0,0],scale:[.1,.1,1],config:{...i},visible:!0,locked:!1,name:`${e.charAt(0).toUpperCase()+e.slice(1)} ${r+1}`,timestamp:Date.now()});return}if("arrow"===e){t.stopPropagation(),p(!1);let e=t.point.clone();b.current.copy(e),x.current=!0;let n=m.useAnnotationStore.getState().annotations.length,r=f.MathUtils.generateUUID();y.current=r;let i="bezier"===d.pathType?"bezier":"linear",a=e.clone().add(new f.Vector3(.01,0,0));s({id:r,type:"arrow",points:"bezier"===i?[new f.Vector3(0,0,0),(0,eT.buildQuadraticControlPointXZ)(e,a,(0,eT.clampCurveBend)(d.curveBend,.35)).sub(e),new f.Vector3(.01,0,0)]:[new f.Vector3(0,0,0),new f.Vector3(.01,0,0)],position:[e.x,e.y+.05,e.z],rotation:[0,0,0],scale:[1,1,1],config:{...d,pathType:i},visible:!0,locked:!1,name:`Line ${n+1}`,timestamp:Date.now()});return}if("pencil"!==e)return;t.stopPropagation(),p(!1),n();let r=t.point.clone();i(r),g.current=r},onPointerMove:n=>{if(x.current&&y.current){n.stopPropagation();let t=n.point.clone(),r=b.current;if("text"===e){let e=Math.max(.1,r.distanceTo(t));c(y.current,{scale:[e,e,e]});return}if("arrow"===e){let e=(r.x+t.x)/2,n=(r.z+t.z)/2,i=new f.Vector3(e,r.y+.05,n),a=r.clone().sub(i),o=t.clone().sub(i),s=m.useAnnotationStore.getState().lineConfig,l="bezier"===s.pathType?"bezier":"linear";a.y=0,o.y=0;let u=[a,o];if("bezier"===l){let e=(0,eT.buildQuadraticControlPointXZ)(r,t,(0,eT.clampCurveBend)(s.curveBend,.35)).sub(i);e.y=0,u.splice(1,0,e)}c(y.current,{position:[i.x,i.y,i.z],points:u,config:{...s,pathType:l,curveBend:(0,eT.clampCurveBend)(s.curveBend,.35)}});return}let i=Math.min(r.x,t.x),a=Math.max(r.x,t.x),o=Math.min(r.z,t.z),s=Math.max(r.z,t.z),l=Math.max(a-i,.1),u=Math.max(s-o,.1);c(y.current,{position:[(i+a)/2,r.y+.05,(o+s)/2],scale:[l,u,1]});return}if(!t)return;let r=n.point.clone();g.current&&.4>r.distanceTo(g.current)||(i(r),g.current=r)},onPointerUp:n=>{if(x.current){if(x.current=!1,y.current){if("text"===e){let e=b.current,t=n.point.clone();.2>e.distanceTo(t)&&m.useAnnotationStore.getState().updateAnnotation(y.current,{scale:[1,1,1]})}m.useAnnotationStore.getState().setSelectedAnnotationId(y.current),m.useAnnotationStore.getState().setActiveTool("select")}if(y.current=null,n.target.releasePointerCapture)try{n.target.releasePointerCapture(n.pointerId)}catch(e){}p(!0);return}if(!t)return;if(p(!0),h.length<2)return void o();let r=h;if(h.length>2){let e=new f.CatmullRomCurve3(h,!1,"centripetal"),t=e.getLength(),n=Math.ceil(Math.max(2*h.length,20*t));r=e.getPoints(n)}let i=new f.Box3().setFromPoints(r),a=new f.Vector3;i.getCenter(a);let l=r.map(e=>e.clone().sub(a)),c=m.useAnnotationStore.getState().annotations.length;s({id:f.MathUtils.generateUUID(),type:"pencil",points:l,position:[a.x,a.y,a.z],rotation:[0,0,0],scale:[1,1,1],config:{...u},visible:!0,locked:!1,name:`Pencil ${c+1}`,timestamp:Date.now()}),o(),g.current=null},onContextMenu:e=>{e.stopPropagation(),e.nativeEvent&&e.nativeEvent.preventDefault(),m.useAnnotationStore.getState().setA
4ctiveTool("select")},visible:!1,children:[(0,r.jsx)("planeGeometry",{args:[500,500]}),(0,r.jsx)("meshBasicMaterial",{visible:!1})]})})}var ic=e.i(315080);let iu=()=>null;function id(){let e,t,n,a,o=(0,i.c)(22),s=(0,m.useAnnotationStore)(ib),l=(0,m.useAnnotationStore)(ix),c=(0,m.useAnnotationStore)(ig),u=(0,m.useAnnotationStore)(ih),d=(0,m.useAnnotationStore)(ip),p=(0,ia.useCameraStore)(im);o[0]!==u||o[1]!==c?(e=c?u.filter(e=>e.groupId===c):[],o[0]=u,o[1]=c,o[2]=e):e=o[2];let h=e;if(c&&h.length>0){let e;return o[3]!==h||o[4]!==c||o[5]!==p||o[6]!==d?(e=(0,r.jsx)(iy,{groupId:c,groupAnnotations:h,updateAnnotation:d,setOrbitControlsEnabled:p}),o[3]=h,o[4]=c,o[5]=p,o[6]=d,o[7]=e):e=o[7],e}o[8]!==u||o[9]!==l?(t=l.length>1?u.filter(e=>l.includes(e.id)):[],o[8]=u,o[9]=l,o[10]=t):t=o[10];let f=t;if(f.length>1){let e;return o[11]!==f||o[12]!==p||o[13]!==d?(e=(0,r.jsx)(iy,{groupAnnotations:f,updateAnnotation:d,setOrbitControlsEnabled:p}),o[11]=f,o[12]=p,o[13]=d,o[14]=e):e=o[14],e}o[15]!==u||o[16]!==s?(n=s?u.find(e=>e.id===s):null,o[15]=u,o[16]=s,o[17]=n):n=o[17];let g=n;return g?(o[18]!==g||o[19]!==p||o[20]!==d?(a=(0,r.jsx)(iv,{annotation:g,updateAnnotation:d,setOrbitControlsEnabled:p},g.id),o[18]=g,o[19]=p,o[20]=d,o[21]=a):a=o[21],a):null}function im(e){return e.setOrbitControlsEnabled}function ip(e){return e.updateAnnotation}function ih(e){return e.annotations}function ig(e){return e.selectedGroupId}function ix(e){return e.selectedAnnotationIds}function ib(e){return e.selectedAnnotationId}function iy({groupId:e,groupAnnotations:t,updateAnnotation:n,setOrbitControlsEnabled:i}){let{camera:o,raycaster:l,pointer:c}=(0,ic.useThree)(),u=(0,a.useMemo)(()=>new f.Plane(new f.Vector3(0,1,0),0),[]),[d,m]=a.default.useState(!1),p=(0,a.useRef)(null),h=(0,a.useRef)(null),g=(0,a.useRef)(),{bounds:x,center:b}=(0,a.useMemo)(()=>{if(d&&p.current&&h.current)return{bounds:p.current,center:h.current};let e=new f.Box3,n=!0;if(t.forEach(t=>{let r=new f.Box3;if(("pencil"===t.type||"arrow"===t.type)&&t.points&&t.points.length>0){let e=t.points.map(e=>Array.isArray(e)?new f.Vector3(...e):"number"==typeof e.x?new f.Vector3(e.x,e.y,e.z):null).filter(e=>null!==e&&!isNaN(e.x)&&!isNaN(e.y)&&!isNaN(e.z));if(!(e.length>0))return;r.setFromPoints(e)}else if("text"===t.type){let e=t.config||{};if(e._measuredWidth&&e._measuredHeight){let t=e._measuredWidth,n=e._measuredHeight;r.set(new f.Vector3(-t/2,-.1,-n/2),new f.Vector3(t/2,.1,n/2))}else{let t=e.fontSize||1,n=(e.text||"Text").length*t*.5;r.set(new f.Vector3(-n/2,-.1,-t/2),new f.Vector3(n/2,.1,t/2))}}else"shape"===t.type?r.set(new f.Vector3(-.5,-.5,-.01),new f.Vector3(.5,.5,.01)):r.set(new f.Vector3(-.5,0,-.5),new f.Vector3(.5,1,.5));if(r.isEmpty())return;let i=new f.Vector3;t.position&&(Array.isArray(t.position)?i.set(...t.position):i.copy(t.position));let a=new f.Euler;t.rotation&&(Array.isArray(t.rotation)?a.set(...t.rotation):a.copy(t.rotation));let o=new f.Vector3(1,1,1);t.scale&&(Array.isArray(t.scale)?o.set(...t.scale):o.copy(t.scale));let s=new f.Quaternion().setFromEuler(a),l=new f.Matrix4().compose(i,s,o),c=[new f.Vector3(r.min.x,r.min.y,r.min.z),new f.Vector3(r.min.x,r.min.y,r.max.z),new f.Vector3(r.min.x,r.max.y,r.min.z),new f.Vector3(r.min.x,r.max.y,r.max.z),new f.Vector3(r.max.x,r.min.y,r.min.z),new f.Vector3(r.max.x,r.min.y,r.max.z),new f.Vector3(r.max.x,r.max.y,r.min.z),new f.Vector3(r.max.x,r.max.y,r.max.z)];c.forEach(e=>e.applyMatrix4(l)),c.forEach(t=>e.expandByPoint(t)),n=!1}),n)return{bounds:{width:2,height:1,depth:2},center:new f.Vector3(0,0,0)};let r=new f.Vector3;e.getSize(r);let i=new f.Vector3;return e.getCenter(i),{bounds:{width:r.x,height:r.y,depth:r.z},center:i}},[t,d]),y=(0,a.useRef)(!1),v=(0,a.useRef)(null),w=(0,a.useRef)(new f.Vector3),_=(0,a.useRef)({x:0,y:0}),k=(0,a.useRef)(0),S=(0,a.useRef)(0),j=(0,a.useRef)([]),$=(0,a.useRef)(new f.Vector3),I=(e,t)=>{let n=e/window.innerWidth*2-1,r=-(2*(t/window.innerHeight))+1;l.setFromCamera({x:n,y:r},o);let i=new f.Vector3;return l.ray.intersectPlane(u,i),i},C=(e,n)=>{if(!e||2===e.button)return;e.stopPropagation(),_.current={x:e.clientX,y:e.clientY};let r=I(e.clientX,e.clientY);r&&(y.current=!0,v.current=n,i(!1),w.current.copy(r),$.current.copy(b),j.current=t.map(e=>{let t=new f.Vector3;e.position&&(Array.isArray(e.position)?t.set(...e.position):t.copy(e.position));let n=new f.Euler;e.rotation&&(Array.isArray(e.rotation)?n.set(...e.rotation):n.copy(e.rotation));let r=new f.Vector3(1,1,1);return e.scale&&(Array.isArray(e.scale)?r.set(...e.scale):r.copy(e.scale)),{id:e.id,position:t,rotation:n,scale:r}}),"rotate"===n&&(m(!0),p.current=x,h.current=b,S.current=0,g.current&&(g.current.rotation.y=0),k.current=Math.atan2(r.x-b.x,r.z-b.z)),window.addEventListener("pointermove",N),window.addEventListener("pointerup",T))},N=e=>{if(!y.current)return;let t=I(e.clientX,e.clientY);if("move"!==v.current||t){if(e.clientX,_.current.x,e.clientY,_.current.y,"move"===v.current&&t){let e=t.clone().sub(w.current);j.current.forEach(t=>{let r=t.position.clone().add(e);n(t.id,{position:[r.x,r.y,r.z]})})}else if("rotate"===v.current&&t){let e=Math.atan2(t.x-$.current.x,t.z-$.current.z)-k.current;g.current&&(g.current.rotation.y=e),j.current.forEach(t=>{let r=t.position.clone().sub($.current);r.applyAxisAngle(new f.Vector3(0,1,0),e);let i=$.current.clone().add(r),a=t.rotation.y+e;n(t.id,{position:[i.x,i.y,i.z],rotation:[t.rotation.x,a,t.rotation.z]})})}else if(v.current.startsWith("scale")&&t){let e=t.clone().sub(w.current),r=0,i=0;"scale-br"===v.current?(r=1,i=1):"scale-tl"===v.current?(r=-1,i=-1):"scale-tr"===v.current?(r=1,i=-1):"scale-bl"===v.current&&(r=-1,i=1);let a=1+(e.x*r+e.z*i)/Math.max(x.width+x.depth,.5);if(a<.05)return;
4j.current.forEach(e=>{let t=e.position.clone().sub($.current);t.multiplyScalar(a);let r=$.current.clone().add(t),i=e.scale.clone().multiplyScalar(a);n(e.id,{position:[r.x,r.y,r.z],scale:[i.x,i.y,i.z]})})}}},T=()=>{y.current=!1,v.current=null,i(!0),m(!1),p.current=null,h.current=null,g.current&&(g.current.rotation.y=0),window.removeEventListener("pointermove",N),window.removeEventListener("pointerup",T)},A=Math.max(x.width/2*1.05+.2,1),P=Math.max(x.depth/2*1.05+.2,1);return(0,r.jsxs)("group",{ref:g,position:[b.x,b.y+.05,b.z],children:[(0,r.jsxs)("lineSegments",{children:[(0,r.jsx)("edgesGeometry",{args:[new f.BoxGeometry(2*A,.05,2*P)]}),(0,r.jsx)("lineBasicMaterial",{color:"#5599ff"})]}),(0,r.jsxs)("mesh",{position:[-A,0,-P],onPointerDown:e=>C(e,"scale-tl"),children:[(0,r.jsx)("boxGeometry",{args:[.8,.8,.8]}),(0,r.jsx)("meshBasicMaterial",{color:"white"})]}),(0,r.jsxs)("mesh",{position:[A,0,-P],onPointerDown:e=>C(e,"scale-tr"),children:[(0,r.jsx)("boxGeometry",{args:[.8,.8,.8]}),(0,r.jsx)("meshBasicMaterial",{color:"white"})]}),(0,r.jsxs)("mesh",{position:[-A,0,P],onPointerDown:e=>C(e,"scale-bl"),children:[(0,r.jsx)("boxGeometry",{args:[.8,.8,.8]}),(0,r.jsx)("meshBasicMaterial",{color:"white"})]}),(0,r.jsxs)("mesh",{position:[A,0,P],onPointerDown:e=>C(e,"scale-br"),children:[(0,r.jsx)("boxGeometry",{args:[.8,.8,.8]}),(0,r.jsx)("meshBasicMaterial",{color:"white"})]}),(0,r.jsxs)("group",{position:[0,0,-P-1.5],children:[(0,r.jsxs)("line",{children:[(0,r.jsx)("bufferGeometry",{attach:"geometry",children:(0,r.jsx)("bufferAttribute",{attach:"attributes-position",count:2,array:new Float32Array([0,0,0,0,0,1.5]),itemSize:3})}),(0,r.jsx)("lineBasicMaterial",{color:"#5599ff"})]}),(0,r.jsxs)("mesh",{onPointerDown:e=>C(e,"rotate"),children:[(0,r.jsx)("sphereGeometry",{args:[.8,16,16]}),(0,r.jsx)("meshBasicMaterial",{color:"white"})]})]}),(0,r.jsxs)("mesh",{position:[0,1,0],rotation:[-Math.PI/2,0,0],onPointerDown:e=>{C(e,"move")},onContextMenu:n=>{n.stopPropagation(),n.nativeEvent&&n.nativeEvent.preventDefault();let r=n.nativeEvent||n,i=r.clientX??r.pageX??0,a=r.clientY??r.pageY??0;if(e)s.usePlayerStore.getState().openContextMenu("group",{x:i,y:a},null,null,null,null,e);else{let e=t[0]?.id;e&&s.usePlayerStore.getState().openContextMenu("annotation",{x:i,y:a},null,null,e)}},children:[(0,r.jsx)("planeGeometry",{args:[2*A,2*P]}),(0,r.jsx)("meshBasicMaterial",{transparent:!0,opacity:.1,color:"#5599ff",side:f.DoubleSide,depthWrite:!1})]})]})}function iv(e){let t,n,o,l,c,u,d,m,p,h,g,x,b,y,v,w,_,k,S,j,$,I,C,N,T,A,P,E,D,M,z,F,O,L,R,B,U,Z,G,W,H,V,q,K,J=(0,i.c)(158),{annotation:X,updateAnnotation:Y,setOrbitControlsEnabled:Q}=e,{camera:ee,raycaster:et}=(0,ic.useThree)();J[0]===Symbol.for("react.memo_cache_sentinel")?(t=new f.Plane(new f.Vector3(0,1,0),0),J[0]=t):t=J[0];let en=t;if(J[1]!==X.config||J[2]!==X.points||J[3]!==X.type){e:{let e;if("pencil"===X.type){let e,t=(X.points||[]).map(iw).filter(Boolean);if(0===t.length){let e;J[5]===Symbol.for("react.memo_cache_sentinel")?(e={width:1,height:.1,depth:1},J[5]=e):e=J[5],n=e;break e}let r=new f.Box3().setFromPoints(t),i=new f.Vector3;r.getSize(i),J[6]!==i?(e={width:i.x,height:i.y,depth:i.z},J[6]=i,J[7]=e):e=J[7],n=e;break e}if("text"===X.type){let e,t;J[8]!==X.config?(e=X.config||{},J[8]=X.config,J[9]=e):e=J[9];let r=e;if(r._measuredWidth&&r._measuredHeight){let e;J[10]!==r._measuredHeight||J[11]!==r._measuredWidth?(e={width:r._measuredWidth,height:.2,depth:r._measuredHeight},J[10]=r._measuredHeight,J[11]=r._measuredWidth,J[12]=e):e=J[12],n=e;break e}let i=r.fontSize||1,a=(r.text||"Text").length*i*.5;J[13]!==i||J[14]!==a?(t={width:a,height:.2,depth:i},J[13]=i,J[14]=a,J[15]=t):t=J[15],n=t;break e}if("shape"===X.type){let e;J[16]===Symbol.for("react.memo_cache_sentinel")?(e={width:1,height:1,depth:.1},J[16]=e):e=J[16],n=e;break e}J[17]===Symbol.for("react.memo_cache_sentinel")?(e={width:1,height:1,depth:1},J[17]=e):e=J[17],n=e}J[1]=X.config,J[2]=X.points,J[3]=X.type,J[4]=n}else n=J[4];let er=n,ei=(0,a.useRef)(!1),ea=(0,a.useRef)(null),eo=(0,a.useRef)(new f.Vector3),es=(0,a.useRef)({x:0,y:0}),el=(0,a.useRef)({position:new f.Vector3,rotation:new f.Euler,scale:new f.Vector3}),ec=(0,a.useRef)(0);J[18]!==ee||J[19]!==et?(o=(e,t)=>{let n=e/window.innerWidth*2-1,r=-(2*(t/window.innerHeight))+1;et.setFromCamera({x:n,y:r},ee);let i=new f.Vector3;return et.ray.intersectPlane(en,i),i},J[18]=ee,J[19]=et,J[20]=o):o=J[20];let eu=o,ed=(e,t)=>{if(2===e.button)return;e.stopPropagation(),e.nativeEvent?.preventDefault?.();try{e.target.setPointerCapture(e.pointerId)}catch(e){}es.current={x:e.clientX,y:e.clientY};let n=eu(e.clientX,e.clientY);n&&(ei.current=!0,ea.current=t,Q(!1),el.current={position:new f.Vector3(...X.position),rotation:new f.Euler(...X.rotation),scale:new f.Vector3(...X.scale)}
4,eo.current.copy(n),ec.current=Math.atan2(n.x-X.position[0],n.z-X.position[2]),window.addEventListener("pointermove",em),window.addEventListener("pointerup",ep),window.addEventListener("pointercancel",ep))},em=e=>{if(!ei.current)return;let t=eu(e.clientX,e.clientY);if("move"===ea.current&&t){let e=t.clone().sub(eo.current),n=el.current.position.clone().add(e);Y(X.id,{position:[n.x,n.y,n.z]})}else if("rotate"===ea.current&&t){let e=el.current.position,n=Math.atan2(t.x-e.x,t.z-e.z)-ec.current,r=el.current.rotation,i=new f.Quaternion().setFromEuler(r),a=new f.Quaternion().setFromAxisAngle(new f.Vector3(0,1,0),n).clone().multiply(i),o=new f.Euler().setFromQuaternion(a);Y(X.id,{rotation:[o.x,o.y,o.z]})}else if(ea.current.startsWith("scale")){let e=t.clone().sub(eo.current),n=el.current.rotation,r=new f.Quaternion().setFromEuler(n).clone().invert(),i=e.applyQuaternion(r),a=0,o=0;"scale-br"===ea.current?(a=1,o=1):"scale-tl"===ea.current?(a=-1,o=-1):"scale-tr"===ea.current?(a=1,o=-1):"scale-bl"===ea.current&&(a=-1,o=1);let s=i.x*a+i.y*o,l=el.current.scale,c=Math.max(l.x+l.y,.2),u=el.current.scale.clone().multiplyScalar(Math.max(1+s/c,.05));u.x<.1&&u.setScalar(.1),Y(X.id,{scale:[u.x,u.y,u.z]})}else if(ea.current.startsWith("vertex")){let t=parseInt(ea.current.split("-")[1]),n=eu(e.clientX,e.clientY);if(!n)return;let r=new f.Vector3(...X.position),i=new f.Euler(...X.rotation),a=new f.Vector3(...X.scale),o=new f.Quaternion().setFromEuler(i),s=new f.Matrix4().compose(r,o,a).invert(),l=n.applyMatrix4(s);l.y=0;let c=[...X.points];c[t]=l,Y(X.id,{points:c})}else if("curve"===ea.current){let t=eu(e.clientX,e.clientY);if(!t||!Array.isArray(X.points)||X.points.length<2)return;let n=new f.Vector3(...X.position),r=new f.Euler(...X.rotation),i=new f.Vector3(...X.scale),a=new f.Quaternion().setFromEuler(r),o=new f.Matrix4().compose(n,a,i).invert(),s=t.applyMatrix4(o);s.y=0,Y(X.id,{points:[(0,eT.toVector3)(X.points[0]),s,(0,eT.toVector3)(X.points[X.points.length-1])],config:{...X.config||{},pathType:"bezier",curveBend:X.config?.curveBend??.35}})}},ep=()=>{ei.current=!1,ea.current=null,Q(!0),window.removeEventListener("pointermove",em),window.removeEventListener("pointerup",ep),window.removeEventListener("pointercancel",ep)};J[21]!==X.id?(l=e=>{e.stopPropagation(),e.nativeEvent&&e.nativeEvent.preventDefault();let t=e.nativeEvent||e,n=t.clientX??t.pageX??0,r=t.clientY??t.pageY??0;s.usePlayerStore.getState().openContextMenu("annotation",{x:n,y:r},null,null,X.id)},J[21]=X.id,J[22]=l):l=J[22];let eh=l,ef=Math.max(er.width/2*1.02,.5),eg=Math.max(("shape"===X.type?er.height:er.depth)/2*1.02,.5);if("shape"===X.type){let e,t,n,i,a,o,s,l,c,u,d,m,p,h,f,g,x,b,y,v,w,_,k,S,j=X.scale[0],$=X.scale[1],I=ef*j,C=eg*$;J[23]!==C||J[24]!==I?(e=[I,C,1],J[23]=C,J[24]=I,J[25]=e):e=J[25],J[26]===Symbol.for("react.memo_cache_sentinel")?(t=(0,r.jsx)("bufferGeometry",{attach:"geometry",children:(0,r.jsx)("bufferAttribute",{attach:"attributes-position",count:5,array:new Float32Array([-1,-1,0,1,-1,0,1,1,0,-1,1,0,-1,-1,0]),itemSize:3})}),n=(0,r.jsx)("lineBasicMaterial",{color:"#5599ff"}),J[26]=t,J[27]=n):(t=J[26],n=J[27]),J[28]!==e||J[29]!==t?(i=(0,r.jsxs)("line",{scale:e,children:[t,n]}),J[28]=e,J[29]=t,J[30]=i):i=J[30];let N=-I,T=-C;J[31]!==N||J[32]!==T?(a=[N,T,0],J[31]=N,J[32]=T,J[33]=a):a=J[33],J[34]===Symbol.for("react.memo_cache_sentinel")?(o=(0,r.jsx)("boxGeometry",{args:[.8,.8,.8]}),s=(0,r.jsx)("meshBasicMaterial",{color:"white"}),J[34]=o,J[35]=s):(o=J[34],s=J[35]);let A=-C;J[36]!==A||J[37]!==I?(l=[I,A,0],J[36]=A,J[37]=I,J[38]=l):l=J[38],J[39]===Symbol.for("react.memo_cache_sentinel")?(c=(0,r.jsx)("boxGeometry",{args:[.8,.8,.8]}),u=(0,r.jsx)("meshBasicMaterial",{color:"white"}),J[39]=c,J[40]=u):(c=J[39],u=J[40]);let P=-I;J[41]!==P||J[42]!==C?(d=[P,C,0],J[41]=P,J[42]=C,J[43]=d):d=J[43],J[44]===Symbol.for("react.memo_cache_sentinel")?(m=(0,r.jsx)("boxGeometry",{args:[.8,.8,.8]}),p=(0,r.jsx)("meshBasicMaterial",{color:"white"}),J[44]=m,J[45]=p):(m=J[44],p=J[45]),J[46]!==C||J[47]!==I?(h=[I,C,0],J[46]=C,J[47]=I,J[48]=h):h=J[48],J[49]===Symbol.for("react.memo_cache_sentinel")?(f=(0,r.jsx)("boxGeometry",{args:[.8,.8,.8]}),g=(0,r.jsx)("meshBasicMaterial",{color:"white"}),J[49]=f,J[50]=g):(f=J[49],g=J[50]),J[51]!==C?(x=[0,C,0],J[51]=C,J[52]=x):x=J[52],J[53]===Symbol.for("react.memo_cache_sentinel")?(b=(0,r.jsxs)("line",{children:[(0,r.jsx)("bufferGeometry",{attach:"geometry",children:(0,r.jsx)("bufferAttribute",{attach:"attributes-position",count:2,array:new Float32Array([0,0,0,0,1.5,0]),itemSize:3})}),(0,r.jsx)("lineBasicMaterial",{color:"#5599ff"})]}),y=[0,1.5,0],J[53]=b,J[54]=y):(b=J[53],y=J[54]),J[55]===Symbol.for("react.memo_cache_sentinel")?(v=(0,r.jsx)("sphereGeometry",{args:[.8,16,16]}),w=(0,r.jsx)("meshBasicMaterial",{color:"white"}),J[55]=v,J[56]=w):(v=J[55],w=J[56]),J[57]===Symbol.for("react.memo_cache_sentinel")?(_=[0,1,0],J[57]=_):_=J[57];let E=2*I,D=2*C;return J[58]!==E||J[59]!==D?(k=(0,r.jsx)("planeGeometry",{args:[E,D]}),J[58]=E,J[59]=D,J[60]=k):k=J[60],J[61]===Symbol.for("react.memo_cache_sentinel")?(S=(0,r.jsx)("meshBasicMaterial",{transparent:!0,opacity:0,color:"red",depthWrite:!1}),J[61]=S):S=J[61],(0,r.jsxs)("group",{position:X.position,rotation:X.rotation,children:[(0,r.jsxs)("group",{children:[i,(0,r.jsxs)("mesh",{position:a,onPointerDown:e=>ed(e,"scale-tl"),children:[o,s]}),(0,r.jsxs)("mesh",{position:l,onPointerDown:e=>ed(e,"scale-tr"),children:[c,u]}),(0,r.jsxs)("mesh",{position:d,onPointerDown:e=>ed(e,"scale-bl"),children:[m,p]}),(0,r.jsxs)("mesh",{position:h,onPointerDown:e=>ed(e,"scale-br"),children:[f,g]}),(0,r.jsxs)("group",{position:x,children:[b,(0,r.jsxs)("mesh",{position:y,onPointerDown:e=>ed(e,"rotate"),children:[v,w]})]})]}),(0,r.jsxs)("mesh",{position:_,onPointerDown:e=>ed(e,"move"),onContextMenu:eh,children:[k,S]})]})}if("textwindow"===X.type){let e,t,n,i,a,o,s;return J[62]===Symbol.for("react.memo_cache_sentinel")?(e=[0,.06,0],t=[1,1,1],J[62]=e,J[63]=t):(e=J[62],t=J[63]),J[64]===Symbol.for("react.memo_cache_sentinel")?(i=(0,r.jsxs)("line",{position:e,scale:t,children:[(0,r.jsx)("bufferGeometry",{attach:"geometry",children:(0,r.jsx)("bufferAttribute",{attach:"attributes-position",count:5,array:new Float32Array([-1,0,-1,1,0,-1,1,0,1,-1,0,1,-1,0,-1]),itemSize:3})}),(0,r.jsx)("lineBasicMaterial",{color:"#5599ff"})]}),a=[0,0,0],n=[-Math.PI/2,0,0],J[64]=n,J[65]=i,J[66]=a):(n=J[64],i=J[65],a=J[66]),J[67]===Symbol.for("react.memo_cache_sentinel")?(o=(0,r.jsx)("planeGeometry",{args:[2,2]}),s=(0,r.jsx)("meshBasicMaterial",{transparent:!0,opacity:0,color:"red",depthWrite:!1}),J[67]=o,J[68]=s):(o=J[67],s=J[68]),(0,r.jsxs)("group",{position:X.position,children:[i,(0,r.jsxs)("mesh",{position:a,rotation:n,onPointerDown:e=>ed(e,"move"),onContextMenu:eh,children:[o,s]})]})}if("arrow"===X.type&&X.points){let e,t=X.points[0],n=X.points[X.points.length-1];if(!t||!n)return null;let i=(0,eT.toVector3)(t),a=(0,eT.toVector3)(n),o=X.config?.pathType==="bezier"&&X.points.length>=3;J[69]!==X.points[1]||J[70]!==o?(e=o?(0,eT.toVector3)(X.points[1]):null,J[69]=X.points[1],J[70]=o,J[71]=e):e
4=J[71];let s=e,l=o?null:i.clone().lerp(a,.5),c=(e,t,n,i)=>(0,r.jsxs)("group",{position:e,children:[(0,r.jsxs)("mesh",{onPointerDown:e=>ed(e,t),onContextMenu:eh,children:[(0,r.jsx)("sphereGeometry",{args:[.65,16,16]}),(0,r.jsx)("meshBasicMaterial",{transparent:!0,opacity:.001,depthWrite:!1})]}),(0,r.jsxs)("mesh",{raycast:iu,children:[(0,r.jsx)("sphereGeometry",{args:[void 0===i?.18:i,16,16]}),(0,r.jsx)("meshBasicMaterial",{color:void 0===n?"white":n,depthTest:!1})]})]});return(0,r.jsxs)("group",{position:X.position,rotation:X.rotation,scale:X.scale,children:[c(i,"vertex-0"),s&&c(s,"vertex-1","#38bdf8",.22),l&&c(l,"curve","#38bdf8",.22),c(a,`vertex-${X.points.length-1}`)]})}let ex=X.scale[0],eb=X.scale[2],ey=ef*ex,ev=eg*eb;J[72]===Symbol.for("react.memo_cache_sentinel")?(c=[0,.05,0],J[72]=c):c=J[72],J[73]!==ev||J[74]!==ey?(u=[ey,1,ev],J[73]=ev,J[74]=ey,J[75]=u):u=J[75],J[76]===Symbol.for("react.memo_cache_sentinel")?(d=(0,r.jsx)("bufferGeometry",{attach:"geometry",children:(0,r.jsx)("bufferAttribute",{attach:"attributes-position",count:5,array:new Float32Array([-1,0,-1,1,0,-1,1,0,1,-1,0,1,-1,0,-1]),itemSize:3})}),m=(0,r.jsx)("lineBasicMaterial",{color:"#5599ff"}),J[76]=d,J[77]=m):(d=J[76],m=J[77]),J[78]!==u||J[79]!==d?(p=(0,r.jsxs)("line",{position:c,scale:u,children:[d,m]}),J[78]=u,J[79]=d,J[80]=p):p=J[80];let ew=-ey,e_=-ev;J[81]!==ew||J[82]!==e_?(h=[ew,0,e_],J[81]=ew,J[82]=e_,J[83]=h):h=J[83],J[84]!==ed?(g=e=>ed(e,"scale-tl"),J[84]=ed,J[85]=g):g=J[85],J[86]===Symbol.for("react.memo_cache_sentinel")?(x=(0,r.jsx)("boxGeometry",{args:[.8,.8,.8]}),b=(0,r.jsx)("meshBasicMaterial",{color:"white"}),J[86]=x,J[87]=b):(x=J[86],b=J[87]),J[88]!==h||J[89]!==g?(y=(0,r.jsxs)("mesh",{position:h,onPointerDown:g,children:[x,b]}),J[88]=h,J[89]=g,J[90]=y):y=J[90];let ek=-ev;J[91]!==ek||J[92]!==ey?(v=[ey,0,ek],J[91]=ek,J[92]=ey,J[93]=v):v=J[93],J[94]!==ed?(w=e=>ed(e,"scale-tr"),J[94]=ed,J[95]=w):w=J[95],J[96]===Symbol.for("react.memo_cache_sentinel")?(_=(0,r.jsx)("boxGeometry",{args:[.8,.8,.8]}),k=(0,r.jsx)("meshBasicMaterial",{color:"white"}),J[96]=_,J[97]=k):(_=J[96],k=J[97]),J[98]!==v||J[99]!==w?(S=(0,r.jsxs)("mesh",{position:v,onPointerDown:w,children:[_,k]}),J[98]=v,J[99]=w,J[100]=S):S=J[100];let eS=-ey;J[101]!==eS||J[102]!==ev?(j=[eS,0,ev],J[101]=eS,J[102]=ev,J[103]=j):j=J[103],J[104]!==ed?($=e=>ed(e,"scale-bl"),J[104]=ed,J[105]=$):$=J[105],J[106]===Symbol.for("react.memo_cache_sentinel")?(I=(0,r.jsx)("boxGeometry",{args:[.8,.8,.8]}),C=(0,r.jsx)("meshBasicMaterial",{color:"white"}),J[106]=I,J[107]=C):(I=J[106],C=J[107]),J[108]!==j||J[109]!==$?(N=(0,r.jsxs)("mesh",{position:j,onPointerDown:$,children:[I,C]}),J[108]=j,J[109]=$,J[110]=N):N=J[110],J[111]!==ev||J[112]!==ey?(T=[ey,0,ev],J[111]=ev,J[112]=ey,J[113]=T):T=J[113],J[114]!==ed?(A=e=>ed(e,"scale-br"),J[114]=ed,J[115]=A):A=J[115],J[116]===Symbol.for("react.memo_cache_sentinel")?(P=(0,r.jsx)("boxGeometry",{args:[.8,.8,.8]}),E=(0,r.jsx)("meshBasicMaterial",{color:"white"}),J[116]=P,J[117]=E):(P=J[116],E=J[117]),J[118]!==T||J[119]!==A?(D=(0,r.jsxs)("mesh",{position:T,onPointerDown:A,children:[P,E]}),J[118]=T,J[119]=A,J[120]=D):D=J[120];let ej=-ev-1.5;J[121]!==ej?(M=[0,0,ej],J[121]=ej,J[122]=M):M=J[122],J[123]===Symbol.for("react.memo_cache_sentinel")?(z=(0,r.jsxs)("line",{children:[(0,r.jsx)("bufferGeometry",{attach:"geometry",children:(0,r.jsx)("bufferAttribute",{attach:"attributes-position",count:2,array:new Float32Array([0,0,0,0,0,1.5]),itemSize:3})}),(0,r.jsx)("lineBasicMaterial",{color:"#5599ff"})]}),J[123]=z):z=J[123],J[124]!==ed?(F=e=>ed(e,"rotate"),J[124]=ed,J[125]=F):F=J[125],J[126]===Symbol.for("react.memo_cache_sentinel")?(O=(0,r.jsx)("sphereGeometry",{args:[.8,16,16]}),L=(0,r.jsx)("meshBasicMaterial",{color:"white"}),J[126]=O,J[127]=L):(O=J[126],L=J[127]),J[128]!==F?(R=(0,r.jsxs)("mesh",{onPointerDown:F,children:[O,L]}),J[128]=F,J[129]=R):R=J[129],J[130]!==M||J[131]!==z||J[132]!==R?(B=(0,r.jsxs)("group",{position:M,children:[z,R]}),J[130]=M,J[131]=z,J[132]=R,J[133]=B):B=J[133],J[134]!==p||J[135]!==y||J[136]!==S||J[137]!==N||J[138]!==D||J[139]!==B?(U=(0,r.jsxs)("group",{children:[p,y,S,N,D,B]}),J[134]=p,J[135]=y,J[136]=S,J[137]=N,J[138]=D,J[139]=B,J[140]=U):U=J[140],J[141]===Symbol.for("react.memo_cache_sentinel")?(Z=[0,0,0],G=[-Math.PI/2,0,0],J[141]=Z,J[142]=G):(Z=J[141],G=J[142]),J[143]!==ed?(W=e=>ed(e,"move"),J[143]=ed,J[144]=W):W=J[144];let e$=2*ey,eI=2*ev;return J[145]!==e$||J[146]!==eI?(H=(0,r.jsx)("planeGeometry",{args:[e$,eI]}),J[145]=e$,J[146]=eI,J[147]=H):H=J[147],J[148]===Symbol.for("react.memo_cache_sentinel")?(V=(0,r.jsx)("meshBasicMaterial",{transparent:!0,opacity:0,color:"red",depthWrite:!1}),J[148]=V):V=J[148],J[149]!==eh||J[150]!==W||J[151]!==H?(q=(0,r.jsxs)("mesh",{position:Z,rotation:G,onPointerDown:W,onContextMenu:eh,children:[H,V]}),J[149]=eh,J[150]=W,J[151]=H,J[152]=q):q=J[152],J[153]!==X.position||J[154]!==X.rotation||J[155]!==U||J[156]!==q?(K=(0,r.jsxs)("group",{position:X.position,rotation:X.rotation,children:[U,q]}),J[153]=X.position,J[154]=X.rotation,J[155]=U,J[156]=q,J[157]=K):K=J[157],K}function iw(e){return Array.isArray(e)?new f.Vector3(Number.isFinite(e[0])?e[0]:0,Number.isFinite(e[1])?e[1]:0,Number.isFinite(e[2])?e[2]:0):e&&"object"==typeof e?new f.Vector3(Number.isFinite(e.x)?e.x:0,Number.isFinite(e.y)?e.y:0,Number.isFinite(e.z)?e.z:0):null}var i_=e.i(439718),ik=e.i(591229),iS=e.i(31014),ij=e.i(703764),i$=e.i(876150),iI=e.i(469192),iC=e.i(213035),iN=e.i(720637),iT=e.i(206884),iA=e.i(383714),iP=e.i(939735),iE=e.i(186768),iD=e.i(638332),iM=e.i(443870);let iz=()=>{let e,t,n,o,l,c,u,d,m,p,h,g,x,b,y,v,w,_,k=(0,i.c)(60),[S,j]=(0,a.useState)(null),[$,I]=(0,a.useState)(!1),[C,N]=(0,a.useState)(null),T=(0,s.usePlayerStore)(iF),A=(0,s.usePlayerStore)(iO),P=(0,s.usePlayerStore)(iL),E=(0,s.usePlayerStore)(iR),D=(0,s.usePlayerStore)(iB),M=(0,s.usePlayerStore)(iU),z=(0,s.usePlayerStore)(iZ),F=(0,s.usePlayerStore)(iG),O=(0,s.usePlayerStore)(iW),L=(0,s.usePlayerStore)(iH),R=(0,s.usePlayerStore)(iV),B=(0,iN.useAIOppositionStore)(iq),U="draw_pass"===T&&A,Z=C||A?.passType||"ground";if(z?.currentTime,k[0]!==A||k[1]!==F||k[2]!==L||k[3]!==O||k[4]!==R||k[5]!==z?.currentTime){e:{if(!A){e=null;break e}let{passerTeam:t,passerId:n}=A,r=("A"===t?[...F,...L]:[...O,...R]).find(e=>e.id===n);if(!r){e=null;break e}let{position:i,rotation:a}=(0,iT.calculateAnimatedPosition)(r,z?.currentTime||0);e=(0,iA.getBallCarryPosition)(i,a)}
4k[0]=A,k[1]=F,k[2]=L,k[3]=O,k[4]=R,k[5]=z?.currentTime,k[6]=e}else e=k[6];let G=e;k[7]!==U?(t=e=>{0===e.button&&U&&(e.stopPropagation(),j(e.point.clone()),I(!0))},k[7]=U,k[8]=t):t=k[8];let W=t;k[9]!==U||k[10]!==$?(n=e=>{$&&U&&(e.stopPropagation(),j(e.point.clone()))},k[9]=U,k[10]=$,k[11]=n):n=k[11];let H=n;k[12]!==B||k[13]!==M||k[14]!==Z||k[15]!==A||k[16]!==G||k[17]!==D||k[18]!==E||k[19]!==P||k[20]!==S||k[21]!==F||k[22]!==L||k[23]!==O||k[24]!==R||k[25]!==z?.currentTime?(o=()=>{if(!S||!G||!A){I(!1),j(null);return}let e=new f.Vector3(...G),t=new f.Vector3(S.x,.2,S.z),n=e.distanceTo(t);if(n<1){I(!1),j(null);return}let r={ground:15,air:18,chip:12,shot:25}[Z]||15,i=Math.max(.3,n/r),a=z?.currentTime||0,o=a+i,l=[...F.map(iK),...O.map(iJ),...L.map(iX),...R.map(iY)],c=(0,iE.buildSpatialFrame)({currentTime:o,players:l,positionSource:"deterministic",includeOffPitch:!0,includeInvisible:!0}),u=null,d=null,m=1/0;"shot"!==Z&&c.players.forEach(e=>{let t=e.player;if(!t||t.id===A.passerId&&t.team===A.passerTeam)return;let n=new f.Vector3(S.x,0,S.z).distanceTo(new f.Vector3(e.position.x,0,e.position.z));n<m&&n<2&&(m=n,u=t,d=e.position)});let p=[S.x,.2,S.z];if(u&&"shot"!==Z){let{rotation:e}=(0,iT.calculateAnimatedPosition)(u,o),t=d||(0,iT.calculateAnimatedPosition)(u,o).position;p=(0,iA.getBallCarryPosition)(t,e)}D({id:(0,iI.makeEntityId)("pass"),type:"shot"===Z?"shot":`${Z}_pass`,startPos:G,endPos:p,startTime:a,endTime:o,physics:{arc:{ground:.3,air:3,chip:6,shot:1.5}[Z]||.3,speed:r,spin:[0,0,0]},metadata:{passer:{team:A.passerTeam,id:A.passerId},receiver:u?{team:u.team,id:u.id}:null}}),B?.enabled&&B?.aiTeam&&(0,iP.invalidateAIFromTime)(a,s.usePlayerStore,B.aiTeam,iD.sharedAIEngineContext),M(),I(!1),j(null),N(null),P(null),E("select")},k[12]=B,k[13]=M,k[14]=Z,k[15]=A,k[16]=G,k[17]=D,k[18]=E,k[19]=P,k[20]=S,k[21]=F,k[22]=L,k[23]=O,k[24]=R,k[25]=z?.currentTime,k[26]=o):o=k[26];let V=o,q=(0,a.useRef)(V);k[27]!==V?(l=()=>{q.current=V},c=[V],k[27]=V,k[28]=l,k[29]=c):(l=k[28],c=k[29]),(0,a.useEffect)(l,c),k[30]!==$?(u=()=>{if(!$)return;let e=()=>q.current();return window.addEventListener("pointerup",e),()=>window.removeEventListener("pointerup",e)},d=[$],k[30]=$,k[31]=u,k[32]=d):(u=k[31],d=k[32]),(0,a.useEffect)(u,d),k[33]!==U||k[34]!==E||k[35]!==P?(m=()=>{if(!U)return;let e=e=>{switch(e.key.toLowerCase()){case"g":N("ground");break;case"a":N("air");break;case"c":N("chip");break;case"s":N("shot");break;case"escape":E("select"),P(null),j(null),I(!1),N(null)}};return window.addEventListener("keydown",e),()=>window.removeEventListener("keydown",e)},p=[U,E,P],k[33]=U,k[34]=E,k[35]=P,k[36]=m,k[37]=p):(m=k[36],p=k[37]),(0,a.useEffect)(m,p),k[38]!==E||k[39]!==P?(h=e=>{e.stopPropagation(),e.nativeEvent&&e.nativeEvent.preventDefault(),I(!1),j(null),N(null),P(null),E("select")},k[38]=E,k[39]=P,k[40]=h):h=k[40];let K=h;if(!U)return null;let J=A?.passerTeam==="A"?"#3b82f6":"#ef4444";return k[41]===Symbol.for("react.memo_cache_sentinel")?(g=[150,100],x=[-Math.PI/2,0,0],b=[0,0,0],k[41]=g,k[42]=x,k[43]=b):(g=k[41],x=k[42],b=k[43]),k[44]!==K||k[45]!==W||k[46]!==H?(y=(0,r.jsx)(iC.Plane,{args:g,rotation:x,position:b,visible:!1,onPointerDown:W,onPointerMove:H,onContextMenu:K}),k[44]=K,k[45]=W,k[46]=H,k[47]=y):y=k[47],k[48]!==Z||k[49]!==$||k[50]!==G||k[51]!==S||k[52]!==J?(v=$&&G&&S&&(0,r.jsx)(iM.default,{startPos:G,endPos:[S.x,.2,S.z],passType:Z,teamColor:J,visible:!0}),k[48]=Z,k[49]=$,k[50]=G,k[51]=S,k[52]=J,k[53]=v):v=k[53],k[54]!==U?(w=U&&(0,r.jsx)("group",{position:[0,.5,-30]}),k[54]=U,k[55]=w):w=k[55],k[56]!==y||k[57]!==v||k[58]!==w?(_=(0,r.jsxs)("group",{children:[y,v,w]}),k[56]=y,k[57]=v,k[58]=w,k[59]=_):_=k[59],_};function iF(e){return e.interactionMode}function iO(e){return e.passDrawingState}function iL(e){return e.setPassDrawingState}function iR(e){return e.setInteractionMode}function iB(e){return e.setBallTrajectory}function iU(e){return e.clearBallPossession}function iZ(e){return e.timeline}function iG(e){return e.teamAPlayers}function iW(e){return e.teamBPlayers}function iH(e){return e.teamASubs}function iV(e){return e.teamBSubs}function iq(e){return e.aiConfig}function iK(e){return{...e,team:"A"}}function iJ(e){return{...e,team:"B"}}function iX(e){return{...e,team:"A"}}function iY(e){return{...e,team:"B"}}var iQ=e.i(277933),i0=e.i(20148),i1=e.i(189509);let i2=()=>null;function i5(e){e.preventDefault?.(),e.stopPropagation?.(),e.stopImmediatePropagation?.()}function i4(e,t){return e&&t?{minX:Math.min(e.x,t.x),maxX:Math.max(e.x,t.x),minZ:Math.min(e.z,t.z),maxZ:Math.max(e.z,t.z)}:null}function i3(e){let t,n,a,o,s,l,c,u,d,m,p,h,g,x,b,y,v=(0,i.c)(31),{rect:w}=e;if(v[0]!==w?.end||v[1]!==w?.start){u=Symbol.for("react.early_return_sentinel");e:{let e=i4(w?.start,w?.end);if(!e||(d=e.maxX-e.minX,a=e.maxZ-e.minZ,d<=.01&&a<=.01)){u=null;break e}t=(e.minX+e.maxX)/2,n=(e.minZ+e.maxZ)/2,o=new f.Vector3(e.minX,.065,e.minZ),s=new f.Vector3(e.maxX,.065,e.minZ),l=new f.Vector3(e.maxX,.065,e.maxZ),c=new f.Vector3(e.minX,.065,e.maxZ)}v[0]=w?.end,v[1]=w?.start,v[2]=t,v[3]=n,v[4]=a,v[5]=o,v[6]=s,v[7]=l,v[8]=c,v[9]=u,v[10]=d}else t=v[2],n=v[3],a=v[4],o=v[5],s=v[6],l=v[7],c=v[8],u=v[9],d=v[10];if(u!==Symbol.for("react.early_return_sentinel"))return u;v[11]!==o||v[12]!==s||v[13]!==l||v[14]!==c?(m=[o,s,l,c],v[11]=o,v[12]=s,v[13]=l,v[14]=c,v[15]=m):m=v[15];let _=m;v[16]!==t||v[17]!==n?(p=[t,.055,n],v[16]=t,v[17]=n,v[18]=p):p=v[18];let k=Math.max(d,.01),S=Math.max(a,.01);return v[19]!==k||v[20]!==S?(h=(0,r.jsx)("planeGeometry",{args:[k,S]}),v[19]=k,v[20]=S,v[21]=h):h=v[21],v[22]===Symbol.for("react.memo_cache_sentinel")?(g=(0,r.jsx)("meshBasicMaterial",{color:"#60a5fa",transparent:!0,opacity:.18,depthTest:!1,depthWrite:!1,side:f.DoubleSide}),v[22]=g):g=v[22],v[23]!==h||v[24]!==p?(x=(0,r.jsxs)("mesh",{position:p,"rotation-x":-Math.PI/2,renderOrder:40,raycast:i2,children:[h,g]}
4),v[23]=h,v[24]=p,v[25]=x):x=v[25],v[26]!==_?(b=(0,r.jsx)(i0.default,{points:_,closed:!0,color:"#bfdbfe",thickness:.35,opacity:.95,depthTest:!1,renderOrder:41,disableRaycast:!0}),v[26]=_,v[27]=b):b=v[27],v[28]!==x||v[29]!==b?(y=(0,r.jsxs)("group",{raycast:i2,children:[x,b]}),v[28]=x,v[29]=b,v[30]=y):y=v[30],y}function i6(){let{camera:e,gl:t,events:n}=(0,ic.useThree)(),i=(0,ia.useCameraStore)(e=>e.selectedCamera),[o,l]=(0,a.useState)(null),c=(0,a.useRef)({pointerId:null,sHeld:!1,additive:!1,startWorld:null,currentWorld:null,startClientX:0,startClientY:0,orbitWasEnabled:null}),u=(0,a.useMemo)(()=>new f.Raycaster,[]),d=(0,a.useMemo)(()=>new f.Plane(new f.Vector3(0,1,0),0),[]);return(0,a.useEffect)(()=>{let r=n?.connected||t?.domElement;if(!r||"Player"===i)return;let a=(t,n=null)=>{let i=r.getBoundingClientRect?.();if(!i||i.width<=0||i.height<=0)return n?n.clone():null;let a={x:(t.clientX-i.left)/i.width*2-1,y:-(2*((t.clientY-i.top)/i.height))+1};u.setFromCamera(a,e);let o=new f.Vector3;return u.ray.intersectPlane(d,o)?o:n?n.clone():null},o=({exitMode:e=!1}={})=>{let t,n=c.current,i=n.pointerId;n.pointerId=null;if(null!=i&&"function"==typeof r.releasePointerCapture)try{(!r.hasPointerCapture||r.hasPointerCapture(i))&&r.releasePointerCapture(i)}catch{}if(null!==(t=c.current).orbitWasEnabled&&(ia.useCameraStore.getState().setOrbitControlsEnabled(t.orbitWasEnabled),t.orbitWasEnabled=null),n.additive=!1,n.startWorld=null,n.currentWorld=null,n.startClientX=0,n.startClientY=0,n.lastClientX=0,n.lastClientY=0,l(null),e){let e=s.usePlayerStore.getState();"box_select"===e.interactionMode&&e.setInteractionMode("select")}},m=({event:e,startWorld:t,additive:n=!1,sHeld:i=!1})=>{let o=s.usePlayerStore.getState();if(!o.terrainInteractionEnabled||"Player"===ia.useCameraStore.getState().selectedCamera||"select"!==o.interactionMode&&"box_select"!==o.interactionMode||null!==c.current.pointerId)return!1;let u=t||a(e);if(!u)return!1;"box_select"!==o.interactionMode&&o.setInteractionMode("box_select"),o.suppressTerrainClicksFor?.(300);let d=c.current;if(d.pointerId=e.pointerId,d.sHeld=i,d.additive=n,d.startWorld=u.clone(),d.currentWorld=u.clone(),d.startClientX=e.clientX??0,d.startClientY=e.clientY??0,d.lastClientX=e.clientX??d.startClientX,d.lastClientY=e.clientY??d.startClientY,d.orbitWasEnabled=ia.useCameraStore.getState().OrbitControlsEnabled,ia.useCameraStore.getState().setOrbitControlsEnabled(!1),"function"==typeof r.setPointerCapture)try{r.setPointerCapture(e.pointerId)}catch{}return l({start:u.clone(),end:u.clone()}),!0},p=()=>{let e=c.current,t=e.startWorld,n=e.currentWorld,r=e.additive,i=e.sHeld,a=Math.hypot(e.startClientX-(e.lastClientX??e.startClientX),e.startClientY-(e.lastClientY??e.startClientY));if(t&&n&&a>=6){let e,i=s.usePlayerStore.getState(),a=(e=i4(t,n))?(0,iE.buildSpatialFrame)({currentTime:i.timeline?.currentTime||0,teamAPlayers:i.teamAPlayers,teamBPlayers:i.teamBPlayers,teamASubs:i.teamASubs,teamBSubs:i.teamBSubs,positionSource:"rendered",actualPositions:i.actualPositions,includeInvisible:!1,includeOffPitch:!1}).players.filter(t=>t.position.x>=e.minX&&t.position.x<=e.maxX&&t.position.z>=e.minZ&&t.position.z<=e.maxZ).map(e=>({team:e.team,id:e.id})):[];i.suppressTerrainClicksFor?.(300),i.setSelectedPlayersFromRefs(a,{additive:r}),i.closeContextMenu?.()}else s.usePlayerStore.getState().suppressTerrainClicksFor?.(300);o({exitMode:!i}),i&&"select"===s.usePlayerStore.getState().interactionMode&&s.usePlayerStore.getState().setInteractionMode("box_select")},h=e=>{if(function(e){if(!e)return!1;if(e.isContentEditable)return!0;let t=e.tagName;return"INPUT"===t||"TEXTAREA"===t||"SELECT"===t}(e.target))return;if("Escape"===e.code){let t=s.usePlayerStore.getState();(null!==c.current.pointerId||"box_select"===t.interactionMode)&&(i5(e),c.current.sHeld=!1,o({exitMode:!0}));return}if("KeyS"!==e.code)return;if(c.current.sHeld=!0,e.repeat)return void e.preventDefault?.();let t=s.usePlayerStore.getState();t.terrainInteractionEnabled&&"Player"!==ia.useCameraStore.getState().selectedCamera&&("select"===t.interactionMode||"box_select"===t.interactionMode)&&(e.preventDefault?.(),"box_select"!==t.interactionMode&&t.setInteractionMode("box_select"))},g=e=>{if("KeyS"!==e.code||(c.current.sHeld=!1,null!==c.current.pointerId))return;let t=s.usePlayerStore.getState();"box_select"===t.interactionMode&&t.setInteractionMode("select")},x=e=>{let t=s.usePlayerStore.getState();if("box_select"!==t.interactionMode||!t.terrainInteractionEnabled||"Player"===ia.useCameraStore.getState().selectedCamera||void 0!==e.button&&0!==e.button||null!==c.current.pointerId)return;let n=a(e);n&&(i5(e),m({event:e,startWorld:n,additive:!0===e.shiftKey,sHeld:c.current.sHeld}))},b=e=>{let t=e.detail||{},n=t.worldPoint,r=n&&Number.isFinite(n.x)&&Number.isFinite(n.z)?new f.Vector3(n.x,Number.isFinite(n.y)?n.y:0,n.z):null;m({event:{pointerId:t.pointerId,clientX:t.clientX,clientY:t.clientY},startWorld:r,additive:!1,sHeld:!1})},y=e=>{let t=c.current;if(null===t.pointerId||e.pointerId!==t.pointerId)return;if("touch"!==e.pointerType&&void 0!==e.buttons&&(1&e.buttons)!=1)return void p();let n=a(e,t.currentWorld);n&&(i5(e),t.currentWorld=n.clone(),t.lastClientX=e.clientX??t.lastClientX,t.lastClientY=e.clientY??t.lastClientY,l({start:t.startWorld.clone(),end:n.clone()}))},v=e=>{let t=c.current;if(null===t.pointerId||e.pointerId!==t.pointerId)return;i5(e);let n=a(e,t.currentWorld);n&&(t.currentWorld=n.clone(),t.lastClientX=e.clientX??t.lastClientX,t.lastClientY=e.clientY??t.lastClientY),p()},w=e=>{let t=c.current;null!==t.pointerId&&e.pointerId===t.pointerId&&(i5(e),o({exitMode:!t.sHeld}))};return window.addEventListener("keydown",h),window.addEventListener("keyup",g),window.addEventListener(i1.TOUCH_BOX_SELECT_START_EVENT,b),r.addEventListener("pointerdown",x,{capture:!0}),window.addEventListener("pointermove",y,{capture:!0}),window.addEventListener("pointerup",v,{capture:!0}),window.addEventListener("pointercancel",w,{capture:!0}),r.addEventListener("lostpointercapture",w),()=>{o({exitMode:!0}),window.removeEventListener("keydown",h),window.removeEventListener("keyup",g),window.removeEventListener(i1.TOUCH_BOX_SELECT_START_EVENT,b),r.removeEventListener("pointerdown",x,{capture:!0}),window.removeEventListener("pointermove",y,{capture:!0}),window.removeEventListener("pointerup",v,{capture:!0}),window.removeEventListener("pointercancel",w,{capture:!0}),r.removeEventListener("lostpointercapture",w)}},[e,n,t,d,u,i]),(0,r.jsx)(i3,{rect:o})}
4let i8={cone:{shape:"cylinder",radius:.55,height:.25},ladder:{shape:"box",args:[1.1,.25,5.2],y:.12},mannequin:{shape:"box",args:[.8,2,.5],y:1},pole:{shape:"cylinder",radius:.45,height:1.8},hurdle:{shape:"box",args:[1.25,.65,.65],y:.32},miniGoal:{shape:"box",args:[1.7,1.1,1],y:.55},gate:{shape:"box",args:[2,1.25,.6],y:.62},rebounder:{shape:"box",args:[2.4,1.35,.8],y:.68},ring:{shape:"cylinder",radius:.7,height:.18}};function i9(e){let t,n,a,o,s,l=(0,i.c)(18),{type:c}=e;l[0]!==c?(t=i8[c]||{shape:"cylinder",radius:.6,height:.8},l[0]=c,l[1]=t):t=l[1];let u=t;l[2]===Symbol.for("react.memo_cache_sentinel")?(n=(0,r.jsx)("meshBasicMaterial",{color:"#ffffff",transparent:!0,opacity:0,depthWrite:!1}),l[2]=n):n=l[2];let d=n;if("box"===u.shape){let e,t,n,i=u.y||.4;return l[3]!==i?(e=[0,i,0],l[3]=i,l[4]=e):e=l[4],l[5]!==u.args?(t=(0,r.jsx)("boxGeometry",{args:u.args}),l[5]=u.args,l[6]=t):t=l[6],l[7]!==e||l[8]!==t?(n=(0,r.jsxs)("mesh",{position:e,"data-training-equipment-hit-proxy":"true",children:[t,d]}),l[7]=e,l[8]=t,l[9]=n):n=l[9],n}let m=u.height/2;return l[10]!==m?(a=[0,m,0],l[10]=m,l[11]=a):a=l[11],l[12]!==u.height||l[13]!==u.radius?(o=(0,r.jsx)("cylinderGeometry",{args:[u.radius,u.radius,u.height,16]}),l[12]=u.height,l[13]=u.radius,l[14]=o):o=l[14],l[15]!==a||l[16]!==o?(s=(0,r.jsxs)("mesh",{position:a,"data-training-equipment-hit-proxy":"true",children:[o,d]}),l[15]=a,l[16]=o,l[17]=s):s=l[17],s}let i7=a.default.memo(function(e){let t,n,o,s,l,c,u,d,m,h,x,b,y=(0,i.c)(45),{item:v}=e,{camera:w,raycaster:_}=(0,ic.useThree)(),k=(0,a.useRef)(),[S,j]=(0,a.useState)(!1),[$,I]=(0,a.useState)(null),[C,N]=(0,a.useState)(null),T=(0,a.useRef)(!1);y[0]===Symbol.for("react.memo_cache_sentinel")?(t=new f.Plane(new f.Vector3(0,1,0),0),y[0]=t):t=y[0];let A=t;y[1]===Symbol.for("react.memo_cache_sentinel")?(n=new f.Vector3,y[1]=n):n=y[1];let P=n,E=(0,p.useTrainingStore)(ao),D=(0,p.useTrainingStore)(as),M=(0,p.useTrainingStore)(al),z=(0,p.useTrainingStore)(ac),F=(0,p.useTrainingStore)(au),O=(0,ia.useCameraStore)(ad),L=z===v.id,R=g[v.type];y[2]!==w||y[3]!==v.position||y[4]!==_||y[5]!==O?(o=e=>{if(2===e.button)return;e.stopPropagation(),e.nativeEvent&&e.nativeEvent.preventDefault(),e.nativeEvent?.pointerType==="touch"&&e.nativeEvent.stopImmediatePropagation(),T.current=!1,_.setFromCamera(e.pointer,w);let t=new f.Vector3;_.ray.intersectPlane(A,t),I(t),N([...v.position]),e.target.setPointerCapture(e.pointerId),j(!0),O(!0)},y[2]=w,y[3]=v.position,y[4]=_,y[5]=O,y[6]=o):o=y[6];let B=o;y[7]!==w||y[8]!==$||y[9]!==C||y[10]!==S||y[11]!==v.id||y[12]!==_||y[13]!==F||y[14]!==E?(s=e=>{if(!S||!$||!C)return;e.stopPropagation(),_.setFromCamera(e.pointer,w),_.ray.intersectPlane(A,P);let t=P.x-$.x,n=P.z-$.z;Math.sqrt(t*t+n*n)>.2&&(T.current=!0);let r=C[0]+t,i=C[2]+n,a=F([r=Math.max(-56,Math.min(56,r)),0,i=Math.max(-45,Math.min(45,i))]);E(v.id,{position:a})},y[7]=w,y[8]=$,y[9]=C,y[10]=S,y[11]=v.id,y[12]=_,y[13]=F,y[14]=E,y[15]=s):s=y[15];let U=s;y[16]!==L||y[17]!==v.id||y[18]!==O||y[19]!==D?(l=e=>{e.stopPropagation(),e.target.releasePointerCapture(e.pointerId),T.current||D(L?null:v.id),j(!1),O(!1),I(null),N(null)},y[16]=L,y[17]=v.id,y[18]=O,y[19]=D,y[20]=l):l=y[20];let Z=l;if(y[21]!==L||y[22]!==v.id||y[23]!==M?(c=()=>{if(!L)return;let e=e=>{("Delete"===e.key||"Backspace"===e.key)&&M(v.id)};return window.addEventListener("keydown",e),()=>window.removeEventListener("keydown",e)},u=[L,v.id,M],y[21]=L,y[22]=v.id,y[23]=M,y[24]=c,y[25]=u):(c=y[24],u=y[25]),(0,a.useEffect)(c,u),!R)return null;y[26]!==v.rotation?(d=v.rotation||[0,0,0],y[26]=v.rotation,y[27]=d):d=y[27];let G=v.scale||1;return y[28]!==v.type?(m=(0,r.jsx)(i9,{type:v.type}),y[28]=v.type,y[29]=m):m=y[29],y[30]!==R||y[31]!==v.color?(h=(0,r.jsx)(R,{color:v.color}),y[30]=R,y[31]=v.color,y[32]=h):h=y[32],y[33]!==L?(x=L&&(0,r.jsxs)("mesh",{position:[0,.02,0],rotation:[-Math.PI/2,0,0],children:[(0,r.jsx)("ringGeometry",{args:[.6,.7,24]}),(0,r.jsx)("meshBasicMaterial",{color:"#22d3ee",transparent:!0,opacity:.6,side:f.DoubleSide})]}),y[33]=L,y[34]=x):x=y[34],y[35]!==B||y[36]!==U||y[37]!==Z||y[38]!==v.position||y[39]!==m||y[40]!==h||y[41]!==x||y[42]!==d||y[43]!==G?(b=(0,r.jsxs)("group",{ref:k,position:v.position,rotation:d,scale:G,onPointerDown:B,onPointerMove:U,onPointerUp:Z,children:[m,h,x]}),y[35]=B,y[36]=U,y[37]=Z,y[38]=v.position,y[39]=m,y[40]=h,y[41]=x,y[42]=d,y[43]=G,y[44]=b):b=y[44],b}),ae=a.default.memo(function(e){let t,n,a,o,s,l=(0,i.c)(25),{marker:c}=e;if("circle"===c.shape){let e,t,n,i;l[0]===Symbol.for("react.memo_cache_sentinel")?(e=[-Math.PI/2,0,0],l[0]=e):e=l[0];let a=c.width-.1;l[1]!==c.width||l[2]!==a?(t=(0,r.jsx)("ringGeometry",{args:[a,c.width,32]}),l[1]=c.width,l[2]=a,l[3]=t):t=l[3];let o=c.color||"#22c55e",s=c.opacity||.4;return l[4]!==o||l[5]!==s?(n=(0,r.jsx)("meshBasicMaterial",{color:o,transparent:!0,opacity:s,side:f.DoubleSide}),l[4]=o,l[5]=s,l[6]=n):n=l[6],l[7]!==c.position||l[8]!==t||l[9]!==n?(i=(0,r.jsxs)("mesh",{position:c.position,rotation:e,children:[t,n]}),l[7]=c.position,l[8]=t,l[9]=n,l[10]=i):i=l[10],i}l[11]!==c.position[0]||l[12]!==c.position[2]?(t=[c.position[0],.02,c.position[2]],l[11]=c.position[0],l[12]=c.position[2],l[13]=t):t=l[13],l[14]===Symbol.for("react.memo_cache_sentinel")?(n=[-Math.PI/2,0,0],l[14]=n):n=l[14];let u=c.width||10,d=c.height||10;l[15]!==u||l[16]!==d?(a=(0,r.jsx)("planeGeometry",{args:[u,d]}),l[15]=u,l[16]=d,l[17]=a):a=l[17];let m=c.color||"#22c55e",p=c.opacity||.15;return l[18]!==m||l[19]!==p?(o=(0,r.jsx)("meshBasicMaterial",{color:m,transparent:!0,opacity:p,side:f.DoubleSide}),l[18]=m,l[19]=p,l[20]=o):o=l[20],l[21]!==t||l[22]!==a||l[23]!==o?(s=(0,r.jsxs)("mesh",{position:t,rotation:n,children:[a,o]}),l[21]=t,l[22]=a,l[23]=o,l[24]=s):s=l[24],s});
4function at(){let e,t,n,a=(0,i.c)(7),o=(0,p.useTrainingStore)(aa),s=(0,p.useTrainingStore)(ai);return a[0]!==s?(e=s.map(ar),a[0]=s,a[1]=e):e=a[1],a[2]!==o?(t=o.map(an),a[2]=o,a[3]=t):t=a[3],a[4]!==e||a[5]!==t?(n=(0,r.jsxs)(r.Fragment,{children:[e,t]}),a[4]=e,a[5]=t,a[6]=n):n=a[6],n}function an(e){return(0,r.jsx)(i7,{item:e},e.id)}function ar(e){return(0,r.jsx)(ae,{marker:e},e.id)}function ai(e){return e.areaMarkers}function aa(e){return e.equipment}function ao(e){return e.updateEquipment}function as(e){return e.setSelectedEquipmentId}function al(e){return e.removeEquipment}function ac(e){return e.selectedEquipmentId}function au(e){return e.snapPosition}function ad(e){return e.setEquipmentDragging}let am={cone:2,ladder:5,mannequin:1.5,pole:2,hurdle:2,miniGoal:3,gate:3,rebounder:3,ring:1.2};function ap(e){let t=(0,i.c)(29),{shape:n,anchor:a,preview:o}=e,s=(0,p.useTrainingStore)(ah);if("line"===n){let e,n,i,s,l=o[o.length-1];return t[0]!==a[0]||t[1]!==a[2]||t[2]!==l[0]||t[3]!==l[2]?(e=new Float32Array([a[0],.05,a[2],l[0],.05,l[2]]),t[0]=a[0],t[1]=a[2],t[2]=l[0],t[3]=l[2],t[4]=e):e=t[4],t[5]!==e?(n=(0,r.jsx)("bufferGeometry",{children:(0,r.jsx)("bufferAttribute",{attach:"attributes-position",array:e,count:2,itemSize:3})}),t[5]=e,t[6]=n):n=t[6],t[7]===Symbol.for("react.memo_cache_sentinel")?(i=(0,r.jsx)("lineBasicMaterial",{color:"white",transparent:!0,opacity:.3}),t[7]=i):i=t[7],t[8]!==n?(s=(0,r.jsxs)("line",{children:[n,i]}),t[8]=n,t[9]=s):s=t[9],s}if("circle"===n&&s){let e,n,i,o,l=(a[0]+s[0])/2,c=(a[2]+s[2])/2,u=s[0]-a[0],d=s[2]-a[2],m=Math.sqrt(u*u+d*d)/2;if(t[10]!==l||t[11]!==c||t[12]!==m){e=new Float32Array(195);for(let t=0;t<=64;t++){let n=2*Math.PI*t/64;e[3*t]=l+m*Math.cos(n),e[3*t+1]=.05,e[3*t+2]=c+m*Math.sin(n)}t[10]=l,t[11]=c,t[12]=m,t[13]=e}else e=t[13];return t[14]!==e?(n=(0,r.jsx)("bufferGeometry",{children:(0,r.jsx)("bufferAttribute",{attach:"attributes-position",array:e,count:65,itemSize:3})}),t[14]=e,t[15]=n):n=t[15],t[16]===Symbol.for("react.memo_cache_sentinel")?(i=(0,r.jsx)("lineBasicMaterial",{color:"white",transparent:!0,opacity:.3}),t[16]=i):i=t[16],t[17]!==n?(o=(0,r.jsxs)("line",{children:[n,i]}),t[17]=n,t[18]=o):o=t[18],o}if("rectangle"===n&&s){let e,n,i,o,l=a[0],c=a[2],u=s[0],d=s[2];t[19]!==l||t[20]!==c||t[21]!==u||t[22]!==d?(e=new Float32Array([l,.05,c,u,.05,c,u,.05,d,l,.05,d,l,.05,c]),t[19]=l,t[20]=c,t[21]=u,t[22]=d,t[23]=e):e=t[23];let m=e;return t[24]!==m?(n=(0,r.jsx)("bufferGeometry",{children:(0,r.jsx)("bufferAttribute",{attach:"attributes-position",array:m,count:5,itemSize:3})}),t[24]=m,t[25]=n):n=t[25],t[26]===Symbol.for("react.memo_cache_sentinel")?(i=(0,r.jsx)("lineBasicMaterial",{color:"white",transparent:!0,opacity:.3}),t[26]=i):i=t[26],t[27]!==n?(o=(0,r.jsxs)("line",{children:[n,i]}),t[27]=n,t[28]=o):o=t[28],o}return null}function ah(e){return e.batchEnd}function af(){let e,t,n,a=(0,i.c)(14),o=(0,p.useTrainingStore)(av),s=(0,p.useTrainingStore)(ay),l=(0,p.useTrainingStore)(ab),c=(0,p.useTrainingStore)(ax),u=(0,p.useTrainingStore)(ag);if(!s||!c||0===o.length)return null;let d=g[s];if(!d)return null;if(a[0]!==d||a[1]!==o||a[2]!==l){let t;a[4]!==d||a[5]!==l?(t=(e,t)=>(0,r.jsxs)("group",{position:e,children:[(0,r.jsx)(d,{color:l}),(0,r.jsxs)("mesh",{position:[0,.3,0],children:[(0,r.jsx)("sphereGeometry",{args:[.15,8,8]}),(0,r.jsx)("meshBasicMaterial",{color:"white",transparent:!0,opacity:.25})]})]},t),a[4]=d,a[5]=l,a[6]=t):t=a[6],e=o.map(t),a[0]=d,a[1]=o,a[2]=l,a[3]=e}else e=a[3];return a[7]!==c||a[8]!==o||a[9]!==u?(t=(0,r.jsx)(ap,{shape:u,anchor:c,preview:o}),a[7]=c,a[8]=o,a[9]=u,a[10]=t):t=a[10],a[11]!==e||a[12]!==t?(n=(0,r.jsxs)(r.Fragment,{children:[e,t]}),a[11]=e,a[12]=t,a[13]=n):n=a[13],n}function ag(e){return e.batchShape}function ax(e){return e.batchAnchor}function ab(e){return e.defaultColor}function ay(e){return e.placementType}function av(e){return e.batchPreview}function aw(){let e,t,n,o,s,l,c,u,d,m,h,g,x,b,y=(0,i.c)(32),v=(0,p.useTrainingStore)(aN),w=(0,p.useTrainingStore)(aC),_=(0,p.useTrainingStore)(aI),k=(0,p.useTrainingStore)(a$),S=(0,p.useTrainingStore)(aj),j=(0,p.useTrainingStore)(aS),$=(0,p.useTrainingStore)(ak),I=(0,p.useTrainingStore)(a_),{camera:C,raycaster:N}=(0,ic.useThree)();y[0]===Symbol.for("react.memo_cache_sentinel")?(e=new f.Plane(new f.Vector3(0,1,0),0),y[0]=e):e=y[0];let T=e;y[1]===Symbol.for("react.memo_cache_sentinel")?(t=new f.Vector3,y[1]=t):t=y[1];let A=t,P=(0,a.useRef)(!1);y[2]!==S||y[3]!==k||y[4]!==I||y[5]!==v?(n=()=>
4{if(!v)return;let e=e=>{"Escape"===e.key&&(S?I():k())};return window.addEventListener("keydown",e),()=>window.removeEventListener("keydown",e)},o=[v,S,I,k],y[2]=S,y[3]=k,y[4]=I,y[5]=v,y[6]=n,y[7]=o):(n=y[6],o=y[7]),(0,a.useEffect)(n,o),y[8]!==v||y[9]!==j||y[10]!==_?(s=e=>{v&&(e.stopPropagation(),P.current=!0,ia.useCameraStore.getState().setEquipmentDragging(!0),j(_([e.point.x,0,e.point.z])))},y[8]=v,y[9]=j,y[10]=_,y[11]=s):s=y[11];let E=s;y[12]!==C||y[13]!==v||y[14]!==N||y[15]!==$?(l=e=>{if(!P.current||!v)return;N.setFromCamera(e.pointer,C),N.ray.intersectPlane(T,A);let t=[A.x,0,A.z],n=p.useTrainingStore.getState(),r=n.batchAnchor;r&&(n.setBatchEnd(t),$(function(e,t,n,r){switch(r){case"circle":return function(e,t,n){let r=am[n]||2,i=(e[0]+t[0])/2,a=(e[2]+t[2])/2,o=t[0]-e[0],s=t[2]-e[2],l=Math.sqrt(o*o+s*s)/2;if(l<.5*r)return[];let c=Math.max(3,Math.floor(2*Math.PI*l/r)),u=[];for(let e=0;e<c;e++){let t=2*Math.PI*e/c;u.push([i+l*Math.cos(t),0,a+l*Math.sin(t)])}return u}(e,t,n);case"rectangle":return function(e,t,n){let r=am[n]||2,i=e[0],a=e[2],o=t[0],s=t[2],l=[[i,0,a],[o,0,a],[o,0,s],[i,0,s]],c=[];for(let e=0;e<4;e++){let[t,,n]=l[e],[i,,a]=l[(e+1)%4],o=i-t,s=a-n,u=Math.sqrt(o*o+s*s);if(u<.3*r)continue;let d=o/u,m=s/u,p=Math.floor(u/r);for(let e=0;e<p;e++)c.push([t+d*e*r,0,n+m*e*r])}return c}
4(e,t,n);default:return function(e,t,n){let r=am[n]||2,i=t[0]-e[0],a=t[2]-e[2],o=Math.sqrt(i*i+a*a);if(o<.5*r)return[];let s=i/o,l=a/o,c=Math.floor(o/r),u=[];for(let t=1;t<=c;t++)u.push([e[0]+s*t*r,0,e[2]+l*t*r]);return u}(e,t,n)}}(r,t,v,n.batchShape)))},y[12]=C,y[13]=v,y[14]=N,y[15]=$,y[16]=l):l=y[16];let D=l;y[17]!==k||y[18]!==w||y[19]!==v?(c=e=>{if(!P.current)return;P.current=!1,e.stopPropagation();let t=p.useTrainingStore.getState(),{batchPreview:n,batchShape:r,batchAnchor:i}=t,a=("line"===r&&i?[i,...n]:n).map(e=>({type:v,position:e,rotation:[0,0,0],color:w,scale:1,visible:!0}));a.length>0?t.addEquipmentBatch(a,r):i&&t.addEquipment({type:v,position:i,rotation:[0,0,0],color:w,scale:1,visible:!0}),k(),ia.useCameraStore.getState().setEquipmentDragging(!1)},y[17]=k,y[18]=w,y[19]=v,y[20]=c):c=y[20];let M=c;return v?(y[21]===Symbol.for("react.memo_cache_sentinel")?(u=[-Math.PI/2,0,0],d=[0,.02,0],y[21]=u,y[22]=d):(u=y[21],d=y[22]),y[23]===Symbol.for("react.memo_cache_sentinel")?(h=(0,r.jsx)("planeGeometry",{args:[115,84]}),m=(0,r.jsx)("meshBasicMaterial",{transparent:!0,opacity:0,depthWrite:!1}),y[23]=m,y[24]=h):(m=y[23],h=y[24]),y[25]!==E||y[26]!==D||y[27]!==M?(g=(0,r.jsxs)("mesh",{rotation:u,position:d,onPointerDown:E,onPointerMove:D,onPointerUp:M,children:[h,m]}),y[25]=E,y[26]=D,y[27]=M,y[28]=g):g=y[28],y[29]===Symbol.for("react.memo_cache_sentinel")?(x=(0,r.jsx)(af,{}),y[29]=x):x=y[29],y[30]!==g?(b=(0,r.jsxs)(r.Fragment,{children:[g,x]}),y[30]=g,y[31]=b):b=y[31],b):null}function a_(e){return e.clearBatch}function ak(e){return e.setBatchPreview}function aS(e){return e.setBatchAnchor}function aj(e){return e.batchAnchor}function a$(e){return e.cancelPlacement}function aI(e){return e.snapPosition}function aC(e){return e.defaultColor}function aN(e){return e.placementType}let aT=(0,r8.default)(()=>e.A(551368),{loadableGenerated:{modules:[574957]},ssr:!1});function aA(){let e,t,n,o,l,u,d,m,p,h,f,g,x,b,y,v,w,_,k,S,j,$,I=(0,i.c)(35),{setRotationTarget:C,selectedCamera:N}=(0,ia.useCameraStore)((0,c.useShallow)(aM)),T="Player"===N;return!function(){let[e,t,n]=a.useContext(ir)}(),I[0]===Symbol.for("react.memo_cache_sentinel")?(e=[],I[0]=e):e=I[0],(0,a.useEffect)(aD,e),I[1]===Symbol.for("react.memo_cache_sentinel")?(t=[],I[1]=t):t=I[1],(0,a.useEffect)(aP,t),I[2]!==C?(n=()=>{let e=s.usePlayerStore.getState().selectedPlayers;e.length>=1?C(e[0]):C(null);let t=e,n=s.usePlayerStore.subscribe(e=>{e.selectedPlayers!==t&&((t=e.selectedPlayers).length>=1?C(t[0]):C(null))});return()=>n()},o=[C],I[2]=C,I[3]=n,I[4]=o):(n=I[3],o=I[4]),(0,a.useEffect)(n,o),I[5]===Symbol.for("react.memo_cache_sentinel")?(l=(0,r.jsx)(r9.default,{}),u=(0,r.jsx)(r7.default,{}),I[5]=l,I[6]=u):(l=I[5],u=I[6]),I[7]!==T?(d=!T&&(0,r.jsx)(i6,{}),I[7]=T,I[8]=d):d=I[8],I[9]===Symbol.for("react.memo_cache_sentinel")?(m=(0,r.jsx)(ij.default,{}),I[9]=m):m=I[9],I[10]!==T?(p=!T&&(0,r.jsx)(iz,{}),I[10]=T,I[11]=p):p=I[11],I[12]===Symbol.for("react.memo_cache_sentinel")?(f=(0,r.jsx)(iQ.default,{}),h=(0,r.jsx)(i$.default,{}),I[12]=h,I[13]=f):(h=I[12],f=I[13]),I[14]===Symbol.for("react.memo_cache_sentinel")?(g=(0,r.jsx)(a.Suspense,{fallback:null,children:(0,r.jsx)(io.default,{})}),x=(0,r.jsx)(ik.default,{}),b=(0,r.jsx)(iS.default,{}),y=(0,r.jsx)(i_.default,{}),v=(0,r.jsx)(at,{}),w=(0,r.jsx)(aw,{}),I[14]=g,I[15]=x,I[16]=b,I[17]=y,I[18]=v,I[19]=w):(g=I[14],x=I[15],b=I[16],y=I[17],v=I[18],w=I[19]),I[20]!==T?(_=!T&&(0,r.jsx)(a.Suspense,{fallback:null,children:(0,r.jsx)(is.default,{})}),I[20]=T,I[21]=_):_=I[21],I[22]!==T?(k=!T&&(0,r.jsx)(il,{}),I[22]=T,I[23]=k):k=I[23],I[24]!==T?(S=!T&&(0,r.jsx)(id,{}),I[24]=T,I[25]=S):S=I[25],I[26]!==T?(j=!T&&(0,r.jsx)(a.Suspense,{fallback:null,children:(0,r.jsx)(aT,{})}),I[26]=T,I[27]=j):j=I[27],I[28]!==_||I[29]!==k||I[30]!==S||I[31]!==j||I[32]!==d||I[33]!==p?($=(0,r.jsxs)(r.Fragment,{children:[l,u,d,m,p,f,h,g,x,b,y,v,w,_,k,S,j]}),I[28]=_,I[29]=k,I[30]=S,I[31]=j,I[32]=d,I[33]=p,I[34]=$):$=I[34],$}function aP(){return window.addEventListener("keydown",aE),()=>window.removeEventListener("keydown",aE)}function aE(e){var t,n;let r;if(t=e.target,"INPUT"!==(r=t?.tagName)&&"TEXTAREA"!==r&&"SELECT"!==r&&t?.isContentEditable!==!0&&!(n=e).ctrlKey&&!n.metaKey&&!n.altKey){if("Space"===e.code&&!e.repeat){e.preventDefault();let{timeline:t,setTimelineState:n}=s.usePlayerStore.getState();n({isPlaying:!t.isPlaying});return}if("ArrowLeft"===e.code||"ArrowRight"===e.code){e.preventDefault();let{timeline:t,setTimelineState:n}=s.usePlayerStore.getState(),r="ArrowRight"===e.code?.5:-.5;
4n({currentTime:Math.max(0,Math.min(t.totalDuration,t.currentTime+r)),isPlaying:!1});return}if("ArrowUp"===e.code||"ArrowDown"===e.code){e.preventDefault();let{timeline:t,setTimelineState:n}=s.usePlayerStore.getState(),r="ArrowDown"===e.code?2:-2;n({currentTime:Math.max(0,Math.min(t.totalDuration,t.currentTime+r)),isPlaying:!1});return}}}function aD(){s.usePlayerStore.getState().loadPhotosFromDb()}function aM(e){return{setRotationTarget:e.setRotationTarget,selectedCamera:e.selectedCamera}}var az=e.i(130297),aF=e.i(194862);let aO="/fonts/Jersey_25/Jersey25-Regular.ttf";function aL(){let e,t=(0,i.c)(1);return t[0]===Symbol.for("react.memo_cache_sentinel")?(e=[],t[0]=e):e=t[0],(0,a.useEffect)(aR,e),null}function aR(){let e=[];if(!document.querySelector(`link[rel="preload"][href="${aO}"]`)){let e=document.createElement("link");e.rel="preload",e.as="font",e.type="font/ttf",e.href=aO,e.crossOrigin="anonymous",document.head.appendChild(e)}try{let t=new aF.Text;t.font=aO,t.text="0",t.fontSize=1,t.gpuAccelerateSDF=!1,e.push(t),t.sync(()=>{t.dispose?.()})}catch(e){}return()=>{for(let t of e)t.dispose?.()}}var aB=e.i(721698),aU=e.i(151915),aZ=e.i(185164),aG=e.i(132965),aW=e.i(840004),aH=e.i(280339),aV=e.i(588866);let aq=()=>null,aK={pathType:"linear",curveBend:.35};function aJ(e,t,n={}){let r=(0,eT.toVector3)(e),i=(0,eT.toVector3)(t,r.y);if(i.y=r.y,"bezier"!=("bezier"===n.pathType?"bezier":"linear"))return{type:"linear",points:[r,i],curveBend:0,length:r.distanceTo(i)};let a=(0,eT.clampCurveBend)(n.curveBend,.35),o=(0,eT.buildQuadraticControlPointXZ)(r,i,a);o.y=r.y;let s=[r,o,i],l=(0,eT.getPolylineLength)((0,eT.samplePathPoints3)(s,"bezier",32));return{type:"bezier",points:s,curveBend:a,length:l}}function aX(e,t){return!Array.isArray(e)||e.length<2?0:"bezier"===t&&e.length>=3?(0,eT.getPolylineLength)((0,eT.samplePathPoints3)(e,"bezier",32)):(0,eT.toVector3)(e[0]).distanceTo((0,eT.toVector3)(e[e.length-1]))}function aY(e,t){return!!(e&&t&&e.team===t.team&&e.playerId===t.playerId&&e.segmentId===t.segmentId)}function aQ(e,t){if(!e||!t)return null;let n=("A"===t.team?[...e.teamAPlayers||[],...e.teamASubs||[]]:[...e.teamBPlayers||[],...e.teamBSubs||[]]).find(e=>e.id===t.playerId);return n?.movements?.find(e=>e.id===t.segmentId)||null}function a0(e,t){return e&&t&&("A"===t.team?[...e.teamAPlayers||[],...e.teamASubs||[]]:[...e.teamBPlayers||[],...e.teamBSubs||[]]).find(e=>e.id===t.id||e.id===t.playerId)||null}function a1(e,t,n){if(!e||!Array.isArray(t)||t.length<2)return null;let r="bezier"===n&&t.length>=3?"bezier":"linear",i=aX(t,r);if(i<.5)return null;let a=e.startTime;return{type:r,points:t,curveBend:"bezier"===r?e.curveBend??aK.curveBend:0,startTime:a,endTime:a+Math.max(.5,i/5)}}let a2=a.default.memo(e=>{let t,n,a,o=(0,i.c)(9),{position:s,quaternion:l,color:c,size:u}=e;o[0]!==u?((t=new f.ConeGeometry(.6*u,u,8)).rotateX(Math.PI/2),o[0]=u,o[1]=t):t=o[1];let d=t;return o[2]!==c?(n=(0,r.jsx)("meshBasicMaterial",{color:c,side:f.DoubleSide}),o[2]=c,o[3]=n):n=o[3],o[4]!==d||o[5]!==s||o[6]!==l||o[7]!==n?(a=(0,r.jsx)("mesh",{position:s,quaternion:l,geometry:d,raycast:aq,children:n}),o[4]=d,o[5]=s,o[6]=l,o[7]=n,o[8]=a):a=o[8],a});a2.displayName="ArrowHead";let a5=e=>{let t,n,a,o,s=(0,i.c)(21),{points:l,color:c,type:u}=e,d=void 0===u?"linear":u;e:{let e,n,r,i;if(!l||l.length<2){let e;s[0]===Symbol.for("react.memo_cache_sentinel")?(e={endPoint:null,linePoints:[],quaternion:new f.Quaternion},s[0]=e):e=s[0],t=e;break e}if(s[1]!==l||s[2]!==d){let t=(0,eT.samplePathPoints3)(l,d,32),r=(0,eT.getPathEndTangent3)(l,d);e=new f.Quaternion().setFromUnitVectors(new f.Vector3(0,0,1),r),n=(0,eT.trimPolylineEnd)(t,.75),s[1]=l,s[2]=d,s[3]=e,s[4]=n}else e=s[3],n=s[4];let a=n,o=l[l.length-1];s[5]!==o?(r=(0,eT.toVector3)(o),s[5]=o,s[6]=r):r=s[6],s[7]!==e||s[8]!==r||s[9]!==a?(i={endPoint:r,quaternion:e,linePoints:a},s[7]=e,s[8]=r,s[9]=a,s[10]=i):i=s[10],t=i}let{endPoint:m,quaternion:p,linePoints:h}=t;return h&&!(h.length<2)&&m?(s[11]!==c||s[12]!==h?(n=(0,r.jsx)(i0.default,{points:h,color:c,thickness:.6,dashed:!0,dashScale:1,dashSize:.5,gapSize:.25,disableRaycast:!0}),s[11]=c,s[12]=h,s[13]=n):n=s[13],s[14]!==c||s[15]!==m||s[16]!==p?(a=(0,r.jsx)(a2,{position:m,quaternion:p,color:c,size:.75}),s[14]=c,s[15]=m,s[16]=p,s[17]=a):a=s[17],s[18]!==n||s[19]!==a?(o=(0,r.jsxs)("group",{children:[n,a]}),s[18]=n,s[19]=a,s[20]=o):o=s[20],o):null},a4=()=>{let e,t,n,o,l,u,d,m,p,h,g,x,b,y,v,w,_=(0,i.c)(34),{camera:k,gl:S}=(0,ic.useThree)(),j=(0,s.usePlayerStore)(a3),$=(0,s.usePlayerStore)(a6),I=(0,s.usePlayerStore)(a8),C=(0,s.usePlayerStore)(a9),N=(0,ia.useCameraStore)(a7),[T,A]=(0,a.useState)(null),[P,E]=(0,a.useState)(null),[D,M]=(0,a.useState)(null),[z,F]=(0,a.useState)(!1);_[0]===Symbol.for("react.memo_cache_sentinel")?(e=[],_[0]=e):e=_[0];let[O,L]=(0,a.useState)(e);_[1]===Symbol.for("react.memo_cache_sentinel")?(t=[],_[1]=t):t=_[1];let R=(0,a.useRef)(t),B=(0,a.useRef)(null),U=(0,a.useRef)(null);_[2]===Symbol.for("react.memo_cache_sentinel")?(n=new f.Plane(new f.Vector3(0,1,0),0),_[2]=n):n=_[2];let Z=n;_[3]===Symbol.for("react.memo_cache_sentinel")?(o=new f.Raycaster,_[3]=o):o=_[3];let G=o,W=(0,s.usePlayerStore)((0,c.useShallow)(oe)),H=W.segment?{team:W.team,playerId:W.playerId,segmentId:W.segmentId}:null,V=W.segment,q="draw_movement"===j&&!!I,K=V?.points?.length>=2,J=()=>{null!==U.current&&(N(U.current),U.current=null)};_[4]===Symbol.for("react.memo_cache_sentinel")?(l=e=>{let t=Array.isArray(e)?e:[];R.current=t,L(t)},_[4]=l):l=_[4];let X=l;_[5]!==k||_[6]!==S?.domElement?(u=(e,t,n)=>{let r=void 0===n?null:n,i=S?.domElement?.getBoundingClientRect?.();if(!i||i.width<=0||i.height<=0)return r?r.clone():null;let a={x:(e-i.left)/i.width*2-1,y:-(2*((t-i.top)/i.height))+1};G.setFromCamera(a,k);let o=new f.Vector3;return G.ray.intersectPlane(Z,o)?o:r?r.clone():null},_[5]=k,_[6]=S?.domElement,_[7]=u):u=_[7];let Y=u;_[8]===Symbol.for("react.memo_cache_sentinel")?(d=e=>{if(0!==e.button)return;e.stopPropagation();let t=s.usePlayerStore.getState(),n=t.activePlayerForMenu;if(!n)return;let{team:r,id:i}=n,a=a0(t,{team:r,id:i}
4);if(!a)return;let o=t.timeline.currentTime,l=new f.Vector3(...a.position),{position:c}=(0,iT.calculateAnimatedPosition)(a,o);c&&(l=c.clone());let u=function(e,t){let n=e?.movementDrawGroup?.refs;if(Array.isArray(n)&&n.length>1){let t=n.filter(t=>a0(e,t));if(t.length>1)return t}let r=e?.selectedPlayers||[];if(r.length>1&&t&&r.some(e=>e.team===t.team&&e.id===t.id)){let t=r.filter(t=>a0(e,t));if(t.length>1)return t}return null}(t,n);if(u?.length){let n=[];for(let e of u){let r=a0(t,e);if(!r)continue;let{position:i}=(0,iT.calculateAnimatedPosition)(r,o);n.push(i||new f.Vector3(...r.position))}if(n.length<2){X([]),A(l),E(e.point),M(e.point.clone()),F(!0);return}let r=new f.Vector3;for(let e of n)r.x=r.x+e.x,r.z=r.z+e.z;r.x=r.x/n.length,r.z=r.z/n.length,l=r;let i=[];for(let e of u){let n=a0(t,e);if(!n)continue;let{position:a}=(0,iT.calculateAnimatedPosition)(n,o),s=a||new f.Vector3(...n.position);i.push({id:e.id,team:e.team,offsetX:s.x-r.x,offsetZ:s.z-r.z})}X(i)}else X([]);A(l),E(e.point),M(e.point.clone()),F(!0)},_[8]=d):d=_[8];let Q=d;_[9]!==z?(m=e=>{z&&(e.stopPropagation(),E(e.point))},_[9]=z,_[10]=m):m=_[10];let ee=m;_[11]!==$?(p=(e,t,n,r)=>{let i=a1(t,n,r);e&&i&&$(e.team,e.playerId,t.id,i)},_[11]=$,_[12]=p):p=_[12];let et=p;_[13]!==P||_[14]!==D||_[15]!==C||_[16]!==T?(h=()=>{if(!T||!P){F(!1),A(null),E(null),X([]);return}let e=T.distanceTo(P),t=0;if(D&&(t=D.distanceTo(P)),e<.5||t<.3){F(!1),A(null),E(null),M(null),X([]);return}let n=s.usePlayerStore.getState(),r=aJ(T,P,C),i=Math.max(.5,r.length/5),a=n.timeline.currentTime,o=a+i,l=n.activePlayerForMenu;if(!l){F(!1),A(null),E(null),M(null);return}let c=R.current;if(c.length>1){let e=[];for(let t of c){if(!a0(n,t))continue;let r=aJ(new f.Vector3(T.x+t.offsetX,T.y,T.z+t.offsetZ),new f.Vector3(P.x+t.offsetX,P.y,P.z+t.offsetZ),C),i=(0,iI.makeEntityId)("segment");e.push({team:t.team,playerId:t.id,segment:{id:i,type:r.type,points:r.points,curveBend:r.curveBend,startTime:a,endTime:o}})}n.batchAddMovementSegments(e);let t=e.map(ot),r=t.find(e=>e.team===l.team&&e.playerId===l.id)||t[0];n.setMovementEditGroup({primary:r,refs:t}),r?.segmentId&&n.setEditingMovement(r);let i=iN.useAIOppositionStore.getState().aiConfig;i?.enabled&&i?.aiTeam&&(0,iP.invalidateAIFromTime)(a,s.usePlayerStore,i.aiTeam,iD.sharedAIEngineContext)}else{let e={id:(0,iI.makeEntityId)("segment"),type:r.type,points:r.points,curveBend:r.curveBend,startTime:a,endTime:o};n.addMovementSegment(l.team,l.id,e),n.clearMovementEditGroup?.();let t=iN.useAIOppositionStore.getState().aiConfig;t?.enabled&&t?.aiTeam&&(0,iP.invalidateAIFromTime)(a,s.usePlayerStore,t.aiTeam,iD.sharedAIEngineContext)}n.setInteractionMode("select"),F(!1),A(null),E(null),M(null),X([])},_[13]=P,_[14]=D,_[15]=C,_[16]=T,_[17]=h):h=_[17];let en=h,er=(0,a.useRef)(en);_[18]!==en?(g=()=>{er.current=en},_[18]=en,_[19]=g):g=_[19],(0,a.useEffect)(g),_[20]!==z?(x=()=>{if(!z)return;let e=()=>er.current();return window.addEventListener("pointerup",e),()=>window.removeEventListener("pointerup",e)},b=[z],_[20]=z,_[21]=x,_[22]=b):(x=_[21],b=_[22]),(0,a.useEffect)(x,b),_[23]===Symbol.for("react.memo_cache_sentinel")?(y=[],_[23]=y):y=_[23],(0,a.useEffect)(()=>()=>{null!==U.current&&(ia.useCameraStore.getState().setOrbitControlsEnabled(U.current),U.current=null)},y);let ei=e=>{e.stopPropagation(),e.nativeEvent&&e.nativeEvent.preventDefault(),B.current=null,J(),F(!1),A(null),E(null),M(null),X([]);let t=s.usePlayerStore.getState();t.setEditingMovement(null),t.setInteractionMode("select")};if(!q&&!K)return null;let ea=q&&(0,r.jsx)(iC.Plane,{args:[100,100],rotation:[-Math.PI/2,0,0],position:[0,0,0],visible:!1,onPointerDown:Q,onPointerMove:ee,onContextMenu:ei});if(_[24]!==P||_[25]!==O||_[26]!==z||_[27]!==C||_[28]!==T){let e;v=z&&T&&P&&(0,r.jsx)(r.Fragment,{children:O.length>0?O.map(e=>{let t=aJ(new f.Vector3(T.x+e.offsetX,T.y,T.z+e.offsetZ),new f.Vector3(P.x+e.offsetX,P.y,P.z+e.offsetZ),C);return(0,r.jsx)(a5,{points:t.points,type:t.type,color:"#ffffff"},e.id)}):(e=aJ(T,P,C),(0,r.jsx)(a5,{points:e.points,type:e.type,color:"#ffffff"}))}),_[24]=P,_[25]=O,_[26]=z,_[27]=C,_[28]=T,_[29]=v}else v=_[29];let eo=K&&(0,r.jsx)("group",{children:V.points.map((e,t)=>{let n=(0,eT.toVector3)(e),i="bezier"===V.type&&1===t&&V.points.length>=3;return(0,r.jsxs)("group",{position:[n.x,n.y+.25,n.z],children:[(0,r.jsxs)("mesh",{onPointerDown:e=>((e,t)=>{if(!V||!H||0!==e.button)return;e.stopPropagation(),e.nativeEvent?.preventDefault?.();try{e.target.setPointerCapture(e.pointerId)}catch(e){}null===U.current&&(U.current=ia.useCameraStore.getState().OrbitControlsEnabled),N(!1),B.current={pointerId:e.pointerId,pointIndex:t,segment:V,edit:H};let n=e=>{let t=B.current;if(!t||t.pointerId!==e.pointerId)return;let n=s.usePlayerStore.getState(),r=t.segment,i=Y(e.clientX,e.clientY,(0,eT.toVector3)(r.points?.[t.pointIndex]));if(!i)return;let a=(0,eT.toVector3)(r.points?.[0]);i.y=a.y;let o=function(e,t,n,r,i){let a,o=Array.isArray(a=e?.movementEditGroup?.refs)&&!(a.length<2)&&t&&a.some(e=>aY(e,t))&&function(e=[],t=[]){return!!Array.isArray(t)&&!(t.length<2)&&!!Array.isArray(e)&&e.length===t.length&&t.every(t=>e.some(e=>e.team===t.team&&e.id===t.playerId))}(e.selectedPlayers,a)&&a.every(t=>aQ(e,t))?a:null;if(!o?.length)return!1;let s=(0,eT.toVector3)(n.points?.[r]),l=i.clone().sub(s),c=o.map(i=>{let a=aY(i,t)?n:aQ(e,i);if(!a?.points?.[r])return null;let o=(0,eT.toVector3)(a.points?.[0]),s=(a.points||[]).map((e,t)=>{let n=(0,eT.toVector3)(e,o.y);return t===r?n.clone().add(l):n}),c=a1(a,s,"bezier"===a.type&&s.length>=3?"bezier":"linear");return c?{...i,updates:c}:null}
4).filter(Boolean);return 0!==c.length&&(e.updateMovementSegmentsBatch(c),!0)}(n,t.edit,r,t.pointIndex,i),l=(r.points||[]).map((e,n)=>n===t.pointIndex?i.clone():(0,eT.toVector3)(e,a.y));o||et(t.edit,r,l,"bezier"===r.type&&l.length>=3?"bezier":"linear"),t.segment={...r,points:l,endTime:r.startTime+Math.max(.5,aX(l,r.type)/5)}},r=e=>{B.current?.pointerId===e.pointerId&&(B.current=null,J(),window.removeEventListener("pointermove",n),window.removeEventListener("pointerup",r),window.removeEventListener("pointercancel",r))};window.addEventListener("pointermove",n),window.addEventListener("pointerup",r),window.addEventListener("pointercancel",r)})(e,t),onContextMenu:ei,children:[(0,r.jsx)("sphereGeometry",{args:[.65,16,16]}),(0,r.jsx)("meshBasicMaterial",{transparent:!0,opacity:.001,depthWrite:!1})]}),(0,r.jsxs)("mesh",{raycast:aq,children:[(0,r.jsx)("sphereGeometry",{args:[i?.22:.18,16,16]}),(0,r.jsx)("meshBasicMaterial",{color:i?"#38bdf8":"#ffffff"})]})]},`${V.id}-${t}`)})});return _[30]!==ea||_[31]!==v||_[32]!==eo?(w=(0,r.jsxs)("group",{children:[ea,v,eo]}),_[30]=ea,_[31]=v,_[32]=eo,_[33]=w):w=_[33],w};function a3(e){return e.interactionMode}function a6(e){return e.updateMovementSegment}function a8(e){return e.activePlayerForMenu}function a9(e){return e.movementToolConfig||aK}function a7(e){return e.setOrbitControlsEnabled}function oe(e){let t=(0,aV.resolveMovementEditTarget)(e);return{team:t?.edit?.team??null,playerId:t?.edit?.playerId??null,segmentId:t?.edit?.segmentId??null,segment:t?.segment??null}}function ot(e){return{team:e.team,playerId:e.playerId,segmentId:e.segment.id}}var on=e.i(957397);let or=[{name:"space",keys:["Space"]}],oi={LEFT:f.MOUSE.ROTATE,MIDDLE:f.MOUSE.DOLLY,RIGHT:f.MOUSE.PAN},oa=e=>{if(!e)return 0;let t=e.object,n=e.target;if(!t||!n)return 0;let r=t.position.x-n.x,i=t.position.z-n.z;return Number.isFinite(r)&&Number.isFinite(i)?Math.atan2(r,i):0},oo=(e,t)=>{if(!e||!Number.isFinite(t))return;let n=e.object,r=e.target;if(!n||!r)return;let i=n.position.y-r.y;n.position.set(r.x+1e-4*Math.sin(t),r.y+i,r.z+1e-4*Math.cos(t)),n.lookAt(r)};function os(e){let t,n,a,o,s,l,c,u,d,m=(0,i.c)(19),{background:p,isChecking:h,onRetry:f}=e;m[0]!==p?(t={width:"100vw",height:"100vh",display:"flex",alignItems:"center",justifyContent:"center",padding:24,background:p},m[0]=p,m[1]=t):t=m[1],m[2]===Symbol.for("react.memo_cache_sentinel")?(n={maxWidth:420,border:"1px solid rgba(255,255,255,0.14)",borderRadius:8,padding:20,color:"#f8fafc",background:"rgba(15,23,42,0.82)",boxShadow:"0 18px 50px rgba(0,0,0,0.28)"},a={margin:0,fontSize:18,fontWeight:700},m[2]=n,m[3]=a):(n=m[2],a=m[3]);let g=h?"Starting 3D workspace":"3D workspace unavailable";m[4]!==g?(o=(0,r.jsx)("h1",{style:a,children:g}),m[4]=g,m[5]=o):o=m[5],m[6]===Symbol.for("react.memo_cache_sentinel")?(s={margin:"10px 0 0",fontSize:13,lineHeight:1.5,color:"#cbd5e1"},m[6]=s):s=m[6];let x=h?"Checking whether this browser can start WebGL.":"Your browser or graphics driver cannot start WebGL for the tactical editor.";return m[7]!==x?(l=(0,r.jsx)("p",{style:s,children:x}),m[7]=x,m[8]=l):l=m[8],m[9]!==h||m[10]!==f?(c=!h&&(0,r.jsx)("button",{type:"button",onClick:f,style:{marginTop:16,border:0,borderRadius:999,padding:"8px 14px",fontSize:12,fontWeight:700,color:"#ffffff",background:"#4FBA2E",cursor:"pointer"},children:"Retry"}),m[9]=h,m[10]=f,m[11]=c):c=m[11],m[12]!==o||m[13]!==l||m[14]!==c?(u=(0,r.jsxs)("div",{style:n,children:[o,l,c]}),m[12]=o,m[13]=l,m[14]=c,m[15]=u):u=m[15],m[16]!==t||m[17]!==u?(d=(0,r.jsx)("div",{className:"canvas-container",style:t,children:u}),m[16]=t,m[17]=u,m[18]=d):d=m[18],d}let ol=(0,a.memo)(function(){let e=(0,e1.useLocale)(),t=(0,e1.useMessages)(),{OrbitControlsEnabled:n,selectedCamera:i,zoom:l,isPlayerDragging:u,isEquipmentDragging:d,activePlayer:h,setSaved2DZoom:g,setSaved2DPosition:x,setSaved2DTarget:b,setSaved2DAzimuth:y}=(0,ia.useCameraStore)((0,c.useShallow)(e=>({OrbitControlsEnabled:e.OrbitControlsEnabled,selectedCamera:e.selectedCamera,zoom:e.zoom,isPlayerDragging:e.isPlayerDragging,isEquipmentDragging:e.isEquipmentDragging,activePlayer:e.activePlayer,setS
4aved2DZoom:e.setSaved2DZoom,setSaved2DPosition:e.setSaved2DPosition,setSaved2DTarget:e.setSaved2DTarget,setSaved2DAzimuth:e.setSaved2DAzimuth}))),v=(0,ia.useCameraStore)(e=>"2D"===e.selectedCamera?e.cameraUpdateTrigger:0),{activeTool:w,isHoveringAnnotation:_}=(0,m.useAnnotationStore)((0,c.useShallow)(e=>({activeTool:e.activeTool,isHoveringAnnotation:e.isHoveringAnnotation}))),k=(0,s.usePlayerStore)(e=>e.interactionMode),S=(0,o.useThemeStore)(e=>e.currentTheme.colors.background),j=(0,a.useRef)(),$=(0,a.useRef)(null),I=(0,a.useRef)(null),[C,N]=(0,a.useState)(0),T=(0,a.useRef)(!1),A=(0,a.useRef)(1),[P,E]=(0,a.useState)("checking"),[D,M]=(0,a.useState)(!1),z=(0,a.useMemo)(()=>({fov:55.5,position:[0,30,80],near:.1,far:1e3}),[]),F=(0,a.useCallback)(()=>{M(!1),E("unsupported")},[]),O=(0,a.useCallback)(e=>(0,on.createThreeWebGLRenderer)(e,F),[F]),L=(0,a.useCallback)(()=>{M(!1),E((0,on.canCreateWebGLContext)()?"supported":"unsupported")},[]);(0,a.useEffect)(()=>{let e=!1,t=requestAnimationFrame(()=>{e||L()});return()=>{e=!0,cancelAnimationFrame(t)}},[L]),(0,a.useEffect)(()=>{if("checking"!==P)return;let e=window.setTimeout(()=>{M(!0)},300);return()=>window.clearTimeout(e)},[P]);let R="default";_&&("select"===w||"eraser"===w)?(R="pointer","select"===w&&(R="pointer"),"eraser"===w&&(R="crosshair")):["pencil","arrow","rectangle","circle"].includes(w)?R="crosshair":"text"===w?R="text":"eraser"===w?R="crosshair":h&&(R="grab"),(u||d)&&(R="grabbing"),(0,p.useTrainingStore)(e=>e.placementType)&&(R="crosshair");let B=n&&!u&&!d&&"draw_movement"!==k&&"edit_movement"!==k&&"draw_pass"!==k,U=(0,a.useCallback)(e=>{let t=e||null;I.current!==t&&(I.current=t,N(e=>e+1))},[]);return((0,a.useEffect)(()=>{"2D"===i&&(T.current=!1)},[v,i]),(0,a.useEffect)(()=>{let e=I.current;if("2D"!==i||!e){T.current=!1;return}if(T.current)return;let{saved2DPosition:t,saved2DTarget:n,saved2DZoom:r,saved2DAzimuth:a}=ia.useCameraStore.getState(),o=e.object;if(!o)return;let s=new f.Vector3(n?.x??0,n?.y??0,n?.z??0);e.target.copy(s);let c=new f.Vector3(t?.x??s.x,t?.y??100,t?.z??s.z);o.position.set(s.x,c.y,s.z),o.isOrthographicCamera&&(o.zoom=(Number.isFinite(r)?r:l)*(A.current||1),o.updateProjectionMatrix()),oo(e,Number.isFinite(a)?a:0),e.update(),T.current=!0},[i,C,l,v]),(0,a.useEffect)(()=>{let e=I.current;if("2D"!==i||!e)return;let t=null,n=()=>{let t=e.target,n=e.object;if(!n)return;let r=oa(e);if(x(n.position.clone()),b(t.clone()),n?.isOrthographicCamera){let e=A.current||1,t=e>0?n.zoom/e:n.zoom;g(t),ia.useCameraStore.getState().setZoom(t)}Number.isFinite(r)&&y(r)},r=()=>{null===t&&(t=requestAnimationFrame(()=>{t=null,n()}))};return n(),e.addEventListener("change",r),e.addEventListener("end",n),()=>{e.removeEventListener("change",r),e.removeEventListener("end",n),null!==t&&cancelAnimationFrame(t),n()}},[i,C,x,b,g,y]),(0,a.useEffect)(()=>{let e=I.current;if("2D"!==i||!e?.domElement)return;let t=e.domElement,n=new f.Plane(new f.Vector3(0,1,0),0),r=new f.Raycaster,a=new f.Vector2,o=new f.Vector3,s=null,l=null,c=(i,o)=>{let s=t.getBoundingClientRect();return 0===s.width||0===s.height?null:(a.x=(i.clientX-s.left)/s.width*2-1,a.y=-(2*((i.clientY-s.top)/s.height))+1,r.setFromCamera(a,e.object),r.ray.intersectPlane(n,o))},u=n=>{if(!B||!e.enabled||"touch"!==n.pointerType&&0!==n.button&&(1&n.buttons)!=1)return;if(null!==s&&n.pointerId!==s)return void m({pointerId:s});let r=c(n,o);if(r&&(s=n.pointerId,l=r.clone(),"function"==typeof t.setPointerCapture))try{t.setPointerCapture(n.pointerId)}catch{}},d=n=>{if(null===s||n.pointerId!==s||!B||!e.enabled)return;if("touch"!==n.pointerType&&(1&n.buttons)!=1)return void m(n);if(!l)return;let r=c(n,o);if(!r)return;let i=e.target,a=r.x-i.x,u=r.z-i.z,d=l.x-i.x,p=l.z-i.z,h=e.object,f=0;h?.isOrthographicCamera&&(f=8*Math.max((h.right-h.left)/h.zoom/t.clientWidth,(h.top-h.bottom)/h.zoom/t.clientHeight));let g=Math.max(1e-6,f*f);a*a+u*u<g||d*d+p*p<g?l.copy(r):(t=>{if(0===t)return;let n=oa(e);oo(e,n+t),e.update();let r=oa(e);Number.isFinite(r)&&y(r)})(Math.atan2(u*d-a*p,a*d+u*p))},m=e=>{if(null!==s&&(!e||e.pointerId===s)){let e=s;if(s=null,l=null,"function"==typeof t.releasePointerCapture)try{(!t.hasPointerCapture||t.hasPointerCapture(e))&&t.releasePointerCapture(e)}catch{}}};return t.addEventListener("pointerdown",u),t.addEventListener("pointermove",d),t.addEventListener("pointerup",m),t.addEventListener("pointercancel",m),t.addEventListener("lostpointercapture",m),()=>{t.removeEventListener("pointerdown",u),t.removeEventListener("pointermove",d),t.removeEventListener("pointerup",m),t.removeEventListener("pointercancel",m),t.removeEventListener("lostpointercapture",m)}},[i,B,C,y]),"checking"!==P||D)?"supported"!==P?(0,r.jsx)(os,{background:S,isChecking:"checking"===P,onRetry:L}):(0,r.jsx)("div",{ref:$,className:"canvas-container",style:{width:"100vw",height:"100vh",touchAction:"none",cursor:R},onContextMenu:e=>e.preventDefault(),children:(0,r.jsxs)(ii,{map:or,children:[(0,r.jsx)(aL,{}
4),(0,r.jsx)(r3.Canvas,{flat:!0,camera:z,dpr:[1,1.5],gl:O,eventSource:$,eventPrefix:"client",children:(0,r.jsxs)(aG.ViewportScaleProvider,{scaleFactorRef:A,children:[(0,r.jsx)("color",{attach:"background",args:[S]},S),"2D"===i&&(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(aU.default,{position:[0,100,0],zoom:l}),(0,r.jsx)(az.OrbitControls,{ref:U,enabled:B,enableDamping:!1,enableRotate:!1,enableZoom:!0,enablePan:!0,minPolarAngle:0,maxPolarAngle:0,screenSpacePanning:!0,mouseButtons:oi})]}),(0,r.jsx)(a.Suspense,{fallback:null,children:(0,r.jsx)(r6.default,{locale:e,messages:t,children:(0,r.jsx)(aA,{})})}),"3D"===i&&(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(aW.ViewportScaledFov,{}),(0,r.jsx)(az.OrbitControls,{ref:j,enableDamping:!0,dampingFactor:.08,minPolarAngle:-Math.PI/2,maxPolarAngle:Math.PI/2*.99,enabled:B}),(0,r.jsx)(aZ.default,{controlsRef:j,defaultPosition:[0,30,80]})]}),"Player"===i&&(0,r.jsx)(r.Fragment,{children:(0,r.jsx)(aB.default,{team:h.team,id:h.id})}),(0,r.jsx)(aH.default,{}),"Player"!==i&&(0,r.jsx)(a4,{})]})})]})}):(0,r.jsx)("div",{className:"canvas-container",style:{width:"100vw",height:"100vh",background:S}})});var oc=e.i(385164),ou=e.i(824e3),od=e.i(899669);let om={position:[0,.2,0],possession:null,trajectories:[],velocity:[0,0,0],isMoving:!1,lastTouch:null,possessionSegments:[]},op={isPlaying:!1,currentTime:0,totalDuration:10,speed:1},oh={movements:!0,passes:!0};function of(){return{...om,position:[...om.position],velocity:[...om.velocity],trajectories:[...om.trajectories],possessionSegments:[...om.possessionSegments]}}function og(){return ia.useCameraStore.getState().getDefaultCameraSnapshot()}function ox(){return{playerStore:{teamAPlayers:ou.teamAPlayers,teamASubs:ou.teamASubs,teamBPlayers:od.teamBPlayers,teamBSubs:od.teamBSubs,teamAInfo:ou.teamAInfo,teamBInfo:od.teamBInfo,links:[],zones:[],voronoiDiagram:{enabled:!1},passNetwork:(0,tV.normalizePassNetwork)(),ballPossession:null,ballState:of(),timeline:{...op},pathDisplay:{...oh}},annotationStore:{groups:[],annotations:[]},agentStore:{artifacts:[],messages:[]},cameraStore:og(),trainingStore:{},fieldAppearance:(0,h.normalizeFieldAppearance)()}}function ob(e,t){var n;let r=e||t||{};return{...r,voronoiDiagram:(n=r.voronoiDiagram,{enabled:n?.enabled===!0}),passNetwork:(0,tV.normalizePassNetwork)(r.passNetwork)}}function oy(){let e,t,n;return{playerStore:{teamAPlayers:(e=s.usePlayerStore.getState()).teamAPlayers,teamASubs:e.teamASubs,teamBPlayers:e.teamBPlayers,teamBSubs:e.teamBSubs,teamAInfo:e.teamAInfo,teamBInfo:e.teamBInfo,links:e.links,zones:e.zones,voronoiDiagram:e.voronoiDiagram,passNetwork:(0,tV.normalizePassNetwork)(e.passNetwork),ballPossession:e.ballPossession,ballState:e.ballState,timeline:e.timeline,pathDisplay:e.pathDisplay},annotationStore:{groups:(t=m.useAnnotationStore.getState()).groups,annotations:t.annotations},agentStore:{artifacts:(n=oc.useAgentStore.getState()).artifacts,messages:n.messages},cameraStore:ia.useCameraStore.getState().getCameraSnapshot(),trainingStore:p.useTrainingStore.getState().getSerializableData(),fieldAppearance:h.useFieldAppearanceStore.getState().getSerializableData()}}function ov(e){if(!e||"object"!=typeof e)return ox();if(e.playerStore||e.annotationStore||e.agentStore){let t;return t=ox(),{...e,playerStore:ob(e.playerStore,t.playerStore),annotationStore:e.annotationStore||t.annotationStore,agentStore:e.agentStore||t.agentStore,cameraStore:e.cameraStore||og(),trainingStore:e.trainingStore||{},fieldAppearance:(0,h.normalizeFieldAppearance)(e.fieldAppearance||t.fieldAppearance)}}return{playerStore:ob(e,null),annotationStore:{groups:e.groups||[],annotations:e.annotations||[]},agentStore:{artifacts:[],messages:[]},cameraStore:og(),trainingStore:{},fieldAppearance:(0,h.normalizeFieldAppearance)()}}function ow(e){if(!e)return;let t=ov(e);s.usePlayerStore.getState().loadSceneData(t.playerStore||{}),m.useAnnotationStore.getState().loadSceneData(t.annotationStore||{}),oc.useAgentStore.setState({artifacts:t.agentStore?.artifacts||[],messages:t.agentStore?.messages||[],activeArtifact:null});let n=ia.useCameraStore.getState();t.cameraStore?n.loadCameraSnapshot(t.cameraStore):n.resetCameraState(),p.useTrainingStore.getState().loadTrainingData(t.trainingStore||{}),h.useFieldAppearanceStore.getState().loadSceneData(t.fieldAppearance||{})}async function o_(e){try{return await e.json()}catch{return null}}let ok=(0,ie.create)((e,t)=>({tabs:[{id:"scene-1",name:"Scene 1",lastModified:Date.now()}],activeTabId:"scene-1",savedScenes:{},...{addTab:(n=null,r="duplicate")=>{let i,{tabs:a,savedScenes:o,activeTabId:s}=t(),l=oy(),c=n?.updatedAt?new Date(n.updatedAt).getTime():Date.now(),u={...o,[s]:l},d=`scene-${Date.now()}`;i=n?.data?ov(n.data):"duplicate"===r?{playerStore:l.playerStore,annotationStore:l.annotationStore,agentStore:l.agentStore,cameraStore:l.cameraStore,trainingStore:l.trainingStore,fieldAppearance:l.fieldAppearance}:"empty"===r?{playerStore:{teamAPlayers:[],teamASubs:[],teamBPlayers:[],teamBSubs:[],teamAInfo:ou.teamAInfo,teamBInfo:od.teamBInfo,links:[],zones:[],voronoiDiagram:{enabled:!1},passNetwork:(0,tV.normalizePassNetwork)(),ballPossession:null,ballState:of(),timeline:{...op},pathDisplay:{...oh}},annotationStore:{groups:[],annotations:[]},agentStore:{artifacts:[],messages:[]},cameraStore:og(),trainingStore:{},fieldAppearance:(0,h.normalizeFieldAppearance)()}:ox(),u[d]=i;let m={id:d,name:n?n.name:`Scene ${a.length+1}`,tacticId:n?n.id:null,lastModified:Number.isFinite(c)?c:Date.now()};e({tabs:[...a,m],activeTabId:d,savedScenes:u}),ow(i)},saveScene:async n=>{let r,{tabs:i,savedScenes:a,activeTabId:o}=t(),s=i.find(e=>e.id===n);if(s){if(n===o)r={...oy(),cameraStore:ia.useCameraStore.getState().getCameraPersistenceSnapshot()};else{let e,t,i=a[n];r=i?(e=ov(i),t=ia.useCameraStore.getState(),{...e,cameraStore:t.toCameraPersistenceSnapshot(e.cameraStore,{totalDuration:e.playerStore?.timeline?.totalDuration})}):null}if(r)try{let t=await fetch("/api/tactics/save",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({id:s.tacticId,name:s.name,data:r})}),i=await o_(t);if(!t.ok){let e=i?.error||`HTTP ${t.status}`;console.error("[SceneStore] saveScene failed:",t.status,i),alert(`Failed to save scene: ${e}`);return}if(i?.success){let t=i.updatedAt?new Date(i.updatedAt).getTime():Date.now();e(e=>({tabs:e.tabs.map(e=>e.id===n?{...e,tacticId:i.tacticId,lastModified:Number.isFinite(t)?t:Date.now()}:e)}))}else console.error("[SceneStore] saveScene unexpected response:",i),alert("Failed to save scene")}catch(e){console.error(e),alert("Failed to save scene")}}},loadSceneAsNewTab:async e=>{try{let n=await fetch(`/api/tactics/get?id=${e}`),r=await o_(n);if(!n.ok){console.error("[SceneStore] loadSceneAsNewTab failed:",n.status,r),alert(`Failed to load scene: ${r?.error||`HTTP ${n.status}`}`);return}r?.tactic?t().addTab({id:r.tactic.id,name:r.tactic.name,data:r.tactic.canvasData,updatedAt:r.tactic.updatedAt}):alert("Failed to load scene")}catch(e){console.error(e),alert("Failed to load scene")}},switchTab:n=>{let{activeTabId:r,savedScenes:i}=t();if(n===r)return;let a=oy(),o=i[n],s={...i,[r]:a};if(o){let e=ov(o);s[n]=e,ow(e)}else console.warn(`Scene ${n} not found in savedScenes.`),ia.useCameraStore.getState().resetCameraState();e({activeTabId:n,savedScenes:s})},updateTabName:(t,n)=>{e(e=>({tabs:e.tabs.map(e=>e.id===t?{...e,name:n}:e)}))},deleteTab:n=>{let{tabs:r,activeTabId:i,savedScenes:a}=t();if(1===r.length)return;let o=r.filter(e=>e.id!==n),s={...a};delete s[n];let l=i;if(i===n){let e=s[l=o[o.length-1].id];if(e){let t=ov(e);s[l]=t,ow(t)}else ia.useCameraStore.getState().resetCameraState()}e({tabs:o,activeTabId:l,savedScenes:s})}}}));var oS=e.i(940141);function oj(e){return(0,oS.GenIcon)({tag:"svg",attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M290.2 49.04c-15.7.1-32.3 13.83-38 35.81-6.5 25.15 4.7 47.85 22.1 52.35 17.4 4.5 38.2-9.9 44.7-35 6.5-25.16-4.6-47.82-22.1-52.33-2.2-.56-4.4-.84-6.7-.83zM89.04 68.3L77.5 87.31c32.4 15.99 63.1 33.49 96.4 46.49 9.5-3.8 18.8-7.8 28-12-40.2-15.4-76.7-33.69-112.86-53.5zm148.06 56.1c-47.8 25.4-97.9 41.6-153.64 61.1l8.08 16.4c51.96-16.1 111.26-32.9 161.16-56-6.9-5.5-12.1-12.9-15.6-21.5zm30.3 34.8c-22.5 10.8-46.8 20.2-71.4 28.7-20.3 45.6-27.7 94.9-36.8 140.1l-2.1 10.5-101.02-39.4-16.03 25.4 130.25 60.7c1-1.4 1.7-2.5 2.9-4.5 3.9-6.7 9.2-16.6 15.2-28.6 11.9-23.8 26.7-55.9 40.4-88.1 13.8-32.1 26.4-64.4 33.9-88.4 1.9-6.1 3.5-11.6 4.7-16.4zm-31.9 134.6c-5.5 12.5-11.1 24.8-16.5 36.3 25 37.4 57 79 94.9 109.2l23.3-17.6c-35.8-39.7-72.9-84.3-101.7-127.9zM423.9 367a48 48 0 0 0-48 48 48 48 0 0 0 48 48 48 48 0 0 0 48-48 48 48 0 0 0-48-48z"},child:[]}]})(e)}function o$(e){return(0,oS.GenIcon)({tag:"svg",attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M256 16.457c-3.944 0-7.948.71-9.984 1.512-.5.195-.405.172-.62.303l-.005.018s-9.845 37.48-22.8 87.296c18.278 13.215 47.39 13.42 65.992.6l-21.978-87.913c-.218-.13-.123-.11-.62-.304-2.036-.802-6.04-1.513-9.984-1.513zm-52.875 164.38c-2.03 7.883-3.96 15.317-6.004 23.288-4.585 17.886-9.118 35.69-13.538 53.133 53.046 16.998 90.254 17.196 142.92.605l-19.092-76.36c-34.76 15.42-69.524 15.196-104.285-.665zm-39.16 155.007l-.012.05c-4.518 18.527-8.28 34.408-10.896 46.18-1.308 5.886-2.33 10.752-3.008 14.338-.678 3.586-.93 6.52-.93 5.852 0 7.406 2.56 13.51 7.732 19.422 5.17 5.91 13.12 11.357 23.136 15.808 20.032 8.903 48.042 13.71 76.012 13.71s55.98-4.807 76.012-13.71c10.016-4.45 17.965-9.898 23.136-15.808 4.975-5.686 7.47-11.58 7.657-18.61l-16.537-66.148c-55.62 33.65-127.023 33.288-182.303-1.084zm212.248 46.648l4.666 18.664v1.108c0 11.906-4.684 22.7-12.187 31.275-7.502 8.573-17.66 15.198-29.37 20.403-23.424 10.41-53.353 15.26-83.323 15.26-29.97 0-59.9-4.85-83.322-15.26-11.712-5.205-21.87-11.83-29.37-20.404-7.504-8.575-12.187-19.37-12.187-31.276 0-3.082.503-5.28 1.24-9.19.525-2.778 1.262-6.292 2.09-10.137l-84.56 28.186L256 497.003l206.11-85.88-85.897-28.63z"},child:[]}]})(e)}var oI=e.i(298437),oC=e.i(846932),oN=e.i(114196),oT=e.i(675967);function oA({id:e,dockState:t,setDockState:n,peerIds:i,children:s,className:l,isPinned:c=!1,focusModeEnabled:u=!1,focusModeAutoHide:d=!0,focusModeIdleDelayMs:m=1800,chromeGroup:p=null,pinnedResizeAnchor:h="top-left",contentInteractionActive:f=!1,onChromeMeasurementChange:g=null,onChromeSurfaceStateChange:x=null,onRevealChromeGroup:b=null}){let y=(0,a.useRef)(null),[v,w]=(0,a.useState)(!1),[_,k]=(0,a.useState)(!1),[S,j]=(0,a.useState)(!1),[$,I]=(0,a.useState)(!0),[C,N]=(0,a.useState)(!1),[T,A]=(0,a.useState)(!1),[P,E]=(0,a.useState)(null),[D,M]=(0,a.useState)(null),z=(0,o.useThemeStore)(e=>e.currentTheme?.type==="light"),F=Array.isArray(i)?i.join("|"):"",O=!!f,{dockSide:L="bottom",position:R={x:500,y:900},dockMargin:B=0,centered:U=!1,dockedToPeer:Z=null,peerSide:G=null}=t||{},W=(0,a.useRef)({x:0,y:0}),H=(0,a.useRef)({x:0,y:0}),V=(0,a.useRef)(R),q=(0,a.useRef)(null),K=(0,a.useRef)(null);(0,a.useEffect)(()=>{V.current=R},[R]);let J=(0,a.useCallback)((t,n,r={})=>{let{updateLayoutRef:i=!0}
4=r,a=(0,oN.rectToPlainObject)(t),o=n||{width:window.visualViewport?window.visualViewport.width:window.innerWidth,height:window.visualViewport?window.visualViewport.height:window.innerHeight};i&&(q.current=a),E(a),M(o),g?.(e,{rect:a,viewport:o})},[e,g]),X=(0,a.useCallback)(()=>{y.current&&J(y.current.getBoundingClientRect(),{width:window.visualViewport?window.visualViewport.width:window.innerWidth,height:window.visualViewport?window.visualViewport.height:window.innerHeight})},[J]),Y=()=>Array.isArray(i)&&i.length>0?i.filter(t=>t&&t!==e):"tools"===e?["system"]:"system"===e?["tools"]:[],Q=()=>({winW:window.visualViewport?window.visualViewport.width:window.innerWidth,winH:window.visualViewport?window.visualViewport.height:window.innerHeight}),ee=(e,t,n,r,i,a,o)=>"bottom"===e?o-n-i:"right"===e?a-t-r:"left"===e?t:"top"===e?n:0,et=e=>{if(!y.current)return;let t=e.clientX-W.current.x,n=e.clientY-W.current.y;y.current.style.transform=`translate3d(${t}px, ${n}px, 0)`},en=e=>{if(window.removeEventListener("pointermove",et),window.removeEventListener("pointerup",en),w(!1),!y.current)return;let t=e.clientX-W.current.x,r=e.clientY-W.current.y;y.current.style.transform="";let i=H.current.x+t,a=H.current.y+r,o=y.current.getBoundingClientRect(),s=o.width,l=o.height,c={left:i,top:a,right:i+s,bottom:a+l},u=i+s/2,{winW:d,winH:m}=Q(),p=d<640?50:100,h=d<640?80:110,f={type:"float",dock:L},g=1/0;Y().forEach(e=>{let t=document.getElementById(`dock-bar-${e}`),n=t?t.getBoundingClientRect():null;if(!n)return;let r=Math.abs(c.right-n.left),i=Math.abs(c.left-n.right),o=Math.abs(c.bottom-n.top),s=Math.abs(c.top-n.bottom),d=c.right>n.left&&c.left<n.right;(c.bottom>n.top&&c.top<n.bottom||150>Math.abs(a+l/2-(n.top+n.height/2)))&&(r<p&&r<g&&(f={type:"peer",side:"left",dock:"auto",peerRect:n,peerId:e},g=r),i<p&&i<g&&(f={type:"peer",side:"right",dock:"auto",peerRect:n,peerId:e},g=i)),(d||150>Math.abs(u-(n.left+n.width/2)))&&(o<p&&o<g&&(f={type:"peer",side:"top",dock:"auto",peerRect:n,peerId:e},g=o),s<p&&s<g&&(f={type:"peer",side:"bottom",dock:"auto",peerRect:n,peerId:e},g=s))}),"float"===f.type&&(c.top>m-p-l?f={type:"edge",side:"bottom",dock:"bottom"}:c.left<p?f={type:"edge",side:"left",dock:"left"}:c.right>d-p?f={type:"edge",side:"right",dock:"right"}:c.top<p+h&&(f={type:"edge",side:"top",dock:"top"}));let x=i,b=a,v=L,_=!1;"edge"===f.type?v=f.dock:"peer"===f.type&&(v=f.peerRect.height>f.peerRect.width?f.peerRect.left<d/2?"left":"right":"bottom");let k=s,S=l;if(("left"===L||"right"===L)!=("left"===v||"right"===v)&&(k=l,S=s),"edge"===f.type)"bottom"===f.side&&(b=m-S-16),"left"===f.side&&(x=16),"right"===f.side&&(x=d-k-16),"top"===f.side&&(b=h);else if("peer"===f.type){let e=f.peerRect;"left"===f.side&&(x=e.left-k-8,b=e.top),"right"===f.side&&(x=e.right+8,b=e.top),"top"===f.side&&(x=e.left,b=e.top-S-8),"bottom"===f.side&&(x=e.left,b=e.bottom+8)}if("peer"!==f.type&&("bottom"===v||"top"===v)){let e=(0,oN.resolveDockCenterSnap)({x:x,width:k,viewportWidth:d});x=e.x,_=e.centered}x=Math.max(8,Math.min(x,d-k-8)),b=Math.max(h,Math.min(b,m-S-8));let j="peer"===f.type?f.peerId:null,$="peer"===f.type?f.side:null;n({dockSide:v,position:{x:x,y:b},dockMargin:ee(v,x,b,k,S,d,m),centered:_,dockedToPeer:j,peerSide:$}),requestAnimationFrame(X)};(0,a.useEffect)(()=>{let t=t=>{let{winW:r,winH:i}=Q();if(!y.current)return;let a=y.current.getBoundingClientRect(),o=q.current;J(a,{width:r,height:i},{updateLayoutRef:!1});let s=t?t.contentRect.width:a.width,l=t?t.contentRect.height:a.height,u={width:s,height:l},d=r<640?80:110,m=V.current,p=m.x,f=m.y,g=i-l-8,x=r-s-8,b=!1;if(c){let e=o?{x:o.left,y:o.top}:m,t=o?{width:o.width,height:o.height}:u;K.current&&K.current.anchor===h||(K.current={anchor:h,point:(0,oT.getPinnedResizeAnchorPoint)({position:e,size:t,anchor:h})});let n=(0,oT.resolvePinnedResizePosition)({anchorPoint:K.current.point,size:u,anchor:h,fallbackPosition:m});p=n.x,f=n.y}else{if(Z&&G){let e=document.getElementById(`dock-bar-${Z}`);if(e){let t=e.getBoundingClientRect();"left"===G?(p=t.left-s-8,f=t.top):"right"===G?(p=t.right+8,f=t.top):"top"===G?(p=t.left,f=t.top-l-8):"bottom"===G&&(p=t.left,f=t.bottom+8),b=!0}}
4!b&&("bottom"===L?(f=Math.max(d,g),"system"!==e&&Y().forEach(e=>{let t=document.getElementById(`dock-bar-${e}`);if(!t)return;let n=t.getBoundingClientRect();if(!(80>Math.abs(n.bottom-i)))return;let r=p,a=p+s,o=n.left;r<n.right&&a>o&&(f=Math.min(f,n.top-l-8))})):"top"===L?f=d:"left"===L?p=16:"right"===L&&(p=Math.max(8,x)),U&&("bottom"===L||"top"===L)&&(p=(r-s)/2))}c||(K.current=null),p+s<0||p>r||f+l<0||f>i?"bottom"===L?(p=(r-s)/2,f=Math.max(d,i-l-16)):"top"===L?(p=(r-s)/2,f=d):"left"===L?(p=8,f=Math.max(d,(i-l)/2)):"right"===L&&(p=Math.max(8,r-s-8),f=Math.max(d,(i-l)/2)):(p>x&&(p=Math.max(8,x)),p<8&&(p=8),f>g&&(f=Math.max(d,g)),f<d&&(f=d));let w=ee(L,p,f,s,l,r,i),_=!b&&!!(U&&("bottom"===L||"top"===L));q.current={left:p,top:f,right:p+s,bottom:f+l,width:s,height:l},(Math.abs(p-m.x)>1||Math.abs(f-m.y)>1||w!==B||_!==U)&&!v&&n(e=>({...e,position:{x:p,y:f},dockMargin:w,centered:_}))},r=new ResizeObserver(e=>{for(let n of e)t(n)});y.current&&r.observe(y.current);let i=()=>t(null);return window.addEventListener("resize",i),window.visualViewport&&window.visualViewport.addEventListener("resize",i),t(null),()=>{r.disconnect(),window.removeEventListener("resize",i),window.visualViewport&&window.visualViewport.removeEventListener("resize",i)}},[L,v,n,e,B,U,Z,G,c,h,F,J]),(0,a.useEffect)(()=>{X()},[L,R.x,R.y,B,U,X]);let er=(0,a.useMemo)(()=>(0,oN.getChromeSurfacePlacement)({rect:P,dockSide:L,viewport:D}),[L,P,D]),ei=(0,oN.shouldAutoHideSurface)({focusModeEnabled:u,autoHideEnabled:d,surfacePinned:c}),ea=(0,oN.shouldAutoHideSurface)({focusModeEnabled:u,autoHideEnabled:d,surfacePinned:c,interactionActive:v||S||O}),eo=_||v||S||O,es="boolean"==typeof p?.hidden?p.hidden:ea&&!$,el=es&&!C,ec={...(0,oN.getChromeHiddenShellStyle)({hidden:el,placement:er}),...(0,oN.getChromeTransitionStyle)({hidden:el})},eu=p?.placement||er,ed=!p||p.ownerId===e,em=(0,a.useMemo)(()=>{let e=eu?.viewport||D;return e?.width<640||!!window.matchMedia?.("(pointer: coarse)")?.matches},[eu,D]),ep=p?.revealSignal||0;(0,a.useEffect)(()=>{if(p||!ea||_||v||S||O)return void I(!0);if(!$)return;let e=window.setTimeout(()=>{I(!1)},m);return()=>window.clearTimeout(e)},[p,m,O,S,v,_,$,ea]),(0,a.useEffect)(()=>{x?.(e,{canAutoHide:ei,interactionActive:eo,isPinned:c})},[e,c,x,ei,eo]);let eh=(0,a.useCallback)(()=>{X(),I(!0)},[X]),ef=(0,a.useCallback)(()=>{eh(),p?.groupId&&b&&b(p.groupId)},[p?.groupId,b,eh]);(0,a.useEffect)(()=>{ep&&eh()},[ep,eh]);let eg=(0,a.useCallback)((e=null)=>{e?.preventDefault?.(),N(!0),A(!1),k(!0),ef()},[ef]),ex=(0,a.useCallback)(e=>{(0,oN.isTextEntryTarget)(e.target)&&(j(!0),ef())},[ef]),eb=(0,a.useCallback)(e=>{let t=e.relatedTarget;t&&y.current?.contains?.(t)&&(0,oN.isTextEntryTarget)(t)||j(!1)},[]);(0,a.useEffect)(()=>{if(!es){N(!1),A(!1);return}if(C)return void A(!1);A(!1);let e=window.requestAnimationFrame(()=>{A(!0)});return()=>window.cancelAnimationFrame(e)},[es,C]);let ey=(0,a.useMemo)(()=>eu?{...(0,oN.getChromeReminderHitStyle)(eu,{coarsePointer:em}),opacity:+!!T,transition:"opacity 360ms cubic-bezier(0.45,0,0.2,1)",transitionDelay:T?`${oN.CHROME_REMINDER_VISUAL_DELAY_MS}ms`:"0ms"}:null,[em,eu,T]),ev=(0,a.useMemo)(()=>(0,oN.getChromeReminderIndicatorClass)(eu,{themeType:z?"light":"dark"}),[z,eu]);return(0,r.jsxs)(oC.motion.div,{id:`dock-bar-${e}`,ref:y,style:{...(()=>{if(v)return{position:"fixed",left:H.current.x+"px",top:H.current.y+"px",touchAction:"none",zIndex:1e3};let e={position:"fixed",touchAction:"none",zIndex:900};return c?(e.left=R.x+"px",e.top=R.y+"px",e.right="auto",e.bottom="auto"):(U?(e.left="50%",e.transform="translateX(-50%)"):"right"===L?(e.right=B+"px",e.left="auto"):"left"===L?(e.left=B+"px",e.right="auto"):e.left=R.x+"px","bottom"===L?(e.bottom=B+"px",e.top="auto"):"top"===L?(e.top=B+"px",e.bottom="auto"):e.top=R.y+"px"),e})(),...el?{pointerEvents:"none"}:{}},className:l,"data-workspace-chrome-surface":e,"data-workspace-chrome-hidden":el?"true":void 0,onPointerEnter:()=>{k(!0),ef()},onPointerLeave:()=>k(!1),onFocusCapture:ex,onBlurCapture:eb,children:[(0,r.jsx)("div",{className:oN.CHROME_TRANSITION_CLASS,"data-workspace-chrome-shell":"dock",style:ec,children:"function"==typeof s?s({start:e=>{if(c||(e.preventDefault(),!y.current))return;w(!0);let t=y.current.getBoundingClientRect();W.current={x:e.clientX,y:e.clientY},H.current={x:t.left,y:t.top},window.addEventListener("pointermove",et),window.addEventListener("pointerup",en),I(!0)}}):s}),es&&!C&&eu&&ed&&"u">typeof document&&(0,e0.createPortal)((0,r.jsx)("button",{type:"button","aria-label":`Show ${p?.groupId||e} dock`,title:`Show ${p?.groupId||e} dock`,className:"group pointer-events-auto border-0 bg-transparent p-0",style:ey,"data-workspace-c
4hrome-reminder":p?.groupId||e,"data-workspace-chrome-reminder-owner":e,"data-workspace-chrome-reminder-kind":eu.kind,onPointerEnter:eg,onPointerMove:eg,onPointerLeave:()=>k(!1),onPointerDown:eg,children:(0,r.jsx)("span",{className:ev,style:(0,oN.getChromeReminderIndicatorStyle)(eu)})}),document.body)]})}var oP=e.i(522016);function oE(e){let t,n,a,o=(0,i.c)(5),{size:s,className:l}=e,c=void 0===s?16:s,u=void 0===l?"":l;return o[0]===Symbol.for("react.memo_cache_sentinel")?(t=(0,r.jsx)("path",{d:"M12 2L13.5 9.5L21 11L13.5 12.5L12 20L10.5 12.5L3 11L10.5 9.5L12 2Z"}),n=(0,r.jsx)("path",{d:"M19 13L19.7 15.3L22 16L19.7 16.7L19 19L18.3 16.7L16 16L18.3 15.3L19 13Z"}),o[0]=t,o[1]=n):(t=o[0],n=o[1]),o[2]!==u||o[3]!==c?(a=(0,r.jsxs)("svg",{width:c,height:c,viewBox:"0 0 24 24",fill:"currentColor",xmlns:"http://www.w3.org/2000/svg",className:u,children:[t,n]}),o[2]=u,o[3]=c,o[4]=a):a=o[4],a}var oD=e.i(88653),oM=e.i(918789),oz=e.i(742531),oF=e.i(61663);let oO=`prose prose-invert max-w-none whitespace-pre-line
5    [&_*]:text-[12px] [&_*]:leading-relaxed [&_*]:m-0
6    prose-p:mb-1 last:prose-p:mb-0
7    prose-headings:text-white prose-headings:font-bold prose-headings:mt-2 prose-headings:mb-1
8    prose-strong:text-blue-300 prose-ul:my-1 prose-li:my-0.5`,oL=/[A-Za-z0-9-]+$/;var oR=e.i(836398);function oB(e){let t="number"==typeof e?e:Number(e);return Number.isFinite(t)?Math.round(100*t)/100:0}function oU(e){return{x:oB(Array.isArray(e)?e[0]??0:e?.x??0),y:oB(Array.isArray(e)?e[1]??0:e?.y??0),z:oB(Array.isArray(e)?e[2]??0:e?.z??0)}}function oZ(e,t,n){return{id:e?.id||null,team:t,group:n,number:e?.number??null,name:e?.name||null,role:e?.shortRole||e?.role||e?.positionGroup||null,visible:e?.visible!==!1,position:oU(e?.position),movementCount:Array.isArray(e?.movements)?e.movements.length:0,hasMarking:!!e?.marking?.active}}function oG(e,t){return{name:e?.name||t,color:e?.color||null,formation:e?.formation||null}}function oW(e){return{id:e?.id||null,type:e?.type||e?.shapeType||null,visible:e?.visible!==!1,position:oU(e?.position),startTime:e?.startTime??e?.config?.startTime??null,endTime:e?.endTime??e?.config?.endTime??null}}function oH(e){return{id:e?.id||null,playerIds:Array.isArray(e?.playerIds)?e.playerIds.slice(0,4):[],style:e?.style||null,startTime:e?.startTime??null,endTime:e?.endTime??null}}function oV(e){return{id:e?.id||null,playerIds:Array.isArray(e?.playerIds)?e.playerIds.slice(0,8):[],name:e?.name||null,startTime:e?.startTime??null,endTime:e?.endTime??null}}function oq(e,t){return e.filter(e=>e?.marking?.active).map(e=>({markerTeam:t,markerId:e.id,type:e.marking.type||null,targetId:e.marking.targetId||null,zoneAnchors:Array.isArray(e.marking.zoneAnchors)?e.marking.zoneAnchors.slice(0,8):[],startTime:e.marking.startTime??null,endTime:e.marking.endTime??null}))}function oK(e="snapshot"){var t;let n=s.usePlayerStore.getState(),r=m.useAnnotationStore.getState(),i=n.teamAPlayers||[],a=n.teamBPlayers||[],o=n.teamASubs||[],l=n.teamBSubs||[];return{schemaVersion:"agent-feedback-scene-v1",label:e,capturedAt:new Date().toISOString(),teams:{A:oG(n.teamAInfo,"Team A"),B:oG(n.teamBInfo,"Team B")},players:[...i.map(e=>oZ(e,"A","field")),...a.map(e=>oZ(e,"B","field")),...o.map(e=>oZ(e,"A","bench")),...l.map(e=>oZ(e,"B","bench"))],ball:(t=n.ballState)?{position:oU(t.position),possession:t.possession?{team:t.possession.team||null,playerId:t.possession.playerId||null}:null,lastTouch:t.lastTouch?{team:t.lastTouch.team||null,id:t.lastTouch.id||null,time:t.lastTouch.time??null}:null,trajectoryCount:Array.isArray(t.trajectories)?t.trajectories.length:0,possessionSegmentCount:Array.isArray(t.possessionSegments)?t.possessionSegments.length:0}:null,annotations:(r.annotations||[]).map(oW),links:(n.links||[]).map(oH),zones:(n.zones||[]).map(oV),markings:[...oq(i,"A"),...oq(a,"B")],counts:{players:i.length+a.length,bench:o.length+l.length,annotations:(r.annotations||[]).length,links:(n.links||[]).length,zones:(n.zones||[]).length}}}let oJ=Object.freeze({FOOTBALL:"football",SUPPORT:"support",REFUSE:"refuse",UNKNOWN:"unknown"}
8),oX=[/\b(?:malware|phishing|steal passwords?|credential theft)\b/,/\b(?:suicide|self harm|poison someone|hurt someone|injure someone)\b/,/\bdetonat\w*/,/\b(?:pipe|car|nail|dirty|letter|barrel) bombs?\b/,/\bbomb(?:ing)? (?:threat|plot|attack|someone)\b/,/\b(?:chemical|biological|nuclear) weapons?\b/,/\b(?:make|makes|making|build|building|assemble|assembling|manufacture|manufacturing|buy|obtain|smuggle|plant)\s+(?:a|an|the|some|my|your)?\s*(?:home ?made\s+)?(?:bombs?|explosives?|weapons?|firearms?|grenades?|ammunition)\b/,/\b(?:bombs?|explosives?|weapons?|firearms?|grenades?)\s+(?:making|manufacturing|instructions?|recipe|blueprint|design|tutorial)\b/],oY=[/\b(?:write|generate|debug|explain)\b.*\b(?:python|javascript|typescript|sql|code|program|script|function)\b/,/\b(?:python|javascript|typescript|sql)\b.*\b(?:code|program|script|function)\b/,/\b(?:create|build|make|generate)\b.*\b(?:web page|website|landing page|mobile app|web app)\b/,/\b(?:recipe|cook(?:ing)?|bake|weather|forecast|stock price|crypto|bitcoin|travel itinerary|dating advice)\b/,/\b(?:homework|essay|cover letter)\b/,/\b(?:cv|resumes?)\b[\s\S]{0,30}\b(?:review|rewrite|writing|improve|template|job|jobs|application|applications|hiring|interview|recruiter|career|linkedin)\b/,/\b(?:review|rewrite|write|writing|improve|polish|format|template|send)\b[\s\S]{0,30}\b(?:cv|resumes?)\b/],oQ=[/\b(?:football|soccer|tactic|tactics|tactical|coach(?:ing)?|match analysis|game model)\b/,/\b(?:formation|4\s*[- ]?\s*4\s*[- ]?\s*2|4\s*[- ]?\s*3\s*[- ]?\s*3|3\s*[- ]?\s*5\s*[- ]?\s*2)\b/,/\b(?:press(?:ing)?(?!\s+(?:release|conference|coverage|kit|office|briefing|secretary))|counterpress|mid block|low block|high block|high press|trap|marking|zonal|man marking)\b/,/\b(?:attacking|defending|transition|build up|final third|half space|wide area|flank|channel)\b/,/\b(?:team|equipe)\b.*\b(?:attacks?|attackin|attacking|defends?|press(?:es|ing)?|shapes?)\b/,/\b(?:attack|attackin|attacking)\b.*\b(?:right|left|corner|flank|side|channel)\b/,/\b(?:strikers?|wingers?|full ?backs?|wing ?backs?|centre ?backs?|center ?backs?|centre ?forwards?|center ?forwards?|midfielders?|goalkeepers?|keepers?|defenders?|wings?|flanks?)\b/,/\b(?:left|right) ?backs?\b/,/\b(?:midfield|front line|back line|holding role)\b/,/\b(?:high|deep(?:er)?|low|offside) line\b/,/\b(?:front|back)\s(?:two|three|four|five)\b/,/\bthe (?:six|eight|nine|ten)\b/,/\b(?:player|players|team [ab]|opponent|ball|pitch|field|touchline|box|penalty area|defensive line)\b/,/\b(?:pass|passing lanes?|runs?|dribble|carry|reposition|movements?|overlap|underlap|overload|crosses|cross|shots?|through balls?)\b/,/\b(?:how far|distance|nearest|closest|measure)\b/,/\b(?:arrows?|fleches?|annotations?|overlays?|zones?|circles?|rectangles?|highlights?|cameras?|views?|angles?)\b/,/\b(?:follow|shift|push(?:es)?(?:\s+\w+){0,4}\s+up|drop back|sit deeper)\b/,/#\d{1,2}\b/,/\b(?:bloc median|bloc bas|pressing|marquage|passes?|joueurs?|equipes?|terrain|attaque|defense|mouvements?|centres?|courses?|attaquants?|gardiens?|defenseurs?|milieux?|ailiers?)\b/,/\b(?:lateraux|appels?|ligne(?:s)? (?:defensive|de defense|arriere)|hors jeu)\b/],o0=[/\b(?:squeeze|spread|invert(?:ed|ing)?|swap|narrow(?:er)?|wide[nr]|deeper|tighten|compactness)\b/,/\b(?:pivot|double pivot|lateral|block|compact|tuck)\b/],o1=/\b\d(?:\s\d){2,3}\b/g,o2=[/^(?:\d+(?:[\.)])?\s*|[-*]\s*)?(?:please\s+)?(?:add|move|reposition|place|create|draw|show|animate|set up|setup|build|make|change|clear|delete|remove|reset|replace)\b/,/\b(?:can you|could you|please|i want you to)\b.*\b(?:add|move|reposition|place|create|draw|show|animate|set up|setup|build|make|change|clear|delete|remove|reset|replace)\b/,/\b(?:recreate|reconstruct|analy[sz]e)\b.*\b(?:scene|frame|screenshot|image|broadcast|clip|footage)\b/,/\b(?:set|switch)\b.*\bcamera\b/],o5=[/\b(?:opentactic|open tactic)\b/,/\b(?:shortcut|shortcuts|hotkey|hotkeys|keybinding|keybindings|ctrl\s*space|control\s*space)\b/,/\b(?:feature|features|tutorial|guide|help|tip|tips)\b.*\b(?:app|workspace|tool|tools|opentactic|scene)\b/,/\bhow (?:do|can) i\b.*\b(?:upload|import|paste|save|load|export|share|use|open|record|play|pause|zoom|pan|switch|change|find|create)\b/,/\bwhere (?:is|are|can i|do i)\b.*\b(?:upload|import|save|load|export|share|camera|media|studio|annotation|tool|workspace)\b/,/\b(?:upload|import|paste)\b.*\b(?:screenshot|image|photo|video|media)\b/,/\b(?:save|load|export|share)\b.*\b(?:scene|workspace|tactic|video|
8image|screenshot)\b/,/\b(?:account|login|sign in|billing|subscription|workspace|media browser|video studio|scene tab|camera preset|annotation tool|training equipment|voice recording|ai assistant)\b/,/\bwhat (?:is|are)\b.*\b(?:opentactic|shortcut|shortcuts|feature|features|tool|tools|camera|workspace)\b/],o4=[/\b(?:opentactic|open tactic)\b/,/\b(?:shortcut|shortcuts|hotkey|hotkeys|keybinding|keybindings)\b/,/\b(?:upload|import|export|download|save|load|share)\b/,/\b(?:screenshot|media browser|video studio|scene tab|camera preset|annotation tool|training equipment|voice recording|ai assistant)\b/,/\b(?:account|login|sign in|billing|subscription|workspace)\b/,/\b(?:button|panel|tab|menu|sidebar|toolbar)\b/],o3=[/^how (?:do|can) i\b/,/^where (?:is|are|can i|do i)\b/,/^what (?:is|are)\b.*\b(?:shortcut|shortcuts|feature|features|opentactic|tool|tools)\b/],o6=[/^fix this$/,/^fix it$/,/^fix the shape$/,/^corrige ca$/,/^corrige ceci$/,/^corrige la forme$/,/^make it better$/,/^improve this$/,/^ameliore ca$/,/^change this$/],o8=[/^(?:hi|hello|hey|yo|bonjour|salut|coucou|bonsoir)$/,/^(?:hi|hello|hey|bonjour|salut)\s+(?:there|team|coach)?$/,/^(?:good morning|good afternoon|good evening)$/],o9=[/^(?:help|aide)$/,/^(?:can|could) you help(?: me)?$/,/^i need help$/,/^j ai besoin d aide$/,/^what can you do$/,/^how can you help(?: me)?$/];function o7(e,t){return t.some(t=>t.test(e))}function se(e=""){return String(e||"").normalize("NFD").replace(/[\u0300-\u036f]/g,"").replace(/[’']/g," ").replace(/[^\p{L}\p{N}#]+/gu," ").replace(/\s+/g," ").trim().toLowerCase()}function st(e){let t=se(e);return/^(?:please )?(?:what did you (?:update|change|do)|what changed|what was updated|what did you make on the pitch(?: to correct it)?|explain (?:your|the) changes?|qu as tu (?:modifie|change|fait)|qu est ce que tu as (?:modifie|change|fait))(?: please)?$/.test(t)}function sn(e){if(!Array.isArray(e))return!1;for(let t of e.slice(-12).reverse()){if(t?.role!=="user"||"string"!=typeof t.content||!t.content.trim()||st(t.content))continue;let{scope:e}=sr({userMessage:t.content});if(e!==oJ.UNKNOWN)return e===oJ.FOOTBALL}return!1}function sr({userMessage:e="",images:t=[],chatHistory:n=[],conversationContext:r=n}={}){let i=String(e||""),a=se(i),o=[],s=Array.isArray(t)&&t.some(e=>e);if(s&&o.push("attached_image"),o7(a,oX))return o.push("unsafe_or_harmful_request"),{scope:oJ.REFUSE,confidence:.98,reasons:o,normalizedText:a};let l=o7(a,o5),c=o7(a,oY),u=s||o7(a,oQ)||function(e){for(let t of e.matchAll(o1))if(10===t[0].split(" ").map(Number).reduce((e,t)=>e+t,0))return!0;return!1}(a)||!c&&o7(a,o0),d=o7(a,o3),m=o7(a,o2)&&!d,p=o7(a,o6),h=o7(a,o8),f=o7(a,o9);if(c&&!l&&!u)return o.push("strong_off_topic_signal"),{scope:oJ.REFUSE,confidence:.95,reasons:o,normalizedText:a};if(st(i)&&sn(r))return{scope:oJ.FOOTBALL,confidence:.94,reasons:[...o,"tactical_conversation_follow_up"],normalizedText:a};if(m&&(u||/\b(?:scene|screenshot|frame|broadcast|camera)\b/.test(a)))return o.push("football_scene_edit_intent"),{scope:oJ.FOOTBALL,confidence:.94,reasons:o,normalizedText:a};let g=o7(a,o4);return l&&!m&&(!u||g)?(o.push("opentactic_support_intent"),{scope:oJ.SUPPORT,confidence:.92,reasons:o,normalizedText:a}):p?(o.push("ambiguous_scene_context"),{scope:oJ.FOOTBALL,confidence:.62,reasons:o,normalizedText:a}):u?(o.push("football_domain_signal"),{scope:oJ.FOOTBALL,confidence:.9,reasons:o,normalizedText:a}):a&&!h&&sn(r)?(o.push("tactical_conversation_continuation"),{scope:oJ.FOOTBALL,confidence:.8,reasons:o,normalizedText:a}):a?h||f?(o.push(h?"greeting":"vague_help_request"),{scope:oJ.UNKNOWN,confidence:.62,resolution:"clarify",reasons:o,normalizedText:a}):(o.push("no_supported_scope_signal"),{scope:oJ.UNKNOWN,confidence:.38,resolution:"ai_check",reasons:o,normalizedText:a}):(o.push("empty_request"),{scope:oJ.UNKNOWN,confidence:.55,resolution:"clarify",reasons:o,normalizedText:a})}var si=e.i(815372),sa=e.i(325754);function so(e,t,n,r){return Math.sqrt((n-e)**2+(r-t)**2)}function ss(e,t){if(!e)return null;if("object"==typeof e&&void 0!==e.x&&void 0!==e.z){let t=Number(e.x),n=Number(e.z);if(Number.isFinite(t)&&Number.isFinite(n))return{x:t,z:n}}if("string"==typeof e){let n=t.find(t=>
8t.id===e);if(n)return{x:n.x,z:n.z};try{let t=JSON.parse(e.replace(/([{,]\s*)(\w+)\s*:/g,'$1"$2":'));if(t&&Number.isFinite(Number(t.x))&&Number.isFinite(Number(t.z)))return{x:Number(t.x),z:Number(t.z)}}catch{}let r=e.match(/[-+]?\d+\.?\d*/g);if(r&&r.length>=2){let e=Number(r[0]),t=Number(r[1]);if(Number.isFinite(e)&&Number.isFinite(t))return{x:e,z:t}}}return null}function sl(e,t,n){let r,i;return`${(r="B"===n?-t:t)<-22?"left flank":r<-8?"left-center":r<=8?"center":r<=22?"center-right":"right flank"} ${(i="A"===n?e+52.5:52.5-e)<16?"own-box":i<35?"DEF":i<70?"MID":"ATT"}`}function sc(e,t,n,r=68,i=null){let a=ss(t,e),o=ss(n,e);if(!a||!o)return{count:0,players:[],length:0,error:"Invalid positions"};let s=so(a.x,a.z,o.x,o.z);if(s<.5)return{count:0,players:[],length:0};let l=(o.x-a.x)/s,c=(o.z-a.z)/s,u=r/2,d="string"==typeof t?e.find(e=>e.id===t):null,m=i||(d?"A"===d.team?"B":"A":null),p=[];for(let t of e){if(m&&t.team!==m)continue;let e=(t.x-a.x)*l+(t.z-a.z)*c;if(e<=0||e>=s)continue;let n=a.x+e*l,r=a.z+e*c,i=so(t.x,t.z,n,r);i<=u&&p.push({id:t.id,name:t.name,team:t.team,number:t.number,x:Math.round(10*t.x)/10,z:Math.round(10*t.z)/10,perpDistance:Math.round(10*i)/10,projection:Math.round(10*e)/10})}return p.sort((e,t)=>e.projection-t.projection),{count:p.length,players:p,length:Math.round(10*s)/10}}let su=[{name:"measure_distance",description:"Euclidean XZ distance between two points or players.",parameters:{type:"OBJECT",properties:{a:{type:"STRING",description:"Player ID or position {x, z}"},b:{type:"STRING",description:"Player ID or position {x, z}"}},required:["a","b"]}},{name:"find_players_between",description:"Find all players in a corridor between two points. Width controls what you measure: width=68 (full pitch) for packing count, width=3 for interception risk.",parameters:{type:"OBJECT",properties:{from:{type:"STRING",description:"Player ID or position {x, z}"},to:{type:"STRING",description:"Player ID or position {x, z}"},width:{type:"NUMBER",description:"Corridor width in meters. 68 for packing, 3 for interception."},team:{type:"STRING",description:"Filter to specific team (A or B). Default: auto-detect opponents."}},required:["from","to","width"]}},{name:"count_lines_between",description:"Count defensive lines between two positions by clustering opponents by X position.",parameters:{type:"OBJECT",properties:{from:{type:"STRING",description:"Player ID or position {x, z}"},to:{type:"STRING",description:"Player ID or position {x, z}"},team:{type:"STRING",description:"Filter to specific team (A or B)"},clusterGap:{type:"NUMBER",description:"Min X distance to separate lines (default 3m)"}},required:["from","to"]}},{name:"find_nearest",description:"Find N closest players to a position, with optional team and role filters.",parameters:{type:"OBJECT",properties:{position:{type:"STRING",description:"Player ID or position {x, z}"},count:{type:"INTEGER",description:"Number of players to return (default 3)"},team:{type:"STRING",description:"Filter to team A or B"},role:{type:"STRING",description:"Filter by position group (GK, DEF, MID, ATT)"}},required:["position"]}},{name:"sample_density",description:"Grid-sample zones around a center point, sorted by most open (farthest from opponents).",parameters:{type:"OBJECT",properties:{center:{type:"STRING",description:"Player ID or position {x, z} as center of search"},radius:{type:"NUMBER",description:"Search radius in meters (default 15)"},resolution:{type:"NUMBER",description:"Grid spacing in meters (default 5)"},team:{type:"STRING",description:"Opponent team to measure distance from (A or B)"}},required:["center"]}},{name:"get_team_shape",description:"Structural metrics for a team: width, depth, compactness, centroid, line positions.",parameters:{type:"OBJECT",properties:{team:{type:"STRING",description:"Team A or B",enum:["A","B"]}},required:["team"]}}],sd=new Set(["broadcast","analysis"]),sm=new Set(["get_pitch_state","get_scenario_state",...su.map(e=>e.name)]);function sp(e){return e.length>0&&e.every(e=>sm.has(e.name))}function sh(e=[]){let t=e.filter(e=>e&&!1!==e.success&&!sm.has(e.name));if(0===t.length)return"";let n=new Map;for(let e of t)n.has(e.name)||n.set(e.name,[]),n.get(e.name).push(e.result?.message||"");let r=(e,t,n)=>`${e} ${1===e?t:n}`,i=[];for(let[e,t]of n){let n=t.length;switch(e){case"update_team_players":i.push(1===n&&t[0]||"Repositioned players");break;case"add_player_movement":case"add_curved_player_movement":i.push(r(n,"player run","player runs")+" drawn");break;case"create_link":i.push(r(n,"connection","connections")+" created");break;case"create_zone":i.push(r(n,"zone","zones")+" created");break;case"create_zonal_marking":case"create_man_marking":i.push(r(n,"marking assignment","marking assignments")+" created");break;case"create_annotation":case"create_annotations":case"create_curved_arrow_annotation":i.push(r(n,"annotation","annotations")+" added");break;case"create_annotation_group":i.push(r(n,"overlay group","overlay groups")+" created");break;default:i.push(1===n?t[0]||e:`${e} x${n}`)}}return i.join(", ")}let sf=Object.freeze({status:"aborted"});function sg(e,t,n){function r(n,r){if(n._zod||Object.defineProperty(n,"_zod",{value:{def:r,constr:o,traits:new Set},enumerable:!1}),n._zod.traits.has(e))return;n._zod.traits.add(e),t(n,r);let i=o.prototype,a=Object.keys(i);for(let e=0;e<a.length;e++){let t=a[e];t in n||(n[t]=i[t].bind(n))}}
8let i=n?.Parent??Object;class a extends i{}function o(e){var t;let i=n?.Parent?new a:this;for(let n of(r(i,e),(t=i._zod).deferred??(t.deferred=[]),i._zod.deferred))n();return i}return Object.defineProperty(a,"name",{value:e}),Object.defineProperty(o,"init",{value:r}),Object.defineProperty(o,Symbol.hasInstance,{value:t=>!!n?.Parent&&t instanceof n.Parent||t?._zod?.traits?.has(e)}),Object.defineProperty(o,"name",{value:e}),o}let sx=Symbol("zod_brand");class sb extends Error{constructor(){super("Encountered Promise during synchronous parse. Use .parseAsync() instead.")}}class sy extends Error{constructor(e){super(`Encountered unidirectional transform during encode: ${e}`),this.name="ZodEncodeError"}}let sv={};function sw(e){return e&&Object.assign(sv,e),sv}function s_(e){let t=Object.values(e).filter(e=>"number"==typeof e);return Object.entries(e).filter(([e,n])=>-1===t.indexOf(+e)).map(([e,t])=>t)}function sk(e,t="|"){return e.map(e=>sW(e)).join(t)}function sS(e,t){return"bigint"==typeof t?t.toString():t}function sj(e){return{get value(){{let t=e();return Object.defineProperty(this,"value",{value:t}),t}}}}function s$(e){return null==e}function sI(e){let t=+!!e.startsWith("^"),n=e.endsWith("$")?e.length-1:e.length;return e.slice(t,n)}function sC(e,t){let n=(e.toString().split(".")[1]||"").length,r=t.toString(),i=(r.split(".")[1]||"").length;if(0===i&&/\d?e-\d?/.test(r)){let e=r.match(/\d?e-(\d?)/);e?.[1]&&(i=Number.parseInt(e[1]))}let a=n>i?n:i;return Number.parseInt(e.toFixed(a).replace(".",""))%Number.parseInt(t.toFixed(a).replace(".",""))/10**a}e.s(["$ZodAsyncError",0,sb,"$ZodEncodeError",0,sy,"$brand",0,sx,"$constructor",0,sg,"NEVER",0,sf,"config",0,sw,"globalConfig",0,sv],197753);let sN=Symbol("evaluating");function sT(e,t,n){let r;Object.defineProperty(e,t,{get(){if(r!==sN)return void 0===r&&(r=sN,r=n()),r},set(n){Object.defineProperty(e,t,{value:n})},configurable:!0})}function sA(e,t,n){Object.defineProperty(e,t,{value:n,writable:!0,enumerable:!0,configurable:!0})}function sP(...e){let t={};for(let n of e)Object.assign(t,Object.getOwnPropertyDescriptors(n));return Object.defineProperties({},t)}function sE(e){return JSON.stringify(e)}function sD(e){return e.toLowerCase().trim().replace(/[^\w\s-]/g,"").replace(/[\s_-]+/g,"-").replace(/^-+|-+$/g,"")}let sM="captureStackTrace"in Error?Error.captureStackTrace:(...e)=>{};function sz(e){return"object"==typeof e&&null!==e&&!Array.isArray(e)}let sF=sj(()=>{if("u">typeof navigator&&navigator?.userAgent?.includes("Cloudflare"))return!1;try{return Function(""),!0}catch(e){return!1}});function sO(e){if(!1===sz(e))return!1;let t=e.constructor;if(void 0===t||"function"!=typeof t)return!0;let n=t.prototype;return!1!==sz(n)&&!1!==Object.prototype.hasOwnProperty.call(n,"isPrototypeOf")}function sL(e){return sO(e)?{...e}:Array.isArray(e)?[...e]:e}let sR=new Set(["string","number","symbol"]),sB=new Set(["string","number","bigint","boolean","symbol","undefined"]);function sU(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function sZ(e,t,n){let r=new e._zod.constr(t??e._zod.def);return(!t||n?.parent)&&(r._zod.parent=e),r}function sG(e){if(!e)return{};if("string"==typeof e)return{error:()=>e};if(e?.message!==void 0){if(e?.error!==void 0)throw Error("Cannot specify both `message` and `error` params");e.error=e.message}return(delete e.message,"string"==typeof e.error)?{...e,error:()=>e.error}:e}function sW(e){return"bigint"==typeof e?e.toString()+"n":"string"==typeof e?`"${e}"`:`${e}`}function sH(e){return Object.keys(e).filter(t=>"optional"===e[t]._zod.optin&&"optional"===e[t]._zod.optout)}let sV={safeint:[Number.MIN_SAFE_INTEGER,Number.MAX_SAFE_INTEGER],int32:[-0x80000000,0x7fffffff],uint32:[0,0xffffffff],float32:[-34028234663852886e22,34028234663852886e22],float64:[-Number.MAX_VALUE,Number.MAX_VALUE]},sq={int64:[BigInt("-9223372036854775808"),BigInt("9223372036854775807")],uint64:[BigInt(0),BigInt("18446744073709551615")]};function sK(e,t=0){if(!0===e.aborted)return!0;for(let n=t;n<e.issues.length;n++)if(e.issues[n]?.continue!==!0)return!0;return!1}function sJ(e,t){return t.map(t=>(t.path??(t.path=[]),t.path.unshift(e),t))}function sX(e){return"string"==typeof e?e:e?.message}function sY(e,t,n){let r={...e,path:e.path??[]};return e.message||(r.message=sX(e.inst?._zod.def?.error?.(e))??sX(t?.error?.(e))??sX(n.customError?.(e))??sX(n.localeError?.(e))??"Invalid input"),delete r.inst,delete r.continue,t?.reportInput||delete r.input,r}function sQ(e){return e instanceof Set?"set":e instanceof Map?"map":e instanceof File?"file":"unknown"}function s0(e){return Array.isArray(e)?"array":"string"==typeof e?"string":"unknown"}function s1(e){let t=typeof e;switch(t){case"number":return Number.isNaN(e)?"nan":"number";case"object":if(null===e)return"null";if(Array.isArray(e))return"array";if(e&&Object.getPrototypeOf(e)!==Object.prototype&&"constructor"in e&&e.constructor)return e.constructor.name}return t}function s2(...e){let[t,n,r]=e;return"string"==typeof t?{message:t,code:"custom",input:n,inst:r}:{...t}}function s5(e){let t=atob(e),n=new Uint8Array(t.length);for(let e=0;e<t.length;e++)n[e]=t.charCodeAt(e);return n}function s4(e){let t="";for(let n=0;n<e.length;n++)t+=String.fromCharCode(e[n]);return btoa(t)}e.s(["BIGINT_FORMAT_RANGES",0,sq,"Class",0,class{constructor(...e){}},"NUMBER_FORMAT_RANGES",0,sV,"aborted",0,sK,"allowsEval",0,sF,"assert",0,function(e){},"assertEqual",0,function(e){return e},"assertIs",0,function(e){},"assertNever",0,function(e){throw Error("Unexpected value in exhaustive check")},"assertNotEqual",0,function(e){return e},"assignProp",0,sA,"base64ToUint8Array",0,s5,"base64urlToUint8Array",0,function(e){let t=e.replace(/-/g,"+").replace(/_/g,"/"),n="=".repeat((4-t.length%4)%4);return s5(t+n)},"cached",0,sj,"captureStackTrace",0,sM,"cleanEnum",0,function(e){return Object.entries(e).filter(([e,t])=>Number.isNaN(Number.parseInt(e,10))).map(e=>e[1])},"cleanRegex",0,sI,"clone",0,sZ,"cloneDef",0,function(e){return sP(e._zod.def)},"createTransparentProxy",0,function(e){let t;return new Proxy({},{get:(n,r,i)=>(t??(t=e()),Reflect.get(t,r,i)),set:(n,r,i,a)=>(t??(t=e()),Reflect.set(t,r,i,a)),has:(n,r)=>(t??(t=e()),Reflect.has(t,r)),deleteProperty:(n,r)=>(t??(t=e()),Reflect.deleteProperty(t,r)),ownKeys:n=>
8(t??(t=e()),Reflect.ownKeys(t)),getOwnPropertyDescriptor:(n,r)=>(t??(t=e()),Reflect.getOwnPropertyDescriptor(t,r)),defineProperty:(n,r,i)=>(t??(t=e()),Reflect.defineProperty(t,r,i))})},"defineLazy",0,sT,"esc",0,sE,"escapeRegex",0,sU,"extend",0,function(e,t){if(!sO(t))throw Error("Invalid input to extend: expected a plain object");let n=e._zod.def.checks;if(n&&n.length>0){let n=e._zod.def.shape;for(let e in t)if(void 0!==Object.getOwnPropertyDescriptor(n,e))throw Error("Cannot overwrite keys on object schemas containing refinements. Use `.safeExtend()` instead.")}let r=sP(e._zod.def,{get shape(){let n={...e._zod.def.shape,...t};return sA(this,"shape",n),n}});return sZ(e,r)},"finalizeIssue",0,sY,"floatSafeRemainder",0,sC,"getElementAtPath",0,function(e,t){return t?t.reduce((e,t)=>e?.[t],e):e},"getEnumValues",0,s_,"getLengthableOrigin",0,s0,"getParsedType",0,e=>{let t=typeof e;switch(t){case"undefined":return"undefined";case"string":return"string";case"number":return Number.isNaN(e)?"nan":"number";case"boolean":return"boolean";case"function":return"function";case"bigint":return"bigint";case"symbol":return"symbol";case"object":if(Array.isArray(e))return"array";if(null===e)return"null";if(e.then&&"function"==typeof e.then&&e.catch&&"function"==typeof e.catch)return"promise";if("u">typeof Map&&e instanceof Map)return"map";if("u">typeof Set&&e instanceof Set)return"set";if("u">typeof Date&&e instanceof Date)return"date";if("u">typeof File&&e instanceof File)return"file";return"object";default:throw Error(`Unknown data type: ${t}`)}},"getSizableOrigin",0,sQ,"hexToUint8Array",0,function(e){let t=e.replace(/^0x/,"");if(t.length%2!=0)throw Error("Invalid hex string length");let n=new Uint8Array(t.length/2);for(let e=0;e<t.length;e+=2)n[e/2]=Number.parseInt(t.slice(e,e+2),16);return n},"isObject",0,sz,"isPlainObject",0,sO,"issue",0,s2,"joinValues",0,sk,"jsonStringifyReplacer",0,sS,"merge",0,function(e,t){let n=sP(e._zod.def,{get shape(){let n={...e._zod.def.shape,...t._zod.def.shape};return sA(this,"shape",n),n},get catchall(){return t._zod.def.catchall},checks:[]});return sZ(e,n)},"mergeDefs",0,sP,"normalizeParams",0,sG,"nullish",0,s$,"numKeys",0,function(e){let t=0;for(let n in e)Object.prototype.hasOwnProperty.call(e,n)&&t++;return t},"objectClone",0,function(e){return Object.create(Object.getPrototypeOf(e),Object.getOwnPropertyDescriptors(e))},"omit",0,function(e,t){let n=e._zod.def,r=n.checks;if(r&&r.length>0)throw Error(".omit() cannot be used on object schemas containing refinements");let i=sP(e._zod.def,{get shape(){let r={...e._zod.def.shape};for(let e in t){if(!(e in n.shape))throw Error(`Unrecognized key: "${e}"`);t[e]&&delete r[e]}return sA(this,"shape",r),r},checks:[]});return sZ(e,i)},"optionalKeys",0,sH,"parsedType",0,s1,"partial",0,function(e,t,n){let r=t._zod.def.checks;if(r&&r.length>0)throw Error(".partial() cannot be used on object schemas containing refinements");let i=sP(t._zod.def,{get shape(){let r=t._zod.def.shape,i={...r};if(n)for(let t in n){if(!(t in r))throw Error(`Unrecognized key: "${t}"`);n[t]&&(i[t]=e?new e({type:"optional",innerType:r[t]}):r[t])}else for(let t in r)i[t]=e?new e({type:"optional",innerType:r[t]}):r[t];return sA(this,"shape",i),i},checks:[]});return sZ(t,i)},"pick",0,function(e,t){let n=e._zod.def,r=n.checks;if(r&&r.length>0)throw Error(".pick() cannot be used on object schemas containing refinements");let i=sP(e._zod.def,{get shape(){let e={};for(let r in t){if(!(r in n.shape))throw Error(`Unrecognized key: "${r}"`);t[r]&&(e[r]=n.shape[r])}return sA(this,"shape",e),e},checks:[]});return sZ(e,i)},"prefixIssues",0,sJ,"primitiveTypes",0,sB,"promiseAllObject",0,function(e){let t=Object.keys(e);return Promise.all(t.map(t=>e[t])).then(e=>{let n={};for(let r=0;r<t.length;r++)n[t[r]]=e[r];return n})},"propertyKeyTypes",0,sR,"randomString",0,function(e=10){let t="abcdefghijklmnopqrstuvwxyz",n="";for(let r=0;r<e;r++)n+=t[Math.floor(Math.random()*t.length)];return n},"required",0,function(e,t,n){let r=sP(t._zod.def,{get shape(){let r=t._zod.def.shape,i={...r};if(n)for(let t in n){if(!(t in i))throw Error(`Unrecognized key: "${t}"`);n[t]&&(i[t]=new e({type:"nonoptional",innerType:r[t]}))}else for(let t in r)i[t]=new e({type:"nonoptional",innerType:r[t]});return sA(this,"shape",i),i}});return sZ(t,r)}
8,"safeExtend",0,function(e,t){if(!sO(t))throw Error("Invalid input to safeExtend: expected a plain object");let n=sP(e._zod.def,{get shape(){let n={...e._zod.def.shape,...t};return sA(this,"shape",n),n}});return sZ(e,n)},"shallowClone",0,sL,"slugify",0,sD,"stringifyPrimitive",0,sW,"uint8ArrayToBase64",0,s4,"uint8ArrayToBase64url",0,function(e){return s4(e).replace(/\+/g,"-").replace(/\//g,"_").replace(/=/g,"")},"uint8ArrayToHex",0,function(e){return Array.from(e).map(e=>e.toString(16).padStart(2,"0")).join("")},"unwrapMessage",0,sX],922143);let s3=(e,t)=>{e.name="$ZodError",Object.defineProperty(e,"_zod",{value:e._zod,enumerable:!1}),Object.defineProperty(e,"issues",{value:t,enumerable:!1}),e.message=JSON.stringify(t,sS,2),Object.defineProperty(e,"toString",{value:()=>e.message,enumerable:!1})},s6=sg("$ZodError",s3),s8=sg("$ZodError",s3,{Parent:Error});function s9(e,t=e=>e.message){let n={},r=[];for(let i of e.issues)i.path.length>0?(n[i.path[0]]=n[i.path[0]]||[],n[i.path[0]].push(t(i))):r.push(t(i));return{formErrors:r,fieldErrors:n}}function s7(e,t=e=>e.message){let n={_errors:[]},r=e=>{for(let i of e.issues)if("invalid_union"===i.code&&i.errors.length)i.errors.map(e=>r({issues:e}));else if("invalid_key"===i.code)r({issues:i.issues});else if("invalid_element"===i.code)r({issues:i.issues});else if(0===i.path.length)n._errors.push(t(i));else{let e=n,r=0;for(;r<i.path.length;){let n=i.path[r];r===i.path.length-1?(e[n]=e[n]||{_errors:[]},e[n]._errors.push(t(i))):e[n]=e[n]||{_errors:[]},e=e[n],r++}}};return r(e),n}function le(e,t=e=>e.message){let n={errors:[]},r=(e,i=[])=>{var a,o;for(let s of e.issues)if("invalid_union"===s.code&&s.errors.length)s.errors.map(e=>r({issues:e},s.path));else if("invalid_key"===s.code)r({issues:s.issues},s.path);else if("invalid_element"===s.code)r({issues:s.issues},s.path);else{let e=[...i,...s.path];if(0===e.length){n.errors.push(t(s));continue}let r=n,l=0;for(;l<e.length;){let n=e[l],i=l===e.length-1;"string"==typeof n?(r.properties??(r.properties={}),(a=r.properties)[n]??(a[n]={errors:[]}),r=r.properties[n]):(r.items??(r.items=[]),(o=r.items)[n]??(o[n]={errors:[]}),r=r.items[n]),i&&r.errors.push(t(s)),l++}}};return r(e),n}function lt(e){let t=[];for(let n of e.map(e=>"object"==typeof e?e.key:e))"number"==typeof n?t.push(`[${n}]`):"symbol"==typeof n?t.push(`[${JSON.stringify(String(n))}]`):/[^\w$]/.test(n)?t.push(`[${JSON.stringify(n)}]`):(t.length&&t.push("."),t.push(n));return t.join("")}function ln(e){let t=[];for(let n of[...e.issues].sort((e,t)=>(e.path??[]).length-(t.path??[]).length))t.push(`✖ ${n.message}`),n.path?.length&&t.push(`  → at ${lt(n.path)}`);return t.join("\n")}e.s(["$ZodError",0,s6,"$ZodRealError",0,s8,"flattenError",0,s9,"formatError",0,s7,"prettifyError",0,ln,"toDotPath",0,lt,"treeifyError",0,le],374969);let lr=e=>(t,n,r,i)=>{let a=r?Object.assign(r,{async:!1}):{async:!1},o=t._zod.run({value:n,issues:[]},a);if(o instanceof Promise)throw new sb;if(o.issues.length){let t=new(i?.Err??e)(o.issues.map(e=>sY(e,a,sw())));throw sM(t,i?.callee),t}return o.value},li=lr(s8),la=e=>async(t,n,r,i)=>{let a=r?Object.assign(r,{async:!0}):{async:!0},o=t._zod.run({value:n,issues:[]},a);if(o instanceof Promise&&(o=await o),o.issues.length){let t=new(i?.Err??e)(o.issues.map(e=>sY(e,a,sw())));throw sM(t,i?.callee),t}return o.value},lo=la(s8),ls=e=>(t,n,r)=>{let i=r?{...r,async:!1}:{async:!1},a=t._zod.run({value:n,issues:[]},i);if(a instanceof Promise)throw new sb;return a.issues.length?{success:!1,error:new(e??s6)(a.issues.map(e=>sY(e,i,sw())))}:{success:!0,data:a.value}},ll=ls(s8),lc=e=>async(t,n,r)=>{let i=r?Object.assign(r,{async:!0}):{async:!0},a=t._zod.run({value:n,issues:[]},i);return a instanceof Promise&&(a=await a),a.issues.length?{success:!1,error:new e(a.issues.map(e=>sY(e,i,sw())))}:{success:!0,data:a.value}},lu=lc(s8),ld=e=>(t,n,r)=>{let i=r?Object.assign(r,{direction:"backward"}):{direction:"backward"};return lr(e)(t,n,i)},lm=ld(s8),lp=e=>(t,n,r)=>lr(e)(t,n,r),lh=lp(s8),lf=e=>async(t,n,r)=>{let i=r?Object.assign(r,{direction:"backward"}):{direction:"backward"};return la(e)(t,n,i)},lg=lf(s8),lx=e=>async(t,n,r)=>la(e)(t,n,r),lb=lx(s8),ly=e=>(t,n,r)=>{let i=r?Object.assign(r,{direction:"backward"}):{direction:"backward"};return ls(e)(t,n,i)},lv=ly(s8),lw=e=>(t,n,r)=>ls(e)(t,n,r),l_=lw(s8),lk=e=>async(t,n,r)=>{let i=r?Object.assign(r,{direction:"backward"}):{direction:"backward"};return lc(e)(t,n,i)},lS=lk(s8),lj=e=>async(t,n,r)=>lc(e)(t,n,r),l$=lj(s8);e.s(["_decode",0,lp,"_decodeAsync",0,lx,"_encode",0,ld,"_encodeAsync",0,lf,"_parse",0,lr,"_parseAsync",0,la,"_safeDecode",0,lw,"_safeDecodeAsync",0,lj,"_safeEncode",0,ly,"_safeEncodeAsync",0,lk,"_safeParse",0,ls,"_safeParseAsync",0,lc,"decode",0,lh,"decodeAsync",0,lb,"encode",0,lm,"encodeAsync",0,lg,"parse",0,li,"parseAsync",0,lo,"s
8afeDecode",0,l_,"safeDecodeAsync",0,l$,"safeEncode",0,lv,"safeEncodeAsync",0,lS,"safeParse",0,ll,"safeParseAsync",0,lu],803108);let lI=/^[cC][^\s-]{8,}$/,lC=/^[0-9a-z]+$/,lN=/^[0-9A-HJKMNP-TV-Za-hjkmnp-tv-z]{26}$/,lT=/^[0-9a-vA-V]{20}$/,lA=/^[A-Za-z0-9]{27}$/,lP=/^[a-zA-Z0-9_-]{21}$/,lE=/^P(?:(\d+W)|(?!.*W)(?=\d|T\d)(\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+([.,]\d+)?S)?)?)$/,lD=/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$/,lM=e=>e?RegExp(`^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-${e}[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$`):/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$/,lz=lM(4),lF=lM(6),lO=lM(7),lL=/^(?!\.)(?!.*\.\.)([A-Za-z0-9_'+\-\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\-]*\.)+[A-Za-z]{2,}$/,lR=/^[^\s@"]{1,64}@[^\s@]{1,255}$/u;function lB(){return RegExp("^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$","u")}let lU=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/,lZ=/^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$/,lG=e=>{let t=sU(e??":");return RegExp(`^(?:[0-9A-F]{2}${t}){5}[0-9A-F]{2}$|^(?:[0-9a-f]{2}${t}){5}[0-9a-f]{2}$`)},lW=/^((25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\/([0-9]|[1-2][0-9]|3[0-2])$/,lH=/^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|::|([0-9a-fA-F]{1,4})?::([0-9a-fA-F]{1,4}:?){0,6})\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,lV=/^$|^(?:[0-9a-zA-Z+/]{4})*(?:(?:[0-9a-zA-Z+/]{2}==)|(?:[0-9a-zA-Z+/]{3}=))?$/,lq=/^[A-Za-z0-9_-]*$/,lK=/^\+[1-9]\d{6,14}$/,lJ="(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))",lX=RegExp(`^${lJ}$`);function lY(e){let t="(?:[01]\\d|2[0-3]):[0-5]\\d";return"number"==typeof e.precision?-1===e.precision?`${t}`:0===e.precision?`${t}:[0-5]\\d`:`${t}:[0-5]\\d\\.\\d{${e.precision}}`:`${t}(?::[0-5]\\d(?:\\.\\d+)?)?`}function lQ(e){return RegExp(`^${lY(e)}$`)}function l0(e){let t=lY({precision:e.precision}),n=["Z"];e.local&&n.push(""),e.offset&&n.push("([+-](?:[01]\\d|2[0-3]):[0-5]\\d)");let r=`${t}(?:${n.join("|")})`;return RegExp(`^${lJ}T(?:${r})$`)}let l1=e=>{let t=e?`[\\s\\S]{${e?.minimum??0},${e?.maximum??""}}`:"[\\s\\S]*";return RegExp(`^${t}$`)},l2=/^-?\d+n?$/,l5=/^-?\d+$/,l4=/^-?\d+(?:\.\d+)?$/,l3=/^(?:true|false)$/i,l6=/^null$/i,l8=/^undefined$/i,l9=/^[^A-Z]*$/,l7=/^[^a-z]*$/;function ce(e,t){return RegExp(`^[A-Za-z0-9+/]{${e}}${t}$`)}function ct(e){return RegExp(`^[A-Za-z0-9_-]{${e}}$`)}let cn=ce(22,"=="),cr=ct(22),ci=ce(27,"="),ca=ct(27),co=ce(43,"="),cs=ct(43),cl=ce(64,""),cc=ct(64),cu=ce(86,"=="),cd=ct(86);e.s(["base64",0,lV,"base64url",0,lq,"bigint",0,l2,"boolean",0,l3,"browserEmail",0,/^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/,"cidrv4",0,lW,"cidrv6",0,lH,"cuid",0,lI,"cuid2",0,lC,"date",0,lX,"datetime",0,l0,"domain",0,/^([a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?\.)+[a-zA-Z]{2,}$/,"duration",0,lE,"e164",0,lK,"email",0,lL,"emoji",0,lB,"extendedDuration",0,/^[-+]?P(?!$)(?:(?:[-+]?\d+Y)|(?:[-+]?\d+[.,]\d+Y$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:(?:[-+]?\d+W)|(?:[-+]?\d+[.,]\d+W$))?(?:(?:[-+]?\d+D)|(?:[-+]?\d+[.,]\d+D$))?(?:T(?=[\d+-])(?:(?:[-+]?\d+H)|(?:[-+]?\d+[.,]\d+H$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:[-+]?\d+(?:[.,]\d+)?S)?)??$/,"guid",0,lD,"hex",0,/^[0-9a-fA-F]*$/,"hostname",0,/^(?=.{1,253}\.?$)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[-0-9a-zA-Z]{0,61}[0-9a-zA-Z])?)*\.?$/,"html5Email",0,/^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/,"idnEmail",0,lR,"integer",0,l5,"ipv4",0,lU,"ipv6",0,lZ,"ksuid",0,lA,"lowercase",0,l9,"mac",0,lG,"md5_base64",0,cn,"md5_base64url",0,cr,"md5_hex",0,/^[0-9a-fA-F]{32}$/,"nanoid",0,lP,"null",0,l6,"number",0,l4,"rfc5322Email",0,/^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/,"sha1_base64",0,ci,"sha1_base64url",0,ca,"sha1_hex",0,/^[0-9a-fA-F]{40}$/,"sha256_base64",0,co,"sha256_base64url",0,cs,"sha256_hex",0,/^[0-9a-fA-F]{64}$/,"sha384_base64",0,cl,"sha384_base64url",0,cc,"sha384_hex",0,/^[0-9a-fA-F]{96}$/,"sha512_base64",0,cu,"sha512_base64url",0,cd,"sha512_hex",0,/^[0-9a-fA-F]{128}$/,"string",0,l1,"time",0,lQ,"ulid",0,lN,"undefined",0,l8,"unicodeEmail",0,lR,"uppercase",0,l7,"uuid",0,lM,"uuid4",0,lz,"uuid6",0,lF,"uuid7",0,lO,"xid",0,lT],682358);let cm=sg("$ZodCheck",(e,t)=>{var n;e._zod??(e._zod={}),e._zod.def=t,(n=e._zod).onattach??(n.onattach=[])}),cp={number:"number",bigint:"bigint",object:"date"},ch=sg("$ZodCheckLessThan",(e,t)=>{cm.init(e,t);let n=cp[typeof t.value];e._zod.onattach.push(e=>{let n=e._zod.bag,r=(t.inclusive?n.maximum:n.exclusiveMaximum)??1/0;t.value<r&&(t.inclusive?n.maximum=t.value:n.exclusiveMaximum=t.value)}),e._zod.check=r=>{(t.inclusive?r.value<=t.value:r.value<t.value)||r.issues.push({origin:n,code:"too_big",maximum:"object"==typeof t.value?t.value.getTime():t.value,input:r.value,inclusive:t.inclusive,inst:e,continue:!t.abort})}}),cf=sg("$ZodCheckGreaterThan",(e,t)=>{cm.init(e,t);let n=cp[typeof t.value];e._zod.onattach.push(e=>{let n=e._zod.bag,r=(t.inclusive?n.minimum:n.exclusiveMinimum)??-1/0;t.value>r&&(t.inclusive?n.minimum=t.value:n.exclusiveMinimum=t.value)}),e._zod.check=r=>{(t.inclusive?r.value>=t.value:r.value>t.value)||r.issues.push({origin:n,code:"too_small",minimum:"object"==typeof t.value?t.value.getTime():t.value,input:r.value,inclusive:t.inclusive,inst:e,continue:!t.abort})}}),cg=sg("$ZodCheckMultipleOf",(e,t)=>{cm.init(e,t),e._zod.onattach.push(e=>{var n;(n=e._zod.bag).multipleOf??(n.multipleOf=t.value)}),e._zod.check=n=>{if(typeof n.value!=typeof t.value)throw Error("Cannot mix number and bigint in multiple_of check.");("bigint"==typeof n.value?n.value%t.value===BigInt(0):0===sC(n.value,t.value))||n.issues.push({origin:typeof n.value,code:"not_multiple_of",divisor:t.value,input:n.value,inst:e,continue:!t.abort})}}),cx=sg("$ZodCheckNumberFormat",(e,t)=>{cm.init(e,t),t.format=t.format||"float64";let n=t.format?.includes("int"),r=n?"int":"number",[i,a]=sV[t.format];e._zod.onattach.push(e=>{let r=e._zod.bag;r.format=t.format,r.minimum=i,r.maximum=a,n&&(r.pattern=l5)}),e._zod.check=o=>{let s=o.value;if(n){if(!Number.isInteger(s))return void o.issues.push({expected:r,format:t.format,code:"invalid_type",continue:!1,input:s,inst:e});if(!Number.isSafeInteger(s))return void(s>
vendor: 4,714 bytes, line 8
80?o.issues.push({input:s,code:"too_big",maximum:Number.MAX_SAFE_INTEGER,note:"Integers must be within the safe integer range.",inst:e,origin:r,inclusive:!0,continue:!t.abort}):o.issues.push({input:s,code:"too_small",minimum:Number.MIN_SAFE_INTEGER,note:"Integers must be within the safe integer range.",inst:e,origin:r,inclusive:!0,continue:!t.abort}))}s<i&&o.issues.push({origin:"number",input:s,code:"too_small",minimum:i,inclusive:!0,inst:e,continue:!t.abort}),s>a&&o.issues.push({origin:"number",input:s,code:"too_big",maximum:a,inclusive:!0,inst:e,continue:!t.abort})}}),cb=sg("$ZodCheckBigIntFormat",(e,t)=>{cm.init(e,t);let[n,r]=sq[t.format];e._zod.onattach.push(e=>{let i=e._zod.bag;i.format=t.format,i.minimum=n,i.maximum=r}),e._zod.check=i=>{let a=i.value;a<n&&i.issues.push({origin:"bigint",input:a,code:"too_small",minimum:n,inclusive:!0,inst:e,continue:!t.abort}),a>r&&i.issues.push({origin:"bigint",input:a,code:"too_big",maximum:r,inclusive:!0,inst:e,continue:!t.abort})}}),cy=sg("$ZodCheckMaxSize",(e,t)=>{var n;cm.init(e,t),(n=e._zod.def).when??(n.when=e=>{let t=e.value;return!s$(t)&&void 0!==t.size}),e._zod.onattach.push(e=>{let n=e._zod.bag.maximum??1/0;t.maximum<n&&(e._zod.bag.maximum=t.maximum)}),e._zod.check=n=>{let r=n.value;r.size<=t.maximum||n.issues.push({origin:sQ(r),code:"too_big",maximum:t.maximum,inclusive:!0,input:r,inst:e,continue:!t.abort})}}),cv=sg("$ZodCheckMinSize",(e,t)=>{var n;cm.init(e,t),(n=e._zod.def).when??(n.when=e=>{let t=e.value;return!s$(t)&&void 0!==t.size}),e._zod.onattach.push(e=>{let n=e._zod.bag.minimum??-1/0;t.minimum>n&&(e._zod.bag.minimum=t.minimum)}),e._zod.check=n=>{let r=n.value;r.size>=t.minimum||n.issues.push({origin:sQ(r),code:"too_small",minimum:t.minimum,inclusive:!0,input:r,inst:e,continue:!t.abort})}}),cw=sg("$ZodCheckSizeEquals",(e,t)=>{var n;cm.init(e,t),(n=e._zod.def).when??(n.when=e=>{let t=e.value;return!s$(t)&&void 0!==t.size}),e._zod.onattach.push(e=>{let n=e._zod.bag;n.minimum=t.size,n.maximum=t.size,n.size=t.size}),e._zod.check=n=>{let r=n.value,i=r.size;if(i===t.size)return;let a=i>t.size;n.issues.push({origin:sQ(r),...a?{code:"too_big",maximum:t.size}:{code:"too_small",minimum:t.size},inclusive:!0,exact:!0,input:n.value,inst:e,continue:!t.abort})}}),c_=sg("$ZodCheckMaxLength",(e,t)=>{var n;cm.init(e,t),(n=e._zod.def).when??(n.when=e=>{let t=e.value;return!s$(t)&&void 0!==t.length}),e._zod.onattach.push(e=>{let n=e._zod.bag.maximum??1/0;t.maximum<n&&(e._zod.bag.maximum=t.maximum)}),e._zod.check=n=>{let r=n.value;if(r.length<=t.maximum)return;let i=s0(r);n.issues.push({origin:i,code:"too_big",maximum:t.maximum,inclusive:!0,input:r,inst:e,continue:!t.abort})}}),ck=sg("$ZodCheckMinLength",(e,t)=>{var n;cm.init(e,t),(n=e._zod.def).when??(n.when=e=>{let t=e.value;return!s$(t)&&void 0!==t.length}),e._zod.onattach.push(e=>{let n=e._zod.bag.minimum??-1/0;t.minimum>n&&(e._zod.bag.minimum=t.minimum)}),e._zod.check=n=>{let r=n.value;if(r.length>=t.minimum)return;let i=s0(r);n.issues.push({origin:i,code:"too_small",minimum:t.minimum,inclusive:!0,input:r,inst:e,continue:!t.abort})}}),cS=sg("$ZodCheckLengthEquals",(e,t)=>{var n;cm.init(e,t),(n=e._zod.def).when??(n.when=e=>{let t=e.value;return!s$(t)&&void 0!==t.length}),e._zod.onattach.push(e=>{let n=e._zod.bag;n.minimum=t.length,n.maximum=t.length,n.length=t.length}),e._zod.check=n=>{let r=n.value,i=r.length;if(i===t.length)return;let a=s0(r),o=i>t.length;n.issues.push({origin:a,...o?{code:"too_big",maximum:t.length}:{code:"too_small",minimum:t.length},inclusive:!0,exact:!0,input:n.value,inst:e,continue:!t.abort})}}),cj=sg("$ZodCheckStringFormat",(e,t)=>{var n,r;cm.init(e,t),e._zod.onattach.push(e=>{let n=e._zod.bag;n.format=t.format,t.pattern&&(n.patterns??(n.patterns=new Set),n.patterns.add(t.pattern))}),t.pattern?(n=e._zod).check??(n.check=n=>{t.pattern.lastIndex=0,t.pattern.test(n.value)||n.issues.push({origin:"string",code:"invalid_format",format:t.format,input:n.value,...t.pattern?{pattern:t.pattern.toString()}:{},inst:e,continue:!t.abort})}):(r=e._zod).check??(r.check=()=>{})}),c$=sg("$ZodCheckRegex",(e,t)=>{cj.init(e,t),e._zod.check=n=>{t.pattern.lastIndex=0,t.pattern.test(n.value)||n.issues.push({origin:"string",code:"invalid_format",format:"regex",input:n.value,pattern:t.pattern.toString(),inst:e,continue:!t.abort})}}),cI=sg("$ZodCheckLowerCase",(e,t)=>{t.pattern??(t.pattern=l9),cj.init(e,t)}),cC=sg("$ZodCheckUpperCase",(e,t)=>{t.pattern??(t.pattern=l7),cj.init(e,t)}),cN=sg("$ZodCheckIncludes",(e,t)=>{cm.init(e,t);let n=sU(t.includes),r=new RegExp("number"==typeof t.position?`^.{${t.position}}${n}`:n);t.pattern=r,e._zod.onattach.push(e=>{let t=e._zod.bag;t.patterns??(t.patterns=new Set),t.patterns.add(r)}),e._zod.check=n=>
8{n.value.includes(t.includes,t.position)||n.issues.push({origin:"string",code:"invalid_format",format:"includes",includes:t.includes,input:n.value,inst:e,continue:!t.abort})}}),cT=sg("$ZodCheckStartsWith",(e,t)=>{cm.init(e,t);let n=RegExp(`^${sU(t.prefix)}.*`);t.pattern??(t.pattern=n),e._zod.onattach.push(e=>{let t=e._zod.bag;t.patterns??(t.patterns=new Set),t.patterns.add(n)}),e._zod.check=n=>{n.value.startsWith(t.prefix)||n.issues.push({origin:"string",code:"invalid_format",format:"starts_with",prefix:t.prefix,input:n.value,inst:e,continue:!t.abort})}}),cA=sg("$ZodCheckEndsWith",(e,t)=>{cm.init(e,t);let n=RegExp(`.*${sU(t.suffix)}$`);t.pattern??(t.pattern=n),e._zod.onattach.push(e=>{let t=e._zod.bag;t.patterns??(t.patterns=new Set),t.patterns.add(n)}),e._zod.check=n=>{n.value.endsWith(t.suffix)||n.issues.push({origin:"string",code:"invalid_format",format:"ends_with",suffix:t.suffix,input:n.value,inst:e,continue:!t.abort})}});function cP(e,t,n){e.issues.length&&t.issues.push(...sJ(n,e.issues))}let cE=sg("$ZodCheckProperty",(e,t)=>{cm.init(e,t),e._zod.check=e=>{let n=t.schema._zod.run({value:e.value[t.property],issues:[]},{});if(n instanceof Promise)return n.then(n=>cP(n,e,t.property));cP(n,e,t.property)}}),cD=sg("$ZodCheckMimeType",(e,t)=>{cm.init(e,t);let n=new Set(t.mime);e._zod.onattach.push(e=>{e._zod.bag.mime=t.mime}),e._zod.check=r=>{n.has(r.value.type)||r.issues.push({code:"invalid_value",values:t.mime,input:r.value.type,inst:e,continue:!t.abort})}}),cM=sg("$ZodCheckOverwrite",(e,t)=>{cm.init(e,t),e._zod.check=e=>{e.value=t.tx(e.value)}});e.s(["$ZodCheck",0,cm,"$ZodCheckBigIntFormat",0,cb,"$ZodCheckEndsWith",0,cA,"$ZodCheckGreaterThan",0,cf,"$ZodCheckIncludes",0,cN,"$ZodCheckLengthEquals",0,cS,"$ZodCheckLessThan",0,ch,"$ZodCheckLowerCase",0,cI,"$ZodCheckMaxLength",0,c_,"$ZodCheckMaxSize",0,cy,"$ZodCheckMimeType",0,cD,"$ZodCheckMinLength",0,ck,"$ZodCheckMinSize",0,cv,"$ZodCheckMultipleOf",0,cg,"$ZodCheckNumberFormat",0,cx,"$ZodCheckOverwrite",0,cM,"$ZodCheckProperty",0,cE,"$ZodCheckRegex",0,c$,"$ZodCheckSizeEquals",0,cw,"$ZodCheckStartsWith",0,cT,"$ZodCheckStringFormat",0,cj,"$ZodCheckUpperCase",0,cC],355605);class cz{constructor(e=[]){this.content=[],this.indent=0,this&&(this.args=e)}indented(e){this.indent+=1,e(this),this.indent-=1}write(e){if("function"==typeof e){e(this,{execution:"sync"}),e(this,{execution:"async"});return}let t=e.split("\n").filter(e=>e),n=Math.min(...t.map(e=>e.length-e.trimStart().length));for(let e of t.map(e=>e.slice(n)).map(e=>" ".repeat(2*this.indent)+e))this.content.push(e)}compile(){return Function(...this?.args,[...(this?.content??[""]).map(e=>`  ${e}`)].join("\n"))}}e.s(["Doc",0,cz],698530);let cF={major:4,minor:3,patch:6};e.s(["version",0,cF],398477);let cO=sg("$ZodType",(e,t)=>{var n;e??(e={}),e._zod.def=t,e._zod.bag=e._zod.bag||{},e._zod.version=cF;let r=[...e._zod.def.checks??[]];for(let t of(e._zod.traits.has("$ZodCheck")&&r.unshift(e),r))for(let n of t._zod.onattach)n(e);if(0===r.length)(n=e._zod).deferred??(n.deferred=[]),e._zod.deferred?.push(()=>{e._zod.run=e._zod.parse});else{let t=(e,t,n)=>{let r,i=sK(e);for(let a of t){if(a._zod.def.when){if(!a._zod.def.when(e))continue}else if(i)continue;let t=e.issues.length,o=a._zod.check(e);if(o instanceof Promise&&n?.async===!1)throw new sb;if(r||o instanceof Promise)r=(r??Promise.resolve()).then(async()=>{await o,e.issues.length!==t&&(i||(i=sK(e,t)))});else{if(e.issues.length===t)continue;i||(i=sK(e,t))}}return r?r.then(()=>e):e},n=(n,i,a)=>{if(sK(n))return n.aborted=!0,n;let o=t(i,r,a);if(o instanceof Promise){if(!1===a.async)throw new sb;return o.then(t=>e._zod.parse(t,a))}return e._zod.parse(o,a)};e._zod.run=(i,a)=>
8{if(a.skipChecks)return e._zod.parse(i,a);if("backward"===a.direction){let t=e._zod.parse({value:i.value,issues:[]},{...a,skipChecks:!0});return t instanceof Promise?t.then(e=>n(e,i,a)):n(t,i,a)}let o=e._zod.parse(i,a);if(o instanceof Promise){if(!1===a.async)throw new sb;return o.then(e=>t(e,r,a))}return t(o,r,a)}}sT(e,"~standard",()=>({validate:t=>{try{let n=ll(e,t);return n.success?{value:n.data}:{issues:n.error?.issues}}catch(n){return lu(e,t).then(e=>e.success?{value:e.data}:{issues:e.error?.issues})}},vendor:"zod",version:1}))}),cL=sg("$ZodString",(e,t)=>{cO.init(e,t),e._zod.pattern=[...e?._zod.bag?.patterns??[]].pop()??l1(e._zod.bag),e._zod.parse=(n,r)=>{if(t.coerce)try{n.value=String(n.value)}catch(e){}return"string"==typeof n.value||n.issues.push({expected:"string",code:"invalid_type",input:n.value,inst:e}),n}}),cR=sg("$ZodStringFormat",(e,t)=>{cj.init(e,t),cL.init(e,t)}),cB=sg("$ZodGUID",(e,t)=>{t.pattern??(t.pattern=lD),cR.init(e,t)}),cU=sg("$ZodUUID",(e,t)=>{if(t.version){let e={v1:1,v2:2,v3:3,v4:4,v5:5,v6:6,v7:7,v8:8}[t.version];if(void 0===e)throw Error(`Invalid UUID version: "${t.version}"`);t.pattern??(t.pattern=lM(e))}else t.pattern??(t.pattern=lM());cR.init(e,t)}),cZ=sg("$ZodEmail",(e,t)=>{t.pattern??(t.pattern=lL),cR.init(e,t)}),cG=sg("$ZodURL",(e,t)=>{cR.init(e,t),e._zod.check=n=>{try{let r=n.value.trim(),i=new URL(r);t.hostname&&(t.hostname.lastIndex=0,t.hostname.test(i.hostname)||n.issues.push({code:"invalid_format",format:"url",note:"Invalid hostname",pattern:t.hostname.source,input:n.value,inst:e,continue:!t.abort})),t.protocol&&(t.protocol.lastIndex=0,t.protocol.test(i.protocol.endsWith(":")?i.protocol.slice(0,-1):i.protocol)||n.issues.push({code:"invalid_format",format:"url",note:"Invalid protocol",pattern:t.protocol.source,input:n.value,inst:e,continue:!t.abort})),t.normalize?n.value=i.href:n.value=r;return}catch(r){n.issues.push({code:"invalid_format",format:"url",input:n.value,inst:e,continue:!t.abort})}}}),cW=sg("$ZodEmoji",(e,t)=>{t.pattern??(t.pattern=lB()),cR.init(e,t)}),cH=sg("$ZodNanoID",(e,t)=>{t.pattern??(t.pattern=lP),cR.init(e,t)}),cV=sg("$ZodCUID",(e,t)=>{t.pattern??(t.pattern=lI),cR.init(e,t)}),cq=sg("$ZodCUID2",(e,t)=>{t.pattern??(t.pattern=lC),cR.init(e,t)}),cK=sg("$ZodULID",(e,t)=>{t.pattern??(t.pattern=lN),cR.init(e,t)}),cJ=sg("$ZodXID",(e,t)=>{t.pattern??(t.pattern=lT),cR.init(e,t)}),cX=sg("$ZodKSUID",(e,t)=>{t.pattern??(t.pattern=lA),cR.init(e,t)}),cY=sg("$ZodISODateTime",(e,t)=>{t.pattern??(t.pattern=l0(t)),cR.init(e,t)}),cQ=sg("$ZodISODate",(e,t)=>{t.pattern??(t.pattern=lX),cR.init(e,t)}),c0=sg("$ZodISOTime",(e,t)=>{t.pattern??(t.pattern=lQ(t)),cR.init(e,t)}),c1=sg("$ZodISODuration",(e,t)=>{t.pattern??(t.pattern=lE),cR.init(e,t)}),c2=sg("$ZodIPv4",(e,t)=>{t.pattern??(t.pattern=lU),cR.init(e,t),e._zod.bag.format="ipv4"}),c5=sg("$ZodIPv6",(e,t)=>{t.pattern??(t.pattern=lZ),cR.init(e,t),e._zod.bag.format="ipv6",e._zod.check=n=>{try{new URL(`http://[${n.value}]`)}catch{n.issues.push({code:"invalid_format",format:"ipv6",input:n.value,inst:e,continue:!t.abort})}}}),c4=sg("$ZodMAC",(e,t)=>{t.pattern??(t.pattern=lG(t.delimiter)),cR.init(e,t),e._zod.bag.format="mac"}),c3=sg("$ZodCIDRv4",(e,t)=>{t.pattern??(t.pattern=lW),cR.init(e,t)}),c6=sg("$ZodCIDRv6",(e,t)=>{t.pattern??(t.pattern=lH),cR.init(e,t),e._zod.check=n=>{let r=n.value.split("/");try{if(2!==r.length)throw Error();let[e,t]=r;if(!t)throw Error();let n=Number(t);if(`${n}`!==t||n<0||n>128)throw Error();new URL(`http://[${e}]`)}catch{n.issues.push({code:"invalid_format",format:"cidrv6",input:n.value,inst:e,continue:!t.abort})}}});function c8(e){if(""===e)return!0;if(e.length%4!=0)return!1;try{return atob(e),!0}catch{return!1}}let c9=sg("$ZodBase64",(e,t)=>{t.pattern??(t.pattern=lV),cR.init(e,t),e._zod.bag.contentEncoding="base64",e._zod.check=n=>{c8(n.value)||n.issues.push({code:"invalid_format",format:"base64",input:n.value,inst:e,continue:!t.abort})}});function c7(e){if(!lq.test(e))return!1;let t=e.replace(/[-_]/g,e=>"-"===e?"+":"/");return c8(t.padEnd(4*Math.ceil(t.length/4),"="))}let ue=sg("$ZodBase64URL",(e,t)=>{t.pattern??(t.pattern=lq),cR.init(e,t),e._zod.bag.contentEncoding="base64url",e._zod.check=n=>{c7(n.value)||n.issues.push({code:"invalid_format",format:"base64url",input:n.value,inst:e,continue:!t.abort})}}),ut=sg("$ZodE164",(e,t)=>{t.pattern??(t.pattern=lK),cR.init(e,t)});function un(e,t=null){try{let n=e.split(".");if(3!==n.length)return!1;let[r]=n;if(!r)return!1;let i=JSON.parse(atob(r));
8if("typ"in i&&i?.typ!=="JWT"||!i.alg||t&&(!("alg"in i)||i.alg!==t))return!1;return!0}catch{return!1}}let ur=sg("$ZodJWT",(e,t)=>{cR.init(e,t),e._zod.check=n=>{un(n.value,t.alg)||n.issues.push({code:"invalid_format",format:"jwt",input:n.value,inst:e,continue:!t.abort})}}),ui=sg("$ZodCustomStringFormat",(e,t)=>{cR.init(e,t),e._zod.check=n=>{t.fn(n.value)||n.issues.push({code:"invalid_format",format:t.format,input:n.value,inst:e,continue:!t.abort})}}),ua=sg("$ZodNumber",(e,t)=>{cO.init(e,t),e._zod.pattern=e._zod.bag.pattern??l4,e._zod.parse=(n,r)=>{if(t.coerce)try{n.value=Number(n.value)}catch(e){}let i=n.value;if("number"==typeof i&&!Number.isNaN(i)&&Number.isFinite(i))return n;let a="number"==typeof i?Number.isNaN(i)?"NaN":Number.isFinite(i)?void 0:"Infinity":void 0;return n.issues.push({expected:"number",code:"invalid_type",input:i,inst:e,...a?{received:a}:{}}),n}}),uo=sg("$ZodNumberFormat",(e,t)=>{cx.init(e,t),ua.init(e,t)}),us=sg("$ZodBoolean",(e,t)=>{cO.init(e,t),e._zod.pattern=l3,e._zod.parse=(n,r)=>{if(t.coerce)try{n.value=!!n.value}catch(e){}let i=n.value;return"boolean"==typeof i||n.issues.push({expected:"boolean",code:"invalid_type",input:i,inst:e}),n}}),ul=sg("$ZodBigInt",(e,t)=>{cO.init(e,t),e._zod.pattern=l2,e._zod.parse=(n,r)=>{if(t.coerce)try{n.value=BigInt(n.value)}catch(e){}return"bigint"==typeof n.value||n.issues.push({expected:"bigint",code:"invalid_type",input:n.value,inst:e}),n}}),uc=sg("$ZodBigIntFormat",(e,t)=>{cb.init(e,t),ul.init(e,t)}),uu=sg("$ZodSymbol",(e,t)=>{cO.init(e,t),e._zod.parse=(t,n)=>{let r=t.value;return"symbol"==typeof r||t.issues.push({expected:"symbol",code:"invalid_type",input:r,inst:e}),t}}),ud=sg("$ZodUndefined",(e,t)=>{cO.init(e,t),e._zod.pattern=l8,e._zod.values=new Set([void 0]),e._zod.optin="optional",e._zod.optout="optional",e._zod.parse=(t,n)=>{let r=t.value;return void 0===r||t.issues.push({expected:"undefined",code:"invalid_type",input:r,inst:e}),t}}),um=sg("$ZodNull",(e,t)=>{cO.init(e,t),e._zod.pattern=l6,e._zod.values=new Set([null]),e._zod.parse=(t,n)=>{let r=t.value;return null===r||t.issues.push({expected:"null",code:"invalid_type",input:r,inst:e}),t}}),up=sg("$ZodAny",(e,t)=>{cO.init(e,t),e._zod.parse=e=>e}),uh=sg("$ZodUnknown",(e,t)=>{cO.init(e,t),e._zod.parse=e=>e}),uf=sg("$ZodNever",(e,t)=>{cO.init(e,t),e._zod.parse=(t,n)=>(t.issues.push({expected:"never",code:"invalid_type",input:t.value,inst:e}),t)}),ug=sg("$ZodVoid",(e,t)=>{cO.init(e,t),e._zod.parse=(t,n)=>{let r=t.value;return void 0===r||t.issues.push({expected:"void",code:"invalid_type",input:r,inst:e}),t}}),ux=sg("$ZodDate",(e,t)=>{cO.init(e,t),e._zod.parse=(n,r)=>{if(t.coerce)try{n.value=new Date(n.value)}catch(e){}let i=n.value,a=i instanceof Date;return a&&!Number.isNaN(i.getTime())||n.issues.push({expected:"date",code:"invalid_type",input:i,...a?{received:"Invalid Date"}:{},inst:e}),n}});function ub(e,t,n){e.issues.length&&t.issues.push(...sJ(n,e.issues)),t.value[n]=e.value}let uy=sg("$ZodArray",(e,t)=>{cO.init(e,t),e._zod.parse=(n,r)=>{let i=n.value;if(!Array.isArray(i))return n.issues.push({expected:"array",code:"invalid_type",input:i,inst:e}),n;n.value=Array(i.length);let a=[];for(let e=0;e<i.length;e++){let o=i[e],s=t.element._zod.run({value:o,issues:[]},r);s instanceof Promise?a.push(s.then(t=>ub(t,n,e))):ub(s,n,e)}return a.length?Promise.all(a).then(()=>n):n}});function uv(e,t,n,r,i){if(e.issues.length){if(i&&!(n in r))return;t.issues.push(...sJ(n,e.issues))}void 0===e.value?n in r&&(t.value[n]=void 0):t.value[n]=e.value}function uw(e){let t=Object.keys(e.shape);for(let n of t)if(!e.shape?.[n]?._zod?.traits?.has("$ZodType"))throw Error(`Invalid element at key "${n}": expected a Zod schema`);let n=sH(e.shape);return{...e,keys:t,keySet:new Set(t),numKeys:t.length,optionalKeys:new Set(n)}}function u_(e,t,n,r,i,a){let o=[],s=i.keySet,l=i.catchall._zod,c=l.def.type,u="optional"===l.optout;for(let i in t){if(s.has(i))continue;if("never"===c){o.push(i);continue}let a=l.run({value:t[i],issues:[]},r);a instanceof Promise?e.push(a.then(e=>uv(e,n,i,t,u))):uv(a,n,i,t,u)}return(o.length&&n.issues.push({code:"unrecognized_keys",keys:o,input:t,inst:a}),e.length)?Promise.all(e).then(()=>n):n}let uk=sg("$ZodObject",(e,t)=>{let n;cO.init(e,t);let r=Object.getOwnPropertyDescriptor(t,"shape");if(!r?.get){let e=t.shape;Object.defineProperty(t,"shape",{get:()=>{let n={...e};return Object.defineProperty(t,"shape",{value:n}),n}})}let i=sj(()=>uw(t));sT(e._zod,"propValues",()=>{let e=t.shape,n={};for(let t in e){let r=e[t]._zod;if(r.values)for(let e of(n[t]??(n[t]=new Set),r.values))n[t].add(e)}return n});let a=t.catchall;e._zod.parse=(t,r)=>{n??(n=i.value);let o=t.value;
8if(!sz(o))return t.issues.push({expected:"object",code:"invalid_type",input:o,inst:e}),t;t.value={};let s=[],l=n.shape;for(let e of n.keys){let n=l[e],i="optional"===n._zod.optout,a=n._zod.run({value:o[e],issues:[]},r);a instanceof Promise?s.push(a.then(n=>uv(n,t,e,o,i))):uv(a,t,e,o,i)}return a?u_(s,o,t,r,i.value,e):s.length?Promise.all(s).then(()=>t):t}}),uS=sg("$ZodObjectJIT",(e,t)=>{let n,r;uk.init(e,t);let i=e._zod.parse,a=sj(()=>uw(t)),o=!sv.jitless,s=o&&sF.value,l=t.catchall;e._zod.parse=(c,u)=>{r??(r=a.value);let d=c.value;return sz(d)?o&&s&&u?.async===!1&&!0!==u.jitless?(n||(n=(e=>{let t=new cz(["shape","payload","ctx"]),n=a.value,r=e=>{let t=sE(e);return`shape[${t}]._zod.run({ value: input[${t}], issues: [] }, ctx)`};t.write("const input = payload.value;");let i=Object.create(null),o=0;for(let e of n.keys)i[e]=`key_${o++}`;for(let a of(t.write("const newResult = {};"),n.keys)){let n=i[a],o=sE(a),s=e[a],l=s?._zod?.optout==="optional";t.write(`const ${n} = ${r(a)};`),l?t.write(`
9        if (${n}.issues.length) {
10          if (${o} in input) {
11            payload.issues = payload.issues.concat(${n}.issues.map(iss => ({
12              ...iss,
13              path: iss.path ? [${o}, ...iss.path] : [${o}]
14            })));
15          }
16        }
17        
18        if (${n}.value === undefined) {
19          if (${o} in input) {
20            newResult[${o}] = undefined;
21          }
22        } else {
23          newResult[${o}] = ${n}.value;
24        }
25        
26      `):t.write(`
27        if (${n}.issues.length) {
28          payload.issues = payload.issues.concat(${n}.issues.map(iss => ({
29            ...iss,
30            path: iss.path ? [${o}, ...iss.path] : [${o}]
31          })));
32        }
33        
34        if (${n}.value === undefined) {
35          if (${o} in input) {
36            newResult[${o}] = undefined;
37          }
38        } else {
39          newResult[${o}] = ${n}.value;
40        }
41        
42      `)}t.write("payload.value = newResult;"),t.write("return payload;");let s=t.compile();return(t,n)=>s(e,t,n)})(t.shape)),c=n(c,u),l)?u_([],d,c,u,r,e):c:i(c,u):(c.issues.push({expected:"object",code:"invalid_type",input:d,inst:e}
42),c)}});function uj(e,t,n,r){for(let n of e)if(0===n.issues.length)return t.value=n.value,t;let i=e.filter(e=>!sK(e));return 1===i.length?(t.value=i[0].value,i[0]):(t.issues.push({code:"invalid_union",input:t.value,inst:n,errors:e.map(e=>e.issues.map(e=>sY(e,r,sw())))}),t)}let u$=sg("$ZodUnion",(e,t)=>{cO.init(e,t),sT(e._zod,"optin",()=>t.options.some(e=>"optional"===e._zod.optin)?"optional":void 0),sT(e._zod,"optout",()=>t.options.some(e=>"optional"===e._zod.optout)?"optional":void 0),sT(e._zod,"values",()=>{if(t.options.every(e=>e._zod.values))return new Set(t.options.flatMap(e=>Array.from(e._zod.values)))}),sT(e._zod,"pattern",()=>{if(t.options.every(e=>e._zod.pattern)){let e=t.options.map(e=>e._zod.pattern);return RegExp(`^(${e.map(e=>sI(e.source)).join("|")})$`)}});let n=1===t.options.length,r=t.options[0]._zod.run;e._zod.parse=(i,a)=>{if(n)return r(i,a);let o=!1,s=[];for(let e of t.options){let t=e._zod.run({value:i.value,issues:[]},a);if(t instanceof Promise)s.push(t),o=!0;else{if(0===t.issues.length)return t;s.push(t)}}return o?Promise.all(s).then(t=>uj(t,i,e,a)):uj(s,i,e,a)}});function uI(e,t,n,r){let i=e.filter(e=>0===e.issues.length);return 1===i.length?t.value=i[0].value:0===i.length?t.issues.push({code:"invalid_union",input:t.value,inst:n,errors:e.map(e=>e.issues.map(e=>sY(e,r,sw())))}):t.issues.push({code:"invalid_union",input:t.value,inst:n,errors:[],inclusive:!1}),t}let uC=sg("$ZodXor",(e,t)=>{u$.init(e,t),t.inclusive=!1;let n=1===t.options.length,r=t.options[0]._zod.run;e._zod.parse=(i,a)=>{if(n)return r(i,a);let o=!1,s=[];for(let e of t.options){let t=e._zod.run({value:i.value,issues:[]},a);t instanceof Promise?(s.push(t),o=!0):s.push(t)}return o?Promise.all(s).then(t=>uI(t,i,e,a)):uI(s,i,e,a)}}),uN=sg("$ZodDiscriminatedUnion",(e,t)=>{t.inclusive=!1,u$.init(e,t);let n=e._zod.parse;sT(e._zod,"propValues",()=>{let e={};for(let n of t.options){let r=n._zod.propValues;if(!r||0===Object.keys(r).length)throw Error(`Invalid discriminated union option at index "${t.options.indexOf(n)}"`);for(let[t,n]of Object.entries(r))for(let r of(e[t]||(e[t]=new Set),n))e[t].add(r)}return e});let r=sj(()=>{let e=t.options,n=new Map;for(let r of e){let e=r._zod.propValues?.[t.discriminator];if(!e||0===e.size)throw Error(`Invalid discriminated union option at index "${t.options.indexOf(r)}"`);for(let t of e){if(n.has(t))throw Error(`Duplicate discriminator value "${String(t)}"`);n.set(t,r)}}return n});e._zod.parse=(i,a)=>{let o=i.value;if(!sz(o))return i.issues.push({code:"invalid_type",expected:"object",input:o,inst:e}),i;let s=r.value.get(o?.[t.discriminator]);return s?s._zod.run(i,a):t.unionFallback?n(i,a):(i.issues.push({code:"invalid_union",errors:[],note:"No matching discriminator",discriminator:t.discriminator,input:o,path:[t.discriminator],inst:e}),i)}}),uT=sg("$ZodIntersection",(e,t)=>{cO.init(e,t),e._zod.parse=(e,n)=>{let r=e.value,i=t.left._zod.run({value:r,issues:[]},n),a=t.right._zod.run({value:r,issues:[]},n);return i instanceof Promise||a instanceof Promise?Promise.all([i,a]).then(([t,n])=>uA(e,t,n)):uA(e,i,a)}});function uA(e,t,n){let r,i=new Map;for(let n of t.issues)if("unrecognized_keys"===n.code)for(let e of(r??(r=n),n.keys))i.has(e)||i.set(e,{}),i.get(e).l=!0;else e.issues.push(n);for(let t of n.issues)if("unrecognized_keys"===t.code)for(let e of t.keys)i.has(e)||i.set(e,{}),i.get(e).r=!0;else e.issues.push(t);let a=[...i].filter(([,e])=>e.l&&e.r).map(([e])=>e);if(a.length&&r&&e.issues.push({...r,keys:a}),sK(e))return e;let o=function e(t,n){if(t===n||t instanceof Date&&n instanceof Date&&+t==+n)return{valid:!0,data:t};if(sO(t)&&sO(n)){let r=Object.keys(n),i=Object.keys(t).filter(e=>-1!==r.indexOf(e)),a={...t,...n};for(let r of i){let i=e(t[r],n[r]);if(!i.valid)return{valid:!1,mergeErrorPath:[r,...i.mergeErrorPath]};a[r]=i.data}return{valid:!0,data:a}}if(Array.isArray(t)&&Array.isArray(n)){if(t.length!==n.length)return{valid:!1,mergeErrorPath:[]};let r=[];for(let i=0;i<t.length;i++){let a=e(t[i],n[i]);if(!a.valid)return{valid:!1,mergeErrorPath:[i,...a.mergeErrorPath]};r.push(a.data)}return{valid:!0,data:r}}return{valid:!1,mergeErrorPath:[]}}(t.value,n.value);
42if(!o.valid)throw Error(`Unmergable intersection. Error path: ${JSON.stringify(o.mergeErrorPath)}`);return e.value=o.data,e}let uP=sg("$ZodTuple",(e,t)=>{cO.init(e,t);let n=t.items;e._zod.parse=(r,i)=>{let a=r.value;if(!Array.isArray(a))return r.issues.push({input:a,inst:e,expected:"tuple",code:"invalid_type"}),r;r.value=[];let o=[],s=[...n].reverse().findIndex(e=>"optional"!==e._zod.optin),l=-1===s?0:n.length-s;if(!t.rest){let t=a.length>n.length,i=a.length<l-1;if(t||i)return r.issues.push({...t?{code:"too_big",maximum:n.length,inclusive:!0}:{code:"too_small",minimum:n.length},input:a,inst:e,origin:"array"}),r}let c=-1;for(let e of n){if(++c>=a.length&&c>=l)continue;let t=e._zod.run({value:a[c],issues:[]},i);t instanceof Promise?o.push(t.then(e=>uE(e,r,c))):uE(t,r,c)}if(t.rest)for(let e of a.slice(n.length)){c++;let n=t.rest._zod.run({value:e,issues:[]},i);n instanceof Promise?o.push(n.then(e=>uE(e,r,c))):uE(n,r,c)}return o.length?Promise.all(o).then(()=>r):r}});function uE(e,t,n){e.issues.length&&t.issues.push(...sJ(n,e.issues)),t.value[n]=e.value}let uD=sg("$ZodRecord",(e,t)=>{cO.init(e,t),e._zod.parse=(n,r)=>{let i=n.value;if(!sO(i))return n.issues.push({expected:"record",code:"invalid_type",input:i,inst:e}),n;let a=[],o=t.keyType._zod.values;if(o){let s;n.value={};let l=new Set;for(let e of o)if("string"==typeof e||"number"==typeof e||"symbol"==typeof e){l.add("number"==typeof e?e.toString():e);let o=t.valueType._zod.run({value:i[e],issues:[]},r);o instanceof Promise?a.push(o.then(t=>{t.issues.length&&n.issues.push(...sJ(e,t.issues)),n.value[e]=t.value})):(o.issues.length&&n.issues.push(...sJ(e,o.issues)),n.value[e]=o.value)}for(let e in i)l.has(e)||(s=s??[]).push(e);s&&s.length>0&&n.issues.push({code:"unrecognized_keys",input:i,inst:e,keys:s})}else for(let o of(n.value={},Reflect.ownKeys(i))){if("__proto__"===o)continue;let s=t.keyType._zod.run({value:o,issues:[]},r);if(s instanceof Promise)throw Error("Async schemas not supported in object keys currently");if("string"==typeof o&&l4.test(o)&&s.issues.length){let e=t.keyType._zod.run({value:Number(o),issues:[]},r);if(e instanceof Promise)throw Error("Async schemas not supported in object keys currently");0===e.issues.length&&(s=e)}if(s.issues.length){"loose"===t.mode?n.value[o]=i[o]:n.issues.push({code:"invalid_key",origin:"record",issues:s.issues.map(e=>sY(e,r,sw())),input:o,path:[o],inst:e});continue}let l=t.valueType._zod.run({value:i[o],issues:[]},r);l instanceof Promise?a.push(l.then(e=>{e.issues.length&&n.issues.push(...sJ(o,e.issues)),n.value[s.value]=e.value})):(l.issues.length&&n.issues.push(...sJ(o,l.issues)),n.value[s.value]=l.value)}return a.length?Promise.all(a).then(()=>n):n}}),uM=sg("$ZodMap",(e,t)=>{cO.init(e,t),e._zod.parse=(n,r)=>{let i=n.value;if(!(i instanceof Map))return n.issues.push({expected:"map",code:"invalid_type",input:i,inst:e}),n;let a=[];for(let[o,s]of(n.value=new Map,i)){let l=t.keyType._zod.run({value:o,issues:[]},r),c=t.valueType._zod.run({value:s,issues:[]},r);l instanceof Promise||c instanceof Promise?a.push(Promise.all([l,c]).then(([t,a])=>{uz(t,a,n,o,i,e,r)})):uz(l,c,n,o,i,e,r)}return a.length?Promise.all(a).then(()=>n):n}});function uz(e,t,n,r,i,a,o){e.issues.length&&(sR.has(typeof r)?n.issues.push(...sJ(r,e.issues)):n.issues.push({code:"invalid_key",origin:"map",input:i,inst:a,issues:e.issues.map(e=>sY(e,o,sw()))})),t.issues.length&&(sR.has(typeof r)?n.issues.push(...sJ(r,t.issues)):n.issues.push({origin:"map",code:"invalid_element",input:i,inst:a,key:r,issues:t.issues.map(e=>sY(e,o,sw()))})),n.value.set(e.value,t.value)}let uF=sg("$ZodSet",(e,t)=>{cO.init(e,t),e._zod.parse=(n,r)=>{let i=n.value;if(!(i instanceof Set))return n.issues.push({input:i,inst:e,expected:"set",code:"invalid_type"}),n;let a=[];for(let e of(n.value=new Set,i)){let i=t.valueType._zod.run({value:e,issues:[]},r);i instanceof Promise?a.push(i.then(e=>uO(e,n))):uO(i,n)}return a.length?Promise.all(a).then(()=>n):n}});function uO(e,t){e.issues.length&&t.issues.push(...e.issues),t.value.add(e.value)}let uL=sg("$ZodEnum",(e,t)=>{cO.init(e,t);let n=s_(t.entries),r=new Set(n);e._zod.values=r,e._zod.pattern=RegExp(`^(${n.filter(e=>sR.has(typeof e)).map(e=>"string"==typeof e?sU(e):e.toString()).join("|")})$`),e._zod.parse=(t,i)=>{let a=t.value;return r.has(a)||t.issues.push({code:"invalid_value",values:n,input:a,inst:e}),t}}),uR=sg("$ZodLiteral",(e,t)=>{if(cO.init(e,t),0===t.values.length)throw Error("Cannot create literal schema with no valid values");let n=new Set(t.values);e._zod.values=n,e._zod.pattern=RegExp(`^(${t.values.map(e=>"string"==typeof e?sU(e):e?sU(e.toString()):String(e)).join("|")})$`),e._zod.parse=(r,i)=>{let a=r.value;return n.has(a)||r.issues.push({code:"invalid_value",values:t.values,input:a,inst:e}),r}}),uB=sg("$ZodFile",(e,t)=>{cO.init(e,t),e._zod.parse=(t,n)=>{let r=t.value;return r instanceof File||t.issues.push({expected:"file",code:"invalid_type",input:r,inst:e}),t}}),uU=sg("$ZodTransform",(e,t)=>{cO.init(e,t),e._zod.parse=(n,r)=>{if("backward"===r.direction)throw new sy(e.constructor.name);
42let i=t.transform(n.value,n);if(r.async)return(i instanceof Promise?i:Promise.resolve(i)).then(e=>(n.value=e,n));if(i instanceof Promise)throw new sb;return n.value=i,n}});function uZ(e,t){return e.issues.length&&void 0===t?{issues:[],value:void 0}:e}let uG=sg("$ZodOptional",(e,t)=>{cO.init(e,t),e._zod.optin="optional",e._zod.optout="optional",sT(e._zod,"values",()=>t.innerType._zod.values?new Set([...t.innerType._zod.values,void 0]):void 0),sT(e._zod,"pattern",()=>{let e=t.innerType._zod.pattern;return e?RegExp(`^(${sI(e.source)})?$`):void 0}),e._zod.parse=(e,n)=>{if("optional"===t.innerType._zod.optin){let r=t.innerType._zod.run(e,n);return r instanceof Promise?r.then(t=>uZ(t,e.value)):uZ(r,e.value)}return void 0===e.value?e:t.innerType._zod.run(e,n)}}),uW=sg("$ZodExactOptional",(e,t)=>{uG.init(e,t),sT(e._zod,"values",()=>t.innerType._zod.values),sT(e._zod,"pattern",()=>t.innerType._zod.pattern),e._zod.parse=(e,n)=>t.innerType._zod.run(e,n)}),uH=sg("$ZodNullable",(e,t)=>{cO.init(e,t),sT(e._zod,"optin",()=>t.innerType._zod.optin),sT(e._zod,"optout",()=>t.innerType._zod.optout),sT(e._zod,"pattern",()=>{let e=t.innerType._zod.pattern;return e?RegExp(`^(${sI(e.source)}|null)$`):void 0}),sT(e._zod,"values",()=>t.innerType._zod.values?new Set([...t.innerType._zod.values,null]):void 0),e._zod.parse=(e,n)=>null===e.value?e:t.innerType._zod.run(e,n)}),uV=sg("$ZodDefault",(e,t)=>{cO.init(e,t),e._zod.optin="optional",sT(e._zod,"values",()=>t.innerType._zod.values),e._zod.parse=(e,n)=>{if("backward"===n.direction)return t.innerType._zod.run(e,n);if(void 0===e.value)return e.value=t.defaultValue,e;let r=t.innerType._zod.run(e,n);return r instanceof Promise?r.then(e=>uq(e,t)):uq(r,t)}});function uq(e,t){return void 0===e.value&&(e.value=t.defaultValue),e}let uK=sg("$ZodPrefault",(e,t)=>{cO.init(e,t),e._zod.optin="optional",sT(e._zod,"values",()=>t.innerType._zod.values),e._zod.parse=(e,n)=>("backward"===n.direction||void 0===e.value&&(e.value=t.defaultValue),t.innerType._zod.run(e,n))}),uJ=sg("$ZodNonOptional",(e,t)=>{cO.init(e,t),sT(e._zod,"values",()=>{let e=t.innerType._zod.values;return e?new Set([...e].filter(e=>void 0!==e)):void 0}),e._zod.parse=(n,r)=>{let i=t.innerType._zod.run(n,r);return i instanceof Promise?i.then(t=>uX(t,e)):uX(i,e)}});function uX(e,t){return e.issues.length||void 0!==e.value||e.issues.push({code:"invalid_type",expected:"nonoptional",input:e.value,inst:t}),e}let uY=sg("$ZodSuccess",(e,t)=>{cO.init(e,t),e._zod.parse=(e,n)=>{if("backward"===n.direction)throw new sy("ZodSuccess");let r=t.innerType._zod.run(e,n);return r instanceof Promise?r.then(t=>(e.value=0===t.issues.length,e)):(e.value=0===r.issues.length,e)}}),uQ=sg("$ZodCatch",(e,t)=>{cO.init(e,t),sT(e._zod,"optin",()=>t.innerType._zod.optin),sT(e._zod,"optout",()=>t.innerType._zod.optout),sT(e._zod,"values",()=>t.innerType._zod.values),e._zod.parse=(e,n)=>{if("backward"===n.direction)return t.innerType._zod.run(e,n);let r=t.innerType._zod.run(e,n);return r instanceof Promise?r.then(r=>(e.value=r.value,r.issues.length&&(e.value=t.catchValue({...e,error:{issues:r.issues.map(e=>sY(e,n,sw()))},input:e.value}),e.issues=[]),e)):(e.value=r.value,r.issues.length&&(e.value=t.catchValue({...e,error:{issues:r.issues.map(e=>sY(e,n,sw()))},input:e.value}),e.issues=[]),e)}}),u0=sg("$ZodNaN",(e,t)=>{cO.init(e,t),e._zod.parse=(t,n)=>("number"==typeof t.value&&Number.isNaN(t.value)||t.issues.push({input:t.value,inst:e,expected:"nan",code:"invalid_type"}),t)}),u1=sg("$ZodPipe",(e,t)=>{cO.init(e,t),sT(e._zod,"values",()=>t.in._zod.values),sT(e._zod,"optin",()=>t.in._zod.optin),sT(e._zod,"optout",()=>t.out._zod.optout),sT(e._zod,"propValues",()=>t.in._zod.propValues),e._zod.parse=(e,n)=>{if("backward"===n.direction){let r=t.out._zod.run(e,n);return r instanceof Promise?r.then(e=>u2(e,t.in,n)):u2(r,t.in,n)}let r=t.in._zod.run(e,n);return r instanceof Promise?r.then(e=>u2(e,t.out,n)):u2(r,t.out,n)}});function u2(e,t,n){return e.issues.length?(e.aborted=!0,e):t._zod.run({value:e.value,issues:e.issues},n)}let u5=sg("$ZodCodec",(e,t)=>{cO.init(e,t),sT(e._zod,"values",()=>t.in._zod.values),sT(e._zod,"optin",()=>t.in._zod.optin),sT(e._zod,"optout",()=>t.out._zod.optout),sT(e._zod,"propValues",()=>t.in._zod.propValues),e._zod.parse=(e,n)=>{if("forward"===(n.direction||"forward")){let r=t.in._zod.run(e,n);return r instanceof Promise?r.then(e=>u4(e,t,n)):u4(r,t,n)}{let r=t.out._zod.run(e,n);return r instanceof Promise?r.then(e=>u4(e,t,n)):u4(r,t,n)}}});function u4(e,t,n){if(e.issues.length)return e.aborted=!0,e;if("forward"===(n.direction||"forward")){let r=t.transform(e.value,e);return r instanceof Promise?r.then(r=>u3(e,r,t.out,n)):u3(e,r,t.out,n)}{let r=t.reverseTransform(e.value,e);return r instanceof Promise?r.then(r=>u3(e,r,t.in,n)):u3(e,r,t.in,n)}}function u3(e,t,n,r){return e.issues.length?(e.aborted=!0,e):n._zod.run({value:t,issues:e.issues},r)}let u6=sg("$ZodReadonly",(e,t)=>{cO.init(e,t),sT(e._zod,"propValues",()=>t.innerType._zod.propValues),sT(e._zod,"values",()=>t.innerType._zod.values),sT(e._zod,"optin",()=>t.innerType?._zod?.optin),sT(e._zod,"optout",()=>t.innerType?._zod?.optout),e._zod.parse=(e,n)=>{if("backward"===n.direction)return t.innerType._zod.run(e,n);let r=t.innerType._zod.run(e,n);return r instanceof Promise?r.then(u8):u8(r)}});function u8(e){return e.value=Object.freeze(e.value),e}let u9=sg("$ZodTemplateLiteral",(e,t)=>{cO.init(e,t);let n=[];for(let e of t.parts)if("object"==typeof e&&null!==e){if(!e._zod.pattern)throw Error(`Invalid template literal part, no pattern found: ${[...e._zod.traits].shift()}`);let t=e._zod.pattern instanceof RegExp?e._zod.pattern.source:e._zod.pattern;if(!t)throw Error(`Invalid template literal part: ${e._zod.traits}`);let r=+!!t.startsWith("^"),i=t.endsWith("$")?t.length-1:t.length;n.push(t.slice(r,i))}else if(null===e||sB.has(typeof e))n.push(sU(`${e}`));else throw Error(`Invalid template literal part: ${e}`);e._zod.pattern=RegExp(`^${n.join("")}$`),e._zod.parse=(n,r)=>("string"!=typeof n.value?n.issues.push({input:n.value,inst:e,expected:"string",code:"invalid_type"}):(e._zod.pattern.lastIndex=0,e._zod.pattern.test(n.value)||n.issues.push({input:n.value,inst:e,code:"invalid_format",format:t.format??"template_literal",pattern:e._zod.pattern.source})),n)}),u7=sg("$ZodFunction",(e,t)=>(cO.init(e,t),e._def=t,e._zod.def=t,e.implement=t=>{if("function"!=typeof t)throw Error("implement() must be called with a function");return function(...n){let r=Reflect.apply(t,this,e._def.input?li(e._def.input,n):n);return e._def.output?li(e._def.output,r):r}},e.implementAsync=t=>{if("function"!=typeof t)throw Error("implementAsync() must be called with a function");return async function(...n){let r=e._def.input?await lo(e._def.input,n):n,i=await Reflect.apply(t,this,r);return e._def.output?await lo(e._def.output,i):i}},e._zod.parse=(t,n)=>("function"!=typeof t.value?t.issues.push({code:"invalid_type",expected:"function",input:t.value,inst:e}):e._def.output&&"promise"===e._def.output._zod.def.type?t.value=e.implementAsync(t.value):t.value=e.implement(t.value),t),e.input=(...t)=>{let n=e.constructor;return new n(Array.isArray(t[0])?{type:"function",input:new uP({type:"tuple",items:t[0],rest:t[1]}),output:e._def.output}:{type:"function",input:t[0],output:e._def.output})},e.output=t=>new e.constructor({type:"function",input:e._def.input,output:t}),e)),de=sg("$ZodPromise",(e,t)=>{cO.init(e,t),e._zod.parse=(e,n)=>Promise.resolve(e.value).then(e=>t.innerType._zod.run({value:e,issues:[]},n))}),dt=sg("$ZodLazy",(e,t)=>{cO.init(e,t),sT(e._zod,"innerType",()=>t.getter()),sT(e._zod,"pattern",()=>e._zod.innerType?._zod?.pattern),sT(e._zod,"propValues",()=>e._zod.innerType?._zod?.propValues),sT(e._zod,"optin",()=>e._zod.innerType?._zod?.optin??void 0),sT(e._zod,"optout",()=>e._zod.innerType?._zod?.optout??void 0),e._zod.parse=(t,n)=>e._zod.innerType._zod.run(t,n)}),dn=sg("$ZodCustom",(e,t)=>{cm.init(e,t),cO.init(e,t),e._zod.parse=(e,t)=>e,e._zod.check=n=>{let r=n.value,i=t.fn(r);if(i instanceof Promise)return i.then(t=>dr(t,n,r,e));dr(i,n,r,e)}});function dr(e,t,n,r){if(!e){let e={code:"custom",input:n,inst:r,path:[...r._zod.def.path??[]],continue:!r._zod.def.abort};r._zod.def.params&&(e.params=r._zod.def.params),t.issues.push(s2(e))}}function di(e,t,n,r){let i=Math.abs(e),a=i%10,o=i%100;return o>=11&&o<=19?r:1===a?t:a>=2&&a<=4?n:r}function da(){let e,t,n;return{localeError:(e={string:{unit:"characters",verb:"to have"},file:{unit:"bytes",verb:"to have"},array:{unit:"items",verb:"to have"},set:{unit:"items",verb:"to have"},map:{unit:"entries",verb:"to have"}},t={regex:"input",email:"email address",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO datetime",date:"ISO date",time:"ISO time",duration:"ISO duration",ipv4:"IPv4 address",ipv6:"IPv6 address",mac:"MAC address",cidrv4:"IPv4 range",cidrv6:"IPv6 range",base64:"base64-encoded string",base64url:"base64url-encoded string",json_string:"JSON string",e164:"E.164 number",jwt:"JWT",template_literal:"input"},n={nan:"NaN"},r=>
42{switch(r.code){case"invalid_type":{let e=n[r.expected]??r.expected,t=s1(r.input),i=n[t]??t;return`Invalid input: expected ${e}, received ${i}`}case"invalid_value":if(1===r.values.length)return`Invalid input: expected ${sW(r.values[0])}`;return`Invalid option: expected one of ${sk(r.values,"|")}`;case"too_big":{let t=r.inclusive?"<=":"<",n=e[r.origin]??null;if(n)return`Too big: expected ${r.origin??"value"} to have ${t}${r.maximum.toString()} ${n.unit??"elements"}`;return`Too big: expected ${r.origin??"value"} to be ${t}${r.maximum.toString()}`}case"too_small":{let t=r.inclusive?">=":">",n=e[r.origin]??null;if(n)return`Too small: expected ${r.origin} to have ${t}${r.minimum.toString()} ${n.unit}`;return`Too small: expected ${r.origin} to be ${t}${r.minimum.toString()}`}case"invalid_format":if("starts_with"===r.format)return`Invalid string: must start with "${r.prefix}"`;if("ends_with"===r.format)return`Invalid string: must end with "${r.suffix}"`;if("includes"===r.format)return`Invalid string: must include "${r.includes}"`;if("regex"===r.format)return`Invalid string: must match pattern ${r.pattern}`;return`Invalid ${t[r.format]??r.format}`;case"not_multiple_of":return`Invalid number: must be a multiple of ${r.divisor}`;case"unrecognized_keys":return`Unrecognized key${r.keys.length>1?"s":""}: ${sk(r.keys,", ")}`;case"invalid_key":return`Invalid key in ${r.origin}`;case"invalid_union":default:return"Invalid input";case"invalid_element":return`Invalid value in ${r.origin}`}})}}function ds(e,t,n){return 1===Math.abs(e)?t:n}function dl(e){if(!e)return"";let t=e[e.length-1];return e+(["ա","ե","ը","ի","ո","ու","օ"].includes(t)?"ն":"ը")}function dc(){let e,t,n;return{localeError:(e={string:{unit:"តួអក្សរ",verb:"គួរមាន"},file:{unit:"បៃ",verb:"គួរមាន"},array:{unit:"ធាតុ",verb:"គួរមាន"},set:{unit:"ធាតុ",verb:"គួរមាន"}},t={regex:"ទិន្នន័យបញ្ចូល",email:"អាសយដ្ឋានអ៊ីមែល",url:"URL",emoji:"សញ្ញាអារម្មណ៍",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"កាលបរិច្ឆេទ និងម៉ោង ISO",date:"កាលបរិច្ឆេទ ISO",time:"ម៉ោង ISO",duration:"រយៈពេល ISO",ipv4:"អាសយដ្ឋាន IPv4",ipv6:"អាសយដ្ឋាន IPv6",cidrv4:"ដែនអាសយដ្ឋាន IPv4",cidrv6:"ដែនអាសយដ្ឋាន IPv6",base64:"ខ្សែអក្សរអ៊ិកូដ base64",base64url:"ខ្សែអក្សរអ៊ិកូដ base64url",json_string:"ខ្សែអក្សរ JSON",e164:"លេខ E.164",jwt:"JWT",template_literal:"ទិន្នន័យបញ្ចូល"},n={nan:"NaN",number:"លេខ",array:"អារេ (Array)",null:"គ្មានតម្លៃ (null)"},r=>{switch(r.code){case"invalid_type":{let e=n[r.expected]??r.expected,t=s1(r.input),i=n[t]??t;if(/^[A-Z]/.test(r.expected))return`ទិន្នន័យបញ្ចូលមិនត្រឹមត្រូវ៖ ត្រូវការ instanceof ${r.expected} ប៉ុន្តែទទួលបាន ${i}`;return`ទិន្នន័យបញ្ចូលមិនត្រឹមត្រូវ៖ ត្រូវការ ${e} ប៉ុន្តែទទួលបាន ${i}`}case"invalid_value":if(1===r.values.length)return`ទិន្នន័យបញ្ចូលមិនត្រឹមត្រូវ៖ ត្រូវការ ${sW(r.values[0])}`;return`ជម្រើសមិនត្រឹមត្រូវ៖ ត្រូវជាមួយក្នុងចំណោម ${sk(r.values,"|")}`;case"too_big":{let t=r.inclusive?"<=":"<",n=e[r.origin]??null;if(n)return`ធំពេក៖ ត្រូវការ ${r.origin??"តម្លៃ"} ${t} ${r.maximum.toString()} ${n.unit??"ធាតុ"}`;return`ធំពេក៖ ត្រូវការ ${r.origin??"តម្លៃ"} ${t} ${r.maximum.toString()}`}case"too_small":{let t=r.inclusive?">=":">",n=e[r.origin]??null;if(n)return`តូចពេក៖ ត្រូវការ ${r.origin} ${t} ${r.minimum.toString()} ${n.unit}`;return`តូចពេក៖ ត្រូវការ ${r.origin} ${t} ${r.minimum.toString()}`}
42case"invalid_format":if("starts_with"===r.format)return`ខ្សែអក្សរមិនត្រឹមត្រូវ៖ ត្រូវចាប់ផ្តើមដោយ "${r.prefix}"`;if("ends_with"===r.format)return`ខ្សែអក្សរមិនត្រឹមត្រូវ៖ ត្រូវបញ្ចប់ដោយ "${r.suffix}"`;if("includes"===r.format)return`ខ្សែអក្សរមិនត្រឹមត្រូវ៖ ត្រូវមាន "${r.includes}"`;if("regex"===r.format)return`ខ្សែអក្សរមិនត្រឹមត្រូវ៖ ត្រូវតែផ្គូផ្គងនឹងទម្រង់ដែលបានកំណត់ ${r.pattern}`;return`មិនត្រឹមត្រូវ៖ ${t[r.format]??r.format}`;case"not_multiple_of":return`លេខមិនត្រឹមត្រូវ៖ ត្រូវតែជាពហុគុណនៃ ${r.divisor}`;case"unrecognized_keys":return`រកឃើញសោមិនស្គាល់៖ ${sk(r.keys,", ")}`;case"invalid_key":return`សោមិនត្រឹមត្រូវនៅក្នុង ${r.origin}`;case"invalid_union":default:return"ទិន្នន័យមិនត្រឹមត្រូវ";case"invalid_element":return`ទិន្នន័យមិនត្រឹមត្រូវនៅក្នុង ${r.origin}`}})}}e.s(["$ZodAny",0,up,"$ZodArray",0,uy,"$ZodBase64",0,c9,"$ZodBase64URL",0,ue,"$ZodBigInt",0,ul,"$ZodBigIntFormat",0,uc,"$ZodBoolean",0,us,"$ZodCIDRv4",0,c3,"$ZodCIDRv6",0,c6,"$ZodCUID",0,cV,"$ZodCUID2",0,cq,"$ZodCatch",0,uQ,"$ZodCodec",0,u5,"$ZodCustom",0,dn,"$ZodCustomStringFormat",0,ui,"$ZodDate",0,ux,"$ZodDefault",0,uV,"$ZodDiscriminatedUnion",0,uN,"$ZodE164",0,ut,"$ZodEmail",0,cZ,"$ZodEmoji",0,cW,"$ZodEnum",0,uL,"$ZodExactOptional",0,uW,"$ZodFile",0,uB,"$ZodFunction",0,u7,"$ZodGUID",0,cB,"$ZodIPv4",0,c2,"$ZodIPv6",0,c5,"$ZodISODate",0,cQ,"$ZodISODateTime",0,cY,"$ZodISODuration",0,c1,"$ZodISOTime",0,c0,"$ZodIntersection",0,uT,"$ZodJWT",0,ur,"$ZodKSUID",0,cX,"$ZodLazy",0,dt,"$ZodLiteral",0,uR,"$ZodMAC",0,c4,"$ZodMap",0,uM,"$ZodNaN",0,u0,"$ZodNanoID",0,cH,"$ZodNever",0,uf,"$ZodNonOptional",0,uJ,"$ZodNull",0,um,"$ZodNullable",0,uH,"$ZodNumber",0,ua,"$ZodNumberFormat",0,uo,"$ZodObject",0,uk,"$ZodObjectJIT",0,uS,"$ZodOptional",0,uG,"$ZodPipe",0,u1,"$ZodPrefault",0,uK,"$ZodPromise",0,de,"$ZodReadonly",0,u6,"$ZodRecord",0,uD,"$ZodSet",0,uF,"$ZodString",0,cL,"$ZodStringFormat",0,cR,"$ZodSuccess",0,uY,"$ZodSymbol",0,uu,"$ZodTemplateLiteral",0,u9,"$ZodTransform",0,uU,"$ZodTuple",0,uP,"$ZodType",0,cO,"$ZodULID",0,cK,"$ZodURL",0,cG,"$ZodUUID",0,cU,"$ZodUndefined",0,ud,"$ZodUnion",0,u$,"$ZodUnknown",0,uh,"$ZodVoid",0,ug,"$ZodXID",0,cJ,"$ZodXor",0,uC,"isValidBase64",0,c8,"isValidBase64URL",0,c7,"isValidJWT",0,un],676094);let du=e=>e.charAt(0).toUpperCase()+e.slice(1);function dd(e){let t=Math.abs(e),n=t%10,r=t%100;return r>=11&&r<=19||0===n?"many":1===n?"one":"few"}function dm(e,t,n,r){let i=Math.abs(e),a=i%10,o=i%100;return o>=11&&o<=19?r:1===a?t:a>=2&&a<=4?n:r}function dp(){let e,t,n;return{localeError:(e={string:{unit:"символів",verb:"матиме"},file:{unit:"байтів",verb:"матиме"},array:{unit:"елементів",verb:"матиме"},set:{unit:"елементів",verb:"матиме"}},t={regex:"вхідні дані",email:"адреса електронної пошти",url:"URL",emoji:"емодзі",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"дата та час ISO",date:"дата ISO",time:"час ISO",duration:"тривалість ISO",ipv4:"адреса IPv4",ipv6:"адреса IPv6",cidrv4:"діапазон IPv4",cidrv6:"діапазон IPv6",base64:"рядок у кодуванні base64",base64url:"рядок у кодуванні base64url",json_string:"рядок JSON",e164:"номер E.164",jwt:"JWT",template_literal:"вхідні дані"},n={nan:"NaN",number:"число",array:"масив"},r=>{switch(r.code){case"invalid_type":{let e=n[r.expected]??r.expected,t=s1(r.input),i=n[t]??t;if(/^[A-Z]/.test(r.expected))return`Неправильні вхідні дані: очікується instanceof ${r.expected}, отримано ${i}`;return`Неправильні вхідні дані: очікується ${e}, отримано ${i}`}
42case"invalid_value":if(1===r.values.length)return`Неправильні вхідні дані: очікується ${sW(r.values[0])}`;return`Неправильна опція: очікується одне з ${sk(r.values,"|")}`;case"too_big":{let t=r.inclusive?"<=":"<",n=e[r.origin]??null;if(n)return`Занадто велике: очікується, що ${r.origin??"значення"} ${n.verb} ${t}${r.maximum.toString()} ${n.unit??"елементів"}`;return`Занадто велике: очікується, що ${r.origin??"значення"} буде ${t}${r.maximum.toString()}`}case"too_small":{let t=r.inclusive?">=":">",n=e[r.origin]??null;if(n)return`Занадто мале: очікується, що ${r.origin} ${n.verb} ${t}${r.minimum.toString()} ${n.unit}`;return`Занадто мале: очікується, що ${r.origin} буде ${t}${r.minimum.toString()}`}case"invalid_format":if("starts_with"===r.format)return`Неправильний рядок: повинен починатися з "${r.prefix}"`;if("ends_with"===r.format)return`Неправильний рядок: повинен закінчуватися на "${r.suffix}"`;if("includes"===r.format)return`Неправильний рядок: повинен містити "${r.includes}"`;if("regex"===r.format)return`Неправильний рядок: повинен відповідати шаблону ${r.pattern}`;return`Неправильний ${t[r.format]??r.format}`;case"not_multiple_of":return`Неправильне число: повинно бути кратним ${r.divisor}`;case"unrecognized_keys":return`Нерозпізнаний ключ${r.keys.length>1?"і":""}: ${sk(r.keys,", ")}`;case"invalid_key":return`Неправильний ключ у ${r.origin}`;case"invalid_union":default:return"Неправильні вхідні дані";case"invalid_element":return`Неправильне значення у ${r.origin}`}})}}e.s([],543365);let dh=Symbol("ZodOutput"),df=Symbol("ZodInput");class dg{constructor(){this._map=new WeakMap,this._idmap=new Map}add(e,...t){let n=t[0];return this._map.set(e,n),n&&"object"==typeof n&&"id"in n&&this._idmap.set(n.id,e),this}clear(){return this._map=new WeakMap,this._idmap=new Map,this}remove(e){let t=this._map.get(e);return t&&"object"==typeof t&&"id"in t&&this._idmap.delete(t.id),this._map.delete(e),this}get(e){let t=e._zod.parent;if(t){let n={...this.get(t)??{}};delete n.id;let r={...n,...this._map.get(e)};return Object.keys(r).length?r:void 0}return this._map.get(e)}has(e){return this._map.has(e)}}function dx(){return new dg}(t=globalThis).__zod_globalRegistry??(t.__zod_globalRegistry=dx());let db=globalThis.__zod_globalRegistry;function dy(e,t){return new e({type:"string",...sG(t)})}function dv(e,t){return new e({type:"string",coerce:!0,...sG(t)})}function dw(e,t){return new e({type:"string",format:"email",check:"string_format",abort:!1,...sG(t)})}function d_(e,t){return new e({type:"string",format:"guid",check:"string_format",abort:!1,...sG(t)})}function dk(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,...sG(t)})}function dS(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v4",...sG(t)})}function dj(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v6",...sG(t)})}function d$(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v7",...sG(t)})}function dI(e,t){return new e({type:"string",format:"url",check:"string_format",abort:!1,...sG(t)})}function dC(e,t){return new e({type:"string",format:"emoji",check:"string_format",abort:!1,...sG(t)})}function dN(e,t){return new e({type:"string",format:"nanoid",check:"string_format",abort:!1,...sG(t)})}function dT(e,t){return new e({type:"string",format:"cuid",check:"string_format",abort:!1,...sG(t)})}function dA(e,t){return new e({type:"string",format:"cuid2",check:"string_format",abort:!1,...sG(t)})}function dP(e,t){return new e({type:"string",format:"ulid",check:"string_format",abort:!1,...sG(t)})}function dE(e,t){return new e({type:"string",format:"xid",check:"string_format",abort:!1,...sG(t)})}function dD(e,t){return new e({type:"string",format:"ksuid",check:"string_format",abort:!1,...sG(t)})}function dM(e,t){return new e({type:"string",format:"ipv4",check:"string_format",abort:!1,...sG(t)})}function dz(e,t){return new e({type:"string",format:"ipv6",check:"string_format",abort:!1,...sG(t)})}function dF(e,t){return new e({type:"string",format:"mac",check:"string_format",abort:!1,...sG(t)})}function dO(e,t){return new e({type:"string",format:"cidrv4",check:"string_format",abort:!1,...sG(t)})}function dL(e,t){return new e({type:"string",format:"cidrv6",check:"string_format",abort:!1,...sG(t)})}function dR(e,t){return new e({type:"string",format:"base64",check:"string_format",abort:!1,...sG(t)})}function dB(e,t){return new e({type:"string",format:"base64url",check:"string_format",abort:!1,...sG(t)})}function dU(e,t){return new e({type:"string",format:"e164",check:"string_format",abort:!1,...sG(t)})}function dZ(e,t){return new e({type:"string",format:"jwt",check:"string_format",abort:!1,...sG(t)})}e.s(["$ZodRegistry",0,dg,"$input",0,df,"$output",0,dh,"globalRegistry",0,db,"registry",0,dx],525527);let dG={Any:null,Minute:-1,Second:0,Millisecond:3,Microsecond:6};function dW(e,t){return new e({type:"string",format:"datetime",check:"string_format",offset:!1,local:!1,precision:null,...sG(t)})}function dH(e,t){return new e({type:"string",format:"date",check:"string_format",...sG(t)})}function dV(e,t){return new e({type:"string",format:"time",check:"string_format",precision:null,...sG(t)})}function dq(e,t){return new e({type:"string",format:"duration",check:"string_format",...sG(t)})}function dK(e,t){return new e({type:"number",checks:[],...sG(t)})}function dJ(e,t){return new e({type:"number",coerce:!0,checks:[],...sG(t)})}function dX(e,t){return new e({type:"number",check:"number_format",abort:!1,format:"safeint",...sG(t)})}function dY(e,t){return new e({type:"number",check:"number_format",abort:!1,format:"float32",...sG(t)})}function dQ(e,t){return new e({type:"number",check:"number_format",abort:!1,format:"float64",...sG(t)})}function d0(e,t){return new e({type:"number",check:"number_format",abort:!1,format:"int32",...sG(t)})}function d1(e,t){return new e({type:"number",check:"number_format",abort:!1,format:"uint32",...sG(t)})}function d2(e,t){return new e({type:"boolean",...sG(t)})}function d5(e,t){return new e({type:"boolean",coerce:!0,...sG(t)})}function d4(e,t){return new e({type:"bigint",...sG(t)})}function d3(e,t){return new e({type:"bigint",coerce:!0,...sG(t)})}function d6(e,t){return new e({type:"bigint",check:"bigint_format",abort:!1,format:"int64",...sG(t)})}function d8(e,t){return new e({type:"bigint",check:"bigint_format",abort:!1,format:"uint64",...sG(t)})}function d9(e,t){return new e({type:"symbol",...sG(t)})}function d7(e,t){return new e({type:"undefined",...sG(t)})}function me(e,t){return new e({type:"null",...sG(t)})}function mt(e){return new e({type:"any"})}function mn(e){return new e({type:"unknown"})}function mr(e,t){return new e({type:"never",...sG(t)})}function mi(e,t){return new e({type:"void",...sG(t)})}function ma(e,t){return new e({type:"date",...sG(t)})}function mo(e,t){return new e({type:"date",coerce:!0,...sG(t)})}function ms(e,t){return new e({type:"nan",...sG(t)})}function ml(e,t){return new ch({check:"less_than",...sG(t),value:e,inclusive:!1})}function mc(e,t){return new ch({check:"less_than",...sG(t),value:e,inclusive:!0})}function mu(e,t){return new cf({check:"greater_than",...sG(t),value:e,inclusive:!1})}function md(e,t){return new cf({check:"greater_than",...sG(t),value:e,inclusive:!0})}function mm(e){return mu(0,e)}function mp(e){return ml(0,e)}function mh(e){return mc(0,e)}function mf(e){return md(0,e)}function mg(e,t){return new cg({check:"multiple_of",...sG(t),value:e})}function mx(e,t){return new cy({check:"max_size",...sG(t),maximum:e})}function mb(e,t){return new cv({check:"min_size",...sG(t),minimum:e})}function my(e,t){return new cw({check:"size_equals",...sG(t),size:e})}function mv(e,t){return new c_({check:"max_length",...sG(t),maximum:e})}function mw(e,t){return new ck({check:"min_length",...sG(t),minimum:e})}function m_(e,t){return new cS({check:"length_equals",...sG(t),length:e})}function mk(e,t){return new c$({check:"string_format",format:"regex",...sG(t),pattern:e})}function mS(e){return new cI({check:"string_format",format:"lowercase",...sG(e)})}
42function mj(e){return new cC({check:"string_format",format:"uppercase",...sG(e)})}function m$(e,t){return new cN({check:"string_format",format:"includes",...sG(t),includes:e})}function mI(e,t){return new cT({check:"string_format",format:"starts_with",...sG(t),prefix:e})}function mC(e,t){return new cA({check:"string_format",format:"ends_with",...sG(t),suffix:e})}function mN(e,t,n){return new cE({check:"property",property:e,schema:t,...sG(n)})}function mT(e,t){return new cD({check:"mime_type",mime:e,...sG(t)})}function mA(e){return new cM({check:"overwrite",tx:e})}function mP(e){return mA(t=>t.normalize(e))}function mE(){return mA(e=>e.trim())}function mD(){return mA(e=>e.toLowerCase())}function mM(){return mA(e=>e.toUpperCase())}function mz(){return mA(e=>sD(e))}function mF(e,t,n){return new e({type:"array",element:t,...sG(n)})}function mO(e,t,n){return new e({type:"union",options:t,...sG(n)})}function mL(e,t,n){return new e({type:"union",options:t,inclusive:!1,...sG(n)})}function mR(e,t,n,r){return new e({type:"union",options:n,discriminator:t,...sG(r)})}function mB(e,t,n){return new e({type:"intersection",left:t,right:n})}function mU(e,t,n,r){let i=n instanceof cO,a=i?r:n;return new e({type:"tuple",items:t,rest:i?n:null,...sG(a)})}function mZ(e,t,n,r){return new e({type:"record",keyType:t,valueType:n,...sG(r)})}function mG(e,t,n,r){return new e({type:"map",keyType:t,valueType:n,...sG(r)})}function mW(e,t,n){return new e({type:"set",valueType:t,...sG(n)})}function mH(e,t,n){return new e({type:"enum",entries:Array.isArray(t)?Object.fromEntries(t.map(e=>[e,e])):t,...sG(n)})}function mV(e,t,n){return new e({type:"enum",entries:t,...sG(n)})}function mq(e,t,n){return new e({type:"literal",values:Array.isArray(t)?t:[t],...sG(n)})}function mK(e,t){return new e({type:"file",...sG(t)})}function mJ(e,t){return new e({type:"transform",transform:t})}function mX(e,t){return new e({type:"optional",innerType:t})}function mY(e,t){return new e({type:"nullable",innerType:t})}function mQ(e,t,n){return new e({type:"default",innerType:t,get defaultValue(){return"function"==typeof n?n():sL(n)}})}function m0(e,t,n){return new e({type:"nonoptional",innerType:t,...sG(n)})}function m1(e,t){return new e({type:"success",innerType:t})}function m2(e,t,n){return new e({type:"catch",innerType:t,catchValue:"function"==typeof n?n:()=>n})}function m5(e,t,n){return new e({type:"pipe",in:t,out:n})}function m4(e,t){return new e({type:"readonly",innerType:t})}function m3(e,t,n){return new e({type:"template_literal",parts:t,...sG(n)})}function m6(e,t){return new e({type:"lazy",getter:t})}function m8(e,t){return new e({type:"promise",innerType:t})}function m9(e,t,n){let r=sG(n);return r.abort??(r.abort=!0),new e({type:"custom",check:"custom",fn:t,...r})}function m7(e,t,n){return new e({type:"custom",check:"custom",fn:t,...sG(n)})}function pe(e){let t=pt(n=>(n.addIssue=e=>{"string"==typeof e?n.issues.push(s2(e,n.value,t._zod.def)):(e.fatal&&(e.continue=!1),e.code??(e.code="custom"),e.input??(e.input=n.value),e.inst??(e.inst=t),e.continue??(e.continue=!t._zod.def.abort),n.issues.push(s2(e)))},e(n.value,n)));return t}function pt(e,t){let n=new cm({check:"custom",...sG(t)});return n._zod.check=e,n}function pn(e){let t=new cm({check:"describe"});return t._zod.onattach=[t=>{let n=db.get(t)??{};db.add(t,{...n,description:e})}],t._zod.check=()=>{},t}function pr(e){let t=new cm({check:"meta"});return t._zod.onattach=[t=>{let n=db.get(t)??{};db.add(t,{...n,...e})}],t._zod.check=()=>{},t}function pi(e,t){let n=sG(t),r=n.truthy??["true","1","yes","on","y","enabled"],i=n.falsy??["false","0","no","off","n","disabled"];"sensitive"!==n.case&&(r=r.map(e=>"string"==typeof e?e.toLowerCase():e),i=i.map(e=>"string"==typeof e?e.toLowerCase():e));let a=new Set(r),o=new Set(i),s=e.Codec??u5,l=e.Boolean??us,c=new s({type:"pipe",in:new(e.String??cL)({type:"string",error:n.error}),out:new l({type:"boolean",error:n.error}),transform:(e,t)=>{let r=e;return"sensitive"!==n.case&&(r=r.toLowerCase()),!!a.has(r)||!o.has(r)&&(t.issues.push({code:"invalid_value",expected:"stringbool",values:[...a,...o],input
42:t.value,inst:c,continue:!1}),{})},reverseTransform:(e,t)=>!0===e?r[0]||"true":i[0]||"false",error:n.error});return c}function pa(e,t,n,r={}){let i=sG(r),a={...sG(r),check:"string_format",type:"string",format:t,fn:"function"==typeof n?n:e=>n.test(e),...i};return n instanceof RegExp&&(a.pattern=n),new e(a)}function po(e){let t=e?.target??"draft-2020-12";return"draft-4"===t&&(t="draft-04"),"draft-7"===t&&(t="draft-07"),{processors:e.processors??{},metadataRegistry:e?.metadata??db,target:t,unrepresentable:e?.unrepresentable??"throw",override:e?.override??(()=>{}),io:e?.io??"output",counter:0,seen:new Map,cycles:e?.cycles??"ref",reused:e?.reused??"inline",external:e?.external??void 0}}function ps(e,t,n={path:[],schemaPath:[]}){var r;let i=e._zod.def,a=t.seen.get(e);if(a)return a.count++,n.schemaPath.includes(e)&&(a.cycle=n.path),a.schema;let o={schema:{},count:1,cycle:void 0,path:n.path};t.seen.set(e,o);let s=e._zod.toJSONSchema?.();if(s)o.schema=s;else{let r={...n,schemaPath:[...n.schemaPath,e],path:n.path};if(e._zod.processJSONSchema)e._zod.processJSONSchema(t,o.schema,r);else{let n=o.schema,a=t.processors[i.type];if(!a)throw Error(`[toJSONSchema]: Non-representable type encountered: ${i.type}`);a(e,t,n,r)}let a=e._zod.parent;a&&(o.ref||(o.ref=a),ps(a,t,r),t.seen.get(a).isParent=!0)}let l=t.metadataRegistry.get(e);return l&&Object.assign(o.schema,l),"input"===t.io&&function e(t,n){let r=n??{seen:new Set};if(r.seen.has(t))return!1;r.seen.add(t);let i=t._zod.def;if("transform"===i.type)return!0;if("array"===i.type)return e(i.element,r);if("set"===i.type)return e(i.valueType,r);if("lazy"===i.type)return e(i.getter(),r);if("promise"===i.type||"optional"===i.type||"nonoptional"===i.type||"nullable"===i.type||"readonly"===i.type||"default"===i.type||"prefault"===i.type)return e(i.innerType,r);if("intersection"===i.type)return e(i.left,r)||e(i.right,r);if("record"===i.type||"map"===i.type)return e(i.keyType,r)||e(i.valueType,r);if("pipe"===i.type)return e(i.in,r)||e(i.out,r);if("object"===i.type){for(let t in i.shape)if(e(i.shape[t],r))return!0;return!1}if("union"===i.type){for(let t of i.options)if(e(t,r))return!0;return!1}if("tuple"===i.type){for(let t of i.items)if(e(t,r))return!0;if(i.rest&&e(i.rest,r))return!0}return!1}(e)&&(delete o.schema.examples,delete o.schema.default),"input"===t.io&&o.schema._prefault&&((r=o.schema).default??(r.default=o.schema._prefault)),delete o.schema._prefault,t.seen.get(e).schema}function pl(e,t){let n=e.seen.get(t);if(!n)throw Error("Unprocessed schema. This is a bug in Zod.");let r=new Map;for(let t of e.seen.entries()){let n=e.metadataRegistry.get(t[0])?.id;if(n){let e=r.get(n);if(e&&e!==t[0])throw Error(`Duplicate schema id "${n}" detected during JSON Schema conversion. Two different schemas cannot share the same id when converted together.`);r.set(n,t[0])}}let i=t=>{if(t[1].schema.$ref)return;let r=t[1],{ref:i,defId:a}=(t=>{let r="draft-2020-12"===e.target?"$defs":"definitions";if(e.external){let n=e.external.registry.get(t[0])?.id,i=e.external.uri??(e=>e);if(n)return{ref:i(n)};let a=t[1].defId??t[1].schema.id??`schema${e.counter++}`;return t[1].defId=a,{defId:a,ref:`${i("__shared")}#/${r}/${a}`}}if(t[1]===n)return{ref:"#"};let i=`#/${r}/`,a=t[1].schema.id??`__schema${e.counter++}`;return{defId:a,ref:i+a}})(t);r.def={...r.schema},a&&(r.defId=a);let o=r.schema;for(let e in o)delete o[e];o.$ref=i};if("throw"===e.cycles)for(let t of e.seen.entries()){let e=t[1];if(e.cycle)throw Error(`Cycle detected: #/${e.cycle?.join("/")}/<root>
43
44Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.`)}for(let n of e.seen.entries()){let r=n[1];if(t===n[0]){i(n);continue}if(e.external){let r=e.external.registry.get(n[0])?.id;if(t!==n[0]&&r){i(n);continue}}if(e.metadataRegistry.get(n[0])?.id||r.cycle||r.count>1&&"ref"===e.reused){i(n);continue}}}function pc(e,t){let n=e.seen.get(t);if(!n)throw Error("Unprocessed schema. This is a bug in Zod.");let r=t=>{let n=e.seen.get(t);if(null===n.ref)return;let i=n.def??n.schema,a={...i},o=n.ref;if(n.ref=null,o){r(o);let n=e.seen.get(o),s=n.schema;if(s.$ref&&("draft-07"===e.target||"draft-04"===e.target||"openapi-3.0"===e.target)?(i.allOf=i.allOf??[],i.allOf.push(s)):Object.assign(i,s),Object.assign(i,a),t._zod.parent===o)for(let e in i)"$ref"!==e&&"allOf"!==e&&(e in a||delete i[e]);if(s.$ref&&n.def)for(let e in i)"$ref"!==e&&"allOf"!==e&&e in n.def&&JSON.stringify(i[e])===JSON.stringify(n.def[e])&&delete i[e]}let s=t._zod.parent;if(s&&s!==o){r(s);let t=e.seen.get(s);if(t?.schema.$ref&&(i.$ref=t.schema.$ref,t.def))for(let e in i)"$ref"!==e&&"allOf"!==e&&e in t.def&&JSON.stringify(i[e])===JSON.stringify(t.def[e])&&delete i[e]}e.override({zodSchema:t,jsonSchema:i,path:n.path??[]})};for(let t of[...e.seen.entries()].reverse())r(t[0]);let i={};
44if("draft-2020-12"===e.target?i.$schema="https://json-schema.org/draft/2020-12/schema":"draft-07"===e.target?i.$schema="http://json-schema.org/draft-07/schema#":"draft-04"===e.target?i.$schema="http://json-schema.org/draft-04/schema#":e.target,e.external?.uri){let n=e.external.registry.get(t)?.id;if(!n)throw Error("Schema is missing an `id` property");i.$id=e.external.uri(n)}Object.assign(i,n.def??n.schema);let a=e.external?.defs??{};for(let t of e.seen.entries()){let e=t[1];e.def&&e.defId&&(a[e.defId]=e.def)}e.external||Object.keys(a).length>0&&("draft-2020-12"===e.target?i.$defs=a:i.definitions=a);try{let n=JSON.parse(JSON.stringify(i));return Object.defineProperty(n,"~standard",{value:{...t["~standard"],jsonSchema:{input:pd(t,"input",e.processors),output:pd(t,"output",e.processors)}},enumerable:!1,writable:!1}),n}catch(e){throw Error("Error converting schema to JSON.")}}e.s(["TimePrecision",0,dG,"_any",0,mt,"_array",0,mF,"_base64",0,dR,"_base64url",0,dB,"_bigint",0,d4,"_boolean",0,d2,"_catch",0,m2,"_check",0,pt,"_cidrv4",0,dO,"_cidrv6",0,dL,"_coercedBigint",0,d3,"_coercedBoolean",0,d5,"_coercedDate",0,mo,"_coercedNumber",0,dJ,"_coercedString",0,dv,"_cuid",0,dT,"_cuid2",0,dA,"_custom",0,m9,"_date",0,ma,"_default",0,mQ,"_discriminatedUnion",0,mR,"_e164",0,dU,"_email",0,dw,"_emoji",0,dC,"_endsWith",0,mC,"_enum",0,mH,"_file",0,mK,"_float32",0,dY,"_float64",0,dQ,"_gt",0,mu,"_gte",0,md,"_guid",0,d_,"_includes",0,m$,"_int",0,dX,"_int32",0,d0,"_int64",0,d6,"_intersection",0,mB,"_ipv4",0,dM,"_ipv6",0,dz,"_isoDate",0,dH,"_isoDateTime",0,dW,"_isoDuration",0,dq,"_isoTime",0,dV,"_jwt",0,dZ,"_ksuid",0,dD,"_lazy",0,m6,"_length",0,m_,"_literal",0,mq,"_lowercase",0,mS,"_lt",0,ml,"_lte",0,mc,"_mac",0,dF,"_map",0,mG,"_max",0,mc,"_maxLength",0,mv,"_maxSize",0,mx,"_mime",0,mT,"_min",0,md,"_minLength",0,mw,"_minSize",0,mb,"_multipleOf",0,mg,"_nan",0,ms,"_nanoid",0,dN,"_nativeEnum",0,mV,"_negative",0,mp,"_never",0,mr,"_nonnegative",0,mf,"_nonoptional",0,m0,"_nonpositive",0,mh,"_normalize",0,mP,"_null",0,me,"_nullable",0,mY,"_number",0,dK,"_optional",0,mX,"_overwrite",0,mA,"_pipe",0,m5,"_positive",0,mm,"_promise",0,m8,"_property",0,mN,"_readonly",0,m4,"_record",0,mZ,"_refine",0,m7,"_regex",0,mk,"_set",0,mW,"_size",0,my,"_slugify",0,mz,"_startsWith",0,mI,"_string",0,dy,"_stringFormat",0,pa,"_stringbool",0,pi,"_success",0,m1,"_superRefine",0,pe,"_symbol",0,d9,"_templateLiteral",0,m3,"_toLowerCase",0,mD,"_toUpperCase",0,mM,"_transform",0,mJ,"_trim",0,mE,"_tuple",0,mU,"_uint32",0,d1,"_uint64",0,d8,"_ulid",0,dP,"_undefined",0,d7,"_union",0,mO,"_unknown",0,mn,"_uppercase",0,mj,"_url",0,dI,"_uuid",0,dk,"_uuidv4",0,dS,"_uuidv6",0,dj,"_uuidv7",0,d$,"_void",0,mi,"_xid",0,dE,"_xor",0,mL,"describe",0,pn,"meta",0,pr],650215);let pu=(e,t={})=>n=>{let r=po({...n,processors:t});return ps(e,r),pl(r,e),pc(r,e)},pd=(e,t,n={})=>r=>{let{libraryOptions:i,target:a}=r??{},o=po({...i??{},target:a,io:t,processors:n});return ps(e,o),pl(o,e),pc(o,e)};e.s(["createStandardJSONSchemaMethod",0,pd,"createToJSONSchemaMethod",0,pu,"extractDefs",0,pl,"finalize",0,pc,"initializeContext",0,po,"process",0,ps],34966);let pm={guid:"uuid",url:"uri",datetime:"date-time",json_string:"json-string",regex:""},pp=(e,t,n,r)=>{n.type="string";let{minimum:i,maximum:a,format:o,patterns:s,contentEncoding:l}=e._zod.bag;if("number"==typeof i&&(n.minLength=i),"number"==typeof a&&(n.maxLength=a),o&&(n.format=pm[o]??o,""===n.format&&delete n.format,"time"===o&&delete n.format),l&&(n.contentEncoding=l),s&&s.size>0){let e=[...s];1===e.length?n.pattern=e[0].source:e.length>1&&(n.allOf=[...e.map(e=>({..."draft-07"===t.target||"draft-04"===t.target||"openapi-3.0"===t.target?{type:"string"}:{},pattern:e.source}))])}},ph=(e,t,n,r)=>{let{minimum:i,maximum:a,format:o,multipleOf:s,exclusiveMaximum:l,exclusiveMinimum:c}=e._zod.bag;"string"==typeof o&&o.includes("int")?n.type="integer":n.type="number","number"==typeof c&&("draft-04"===t.target||"openapi-3.0"===t.target?(n.minimum=c,n.exclusiveMinimum=!0):n.exclusiveMinimum=c),"number"==typeof i&&(n.minimum=i,"number"==typeof c&&"draft-04"!==t.target&&(c>=i?delete n.minimum:delete n.exclusiveMinimum)),"number"==typeof l&&("draft-04"===t.target||"openapi-3.0"===t.target?(n.maximum=l,n.exclusiveMaximum=!0):n.exclusiveMaximum=l),"number"==typeof a&&(n.maximum=a,"number"==typeof l&&"draft-04"!==t.target&&(l<=a?delete n.maximum:delete n.exclusiveMaximum)),"number"==typeof s&&(n.multipleOf=s)},pf=(e,t,n,r)=>{n.type="boolean"},pg=(e,t,n,r)=>{if("throw"===t.unrepresentable)throw Error("BigInt cannot be represented in JSON Schema")},px=(e,t,n,r)=>{if("throw"===t.unrepresentable)throw Error("Symbols cannot be represented in JSON Schema")},pb=(e,t,n,r)=>{"openapi-3.0"===t.target?(n.type="string",n.nullable=!0,n.enum=[null]):n.type="null"},py=(e,t,n,r)=>{if("throw"===t.unrepresentable)throw Error("Undefined cannot be represented in JSON Schema")}
44,pv=(e,t,n,r)=>{if("throw"===t.unrepresentable)throw Error("Void cannot be represented in JSON Schema")},pw=(e,t,n,r)=>{n.not={}},p_=(e,t,n,r)=>{},pk=(e,t,n,r)=>{},pS=(e,t,n,r)=>{if("throw"===t.unrepresentable)throw Error("Date cannot be represented in JSON Schema")},pj=(e,t,n,r)=>{let i=s_(e._zod.def.entries);i.every(e=>"number"==typeof e)&&(n.type="number"),i.every(e=>"string"==typeof e)&&(n.type="string"),n.enum=i},p$=(e,t,n,r)=>{let i=e._zod.def,a=[];for(let e of i.values)if(void 0===e){if("throw"===t.unrepresentable)throw Error("Literal `undefined` cannot be represented in JSON Schema")}else if("bigint"==typeof e)if("throw"===t.unrepresentable)throw Error("BigInt literals cannot be represented in JSON Schema");else a.push(Number(e));else a.push(e);if(0===a.length);else if(1===a.length){let e=a[0];n.type=null===e?"null":typeof e,"draft-04"===t.target||"openapi-3.0"===t.target?n.enum=[e]:n.const=e}else a.every(e=>"number"==typeof e)&&(n.type="number"),a.every(e=>"string"==typeof e)&&(n.type="string"),a.every(e=>"boolean"==typeof e)&&(n.type="boolean"),a.every(e=>null===e)&&(n.type="null"),n.enum=a},pI=(e,t,n,r)=>{if("throw"===t.unrepresentable)throw Error("NaN cannot be represented in JSON Schema")},pC=(e,t,n,r)=>{let i=e._zod.pattern;if(!i)throw Error("Pattern not found in template literal");n.type="string",n.pattern=i.source},pN=(e,t,n,r)=>{let i={type:"string",format:"binary",contentEncoding:"binary"},{minimum:a,maximum:o,mime:s}=e._zod.bag;void 0!==a&&(i.minLength=a),void 0!==o&&(i.maxLength=o),s?1===s.length?(i.contentMediaType=s[0],Object.assign(n,i)):(Object.assign(n,i),n.anyOf=s.map(e=>({contentMediaType:e}))):Object.assign(n,i)},pT=(e,t,n,r)=>{n.type="boolean"},pA=(e,t,n,r)=>{if("throw"===t.unrepresentable)throw Error("Custom types cannot be represented in JSON Schema")},pP=(e,t,n,r)=>{if("throw"===t.unrepresentable)throw Error("Function types cannot be represented in JSON Schema")},pE=(e,t,n,r)=>{if("throw"===t.unrepresentable)throw Error("Transforms cannot be represented in JSON Schema")},pD=(e,t,n,r)=>{if("throw"===t.unrepresentable)throw Error("Map cannot be represented in JSON Schema")},pM=(e,t,n,r)=>{if("throw"===t.unrepresentable)throw Error("Set cannot be represented in JSON Schema")},pz=(e,t,n,r)=>{let i=e._zod.def,{minimum:a,maximum:o}=e._zod.bag;"number"==typeof a&&(n.minItems=a),"number"==typeof o&&(n.maxItems=o),n.type="array",n.items=ps(i.element,t,{...r,path:[...r.path,"items"]})},pF=(e,t,n,r)=>{let i=e._zod.def;n.type="object",n.properties={};let a=i.shape;for(let e in a)n.properties[e]=ps(a[e],t,{...r,path:[...r.path,"properties",e]});let o=new Set([...new Set(Object.keys(a))].filter(e=>{let n=i.shape[e]._zod;return"input"===t.io?void 0===n.optin:void 0===n.optout}));o.size>0&&(n.required=Array.from(o)),i.catchall?._zod.def.type==="never"?n.additionalProperties=!1:i.catchall?i.catchall&&(n.additionalProperties=ps(i.catchall,t,{...r,path:[...r.path,"additionalProperties"]})):"output"===t.io&&(n.additionalProperties=!1)},pO=(e,t,n,r)=>{let i=e._zod.def,a=!1===i.inclusive,o=i.options.map((e,n)=>ps(e,t,{...r,path:[...r.path,a?"oneOf":"anyOf",n]}));a?n.oneOf=o:n.anyOf=o},pL=(e,t,n,r)=>{let i=e._zod.def,a=ps(i.left,t,{...r,path:[...r.path,"allOf",0]}),o=ps(i.right,t,{...r,path:[...r.path,"allOf",1]}),s=e=>"allOf"in e&&1===Object.keys(e).length;n.allOf=[...s(a)?a.allOf:[a],...s(o)?o.allOf:[o]]},pR=(e,t,n,r)=>{let i=e._zod.def;n.type="array";let a="draft-2020-12"===t.target?"prefixItems":"items",o="draft-2020-12"===t.target||"openapi-3.0"===t.target?"items":"additionalItems",s=i.items.map((e,n)=>ps(e,t,{...r,path:[...r.path,a,n]})),l=i.rest?ps(i.rest,t,{...r,path:[...r.path,o,..."openapi-3.0"===t.target?[i.items.length]:[]]}):null;"draft-2020-12"===t.target?(n.prefixItems=s,l&&(n.items=l)):"open
44api-3.0"===t.target?(n.items={anyOf:s},l&&n.items.anyOf.push(l),n.minItems=s.length,l||(n.maxItems=s.length)):(n.items=s,l&&(n.additionalItems=l));let{minimum:c,maximum:u}=e._zod.bag;"number"==typeof c&&(n.minItems=c),"number"==typeof u&&(n.maxItems=u)},pB=(e,t,n,r)=>{let i=e._zod.def;n.type="object";let a=i.keyType,o=a._zod.bag,s=o?.patterns;if("loose"===i.mode&&s&&s.size>0){let e=ps(i.valueType,t,{...r,path:[...r.path,"patternProperties","*"]});for(let t of(n.patternProperties={},s))n.patternProperties[t.source]=e}else("draft-07"===t.target||"draft-2020-12"===t.target)&&(n.propertyNames=ps(i.keyType,t,{...r,path:[...r.path,"propertyNames"]})),n.additionalProperties=ps(i.valueType,t,{...r,path:[...r.path,"additionalProperties"]});let l=a._zod.values;if(l){let e=[...l].filter(e=>"string"==typeof e||"number"==typeof e);e.length>0&&(n.required=e)}},pU=(e,t,n,r)=>{let i=e._zod.def,a=ps(i.innerType,t,r),o=t.seen.get(e);"openapi-3.0"===t.target?(o.ref=i.innerType,n.nullable=!0):n.anyOf=[a,{type:"null"}]},pZ=(e,t,n,r)=>{let i=e._zod.def;ps(i.innerType,t,r),t.seen.get(e).ref=i.innerType},pG=(e,t,n,r)=>{let i=e._zod.def;ps(i.innerType,t,r),t.seen.get(e).ref=i.innerType,n.default=JSON.parse(JSON.stringify(i.defaultValue))},pW=(e,t,n,r)=>{let i=e._zod.def;ps(i.innerType,t,r),t.seen.get(e).ref=i.innerType,"input"===t.io&&(n._prefault=JSON.parse(JSON.stringify(i.defaultValue)))},pH=(e,t,n,r)=>{let i,a=e._zod.def;ps(a.innerType,t,r),t.seen.get(e).ref=a.innerType;try{i=a.catchValue(void 0)}catch{throw Error("Dynamic catch values are not supported in JSON Schema")}n.default=i},pV=(e,t,n,r)=>{let i=e._zod.def,a="input"===t.io?"transform"===i.in._zod.def.type?i.out:i.in:i.out;ps(a,t,r),t.seen.get(e).ref=a},pq=(e,t,n,r)=>{let i=e._zod.def;ps(i.innerType,t,r),t.seen.get(e).ref=i.innerType,n.readOnly=!0},pK=(e,t,n,r)=>{let i=e._zod.def;ps(i.innerType,t,r),t.seen.get(e).ref=i.innerType},pJ=(e,t,n,r)=>{let i=e._zod.def;ps(i.innerType,t,r),t.seen.get(e).ref=i.innerType},pX=(e,t,n,r)=>{let i=e._zod.innerType;ps(i,t,r),t.seen.get(e).ref=i},pY={string:pp,number:ph,boolean:pf,bigint:pg,symbol:px,null:pb,undefined:py,void:pv,never:pw,any:p_,unknown:pk,date:pS,enum:pj,literal:p$,nan:pI,template_literal:pC,file:pN,success:pT,custom:pA,function:pP,transform:pE,map:pD,set
44:pM,array:pz,object:pF,union:pO,intersection:pL,tuple:pR,record:pB,nullable:pU,nonoptional:pZ,default:pG,prefault:pW,catch:pH,pipe:pV,readonly:pq,promise:pK,optional:pJ,lazy:pX};function pQ(e,t){if("_idmap"in e){let n=po({...t,processors:pY}),r={};for(let t of e._idmap.entries()){let[e,r]=t;ps(r,n)}let i={};for(let a of(n.external={registry:e,uri:t?.uri,defs:r},e._idmap.entries())){let[e,t]=a;pl(n,t),i[e]=pc(n,t)}return Object.keys(r).length>0&&(i.__shared={["draft-2020-12"===n.target?"$defs":"definitions"]:r}),{schemas:i}}let n=po({...t,processors:pY});return ps(e,n),pl(n,e),pc(n,e)}e.s([],292135),e.s(["ZodAny",()=>f$,"ZodArray",()=>fz,"ZodBase64",()=>h2,"ZodBase64URL",()=>h4,"ZodBigInt",()=>ff,"ZodBigIntFormat",()=>fx,"ZodBoolean",()=>fp,"ZodCIDRv4",()=>hY,"ZodCIDRv6",()=>h0,"ZodCUID",()=>hz,"ZodCUID2",()=>hO,"ZodCatch",()=>gw,"ZodCodec",()=>gI,"ZodCustom",()=>gL,"ZodCustomStringFormat",()=>fe,"ZodDate",()=>fD,"ZodDefault",()=>gp,"ZodDiscriminatedUnion",()=>fV,"ZodE164",()=>h6,"ZodEmail",()=>hv,"ZodEmoji",()=>hP,"ZodEnum",()=>f8,"ZodExactOptional",()=>gl,"ZodFile",()=>gn,"ZodFunction",()=>gF,"ZodGUID",()=>h_,"ZodIPv4",()=>hH,"ZodIPv6",()=>hJ,"ZodIntersection",()=>fK,"ZodJWT",()=>h9,"ZodKSUID",()=>hG,"ZodLazy",()=>gE,"ZodLiteral",()=>ge,"ZodMAC",()=>hq,"ZodMap",()=>f5,"ZodNaN",()=>gk,"ZodNanoID",()=>hD,"ZodNever",()=>fT,"ZodNonOptional",()=>gx,"ZodNull",()=>fS,"ZodNullable",()=>gu,"ZodNumber",()=>fa,"ZodNumberFormat",()=>fs,"ZodObject",()=>fL,"ZodOptional",()=>go,"ZodPipe",()=>gj,"ZodPrefault",()=>gf,"ZodPromise",()=>gM,"ZodReadonly",()=>gN,"ZodRecord",()=>fQ,"ZodSet",()=>f3,"ZodString",()=>hx,"ZodStringFormat",()=>hy,"ZodSuccess",()=>gy,"ZodSymbol",()=>fv,"ZodTemplateLiteral",()=>gA,"ZodTransform",()=>gi,"ZodTuple",()=>fX,"ZodType",()=>hf,"ZodULID",()=>hR,"ZodURL",()=>hN,"ZodUUID",()=>hS,"ZodUndefined",()=>f_,"ZodUnion",()=>fZ,"ZodUnknown",()=>fC,"ZodVoid",()=>fP,"ZodXID",()=>hU,"ZodXor",()=>fW,"_ZodString",()=>hg,"_default",()=>gh,"_function",()=>gO,"any",()=>fI,"array",()=>fF,"base64",()=>h5,"base64url",()=>h3,"bigint",()=>fg,"boolean",()=>fh,"catch",()=>g_,"check",()=>gR,"cidrv4",()=>hQ,"cidrv6",()=>h1,"codec",()=>gC,"cuid",()=>hF,"cuid2",()=>hL,"custom",()=>gB,"date",()=>fM,"describe",()=>gG,"discriminatedUnion",()=>fq,"e164",()=>h8,"email",()=>hw,"emoji",()=>hE,"enum",()=>f9,"exactOptional",()=>gc,"file",()=>gr,"float32",()=>fc,"float64",()=>fu,"function",()=>gO,"guid",()=>hk,"hash",()=>fi,"hex",()=>fr,"hostname",()=>fn,"httpUrl",()=>hA,"instanceof",()=>gH,"int",()=>fl,"int32",()=>fd,"int64",()=>fb,"intersection",()=>fJ,"ipv4",()=>hV,"ipv6",()=>hX,"json",()=>gq,"jwt",()=>h7,"keyof",()=>fO,"ksuid",()=>hW,"lazy",()=>gD,"literal",()=>gt,"looseObject",()=>fU,"looseRecord",()=>f2,"mac",()=>hK,"map",()=>f4,"meta",()=>gW,"nan",()=>gS,"nanoid",()=>hM,"nativeEnum",()=>f7,"never",()=>fA,"nonoptional",()=>gb,"null",()=>fj,"nullable",()=>gd,"nullish",()=>gm,"number",()=>fo,"object",()=>fR,"optional",()=>gs,"partialRecord",()=>f1,"pipe",()=>g$,"prefault",()=>gg,"preprocess",()=>gK,"promise",()=>gz,"readonly",()=>gT,"record",()=>f0,"refine",()=>gU,"set",()=>f6,"strictObject",()=>fB,"string",()=>hb,"stringFormat",()=>ft,"stringbool",()=>gV,"success",()=>gv,"superRefine",()=>gZ,"symbol",()=>fw,"templateLiteral",()=>gP,"transform",()=>ga,"tuple",()=>fY,"uint32",()=>fm,"uint64",()=>fy,"ulid",()=>hB,"undefined",()=>fk,"union",()=>fG,"unknown",()=>fN,"url",()=>hT,"uuid",()=>hj,"uuidv4",()=>h$,"uuidv6",()=>hI,"uuidv7",()=>hC,"void",()=>fE,"xid",()=>hZ,"xor",()=>fH],362201);var p0=e.i(682358),p0=p0,p1=e.i(922143),p1=p1;e.s([],342332),e.s(["ZodISODate",()=>p4,"ZodISODateTime",()=>p2,"ZodISODuration",()=>p9,"ZodISOTime",()=>p6,"date",()=>p3,"datetime",()=>p5,"duration",()=>p7,"time",()=>p8],49732);let p2=sg("ZodISODateTime",(e,t)=>{cY.init(e,t),hy.init(e,t)});function p5(e){return dW(p2,e)}let p4=sg("ZodISODate",(e,t)=>{cQ.init(e,t),hy.init(e,t)});function p3(e){return dH(p4,e)}let p6=sg("ZodISOTime",(e,t)=>{c0.init(e,t),hy.init(e,t)});function p8(e){return dV(p6,e)}let p9=sg("ZodISODuration",(e,t)=>{c1.init(e,t),hy.init(e,t)});function p7(e){return dq(p9,e)}let he=(e,t)=>{s6.init(e,t),e.name="ZodError",Object.defineProperties(e,{format:{value:t=>s7(e,t)},flatten:{value:t=>s9(e,t)},addIssue:{value:t=>{e.issues.push(t),e.message=JSON.stringify(e.issues,sS,2)}},addIssues:{value:t=>{e.issues.push(...t),e.message=JSON.stringify(e.issues,sS,2)}},isEmpty:{get:()=>0===e.issues.length}})},ht=sg("ZodError",he),hn=sg("ZodError",he,{Parent:Error});e.s(["ZodError",0,ht,"ZodRealError",0,hn],789282);let hr=lr(hn),hi=la(hn),ha=ls(hn),ho=lc(hn),hs=ld(hn),hl=lp(hn),hc=lf(hn),hu=lx(hn),hd=ly(hn),hm=lw(hn),hp=lk(hn),hh=lj(hn);e.s(["decode",0,hl,"decodeAsync",0,hu,"encode",0,hs,"encodeAsync",0,hc,"parse",0,hr,"parseAsync",0,hi,"safeDecode",0,hm,"safeDecodeAsync",0,hh,"safeEncode",0,hd,"safeEncodeAsync",0,hp,"safeParse",0,ha,"safeParseAsync",0,ho],100364);let hf=sg("ZodType",(e,t)=>(cO.init(e,t),Object.assign(e["~standard"],{jsonSchema:{input:pd(e,"input"),output:pd(e,"output")}}),e.toJSONSchema=pu(e,{}),e.def=t,e.type=t.type,Object.defineProperty(e,"_def",{value:t}),e.check=(...n)=>e.clone(p1.mergeDefs(t,{checks:[...t.checks??[],...n.map(e=>"function"==typeof e?{_zod:{check:e,def:{check:"custom"},onattach:[]}}:e)]}),{parent:!0}),e.with=e.check,e.clone=(t,n)=>sZ(e,t,n),e.brand=()=>e,e.register=(t,n)=>(t.add(e,n),e),e.parse=(t,n)=>hr(e,t,n,{callee:e.parse}),e.safeParse=(t,n)=>ha(e,t,n),e.parseAsync=async(t,n)=>hi(e,t,n,{callee:e.parseAsync}),e.safeParseAsync=async(t,n)=>ho(e,t,n),e.spa=e.safeParseAsync,e.encode=(t,n)=>hs(e,t,n),e.decode=(t,n)=>hl(e,t,n),e.encodeAsync=async(t,n)=>hc(e,t,n),e.decodeAsync=async(t,n)=>hu(e,t,n),e.safeEncode=(t,n)=>hd(e,t,n),e.safeDecode=(t,n)=>hm(e,t,n),e.safeEncodeAsync=async(t,n)=>
44hp(e,t,n),e.safeDecodeAsync=async(t,n)=>hh(e,t,n),e.refine=(t,n)=>e.check(gU(t,n)),e.superRefine=t=>e.check(gZ(t)),e.overwrite=t=>e.check(mA(t)),e.optional=()=>gs(e),e.exactOptional=()=>gc(e),e.nullable=()=>gd(e),e.nullish=()=>gs(gd(e)),e.nonoptional=t=>gb(e,t),e.array=()=>fF(e),e.or=t=>fG([e,t]),e.and=t=>fJ(e,t),e.transform=t=>g$(e,ga(t)),e.default=t=>gh(e,t),e.prefault=t=>gg(e,t),e.catch=t=>g_(e,t),e.pipe=t=>g$(e,t),e.readonly=()=>gT(e),e.describe=t=>{let n=e.clone();return db.add(n,{description:t}),n},Object.defineProperty(e,"description",{get:()=>db.get(e)?.description,configurable:!0}),e.meta=(...t)=>{if(0===t.length)return db.get(e);let n=e.clone();return db.add(n,t[0]),n},e.isOptional=()=>e.safeParse(void 0).success,e.isNullable=()=>e.safeParse(null).success,e.apply=t=>t(e),e)),hg=sg("_ZodString",(e,t)=>{cL.init(e,t),hf.init(e,t),e._zod.processJSONSchema=(t,n,r)=>pp(e,t,n,r);let n=e._zod.bag;e.format=n.format??null,e.minLength=n.minimum??null,e.maxLength=n.maximum??null,e.regex=(...t)=>e.check(mk(...t)),e.includes=(...t)=>e.check(m$(...t)),e.startsWith=(...t)=>e.check(mI(...t)),e.endsWith=(...t)=>e.check(mC(...t)),e.min=(...t)=>e.check(mw(...t)),e.max=(...t)=>e.check(mv(...t)),e.length=(...t)=>e.check(m_(...t)),e.nonempty=(...t)=>e.check(mw(1,...t)),e.lowercase=t=>e.check(mS(t)),e.uppercase=t=>e.check(mj(t)),e.trim=()=>e.check(mE()),e.normalize=(...t)=>e.check(mP(...t)),e.toLowerCase=()=>e.check(mD()),e.toUpperCase=()=>e.check(mM()),e.slugify=()=>e.check(mz())}),hx=sg("ZodString",(e,t)=>{cL.init(e,t),hg.init(e,t),e.email=t=>e.check(dw(hv,t)),e.url=t=>e.check(dI(hN,t)),e.jwt=t=>e.check(dZ(h9,t)),e.emoji=t=>e.check(dC(hP,t)),e.guid=t=>e.check(d_(h_,t)),e.uuid=t=>e.check(dk(hS,t)),e.uuidv4=t=>e.check(dS(hS,t)),e.uuidv6=t=>e.check(dj(hS,t)),e.uuidv7=t=>e.check(d$(hS,t)),e.nanoid=t=>e.check(dN(hD,t)),e.guid=t=>e.check(d_(h_,t)),e.cuid=t=>e.check(dT(hz,t)),e.cuid2=t=>e.check(dA(hO,t)),e.ulid=t=>e.check(dP(hR,t)),e.base64=t=>e.check(dR(h2,t)),e.base64url=t=>e.check(dB(h4,t)),e.xid=t=>e.check(dE(hU,t)),e.ksuid=t=>e.check(dD(hG,t)),e.ipv4=t=>e.check(dM(hH,t)),e.ipv6=t=>e.check(dz(hJ,t)),e.cidrv4=t=>e.check(dO(hY,t)),e.cidrv6=t=>e.check(dL(h0,t)),e.e164=t=>e.check(dU(h6,t)),e.datetime=t=>e.check(p5(t)),e.date=t=>e.check(p3(t)),e.time=t=>e.check(p8(t)),e.duration=t=>e.check(p7(t))});function hb(e){return dy(hx,e)}let hy=sg("ZodStringFormat",(e,t)=>{cR.init(e,t),hg.init(e,t)}),hv=sg("ZodEmail",(e,t)=>{cZ.init(e,t),hy.init(e,t)});function hw(e){return dw(hv,e)}let h_=sg("ZodGUID",(e,t)=>{cB.init(e,t),hy.init(e,t)});function hk(e){return d_(h_,e)}let hS=sg("ZodUUID",(e,t)=>{cU.init(e,t),hy.init(e,t)});function hj(e){return dk(hS,e)}function h$(e){return dS(hS,e)}function hI(e){return dj(hS,e)}function hC(e){return d$(hS,e)}let hN=sg("ZodURL",(e,t)=>{cG.init(e,t),hy.init(e,t)});function hT(e){return dI(hN,e)}function hA(e){return dI(hN,{protocol:/^https?$/,hostname:p0.domain,...p1.normalizeParams(e)})}let hP=sg("ZodEmoji",(e,t)=>{cW.init(e,t),hy.init(e,t)});function hE(e){return dC(hP,e)}let hD=sg("ZodNanoID",(e,t)=>{cH.init(e,t),hy.init(e,t)});function hM(e){return dN(hD,e)}let hz=sg("ZodCUID",(e,t)=>{cV.init(e,t),hy.init(e,t)});function hF(e){return dT(hz,e)}let hO=sg("ZodCUID2",(e,t)=>{cq.init(e,t),hy.init(e,t)});function hL(e){return dA(hO,e)}let hR=sg("ZodULID",(e,t)=>{cK.init(e,t),hy.init(e,t)});function hB(e){return dP(hR,e)}let hU=sg("ZodXID",(e,t)=>{cJ.init(e,t),hy.init(e,t)});function hZ(e){return dE(hU,e)}let hG=sg("ZodKSUID",(e,t)=>{cX.init(e,t),hy.init(e,t)});function hW(e){return dD(hG,e)}let hH=sg("ZodIPv4",(e,t)=>{c2.init(e,t),hy.init(e,t)});function hV(e){return dM(hH,e)}let hq=sg("ZodMAC",(e,t)=>{c4.init(e,t),hy.init(e,t)});function hK(e){return dF(hq,e)}let hJ=sg("ZodIPv6",(e,t)=>{c5.init(e,t),hy.init(e,t)});function hX(e){return dz(hJ,e)}let hY=sg("ZodCIDRv4",(e,t)=>{c3.init(e,t),hy.init(e,t)});function hQ(e){return dO(hY,e)}let h0=sg("ZodCIDRv6",(e,t)=>{c6.init(e,t),hy.init(e,t)});function h1(e){return dL(h0,e)}let h2=sg("ZodBase64",(e,t)=>{c9.init(e,t),hy.init(e,t)});function h5(e){return dR(h2,e)}let h4=sg("ZodBase64URL",(e,t)=>{ue.init(e,t),hy.init(e,t)});function h3(e){return dB(h4,e)}let h6=sg("ZodE164",(e,t)=>{ut.init(e,t),hy.init(e,t)});function h8(e){return dU(h6,e)}let h9=sg("ZodJWT",(e,t)=>{ur.init(e,t),hy.init(e,t)});function h7(e){return dZ(h9,e)}let fe=sg("ZodCustomStringFormat",(e,t)=>{ui.init(e,t),hy.init(e,t)});function ft(e,t,n={}){return pa(fe,e,t,n)}function fn(e){return pa(fe,"hostname",p0.hostname,e)}function fr(e){return pa(fe,"hex",p0.hex,e)}function fi(e,t){let n=t?.enc??"hex",r=`${e}_${n}`,i=p0[r];if(!i)throw Error(`Unrecognized hash format: ${r}`);return pa(fe,r,i,t)}let fa=sg("ZodNumber",(e,t)=>{ua.init(e,t),hf.init(e,t),e._zod.processJSONSchema=(t,n,r)=>ph(e,t,n,r),e.gt=(t,n)=>e.check(mu(t,n)),e.gte=(t,n)=>e.check(md(t,n)),e.min=(t,n)=>e.check(md(t,n)),e.lt=(t,n)=>e.check(ml(t,n)),e.lte=(t,n)=>e.check(mc(t,n)),e.max=(t,n)=>e.check(mc(t,n)),e.int=t=>e.check(fl(t)),e.safe=t=>e.check(fl(t)),e.positive=t=>e.check(mu(0,t)),e.nonnegative=t=>e.check(md(0,t)),e.negative=t=>e.check(ml(0,t)),e.nonpositive=t=>e.check(mc(0,t)),e.multipleOf=(t,n)=>e.check(mg(t,n)),e.step=(t,n)=>e.check(mg(t,n)),e.finite=()=>e;let n=e._zod.bag;e.minValue=Math.max(n.minimum??-1/0,n.exclusiveMinimum??-1/0)??null,e.maxValue=Math.min(n.maximum??1/0,n.exclusiveMaximum??1/0)??null,e.isInt=(n.format??"").includes("int")||Number.isSafeInteger(n.multipleOf??.5),e.isFinite=!0,e.format=n.format??null});function fo(e){return dK(fa,e)}let fs=sg("ZodNumberFormat",(e,t)=>{uo.init(e,t),fa.init(e,t)});function fl(e){return dX(fs,e)}function fc(e){return dY(fs,e)}function fu(e){return dQ(fs,e)}function fd(e){return d0(fs,e)}function fm(e){return d1(fs,e)}let fp=sg("ZodBoolean",(e,t)=>{us.init(e,t),hf.init(e,t),e._zod.processJSONSchema=(t,n,r)=>pf(e,t,n,r)});function fh(e){return d2(fp,e)}let ff=sg("ZodBigInt",(e,t)=>{ul.init(e,t),hf.init(e,t),e._zod.processJSONSchema=(t,n,r)=>pg(e,t,n,r),e.gte=(t,n)=>e.check(md(t,n)),e.min=(t,n)=>e.check(md(t,n)),e.gt=(t,n)=>e.check(mu(t,n)),e.gte=(t,n)=>e.check(md(t,n)),e.min=(t,n)=>e.check(md(t,n)),e.lt=(t,n)=>e.check(ml(t,n)),e.lte=(t,n)=>e.check(mc(t,n)),e.max=(t,n)=>e.check(mc(t,n)),e.positive=t=>e.check(mu(BigInt(0),t)),e.negative=t=>e.check(ml(BigInt(0),t)),e.nonpositive=t=>e.check(mc(BigInt(0),t)),e.nonnegative=t=>e.check(md(BigInt(0),t)),e.multipleOf=(t,n)=>e.check(mg(t,n));let n=e._zod.bag;e.minValue=n.minimum??null,e.maxValue=n.maximum??null,e.format=n.format??null});function fg(e){return d4(ff,e)}let fx=sg("ZodBigIntFormat",(e,t)=>{uc.init(e,t),ff.init(e,t)});function fb(e){return d6(fx,e)}function fy(e){return d8(fx,e)}let fv=sg("ZodSymbol",(e,t)=>{uu.init(e,t),hf.init(e,t),e._zod.processJSONSchema=(t,n,r)=>px(e,t,n,r)});function fw(e){return d9(fv,e)}let f_=sg("ZodUndefined",(e,t)=>{ud.init(e,t),hf.init(e,t),e._zod.processJSONSchema=(t,n,r)=>py(e,t,n,r)});function fk(e){return d7(f_,e)}let fS=sg("ZodNull",(e,t)=>{um.init(e,t),hf.init(e,t),e._zod.processJSONSchema=(t,n,r)=>pb(e,t,n,r)});function fj(e){return me(fS,e)}let f$=sg("ZodAny",(e,t)=>{up.init(e,t),hf.init(e,t),e._zod.processJSONSchema=(t,n,r)=>p_(e,t,n,r)});function fI(){return mt(f$)}let fC=sg("ZodUnknown",(e,t)=>{uh.init(e,t),hf.init(e,t),e._zod.processJSONSchema=(t,n,r)=>pk(e,t,n,r)});function fN(){return mn(fC)}let fT=sg("ZodNever",(e,t)=>{uf.init(e,t),hf.init(e,t),e._zod.processJSONSchema=(t,n,r)=>pw(e,t,n,r)});function fA(e){return mr(fT,e)}let fP=sg("ZodVoid",(e,t)=>{ug.init(e,t),hf.init(e,t),e._zod.processJSONSchema=(t,n,r)=>pv(e,t,n,r)});function fE(e){return mi(fP,e)}let fD=sg("ZodDate",(e,t)=>{ux.init(e,t),hf.init(e,t),e._zod.processJSONSchema=(t,n,r)=>pS(e,t,n,r),e.min=(t,n)=>e.check(md(t,n)),e.max=(t,n)=>e.check(mc(t,n));let n=e._zod.bag;e.minDate=n.minimum?new Date(n.minimum):null,e.maxDate=n.maximum?new Date(n.maximum):null});function fM(e){return ma(fD,e)}let fz=sg("ZodArray",(e,t)=>{uy.init(e,t),hf.init(e,t),e._zod.processJSONSchema=(t,n,r)=>pz(e,t,n,r),e.element=t.element,e.min=(t,n)=>e.check(mw(t,n)),e.nonempty=t=>e.check(mw(1,t)),e.max=(t,n)=>
vendor: 4,268 bytes, line 44
44e.check(mv(t,n)),e.length=(t,n)=>e.check(m_(t,n)),e.unwrap=()=>e.element});function fF(e,t){return mF(fz,e,t)}function fO(e){return f9(Object.keys(e._zod.def.shape))}let fL=sg("ZodObject",(e,t)=>{uS.init(e,t),hf.init(e,t),e._zod.processJSONSchema=(t,n,r)=>pF(e,t,n,r),p1.defineLazy(e,"shape",()=>t.shape),e.keyof=()=>f9(Object.keys(e._zod.def.shape)),e.catchall=t=>e.clone({...e._zod.def,catchall:t}),e.passthrough=()=>e.clone({...e._zod.def,catchall:fN()}),e.loose=()=>e.clone({...e._zod.def,catchall:fN()}),e.strict=()=>e.clone({...e._zod.def,catchall:fA()}),e.strip=()=>e.clone({...e._zod.def,catchall:void 0}),e.extend=t=>p1.extend(e,t),e.safeExtend=t=>p1.safeExtend(e,t),e.merge=t=>p1.merge(e,t),e.pick=t=>p1.pick(e,t),e.omit=t=>p1.omit(e,t),e.partial=(...t)=>p1.partial(go,e,t[0]),e.required=(...t)=>p1.required(gx,e,t[0])});function fR(e,t){return new fL({type:"object",shape:e??{},...p1.normalizeParams(t)})}function fB(e,t){return new fL({type:"object",shape:e,catchall:fA(),...p1.normalizeParams(t)})}function fU(e,t){return new fL({type:"object",shape:e,catchall:fN(),...p1.normalizeParams(t)})}let fZ=sg("ZodUnion",(e,t)=>{u$.init(e,t),hf.init(e,t),e._zod.processJSONSchema=(t,n,r)=>pO(e,t,n,r),e.options=t.options});function fG(e,t){return new fZ({type:"union",options:e,...p1.normalizeParams(t)})}let fW=sg("ZodXor",(e,t)=>{fZ.init(e,t),uC.init(e,t),e._zod.processJSONSchema=(t,n,r)=>pO(e,t,n,r),e.options=t.options});function fH(e,t){return new fW({type:"union",options:e,inclusive:!1,...p1.normalizeParams(t)})}let fV=sg("ZodDiscriminatedUnion",(e,t)=>{fZ.init(e,t),uN.init(e,t)});function fq(e,t,n){return new fV({type:"union",options:t,discriminator:e,...p1.normalizeParams(n)})}let fK=sg("ZodIntersection",(e,t)=>{uT.init(e,t),hf.init(e,t),e._zod.processJSONSchema=(t,n,r)=>pL(e,t,n,r)});function fJ(e,t){return new fK({type:"intersection",left:e,right:t})}let fX=sg("ZodTuple",(e,t)=>{uP.init(e,t),hf.init(e,t),e._zod.processJSONSchema=(t,n,r)=>pR(e,t,n,r),e.rest=t=>e.clone({...e._zod.def,rest:t})});function fY(e,t,n){let r=t instanceof cO,i=r?n:t;return new fX({type:"tuple",items:e,rest:r?t:null,...p1.normalizeParams(i)})}let fQ=sg("ZodRecord",(e,t)=>{uD.init(e,t),hf.init(e,t),e._zod.processJSONSchema=(t,n,r)=>pB(e,t,n,r),e.keyType=t.keyType,e.valueType=t.valueType});function f0(e,t,n){return new fQ({type:"record",keyType:e,valueType:t,...p1.normalizeParams(n)})}function f1(e,t,n){let r=sZ(e);return r._zod.values=void 0,new fQ({type:"record",keyType:r,valueType:t,...p1.normalizeParams(n)})}function f2(e,t,n){return new fQ({type:"record",keyType:e,valueType:t,mode:"loose",...p1.normalizeParams(n)})}let f5=sg("ZodMap",(e,t)=>{uM.init(e,t),hf.init(e,t),e._zod.processJSONSchema=(t,n,r)=>pD(e,t,n,r),e.keyType=t.keyType,e.valueType=t.valueType,e.min=(...t)=>e.check(mb(...t)),e.nonempty=t=>e.check(mb(1,t)),e.max=(...t)=>e.check(mx(...t)),e.size=(...t)=>e.check(my(...t))});function f4(e,t,n){return new f5({type:"map",keyType:e,valueType:t,...p1.normalizeParams(n)})}let f3=sg("ZodSet",(e,t)=>{uF.init(e,t),hf.init(e,t),e._zod.processJSONSchema=(t,n,r)=>pM(e,t,n,r),e.min=(...t)=>e.check(mb(...t)),e.nonempty=t=>e.check(mb(1,t)),e.max=(...t)=>e.check(mx(...t)),e.size=(...t)=>e.check(my(...t))});function f6(e,t){return new f3({type:"set",valueType:e,...p1.normalizeParams(t)})}let f8=sg("ZodEnum",(e,t)=>{uL.init(e,t),hf.init(e,t),e._zod.processJSONSchema=(t,n,r)=>pj(e,t,n,r),e.enum=t.entries,e.options=Object.values(t.entries);let n=new Set(Object.keys(t.entries));e.extract=(e,r)=>{let i={};for(let r of e)if(n.has(r))i[r]=t.entries[r];else throw Error(`Key ${r} not found in enum`);return new f8({...t,checks:[],...p1.normalizeParams(r),entries:i})},e.exclude=(e,r)=>{let i={...t.entries};for(let t of e)if(n.has(t))delete i[t];else throw Error(`Key ${t} not found in enum`);return new f8({...t,checks:[],...p1.normalizeParams(r),entries:i})}});function f9(e,t){return new f8({type:"enum",entries:Array.isArray(e)?Object.fromEntries(e.map(e=>[e,e])):e,...p1.normalizeParams(t)})}function f7(e,t){return new f8({type:"enum",entries:e,...p1.normalizeParams(t)})}let ge=sg("ZodLiteral",(e,t)=>{uR.init(e,t),hf.init(e,t),e._zod.processJSONSchema=(t,n,r)=>p$(e,t,n,r),e.values=new Set(t.values),Object.defineProperty(e,"value",{get(){if
44(t.values.length>1)throw Error("This schema contains multiple valid literal values. Use `.values` instead.");return t.values[0]}})});function gt(e,t){return new ge({type:"literal",values:Array.isArray(e)?e:[e],...p1.normalizeParams(t)})}let gn=sg("ZodFile",(e,t)=>{uB.init(e,t),hf.init(e,t),e._zod.processJSONSchema=(t,n,r)=>pN(e,t,n,r),e.min=(t,n)=>e.check(mb(t,n)),e.max=(t,n)=>e.check(mx(t,n)),e.mime=(t,n)=>e.check(mT(Array.isArray(t)?t:[t],n))});function gr(e){return mK(gn,e)}let gi=sg("ZodTransform",(e,t)=>{uU.init(e,t),hf.init(e,t),e._zod.processJSONSchema=(t,n,r)=>pE(e,t,n,r),e._zod.parse=(n,r)=>{if("backward"===r.direction)throw new sy(e.constructor.name);n.addIssue=r=>{"string"==typeof r?n.issues.push(p1.issue(r,n.value,t)):(r.fatal&&(r.continue=!1),r.code??(r.code="custom"),r.input??(r.input=n.value),r.inst??(r.inst=e),n.issues.push(p1.issue(r)))};let i=t.transform(n.value,n);return i instanceof Promise?i.then(e=>(n.value=e,n)):(n.value=i,n)}});function ga(e){return new gi({type:"transform",transform:e})}let go=sg("ZodOptional",(e,t)=>{uG.init(e,t),hf.init(e,t),e._zod.processJSONSchema=(t,n,r)=>pJ(e,t,n,r),e.unwrap=()=>e._zod.def.innerType});function gs(e){return new go({type:"optional",innerType:e})}let gl=sg("ZodExactOptional",(e,t)=>{uW.init(e,t),hf.init(e,t),e._zod.processJSONSchema=(t,n,r)=>pJ(e,t,n,r),e.unwrap=()=>e._zod.def.innerType});function gc(e){return new gl({type:"optional",innerType:e})}let gu=sg("ZodNullable",(e,t)=>{uH.init(e,t),hf.init(e,t),e._zod.processJSONSchema=(t,n,r)=>pU(e,t,n,r),e.unwrap=()=>e._zod.def.innerType});function gd(e){return new gu({type:"nullable",innerType:e})}function gm(e){return gs(gd(e))}let gp=sg("ZodDefault",(e,t)=>{uV.init(e,t),hf.init(e,t),e._zod.processJSONSchema=(t,n,r)=>pG(e,t,n,r),e.unwrap=()=>e._zod.def.innerType,e.removeDefault=e.unwrap});function gh(e,t){return new gp({type:"default",innerType:e,get defaultValue(){return"function"==typeof t?t():p1.shallowClone(t)}})}let gf=sg("ZodPrefault",(e,t)=>{uK.init(e,t),hf.init(e,t),e._zod.processJSONSchema=(t,n,r)=>pW(e,t,n,r),e.unwrap=()=>e._zod.def.innerType});function gg(e,t){return new gf({type:"prefault",innerType:e,get defaultValue(){return"function"==typeof t?t():p1.shallowClone(t)}})}let gx=sg("ZodNonOptional",(e,t)=>{uJ.init(e,t),hf.init(e,t),e._zod.processJSONSchema=(t,n,r)=>pZ(e,t,n,r),e.unwrap=()=>e._zod.def.innerType});function gb(e,t){return new gx({type:"nonoptional",innerType:e,...p1.normalizeParams(t)})}let gy=sg("ZodSuccess",(e,t)=>{uY.init(e,t),hf.init(e,t),e._zod.processJSONSchema=(t,n,r)=>pT(e,t,n,r),e.unwrap=()=>e._zod.def.innerType});function gv(e){return new gy({type:"success",innerType:e})}let gw=sg("ZodCatch",(e,t)=>{uQ.init(e,t),hf.init(e,t),e._zod.processJSONSchema=(t,n,r)=>pH(e,t,n,r),e.unwrap=()=>e._zod.def.innerType,e.removeCatch=e.unwrap});function g_(e,t){return new gw({type:"catch",innerType:e,catchValue:"function"==typeof t?t:()=>t})}let gk=sg("ZodNaN",(e,t)=>{u0.init(e,t),hf.init(e,t),e._zod.processJSONSchema=(t,n,r)=>pI(e,t,n,r)});function gS(e){return ms(gk,e)}let gj=sg("ZodPipe",(e,t)=>{u1.init(e,t),hf.init(e,t),e._zod.processJSONSchema=(t,n,r)=>pV(e,t,n,r),e.in=t.in,e.out=t.out});function g$(e,t){return new gj({type:"pipe",in:e,out:t})}let gI=sg("ZodCodec",(e,t)=>{gj.init(e,t),u5.init(e,t)});function gC(e,t,n){return new gI({type:"pipe",in:e,out:t,transform:n.decode,reverseTransform:n.encode})}let gN=sg("ZodReadonly",(e,t)=>{u6.init(e,t),hf.init(e,t),e._zod.processJSONSchema=(t,n,r)=>pq(e,t,n,r),e.unwrap=()=>e._zod.def.innerType});function gT(e){return new gN({type:"readonly",innerType:e})}let gA=sg("ZodTemplateLiteral",(e,t)=>{u9.init(e,t),hf.init(e,t),e._zod.processJSONSchema=(t,n,r)=>pC(e,t,n,r)});function gP(e,t){return new gA({type:"template_literal",parts:e,...p1.normalizeParams(t)})}let gE=sg("ZodLazy",(e,t)=>{dt.init(e,t),hf.init(e,t),e._zod.processJSONSchema=(t,n,r)=>pX(e,t,n,r),e.unwrap=()=>e._zod.def.getter()});function gD(e){return new gE({type:"lazy",getter:e})}let gM=sg("ZodPromise",(e,t)=>{de.init(e,t),hf.init(e,t),e._zod.processJSONSchema=(t,n,r)=>pK(e,t,n,r),e.unwrap=()=>e._zod.def.innerType});function gz(e){return new gM({type:"promise",innerType:e})}let gF=sg("ZodFunction",(e,t)=>{u7.init(e,t),hf.init(e,t),e._zod.processJSONSchema=(t,n,r)=>pP(e,t,n,r)});function gO(e){return new gF({type:"function",input:Array.isArray(e?.input)?fY(e?.input):e?.input??fF(fN()),output:e?.output??fN()})}let gL=sg("ZodCustom",(e,t)=>{dn.init(e,t),hf.init(e,t),e._zod.processJSONSchema=(t,n,r)=>pA(e,t,n,r)});function gR(e){let t=new cm({check:"custom"});return t._zod.check=e,t}function gB(e,t){return m9(gL,e??(()=>!0),t)}function gU(e,t={}){return m7(gL,e,t)}function gZ(e){return pe(e)}let gG=pn,gW=pr;function gH(e,t={}){let n=new gL({type:"custom",check:"custom",fn:t=>t instanceof e,abort:!0,...p1.normalizeParams(t)});return n._zod.bag.Class=e,n._zod.check=t=>{t.value instanceof e||t.issues.push({code:"invalid_type",expected:e.name,input:t.value,inst:n,path:[...n._zod.def.path??[]]})},n}let gV=(...e)=>pi({Codec:gI,Boolean:fp,String:hx},...e);function gq(e){let t=gD(()=>fG([hb(e),fo(),fh(),fj(),fF(t),f0(hb(),t)]));return t}function gK(e,t){return g$(ga(e),t)}
44let gJ={invalid_type:"invalid_type",too_big:"too_big",too_small:"too_small",invalid_format:"invalid_format",not_multiple_of:"not_multiple_of",unrecognized_keys:"unrecognized_keys",invalid_union:"invalid_union",invalid_key:"invalid_key",invalid_element:"invalid_element",invalid_value:"invalid_value",custom:"custom"};function gX(e){sw({customError:e})}function gY(){return sw().customError}n||(n={}),e.s(["ZodFirstPartyTypeKind",0,n,"ZodIssueCode",0,gJ,"getErrorMap",0,gY,"setErrorMap",0,gX],306034),e.i(342332),e.s(["endsWith",0,mC,"gt",0,mu,"gte",0,md,"includes",0,m$,"length",0,m_,"lowercase",0,mS,"lt",0,ml,"lte",0,mc,"maxLength",0,mv,"maxSize",0,mx,"mime",0,mT,"minLength",0,mw,"minSize",0,mb,"multipleOf",0,mg,"negative",0,mp,"nonnegative",0,mf,"nonpositive",0,mh,"normalize",0,mP,"overwrite",0,mA,"positive",0,mm,"property",0,mN,"regex",0,mk,"size",0,my,"slugify",0,mz,"startsWith",0,mI,"toLowerCase",0,mD,"toUpperCase",0,mM,"trim",0,mE,"uppercase",0,mj],430421);var gQ=e.i(430421),g0=e.i(49732);let g1={...e.i(362201),...gQ,iso:g0},g2=new Set(["$schema","$ref","$defs","definitions","$id","id","$comment","$anchor","$vocabulary","$dynamicRef","$dynamicAnchor","type","enum","const","anyOf","oneOf","allOf","not","properties","required","additionalProperties","patternProperties","propertyNames","minProperties","maxProperties","items","prefixItems","additionalItems","minItems","maxItems","uniqueItems","contains","minContains","maxContains","minLength","maxLength","pattern","format","minimum","maximum","exclusiveMinimum","exclusiveMaximum","multipleOf","description","default","contentEncoding","contentMediaType","contentSchema","unevaluatedItems","unevaluatedProperties","if","then","else","dependentSchemas","dependentRequired","nullable","readOnly"]);e.s(["bigint",0,function(e){return d3(ff,e)},"boolean",0,function(e){return d5(fp,e)},"date",0,function(e){return mo(fD,e)},"number",0,function(e){return dJ(fa,e)},"string",0,function(e){return dv(hx,e)}],313657),sw(da()),e.s([],298821),e.i(298821),e.i(292135),e.i(197753),e.i(803108),e.i(374969),e.i(676094),e.s(["$ZodAny",0,up,"$ZodArray",0,uy,"$ZodBase64",0,c9,"$ZodBase64URL",0,ue,"$ZodBigInt",0,ul,"$ZodBigIntFormat",0,uc,"$ZodBoolean",0,us,"$ZodCIDRv4",0,c3,"$ZodCIDRv6",0,c6,"$ZodCUID",0,cV,"$ZodCUID2",0,cq,"$ZodCatch",0,uQ,"$ZodCodec",0,u5,"$ZodCustom",0,dn,"$ZodCustomStringFormat",0,ui,"$ZodDate",0,ux,"$ZodDefault",0,uV,"$ZodDiscriminatedUnion",0,uN,"$ZodE164",0,ut,"$ZodEmail",0,cZ,"$ZodEmoji",0,cW,"$ZodEnum",0,uL,"$ZodExactOptional",0,uW,"$ZodFile",0,uB,"$ZodFunction",0,u7,"$ZodGUID",0,cB,"$ZodIPv4",0,c2,"$ZodIPv6",0,c5,"$ZodISODate",0,cQ,"$ZodISODateTime",0,cY,"$ZodISODuration",0,c1,"$ZodISOTime",0,c0,"$ZodIntersection",0,uT,"$ZodJWT",0,ur,"$ZodKSUID",0,cX,"$ZodLazy",0,dt,"$ZodLiteral",0,uR,"$ZodMAC",0,c4,"$ZodMap",0,uM,"$ZodNaN",0,u0,"$ZodNanoID",0,cH,"$ZodNever",0,uf,"$ZodNonOptional",0,uJ,"$ZodNull",0,um,"$ZodNullable",0,uH,"$ZodNumber",0,ua,"$ZodNumberFormat",0,uo,"$ZodObject",0,uk,"$ZodObjectJIT",0,uS,"$ZodOptional",0,uG,"$ZodPipe",0,u1,"$ZodPrefault",0,uK,"$ZodPromise",0,de,"$ZodReadonly",0,u6,"$ZodRecord",0,uD,"$ZodSet",0,uF,"$ZodString",0,cL,"$ZodStringFormat",0,cR,"$ZodSuccess",0,uY,"$ZodSymbol",0,uu,"$ZodTemplateLiteral",0,u9,"$ZodTransform",0,uU,"$ZodTuple",0,uP,"$ZodType",0,cO,"$ZodULID",0,cK,"$ZodURL",0,cG,"$ZodUUID",0,cU,"$ZodUndefined",0,ud,"$ZodUnion",0,u$,"$ZodUnknown",0,uh,"$ZodVoid",0,ug,"$ZodXID",0,cJ,"$ZodXor",0,uC,"clone",0,sZ,"isValidBase64",0,c8,"isValidBase64URL",0,c7,"isValidJWT",0,un],532952),e.i(532952),e.i(355605),e.i(398477);var g5=p1,g4=p0;e.i(543365),e.s(["ar",0,function(){let e,t,n;return{localeError:(e={string:{unit:"حرف",verb:"أن يحوي"},file:{unit:"بايت",verb:"أن يحوي"},array:{unit:"عنصر",verb:"أن يحوي"},set:{unit:"عنصر",verb:"أن يحوي"}},t={regex:"مدخل",email:"بريد إلكتروني",url:"رابط",emoji:"إيموجي",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"تاريخ ووقت بمعيار ISO",date:"تاريخ بمعيار ISO",time:"وقت بمعيار ISO",duration:"مدة بمعيار ISO",ipv4:"عنوان IPv4",ipv6:"عنوان IPv6",cidrv4:"مدى عناوين بصيغة IPv4",cidrv6:"مدى عناوين بصيغة IPv6",base64:"نَص بترميز base64-encoded",base64url:"نَص بترميز base64url-encoded",json_string:"نَص على هيئة JSON",e164:"رقم هاتف بمعيار E.164",jwt:"JWT",template_literal:"مدخل"},n={nan:"NaN"},r=>
44{switch(r.code){case"invalid_type":{let e=n[r.expected]??r.expected,t=s1(r.input),i=n[t]??t;if(/^[A-Z]/.test(r.expected))return`مدخلات غير مقبولة: يفترض إدخال instanceof ${r.expected}، ولكن تم إدخال ${i}`;return`مدخلات غير مقبولة: يفترض إدخال ${e}، ولكن تم إدخال ${i}`}case"invalid_value":if(1===r.values.length)return`مدخلات غير مقبولة: يفترض إدخال ${sW(r.values[0])}`;return`اختيار غير مقبول: يتوقع انتقاء أحد هذه الخيارات: ${sk(r.values,"|")}`;case"too_big":{let t=r.inclusive?"<=":"<",n=e[r.origin]??null;if(n)return` أكبر من اللازم: يفترض أن تكون ${r.origin??"القيمة"} ${t} ${r.maximum.toString()} ${n.unit??"عنصر"}`;return`أكبر من اللازم: يفترض أن تكون ${r.origin??"القيمة"} ${t} ${r.maximum.toString()}`}case"too_small":{let t=r.inclusive?">=":">",n=e[r.origin]??null;if(n)return`أصغر من اللازم: يفترض لـ ${r.origin} أن يكون ${t} ${r.minimum.toString()} ${n.unit}`;return`أصغر من اللازم: يفترض لـ ${r.origin} أن يكون ${t} ${r.minimum.toString()}`}case"invalid_format":if("starts_with"===r.format)return`نَص غير مقبول: يجب أن يبدأ بـ "${r.prefix}"`;if("ends_with"===r.format)return`نَص غير مقبول: يجب أن ينتهي بـ "${r.suffix}"`;if("includes"===r.format)return`نَص غير مقبول: يجب أن يتضمَّن "${r.includes}"`;if("regex"===r.format)return`نَص غير مقبول: يجب أن يطابق النمط ${r.pattern}`;return`${t[r.format]??r.format} غير مقبول`;case"not_multiple_of":return`رقم غير مقبول: يجب أن يكون من مضاعفات ${r.divisor}`;case"unrecognized_keys":return`معرف${r.keys.length>1?"ات":""} غريب${r.keys.length>1?"ة":""}: ${sk(r.keys,"، ")}`;case"invalid_key":return`معرف غير مقبول في ${r.origin}`;case"invalid_union":default:return"مدخل غير مقبول";case"invalid_element":return`مدخل غير مقبول في ${r.origin}`}})}},"az",0,function(){let e,t,n;return{localeError:(e={string:{unit:"simvol",verb:"olmalıdır"},file:{unit:"bayt",verb:"olmalıdır"},array:{unit:"element",verb:"olmalıdır"},set:{unit:"element",verb:"olmalıdır"}},t={regex:"input",email:"email address",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO datetime",date:"ISO date",time:"ISO time",duration:"ISO duration",ipv4:"IPv4 address",ipv6:"IPv6 address",cidrv4:"IPv4 range",cidrv6:"IPv6 range",base64:"base64-encoded string",base64url:"base64url-encoded string",json_string:"JSON string",e164:"E.164 number",jwt:"JWT",template_literal:"input"},n={nan:"NaN"},r=>{switch(r.code){case"invalid_type":{let e=n[r.expected]??r.expected,t=s1(r.input),i=n[t]??t;if(/^[A-Z]/.test(r.expected))return`Yanlış dəyər: g\xf6zlənilən instanceof ${r.expected}, daxil olan ${i}`;return`Yanlış dəyər: g\xf6zlənilən ${e}, daxil olan ${i}`}case"invalid_value":if(1===r.values.length)return`Yanlış dəyər: g\xf6zlənilən ${sW(r.values[0])}`;return`Yanlış se\xe7im: aşağıdakılardan biri olmalıdır: ${sk(r.values,"|")}`;case"too_big":{let t=r.inclusive?"<=":"<",n=e[r.origin]??null;if(n)return`\xc7ox b\xf6y\xfck: g\xf6zlənilən ${r.origin??"dəyər"} ${t}${r.maximum.toString()} ${n.unit??"element"}`;return`\xc7ox b\xf6y\xfck: g\xf6zlənilən ${r.origin??"dəyər"} ${t}${r.maximum.toString()}`}case"too_small":{let t=r.inclusive?">=":">",n=e[r.origin]??null;if(n)return`\xc7ox ki\xe7ik: g\xf6zlənilən ${r.origin} ${t}${r.minimum.toString()} ${n.unit}`;return`\xc7ox ki\xe7ik: g\xf6zlənilən ${r.origin} ${t}${r.minimum.toString()}`}case"invalid_format":if("starts_with"===r.format)return`Yanlış mətn: "${r.prefix}" ilə başlamalıdır`;if("ends_with"===r.format)return`Yanlış mətn: "${r.suffix}" ilə bitməlidir`;if("includes"===r.format)return`Yanlış mətn: "${r.includes}" daxil olmalıdır`;if("regex"===r.format)return`Yanlış mətn: ${r.pattern} şablonuna uyğun olmalıdır`;return`Yanlış ${t[r.format]??r.format}`;case"not_multiple_of":return`Yanlış ədəd: ${r.divisor} ilə b\xf6l\xfcnə bilən olmalıdır`;
44case"unrecognized_keys":return`Tanınmayan a\xe7ar${r.keys.length>1?"lar":""}: ${sk(r.keys,", ")}`;case"invalid_key":return`${r.origin} daxilində yanlış a\xe7ar`;case"invalid_union":default:return"Yanlış dəyər";case"invalid_element":return`${r.origin} daxilində yanlış dəyər`}})}},"be",0,function(){let e,t,n;return{localeError:(e={string:{unit:{one:"сімвал",few:"сімвалы",many:"сімвалаў"},verb:"мець"},array:{unit:{one:"элемент",few:"элементы",many:"элементаў"},verb:"мець"},set:{unit:{one:"элемент",few:"элементы",many:"элементаў"},verb:"мець"},file:{unit:{one:"байт",few:"байты",many:"байтаў"},verb:"мець"}},t={regex:"увод",email:"email адрас",url:"URL",emoji:"эмодзі",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO дата і час",date:"ISO дата",time:"ISO час",duration:"ISO працягласць",ipv4:"IPv4 адрас",ipv6:"IPv6 адрас",cidrv4:"IPv4 дыяпазон",cidrv6:"IPv6 дыяпазон",base64:"радок у фармаце base64",base64url:"радок у фармаце base64url",json_string:"JSON радок",e164:"нумар E.164",jwt:"JWT",template_literal:"увод"},n={nan:"NaN",number:"лік",array:"масіў"},r=>{switch(r.code){case"invalid_type":{let e=n[r.expected]??r.expected,t=s1(r.input),i=n[t]??t;if(/^[A-Z]/.test(r.expected))return`Няправільны ўвод: чакаўся instanceof ${r.expected}, атрымана ${i}`;return`Няправільны ўвод: чакаўся ${e}, атрымана ${i}`}case"invalid_value":if(1===r.values.length)return`Няправільны ўвод: чакалася ${sW(r.values[0])}`;return`Няправільны варыянт: чакаўся адзін з ${sk(r.values,"|")}`;case"too_big":{let t=r.inclusive?"<=":"<",n=e[r.origin]??null;if(n){let e=di(Number(r.maximum),n.unit.one,n.unit.few,n.unit.many);return`Занадта вялікі: чакалася, што ${r.origin??"значэнне"} павінна ${n.verb} ${t}${r.maximum.toString()} ${e}`}return`Занадта вялікі: чакалася, што ${r.origin??"значэнне"} павінна быць ${t}${r.maximum.toString()}`}case"too_small":{let t=r.inclusive?">=":">",n=e[r.origin]??null;if(n){let e=di(Number(r.minimum),n.unit.one,n.unit.few,n.unit.many);return`Занадта малы: чакалася, што ${r.origin} павінна ${n.verb} ${t}${r.minimum.toString()} ${e}`}return`Занадта малы: чакалася, што ${r.origin} павінна быць ${t}${r.minimum.toString()}`}case"invalid_format":if("starts_with"===r.format)return`Няправільны радок: павінен пачынацца з "${r.prefix}"`;if("ends_with"===r.format)return`Няправільны радок: павінен заканчвацца на "${r.suffix}"`;if("includes"===r.format)return`Няправільны радок: павінен змяшчаць "${r.includes}"`;if("regex"===r.format)return`Няправільны радок: павінен адпавядаць шаблону ${r.pattern}`;return`Няправільны ${t[r.format]??r.format}`;case"not_multiple_of":return`Няправільны лік: павінен быць кратным ${r.divisor}`;case"unrecognized_keys":return`Нераспазнаны ${r.keys.length>1?"ключы":"ключ"}: ${sk(r.keys,", ")}`;case"invalid_key":return`Няправільны ключ у ${r.origin}`;case"invalid_union":default:return"Няправільны ўвод";case"invalid_element":return`Няправільнае значэнне ў ${r.origin}`}})}},"bg",0,function(){let e,t,n;return{localeError:(e={string:{unit:"символа",verb:"да съдържа"},file:{unit:"байта",verb:"да съдържа"},array:{unit:"елемента",verb:"да съдържа"},set:{unit:"елемента",verb:"да съдържа"}},t={regex:"вход",email:"имейл адрес",url:"URL",emoji:"емоджи",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO време",date:"ISO дата",time:"ISO време",duration:"ISO продължителност",ipv4:"IPv4 адрес",ipv6:"IPv6 адрес",cidrv4:"IPv4 диапазон",cidrv6:"IPv6 диапазон",base64:"base64-кодиран низ",base64url:"base64url-кодиран низ",json_string:"JSON низ",e164:"E.164 номер",jwt:"JWT",template_literal:"вход"},n={nan:"NaN",number:"число",array:"масив"},r=>
44{switch(r.code){case"invalid_type":{let e=n[r.expected]??r.expected,t=s1(r.input),i=n[t]??t;if(/^[A-Z]/.test(r.expected))return`Невалиден вход: очакван instanceof ${r.expected}, получен ${i}`;return`Невалиден вход: очакван ${e}, получен ${i}`}case"invalid_value":if(1===r.values.length)return`Невалиден вход: очакван ${sW(r.values[0])}`;return`Невалидна опция: очаквано едно от ${sk(r.values,"|")}`;case"too_big":{let t=r.inclusive?"<=":"<",n=e[r.origin]??null;if(n)return`Твърде голямо: очаква се ${r.origin??"стойност"} да съдържа ${t}${r.maximum.toString()} ${n.unit??"елемента"}`;return`Твърде голямо: очаква се ${r.origin??"стойност"} да бъде ${t}${r.maximum.toString()}`}case"too_small":{let t=r.inclusive?">=":">",n=e[r.origin]??null;if(n)return`Твърде малко: очаква се ${r.origin} да съдържа ${t}${r.minimum.toString()} ${n.unit}`;return`Твърде малко: очаква се ${r.origin} да бъде ${t}${r.minimum.toString()}`}case"invalid_format":{if("starts_with"===r.format)return`Невалиден низ: трябва да започва с "${r.prefix}"`;if("ends_with"===r.format)return`Невалиден низ: трябва да завършва с "${r.suffix}"`;if("includes"===r.format)return`Невалиден низ: трябва да включва "${r.includes}"`;if("regex"===r.format)return`Невалиден низ: трябва да съвпада с ${r.pattern}`;let e="Невалиден";return"emoji"===r.format&&(e="Невалидно"),"datetime"===r.format&&(e="Невалидно"),"date"===r.format&&(e="Невалидна"),"time"===r.format&&(e="Невалидно"),"duration"===r.format&&(e="Невалидна"),`${e} ${t[r.format]??r.format}`}case"not_multiple_of":return`Невалидно число: трябва да бъде кратно на ${r.divisor}`;case"unrecognized_keys":return`Неразпознат${r.keys.length>1?"и":""} ключ${r.keys.length>1?"ове":""}: ${sk(r.keys,", ")}`;case"invalid_key":return`Невалиден ключ в ${r.origin}`;case"invalid_union":default:return"Невалиден вход";case"invalid_element":return`Невалидна стойност в ${r.origin}`}})}},"ca",0,function(){let e,t,n;return{localeError:(e={string:{unit:"caràcters",verb:"contenir"},file:{unit:"bytes",verb:"contenir"},array:{unit:"elements",verb:"contenir"},set:{unit:"elements",verb:"contenir"}},t={regex:"entrada",email:"adreça electrònica",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"data i hora ISO",date:"data ISO",time:"hora ISO",duration:"durada ISO",ipv4:"adreça IPv4",ipv6:"adreça IPv6",cidrv4:"rang IPv4",cidrv6:"rang IPv6",base64:"cadena codificada en base64",base64url:"cadena codificada en base64url",json_string:"cadena JSON",e164:"número E.164",jwt:"JWT",template_literal:"entrada"},n={nan:"NaN"},r=>{switch(r.code){case"invalid_type":{let e=n[r.expected]??r.expected,t=s1(r.input),i=n[t]??t;if(/^[A-Z]/.test(r.expected))return`Tipus inv\xe0lid: s'esperava instanceof ${r.expected}, s'ha rebut ${i}`;return`Tipus inv\xe0lid: s'esperava ${e}, s'ha rebut ${i}`}case"invalid_value":if(1===r.values.length)return`Valor inv\xe0lid: s'esperava ${sW(r.values[0])}`;return`Opci\xf3 inv\xe0lida: s'esperava una de ${sk(r.values," o ")}`;case"too_big":{let t=r.inclusive?"com a màxim":"menys de",n=e[r.origin]??null;if(n)return`Massa gran: s'esperava que ${r.origin??"el valor"} contingu\xe9s ${t} ${r.maximum.toString()} ${n.unit??"elements"}`;return`Massa gran: s'esperava que ${r.origin??"el valor"} fos ${t} ${r.maximum.toString()}`}case"too_small":{let t=r.inclusive?"com a mínim":"més de",n=e[r.origin]??null;if(n)return`Massa petit: s'esperava que ${r.origin} contingu\xe9s ${t} ${r.minimum.toString()} ${n.unit}`;return`Massa petit: s'esperava que ${r.origin} fos ${t} ${r.minimum.toString()}`}
44case"invalid_format":if("starts_with"===r.format)return`Format inv\xe0lid: ha de comen\xe7ar amb "${r.prefix}"`;if("ends_with"===r.format)return`Format inv\xe0lid: ha d'acabar amb "${r.suffix}"`;if("includes"===r.format)return`Format inv\xe0lid: ha d'incloure "${r.includes}"`;if("regex"===r.format)return`Format inv\xe0lid: ha de coincidir amb el patr\xf3 ${r.pattern}`;return`Format inv\xe0lid per a ${t[r.format]??r.format}`;case"not_multiple_of":return`N\xfamero inv\xe0lid: ha de ser m\xfaltiple de ${r.divisor}`;case"unrecognized_keys":return`Clau${r.keys.length>1?"s":""} no reconeguda${r.keys.length>1?"s":""}: ${sk(r.keys,", ")}`;case"invalid_key":return`Clau inv\xe0lida a ${r.origin}`;case"invalid_union":default:return"Entrada invàlida";case"invalid_element":return`Element inv\xe0lid a ${r.origin}`}})}},"cs",0,function(){let e,t,n;return{localeError:(e={string:{unit:"znaků",verb:"mít"},file:{unit:"bajtů",verb:"mít"},array:{unit:"prvků",verb:"mít"},set:{unit:"prvků",verb:"mít"}},t={regex:"regulární výraz",email:"e-mailová adresa",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"datum a čas ve formátu ISO",date:"datum ve formátu ISO",time:"čas ve formátu ISO",duration:"doba trvání ISO",ipv4:"IPv4 adresa",ipv6:"IPv6 adresa",cidrv4:"rozsah IPv4",cidrv6:"rozsah IPv6",base64:"řetězec zakódovaný ve formátu base64",base64url:"řetězec zakódovaný ve formátu base64url",json_string:"řetězec ve formátu JSON",e164:"číslo E.164",jwt:"JWT",template_literal:"vstup"},n={nan:"NaN",number:"číslo",string:"řetězec",function:"funkce",array:"pole"},r=>{switch(r.code){case"invalid_type":{let e=n[r.expected]??r.expected,t=s1(r.input),i=n[t]??t;if(/^[A-Z]/.test(r.expected))return`Neplatn\xfd vstup: oček\xe1v\xe1no instanceof ${r.expected}, obdrženo ${i}`;return`Neplatn\xfd vstup: oček\xe1v\xe1no ${e}, obdrženo ${i}`}case"invalid_value":if(1===r.values.length)return`Neplatn\xfd vstup: oček\xe1v\xe1no ${sW(r.values[0])}`;return`Neplatn\xe1 možnost: oček\xe1v\xe1na jedna z hodnot ${sk(r.values,"|")}`;case"too_big":{let t=r.inclusive?"<=":"<",n=e[r.origin]??null;if(n)return`Hodnota je př\xedliš velk\xe1: ${r.origin??"hodnota"} mus\xed m\xedt ${t}${r.maximum.toString()} ${n.unit??"prvků"}`;return`Hodnota je př\xedliš velk\xe1: ${r.origin??"hodnota"} mus\xed b\xfdt ${t}${r.maximum.toString()}`}case"too_small":{let t=r.inclusive?">=":">",n=e[r.origin]??null;if(n)return`Hodnota je př\xedliš mal\xe1: ${r.origin??"hodnota"} mus\xed m\xedt ${t}${r.minimum.toString()} ${n.unit??"prvků"}`;return`Hodnota je př\xedliš mal\xe1: ${r.origin??"hodnota"} mus\xed b\xfdt ${t}${r.minimum.toString()}`}case"invalid_format":if("starts_with"===r.format)return`Neplatn\xfd řetězec: mus\xed zač\xednat na "${r.prefix}"`;if("ends_with"===r.format)return`Neplatn\xfd řetězec: mus\xed končit na "${r.suffix}"`;if("includes"===r.format)return`Neplatn\xfd řetězec: mus\xed obsahovat "${r.includes}"`;if("regex"===r.format)return`Neplatn\xfd řetězec: mus\xed odpov\xeddat vzoru ${r.pattern}`;return`Neplatn\xfd form\xe1t ${t[r.format]??r.format}`;case"not_multiple_of":return`Neplatn\xe9 č\xedslo: mus\xed b\xfdt n\xe1sobkem ${r.divisor}`;case"unrecognized_keys":return`Nezn\xe1m\xe9 kl\xedče: ${sk(r.keys,", ")}`;case"invalid_key":return`Neplatn\xfd kl\xedč v ${r.origin}`;case"invalid_union":default:return"Neplatný vstup";case"invalid_element":return`Neplatn\xe1 hodnota v ${r.origin}`}})}},"da",0,function(){let e,t,n;return{localeError:(e={string:{unit:"tegn",verb:"havde"},file:{unit:"bytes",verb:"havde"},array:{unit:"elementer",verb:"indeholdt"},set:{unit:"elementer",verb:"indeholdt"}},t={regex:"input",email:"e-mailadresse",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO dato- og klokkeslæt",date:"ISO-dato",time:"ISO-klokkeslæt",duration:"ISO-varighed",ipv4:"IPv4-område",ipv6:"IPv6-område",cidrv4:"IPv4-spektrum",cidrv6:"IPv6-spektrum",base64:"base64-kodet streng",base64url:"base64url-kodet streng",json_string:"JSON-streng",e164:"E.164-nummer",jwt:"JWT",template_literal:"input"},n={nan:"NaN",string:"streng",number:"tal",boolean:"boolean",array:"liste",object:"objekt",set:"sæt",file:"fil"},r=>
44{switch(r.code){case"invalid_type":{let e=n[r.expected]??r.expected,t=s1(r.input),i=n[t]??t;if(/^[A-Z]/.test(r.expected))return`Ugyldigt input: forventede instanceof ${r.expected}, fik ${i}`;return`Ugyldigt input: forventede ${e}, fik ${i}`}case"invalid_value":if(1===r.values.length)return`Ugyldig v\xe6rdi: forventede ${sW(r.values[0])}`;return`Ugyldigt valg: forventede en af f\xf8lgende ${sk(r.values,"|")}`;case"too_big":{let t=r.inclusive?"<=":"<",i=e[r.origin]??null,a=n[r.origin]??r.origin;if(i)return`For stor: forventede ${a??"value"} ${i.verb} ${t} ${r.maximum.toString()} ${i.unit??"elementer"}`;return`For stor: forventede ${a??"value"} havde ${t} ${r.maximum.toString()}`}case"too_small":{let t=r.inclusive?">=":">",i=e[r.origin]??null,a=n[r.origin]??r.origin;if(i)return`For lille: forventede ${a} ${i.verb} ${t} ${r.minimum.toString()} ${i.unit}`;return`For lille: forventede ${a} havde ${t} ${r.minimum.toString()}`}case"invalid_format":if("starts_with"===r.format)return`Ugyldig streng: skal starte med "${r.prefix}"`;if("ends_with"===r.format)return`Ugyldig streng: skal ende med "${r.suffix}"`;if("includes"===r.format)return`Ugyldig streng: skal indeholde "${r.includes}"`;if("regex"===r.format)return`Ugyldig streng: skal matche m\xf8nsteret ${r.pattern}`;return`Ugyldig ${t[r.format]??r.format}`;case"not_multiple_of":return`Ugyldigt tal: skal v\xe6re deleligt med ${r.divisor}`;case"unrecognized_keys":return`${r.keys.length>1?"Ukendte nøgler":"Ukendt nøgle"}: ${sk(r.keys,", ")}`;case"invalid_key":return`Ugyldig n\xf8gle i ${r.origin}`;case"invalid_union":return"Ugyldigt input: matcher ingen af de tilladte typer";case"invalid_element":return`Ugyldig v\xe6rdi i ${r.origin}`;default:return"Ugyldigt input"}})}},"de",0,function(){let e,t,n;return{localeError:(e={string:{unit:"Zeichen",verb:"zu haben"},file:{unit:"Bytes",verb:"zu haben"},array:{unit:"Elemente",verb:"zu haben"},set:{unit:"Elemente",verb:"zu haben"}},t={regex:"Eingabe",email:"E-Mail-Adresse",url:"URL",emoji:"Emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO-Datum und -Uhrzeit",date:"ISO-Datum",time:"ISO-Uhrzeit",duration:"ISO-Dauer",ipv4:"IPv4-Adresse",ipv6:"IPv6-Adresse",cidrv4:"IPv4-Bereich",cidrv6:"IPv6-Bereich",base64:"Base64-codierter String",base64url:"Base64-URL-codierter String",json_string:"JSON-String",e164:"E.164-Nummer",jwt:"JWT",template_literal:"Eingabe"},n={nan:"NaN",number:"Zahl",array:"Array"},r=>{switch(r.code){case"invalid_type":{let e=n[r.expected]??r.expected,t=s1(r.input),i=n[t]??t;if(/^[A-Z]/.test(r.expected))return`Ung\xfcltige Eingabe: erwartet instanceof ${r.expected}, erhalten ${i}`;return`Ung\xfcltige Eingabe: erwartet ${e}, erhalten ${i}`}case"invalid_value":if(1===r.values.length)return`Ung\xfcltige Eingabe: erwartet ${sW(r.values[0])}`;return`Ung\xfcltige Option: erwartet eine von ${sk(r.values,"|")}`;case"too_big":{let t=r.inclusive?"<=":"<",n=e[r.origin]??null;if(n)return`Zu gro\xdf: erwartet, dass ${r.origin??"Wert"} ${t}${r.maximum.toString()} ${n.unit??"Elemente"} hat`;return`Zu gro\xdf: erwartet, dass ${r.origin??"Wert"} ${t}${r.maximum.toString()} ist`}case"too_small":{let t=r.inclusive?">=":">",n=e[r.origin]??null;if(n)return`Zu klein: erwartet, dass ${r.origin} ${t}${r.minimum.toString()} ${n.unit} hat`;return`Zu klein: erwartet, dass ${r.origin} ${t}${r.minimum.toString()} ist`}case"invalid_format":if("starts_with"===r.format)return`Ung\xfcltiger String: muss mit "${r.prefix}" beginnen`;if("ends_with"===r.format)return`Ung\xfcltiger String: muss mit "${r.suffix}" enden`;if("includes"===r.format)return`Ung\xfcltiger String: muss "${r.includes}" enthalten`;if("regex"===r.format)return`Ung\xfcltiger String: muss dem Muster ${r.pattern} entsprechen`;return`Ung\xfcltig: ${t[r.format]??r.format}`;case"not_multiple_of":return`Ung\xfcltige Zahl: muss ein Vielfaches von ${r.divisor} sein`;case"unrecognized_keys":return`${r.keys.length>1?"Unbekannte Schlüssel":"Unbekannter Schlüssel"}: ${sk(r.keys,", ")}`;case"invalid_key":return`Ung\xfcltiger Schl\xfcssel in ${r.origin}`;
44case"invalid_union":default:return"Ungültige Eingabe";case"invalid_element":return`Ung\xfcltiger Wert in ${r.origin}`}})}},"en",0,da,"eo",0,function(){let e,t,n;return{localeError:(e={string:{unit:"karaktrojn",verb:"havi"},file:{unit:"bajtojn",verb:"havi"},array:{unit:"elementojn",verb:"havi"},set:{unit:"elementojn",verb:"havi"}},t={regex:"enigo",email:"retadreso",url:"URL",emoji:"emoĝio",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO-datotempo",date:"ISO-dato",time:"ISO-tempo",duration:"ISO-daŭro",ipv4:"IPv4-adreso",ipv6:"IPv6-adreso",cidrv4:"IPv4-rango",cidrv6:"IPv6-rango",base64:"64-ume kodita karaktraro",base64url:"URL-64-ume kodita karaktraro",json_string:"JSON-karaktraro",e164:"E.164-nombro",jwt:"JWT",template_literal:"enigo"},n={nan:"NaN",number:"nombro",array:"tabelo",null:"senvalora"},r=>{switch(r.code){case"invalid_type":{let e=n[r.expected]??r.expected,t=s1(r.input),i=n[t]??t;if(/^[A-Z]/.test(r.expected))return`Nevalida enigo: atendiĝis instanceof ${r.expected}, riceviĝis ${i}`;return`Nevalida enigo: atendiĝis ${e}, riceviĝis ${i}`}case"invalid_value":if(1===r.values.length)return`Nevalida enigo: atendiĝis ${sW(r.values[0])}`;return`Nevalida opcio: atendiĝis unu el ${sk(r.values,"|")}`;case"too_big":{let t=r.inclusive?"<=":"<",n=e[r.origin]??null;if(n)return`Tro granda: atendiĝis ke ${r.origin??"valoro"} havu ${t}${r.maximum.toString()} ${n.unit??"elementojn"}`;return`Tro granda: atendiĝis ke ${r.origin??"valoro"} havu ${t}${r.maximum.toString()}`}case"too_small":{let t=r.inclusive?">=":">",n=e[r.origin]??null;if(n)return`Tro malgranda: atendiĝis ke ${r.origin} havu ${t}${r.minimum.toString()} ${n.unit}`;return`Tro malgranda: atendiĝis ke ${r.origin} estu ${t}${r.minimum.toString()}`}case"invalid_format":if("starts_with"===r.format)return`Nevalida karaktraro: devas komenciĝi per "${r.prefix}"`;if("ends_with"===r.format)return`Nevalida karaktraro: devas finiĝi per "${r.suffix}"`;if("includes"===r.format)return`Nevalida karaktraro: devas inkluzivi "${r.includes}"`;if("regex"===r.format)return`Nevalida karaktraro: devas kongrui kun la modelo ${r.pattern}`;return`Nevalida ${t[r.format]??r.format}`;case"not_multiple_of":return`Nevalida nombro: devas esti oblo de ${r.divisor}`;case"unrecognized_keys":return`Nekonata${r.keys.length>1?"j":""} ŝlosilo${r.keys.length>1?"j":""}: ${sk(r.keys,", ")}`;case"invalid_key":return`Nevalida ŝlosilo en ${r.origin}`;case"invalid_union":default:return"Nevalida enigo";case"invalid_element":return`Nevalida valoro en ${r.origin}`}})}},"es",0,function(){let e,t,n;return{localeError:(e={string:{unit:"caracteres",verb:"tener"},file:{unit:"bytes",verb:"tener"},array:{unit:"elementos",verb:"tener"},set:{unit:"elementos",verb:"tener"}},t={regex:"entrada",email:"dirección de correo electrónico",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"fecha y hora ISO",date:"fecha ISO",time:"hora ISO",duration:"duración ISO",ipv4:"dirección IPv4",ipv6:"dirección IPv6",cidrv4:"rango IPv4",cidrv6:"rango IPv6",base64:"cadena codificada en base64",base64url:"URL codificada en base64",json_string:"cadena JSON",e164:"número E.164",jwt:"JWT",template_literal:"entrada"},n={nan:"NaN",string:"texto",number:"número",boolean:"booleano",array:"arreglo",object:"objeto",set:"conjunto",file:"archivo",date:"fecha",bigint:"número grande",symbol
44:"símbolo",undefined:"indefinido",null:"nulo",function:"función",map:"mapa",record:"registro",tuple:"tupla",enum:"enumeración",union:"unión",literal:"literal",promise:"promesa",void:"vacío",never:"nunca",unknown:"desconocido",any:"cualquiera"},r=>{switch(r.code){case"invalid_type":{let e=n[r.expected]??r.expected,t=s1(r.input),i=n[t]??t;if(/^[A-Z]/.test(r.expected))return`Entrada inv\xe1lida: se esperaba instanceof ${r.expected}, recibido ${i}`;return`Entrada inv\xe1lida: se esperaba ${e}, recibido ${i}`}case"invalid_value":if(1===r.values.length)return`Entrada inv\xe1lida: se esperaba ${sW(r.values[0])}`;return`Opci\xf3n inv\xe1lida: se esperaba una de ${sk(r.values,"|")}`;case"too_big":{let t=r.inclusive?"<=":"<",i=e[r.origin]??null,a=n[r.origin]??r.origin;if(i)return`Demasiado grande: se esperaba que ${a??"valor"} tuviera ${t}${r.maximum.toString()} ${i.unit??"elementos"}`;return`Demasiado grande: se esperaba que ${a??"valor"} fuera ${t}${r.maximum.toString()}`}case"too_small":{let t=r.inclusive?">=":">",i=e[r.origin]??null,a=n[r.origin]??r.origin;if(i)return`Demasiado peque\xf1o: se esperaba que ${a} tuviera ${t}${r.minimum.toString()} ${i.unit}`;return`Demasiado peque\xf1o: se esperaba que ${a} fuera ${t}${r.minimum.toString()}`}case"invalid_format":if("starts_with"===r.format)return`Cadena inv\xe1lida: debe comenzar con "${r.prefix}"`;if("ends_with"===r.format)return`Cadena inv\xe1lida: debe terminar en "${r.suffix}"`;if("includes"===r.format)return`Cadena inv\xe1lida: debe incluir "${r.includes}"`;if("regex"===r.format)return`Cadena inv\xe1lida: debe coincidir con el patr\xf3n ${r.pattern}`;return`Inv\xe1lido ${t[r.format]??r.format}`;case"not_multiple_of":return`N\xfamero inv\xe1lido: debe ser m\xfaltiplo de ${r.divisor}`;case"unrecognized_keys":return`Llave${r.keys.length>1?"s":""} desconocida${r.keys.length>1?"s":""}: ${sk(r.keys,", ")}`;case"invalid_key":return`Llave inv\xe1lida en ${n[r.origin]??r.origin}`;case"invalid_union":default:return"Entrada inválida";case"invalid_element":return`Valor inv\xe1lido en ${n[r.origin]??r.origin}`}})}},"fa",0,function(){let e,t,n;return{localeError:(e={string:{unit:"کاراکتر",verb:"داشته باشد"},file:{unit:"بایت",verb:"داشته باشد"},array:{unit:"آیتم",verb:"داشته باشد"},set:{unit:"آیتم",verb:"داشته باشد"}},t={regex:"ورودی",email:"آدرس ایمیل",url:"URL",emoji:"ایموجی",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"تاریخ و زمان ایزو",date:"تاریخ ایزو",time:"زمان ایزو",duration:"مدت زمان ایزو",ipv4:"IPv4 آدرس",ipv6:"IPv6 آدرس",cidrv4:"IPv4 دامنه",cidrv6:"IPv6 دامنه",base64:"base64-encoded رشته",base64url:"base64url-encoded رشته",json_string:"JSON رشته",e164:"E.164 عدد",jwt:"JWT",template_literal:"ورودی"},n={nan:"NaN",number:"عدد",array:"آرایه"},r=>{switch(r.code){case"invalid_type":{let e=n[r.expected]??r.expected,t=s1(r.input),i=n[t]??t;if(/^[A-Z]/.test(r.expected))return`ورودی نامعتبر: می‌بایست instanceof ${r.expected} می‌بود، ${i} دریافت شد`;return`ورودی نامعتبر: می‌بایست ${e} می‌بود، ${i} دریافت شد`}case"invalid_value":if(1===r.values.length)return`ورودی نامعتبر: می‌بایست ${sW(r.values[0])} می‌بود`;return`گزینه نامعتبر: می‌بایست یکی از ${sk(r.values,"|")} می‌بود`;case"too_big":{let t=r.inclusive?"<=":"<",n=e[r.origin]??null;if(n)return`خیلی بزرگ: ${r.origin??"مقدار"} باید ${t}${r.maximum.toString()} ${n.unit??"عنصر"} باشد`;return`خیلی بزرگ: ${r.origin??"مقدار"} باید ${t}${r.maximum.toString()} باشد`}case"too_small":{let t=r.inclusive?">=":">",n=e[r.origin]??null;if(n)return`خیلی کوچک: ${r.origin} باید ${t}${r.minimum.toString()} ${n.unit} باشد`;return`خیلی کوچک: ${r.origin} باید ${t}${r.minimum.toString()} باشد`}
44case"invalid_format":if("starts_with"===r.format)return`رشته نامعتبر: باید با "${r.prefix}" شروع شود`;if("ends_with"===r.format)return`رشته نامعتبر: باید با "${r.suffix}" تمام شود`;if("includes"===r.format)return`رشته نامعتبر: باید شامل "${r.includes}" باشد`;if("regex"===r.format)return`رشته نامعتبر: باید با الگوی ${r.pattern} مطابقت داشته باشد`;return`${t[r.format]??r.format} نامعتبر`;case"not_multiple_of":return`عدد نامعتبر: باید مضرب ${r.divisor} باشد`;case"unrecognized_keys":return`کلید${r.keys.length>1?"های":""} ناشناس: ${sk(r.keys,", ")}`;case"invalid_key":return`کلید ناشناس در ${r.origin}`;case"invalid_union":default:return"ورودی نامعتبر";case"invalid_element":return`مقدار نامعتبر در ${r.origin}`}})}},"fi",0,function(){let e,t,n;return{localeError:(e={string:{unit:"merkkiä",subject:"merkkijonon"},file:{unit:"tavua",subject:"tiedoston"},array:{unit:"alkiota",subject:"listan"},set:{unit:"alkiota",subject:"joukon"},number:{unit:"",subject:"luvun"},bigint:{unit:"",subject:"suuren kokonaisluvun"},int:{unit:"",subject:"kokonaisluvun"},date:{unit:"",subject:"päivämäärän"}},t={regex:"säännöllinen lauseke",email:"sähköpostiosoite",url:"URL-osoite",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO-aikaleima",date:"ISO-päivämäärä",time:"ISO-aika",duration:"ISO-kesto",ipv4:"IPv4-osoite",ipv6:"IPv6-osoite",cidrv4:"IPv4-alue",cidrv6:"IPv6-alue",base64:"base64-koodattu merkkijono",base64url:"base64url-koodattu merkkijono",json_string:"JSON-merkkijono",e164:"E.164-luku",jwt:"JWT",template_literal:"templaattimerkkijono"},n={nan:"NaN"},r=>{switch(r.code){case"invalid_type":{let e=n[r.expected]??r.expected,t=s1(r.input),i=n[t]??t;if(/^[A-Z]/.test(r.expected))return`Virheellinen tyyppi: odotettiin instanceof ${r.expected}, oli ${i}`;return`Virheellinen tyyppi: odotettiin ${e}, oli ${i}`}case"invalid_value":if(1===r.values.length)return`Virheellinen sy\xf6te: t\xe4ytyy olla ${sW(r.values[0])}`;return`Virheellinen valinta: t\xe4ytyy olla yksi seuraavista: ${sk(r.values,"|")}`;case"too_big":{let t=r.inclusive?"<=":"<",n=e[r.origin]??null;if(n)return`Liian suuri: ${n.subject} t\xe4ytyy olla ${t}${r.maximum.toString()} ${n.unit}`.trim();return`Liian suuri: arvon t\xe4ytyy olla ${t}${r.maximum.toString()}`}case"too_small":{let t=r.inclusive?">=":">",n=e[r.origin]??null;if(n)return`Liian pieni: ${n.subject} t\xe4ytyy olla ${t}${r.minimum.toString()} ${n.unit}`.trim();return`Liian pieni: arvon t\xe4ytyy olla ${t}${r.minimum.toString()}`}case"invalid_format":if("starts_with"===r.format)return`Virheellinen sy\xf6te: t\xe4ytyy alkaa "${r.prefix}"`;if("ends_with"===r.format)return`Virheellinen sy\xf6te: t\xe4ytyy loppua "${r.suffix}"`;if("includes"===r.format)return`Virheellinen sy\xf6te: t\xe4ytyy sis\xe4lt\xe4\xe4 "${r.includes}"`;if("regex"===r.format)return`Virheellinen sy\xf6te: t\xe4ytyy vastata s\xe4\xe4nn\xf6llist\xe4 lauseketta ${r.pattern}`;return`Virheellinen ${t[r.format]??r.format}`;case"not_multiple_of":return`Virheellinen luku: t\xe4ytyy olla luvun ${r.divisor} monikerta`;case"unrecognized_keys":return`${r.keys.length>1?"Tuntemattomat avaimet":"Tuntematon avain"}: ${sk(r.keys,", ")}`;case"invalid_key":return"Virheellinen avain tietueessa";case"invalid_union":return"Virheellinen unioni";case"invalid_element":return"Virheellinen arvo joukossa";default:return"Virheellinen syöte"}})}},"fr",0,function(){let e,t,n;return{localeError:(e={string:{unit:"caractères",verb:"avoir"},file:{unit:"octets",verb:"avoir"},array:{unit:"éléments",verb:"avoir"},set:{unit:"éléments",verb:"avoir"}},t={regex:"entrée",email:"adresse e-mail",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"date et heure ISO",date:"date ISO",time:"heure ISO",duration:"durée ISO",ipv4:"adresse IPv4",ipv6:"adresse IPv6",cidrv4:"plage IPv4",cidrv6:"plage IPv6",base64:"chaîne encodée en base64",base64url:"chaîne encodée en base64url",json_string:"chaîne JSON",e164:"numéro E.164",jwt:"JWT",template_literal:"entrée"},n={nan:"NaN",number:"nombre",array:"tableau"},r=>
44{switch(r.code){case"invalid_type":{let e=n[r.expected]??r.expected,t=s1(r.input),i=n[t]??t;if(/^[A-Z]/.test(r.expected))return`Entr\xe9e invalide : instanceof ${r.expected} attendu, ${i} re\xe7u`;return`Entr\xe9e invalide : ${e} attendu, ${i} re\xe7u`}case"invalid_value":if(1===r.values.length)return`Entr\xe9e invalide : ${sW(r.values[0])} attendu`;return`Option invalide : une valeur parmi ${sk(r.values,"|")} attendue`;case"too_big":{let t=r.inclusive?"<=":"<",n=e[r.origin]??null;if(n)return`Trop grand : ${r.origin??"valeur"} doit ${n.verb} ${t}${r.maximum.toString()} ${n.unit??"élément(s)"}`;return`Trop grand : ${r.origin??"valeur"} doit \xeatre ${t}${r.maximum.toString()}`}case"too_small":{let t=r.inclusive?">=":">",n=e[r.origin]??null;if(n)return`Trop petit : ${r.origin} doit ${n.verb} ${t}${r.minimum.toString()} ${n.unit}`;return`Trop petit : ${r.origin} doit \xeatre ${t}${r.minimum.toString()}`}case"invalid_format":if("starts_with"===r.format)return`Cha\xeene invalide : doit commencer par "${r.prefix}"`;if("ends_with"===r.format)return`Cha\xeene invalide : doit se terminer par "${r.suffix}"`;if("includes"===r.format)return`Cha\xeene invalide : doit inclure "${r.includes}"`;if("regex"===r.format)return`Cha\xeene invalide : doit correspondre au mod\xe8le ${r.pattern}`;return`${t[r.format]??r.format} invalide`;case"not_multiple_of":return`Nombre invalide : doit \xeatre un multiple de ${r.divisor}`;case"unrecognized_keys":return`Cl\xe9${r.keys.length>1?"s":""} non reconnue${r.keys.length>1?"s":""} : ${sk(r.keys,", ")}`;case"invalid_key":return`Cl\xe9 invalide dans ${r.origin}`;case"invalid_union":default:return"Entrée invalide";case"invalid_element":return`Valeur invalide dans ${r.origin}`}})}},"frCA",0,function(){let e,t,n;return{localeError:(e={string:{unit:"caractères",verb:"avoir"},file:{unit:"octets",verb:"avoir"},array:{unit:"éléments",verb:"avoir"},set:{unit:"éléments",verb:"avoir"}},t={regex:"entrée",email:"adresse courriel",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"date-heure ISO",date:"date ISO",time:"heure ISO",duration:"durée ISO",ipv4:"adresse IPv4",ipv6:"adresse IPv6",cidrv4:"plage IPv4",cidrv6:"plage IPv6",base64:"chaîne encodée en base64",base64url:"chaîne encodée en base64url",json_string:"chaîne JSON",e164:"numéro E.164",jwt:"JWT",template_literal:"entrée"},n={nan:"NaN"},r=>{switch(r.code){case"invalid_type":{let e=n[r.expected]??r.expected,t=s1(r.input),i=n[t]??t;if(/^[A-Z]/.test(r.expected))return`Entr\xe9e invalide : attendu instanceof ${r.expected}, re\xe7u ${i}`;return`Entr\xe9e invalide : attendu ${e}, re\xe7u ${i}`}case"invalid_value":if(1===r.values.length)return`Entr\xe9e invalide : attendu ${sW(r.values[0])}`;
44return`Option invalide : attendu l'une des valeurs suivantes ${sk(r.values,"|")}`;case"too_big":{let t=r.inclusive?"≤":"<",n=e[r.origin]??null;if(n)return`Trop grand : attendu que ${r.origin??"la valeur"} ait ${t}${r.maximum.toString()} ${n.unit}`;return`Trop grand : attendu que ${r.origin??"la valeur"} soit ${t}${r.maximum.toString()}`}case"too_small":{let t=r.inclusive?"≥":">",n=e[r.origin]??null;if(n)return`Trop petit : attendu que ${r.origin} ait ${t}${r.minimum.toString()} ${n.unit}`;return`Trop petit : attendu que ${r.origin} soit ${t}${r.minimum.toString()}`}case"invalid_format":if("starts_with"===r.format)return`Cha\xeene invalide : doit commencer par "${r.prefix}"`;if("ends_with"===r.format)return`Cha\xeene invalide : doit se terminer par "${r.suffix}"`;if("includes"===r.format)return`Cha\xeene invalide : doit inclure "${r.includes}"`;if("regex"===r.format)return`Cha\xeene invalide : doit correspondre au motif ${r.pattern}`;return`${t[r.format]??r.format} invalide`;case"not_multiple_of":return`Nombre invalide : doit \xeatre un multiple de ${r.divisor}`;case"unrecognized_keys":return`Cl\xe9${r.keys.length>1?"s":""} non reconnue${r.keys.length>1?"s":""} : ${sk(r.keys,", ")}`;case"invalid_key":return`Cl\xe9 invalide dans ${r.origin}`;case"invalid_union":default:return"Entrée invalide";case"invalid_element":return`Valeur invalide dans ${r.origin}`}})}},"he",0,function(){let e,t,n,r,i,a,o,s,l;return{localeError:(e={string:{label:"מחרוזת",gender:"f"},number:{label:"מספר",gender:"m"},boolean:{label:"ערך בוליאני",gender:"m"},bigint:{label:"BigInt",gender:"m"},date:{label:"תאריך",gender:"m"},array:{label:"מערך",gender:"m"},object:{label:"אובייקט",gender:"m"},null:{label:"ערך ריק (null)",gender:"m"},undefined:{label:"ערך לא מוגדר (undefined)",gender:"m"},symbol:{label:"סימבול (Symbol)",gender:"m"},function:{label:"פונקציה",gender:"f"},map:{label:"מפה (Map)",gender:"f"},set:{label:"קבוצה (Set)",gender:"f"},file:{label:"קובץ",gender:"m"},promise:{label:"Promise",gender:"m"},NaN:{label:"NaN",gender:"m"},unknown:{label:"ערך לא ידוע",gender:"m"},value:{label:"ערך",gender:"m"}},t={string:{unit:"תווים",shortLabel:"קצר",longLabel:"ארוך"},file:{unit:"בייטים",shortLabel:"קטן",longLabel:"גדול"},array:{unit:"פריטים",shortLabel:"קטן",longLabel:"גדול"},set:{unit:"פריטים",shortLabel:"קטן",longLabel:"גדול"},number:{unit:"",shortLabel:"קטן",longLabel:"גדול"}},n=t=>t?e[t]:void 0,r=t=>{let r=n(t);return r?r.label:t??e.unknown.label},i=e=>`ה${r(e)}`,a=e=>{let t=n(e);return"f"===(t?.gender??"m")?"צריכה להיות":"צריך להיות"},o=e=>e?t[e]??null:null,s={regex:{label:"קלט",gender:"m"},email:{label:"כתובת אימייל",gender:"f"},url:{label:"כתובת רשת",gender:"f"},emoji:{label:"אימוג'י",gender:"m"},uuid:{label:"UUID",gender:"m"},nanoid:{label:"nanoid",gender:"m"},guid:{label:"GUID",gender:"m"},cuid:{label:"cuid",gender:"m"},cuid2:{label:"cuid2",gender:"m"},ulid:{label:"ULID",gender:"m"},xid:{label:"XID",gender:"m"},ksuid:{label:"KSUID",gender:"m"},datetime:{label:"תאריך וזמן ISO",gender:"m"},date:{label:"תאריך ISO",gender:"m"},time:{label:"זמן ISO",gender:"m"},duration:{label:"משך זמן ISO",gender:"m"},ipv4:{label:"כתובת IPv4",gender:"f"},ipv6:{label:"כתובת IPv6",gender:"f"},cidrv4:{label:"טווח IPv4",gender:"m"},cidrv6:{label:"טווח IPv6",gender:"m"},base64:{label:"מחרוזת בבסיס 64",gender:"f"},base64url:{label:"מחרוזת בבסיס 64 לכתובות רשת",gender:"f"},json_string:{label:"מחרוזת JSON",gender:"f"},e164:{label:"מספר E.164",gender:"m"},jwt:{label:"JWT",gender:"m"},ends_with:{label:"קלט",gender:"m"},includes:{label:"קלט",gender:"m"},lowercase:{label:"קלט",gender:"m"},starts_with:{label:"קלט",gender:"m"},uppercase:{label:"קלט",gender:"m"}},l={nan:"NaN"},t=>{switch(t.code){case"invalid_type":{let n=t.expected,i=l[n??""]??r(n),a=s1(t.input),o=l[a]??e[a]?.label??a;
44if(/^[A-Z]/.test(t.expected))return`קלט לא תקין: צריך להיות instanceof ${t.expected}, התקבל ${o}`;return`קלט לא תקין: צריך להיות ${i}, התקבל ${o}`}case"invalid_value":{if(1===t.values.length)return`ערך לא תקין: הערך חייב להיות ${sW(t.values[0])}`;let e=t.values.map(e=>sW(e));if(2===t.values.length)return`ערך לא תקין: האפשרויות המתאימות הן ${e[0]} או ${e[1]}`;let n=e[e.length-1],r=e.slice(0,-1).join(", ");return`ערך לא תקין: האפשרויות המתאימות הן ${r} או ${n}`}case"too_big":{let e=o(t.origin),n=i(t.origin??"value");if("string"===t.origin)return`${e?.longLabel??"ארוך"} מדי: ${n} צריכה להכיל ${t.maximum.toString()} ${e?.unit??""} ${t.inclusive?"או פחות":"לכל היותר"}`.trim();if("number"===t.origin){let e=t.inclusive?`קטן או שווה ל-${t.maximum}`:`קטן מ-${t.maximum}`;return`גדול מדי: ${n} צריך להיות ${e}`}if("array"===t.origin||"set"===t.origin){let r="set"===t.origin?"צריכה":"צריך",i=t.inclusive?`${t.maximum} ${e?.unit??""} או פחות`:`פחות מ-${t.maximum} ${e?.unit??""}`;return`גדול מדי: ${n} ${r} להכיל ${i}`.trim()}let r=t.inclusive?"<=":"<",s=a(t.origin??"value");if(e?.unit)return`${e.longLabel} מדי: ${n} ${s} ${r}${t.maximum.toString()} ${e.unit}`;return`${e?.longLabel??"גדול"} מדי: ${n} ${s} ${r}${t.maximum.toString()}`}case"too_small":{let e=o(t.origin),n=i(t.origin??"value");if("string"===t.origin)return`${e?.shortLabel??"קצר"} מדי: ${n} צריכה להכיל ${t.minimum.toString()} ${e?.unit??""} ${t.inclusive?"או יותר":"לפחות"}`.trim();if("number"===t.origin){let e=t.inclusive?`גדול או שווה ל-${t.minimum}`:`גדול מ-${t.minimum}`;return`קטן מדי: ${n} צריך להיות ${e}`}if("array"===t.origin||"set"===t.origin){let r="set"===t.origin?"צריכה":"צריך";if(1===t.minimum&&t.inclusive){let e=(t.origin,"לפחות פריט אחד");return`קטן מדי: ${n} ${r} להכיל ${e}`}let i=t.inclusive?`${t.minimum} ${e?.unit??""} או יותר`:`יותר מ-${t.minimum} ${e?.unit??""}`;return`קטן מדי: ${n} ${r} להכיל ${i}`.trim()}let r=t.inclusive?">=":">",s=a(t.origin??"value");if(e?.unit)return`${e.shortLabel} מדי: ${n} ${s} ${r}${t.minimum.toString()} ${e.unit}`;return`${e?.shortLabel??"קטן"} מדי: ${n} ${s} ${r}${t.minimum.toString()}`}case"invalid_format":{if("starts_with"===t.format)return`המחרוזת חייבת להתחיל ב "${t.prefix}"`;if("ends_with"===t.format)return`המחרוזת חייבת להסתיים ב "${t.suffix}"`;if("includes"===t.format)return`המחרוזת חייבת לכלול "${t.includes}"`;if("regex"===t.format)return`המחרוזת חייבת להתאים לתבנית ${t.pattern}`;let e=s[t.format],n=e?.label??t.format,r=e?.gender??"m";return`${n} לא ${"f"===r?"תקינה":"תקין"}`}case"not_multiple_of":return`מספר לא תקין: חייב להיות מכפלה של ${t.divisor}`;case"unrecognized_keys":return`מפתח${t.keys.length>1?"ות":""} לא מזוה${t.keys.length>1?"ים":"ה"}: ${sk(t.keys,", ")}`;case"invalid_key":return"שדה לא תקין באובייקט";case"invalid_union":default:return"קלט לא תקין";case"invalid_element":{let e=i(t.origin??"array");return`ערך לא תקין ב${e}`}}})}},"hu",0,function(){let e,t,n;return{localeError:(e={string:{unit:"karakter",verb:"legyen"},file:{unit:"byte",verb:"legyen"},array:{unit:"elem",verb:"legyen"},set:{unit:"elem",verb:"legyen"}},t={regex:"bemenet",email:"email cím",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO időbélyeg",date:"ISO dátum",time:"ISO idő",duration:"ISO időintervallum",ipv4:"IPv4 cím",ipv6:"IPv6 cím",cidrv4:"IPv4 tartomány",cidrv6:"IPv6 tartomány",base64:"base64-kódolt string",base64url:"base64url-kódolt string",json_string:"JSON string",e164:"E.164 szám",jwt:"JWT",template_literal:"bemenet"},n={nan:"NaN",number:"szám",array:"tömb"},r=>
44{switch(r.code){case"invalid_type":{let e=n[r.expected]??r.expected,t=s1(r.input),i=n[t]??t;if(/^[A-Z]/.test(r.expected))return`\xc9rv\xe9nytelen bemenet: a v\xe1rt \xe9rt\xe9k instanceof ${r.expected}, a kapott \xe9rt\xe9k ${i}`;return`\xc9rv\xe9nytelen bemenet: a v\xe1rt \xe9rt\xe9k ${e}, a kapott \xe9rt\xe9k ${i}`}case"invalid_value":if(1===r.values.length)return`\xc9rv\xe9nytelen bemenet: a v\xe1rt \xe9rt\xe9k ${sW(r.values[0])}`;return`\xc9rv\xe9nytelen opci\xf3: valamelyik \xe9rt\xe9k v\xe1rt ${sk(r.values,"|")}`;case"too_big":{let t=r.inclusive?"<=":"<",n=e[r.origin]??null;if(n)return`T\xfal nagy: ${r.origin??"érték"} m\xe9rete t\xfal nagy ${t}${r.maximum.toString()} ${n.unit??"elem"}`;return`T\xfal nagy: a bemeneti \xe9rt\xe9k ${r.origin??"érték"} t\xfal nagy: ${t}${r.maximum.toString()}`}case"too_small":{let t=r.inclusive?">=":">",n=e[r.origin]??null;if(n)return`T\xfal kicsi: a bemeneti \xe9rt\xe9k ${r.origin} m\xe9rete t\xfal kicsi ${t}${r.minimum.toString()} ${n.unit}`;return`T\xfal kicsi: a bemeneti \xe9rt\xe9k ${r.origin} t\xfal kicsi ${t}${r.minimum.toString()}`}case"invalid_format":if("starts_with"===r.format)return`\xc9rv\xe9nytelen string: "${r.prefix}" \xe9rt\xe9kkel kell kezdődnie`;if("ends_with"===r.format)return`\xc9rv\xe9nytelen string: "${r.suffix}" \xe9rt\xe9kkel kell v\xe9gződnie`;if("includes"===r.format)return`\xc9rv\xe9nytelen string: "${r.includes}" \xe9rt\xe9ket kell tartalmaznia`;if("regex"===r.format)return`\xc9rv\xe9nytelen string: ${r.pattern} mint\xe1nak kell megfelelnie`;return`\xc9rv\xe9nytelen ${t[r.format]??r.format}`;case"not_multiple_of":return`\xc9rv\xe9nytelen sz\xe1m: ${r.divisor} t\xf6bbsz\xf6r\xf6s\xe9nek kell lennie`;case"unrecognized_keys":return`Ismeretlen kulcs${r.keys.length>1?"s":""}: ${sk(r.keys,", ")}`;case"invalid_key":return`\xc9rv\xe9nytelen kulcs ${r.origin}`;case"invalid_union":default:return"Érvénytelen bemenet";case"invalid_element":return`\xc9rv\xe9nytelen \xe9rt\xe9k: ${r.origin}`}})}},"hy",0,function(){let e,t,n;return{localeError:(e={string:{unit:{one:"նշան",many:"նշաններ"},verb:"ունենալ"},file:{unit:{one:"բայթ",many:"բայթեր"},verb:"ունենալ"},array:{unit:{one:"տարր",many:"տարրեր"},verb:"ունենալ"},set:{unit:{one:"տարր",many:"տարրեր"},verb:"ունենալ"}},t={regex:"մուտք",email:"էլ. հասցե",url:"URL",emoji:"էմոջի",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO ամսաթիվ և ժամ",date:"ISO ամսաթիվ",time:"ISO ժամ",duration:"ISO տևողություն",ipv4:"IPv4 հասցե",ipv6:"IPv6 հասցե",cidrv4:"IPv4 միջակայք",cidrv6:"IPv6 միջակայք",base64:"base64 ձևաչափով տող",base64url:"base64url ձևաչափով տող",json_string:"JSON տող",e164:"E.164 համար",jwt:"JWT",template_literal:"մուտք"},n={nan:"NaN",number:"թիվ",array:"զանգված"},r=>{switch(r.code){case"invalid_type":{let e=n[r.expected]??r.expected,t=s1(r.input),i=n[t]??t;if(/^[A-Z]/.test(r.expected))return`Սխալ մուտքագրում․ սպասվում էր instanceof ${r.expected}, ստացվել է ${i}`;return`Սխալ մուտքագրում․ սպասվում էր ${e}, ստացվել է ${i}`}case"invalid_value":if(1===r.values.length)return`Սխալ մուտքագրում․ սպասվում էր ${sW(r.values[1])}`;return`Սխալ տարբերակ․ սպասվում էր հետևյալներից մեկը՝ ${sk(r.values,"|")}`;case"too_big":{let t=r.inclusive?"<=":"<",n=e[r.origin]??null;if(n){let e=ds(Number(r.maximum),n.unit.one,n.unit.many);return`Չափազանց մեծ արժեք․ սպասվում է, որ ${dl(r.origin??"արժեք")} կունենա ${t}${r.maximum.toString()} ${e}`}return`Չափազանց մեծ արժեք․ սպասվում է, որ ${dl(r.origin??"արժեք")} լինի ${t}${r.maximum.toString()}`}case"too_small":{let t=r.inclusive?">=":">",n=e[r.origin]??null;if(n){let e=ds(Number(r.minimum),n.unit.one,n.unit.many);return`Չափազանց փոքր արժեք․ սպասվում է, որ ${dl(r.origin)} կունենա ${t}${r.minimum.toString()} ${e}`}return`Չափազանց փոքր արժեք․ սպասվում է, որ ${dl(r.origin)} լինի ${t}${r.minimum.toString()}`}
44case"invalid_format":if("starts_with"===r.format)return`Սխալ տող․ պետք է սկսվի "${r.prefix}"-ով`;if("ends_with"===r.format)return`Սխալ տող․ պետք է ավարտվի "${r.suffix}"-ով`;if("includes"===r.format)return`Սխալ տող․ պետք է պարունակի "${r.includes}"`;if("regex"===r.format)return`Սխալ տող․ պետք է համապատասխանի ${r.pattern} ձևաչափին`;return`Սխալ ${t[r.format]??r.format}`;case"not_multiple_of":return`Սխալ թիվ․ պետք է բազմապատիկ լինի ${r.divisor}-ի`;case"unrecognized_keys":return`Չճանաչված բանալի${r.keys.length>1?"ներ":""}. ${sk(r.keys,", ")}`;case"invalid_key":return`Սխալ բանալի ${dl(r.origin)}-ում`;case"invalid_union":default:return"Սխալ մուտքագրում";case"invalid_element":return`Սխալ արժեք ${dl(r.origin)}-ում`}})}},"id",0,function(){let e,t,n;return{localeError:(e={string:{unit:"karakter",verb:"memiliki"},file:{unit:"byte",verb:"memiliki"},array:{unit:"item",verb:"memiliki"},set:{unit:"item",verb:"memiliki"}},t={regex:"input",email:"alamat email",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"tanggal dan waktu format ISO",date:"tanggal format ISO",time:"jam format ISO",duration:"durasi format ISO",ipv4:"alamat IPv4",ipv6:"alamat IPv6",cidrv4:"rentang alamat IPv4",cidrv6:"rentang alamat IPv6",base64:"string dengan enkode base64",base64url:"string dengan enkode base64url",json_string:"string JSON",e164:"angka E.164",jwt:"JWT",template_literal:"input"},n={nan:"NaN"},r=>{switch(r.code){case"invalid_type":{let e=n[r.expected]??r.expected,t=s1(r.input),i=n[t]??t;if(/^[A-Z]/.test(r.expected))return`Input tidak valid: diharapkan instanceof ${r.expected}, diterima ${i}`;return`Input tidak valid: diharapkan ${e}, diterima ${i}`}case"invalid_value":if(1===r.values.length)return`Input tidak valid: diharapkan ${sW(r.values[0])}`;return`Pilihan tidak valid: diharapkan salah satu dari ${sk(r.values,"|")}`;case"too_big":{let t=r.inclusive?"<=":"<",n=e[r.origin]??null;if(n)return`Terlalu besar: diharapkan ${r.origin??"value"} memiliki ${t}${r.maximum.toString()} ${n.unit??"elemen"}`;return`Terlalu besar: diharapkan ${r.origin??"value"} menjadi ${t}${r.maximum.toString()}`}case"too_small":{let t=r.inclusive?">=":">",n=e[r.origin]??null;if(n)return`Terlalu kecil: diharapkan ${r.origin} memiliki ${t}${r.minimum.toString()} ${n.unit}`;return`Terlalu kecil: diharapkan ${r.origin} menjadi ${t}${r.minimum.toString()}`}case"invalid_format":if("starts_with"===r.format)return`String tidak valid: harus dimulai dengan "${r.prefix}"`;if("ends_with"===r.format)return`String tidak valid: harus berakhir dengan "${r.suffix}"`;if("includes"===r.format)return`String tidak valid: harus menyertakan "${r.includes}"`;if("regex"===r.format)return`String tidak valid: harus sesuai pola ${r.pattern}`;return`${t[r.format]??r.format} tidak valid`;case"not_multiple_of":return`Angka tidak valid: harus kelipatan dari ${r.divisor}`;case"unrecognized_keys":return`Kunci tidak dikenali ${r.keys.length>1?"s":""}: ${sk(r.keys,", ")}`;case"invalid_key":return`Kunci tidak valid di ${r.origin}`;case"invalid_union":default:return"Input tidak valid";case"invalid_element":return`Nilai tidak valid di ${r.origin}`}})}},"is",0,function(){let e,t,n;return{localeError:(e={string:{unit:"stafi",verb:"að hafa"},file:{unit:"bæti",verb:"að hafa"},array:{unit:"hluti",verb:"að hafa"},set:{unit:"hluti",verb:"að hafa"}},t={regex:"gildi",email:"netfang",url:"vefslóð",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO dagsetning og tími",date:"ISO dagsetning",time:"ISO tími",duration:"ISO tímalengd",ipv4:"IPv4 address",ipv6:"IPv6 address",cidrv4:"IPv4 range",cidrv6:"IPv6 range",base64:"base64-encoded strengur",base64url:"base64url-encoded strengur",json_string:"JSON strengur",e164:"E.164 tölugildi",jwt:"JWT",template_literal:"gildi"},n={nan:"NaN",number:"númer",array:"fylki"},r=>
44{switch(r.code){case"invalid_type":{let e=n[r.expected]??r.expected,t=s1(r.input),i=n[t]??t;if(/^[A-Z]/.test(r.expected))return`Rangt gildi: \xde\xfa sl\xf3st inn ${i} \xfear sem \xe1 a\xf0 vera instanceof ${r.expected}`;return`Rangt gildi: \xde\xfa sl\xf3st inn ${i} \xfear sem \xe1 a\xf0 vera ${e}`}case"invalid_value":if(1===r.values.length)return`Rangt gildi: gert r\xe1\xf0 fyrir ${sW(r.values[0])}`;return`\xd3gilt val: m\xe1 vera eitt af eftirfarandi ${sk(r.values,"|")}`;case"too_big":{let t=r.inclusive?"<=":"<",n=e[r.origin]??null;if(n)return`Of st\xf3rt: gert er r\xe1\xf0 fyrir a\xf0 ${r.origin??"gildi"} hafi ${t}${r.maximum.toString()} ${n.unit??"hluti"}`;return`Of st\xf3rt: gert er r\xe1\xf0 fyrir a\xf0 ${r.origin??"gildi"} s\xe9 ${t}${r.maximum.toString()}`}case"too_small":{let t=r.inclusive?">=":">",n=e[r.origin]??null;if(n)return`Of l\xedti\xf0: gert er r\xe1\xf0 fyrir a\xf0 ${r.origin} hafi ${t}${r.minimum.toString()} ${n.unit}`;return`Of l\xedti\xf0: gert er r\xe1\xf0 fyrir a\xf0 ${r.origin} s\xe9 ${t}${r.minimum.toString()}`}case"invalid_format":if("starts_with"===r.format)return`\xd3gildur strengur: ver\xf0ur a\xf0 byrja \xe1 "${r.prefix}"`;if("ends_with"===r.format)return`\xd3gildur strengur: ver\xf0ur a\xf0 enda \xe1 "${r.suffix}"`;if("includes"===r.format)return`\xd3gildur strengur: ver\xf0ur a\xf0 innihalda "${r.includes}"`;if("regex"===r.format)return`\xd3gildur strengur: ver\xf0ur a\xf0 fylgja mynstri ${r.pattern}`;return`Rangt ${t[r.format]??r.format}`;case"not_multiple_of":return`R\xf6ng tala: ver\xf0ur a\xf0 vera margfeldi af ${r.divisor}`;case"unrecognized_keys":return`\xd3\xfeekkt ${r.keys.length>1?"ir lyklar":"ur lykill"}: ${sk(r.keys,", ")}`;case"invalid_key":return`Rangur lykill \xed ${r.origin}`;case"invalid_union":default:return"Rangt gildi";case"invalid_element":return`Rangt gildi \xed ${r.origin}`}})}},"it",0,function(){let e,t,n;return{localeError:(e={string:{unit:"caratteri",verb:"avere"},file:{unit:"byte",verb:"avere"},array:{unit:"elementi",verb:"avere"},set:{unit:"elementi",verb:"avere"}},t={regex:"input",email:"indirizzo email",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"data e ora ISO",date:"data ISO",time:"ora ISO",duration:"durata ISO",ipv4:"indirizzo IPv4",ipv6:"indirizzo IPv6",cidrv4:"intervallo IPv4",cidrv6:"intervallo IPv6",base64:"stringa codificata in base64",base64url:"URL codificata in base64",json_string:"stringa JSON",e164:"numero E.164",jwt:"JWT",template_literal:"input"},n={nan:"NaN",number:"numero",array:"vettore"},r=>{switch(r.code){case"invalid_type":{let e=n[r.expected]??r.expected,t=s1(r.input),i=n[t]??t;if(/^[A-Z]/.test(r.expected))return`Input non valido: atteso instanceof ${r.expected}, ricevuto ${i}`;return`Input non valido: atteso ${e}, ricevuto ${i}`}case"invalid_value":if(1===r.values.length)return`Input non valido: atteso ${sW(r.values[0])}`;return`Opzione non valida: atteso uno tra ${sk(r.values,"|")}`;case"too_big":{let t=r.inclusive?"<=":"<",n=e[r.origin]??null;if(n)return`Troppo grande: ${r.origin??"valore"} deve avere ${t}${r.maximum.toString()} ${n.unit??"elementi"}`;return`Troppo grande: ${r.origin??"valore"} deve essere ${t}${r.maximum.toString()}`}case"too_small":{let t=r.inclusive?">=":">",n=e[r.origin]??null;if(n)return`Troppo piccolo: ${r.origin} deve avere ${t}${r.minimum.toString()} ${n.unit}`;return`Troppo piccolo: ${r.origin} deve essere ${t}${r.minimum.toString()}`}case"invalid_format":if("starts_with"===r.format)return`Stringa non valida: deve iniziare con "${r.prefix}"`;if("ends_with"===r.format)return`Stringa non valida: deve terminare con "${r.suffix}"`;if("includes"===r.format)return`Stringa non valida: deve includere "${r.includes}"`;if("regex"===r.format)return`Stringa non valida: deve corrispondere al pattern ${r.pattern}`;return`Invalid ${t[r.format]??r.format}`;case"not_multiple_of":return`Numero non valido: deve essere un multiplo di ${r.divisor}`;case"unrecognized_keys":return`Chiav${r.keys.length>1?"i":"e"} non riconosciut${r.keys.length>1?"e":"a"}: ${sk(r.keys,", ")}`;
44case"invalid_key":return`Chiave non valida in ${r.origin}`;case"invalid_union":default:return"Input non valido";case"invalid_element":return`Valore non valido in ${r.origin}`}})}},"ja",0,function(){let e,t,n;return{localeError:(e={string:{unit:"文字",verb:"である"},file:{unit:"バイト",verb:"である"},array:{unit:"要素",verb:"である"},set:{unit:"要素",verb:"である"}},t={regex:"入力値",email:"メールアドレス",url:"URL",emoji:"絵文字",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO日時",date:"ISO日付",time:"ISO時刻",duration:"ISO期間",ipv4:"IPv4アドレス",ipv6:"IPv6アドレス",cidrv4:"IPv4範囲",cidrv6:"IPv6範囲",base64:"base64エンコード文字列",base64url:"base64urlエンコード文字列",json_string:"JSON文字列",e164:"E.164番号",jwt:"JWT",template_literal:"入力値"},n={nan:"NaN",number:"数値",array:"配列"},r=>{switch(r.code){case"invalid_type":{let e=n[r.expected]??r.expected,t=s1(r.input),i=n[t]??t;if(/^[A-Z]/.test(r.expected))return`無効な入力: instanceof ${r.expected}が期待されましたが、${i}が入力されました`;return`無効な入力: ${e}が期待されましたが、${i}が入力されました`}case"invalid_value":if(1===r.values.length)return`無効な入力: ${sW(r.values[0])}が期待されました`;return`無効な選択: ${sk(r.values,"、")}のいずれかである必要があります`;case"too_big":{let t=r.inclusive?"以下である":"より小さい",n=e[r.origin]??null;if(n)return`大きすぎる値: ${r.origin??"値"}は${r.maximum.toString()}${n.unit??"要素"}${t}必要があります`;return`大きすぎる値: ${r.origin??"値"}は${r.maximum.toString()}${t}必要があります`}case"too_small":{let t=r.inclusive?"以上である":"より大きい",n=e[r.origin]??null;if(n)return`小さすぎる値: ${r.origin}は${r.minimum.toString()}${n.unit}${t}必要があります`;return`小さすぎる値: ${r.origin}は${r.minimum.toString()}${t}必要があります`}case"invalid_format":if("starts_with"===r.format)return`無効な文字列: "${r.prefix}"で始まる必要があります`;if("ends_with"===r.format)return`無効な文字列: "${r.suffix}"で終わる必要があります`;if("includes"===r.format)return`無効な文字列: "${r.includes}"を含む必要があります`;if("regex"===r.format)return`無効な文字列: パターン${r.pattern}に一致する必要があります`;return`無効な${t[r.format]??r.format}`;case"not_multiple_of":return`無効な数値: ${r.divisor}の倍数である必要があります`;case"unrecognized_keys":return`認識されていないキー${r.keys.length>1?"群":""}: ${sk(r.keys,"、")}`;case"invalid_key":return`${r.origin}内の無効なキー`;case"invalid_union":default:return"無効な入力";case"invalid_element":return`${r.origin}内の無効な値`}})}},"ka",0,function(){let e,t,n;return{localeError:(e={string:{unit:"სიმბოლო",verb:"უნდა შეიცავდეს"},file:{unit:"ბაიტი",verb:"უნდა შეიცავდეს"},array:{unit:"ელემენტი",verb:"უნდა შეიცავდეს"},set:{unit:"ელემენტი",verb:"უნდა შეიცავდეს"}},t={regex:"შეყვანა",email:"ელ-ფოსტის მისამართი",url:"URL",emoji:"ემოჯი",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"თარიღი-დრო",date:"თარიღი",time:"დრო",duration:"ხანგრძლივობა",ipv4:"IPv4 მისამართი",ipv6:"IPv6 მისამართი",cidrv4:"IPv4 დიაპაზონი",cidrv6:"IPv6 დიაპაზონი",base64:"base64-კოდირებული სტრინგი",base64url:"base64url-კოდირებული სტრინგი",json_string:"JSON სტრინგი",e164:"E.164 ნომერი",jwt:"JWT",template_literal:"შეყვანა"},n={nan:"NaN",number:"რიცხვი",string:"სტრინგი",boolean:"ბულეანი",function:"ფუნქცია",array:"მასივი"},r=>
44{switch(r.code){case"invalid_type":{let e=n[r.expected]??r.expected,t=s1(r.input),i=n[t]??t;if(/^[A-Z]/.test(r.expected))return`არასწორი შეყვანა: მოსალოდნელი instanceof ${r.expected}, მიღებული ${i}`;return`არასწორი შეყვანა: მოსალოდნელი ${e}, მიღებული ${i}`}case"invalid_value":if(1===r.values.length)return`არასწორი შეყვანა: მოსალოდნელი ${sW(r.values[0])}`;return`არასწორი ვარიანტი: მოსალოდნელია ერთ-ერთი ${sk(r.values,"|")}-დან`;case"too_big":{let t=r.inclusive?"<=":"<",n=e[r.origin]??null;if(n)return`ზედმეტად დიდი: მოსალოდნელი ${r.origin??"მნიშვნელობა"} ${n.verb} ${t}${r.maximum.toString()} ${n.unit}`;return`ზედმეტად დიდი: მოსალოდნელი ${r.origin??"მნიშვნელობა"} იყოს ${t}${r.maximum.toString()}`}case"too_small":{let t=r.inclusive?">=":">",n=e[r.origin]??null;if(n)return`ზედმეტად პატარა: მოსალოდნელი ${r.origin} ${n.verb} ${t}${r.minimum.toString()} ${n.unit}`;return`ზედმეტად პატარა: მოსალოდნელი ${r.origin} იყოს ${t}${r.minimum.toString()}`}case"invalid_format":if("starts_with"===r.format)return`არასწორი სტრინგი: უნდა იწყებოდეს "${r.prefix}"-ით`;if("ends_with"===r.format)return`არასწორი სტრინგი: უნდა მთავრდებოდეს "${r.suffix}"-ით`;if("includes"===r.format)return`არასწორი სტრინგი: უნდა შეიცავდეს "${r.includes}"-ს`;if("regex"===r.format)return`არასწორი სტრინგი: უნდა შეესაბამებოდეს შაბლონს ${r.pattern}`;return`არასწორი ${t[r.format]??r.format}`;case"not_multiple_of":return`არასწორი რიცხვი: უნდა იყოს ${r.divisor}-ის ჯერადი`;case"unrecognized_keys":return`უცნობი გასაღებ${r.keys.length>1?"ები":"ი"}: ${sk(r.keys,", ")}`;case"invalid_key":return`არასწორი გასაღები ${r.origin}-ში`;case"invalid_union":default:return"არასწორი შეყვანა";case"invalid_element":return`არასწორი მნიშვნელობა ${r.origin}-ში`}})}},"kh",0,function(){return dc()},"km",0,dc,"ko",0,function(){let e,t,n;return{localeError:(e={string:{unit:"문자",verb:"to have"},file:{unit:"바이트",verb:"to have"},array:{unit:"개",verb:"to have"},set:{unit:"개",verb:"to have"}},t={regex:"입력",email:"이메일 주소",url:"URL",emoji:"이모지",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO 날짜시간",date:"ISO 날짜",time:"ISO 시간",duration:"ISO 기간",ipv4:"IPv4 주소",ipv6:"IPv6 주소",cidrv4:"IPv4 범위",cidrv6:"IPv6 범위",base64:"base64 인코딩 문자열",base64url:"base64url 인코딩 문자열",json_string:"JSON 문자열",e164:"E.164 번호",jwt:"JWT",template_literal:"입력"},n={nan:"NaN"},r=>{switch(r.code){case"invalid_type":{let e=n[r.expected]??r.expected,t=s1(r.input),i=n[t]??t;if(/^[A-Z]/.test(r.expected))return`잘못된 입력: 예상 타입은 instanceof ${r.expected}, 받은 타입은 ${i}입니다`;return`잘못된 입력: 예상 타입은 ${e}, 받은 타입은 ${i}입니다`}case"invalid_value":if(1===r.values.length)return`잘못된 입력: 값은 ${sW(r.values[0])} 이어야 합니다`;return`잘못된 옵션: ${sk(r.values,"또는 ")} 중 하나여야 합니다`;case"too_big":{let t=r.inclusive?"이하":"미만",n="미만"===t?"이어야 합니다":"여야 합니다",i=e[r.origin]??null,a=i?.unit??"요소";if(i)return`${r.origin??"값"}이 너무 큽니다: ${r.maximum.toString()}${a} ${t}${n}`;return`${r.origin??"값"}이 너무 큽니다: ${r.maximum.toString()} ${t}${n}`}case"too_small":{let t=r.inclusive?"이상":"초과",n="이상"===t?"이어야 합니다":"여야 합니다",i=e[r.origin]??null,a=i?.unit??"요소";if(i)return`${r.origin??"값"}이 너무 작습니다: ${r.minimum.toString()}${a} ${t}${n}`;return`${r.origin??"값"}이 너무 작습니다: ${r.minimum.toString()} ${t}${n}`}
44case"invalid_format":if("starts_with"===r.format)return`잘못된 문자열: "${r.prefix}"(으)로 시작해야 합니다`;if("ends_with"===r.format)return`잘못된 문자열: "${r.suffix}"(으)로 끝나야 합니다`;if("includes"===r.format)return`잘못된 문자열: "${r.includes}"을(를) 포함해야 합니다`;if("regex"===r.format)return`잘못된 문자열: 정규식 ${r.pattern} 패턴과 일치해야 합니다`;return`잘못된 ${t[r.format]??r.format}`;case"not_multiple_of":return`잘못된 숫자: ${r.divisor}의 배수여야 합니다`;case"unrecognized_keys":return`인식할 수 없는 키: ${sk(r.keys,", ")}`;case"invalid_key":return`잘못된 키: ${r.origin}`;case"invalid_union":default:return"잘못된 입력";case"invalid_element":return`잘못된 값: ${r.origin}`}})}},"lt",0,function(){return{localeError:(()=>{let e={string:{unit:{one:"simbolis",few:"simboliai",many:"simbolių"},verb:{smaller:{inclusive:"turi būti ne ilgesnė kaip",notInclusive:"turi būti trumpesnė kaip"},bigger:{inclusive:"turi būti ne trumpesnė kaip",notInclusive:"turi būti ilgesnė kaip"}}},file:{unit:{one:"baitas",few:"baitai",many:"baitų"},verb:{smaller:{inclusive:"turi būti ne didesnis kaip",notInclusive:"turi būti mažesnis kaip"},bigger:{inclusive:"turi būti ne mažesnis kaip",notInclusive:"turi būti didesnis kaip"}}},array:{unit:{one:"elementą",few:"elementus",many:"elementų"},verb:{smaller:{inclusive:"turi turėti ne daugiau kaip",notInclusive:"turi turėti mažiau kaip"},bigger:{inclusive:"turi turėti ne mažiau kaip",notInclusive:"turi turėti daugiau kaip"}}},set:{unit:{one:"elementą",few:"elementus",many:"elementų"},verb:{smaller:{inclusive:"turi turėti ne daugiau kaip",notInclusive:"turi turėti mažiau kaip"},bigger:{inclusive:"turi turėti ne mažiau kaip",notInclusive:"turi turėti daugiau kaip"}}}};function t(t,n,r,i){let a=e[t]??null;return null===a?a:{unit:a.unit[n],verb:a.verb[i][r?"inclusive":"notInclusive"]}}let n={regex:"įvestis",email:"el. pašto adresas",url:"URL",emoji:"jaustukas",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO data ir laikas",date:"ISO data",time:"ISO laikas",duration:"ISO trukmė",ipv4:"IPv4 adresas",ipv6:"IPv6 adresas",cidrv4:"IPv4 tinklo prefiksas (CIDR)",cidrv6:"IPv6 tinklo prefiksas (CIDR)",base64:"base64 užkoduota eilutė",base64url:"base64url užkoduota eilutė",json_string:"JSON eilutė",e164:"E.164 numeris",jwt:"JWT",template_literal:"įvestis"},r={nan:"NaN",number:"skaičius",bigint:"sveikasis skaičius",string:"eilutė",boolean:"loginė reikšmė",undefined:"neapibrėžta reikšmė",function:"funkcija",symbol:"simbolis",array:"masyvas",object:"objektas",null:"nulinė reikšmė"};return e=>{switch(e.code){case"invalid_type":{let t=r[e.expected]??e.expected,n=s1(e.input),i=r[n]??n;if(/^[A-Z]/.test(e.expected))return`Gautas tipas ${i}, o tikėtasi - instanceof ${e.expected}`;return`Gautas tipas ${i}, o tikėtasi - ${t}`}case"invalid_value":if(1===e.values.length)return`Privalo būti ${sW(e.values[0])}`;return`Privalo būti vienas iš ${sk(e.values,"|")} pasirinkimų`;case"too_big":{let n=r[e.origin]??e.origin,i=t(e.origin,dd(Number(e.maximum)),e.inclusive??!1,"smaller");if(i?.verb)return`${du(n??e.origin??"reikšmė")} ${i.verb} ${e.maximum.toString()} ${i.unit??"elementų"}`;let a=e.inclusive?"ne didesnis kaip":"mažesnis kaip";return`${du(n??e.origin??"reikšmė")} turi būti ${a} ${e.maximum.toString()} ${i?.unit}`}case"too_small":{let n=r[e.origin]??e.origin,i=t(e.origin,dd(Number(e.minimum)),e.inclusive??!1,"bigger");if(i?.verb)return`${du(n??e.origin??"reikšmė")} ${i.verb} ${e.minimum.toString()} ${i.unit??"elementų"}`;let a=e.inclusive?"ne mažesnis kaip":"didesnis kaip";return`${du(n??e.origin??"reikšmė")} turi būti ${a} ${e.minimum.toString()} ${i?.unit}`}case"invalid_format":if("starts_with"===e.format)return`Eilutė privalo prasidėti "${e.prefix}"`;if("ends_with"===e.format)return`Eilutė privalo pasibaigti "${e.suffix}"`;if("includes"===e.format)return`Eilutė privalo įtraukti "${e.includes}"`;if("regex"===e.format)return`Eilutė privalo atitikti ${e.pattern}`;return`Neteisingas ${n[e.format]??e.format}`;case"not_multiple_of":return`Skaičius privalo būti ${e.divisor} kartotinis.`;case"unrecognized_keys":return`Neatpažint${e.keys.length>1?"i":"as"} rakt${e.keys.length>1?"ai":"as"}: ${sk(e.keys,", ")}`;
44case"invalid_key":return"Rastas klaidingas raktas";case"invalid_union":default:return"Klaidinga įvestis";case"invalid_element":{let t=r[e.origin]??e.origin;return`${du(t??e.origin??"reikšmė")} turi klaidingą įvestį`}}}})()}},"mk",0,function(){let e,t,n;return{localeError:(e={string:{unit:"знаци",verb:"да имаат"},file:{unit:"бајти",verb:"да имаат"},array:{unit:"ставки",verb:"да имаат"},set:{unit:"ставки",verb:"да имаат"}},t={regex:"внес",email:"адреса на е-пошта",url:"URL",emoji:"емоџи",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO датум и време",date:"ISO датум",time:"ISO време",duration:"ISO времетраење",ipv4:"IPv4 адреса",ipv6:"IPv6 адреса",cidrv4:"IPv4 опсег",cidrv6:"IPv6 опсег",base64:"base64-енкодирана низа",base64url:"base64url-енкодирана низа",json_string:"JSON низа",e164:"E.164 број",jwt:"JWT",template_literal:"внес"},n={nan:"NaN",number:"број",array:"низа"},r=>{switch(r.code){case"invalid_type":{let e=n[r.expected]??r.expected,t=s1(r.input),i=n[t]??t;if(/^[A-Z]/.test(r.expected))return`Грешен внес: се очекува instanceof ${r.expected}, примено ${i}`;return`Грешен внес: се очекува ${e}, примено ${i}`}case"invalid_value":if(1===r.values.length)return`Invalid input: expected ${sW(r.values[0])}`;return`Грешана опција: се очекува една ${sk(r.values,"|")}`;case"too_big":{let t=r.inclusive?"<=":"<",n=e[r.origin]??null;if(n)return`Премногу голем: се очекува ${r.origin??"вредноста"} да има ${t}${r.maximum.toString()} ${n.unit??"елементи"}`;return`Премногу голем: се очекува ${r.origin??"вредноста"} да биде ${t}${r.maximum.toString()}`}case"too_small":{let t=r.inclusive?">=":">",n=e[r.origin]??null;if(n)return`Премногу мал: се очекува ${r.origin} да има ${t}${r.minimum.toString()} ${n.unit}`;return`Премногу мал: се очекува ${r.origin} да биде ${t}${r.minimum.toString()}`}case"invalid_format":if("starts_with"===r.format)return`Неважечка низа: мора да започнува со "${r.prefix}"`;if("ends_with"===r.format)return`Неважечка низа: мора да завршува со "${r.suffix}"`;if("includes"===r.format)return`Неважечка низа: мора да вклучува "${r.includes}"`;if("regex"===r.format)return`Неважечка низа: мора да одгоара на патернот ${r.pattern}`;return`Invalid ${t[r.format]??r.format}`;case"not_multiple_of":return`Грешен број: мора да биде делив со ${r.divisor}`;case"unrecognized_keys":return`${r.keys.length>1?"Непрепознаени клучеви":"Непрепознаен клуч"}: ${sk(r.keys,", ")}`;case"invalid_key":return`Грешен клуч во ${r.origin}`;case"invalid_union":default:return"Грешен внес";case"invalid_element":return`Грешна вредност во ${r.origin}`}})}},"ms",0,function(){let e,t,n;return{localeError:(e={string:{unit:"aksara",verb:"mempunyai"},file:{unit:"bait",verb:"mempunyai"},array:{unit:"elemen",verb:"mempunyai"},set:{unit:"elemen",verb:"mempunyai"}},t={regex:"input",email:"alamat e-mel",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"tarikh masa ISO",date:"tarikh ISO",time:"masa ISO",duration:"tempoh ISO",ipv4:"alamat IPv4",ipv6:"alamat IPv6",cidrv4:"julat IPv4",cidrv6:"julat IPv6",base64:"string dikodkan base64",base64url:"string dikodkan base64url",json_string:"string JSON",e164:"nombor E.164",jwt:"JWT",template_literal:"input"},n={nan:"NaN",number:"nombor"},r=>{switch(r.code){case"invalid_type":{let e=n[r.expected]??r.expected,t=s1(r.input),i=n[t]??t;if(/^[A-Z]/.test(r.expected))return`Input tidak sah: dijangka instanceof ${r.expected}, diterima ${i}`;return`Input tidak sah: dijangka ${e}, diterima ${i}`}
44case"invalid_value":if(1===r.values.length)return`Input tidak sah: dijangka ${sW(r.values[0])}`;return`Pilihan tidak sah: dijangka salah satu daripada ${sk(r.values,"|")}`;case"too_big":{let t=r.inclusive?"<=":"<",n=e[r.origin]??null;if(n)return`Terlalu besar: dijangka ${r.origin??"nilai"} ${n.verb} ${t}${r.maximum.toString()} ${n.unit??"elemen"}`;return`Terlalu besar: dijangka ${r.origin??"nilai"} adalah ${t}${r.maximum.toString()}`}case"too_small":{let t=r.inclusive?">=":">",n=e[r.origin]??null;if(n)return`Terlalu kecil: dijangka ${r.origin} ${n.verb} ${t}${r.minimum.toString()} ${n.unit}`;return`Terlalu kecil: dijangka ${r.origin} adalah ${t}${r.minimum.toString()}`}case"invalid_format":if("starts_with"===r.format)return`String tidak sah: mesti bermula dengan "${r.prefix}"`;if("ends_with"===r.format)return`String tidak sah: mesti berakhir dengan "${r.suffix}"`;if("includes"===r.format)return`String tidak sah: mesti mengandungi "${r.includes}"`;if("regex"===r.format)return`String tidak sah: mesti sepadan dengan corak ${r.pattern}`;return`${t[r.format]??r.format} tidak sah`;case"not_multiple_of":return`Nombor tidak sah: perlu gandaan ${r.divisor}`;case"unrecognized_keys":return`Kunci tidak dikenali: ${sk(r.keys,", ")}`;case"invalid_key":return`Kunci tidak sah dalam ${r.origin}`;case"invalid_union":default:return"Input tidak sah";case"invalid_element":return`Nilai tidak sah dalam ${r.origin}`}})}},"nl",0,function(){let e,t,n;return{localeError:(e={string:{unit:"tekens",verb:"heeft"},file:{unit:"bytes",verb:"heeft"},array:{unit:"elementen",verb:"heeft"},set:{unit:"elementen",verb:"heeft"}},t={regex:"invoer",email:"emailadres",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO datum en tijd",date:"ISO datum",time:"ISO tijd",duration:"ISO duur",ipv4:"IPv4-adres",ipv6:"IPv6-adres",cidrv4:"IPv4-bereik",cidrv6:"IPv6-bereik",base64:"base64-gecodeerde tekst",base64url:"base64 URL-gecodeerde tekst",json_string:"JSON string",e164:"E.164-nummer",jwt:"JWT",template_literal:"invoer"},n={nan:"NaN",number:"getal"},r=>{switch(r.code){case"invalid_type":{let e=n[r.expected]??r.expected,t=s1(r.input),i=n[t]??t;if(/^[A-Z]/.test(r.expected))return`Ongeldige invoer: verwacht instanceof ${r.expected}, ontving ${i}`;return`Ongeldige invoer: verwacht ${e}, ontving ${i}`}case"invalid_value":if(1===r.values.length)return`Ongeldige invoer: verwacht ${sW(r.values[0])}`;return`Ongeldige optie: verwacht \xe9\xe9n van ${sk(r.values,"|")}`;case"too_big":{let t=r.inclusive?"<=":"<",n=e[r.origin]??null,i="date"===r.origin?"laat":"string"===r.origin?"lang":"groot";if(n)return`Te ${i}: verwacht dat ${r.origin??"waarde"} ${t}${r.maximum.toString()} ${n.unit??"elementen"} ${n.verb}`;return`Te ${i}: verwacht dat ${r.origin??"waarde"} ${t}${r.maximum.toString()} is`}case"too_small":{let t=r.inclusive?">=":">",n=e[r.origin]??null,i="date"===r.origin?"vroeg":"string"===r.origin?"kort":"klein";if(n)return`Te ${i}: verwacht dat ${r.origin} ${t}${r.minimum.toString()} ${n.unit} ${n.verb}`;return`Te ${i}: verwacht dat ${r.origin} ${t}${r.minimum.toString()} is`}case"invalid_format":if("starts_with"===r.format)return`Ongeldige tekst: moet met "${r.prefix}" beginnen`;if("ends_with"===r.format)return`Ongeldige tekst: moet op "${r.suffix}" eindigen`;if("includes"===r.format)return`Ongeldige tekst: moet "${r.includes}" bevatten`;if("regex"===r.format)return`Ongeldige tekst: moet overeenkomen met patroon ${r.pattern}`;return`Ongeldig: ${t[r.format]??r.format}`;case"not_multiple_of":return`Ongeldig getal: moet een veelvoud van ${r.divisor} zijn`;case"unrecognized_keys":return`Onbekende key${r.keys.length>1?"s":""}: ${sk(r.keys,", ")}`;case"invalid_key":return`Ongeldige key in ${r.origin}`;case"invalid_union":default:return"Ongeldige invoer";case"invalid_element":return`Ongeldige waarde in ${r.origin}`}})}},"no",0,function(){let e,t,n;return{localeError:(e={string:{unit:"tegn",verb:"å ha"},file:{unit:"bytes",verb:"å ha"},array:{unit:"elementer",verb:"å inneholde"},set:{unit:"elementer",verb:"å inneholde"}},t={regex:"input",email:"e-postadresse",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO dato- og klokkeslett",date:"ISO-dato",time:"ISO-klokkeslett",duration:"ISO-varighet",ipv4:"IPv4-område",ipv6:"IPv6-område",cidrv4:"IPv4-spekter",cidrv6:"IPv6-spekter",base64:"base64-enkodet streng",base64url:"base64url-enkodet streng",json_string:"JSON-streng",e164:"E.164-nummer",jwt:"JWT",template_literal:"input"},n={nan:"NaN",number:"tall",array:"liste"},r=>
44{switch(r.code){case"invalid_type":{let e=n[r.expected]??r.expected,t=s1(r.input),i=n[t]??t;if(/^[A-Z]/.test(r.expected))return`Ugyldig input: forventet instanceof ${r.expected}, fikk ${i}`;return`Ugyldig input: forventet ${e}, fikk ${i}`}case"invalid_value":if(1===r.values.length)return`Ugyldig verdi: forventet ${sW(r.values[0])}`;return`Ugyldig valg: forventet en av ${sk(r.values,"|")}`;case"too_big":{let t=r.inclusive?"<=":"<",n=e[r.origin]??null;if(n)return`For stor(t): forventet ${r.origin??"value"} til \xe5 ha ${t}${r.maximum.toString()} ${n.unit??"elementer"}`;return`For stor(t): forventet ${r.origin??"value"} til \xe5 ha ${t}${r.maximum.toString()}`}case"too_small":{let t=r.inclusive?">=":">",n=e[r.origin]??null;if(n)return`For lite(n): forventet ${r.origin} til \xe5 ha ${t}${r.minimum.toString()} ${n.unit}`;return`For lite(n): forventet ${r.origin} til \xe5 ha ${t}${r.minimum.toString()}`}case"invalid_format":if("starts_with"===r.format)return`Ugyldig streng: m\xe5 starte med "${r.prefix}"`;if("ends_with"===r.format)return`Ugyldig streng: m\xe5 ende med "${r.suffix}"`;if("includes"===r.format)return`Ugyldig streng: m\xe5 inneholde "${r.includes}"`;if("regex"===r.format)return`Ugyldig streng: m\xe5 matche m\xf8nsteret ${r.pattern}`;return`Ugyldig ${t[r.format]??r.format}`;case"not_multiple_of":return`Ugyldig tall: m\xe5 v\xe6re et multiplum av ${r.divisor}`;case"unrecognized_keys":return`${r.keys.length>1?"Ukjente nøkler":"Ukjent nøkkel"}: ${sk(r.keys,", ")}`;case"invalid_key":return`Ugyldig n\xf8kkel i ${r.origin}`;case"invalid_union":default:return"Ugyldig input";case"invalid_element":return`Ugyldig verdi i ${r.origin}`}})}},"ota",0,function(){let e,t,n;return{localeError:(e={string:{unit:"harf",verb:"olmalıdır"},file:{unit:"bayt",verb:"olmalıdır"},array:{unit:"unsur",verb:"olmalıdır"},set:{unit:"unsur",verb:"olmalıdır"}},t={regex:"giren",email:"epostagâh",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO hengâmı",date:"ISO tarihi",time:"ISO zamanı",duration:"ISO müddeti",ipv4:"IPv4 nişânı",ipv6:"IPv6 nişânı",cidrv4:"IPv4 menzili",cidrv6:"IPv6 menzili",base64:"base64-şifreli metin",base64url:"base64url-şifreli metin",json_string:"JSON metin",e164:"E.164 sayısı",jwt:"JWT",template_literal:"giren"},n={nan:"NaN",number:"numara",array:"saf",null:"gayb"},r=>{switch(r.code){case"invalid_type":{let e=n[r.expected]??r.expected,t=s1(r.input),i=n[t]??t;if(/^[A-Z]/.test(r.expected))return`F\xe2sit giren: umulan instanceof ${r.expected}, alınan ${i}`;return`F\xe2sit giren: umulan ${e}, alınan ${i}`}case"invalid_value":if(1===r.values.length)return`F\xe2sit giren: umulan ${sW(r.values[0])}`;return`F\xe2sit tercih: m\xfbteberler ${sk(r.values,"|")}`;case"too_big":{let t=r.inclusive?"<=":"<",n=e[r.origin]??null;if(n)return`Fazla b\xfcy\xfck: ${r.origin??"value"}, ${t}${r.maximum.toString()} ${n.unit??"elements"} sahip olmalıydı.`;return`Fazla b\xfcy\xfck: ${r.origin??"value"}, ${t}${r.maximum.toString()} olmalıydı.`}case"too_small":{let t=r.inclusive?">=":">",n=e[r.origin]??null;if(n)return`Fazla k\xfc\xe7\xfck: ${r.origin}, ${t}${r.minimum.toString()} ${n.unit} sahip olmalıydı.`;return`Fazla k\xfc\xe7\xfck: ${r.origin}, ${t}${r.minimum.toString()} olmalıydı.`}case"invalid_format":if("starts_with"===r.format)return`F\xe2sit metin: "${r.prefix}" ile başlamalı.`;if("ends_with"===r.format)return`F\xe2sit metin: "${r.suffix}" ile bitmeli.`;if("includes"===r.format)return`F\xe2sit metin: "${r.includes}" ihtiv\xe2 etmeli.`;if("regex"===r.format)return`F\xe2sit metin: ${r.pattern} nakşına uymalı.`;return`F\xe2sit ${t[r.format]??r.format}`;case"not_multiple_of":return`F\xe2sit sayı: ${r.divisor} katı olmalıydı.`;case"unrecognized_keys":return`Tanınmayan anahtar ${r.keys.length>1?"s":""}: ${sk(r.keys,", ")}`;case"invalid_key":return`${r.origin} i\xe7in tanınmayan anahtar var.`;case"invalid_union":return"Giren tanınamadı.";case"invalid_element":return`${r.origin} i\xe7in tanınmayan kıymet var.`;default:return"Kıymet tanınamadı."}})}},"pl",0,function(){let e,t,n;return{localeError:(e={string:{unit:"znaków",verb:"mieć"},file:{unit:"bajtów",verb:"mieć"},array:{unit:"elementów",verb:"mieć"},set:{unit:"elementów",verb:"mieć"}},t={regex:"wyrażenie",email:"adres email",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"data i godzina w formacie ISO",date:"data w formacie ISO",time:"godzina w formacie ISO",duration:"czas trwania ISO",ipv4:"adres IPv4",ipv6:"adres IPv6",cidrv4:"zakres IPv4",cidrv6:"zakres IPv6",base64:"ciąg znaków zakodowany w formacie base64",base64url:"ciąg znaków zakodowany w formacie base64url",json_string:"ciąg znaków w formacie JSON",e164:"liczba E.164",jwt:"JWT",template_literal:"wejście"},n={nan:"NaN",number:"liczba",array:"tablica"},r=>
44{switch(r.code){case"invalid_type":{let e=n[r.expected]??r.expected,t=s1(r.input),i=n[t]??t;if(/^[A-Z]/.test(r.expected))return`Nieprawidłowe dane wejściowe: oczekiwano instanceof ${r.expected}, otrzymano ${i}`;return`Nieprawidłowe dane wejściowe: oczekiwano ${e}, otrzymano ${i}`}case"invalid_value":if(1===r.values.length)return`Nieprawidłowe dane wejściowe: oczekiwano ${sW(r.values[0])}`;return`Nieprawidłowa opcja: oczekiwano jednej z wartości ${sk(r.values,"|")}`;case"too_big":{let t=r.inclusive?"<=":"<",n=e[r.origin]??null;if(n)return`Za duża wartość: oczekiwano, że ${r.origin??"wartość"} będzie mieć ${t}${r.maximum.toString()} ${n.unit??"elementów"}`;return`Zbyt duż(y/a/e): oczekiwano, że ${r.origin??"wartość"} będzie wynosić ${t}${r.maximum.toString()}`}case"too_small":{let t=r.inclusive?">=":">",n=e[r.origin]??null;if(n)return`Za mała wartość: oczekiwano, że ${r.origin??"wartość"} będzie mieć ${t}${r.minimum.toString()} ${n.unit??"elementów"}`;return`Zbyt mał(y/a/e): oczekiwano, że ${r.origin??"wartość"} będzie wynosić ${t}${r.minimum.toString()}`}case"invalid_format":if("starts_with"===r.format)return`Nieprawidłowy ciąg znak\xf3w: musi zaczynać się od "${r.prefix}"`;if("ends_with"===r.format)return`Nieprawidłowy ciąg znak\xf3w: musi kończyć się na "${r.suffix}"`;if("includes"===r.format)return`Nieprawidłowy ciąg znak\xf3w: musi zawierać "${r.includes}"`;if("regex"===r.format)return`Nieprawidłowy ciąg znak\xf3w: musi odpowiadać wzorcowi ${r.pattern}`;return`Nieprawidłow(y/a/e) ${t[r.format]??r.format}`;case"not_multiple_of":return`Nieprawidłowa liczba: musi być wielokrotnością ${r.divisor}`;case"unrecognized_keys":return`Nierozpoznane klucze${r.keys.length>1?"s":""}: ${sk(r.keys,", ")}`;case"invalid_key":return`Nieprawidłowy klucz w ${r.origin}`;case"invalid_union":default:return"Nieprawidłowe dane wejściowe";case"invalid_element":return`Nieprawidłowa wartość w ${r.origin}`}})}},"ps",0,function(){let e,t,n;return{localeError:(e={string:{unit:"توکي",verb:"ولري"},file:{unit:"بایټس",verb:"ولري"},array:{unit:"توکي",verb:"ولري"},set:{unit:"توکي",verb:"ولري"}},t={regex:"ورودي",email:"بریښنالیک",url:"یو آر ال",emoji:"ایموجي",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"نیټه او وخت",date:"نېټه",time:"وخت",duration:"موده",ipv4:"د IPv4 پته",ipv6:"د IPv6 پته",cidrv4:"د IPv4 ساحه",cidrv6:"د IPv6 ساحه",base64:"base64-encoded متن",base64url:"base64url-encoded متن",json_string:"JSON متن",e164:"د E.164 شمېره",jwt:"JWT",template_literal:"ورودي"},n={nan:"NaN",number:"عدد",array:"ارې"},r=>{switch(r.code){case"invalid_type":{let e=n[r.expected]??r.expected,t=s1(r.input),i=n[t]??t;if(/^[A-Z]/.test(r.expected))return`ناسم ورودي: باید instanceof ${r.expected} وای, مګر ${i} ترلاسه شو`;return`ناسم ورودي: باید ${e} وای, مګر ${i} ترلاسه شو`}case"invalid_value":if(1===r.values.length)return`ناسم ورودي: باید ${sW(r.values[0])} وای`;return`ناسم انتخاب: باید یو له ${sk(r.values,"|")} څخه وای`;case"too_big":{let t=r.inclusive?"<=":"<",n=e[r.origin]??null;if(n)return`ډیر لوی: ${r.origin??"ارزښت"} باید ${t}${r.maximum.toString()} ${n.unit??"عنصرونه"} ولري`;return`ډیر لوی: ${r.origin??"ارزښت"} باید ${t}${r.maximum.toString()} وي`}case"too_small":{let t=r.inclusive?">=":">",n=e[r.origin]??null;if(n)return`ډیر کوچنی: ${r.origin} باید ${t}${r.minimum.toString()} ${n.unit} ولري`;return`ډیر کوچنی: ${r.origin} باید ${t}${r.minimum.toString()} وي`}case"invalid_format":if("starts_with"===r.format)return`ناسم متن: باید د "${r.prefix}" سره پیل شي`;if("ends_with"===r.format)return`ناسم متن: باید د "${r.suffix}" سره پای ته ورسيږي`;if("includes"===r.format)return`ناسم متن: باید "${r.includes}" ولري`;if("regex"===r.format)return`ناسم متن: باید د ${r.pattern} سره مطابقت ولري`;return`${t[r.format]??r.format} ناسم دی`;case"not_multiple_of":return`ناسم عدد: باید د ${r.divisor} مضرب وي`;case"unrecognized_keys":return`ناسم ${r.keys.length>1?"کلیډونه":"کلیډ"}: ${sk(r.keys,", ")}`;
44case"invalid_key":return`ناسم کلیډ په ${r.origin} کې`;case"invalid_union":default:return"ناسمه ورودي";case"invalid_element":return`ناسم عنصر په ${r.origin} کې`}})}},"pt",0,function(){let e,t,n;return{localeError:(e={string:{unit:"caracteres",verb:"ter"},file:{unit:"bytes",verb:"ter"},array:{unit:"itens",verb:"ter"},set:{unit:"itens",verb:"ter"}},t={regex:"padrão",email:"endereço de e-mail",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"data e hora ISO",date:"data ISO",time:"hora ISO",duration:"duração ISO",ipv4:"endereço IPv4",ipv6:"endereço IPv6",cidrv4:"faixa de IPv4",cidrv6:"faixa de IPv6",base64:"texto codificado em base64",base64url:"URL codificada em base64",json_string:"texto JSON",e164:"número E.164",jwt:"JWT",template_literal:"entrada"},n={nan:"NaN",number:"número",null:"nulo"},r=>{switch(r.code){case"invalid_type":{let e=n[r.expected]??r.expected,t=s1(r.input),i=n[t]??t;if(/^[A-Z]/.test(r.expected))return`Tipo inv\xe1lido: esperado instanceof ${r.expected}, recebido ${i}`;return`Tipo inv\xe1lido: esperado ${e}, recebido ${i}`}case"invalid_value":if(1===r.values.length)return`Entrada inv\xe1lida: esperado ${sW(r.values[0])}`;return`Op\xe7\xe3o inv\xe1lida: esperada uma das ${sk(r.values,"|")}`;case"too_big":{let t=r.inclusive?"<=":"<",n=e[r.origin]??null;if(n)return`Muito grande: esperado que ${r.origin??"valor"} tivesse ${t}${r.maximum.toString()} ${n.unit??"elementos"}`;return`Muito grande: esperado que ${r.origin??"valor"} fosse ${t}${r.maximum.toString()}`}case"too_small":{let t=r.inclusive?">=":">",n=e[r.origin]??null;if(n)return`Muito pequeno: esperado que ${r.origin} tivesse ${t}${r.minimum.toString()} ${n.unit}`;return`Muito pequeno: esperado que ${r.origin} fosse ${t}${r.minimum.toString()}`}case"invalid_format":if("starts_with"===r.format)return`Texto inv\xe1lido: deve come\xe7ar com "${r.prefix}"`;if("ends_with"===r.format)return`Texto inv\xe1lido: deve terminar com "${r.suffix}"`;if("includes"===r.format)return`Texto inv\xe1lido: deve incluir "${r.includes}"`;if("regex"===r.format)return`Texto inv\xe1lido: deve corresponder ao padr\xe3o ${r.pattern}`;return`${t[r.format]??r.format} inv\xe1lido`;case"not_multiple_of":return`N\xfamero inv\xe1lido: deve ser m\xfaltiplo de ${r.divisor}`;case"unrecognized_keys":return`Chave${r.keys.length>1?"s":""} desconhecida${r.keys.length>1?"s":""}: ${sk(r.keys,", ")}`;case"invalid_key":return`Chave inv\xe1lida em ${r.origin}`;case"invalid_union":return"Entrada inválida";case"invalid_element":return`Valor inv\xe1lido em ${r.origin}`;default:return"Campo inválido"}})}},"ru",0,function(){let e,t,n;return{localeError:(e={string:{unit:{one:"символ",few:"символа",many:"символов"},verb:"иметь"},file:{unit:{one:"байт",few:"байта",many:"байт"},verb:"иметь"},array:{unit:{one:"элемент",few:"элемента",many:"элементов"},verb:"иметь"},set:{unit:{one:"элемент",few:"элемента",many:"элементов"},verb:"иметь"}},t={regex:"ввод",email:"email адрес",url:"URL",emoji:"эмодзи",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO дата и время",date:"ISO дата",time:"ISO время",duration:"ISO длительность",ipv4:"IPv4 адрес",ipv6:"IPv6 адрес",cidrv4:"IPv4 диапазон",cidrv6:"IPv6 диапазон",base64:"строка в формате base64",base64url:"строка в формате base64url",json_string:"JSON строка",e164:"номер E.164",jwt:"JWT",template_literal:"ввод"},n={nan:"NaN",number:"число",array:"массив"},r=>{switch(r.code){case"invalid_type":{let e=n[r.expected]??r.expected,t=s1(r.input),i=n[t]??t;if(/^[A-Z]/.test(r.expected))return`Неверный ввод: ожидалось instanceof ${r.expected}, получено ${i}`;return`Неверный ввод: ожидалось ${e}, получено ${i}`}
44case"invalid_value":if(1===r.values.length)return`Неверный ввод: ожидалось ${sW(r.values[0])}`;return`Неверный вариант: ожидалось одно из ${sk(r.values,"|")}`;case"too_big":{let t=r.inclusive?"<=":"<",n=e[r.origin]??null;if(n){let e=dm(Number(r.maximum),n.unit.one,n.unit.few,n.unit.many);return`Слишком большое значение: ожидалось, что ${r.origin??"значение"} будет иметь ${t}${r.maximum.toString()} ${e}`}return`Слишком большое значение: ожидалось, что ${r.origin??"значение"} будет ${t}${r.maximum.toString()}`}case"too_small":{let t=r.inclusive?">=":">",n=e[r.origin]??null;if(n){let e=dm(Number(r.minimum),n.unit.one,n.unit.few,n.unit.many);return`Слишком маленькое значение: ожидалось, что ${r.origin} будет иметь ${t}${r.minimum.toString()} ${e}`}return`Слишком маленькое значение: ожидалось, что ${r.origin} будет ${t}${r.minimum.toString()}`}case"invalid_format":if("starts_with"===r.format)return`Неверная строка: должна начинаться с "${r.prefix}"`;if("ends_with"===r.format)return`Неверная строка: должна заканчиваться на "${r.suffix}"`;if("includes"===r.format)return`Неверная строка: должна содержать "${r.includes}"`;if("regex"===r.format)return`Неверная строка: должна соответствовать шаблону ${r.pattern}`;return`Неверный ${t[r.format]??r.format}`;case"not_multiple_of":return`Неверное число: должно быть кратным ${r.divisor}`;case"unrecognized_keys":return`Нераспознанн${r.keys.length>1?"ые":"ый"} ключ${r.keys.length>1?"и":""}: ${sk(r.keys,", ")}`;case"invalid_key":return`Неверный ключ в ${r.origin}`;case"invalid_union":default:return"Неверные входные данные";case"invalid_element":return`Неверное значение в ${r.origin}`}})}},"sl",0,function(){let e,t,n;return{localeError:(e={string:{unit:"znakov",verb:"imeti"},file:{unit:"bajtov",verb:"imeti"},array:{unit:"elementov",verb:"imeti"},set:{unit:"elementov",verb:"imeti"}},t={regex:"vnos",email:"e-poštni naslov",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO datum in čas",date:"ISO datum",time:"ISO čas",duration:"ISO trajanje",ipv4:"IPv4 naslov",ipv6:"IPv6 naslov",cidrv4:"obseg IPv4",cidrv6:"obseg IPv6",base64:"base64 kodiran niz",base64url:"base64url kodiran niz",json_string:"JSON niz",e164:"E.164 številka",jwt:"JWT",template_literal:"vnos"},n={nan:"NaN",number:"število",array:"tabela"},r=>{switch(r.code){case"invalid_type":{let e=n[r.expected]??r.expected,t=s1(r.input),i=n[t]??t;if(/^[A-Z]/.test(r.expected))return`Neveljaven vnos: pričakovano instanceof ${r.expected}, prejeto ${i}`;return`Neveljaven vnos: pričakovano ${e}, prejeto ${i}`}case"invalid_value":if(1===r.values.length)return`Neveljaven vnos: pričakovano ${sW(r.values[0])}`;return`Neveljavna možnost: pričakovano eno izmed ${sk(r.values,"|")}`;case"too_big":{let t=r.inclusive?"<=":"<",n=e[r.origin]??null;if(n)return`Preveliko: pričakovano, da bo ${r.origin??"vrednost"} imelo ${t}${r.maximum.toString()} ${n.unit??"elementov"}`;return`Preveliko: pričakovano, da bo ${r.origin??"vrednost"} ${t}${r.maximum.toString()}`}case"too_small":{let t=r.inclusive?">=":">",n=e[r.origin]??null;if(n)return`Premajhno: pričakovano, da bo ${r.origin} imelo ${t}${r.minimum.toString()} ${n.unit}`;return`Premajhno: pričakovano, da bo ${r.origin} ${t}${r.minimum.toString()}`}case"invalid_format":if("starts_with"===r.format)return`Neveljaven niz: mora se začeti z "${r.prefix}"`;if("ends_with"===r.format)return`Neveljaven niz: mora se končati z "${r.suffix}"`;if("includes"===r.format)return`Neveljaven niz: mora vsebovati "${r.includes}"`;if("regex"===r.format)return`Neveljaven niz: mora ustrezati vzorcu ${r.pattern}`;return`Neveljaven ${t[r.format]??r.format}`;case"not_multiple_of":return`Neveljavno število: mora biti večkratnik ${r.divisor}`;case"unrecognized_keys":return`Neprepoznan${r.keys.length>1?"i ključi":" ključ"}: ${sk(r.keys,", ")}`;
44case"invalid_key":return`Neveljaven ključ v ${r.origin}`;case"invalid_union":default:return"Neveljaven vnos";case"invalid_element":return`Neveljavna vrednost v ${r.origin}`}})}},"sv",0,function(){let e,t,n;return{localeError:(e={string:{unit:"tecken",verb:"att ha"},file:{unit:"bytes",verb:"att ha"},array:{unit:"objekt",verb:"att innehålla"},set:{unit:"objekt",verb:"att innehålla"}},t={regex:"reguljärt uttryck",email:"e-postadress",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO-datum och tid",date:"ISO-datum",time:"ISO-tid",duration:"ISO-varaktighet",ipv4:"IPv4-intervall",ipv6:"IPv6-intervall",cidrv4:"IPv4-spektrum",cidrv6:"IPv6-spektrum",base64:"base64-kodad sträng",base64url:"base64url-kodad sträng",json_string:"JSON-sträng",e164:"E.164-nummer",jwt:"JWT",template_literal:"mall-literal"},n={nan:"NaN",number:"antal",array:"lista"},r=>{switch(r.code){case"invalid_type":{let e=n[r.expected]??r.expected,t=s1(r.input),i=n[t]??t;if(/^[A-Z]/.test(r.expected))return`Ogiltig inmatning: f\xf6rv\xe4ntat instanceof ${r.expected}, fick ${i}`;return`Ogiltig inmatning: f\xf6rv\xe4ntat ${e}, fick ${i}`}case"invalid_value":if(1===r.values.length)return`Ogiltig inmatning: f\xf6rv\xe4ntat ${sW(r.values[0])}`;return`Ogiltigt val: f\xf6rv\xe4ntade en av ${sk(r.values,"|")}`;case"too_big":{let t=r.inclusive?"<=":"<",n=e[r.origin]??null;if(n)return`F\xf6r stor(t): f\xf6rv\xe4ntade ${r.origin??"värdet"} att ha ${t}${r.maximum.toString()} ${n.unit??"element"}`;return`F\xf6r stor(t): f\xf6rv\xe4ntat ${r.origin??"värdet"} att ha ${t}${r.maximum.toString()}`}case"too_small":{let t=r.inclusive?">=":">",n=e[r.origin]??null;if(n)return`F\xf6r lite(t): f\xf6rv\xe4ntade ${r.origin??"värdet"} att ha ${t}${r.minimum.toString()} ${n.unit}`;return`F\xf6r lite(t): f\xf6rv\xe4ntade ${r.origin??"värdet"} att ha ${t}${r.minimum.toString()}`}case"invalid_format":if("starts_with"===r.format)return`Ogiltig str\xe4ng: m\xe5ste b\xf6rja med "${r.prefix}"`;if("ends_with"===r.format)return`Ogiltig str\xe4ng: m\xe5ste sluta med "${r.suffix}"`;if("includes"===r.format)return`Ogiltig str\xe4ng: m\xe5ste inneh\xe5lla "${r.includes}"`;if("regex"===r.format)return`Ogiltig str\xe4ng: m\xe5ste matcha m\xf6nstret "${r.pattern}"`;return`Ogiltig(t) ${t[r.format]??r.format}`;case"not_multiple_of":return`Ogiltigt tal: m\xe5ste vara en multipel av ${r.divisor}`;case"unrecognized_keys":return`${r.keys.length>1?"Okända nycklar":"Okänd nyckel"}: ${sk(r.keys,", ")}`;case"invalid_key":return`Ogiltig nyckel i ${r.origin??"värdet"}`;case"invalid_union":default:return"Ogiltig input";case"invalid_element":return`Ogiltigt v\xe4rde i ${r.origin??"värdet"}`}})}},"ta",0,function(){let e,t,n;return{localeError:(e={string:{unit:"எழுத்துக்கள்",verb:"கொண்டிருக்க வேண்டும்"},file:{unit:"பைட்டுகள்",verb:"கொண்டிருக்க வேண்டும்"},array:{unit:"உறுப்புகள்",verb:"கொண்டிருக்க வேண்டும்"},set:{unit:"உறுப்புகள்",verb:"கொண்டிருக்க வேண்டும்"}},t={regex:"உள்ளீடு",email:"மின்னஞ்சல் முகவரி",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO தேதி நேரம்",date:"ISO தேதி",time:"ISO நேரம்",duration:"ISO கால அளவு",ipv4:"IPv4 முகவரி",ipv6:"IPv6 முகவரி",cidrv4:"IPv4 வரம்பு",cidrv6:"IPv6 வரம்பு",base64:"base64-encoded சரம்",base64url:"base64url-encoded சரம்",json_string:"JSON சரம்",e164:"E.164 எண்",jwt:"JWT",template_literal:"input"},n={nan:"NaN",number:"எண்",array:"அணி",null:"வெறுமை"},r=>{switch(r.code){case"invalid_type":{let e=n[r.expected]??r.expected,t=s1(r.input),i=n[t]??t;
44if(/^[A-Z]/.test(r.expected))return`தவறான உள்ளீடு: எதிர்பார்க்கப்பட்டது instanceof ${r.expected}, பெறப்பட்டது ${i}`;return`தவறான உள்ளீடு: எதிர்பார்க்கப்பட்டது ${e}, பெறப்பட்டது ${i}`}case"invalid_value":if(1===r.values.length)return`தவறான உள்ளீடு: எதிர்பார்க்கப்பட்டது ${sW(r.values[0])}`;return`தவறான விருப்பம்: எதிர்பார்க்கப்பட்டது ${sk(r.values,"|")} இல் ஒன்று`;case"too_big":{let t=r.inclusive?"<=":"<",n=e[r.origin]??null;if(n)return`மிக பெரியது: எதிர்பார்க்கப்பட்டது ${r.origin??"மதிப்பு"} ${t}${r.maximum.toString()} ${n.unit??"உறுப்புகள்"} ஆக இருக்க வேண்டும்`;return`மிக பெரியது: எதிர்பார்க்கப்பட்டது ${r.origin??"மதிப்பு"} ${t}${r.maximum.toString()} ஆக இருக்க வேண்டும்`}case"too_small":{let t=r.inclusive?">=":">",n=e[r.origin]??null;if(n)return`மிகச் சிறியது: எதிர்பார்க்கப்பட்டது ${r.origin} ${t}${r.minimum.toString()} ${n.unit} ஆக இருக்க வேண்டும்`;return`மிகச் சிறியது: எதிர்பார்க்கப்பட்டது ${r.origin} ${t}${r.minimum.toString()} ஆக இருக்க வேண்டும்`}case"invalid_format":if("starts_with"===r.format)return`தவறான சரம்: "${r.prefix}" இல் தொடங்க வேண்டும்`;if("ends_with"===r.format)return`தவறான சரம்: "${r.suffix}" இல் முடிவடைய வேண்டும்`;if("includes"===r.format)return`தவறான சரம்: "${r.includes}" ஐ உள்ளடக்க வேண்டும்`;if("regex"===r.format)return`தவறான சரம்: ${r.pattern} முறைபாட்டுடன் பொருந்த வேண்டும்`;return`தவறான ${t[r.format]??r.format}`;case"not_multiple_of":return`தவறான எண்: ${r.divisor} இன் பலமாக இருக்க வேண்டும்`;case"unrecognized_keys":return`அடையாளம் தெரியாத விசை${r.keys.length>1?"கள்":""}: ${sk(r.keys,", ")}`;case"invalid_key":return`${r.origin} இல் தவறான விசை`;case"invalid_union":default:return"தவறான உள்ளீடு";case"invalid_element":return`${r.origin} இல் தவறான மதிப்பு`}})}},"th",0,function(){let e,t,n;return{localeError:(e={string:{unit:"ตัวอักษร",verb:"ควรมี"},file:{unit:"ไบต์",verb:"ควรมี"},array:{unit:"รายการ",verb:"ควรมี"},set:{unit:"รายการ",verb:"ควรมี"}},t={regex:"ข้อมูลที่ป้อน",email:"ที่อยู่อีเมล",url:"URL",emoji:"อิโมจิ",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"วันที่เวลาแบบ ISO",date:"วันที่แบบ ISO",time:"เวลาแบบ ISO",duration:"ช่วงเวลาแบบ ISO",ipv4:"ที่อยู่ IPv4",ipv6:"ที่อยู่ IPv6",cidrv4:"ช่วง IP แบบ IPv4",cidrv6:"ช่วง IP แบบ IPv6",base64:"ข้อความแบบ Base64",base64url:"ข้อความแบบ Base64 สำหรับ URL",json_string:"ข้อความแบบ JSON",e164:"เบอร์โทรศัพท์ระหว่างประเทศ (E.164)",jwt:"โทเคน JWT",template_literal:"ข้อมูลที่ป้อน"},n={nan:"NaN",number:"ตัวเลข",array:"อาร์เรย์ (Array)",null:"ไม่มีค่า (null)"},r=>
44{switch(r.code){case"invalid_type":{let e=n[r.expected]??r.expected,t=s1(r.input),i=n[t]??t;if(/^[A-Z]/.test(r.expected))return`ประเภทข้อมูลไม่ถูกต้อง: ควรเป็น instanceof ${r.expected} แต่ได้รับ ${i}`;return`ประเภทข้อมูลไม่ถูกต้อง: ควรเป็น ${e} แต่ได้รับ ${i}`}case"invalid_value":if(1===r.values.length)return`ค่าไม่ถูกต้อง: ควรเป็น ${sW(r.values[0])}`;return`ตัวเลือกไม่ถูกต้อง: ควรเป็นหนึ่งใน ${sk(r.values,"|")}`;case"too_big":{let t=r.inclusive?"ไม่เกิน":"น้อยกว่า",n=e[r.origin]??null;if(n)return`เกินกำหนด: ${r.origin??"ค่า"} ควรมี${t} ${r.maximum.toString()} ${n.unit??"รายการ"}`;return`เกินกำหนด: ${r.origin??"ค่า"} ควรมี${t} ${r.maximum.toString()}`}case"too_small":{let t=r.inclusive?"อย่างน้อย":"มากกว่า",n=e[r.origin]??null;if(n)return`น้อยกว่ากำหนด: ${r.origin} ควรมี${t} ${r.minimum.toString()} ${n.unit}`;return`น้อยกว่ากำหนด: ${r.origin} ควรมี${t} ${r.minimum.toString()}`}case"invalid_format":if("starts_with"===r.format)return`รูปแบบไม่ถูกต้อง: ข้อความต้องขึ้นต้นด้วย "${r.prefix}"`;if("ends_with"===r.format)return`รูปแบบไม่ถูกต้อง: ข้อความต้องลงท้ายด้วย "${r.suffix}"`;if("includes"===r.format)return`รูปแบบไม่ถูกต้อง: ข้อความต้องมี "${r.includes}" อยู่ในข้อความ`;if("regex"===r.format)return`รูปแบบไม่ถูกต้อง: ต้องตรงกับรูปแบบที่กำหนด ${r.pattern}`;return`รูปแบบไม่ถูกต้อง: ${t[r.format]??r.format}`;case"not_multiple_of":return`ตัวเลขไม่ถูกต้อง: ต้องเป็นจำนวนที่หารด้วย ${r.divisor} ได้ลงตัว`;case"unrecognized_keys":return`พบคีย์ที่ไม่รู้จัก: ${sk(r.keys,", ")}`;case"invalid_key":return`คีย์ไม่ถูกต้องใน ${r.origin}`;case"invalid_union":return"ข้อมูลไม่ถูกต้อง: ไม่ตรงกับรูปแบบยูเนียนที่กำหนดไว้";case"invalid_element":return`ข้อมูลไม่ถูกต้องใน ${r.origin}`;default:return"ข้อมูลไม่ถูกต้อง"}})}},"tr",0,function(){let e,t,n;return{localeError:(e={string:{unit:"karakter",verb:"olmalı"},file:{unit:"bayt",verb:"olmalı"},array:{unit:"öğe",verb:"olmalı"},set:{unit:"öğe",verb:"olmalı"}},t={regex:"girdi",email:"e-posta adresi",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO tarih ve saat",date:"ISO tarih",time:"ISO saat",duration:"ISO süre",ipv4:"IPv4 adresi",ipv6:"IPv6 adresi",cidrv4:"IPv4 aralığı",cidrv6:"IPv6 aralığı",base64:"base64 ile şifrelenmiş metin",base64url:"base64url ile şifrelenmiş metin",json_string:"JSON dizesi",e164:"E.164 sayısı",jwt:"JWT",template_literal:"Şablon dizesi"},n={nan:"NaN"},r=>{switch(r.code){case"invalid_type":{let e=n[r.expected]??r.expected,t=s1(r.input),i=n[t]??t;if(/^[A-Z]/.test(r.expected))return`Ge\xe7ersiz değer: beklenen instanceof ${r.expected}, alınan ${i}`;return`Ge\xe7ersiz değer: beklenen ${e}, alınan ${i}`}case"invalid_value":if(1===r.values.length)return`Ge\xe7ersiz değer: beklenen ${sW(r.values[0])}`;return`Ge\xe7ersiz se\xe7enek: aşağıdakilerden biri olmalı: ${sk(r.values,"|")}`;case"too_big":{let t=r.inclusive?"<=":"<",n=e[r.origin]??null;if(n)return`\xc7ok b\xfcy\xfck: beklenen ${r.origin??"değer"} ${t}${r.maximum.toString()} ${n.unit??"öğe"}`;return`\xc7ok b\xfcy\xfck: beklenen ${r.origin??"değer"} ${t}${r.maximum.toString()}`}case"too_small":{let t=r.inclusive?">=":">",n=e[r.origin]??null;if(n)return`\xc7ok k\xfc\xe7\xfck: beklenen ${r.origin} ${t}${r.minimum.toString()} ${n.unit}`;return`\xc7ok k\xfc\xe7\xfck: beklenen ${r.origin} ${t}${r.minimum.toString()}`}
44case"invalid_format":if("starts_with"===r.format)return`Ge\xe7ersiz metin: "${r.prefix}" ile başlamalı`;if("ends_with"===r.format)return`Ge\xe7ersiz metin: "${r.suffix}" ile bitmeli`;if("includes"===r.format)return`Ge\xe7ersiz metin: "${r.includes}" i\xe7ermeli`;if("regex"===r.format)return`Ge\xe7ersiz metin: ${r.pattern} desenine uymalı`;return`Ge\xe7ersiz ${t[r.format]??r.format}`;case"not_multiple_of":return`Ge\xe7ersiz sayı: ${r.divisor} ile tam b\xf6l\xfcnebilmeli`;case"unrecognized_keys":return`Tanınmayan anahtar${r.keys.length>1?"lar":""}: ${sk(r.keys,", ")}`;case"invalid_key":return`${r.origin} i\xe7inde ge\xe7ersiz anahtar`;case"invalid_union":default:return"Geçersiz değer";case"invalid_element":return`${r.origin} i\xe7inde ge\xe7ersiz değer`}})}},"ua",0,function(){return dp()},"uk",0,dp,"ur",0,function(){let e,t,n;return{localeError:(e={string:{unit:"حروف",verb:"ہونا"},file:{unit:"بائٹس",verb:"ہونا"},array:{unit:"آئٹمز",verb:"ہونا"},set:{unit:"آئٹمز",verb:"ہونا"}},t={regex:"ان پٹ",email:"ای میل ایڈریس",url:"یو آر ایل",emoji:"ایموجی",uuid:"یو یو آئی ڈی",uuidv4:"یو یو آئی ڈی وی 4",uuidv6:"یو یو آئی ڈی وی 6",nanoid:"نینو آئی ڈی",guid:"جی یو آئی ڈی",cuid:"سی یو آئی ڈی",cuid2:"سی یو آئی ڈی 2",ulid:"یو ایل آئی ڈی",xid:"ایکس آئی ڈی",ksuid:"کے ایس یو آئی ڈی",datetime:"آئی ایس او ڈیٹ ٹائم",date:"آئی ایس او تاریخ",time:"آئی ایس او وقت",duration:"آئی ایس او مدت",ipv4:"آئی پی وی 4 ایڈریس",ipv6:"آئی پی وی 6 ایڈریس",cidrv4:"آئی پی وی 4 رینج",cidrv6:"آئی پی وی 6 رینج",base64:"بیس 64 ان کوڈڈ سٹرنگ",base64url:"بیس 64 یو آر ایل ان کوڈڈ سٹرنگ",json_string:"جے ایس او این سٹرنگ",e164:"ای 164 نمبر",jwt:"جے ڈبلیو ٹی",template_literal:"ان پٹ"},n={nan:"NaN",number:"نمبر",array:"آرے",null:"نل"},r=>{switch(r.code){case"invalid_type":{let e=n[r.expected]??r.expected,t=s1(r.input),i=n[t]??t;if(/^[A-Z]/.test(r.expected))return`غلط ان پٹ: instanceof ${r.expected} متوقع تھا، ${i} موصول ہوا`;return`غلط ان پٹ: ${e} متوقع تھا، ${i} موصول ہوا`}case"invalid_value":if(1===r.values.length)return`غلط ان پٹ: ${sW(r.values[0])} متوقع تھا`;return`غلط آپشن: ${sk(r.values,"|")} میں سے ایک متوقع تھا`;case"too_big":{let t=r.inclusive?"<=":"<",n=e[r.origin]??null;if(n)return`بہت بڑا: ${r.origin??"ویلیو"} کے ${t}${r.maximum.toString()} ${n.unit??"عناصر"} ہونے متوقع تھے`;return`بہت بڑا: ${r.origin??"ویلیو"} کا ${t}${r.maximum.toString()} ہونا متوقع تھا`}case"too_small":{let t=r.inclusive?">=":">",n=e[r.origin]??null;if(n)return`بہت چھوٹا: ${r.origin} کے ${t}${r.minimum.toString()} ${n.unit} ہونے متوقع تھے`;return`بہت چھوٹا: ${r.origin} کا ${t}${r.minimum.toString()} ہونا متوقع تھا`}case"invalid_format":if("starts_with"===r.format)return`غلط سٹرنگ: "${r.prefix}" سے شروع ہونا چاہیے`;if("ends_with"===r.format)return`غلط سٹرنگ: "${r.suffix}" پر ختم ہونا چاہیے`;if("includes"===r.format)return`غلط سٹرنگ: "${r.includes}" شامل ہونا چاہیے`;if("regex"===r.format)return`غلط سٹرنگ: پیٹرن ${r.pattern} سے میچ ہونا چاہیے`;return`غلط ${t[r.format]??r.format}`;case"not_multiple_of":return`غلط نمبر: ${r.divisor} کا مضاعف ہونا چاہیے`;case"unrecognized_keys":return`غیر تسلیم شدہ کی${r.keys.length>1?"ز":""}: ${sk(r.keys,"، ")}`;case"invalid_key":return`${r.origin} میں غلط کی`;case"invalid_union":default:return"غلط ان پٹ";case"invalid_element":return`${r.origin} میں غلط ویلیو`}})}},"uz",0,function(){let e,t,n;return{localeError:(e={string:{unit:"belgi",verb:"bo‘lishi kerak"},file:{unit:"bayt",verb:"bo‘lishi kerak"},array:{unit:"element",verb:"bo‘lishi kerak"},set:{unit:"element",verb:"bo‘lishi kerak"}},t={regex:"kirish",email:"elektron pochta manzili",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO sana va vaqti",date:"ISO sana",time:"ISO vaqt",duration:"ISO davomiylik",ipv4:"IPv4 manzil",ipv6:"IPv6 manzil",mac:"MAC manzil",cidrv4:"IPv4 diapazon",cidrv6:"IPv6 diapazon",base64:"base64 kodlangan satr",base64url:"base64url kodlangan satr",json_string:"JSON satr",e164:"E.164 raqam",jwt:"JWT",template_literal:"kirish"}
44,n={nan:"NaN",number:"raqam",array:"massiv"},r=>{switch(r.code){case"invalid_type":{let e=n[r.expected]??r.expected,t=s1(r.input),i=n[t]??t;if(/^[A-Z]/.test(r.expected))return`Noto‘g‘ri kirish: kutilgan instanceof ${r.expected}, qabul qilingan ${i}`;return`Noto‘g‘ri kirish: kutilgan ${e}, qabul qilingan ${i}`}case"invalid_value":if(1===r.values.length)return`Noto‘g‘ri kirish: kutilgan ${sW(r.values[0])}`;return`Noto‘g‘ri variant: quyidagilardan biri kutilgan ${sk(r.values,"|")}`;case"too_big":{let t=r.inclusive?"<=":"<",n=e[r.origin]??null;if(n)return`Juda katta: kutilgan ${r.origin??"qiymat"} ${t}${r.maximum.toString()} ${n.unit} ${n.verb}`;return`Juda katta: kutilgan ${r.origin??"qiymat"} ${t}${r.maximum.toString()}`}case"too_small":{let t=r.inclusive?">=":">",n=e[r.origin]??null;if(n)return`Juda kichik: kutilgan ${r.origin} ${t}${r.minimum.toString()} ${n.unit} ${n.verb}`;return`Juda kichik: kutilgan ${r.origin} ${t}${r.minimum.toString()}`}case"invalid_format":if("starts_with"===r.format)return`Noto‘g‘ri satr: "${r.prefix}" bilan boshlanishi kerak`;if("ends_with"===r.format)return`Noto‘g‘ri satr: "${r.suffix}" bilan tugashi kerak`;if("includes"===r.format)return`Noto‘g‘ri satr: "${r.includes}" ni o‘z ichiga olishi kerak`;if("regex"===r.format)return`Noto‘g‘ri satr: ${r.pattern} shabloniga mos kelishi kerak`;return`Noto‘g‘ri ${t[r.format]??r.format}`;case"not_multiple_of":return`Noto‘g‘ri raqam: ${r.divisor} ning karralisi bo‘lishi kerak`;case"unrecognized_keys":return`Noma’lum kalit${r.keys.length>1?"lar":""}: ${sk(r.keys,", ")}`;case"invalid_key":return`${r.origin} dagi kalit noto‘g‘ri`;case"invalid_union":default:return"Noto‘g‘ri kirish";case"invalid_element":return`${r.origin} da noto‘g‘ri qiymat`}})}},"vi",0,function(){let e,t,n;return{localeError:(e={string:{unit:"ký tự",verb:"có"},file:{unit:"byte",verb:"có"},array:{unit:"phần tử",verb:"có"},set:{unit:"phần tử",verb:"có"}},t={regex:"đầu vào",email:"địa chỉ email",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ngày giờ ISO",date:"ngày ISO",time:"giờ ISO",duration:"khoảng thời gian ISO",ipv4:"địa chỉ IPv4",ipv6:"địa chỉ IPv6",cidrv4:"dải IPv4",cidrv6:"dải IPv6",base64:"chuỗi mã hóa base64",base64url:"chuỗi mã hóa base64url",json_string:"chuỗi JSON",e164:"số E.164",jwt:"JWT",template_literal:"đầu vào"},n={nan:"NaN",number:"số",array:"mảng"},r=>{switch(r.code){case"invalid_type":{let e=n[r.expected]??r.expected,t=s1(r.input),i=n[t]??t;if(/^[A-Z]/.test(r.expected))return`Đầu v\xe0o kh\xf4ng hợp lệ: mong đợi instanceof ${r.expected}, nhận được ${i}`;return`Đầu v\xe0o kh\xf4ng hợp lệ: mong đợi ${e}, nhận được ${i}`}case"invalid_value":if(1===r.values.length)return`Đầu v\xe0o kh\xf4ng hợp lệ: mong đợi ${sW(r.values[0])}`;return`T\xf9y chọn kh\xf4ng hợp lệ: mong đợi một trong c\xe1c gi\xe1 trị ${sk(r.values,"|")}`;case"too_big":{let t=r.inclusive?"<=":"<",n=e[r.origin]??null;if(n)return`Qu\xe1 lớn: mong đợi ${r.origin??"giá trị"} ${n.verb} ${t}${r.maximum.toString()} ${n.unit??"phần tử"}`;return`Qu\xe1 lớn: mong đợi ${r.origin??"giá trị"} ${t}${r.maximum.toString()}`}case"too_small":{let t=r.inclusive?">=":">",n=e[r.origin]??null;if(n)return`Qu\xe1 nhỏ: mong đợi ${r.origin} ${n.verb} ${t}${r.minimum.toString()} ${n.unit}`;return`Qu\xe1 nhỏ: mong đợi ${r.origin} ${t}${r.minimum.toString()}`}case"invalid_format":if("starts_with"===r.format)return`Chuỗi kh\xf4ng hợp lệ: phải bắt đầu bằng "${r.prefix}"`;if("ends_with"===r.format)return`Chuỗi kh\xf4ng hợp lệ: phải kết th\xfac bằng "${r.suffix}"`;if("includes"===r.format)return`Chuỗi kh\xf4ng hợp lệ: phải bao gồm "${r.includes}"`;if("regex"===r.format)return`Chuỗi kh\xf4ng hợp lệ: phải khớp với mẫu ${r.pattern}`;return`${t[r.format]??r.format} kh\xf4ng hợp lệ`;case"not_multiple_of":return`Số kh\xf4ng hợp lệ: phải l\xe0 bội số của ${r.divisor}`;case"unrecognized_keys":return`Kh\xf3a kh\xf4ng được nhận dạng: ${sk(r.keys,", ")}`;
44case"invalid_key":return`Kh\xf3a kh\xf4ng hợp lệ trong ${r.origin}`;case"invalid_union":default:return"Đầu vào không hợp lệ";case"invalid_element":return`Gi\xe1 trị kh\xf4ng hợp lệ trong ${r.origin}`}})}},"yo",0,function(){let e,t,n;return{localeError:(e={string:{unit:"àmi",verb:"ní"},file:{unit:"bytes",verb:"ní"},array:{unit:"nkan",verb:"ní"},set:{unit:"nkan",verb:"ní"}},t={regex:"ẹ̀rọ ìbáwọlé",email:"àdírẹ́sì ìmẹ́lì",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"àkókò ISO",date:"ọjọ́ ISO",time:"àkókò ISO",duration:"àkókò tó pé ISO",ipv4:"àdírẹ́sì IPv4",ipv6:"àdírẹ́sì IPv6",cidrv4:"àgbègbè IPv4",cidrv6:"àgbègbè IPv6",base64:"ọ̀rọ̀ tí a kọ́ ní base64",base64url:"ọ̀rọ̀ base64url",json_string:"ọ̀rọ̀ JSON",e164:"nọ́mbà E.164",jwt:"JWT",template_literal:"ẹ̀rọ ìbáwọlé"},n={nan:"NaN",number:"nọ́mbà",array:"akopọ"},r=>{switch(r.code){case"invalid_type":{let e=n[r.expected]??r.expected,t=s1(r.input),i=n[t]??t;if(/^[A-Z]/.test(r.expected))return`\xccb\xe1wọl\xe9 aṣ\xecṣe: a n\xed l\xe1ti fi instanceof ${r.expected}, \xe0mọ̀ a r\xed ${i}`;return`\xccb\xe1wọl\xe9 aṣ\xecṣe: a n\xed l\xe1ti fi ${e}, \xe0mọ̀ a r\xed ${i}`}case"invalid_value":if(1===r.values.length)return`\xccb\xe1wọl\xe9 aṣ\xecṣe: a n\xed l\xe1ti fi ${sW(r.values[0])}`;return`\xc0ṣ\xe0y\xe0n aṣ\xecṣe: yan ọ̀kan l\xe1ra ${sk(r.values,"|")}`;case"too_big":{let t=r.inclusive?"<=":"<",n=e[r.origin]??null;if(n)return`T\xf3 pọ̀ j\xf9: a n\xed l\xe1ti jẹ́ p\xe9 ${r.origin??"iye"} ${n.verb} ${t}${r.maximum} ${n.unit}`;return`T\xf3 pọ̀ j\xf9: a n\xed l\xe1ti jẹ́ ${t}${r.maximum}`}case"too_small":{let t=r.inclusive?">=":">",n=e[r.origin]??null;if(n)return`K\xe9r\xe9 ju: a n\xed l\xe1ti jẹ́ p\xe9 ${r.origin} ${n.verb} ${t}${r.minimum} ${n.unit}`;return`K\xe9r\xe9 ju: a n\xed l\xe1ti jẹ́ ${t}${r.minimum}`}case"invalid_format":if("starts_with"===r.format)return`Ọ̀rọ̀ aṣ\xecṣe: gbọ́dọ̀ bẹ̀rẹ̀ pẹ̀l\xfa "${r.prefix}"`;if("ends_with"===r.format)return`Ọ̀rọ̀ aṣ\xecṣe: gbọ́dọ̀ par\xed pẹ̀l\xfa "${r.suffix}"`;if("includes"===r.format)return`Ọ̀rọ̀ aṣ\xecṣe: gbọ́dọ̀ n\xed "${r.includes}"`;if("regex"===r.format)return`Ọ̀rọ̀ aṣ\xecṣe: gbọ́dọ̀ b\xe1 \xe0pẹẹrẹ mu ${r.pattern}`;return`Aṣ\xecṣe: ${t[r.format]??r.format}`;case"not_multiple_of":return`Nọ́mb\xe0 aṣ\xecṣe: gbọ́dọ̀ jẹ́ \xe8y\xe0 p\xedp\xedn ti ${r.divisor}`;case"unrecognized_keys":return`Bọt\xecn\xec \xe0\xecmọ̀: ${sk(r.keys,", ")}`;case"invalid_key":return`Bọt\xecn\xec aṣ\xecṣe n\xedn\xfa ${r.origin}`;case"invalid_union":default:return"Ìbáwọlé aṣìṣe";case"invalid_element":return`Iye aṣ\xecṣe n\xedn\xfa ${r.origin}`}})}},"zhCN",0,function(){let e,t,n;return{localeError:(e={string:{unit:"字符",verb:"包含"},file:{unit:"字节",verb:"包含"},array:{unit:"项",verb:"包含"},set:{unit:"项",verb:"包含"}},t={regex:"输入",email:"电子邮件",url:"URL",emoji:"表情符号",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO日期时间",date:"ISO日期",time:"ISO时间",duration:"ISO时长",ipv4:"IPv4地址",ipv6:"IPv6地址",cidrv4:"IPv4网段",cidrv6:"IPv6网段",base64:"base64编码字符串",base64url:"base64url编码字符串",json_string:"JSON字符串",e164:"E.164号码",jwt:"JWT",template_literal:"输入"},n={nan:"NaN",number:"数字",array:"数组",null:"空值(null)"},r=>{switch(r.code){case"invalid_type":{let e=n[r.expected]??r.expected,t=s1(r.input),i=n[t]??t;if(/^[A-Z]/.test(r.expected))return`无效输入:期望 instanceof ${r.expected},实际接收 ${i}`;return`无效输入:期望 ${e},实际接收 ${i}`}case"invalid_value":if(1===r.values.length)return`无效输入:期望 ${sW(r.values[0])}`;return`无效选项:期望以下之一 ${sk(r.values,"|")}`;
44case"too_big":{let t=r.inclusive?"<=":"<",n=e[r.origin]??null;if(n)return`数值过大:期望 ${r.origin??"值"} ${t}${r.maximum.toString()} ${n.unit??"个元素"}`;return`数值过大:期望 ${r.origin??"值"} ${t}${r.maximum.toString()}`}case"too_small":{let t=r.inclusive?">=":">",n=e[r.origin]??null;if(n)return`数值过小:期望 ${r.origin} ${t}${r.minimum.toString()} ${n.unit}`;return`数值过小:期望 ${r.origin} ${t}${r.minimum.toString()}`}case"invalid_format":if("starts_with"===r.format)return`无效字符串:必须以 "${r.prefix}" 开头`;if("ends_with"===r.format)return`无效字符串:必须以 "${r.suffix}" 结尾`;if("includes"===r.format)return`无效字符串:必须包含 "${r.includes}"`;if("regex"===r.format)return`无效字符串:必须满足正则表达式 ${r.pattern}`;return`无效${t[r.format]??r.format}`;case"not_multiple_of":return`无效数字:必须是 ${r.divisor} 的倍数`;case"unrecognized_keys":return`出现未知的键(key): ${sk(r.keys,", ")}`;case"invalid_key":return`${r.origin} 中的键(key)无效`;case"invalid_union":default:return"无效输入";case"invalid_element":return`${r.origin} 中包含无效值(value)`}})}},"zhTW",0,function(){let e,t,n;return{localeError:(e={string:{unit:"字元",verb:"擁有"},file:{unit:"位元組",verb:"擁有"},array:{unit:"項目",verb:"擁有"},set:{unit:"項目",verb:"擁有"}},t={regex:"輸入",email:"郵件地址",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO 日期時間",date:"ISO 日期",time:"ISO 時間",duration:"ISO 期間",ipv4:"IPv4 位址",ipv6:"IPv6 位址",cidrv4:"IPv4 範圍",cidrv6:"IPv6 範圍",base64:"base64 編碼字串",base64url:"base64url 編碼字串",json_string:"JSON 字串",e164:"E.164 數值",jwt:"JWT",template_literal:"輸入"},n={nan:"NaN"},r=>{switch(r.code){case"invalid_type":{let e=n[r.expected]??r.expected,t=s1(r.input),i=n[t]??t;if(/^[A-Z]/.test(r.expected))return`無效的輸入值:預期為 instanceof ${r.expected},但收到 ${i}`;return`無效的輸入值:預期為 ${e},但收到 ${i}`}case"invalid_value":if(1===r.values.length)return`無效的輸入值:預期為 ${sW(r.values[0])}`;return`無效的選項:預期為以下其中之一 ${sk(r.values,"|")}`;case"too_big":{let t=r.inclusive?"<=":"<",n=e[r.origin]??null;if(n)return`數值過大:預期 ${r.origin??"值"} 應為 ${t}${r.maximum.toString()} ${n.unit??"個元素"}`;return`數值過大:預期 ${r.origin??"值"} 應為 ${t}${r.maximum.toString()}`}case"too_small":{let t=r.inclusive?">=":">",n=e[r.origin]??null;if(n)return`數值過小:預期 ${r.origin} 應為 ${t}${r.minimum.toString()} ${n.unit}`;return`數值過小:預期 ${r.origin} 應為 ${t}${r.minimum.toString()}`}case"invalid_format":if("starts_with"===r.format)return`無效的字串:必須以 "${r.prefix}" 開頭`;if("ends_with"===r.format)return`無效的字串:必須以 "${r.suffix}" 結尾`;if("includes"===r.format)return`無效的字串:必須包含 "${r.includes}"`;if("regex"===r.format)return`無效的字串:必須符合格式 ${r.pattern}`;return`無效的 ${t[r.format]??r.format}`;case"not_multiple_of":return`無效的數字:必須為 ${r.divisor} 的倍數`;case"unrecognized_keys":return`無法識別的鍵值${r.keys.length>1?"們":""}:${sk(r.keys,"、")}`;case"invalid_key":return`${r.origin} 中有無效的鍵值`;case"invalid_union":default:return"無效的輸入值";case"invalid_element":return`${r.origin} 中有無效的值`}})}}],554580);var g3=e.i(554580);e.i(525527),e.i(698530),e.i(650215),e.i(34966),e.s([],818249);var g6=e.i(818249);e.s(["$ZodAny",0,up,"$ZodArray",0,uy,"$ZodAsyncError",0,sb,"$ZodBase64",0,c9,"$ZodBase64URL",0,ue,"$ZodBigInt",0,ul,"$ZodBigIntFormat",0,uc,"$ZodBoolean",0,us,"$ZodCIDRv4",0,c3,"$ZodCIDRv6",0,c6,"$ZodCUID",0,cV,"$ZodCUID2",0,cq,"$ZodCatch",0,uQ,"$ZodCheck",0,cm,"$ZodCheckBigIntFormat",0,cb,"$ZodCheckEndsWith",0,cA,"$ZodCheckGreaterThan",0,cf,"$ZodCheckIncludes",0,cN,"$ZodCheckLengthEquals",0,cS,"$ZodCheckLessThan",0,ch,"$ZodCheckLowerCase",0,cI,"$ZodCheckMaxLength",0,c_,"$ZodCheckMaxSize",0,cy,"$ZodCheckMimeType",0,cD,"$ZodCheckMinLength",0,ck,"$ZodCheckMinSize",0,cv,"$ZodCheckMultipleOf",0,cg,"$ZodCheckNumberFormat",0,cx,"$ZodCheckOverwrite",0,cM,"$ZodCheckProperty",0,cE,"$ZodCheckRegex",0,c$,"$ZodCheckSizeEquals",0,cw,"$ZodCheckStartsWith",0,cT,"$ZodCheckStringFormat",0,cj,"$ZodCheckUpperCase",0,cC,"$ZodCodec",0,u5,"$ZodCustom",0,dn,"$ZodCustomStringFormat",0,ui,"$ZodDate",0,ux,"$ZodDefault",0,uV,"$ZodDiscriminatedUnion",0,uN,"$ZodE164",0,ut,"$ZodEmail",0,cZ,"$ZodEmoji",0,cW,"$ZodEncodeError",0,sy,"$ZodEnum",0,uL,"$ZodError",0,s6,"$ZodExactOptional",0,uW,"$ZodFile",0,uB,"$ZodFunction",0,u7,"$ZodGUID",0,cB,"$ZodIPv4",0,c2,"$ZodIPv6",0,c5,"$ZodISODate",0,cQ,"$ZodISODateTime",0,cY,"$ZodISODuration",0,c1,"$ZodISOTime",0,c0,"$ZodIntersection",0,uT,"$ZodJWT",0,ur,"$ZodKSUID",0,cX,"$ZodLazy",0,dt,"$ZodLiteral",0,uR,"$ZodMAC",0,c4,"$ZodMap",0,uM,"$ZodNaN",0,u0,"$ZodNanoID",0,cH,"$ZodNever",0,uf,"$ZodNonOptional",0,uJ,"$ZodNull",0,um,"$ZodNullable",0,uH,"$ZodNumber",0,ua,"$ZodNumberFormat",0,uo,"$ZodObject",0,uk,"$ZodObjectJIT",0,uS,"$ZodOptional",0,uG,"$ZodPipe",0,u1,"$ZodPrefault",0,uK,"$ZodPromise",0,de,"$ZodReadonly",0,u6,"$ZodRealError",0,s8,"$ZodRecord",0,uD,"$ZodRegistry",0,dg,"$ZodSet",0,uF,"$ZodString",0,cL,"$ZodStringFormat",0,cR,"$ZodSuccess",0,uY,"$ZodSymbol",0,uu,"$ZodTemplateLiteral",0,u9,"$ZodTransform",0,uU,"$ZodTuple",0,uP,"$ZodType",0,cO,"$ZodULID",0,cK,"$ZodURL",0,cG,"$ZodUUID",0,cU,"$ZodUndefined",0,ud,"$ZodUnion",0,u$,"$ZodUnknown",0,uh,"$ZodVoid",0,ug,"$ZodXID",0,cJ,"$ZodXor",0,uC,"$brand",0,sx,"$constructor",0,sg,"$input",0,df,"$output",0,dh,"Doc",0,cz,"JSONSchema",0,g6,"JSONSchemaGenerator",0,class{get metadataRegistry(){return this.ctx.metadataRegistry}get target(){return this.ctx.target}get unrepresentable(){return this.ctx.unrepresentable}get override(){return this.ctx.override}get io(){return this.ctx.io}get counter(){return this.ctx.counter}set counter(e){this.ctx.counter=e}get seen(){return this.ctx.seen}
44constructor(e){let t=e?.target??"draft-2020-12";"draft-4"===t&&(t="draft-04"),"draft-7"===t&&(t="draft-07"),this.ctx=po({processors:pY,target:t,...e?.metadata&&{metadata:e.metadata},...e?.unrepresentable&&{unrepresentable:e.unrepresentable},...e?.override&&{override:e.override},...e?.io&&{io:e.io}})}process(e,t={path:[],schemaPath:[]}){return ps(e,this.ctx,t)}emit(e,t){t&&(t.cycles&&(this.ctx.cycles=t.cycles),t.reused&&(this.ctx.reused=t.reused),t.external&&(this.ctx.external=t.external)),pl(this.ctx,e);let{"~standard":n,...r}=pc(this.ctx,e);return r}},"NEVER",0,sf,"TimePrecision",0,dG,"_any",0,mt,"_array",0,mF,"_base64",0,dR,"_base64url",0,dB,"_bigint",0,d4,"_boolean",0,d2,"_catch",0,m2,"_check",0,pt,"_cidrv4",0,dO,"_cidrv6",0,dL,"_coercedBigint",0,d3,"_coercedBoolean",0,d5,"_coercedDate",0,mo,"_coercedNumber",0,dJ,"_coercedString",0,dv,"_cuid",0,dT,"_cuid2",0,dA,"_custom",0,m9,"_date",0,ma,"_decode",0,lp,"_decodeAsync",0,lx,"_default",0,mQ,"_discriminatedUnion",0,mR,"_e164",0,dU,"_email",0,dw,"_emoji",0,dC,"_encode",0,ld,"_encodeAsync",0,lf,"_endsWith",0,mC,"_enum",0,mH,"_file",0,mK,"_float32",0,dY,"_float64",0,dQ,"_gt",0,mu,"_gte",0,md,"_guid",0,d_,"_includes",0,m$,"_int",0,dX,"_int32",0,d0,"_int64",0,d6,"_intersection",0,mB,"_ipv4",0,dM,"_ipv6",0,dz,"_isoDate",0,dH,"_isoDateTime",0,dW,"_isoDuration",0,dq,"_isoTime",0,dV,"_jwt",0,dZ,"_ksuid",0,dD,"_lazy",0,m6,"_length",0,m_,"_literal",0,mq,"_lowercase",0,mS,"_lt",0,ml,"_lte",0,mc,"_mac",0,dF,"_map",0,mG,"_max",0,mc,"_maxLength",0,mv,"_maxSize",0,mx,"_mime",0,mT,"_min",0,md,"_minLength",0,mw,"_minSize",0,mb,"_multipleOf",0,mg,"_nan",0,ms,"_nanoid",0,dN,"_nativeEnum",0,mV,"_negative",0,mp,"_never",0,mr,"_nonnegative",0,mf,"_nonoptional",0,m0,"_nonpositive",0,mh,"_normalize",0,mP,"_null",0,me,"_nullable",0,mY,"_number",0,dK,"_optional",0,mX,"_overwrite",0,mA,"_parse",0,lr,"_parseAsync",0,la,"_pipe",0,m5,"_positive",0,mm,"_promise",0,m8,"_property",0,mN,"_readonly",0,m4,"_record",0,mZ,"_refine",0,m7,"_regex",0,mk,"_safeDecode",0,lw,"_safeDecodeAsync",0,lj,"_safeEncode",0,ly,"_safeEncodeAsync",0,lk,"_safeParse",0,ls,"_safeParseAsync",0,lc,"_set",0,mW,"_size",0,my,"_slugify",0,mz,"_startsWith",0,mI,"_string",0,dy,"_stringFormat",0,pa,"_stringbool",0,pi,"_success",0,m1,"_superRefine",0,pe,"_symbol",0,d9,"_templateLiteral",0,m3,"_toLowerCase",0,mD,"_toUpperCase",0,mM,"_transform",0,mJ,"_trim",0,mE,"_tuple",0,mU,"_uint32",0,d1,"_uint64",0,d8,"_ulid",0,dP,"_undefined",0,d7,"_union",0,mO,"_unknown",0,mn,"_uppercase",0,mj,"_url",0,dI,"_uuid",0,dk,"_uuidv4",0,dS,"_uuidv6",0,dj,"_uuidv7",0,d$,"_void",0,mi,"_xid",0,dE,"_xor",0,mL,"clone",0,sZ,"config",0,sw,"createStandardJSONSchemaMethod",0,pd,"createToJSONSchemaMethod",0,pu,"decode",0,lh,"decodeAsync",0,lb,"describe",0,pn,"encode",0,lm,"encodeAsync",0,lg,"extractDefs",0,pl,"finalize",0,pc,"flattenError",0,s9,"formatError",0,s7,"globalConfig",0,sv,"globalRegistry",0,db,"initializeContext",0,po,"isValidBase64",0,c8,"isValidBase64URL",0,c7,"isValidJWT",0,un,"locales",0,g3,"meta",0,pr,"parse",0,li,"parseAsync",0,lo,"prettifyError",0,ln,"process",0,ps,"regexes",0,g4,"registry",0,dx,"safeDecode",0,l_,"safeDecodeAsync",0,l$,"safeEncode",0,lv,"safeEncodeAsync",0,lS,"safeParse",0,ll,"safeParseAsync",0,lu,"toDotPath",0,lt,"toJSONSchema",0,pQ,"treeifyError",0,le,"util",0,g5,"version",0,cF],712717);var g8=e.i(712717);e.i(789282),e.i(100364),e.i(306034),e.s(["$brand",0,sx,"ZodFirstPartyTypeKind",0,n,"ZodIssueCode",0,gJ,"config",0,sw,"getErrorMap",0,gY,"setErrorMap",0,gX],458829),e.i(458829);var p0=p0,p1=p1,g9=e.i(313657);e.s(["$brand",0,sx,"$input",0,df,"$output",0,dh,"NEVER",0,sf,"TimePrecision",0,dG,"ZodAny",0,f$,"ZodArray",0,fz,"ZodBase64",0,h2,"ZodBase64URL",0,h4,"ZodBigInt",0,ff,"ZodBigIntFormat",0,fx,"ZodBoolean",0,fp,"ZodCIDRv4",0,hY,"ZodCIDRv6",0,h0,"ZodCUID",0,hz,"ZodCUID2",0,hO,"ZodCatch",0,gw,"ZodCodec",0,gI,"ZodCustom",0,gL,"ZodCustomStringFormat",0,fe,"ZodDate",0,fD,"ZodDefault",0,gp,"ZodDiscriminatedUnion",0,fV,"ZodE164",0,h6,"ZodEmail",0,hv,"ZodEmoji",0,hP,"ZodEnum",0,f8,"ZodError",0,ht,"ZodExactOptional",0,gl,"ZodFile",0,gn,"ZodFirstPartyTypeKind",0,n,"ZodFunction",0,gF,"ZodGU
44ID",0,h_,"ZodIPv4",0,hH,"ZodIPv6",0,hJ,"ZodISODate",0,p4,"ZodISODateTime",0,p2,"ZodISODuration",0,p9,"ZodISOTime",0,p6,"ZodIntersection",0,fK,"ZodIssueCode",0,gJ,"ZodJWT",0,h9,"ZodKSUID",0,hG,"ZodLazy",0,gE,"ZodLiteral",0,ge,"ZodMAC",0,hq,"ZodMap",0,f5,"ZodNaN",0,gk,"ZodNanoID",0,hD,"ZodNever",0,fT,"ZodNonOptional",0,gx,"ZodNull",0,fS,"ZodNullable",0,gu,"ZodNumber",0,fa,"ZodNumberFormat",0,fs,"ZodObject",0,fL,"ZodOptional",0,go,"ZodPipe",0,gj,"ZodPrefault",0,gf,"ZodPromise",0,gM,"ZodReadonly",0,gN,"ZodRealError",0,hn,"ZodRecord",0,fQ,"ZodSet",0,f3,"ZodString",0,hx,"ZodStringFormat",0,hy,"ZodSuccess",0,gy,"ZodSymbol",0,fv,"ZodTemplateLiteral",0,gA,"ZodTransform",0,gi,"ZodTuple",0,fX,"ZodType",0,hf,"ZodULID",0,hR,"ZodURL",0,hN,"ZodUUID",0,hS,"ZodUndefined",0,f_,"ZodUnion",0,fZ,"ZodUnknown",0,fC,"ZodVoid",0,fP,"ZodXID",0,hU,"ZodXor",0,fW,"_ZodString",0,hg,"_default",0,gh,"_function",0,gO,"any",0,fI,"array",0,fF,"base64",0,h5,"base64url",0,h3,"bigint",0,fg,"boolean",0,fh,"catch",0,g_,"check",0,gR,"cidrv4",0,hQ,"cidrv6",0,h1,"clone",0,sZ,"codec",0,gC,"coerce",0,g9,"config",0,sw,"core",0,g8,"cuid",0,hF,"cuid2",0,hL,"custom",0,gB,"date",0,fM,"decode",0,hl,"decodeAsync",0,hu,"describe",0,gG,"discriminatedUnion",0,fq,"e164",0,h8,"email",0,hw,"emoji",0,hE,"encode",0,hs,"encodeAsync",0,hc,"endsWith",0,mC,"enum",0,f9,"exactOptional",0,gc,"file",0,gr,"flattenError",0,s9,"float32",0,fc,"float64",0,fu,"formatError",0,s7,"fromJSONSchema",0,function(e,t){var n;let r;if("boolean"==typeof e)return e?g1.any():g1.never();let i={version:(n=t?.defaultTarget,"https://json-schema.org/draft/2020-12/schema"===(r=e.$schema)?"draft-2020-12":"http://json-schema.org/draft-07/schema#"===r?"draft-7":"http://json-schema.org/draft-04/schema#"===r?"draft-4":n??"draft-2020-12"),defs:e.$defs||e.definitions||{},refs:new Map,processing:new Set,rootSchema:e,registry:t?.registry??db};return function e(t,n){if("boolean"==typeof t)return t?g1.any():g1.never();let r=function t(n,r){let i;if(void 0!==n.not){if("object"==typeof n.not&&0===Object.keys(n.not).length)return g1.never();throw Error("not is not supported in Zod (except { not: {} } for never)")}if(void 0!==n.unevaluatedItems)throw Error("unevaluatedItems is not supported");if(void 0!==n.unevaluatedProperties)throw Error("unevaluatedProperties is not supported");if(void 0!==n.if||void 0!==n.then||void 0!==n.else)throw Error("Conditional schemas (if/then/else) are not supported");if(void 0!==n.dependentSchemas||void 0!==n.dependentRequired)throw Error("dependentSchemas and dependentRequired are not supported");if(n.$ref){let t=n.$ref;if(r.refs.has(t))return r.refs.get(t);if(r.processing.has(t))return g1.lazy(()=>{if(!r.refs.has(t))throw Error(`Circular reference not resolved: ${t}`);return r.refs.get(t)});r.processing.add(t);let i=e(function(e,t){if(!e.startsWith("#"))throw Error("External $ref is not supported, only local refs (#/...) are allowed");let n=e.slice(1).split("/").filter(Boolean);if(0===n.length)return t.rootSchema;let r="draft-2020-12"===t.version?"$defs":"definitions";if(n[0]===r){let r=n[1];if(!r||!t.defs[r])throw Error(`Reference not found: ${e}`);return t.defs[r]}throw Error(`Reference not found: ${e}`)}(t,r),r);return r.refs.set(t,i),r.processing.delete(t),i}if(void 0!==n.enum){let e=n.enum;if("openapi-3.0"===r.version&&!0===n.nullable&&1===e.length&&null===e[0])return g1.null();if(0===e.length)return g1.never();if(1===e.length)return g1.literal(e[0]);if(e.every(e=>"string"==typeof e))return g1.enum(e);let t=e.map(e=>g1.literal(e));return t.length<2?t[0]:g1.union([t[0],t[1],...t.slice(2)])}if(void 0!==n.const)return g1.literal(n.const);let a=n.type;if(Array.isArray(a)){let e=a.map(e=>t({...n,type:e},r));return 0===e.length?g1.never():1===e.length?e[0]:g1.union(e)}if(!a)return g1.any();switch(a){case"string":{let e=g1.string();if(n.format){let t=n.format;"email"===t?e=e.check(g1.email()):"uri"===t||"uri-reference"===t?e=e.check(g1.url()):"uuid"===t||"guid"===t?e=e.check(g1.uuid()):"date-time"===t?e=e.check(g1.iso.datetime()):"date"===t?e=e.check(g1.iso.date()):"time"===t?e=e.check(g1.iso.time()):"duration"===t?e=e.check(g1.iso.duration()):"ipv4"===t?e=e.check(g1.ipv4()):"ipv6"===t?e=e.check(g1.ipv6()):"mac"===t?e=e.check(g1.mac()):"cidr"===t?e=e.check(g1.cidrv4()):"cidr-v6"===t?e=e.check(g1.cidrv6()):"base64"===t?e=e.check(g1.base64()):"base64url"===t?e=e.check(g1.base64url()):"e164"===t?e=e.check(g1.e164()):"jwt"===t?e=e.check(g1.jwt()):"emoji"===t?e=e.check(g1.emoji()):"nanoid"===t?e=e.check(g1.nanoid()):"cuid"===t?e=e.check(g1.cuid()):"cuid2"===t?e=e.check(g1.cuid2()):"ulid"===t?e=e.check(g1.ulid()):"xid"===t?e=e.check(g1.xid()):"ksuid"===t&&(e=e.check(g1.ksuid()))}"number"==typeof n.minLength&&(e=e.min(n.minLength)),"number"==typeof n.maxLength&&(e=e.max(n.maxLength)),n.pattern&&(e=e.regex(new RegExp(n.pattern))),i=e;break}case"number":case"integer":{let e="integer"===a?g1.number().int():g1.number();"number"==typeof n.minimum&&(e=e.min(n.minimum)),"number"==typeof n.maximum&&(e=e.max(n.maximum)),"number"==typeof n.exclusiveMinimum?e=e.gt(n.exclusiveMinimum):!0===n.exclusiveMinimum&&"number"==typeof n.minimum&&(e=e.gt(n.minimum)),"number"==typeof n.exclusiveMaximum?e=e.lt(n.exclusiveMaximum):!0===n.exclusiveMaximum&&"number"==typeof n.maximum&&(e=e.lt(n.maximum)),"number"==typeof n.multipleOf&&(e=e.multipleOf(n.multipleOf)),i=e;break}case"boolean":i=g1.boolean();break;case"null":i=g1.null();break;case"object":{let t={},a=n.properties||{},o=new Set(n.required||[]);for(let[n,i]of Object.entries(a)){let a=e(i,r);t[n]=o.has(n)?a:a.optional()}if(n.propertyNames){let a=e(n.propertyNames,r),o=n.additionalProperties&&"object"==typeof n.additionalProperties?e(n.additionalProperties,r):g1.any();if(0===Object.keys(t).length){i=g1.record(a,o);break}let s=g1.object(t).passthrough(),l=g1.looseRecord(a,o);i=g1.intersection(s,l);break}if(n.patternProperties){let a=n.patternProperties,o=Object.keys(a),s=[];for(let t of o){let n=e(a[t],r),i=g1.string().regex(new RegExp(t));s.push(g1.looseRecord(i,n))}let l=[];
44if(Object.keys(t).length>0&&l.push(g1.object(t).passthrough()),l.push(...s),0===l.length)i=g1.object({}).passthrough();else if(1===l.length)i=l[0];else{let e=g1.intersection(l[0],l[1]);for(let t=2;t<l.length;t++)e=g1.intersection(e,l[t]);i=e}break}let s=g1.object(t);i=!1===n.additionalProperties?s.strict():"object"==typeof n.additionalProperties?s.catchall(e(n.additionalProperties,r)):s.passthrough();break}case"array":{let t=n.prefixItems,a=n.items;if(t&&Array.isArray(t)){let o=t.map(t=>e(t,r)),s=a&&"object"==typeof a&&!Array.isArray(a)?e(a,r):void 0;i=s?g1.tuple(o).rest(s):g1.tuple(o),"number"==typeof n.minItems&&(i=i.check(g1.minLength(n.minItems))),"number"==typeof n.maxItems&&(i=i.check(g1.maxLength(n.maxItems)))}else if(Array.isArray(a)){let t=a.map(t=>e(t,r)),o=n.additionalItems&&"object"==typeof n.additionalItems?e(n.additionalItems,r):void 0;i=o?g1.tuple(t).rest(o):g1.tuple(t),"number"==typeof n.minItems&&(i=i.check(g1.minLength(n.minItems))),"number"==typeof n.maxItems&&(i=i.check(g1.maxLength(n.maxItems)))}else if(void 0!==a){let t=e(a,r),o=g1.array(t);"number"==typeof n.minItems&&(o=o.min(n.minItems)),"number"==typeof n.maxItems&&(o=o.max(n.maxItems)),i=o}else i=g1.array(g1.any());break}default:throw Error(`Unsupported type: ${a}`)}return n.description&&(i=i.describe(n.description)),void 0!==n.default&&(i=i.default(n.default)),i}(t,n),i=t.type||void 0!==t.enum||void 0!==t.const;if(t.anyOf&&Array.isArray(t.anyOf)){let a=t.anyOf.map(t=>e(t,n)),o=g1.union(a);r=i?g1.intersection(r,o):o}if(t.oneOf&&Array.isArray(t.oneOf)){let a=t.oneOf.map(t=>e(t,n)),o=g1.xor(a);r=i?g1.intersection(r,o):o}if(t.allOf&&Array.isArray(t.allOf))if(0===t.allOf.length)r=i?r:g1.any();else{let a=i?r:e(t.allOf[0],n),o=+!i;for(let r=o;r<t.allOf.length;r++)a=g1.intersection(a,e(t.allOf[r],n));r=a}!0===t.nullable&&"openapi-3.0"===n.version&&(r=g1.nullable(r)),!0===t.readOnly&&(r=g1.readonly(r));let a={};for(let e of["$id","id","$comment","$anchor","$vocabulary","$dynamicRef","$dynamicAnchor"])e in t&&(a[e]=t[e]);for(let e of["contentEncoding","contentMediaType","contentSchema"])e in t&&(a[e]=t[e]);for(let e of Object.keys(t))g2.has(e)||(a[e]=t[e]);return Object.keys(a).length>0&&n.registry.add(r,a),r}(e,i)},"function",0,gO,"getErrorMap",0,gY,"globalRegistry",0,db,"gt",0,mu,"gte",0,md,"guid",0,hk,"hash",0,fi,"hex",0,fr,"hostname",0,fn,"httpUrl",0,hA,"includes",0,m$,"instanceof",0,gH,"int",0,fl,"int32",0,fd,"int64",0,fb,"intersection",0,fJ,"ipv4",0,hV,"ipv6",0,hX,"iso",0,g0,"json",0,gq,"jwt",0,h7,"keyof",0,fO,"ksuid",0,hW,"lazy",0,gD,"length",0,m_,"literal",0,gt,"locales",0,g3,"looseObject",0,fU,"looseRecord",0,f2,"lowercase",0,mS,"lt",0,ml,"lte",0,mc,"mac",0,hK,"map",0,f4,"maxLength",0,mv,"maxSize",0,mx,"meta",0,gW,"mime",0,mT,"minLength",0,mw,"minSize",0,mb,"multipleOf",0,mg,"nan",0,gS,"nanoid",0,hM,"nativeEnum",0,f7,"negative",0,mp,"never",0,fA,"nonnegative",0,mf,"nonoptional",0,gb,"nonpositive",0,mh,"normalize",0,mP,"null",0,fj,"nullable",0,gd,"nullish",0,gm,"number",0,fo,"object",0,fR,"optional",0,gs,"overwrite",0,mA,"parse",0,hr,"parseAsync",0,hi,"partialRecord",0,f1,"pipe",0,g$,"positive",0,mm,"prefault",0,gg,"preprocess",0,gK,"prettifyError",0,ln,"promise",0,gz,"property",0,mN,"readonly",0,gT,"record",0,f0,"refine",0,gU,"regex",0,mk,"regexes",()=>p0,"registry",0,dx,"safeDecode",0,hm,"safeDecodeAsync",0,hh,"safeEncode",0,hd,"safeEncodeAsync",0,hp,"safeParse",0,ha,"safeParseAsync",0,ho,"set",0,f6,"setErrorMap",0,gX,"size",0,my,"slugify",0,mz,"startsWith",0,mI,"strictObject",0,fB,"string",0,hb,"stringFormat",0,ft,"stringbool",0,gV,"success",0,gv,"superRefine",0,gZ,"symbol",0,fw,"templateLiteral",0,gP,"toJSONSchema",0,pQ,"toLowerCase",0,mD,"toUpperCase",0,mM,"transform",0,ga,"treeifyError",0,le,"trim",0,mE,"tuple",0,fY,"uint32",0,fm,"uint64",0,fy,"ulid",0,hB,"undefined",0,fk,"union",0,fG,"unknown",0,fN,"uppercase",0,mj,"url",0,hT,"util",()=>p1,"uuid",0,hj,"uuidv4",0,h$,"uuidv6",0,hI,"uuidv7",0,hC,"void",0,fE,"xid",0,hZ,"xor",0,fH],722219);var g7=e.i(722219),g7=g7;let xe={DEF:{min:0,max:42},MID:{min:28,max:62},ATT:{min:55,max:105}},xt={wide_left:0,center_left:1,center:2,center_right:3,wide_right:4},xn={wide_left:-24,center_left:-8,center:0,center_right:8,wide_right:24}
44,xr=(e,t,n)=>Math.max(t,Math.min(n,e));function xi(e){return e&&"object"==typeof e?{x:xr(Number(e.x)||0,-52.5,52.5),z:xr(Number(e.z)||0,-34,34)}:{x:0,z:0}}function xa(e,t){return e?"A"===t?e.x- -52.5:52.5-e.x:50}function xo(e){let t=String(e||"").replace("#","");return/^[0-9a-fA-F]{6}$/.test(t)?(parseInt(t.substring(0,2),16)+parseInt(t.substring(2,4),16)+parseInt(t.substring(4,6),16))/3:0}function xs(e,t,n){var r,i;let a;if("string"==typeof e)return{id:e,team:t,index:n,roleGroup:"MID",roleLane:"center",position:null,hasRoleMetadata:!1};let o=e||{};return{...o,id:o.id,team:t,index:n,roleGroup:function(e){let t=String(e?.positionGroup||"").trim().toUpperCase();if(["GK","DEF","MID","ATT"].includes(t))return t;let n=String(e?.shortRole||"").trim().toUpperCase();if(/^(GK|GB)$/.test(n))return"GK";if(/^(RB|LB|RWB|LWB|CB|LCB|RCB|SW|DG|DD|DC|DCG|DCD|DL|DR)$/.test(n))return"DEF";if(/^(CDM|DM|CM|CAM|AM|LM|RM|MDC|MOC|MC|MG|MD|ML|MR)$/.test(n))return"MID";if(/^(ST|CF|FW|LW|RW|LF|RF|BU|AC|AG|AD|AVG|AVD)$/.test(n))return"ATT";let r=String(e?.role||"").toUpperCase();return/GOALKEEPER|GARDIEN/.test(r)?"GK":/MIDFIELDER|MILIEU/.test(r)?"MID":/DEFENDER|DEFENSEUR|CENTRE BACK|CENTER BACK|\bBACK\b/.test(r)?"DEF":/STRIKER|FORWARD|WINGER|ATTAQUANT|AILIER/.test(r)?"ATT":"MID"}
44(o),roleLane:(i=o,a=[i?.shortRole,i?.role].filter(Boolean).join(" ").toUpperCase(),/\b(LCB|DCG|LCM)\b|LEFT (CENTRE|CENTER)|CENTRE LEFT|CENTER LEFT/.test(a)?"center_left":/\b(RCB|DCD|RCM)\b|RIGHT (CENTRE|CENTER)|CENTRE RIGHT|CENTER RIGHT/.test(a)?"center_right":/\b(LB|LWB|LM|LW|LF|DG|DL|MG|AG|AVG)\b|LEFT|GAUCHE/.test(a)?"wide_left":/\b(RB|RWB|RM|RW|RF|DD|DR|MD|AD|AVD)\b|RIGHT|DROIT|DROITE/.test(a)?"wide_right":"center"),position:(r=o.position)?Array.isArray(r)?xi({x:r[0],z:r[2]}):"object"==typeof r?xi(r):null:null,hasRoleMetadata:!0}}function xl(e,t){var n=e.roleLane||"center";let r="A"===t?-1:1;return"center_left"===n?8*r:"center_right"===n?-(8*r):"wide_left"===n?22*r:"wide_right"===n?-(22*r):0}function xc(e,t){let n=e?.z||0;return"A"===t?n:-n}function xu(e){return xt[e.roleLane]??xt.center}function xd(e){return[e?.shortRole,e?.role].filter(Boolean).join(" ").toUpperCase()}function xm(e){return"DEF"===e.roleGroup&&/\b(LB|RB|LWB|RWB|DG|DD|DL|DR)\b|LEFT BACK|RIGHT BACK|FULLBACK|WINGBACK/.test(xd(e))}function xp(e){return"MID"===e.roleGroup&&/\b(CDM|DM|MDC)\b|DEFENSIVE MIDFIELDER|HOLDING MIDFIELDER/.test(xd(e))}function xh(e){return"MID"===e.roleGroup&&/\b(CAM|AM|MOC)\b|ATTACKING MIDFIELDER/.test(xd(e))}function xf(e){return"MID"===e.roleGroup&&/\b(LM|RM|MG|MD|ML|MR)\b|LEFT MIDFIELDER|RIGHT MIDFIELDER/.test(xd(e))}function xg(e){return"MID"===e.roleGroup&&!xf(e)}function xx(e){return`${e.cvTeam}:${e.cvPlayerId}`}function xb(e,t=e.roleGroup){return"GK"===t?5:"DEF"===t?xm(e)?48:18:"MID"===t?xp(e)?36:xh(e)?68:xf(e)?50:42:"ATT"===t?70:42}function xy(e){return String(e?.className||"").toLowerCase().includes("goalkeeper")}function xv(e,t,n=t.roleGroup){let r=function(e,t=e.roleGroup){if("GK"===t)return{min:0,max:16};if("DEF"===t)return xm(e)?{min:0,max:90}:{min:0,max:45};if("MID"===t)return xp(e)?{min:20,max:72}:xh(e)?{min:42,max:96}:{min:24,max:86};return"ATT"===t?{min:45,max:105}:xe[t]||{min:0,max:105}}(t,n);return e>=r.min&&e<=r.max}function xw(e,t,n,r=t.roleGroup){let i,a=(i=Math.abs(e.position.z-xl(t,n)),"center_left"===t.roleLane||"center_right"===t.roleLane?Math.min(22,.45*i):"wide_left"===t.roleLane||"wide_right"===t.roleLane?Math.min(24,.45*i):Math.min(28,.55*i));return function(e,t,n,r=n.roleGroup){let i=xb(n,r);return Math.min(24,.35*Math.abs(xa(e.position,t)-i))}(e,n,t,r)+a+(1-Math.min(1,e.confidence||.8))*3}function x_(e,t="shape"){let n=xn[e.roleLane]??xn.center;"advanced"===t&&(xm(e)&&("wide_left"===e.roleLane&&(n-=4),"wide_right"===e.roleLane&&(n+=4)),"ATT"===e.roleGroup&&/\b(ST|CF|FW|BU|AC)\b|STRIKER|CENTRE.?FORWARD|CENTER.?FORWARD/.test(xd(e))&&(n-=.6),xh(e)&&(n+=.6));return n}function xk(e,t,n="shape"){let r=x_(e,n),i=x_(t,n);return r!==i?r-i:e.index-t.index}function xS(e){return(t,n)=>{let r=xc(t.position,e),i=xc(n.position,e);if(r!==i)return r-i;let a=xa(t.position,e),o=xa(n.position,e);return a!==o?a-o:(t.sortIndex??0)-(n.sortIndex??0)}}function xj(e,t="own_to_attack"){return(n,r)=>{let i=xa(n.position,e),a=xa(r.position,e);return i!==a?"attack_to_own"===t?a-i:i-a:xS(e)(n,r)}}function x$({detections:e,scenePlayers:t,sceneTeam:n,roleGroup:r,context:i="shape"}){let a=[...e].sort(xS(n)),o=[...t].sort((e,t)=>xk(e,t,i)),s=Math.min(a.length,o.length);if(s<=0)return[];let l=new Map,c=(e,t,s)=>{if(0===s)return{cost:0,pairs:[]};if(e>=a.length||t>=o.length||a.length-e<s||o.length-t<s)return{cost:1e6,pairs:[]};let u=`${e}:${t}:${s}`;if(l.has(u))return l.get(u);let d=function({detected:e,scenePlayer:t,sceneTeam:n,roleGroup:r,context:i}){let a=xa(e.position,n),o=xv(a,t,r)?0:Math.min(35,.35*Math.abs(a-xb(t,r))),s=80*!("advanced"!==i||"DEF"!==t.roleGroup||xm(t));return xw(e,t,n,r)+o+s+.001*(t.index||0)+.001*(e.sortIndex||0)}({detected:a[e],scenePlayer:o[t],sceneTeam:n,roleGroup:r,context:i}),m=c(e+1,t+1,s-1),p={cost:d+m.cost,pairs:[{detected:a[e],scenePlayer:o[t],cost:d},...m.pairs]},h=c(e+1,t,s);h.cost<p.cost&&(p=h);let f=c(e,t+1,s);return f.cost<p.cost&&(p=f),l.set(u,p),p};return c(0,0,s).pairs}function xI(e,t,n){let r=t.map(e=>xc(e.position,n)),i=Math.min(...r),a=Math.max(...r);return"wide_left"===e.roleLane?Math.max(0,-i-18)+r.filter(e=>e<-12).length:"wide_right"===e.roleLane?Math.max(0,a-18)+r.filter(e=>e>12).length:0}function xC(e,t){return{x:xr(("A"===t?-52.5:52.5)+("A"===t?1:-1)*(({GK:5,DEF:18,MID:42,ATT:65})[e.roleGroup]??42),-52.5,52.5),z:xr(xl(e,t),-34,34)}}function xN({cvPlayers:e,sceneTeam:t,scenePlayers:n}){let{matches:r,usedCvIds:i,usedSceneIds:a}=function({cvPlayers:e,sceneTeam:t,scenePlayers:n}){let r=[],i=new Set,a=new Set,o=e=>{for(let t of e){let e=xx(t.detected);i.has(e)||a.has(t.scenePlayer.id)||(i.add(e),a.add(t.scenePlayer.id),r.push(t))}};return o(function({cvPlayers:e,sceneTeam:t,scenePlayers:n}){let r=n.filter(e=>"GK"===e.roleGroup),i=e.filter(xy);return r.length&&i.length?function({detections:e,scenePlayers:t,sceneTeam:n,roleGroup:r}){let i=[];for(let a of e){let e=xa(a.position,n);for(let o of t)xv(e,o,r)&&i.push({detected:a,scenePlayer:o,cost:xw(a,o,n,r)})}i.sort((e,t)=>
44{if(e.cost!==t.cost)return e.cost-t.cost;let r=xc(e.detected.position,n),i=xc(t.detected.position,n);return r!==i?r-i:xu(e.scenePlayer)!==xu(t.scenePlayer)?xu(e.scenePlayer)-xu(t.scenePlayer):e.scenePlayer.index-t.scenePlayer.index});let a=new Set,o=new Set,s=[];for(let e of i){let t=xx(e.detected);a.has(t)||o.has(e.scenePlayer.id)||(a.add(t),o.add(e.scenePlayer.id),s.push(e))}return s}({detections:i,scenePlayers:r,sceneTeam:t,roleGroup:"GK"}):[]}({cvPlayers:e,sceneTeam:t,scenePlayers:n})),o(function({detections:e,sceneTeam:t,scenePlayers:n}){let r=n.filter(e=>"GK"!==e.roleGroup),i=function(e,t){if(!e.length)return"empty";let n=e.map(e=>xa(e.position,t)),r=Math.min(...n),i=Math.max(...n);return r>=45?"advanced_partial":r<=32&&i<=58?"defensive_block":"balanced"}(e,t);return"advanced_partial"===i?function({detections:e,sceneTeam:t,scenePlayers:n}){let{supportDetections:r,highDetections:i}=function(e,t){let n=[...e].sort(xj(t,"own_to_attack"));if(n.length<4)return{supportDetections:[],highDetections:n};let r=0,i=-1;for(let e=0;e<n.length-1;e+=1){let a=xa(n[e].position,t),o=xa(n[e+1].position,t)-a;o>r&&(r=o,i=e)}let a=i+1,o=n.length-a;return r>=8&&a>=1&&o>=2?{supportDetections:n.slice(0,a),highDetections:n.slice(a)}:{supportDetections:[],highDetections:n}}(e,t),a=[],o=[...n];if(r.length>0){var s;let e,n=function(e,t){if(t<=0)return[];let n=[...e].filter(e=>"MID"===e.roleGroup&&!xh(e)).sort((e,t)=>{let n=xp(e)?0:xg(e)?1:2,r=xp(t)?0:xg(t)?1:2;return n!==r?n-r:xk(e,t,"shape")});if(n.length>=t)return n.slice(0,t);let r=e.filter(e=>"MID"===e.roleGroup&&!n.some(t=>t.id===e.id)).sort((e,t)=>xk(e,t,"shape"));return[...n,...r].slice(0,t)}(o,r.length),i=x$({detections:r,scenePlayers:n,sceneTeam:t,roleGroup:"MID",context:"shape"});a.push(...i),s=o,e=new Set(i.map(e=>e.scenePlayer.id)),o=s.filter(t=>!e.has(t.id))}let l=function(e,t,n){let r=t.length;if(r<=0)return[];let i=e.filter(e=>"ATT"===e.roleGroup||xh(e)||xf(e)).sort((e,t)=>xk(e,t,"advanced"));if(i.length<r){let a=new Set(i.map(e=>e.id));for(let o of e.filter(e=>xm(e)&&!a.has(e.id)).sort((e,r)=>{let i=xI(e,t,n),a=xI(r,t,n);return i!==a?a-i:xk(e,r,"advanced")})){if(i.length>=r)break;i.push(o),a.add(o.id)}}if(i.length<r){let t=new Set(i.map(e=>e.id));for(let n of e.filter(e=>"MID"===e.roleGroup&&!t.has(e.id)).sort((e,t)=>xk(e,t,"advanced"))){if(i.length>=r)break;i.push(n),t.add(n.id)}}return i.sort((e,t)=>xk(e,t,"advanced"))}(o,i,t);return l.length>0&&a.push(...x$({detections:i,scenePlayers:l,sceneTeam:t,roleGroup:"ATT",context:"advanced"})),a}({detections:e,sceneTeam:t,scenePlayers:r}):function({detections:e,sceneTeam:t,scenePlayers:n,shape:r}){let i=function({detections:e,scenePlayers:t,sceneTeam:n,shape:r}){let i=[...e].sort(xj(n,"own_to_attack")),a={DEF:[],MID:[],ATT:[]},o=0;for(let e of["DEF","MID","ATT"]){let n=t.filter(t=>t.roleGroup===e);if(!n.length)continue;let r=i.length-o;if(r<=0)break;let s=Math.min(n.length,r);a[e]=i.slice(o,o+s),o+=s}return"balanced"===r&&o<i.length&&a[t.some(e=>"ATT"===e.roleGroup)?"ATT":t.some(e=>"MID"===e.roleGroup)?"MID":"DEF"].push(...i.slice(o)),a}({detections:e,scenePlayers:n,sceneTeam:t,shape:r}),a=[];for(let e of["DEF","MID","ATT"]){let r=n.filter(t=>t.roleGroup===e),o=i[e]||[];r.length&&o.length&&a.push(...x$({detections:o,scenePlayers:r,sceneTeam:t,roleGroup:e,context:"shape"}))}return a}({detections:e,sceneTeam:t,scenePlayers:r,shape:i})}({detections:e.filter(e=>!xy(e)&&!i.has(xx(e))),sceneTeam:t,scenePlayers:n.filter(e=>!a.has(e.id))})),{matches:r,usedCvIds:i,usedSceneIds:a}}({cvPlayers:e,sceneTeam:t,scenePlayers:n}),o=[],s=[],l=[],c=[],u=e.filter(e=>!i.has(xx(e))).map(e=>({team:t,cvTeam:e.cvTeam,cvPlayerId:String(e.cvPlayerId),position:e.position,confidence:e.confidence,className:e.className,jerseyColorHex:e.jerseyColorHex||void 0}));for(let e of r){let n=function({team:e,detected:t,scenePlayer:n,cost:r}){let i=function(e,t){if(xy(e))return"GK";let n=xa(e.position,t);return n<35?"DEF":n<55?"MID":"ATT"}(t,e);return{team:e,playerId:n.id,position:t.position,visible:!0,cvSource:"detected",cvPlayerId:String(t.cvPlayerId),cvTeam:t.cvTeam,cvConfidence:t.confidence,cvMatchRole:i,cvAssignmentScore:Math.round(10*r)/10,detectedJerseyHex:t.jerseyColorHex||void 0}}({team:t,detected:e.detected,scenePlayer:e.scenePlayer,cost:e.cost});o.push(n),s.push(n),c.push({team:t,playerId:e.scenePlayer.id,playerRole:e.scenePlayer.shortRole||e.scenePlayer.role||e.scenePlayer.roleGroup,playerRoleGroup:e.scenePlayer.roleGroup,cvTeam:e.detected.cvTeam,cvPlayerId:e.detected.cvPlayerId,confidence:e.detected.confidence,detectedJerseyHex:e.detected.jerseyColorHex,className:e.detected.className,assignmentMethod:e.detected.assignmentMethod,cvMatchRole:n.cvMatchRole,cvAssignmentScore:n.cvAssignmentScore,cvSource:n.cvSource,position:n.position})}let d=n.filter(e=>!a.has(e.id)),m=function(e,t){let n=e.map(e=>({scenePlayer:e,position:xC(e,t)})),r=new Map;for(let e of n){let t=[e.scenePlayer.roleGroup,Math.round(10*e.position.x)/10,Math.round(10*e.position.z)/10].join(":");r.has(t)||r.set(t,[]),r.get(t).push(e)}for(let e of r.values()){if(e.length<2)continue;e.sort((e,t)=>
44xu(e.scenePlayer)!==xu(t.scenePlayer)?xu(e.scenePlayer)-xu(t.scenePlayer):e.scenePlayer.index-t.scenePlayer.index);let n="B"===t?-1:1,r="GK"===e[0].scenePlayer.roleGroup?4:8;for(let t=0;t<e.length;t+=1){let i=(t-(e.length-1)/2)*r*n;e[t].position={x:e[t].position.x,z:xr(e[t].position.z+i,-34,34)}}}return new Map(n.map(e=>[e.scenePlayer.id,e.position]))}(d,t);for(let e of d){if(a.has(e.id))continue;let n=function({team:e,scenePlayer:t,position:n=null}){return{team:e,playerId:t.id,position:n||xC(t,e),visible:!0,cvSource:"off_frame_estimate",cvConfidence:.35,cvMatchRole:t.roleGroup}}({team:t,scenePlayer:e,position:m.get(e.id)});o.push(n),l.push(n),c.push({team:t,playerId:e.id,playerRole:e.shortRole||e.role||e.roleGroup,playerRoleGroup:e.roleGroup,cvSource:n.cvSource,cvMatchRole:n.cvMatchRole,position:n.position})}return o.sort((e,t)=>{let r=e.cvSource===t.cvSource?0:"detected"===e.cvSource?-1:1;if(0!==r)return r;let i=n.find(t=>t.id===e.playerId),a=n.find(e=>e.id===t.playerId);return(i?.index??0)-(a?.index??0)}),{updates:o,detectedUpdates:s,estimatedUpdates:l,mappings:c,unmatchedDetections:u}}function xT({name:e,cvTeamMap:t,visiblePlayers:n,scenePlayers:r,ball:i}){var a,o;let s,l,c=n.filter(e=>"A"===t[e.cvTeam]),u=n.filter(e=>"B"===t[e.cvTeam]),d=xN({cvPlayers:c,sceneTeam:"A",scenePlayers:r.teamA}),m=xN({cvPlayers:u,sceneTeam:"B",scenePlayers:r.teamB}),p=[...d.updates,...m.updates],h=[...d.detectedUpdates,...m.detectedUpdates],f=[...d.unmatchedDetections,...m.unmatchedDetections];return{name:e,cvTeamMap:t,updates:p,updatesByTeam:{teamA:d.updates,teamB:m.updates},detectedUpdates:h,estimatedUpdates:[...d.estimatedUpdates,...m.estimatedUpdates],mappings:[...d.mappings,...m.mappings],unmatchedDetections:f,assignmentConfidence:(a=h,o=f,a.length?Math.round(100*xr(1-a.reduce((e,t)=>e+Number(t.cvAssignmentScore||0),0)/a.length/55-.3*(o.length/Math.max(1,a.length+o.length)),.05,.98))/100:0),assignmentWarnings:(s=[],f.length>0&&s.push(`${f.length} visible CV detection(s) could not be mapped to a scene player role.`),(l=h.filter(e=>Number(e.cvAssignmentScore||0)>=18).length)>0&&s.push(`${l} detected player assignment(s) have low structural confidence.`),s),resolverSource:"deterministic_shape",recommendedBallCarrier:function(e,t){let n=t?xi(t.field_position||t.position):null;if(!n)return null;let r=e.filter(e=>!1!==e.visible&&e.position&&"off_frame_estimate"!==e.cvSource),i=null;for(let e of r){let t=e.position.x-n.x,r=e.position.z-n.z,a=Math.sqrt(t*t+r*r);(!i||a<i.distanceMeters)&&(i={team:e.team,playerId:e.playerId,distanceMeters:Math.round(10*a)/10})}return i}(p,i)}}function xA(e,t){return{name:e,cvTeamMap:t,updates:[],updatesByTeam:{teamA:[],teamB:[]},detectedUpdates:[],estimatedUpdates:[],mappings:[],unmatchedDetections:[],assignmentConfidence:0,assignmentWarnings:[],resolverSource:"deterministic_shape",recommendedBallCarrier:null}}let xP=({description:e,inputSchema:t,execute:n})=>({description:e,inputSchema:t,execute:n}),xE=null;function xD(e=null){xE=e&&"object"==typeof e?{interactionId:e.interactionId||null,sessionId:e.sessionId||null}:null}function xM(){return xE||void 0}let xz=(e,t,n)=>Math.max(t,Math.min(n,e)),xF=(e={x:0,z:0})=>({x:xz(e.x??0,-52.5,52.5),z:xz(e.z??0,-34,34)}),xO=e=>e?Array.isArray(e)?{x:Number.isFinite(e[0])?e[0]:0,y:Number.isFinite(e[1])?e[1]:0,z:Number.isFinite(e[2])?e[2]:0}:{x:Number.isFinite(e.x)?e.x:0,y:Number.isFinite(e.y)?e.y:0,z:Number.isFinite(e.z)?e.z:0}:{x:0,y:0,z:0},xL=(e=[])=>{for(let t=e.length-1;t>=0;t-=1){let n=e[t];if("user"===n.role&&Array.isArray(n.images)&&n.images.length>0)return n.images[n.images.length-1]}return null},xR=null,xB=null,xU=e=>String(e||"").toLowerCase().replace(/[^a-z0-9]/g,"");function xZ(e,t){let n=xU(e),r=xU(t);return!!n&&!!r&&(n===r||n.length>=3&&r.includes(n)||r.length>=3&&n.includes(r))}function xG(e){let t=e?.updates||[],n=e?.detectedUpdates||[],r=e?.estimatedUpdates||[];return{name:e?.name||null,cvTeamMap:e?.cvTeamMap||null,updateCount:t.length,detectedCount:n.length,estimatedCount:r.length,unmatchedDetectionCount:e?.unmatchedDetections?.length||0,assignmentConfidence:e?.assignmentC
44onfidence??null,assignmentWarnings:e?.assignmentWarnings||[],resolverSource:e?.resolverSource||null,recommendedBallCarrier:e?.recommendedBallCarrier||null,sampleMappings:(e?.mappings||[]).slice(0,8).map(e=>({team:e.team,playerId:e.playerId,playerRole:e.playerRole,cvTeam:e.cvTeam,cvPlayerId:e.cvPlayerId,cvSource:e.cvSource,position:e.position}))}}function xW(e,t){let n=Object.entries(e?.cvTeamMap||{}).find(([,e])=>e===t)?.[0]||null;return"A"===n?xB?.teamAHex||null:"B"===n&&xB?.teamBHex||null}function xH(e){let t=xR?.score_panel;return t?.visible?"A"===e?t.team_left_name||null:t.team_right_name||null:null}async function xV(e={}){if(!xB?.sceneUpdateOptions)return{success:!1,error:"No cached CV reconstruction is available. Run analyze_live_footage_cv first."};let t="swapped"===e.optionName||"asDetected"===e.optionName?e.optionName:function(){let e=xB,t=xR;if(!e||!t?.team_identity_guess||!t?.score_panel)return"asDetected";let n=xo(e.teamAHex)>=xo(e.teamBHex),r=n?"A":"B",i=n?"B":"A",a=t.score_panel.team_left_name,o=t.score_panel.team_right_name,s=t.team_identity_guess,l={};return(xZ(s.lighter_team_name,a)?l[r]="A":xZ(s.lighter_team_name,o)&&(l[r]="B"),xZ(s.darker_team_name,a)?l[i]="A":xZ(s.darker_team_name,o)&&(l[i]="B"),"A"===l.A)?"asDetected":"B"===l.A?"swapped":"asDetected"}(),n=xB.sceneUpdateOptions[t];if(!n||!Array.isArray(n.updates)||0===n.updates.length)return{success:!1,error:`Cached CV reconstruction option "${t}" has no player updates.`};let r=s.usePlayerStore.getState(),i=new Set([...r.teamAPlayers||[],...r.teamASubs||[],...r.teamBPlayers||[],...r.teamBSubs||[]].map(e=>e.id)),a=0,o=0;for(let e of n.updates){let{team:t,playerId:n,position:s,rotation:l,...c}=e;if(!i.has(n)){o+=1;continue}s&&r.updatePlayerPosition(t,n,[s.x,0,s.z]),void 0!==l&&r.updatePlayerRotation(t,n,l),Object.keys(c).length>0&&r.updatePlayerDetails(t,n,c),a+=1}let l=e.teamAName||xH("A"),c=e.teamBName||xH("B"),u=e.teamAColor||xW(n,"A"),d=e.teamBColor||xW(n,"B");(l||u)&&r.updateTeamInfo("A",{...l?{name:l}:{},...u?{color:u}:{}}),(c||d)&&r.updateTeamInfo("B",{...c?{name:c}:{},...d?{color:d}:{}});let m=xB.ball?.field_position||xB.ball?.position||xB.ball||null;m&&"number"==typeof m.x&&"number"==typeof m.z&&r.setBallPosition([m.x,.2,m.z]);let p=n.recommendedBallCarrier;!1!==e.carryBall&&p?.team&&p?.playerId&&r.setBallPossessionNew(p.team,p.playerId,null,{description:"Broadcast CV recommended ball carrier"});let h=n.detectedUpdates?.length||0,f=n.estimatedUpdates?.length||0,g=n.unmatchedDetections?.length||0;return{success:a>0,selectedOption:t,cvTeamMap:n.cvTeamMap,appliedCount:a,skippedCount:o,detectedCount:h,estimatedCount:f,unmatchedDetectionCount:g,assignmentConfidence:n.assignmentConfidence??null,assignmentWarnings:n.assignmentWarnings||[],resolverSource:n.resolverSource||null,teamInfoUpdated:{teamA:!!(l||u),teamB:!!(c||d)},cameraApplied:!1,cameraPreserved:!0,ballCarrier:!1===e.carryBall?null:p||null,message:`Applied broadcast CV reconstruction (${t}): ${a} player updates (${h} detected, ${f} estimated).`}}let xq=g7.object({startTime:g7.number().describe("When this element appears on the timeline (seconds). Example: 2.0 = appears at T=2s"),endTime:g7.number().describe("When this element disappears from the timeline (seconds). Example: 5.0 = disappears at T=5s")}).describe("Timeline visibility window. Controls when this element is visible during playback."),xK=g7.object({entrance:g7.enum(["none","fade","scale","slide-up"]).describe("How the element appears: none (instant), fade (opacity 0→1), scale (grows in), slide-up (rises into view)"),exit:g7.enum(["none","fade","scale","slide-down"]).describe("How the element disappears: none (instant), fade (opacity 1→0), scale (shrinks out), slide-down (drops out)")}).describe("Entry/exit animation when the element appears or disappears on the timeline."),xJ=(e,t)=>(t.timeline&&(e.startTime=t.timeline.startTime,e.endTime=t.timeline.endTime),t.animation&&(e.animation={entrance:t.animation.entrance||"none",exit:t.animation.exit||"none",entranceDuration:.3,exitDuration:.3}),e),xX=g7.enum(["text","arrow","rectangle","circle","pencil","textwindow","polygon"]),xY=g7.object({x:g7.number().min(-52.5).max(52.5),z:g7.number().min(-34).max(34)}),xQ=g7.object({x:g7.number().min(-52.5).max(52.5),z:g7.number().min(-34).max(34)}),x0=g7.object({color:g7.string().optional().describe("Hex color"),opacity:g7.number().min(0).max(1).optional().describe("Opacity 0-1"),thickness:g7.number().optional().describe("Line thickness in meters"),dashed:g7.boolean().optional(),dashScale:g7.number().optional(),text:g7.string().optional().describe("Label text content"),fontSize:g7.number().optional().describe("Font size in meters (for ground text) or meters (for textwindow, converted internally)"),outlined:g7.boolean().optional(),outlineColor:g7.string().optional(),width:g7.number().optional().describe("Width in meters (rectangle) or textwindow panel width in meters"),height:g7.number().optional().describe("Height in meters (rectangle)"),radius:g7.number().optional().describe("Radius in meters (circle)"),filled:g7.boolean().optional(),striped:g7.boolean().optional(),stripeScale:g7.number().optional(),vertices:g7.array(xY).min(3).optional().describe("Array of 3+ vertex positions in absolute field coordinates for polygon shapes"),endPosition:xY.optional().describe("Arrow end point coordinates in meters"),headSize:g7.number().optional().describe("Arrow head size in meters"),arrowType:g7.enum(["arrow","line"]).optional(),pathType:g7.enum(["linear","bezier"]).optional().describe("Arrow path shape"),curveBend:g7.number().min(-1).max(1).optional().describe("Signed curve bend for Bezier arrows"),content:g7.string().optional().describe("Markdown content displayed inside the panel"),textColor:g7.string().optional().describe("Text color hex inside the panel"),bgColor:g7.string().optional().describe("Panel background color hex"),accentColor:g7.string().optional().describe("Accent color hex for panel border and decorations"),buttonColor:g7.string().optional().describe("Toggle button color hex"),windowHeight:g7.number().optional().describe("Panel content area height in meters"),poleHeight:g7.number().optional().describe("Height of the pole elevating the panel above the pitch surface in meters"),isOpen:g7.boolean().optional().describe("Whether the panel starts expanded or collapsed")}
44),x1=g7.object({team:g7.enum(["A","B"]).describe("Team of the player"),playerId:g7.string().describe("Player ID"),name:g7.string().optional().describe('Short label for this run (e.g. "Overlapping run", "Recovery run")'),description:g7.string().optional().describe("Tactical purpose of this movement"),startTime:g7.number().optional().describe("Start time in seconds — use pass_ball arrivalTime when the run starts after receiving a pass"),time:g7.number().describe("Arrival time in seconds — when the player reaches the target position"),position:xQ.describe("Target position the player runs to"),pathType:g7.enum(["linear","bezier"]).optional().describe("Movement path shape"),curveBend:g7.number().min(-1).max(1).optional().describe("Signed curve bend for Bezier movement"),rotation:g7.number().optional().describe("Final facing direction in radians (auto-calculated from movement direction if omitted)")}),x2=x1.omit({pathType:!0}).extend({curveBend:g7.number().min(-1).max(1).optional().describe("Signed curve bend for the curved movement path")}),x5=g7.object({name:g7.string().optional(),description:g7.string().optional().describe("Purpose of this curved arrow in the scene"),startPosition:xY.describe("Curved arrow start point in absolute field coordinates"),endPosition:xY.describe("Curved arrow end point in absolute field coordinates"),color:g7.string().optional().describe("Hex color"),opacity:g7.number().min(0).max(1).optional().describe("Opacity 0-1"),thickness:g7.number().optional().describe("Line thickness in meters"),dashed:g7.boolean().optional(),dashScale:g7.number().optional(),headSize:g7.number().optional().describe("Arrow head size in meters"),arrowType:g7.enum(["arrow","line"]).optional(),curveBend:g7.number().min(-1).max(1).optional().describe("Signed curve bend for the curved arrow"),timeline:xq.optional().describe("When this overlay appears/disappears on the timeline. Omit for always visible."),animation:xK.optional().describe("Entry/exit animation. Omit for instant appear/disappear.")}),x4=g7.object({id:g7.string(),updates:g7.object({position:xY.optional(),type:xX.optional(),name:g7.string().optional(),visible:g7.boolean().optional(),locked:g7.boolean().optional(),groupId:g7.string().nullable().optional(),config:x0.optional(),timeline:xq.optional().describe("Update timeline visibility window"),animation:xK.optional().describe("Update entry/exit animation")})}),x3=(e={})=>{let t={...e};return"number"==typeof t.fontSize&&Number.isFinite(t.fontSize)?t.fontSize=Math.round(xz(24*t.fontSize,12,72)):t.fontSize=51,"number"==typeof t.windowHeight&&Number.isFinite(t.windowHeight)?t.windowHeight=Math.round(xz(24*t.windowHeight,120,600)):t.windowHeight=320,"number"==typeof t.width&&Number.isFinite(t.width)?t.width=Math.round(xz(24*t.width,240,960)):t.width=560,t},x6=(e={})=>{let t={...e},n=String(t.text||"").trim().length,r=n>=40?2.4:n>=20?2.1:1.8;if("number"==typeof t.fontSize&&Number.isFinite(t.fontSize)){let e=t.fontSize>8?t.fontSize/10:t.fontSize;t.fontSize=xz(Math.max(e,r),1.6,3.2)}else t.fontSize=r;return void 0===t.outlined&&(t.outlined=!1),"number"==typeof t.thickness&&Number.isFinite(t.thickness)&&(t.thickness=xz(t.thickness,.01,.2)),void 0===t.opacity&&(t.opacity=1),t},x8=(e,t,n={})=>{let r=xF(e||{x:0,z:0}),i=xF(t||{x:r.x+2,z:r.z}),a={x:(r.x+i.x)/2,z:(r.z+i.z)/2},o="bezier"===n.pathType?"bezier":"linear",s=(0,eT.clampCurveBend)(n.curveBend,.35),l="bezier"===o?(0,eT.buildQuadraticControlPointXZ)({x:r.x,y:.1,z:r.z},{x:i.x,y:.1,z:i.z},s):null;return{center:a,pathType:o,curveBend:s,points:"bezier"===o?[[r.x-a.x,.1,r.z-a.z],[l.x-a.x,.1,l.z-a.z],[i.x-a.x,.1,i.z-a.z]]:[[r.x-a.x,.1,r.z-a.z],[i.x-a.x,.1,i.z-a.z]]}},x9=(e,t=null)=>{let n=(0,iI.makeEntityId)("ann"),r=e.name||e.type.charAt(0).toUpperCase()+e.type.slice(1),i=xF(e.position||{x:0,z:0}),a=e.config||{},o={id:n,name:r,description:e.description||null,visible:!0,groupId:null,locked:!1,rotation:[0,0,0],scale:[1,1,1],timestamp:Date.now(),position:[i.x,.1,i.z],config:{color:a.color||"#FFFF00",opacity:a.opacity??1,thickness:a.thickness??.1,dashed:a.dashed??!1,dashScale:a.dashScale??2}};if("text"===e.type){let e=x6(a);return o.type="text",o.position=[i.x,.5,i.z],o.config={...o.config,...e,color:e.color||e.textColor||o.config.color,text:e.text??"Text",fontSize:e.fontSize??1.8,outlined:e.outlined??!1,outlineColor:e.outlineColor||"#000000"},o}if("arrow"===e.type){let e=x8(i,a.endPosition,a);return o.type="arrow",o.position=[e.center.x,.05,e.center.z],o.points=e.points,o.config={...o.config,thickness:a.thickness??.2,headSize:a.headSize??.5,type:a.arrowType||"arrow",pathType:e.pathType,curveBend:e.curveBend},o}if("rectangle"===e.type||"circle"===e.type){let t=a.width??5,n=a.height??5,r=a.radius??2.5;return o.type="shape",o.shapeType=e.type,o.rotation=[-Math.PI/2,0,0],o.position=[i.x,.05,i.z],o.scale="rectangle"===e.type?[t,n,1]:[2*r,2*r,1],o.config={...o.config,width:t,height:n,radius:r,filled:a.filled??!0,outlined:a.outlined??!1,outlineColor:a.outlineColor||"#000000",striped:a.striped??!0,stripeScale:a.stripeScale??2},o}if("polygon"===e.type){let e=a.vertices||[];if(e.length<3)return o.type="shape",o.shapeType="polygon",o.rotation=[-Math.PI/2,0,0],o.position=[i.x,.05,i.z],o.scale=[1,1,1],o.points=[],o;let t=e.reduce((e,t)=>
44e+(t.x??0),0)/e.length,n=e.reduce((e,t)=>e+(t.z??0),0)/e.length,r=e.map(e=>({x:(e.x??0)-t,z:(e.z??0)-n}));return o.type="shape",o.shapeType="polygon",o.rotation=[-Math.PI/2,0,0],o.position=[t,.05,n],o.scale=[1,1,1],o.points=r,o.config={...o.config,filled:a.filled??!0,outlined:a.outlined??!0,outlineColor:a.outlineColor||a.color||"#ffffff",striped:a.striped??!1,stripeScale:a.stripeScale??2},o}if("textwindow"===e.type){let e=x3(t||{}),n=x3(a);return o.type="textwindow",o.position=[i.x,0,i.z],o.config={...e,...n,content:(n.content??e.content??"## Note").replace(/\\n/g,"\n"),isOpen:n.isOpen??!0,height:a.poleHeight??e.height??12},o}return o.type="pencil",o.points=[],o},x7=(e,t)=>xJ(e,t),be=(e,t)=>{let n={},r=t.type||("shape"===e.type?e.shapeType:e.type),i="rectangle"===r||"circle"===r?"shape":r,a="text"===i||"text"===e.type,o="textwindow"===i||"textwindow"===e.type,s=t.config?{...e.config,...t.config}:e.config;if(a&&(s=x6(s||{}),s?.textColor&&!s?.color&&(s={...s,color:s.textColor})),o&&(s=x3(s||{})),t.position){let e=xF(t.position);n.position=[e.x,"textwindow"===i?0:"text"===i?.5:"arrow"===i?.05:.1,e.z]}t.name&&(n.name=t.name),void 0!==t.visible&&(n.visible=t.visible),void 0!==t.locked&&(n.locked=t.locked),void 0!==t.groupId&&(n.groupId=t.groupId),t.type&&(n.type=i,"rectangle"===t.type||"circle"===t.type?(n.shapeType=t.type,n.rotation=[-Math.PI/2,0,0]):"textwindow"===t.type&&(n.rotation=[0,0,0],n.scale=[1,1,1])),t.config&&(n.config=s),t.timeline&&(n.startTime=t.timeline.startTime,n.endTime=t.timeline.endTime),t.animation&&(n.animation={entrance:t.animation.entrance||"none",exit:t.animation.exit||"none",entranceDuration:.3,exitDuration:.3});let l=t.config&&(Object.prototype.hasOwnProperty.call(t.config,"endPosition")||Object.prototype.hasOwnProperty.call(t.config,"pathType")||Object.prototype.hasOwnProperty.call(t.config,"curveBend"));if(("arrow"===i||"arrow"===e.type)&&(l||t.position)){let r,i,a,o,l=(r={x:e?.position?.[0]??0,z:e?.position?.[2]??0},i=Array.isArray(e?.points)?e.points:[],a=xO(e?.points?.[0]),o=xO(i[i.length-1]),{start:{x:a.x+r.x,z:a.z+r.z},end:{x:o.x+r.x,z:o.z+r.z}}),c=t.position?xF(t.position):l.start,u=t.config?.endPosition?xF(t.config.endPosition):(()=>{if(t.position){let e=c.x-l.start.x,t=c.z-l.start.z;return xF({x:l.end.x+e,z:l.end.z+t})}return xF(l.end)})(),d=x8(c,u,s||{});n.position=[d.center.x,.05,d.center.z],n.points=d.points,n.config={...n.config||s||{},pathType:d.pathType,curveBend:d.curveBend}}let c=n.shapeType||e.shapeType;if("shape"===i&&("rectangle"===c||"circle"===c)){let t=s?.width??e.config?.width??5,r=s?.height??e.config?.height??5,i=s?.radius??e.config?.radius??2.5;n.scale="rectangle"===c?[t,r,1]:[2*i,2*i,1],n.rotation=[-Math.PI/2,0,0]}return n},bt=async(e,t={})=>{let{team:n,playerId:r,time:i,position:a,rotation:o}=e,l=s.usePlayerStore.getState(),c=("A"===n?[...l.teamAPlayers,...l.teamASubs]:[...l.teamBPlayers,...l.teamBSubs]).find(e=>e.id===r);if(!c)return{success:!1,error:`Player ${r} not found on team ${n}`};let u=[...c.movements||[]].sort((e,t)=>e.startTime-t.startTime),d=u.filter(e=>e.endTime<=i).slice(-1)[0],m=c.position||[0,0,0],p=d?.points?.[d.points.length-1]||{x:m[0],y:0,z:m[2]},h={x:xz(a.x,-52.5,52.5),y:0,z:xz(a.z,-34,34)},f=t.pathType||("bezier"===e.pathType?"bezier":"linear"),g=(0,eT.clampCurveBend)(e.curveBend,.35),x="bezier"===f?[p,(0,eT.buildQuadraticControlPointXZ)(p,h,g),h]:[p,h],b=e.startTime??d?.endTime??Math.max(0,i-1);b>=i&&(b=Math.max(0,i-.3));let y={id:(0,iI.makeEntityId)("mv"),type:f,source:"agent",name:e.name||null,description:e.description||null,points:x,curveBend:"bezier"===f?g:0,startTime:b,endTime:i};if("bezier"===f){let e=Math.max(.3,i-b),t=(0,eT.getPolylineLength)((0,eT.samplePathPoints3)(x,"bezier",32));y.description=y.description||`Curved run, approximately ${Math.round(t)}m.`,y.endTime=b+e}let v=u.find(e=>e.startTime<y.endTime&&e.endTime>y.startTime);return v?{success:!1,error:`REJECTED: ${c.name||r} already has movement "${v.name||v.id}" from T=${v.startTime.toFixed(2)} to T=${v.endTime.toFixed(2)} which overlaps with T=${y.startTime.toFixed(2)}→${y.endTime.toFixed(2)}. Use clear_player_movements first or choose a non-overlapping time window.`}:(l.addMovementSegment(n,r,y),void 0!==o&&l.updatePlayerRotation(n,r,o),{success:!0,movementId:y.id,message:`Added ${"bezier"===f?"curved ":""}movement segment for ${r} (${b.toFixed(2)}s -> ${y.endTime.toFixed(2)}s)`})},bn={get_scene_state:xP({description:"Get the comprehensive state of the tactical scene including players, overlays, and camera context.",inputSchema:g7.object({}),execute:async()=>{let t=s.usePlayerStore.getState(),n=m.useAnnotationStore.getState(),r=null;try{let{useCameraStore:t}=await e.A(362499),n=t.getState();r={selected:n.selectedCamera,position:n.position,target:n.target,fov:n.fov,zoom:n.zoom}}catch(e){r=null}return{field:{length_m:105,width_m:68,xRange:[-52.5,52.5],zRange:[-34,34],teamA_attacks:"
44+X",teamB_attacks:"-X"},teamA:{info:t.teamAInfo,players:t.teamAPlayers,subs:t.teamASubs},teamB:{info:t.teamBInfo,players:t.teamBPlayers,subs:t.teamBSubs},links:t.links,zones:t.zones,annotations:n.annotations,groups:n.groups,camera:r}}}),get_pitch_state:xP({description:"Get the current pitch state as a text description of the full scene. Use this to verify your changes after executing tool calls.",inputSchema:g7.object({}),execute:async()=>{let{buildFocusedPitchState:t}=await e.A(84959);return{success:!0,pitchState:t("full",{includeDeltas:!0})}}}),get_scenario_state:xP({description:"Get the current scenario state (the Architect's living vision document). Use this to understand the global intent.",inputSchema:g7.object({}),execute:async()=>{let{serializeScenarioState:t}=await e.A(234282);return{success:!0,scenarioState:t()||"(no scenario state)"}}}),create_player:xP({description:"Create a new player on the field. Field dimensions are 105m (X) by 68m (Z). Center is [0,0]. X range: [-52.5, 52.5]. Z range: [-34, 34]. Team A attacks towards +X, Team B attacks towards -X. Team-relative flanks: Team A right=+Z left=-Z; Team B right=-Z left=+Z.",inputSchema:g7.object({team:g7.enum(["A","B"]).describe("Team A (Blue/Left) or Team B (Red/Right)"),number:g7.number().min(1).max(99).describe("Jersey number (1-99)"),name:g7.string().describe('Player name (uppercase recommendations: "SALAH", "DIAS")'),role:g7.string().describe('Full role name like "Striker", "Center Back"'),shortRole:g7.string().describe("Role abbreviation: GK, CB, LB, RB, DM, CM, AM, LW, RW, ST"),positionGroup:g7.enum(["GK","DEF","MID","ATT"]).describe("General position group for filtering"),position:g7.object({x:g7.number().min(-52.5).max(52.5).describe("X position (Length)"),z:g7.number().min(-34).max(34).describe("Z position (Width)")}).describe("Field coordinates"),rotation:g7.number().optional().describe("Y-axis rotation in radians. Team A Default: PI/2 (Right), Team B Default: -PI/2 (Left)")}),execute:async e=>{let{team:t,...n}=e;void 0===n.rotation&&(n.rotation="A"===t?Math.PI/2:-Math.PI/2);let r=[n.position.x,0,n.position.z],i={...n,position:r,showNumber:!0,showRole:!0,showCard:!1,showVision:!1,showArea:!1};return s.usePlayerStore.getState().addPlayer(t,i),{success:!0,message:`Created player ${e.name} for Team ${t}`}}}),update_player:xP({description:"Update a single player's position, rotation, name, number, or role. For moving multiple players at once (formation changes), prefer update_team_players.",inputSchema:g7.object({team:g7.enum(["A","B"]),playerId:g7.string().describe("The unique ID of the player"),updates:g7.object({position:g7.object({x:g7.number().min(-52.5).max(52.5),z:g7.number().min(-34).max(34)}).optional(),rotation:g7.number().optional().describe("Rotation in radians"),name:g7.string().optional(),number:g7.number().optional(),role:g7.string().optional()}).describe("Only include fields that need to change")}),execute:async e=>{let{team:t,playerId:n,updates:r}=e;if(r.position){let e=[r.position.x,0,r.position.z];s.usePlayerStore.getState().updatePlayerPosition(t,n,e)}void 0!==r.rotation&&s.usePlayerStore.getState().updatePlayerRotation(t,n,r.rotation);let{position:i,rotation:a,...o}=r;return Object.keys(o).length>0&&s.usePlayerStore.getState().updatePlayerDetails(t,n,o),{success:!0,message:`Updated player ${n}`}}}),update_team_players:xP({description:"Batch update multiple players to set formations or move defensive lines. Efficiently updates positions, rotations, and roles for multiple players in one action. Use this for formation changes.",inputSchema:g7.object({updates:g7.array(g7.object({team:g7.enum(["A","B"]).describe("Team ID"),playerId:g7.string().describe("Player ID to edit"),position:g7.object({x:g7.number().min(-52.5).max(52.5),z:g7.number().min(-34).max(34)}).optional(),rotation:g7.number().optional(),name:g7.string().optional(),number:g7.number().optional(),role:g7.string().optional(),visible:g7.boolean().optional(),cvSource:g7.enum(["detected","off_frame_estimate"]).optional(),cvPlayerId:g7.string().optional(),cvTeam:g7.enum(["A","B"]).optional(),cvConfidence:g7.number().optional(),cvMatchRole:g7.string().optional(),cvAssignmentScore:g7.number().optional(),detectedJerseyHex:g7.string().optional()})).describe("List of player updates")}),execute:async e=>{let{updates:t}=e,n=s.usePlayerStore.getState(),r=new Set([...n.teamAPlayers,...n.teamASubs,...n.teamBPlayers,...n.teamBSubs].map(e=>e.id)),i=t.filter(e=>!r.has(e.playerId)).map(e=>e.playerId),a=0,o=0;for(let e of t){let{team:t,playerId:n,position:i,rotation:l,...c}=e;if(!r.has(n)){o++;continue}if(i){let e=[i.x,0,i.z];s.usePlayerStore.getState().updatePlayerPosition(t,n,e)}void 0!==l&&s.usePlayerStore.getState().updatePlayerRotation(t,n,l),Object.keys(c).length>0&&s.usePlayerStore.getState().updatePlayerDetails(t,n,c),a++}if(i.length>0){let e=[...n.teamAPlayers,...n.teamASubs].map(e=>e.id),r=[...n.teamBPlayers,...n.teamBSubs].map(e=>e.id);return{success:a>0,message:`Applied ${a}/${t.length} updates. Skipped ${o} invalid IDs: ${i.join(", ")}`,validIds:{teamA:e,teamB:r}}}return{success:!0,message:`Updated ${a} players`}}}),delete_team_players:xP({description:"Batch remove specific players. Use this to clear specific units or reset a team without resetting the entire scene.",inputSchema:g7.object({team
44:g7.enum(["A","B"]),playerIds:g7.array(g7.string()).describe("List of Player IDs to delete")}),execute:async e=>{let{team:t,playerIds:n}=e;for(let e of n)s.usePlayerStore.getState().removePlayer(t,e);return{success:!0,message:`Removed ${n.length} players`}}}),delete_player:xP({description:"Permanently remove a player from the active scene.",inputSchema:g7.object({team:g7.enum(["A","B"]),playerId:g7.string()}),execute:async e=>(s.usePlayerStore.getState().removePlayer(e.team,e.playerId),{success:!0,message:`Removed player ${e.playerId}`})}),create_man_marking:xP({description:"Assign a visible tracking line between a defender and an attacker. The line follows both players if they move on the timeline. Shows a direct assignment relationship between two players.",inputSchema:g7.object({markerTeam:g7.enum(["A","B"]).describe("Team of the defender doing the marking"),markerId:g7.string().describe("ID of the marking player (defender)"),targetId:g7.string().describe("ID of the opponent being tracked (attacker)"),name:g7.string().optional().describe('Short label (e.g. "CB→ST track")'),description:g7.string().optional().describe('Tactical meaning (e.g. "Center-back marking the striker")'),distance:g7.number().default(2).describe("Visual indicator distance (default 2.0)"),timeline:xq.optional().describe("When this marking is active on the timeline. Omit for always active."),animation:xK.optional().describe("Entry/exit animation for the marking line.")}),execute:async e=>{let t=s.usePlayerStore.getState();return t.setManMarking(e.markerTeam,e.markerId,e.targetId,e.distance,{name:e.name||null,description:e.description||null}),e.timeline&&t.setMarkingTimeRange(e.markerTeam,e.markerId,e.timeline.startTime,e.timeline.endTime),e.animation&&t.setMarkingAnimation(e.markerTeam,e.markerId,{entrance:e.animation.entrance||"none",exit:e.animation.exit||"none",entranceDuration:.3,exitDuration:.3}),{success:!0,message:"Created man-marking assignment"}}}),create_zonal_marking:xP({description:"Assign an active defensive responsibility zone centered on the defender’s current base position. The zone stays fixed: the defender tracks opponents entering it and returns to its center. This controls player movement; use create_zone for a visual-only overlay.",inputSchema:g7.object({markerTeam:g7.enum(["A","B"]).describe("Team of the defending player"),markerId:g7.string().describe("ID of the player assigned to the zone"),name:g7.string().optional().describe('Short label (e.g. "LB coverage zone")'),description:g7.string().optional().describe('Tactical meaning (e.g. "Left-back zonal responsibility area")'),width:g7.number().positive().max(68).default(10).describe("Zone width in meters along the Z-axis (touchline to touchline direction)"),height:g7.number().positive().max(105).default(10).describe("Zone depth in meters along the X-axis (goal to goal direction)"),distance:g7.number().min(0).default(2).describe("Distance the defender keeps from an opponent inside the zone (meters, default 2.0)"),timeline:xq.optional().describe("When this zone marking is active. Omit for always active."),animation:xK.optional().describe("Entry/exit animation.")}),execute:async e=>{let t=s.usePlayerStore.getState(),n=(("A"===e.markerTeam?t.teamAPlayers:t.teamBPlayers)||[]).find(t=>t.id===e.markerId);if(!["A","B"].includes(e.markerTeam)||!n)return{success:!1,error:"Zonal marking requires an on-pitch player from the specified team."};let r=n.position?.[0],i=n.position?.[2],a=e.width??10,o=e.height??10,l=e.distance??2;return!Number.isFinite(r)||!Number.isFinite(i)||!Number.isFinite(a)||a<=0||a>68||!Number.isFinite(o)||o<=0||o>105||!Number.isFinite(l)||l<0?{success:!1,error:"Zonal marking requires valid player coordinates, zone dimensions, and marking distance."}:(t.setZonalMarking(e.markerTeam,e.markerId,{width:a,height:o},[],{x:r,z:i},l,"custom",{name:e.name||null,description:e.description||null}),e.timeline&&t.setMarkingTimeRange(e.markerTeam,e.markerId,e.timeline.startTime,e.timeline.endTime),e.animation&&t.setMarkingAnimation(e.markerTeam,e.markerId,{entrance:e.animation.entrance||"n
44one",exit:e.animation.exit||"none",entranceDuration:.3,exitDuration:.3}),{success:!0,message:"Created zonal marking assignment"})}}),create_link:xP({description:"Connect 2+ players with a visible line on the pitch. The line follows the players on the timeline — if they move, the line adapts. Use for showing structural relationships, shape integrity, or tactical connections between players.",inputSchema:g7.object({playerIds:g7.array(g7.string()).describe("2+ Player IDs to connect"),name:g7.string().optional().describe('Short label for this link (e.g. "DEF Line", "MID chain")'),description:g7.string().optional().describe("Tactical meaning of this connection (1-2 sentences)"),color:g7.string().default("#ffffff").describe("Hex color"),thickness:g7.number().min(.3).default(.5).describe("Line thickness in meters. Minimum 0.3, default 0.5. Use 0.5-0.8 for tactical lines, never below 0.3 (invisible from broadcast view)."),style:g7.enum(["solid","dashed"]).default("solid"),dashSize:g7.number().default(.5).describe("Dash segment length in meters when dashed"),gapSize:g7.number().default(.25).describe("Gap between dashes in meters"),showDistance:g7.boolean().default(!1).describe("Show distance labels on the link. DEFAULT FALSE — only set true if the user explicitly asks for distance display, otherwise leave unset."),timeline:xq.optional().describe("When this link is visible on the timeline. Omit for always visible."),animation:xK.optional().describe("Entry/exit animation for the link.")}),execute:async e=>{let t=`link-${Date.now()}`,{timeline:n,animation:r,name:i,description:a,...o}=e,l=xJ({id:t,name:i||null,description:a||null,...o,visible:!0},e);return s.usePlayerStore.getState().addLink(l),{success:!0,id:t,message:`Created link${i?` "${i}"`:""}`}}}),create_zone:xP({description:"Create a polygon zone anchored to 3+ players. The zone shape follows the players — if they move on the timeline, the zone adapts. Use for highlighting any area defined by player positions. Striped fill for areas of influence, solid fill for defined zones, outline-only for reference shapes.",inputSchema:g7.object({playerIds:g7.array(g7.string()).describe("3+ Player IDs forming the polygon vertices"),name:g7.string().optional().describe('Short label for this zone (e.g. "Pressing zone", "Packing area")'),description:g7.string().optional().describe("Tactical meaning of this zone (1-2 sentences)"),color:g7.string().default("#4ade80").describe("Fill/outline hex color"),opacity:g7.number().min(0).max(1).default(.3).describe("Fill opacity (0=transparent, 1=opaque). Default 0.3 for subtle shading."),filled:g7.boolean().default(!0).describe("Fill the zone area. Set false for outline-only reference shapes."),striped:g7.boolean().default(!0).describe("Apply diagonal stripe pattern over the fill"),stripeScale:g7.number().default(.12).describe("Stripe density (0.05=dense, 0.4=sparse). Default 0.12."),gradientMode:g7.enum(["attack-axis","center","lateral"]).optional().describe("Optional fill gradient. Omit for flat/striped zones."),outlined:g7.boolean().default(!0).describe("Draw the zone boundary line"),outlineColor:g7.string().optional().describe("Outline color hex. Defaults to fill color if omitted."),dashed:g7.boolean().default(!1).describe("Use dashed outline instead of solid"),thickness:g7.number().default(.12).describe("Outline line thickness"),timeline:xq.optional().describe("When this zone is visible on the timeline. Omit for always visible."),animation:xK.optional().describe("Entry/exit animation for the zone.")}),execute:async e=>{let t=`zone-${Date.now()}`,{timeline:n,animation:r,playerIds:i,name:a,description:o,...l}=e,c=xJ({id:t,name:a||null,description:o||null,config:{color:l.color,opacity:l.opacity,filled:l.filled,striped:!l.gradientMode&&l.striped,stripeScale:l.stripeScale,gradientMode:l.gradientMode,outlined:l.outlined,outlineColor:l.outlineColor,dashed:l.dashed,thickness:l.thickness},playerIds:i,visible:!0},e);return s.usePlayerStore.getState().addZone(c),{success:!0,id:t,message:`Created zone${a?` "${a}"`:""}`}}}),update_link:xP({description:"Update an existing link (player connection). Can change connected players, style, name, description, timeline, or animation.",inputSchema:g7.object({id:g7.string().describe("Link ID to update"),playerIds:g7.array(g7.string()).optional().describe("New set of connected player IDs"),name:g7.string().optional().describe("Updated label"),description:g7.string().optional().describe("Updated tactical meaning"),color:g7.string().optional().describe("Hex color"),thickness:g7.number().min(.3).optional().describe("Line thickness in meters. Minimum 0.3, recommended 0.5-0.8."),style:g7.enum(["solid","dashed"]).optional(),showDistance:g7.boolean().optional().describe("Show distance labels. Only set true if the user explicitly asks."),timeline:xq.optional().describe("Updated visibility window"),animation:xK.optional().describe("Updated animation")}),execute:async e=>{let{id:t,timeline:n,animation:r,...i}=e;return n&&(i.startTime=n.startTime,i.endTime=n.endTime),r&&(i.animation={entrance:r.entrance||"n
44one",exit:r.exit||"none",entranceDuration:.3,exitDuration:.3}),s.usePlayerStore.getState().updateLink(t,i),{success:!0,message:`Updated link ${t}`}}}),delete_link:xP({description:"Remove a link (player connection) from the scene.",inputSchema:g7.object({id:g7.string().describe("Link ID to remove")}),execute:async e=>(s.usePlayerStore.getState().removeLink(e.id),{success:!0,message:`Deleted link ${e.id}`})}),update_zone:xP({description:"Update an existing zone. Can change anchored players, style, name, description, timeline, or animation.",inputSchema:g7.object({id:g7.string().describe("Zone ID to update"),playerIds:g7.array(g7.string()).optional().describe("New set of anchor player IDs"),name:g7.string().optional().describe("Updated label"),description:g7.string().optional().describe("Updated tactical meaning"),color:g7.string().optional().describe("Fill/outline hex color"),opacity:g7.number().min(0).max(1).optional(),filled:g7.boolean().optional(),striped:g7.boolean().optional(),gradientMode:g7.enum(["attack-axis","center","lateral"]).optional(),outlined:g7.boolean().optional(),dashed:g7.boolean().optional(),timeline:xq.optional().describe("Updated visibility window"),animation:xK.optional().describe("Updated animation")}),execute:async e=>{let{id:t,timeline:n,animation:r,playerIds:i,name:a,description:o,...l}=e,c={};return i&&(c.playerIds=i),void 0!==a&&(c.name=a),void 0!==o&&(c.description=o),Object.keys(l).length>0&&(l.gradientMode&&(l.striped=!1),c.config=l),n&&(c.startTime=n.startTime,c.endTime=n.endTime),r&&(c.animation={entrance:r.entrance||"none",exit:r.exit||"none",entranceDuration:.3,exitDuration:.3}),s.usePlayerStore.getState().updateZone(t,c),{success:!0,message:`Updated zone ${t}`}}}),delete_zone:xP({description:"Remove a zone from the scene.",inputSchema:g7.object({id:g7.string().describe("Zone ID to remove")}),execute:async e=>(s.usePlayerStore.getState().removeZone(e.id),{success:!0,message:`Deleted zone ${e.id}`})}),delete_marking:xP({description:"Remove a man-marking or zonal-marking assignment from a player.",inputSchema:g7.object({markerTeam:g7.enum(["A","B"]).describe("Team of the marking player"),markerId:g7.string().describe("ID of the player whose marking to remove")}),execute:async e=>(s.usePlayerStore.getState().clearMarking(e.markerTeam,e.markerId),{success:!0,message:`Removed marking from ${e.markerId}`})}),create_annotation:xP({description:`Create a visual overlay on the 3D pitch. All dimensions are in meters.
45Types: arrow (directional indicator), textwindow (markdown explanation panel), text (ground label), rectangle (area highlight), circle (influence zone), pencil (freehand path).
46Use timeline to control when overlays appear/disappear during playback. Use animation for entrance/exit effects.`,inputSchema:g7.object({type:xX,name:g7.string().optional(),description:g7.string().optional().describe("Purpose of this annotation in the scene"),position:xY.optional(),config:x0.optional(),timeline:xq.optional().describe("When this overlay appears/disappears on the timeline. Omit for always visible."),animation:xK.optional().describe("Entry/exit animation. Omit for instant appear/disappear.")}),execute:async e=>{let t=m.useAnnotationStore.getState(),n={...e};n.position&&(n.position=xF(n.position));let r=x7(x9(n,t.textWindowConfig),e);return"textwindow"===r.type&&r.config?.content?.length>640?(t.addAnnotation(r),{success:!0,id:r.id,warning:`Content is ${r.config.content.length} chars — consider splitting into multiple panels for readability.`,message:`Created ${r.type} annotation`}):(t.addAnnotation(r),{success:!0,id:r.id,message:`Created ${r.type} annotation`})}}),create_curved_arrow_annotation:xP({description:"Create a curved Bezier arrow visual overlay on the 3D pitch. Use when the user asks for a curved, arced, bent, rounded, or non-straight annotation arrow.",inputSchema:x5,execute:async e=>{let t=m.useAnnotationStore.getState(),n=x7(x9({type:"arrow",name:e.name,description:e.description,position:xF(e.startPosition),config:{color:e.color,opacity:e.opacity,thickness:e.thickness,dashed:e.dashed,dashScale:e.dashScale,headSize:e.headSize,arrowType:e.arrowType,endPosition:xF(e.endPosition),pathType:"bezier",curveBend:e.curveBend}},t.textWindowConfig),e);return t.addAnnotation(n),{success:!0,id:n.id,message:"Created curved arrow annotation"}}}),create_annotations:xP({description:"Create multiple visual overlays in one batch call. Eac
46h annotation can have its own timeline window and animation. All dimensions in meters. Set groupId on each annotation to assign to an existing group at creation time (avoids separate assign_annotation_to_group calls).",inputSchema:g7.object({annotations:g7.array(g7.object({type:xX,name:g7.string().optional(),description:g7.string().optional().describe("Purpose of this annotation in the scene"),groupId:g7.string().optional().describe("Assign to this group at creation time"),position:xY.optional(),config:x0.optional(),timeline:xq.optional(),animation:xK.optional()}))}),execute:async e=>{let t=m.useAnnotationStore.getState(),n=[];for(let r=0;r<e.annotations.length;r+=1){let i={...e.annotations[r]};i.position&&(i.position=xF(i.position));let a=x7(x9(i,t.textWindowConfig),e.annotations[r]||{});if(i.groupId){let e=m.useAnnotationStore.getState().groups,t=e.find(e=>e.id===i.groupId);if(t)a.groupId=t.id;else{let t=e.find(e=>e.name&&e.name.toLowerCase()===i.groupId.toLowerCase());if(t)a.groupId=t.id;else{let t=e[e.length-1];t&&(a.groupId=t.id)}}}t.addAnnotation(a),n.push(a.id)}return{success:!0,ids:n,message:`Created ${n.length} annotations${e.annotations[0]?.groupId?` in group ${e.annotations[0].groupId}`:""}`}}}),update_annotations:xP({description:"Batch update annotations by id. Handles moves, style, shape resize, arrow endpoints, and textwindow config.",inputSchema:g7.object({updates:g7.array(x4).min(1)}),execute:async e=>{let t=m.useAnnotationStore.getState(),n={},r=[];for(let i of e.updates){let e=t.annotations.find(e=>e.id===i.id);if(!e){r.push(i.id);continue}n[i.id]=be(e,i.updates)}return Object.keys(n).length>0&&t.updateMultipleAnnotations(n),{success:0===r.length,updatedCount:Object.keys(n).length,missingIds:r,message:0===r.length?`Updated ${Object.keys(n).length} annotations`:`Updated ${Object.keys(n).length} annotations, ${r.length} missing`}}}),create_annotation_group:xP({description:"Create an annotation group/layer and return its id.",inputSchema:g7.object({name:g7.string().optional(),description:g7.string().optional().describe("Purpose of this annotation group")}),execute:async e=>{let t=m.useAnnotationStore.getState().createGroup(e.name||"New Group",{description:e.description||null});return{success:!0,id:t,message:`Created group ${t}`}}}),update_annotation_group:xP({description:"Update annotation group name/visibility/collapse state.",inputSchema:g7.object({id:g7.string(),name:g7.string().optional(),description:g7.string().optional().describe("Purpose of this annotation group"),visible:g7.boolean().optional(),isCollapsed:g7.boolean().optional()}),execute:async e=>{let t=m.useAnnotationStore.getState(),n={};return(void 0!==e.name&&(n.name=e.name),void 0!==e.description&&(n.description=e.description),void 0!==e.visible&&(n.visible=e.visible),void 0!==e.isCollapsed&&(n.isCollapsed=e.isCollapsed),0===Object.keys(n).length)?{success:!1,error:"No updates provided"}:(t.updateGroup(e.id,n),{success:!0,message:`Updated group ${e.id}`})}}),assign_annotation_to_group:xP({description:"Assign an annotation to a layer/group. Annotations in a group can be toggled visible/hidden together. Omit groupId to unassign.",inputSchema:g7.object({annotationId:g7.string(),groupId:g7.string().optional().describe("Group ID. Omit to unassign from any group.")}),execute:async e=>{let t=e.groupId??null;if(t){let e=m.useAnnotationStore.getState().groups;if(!e.find(e=>e.id===t)){let n=e.find(e=>e.name&&e.name.toLowerCase()===t.toLowerCase());if(n)t=n.id;else{let n=e[e.length-1];n&&(t=n.id)}}}return m.useAnnotationStore.getState().setAnnotationGroup(e.annotationId,t),{success:!0,message:`Updated group mapping for annotation ${e.annotationId}`}}}),add_player_movement:xP({description:"Add a direct/default movement segment for a player. The player runs from their current position (or end of previous movement) to the target position. Use add_curved_player_movement when the requested run is arced, overlapping, rounded, or should visibly bend. The movement is interpolated on the timeline — other tools (pass_ball, carry_ball) use the player's interpolated position at any given time. Combine with carry_ball for dribbling or pass_ball for the ball to move separately.",inputSchema:x1,execute:async e=>bt(e)}),add_curved_player_movement:xP({description:"Add a curved Bezier movement segment for a player. Use for overlapping runs, arced decoy runs, curved recovery runs, rounded supp
46ort movement, and any non-direct player movement. The tool always stores type='bezier' with a control point and curveBend.",inputSchema:x2,execute:async e=>bt(e,{pathType:"bezier"})}),remove_player_movement:xP({description:"Remove a specific movement segment by its ID. Use PITCH_STATE to find segment IDs.",inputSchema:g7.object({team:g7.enum(["A","B"]),playerId:g7.string(),keyframeId:g7.string().describe("Movement segment ID to remove")}),execute:async e=>(s.usePlayerStore.getState().removeMovementSegment(e.team,e.playerId,e.keyframeId),{success:!0,message:`Removed movement segment ${e.keyframeId}`})}),clear_player_movements:xP({description:"Remove ALL movement segments for a player, resetting them to their static position. Use before rebuilding a player's entire run sequence.",inputSchema:g7.object({team:g7.enum(["A","B"]),playerId:g7.string()}),execute:async e=>(s.usePlayerStore.getState().updatePlayerDetails(e.team,e.playerId,{movements:[]}),{success:!0,message:`Cleared all movements for player ${e.playerId}`})}),carry_ball:xP({description:`Assign initial ball possession to a player. Use this ONCE at the start of a ball sequence to set who has the ball. The ball instantly appears with the selected player at startTime and then follows the player's movements on the timeline.
47
48Do NOT create a fetch run just to collect the ball before a new play. carry_ball already places possession with the player.
49
50After carry_ball, use pass_ball to transfer — pass_ball automatically ends this carry and starts the receiver's possession. Do NOT call carry_ball again after a pass_ball; the receiver already has possession.
51
52Typical flow: carry_ball(startTime:0) → add_player_movement → pass_ball → (receiver auto-possesses)`,inputSchema:g7.object({team:g7.enum(["A","B"]).describe("Team of the ball carrier"),playerId:g7.string().describe("Player ID who will carry the ball"),description:g7.string().optional().describe('Intent of this possession (e.g. "Initial carry before the through ball")'),startTime:g7.number().min(0).describe("When player receives/starts carrying the ball (seconds)"),endTime:g7.number().optional().describe("When player releases the ball (default: continues until next action)")}),execute:async e=>{let{team:t,playerId:n,startTime:r,endTime:i}=e,a=s.usePlayerStore.getState(),o=("A"===t?[...a.teamAPlayers,...a.teamASubs]:[...a.teamBPlayers,...a.teamBSubs]).find(e=>e.id===n);if(!o)return{success:!1,error:`Player ${n} not found on Team ${t}`};let l={team:t,playerId:n,startTime:r,endTime:i||r+60,source:"carry",description:e.description||null},c=a.ballState?.possessionSegments||[];return(0,iA.hasEquivalentPossessionSegment)(c,l)?{success:!0,message:`${o.name||n} already carries the ball from ${r}s`}:(a.addPossessionSegment(t,n,l),{success:!0,message:`${o.name||n} now carries the ball from ${r}s${i?` to ${i}s`:""}`})}}),pass_ball:xP({description:`Create a ball trajectory from one player to another. Automatically ends the passer's possession, draws the visible ball path, and starts the receiver's possession on arrival.
53
54Pass types control the visual trajectory:
55- ground: fast low arc (0.3m) — short pass, one-two, back pass, through ball on ground
56- air: medium arc (3m) — long ball, switch of play, cross, diagonal
57- chip: high slow arc (6m) — lob over defense, goalkeeper chip
58- shot: fastest low arc (1.5m) — shot on goal, clearance, long kick
59
60Set receiverTeam different from passerTeam for interceptions or goalkeeper distribution to opposition.`,inputSchema:g7.object({passerTeam:g7.enum(["A","B"]).describe("Team of the passer"),passerId:g7.string().describe("Player ID making the pass"),receiverTeam:g7.enum(["A","B"]).describe("Team of the receiver (usually same as passer)"),receiverId:g7.string().describe("Player ID receiving the pass"),name:g7.string().optional().describe('Short label for this pass (e.g. "Line-breaking pass", "Switch of play")'),description:g7.string().optional().describe('Tactical meaning (e.g. "Ground pass through 3 opponents from Robert to Leroy")'),time:g7.number().min(0).describe("When the pass is made (seconds on timeline)"),passType:g7.enum(["ground","air","chip","shot"]).default("ground").describe("Type of pass affecting trajectory"),targetPosition:g7.object({x:g7.number().min(-52.5).max(52.5),z:g7.number().min(-34).max(34)}).optional().describe("Override target position (default: receiver position at time of arrival)")}),execute:async e=>{let{passerTeam:t,passerId:n,receiverTeam:r,receiverId:i,time:a,passType:o,targetPosition:l}=e,c=s.usePlayerStore.getState(),u="shot"===o,d=("A"===t?[...c.teamAPlayers,...c.teamASubs]:[...c.teamBPlayers,...c.teamBSubs]).find(e=>e.id===n);if(!d)return{success:!1,error:`Passer ${n} not found on Team ${t}`};let m=("A"===r?[...c.teamAPlayers,...c.teamASubs]:[...c.teamBPlayers,...c.teamBSubs]).find(e=>e.id===i);if(!m)return{success:!1,error:`Receiver ${i} not found on Team ${r}`};let p=(0,iT.calculateAnimatedPosition)(d,a),h=p?.position?{x:p.position.x,z:p.position.z}:{x:d.position[0],z:d.position[2]},f=(0,iA.getBallCarryPosition)(h,d.rotation),g={x:f[0],z:f[2]},x=(0,iT.calculateAnimatedPosition)(m,a),b=x?.position?{x:x.position.x,z:x.position.z}:{x:m.position[0],z:m.position[2]},y=l?xF(l):{x:b.x,z:b.z},v=Math.sqrt(Math.pow(y.x-g.x,2)+Math.pow(y.z-g.z,2)),w={ground:{speed:15,arc:.3},air:{speed:12,arc:3},chip:{speed:8,arc:6},shot:{speed:25,arc:1.5}}[o||"ground"],_=v/w.speed,k=a+_,S=(0,iI.makeEntityId)("pass"),j=[];if(!u)for(let e of c.ballState?.trajectories||[])e.metadata?.passer?.id===i&&e.startTime<k&&e.startTime>a&&j.push(`${m.name||i} has an action at T=${e.startTime.toFixed(1)} but this pass arrives at T=${k.toFixed(2)}`);c.setBallTrajectory({id:S,type:"shot"===o?"shot":`${o||"ground"}_pass`,name:e.name||null,description:e.description||null,startPos:[g.x,.2,g.z],endPos:[y.x,.2,y.z],startTime:a,endTime:k,physics:{arc:w.arc,speed:w.speed,spin:[0,0,0]},metadata:{passer:{team:t,id:n},receiver:u?null:{team:r,id:i}}}),c.clearBallPossession();let $={success:!0,message:u?`${d.name||n} shoots (${v.toFixed(1)}m, ${_.toFixed(2)}s)`:`${d.name||n} passes to ${m.name||i} (${o||"ground"}, ${v.toFixed(1)}m, ${_.toFixed(2)}s)`,passDetails:{distance:v.toFixed(1),duration:_.toFixed(2),arcHeight:w.arc,arrivalTime:k.toFixed(2)}};if(j.length>0&&($.warning=`TIMING CONFLICT: ${j.join(". ")}. The ball will not have arrived yet. Consider adjusting timing.`),!u)try{let e=[...c.teamAPlayers,...c.teamASubs,...c.teamBPlayers,...c.teamBSubs].filter(e=>e.id!==n&&e.id!==i).map(e=>({id:e.id,name:e.name,team:e.team||(c.teamAPlayers.includes(e)||c.teamASubs.includes(e)?"A":"B"),number:e.number,x:e.position?.[0]??0,z:e.position?.[2]??0})),r=sc(e,g,y,3,null),a=sc(e,g,y,6,null);if(r.count>0){let e=r.players.map(e=>
60{let n=e.team===t?"TEAMMATE":"OPPONENT";return`${n} ${e.team}:#${e.number} ${e.name} at (${e.x},${e.z}), ${e.perpDistance}m from lane`});$.interception_warning={detected:!0,severity:"block",blockerCount:r.count,blockers:e,message:`⚠️ BLOCKED: ${e.join("; ")}. The 3D render WILL give possession to this player before the ball reaches the receiver. Call reset_ball_state and recreate with an adjusted angle, or reposition the obstructing player first.`},$.message+=` ⚠️ ${r.count} player(s) blocking the trajectory!`}else if(a.count>0){let e=a.players.map(e=>{let n=e.team===t?"teammate":"opponent";return`${n} ${e.team}:#${e.number} ${e.name} (${e.perpDistance}m from lane)`});$.interception_warning={detected:!0,severity:"near_miss",blockerCount:a.count,blockers:e,message:`⚠️ NEAR MISS: ${e.join("; ")} within 6m of trajectory. The 3D render may intercept. Consider adjusting the pass angle.`},$.message+=` ⚠️ ${a.count} player(s) near trajectory.`}}catch(e){console.warn("[pass_ball] Trajectory obstruction check failed:",e.message)}return $}}),reset_ball_state:xP({description:"Clear all ball trajectories, possession segments, and reset ball state. Use before rebuilding a ball sequence from scratch when correcting an existing scene.",inputSchema:g7.object({}),execute:async()=>(s.usePlayerStore.getState().clearBallPossession(),s.usePlayerStore.setState(e=>({ballState:{...e.ballState,trajectories:[],possessionSegments:[],possession:null,velocity:[0,0,0],isMoving:!1,lastTouch:null},ballPossession:null})),{success:!0,message:"Ball state reset — all trajectories and possession cleared"})}),delete_annotation:xP({description:"Remove a specific annotation (text, shape, arrow) by ID.",inputSchema:g7.object({id:g7.string().describe("Annotation ID")}),execute:async e=>(m.useAnnotationStore.getState().removeAnnotation(e.id),{success:!0,message:`Deleted annotation ${e.id}`})}),delete_annotation_group:xP({description:"Delete an entire group of annotations.",inputSchema:g7.object({id:g7.string().describe("Group ID")}),execute:async e=>(m.useAnnotationStore.getState().deleteGroup(e.id),{success:!0,message:"Deleted group"})}),get_current_date:xP({description:"Get the current date and time. Use this to validate freshness of web search results or contextualize analysis.",inputSchema:g7.object({}),execute:async()=>{let e=new Date;return{success:!0,date:e.toISOString(),readable:e.toLocaleString()}}}),search_web:xP({description:"Search the web for real-time information. Use this to find player stats, team news, or tactical trends.",inputSchema:g7.object({query:g7.string().describe("The search query")}),execute:async e=>{let t=await fetch("/api/agent/search",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({query:e.query,spendContext:xM()})});return t.ok?{success:!0,message:(await t.json()).result||"No results found"}:{success:!1,message:"Failed to search web"}}}),save_artifact:xP({description:'Save an educational artifact/explanation as markdown. Use this to persist tactical analysis or "The Answer" to the user\'s question.',inputSchema:g7.object({content:g7.string().describe("Markdown content explaining the scene"),title:g7.string().describe("Title for the artifact"),description:g7.string().optional().describe("Brief summary of the artifact content")}),execute:async t=>{let{useAgentStore:n}=await e.A(148683),r=`art-${Date.now()}`;return n.getState().addArtifact({id:r,title:t.title,description:t.description||null,content:(t.content||"").replace(/\\n
60/g,"\n"),createdAt:Date.now()}),{success:!0,message:"Artifact saved",artifactId:r,artifactTitle:t.title}}}),analyze_live_footage:xP({description:`Analyze the most recently uploaded football broadcast screenshot to detect player positions.
61Uses Gemini vision with code execution to:
62- Identify visible players and their approximate field positions
63- Detect team colors (with hex codes) and formations
64- Transform 2D image coordinates to 3D field coordinates (105m x 68m, centered at origin)
65- Estimate camera position for reference without changing the current 3D camera
66- Make educated guesses for off-screen players based on tactical context
67
68IMPORTANT: This tool automatically uses the most recent image from the conversation. The user must have uploaded an image first.
69
70RETURNS: { analysis (with teamAHex, teamBHex), cameraEstimate, visiblePlayers[], inferredPlayers[], ballPosition, formationGuess }
71
72After receiving results:
731. Call update_team_info to set team colors and names
742. Call update_team_players with ALL players from BOTH teams
753. Preserve the user's current 3D camera/view unless they explicitly ask to change it
76
77Coordinate system: Field 105m x 68m, centered at (0,0).
78X: -52.5 to +52.5 (length, Team A attacks +X), Z: -34 to +34 (width).
79Team-relative flanks: Team A right=+Z left=-Z; Team B right=-Z left=+Z.`,inputSchema:g7.object({additionalContext:g7.string().optional().describe("Optional context about the match, teams, or what to focus on")}),execute:async t=>{try{let{useAgentStore:n}=await e.A(148683),r=n.getState().messages,i=xL(r);if(!i)return{success:!1,error:"No image found in recent messages. Please upload a football broadcast screenshot first."};let a=await fetch("/api/agent/vision",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({imageBase64:i.base64,mimeType:i.mimeType,additionalContext:t.additionalContext,spendContext:xM()})});if(!a.ok){let e=await a.json();return{success:!1,error:e.message||"Vision analysis failed"}}let o=await a.json();if(!o.analysis)return{success:!0,warning:"Could not parse structured analysis",rawAnalysis:o.rawText,executedCode:o.executedCode,codeResults:o.codeResults};let s=e=>{let t,n;return e&&"number"==typeof e.x&&"number"==typeof e.z?{x:(t=e.x,Math.max(-52.5,Math.min(52.5,t))),z:(n=e.z,Math.max(-34,Math.min(34,n)))}:e};o.analysis.visiblePlayers&&(o.analysis.visiblePlayers=o.analysis.visiblePlayers.map(e=>({...e,position:s(e.position)})).filter(e=>{let t=e.position;return t&&52.5>=Math.abs(t.x)&&34>=Math.abs(t.z)})),o.analysis.inferredPlayers&&(o.analysis.inferredPlayers=o.analysis.inferredPlayers.map(e=>({...e,position:s(e.position)}))),o.analysis.ballPosition&&(o.analysis.ballPosition=s(o.analysis.ballPosition));let l=null;return o.codeResults&&o.codeResults.some(e=>e.includes("np.float64")&&(e.includes("-8")||e.includes("9")||e.includes("22")))&&(l="Code execution may have produced inaccurate coordinates. Visual estimation was used as fallback."),{success:!0,...o.analysis,executedCode:o.executedCode,codeResults:o.codeResults,...l&&{coordinateWarning:l}}}catch(e){return{success:!1,error:e.message}}}}),update_team_info:xP({description:"Update team name and/or color. Use after analyzing broadcast footage to match 3D view colors to actual team jerseys.",inputSchema:g7.object({team:g7.enum(["A","B"]).describe("Team to update"),name:g7.string().optional().describe('Team name (e.g., "LOSC Lille")'),color:g7.string().optional().describe('Hex color for team jersey (e.g., "#ff3e3e" for red)')}),execute:async e=>{let{team:t,name:n,color:r}=e,i={};return(n&&(i.name=n),r&&(i.color=r),0===Object.keys(i).length)?{success:!1,message:"No updates provided"}:(s.usePlayerStore.getState().updateTeamInfo(t,i),{success:!0,message:`Updated Team ${t}: ${JSON.stringify(i)}`})}}),set_camera_to_broadcast_angle:xP({description:"Set the 3D camera position and angle to match a broadcast screenshot perspective. Use after analyzing footage to enable visual comparison. User can still navigate freely after.",inputSchema:g7.object({position:g7.object({x:g7.number().describe("Camera X position"),y:g7.number().describe("Camera Y position (height)"),z:g7.number().describe("Camera Z position")}).describe("Camera position in 3D space"),target:g7.object({x:g7.number().describe("Look-at X target"),y:g7.number().describe("Look-at Y target"),z:g7.number().describe("Look-at Z target")}).optional().describe("Point the camera looks at (default: field center)"),fov:g7.number().optional().describe("Field of view in degrees (default 50)")}),execute:async t=>{let{useCameraStore:n}=await e.A(362499),r=n.getState();return r.setActive("3D"),r.setPosition([t.position.x,t.position.y,t.position.z]),t.target?r.setTarget([t.target.x,t.target.y,t.target.z]):r.setTarget([0,0,0]),t.fov&&r.setFov(t.fov),r.triggerCameraUpdate&&r.triggerCameraUpdate(),{success:!0,message:`Camera set to broadcast angle. Position: [${t.position.x}, ${t.position.y}, ${t.position.z}]`}}}),capture_scene_screenshot:xP({description:`Capture a screenshot of the current 3D field view.
80
81MANDATORY after scene reconstruction from broadcast:
821. Call with purpose='verification' after update_team_players
832. Compare mentally with original broadcast
843. Check: player positions, team orientation, formation shape
854. If issues found, fix with ONE update_team_players call`,inputSchema:g7.object({purpose:g7.enum(["verification","debug","export"]).default("verification").describe("Why: verification (compare to broadcast), debug (troubleshoot), export (save)"),compare:g7.boolean().optional().describe("If true, indicates comparing with original image")}),execute:async e=>{let{purpose:t="verification"}=e;try{let e=document.querySelector("canvas");if(!e)return{success:!1,error:"No canvas found - 3D view may not be loaded"};let n=e.toDataURL("image/png").split(",")[1];return{success:!0,screenshotBase64:n,mimeType:"image/png",purpose:t,message:({verification:"Screenshot captured. Compare with original broadcast to verify accuracy.",debug:"Debug screenshot captured. Inspect player positions.",export:"Screenshot exported for user."})[t]}}catch(e){return{success:!1,error:e.message}}}}),check_camera_angle:xP({description:`Analyze the latest broadcast image for camera suitability AND extract full broadcast context.
86
87Returns:
88- Camera position/direction/zoom suitability for CV analysis
89- score_panel: team names, score, match time from the broadcast overlay
90- jerseys: lighter/darker team descriptions, hex estimates, foundation-model kit guesses
91- game_context: direction of play, phase, ball region, tactical observation
92- team_identity_guess: pre-computed mapping of scoreboard names to jersey colors with confidence
93
94Use this BEFORE analyze_live_footage_cv. The team_identity_guess is your FIRST source
95of truth for team identification. Only fall back to search_web if identity_confidence < 0.6.`,inputSchema:g7.object({}),execute:async()=>{try{xB=null;let{useAgentStore:t}=await e.A(148683),n=t.getState().messages,r=xL(n);if(!r)return{success:!1,error:"No image found. Please upload a broadcast screenshot first."};let i=await fetch("/api/agent/check-camera-angle",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({imageBase64:r.base64,mimeType:r.mimeType,spendContext:xM()})}),a=await i.json();if(xR=a,!a.suitable)return{success:!1,suitable:!1,camera:a.camera||null,reason:a.camera?.reason||a.reason,score_panel:a.score_panel||null,jerseys:a.jerseys||null,game_context:a.game_context||null,team_identity_guess:a.team_identity_guess||null,message:`Camera angle not suitable for CV analysis. ${a.camera?.reason||a.reason||""}`,suggestion:"Upload a centered broadcast screenshot from the main TV camera."};return{success:!0,suitable:!0,camera:a.camera||null,score_panel:a.score_panel||null,jerseys:a.jerseys||null,game_context:a.game_context||null,team_identity_guess:a.team_identity_guess||null,check_time_ms:a.check_time_ms,message:"Camera angle suitable. Broadcast context extracted."}}catch(e){return console.error("[check_camera_angle] Error:",e),{success:!1,error:e.message,message:"Camera angle check failed. You can still try analyze_live_footage_cv."}}}}),analyze_live_footage_cv:xP({description:`Analyze the latest uploaded football broadcast using the CV service (YOLO + OpenCV).
96
97Returns mapped field positions, team colors, and a camera estimate.
98The camera estimate is metadata only; broadcast reconstruction preserves the current 3D camera.
99This caches the full reconstruction payload. After this succeeds, call apply_broadcast_cv_reconstruction
100with optionName "auto", "asDetected", or "swapped" instead of copying player updates into update_team_players.`,inputSchema:g7.object({additionalContext:g7.string().optional().describe("Optional context about the match")}),execute:async()=>{try{let{useAgentStore:t}=await e.A(148683),n=t.getState().messages,r=xL(n);if(!r)return{success:!1,error:"No image found in recent messages. Please upload a broadcast screenshot first."};let i=await fetch("/api/agent/vision-cv",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({image:r.base64,mimeType:r.mimeType,spendContext:xM()})});if(!i.ok){let e=await i.json();if(503===i.status)return{success:!1,error:"CV service is not running.",instructions:"Start the service: cd cv-service && pip install -r requirements.txt && python server.py",fallback:"Use analyze_live_footage as fallback if CV is unavailable."};if(422===i.status)return{success:!1,error:e.message||e.error||"CV returned no usable detections.",cvMetadata:e.cvMetadata||null,warnings:e.warnings||[]};return{success:!1,error:e.message||e.error||"CV analysis failed"}}let a=await i.json();if(!a.success)return{success:!1,error:a.error||"CV analysis returned no results"};let o=a.analysis?.visiblePlayers||[],l=Number(a.cvMetadata?.keypoints_detected||0);if(0===o.length&&0===l)return{success:!1,error:"CV returned no player detections or field keypoints. Reconstruction blocked to avoid generating estimated positions as real detections.",cvMetadata:a.cvMetadata||null,warnings:a.warnings||[]};let c=s.usePlayerStore.getState(),u=c.teamAPlayers.map(e=>e.id),d=c.teamBPlayers.map(e=>e.id),m=function({visiblePlayers:e=[],sceneTeamAPlayers:t=null,sceneTeamBPlayers:n=null,sceneTeamAIds:r=[],sceneTeamBIds:i=[],ball:a=null}={}){let o=e||[];if(!o.length)return{asDetected:xA("asDetected",{A:"A",B:"B"}),swapped:xA("swapped",{A:"B",B:"A"})};let s=function({sceneTeamAPlayers:e,sceneTeamBPlayers:t,sceneTeamAIds:n,sceneTeamBIds:r}){return{teamA:(e||n||[]).map((e,t)=>xs(e,"A",t)).filter(e=>e.id),teamB:(t||r||[]).map((e,t)=>xs(e,"B",t)).filter(e=>e.id)}}({sceneTeamAPlayers:t,sceneTeamBPlayers:n,sceneTeamAIds:r,sceneTeamBIds:i});return{asDetected:xT({name:"asDetected",cvTeamMap:{A:"A",B:"B"},visiblePlayers:o,scenePlayers:s,ball:a}),swapped:xT({name:"swapped",cvTeamMap:{A:"B",B:"A"},visiblePlayers:o,scenePlayers:s,ball:a})}}({visiblePlayers:o,sceneTeamAPlayers:c.teamAPlayers,sceneTeamBPlayers:c.teamBPlayers,sceneTeamAIds:u,sceneTeamBIds:d,ball:a.analysis?.ball||null});return xB={visiblePlayers:o,teamAHex:a.analysis?.teamAHex,teamBHex:a.analysis?.teamBHex,ball:a.analysis?.ball||null,cameraEstimate:a.analysis?.cameraEstimate,sceneUpdateOptions:m,cvMetadata:a.cvMetadata,homographyQuality:a.analysis?.homographyQuality||a.cvMetadata?.homography_quality||null},{success:!0,detectionMethod:a.cvMetadata?.homography_computed?"homography":"zone_estimation",playerCount:a.analysis?.playerCount,visiblePlayers:function(e=[]){let t=e.reduce((e,t)=>
100{let n=t?.cvTeam==="B"?"B":"A";return e[n]=(e[n]||0)+1,e},{A:0,B:0});return{count:e.length,byCvTeam:t,sample:e.slice(0,8).map(e=>({cvPlayerId:String(e.cvPlayerId),cvTeam:e.cvTeam,role:e.role,position:e.position,confidence:e.confidence,jerseyColorHex:e.jerseyColorHex||null}))}}(o),teamAHex:a.analysis?.teamAHex,teamBHex:a.analysis?.teamBHex,teamColorHint:a.analysis?.teamColorHint,ball:a.analysis?.ball||null,cameraEstimate:a.analysis?.cameraEstimate,homographyQuality:a.analysis?.homographyQuality||a.cvMetadata?.homography_quality||null,referees:a.analysis?.referees||a.cvMetadata?.referees||[],unknownOfficials:a.analysis?.unknownOfficials||a.cvMetadata?.unknown_officials||[],cvMetadata:a.cvMetadata,availablePlayerIds:{sceneTeamA:u,sceneTeamB:d},sceneUpdateOptions:{asDetected:xG(m?.asDetected),swapped:xG(m?.swapped)},recommendedSequence:["Use team_identity_guess from check_camera_angle (Tier 1) to map CV teams to real teams",'Choose optionName "auto", "asDetected", or "swapped" based on that team mapping',"Call apply_broadcast_cv_reconstruction once. It applies team info, player updates, and ball carrier from the cached CV payload while preserving the current camera."],caution:`CRITICAL RULES:
1011. Use the team_identity_guess from check_camera_angle to identify which CV team is which real team. Match the lighter/darker labels from team_identity_guess against teamColorHint. Only call search_web if identity_confidence < 0.6.
1022. CV Team A is NOT necessarily scene Team A. Choose optionName="asDetected" when CV A=scene A and CV B=scene B; choose optionName="swapped" when CV A=scene B and CV B=scene A. Use optionName="auto" if the camera check identity mapping is clear.
1033. score_panel.team_left_name = scene Team A, score_panel.team_right_name = scene Team B.
1044. Do NOT call update_team_players with copied CV arrays after this tool. The full arrays are cached for apply_broadcast_cv_reconstruction.
1055. If homographyQuality.status is not success, state that reconstruction is approximate instead of inventing precision.`,warnings:a.warnings||[]}}catch(e){return console.error("[analyze_live_footage_cv] Error:",e),{success:!1,error:e.message,hint:"Make sure the CV service is running: cd cv-service && python server.py"}}}}),apply_broadcast_cv_reconstruction:xP({description:`Apply the most recent successful analyze_live_footage_cv result to the scene.
106
107Use this after analyze_live_footage_cv. It applies the cached selected scene update option,
108updates team names/colors when available, preserves the current 3D camera, and assigns the recommended ball carrier.
109Prefer optionName "auto" unless the check_camera_angle identity mapping clearly requires "asDetected" or "swapped".`,inputSchema:g7.object({optionName:g7.enum(["auto","asDetected","swapped"]).default("auto").describe("Which cached CV-to-scene mapping to apply. auto uses the camera check team identity guess."),teamAName:g7.string().optional().describe("Optional scene Team A name, usually score_panel.team_left_name"),teamBName:g7.string().optional().describe("Optional scene Team B name, usually score_panel.team_right_name"),teamAColor:g7.string().optional().describe("Optional scene Team A jersey hex override"),teamBColor:g7.string().optional().describe("Optional scene Team B jersey hex override"),carryBall:g7.boolean().default(!0).describe("Assign the recommended ball carrier if CV found a ball")}),execute:async e=>xV(e)})};function br(e){return Array.isArray(e)?e[0]??0:e?.x??0}function bi(e){return Array.isArray(e)?e[2]??0:e?.z??0}function ba(e,t){let n=br(e)-br(t),r=bi(e)-bi(t);return Math.sqrt(n*n+r*r)}function bo(){let e=s.usePlayerStore.getState(),t=m.useAnnotationStore.getState(),n=[...function(e){let t=[],n=e.ballState?.trajectories||[];e.ballState?.possessionSegments;let r=[...e.teamAPlayers||[],...e.teamBPlayers||[]];for(let e of n){let i=e.metadata||{};if(!i.receiver||!i.receiver.id)continue;let a=e.endTime;if(null==a)continue;let o=e.startTime;if(null==o)continue;let s=r.find(e=>e.id===i.receiver.id);if(s&&s.movements){for(let e of s.movements)if(null!=e.startTime&&e.startTime<a&&null!=e.endTime&&e.endTime>a)continue;for(let r of n){let n=r.metadata||{};n.passer?.id===i.receiver.id&&null!=r.startTime&&r.startTime>
109o&&r.startTime<a&&t.push({type:"TIMELINE_CONFLICT",severity:"error",message:`Player ${i.receiver.id} initiates a pass/shot at T=${r.startTime.toFixed(1)} but incoming pass arrives at T=${a.toFixed(1)}`,fix_hint:`Adjust the outgoing action time to T≥${a.toFixed(1)} or adjust incoming pass timing`,affected:[i.receiver.id,e.id||"trajectory"]})}}}return t}(e),...function(e){let t=[];for(let n of[...e.teamAPlayers||[],...e.teamBPlayers||[]]){if(!n.movements||n.movements.length<2)continue;let e=[...n.movements].sort((e,t)=>(e.startTime??0)-(t.startTime??0));for(let r=0;r<e.length-1;r++){let i=e[r],a=e[r+1];null!=i.endTime&&null!=a.startTime&&a.startTime<i.endTime&&t.push({type:"MOVEMENT_OVERLAP",severity:"error",message:`Player ${n.id} (#${n.number}) has overlapping movements: T=${(i.startTime??0).toFixed(1)}-${i.endTime.toFixed(1)} overlaps with T=${a.startTime.toFixed(1)}-${a.endTime??"?"}`,fix_hint:`Adjust movement start time to T≥${i.endTime.toFixed(1)}`,affected:[n.id]})}}return t}(e)];return{valid:0===n.length,errors:n,warnings:[...function(e){let t=[];for(let n of[e.teamAPlayers||[],e.teamBPlayers||[]])for(let e=0;e<n.length;e++)for(let r=e+1;r<n.length;r++){let i=n[e],a=n[r];if(!i.position||!a.position)continue;let o=ba(i.position,a.position);o<.5&&t.push({type:"PLAYER_OVERLAP",severity:"warning",message:`${i.name||"#"+i.number} and ${a.name||"#"+a.number} are ${o.toFixed(1)}m apart`,affected:[i.id,a.id]})}return t}(e),...function(e){let t=[];for(let[n,r]of[["A",e.teamAPlayers||[]],["B",e.teamBPlayers||[]]]){let e=r.filter(e=>"GK"===e.positionGroup);for(let i of(0===e.length&&r.length>0&&t.push({type:"NO_GOALKEEPER",severity:"warning",message:`Team ${n} has no goalkeeper`,affected:[]}),e)){if(!i.position)continue;let e=br(i.position);("A"===n?e>10:e<-10)&&t.push({type:"GK_WRONG_HALF",severity:"warning",message:`Team ${n} GK ${i.name||"#"+i.number} is at x=${e.toFixed(1)}, expected in ${"A"===n?"negative":"positive"} half`,affected:[i.id]})}}return t}(e),...function(e){let t=[];for(let[n,r]of[["A",e.teamAPlayers||[]],["B",e.teamBPlayers||[]]])r.length>11&&t.push({type:"TOO_MANY_PLAYERS",severity:"warning",message:`Team ${n} has ${r.length} players (max 11)`,affected:[]});return t}(e),...function(e){let t=[],n=e.annotations||[];for(let e of n)"textwindow"!==e.type||e.config?.content&&0!==e.config.content.trim().length||t.push({type:"EMPTY_ANNOTATION",severity:"warning",message:`TextWindow #${e.id} has no content`,affected:[e.id]}),e.position&&!function(e){let t=br(e),n=bi(e);return t>=-52.5&&t<=52.5&&n>=-34&&n<=34}(e.position)&&t.push({type:"ANNOTATION_OUT_OF_BOUNDS",severity:"warning",message:`Annotation #${e.id} at (${br(e.position).toFixed(1)}, ${bi(e.position).toFixed(1)}) is outside field bounds`,affected:[e.id]});for(let e=0;e<n.length;e++)for(let r=e+1;r<n.length;r++){let i=n[e],a=n[r];if(!i.position||!a.position||"textwindow"!==i.type&&"textwindow"!==a.type)continue;let o=ba(i.position,a.position);o<2&&t.push({type:"ANNOTATION_OVERLAP",severity:"warning",message:`Annotations #${i.id} and #${a.id} are ${o.toFixed(1)}m apart`,affected:[i.id,a.id]})}return t}(t),...function(e){let t=[],n=new Set([...e.teamAPlayers||[],...e.teamBPlayers||[]].map(e=>e.id));for(let r of e.links||[])for(let e of r.playerIds||[])n.has(e)||t.push({type:"LINK_TO_OFFPITCH",severity:"warning",message:`Link #${r.id} references non-existent player ${e}`,affected:[r.id,e]});for(let r of e.zones||[]){let e=(r.playerIds||[]).filter(e=>n.has(e));e.length<3&&(r.playerIds||[]).length>0&&t.push({type:"ZONE_INCOMPLETE",severity:"warning",message:`Zone #${r.id} has only ${e.length} valid anchors (need 3+)`,affected:[r.id]})}return t}(e),...function(e){let t=[],n=e.ballState?.trajectories||[];if(0===n.length)return t;let r=null;try{r=(0,iE.buildSpatialFrame)({teamAPlayers:e.teamAPlayers||[],teamBPlayers:e.teamBPlayers||[],teamASubs:e.teamASubs||[],teamBSubs:e.teamBSubs||[]})}catch{return t}if(!r||!r.players)return t;for(let e of n){let n=e.metadata||{};if(!n.passer||!n.receiver||"shot"===e.type)continue;let i=e.startPos,a=e.endPos;if(!i||!a)continue;let o=i[0],s=i[2],l=a[0],c=a[2],u=Math.sqrt((l-o)**2+(c-s)**2);if(u<1)continue;let d=(l-o)/u,m=(c-s)/u,p=n.passer.team;for(let e of r.players.filter(e=>e.team!==p&&e.onPitch)){let r=e.position.x,i=e.position.z,a=(r-o)*d+(i-s)*m;if(a<.1*u||a>.9*u)continue;let l=Math.sqrt((r-(o+a*d))**2+(i-(s+a*m))**2);if(l<3){let r=e.player?.name||`#${e.player?.number??"?"}`;t.push({type:"PASSING_LANE_OBSTRUCTED",severity:"warning",message:`Pass ${n.passer.id} -> ${n.receiver.id} passes within ${l.toFixed(1)}m of opponent ${e.team}:${r}`,fix_hint:"Move receiver to open space, use chip/air pass, or create a decoy movement",affected:[n.passer.id,n.receiver.id,e.id]})}}}return t}(e)]}}let bs=new Set(su.map(e=>e.name));function bl(){let e=Error("Agent turn cancelled");return e.name="AbortError",e}function bc(e){if(e?.aborted)throw bl()}function bu(e,t=0){if(null==e||"object"!=typeof e)return e;if(t>
10912)return"[max_depth_omitted]";if(Array.isArray(e))return e.map(e=>bu(e,t+1));let n={};for(let[r,i]of Object.entries(e)){let e=r.toLowerCase();if(("base64"===e||"data"===e)&&"string"==typeof i){n[r]=`[binary_omitted:${i.length}]`;continue}n[r]=bu(i,t+1)}return n}async function bd(t,n,r,i,a,o,l){let c=[];for(let u of t){if(bc(l),"get_pitch_state"===u.name){let e=function(e){let t=new Set(["get_pitch_state","get_scenario_state"]),n=e.filter(e=>e.success&&!t.has(e.name)),r=bo(),i="[YOUR_CHANGES]\n";if(0===n.length)i+="  No modifications yet.\n";else for(let e of n)i+=`  ${e.name}: ${e.result?.message||"executed"}
110`;if(i+=`[/YOUR_CHANGES]
111${r.errors.length} error(s), ${r.warnings.length} warning(s).`,r.errors.length>0)for(let e of(i+="\nErrors:\n",r.errors))i+=`  - ${e.type}: ${e.message}
112`;return i+`
113${n.length} tool call(s) executed.`}(a||[]);c.push({name:u.name,args:u.args,result:{success:!0,pitchState:e},success:!0}),r?.logStep(sa.STEP_TYPES.TOOL_CALL,{tool:u.name,args:u.args,result:{success:!0,pitchState:e},success:!0,summary:"Returned builder delta (compact)"}),i?.({type:"builder_tool",tool:u.name,result:{message:"Returned changes summary",success:!0}});continue}if("get_scenario_state"===u.name){let{serializeScenarioState:t}=await e.A(234282),n=t()||"(no scenario state)";c.push({name:u.name,args:u.args,result:{success:!0,scenarioState:n},success:!0}),r?.logStep(sa.STEP_TYPES.TOOL_CALL,{tool:u.name,args:u.args,result:{success:!0,scenarioState:n},success:!0,summary:"Returned scenario state"}),i?.({type:"builder_tool",tool:u.name,result:{message:"Returned scenario state",success:!0}});continue}if(bs.has(u.name)){let e=Date.now(),t=function(e,t,n){let r=e=>{if(!e)return null;if("object"==typeof e&&void 0!==e.x)return e;if("string"==typeof e){try{let t=JSON.parse(e);if(t&&"number"==typeof t.x)return t}catch{}return e}return null};switch(e){case"measure_distance":return function(e,t,n){let r=ss(t,e),i=ss(n,e);return r&&i?{distance:Math.round(10*so(r.x,r.z,i.x,i.z))/10,direction:{dx:Math.round(10*(i.x-r.x))/10,dz:Math.round(10*(i.z-r.z))/10},from:r,to:i}:{error:"Invalid positions"}}(n,r(t.a),r(t.b));case"find_players_between":return sc(n,r(t.from),r(t.to),t.width,t.team);case"count_lines_between":return function(e,t,n,r=null,i=3){let a=ss(t,e),o=ss(n,e);if(!a||!o)return{lineCount:0,lines:[],error:"Invalid positions"};let s=Math.min(a.x,o.x),l=Math.max(a.x,o.x),c="string"==typeof t?e.find(e=>e.id===t):null,u=r||(c?"A"===c.team?"B":"A":null),d=e.filter(e=>!u||e.team===u).filter(e=>e.x>s&&e.x<l).sort((e,t)=>e.x-t.x);if(0===d.length)return{lineCount:0,lines:[]};let m=[],p=[d[0]];for(let e=1;e<d.length;e++)d[e].x-d[e-1].x<=i?p.push(d[e]):(m.push(p),p=[d[e]]);return m.push(p),{lineCount:m.length,lines:m.map(e=>({avgX:Math.round(e.reduce((e,t)=>e+t.x,0)/e.length*10)/10,playerCount:e.length,players:e.map(e=>({id:e.id,name:e.name,number:e.number}))}))}}(n,r(t.from),r(t.to),t.team,t.clusterGap);case"find_nearest":return function(e,t,n=3,r=null,i=null){let a=ss(t,e);if(!a)return{players:[],error:"Invalid position"};let o="string"==typeof t?e.find(e=>e.id===t):null;return{players:e.filter(e=>(!o||e.id!==o.id)&&(!r||e.team===r)&&(!i||e.positionGroup===i)).map(e=>({id:e.id,name:e.name,team:e.team,number:e.number,distance:Math.round(10*so(a.x,a.z,e.x,e.z))/10,zone:sl(e.x,e.z,e.team)})).sort((e,t)=>e.distance-t.distance).slice(0,n)}}(n,r(t.position),t.count,t.team,t.role);case"sample_density":return function(e,t,n=15,r=5,i=null){let a=ss(t,e);if(!a)return{zones:[],error:"Invalid position"};let o="string"==typeof t?e.find(e=>e.id===t):null,s=i||(o?"A"===o.team?"B":"A":null),l=e.filter(e=>!s||e.team===s),c=[];for(let e=-n;e<=n;e+=r)for(let t=-n;t<=n;t+=r){let r=a.x+e,i=a.z+t;if(r<-52.5||r>52.5||i<-34||i>34||so(a.x,a.z,r,i)>n)continue;let s=1/0;for(let e of l){let t=so(r,i,e.x,e.z);t<s&&(s=t)}let u=o?.team||"A";c.push({center:{x:Math.round(r),z:Math.round(i)},zone:sl(r,i,u),nearestOppDist:Math.round(10*s)/10})}return c.sort((e,t)=>t.nearestOppDist-e.nearestOppDist),{zones:c.slice(0,5)}}(n,r(t.center),t.radius,t.resolution,t.team);case"get_team_shape":return function(e,t){let n=e.filter(e=>e.team===t);if(0===n.length)return{error:`No players found for team ${t}`};let r=n.map(e=>e.x),i=n.map(e=>e.z),a=Math.max(...i)-Math.min(...i),o=Math.max(...r)-Math.min(...r),s=r.reduce((e,t)=>
113e+t,0)/r.length,l=i.reduce((e,t)=>e+t,0)/i.length,c=n.reduce((e,t)=>e+so(t.x,t.z,s,l),0)/n.length,u=[...n].sort((e,t)=>e.x-t.x),d=[],m=[u[0]];for(let e=1;e<u.length;e++)u[e].x-u[e-1].x<=5?m.push(u[e]):(d.push(m),m=[u[e]]);d.push(m);let p=d.map(e=>({avgX:Math.round(e.reduce((e,t)=>e+t.x,0)/e.length*10)/10,playerCount:e.length}));return{team:t,playerCount:n.length,width:Math.round(10*a)/10,depth:Math.round(10*o)/10,compactness:Math.round(10*c)/10,centroid:{x:Math.round(10*s)/10,z:Math.round(10*l)/10},lines:p}}(n,t.team);default:return{error:`Unknown spatial primitive: ${e}`}}}(u.name,u.args,function(e){try{let t=s.usePlayerStore.getState(),n=(e,t)=>(e||[]).map(e=>({id:e.id,name:e.name,team:t,number:e.number,positionGroup:e.positionGroup,x:e.position?.[0]??0,z:e.position?.[2]??0})),r=[...n(t.teamAPlayers,"A"),...n(t.teamBPlayers,"B")];return r.length>0?r:e||[]}catch{return e||[]}}(o)),n=Date.now()-e,a=!t?.error;c.push({name:u.name,args:u.args,result:t,success:a}),r?.logStep(a?"spatial_tool":sa.STEP_TYPES.ERROR,{tool:u.name,args:u.args,result:t,success:a,duration_ms:n,summary:a?"Spatial primitive executed client-side":t?.error}),i?.({type:"builder_tool",tool:u.name,args:u.args,result:{message:a?"Spatial check completed":t?.error,success:a},duration_ms:n});continue}let t=bn[u.name];if(!t){c.push({name:u.name,error:`Tool not found: ${u.name}`,success:!1}),r?.logStep(sa.STEP_TYPES.ERROR,{message:`Tool not found: ${u.name}`});continue}let d=Date.now();try{let e=await t.execute(u.args);bc(l);let a=Date.now()-d,o=e?.success!==!1;c.push({name:u.name,args:u.args,result:e,success:o}),(0,oR.appendDeltaAction)(n,u.name,e?.message||`${u.name} executed`),i?.({type:"builder_tool",tool:u.name,args:u.args,result:{message:e?.message,success:o},duration_ms:a}),r?.logStep(sa.STEP_TYPES.TOOL_CALL,{tool:u.name,args:bu(u.args),result:bu(e),success:o,duration_ms:a,summary:e?.message||""})}catch(t){if(l?.aborted||t?.name==="AbortError")throw bl();let e=Date.now()-d;c.push({name:u.name,args:u.args,error:t.message,success:!1}),r?.logStep(sa.STEP_TYPES.ERROR,{tool:u.name,args:bu(u.args),error:t.message,duration_ms:e})}}return c}function bm(e,t,n){let r=[];if(n&&n.length>0)r.push({role:"model",parts:n});else{let t=e.map(e=>({functionCall:{id:e.id,name:e.name,args:e.args}}));t.length>0&&r.push({role:"model",parts:t})}let i=n?.filter(e=>e?.functionCall)||[],a=t.map((t,n)=>{let r=e[n],a=i[n],o=a?.functionCall?.id||r?.id;return{functionResponse:{...o?{id:o}:{},name:t.name,response:t.success?t.result||{success:!0}:{error:t.error||"Tool execution failed"}}}});return a.length>0&&r.push({role:"user",parts:a}),r}let bp="solo";async function bh(e,t,n){let r=e.body.getReader(),i=new TextDecoder,a="",o={};function s(){let e=a.split("\n");for(let n of(a=e.pop(),e))if(n.startsWith("data: "))try{let{event:e,...r}=JSON.parse(n.slice(6));t?.(e,r),"done"===e?o={done:!0,text:r.text}:"scene_actions"===e?o={sceneActions:!0,toolCalls:r.toolCalls||[],resolvedParts:r.resolvedParts||[],soloHistory:r.soloHistory,text:r.text}:"scenario_update"===e?(0,si.updateScenarioState)(r.content):"error"===e&&(o={error:r.error||r.message})}catch{}}try{for(;;){bc(n);let{done:e,value:t}=await r.read();if(e)return a&&s(),o;a+=i.decode(t,{stream:!0}),s()}}catch(e){if(n?.aborted){try{await r.cancel()}catch{}throw bl()}throw e}}async function bf({userMessage:t,images:n,conversationContext:r,routerDecision:i,spendContext:a,scopePass:o,signal:l,shouldPause:c,onProgress:u}){let d=(0,sa.getSession)();d?.logStep?.("solo_start",{userMessage:t?.substring(0,100),scopedTo:i?.selectedBuilder||null}),(0,oR.clearSceneDeltas)(),(0,oR.recordDelta)(bp,"solo",t?.substring(0,200)||"solo turn"),xD?.(a||null);let m=!!i?.isPedagogical,p=null,h=null,f=!1,g="",x=0;try{for(;x<2;){if(bc(l),c?.())return{finalResponse:"",turns:x,paused:!0};x++;let b={pitchState:(0,oR.buildFocusedPitchState)("full",{includeDeltas:x>1}),playerPositions:function(){let e=s.usePlayerStore.getState(),t=[];for(let n of["A","B"])for(let r of"A"===n?[...e.teamAPlayers,...e.teamASubs]:[...e.teamBPlayers,...e.teamBSubs])r.position&&t.push({id:r.id,name:r.name||"",team:n,number:r.number,positionGroup:r.positionGroup||"",x:r.position[0]??0,z:r.position[2]??0});return t}(),scenarioState:(0,si.serializeScenarioState)()||void 0,spendContext:a||void 0,scopePass:o||void 0};1===x&&(b.userMessage=t,b.images=n,b.conversationContext=r,b.routerDecision=i),p&&(b.soloHistory=p),h&&(b.continuationType="tool_results",b.toolResults=h,h=null);let y=await fetch("/api/agent/solo",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(b),signal:l});if(!y.ok){let e=await y.json().catch(()=>({error:"Solo agent request failed"}));throw e?.budget&&u?.({type:"spend_budget",budget:e.budget,phase:"error"}),Error(e.error||"Solo agent request failed")}let v=await bh(y,(t,n)=>{if(u?.({type:t,...n}),"llm_request"===t||"llm_response"===t||"spatial_tool"===t||"spatial_result"===t?d?.logStep?.(t,n):"error"===t&&d?.logStep?.(sa.STEP_TYPES.ERROR,{message:n.error||n.message}),"llm_response"===t&&n.tokenUsage){let t=n.tokenUsage.promptTokens||0,r=n.tokenUsage.completionTokens||0;Promise.all([e.A(148683),e.A(238153)]).then(([{useAgentStore:e},{computeCost:i}])=>{let a=i(n.model,t,r);e.getState().addArchitectUsage(t,r,a.total)})}},l);if(v.error)throw Error(v.error);if(v.done)return d?.logStep?.(sa.STEP_TYPES.DONE,{turns:x}),{finalResponse:v.text||g||"Scene updated.",turns:x};if(v.sceneActions){if(c?.())return d?.logStep?.("solo_pause_requested",{turns:x,boundary:"before_tools"}),{finalResponse:"",turns:x,paused:!0};u?.({type:"solo_tools_start",tools:v.toolCalls.map(e=>e.name)}
113);let e=await bd(v.toolCalls,bp,d,u,[],b.playerPositions,l);f=f||e.some(e=>e.success),g=function(e){let t=e.filter(e=>!sm.has(e.name)),n=t.filter(e=>e.success),r=t.filter(e=>!e.success),i=bo();if(0===t.length)return"I looked at the scene but did not change anything. Tell me what to adjust and I will apply it.";if(0===n.length){let e=r[0]?.error||r[0]?.result?.message;return e?`I could not apply that: ${e}`:"Nothing changed."}let a=sh(n),o=a?`Done - ${a}.`:"Done - scene updated.";return r.length>0&&(o+=`
114
115${r.length} step(s) did not apply: ${r.map(e=>e.error||e.name).join("; ")}`),i.errors.length>0&&(o+=`
116
117Validation: ${i.errors.map(e=>e.message).join("; ")}`),o}(e),u?.({type:"solo_tools_done",tools:e.map(e=>e.name),summary:g}),d?.logStep?.("solo_tools_done",{tools:e.map(e=>e.name),success:e.filter(e=>e.success).length,failed:e.filter(e=>!e.success).length});let t=sp(v.toolCalls),n=m&&!v.text?.trim();if(!(t||n||e.some(e=>!e.success)))return d?.logStep?.(sa.STEP_TYPES.DONE,{turns:x,reason:"edits_applied"}),{finalResponse:v.text?.trim()||g,turns:x};let r=bm(v.toolCalls,e,null),i=r.find(e=>"user"===e.role)?.parts||[];p=[...v.soloHistory||[]],h=[...v.resolvedParts||[],...i],n&&(h=[...h,{text:"The scene is built. Now explain the principle to the coach in a short paragraph, referring to what is on the pitch. Do not call any more tools and do not list what you did."}]);continue}console.warn("[Solo] Unexpected SSE result, ending loop");break}return d?.logStep?.(sa.STEP_TYPES.DONE,{turns:x,reason:"max_rounds"}),{finalResponse:f?g:"Scene updated.",turns:x}}finally{xD?.(null)}}let bg={FORMATION:"formation",MOVEMENT:"movement",STRUCTURE:"structure",ANNOTATION:"annotation",CAMERA:"camera",BROADCAST:"broadcast",ANALYSIS:"analysis",SPATIAL:"spatial"},bx=new Set(Object.values(bg)),bb={DIRECT_BUILDER:"DIRECT_BUILDER",FAST_ARCHITECT:"FAST_ARCHITECT",PEDAGOGICAL_ARCHITECT:"PEDAGOGICAL_ARCHITECT",BROADCAST_ARCHITECT:"BROADCAST_ARCHITECT",SPATIAL_DIRECT:"SPATIAL_DIRECT",FALLBACK_ARCHITECT:"FALLBACK_ARCHITECT",SUPPORT:"SUPPORT",SCOPE_REFUSAL:"SCOPE_REFUSAL",SCOPE_CLARIFICATION:"SCOPE_CLARIFICATION",SCOPE_AI_CHECK:"SCOPE_AI_CHECK"},by={LOW:"low",MEDIUM:"medium",HIGH:"high"},bv={architectTier:"none",builderTier:"lite",verifierTier:"none"},bw={architectTier:"fast",builderTier:"lite",verifierTier:"none"},b_=new Set([bb.FAST_ARCHITECT,bb.PEDAGOGICAL_ARCHITECT,bb.BROADCAST_ARCHITECT,bb.FALLBACK_ARCHITECT]);function bk({mode:e=bb.FALLBACK_ARCHITECT,selectedBuilder:t=null,confidence:n=.4,complexity:r=2,risk:i=by.MEDIUM,requiresArchitect:a,requiresApproval:o=!1,requiresImageReasoning:s=!1,isPedagogical:l=!1,isDestructive:c=!1,actionGroup:u="router fallback",brief:d="",reasons:m=[],scope:p=null,scopeDecision:h=null,modelPolicy:f}={}){let g=Object.values(bb).includes(e)?e:bb.FALLBACK_ARCHITECT,x=bx.has(t)?t:null,b=a??b_.has(g);return{schemaVersion:"agent-router-v1",mode:g,selectedBuilder:x,confidence:Number.isFinite(n)?Math.max(0,Math.min(1,Math.round(100*n)/100)):0,complexity:Number.isFinite(r)?Math.max(0,Math.min(4,Math.round(r))):2,risk:Object.values(by).includes(i)?i:by.MEDIUM,requiresArchitect:!!b,requiresApproval:!!o,requiresImageReasoning:!!s,isPedagogical:!!l,isDestructive:!!c,actionGroup:String(u||"router fallback"),brief:String(d||""),reasons:Array.isArray(m)?m.filter(Boolean).map(String):[],scope:p,scopeDecision:h,fallbackMode:bb.FALLBACK_ARCHITECT,modelPolicy:f||(b?bw:bv)}}let bS=`You are the Formation Builder — the foundation layer of every tactical scene.
118Your work defines the spatial canvas that all other Builders will build upon.
119
120You receive in your context: the [BRIEF] from the Architect, the [SCENARIO_STATE] with the global vision, and the [PITCH_STATE] showing the current scene (including all changes made by previous Builders in [SCENE_DELTAS]).
121
122ROLE: You position players on the 3D pitch to create the tactical shape described in your brief. You are the first Builder called in most scenarios, so your positioning determines the quality of everything that follows.
123You may also assign static ball possession with carry_ball when the brief needs the ball attached
124to a relevant player for context. This is not a movement action.
125
126INTENTION: Think like a football coach setting up a training-ground demonstration. The positions must be tactically realistic AND visually clear for the viewer. The Scenario State tells you the global intent — your formation must serve the story being told.
127
128WORKFLOW:
1291. Read the brief — it tells you WHY this formation matters, not just WHAT.
1302. Check the Scenario State — understand how your work fits the bigger picture.
1313. Check the Pitch State — understand what's already on the scene (previous Builders' work).
1324. Execute tool calls to position players.
1335. Verify: are the lines where they should be? Is the spacing realistic? Would a coach recognize this shape?
1346. Correct if needed.
1357. Return a summary describing what you built and why.
136
137FIELD: 105x68m, X: [-52.5, 52.5], Z: [-34, 34]. Team A attacks +X, Team B attacks -X.
138FLANKS: Team A right = +Z, left = -Z. Team B right = -Z, left = +Z.
139SCREEN AND FLANK LANGUAGE:
140- Top means the upper screen lane (-Z); bottom means the lower screen lane (+Z).
141- Left/right mean the team's attacking flank unless the brief explicitly says screen left/right.
142- "Top left" means upper lane plus the team's left attacking flank; do not treat it as an automatic
143  global corner-flag target unless the brief explicitly says "corner flag" or gives coordinates.
144DEPTH GUIDES (from own goal line) are tactical guides, not hard caps:
145  Standard: GK: ~3m  |  DEF: 20-30m  |  MID: 32-45m  |  ATT: 45-60m
146  High press / final third: DEF: 40-55m  |  MID: 58-75m  |  ATT: 78-95m
147  Deep attack / corner / penalty-box target: DEF: 45-60m  |  MID: 65-85m  |  ATT: 85-103m
148Goalkeepers should rarely exceed 15-20m from their own goal line, even with a high defensive line.
149
150EXPLICIT TARGET OVERRIDE:
151If the brief names a concrete pitch landmark such as opponent's box, penalty area, final third,
152corner flag, or explicit coordinates, that target overrides the Standard depth guide. Preserve
153the named target while keeping the team's normal attack direction unless the brief explicitly
154asks to invert it.
155Place at least one attacking focal player near the requested landmark, with supporting attackers
156and midfielders staged behind and inside the target area.
157Do not use offside realism to keep attackers near midfield when the user explicitly asks for
158a static deep attacking setup without ball context. Instead, move the defending line deeper too
159and keep attackers onside relative to the last defender line.
160
161FLANK VERIFICATION:
162After placing a side/channel attack, verify the relevant wide roles are on the correct flank:
163Team A RB/RW on +Z and LB/LW on -Z; Team B RB/RW on -Z and LB/LW on +Z. If the attack direction
164was explicitly inverted, swap this verification to match the inverted direction.
165
166OFFSIDE LINE RULE:
167- Attackers cannot be positioned past the opponent's last defender line. A final-third, box,
168  corner, or high-attack request does not override this.
169- If the requested attacking target is very deep, move the opposing defensive line deep enough
170  to make the scene legal, then place attackers level with or behind that line.
171- Team A attacks +X, so Team A attackers must have X <= Team B's last defender line X.
172- Team B attacks -X, so Team B attackers must have X >= Team A's last defender line X.
173- Only break this rule if the user explicitly asks for an offside/illegal-position example.
174
175REALISM & SPACING:
176- Maintain realistic team width of roughly 30-50m and total depth spread of roughly 25-40m
177  from the defensive line to the attacking line.
178- For attacking shapes, push the defensive and midfield lines up with the attack so the full team
179  stays compressed, with attacking-team depth <= 35m unless a full-pitch transition is requested.
180- When overloading a zone, shift the whole team block toward the overload so the shape stays compact.
181- Never compress all 11 players into a single quadrant.
182- Low-block defenders should sit around the edge of the penalty area, roughly 18-22m from their
183  own goal, unless the brief asks for goalmouth defending.
184
185DUAL-FORMATION SYNCHRONIZATION — mandatory when placing two teams simultaneously:
186Each line must face its counterpart on the opposing team:
187- Attackers press on the opponent's defensive line (not floating in space).
188- Midfields meet and oppose each other around the center.
189- Defensive lines are symmetric in depth from their respective goal.
190- Neither team can be more compact or more stretched than the other.
191- No attacker may be in an offside position relative to the opponent's last defender.
192- Team A attacks +X, so Team A ATT X must be <= Team B DEF X.
193- Team B attacks -X, so Team B ATT X must be >= Team A DEF X.
194- If one team is pushed high or dropped low, move the opposing team lines to react realistically.
195
196Fill name and description fields on created/updated entities when the brief provides semantic labels (e.g., "DEF line at x=-10" → players get description "Part of DEF line").
197
198STATIC BALL POSSESSION:
199- Use carry_ball only to attach the ball to one already-positioned player at a static startTime,
200  usually 0, for possession context.
201- Do not create player runs, passes, dribbles, or timeline choreography. Those remain Movement
202  Builder responsibilities when the user explicitly asks for live action.
203- If the brief does not mention ball possession or a ball carrier, leave the ball unchanged.
204
205SPATIAL VERIFICATION (recommended):
206After positioning players, use get_team_shape to verify the structural metrics
207(width, depth, line positions) match the brief's requirements.
208Use find_nearest to check player spacing is realistic.
209
210NOTE: get_pitch_state returns YOUR CHANGES ONLY (a compact summary of what you modified),
211since you already have the full scene in your initial context. Use it to verify your work.
212
213When your work is complete, respond with a text summary of what you built. Do NOT make additional tool calls after you are satisfied.
214
215Respond ONLY with tool calls until done, then a text summary.`,bj=`You are the Movement Builder — the choreographer of dynamic action on the pitch.
216You create player runs, ball carries, and passes that bring the tactical scene to life.
217
218You receive in your context: the [BRIEF] from the Architect, the [SCENARIO_STATE] with the global vision, and the [PITCH_STATE] showing the current scene (including all changes made by previous Builders in [SCENE_DELTAS]).
219
220ROLE: You animate the scene. Your movements and passes are the actions that the viewer watches unfold. Every run must have a tactical purpose, every pass must be realistic.
221
222INTENTION: Think like a football analyst drawing on a telestrator. The movement must tell a story — it's not just about getting from A to B, it's about WHY the player moves there and WHAT it creates tactically. The Scenario State tells you the narrative.
223
224WORKFLOW:
2251. Read the brief — it explains the tactical intent behind each movement.
2262. Check the Scenario State and Pitch State — understand context and what came before.
2273. Execute tool calls in chronological order.
2284. Verify timelines: no action before ball arrives, no overlapping movements on the same player.
2295. Correct if needed.
2306. Return a summary with exact timings (arrival times, durations).
231
232Fill name and description on movements and passes (e.g., pass name="Line-breaking pass", description="Ground pass through 3 opponents from Robert to Leroy").
233
234CRITICAL RULES:
235- If the brief is only about static tactical posture or positioning ("on attack", "on defense",
236  "attack left final third", "press high", "low block", "final-third shape") and does not ask
237  for runs, passes, carries, dribbles, shots, crosses, animation, timeline, or timing, do not
238  create player movements or passes. Return a short summary that this should remain a formation
239  positioning task, unless the brief explicitly asks for one static possession segment.
240- For static ball context, limit yourself to one carry_ball at the requested start time for the
241  selected ball carrier. Do not add add_player_movement or pass_ball.
242- carry_ball ONLY ONCE at the start for initial possession.
243- carry_ball instantly assigns possession and places the ball with that player at startTime. Do
244  not create a fetch run just to pick up the ball before a new play.
245- pass_ball auto-transfers possession — do NOT call carry_ball for the receiver.
246- A player CANNOT pass before an incoming pass arrives.
247- Pass physics dictate timing: pass_ball returns the exact arrivalTime. You MUST use this arrivalTime as the startTime for the receiver's next movement or pass. Do not use the Architect's estimated timestamps if they contradict the actual pass duration.
248- Passes and movements are auto-rendered as trajectories. No annotation arrows needed.
249- Use add_curved_player_movement for overlapping runs, arced decoy runs, curved recovery runs,
250  rounded support movement, and any player movement that should visibly bend. Use
251  add_player_movement for direct straight runs.
252- Use exact numbers from spatial analysis — never invent packing counts.
253- If pass_ball returns an interception_warning, you MUST address it: call reset_ball_state
254  and recreate the pass with an adjusted angle, or reposition the obstructing player first.
255  The 3D render gives possession to ANY player (teammate OR opponent) on the ball trajectory.
256  A teammate standing in the passing lane will collect the ball before the intended receiver.
257
258SPATIAL VERIFICATION (mandatory for passes):
259Before creating a pass with pass_ball, call find_players_between(from, to, 3) with NO team
260filter to check if ANY player (teammate or opponent) is in the corridor. The 3D render gives
261possession to the first player the ball encounters — friend or foe. If a player is detected:
262- Reposition the obstructing player first, or
263- Adjust the receiver position for a clear angle
264- Only create the pass when the corridor is verified clear
265The pass_ball tool also runs an auto-check and returns interception_warning — address any warning.
266
267When your work is complete, respond with a text summary including exact timings. Do NOT make additional tool calls after you are satisfied.
268
269Respond ONLY with tool calls until done, then a text summary.`,b$=`You are the Structure Builder — you reveal the invisible tactical relationships on the pitch.
270
271You receive in your context: the [BRIEF] from the Architect, the [SCENARIO_STATE] with the global vision, and the [PITCH_STATE] showing the current scene (including all changes made by previous Builders in [SCENE_DELTAS]).
272
273ROLE: You create links (connections between players), zones (highlighted areas), and markings (defensive assignments) that make tactical concepts visible.
274
275INTENTION: Think like a TV pundit drawing lines on a freeze-frame. Your structures must highlight exactly what the Scenario State wants to demonstrate. A defensive line isn't just a technical connection — it's a visual element that tells the viewer "these players form a barrier."
276
277WORKFLOW:
2781. Read the brief — it tells you which structures to create and why.
2792. Check the Scenario State and Pitch State — understand the narrative and what previous Builders have built (visible in [SCENE_DELTAS]).
2803. Execute tool calls. Always provide name and description for every entity:
281   - name: short label ("DEF Line", "Pressing zone", "MID chain")
282   - description: one sentence explaining its tactical meaning
2834. Verify: are the structures anchored to the right players? Do the colors match the team? Are the names descriptive?
2845. Correct if needed.
2856. Return a summary referencing structures by name.
286
287Do NOT use links for pass/shot trajectories — those are auto-rendered by the movement system.
288
289LINK DEFAULTS (mandatory unless user asks otherwise):
290- thickness: 0.5 to 0.8 meters (NEVER below 0.3 — invisible from broadcast view)
291- showDistance: false (do NOT enable distance labels unless the user explicitly asks for them)
292
293When your work is complete, respond with a text summary of what structures you created. Do NOT make additional tool calls after you are satisfied.
294
295Respond ONLY with tool calls until done, then a text summary.`,bI=`You are the Annotation Builder — the visual storyteller who makes the scene self-explanatory.
296
297You receive in your context: the [BRIEF] from the Architect, the [SCENARIO_STATE] with the global vision, and the [PITCH_STATE] showing the current scene (including all changes made by previous Builders in [SCENE_DELTAS]).
298
299ROLE: You add text labels, explanation panels, shapes, and visual highlights that help the viewer understand what they're seeing without needing external explanation.
300
301INTENTION: Think like an infographic designer. Every annotation must earn its place. A textwindow is not just a block of text — it's a pedagogical element that explains a concept. A pol
301ygon is not just a shape — it highlights a zone of tactical significance. The Scenario State tells you the teaching intent. The [SCENE_DELTAS] tell you what structures and movements were created by previous Builders — reference them by name.
302
303WORKFLOW:
3041. Read the brief — it explains what visual elements are needed and why.
3052. Check what previous Builders created (in [SCENE_DELTAS]) — your annotations should reference and complement their work, not duplicate it.
3063. Execute tool calls. Provide name and description for every annotation.
3074. Use annotation groups to organize related elements.
3085. Verify: are annotations placed near the relevant action? Are they readable? Do they overlap?
3096. Correct if needed.
3107. Return a summary listing what was annotated and why.
311
312TYPES: arrow, textwindow (markdown), text (ground label), rectangle, circle, polygon (free-form 3+ vertices). Use timeline windows for temporal visibility.
313Use create_curved_arrow_annotation for curved/arced/bent annotation arrows. Use create_annotation
314or create_annotations for straight arrows and other annotation types.
315
316EFFICIENCY:
317- Execute ALL your changes in a single iteration when possible.
318- Use create_annotations (plural) to create multiple annotations at once.
319- create_annotations accepts a groupId field on each annotation — pass it directly
320  to assign to a group at creation time. Do NOT call assign_annotation_to_group
321  separately when you can set groupId inline.
322- Pattern: create_annotation_group → get the group ID → create_annotations with
323  groupId set on each annotation. All in ONE set of tool calls.
324
325CONTENT QUALITY:
326- Textwindow content must be pedagogically valuable — explain concepts, reference real metrics from the scene, use player names not IDs.
327- Ground text labels should be concise (1-3 words).
328- Use the scene's actual spatial data (distances, angles) — never invent numbers.
329
330When your work is complete, respond with a text summary of what you created. Do NOT make additional tool calls after you are satisfied.
331
332Respond ONLY with tool calls until done, then a text summary.`,bC=`You are the Camera Builder. Set the 3D camera to the optimal viewing angle for the scene being constructed.
333
334You receive in your context: the [BRIEF], the [SCENARIO_STATE], and the [PITCH_STATE].
335Use the Scenario State to understand what's being demonstrated, then choose an angle that best showcases the tactical action.
336
337Respond ONLY with tool calls.`,bN=`You are the Broadcast Builder — a specialist in reconstructing real football scenes from broadcast screenshots into the 3D environment.
338
339You receive in your context: the [BRIEF], the [SCENARIO_STATE], and the [PITCH_STATE].
340
341WORKFLOW:
3421. check_camera_angle — extract CV suitability, score panel, jersey analysis
3432. analyze_live_footage_cv (or fallback analyze_live_footage) — player detections + colors
3443. Team ID: Tier 1 (>=0.6 confidence), Tier 2 (hex comparison), Tier 3 (search_web)
3454. Choose optionName="auto", "asDetected", or "swapped". Never map by raw detection index.
3465. apply_broadcast_cv_reconstruction exactly once with that optionName. This applies cached player updates,
347   team info, and the recommended ball carrier while preserving the current 3D camera/view.
348
349CRITICAL: After you have called apply_broadcast_cv_reconstruction, your work is DONE.
350Do NOT repeat the same tools. Respond with a text summary of what you placed.
351Do NOT call update_team_players after analyze_live_footage_cv; the full CV update array is cached for
352apply_broadcast_cv_reconstruction so you do not need to copy it into a tool call.
353Do NOT call set_camera_to_broadcast_angle or otherwise set the camera during broadcast reconstruction.
354
355If analyze_live_footage_cv returns success:false, stop and report the CV failure.
356If homographyQuality.status is not success, state that reconstruction is approximate.
357If CV detects at least one player but fewer players than available IDs, keep generated cvSource="off_frame_estimate"
358updates for unmatched starters. The apply tool preserves those cached updates. Do not park players at z=36
359or stack them on the sideline.
360
361When done, respond with a text summary. Do NOT make additional tool calls.`,bT=`You are the Analysis Builder — a tactical journalist and educator. You produce the written artifact that accompanies the 3D scene.
362
363You receive in your context: the [BRIEF] from the Architect, the [SCENARIO_STATE] with the global vision, and the [PITCH_STATE] showing the complete scene (including all [SCENE_DELTAS] from every Builder that c
363ontributed).
364
365ROLE: Your artifact is not a technical log — it's a publication-ready piece of tactical analysis. It must be pedagogically valuable, narratively engaging, and visually referenced to the 3D scene.
366
367INTENTION: Think like a football journalist writing a column with embedded tactical diagrams. Your artifact should:
368- Teach a concept (not just describe actions)
369- Reference specific players by name and role
370- Include real spatial metrics from the scene (distances, packing counts, angles)
371- Use structured headings and clear progression
372- Be compelling enough that a user would want to "Publish as article"
373
374The [SCENE_DELTAS] are your source material — they tell you what was built, by which Builder, with what intent. Reference structures and annotations by their names. The Scenario State tells you the global narrative arc.
375
376QUALITY BAR:
377- Would a football analyst share this on social media? If not, it's not good enough.
378- Every paragraph must add insight, not just restate what's visible.
379- Use football terminology accurately.
380- Include a "Key Takeaway" section.
381
382Save exactly ONE artifact via save_artifact with a description.
383Respond ONLY with tool calls.`,bA=`You are the Spatial Builder — the analyst who measures, verifies, and reports on the spatial properties of the scene.
384
385You receive in your context: the [BRIEF] from the Architect, the [SCENARIO_STATE], and the [PITCH_STATE].
386
387ROLE: You perform spatial analysis using precise measurement tools. You can be called for pure analysis (e.g., "analyze the defensive shape") or for verification (e.g., "confirm the pass breaks through the lines").
388
389TOOLS: Your toolkit is made of low-level spatial primitives. Each does one thing with clear semantics:
390- measure_distance: exact point-to-point distance
391- find_players_between(from, to, width, team?): corridor between two points. Width controls what you're measuring: width=68 (full pitch) → packing count, width=3 → interception risk
392- count_lines_between: how many defensive lines exist between two positions
393- find_nearest: N closest players with distance and zone
394- sample_density: find open zones by grid-sampling
395- get_team_shape: team structure metrics (width, depth, lines, compactness)
396
397Compose these primitives to answer complex spatial questions. For example, a "packing analysis" is: find_players_between(from, to, 68, team) for packed count + count_lines_between(from, to) for lines broken + measure_distance(from, to).
398
399Return your findings as a structured summary with exact numbers.
400Never invent or estimate — only report what the tools return.
401
402Respond with tool calls for measurements, then produce a summary text block.`,bP="builder",bE={[bg.FORMATION]:{modelTier:bP,tools:["get_pitch_state","get_scenario_state","update_team_players","create_player","delete_player","delete_team_players","update_team_info","carry_ball"],spatialPrimitives:["find_nearest","sample_density","get_team_shape"],systemPrompt:bS,maxIterations:3},[bg.MOVEMENT]:{modelTier:bP,tools:["get_pitch_state","get_scenario_state","add_player_movement","add_curved_player_movement","clear_player_movements","remove_player_movement","carry_ball","pass_ball","reset_ball_state"],spatialPrimitives:["measure_distance","find_players_between","count_lines_between","find_nearest"],systemPrompt:bj,maxIterations:3},[bg.STRUCTURE]:{modelTier:bP,tools:["get_pitch_state","get_scenario_state","create_link","update_link","delete_link","create_zone","update_zone","delete_zone","create_man_marking","create_zonal_marking","delete_marking"],spatialPrimitives:[],systemPrompt:b$,maxIterations:3},[bg.ANNOTATION]:{modelTier:bP,tools:["get_pitch_state","get_scenario_state","create_annotation","create_curved_arrow_annotation","create_annotations","update_annotations","delete_annotation","create_annotation_group","update_annotation_group","delete_annotation_group","assign_annotation_to_group"],spatialPrimitives:[],systemPrompt:bI,maxIterations:3},[bg.CAMERA]:{modelTier:bP,tools:["set_camera_to_broadcast_angle"],spatialPrimitives:[],systemPrompt:bC,maxIterations:1},[bg.BROADCAST]:{modelTier:bP,tools:["check_camera_angle","analyze_live_footage_cv","a
402pply_broadcast_cv_reconstruction","analyze_live_footage","search_web","update_team_players","update_team_info","carry_ball"],spatialPrimitives:[],systemPrompt:bN,maxIterations:5},[bg.ANALYSIS]:{modelTier:bP,tools:["get_pitch_state","get_scenario_state","save_artifact","capture_scene_screenshot"],spatialPrimitives:[],systemPrompt:bT,maxIterations:2},[bg.SPATIAL]:{modelTier:bP,tools:[],spatialPrimitives:["measure_distance","find_players_between","count_lines_between","find_nearest","sample_density","get_team_shape"],systemPrompt:bA,maxIterations:3}};async function bD({step:e,pitchState:t,scenarioState:n,brief:r,images:i,toolResults:a,playerPositions:o,spendContext:s,signal:l},c){let u=await fetch("/api/agent/execute",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({step:e,pitchState:t,scenarioState:n||void 0,brief:r||void 0,images:i||void 0,toolResults:a||void 0,playerPositions:o||void 0,spendContext:s||void 0}),signal:l});if(!u.ok){let t=await u.json().catch(()=>({error:"Builder request failed"}));t?.budget&&c?.({type:"spend_budget",budget:t.budget,phase:"error"});let n=Error(t.error||`Builder failed for ${e.type}`);throw t?.refusal&&(n.refusal=!0,n.scopeDecision=t.scopeDecision),n}let d=await u.json(),m=d?.spendBudgetAfter||d?.spendBudget;return m&&c?.({type:"spend_budget",budget:m,phase:d?.spendBudgetAfter?"after_spend":"reserved"}),d}async function bM({builderType:t,brief:n,actionGroup:r,images:i,spendContext:a,signal:o,shouldPause:l},c){let u=function(e){let t=bE[e];if(!t)throw Error(`Unknown builder type: ${e}`);return t}(t),d=(0,sa.getSession)(),m=u.maxIterations||3;d?.logStep("builder_start",{builder:t,actionGroup:r,brief:n?.substring(0,100)}),(0,oR.recordDelta)(r,t,n?.substring(0,200)||t);let p=[],h=[],f="",g=null,x=0;xD(a||null);try{for(let u=0;u<m;u++){bc(o),d?.logStep("builder_iteration",{builder:t,iteration:u,actionGroup:r});let b=(0,oR.buildFocusedPitchState)("full",{includeDeltas:u>0}),y=(0,si.serializeScenarioState)(),v={type:t,goal:n,context:""},w=s.usePlayerStore.getState(),_=[...(w.teamAPlayers||[]).map(e=>({id:e.id,name:e.name,team:"A",number:e.number,positionGroup:e.positionGroup,x:e.position?.[0]??0,z:e.position?.[2]??0})),...(w.teamBPlayers||[]).map(e=>({id:e.id,name:e.name,team:"B",number:e.number,positionGroup:e.positionGroup,x:e.position?.[0]??0,z:e.position?.[2]??0}))],k=await bD({step:v,pitchState:b,scenarioState:y,brief:n,images:0===u?i:void 0,toolResults:p.length>0?p:void 0,playerPositions:_,spendContext:a,signal:o},c);if(k.llmExchange){d?.logStep("builder_llm_exchange",{...k.llmExchange,iteration:u});let t=k.llmExchange.tokenUsage;if(t){let n=t.promptTokens||0,r=t.completionTokens||0;Promise.all([e.A(148683),e.A(238153)]).then(([{useAgentStore:e},{computeCost:t}])=>{let i=t(k.llmExchange.model,n,r);e.getState().addBuilderUsage(n,r,i.total)})}}let S=k.tool_calls&&Array.isArray(k.tool_calls)?k.tool_calls.map(e=>{let t="string"==typeof e.function?.arguments?JSON.parse(e.function.arguments):e.function?.arguments||{};return{id:e.id,name:e.function?.name,args:t}}):[];if(0===S.length){if("broadcast"===t&&h.some(e=>"check_camera_angle"===e.name&&e.success)&&!h.some(e=>"analyze_live_footage_cv"===e.name||"analyze_live_footage"===e.name||"apply_broadcast_cv_reconstruction"===e.name||"update_team_players"===e.name)){let e=k.llmExchange?.finishReason==="MALFORMED_FUNCTION_CALL"?"malformed_followup_tool_call":"missing_followup_tool_call";d?.logStep("builder_cv_auto_analyze",{builder:t,iteration:u,reason:e,message:"Running broadcast CV analysis after successful camera suitability check."});let n=await bd([{name:"analyze_live_footage_cv",args:{}}],r,d,c,h,_,o);h.push(...n);let i=n.find(e=>"analyze_live_footage_cv"===e.name);if(!i?.success){f=i?.result?.error||i?.error||"Broadcast CV analysis failed.";break}d?.logStep("builder_cv_auto_apply",{builder:t,iteration:u,reason:"auto_analysis_success",message:"Applying cached broadcast CV reconstruction after automatic analysis."});let a=await bd([{name:"apply_broadcast_cv_reconstruction",args:{optionName:"auto"}}],r,d,c,h,_,o);h.push(...a);let s=a.find(e=>e.success);f=s?.result?.message||a[0]?.result?.error||a[0]?.error||"Applied cached broadcast CV reconstruction.";break}if("broadcast"===t&&h.some(e=>"analyze_live_footage_cv"===e.name&&e.success)&&!h.some(e=>"apply_broadcast_cv_reconstruction"===e.name||"update_team_players"===e.name)){let e=k.llmExchange?.finishReason==="MALFORMED_FUNCTION_CALL"?"malformed_followup_tool_call":"missing_followup_tool_call";d?.logStep("builder_cv_auto_apply",{builder:t,iteration:u,reason:e,message:"Applying c
402ached broadcast CV reconstruction after successful analysis."});let n=await bd([{name:"apply_broadcast_cv_reconstruction",args:{optionName:"auto"}}],r,d,c,h,_,o);h.push(...n);let i=n.find(e=>e.success);f=i?.result?.message||n[0]?.result?.error||n[0]?.error||"Applied cached broadcast CV reconstruction.";break}f=k.text||k.reasoning||f;break}if(l?.()){d?.logStep("builder_pause_requested",{builder:t,iteration:u,boundary:"before_tool_batch"}),f="Paused before applying the next tactical edits.";break}if(sp(S)){x+=1;let e=await bd(S,r,d,c,h,_,o);h.push(...e);let n=bm(S,e,k.rawModelParts);if(p.push(...n),x>=2){d?.logStep("builder_consultation_stop",{builder:t,iteration:u,message:"Two consecutive consultation-only iterations — stopping after returning state"});break}continue}x=0;let j=S.filter(e=>(function(e,t=[]){if(!e?.name)return!1;let n=JSON.stringify(e.args||{});return t.some(t=>t&&t.name===e.name&&JSON.stringify(t.args||{})===n)})(e,h));if(j.length>0&&j.length===S.length){d?.logStep("builder_repeat_stop",{builder:t,iteration:u,tools:j.map(e=>e.name),message:"Every call in this batch repeats an earlier one with the same arguments — stopping."});break}let $="broadcast"===t?S.find(e=>"apply_broadcast_cv_reconstruction"===e.name):null,I=$?[$]:S;$&&S.length>1&&d?.logStep("builder_cv_apply_batch_trim",{builder:t,iteration:u,droppedTools:S.filter(e=>e!==$).map(e=>e.name),message:"Broadcast CV apply is terminal; dropping same-turn follow-up tools."});let C=JSON.stringify(I.map(e=>({n:e.name,a:e.args})));if(C===g){d?.logStep("builder_dedup_stop",{builder:t,iteration:u,message:"Identical tool calls detected — stopping to prevent duplication"});break}g=C;let N=new Set(["update_team_players","update_team_info"]),T=new Set(h.map(e=>e.name));if(I.some(e=>N.has(e.name)&&T.has(e.name))&&u>0){d?.logStep("builder_repeat_stop",{builder:t,iteration:u,message:"Builder repeating destructive tools — stopping to prevent overwrite"});break}let A=await bd(I,r,d,c,h,_,o);h.push(...A);let P="broadcast"===t?A.find(e=>"apply_broadcast_cv_reconstruction"===e.name):null;if(P){f=P.success?P.result?.message||"Applied cached broadcast CV reconstruction.":P.result?.error||P.error||"Broadcast CV reconstruction failed.",d?.logStep("builder_cv_apply_stop",{builder:t,iteration:u,success:P.success,message:"Broadcast CV reconstruction apply attempted; stopping before follow-up scene mutations."});break}if(l?.()){d?.logStep("builder_pause_requested",{builder:t,iteration:u,boundary:"after_tool_batch"}),f=f||"Paused after the current tactical edits.";break}let E=bm(I,A,k.rawModelParts);p.push(...E);let D=function({builderType:e,toolCalls:t,results:n=[],iteration:r,maxIterations:i}){return r+1>=i?{continue:!1,reason:"max_iterations"}:t.some(e=>!sm.has(e.name))?sd.has(e)?{continue:!0,reason:"staged_builder"}:n.some(e=>e&&!1===e.success)?{continue:!0,reason:"failed_tool_retry"}:!function(e=[]){return e.some(e=>!!e&&!1!==e.success&&e.result?.interception_warning?.severity==="block")}(n)?{continue:!1,reason:"edits_applied"}:{continue:!0,reason:"actionable_warning"}:{continue:!1,reason:"no_productive_tools"}}({builderType:t,toolCalls:I,results:A,iteration:u,maxIterations:m});if(!D.continue){d?.logStep("builder_loop_stop",{builder:t,iteration:u,reason:D.reason,toolsApplied:A.map(e=>e.name)}),f=f||sh(A);break}}}finally{xD(null)}let b=bo(),y=b.warnings||[],v=h.filter(e=>e&&!1===e.success).map(e=>{let t=e.result?.error||e.error||"failed",n=e.result?.instructions||e.result?.fallback;return n?`${e.name}: ${t} (${n})`:`${e.name}: ${t}`}),w=[...b.errors||[],...v];w.length>0&&d?.logStep("validation_error",{count:w.length,details:w.map(e=>({type:e.type||"unknown",message:e.message||"",affected:e.affected||null,fix_hint:e.fix_hint||null}))}),y.length>0&&d?.logStep("validation_warning",{count:y.length,details:y.map(e=>({type:e.type||"unknown",message:e.message||"",affected:e.affected||null}))}),!f&&h.length>0&&(f=sh(h));let _=h.some(e=>e&&!1!==e.success&&!sm.has(e.name)),k="broadcast"!==t||h.some(e=>e&&!1!==e.success&&"apply_broadcast_cv_reconstruction"===e.name),S={summary:f||`${t} builder completed (${h.length} tool calls)`,toolsUsed:h.map(e=>e.name),warnings:y.map(e=>e.message||e),errors:w.map(e=>e.message||e),changed:_&&k,reconstructionApplied:k};return d?.logStep("builder_done",{builder:t,actionGroup:r,toolCallCount:h.length,warningCount:y.length,errorCount:w.length,summary:S.summary}),S}let bz={formation:bg.FORMATION,movement:bg.MOVEMENT,structure:bg.STRUCTURE,annotation:bg.ANNOTATION,camera:bg.CAMERA,spatial:bg.SPATIAL},bF=[/\bfollow\b/,/\b(?:whole team|entire team|team|players|line|block|shape)\b.*\bfollow\b/,/\bfollow\b.*\b(?:whole team|entire team|team|players|line|block|shape)\b/,/\bshift\b/,/\bshift\b.*\b(?:team|players|line|block|shape|right|left|up|down)\b/,/\b(?:team|players|line|block|shape)\b.*\bshift\b/,/\bpush\b.*\b(?:team|players|line|block)\b.*\bup\b/,/\bpush up\b/,/\bpush up\b.*\b(?:team|players|line|block)\b/,/\b(?:team|players|line|block)\b.*\bpush(?:es)? up\b/,/\bpress high\b/,/\bhigh press\b/,/\bon attack\b/,/\bon defense\b/,/\bon defence\b/,/\bteam\b[\s\S]{0,24}\b(?:attacks?|attacking|attackin)\b/,/\b(?:attacks?|attacking|attackin)\b[\s\S]{0,24}\bteam\b/,/\bteam\b[\s\S]{0,24}\b(?:defends?|defending|defence|defense)\b/,/\bteam\b[\s\S]{0,24}\b(?:press(?:es|ing)?)\b/,/\b(?:press(?:es|ing)?)\b[\s\S]{0,24}\bteam\b/,/\b(?:defends?|defending)\b[\s\S]{0,24}\bteam\b/,/\bdrop back\b/,/\bsit deeper\b/,/\b(?:high|deep(?:er)?|low|offside) line\b/],bO=[/\barrow\b/,/\bfleche\b/,/\blabel\b/,/\btext\b/,/\bannotation\b/,/\boverlay\b/,/\bdraw\b/,/\bdrawing\b/,/\bcircle\b/,/\brectangle\b/,/\bhighlight\b/,/\bsurligne\b/],bL=[/\brun\b/,/\bruns\b/,/\bmovement\b/,/\bmovements\b/,/\bpass\b/,/\bpassing\b/,/\bpassing sequence\b/,/\bcarry\b/,/\bdribble\b/,/\banimate\b/,/\banimation\b/,/\btimeline\b/,/\btimed\b/,/\bshot\b/,/\bshoot\b/,/\bbomb\w*\b/,/\blong ball\b/,/\bcross\b/,/\boverlap(?:ping)? run\b/,/\bthird[- ]man run\b/,/\bone[- ]two\b/,/\bappel\b/,/(?<!\bof\s)(?<!\bthe\s)\bcourse\b/,/\bmouvement\b/,/\bmouvements\b/,/\bpasse\b/,/\bpasses\b/,/\bconduite\b/,/\bdribble\b/,/\btir\b/,/\bcentre\b(?!\s*-?\s*(?:backs?|forwards?|midfielders?|circle|halves|half))/,/\b\d+\s*s\s
402*(?:to|-|->|a)\s*\d+\s*s\b/],bR=[/\bhow far\b/,/\bhow many\b/,/\bdistance\b/,/\bnearest\b/,/\bclosest\b/,/\bplayers between\b/,/\bopponents between\b/,/\bcount\b/,/\bmeasure\b/,/\bcombien\b/,/\bdistanc/,/\bplus proche\b/,/\bmesure/],bB=/\bzones?\b/,bU=[/\breduce\b/,/\bincrease\b/,/\btighten\b/,/\bsqueeze\b/,/\bspread\b/,/(?:^|\b(?:and|then|please)\s+)close\b|\bclose\s+(?:the|it|them|down|up)\b/,/\breduis\b/,/\baugmente\b/,/\bresserre\b/,/\becarte\b/],bZ=[{domain:"spatial",confidence:.9,complexity:0,patterns:bR},{domain:"annotation",confidence:.92,complexity:1,patterns:[/\barrow\b/,/\bfleche\b/,/\blabel\b/,/\btext\b/,/\bannotat/,/\boverlay\b/,/\bcircle\b/,/\brectangle\b/,/\bhighlight\b/,/\bsurligne/],genericPatterns:[/\bdraw\b/,/\bdrawing\b/,/\bshape\b/]},{domain:"structure",confidence:.9,complexity:1,patterns:[/\blinks?\b/,/\bpassing lanes?\b/,/\blanes?\b/,/\bconnect\b/,/\bconnections?\b/,bB,/\bcompactness\b/,/\bmarking\b/,/\bman[- ]?marking\b/,/\bman to man\b/,/\bmark\b/,/\bzonal\b/,/\btrap\b/,/\blien\b/,/\bconnecte\b/,/\bconnexion\b/,/\bmarquage\b/,/\bpiege\b/]},{domain:"movement",confidence:.89,complexity:1,patterns:bL},{domain:"formation",confidence:.9,complexity:1,patterns:[/\bformation\b/,/\b\d(?:\s\d){2,3}\b/,/\bswap\b/,/\bsqueeze\b/,/\bspread\b/,/\binvert(?:ed|ing)?\b/,/\btighten\b/,/\bcompact\b/,/\btuck\b/,/\bpush\b.*\b(?:higher|forward)\b/,/\b(?:reduce|close)\b.*\b(?:distance|gap|space)\b/,/\bdeeper\b/,/\bfinal third\b/,/\battacking shape\b/,/\bdefensive shape\b/,/\bdefending shape\b/,/\battack(?:ing|in)? in (?:the )?final third\b/,/\bdefend(?:ing|s)? in (?:a )?(?:low|mid|medium|high) block\b/,/\battack(?:ing|in)? (?:on|down|through) (?:the )?(?:right|left|flank|side|channel)\b/,/\bteam\b.*\battack(?:ing|in)?\b.*\b(?:right|left|flank|side|channel)\b/,/\bkickoff\b/,/\bat kickoff\b/,/\bwide[nr]\b/,/\bnarrow(?:er)?\b/,/\bline up\b/,/\blow block\b/,/\bmid block\b/,/\bcoup d envoi\b/,/\bdernier tiers\b/,/\bbloc bas\b/,/\bbloc median\b/,/\bligne(?:s)?\b/,/\breduis\b/,/\bresserre\b/,/\becarte\b/,...bF],genericPatterns:[/\bmove\b/,/\bplace\b/,/\bposition\b/,/\breposition\b/,/\bset up\b/,/\bsetup\b/,/\bdeplace\b/,/\bpositionne\b/]},{domain:"camera",confidence:.9,complexity:1,patterns:[/\bcamera\b/,/\bview\b/,/\bangle\b/,/\bbroadcast angle\b/,/\bperspective\b/,/\bzoom\b/,/\bvue\b/,/\bcadrage\b/,/\bangle de diffusion\b/]}
402],bG=[/\bwhat is\b/,/\bwhat are\b/],bW=[/\bshow me how\b/,/\bhow\b.*\bworks?\b/,/\bdemonstrate\b/,/\billustrate\b/,/\bmontre(?: moi)? comment\b/,/\btell me about\b/,...bG,/\bdescribe\b/,/\bexplain\b/,/\bexplaining\b/,/\bpedagogical\b/,/\bteaching\b/,/\bteach\b/,/\bcoaching point/,/\bwhy\b/,/\bhow does\b/,/\bhow to\b/,/\bdetailed\b/,/\bmore detailed\b/,/\bcomplete scene\b/,/\bbuild a complete\b/,/\bprofessional\b/,/\breport\b/,/\barticle\b/,/\banalysis artifact\b/,/\bexplique\b/,/\bexpliquer\b/,/\bpedagogique\b/,/\bdetaille\b/,/\bpoints de coaching\b/,/\bpourquoi\b/,/\bcomment\b/,/\brapport\b/,/\barticle\b/],bH=[/\bdelete\b/,/\bremove\b/,/\bclear\b/,/\breset\b/,/\breplace\b/,/\brebuild\b/,/\bwipe\b/,/\berase\b/,/\bstart over\b/,/\ball movements\b/,/\ball players\b/,/\bteam [ab]\b.*\breplace\b/,/\bsupprime\b/,/\bsupprimer\b/,/\bretire\b/,/\befface\b/,/\bvide\b/,/\breinitialise\b/,/\bremplace\b/,/\breconstruis\b/,/\btous les mouvements\b/,/\btoutes les courses\b/],bV=[/\bscreenshot\b/,/\bimage\b/,/\bphoto\b/,/\bfootage\b/,/\btv\b/,/\bframe\b/,/\bcv\b/,/\brecreate\b.*\b(scene|frame|screenshot|image|broadcast)\b/,/\breconstruct\b.*\b(scene|frame|screenshot|image|broadcast)\b/,/\banaly[sz]e\b.*\b(screenshot|image|frame|broadcast)\b/,/\bcapture d ecran\b/,/\bimage\b/,/\bphoto\b/,/\brecree\b.*\b(scene|image|capture|frame)\b/,/\breconstitue\b.*\b(scene|image|capture|frame)\b/,/\banalyse\b.*\b(image|capture|frame)\b/],bq=[/\battack(?:ing|in)?\b.*\b(?:top|bottom|left|right|corner|flank|side|channel|wide area|half space|final third|box)\b/,/\b(?:make|have)\b.*\bteam\b.*\battack(?:ing|in)?\b.*\b(?:top|bottom|left|right|corner|flank|side|channel|final third|box)\b/,/\battaqu(?:e|er)\b.*\b(?:haut|bas|gauche|droite|coin|cote|couloir|dernier tiers|surface)\b/],bK=[/^fix this\.?$/,/^fix it\.?$/,/^fix the shape\.?$/,/^corrige ca\.?$/,/^corrige ceci\.?$/,/^corrige la forme\.?$/,/^make it better\.?$/,/^improve this\.?$/,/^amelior[e]? ca\.?$/,/^change this\.?$/];function bJ(e,t){return t.some(t=>t.test(e))}function bX(e){return"spatial"===e?"router spatial query":`router direct ${e}`}function bY(e,t){let n=String(e||"").trim();return n||("spatial"===t?"Answer the spatial question.":`Execute the ${t} edit.`)}function bQ({userMessage:e="",images:t=[],chatHistory:n=[],conversationContext:r=n}={}){let i=String(e||""),a=function(e=""){return String(e||"").normalize("NFD").replace(/[\u0300-\u036f]/g,"").replace(/[’']/g," ").replace(/[^\p{L}\p{N}#]+/gu," ").replace(/\s+/g," ").trim().toLowerCase()}(i),o=[],s=Array.isArray(t)&&t.some(e=>e),l=0===a.length,c=sr({userMessage:i,images:t,conversationContext:r});if(c.scope===oJ.SUPPORT)return bk({mode:bb.SUPPORT,selectedBuilder:null,confidence:c.confidence,complexity:0,risk:by.LOW,requiresArchitect:!1,actionGroup:"router support",brief:bY(i,"support"),reasons:c.reasons,scope:c.scope,scopeDecision:c});if(c.scope===oJ.REFUSE)return bk({mode:bb.SCOPE_REFUSAL,selectedBuilder:null,confidence:c.confidence,complexity:0,risk:by.LOW,requiresArchitect:!1,actionGroup:"router scope refusal",brief:bY(i,"scope-refusal"),reasons:c.reasons,scope:c.scope,scopeDecision:c});if(c.scope===oJ.UNKNOWN){let e="clarify"===c.resolution;return bk({mode:e?bb.SCOPE_CLARIFICATION:bb.SCOPE_AI_CHECK,selectedBuilder:null,confidence:c.confidence,complexity:0,risk:by.LOW,requiresArchitect:!1,actionGroup:e?"router scope clarification":"router scope ai check",brief:bY(i,e?"scope-clarification":"scope-ai-check"),reasons:c.reasons,scope:c.scope,scopeDecision:c})}if(!s&&st(i))return bk({mode:bb.FAST_ARCHITECT,confidence:c.confidence,complexity:1,risk:by.LOW,requiresArchitect:!0,actionGroup:"router scene inspection",brief:i,reasons:[...c.reasons,"scene_inspection_follow_up"],scope:c.scope,scopeDecision:c});if(s)return o.push("attached_image"),bk({mode:bb.DIRECT_BUILDER,selectedBuilder:bg.BROADCAST,confidence:.98,complexity:4,risk:by.HIGH,requiresArchitect:!1,requiresImageReasoning:!0,actionGroup:"router broadcast reconstruction",brief:bY(i,"broadcast"),reasons:o,modelPolicy:{architectTier:"none",builderTier:"lite",verifierTier:"none"}});if(bJ(a,bV))return o.push("broadcast_reconstruction_signal"),bk({mode:bb.BROADCAST_ARCHITECT,selectedBuilder:bg.BROADCAST,confidence:.92,complexity:4,risk:by.HIGH,requiresArchitect:!0,requiresImageReasoning:!0,actionGroup:"router broadcast reconstruction",brief:bY(i,"broadcast"),reasons:o,modelPolicy:{architectTier:"fast",builderTier:"lite",verifierTier:"none"}});let u=bW.filter(e=>e.test(a)),d=u.length>0&&u.every(e=>bG.includes(e))&&bJ(a,bR);if(u.length>0&&!d)return o.push("pedagogical_or_explanatory_intent"),bk({mode:bb.PEDAGOGICAL_ARCHITECT,selectedBuilder:null,confidence:.94,complexity:4,risk:by.MEDIUM,requiresArchitect:!0,isPedagogical:!0,actionGroup:"router pedagogical request",brief:bY(i,"pedagogical"),reasons:o});if(bJ(a,bH))return o.push("destructive_or_bulk_intent"),bk({mode:bb.FAST_ARCHITECT,selectedBuilder:null,confidence:.9,complexity:3,risk:by.HIGH,requiresArchitect:!0,requiresApproval:!0,isDestructive:!0,actionGroup:"router destructive request",brief:bY(i,"destructive"),reasons:o});if(bJ(a,bq)&&!bJ(a,bL))return o.push("directional_attack_static_posture"),bk({mode:bb.DIRECT_BUILDER,selectedBuilder:bg.FORMATION,confidence:.91,complexity:1,risk:by.LOW,requiresArchitect:!1,actionGroup:"router direct formation",brief:bY(i,"formation"),reasons:o});if(l||3>
402=(a?a.split(/\s+/).filter(Boolean).length:0)&&bJ(a,bK))return o.push(l?"empty_request":"ambiguous_short_command"),bk({mode:bb.FALLBACK_ARCHITECT,selectedBuilder:null,confidence:l?.2:.4,complexity:2,risk:by.MEDIUM,requiresArchitect:!0,actionGroup:"router ambiguous request",brief:bY(i,"fallback"),reasons:o});let m=function(e){let t=[];for(let n of bZ){let r=n.patterns.filter(t=>t.test(e)),i=(n.genericPatterns||[]).filter(t=>t.test(e));r.length+i.length>0&&t.push({domain:n.domain,confidence:n.confidence,complexity:n.complexity,matchCount:r.length+i.length,matched:r})}t.some(e=>e.matched.length>0)&&(t=t.filter(e=>e.matched.length>0)),t.some(e=>"spatial"===e.domain)&&/^\s*(?:how|what|which|who|where|combien|quelle?|qui|ou)\b/.test(e)&&!bJ(e,bU)&&(t=t.filter(e=>"spatial"===e.domain)),t.some(e=>"movement"===e.domain)&&/\b\d+\s*s\s*(?:to|-|->|a)\s*\d+\s*s\b/.test(e)&&(t=t.filter(e=>"formation"!==e.domain)),t.some(e=>"structure"===e.domain)&&/\b(passing lanes?|lanes?|links?|connections?|connect|liens?|connexions?)\b/.test(e)&&!/\b(runs?|sprint|dribble|carr(?:y|ies)|pass(?:es)?|cross(?:es)?|shoot|shot|animate|animation|timeline|overlap|courses?|appels?)\b/.test(e)&&(t=t.filter(e=>"movement"!==e.domain));let n=t.find(e=>"structure"===e.domain);return t.some(e=>"annotation"===e.domain)&&n&&n.matched.every(e=>e===bB)&&(t=t.filter(e=>"structure"!==e.domain)),t.length>1&&bJ(e,bU)&&(t=t.filter(e=>"spatial"!==e.domain)),t.some(e=>"formation"===e.domain)&&bJ(e,bF)&&!bJ(e,bO)&&(t=t.filter(e=>"annotation"!==e.domain)),t}(a),p=[...new Set(m.map(e=>e.domain))];if(p.length>1)return o.push(`multiple_domains:${p.join(",")}`),bk({mode:bb.FAST_ARCHITECT,selectedBuilder:null,confidence:.78,complexity:3,risk:by.MEDIUM,requiresArchitect:!0,actionGroup:"router multi builder request",brief:bY(i,"multi-builder"),reasons:o});if(1===p.length){let e=m[0],t=bz[e.domain],n=Math.min(.96,e.confidence+Math.min(.04,(e.matchCount-1)*.01));return(o.push(`single_domain:${e.domain}`),n<.85)?(o.push("low_confidence"),bk({mode:bb.FALLBACK_ARCHITECT,selectedBuilder:t,confidence:n,complexity:2,risk:by.MEDIUM,requiresArchitect:!0,actionGroup:"router low confidence",brief:bY(i,e.domain),reasons:o})):"spatial"===e.domain?bk({mode:bb.SPATIAL_DIRECT,selectedBuilder:t,confidence:n,complexity:e.complexity,risk:by.LOW,requiresArchitect:!1,actionGroup:bX(e.domain),brief:bY(i,e.domain),reasons:o}):bk({mode:bb.DIRECT_BUILDER,selectedBuilder:t,confidence:n,complexity:e.complexity,risk:by.LOW,requiresArchitect:!1,actionGroup:bX(e.domain),brief:bY(i,e.domain),reasons:o})}return o.push("no_confident_domain_match"),bk({mode:bb.FALLBACK_ARCHITECT,selectedBuilder:null,confidence:.45,complexity:2,risk:by.MEDIUM,requiresArchitect:!0,actionGroup:"router fallback",brief:bY(i,"fallback"),reasons:o})}let b0=new Set([bb.SUPPORT,bb.SCOPE_REFUSAL,bb.SCOPE_CLARIFICATION]),b1=new Set(["formation","movement","structure","annotation","camera","spatial","architect"]),b2={spatial:bb.SPATIAL_DIRECT,architect:bb.FAST_ARCHITECT};
402async function b5({userMessage:e,conversationContext:t,spendContext:n,signal:r,fetchImpl:i}){let a=i||globalThis.fetch,o=AbortSignal.timeout(2500),s=r?AbortSignal.any([r,o]):o,l=await a("/api/agent/router",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({userMessage:e,conversationContext:t,spendContext:n}),signal:s});if(!l.ok)return null;let c=await l.json();return b1.has(c?.handler)?c.handler:null}async function b4({userMessage:e,images:t,chatHistory:n,conversationContext:r,spendContext:i,signal:a,fetchImpl:o}={}){var s,l,c;let u=bQ({userMessage:e,images:t,chatHistory:n,conversationContext:r});if(!(!(!u||b0.has(u.mode))&&!u.requiresImageReasoning&&u.selectedBuilder!==bg.BROADCAST&&1))return{decision:u,source:"regex",reason:"not_the_models_call"};let d=null,m=null;try{d=await (s={userMessage:e,conversationContext:r,spendContext:i,signal:a,fetchImpl:o},Promise.race([b5(s),new Promise((e,t)=>{let n=setTimeout(()=>{let e=Error("smart router timed out");e.name="TimeoutError",t(e)},2500);n.unref?.()})]))}catch(e){m=e?.name==="TimeoutError"||e?.name==="AbortError"?"timeout":"error"}if(!d)return{decision:u,source:"regex",reason:m||"no_handler"};let p=(l=u,(c=d)?"architect"===c?l.requiresArchitect?l:bk({...l,mode:bb.FAST_ARCHITECT,selectedBuilder:null,requiresArchitect:!0,confidence:.86,actionGroup:"router llm architect",reasons:[...l.reasons||[],"llm_router_architect"]}):c!==l.selectedBuilder||l.requiresArchitect?bk({...l,mode:b2[c]||bb.DIRECT_BUILDER,selectedBuilder:c,requiresArchitect:!1,confidence:.9,risk:l.isDestructive?l.risk:by.LOW,actionGroup:`router llm ${c}`,reasons:[...l.reasons||[],`llm_router_${c}`]}):l:l);return{decision:p,source:"llm",handler:d,agreed:p===u}}var b3=e.i(674246);let b6=Object.freeze({UP:"up",DOWN:"down"});function b8(e,t,n,r){if("function"!=typeof e||"function"==typeof e.has&&!e.has(t))return n;try{let i=r?e(t,r):e(t);return i&&i!==t?i:n}catch{return n}}function b9(e=""){return String(e||"").replaceAll("_"," ").replace(/\s+/g," ").trim().split(" ").filter(Boolean).map(e=>e[0]?.toUpperCase()+e.slice(1)).join(" ")}Object.freeze({interactionId:120,sessionId:160,comment:4e3,userMessage:2e4,assistantMessage:4e4}),Object.freeze({maxLimit:1e4}),Object.values(b6);let b7={formation:{emoji:"👥",label:"Team shape",action:"Adjusting the team shape..."},movement:{emoji:"⚽",label:"Movement pattern",action:"Setting the movement timing..."},structure:{emoji:"🧩",label:"Tactical links",action:"Building the tactical structure..."},annotation:{emoji:"✏️",label:"Tactical board",action:"Drawing the tactical board..."},camera:{emoji:"🎥",label:"Camera view",action:"Setting the match view..."},broadcast:{emoji:"📺",label:"Broadcast read",action:"Reconstructing the broadcast frame..."},analysis:{emoji:"📝",label:"Tactical note",action:"Preparing the tactical note..."},spatial:{emoji:"📐",label:"Pitch geometry",action:"Checking pitch distances..."}},ye={get_pitch_state:"Reading recent scene changes",get_scenario_state:"Checking the current phase notes",get_scene_state:"Reading the current formation",create_player:"Adding a player to the pitch",update_player:"Updating a player profile",update_team_players:"Repositioning the players",delete_team_players:"Clearing selected players",delete_player:"Removing a player",update_team_info:"Updating team setup",create_man_marking:"Adding a man-marking cue",create_zonal_marking:"Adding a zonal marking cue",create_link:"Drawing a tactical connection",update_link:"Adjusting a tactical connection",delete_link:"Removing a tactical connection",create_zone:"Highlighting a tactical zone",update_zone:"Adjusting a tactical zone",delete_zone:"Removing a tactical zone",delete_marking:"Removing a marking cue",create_annotation:"Adding a visual cue",create_curved_arrow_annotation:"Adding a curved arrow",create_annotations:"Adding visual cues",update_annotations:"Updating visual cues",edit_annotation:"Updating one visual cue",delete_annotation:"Removing a visual cue",create_annotation_group:"Creating an overlay layer",update_annotation_group:"Updating an overlay layer",assign_annotation_to_group:"Organizing the overlay layer",delete_annotation_group:"Removing an overlay layer",carry_ball:"Setting a ball carry",pass_ball:"Setting a pass",add_player_movement:"Drawing a player run",add_curved_player_movement:"Drawing a curved player run",remove_player_movement:"Removing a player run",clear_player_movements:"Clearing player runs",reset_ball_state:"Resetting ball timing",save_artifact:"Preparing the tactical note",search_web:"Checking outside tactical context",get_current_date:"Checking the current date",analyze_live_footage:"Reading the broadcast footage",check_camera_angle:"Checking the camera angle",analyze_live_footage_cv:"Detecting players from the image",apply_broadcast_cv_reconstruction:"Applying the detected scene",set_camera_to_broadcast_angle:"Setting a broadcast camera angle",capture_scene_screenshot:"Capturing the tactical board",measure_distance:"Measuring a pitch distance",find_players_between:"Checking players between the lines",count_lines_between:"Counting lines between players",find_nearest:"Finding the nearest player",sample_density:"Reading local player density",get_team_shape:"Reading the team shape"},yt={get_pitch_state:"📋",get_scenario_state:"🧾",get_scene_state:"📋",create_player:"👤",update_player:"✏️",update_team_players:"👥",delete_team_players:"🧹",delete_player:"🧹",update_team_info:"🏟️",create_man_marking:"🛡️",create_zonal_marking:"🟦",create_link:"🔗",update_link:"🔗",delete_link:"🧹",create_zone:"🔶",update_zone:"🔶",delete_zone:"🧹",delete_marking:"🧹",create_annotation:"✏️",create_curved_arrow_annotation:"✏️",create_annotations:"✏️",update_annotations:"✏️",edit_annotation:"✏️",delete_annotation:"🧹",create_annotation_group:"🗂️",update_annotation_group:"🗂️",assign_annotation_to_group:"🗂️",delete_annotation_group:"🧹",carry_ball:"⚽",pass_ball:"⚽",add_player_movement:"🏃",add_curved_player_movement:"🏃",remove_player_movement:"🧹",clear_player_movements:"🧹",reset_ball_state:"⚽",save_artifact:"📝",search_web:"🌐",get_current_date:"📅",analyze_live_footage:"📺",check_camera_angle:"🎥",analyze_live_footage_cv:"🔍",apply_broadcast_cv_reconstruction:"👥",set_camera_to_broadcast_angle:"🎥",capture_scene_screenshot:"📸",measure_distance:"📐",find_players_between:"📐",count_lines_between:"📐",find_nearest:"📐",sample_density:"📐",get_team_shape:"📐"},yn={attached_image:"Image attached: reading the broadcast frame",broadcast_reconstruction_signal:"Broadcast-style request detected",pedagogical_or_explanatory_intent:"Needs a coaching explanation",destructive_or_bulk_intent:"Bulk scene change detected",directional_attack_requires_composed_plan:"Directional attack needs a composed tactical plan",empty_request:"No tactical instruction detected yet",ambiguous_short_command:"Short instruction needs tactical context",low_confidence:"Needs a safer tactical read",no_confident_domain_match:"No single tactical area was obvious",unsafe_or_harmful_request:"Outside the safe workspace",strong_off_topic_signal:"Outside football tactics and app workflows",football_scene_edit_intent:"Scene edit intent detected",opentactic_supp
402ort_intent:"Workspace help intent detected",ambiguous_scene_context:"Ambiguous scene request detected",football_domain_signal:"Football context detected",greeting:"Opening greeting detected",vague_help_request:"Needs a clearer coaching or workspace request",no_supported_scope_signal:"Needs a football or workspace signal"};function yr(e,t){let n=Object.prototype.hasOwnProperty.call(b7,e),r=b7[e]||{emoji:"⚡",label:b9(e||"Scene work"),action:`Working on ${b9(e||"the scene").toLowerCase()}...`};return{emoji:r.emoji,label:n?b8(t,`traceBuilderLabels.${e}`,r.label):r.label,action:n?b8(t,`traceBuilderActions.${e}`,r.action):r.action}}function yi(e,t,n){let r=Object.prototype.hasOwnProperty.call(ye,e),i=ye[e]||`Working on ${b9(e||"scene action").toLowerCase()}`,a=r?b8(n,`traceToolDetails.${e}`,i):i,o=yt[e]||"⚡",s=function(e=""){let t=String(e||"").replace(/\s+/g," ").trim();return!t||/^returned (changes summary|scenario state)$/i.test(t)?"":t}(t?.message||t?.error||"");return s?`${o} ${a} - ${s}`:`${o} ${a}`}function ya(e){let t,n,a,o,s=(0,i.c)(6),{size:l}=e,c=void 0===l?14:l;s[0]===Symbol.for("react.memo_cache_sentinel")?(t=[{x:1,y:0},{x:2,y:0},{x:3,y:0},{x:4,y:0},{x:0,y:1},{x:1,y:1},{x:2,y:1},{x:3,y:1},{x:4,y:1},{x:0,y:2},{x:1,y:2},{x:2,y:2},{x:3,y:2}],s[0]=t):t=s[0];let u=t,d=.65*c;return s[1]===Symbol.for("react.memo_cache_sentinel")?(n=u.map(yo),a=(0,r.jsx)("style",{children:"@keyframes logoPulse { 0%, 100% { opacity: 0.35; } 50% { opacity: 1; } }"}),s[1]=n,s[2]=a):(n=s[1],a=s[2]),s[3]!==c||s[4]!==d?(o=(0,r.jsxs)("svg",{width:c,height:d,viewBox:"0 0 55 35",className:"shrink-0",children:[n,a]}),s[3]=c,s[4]=d,s[5]=o):o=s[5],o}function yo(e,t){return(0,r.jsx)("rect",{x:11*e.x+1,y:11*e.y+1,width:"9",height:"9",rx:"2",fill:`hsl(142, ${50+t%4*10}%, ${35+t%3*8}%)`,style:{animation:"logoPulse 2s ease-in-out infinite",animationDelay:`${.12*t}s`}},t)}function ys(e){return e&&0!==e?e<.01?`$${e.toFixed(4)}`:e<1?`$${e.toFixed(3)}`:`$${e.toFixed(2)}`:"$0"}function yl(e){let t=Number(e?.euro||0);return Number.isFinite(t)?t:0}function yc(e){return!Number.isFinite(e)||e<=0?"€0.00":e<.01?`€${e.toFixed(4)}`:`€${e.toFixed(2)}`}function yu(e){let t,n,a,o,s,l,c,u,d,m,p,h,f,g,x,b,y,v,w,_,k,S=(0,i.c)(55),{budget:j,t:$}
402=e,I="fr"===(0,e1.useLocale)()?"/fr/founding-testers":"/founding-testers";if(S[0]!==j||S[1]!==$){m=Symbol.for("react.early_return_sentinel");e:{let e,i,p;if(!(a=function(e){let t=!!(e?.unlimited||e?.daily?.unlimited||e?.daily?.limitEnforced===!1),n=yl(e?.daily?.allowance),r=yl(e?.daily?.spent),i=yl(e?.daily?.reserved),a=yl(e?.daily?.credits);if(t)return{unlimited:!0,allowance:n,used:r,remaining:1/0,percent:0,credits:a,committed:r,reserved:i,graceActive:!1};if(n<=0)return null;let o=e?.daily?.remaining?yl(e.daily.remaining):n-r-i,s=Math.max(0,Math.min(n,o)),l=Math.min(n,Math.max(0,n-s)),c=Math.min(100,Math.round(l/n*100));return{allowance:n,used:l,remaining:s,percent:c,credits:a,committed:r,reserved:i,graceActive:!!e?.daily?.graceActive}}(j))){m=null;break e}t=a.percent>=90?"bg-red-400":a.percent>=75?"bg-amber-300":"bg-emerald-400",n=a.unlimited?a.reserved>0?$("spendReservedHint",{amount:yc(a.reserved),remaining:"∞"}):`${$("spendExactCost")} \xb7 ${$("spendNoHiddenMargin")}`:a.credits>0?$("spendFeedbackCredits",{amount:yc(a.credits)}):a.reserved>0?$("spendReservedHint",{amount:yc(a.reserved),remaining:yc(a.remaining)}):$(a.graceActive?"spendGraceHint":"spendFeedbackHint"),u="px-3 pb-2",S[12]!==$?(e=$("spendExactCost"),S[12]=$,S[13]=e):e=S[13],S[14]!==$?(i=$("spendNoHiddenMargin"),S[14]=$,S[15]=i):i=S[15],d=`${e} \xb7 ${i}`,l="flex items-center justify-between gap-2 text-[10px] leading-none",S[16]!==$?(p=$("spendDailyLabel"),S[16]=$,S[17]=p):p=S[17],S[18]!==p?(c=(0,r.jsx)("span",{className:"min-w-0 truncate font-medium text-white/55",children:p}),S[18]=p,S[19]=c):c=S[19],o="shrink-0 text-white/40",s=a.unlimited?`${yc(a.used)} / ∞`:$("spendDailyValue",{used:yc(a.used),limit:yc(a.allowance),percent:a.percent})}S[0]=j,S[1]=$,S[2]=t,S[3]=n,S[4]=a,S[5]=o,S[6]=s,S[7]=l,S[8]=c,S[9]=u,S[10]=d,S[11]=m}else t=S[2],n=S[3],a=S[4],o=S[5],s=S[6],l=S[7],c=S[8],u=S[9],d=S[10],m=S[11];return m!==Symbol.for("react.early_return_sentinel")?m:(S[20]!==o||S[21]!==s?(p=(0,r.jsx)("span",{className:o,children:s}),S[20]=o,S[21]=s,S[22]=p):p=S[22],S[23]!==l||S[24]!==c||S[25]!==p?(h=(0,r.jsxs)("div",{className:l,children:[c,p]}),S[23]=l,S[24]=c,S[25]=p,S[26]=h):h=S[26],S[27]!==t||S[28]!==a.percent||S[29]!==a.unlimited?(f=a.unlimited?(0,r.jsx)("div",{className:"mt-1.5 h-1 overflow-hidden rounded-full bg-white/10",children:(0,r.jsx)("div",{className:"h-full rounded-full bg-gradient-to-r from-emerald-400/70 via-cyan-300/70 to-emerald-400/70"})}):(0,r.jsx)("div",{className:"mt-1.5 h-1 overflow-hidden rounded-full bg-white/10",children:(0,r.jsx)("div",{className:`relative h-full overflow-hidden rounded-full transition-all duration-500 ${t}`,style:{width:`${a.percent}%`},children:(0,r.jsx)("div",{className:"absolute inset-y-0 -left-1/3 w-1/2 animate-[agentBudgetShine_2.4s_ease-in-out_infinite] bg-white/35 blur-sm"})})}),S[27]=t,S[28]=a.percent,S[29]=a.unlimited,S[30]=f):f=S[30],S[31]!==$?(g=$("spendExactCost"),S[31]=$,S[32]=g):g=S[32],S[33]!==$?(x=$("spendNoHiddenMargin"),S[33]=$,S[34]=x):x=S[34],S[35]!==g||S[36]!==x?(b=(0,r.jsxs)("div",{className:"text-white/30",children:[g," · ",x]}),S[35]=g,S[36]=x,S[37]=b):b=S[37],S[38]!==n?(y=(0,r.jsx)("div",{className:"text-emerald-300/60",children:n}),S[38]=n,S[39]=y):y=S[39],S[40]!==j?.segment||S[41]!==I||S[42]!==$?(v=j?.segment==="free"&&(0,r.jsx)("a",{href:I,className:"inline-flex text-cyan-200/70 hover:text-cyan-100",children:$("spendFoundingTesterHint")}),S[40]=j?.segment,S[41]=I,S[42]=$,S[43]=v):v=S[43],S[44]!==b||S[45]!==y||S[46]!==v?(w=(0,r.jsxs)("div",{className:"mt-1 space-y-0.5 text-[9px] leading-tight",children:[b,y,v]}),S[44]=b,S[45]=y,S[46]=v,S[47]=w):w=S[47],S[48]===Symbol.for("react.memo_cache_sentinel")?(_=(0,r.jsx)("style",{children:"@keyframes agentBudgetShine { 0% { transform: translateX(0); opacity: 0; } 35% { opacity: 1; } 100% { transform: translateX(320%); opacity: 0; } }"}),S[48]=_):_=S[48],S[49]!==f||S[50]!==w||S[51]!==u||S[52]!==d||S[53]!==h?(k=(0,r.jsxs)("div",{className:u,title:d,children:[h,f,w,_]}),S[49]=f,S[50]=w,S[51]=u,S[52]=d,S[53]=h,S[54]=k):k=S[54],k)}async function yd(){let e=await fetch("/api/agent/spend-budget",{cache:"no-store"});if(!e.ok)return null;let t=await e.json().catch(()=>({}));return t?.budget||null}function ym(e){return e?{mode:e.mode,selectedBuilder:e.selectedBuilder,confidence:e.confidence,complexity:e.complexity,risk:e.risk,requiresArchitect:e.requiresArchitect,isPedagogical:e.isPedagogical,isDestructive:e.isDestructive,scope:e.scope,actionGroup:e.actionGroup,reasons:e.reasons}:null}
402async function yp({userMessage:e,conversationContext:t,spendContext:n,signal:r}){let i=await fetch("/api/agent/scope-check",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({userMessage:e,conversationContext:t,spendContext:n}),signal:r}),a=await i.json().catch(()=>({}));if(!i.ok){let e=Error(a?.error||a?.message||"Scope check failed");throw e.payload=a,e}return a}async function yh({userMessage:e,conversationContext:t,spendContext:n,scopePass:r,signal:i}){let a=await fetch("/api/agent/support",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({userMessage:e,conversationContext:t,spendContext:n,scopePass:r}),signal:i}),o=await a.json().catch(()=>({}));if(!a.ok){let e=Error(o?.error||o?.message||"Support request failed");throw e.payload=o,e}return o}let yf=["audio/webm;codecs=opus","audio/webm","audio/mp4","audio/ogg"];function yg(e){return new Promise(t=>{window.setTimeout(t,e)})}async function yx(e){let t=e?.getAudioTracks?.()[0];t?.readyState==="live"&&t.muted&&await Promise.race([new Promise(e=>{t.addEventListener("unmute",e,{once:!0})}),yg(600)]),await yg(180)}function yb(e){return"requesting_permission"===e||"recording"===e||"transcribing"===e}function yy(e){return e?.name==="AbortError"||e?.code===20||/aborted|cancelled|canceled/i.test(String(e?.message||""))}function yv(e,t=0){if(null==e||"object"!=typeof e)return"string"==typeof e&&e.length>200&&/^[A-Za-z0-9+/=]+$/.test(e)?`[base64_like_string_omitted:${e.length}]`:e;if(t>16)return"[max_depth_omitted]";if(Array.isArray(e))return e.map(e=>yv(e,t+1));let n={};for(let[r,i]of Object.entries(e)){let a=r.toLowerCase();if("base64"===a||"dataurl"===a||"data_url"===a||"data"===a&&"string"==typeof i&&e?.mimeType){n[r]=`[image_binary_omitted:${String(i||"").length}]`;continue}if("inlinedata"===a&&i&&"object"==typeof i){n[r]={mimeType:i.mimeType||null,data:`[image_binary_omitted:${String(i.data||"").length}]`};continue}n[r]=yv(i,t+1)}return n}function yw({submittedInput:e="",processedImages:t=[],routerDecision:n=null,feedbackSource:r=null}={}){let i=String(e||r?.userMessage||"").trim();if(i)return i;let a=String(r?.debugContext?.feedbackTurn?.userMessage||"").trim();if(a)return a;let o=Array.isArray(t)?t.length:Number(r?.metadata?.imageCount||0);if(o>0){let e=n?.mode||r?.routerDecision?.mode||"image";return 1===o?`[image-only agent request: ${e}]`:`[image-only agent request: ${o} images, ${e}]`}let s=r?.interactionId||"unknown";return`[agent request ${s}]`}function y_(){return{open:!1,rating:null,comment:"",status:"idle",error:null,feedbackId:null,triage:null,triageError:null,creditGrant:null,autoClosing:!1}}function yk(e){let t,n,o,s,l,c,u,m,p,h,f,g,x,b,y,v,w=(0,i.c)(66),{activities:_,expanded:k,onToggle:S,counters:j,turnControls:$}=e,I=void 0===$?null:$,C=(0,d.useTranslations)("AgentChat"),[N,T]=a.default.useState(null);w[0]!==j?.endedAt||w[1]!==j?.startedAt?(t=()=>{if(j?.startedAt&&!j?.endedAt){T(Date.now());let e=setInterval(()=>T(Date.now()),250);return()=>clearInterval(e)}},w[0]=j?.endedAt,w[1]=j?.startedAt,w[2]=t):t=w[2];let A=j?.startedAt,P=j?.endedAt;if(w[3]!==A||w[4]!==P?(n=[A,P],w[3]=A,w[4]=P,w[5]=n):n=w[5],a.default.useEffect(t,n),!_||0===_.length)return null;w[6]!==_?(o=_.every(yC),w[6]=_,w[7]=o):o=w[7];let E=o;w[8]!==_?(s=_.find(yI),w[8]=_,w[9]=s):s=w[9];let D=s,M=!E&&I?.canCancel,z=!!j?.startedAt,F=z?(j.endedAt||N||j.startedAt)-j.startedAt:0,O=j?.architectInput||0,L=j?.architectOutput||0,R=j?.architectCost||0,B=j?.builderInput||0,U=j?.builderOutput||0,Z=j?.builderCost||0,G=O+L+B+U,W=R+Z;w[10]!==D?.text||w[11]!==E||w[12]!==C?(l=E?C("done"):D?.text||C("working"),w[10]=D?.text,w[11]=E,w[12]=C,w[13]=l):l=w[13];let H=l;w[14]===Symbol.for("react.memo_cache_sentinel")?(c={containerType:"inline-size"},w[14]=c):c=w[14],w[15]!==E?(u=E?(0,r.jsx)("span",{className:"text-[10px] shrink-0 text-green-400/70",children:"✓"}):(0,r.jsx)(ya,{size:14}),w[15]=E,w[16]=u):u=w[16];let V=`agent-one-line-text min-w-0 flex-[1_1_auto] overflow-hidden text-ellipsis whitespace-nowrap text-[11px] ${E?"text-white/40":"text-white/70"}`;if(w[17]!==E?(m=E?void 0:{background:"linear-gradient(90deg, rgba(255,255,255,0.4) 0%, rgba(255,255,255,0.4) 35%, rgba(255,255,255,0.9) 50%, rgba(255,255,255,0.4) 65%, rgba(255,255,255,0.4) 100%)",backgroundSize:"200% 100%",WebkitBackgroun
402dClip:"text",WebkitTextFillColor:"transparent",backgroundClip:"text",animation:"shimmerLTR 2.5s ease-in-out infinite"},w[17]=E,w[18]=m):m=w[18],w[19]!==H||w[20]!==V||w[21]!==m?(p=(0,r.jsx)("span",{className:V,title:H,style:m,children:H}),w[19]=H,w[20]=V,w[21]=m,w[22]=p):p=w[22],w[23]!==R||w[24]!==O||w[25]!==L||w[26]!==Z||w[27]!==B||w[28]!==U||w[29]!==F||w[30]!==z||w[31]!==C||w[32]!==W||w[33]!==G)h=z&&(0,r.jsxs)("span",{className:"agent-one-line-counters min-w-0 overflow-hidden whitespace-nowrap text-[9px] text-white/30 tabular-nums",title:`${C("traceCountersRead")}: ${O.toLocaleString()} in / ${L.toLocaleString()} out \xb7 ${ys(R)}
403${C("traceCountersScene")}: ${B.toLocaleString()} in / ${U.toLocaleString()} out \xb7 ${ys(Z)}`,children:[(0,r.jsxs)("span",{children:[(F/1e3).toFixed(1),"s"]}),(0,r.jsxs)("span",{className:"agent-one-line-counter-tokens",children:[" · ",G?G>=1e3?`${(G/1e3).toFixed(1)}k`:String(G):"0"," tok"]}),(0,r.jsxs)("span",{className:"agent-one-line-counter-cost",children:[" · ",ys(W)]})]}),w[23]=R,w[24]=O,w[25]=L,w[26]=Z,w[27]=B,w[28]=U,w[29]=F,w[30]=z,w[31]=C,w[32]=W,w[33]=G,w[34]=h;else h=w[34];w[35]!==M||w[36]!==C||w[37]!==I?(f=M&&(0,r.jsxs)("span",{className:"agent-one-line-controls flex shrink-0 items-center gap-1",onClick:y$,children:[(0,r.jsxs)("button",{type:"button",onClick:I.onPause,disabled:I.pauseRequested||I.cancelRequested,title:C(I.pauseRequested?"turnPauseRequestedTitle":"turnPauseTitle"),className:`rounded-md border px-1.5 py-0.5 text-[9px] leading-none transition-colors ${I.pauseRequested?"border-amber-300/20 bg-amber-400/10 text-amber-200/70":"border-white/10 text-white/35 hover:border-amber-300/30 hover:bg-amber-400/10 hover:text-amber-100"} disabled:cursor-not-allowed disabled:opacity-70`,children:[(0,r.jsx)("span",{className:"agent-control-icon hidden","aria-hidden":"true",children:"Ⅱ"}),(0,r.jsx)("span",{className:"agent-control-label",children:C(I.pauseRequested?"turnPauseRequested":"turnPause")})]}),(0,r.jsxs)("button",{type:"button",onClick:I.onCancel,disabled:I.cancelRequested,title:C("turnCancelTitle"),className:"rounded-md border border-white/10 px-1.5 py-0.5 text-[9px] leading-none text-white/35 transition-colors hover:border-red-300/30 hover:bg-red-400/10 hover:text-red-100 disabled:cursor-not-allowed disabled:opacity-60",children:[(0,r.jsx)("span",{className:"agent-control-icon hidden","aria-hidden":"true",children:"×"}),(0,r.jsx)("span",{className:"agent-control-label",children:C("turnCancel")})]})]}),w[35]=M,w[36]=C,w[37]=I,w[38]=f):f=w[38];let q=k?"▾":"▸";return w[39]!==q?(g=(0,r.jsx)("span",{className:"text-[8px] text-white/20 shrink-0",children:q}),w[39]=q,w[40]=g):g=w[40],w[41]!==S||w[42]!==u||w[43]!==p||w[44]!==h||w[45]!==f||w[46]!==g?(x=(0,r.jsxs)("div",{className:"agent-one-line-row flex min-w-0 items-center gap-2 px-3 py-1.5 rounded-lg cursor-pointer hover:bg-white/[0.04] transition-colors",onClick:S,children:[u,p,h,f,g]}),w[41]=S,w[42]=u,w[43]=p,w[44]=h,w[45]=f,w[46]=g,w[47]=x):x=w[47],w[48]===Symbol.for("react.memo_cache_sentinel")?(b=(0,r.jsx)("style",{children:"\n                @keyframes shimmerLTR { 0% { background-position: 100% 0; } 100% { background-position: -100% 0; } }\n                .agent-one-line-counters {\n                    flex: 0 1 auto;\n                    max-width: 13rem;\n                    text-overflow: ellipsis;\n                }\n                .agent-one-line-text {\n                    flex-basis: 12rem;\n                }\n                @container (max-width: 520px) {\n                    .agent-one-line-counters {\n                        max-width: 8.5rem;\n                    }\n                    .agent-one-line-counter-cost {\n                        display: none;\n                    }\n                    .agent-one-line-text {\n                        flex-basis: 10rem;\n                    }\n                }\n                @container (max-width: 420px) {\n                    .agent-one-line-counters {\n                        max-width: 3.75rem;\n                    }\n                    .agent-one-line-counter-tokens {\n                        display: none;\n                    }\n                    .agent-one-line-text {\n                        flex-basis: 8rem;\n                    }\n                }\n                @container (max-width: 350px) {\n                    .agent-one-line-control
403s button {\n                        display: inline-flex;\n                        width: 1.35rem;\n                        justify-content: center;\n                        padding-left: 0;\n                        padding-right: 0;\n                    }\n                    .agent-one-line-controls .agent-control-label {\n                        display: none;\n                    }\n                    .agent-one-line-controls .agent-control-icon {\n                        display: inline;\n                    }\n                }\n                @container (max-width: 300px) {\n                    .agent-one-line-counters {\n                        display: none;\n                    }\n                    .agent-one-line-text {\n                        flex-basis: 0;\n                    }\n                }\n            "}),w[48]=b):b=w[48],w[49]!==_||w[50]!==R||w[51]!==O||w[52]!==L||w[53]!==Z||w[54]!==B||w[55]!==U||w[56]!==F||w[57]!==k||w[58]!==z||w[59]!==C||w[60]!==W||w[61]!==G?(y=k&&(0,r.jsxs)("div",{className:"mt-1 ml-3 pl-3 border-l border-white/5 space-y-1 pb-1",children:[z&&(0,r.jsxs)("div",{className:"flex flex-col gap-0.5 text-[9px] text-white/40 pb-1 border-b border-white/5 mb-1 tabular-nums",children:[(0,r.jsxs)("div",{className:"flex gap-3",children:[(0,r.jsxs)("span",{children:["⏱ ",(F/1e3).toFixed(1),"s"]}),(0,r.jsxs)("span",{className:"font-bold text-white/60",children:["Σ ",G.toLocaleString()," tok · ",ys(W)]})]}),(0,r.jsxs)("div",{className:"flex gap-3 pl-3",children:[(0,r.jsxs)("span",{children:["🧠 ",C("traceCountersRead"),": ",O.toLocaleString()," in / ",L.toLocaleString()," out"]}),(0,r.jsx)("span",{className:"text-white/50",children:ys(R)})]}),(0,r.jsxs)("div",{className:"flex gap-3 pl-3",children:[(0,r.jsxs)("span",{children:["⚽ ",C("traceCountersScene"),": ",B.toLocaleString()," in / ",U.toLocaleString()," out"]}),(0,r.jsx)("span",{className:"text-white/50",children:ys(Z)})]})]}),_.map(yS)]}),w[49]=_,w[50]=R,w[51]=O,w[52]=L,w[53]=Z,w[54]=B,w[55]=U,w[56]=F,w[57]=k,w[58]=z,w[59]=C,w[60]=W,w[61]=G,w[62]=y):y=w[62],w[63]!==x||w[64]!==y?(v=(0,r.jsxs)("div",{className:"agent-one-line my-1 mx-2",style:c,children:[x,b,y]}),w[63]=x,w[64]=y,w[65]=v):v=w[65],v}function yS(e){return(0,r.jsxs)("div",{children:[(0,r.jsxs)("div",{className:"flex items-center gap-1.5 text-[10px]",children:[(0,r.jsx)("span",{className:"text-[9px] shrink-0 opacity-80",children:"done"===e.status?"✓":"active"===e.status?"•":"◦"}),(0,r.jsxs)("span",{className:`min-w-0 leading-snug ${"active"===e.status?"text-white/75":"done"===e.status?"text-white/40":"text-white/25"}`,children:[e.label&&(0,r.jsx)("span",{className:"font-medium text-white/55",children:e.label}),e.label?(0,r.jsx)("span",{className:"text-white/25",children:" · "}):null,(0,r.jsx)("span",{children:e.text})]}),null!=e.duration_ms&&(0,r.jsxs)("span",{className:"text-[9px] text-white/20 ml-auto shrink-0",children:[(e.duration_ms/1e3).toFixed(1),"s"]})]}),e.details&&e.details.length>0&&(0,r.jsx)("div",{className:"pl-5 space-y-0.5",children:e.details.map(yj)})]},e.id)}function yj(e,t){return(0,r.jsx)("div",{className:"text-[9px] leading-snug text-white/30 break-words",children:e},t)}function y$(e){return e.stopPropagation()}function yI(e){return"active"===e.status}function yC(e){return"done"===e.status}function yN(e){let t,n,a,o=(0,i.c)(4),{direction:s,className:l}=e,c=`${void 0===l?"w-3 h-3":l} ${"down"===(void 0===s?"up":s)?"rotate-180":""}`;return o[0]===Symbol.for("react.memo_cache_sentinel")?(t=(0,r.jsx)("path",{d:"M7 10v12"}),n=(0,r.jsx)("path",{d:"M15 5.88 14 10h5.83a2 2 0 0 1 1.92 2.56l-2.33 8A2 2 0 0 1 17.5 22H4a2 2 0 0 1-2-2v-8a2 2 0 0 1 2-2h2.76a2 2 0 0 0 1.79-1.11L12 2h0a3.13 3.13 0 0 1 3 3.88Z"}),o[0]=t,o[1]=n):(t=o[0],n=o[1]),o[2]!==c?(a=(0,r.jsxs)("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",className:c,"aria-hidden":"true",children:[t,n]}),o[2]=c,o[3]=a):a=o[3],a}function yT(e){let t,n,a,o,s,l,c,u,d,m,p,h,f,g,x,b,y,v,w,_,k,S,j,$,I=(0,i.c)(89),{controller:C,feedbackSource:N}=e,{t:T,getFeedbackState:A,toggleFeedbackForm:P,setFeedbackRating:E,setFeedbackComment:D,submitFeedback:M,speechState:z,handleFeedbackSpeechButtonClick:F}=C,O=N?.interactionId;if(!O)return null;if(I[0]!==A||I[1]!==O||I[2]!==T){var L,R;let e;o="saving"===(t=A(O)).status,a="saved"===t.status,n="error"===t.status,s=t.rating,L=t,c="useful"===(e=L?.triage?.verdict)||"partially_useful"===e?"useful":"low_signal"===e||"abusive"===e?"notUseful":"pending";let r=(R=t,yl(R?.creditGrant?.amount));l=a?r>0?T("feedbackBudgetBoostSaved",{amount:yc(r)}):T("notUseful"===c?"feedbackNoBudgetBoost":"feedbackReviewPending"):T("feedbackBudgetBoost"),I[0]=A,I[1]=O,I[2]=T,I[3]=t,I[4]=n,I[5]=a,I[6]=o,I[7]=s,I[8]=l,I[9]=c}else t=I[3],n=I[4],a=I[5],o=I[6],s=I[7],l=I[8],c=I[9];let B=l,U=z?.target?.type==="feedback"&&z.target.interactionId===O,Z=U&&"recording"===z.status,G=U&&"transcribing"===z.status;I[10]!==U||I[11]!==o||I[12]!==z?.status?(u=o||yb(z?.status)&&!U,I[10]=U,I[11]=o,I[12]=z?.status,I[13]=u):u=I[13];let W=u,H=s===b6.DOWN,V=s===b6.UP||s===b6.DOWN,q=!t.open&&!a&&!V;I[14]!==H?(d=H?{activeButton:"border border-red-300/15 bg-red-400/[0.08] text-red-100/80",idleButton:"border border-red-300/10 bg-red-400/[0.04] text-white/40 hover:border-red-300/25 hover:bg-red-400/[0.08] hover:text-white/75",shine:"bg-red-200/10",pill:"bg-red-400/10 text-red-200/75"}:{activeButton:"border border-emerald-300/15 bg-emerald-400/[0.08] text-emerald-100/80",idleButton:"border border-emerald-300/10 bg-emerald-400/[0.04] text-white/40 hover:border-emerald-300/25 hover:bg-emerald-400/[0.08] hover:text-white/75",shine:"bg-emerald-200/10",pill:"bg-emerald-400/10 text-emerald-200/75"},I[14]=H,I[15]=d):d=I[15];let K=d,J=q?"agent-feedback-reward-cycle border text-white/55 hover:text-white/80":t.open||a?K.activeButton:K.idleButton,X=q?"agent-feedback-reward-pill-cycle":K.pill,Y=q?"agent-feedback-reward-shine-cycle":`animate-[agentFeedbackRewardS
403hine_2.8s_ease-in-out_infinite] ${K.shine}`,Q="useful"===c?"border-green-400/20 bg-green-500/10 text-green-200":"notUseful"===c?"border-red-400/20 bg-red-500/10 text-red-100":"border-white/10 bg-white/5 text-white/55";I[16]!==O||I[17]!==P?(m=()=>P(O),I[16]=O,I[17]=P,I[18]=m):m=I[18];let ee=`
404                    group relative flex items-center gap-1.5 overflow-hidden rounded-lg px-2 py-1 text-[10px] transition-colors
405                    ${J}
406                `;return I[19]!==t.open||I[20]!==T?(p=T(t.open?"feedbackHide":"feedbackBudgetHint"),I[19]=t.open,I[20]=T,I[21]=p):p=I[21],I[22]!==t.open||I[23]!==T?(h=T(t.open?"feedbackHide":"feedbackBudgetHint"),I[22]=t.open,I[23]=T,I[24]=h):h=I[24],I[25]!==t.open||I[26]!==a||I[27]!==Y?(f=!t.open&&!a&&(0,r.jsx)("span",{className:`absolute inset-y-0 -left-1/3 w-1/3 ${Y} blur-sm`,"aria-hidden":"true"}),I[25]=t.open,I[26]=a,I[27]=Y,I[28]=f):f=I[28],I[29]!==s||I[30]!==q?(g=q?(0,r.jsx)(yN,{direction:"up",className:"h-3 w-3 agent-feedback-thumb-rotate-sync"}):(0,r.jsx)(yN,{direction:s===b6.DOWN?"down":"up"}),I[29]=s,I[30]=q,I[31]=g):g=I[31],I[32]!==a||I[33]!==T?(x=T(a?"feedbackSaved":"feedbackToggle"),I[32]=a,I[33]=T,I[34]=x):x=I[34],I[35]!==x?(b=(0,r.jsx)("span",{children:x}),I[35]=x,I[36]=b):b=I[36],I[37]!==a||I[38]!==X?(y=!a&&(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)("span",{className:"text-white/25",children:"·"}),(0,r.jsx)("span",{className:`rounded-full px-1.5 py-0.5 text-[9px] font-semibold ${X}`,children:"+€"})]}),I[37]=a,I[38]=X,I[39]=y):y=I[39],I[40]!==b||I[41]!==y||I[42]!==m||I[43]!==ee||I[44]!==p||I[45]!==h||I[46]!==f||I[47]!==g?(v=(0,r.jsxs)("button",{type:"button",onClick:m,className:ee,title:p,"aria-label":h,children:[f,g,b,y]}),I[40]=b,I[41]=y,I[42]=m,I[43]=ee,I[44]=p,I[45]=h,I[46]=f,I[47]=g,I[48]=v):v=I[48],I[49]===Symbol.for("react.memo_cache_sentinel")?(w=(0,r.jsx)("style",{children:"\n                @keyframes agentFeedbackRewardShine { 0% { transform: translateX(0); opacity: 0; } 35% { opacity: 1; } 100% { transform: translateX(420%); opacity: 0; } }\n                @keyframes agentFeedbackRewardCycleShine {\n                    0% { transform: translateX(0); opacity: 0; background-color: rgb(167 243 208 / 0.10); }\n                    1% { opacity: 1; background-color: rgb(167 243 208 / 0.10); }\n                    46% { transform: translateX(420%); opacity: 1; background-color: rgb(167 243 208 / 0.10); }\n                    50% { transform: translateX(440%); opacity: 0; background-color: rgb(254 202 202 / 0.10); }\n                    50.01% { transform: translateX(0); opacity: 0; background-color: rgb(254 202 202 / 0.10); }\n                    51% { opacity: 1; background-color: rgb(254 202 202 / 0.10); }\n                    96% { transform: translateX(420%); opacity: 1; background-color: rgb(254 202 202 / 0.10); }\n                    99.99% { transform: translateX(440%); opacity: 0; background-color: rgb(254 202 202 / 0.10); }\n                    100% { transform: translateX(0); opacity: 0; background-color: rgb(167 243 208 / 0.10); }\n                }\n                @keyframes agentFeedbackRewardCycle {\n                    0%, 46%, 100% { border-color: rgb(110 231 183 / 0.14); background-color: rgb(52 211 153 / 0.04); color: rgb(255 255 255 / 0.55); }\n                    50%, 96% { border-color: rgb(252 165 165 / 0.16); background-color: rgb(248 113 113 / 0.05); color: rgb(255 255 255 / 0.55); }\n                }\n                @keyframes agentFeedbackRewardPillCycle {\n                    0%, 46%, 100% { background-color: rgb(52 211 153 / 0.10); color: rgb(167 243 208 / 0.82); }\n                    50%, 96% { background-color: rgb(248 113 113 / 0.10); color: rgb(254 202 202 / 0.82); }\n                }\n                @keyframes agentFeedbackThumbRotateSync {\n                    0%, 46% { transform: rotate(0deg) scale(1); }\n                    50%, 96% { transform: rotate(180deg) scale(1); }\n                    100% { transform: rotate(360deg) scale(1); }\n                }\n                .agent-feedback-reward-cycle { animation: agentFeedbackRewardCycle 8s ease-in-out infinite; }\n                .agent-feedback-reward-pill-cycle { animation: agentFeedbackRewardPillCycle 8s ease-in-out infinite; }\n                .agent-feedback-reward-shine-cycle { animation: agentFeedbackRewardCycleShine 8s linear infinite; }\n                .agent-feedback-thumb-rotate-sync { animation: agentFeedbackThumbRotateSync 8s ease-in-out infinite; transform-origin: center; }\n            "}),I[49]=w):w=I[49],I[50]!==t.open||I[51]!==a||I[52]!==B||I[53]!==Q||I[54]!==T?(_=a&&!t.open&&(0,r.jsxs)(oC.motion.div,{initial:{opacity:0,y:-4,scale:.98}
406,animate:{opacity:1,y:0,scale:1},exit:{opacity:0,y:-4,scale:.98},transition:{duration:.18,ease:"easeOut"},className:`mt-1 inline-flex items-center gap-1.5 rounded-lg border px-2 py-1 text-[9px] ${Q}`,children:[(0,r.jsx)("span",{"aria-hidden":"true",children:"✓"}),(0,r.jsx)("span",{children:T("feedbackSaved")}),(0,r.jsx)("span",{className:"text-current/45",children:"·"}),(0,r.jsx)("span",{children:B})]},"agent-feedback-saved-chip"),I[50]=t.open,I[51]=a,I[52]=B,I[53]=Q,I[54]=T,I[55]=_):_=I[55],I[56]!==_?(k=(0,r.jsx)(oD.AnimatePresence,{initial:!1,children:_}),I[56]=_,I[57]=k):k=I[57],I[58]!==N||I[59]!==W||I[60]!==t.autoClosing||I[61]!==t.comment||I[62]!==t.error||I[63]!==t.open||I[64]!==t.triage||I[65]!==t.triageError||I[66]!==F||I[67]!==O||I[68]!==n||I[69]!==Z||I[70]!==U||I[71]!==G||I[72]!==a||I[73]!==o||I[74]!==s||I[75]!==B||I[76]!==Q||I[77]!==D||I[78]!==E||I[79]!==z||I[80]!==M||I[81]!==T?(S=t.open&&(0,r.jsx)(oC.motion.div,{initial:{height:0,opacity:0},animate:{height:"auto",opacity:1},exit:{height:0,opacity:0},transition:{duration:.2,ease:"easeOut"},className:"overflow-hidden",children:(0,r.jsxs)("div",{className:"mt-2 rounded-xl border border-white/10 bg-black/20 p-2",children:[(0,r.jsxs)("div",{className:"mb-2 flex items-center justify-between gap-2",children:[(0,r.jsx)("span",{className:"text-[10px] font-medium text-white/45",children:T("feedbackPrompt")}),a&&(0,r.jsx)("span",{className:"text-[9px] text-green-300/70",children:T("feedbackSaved")}),n&&(0,r.jsx)("span",{className:"text-[9px] text-red-300/70",children:t.error||T("feedbackSaveError")})]}),(0,r.jsx)("div",{className:"mb-2 text-[9px] leading-snug text-emerald-200/55",children:T("feedbackBudgetHint")}),(0,r.jsxs)("div",{className:"flex items-center gap-1.5",children:[(0,r.jsxs)("button",{type:"button",onClick:()=>E(O,b6.UP),className:`
407                                        flex h-7 items-center gap-1 rounded-lg px-2 text-[10px] transition-colors
408                                        ${s===b6.UP?"bg-green-500/20 text-green-200 border border-green-400/20":"bg-white/5 text-white/45 hover:bg-white/10 hover:text-white"}
409                                    `,children:[(0,r.jsx)(yN,{}),(0,r.jsx)("span",{children:T("feedbackPositive")})]}),(0,r.jsxs)("button",{type:"button",onClick:()=>E(O,b6.DOWN),className:`
410                                        flex h-7 items-center gap-1 rounded-lg px-2 text-[10px] transition-colors
411                                        ${s===b6.DOWN?"bg-red-500/20 text-red-200 border border-red-400/20":"bg-white/5 text-white/45 hover:bg-white/10 hover:text-white"}
412                                    `,children:[(0,r.jsx)(yN,{direction:"down"}),(0,r.jsx)("span",{children:T("feedbackNegative")})]})]}),(0,r.jsxs)("div",{className:"relative mt-2",children:[(0,r.jsx)("textarea",{value:t.comment,onChange:e=>D(O,e.target.value),placeholder:T(G?"speechTranscribing":"feedbackCommentPlaceholder"),className:"h-16 w-full resize-none rounded-lg border border-white/10 bg-black/30 px-2 py-1.5 pr-9 text-[11px] leading-relaxed text-white outline-none placeholder:text-white/20 focus:border-blue-500/40",maxLength:4e3}),(0,r.jsx)("button",{type:"button",onClick:()=>F(O),disabled:W,className:`
413                                        absolute bottom-1.5 right-1.5 flex h-7 w-7 items-center justify-center rounded-lg border border-white/10 transition-colors
414                                        ${Z?"bg-red-500/15 text-red-200 hover:bg-red-500/20":G?"bg-blue-500/10 text-blue-200":"bg-white/5 text-white/35 hover:bg-white/10 hover:text-white/70"}
415                                        ${W?"cursor-not-allowed opacity-50":""}
416                                    `,title:T(Z?"speechStop":"feedbackSpeechRecord"),"aria-label":T(Z?"speechStop":"feedbackSpeechRecord"),children:G?(0,r.jsx)(e5.FaSpinner,{className:"h-3.5 w-3.5 animate-spin","aria-hidden":"true"}):Z?(0,r.jsx)(e5.FaStop,{className:"h-3.5 w-3.5","aria-hidden":"true"}):(0,r.jsx)(e5.FaMicrophone,{className:"h-3.5 w-3.5","aria-hidden":"true"})})]}),U&&"error"===z.status&&z.error&&(0,r.jsx)("div",{className:"mt-1 text-[9px] leading-snug text-red-300/75",children:z.error}),(0,r.jsx)("div",{className:"mt-2 flex justify-end",children:(0,r.jsx)("button",{type:"button",onClick:()=>M(N),disabled:!s||o,className:`
417                                        h-7 rounded-lg px-3 text-[10px] font-semibold transition-colors
418                                        ${s&&!o?"bg-blue-600 text-white hover:bg-blue-500":"bg-white/5 text-white/25 cursor-not-allowed"}
419                                    `,children:T(o?"feedbackSaving":"feedbackSubmit")})}),(0,r.jsx)(oD.AnimatePresence,{initial:!1,children:a&&(0,r.jsxs)(oC.motion.div,{initial:{opacity:0,y:6}
419,animate:{opacity:1,y:0},exit:{opacity:0,y:-4},transition:{duration:.2,ease:"easeOut"},className:`relative mt-2 overflow-hidden rounded-lg border px-2 py-2 ${Q}`,children:[(0,r.jsxs)("div",{className:"flex items-start gap-2",children:[(0,r.jsx)("span",{className:"mt-0.5 text-[11px]","aria-hidden":"true",children:"✓"}),(0,r.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,r.jsx)("div",{className:"text-[10px] font-semibold",children:T("feedbackSaved")}),(0,r.jsx)("div",{className:"text-[9px] opacity-80",children:B}),t.triage?.summary&&(0,r.jsx)("div",{className:"mt-1 overflow-hidden text-[9px] leading-snug opacity-70",style:{display:"-webkit-box",WebkitLineClamp:2,WebkitBoxOrient:"vertical"},children:t.triage.summary}),t.triageError&&(0,r.jsx)("div",{className:"mt-1 text-[9px] leading-snug opacity-70",children:t.triageError})]})]}),t.autoClosing&&(0,r.jsx)(oC.motion.div,{initial:{scaleX:1},animate:{scaleX:0},transition:{duration:2.2,ease:"linear"},className:"absolute inset-x-0 bottom-0 h-0.5 origin-left bg-current/45"},"agent-feedback-close-progress")]},"agent-feedback-saved-panel")})]})},"agent-feedback-form"),I[58]=N,I[59]=W,I[60]=t.autoClosing,I[61]=t.comment,I[62]=t.error,I[63]=t.open,I[64]=t.triage,I[65]=t.triageError,I[66]=F,I[67]=O,I[68]=n,I[69]=Z,I[70]=U,I[71]=G,I[72]=a,I[73]=o,I[74]=s,I[75]=B,I[76]=Q,I[77]=D,I[78]=E,I[79]=z,I[80]=M,I[81]=T,I[82]=S):S=I[82],I[83]!==S?(j=(0,r.jsx)(oD.AnimatePresence,{initial:!1,children:S}),I[83]=S,I[84]=j):j=I[84],I[85]!==v||I[86]!==k||I[87]!==j?($=(0,r.jsxs)("div",{className:"pt-1 border-t border-white/[0.04]",children:[v,w,k,j]}),I[85]=v,I[86]=k,I[87]=j,I[88]=$):$=I[88],$}function yA(e){let t,n,o,s,l,c=(0,i.c)(63),{controller:u,className:d}=e,m=void 0===d?"flex-1 overflow-y-auto p-2 space-y-3 min-h-0 custom-scrollbar":d,{t:p,messages:h,displayActivities:f,displayCounters:g,streamingText:x,turnControls:b,activityExpanded:y,setActivityExpanded:v,messagesEndRef:w,safeParseJson:_,getToolThought:k,getReasoningEmoji:S,getToolUiLabel:j,messageVariants:$,toolListVariants:I,toolCardVariants:C,buildToolReasoningFallback:N,buildToolHighlights:T,extractSynthesisTitle:A,toggleReasoningPanel:P,replacePlayerIdsWithNames:E,getToolExplanation:D,expandedReasoningByMsg:M,getToolEmoji:z}=u;if(c[0]!==y||c[1]!==T||c[2]!==N||c[3]!==u||c[4]!==f||c[5]!==g||c[6]!==M||c[7]!==A||c[8]!==S||c[9]!==z||c[10]!==D||c[11]!==k||c[12]!==j||c[13]!==$||c[14]!==h||c[15]!==E||c[16]!==_||c[17]!==v||c[18]!==p||c[19]!==P||c[20]!==C||c[21]!==I){let e;c[23]!==y||c[24]!==T||c[25]!==N||c[26]!==u||c[27]!==f||c[28]!==g||c[29]!==M||c[30]!==A||c[31]!==S||c[32]!==z||c[33]!==D||c[34]!==k||c[35]!==j||c[36]!==$||c[37]!==h.length||c[38]!==E||c[39]!==_||c[40]!==v||c[41]!==p||c[42]!==P||c[43]!==C||c[44]!==I?(e=(e,t)=>{let n=f.length>0&&f.every(yF),i="assistant"===e.role&&!e.tool_calls?.length&&t===h.length-1;if("tool"===e.role){let n=_(e.content,{});return"capture_scene_screenshot"===e.name&&n?.screenshotBase64?(0,r.jsxs)(oC.motion.div,{initial:{opacity:0,y:6},animate:{opacity:1,y:0},transition:{duration:.3},className:"px-1",children:[(0,r.jsx)("div",{className:"text-[9px] text-white/35 mb-1",children:p("screenshotLabel",{purpose:n.purpose||p("verification")})}),(0,r.jsx)("img",{src:`data:image/png;base64,${n.screenshotBase64}`,alt:p("sceneScreenshot"),className:"rounded-lg max-w-full border border-white/10",style:{maxHeight:"200px"}}),n.message&&(0,r.jsx)("div",{className:"text-[9px] text-white/25 mt-1",children:n.message})]},t):n?.success===!1||n?.error?(0,r.jsxs)(oC.motion.div,{initial:{opacity:0,y:6},animate:{opacity:1,y:0},transition:{duration:.3},className:"px-1 pl-2 border-l-2 border-red-500/30",children:[(0,r.jsxs)("div",{className:"text-[9px] text-red-300/70 mb-0.5",children:["⚠️ ",e.name]}),(0,r.jsx)("div",{className:"text-[10px] text-red-200/60 leading-relaxed",children:n.error||n.message||p("toolExecutionFailed")}),(n.hint||n.recoveryHint)&&(0,r.jsxs)("div",{className:"text-[9px] text-white/35 mt-0.5",children:["💡 ",n.hint||n.recoveryHint]})]},t):null}let o=Array.isArray(e.tool_calls)?e.tool_calls:[],s=o.length>0,l=`${e.role}-${t}`,c=s?o.map(e=>k(e)).find(Boolean):null,d=s?e.reasoning||N(o):null,m=E(d||""),x=E(e.content||""),b=Array.isArray(e.images)?e.images.filter(yz):[],w=!!M[l],F="assistant"===e.role&&!s&&!!e.feedback?.interactionId;return(0,r.jsxs)(a.default.Fragment,{children:[n&&i&&(0,r.jsx)(yk,{activities:f,expanded:y,onToggle:()=>v(yM),counters:g}),(0,r.jsx)(oC.motion.div,{variants:$,initial:"hidden",animate:"visible",className:`flex ${"user"===e.role?"justify-end":"justify-start"}`,children:"user"===e.role?(0,r.jsxs)("div",{className:"max-w-[85%] px-2.5 py-2 rounded-xl bg-blue-600/90 text-white shadow-sm",children:[b.length>0&&(0,r.jsx)("div",{className:`mb-1.5 flex gap-1.5 ${b.length>1?"flex-wrap justify-end":"justify-end"}`,children:b.map(yD)}),x&&(0,r.jsx)("div",{className:"prose prose-invert max-w-none whitespace-pre-line\n                                        [&_*]:text-[12px] [&_*]:leading-relaxed [&_*]:m-0\n                                        prose-p:mb-1 last:prose-p:mb-0\n                                        prose-strong:text-blue-300",children:(0,r.jsx)(oM.default,{remarkPlugins:[oz.default,oF.default],children:x})})]}):(0,r.jsxs)("div",{className:"w-full px-1 py-1 text-neutral-200 space-y-2.5",children:[s?(0,r.jsxs)(r.Fragment,{children:[(0,r.jsxs)("div",{className:"flex items-start gap-2",children:[(0,r.jsx)("span",{className:"text-sm leading-tight mt-0.5",children:S(o)}),(0,r.jsx)("span",{className:"text-[11px] font-semibold text-white/90 leading-snug",children:A(m,x,o)})]}),(0,r.jsxs)("div",{className:"pl-5",children:[(0,r.jsxs)("button",{type:"button",onClick:()=>P(l),className:"flex items-center gap-1 text-[9px] text-white/35 hover:text-white/60 transition-colors",children:[(0,r.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",width:"8",he
419ight:"8",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2.5",strokeLinecap:"round",strokeLinejoin:"round",className:`transition-transform duration-200 ${w?"rotate-90":""}`,children:(0,r.jsx)("polyline",{points:"9 18 15 12 9 6"})}),(0,r.jsx)("span",{children:w?p("hideReasoning"):p("showReasoning")})]}),(0,r.jsx)(oD.AnimatePresence,{initial:!1,children:w&&(0,r.jsx)(oC.motion.div,{initial:{height:0,opacity:0},animate:{height:"auto",opacity:1},exit:{height:0,opacity:0},transition:{duration:.3,ease:"easeOut"},className:"overflow-hidden",children:(0,r.jsxs)("div",{className:"mt-1.5 pl-2 border-l-2 border-white/10",children:[d&&(0,r.jsx)("div",{className:"prose prose-invert max-w-none whitespace-pre-line\n                                                                    [&_*]:text-[10px] [&_*]:leading-relaxed [&_*]:m-0\n                                                                    prose-p:mb-1 last:prose-p:mb-0\n                                                                    prose-headings:text-white prose-headings:font-bold prose-headings:mt-2 prose-headings:mb-1\n                                                                    prose-strong:text-blue-300 prose-ul:my-1 prose-li:my-0.5\n                                                                    text-white/50",children:(0,r.jsx)(oM.default,{remarkPlugins:[oz.default,oF.default],children:m})}),e.content&&(0,r.jsxs)("div",{className:d?"mt-2":"",children:[(0,r.jsx)("div",{className:"text-[9px] uppercase tracking-wider text-white/30 mb-0.5",children:p("noteHeading")}),(0,r.jsx)("div",{className:"prose prose-invert max-w-none whitespace-pre-line\n                                                                        [&_*]:text-[10px] [&_*]:leading-relaxed [&_*]:m-0\n                                                                        prose-p:mb-1 last:prose-p:mb-0\n                                                                        prose-strong:text-blue-300 text-white/50",children:(0,r.jsx)(oM.default,{remarkPlugins:[oz.default,oF.default],children:x})})]})]})},"reasoning-expand")})]}),(0,r.jsx)(oC.motion.div,{className:"space-y-1",variants:I,initial:"hidden",animate:"visible",children:o.map((e,n)=>{let i=e?.function?.name||"tool",a=j(i),o=z(i),s=T(e);return(0,r.jsxs)(oC.motion.div,{variants:C,className:"pl-2 border-l-2 border-blue-500/20 py-1",children:[(0,r.jsxs)("div",{className:"flex items-center gap-1.5 flex-wrap",children:[(0,r.jsx)("span",{className:"text-[10px]",children:o}),(0,r.jsx)("span",{className:"text-[10px] font-medium text-blue-300",children:a}),(0,r.jsx)("span",{className:"text-[9px] text-white/40",children:D(e)})]}),s.length>0&&(0,r.jsx)("div",{className:"mt-0.5 flex flex-wrap gap-1 pl-4",children:s.map((e,i)=>(0,r.jsxs)("span",{className:"text-[9px] text-white/50",children:[(0,r.jsx)("span",{className:"text-white/30",children:e.label})," ",(0,r.jsx)("span",{children:e.value})]},`${t}-${n}-${i}`))})]},`${t}-${n}`)})}),c&&!e.content&&!d&&(0,r.jsx)("div",{className:"text-[9px] text-white/25 italic pl-2",children:p("reasoningSignature")})]}):(0,r.jsx)("div",{className:oO,children:(0,r.jsx)(oM.default,{remarkPlugins:[oz.default,oF.default],children:x||""})}),e.artifactId&&(0,r.jsx)(oC.motion.div,{initial:{opacity:0,y:4},animate:{opacity:1,y:0},transition:{duration:.3,delay:.15},children:(0,r.jsxs)("button",{onClick:()=>
419{let t=oc.useAgentStore.getState().artifacts.find(t=>t.id===e.artifactId);t&&oc.useAgentStore.getState().setActiveArtifact(t)},className:"flex items-center gap-2 px-2 py-1.5 hover:bg-white/5 rounded-lg transition-all w-full group",children:[(0,r.jsx)("span",{className:"text-sm",children:"📄"}),(0,r.jsxs)("div",{className:"flex flex-col items-start overflow-hidden min-w-0 flex-1",children:[(0,r.jsx)("span",{className:"font-semibold text-[10px] text-blue-300 truncate w-full text-left",children:p("reportReady")}),(0,r.jsx)("span",{className:"text-white/35 truncate w-full text-left text-[9px]",children:e.artifactTitle||p("viewAnalysis")})]})]})}),F&&(0,r.jsx)(yT,{controller:u,feedbackSource:e.feedback})]})})]},t)},c[23]=y,c[24]=T,c[25]=N,c[26]=u,c[27]=f,c[28]=g,c[29]=M,c[30]=A,c[31]=S,c[32]=z,c[33]=D,c[34]=k,c[35]=j,c[36]=$,c[37]=h.length,c[38]=E,c[39]=_,c[40]=v,c[41]=p,c[42]=P,c[43]=C,c[44]=I,c[45]=e):e=c[45],t=h.map(e),c[0]=y,c[1]=T,c[2]=N,c[3]=u,c[4]=f,c[5]=g,c[6]=M,c[7]=A,c[8]=S,c[9]=z,c[10]=D,c[11]=k,c[12]=j,c[13]=$,c[14]=h,c[15]=E,c[16]=_,c[17]=v,c[18]=p,c[19]=P,c[20]=C,c[21]=I,c[22]=t}else t=c[22];return c[46]!==y||c[47]!==f||c[48]!==g||c[49]!==v||c[50]!==b?(n=f.length>0&&!f.every(yE)&&(0,r.jsx)(yk,{activities:f,expanded:y,onToggle:()=>v(yP),counters:g,turnControls:b}),c[46]=y,c[47]=f,c[48]=g,c[49]=v,c[50]=b,c[51]=n):n=c[51],c[52]!==E||c[53]!==x?(o=x&&(0,r.jsx)("div",{className:"w-full px-1 py-1 text-neutral-200",children:(0,r.jsx)("div",{className:`${oO} agent-stream-caret`,children:(0,r.jsx)(oM.default,{remarkPlugins:[oz.default,oF.default],children:function(e,t){let{settled:n,pending:r}=function(e=""){let t="string"==typeof e?e:"",n=t.match(oL);return n?{settled:t.slice(0,n.index),pending:n[0]}:{settled:t,pending:""}}(e);return"function"!=typeof t?`${n}${r}`:`${t(n)}${r}`}(x,E)})})}),c[52]=E,c[53]=x,c[54]=o):o=c[54],c[55]!==w?(s=(0,r.jsx)("div",{ref:w}),c[55]=w,c[56]=s):s=c[56],c[57]!==m||c[58]!==t||c[59]!==n||c[60]!==o||c[61]!==s?(l=(0,r.jsxs)("div",{className:m,children:[t,n,o,s]}),c[57]=m,c[58]=t,c[59]=n,c[60]=o,c[61]=s,c[62]=l):l=c[62],l}function yP(e){return!e}function yE(e){return"done"===e.status}function yD(e,t){return(0,r.jsx)("img",{src:`data:${e.mimeType||"image/png"};base64,${e.base64||e.data||""}`,alt:`Attached image ${t+1}`,className:"h-20 w-20 rounded-lg border border-white/20 object-cover shadow-sm",loading:"lazy"},t)}function yM(e){return!e}function yz(e){return e&&(e.base64||e.data)}function yF(e){return"done"===e.status}function yO(e){let t,n,a,o,s,l,c,u,d,m,p,h,f,g,x,b,y,v,w,_,k=(0,i.c)(84),{controller:S,className:j,formClassName:$,inputTextClassName:I,inputShellClassName:C,attachmentButtonClassName:N,sendButtonClassName:T,sendButtonBare:A,sendInsideInput:P,showAttachmentPreview:E}=e,D=void 0===j?"p-2 pt-1 pb-3 shrink-0":j,M=void 0===N?"relative p-1 text-white/50 hover:text-white hover:bg-white/10 rounded-lg transition-colors shrink-0":N,z=void 0===T?"w-8 h-8":T,F=void 0!==P&&P,O=void 0===E||E,{t:L,status:R,input:B,setInput:U,attachments:Z,speechState:G,isSpeechBusy:W,fileInputRef:H,handleFileSelect:V,removeAttachment:q,handlePaste:K,handleSpeechButtonClick:J,handleSpeechPointerDown:X,handleSpeechPointerRelease:Y,handleSubmit:Q}=S,ee=!G?.target||"chat"===G.target.type,et=ee&&G?.status||"idle",en=ee&&G?.error||null,er="recording"===et,ei="transcribing"===et,ea="requesting_permission"===et,eo="idle"!==R||ei||W&&!ee;k[0]!==er||k[1]!==ei||k[2]!==L?(t=L(er?"speechStop":ei?"speechTranscribing":"speechRecord"),k[0]=er,k[1]=ei,k[2]=L,k[3]=t):t=k[3];let es=t,el=`${es} (Ctrl+Space)`,ec=`
420        ${M}
421        ${er?"bg-red-500/15 text-red-300 hover:bg-red-500/20 hover:text-red-200":""}
422        ${ei||ea?"text-blue-300":""}
423    `;k[4]!==Z||k[5]!==B||k[6]!==W||k[7]!==R?(n="idle"!==R||W||!B.trim()&&0===Z.length,k[4]=Z,k[5]=B,k[6]=W,k[7]=R,k[8]=n):n=k[8];let eu=void 0!==A&&A?`
424                    flex items-center justify-center
425                    ${z} rounded-lg shrink-0
426                    border border-transparent
427                    transition-colors
428                    ${(B.trim()||Z.length>0)&&"idle"===R&&!W?"text-blue-300 hover:bg-white/10 hover:text-white active:scale-95":"text-white/20"}
429                `:`
430                    flex items-center justify-center
431                    ${z} rounded-xl shrink-0
432                    border border-white/10
433                    transition-all duration-300
434                    ${(B.trim()||Z.length>0)&&"idle"===R&&!W?"bg-blue-600 text-white shadow-lg shadow-blue-500/20 hover:scale-105 active:scale-95 border-transparent":"bg-white/5 text-white/20"}
435                `;k[9]!==B||k[10]!==R?(a="thinking"===R||"executing"===R?(0,r.jsx)("div",{className:"w-3 h-3 border-2 border-white/20 border-t-white rounded-full animate-spin"}):(0,r.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"
435currentColor",className:`w-3.5 h-3.5 transition-transform ${B.trim()?"translate-x-px -translate-y-px":""}`,children:(0,r.jsx)("path",{d:"M3.478 2.404a.75.75 0 0 0-.926.941l2.432 7.905H13.5a.75.75 0 0 1 0 1.5H4.984l-2.432 7.905a.75.75 0 0 0 .926.94 60.519 60.519 0 0 0 18.445-8.986.75.75 0 0 0 0-1.218A60.517 60.517 0 0 0 3.478 2.404Z"})}),k[9]=B,k[10]=R,k[11]=a):a=k[11],k[12]!==n||k[13]!==eu||k[14]!==a?(o=(0,r.jsx)("button",{type:"submit",disabled:n,className:eu,children:a}),k[12]=n,k[13]=eu,k[14]=a,k[15]=o):o=k[15];let ed=o;k[16]!==Z||k[17]!==q||k[18]!==O?(s=O&&Z.length>0&&(0,r.jsx)("div",{className:"flex gap-2 mb-2 overflow-x-auto pb-1 px-1 custom-scrollbar",children:Z.map((e,t)=>(0,r.jsxs)("div",{className:"relative group shrink-0",children:[(0,r.jsx)("div",{className:"w-12 h-12 rounded-lg border border-white/20 bg-white/5 overflow-hidden",children:(0,r.jsx)("img",{src:URL.createObjectURL(e),alt:"preview",className:"w-full h-full object-cover"})}),(0,r.jsx)("button",{onClick:()=>q(t),className:"absolute -top-1.5 -right-1.5 bg-red-500 text-white rounded-full w-4 h-4 flex items-center justify-center shadow-md hover:bg-red-600 transition-colors",children:(0,r.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor",className:"w-2.5 h-2.5",children:(0,r.jsx)("path",{d:"M6.28 5.22a.75.75 0 00-1.06 1.06L8.94 10l-3.72 3.72a.75.75 0 101.06 1.06L10 11.06l3.72 3.72a.75.75 0 101.06-1.06L11.06 10l3.72-3.72a.75.75 0 00-1.06-1.06L10 8.94 6.28 5.22z"})})})]},t))}),k[16]=Z,k[17]=q,k[18]=O,k[19]=s):s=k[19],k[20]!==en||k[21]!==et?(l="error"===et&&en&&(0,r.jsx)("div",{className:"mb-2 px-1 text-[10px] leading-snug text-red-300/80",children:en}),k[20]=en,k[21]=et,k[22]=l):l=k[22];let em=`${void 0===$?"flex items-center gap-2 p-1 transition-all duration-300":$} ${"idle"!==R?"opacity-50":""}`,ep=`
436                    flex-1 flex items-center gap-2 ${void 0===C?"px-2 py-1.5":C}
437                    bg-black/30 border border-white/10 shadow-inner
438                    rounded-xl transition-all duration-300
439                    group min-w-0
440                    ${"idle"===R?"hover:border-white/20 hover:bg-black/40 focus-within:border-blue-500/50 focus-within:ring-1 focus-within:ring-blue-500/20":""}
441                `;k[23]!==H||k[24]!==V?(c=(0,r.jsx)("input",{type:"file",ref:H,onChange:V,className:"hidden",multiple:!0,accept:"image/*"}),k[23]=H,k[24]=V,k[25]=c):c=k[25],k[26]!==H?(u=()=>H.current?.click(),k[26]=H,k[27]=u):u=k[27];let eh="idle"!==R;k[28]!==L?(d=L("uploadImages"),k[28]=L,k[29]=d):d=k[29],k[30]===Symbol.for("react.memo_cache_sentinel")?(m=(0,r.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor",className:"w-5 h-5",children:(0,r.jsx)("path",{fillRule:"evenodd",d:"M1.5 6a2.25 2.25 0 012.25-2.25h16.5A2.25 2.25 0 0122.5 6v12a2.25 2.25 0 01-2.25 2.25H3.75A2.25 2.25 0 011.5 18V6zM3 16.06V18c0 .414.336.75.75.75h16.5A.75.75 0 0021 18v-1.94l-2.69-2.689a1.5 1.5 0 00-2.12 0l-.88.879.97.97a.75.75 0 11-1.06 1.06l-5.16-5.159a1.5 1.5 0 00-2.12 0L3 16.061zm10.125-7.81a1.125 1.125 0 112.25 0 1.125 1.125 0 01-2.25 0z",clipRule:"evenodd"})}),k[30]=m):m=k[30],k[31]!==Z||k[32]!==O?(p=!O&&Z.length>0&&(0,r.jsx)("span",{className:"absolute -right-1 -top-1 flex h-4 min-w-4 items-center justify-center rounded-full bg-blue-600 px-1 text-[9px] font-bold text-white",children:Z.length}),k[31]=Z,k[32]=O,k[33]=p):p=k[33],k[34]!==M||k[35]!==u||k[36]!==eh||k[37]!==d||k[38]!==p?(h=(0,r.jsxs)("button",{type:"button",onClick:u,className:M,disabled:eh,title:d,children:[m,p]}),k[34]=M,k[35]=u,k[36]=eh,k[37]=d,k[38]=p,k[39]=h):h=k[39],k[40]!==er||k[41]!==ea||k[42]!==ei?(f=ei||ea?(0,r.jsx)(e5.FaSpinner,{className:"h-4 w-4 animate-spin","aria-hidden":"true"}):er?(0,r.jsx)(e5.FaStop,{className:"h-4 w-4","aria-hidden":"true"}):(0,r.jsx)(e5.FaMicrophone,{className:"h-4 w-4","aria-hidden":"true"}),k[40]=er,k[41]=ea,k[42]=ei,k[43]=f):f=k[43],k[44]!==J||k[45]!==X||k[46]!==Y||k[47]!==ec||k[48]!==eo||k[49]!==es||k[50]!==el||k[51]!==f?(g=(0,r.jsx)("button",{type:"button",onClick:J,onPointerDown:X,onPointerUp:Y,onPointerCancel:Y,onPointerLeave:Y,className:ec,disabled:eo,title:el,"aria-label":es,children:f}),k[44]=J,k[45]=X,k[46]=Y,k[47]=ec,k[48]=eo,k[49]=es,k[50]=el,k[51]=f,k[52]=g):g=k[52],k[53]!==U?(x=e=>U(e.target.value),k[53]=U,k[54]=x):x=k[54],k[55]!==Z||k[56]!==ei||k[57]!==R||k[58]!==L?(b=L(ei?"speechTranscribing":"thinking"===R?"placeholderThinking":Z.length>0?"placeholderAskAI":"placeholderMessage"),k[55]=Z,k[56]=ei,k[57]=R,k[58]=L,k[59]=b):b=k[59];let ef="idle"!==R,eg=`
442                            flex-1 bg-transparent border-none outline-none
443                            text-white ${void 0===I?"text-[12px]":I} px-1
444                            placeholder:text-white/20
445                            disabled:cursor-not-allowed
446                            min-w-0 w-full
447                        `;k[60]!==K||k[61]!==B||k[62]!==x||k[63]!==b||k[64]!==ef||k[65]!==eg?(y=(0,r.jsx)("input",{type:"text",value:B,onChange:x,onPaste:K,placeholder:b,disabled:ef,className:eg}),k[60]=K,k[61]=B,k[62]=x,k[63]=b,k[64]=ef,k[65]=eg,k[66]=y):y=k[66];let ex=F&&ed;k[67]!==ep||k[68]!==c||k[69]!==h||k[70]!==g||k[71]!==y||k[72]!==ex?(v=(0,r.jsxs)("div",{className:ep,children:[c,h,g,y,ex]}),k[67]=ep,k[68]=c,k[69]=h,k[70]=g,k[71]=y,k[72]=ex,k[73]=v):v=k[73];let eb=!F&&ed;return k[74]!==Q||k[75]!==em||k[76]!==v||k[77]!==eb?(w=(0,r.jsxs)("form",{onSubmit:Q,className:em,children:[v,eb]}),k[74]=Q,k[75]=em,k[76]=v,k[77]=eb,k[78]=w):w=k[78],k[79]!==D||k[80]!==s||k[81]!==l||k[82]!==w?(_=(0,r.jsxs)("div",{className:D,children:[s,l,w]}),k[79]=D,k[80]=s,k[81]=l,k[82]=w,k[83]=_):_=k[83],_}function yL(e){let t,n,a,o,s,l=(0,i.c)(19),{controller:c,showInput:u}=e,d=void 0===u||u,{t:m,isDragging:p,agentSpendBudget:h,handleDragOver:f,handleDragLeave:g,handleDrop:x}=c;return l[0]!==p||l[1]!==m?(t=p&&(0,r.jsx)("div",{className:"absolute inset-0 z-50 bg-blue-500/20 backdrop-blur-sm flex items-center justify-center border-2 border-blue-500 border-dashed m-2 rounded-xl",children:(0,r.jsx)("div",{className:"bg-gray-900/80 px-4 py-2 rounded-lg text-blue-300 font-bold shadow-xl pointer-events-none",children:m("dropImagesHere")})}),l[0]=p,l[1]=m,l[2]=t):t=l[2],l[3]!==c?(n=(0,r.jsx)(yA,{controller:c}),l[3]=c,l[4]=n):n=l[4],l[5]!==h||l[6]!==m?(a=(0,r.jsx)(yu,{budget:h,t:m}),l[5]=h,l[6]=m,l[7]=a):a=l[7],l[8]!==c||l[9]!==d?(o=d&&(0,r.jsx)(yO,{controller:c}),l[8]=c,l[9]=d,l[10]=o):o=l[10],l[11]!==g||l[12]!==f||l[13]!==x||l[14]!==t||l[15]!==n||l[16]!==a||l[17]!==o?(s=(0,r.jsxs)("div",{className:"flex flex-col h-full overflow-hidden text-[12px] relative",onDragOver:f,onDragLeave:g,onDrop:x,children:[t,n,a,o]}),l[11]=g,l[12]=f,l[13]=x,l[14]=t,l[15]=n,l[16]=a,l[17]=o,l[18]=s):s=l[18],s}function yR(e){let t,n,a=(0,i.c)(8),{className:o}=e,s=void 0===o?"flex flex-col h-full overflow-hidden":o,l=(0,d.useTranslations)("ArtifactViewer"),{artifacts:c,activeArtifact:u,setActiveArtifact:m}=(0,oc.useAgentStore)();return a[0]!==u||a[1]!==c||a[2]!==m||a[3]!==l?(t=u?(0,r.jsxs)("div",{className:"flex flex-col h-full",children:[(0,r.jsxs)("div",{className:"px-3 py-2 border-b border-white/10 flex items-center justify-between bg-black/20 shrink-0",children:[(0,r.jsxs)("div",{className:"flex items-center gap-3 min-w-0",children:[(0,r.jsxs)("button",{onClick:()=>m(null),className:"p-1 px-2.5 bg-white/5 hover:bg-white/10 rounded flex items-center justify-center text-[10px] text-white/70 hover:text-white transition-all border border-white/5",children:[(0,r.jsx)("span",{className:"mr-1",children:"←"})," ",l("backToList")]}),(0,r.jsx)("h3",{className:"text-[11px] font-bold truncate text-white uppercase tracking-tight",children:u.title})]}),(0,r.jsx)("div",{className:"text-[9px] text-white/30 italic shrink-0 px-2 border-l border-white/10 ml-2",children:u.type})]}),(0,r.jsx)("div",{className:"flex-1 overflow-y-auto p-4 min-h-0 custom-scrollbar bg-black/5",children:(0,r.jsx)("div",{className:"prose prose-invert max-w-none text-[12px]\n                            [&_p]:text-[12px] [&_p]:leading-relaxed [&_p]:mb-3\n                            [&_li]:text-[12px] [&_li]:leading-normal\n                            [&_pre]:text-[12px] [&_pre]:bg-black/40 [&_pre]:border [&_pre]:border-white/5 [&_pre]:p-3 [&_pre]:rounded-lg\n                            [&_code]:text-[12px] [&_code]:bg-white/10 [&_code]:px-1 [&_code]:rounded\n                            [&_h1]:text-lg [&_h1]:font-black [&_h1]:mb-4 [&_h1]:mt-2 [&_h1]:text-blue-400\n                            [&_h2]:text-base [&_h2]:font-bold [&_h2]:mb-3 [&_h2]:mt-4 [&_h2]:text-blue-300\n                            [&_h3]:text-[13px] [&_h3]:font-bold [&_h3]:mb-2 [&_h3]:mt-4\n                            [&_table]:border-collapse [&_table]:border [&_table]:border-white/10 [&_table]:my-4 [&_table]:w-full\n                            [&_th]:border [&_th]:border-white/10 [&_th]:p-2 [&_th]:bg-white/5 [&_th]:text-[10px] [&_th]:uppercase [&_th]:tracking-wider\n                            [&_td]:border [&_td]:border-white/10 [&_td]:p-2 [&_td]:text-[12px]\n                            [&_hr]:border-white/10 [&_hr]:my-4\n                            prose-p:my-1 prose-headings:my-2 whitespace-pre-line",children:(0,r.jsx)(oM.default,{remarkPlugins:[oz.default,oF.default],children:u.content})})})]}):(0,r.jsx)("div",{className:"flex flex-col h-full",children:0===c.length?(0,r.jsxs)("div",{className:"flex-1 flex flex-col items-center justify-center p-8 text-center bg-black/10",children:[(0,r.jsx)("div",{className:"text-2xl opacity-20 mb-2",children:"📥"}),(0,r.jsx)("div",{className:"text-[10px] text-white/20 uppercase tracking-widest font-medium",children:l("emptyState")})]}):(0,r.jsx)("div",{className:"flex-1 overflow-y-auto p-2 space-y-1.5 min-h-0 custom-scrollbar",children:c.slice().reverse().map(e=>(0,r.jsxs)("button",{onClick:()=>m(e),className:"w-full text-left p-2.5 rounded-xl bg-white/5 hover:bg-white/10 border border-white/5 hover:border-white/20 transition-all group flex items-start gap-3",children:[(0,r.jsx)("div",{className:"w-8 h-8 rounded-lg bg-blue-500/10 flex items-center justify-center shrink-0 border border-blue-500/10 group-hover:bg-blue-500/20 transition-colors",children:(0,r.jsx)("span",{className:"text-xs",children:"📄"})}),(0,r.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,r.jsx)("div",{className:"font-bold text-[12px] text-white group-hover:text-blue-300 transition-colors truncate",children:e.title}),(0,r.jsxs)("div",{className:"text-[9px] text-white/30 mt-0.5 flex items-center gap-1.5 font-medium",children:[(0,r.jsx)("span",{className:"uppercase tracking-wider text-blue-400/50",children:e.type}),(0,r.jsx)("span",{className:"w-1 h-1 rounded-full bg-white/10"}),(0,r.jsx)("span",{children:new Date(e.createdAt).toLocaleTimeString([],{hour:"2-digit",minute:"2-digit"})})]})]}),(0,r.jsx)("div",{className:"shrink-0 h-full flex items-center opacity-0 group-hover:opacity-100 transition-opacity pr-1",children:(0,r.jsx)("span",{className:"text-blue-400 text-[10px]",children:"→"})})]},e.id))})}),a[0]=u,a[1]=c,a[2]=m,a[3]=l,a[4]=t):t=a[4],a[5]!==s||a[6]!==t?(n=(0,r.jsx)("div",{className:s,children:t}),a[5]=s,a[6]=t,a[7]=n):n=a[7],n}function yB(e){let t,n,o,s,l,u,m,p,h,f,g,x,b,y,v,w,_,k,S,j,$,I,C,N,T,A,P,E,D,M,z,F,O,L,R,B,U,Z,G,W,H,V,q,K,J,X,Y,Q,ee,et,en,er,ei,ea,eo,es,el,ec,eu,ed,em,ep,eh,ef,eg,ex,eb,ey,ev,ew,e_,ek,eS,ej,e$,eI,eC=(0,i.c)(408),{isOpen:eN,onClose:eT,embedded:eA}=e,eP=void 0===eN||eN,eE=void 0!==eA&&eA,eD=(0,d.useTranslations)("AIControlPanel"),[eM,ez]=(0,a.useState)(!1);eC[0]!==eD?(t=eD("defensiveStateOrganizedBlock"),eC[0]=eD,eC[1]=t):t=eC[1],eC[2]!==eD?(n=eD("defensiveStateHighPress"),eC[2]=eD,eC[3]=n):n=eC[3],eC[4]!==eD?(o=eD("defensiveStateLowBlock"),eC[4]=eD,eC[5]=o):o=eC[5],eC[6]!==eD?(s=eD("defensiveStateTransition"),eC[6]=eD,eC[7]=s):s=eC[7],eC[8]!==t||eC[9]!==n||eC[10]!==o||eC[11]!==s?(l={[iN.DEFENSIVE_STATES.ORGANIZED_BLOCK]:t,[iN.DEFENSIVE_STATES.HIGH_PRESS]:n,[iN.DEFENSIVE_STATES.LOW_BLOCK]:o,[iN.DEFENSIVE_STATES.TRANSITION]:s},eC[8]=t,eC[9]=n,eC[10]=o,eC[11]=s,eC[12]=l):l=eC[12];let eF=l;eC[13]!==eD?(u=eD("defensiveDescOrganizedBlock"),eC[13]=eD,eC[14]=u):u=eC[14],eC[15]!==eD?(m=eD("defensiveDescHighPress"),eC[15]=eD,eC[16]=m):m=eC[16],eC[17]!==eD?(p=eD("defensiveDescLowBlock"),eC[17]=eD,eC[18]=p):p=eC[18],eC[19]!==eD?(h=eD("defensiveDescTransition"),eC[19]=eD,eC[20]=h):h=eC[20],eC[21]!==p||eC[22]!==h||eC[23]!==u||eC[24]!==m?(f={[iN.DEFENSIVE_STATES.ORGANIZED_BLOCK]:u,[iN.DEFENSIVE_STATES.HIGH_PRESS]:m,[iN.DEFENSIVE_STATES.LOW_BLOCK]:p,[iN.DEFENSIVE_STATES.TRANSITION]:h},eC[21]=p,eC[22]=h,eC[23]=u,eC[24]=m,eC[25]=f):f=eC[25];let eO=f;eC[26]===Symbol.for("react.memo_cache_sentinel")?(g={x:16,y:400},eC[26]=g):g=eC[26];let[eL,eR]=(0,a.useState)(g);eC[27]===Symbol.for("react.memo_cache_sentinel")?(x={width:280,height:"auto"},eC[27]=x):x=eC[27];let[eB,eU]=(0,a.useState)(x),[eZ,eG]=(0,a.useState)(!1),[eW,eH]=(0,a.useState)(!1);eC[28]===Symbol.for("react.memo_cache_sentinel")?(b={x:0,y:0},eC[28]=b):b=eC[28];let[eV,eq]=(0,a.useState)(b),eK=(0,a.useRef)(null);eC[29]===Symbol.for("react.memo_cache_sentinel")?(y=()=>{let e=window.requestAnimationFrame(()=>{eR({x:16,y:window.innerHeight-500})});return()=>window.cancelAnimationFrame(e)},v=[],eC[29]=y,eC[30]=v):(y=eC[29],v=eC[30]),(0,a.useEffect)(y,v);let{aiConfig:eJ,setAIConfig:eX,setAITeam:eY,toggleAIEnabled:eQ,toggleAIVisibility:e0,setDefensiveState:e1,resetAIState:e2,setTeamControl:e4,toggleSetupPreview:e3}=(0,iN.useAIOppositionStore)((0,c.useShallow)(yZ));
447eC[31]!==eJ.aiTeam||eC[32]!==eJ.enabled||eC[33]!==eJ.teamControl?(w=e=>({enabled:!!eJ.teamControl?.[e]?.enabled||!!eJ.enabled&&eJ.aiTeam===e,attackEnabled:eJ.teamControl?.[e]?.attackEnabled!==!1,defenseEnabled:eJ.teamControl?.[e]?.defenseEnabled!==!1,attackingStyle:eJ.teamControl?.[e]?.attackingStyle||"balanced"}),eC[31]=eJ.aiTeam,eC[32]=eJ.enabled,eC[33]=eJ.teamControl,eC[34]=w):w=eC[34];let e6=w;eC[35]!==eJ.enabled||eC[36]!==e6?(_=iN.AI_OPPOSITION_ENGINE_AVAILABLE&&(eJ.enabled||["A","B"].some(e=>e6(e).enabled)),eC[35]=eJ.enabled,eC[36]=e6,eC[37]=_):_=eC[37];let e8=_;eC[38]!==e8||eC[39]!==eD?(k=iN.AI_OPPOSITION_ENGINE_AVAILABLE?e8?eD("statusActive"):eD("statusInactive"):eD("statusUnavailable"),eC[38]=e8,eC[39]=eD,eC[40]=k):k=eC[40];let e9=k,e7=iN.AI_OPPOSITION_ENGINE_AVAILABLE?e8?"bg-green-600/30 text-green-300":"bg-gray-700 text-gray-400":"bg-amber-500/15 text-amber-200 border border-amber-400/20";eC[41]!==eL?(S=e=>{e.target.closest(".no-drag")||(eG(!0),eq({x:e.clientX-eL.x,y:e.clientY-eL.y}))},eC[41]=eL,eC[42]=S):S=eC[42];let te=S;eC[43]===Symbol.for("react.memo_cache_sentinel")?(j=e=>{e.stopPropagation(),eH(!0)},eC[43]=j):j=eC[43];let tt=j;eC[44]!==eV||eC[45]!==eZ||eC[46]!==eW||eC[47]!==eL?($=()=>{let e=e=>{if(eZ&&eR({x:Math.max(0,Math.min(window.innerWidth-280,e.clientX-eV.x)),y:Math.max(0,Math.min(window.innerHeight-50,e.clientY-eV.y))}),eW&&eK.current){let t=Math.max(240,Math.min(400,e.clientX-eL.x));eU(e=>({...e,width:t}))}},t=()=>{eG(!1),eH(!1)};return(eZ||eW)&&(document.addEventListener("mousemove",e),document.addEventListener("mouseup",t)),()=>{document.removeEventListener("mousemove",e),document.removeEventListener("mouseup",t)}},I=[eZ,eW,eV,eL],eC[44]=eV,eC[45]=eZ,eC[46]=eW,eC[47]=eL,eC[48]=$,eC[49]=I):($=eC[48],I=eC[49]),(0,a.useEffect)($,I),eC[50]!==eY?(C=e=>{eY(e)},eC[50]=eY,eC[51]=C):C=eC[51];let tn=C;eC[52]!==e1?(N=e=>{e1(e.target.value)},eC[52]=e1,eC[53]=N):N=eC[53];let tr=N;eC[54]!==eX?(T=e=>{eX({engineMode:e.target.value})},eC[54]=eX,eC[55]=T):T=eC[55];let ti=T;eC[56]!==eJ.dualRunDiagnostics||eC[57]!==eX?(A=e=>{let t=e.target.checked;eX({debug:t,dualRunDiagnostics:!!t&&eJ.dualRunDiagnostics})},eC[56]=eJ.dualRunDiagnostics,eC[57]=eX,eC[58]=A):A=eC[58];let ta=A;eC[59]!==eX?(P=e=>{eX({dualRunDiagnostics:e.target.checked})},eC[59]=eX,eC[60]=P):P=eC[60];let to=P;eC[61]!==eJ.pressure||eC[62]!==eX?(E=e=>{eX({pressure:{...eJ.pressure,intensity:e}})},eC[61]=eJ.pressure,eC[62]=eX,eC[63]=E):E=eC[63];let ts=E;eC[64]!==eX?(D=e=>{eX({compactnessTarget:e})},eC[64]=eX,eC[65]=D):D=eC[65];let tl=D;eC[66]!==eX?(M=e=>{eX({defensiveLineHeight:e})},eC[66]=eX,eC[67]=M):M=eC[67];let tc=M;eC[68]!==eX?(z=e=>{eX({markingMode:e})},eC[68]=eX,eC[69]=z):z=eC[69];let tu=z;eC[70]!==eJ.override||eC[71]!==eX?(F=e=>{eX({override:{...eJ.override||{},releaseMode:e}})},eC[70]=eJ.override,eC[71]=eX,eC[72]=F):F=eC[72];let td=F;eC[73]!==eX?(O=e=>{eX({reactionDelay:parseFloat(e.target.value)/100})},eC[73]=eX,eC[74]=O):O=eC[74];let tm=O;eC[75]!==eX?(L=e=>{eX({maxPlayerSpeed:parseFloat(e.target.value)})},eC[75]=eX,eC[76]=L):L=eC[76];let tp=L;eC[77]!==e6||eC[78]!==e4?(R=(e,t)=>{let n=e6(e);e4(e,{[t]:!n[t]})},eC[77]=e6,eC[78]=e4,eC[79]=R):R=eC[79];let th=R;eC[80]!==e4?(B=(e,t)=>{e4(e,{attackingStyle:t})},eC[80]=e4,eC[81]=B):B=eC[81];let tf=B,tg=yU;if(eC[82]!==eJ.aiTeam||eC[83]!==eJ.compactnessTarget||eC[84]!==eJ.defensiveLineHeight||eC[85]!==eJ.defensiveState||eC[86]!==eJ.display?.showSetupPreview||eC[87]!==eJ.enabled||eC[88]!==eJ.engineMode||eC[89]!==eJ.markingMode||eC[90]!==eJ.override?.releaseMode||eC[91]!==eJ.pressure?.intensity||eC[92]!==eJ.visible||eC[93]!==e8||eC[94]!==eO||eC[95]!==eF||eC[96]!==eE||eC[97]!==e6||eC[98]!==tl||eC[99]!==tc||eC[100]!==tr||eC[101]!==ti||eC[102]!==tu||eC[103]!==te||eC[104]!==td||eC[105]!==ts||eC[106]!==tf||eC[107]!==tn||eC[108]!==th||eC[109]!==eP||eC[110]!==eT||eC[111]!==eL||eC[112]!==eB||eC[113]!==e7||eC[114]!==e9||eC[115]!==eD||eC[116]!==eQ||eC[117]!==e0||eC[118]!==e3){eu=Symbol.for("react.early_return_sentinel");e:{let e,t,n,i,a,o,s,l,c,u,d,m,p,h,f,g,x,b,y,v,w,_,k,S,j,$,I,C,N,T,A=[{value:"low",label:eD("pressingLow")},{value:"medium",label:eD("pressingMedium")},{value:"high",label:eD("pressingHigh")}],P=[{value:"narrow",label:eD("compactnessNarrow")},{value:"normal",label:eD("compactnessNormal")},{value:"wide",label:eD("compactnessWide")}],E=[{value:"low",label:eD("lineLow")},{value:"mid",label:eD("lineMid")},{value:"high",label:eD("lineHigh")}],D=[{value:"zonal",label:eD("markingZonal")},{value:"man",label:eD("markingMan")}],M=[{value:"return_ai",label:eD("overrideReturnAI")},{value:"hold_position",label:eD("overrideHold")},{value:"timed_hold",label:eD("overrideTimed")}];if(eC[142]!==eJ.aiTeam||eC[143]!==eJ.display?.showSetupPreview||eC[144]!==eJ.enabled||e
447C[145]!==e8||eC[146]!==eE||eC[147]!==e6||eC[148]!==te||eC[149]!==tf||eC[150]!==tn||eC[151]!==th||eC[152]!==eP||eC[153]!==eT||eC[154]!==eL||eC[155]!==eB||eC[156]!==e7||eC[157]!==e9||eC[158]!==eD||eC[159]!==eQ||eC[160]!==e3){let i,a,o,s,l,c,u,d,m,p,h,f,g,x,b,y,v,w=[{value:"balanced",label:eD("attackBalanced")},{value:"direct",label:eD("attackDirect")},{value:"possession_wide",label:eD("attackPossessionWide")}];if(!eP){eu=null;break e}eo=eK,es=eE?"h-full w-full bg-transparent flex flex-col":"fixed bg-gray-900/90 backdrop-blur-md rounded-xl border border-white/10 shadow-2xl flex flex-col",eC[175]!==eE||eC[176]!==eL||eC[177]!==eB?(el=eE?{pointerEvents:"auto"}:{left:eL.x,top:eL.y,width:eB.width,zIndex:5e3,pointerEvents:"auto"},eC[175]=eE,eC[176]=eL,eC[177]=eB,eC[178]=el):el=eC[178],eC[179]!==e8||eC[180]!==eE||eC[181]!==te||eC[182]!==eT||eC[183]!==e7||eC[184]!==e9||eC[185]!==eD?(ec=!eE&&(0,r.jsxs)("div",{className:"flex items-center justify-between px-4 py-2 border-b border-white/10 cursor-move select-none bg-gray-800/50 rounded-t-xl",onMouseDown:te,children:[(0,r.jsxs)("div",{className:"flex items-center gap-2",children:[(0,r.jsx)(e5.FaGripHorizontal,{className:"text-gray-500",size:10}),(0,r.jsx)(e5.FaRobot,{className:`text-lg ${e8?"text-green-400":"text-gray-500"}`}),(0,r.jsx)("h3",{className:"text-white font-bold text-sm",children:eD("title")})]}),(0,r.jsxs)("div",{className:"flex items-center gap-2",children:[(0,r.jsx)("span",{className:`text-[10px] px-2 py-0.5 rounded-full ${e7}`,children:e9}),eT&&(0,r.jsx)("button",{onClick:eT,className:"no-drag text-gray-400 hover:text-white transition-colors p-1 hover:bg-white/10 rounded",children:(0,r.jsx)(e5.FaTimes,{size:12})})]})]}),eC[179]=e8,eC[180]=eE,eC[181]=te,eC[182]=eT,eC[183]=e7,eC[184]=e9,eC[185]=eD,eC[186]=ec):ec=eC[186],ei=eE?"p-4 overflow-y-auto flex-1 min-h-0":"p-4 overflow-y-auto max-h-[60vh]",eC[187]!==eD?(ea=!iN.AI_OPPOSITION_ENGINE_AVAILABLE&&(0,r.jsxs)("div",{className:"mb-4 rounded-lg border border-amber-400/20 bg-amber-500/10 p-3",children:[(0,r.jsxs)("div",{className:"flex items-center gap-2 text-xs font-semibold text-amber-100",children:[(0,r.jsx)(e5.FaRobot,{size:12}),(0,r.jsx)("span",{children:eD("unavailableTitle")})]}),(0,r.jsx)("p",{className:"mt-1 text-[10px] leading-4 text-amber-100/70",children:eD("unavailableBody")})]}),eC[187]=eD,eC[188]=ea):ea=eC[188],W=!iN.AI_OPPOSITION_ENGINE_AVAILABLE,H=!iN.AI_OPPOSITION_ENGINE_AVAILABLE,V=`m-0 min-w-0 border-0 p-0 ${iN.AI_OPPOSITION_ENGINE_AVAILABLE?"":"pointer-events-none select-none opacity-35"}`,eC[189]!==eD?(i=eD("enableAI"),eC[189]=eD,eC[190]=i):i=eC[190],eC[191]!==i?(a=(0,r.jsx)("span",{className:"text-gray-300 text-xs",children:i}),eC[191]=i,eC[192]=a):a=eC[192];let _=`no-drag w-12 h-6 rounded-full transition-colors relative ${eJ.enabled?"bg-green-600":"bg-gray-600"}`,k=`absolute top-0.5 w-5 h-5 bg-white rounded-full shadow-md transform transition-transform ${eJ.enabled?"translate-x-6":"translate-x-0.5"}`;eC[193]!==k?(o=(0,r.jsx)("div",{className:k}),eC[193]=k,eC[194]=o):o=eC[194],eC[195]!==_||eC[196]!==o||eC[197]!==eQ?(s=(0,r.jsx)("button",{onClick:eQ,className:_,children:o}),eC[195]=_,eC[196]=o,eC[197]=eQ,eC[198]=s):s=eC[198],eC[199]!==a||eC[200]!==s?(q=(0,r.jsxs)("div",{className:"flex items-center justify-between mb-4 pb-4 border-b border-white/10",children:[a,s]}),eC[199]=a,eC[200]=s,eC[201]=q):q=eC[201],eC[202]!==eD?(l=eD("aiControls"),eC[202]=eD,eC[203]=l):l=eC[203],eC[204]!==l?(c=(0,r.jsx)("span",{className:"text-gray-400 text-[10px] uppercase tracking-wide block mb-2",children:l}),eC[204]=l,eC[205]=c):c=eC[205],eC[206]!==tn?(u=()=>tn("A"),eC[206]=tn,eC[207]=u):u=eC[207];let S=`no-drag flex-1 py-2 rounded-lg text-xs font-medium transition-all ${"A"===eJ.aiTeam?"bg-blue-600 text-white shadow-lg shadow-blue-500/30":"bg-gray-700/50 text-gray-400 hover:bg-gray-700 hover:text-gray-300"}`;eC[208]!==eD?(d=eD("teamA"),eC[208]=eD,eC[209]=d):d=eC[209],eC[210]!==u||eC[211]!==S||eC[212]!==d?(m=(0,r.jsx)("button",{onClick:u,className:S,children:d}),eC[210]=u,eC[211]=S,eC[212]=d,eC[213]=m):m=eC[213],eC[214]!==tn?(p=()=>tn("B"),eC[214]=tn,eC[215]=p):p=eC[215];let j=`no-drag flex-1 py-2 rounded-lg text-xs font-medium transition-all ${"B"===eJ.aiTeam?"bg-red-600 text-white shadow-lg shadow-red-500/30":"bg-gray-700/50 text-gray-400 hover:bg-gray-700 hover:text-gray-300"}`;eC[216]!==eD?(h=eD("teamB"),eC[216]=eD,eC[217]=h):h=eC[217],eC[218]!==p||eC[219]!==j||eC[220]!==h?(f=(0,r.jsx)("button",{onClick:p,className:j,children:h}),eC[218]=p,eC[219]=j,eC[220]=h,eC[221]=f):f=eC[221],eC[222]!==m||eC[223]!==f?(g=(0,r.jsxs)("div",{className:"flex gap-2",children:[m,f]}
447),eC[222]=m,eC[223]=f,eC[224]=g):g=eC[224],eC[225]!==c||eC[226]!==g?(K=(0,r.jsxs)("div",{className:"mb-4",children:[c,g]}),eC[225]=c,eC[226]=g,eC[227]=K):K=eC[227],e="mb-4 space-y-3",eC[228]!==eD?(x=eD("teamAutomation"),eC[228]=eD,eC[229]=x):x=eC[229],eC[230]!==x?(b=(0,r.jsx)("span",{className:"text-gray-400 text-[10px] uppercase tracking-wide",children:x}),eC[230]=x,eC[231]=b):b=eC[231];let $=`no-drag px-2 py-1 rounded-md text-[10px] border transition-colors ${eJ.display?.showSetupPreview?"bg-cyan-600/25 text-cyan-200 border-cyan-400/40":"bg-gray-800/70 text-gray-500 border-white/10 hover:text-gray-300"}`;eC[232]!==eD?(y=eD("setupPreview"),eC[232]=eD,eC[233]=y):y=eC[233],eC[234]!==$||eC[235]!==y||eC[236]!==e3?(v=(0,r.jsx)("button",{onClick:e3,className:$,children:y}),eC[234]=$,eC[235]=y,eC[236]=e3,eC[237]=v):v=eC[237],eC[238]!==b||eC[239]!==v?(t=(0,r.jsxs)("div",{className:"flex items-center justify-between",children:[b,v]}),eC[238]=b,eC[239]=v,eC[240]=t):t=eC[240],n=["A","B"].map(e=>{let t=e6(e);return(0,r.jsxs)("div",{className:"rounded-lg border border-white/10 bg-white/[0.03] p-2",children:[(0,r.jsxs)("div",{className:"flex items-center justify-between gap-2 mb-2",children:[(0,r.jsx)("span",{className:"text-xs font-semibold text-gray-200",children:"A"===e?eD("teamA"):eD("teamB")}),(0,r.jsx)("button",{onClick:()=>th(e,"enabled"),className:`no-drag w-9 h-5 rounded-full transition-colors relative ${t.enabled?"bg-green-600":"bg-gray-600"}`,children:(0,r.jsx)("div",{className:`absolute top-0.5 w-4 h-4 bg-white rounded-full shadow-md transform transition-transform ${t.enabled?"translate-x-4":"translate-x-0.5"}`})})]}),(0,r.jsxs)("div",{className:"grid grid-cols-2 gap-1 mb-2",children:[(0,r.jsx)("button",{type:"button",onClick:()=>th(e,"attackEnabled"),className:`no-drag py-1 rounded-md text-[10px] transition-colors ${t.attackEnabled?"bg-emerald-500/20 text-emerald-200":"bg-gray-800 text-gray-500"}`,children:eD("attack")}),(0,r.jsx)("button",{type:"button",onClick:()=>th(e,"defenseEnabled"),className:`no-drag py-1 rounded-md text-[10px] transition-colors ${t.defenseEnabled?"bg-sky-500/20 text-sky-200":"bg-gray-800 text-gray-500"}`,children:eD("defense")})]}),tg(t.attackingStyle,w,t=>tf(e,t))]},e)}),eC[142]=eJ.aiTeam,eC[143]=eJ.display?.showSetupPreview,eC[144]=eJ.enabled,eC[145]=e8,eC[146]=eE,eC[147]=e6,eC[148]=te,eC[149]=tf,eC[150]=tn,eC[151]=th,eC[152]=eP,eC[153]=eT,eC[154]=eL,eC[155]=eB,eC[156]=e7,eC[157]=e9,eC[158]=eD,eC[159]=eQ,eC[160]=e3,eC[161]=W,eC[162]=H,eC[163]=V,eC[164]=q,eC[165]=K,eC[166]=ei,eC[167]=ea,eC[168]=eo,eC[169]=es,eC[170]=el,eC[171]=ec,eC[172]=e,eC[173]=t,eC[174]=n}else W=eC[161],H=eC[162],V=eC[163],q=eC[164],K=eC[165],ei=eC[166],ea=eC[167],eo=eC[168],es=eC[169],el=eC[170],ec=eC[171],e=eC[172],t=eC[173],n=eC[174];eC[241]!==e||eC[242]!==t||eC[243]!==n?(J=(0,r.jsxs)("div",{className:e,children:[t,n]}),eC[241]=e,eC[242]=t,eC[243]=n,eC[244]=J):J=eC[244],eC[245]!==eD?(i=eD("engineMode"),eC[245]=eD,eC[246]=i):i=eC[246],eC[247]!==i?(a=(0,r.jsx)("span",{className:"text-gray-400 text-[10px] uppercase tracking-wide block mb-2",children:i}),eC[247]=i,eC[248]=a):a=eC[248];let z=eJ.engineMode||"spatial-v1";eC[249]!==eD?(o=eD("engineSpatialV1"),eC[249]=eD,eC[250]=o):o=eC[250],eC[251]!==o?(s=(0,r.jsx)("option",{value:"spatial-v1",children:o}),eC[251]=o,eC[252]=s):s=eC[252],eC[253]!==eD?(l=eD("engineLegacy"),eC[253]=eD,eC[254]=l):l=eC[254],eC[255]!==l?(c=(0,r.jsx)("option",{value:"legacy",children:l}),eC[255]=l,eC[256]=c):c=eC[256],eC[257]!==ti||eC[258]!==z||eC[259]!==s||eC[260]!==c?(u=(0,r.jsxs)("select",{value:z,onChange:ti,className:"no-drag w-full bg-gray-800 text-white text-xs rounded-lg px-3 py-2 border border-white/10 focus:outline-none focus:border-blue-500/50",children:[s,c]}),eC[257]=ti,eC[258]=z,eC[259]=s,eC[260]=c,eC[261]=u):u=eC[261],eC[262]!==a||eC[263]!==u?(X=(0,r.jsxs)("div",{className:"mb-4",children:[a,u]}),eC[262]=a,eC[263]=u,eC[264]=X):X=eC[264],eC[265]!==eD?(d=eD("showAIActions"),eC[265]=eD,eC[266]=d):d=eC[266],eC[267]!==d?(m=(0,r.jsx)("span",{className:"text-gray-300 text-xs",children:d}),eC[267]=d,eC[268]=m):m=eC[268];let F=`no-drag flex items-center gap-1.5 px-3 py-1.5 rounded-lg text-xs transition-all ${eJ.visible?"bg-purple-600/30 text-purple-300 border border-purple-500/30":"bg-gray-700/50 text-gray-400 border border-transparent hover:bg-gray-700"}`;eC[269]!==eJ.visible?(p=eJ.visible?(0,r.jsx)(e5.FaEye,{size:10}):(0,r.jsx)(e5.FaEyeSlash,{size:10}),eC[269]=eJ.visible,eC[270]=p):p=eC[270],eC[271]!==eJ.visible||eC[272]!==eD?(h=eJ.visible?eD("visible"):eD("hidden"),eC[271]=eJ.visible,eC[272]=eD,eC[273]=h):h=eC[273],eC[274]!==F||eC[275]!==p||eC[276]!==h||eC[277]!==e0?(f=(0,r.jsxs)("button",{onClick:e0,className:F,children:[p,h]}),eC[274]=F,eC[275]=p,eC[276]=h,eC[277]=e0,eC[278]=f):f=eC[278],eC[279]!==m||eC[280]!==f?(Y=(0,r.jsxs)("div",{className:"flex items-center justify-between mb-4",children:[m,f]}),eC[279]=m,eC[280]=f,eC[281]=Y):Y=eC[281],eC[282]!==eD?(g=eD("defensiveStyle"),eC[282]=eD,eC[283]=g):g=eC[283],eC[284]!==g?(x=(0,r.jsx)("span",{className:"text-gray-400 text-[10px] uppercase tracking-wide block mb-2",children:g}),eC[284]=g,eC[285]=x):x=eC[285];let O=eJ.defensiveState;eC[286]===Symbol.for("react.memo_cache_sentinel")?(b=Object.entries(iN.DEFENSIVE_STATES),eC[286]=b):b=eC[286],eC[287]!==eF?(y=b.map(e=>{let[t,n]=e;return(0,r.jsx)("option",{value:n,children:eF[n]},t)}),eC[287]=eF,eC[288]=y):y=eC[288],eC[289]!==eJ.defensiveState||eC[290]!==tr||eC[291]!==y?(v=(0,r.jsx)("select",{value:O,onChange:tr,className:"no-drag w-full bg-gray-800 text-white text-xs rounded-lg px-3 py-2 border border-white/10 focus:outline-none focus:border-blue-500/50",children:y}),eC[289]=eJ.defensiveState,eC[290]=tr,eC[291]=y,eC[292]=v):v=eC[292];let L=eO[eJ.defensiveState];eC[293]!==L?(w=(0,r.jsx)("p",{className:"text-gray-500 text-[9px] mt-1",children:L}),eC[293]=L,eC[294]=w):w=eC[294],eC[295]!==x||eC[296]!==v||eC[297]!==w?(Q=(0,r.jsxs)("div",{className:"mb-4",children:[x,v,w]}),eC[295]=x,eC[296]=v,eC[297]=w,eC[298]=Q):Q=eC[298],eC[299]!==eD?(_=eD("pressingIntensity"),eC[299]=eD,eC[300]=_):_=eC[300],eC[301]!==_?(k=(0,r.jsx)("span",{className:"text-gray-400 text-[10px] uppercase tracking-wide block mb-2",children:_}),eC[301]=_,eC[302]=k):k=eC[302];let R=tg(eJ.pressure?.intensity||"medium",A,ts);eC[303]!==k||eC[304]!==R?(ee=(0,r.jsxs)("div",{className:"mb-4",children:[k,R]}),eC[303]=k,eC[304]=R,eC[305]=ee):ee=eC[305],eC[306]!==eD?(S=eD("compactnessTarget"),eC[306]=eD,eC[307]=S):S=eC[307],eC[308]!==S?(j=(0,r.jsx)("span",{className:"text-gray-400 text-[10px] uppercase tracking-wide block mb-2",children:S}),eC[308]=S,eC[309]=j):j=eC[309];let B=tg(eJ.compactnessTarget||"normal",P,tl);eC[310]!==j||eC[311]!==B?(et=(0,r.jsxs)("div",{className:"mb-4",children:[j,B]}),eC[310]=j,eC[311]=B,eC[312]=et):et=eC[312],eC[313]!==eD?($=eD("defensiveLineHeight"),eC[313]=eD,eC[314]=$):$=eC[314],eC[315]!==$?(I=(0,r.jsx)("span",{className:"text-gray-400 text-[10px] uppercase tracking-wide block mb-2",children:$}),eC[315]=$,eC[316]=I):I=eC[316];let ed=tg(eJ.defensiveLineHeight||"mid",E,tc);eC[317]!==I||eC[318]!==ed?(en=(0,r.jsxs)("div",{className:"mb-4",children:[I,ed]}),eC[317]=I,eC[318]=ed,eC[319]=en):en=eC[319],eC[320]!==eD?(C=eD("markingStyle"),eC[320]=eD,eC[321]=C):C=eC[321],eC[322]!==C?(N=(0,r.jsx)("span",{className:"text-gray-400 text-[10px] uppercase tracking-wide block mb-2",children:C}),eC[322]=C,eC[323]=N):N=eC[323];let em=tg(eJ.markingMode||"zonal",D,tu);eC[324]!==N||eC[325]!==em?(er=(0,r.jsxs)("div",{className:"mb-4",children:[N,em]}),eC[324]=N,eC[325]=em,eC[326]=er):er=eC[326],U="mb-4",eC[327]!==eD?(T=eD("overrideRelease"),eC[327]=eD,eC[328]=T):T=eC[328],eC[329]!==T?(Z=(0,r.jsx)("span",{className:"text-gray-400 text-[10px] uppercase tracking-wide block mb-2",children:T}),eC[329]=T,eC[330]=Z):Z=eC[330],G=tg(eJ.override?.releaseMode||"return_ai",M,td)}eC[82]=eJ.aiTeam,eC[83]=eJ.compactnessTarget,eC[84]=eJ.defensiveLineHeight,eC[85]=eJ.defensiveState,eC[86]=eJ.display?.showSetupPreview,eC[87]=eJ.enabled,eC[88]=eJ.engineMode,eC[89]=eJ.markingMode,eC[90]=eJ.override?.releaseMode,eC[91]=eJ.pressure?.intensity,eC[92]=eJ.visible,eC[93]=e8,eC[94]=eO,eC[95]=eF,eC[96]=eE,eC[97]=e6,eC[98]=tl,eC[99]=tc,eC[100]=tr,eC[101]=ti,eC[102]=tu,eC[103]=te,eC[104]=td,e
447C[105]=ts,eC[106]=tf,eC[107]=tn,eC[108]=th,eC[109]=eP,eC[110]=eT,eC[111]=eL,eC[112]=eB,eC[113]=e7,eC[114]=e9,eC[115]=eD,eC[116]=eQ,eC[117]=e0,eC[118]=e3,eC[119]=U,eC[120]=Z,eC[121]=G,eC[122]=W,eC[123]=H,eC[124]=V,eC[125]=q,eC[126]=K,eC[127]=J,eC[128]=X,eC[129]=Y,eC[130]=Q,eC[131]=ee,eC[132]=et,eC[133]=en,eC[134]=er,eC[135]=ei,eC[136]=ea,eC[137]=eo,eC[138]=es,eC[139]=el,eC[140]=ec,eC[141]=eu}else U=eC[119],Z=eC[120],G=eC[121],W=eC[122],H=eC[123],V=eC[124],q=eC[125],K=eC[126],J=eC[127],X=eC[128],Y=eC[129],Q=eC[130],ee=eC[131],et=eC[132],en=eC[133],er=eC[134],ei=eC[135],ea=eC[136],eo=eC[137],es=eC[138],el=eC[139],ec=eC[140],eu=eC[141];return eu!==Symbol.for("react.early_return_sentinel")?eu:(eC[331]!==U||eC[332]!==Z||eC[333]!==G?(ed=(0,r.jsxs)("div",{className:U,children:[Z,G]}),eC[331]=U,eC[332]=Z,eC[333]=G,eC[334]=ed):ed=eC[334],eC[335]!==eM?(em=()=>ez(!eM),eC[335]=eM,eC[336]=em):em=eC[336],eC[337]===Symbol.for("react.memo_cache_sentinel")?(ep=(0,r.jsx)(e5.FaCog,{size:10}),eC[337]=ep):ep=eC[337],eC[338]!==eD?(eh=eD("advancedSettings"),eC[338]=eD,eC[339]=eh):eh=eC[339],eC[340]!==eh?(ef=(0,r.jsxs)("span",{className:"flex items-center gap-2",children:[ep,eh]}),eC[340]=eh,eC[341]=ef):ef=eC[341],eC[342]!==eM?(eg=eM?(0,r.jsx)(e5.FaChevronUp,{size:10}):(0,r.jsx)(e5.FaChevronDown,{size:10}),eC[342]=eM,eC[343]=eg):eg=eC[343],eC[344]!==em||eC[345]!==ef||eC[346]!==eg?(ex=(0,r.jsxs)("button",{onClick:em,className:"no-drag w-full flex items-center justify-between py-2 px-3 text-xs text-gray-400 hover:text-white bg-white/5 rounded-lg hover:bg-white/10 transition-colors mb-2",children:[ef,eg]}),eC[344]=em,eC[345]=ef,eC[346]=eg,eC[347]=ex):ex=eC[347],eC[348]!==eJ.centroidBallInfluence||eC[349]!==eJ.debug||eC[350]!==eJ.dualRunDiagnostics||eC[351]!==eJ.maxPlayerSpeed||eC[352]!==eJ.reactionDelay||eC[353]!==ta||eC[354]!==to||eC[355]!==tp||eC[356]!==tm||eC[357]!==e2||eC[358]!==eX||eC[359]!==eM||eC[360]!==eD?(eb=eM&&(0,r.jsxs)("div",{className:"space-y-3 pt-2 border-t border-white/10 animate-in fade-in slide-in-from-top-1 duration-200",children:[(0,r.jsxs)("div",{children:[(0,r.jsxs)("div",{className:"flex justify-between items-center mb-1",children:[(0,r.jsx)("span",{className:"text-gray-400 text-[10px]",children:eD("reactionDelay")}),(0,r.jsxs)("span",{className:"text-gray-500 text-[9px] font-mono",children:[eJ.reactionDelay.toFixed(2),"s"]})]}),(0,r.jsx)("input",{type:"range",min:"0",max:"100",value:100*eJ.reactionDelay,onChange:tm,className:"no-drag w-full h-1 bg-gray-700 rounded-full appearance-none cursor-pointer accent-yellow-500"})]}),(0,r.jsxs)("div",{children:[(0,r.jsxs)("div",{className:"flex justify-between items-center mb-1",children:[(0,r.jsx)("span",{className:"text-gray-400 text-[10px]",children:eD("maxSpeed")}),(0,r.jsxs)("span",{className:"text-gray-500 text-[9px] font-mono",children:[eJ.maxPlayerSpeed.toFixed(1)," m/s"]})]}),(0,r.jsx)("input",{type:"range",min:"4",max:"10",step:"0.5",value:eJ.maxPlayerSpeed,onChange:tp,className:"no-drag w-full h-1 bg-gray-700 rounded-full appearance-none cursor-pointer accent-green-500"})]}),(0,r.jsxs)("div",{children:[(0,r.jsxs)("div",{className:"flex justify-between items-center mb-1",children:[(0,r.jsx)("span",{className:"text-gray-400 text-[10px]",children:eD("ballInfluenceWidth")}),(0,r.jsxs)("span",{className:"text-gray-500 text-[9px] font-mono",children:[Math.round(100*eJ.centroidBallInfluence.widthFactor),"%"]})]}),(0,r.jsx)("input",{type:"range",min:"0",max:"100",value:100*eJ.centroidBallInfluence.widthFactor,onChange:e=>eX({centroidBallInfluence:{...eJ.centroidBallInfluence,widthFactor:parseFloat(e.target.value)/100}}),className:"no-drag w-full h-1 bg-gray-700 rounded-full appearance-none cursor-pointer accent-blue-500"})]}),(0,r.jsxs)("div",{children:[(0,r.jsxs)("div",{className:"flex justify-between items-center mb-1",children:[(0,r.jsx)("span",{className:"text-gray-400 text-[10px]",children:eD("ballInfluenceDepth")}),(0,r.jsxs)("span",{className:"text-gray-500 text-[9px] font-mono",children:[Math.round(100*eJ.centroidBallInfluence.depthFactor),"%"]})]}),(0,r.jsx)("input",{type:"range",min:"0",max:"100",value:100*eJ.centroidBallInfluence.depthFactor,onChange:e=>eX({centroidBallInfluence:{...eJ.centroidBallInfluence,depthFactor:parseFloat(e.target.value)/100}}),className:"no-drag w-full h-1 bg-gray-700 rounded-full appearance-none cursor-pointer accent-blue-500"})]}),(0,r.jsxs)("label",{className:"no-drag flex items-center justify-between gap-3 text-[10px] text-gray-400 bg-white/5 rounded-lg px-3 py-2",children:[(0,r.jsx)("span",{children:eD("debugEvents")}),(0,r.jsx)("input",{type:"checkbox",checked:!!eJ.debug,onChange:ta,className:"accent-emerald-500"})]}),(0,r.jsxs)("label",{className:`no-drag flex items-center justify-between gap-3 text-[10px] rounded-lg px-3 py-2 ${eJ.debug?"text-gray-400 bg-white/5":"text-gray-600 bg-white/[0.03]"}`,children:[(0,r.jsx)("span",{children:eD("dualRunDiagnostics")}),(0,r.jsx)("input",{type:"checkbox",checked:!!eJ.debug&&!!eJ.dualRunDiagnostics,disabled:!eJ.debug,onChange:to,className:"accent-amber-500 disabled:opacity-40"})]}),(0,r.jsx)("button",{onClick:e2,className:"no-drag w-full mt-2 py-2 text-[10px] text-red-400 hover:text-red-300 bg-red-900/20 hover:bg-red-900/30 rounded-lg transition-colors border border-red-900/30",children:eD("resetAIState")})]}),eC[348]=eJ.centroidBallInfluence,eC[349]=eJ.debug,eC[350]=eJ.dualRunDiagnostics,eC[351]=eJ.maxPlayerSpeed,eC[352]=eJ.reactionDelay,eC[353]=ta,eC[354]=to,eC[355]=tp,eC[356]=tm,eC[357]=e2,eC[358]=eX,eC[359]=eM,eC[360]=eD,eC[361]=eb):eb=eC[361],eC[362]!==W||eC[363]!==H||eC[364]!==V||eC[365]!==q||eC[366]!==K||eC[367]!==J||eC[368]!==X||eC[369]!==Y||eC[370]!==Q||eC[371]!==ee||eC[372]!==et||eC[373]!==en||eC[374]!==er||eC[375]!==ed||eC[376]!==ex||eC[377]!==eb?(ey=(0,r.jsxs)("fieldset",{disabled:W,"aria-disabled":H,className:V,children:[q,K,J,X,Y,Q,ee,et,en,er,ed,ex,eb]}),eC[362]=W,eC[363]=H,eC[364]=V,eC[365]=q,eC[366]=K,eC[367]=J,eC[368]=X,eC[369]=Y,eC[370]=Q,eC[371]=ee,eC[372]=et,eC[373]=en,eC[374]=er,eC[375]=ed,eC[376]=ex,eC[377]=eb,eC[378]=ey):ey=eC[378],eC[379]!==ei||eC[380]!==ea||eC[381]!==ey?(ev=(0,r.jsxs)("div",{className:ei,children:[ea,ey]}),eC[379]=ei,eC[380]=ea,eC[381]=ey,eC[382]=ev):ev=eC[382],eC[383]!==eJ.defensiveState||eC[384]!==eF||e
447C[385]!==eD?(ew=iN.AI_OPPOSITION_ENGINE_AVAILABLE?eD("stateStatus",{state:eF[eJ.defensiveState]}):eD("footerUnavailable"),eC[383]=eJ.defensiveState,eC[384]=eF,eC[385]=eD,eC[386]=ew):ew=eC[386],eC[387]!==ew?(e_=(0,r.jsx)("span",{children:ew}),eC[387]=ew,eC[388]=e_):e_=eC[388],eC[389]!==eJ.aiTeam||eC[390]!==eJ.engineMode||eC[391]!==eD?(ek=iN.AI_OPPOSITION_ENGINE_AVAILABLE?eD("footerEngineTeam",{engine:"legacy"===eJ.engineMode?eD("engineLegacy"):eD("engineSpatialV1"),team:eJ.aiTeam}):eD("statusUnavailable"),eC[389]=eJ.aiTeam,eC[390]=eJ.engineMode,eC[391]=eD,eC[392]=ek):ek=eC[392],eC[393]!==ek?(eS=(0,r.jsx)("span",{children:ek}),eC[393]=ek,eC[394]=eS):eS=eC[394],eC[395]!==e_||eC[396]!==eS?(ej=(0,r.jsxs)("div",{className:"px-4 py-2 border-t border-white/10 flex items-center justify-between text-[9px] text-gray-500",children:[e_,eS]}),eC[395]=e_,eC[396]=eS,eC[397]=ej):ej=eC[397],eC[398]!==eE?(e$=!eE&&(0,r.jsx)("div",{className:"absolute bottom-0 right-0 w-4 h-4 cursor-se-resize no-drag",onMouseDown:tt,style:{background:"linear-gradient(135deg, transparent 50%, #4B5563 50%)",borderBottomRightRadius:"0.75rem"}}),eC[398]=eE,eC[399]=e$):e$=eC[399],eC[400]!==eo||eC[401]!==es||eC[402]!==el||eC[403]!==ec||eC[404]!==ev||eC[405]!==ej||eC[406]!==e$?(eI=(0,r.jsxs)("div",{ref:eo,className:es,style:el,children:[ec,ev,ej,e$]}),eC[400]=eo,eC[401]=es,eC[402]=el,eC[403]=ec,eC[404]=ev,eC[405]=ej,eC[406]=e$,eC[407]=eI):eI=eC[407],eI)}function yU(e,t,n){return(0,r.jsx)("div",{className:`no-drag grid ${2===t.length?"grid-cols-2":"grid-cols-3"} gap-1 rounded-lg bg-gray-800/80 p-1 border border-white/10`,children:t.map(t=>{let i=e===t.value;return(0,r.jsx)("button",{type:"button",onClick:()=>n(t.value),className:`py-1.5 px-1 rounded-md text-[10px] font-medium transition-colors ${i?"bg-white text-gray-950":"text-gray-400 hover:text-white hover:bg-white/10"}`,children:t.label},t.value)})})}function yZ(e){return{aiConfig:e.aiConfig,setAIConfig:e.setAIConfig,setAITeam:e.setAITeam,toggleAIEnabled:e.toggleAIEnabled,toggleAIVisibility:e.toggleAIVisibility,setDefensiveState:e.setDefensiveState,resetAIState:e.resetAIState,setTeamControl:e.setTeamControl,toggleSetupPreview:e.toggleSetupPreview}}let yG=[{id:"chat",labelKey:"aiDockChat"},{id:"artifacts",labelKey:"aiDockAnalysis"},{id:"opposition",labelKey:"aiDockOpposition",disabled:!iN.AI_OPPOSITION_ENGINE_AVAILABLE,disabledTitleKey:"aiDockOppositionUnavailable"}],yW=e=>{let t,n=(0,i.c)(5),{active:a,onClick:o,title:s,children:l,colorClass:c,className:u}=e,d=`
448            ${void 0===u?"w-9":u} h-9 flex items-center justify-center rounded-xl transition-all active:scale-95 border border-transparent shrink-0
449            ${a?`${void 0===c?"bg-blue-600 shadow-blue-500/30":c} text-white shadow-lg`:"bg-white/5 hover:bg-white/10 text-gray-300 hover:text-white"}
450        `;return n[0]!==l||n[1]!==o||n[2]!==d||n[3]!==s?(t=(0,r.jsx)("button",{type:"button",onClick:o,className:d,title:s,"aria-label":s,children:l}),n[0]=l,n[1]=o,n[2]=d,n[3]=s,n[4]=t):t=n[4],t};function yH(){let e,t,n,a,o,s,l,c,u,m,p,h,f=(0,i.c)(28),g=(0,d.useTranslations)("BottomTabBar"),x=(0,e1.useL
450ocale)(),b=`${"fr"===x?"/fr/login":"/login"}?callbackUrl=${encodeURIComponent("fr"===x?"/fr/app":"/app")}`,y="fr"===x?"/fr/founding-testers":"/founding-testers";return f[0]===Symbol.for("react.memo_cache_sentinel")?(e=(0,r.jsx)(oE,{size:30,className:"text-cyan-200/80"}),f[0]=e):e=f[0],f[1]!==g?(t=g("aiRequiresLoginTitle"),f[1]=g,f[2]=t):t=f[2],f[3]!==t?(n=(0,r.jsx)("div",{className:"text-sm font-semibold text-white/80",children:t}),f[3]=t,f[4]=n):n=f[4],f[5]!==g?(a=g("aiRequiresLoginBody"),f[5]=g,f[6]=a):a=f[6],f[7]!==a?(o=(0,r.jsx)("div",{className:"mt-1 text-[11px] leading-relaxed text-white/40",children:a}),f[7]=a,f[8]=o):o=f[8],f[9]!==n||f[10]!==o?(s=(0,r.jsxs)("div",{children:[n,o]}),f[9]=n,f[10]=o,f[11]=s):s=f[11],f[12]!==g?(l=g("logInForAi"),f[12]=g,f[13]=l):l=f[13],f[14]!==b||f[15]!==l?(c=(0,r.jsx)(oP.default,{href:b,className:"rounded-lg bg-white px-3 py-1.5 text-[11px] font-semibold text-gray-950 hover:bg-white/90",children:l}),f[14]=b,f[15]=l,f[16]=c):c=f[16],f[17]!==g?(u=g("applyFoundingTester"),f[17]=g,f[18]=u):u=f[18],f[19]!==y||f[20]!==u?(m=(0,r.jsx)(oP.default,{href:y,className:"rounded-lg bg-cyan-500/20 px-3 py-1.5 text-[11px] font-semibold text-cyan-100 hover:bg-cyan-500/30",children:u}),f[19]=y,f[20]=u,f[21]=m):m=f[21],f[22]!==c||f[23]!==m?(p=(0,r.jsxs)("div",{className:"flex items-center gap-2",children:[c,m]}),f[22]=c,f[23]=m,f[24]=p):p=f[24],f[25]!==p||f[26]!==s?(h=(0,r.jsxs)("div",{className:"flex h-full flex-col items-center justify-center gap-3 px-5 text-center",children:[e,s,p]}),f[25]=p,f[26]=s,f[27]=h):h=f[27],h}function yV(e){let t,n,a,o,s,l,c,u,m,p,h,f,g,x,b=(0,i.c)(40),{controller:y,activePanel:v,setActivePanel:w,closePanel:_,canUseAiChat:k}=e,S=(0,d.useTranslations)("BottomTabBar");return b[0]!==v||b[1]!==k||b[2]!==w||b[3]!==S?(t=yG.map(e=>{let t=v===e.id,n=!!e.disabled||!k,i=e.disabled&&e.disabledTitleKey?S(e.disabledTitleKey):k?void 0:S("aiRequiresLoginShort");return(0,r.jsx)("button",{type:"button",disabled:n,"aria-disabled":n,title:n?i:void 0,onClick:()=>{n||w(e.id)},className:`
451                                        h-8 rounded-lg px-3 text-[11px] font-semibold transition-colors
452                                        ${n?"cursor-not-allowed text-white/25":t?"bg-white text-gray-950":"text-white/45 hover:bg-white/10 hover:text-white"}
453                                    `,children:S(e.labelKey)},e.id)}),b[0]=v,b[1]=k,b[2]=w,b[3]=S,b[4]=t):t=b[4],b[5]!==t?(n=(0,r.jsx)("div",{className:"flex min-w-0 items-center gap-1",children:t}),b[5]=t,b[6]=n):n=b[6],b[7]!==S?(a=S("aiDockCollapse"),b[7]=S,b[8]=a):a=b[8],b[9]!==S?(o=S("aiDockCollapse"),b[9]=S,b[10]=o):o=b[10],b[11]===Symbol.for("react.memo_cache_sentinel")?(s=(0,r.jsx)(e5.FaChevronDown,{size:12}),b[11]=s):s=b[11],b[12]!==_||b[13]!==a||b[14]!==o?(l=(0,r.jsx)("button",{type:"button",onClick:_,className:"flex h-8 w-8 shrink-0 items-center justify-center rounded-lg bg-white/5 text-white/45 transition-colors hover:bg-white/10 hover:text-white",title:a,"aria-label":o,children:s}),b[12]=_,b[13]=a,b[14]=o,b[15]=l):l=b[15],b[16]!==n||b[17]!==l?(c=(0,r.jsxs)("div",{className:"flex items-center justify-between gap-2 border-b border-white/10 bg-black/20 px-2 py-2 shrink-0",children:[n,l]}),b[16]=n,b[17]=l,b[18]=c):c=b[18],b[19]===Symbol.for("react.memo_cache_sentinel")?(u={height:"min(430px, calc(100dvh - 190px))"},b[19]=u):u=b[19],b[20]!==k?(m=!k&&(0,r.jsx)(yH,{}),b[20]=k,b[21]=m):m=b[21],b[22]!==v||b[23]!==k||b[24]!==y?(p=k&&"chat"===v&&(0,r.jsx)(yL,{controller:y,showInput:!1}),b[22]=v,b[23]=k,b[24]=y,b[25]=p):p=b[25],b[26]!==v||b[27]!==k?(h=k&&"artifacts"===v&&(0,r.jsx)(yR,{}),b[26]=v,b[27]=k,b[28]=h):h=b[28],b[29]!==v||b[30]!==k?(f=k&&"opposition"===v&&(0,r.jsx)(yB,{embedded:!0,isOpen:!0}),b[29]=v,b[30]=k,b[31]=f):f=b[31],b[32]!==p||b[33]!==h||b[34]!==f||b[35]!==m?(g=(0,r.jsxs)("div",{className:"min-h-0 overflow-hidden",style:u,children:[m,p,h,f]}),b[32]=p,b[33]=h,b[34]=f,b[35]=m,b[36]=g):g=b[36],b[37]!==g||b[38]!==c?(x=(0,r.jsx)("div",{className:"w-full overflow-hidden rounded-xl border border-white/10 bg-black/20",children:(0,r.jsxs)("div",{className:"flex h-full min-h-0 flex-col",children:[c,g]})}),b[37]=g,b[38]=c,b[39]=x):x=b[39],x}function yq(e){let t,n,o,c,u,m,p,h,f,g,x,b,y,v,w,_=(0,i.c)(57),{dockSide:k,controls:S,isPinned:j,onPinToggle:$,panelOpen:I,activePanel:C,setPanelOpen:N,setActivePanel:T,openPanel:A}=e,P=(0,d.useTranslations)("BottomTabBar"),E=(0,tq.useAppAccess)(),D=E?.capabilities?.canUseAiChat===!0;_[0]!==A?(t={onSubmitStart:()=>A("chat")},_[0]=A,_[1]=t):t=_[1];let M=function({onSubmitStart:e}={}
453){let t=(0,d.useTranslations)("AgentChat"),n=(0,e1.useLocale)(),{isOpen:r,setIsOpen:i,messages:o,addMessage:c,status:u,setStatus:m}=(0,oc.useAgentStore)(),{agentChatPinned:p,agentChatPos:h,agentChatSize:f,setAgentChatPinned:g,setAgentChatPos:x,setAgentChatSize:b}=(0,l.useUIStore)(),[y,v]=(0,a.useState)(""),[w,_]=(0,a.useState)([]),[k,S]=(0,a.useState)(!1),[j,$]=(0,a.useState)({}),[I,C]=(0,a.useState)(!1),N=(0,oc.useAgentStore)(e=>e.v3Activities),T=(0,oc.useAgentStore)(e=>e.streamingText),A=(0,oc.useAgentStore)(e=>e.v3Counters),P=(0,oc.useAgentStore)(e=>e.agentSpendBudget),E=(0,a.useRef)(null),D=(0,a.useRef)(null),M=(0,a.useRef)(!1),z=(0,a.useRef)(null),F=(0,a.useRef)(!1),O=(0,a.useRef)(null),L=(0,a.useRef)(null),R=(0,a.useRef)([]),B=(0,a.useRef)(null),U=(0,a.useRef)(null),Z=(0,a.useRef)(null),G=(0,a.useRef)(0),W=(0,a.useRef)(0),H=(0,a.useRef)(null),V=(0,a.useRef)({type:"chat"}),q=(0,a.useRef)("idle"),K=(0,a.useRef)(!0),J=(0,a.useRef)(null),X=(0,a.useRef)(null),Y=(0,a.useRef)(!1),Q=(0,a.useRef)(!1),ee=(0,a.useRef)(!1),et=(0,a.useRef)(!1),en=(0,a.useRef)(!1),er=(0,a.useRef)(!1),ei=(0,a.useRef)(!1),ea=(0,a.useRef)({}),[eo,es]=(0,a.useState)({}),[el,ec]=(0,a.useState)({status:"idle",error:null,target:null}),[eu,ed]=(0,a.useState)({canCancel:!1,pauseRequested:!1,cancelRequested:!1}),em=e=>eo[e]||y_(),ep=(e,t=null,n=V.current)=>{q.current=e,ec({status:e,error:t,target:n})};(0,a.useEffect)(()=>{if(!r&&!p)return;let e=!1;return yd().then(t=>{!e&&t&&oc.useAgentStore.getState().setAgentSpendBudget(t)}).catch(()=>null),()=>{e=!0}},[r,p]),(0,a.useEffect)(()=>()=>{z.current?.abort()},[]);let eh=()=>F.current&&!z.current?.signal?.aborted,ef=()=>{J.current&&(clearTimeout(J.current),J.current=null),X.current&&(clearTimeout(X.current),X.current=null)},eg=()=>{X.current&&(clearTimeout(X.current),X.current=null)},ex=()=>{Z.current&&(clearInterval(Z.current),Z.current=null),U.current?.disconnect?.(),U.current=null;let e=B.current;B.current=null,e&&"closed"!==e.state&&e.close?.().catch?.(()=>null)},eb=()=>{G.current=0,W.current=0},ey=()=>{ef(),O.current=null,R.current=[],H.current=null,ex(),eb(),L.current?.getTracks?.().forEach(e=>e.stop()),L.current=null,ei.current=!1},ev=e=>{let t=ea.current[e];t&&(clearTimeout(t),delete ea.current[e])};(0,a.useEffect)(()=>()=>{Object.values(ea.current).forEach(clearTimeout),ea.current={}},[]),(0,a.useEffect)(()=>()=>{K.current=!1;let e=O.current;if(e&&"inactive"!==e.state)try{e.stop()}catch{}ey()},[]);let ew=async(e,r=null,i={type:"chat"},a=null)=>{if(!e||e.size<=0||a?.sampleCount>0&&a.peakRms<.006)return void ep("error",t("speechNoSpeech"),i);ep("transcribing",null,i);try{let a=e.type||"audio/webm",o=new File([e],`agent-dictation.${function(e=""){return e.includes("mp4")?"mp4":e.includes("ogg")?"ogg":"webm"}(a)}`,{type:a}),s=new FormData;s.append("audio",o),Number.isFinite(r)&&r>0&&s.append("durationMs",String(Math.round(r)));let l=function(e=""){let t=String(e||"").toLowerCase().split(/[-_]/)[0];return"fr"===t||"en"===t?t:null}(n);l&&s.append("language",l);let c=await fetch(i?.type==="feedback"?"/api/agent/feedback-transcribe":"/api/agent/transcribe",{method:"POST",body:s}),u=await c.json().catch(()=>({}));if(!c.ok)throw Error(u?.error||t("speechTranscriptionFailed"));let d=String(u?.text||"").trim();if(!d)return void ep("error",t("speechNoSpeech"),i);((e,t={type:"chat"})=>{let n=e.trim();if(n){if(t?.type==="feedback"&&t.interactionId)return eS(t.interactionId,n,{append:!0});v(e=>{let t=e.trimEnd();return t?`${t} ${n}`:n})}})(d,i),ep("idle",null,null)}catch(e){ep("error",e?.message||t("speechTranscriptionFailed"),i)}},e_=({transcribe:e=!0}={})=>{K.current=e,ef();let n=O.current;if(!n){"requesting_permission"===q.current&&(ei.current=!0);return}if("inactive"===n.state){ey(),"transcribing"!==q.current&&ep("idle");return}if(e&&"function"==typeof n.requestData&&"recording"===n.state)try{n.requestData()}catch{}try{n.stop()}catch(e){ey(),ep("error",e?.message||t("speechTranscriptionFailed"))}},ek=async(e={type:"chat"})=>{if("idle"!==u||yb(q.current))return;if(V.current=e,"u"<typeof navigator||!navigator.mediaDevices?.getUserMedia||"u"<typeof MediaRecorder)return void ep("error",t("speechUnsupported"),e);let n="u"<typeof MediaRecorder?null:"function"!=typeof MediaRecorder.isTypeSupp
453orted?yf[0]:yf.find(e=>MediaRecorder.isTypeSupported(e))||null;if(!n)return void ep("error",t("speechUnsupported"),e);ep("requesting_permission",null,e),K.current=!0;try{let r=await navigator.mediaDevices.getUserMedia({audio:!0});if(L.current=r,R.current=[],(e=>{ex(),eb();let t=window.AudioContext||window.webkitAudioContext;if(t)try{let n=new t,r=n.createAnalyser();r.fftSize=1024;let i=n.createMediaStreamSource(e),a=new Uint8Array(r.fftSize);i.connect(r),B.current=n,U.current=i;let o=()=>{r.getByteTimeDomainData(a);let e=0;for(let t of a){let n=(t-128)/128;e+=n*n}let t=Math.sqrt(e/a.length);W.current+=1,G.current=Math.max(G.current,t)};n.resume?.().catch?.(()=>null),o(),Z.current=window.setInterval(o,80)}catch{ex()}})(r),await yx(r),L.current!==r)return;let i=new MediaRecorder(r,{mimeType:n});O.current=i,i.ondataavailable=e=>{e.data&&e.data.size>0&&R.current.push(e.data)},i.onerror=()=>{K.current=!1,ey(),ep("error",t("speechTranscriptionFailed"),e)},i.onstop=()=>{let t=K.current,r=i.mimeType||n,a=V.current||e,o=H.current?Date.now()-H.current:null;window.setTimeout(()=>{let e=R.current.slice(),n={peakRms:G.current,sampleCount:W.current};if(ey(),!t)return void ep("idle");let i=new Blob(e,{type:r});ew(i,o,a,n)},80)},i.start(1e3),H.current=Date.now(),ep("recording"),J.current=setTimeout(()=>{"recording"===q.current&&e_()},6e4),ei.current&&(ei.current=!1,e_())}catch(n){ey(),ep("error",n?.name==="NotAllowedError"||n?.name==="SecurityError"?t("speechPermissionDenied"):t("speechUnsupported"),e)}};(0,a.useEffect)(()=>{let e=e=>{if("Space"===e.code&&e.ctrlKey){if(e.preventDefault(),!e.repeat){if("recording"===q.current){ee.current=!0,en.current=!0,e_();return}"idle"===u&&["idle","error"].includes(q.current)&&(ee.current=!0,et.current=!1,en.current=!1,X.current=setTimeout(()=>{ee.current&&["idle","error"].includes(q.current)&&(et.current=!0,ek())},260))}}},t=e=>{if(ee.current&&["Space","ControlLeft","ControlRight"].includes(e.code)){if(e.preventDefault(),eg(),ee.current=!1,en.current){en.current=!1,et.current=!1;return}if(et.current){et.current=!1,e_();return}("idle"===q.current||"error"===q.current)&&ek()}};return window.addEventListener("keydown",e),window.addEventListener("keyup",t),()=>{window.removeEventListener("keydown",e),window.removeEventListener("keyup",t)}},[u]);let eS=(e,t,n={})=>{e&&(ev(e),es(r=>{let i=r[e]||y_(),a=n.append?`${i.comment?.trimEnd()?`${i.comment.trimEnd()} `:""}${String(t||"").trim()}`:t;return{...r,[e]:{...i,comment:a,status:"saved"===i.status?"idle":i.status,error:null,triage:"saved"===i.status?null:i.triage,triageError:"saved"===i.status?null:i.triageError,creditGrant:"saved"===i.status?null:i.creditGrant,autoClosing:!1}}}))},ej=async e=>{let n=e?.interactionId;if(!n)return;let r=em(n);if(r.rating&&"saving"!==r.status){es(e=>({...e,[n]:{...e[n]||r,status:"saving",error:null}}));try{let i=yw({feedbackSource:e}),a=await fetch("/api/agent/feedback",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({...e,userMessage:i,rating:r.rating,comment:r.comment})}),o=await a.json().catch(()=>({}));if(!a.ok)throw Error(o?.error||t("feedbackSaveError"));ev(n),es(e=>({...e,[n]:{...e[n]||r,status:"saved",open:!0,error:null,feedbackId:o?.feedback?.id||null,triage:o?.triage||null,triageError:o?.triageError||null,creditGrant:o?.creditGrant||null,autoClosing:!0}})),o?.budget?oc.useAgentStore.getState().setAgentSpendBudget(o.budget):yd().then(e=>{e&&oc.useAgentStore.getState().setAgentSpendBudget(e)}).catch(()=>null),ea.current[n]=setTimeout(()=>{es(e=>{let t=e[n];return t&&"saved"===t.status?{...e,[n]:{...t,open:!1,autoClosing:!1}}:e}),delete ea.current[n]},2200)}catch(e){ev(n),es(i=>({...i,[n]:{...i[n]||r,status:"error",error:e.message||t("feedbackSaveError"),autoClosing:!1}}))}}},e$=(e,t=null)=>{if("string"!=typeof e)return t;try{return JSON.parse(e)}catch{return t}},eI={get_pitch_state:"Scene read",get_scenario_state:"Phase notes",get_scene_state:"Formation read",create_player:"Player added",update_player:"Player detail",update_team_players:"Shape adjustment",delete_team_players:"Player cleanup",delete_player:"Player removal",update_team_info:"Team setup",create_man_marking:"Man-marking cue",create_zonal_marking:"Zonal cue",create_link:"Tactical link",update_link:"Link adjustment",delete_link:"Link removal",create_zone:"Tactical zone",update_zone:"Zone adjustment",delete_zone:"Zone removal",delete_marking:"Marking cleanup",create_annotation:"Visual cue",create_curved_arrow_annotation:"Curved arrow",create_annotations:"Visual cues",update_annotations:"Cue adjustment",create_annotation_group:"Overlay layer",update_annotation_group:"Layer adjustment",assign_annotation_to_group:"Layer organization",delete_annotation:"Cue removal",delete_annotation_group:"Layer removal",carry_ball:"Ball carry",pass_ball:"Pass timing",add_player_movement:"Player run",add_curved_player_movement:"Curved run",remove_player_movement:"Run removal",clear_player_movements:"Run cleanup",save_artifact:"Tactical note",search_web:"Context check",get_current_date:"Date check",analyze_live_footage:"Broadcast read",check_camera_angle:"Camera check",analyze_live_footage_cv:"Player detection",apply_broadcast_cv_reconstruction:"Scene placement",set_camera_to_broadcast_angle:"Match view",capture_scene_screenshot:"Board capture",reset_ball_state:"Ball reset"},eC={get_scene_state:"📋",create_player:"👤",update_player:"✏️",update_team_players:"👥",delete_team_players:"❌",delete_player:"❌",create_man_marking:"🛡️",create_zonal_marking:"🟦",create_link:"🔗",create_zone:"🔶",create_annotation:"🎨",create_curved_arrow_annotation:"🎨",create_annotations:"🎨",update_annotations:"🎨",create_annotation_group:"📂",update_annotation_group:"📂",assign_annotation_to_group:"📂",delete_annotation:"🗑️",delete_annotation_group:"🗑️",carry_ball:"⚽",pass_ball:"⚽",add_player_movement:"🏃",add_curved_player_movement:"🏃",remove_player_movement:"🚫",clear_player_movements:"🚫",save_artifact:"📝",search_web:"🌐",get_current_date:"📅",analyze_live_footage:"📡",check_camera_angle:"📷",analyze_live_footage_cv:"🔬",apply_broadcast_cv_reconstruction:"👥",set_camera_to_broadcast_angle:"🎥",capture_scene_screenshot:"📸",update_team_info:"🏟️",update_link:"🔗",delete_link:"🗑️",update_zone:"🔶",delete_zone:"🗑️",delete_marking:"🗑️",reset_ball_state:"⚽"},eN={updates:"Updated Fields",sample:"Example",annotations:"Elements",types:"Element Types",type:"Type",at:"Position",from:"From",to:"To",player:"Player",team:"Team",start:"Start (s)",end:"End (s)",time:"Time (s)",camera:"Camera",target:"Target",fov:"View Angle",title:"Title",first:"First Item",fields:"Updated Fields",styleFields:"Style Fields",positionFields:"Position Fields",playerId:"Player",passerId:"Passer",receiverId:"Receiver",markerId:"Marker",targetId:"Marked Player",count:"Count"},eT={update_team_players:{updates:"Players Moved",sample:"Example Player"},create_annotations:{annotations:"Elements Added",types:"Element Types"},create_annotation:{type:"Element Type",at:"Position"},create_curved_arrow_annotation:{from:"Start",to:"End",bend:"Bend"},update_annotations:{updates:"Elements Updated",fields:"Updated Fields",styleFields:"Style Fields",positionFields:"Position Fields"},edit_annotation:{fields:"Updated Fields",styleFields:"Style Fields",positionFields:"Position Fields"}
453,carry_ball:{player:"Ball Carrier",team:"Team",start:"Start (s)",end:"End (s)"},pass_ball:{from:"Passer",to:"Receiver",time:"Pass Time (s)",type:"Pass Type"},add_curved_player_movement:{player:"Runner",to:"Target",time:"Arrival (s)",bend:"Bend"},set_camera_to_broadcast_angle:{camera:"Camera Position",target:"Look Target",fov:"Field of View"},apply_broadcast_cv_reconstruction:{option:"CV Mapping",teamA:"Team A",teamB:"Team B"},save_artifact:{title:"Report Title"}},eA=(e="")=>((e="")=>e.split(" ").filter(Boolean).map(e=>e[0]?.toUpperCase()+e.slice(1)).join(" "))(String(e).replaceAll("_"," ")),eP=(e="")=>{let n=`toolLabels.${e}`,r=t(n);return r!==n?r:eI[e]||eA(e)||"Action"},eE={textwindow:"Note Window",text:"Pitch Text",arrow:"Arrow",rectangle:"Rectangle",circle:"Circle",pencil:"Free Draw"},eD=e=>{let n=`annotationTypeLabels.${e}`,r=t(n);return r!==n?r:eE[e]||eA(e||"")},eM=(e,t=null)=>{if(!e||"string"!=typeof e)return e;let n=s.usePlayerStore.getState(),r=[...n.teamAPlayers,...n.teamASubs,...n.teamBPlayers,...n.teamBSubs].find(t=>t.id===e);if(!r)return e;let i=r.name||e,a=Number.isFinite(r.number)?` #${r.number}`:"",o=e.startsWith("player-A-")?"A":e.startsWith("player-B-")?"B":"",l=t||o,c=l?` (Team ${l})`:"";return`${i}${a}${c}`},ez=e=>{if(!Number.isFinite(e))return"?";let t=Math.round(10*e)/10;return Number.isInteger(t),`${t}`},eF=(e,t=null)=>"string"==typeof e&&e.startsWith("player-")?eM(e,t):e;(0,a.useEffect)(()=>{E.current?.scrollIntoView({behavior:"smooth"})},[o]);let eO=async n=>{if(n.preventDefault(),!y.trim()&&0===w.length||"idle"!==u||yb(q.current)||M.current)return;let r="u">typeof crypto&&"function"==typeof crypto.randomUUID?`agent-turn-${crypto.randomUUID()}`:`agent-turn-${Date.now()}-${Math.random().toString(36).slice(2,8)}`,i=o.filter(e=>"user"===e.role).length+1,a=oK("before");M.current=!0,e?.(),m("executing");let s=new AbortController,l=s.signal;z.current=s,F.current=!1,ed({canCancel:!0,pauseRequested:!1,cancelRequested:!1});let d=await Promise.all(w.map(e=>new Promise(t=>{let n=new FileReader;n.onloadend=()=>{let r=n.result.split(",")[1];t({mimeType:e.type,base64:r})},n.readAsDataURL(e)}))),p=(0,oR.buildPitchState)();(0,sa.resetVerboseDump)(),(0,sa.logVerbose)("USER_MESSAGE",y),(0,sa.logVerbose)("PITCH_STATE_INITIAL",p),c({role:"user",content:y,contentForApi:`${p}
454
455${y}`,images:d,interactionId:r,turnIndex:i}),v(""),_([]);{let e=oc.useAgentStore.getState(),n=e.startNewSession(),s={interactionId:r,sessionId:n?.sessionId||e.currentSessionId||null},u=null,p=null,v=({content:o,routerDecision:s,completionStatus:l="completed"})=>{let u=oc.useAgentStore.getState();u.resetStreamingText(),u.markActiveV3ActivitiesDone(),u.finalizeV3Counters(),z.current=null,F.current=!1,ed({canCancel:!1,pauseRequested:!1,cancelRequested:!1});let p=oc.useAgentStore.getState(),h=p.v3Activities,f=o||t("sceneUpdated"),g={before:a,after:oK("after")},x=function(e=[]){return yv(e.map(e=>({...e,contentLength:"string"==typeof e.content?e.content.length:0})))}(p.artifacts),b=p.getCurrentSession?.()?.exportFull?.()||null,v=p.getCurrentSession?.()?.exportForAI?.()||null,w={role:"assistant",content:f,interactionId:r,turnIndex:i,v3Activity:h,scenarioState:p.scenarioState,routerDecision:s||void 0},_=[...p.messages||[],w],k=(0,sa.buildAgentDebugMarkdown)({state:p,messages:_,session:b,focusInteractionId:r,sceneSnapshot:g,routerDecision:s||null,artifacts:x}),S=yw({submittedInput:y,processedImages:d,routerDecision:s||null}
455),j={interactionId:r,sessionId:n?.sessionId||p.currentSessionId||null,turnIndex:i,userMessage:S,assistantMessage:f,sceneSnapshot:g,actionTrace:{activities:h,counters:p.v3Counters,session:v,fullSession:yv(b)},routerDecision:s||null,artifacts:x,metadata:{completionStatus:l,imageCount:d.length,images:function(e=[]){return e.map((e,t)=>({index:t,mimeType:e?.mimeType||"unknown"}))}(d),createdAt:new Date().toISOString()},debugContext:yv({schemaVersion:"agent-feedback-debug-context-v1",createdAt:new Date().toISOString(),interactionId:r,turnIndex:i,dumpMarkdown:k,finalPitchState:function(){try{return(0,oR.buildFocusedPitchState)("full",{includeDeltas:!0})}catch(e){return`[pitch_state_error] ${e?.message||e}`}}(),scenarioState:function(){try{return(0,si.serializeScenarioState)()||null}catch(e){return`[scenario_state_error] ${e?.message||e}`}}(),chatHistory:_,v3Activity:h,sessionMetrics:b?.summary||null,tokenCostUsage:p.v3Counters,routerDecision:s||null,sceneSnapshot:g,actionTrace:{activities:h,counters:p.v3Counters,session:v,fullSession:b},artifacts:x,llmExchanges:Array.isArray(b?.steps)?b.steps.filter(e=>"llm_request"===e.type||"llm_response"===e.type||"builder_llm_exchange"===e.type):[],feedbackTurn:{userMessage:S,assistantMessage:f,completionStatus:l}})};c({...w,feedback:j}),e.saveSessionLog(b||e.getCurrentSession().exportFull()),M.current=!1,m("idle")};try{var h,f,g,x,b,k,S,j;(0,si.resetScenarioState)(),e.resetV3Activities(),e.resetStreamingText(),e.resetV3Counters(),C(!1);let r=o.slice(-12).map(e=>({role:e.role,content:e.content})).filter(e=>"user"===e.role||"assistant"===e.role),i=async()=>{let n=`solo-${Date.now()}`;e.appendV3Activity({id:n,text:b8(t,"traceArchitectAnalyzing","Reading the tactical intent..."),label:b8(t,"traceArchitectLabel","🧠 Tactical read"),status:"active",duration_ms:null,details:[],meta:{role:"solo"}});let i=Date.now();return bf({userMessage:y,images:d,conversationContext:r,routerDecision:u,spendContext:s,scopePass:p,signal:l,shouldPause:eh,onProgress:e=>{var r,a,o;let s=oc.useAgentStore.getState();if("text_delta"===e.type)s.appendStreamingText(e.text||"");else if("text_reset"===e.type)s.resetStreamingText();else if("solo_status"===e.type){let i;s.updateV3Activity(n,{text:(r=e.message,(i=String(r||"").trim().toLowerCase()).includes("reviewing builder results")?b8(t,"traceArchitectReviewing","Checking the updated tactical board..."):i.includes("analyzing your request")?b8(t,"traceArchitectAnalyzing","Reading the tactical intent..."):b8(t,"traceArchitectWorking","Thinking through the next tactical step..."))})}else if("builder_tool"===e.type||"spatial_tool"===e.type)s.appendV3ActivityDetail(n,yi(e.tool,e.result||null,t));else if("spatial_result"===e.type){let r=s.v3Activities.find(e=>e.id===n);if(r?.details?.length>0){let i=[...r.details],l=i.length-1;if(i[l]?.startsWith("📐")){let r,c;i[l]=(a=e.tool,o=e.result,r=yi(a,null,t),(c=o?void 0!==o.packing_count?`${o.packing_count} packed, ${o.opponents_in_lane} in lane`:void 0!==o.count?`${o.count} opponent${1!==o.count?"s":""}`:o.players?o.players.slice(0,2).map(e=>`${e.name} ${e.distance}m`).join(", "):o.zones&&o.zones[0]?.zone||"":"")?`${r} - ${c}`:r),s.updateV3Activity(n,{details:i})}}}else"solo_tools_done"===e.type?s.updateV3Activity(n,{status:"done",duration_ms:Date.now()-i}):"scenario_update"===e.type?((0,si.createScenarioState)(e.content),s.setScenarioState(e.content)):"spend_budget"===e.type&&e.budget?s.setAgentSpendBudget(e.budget):"done"===e.type&&s.updateV3Activity(n,{status:"done",duration_ms:Date.now()-i})}})};n?.logStep?.("router_start",{userMessage:y?.substring(0,160),imageCount:d.length});try{let e=await b4({userMessage:y,conversationContext:r,images:d,spendContext:s,signal:l});u=e.decision,n?.logStep?.("router_source",{source:e.source,handler:e.handler||null,reason:e.reason||null,agreed:e.agreed??null})}catch(e){if(n?.logStep?.("router_error",{message:e.message,stage:"classification"}),!u)try{u=bQ({userMessage:y,conversationContext:r,images:d})}catch{}}if(u){let r,i;n?.logStep?.("router_decision",ym(u));let a=(h=u,{label:b8(t,"traceRouterLabel","🧭 Request read"),text:(r=h?.mode,i=h?.selectedBuilder,r===bb.SUPPORT?b8(t,"traceRouterModes.support","Recognized an app workflow question"):r===bb.SCOPE_REFUSAL?b8(t,"traceRouterModes.scopeRefusal","Checked fit with the football workspace"):r===bb.SCOPE_CLARIFICATION?b8(t,"traceRouterModes.scopeClarification","Needs a clearer football or workspace angle"):r===bb.SCOPE_AI_CHECK?b8(t,"traceRouterModes.scopeCheck","Checking whether this belongs on the tactics board"):r===bb.DIRECT_BUILDER?b8(t,"traceRouterModes.directBuilder","Found a clean tactical edit"):r===bb.SPATIAL_DIRECT?b8
455(t,"traceRouterModes.spatialDirect","Found a pitch geometry question"):r===bb.PEDAGOGICAL_ARCHITECT?b8(t,"traceRouterModes.pedagogicalArchitect","Preparing a coaching-style answer"):r===bb.BROADCAST_ARCHITECT?b8(t,"traceRouterModes.broadcastArchitect","Reading the image like a match frame"):r===bb.FAST_ARCHITECT?b8(t,"traceRouterModes.fastArchitect","Planning a guarded tactical change"):i?b8(t,"traceRouterModes.builderFallback","Choosing the right tactical lane"):b8(t,"traceRouterModes.fallbackArchitect","Choosing the safest tactical workflow")),details:(S=h,j=t,(Array.isArray(S?.reasons)?S.reasons:[]).map(e=>(function(e,t){let n=String(e||"").trim();if(!n)return null;if(n.startsWith("single_domain:")){let e=yr(n.split(":")[1],t).label.toLowerCase();return b8(t,"traceReasonSingleDomain","Clear tactical area: {area}",{area:e})}if(n.startsWith("multiple_domains:")){let e=n.split(":")[1]?.split(",").filter(Boolean).map(e=>yr(e,t).label.toLowerCase()).join(", ");return b8(t,"traceReasonMultipleDomains","Several tactical layers: {areas}",{areas:e||b9(n)})}let r=Object.prototype.hasOwnProperty.call(yn,n),i=yn[n]||b9(n);return r?b8(t,`traceReasonLabels.${n}`,i):i}
455)(e,j)).filter(Boolean))});e.appendV3Activity({id:`router-${Date.now()}`,text:a.text,label:a.label,status:"done",duration_ms:null,details:a.details,meta:{role:"router",mode:u.mode}})}if(u?.mode===bb.SCOPE_REFUSAL){n?.logStep?.("scope_refusal",ym(u)),v({content:t("scopeRefusalMessage"),routerDecision:u,completionStatus:"scope_refused"});return}if(u?.mode===bb.SCOPE_CLARIFICATION){n?.logStep?.("scope_clarification",ym(u)),v({content:t("scopeClarificationMessage"),routerDecision:u,completionStatus:"scope_clarified"});return}if(u?.mode===bb.SCOPE_AI_CHECK){let i=`scope-check-${Date.now()}`,a=Date.now();e.appendV3Activity({id:i,text:b8(t,"traceScopeChecking","Checking the tactical fit..."),label:b8(t,"traceScopeLabel","🧭 Fit check"),status:"active",duration_ms:null,details:[],meta:{role:"scope-check"}}),n?.logStep?.("scope_check_start",ym(u));let o=null;try{o=await yp({userMessage:y,conversationContext:r,spendContext:s,signal:l})}catch(r){if(yy(r))throw r;e.updateV3Activity(i,{status:"done",duration_ms:Date.now()-a,details:[b8(t,"traceScopeCheckFailed","Fit check stopped: {error}",{error:r.message})]}),n?.logStep?.("scope_check_error",{message:r.message}),v({content:t("scopeClarificationMessage"),routerDecision:u,completionStatus:"scope_check_failed"});return}let c=o?.usage||null;if(c){let e=c.promptTokens||0,t=c.completionTokens||0,n=(0,b3.computeCost)(c.model,e,t);oc.useAgentStore.getState().addArchitectUsage(e,t,n.total)}let d=o?.scope||o?.scopeDecision?.scope||"clarify";if(p=o?.scopePass||null,e.updateV3Activity(i,{status:"done",duration_ms:Date.now()-a,details:[b8(t,"traceScopeResult","Fit: {scope}",{scope:d})]}),n?.logStep?.("scope_check_done",{scope:d,scopeDecision:o?.scopeDecision||null,hasScopePass:!!p,usage:c}),eh())return void v({content:t("agentPausedAfterStepMessage"),routerDecision:u,completionStatus:"paused"});if("refuse"===d){u={...u,mode:bb.SCOPE_REFUSAL,scope:"refuse",scopeDecision:o?.scopeDecision||u.scopeDecision,reasons:[...u.reasons||[],...o?.scopeDecision?.reasons||[]],actionGroup:"router ai scope refusal"},v({content:t("scopeRefusalMessage"),routerDecision:u,completionStatus:"scope_refused"});return}if("clarify"===d){u={...u,mode:bb.SCOPE_CLARIFICATION,scope:"unknown",scopeDecision:o?.scopeDecision||u.scopeDecision,reasons:[...u.reasons||[],...o?.scopeDecision?.reasons||[]],actionGroup:"router ai scope clarification"},v({content:t("scopeClarificationMessage"),routerDecision:u,completionStatus:"scope_clarified"});return}if("support"===d)u={...u,mode:bb.SUPPORT,selectedBuilder:null,confidence:o?.scopeDecision?.confidence||.72,complexity:0,risk:"low",requiresArchitect:!1,actionGroup:"router ai scope support",scope:"support",scopeDecision:o?.scopeDecision||u.scopeDecision,reasons:[...u.reasons||[],...o?.scopeDecision?.reasons||[]]};else{if("football"!==d)return void v({content:t("scopeClarificationMessage"),routerDecision:u,completionStatus:"scope_clarified"});u={...u,mode:bb.FALLBACK_ARCHITECT,selectedBuilder:null,confidence:o?.scopeDecision?.confidence||.72,complexity:2,risk:"medium",requiresArchitect:!0,actionGroup:"router ai scope football",scope:"football",scopeDecision:o?.scopeDecision||u.scopeDecision,reasons:[...u.reasons||[],...o?.scopeDecision?.reasons||[]],modelPolicy:{architectTier:"fast",builderTier:"lite",verifierTier:"none"}}}}if(u?.mode===bb.SUPPORT){let i=`support-${Date.now()}`,a=Date.now();e.appendV3Activity({id:i,text:b8(t,"traceSupportWorking","Answering from the workspace guide..."),label:b8(t,"traceSupportLabel","💡 Workspace guide"),status:"active",duration_ms:null,details:[],meta:{role:"support"}}),n?.logStep?.("support_start",{userMessage:y?.substring(0,160),scopeDecision:ym(u)});let o=await yh({userMessage:y,conversationContext:r,spendContext:s,scopePass:p,signal:l}),c=o?.usage||null;if(c){let e=c.promptTokens||0,t=c.completionTokens||0,n=(0,b3.computeCost)(c.model,e,t);oc.useAgentStore.getState().addArchitectUsage(e,t,n.total)}e.updateV3Activity(i,{status:"done",duration_ms:Date.now()-a}),n?.logStep?.("support_done",{usage:c,response:o?.message?.substring(0,200)}),v({content:o?.message||t("supportFallbackMessage"),routerDecision:u,completionStatus:"support_completed"});return}if(g=f=u,g?.mode===bb.DIRECT_BUILDER&&g?.selectedBuilder==="broadcast"&&!g.requiresArchitect&&g.confidence>=.85&&Array.isArray(g.reasons)&&g.reasons.includes("attached_image")||f?.selectedBuilder&&!f.requiresArchitect&&"low"===f.risk&&f.confidence>=.85&&(f.mode===bb.DIRECT_BUILDER||f.mode===bb.SPATIAL_DIRECT)){let r,i;(0,oR.clearSceneDeltas)();let a=`builder-${u.actionGroup}-${Date.now()}`,o=!1;e.appendV3Activity({id:a,text:(x=u.selectedBuilder,b=u.actionGroup,r=yr(x,t),b7[x]?r.action:b8(t,`traceBuilderActions.${x}`,b?`Working on ${b9(b.replace(/^router\s+/i,"")).toLowerCase()}...`:r.action)),label:(k=u.selectedBuilder,i=yr(k,t),`${i.emoji} ${i.label}`),status:"active",duration_ms:null,details:[],meta:{role:"builder",builder:u.selectedBuilder,actionGroup:u.actionGroup}}),n?.logStep?.("router_direct_builder_start",{builder:u.selectedBuilder,actionGroup:u.actionGroup,mode:u.mode,confidence:u.confidence});try{let r=Date.now(),i=await bM({builderType:u.selectedBuilder,brief:u.brief,actionGroup:u.actionGroup,images:"broadcast"===u.selectedBuilder?d:[],spendContext:s,signal:l,shouldPause:eh},e=>{let n=oc.useAgentStore.getState();if("builder_tool"===e.type){sm.has(e.tool)||(o=!0);let r=yi(e.tool,e.result,t);n.appendV3ActivityDetail(a,r)}else"spend_budget"===e.type&&e.budget&&n.setAgentSpendBudget(e.budget)}),c=Date.now()-r;if(e.updateV3Activity(a,{status:"done",duration_ms:c}),n?.logStep?.("router_direct_builder_done",{builder:u.selectedBuilder,actionGroup:u.actionGroup,toolsUsed:i.toolsUsed,warningCount:i.warnings?.length||0,errorCount:i.errors?.length||0,duration_ms:c,summary:i.summary}),eh())return void v({content:t("agentPausedAfterStepMessage"),routerDecision:u,completionStatus:"paused"});v({content:function(e){let t=e?.errors||[],n=e?.warnings||[];if(e?.reconstructionApplied===!1){let e=t.length>0?` ${t.join("; ")}`:"";return`I could not rebuild the scene from that frame.${e}`}if(t.length>0)return`I tried to apply the change, but validation found an issue: ${t.join("; ")}`;if(!e?.changed){let e=n.length>0?` I did notice: ${n.join("; ")}`:"";return`I looked at the scene but did not change anything.${e} Tell me what to adjust and I will apply it.`}return n.length>0?`Done, with warnings: ${n.join("; ")}`:`Done - ${e?.summary||"scene updated."}`}(i),routerDecision:u,completionStatus:"direct_builder_completed"});return}catch(r){if(yy(r))throw r;if(r?.refusal){n?.logStep?.("router_direct_builder_refused",{builder:u.selectedBuilder,actionGroup:u.actionGroup,reasons:r.scopeDecision?.reasons}),e.updateV3Activity(a,{status:"done"}),v({content:r.message,routerDecision:u,completionStatus:"scope_refused"});return}if(n?.logStep?.("router_error",{message:r.message,builder:u.selectedBuilder,actionGroup:u.actionGroup,mutationStarted:o}),e.updateV3Activity(a,{status:"done",details:[...oc.useAgentStore.getState().v3Activities.find(e=>e.id===a)?.details||[],b8(t,"traceSceneWorkFailed","Scene work stopped: {error}",{error:r.message})]}),o)return void v({content:`I tried to apply the change, but the direct builder failed after starting scene work: ${r.message}`,routerDecision:u,completionStatus:"direct_builder_failed_after_mutation"});n?.logStep?.("router_fallback",{cause:"direct_builder_error_before_mutation",error:r.message,fallbackMode:u.fallbackMode})}}else u&&n?.logStep?.("router_fallback",{cause:"requires_architect_or_safety_gate",mode:u.mode,selectedBuilder:u.selectedBuilder,fallbackMode:u.fallbackMode});n?.logStep?.("architecture",{solo:!0});let{finalResponse:a,paused:c}=await i();v({content:c?t("agentPausedAfterStepMessage"):a||t("sceneUpdated"),routerDecision:u||void 0,completionStatus:c?"paused":"solo_completed"})}catch(e){if(yy(e))return void v({content:t("agentCancelledMessage"),routerDecision:u||void 0,completionStatus:"cancelled"});console.error("[AgentChat] v3 architect error:",e),v({content:t("errorLabel",{error:e.message}),routerDecision:u||void 0,completionStatus:"error"})}return}};return{t,isOpen:r,setIsOpen:i,messages:o,status:u,input:y,setInput:v,attachments:w,speechState:el,isSpeechBusy:yb(el.status),isDragging:k,exp
455andedReasoningByMsg:j,activityExpanded:I,setActivityExpanded:C,displayActivities:N,displayCounters:A,streamingText:T,agentSpendBudget:P,turnControls:{...eu,onCancel:()=>{let e=z.current;e&&!e.signal.aborted&&(F.current=!1,ed(e=>({...e,canCancel:!1,cancelRequested:!0,pauseRequested:!1})),e.abort())},onPause:()=>{z.current&&!z.current.signal.aborted&&(F.current=!0,ed(e=>({...e,pauseRequested:!0})))}},messagesEndRef:E,fileInputRef:D,agentChatPinned:p,agentChatPos:h,agentChatSize:f,setAgentChatPinned:g,setAgentChatPos:x,setAgentChatSize:b,safeParseJson:e$,getToolThought:e=>e?.function?.thoughtSignature||e?.function?.thought||null,getToolEmoji:e=>eC[e]||"⚙️",getReasoningEmoji:(e=[])=>{let t=e.map(e=>e?.function?.name).filter(Boolean);return 0===t.length?"💭":t.some(e=>e.includes("cv")||e.includes("footage")||e.includes("camera"))?"🔍":t.some(e=>e.includes("annotation")||e.includes("zone"))?"🎨":t.some(e=>e.includes("ball"))?"⚽":t.some(e=>e.includes("player")||e.includes("team"))?"👥":t.some(e=>"search_web"===e)?"🌐":t.some(e=>"save_artifact"===e)?"📝":"⚡"},getToolUiLabel:eP,messageVariants:{hidden:{opacity:0,y:8},visible:{opacity:1,y:0,transition:{duration:.3,ease:"easeOut"}}},toolListVariants:{hidden:{},visible:{transition:{staggerChildren:.06}}},toolCardVariants:{hidden:{opacity:0,x:-8},visible:{opacity:1,x:0,transition:{duration:.25,ease:"easeOut"}}},buildToolReasoningFallback:(e=[])=>{let t=e.map(e=>e?.function?.name).filter(Boolean);if(0===t.length)return null;if(1===t.length)return`I'll work on ${eP(t[0]).toLowerCase()} for this tactical step.`;let n=t.slice(0,3).map(e=>eP(e).toLowerCase()).join(", "),r=t.length-3;return r>0?`I'll combine ${n}, and ${r} more tactical actions for this step.`:`I'll combine ${n} for this tactical step.`},buildToolHighlights:e=>{let n=e?.function?.name||"",r=e$(e?.function?.arguments,{})||{},i=[],a=(e,r,a={})=>{if(i.length>=4)return;let o=((e,t={})=>{let{teamHint:n=null}=t,r=eF(e,n);if(null==e)return null;if("number"==typeof r){let e=Math.round(100*r)/100;return Number.isInteger(e),`${e}`}if("boolean"==typeof r)return r?"true":"false";if("string"==typeof r)return((e,t=140)=>{if("string"!=typeof e)return"";let n=e.replace(/\s+/g," ").trim();return n.length<=t?n:`${n.slice(0,t-3)}...`})(r,48);if(Array.isArray(r)){if(0===r.length)return"0 items";if(r.every(e=>"string"==typeof e)){let e=r.map(e=>eF(e,n)),t=e.slice(0,3).join(", ");return e.length>3?`${t} +${e.length-3}`:t}return`${r.length} items`}if("object"==typeof r){if(Number.isFinite(r.x)||Number.isFinite(r.z))return`(${ez(r.x)}, ${ez(r.z)})`;let e=Object.keys(r);if(0===e.length)return"{}";let t=e.slice(0,2).join(", ");return e.length>2?`${t}...`:t}return`${r}`})(r,a);o&&i.push({key:e,label:((e,n)=>{let r=eT[e]?.[n];if(r)return r;let i=`fieldLabels.${n}`,a=t(i);return a!==i?a:eN[n]||eA(n)})(n,e),value:o})};if("update_team_players"===n){let e=Array.isArray(r.updates)?r.updates:[];a("updates",e.length);let t=e.find(e=>e?.playerId);if(t?.playerId){let e=t.position?` @ (${ez(t.position.x)}, ${ez(t.position.z)})`:"";a("sample",`${eM(t.playerId,t.team)}${e}`)}return i}if("create_annotations"===n){let e=Array.isArray(r.annotations)?r.annotations:[];a("annotations",e.length);let t=[...new Set(e.map(e=>e?.type).filter(Boolean).map(eD))];return t.length>0&&a("types",t.join(", ")),i}if("create_annotation"===n)return a("type",eD(r.type)),r.position&&a("at",r.position),i;if("create_curved_arrow_annotation"===n)return a("from",r.startPosition),a("to",r.endPosition),a("bend",r.curveBend??.35),i;if("update_annotations"===n){let e=Array.isArray(r.updates)?r.updates:[];a("updates",e.length);let t=e[0]?.updates||{},n=Object.keys(t).filter(e=>"config"!==e);n.length>0&&a("fields",n.map(eA).join(", "));let o=Object.keys(t?.config||{});return o.length>0&&a("styleFields",o.map(eA).join(", ")),i}if("edit_annotation"===n){let e=r.updates||{},t=Object.keys(e).filter(e=>"config"!==e);t.length>0&&a("fields",t.map(eA).join(", "));let n=Object.keys(e?.config||{});return n.length>0&&a("styleFields",n.map(eA).join(", ")),i}return"carry_ball"===n?(a("player",r.playerId,{teamHint:r.team}),a("team",r.team),a("start",r.startTime),void 0!==r.endTime&&a("end",r.endTime)):"pass_ball"===n?(a("from",r.passerId,{teamHint:r.passerTeam}),a("to",r.receiverId,{teamHint:r.receiverTeam}),a("time",r.time),a("type",r.passType)):"add_curved_player_movement"===n?(a("player",r.playerId,{teamHint:r.team}),a("to",r.position),a("time",r.time),a("bend",r.curveBend??.35)):"set_camera_to_broadcast_angle"===n?(r.position&&a("camera",r.position),r.target&&a("target",r.target),a("fov",r.fov)):"apply_broadcast_cv_reconstruction"===n?(a("option",r.optionName||"auto"),r.teamAName&&a("teamA",r.teamAName),r.teamBName&&a("teamB",r.teamBName)):"save_artifact"===n?a("title",r.title):Object.entries(r).filter(([e])=>!["id","annotationId","groupId","tool_call_id","content","config"].includes(e)).slice(0,4).forEach(([e,t])=>{let n=e.toLowerCase().includes("team")?t:null;a(e,t,{teamHint:n})}),i},extractSynthesisTitle:(e,n,r=[])=>{let i=(e||n||"").trim(),a=i.match(/^#+\s+(.+)$/m);if(a&&a[1].length<=100)return a[1].trim();let o=i.match(/\*\*(.+?)\*\*/);if(o&&o[1].length<=100)return o[1].trim();if(i.length>0){let e=i.match(/^(.+?)[.!?\n]/),t=e?e[1]:i.slice(0,80);if((t=(t=t.replace(/^(Okay|Ok|So|Well|Right|Alright|Sure|Let me|I need to|I will|I'll|I'm going to|Now I|First,? I)\s*,?\s*/i,"")).charAt(0).toUpperCase()+t.slice(1)).length>80&&(t=t.slice(0,77)+"..."),t.length>10)return t}let s=r.map(e=>
455e?.function?.name).filter(Boolean).map(e=>eP(e));return 0===s.length?t("processing"):1===s.length?s[0]:s.length<=3?s.join(", "):`${s.slice(0,2).join(", ")} & ${s.length-2} more`},toggleReasoningPanel:e=>{$(t=>({...t,[e]:!t[e]}))},replacePlayerIdsWithNames:e=>{if("string"!=typeof e||0===e.length)return e;let t=e.replace(/\bplayer-([AB])-(\d{1,2})\b/g,(e,t,n)=>eM(`player-${t}-${n}`,t));return t.replace(/\b([AB])(\d{1,2})\b/g,(e,t,n)=>{let r=eM(`player-${t}-${n}`,t);return r===`player-${t}-${n}`?e:r})},getToolExplanation:e=>{let n=e?.function?.name;if(!n)return t("executingAction");let r=`toolExplanations.${n}`,i=t(r);return i!==r?i:Object.fromEntries(Object.entries(ye).map(([e,t])=>[e,`${t}...`]))[n]||t("executingPattern",{action:eP(n)})},getFeedbackState:em,toggleFeedbackForm:e=>{e&&(ev(e),es(t=>{let n=t[e]||y_();return{...t,[e]:{...n,open:!n.open,error:null,autoClosing:!1}}}))},setFeedbackRating:(e,t)=>{e&&(ev(e),es(n=>{let r=n[e]||y_();return{...n,[e]:{...r,rating:t,status:"saved"===r.status?"idle":r.status,error:null,triage:"saved"===r.status?null:r.triage,triageError:"saved"===r.status?null:r.triageError,creditGrant:"saved"===r.status?null:r.creditGrant,autoClosing:!1}}}))},setFeedbackComment:eS,submitFeedback:ej,handleDragOver:e=>{e.preventDefault(),S(!0)},handleDragLeave:e=>{e.preventDefault(),S(!1)},handleDrop:e=>{e.preventDefault(),S(!1);let t=Array.from(e.dataTransfer.files).filter(e=>e.type.startsWith("image/"));t.length>0&&_(e=>[...e,...t])},handleFileSelect:e=>{if(e.target.files&&e.target.files.length>0){let t=Array.from(e.target.files).filter(e=>e.type.startsWith("image/"));t.length>0&&_(e=>[...e,...t])}e.target.value=null},removeAttachment:e=>{_(t=>t.filter((t,n)=>n!==e))},handlePaste:e=>{let t=e.clipboardData;if(!t)return;let n=t.items,r=[];for(let e=0;e<n.length;e++){let t=n[e];if(t.type.startsWith("image/")){let e=t.getAsFile();e&&r.push(e)}}r.length>0&&(e.preventDefault(),_(e=>[...e,...r]))},handleSpeechButtonClick:()=>{if(er.current){er.current=!1;return}"recording"===q.current?e_():("idle"===q.current||"error"===q.current)&&ek({type:"chat"})},handleFeedbackSpeechButtonClick:e=>{if(!e)return;let t=el.target;t?.type==="feedback"&&t.interactionId===e&&"recording"===q.current?e_():yb(q.current)||ek({type:"feedback",interactionId:e})},handleSpeechPointerDown:e=>{"mouse"===e.pointerType&&0!==e.button||"idle"===u&&["idle","error"].includes(q.current)&&(Y.current=!0,Q.current=!1,X.current=setTimeout(()=>{Y.current&&["idle","error"].includes(q.current)&&(Q.current=!0,ek())},260))},handleSpeechPointerRelease:()=>{eg(),Y.current=!1,Q.current&&(Q.current=!1,er.current=!0,e_(),window.setTimeout(()=>{er.current=!1},350))},handleSubmit:eO}}(t),z="left"===k||"right"===k,F="opposition"!==C||iN.AI_OPPOSITION_ENGINE_AVAILABLE?C:"chat",O=`flex bg-gray-800/60 backdrop-blur-xl rounded-2xl border border-white/10 shadow-2xl ${z?"w-[280px]":"w-[min(340px,95vw)]"} flex-col gap-2 p-2`;_[2]===Symbol.for("react.memo_cache_sentinel")?(n={alignContent:"center"},_[2]=n):n=_[2],_[3]!==D||_[4]!==M||_[5]!==I||_[6]!==F||_[7]!==T||_[8]!==N?(o=I&&(0,r.jsx)(yV,{controller:M,activePanel:F,setActivePanel:T,closePanel:()=>N(!1),canUseAiChat:D}),_[3]=D,_[4]=M,_[5]=I,_[6]=F,_[7]=T,_[8]=N,_[9]=o):o=_[9];let L=`${z?"flex-col gap-2":"flex-row gap-2"} flex items-center justify-center`,R=`cursor-grab active:cursor-grabbing flex items-center justify-center transition-all ${z?"w-full py-1 hover:bg-white/5 rounded-lg":"px-1 h-full hover:bg-white/5 rounded-lg"} ${j?"text-blue-400":""}`,B=j?void 0:"rgba(255, 255, 255, 0.2)";_[10]!==B?(c={color:B},_[10]=B,_[11]=c):c=_[11],_[12]!==j||_[13]!==P?(u=P(j?"unpinBar":"doubleClickToPin"),_[12]=j,_[13]=P,_[14]=u):u=_[14],_[15]!==z?(m=z?(0,r.jsx)(e5.FaGripHorizontal,{size:14}):(0,r.jsx)(e5.FaGripVertical,{size:14}),_[15]=z,_[16]=m):m=_[16],_[17]!==S.start||_[18]!==$||_[19]!==m||_[20]!==R||_[21]!==c||_[22]!==u?(p=(0,r.jsx)("div",{onPointerDown:S.start,onDoubleClick:$,className:R,style:c,title:u,children:m}),_[17]=S.start,_[18]=$,_[19]=m,_[20]=R,_[21]=c,_[22]=u,_[23]=p):p=_[23];let U=`flex min-w-0 items-center gap-2 ${z?"w-full flex-col":"flex-1"}`;return _[24]!==D||_[25]!==M||_[26]!==z||_[27]!==A||_[28]!==P?(h=D?(0,r.jsx)(yO,{controller:M,className:`${z?"w-full":"flex-1"} min-w-0`,formClassName:"flex items-center gap-2 transition-all duration-300",inputTextClassName:"text-[11px]",inputShellClassName:"h-9 gap-1.5 px-1.5 py-0",attachmentButtonClassName:"relative flex h-7 w-7 items-center justify-center rounded-lg p-0 text-white/50 transition-colors hover:bg-white/10 hover:text-white shrink-0",sendButtonClassName:"w-7 h-7",sendButtonBare:!0,sendInsideInput:!0,showAttachmentPreview:!1}):(0,r.jsx)("button",{type:"button",onClick:()=>A("chat"),className:`${z?"w-full":"flex-1"} h-9 min-w-0 rounded-xl border border-white/10 bg-white/[0.04] px-3 text-left text-[11px] text-white/45 transition-colors hover:bg-white/[0.07] hover:text-white/70`,children:P("aiRequiresLoginShort")}),_[24]=D,_[25]=M,_[26]=z,_[27]=A,_[28]=P,_[29]=h):h=_[29],_[30]!==A||_[31]!==I||_[32]!==F||_[33]!==N?(f=()=>{I?N(!1):A(F||"chat")},_[30]=A,_[31]=I,_[32]=F,_[33]=N,_[34]=f):f=_[34],_[35]!==I||_[36]!==P?(g=P(I?"aiDockCollapse":"toolAIChat"),_[35]=I,_[36]=P,_[37]=g):g=_[37],_[38]!==I?(x=I?(0,r.jsx)(e5.FaChevronDown,{size:13}):(0,r.jsx)(oE,{size:24}),_[38]=I,_[39]=x):x=_[39],_[40]!==I||_[41]!==f||_[42]!==g||_[43]!==x?(b=(0,r.jsx)(yW,{active:I,onClick:f,title:g,colorClass:"bg-cyan-500 shadow-cyan-500/30",children:x}),_[40]=I,_[41]=f,_[42]=g,_[43]=x,_[44]=b):b=_[44],_[45]!==U||_[46]!==h||_[47]!==b?(y=(0,r.jsxs)("div",{className:U,children:[h,b]}),_[45]=U,_[46]=h,_[47]=b,_[48]=y):y=_[48],_[49]!==p||_[50]!==y||_[51]!==L?(v=(0,r.jsxs)("div",{className:L,children:[p,y]}),_[49]=p,_[50]=y,_[51]=L,_[52]=v):v=_[52],_[53]!==v||_[54]!==O||_[55]!==o?(w=(0,r.jsxs)("div",{className:O,style:n,children:[o,v]}),_[53]=v,_[54]=O,_[55]=o,_[56]=w):w=_[56],w}var yK=e.i(300442);let yJ="opentactic.sceneEditorHelper.dismissed.v1",yX=new Set,yY=!1,yQ={panel:"text-white/80 [text-shadow:0_1px_3px_rgba(0,0,0,0.9)]",panelChrome:"hover:border-white/40 hover:shadow-[0_0_0_1px_rgba(0,0,0,0.22)] focus-within:border-white/40 focus-within:shadow-[0_0_0_1px_rgba(0,0,0,0.22)]",close:"text-white/65 hover:text-white",section:"text-white/90",line:"bg-white/25",icon:"text-white/70",source:"text-white/75",target:"text-white/90",arrow:"text-white/35",step:"border-white/45 text-white/80"},y0={panel:"text-slate-800 [text-shadow:none]",panelChrome:"hover:border-slate-900/25 hover:shadow-[0_0_0_1px_rgba(255,255,255,0.28)] focu
455s-within:border-slate-900/25 focus-within:shadow-[0_0_0_1px_rgba(255,255,255,0.28)]",close:"text-slate-700/70 hover:text-slate-950",section:"text-slate-900",line:"bg-slate-700/30",icon:"text-slate-700/80",source:"text-slate-700",target:"text-slate-950",arrow:"text-slate-500/70",step:"border-slate-700/35 text-slate-800"},y1=()=>{yX.forEach(e=>e())},y2=e=>(yX.add(e),window.addEventListener("storage",e),()=>{yX.delete(e),window.removeEventListener("storage",e)}),y5=()=>{try{return"true"===window.localStorage.getItem(yJ)}catch{return yY}},y4=()=>!0;function y3(){return(0,a.useSyncExternalStore)(y2,y5,y4)}function y6(e){let t,n=(0,i.c)(3),{value:a,tone:o}=e,s=`inline-flex h-3.5 min-w-3.5 shrink-0 items-center justify-center rounded-full border px-0.5 text-[8px] font-semibold sm:h-4 sm:min-w-4 sm:px-1 sm:text-[9px] ${(void 0===o?yQ:o).step}`;return n[0]!==s||n[1]!==a?(t=(0,r.jsx)("span",{className:s,children:a}),n[0]=s,n[1]=a,n[2]=t):t=n[2],t}function y8(e){let t,n,a=(0,i.c)(5),{icons:o,tone:s}=e,l=`inline-flex shrink-0 items-center gap-0.5 ${(void 0===s?yQ:s).icon}`;return a[0]!==o?(t=o.map(y9),a[0]=o,a[1]=t):t=a[1],a[2]!==l||a[3]!==t?(n=(0,r.jsx)("span",{className:l,"aria-hidden":"true",children:t}),a[2]=l,a[3]=t,a[4]=n):n=a[4],n}function y9(e,t){return(0,r.jsx)(e,{size:9},t)}function y7(e){let t,n,a,o,s,l,c=(0,i.c)(21),{icon:u,icons:d,source:m,target:p,step:h,tone:f}=e,g=void 0===d?null:d,x=void 0===f?yQ:f;c[0]!==h||c[1]!==x?(t=h&&(0,r.jsx)(y6,{value:h,tone:x}),c[0]=h,c[1]=x,c[2]=t):t=c[2],c[3]!==u||c[4]!==g||c[5]!==x?(n=g?.length?(0,r.jsx)(y8,{icons:g,tone:x}):(0,r.jsx)(u,{className:`shrink-0 ${x.icon}`,size:10,"aria-hidden":"true"}),c[3]=u,c[4]=g,c[5]=x,c[6]=n):n=c[6];let b=`min-w-0 ${x.source}`;c[7]!==m||c[8]!==b?(a=(0,r.jsx)("span",{className:b,children:m}),c[7]=m,c[8]=b,c[9]=a):a=c[9];let y=`shrink-0 ${x.arrow}`;c[10]!==y?(o=(0,r.jsx)(e2.FiArrowRight,{className:y,size:9,"aria-hidden":"true"}),c[10]=y,c[11]=o):o=c[11];let v=`font-semibold ${x.target}`;return c[12]!==v||c[13]!==p?(s=(0,r.jsx)("span",{className:v,children:p}),c[12]=v,c[13]=p,c[14]=s):s=c[14],c[15]!==s||c[16]!==t||c[17]!==n||c[18]!==a||c[19]!==o?(l=(0,r.jsxs)("div",{className:"flex min-w-0 flex-wrap items-center gap-x-1 gap-y-0 sm:gap-x-1.5 sm:gap-y-0.5",children:[t,n,a,o,s]}),c[15]=s,c[16]=t,c[17]=n,c[18]=a,c[19]=o,c[20]=l):l=c[20],l}function ve(e){let t,n,a,o,s=(0,i.c)(11),{icon:l,label:c,className:u,tone:d}=e,m=void 0===d?yQ:d,p=`flex items-center gap-1 font-semibold sm:gap-1.5 ${m.section} ${void 0===u?"":u}`;s[0]!==l?(t=(0,r.jsx)(l,{size:11,"aria-hidden":"true"}),s[0]=l,s[1]=t):t=s[1],s[2]!==c?(n=(0,r.jsx)("span",{className:"shrink-0",children:c}),s[2]=c,s[3]=n):n=s[3];let h=`h-px min-w-2 flex-1 sm:min-w-4 ${m.line}`;return s[4]!==h?(a=(0,r.jsx)("span",{className:h,"aria-hidden":"true"}),s[4]=h,s[5]=a):a=s[5],s[6]!==p||s[7]!==t||s[8]!==n||s[9]!==a?(o=(0,r.jsxs)("div",{className:p,children:[t,n,a]}),s[6]=p,s[7]=t,s[8]=n,s[9]=a,s[10]=o):o=s[10],o}function vt(){let e,t,n,s,l,c,u,m,p,h,f,g,x,b,y,v,w,_,k,S,j,$,I,C,N,T,A,P,E,D,M,z,F,O,L,R,B,U,Z,G,W,H,V,q,K,J,X,Y,Q,ee,et,en,er,ei,ea,eo,es,el,ec,eu,ed,em,ep,eh,ef,eg,ex,eb,ey,ev,ew,e_,ek,eS,ej,e$,eI,eC,eN,eT,eA,eP,eE,eD,eM,ez,eF,eO,eL,eR,eB,eU,eZ,eG,eW,eH,eV,eq,eK,eJ=(0,i.c)(258),eX=(0,d.useTranslations)("SceneEditorHelper"),eY=function(){let e,t,n=(0,i.c)(2),[r,o]=(0,a.useState)(!1);return n[0]===Symbol.for("react.memo_cache_sentinel")?(e=()=>{let e=()=>{let e,t;return o((e=window.matchMedia?.("(pointer: coarse), (any-pointer: coarse)").matches,t=Number(window.navigator?.maxTouchPoints||0)>0,!!(e||t)))};e();let t=[window.matchMedia?.("(pointer: coarse)"),window.matchMedia?.("(any-pointer: coarse)")].filter(Boolean);return t.forEach(t=>{"function"==typeof t.addEventListener?t.addEventListener("change",e):t.addListener?.(e)}),()=>{t.forEach(t=>{"function"==typeof t.removeEventListener?t.removeEventListener("change",e):t.removeListener?.(e)})}},t=[],n[0]=e,n[1]=t):(e=n[0],t=n[1]),(0,a.useEffect)(e,t),r}(),eQ=y3(),[e0,e1]=(0,a.useState)(!1),e4=(0,ia.useCameraStore)(va),e3=(0,o.useThemeStore)(vi)?y0:yQ,e6=eY?"touch":"mouse",e8=`camera.${e6}.rotateInput`;eJ[0]!==eX||eJ[1]!==e8?(e=eX(e8),eJ[0]=eX,eJ[1]=e8,eJ[2]=e):e=eJ[2],eJ[3]!==eX?(t=eX("camera.rotateOutput"),eJ[3]=eX,eJ[4]=t):t=eJ[4],eJ[5]!==e||eJ[6]!==t?(n={key:"rotate",icon:e2.FiMousePointer,source:e,target:t},eJ[5]=e,eJ[6]=t,eJ[7]=n):n=eJ[7];let e9=`camera.${e6}.panInput`;eJ[8]!==eX||eJ[9]!==e9?(s=eX(e9),eJ[8]=eX,eJ[9]=e9,eJ[10]=s):s=eJ[10],eJ[11]!==eX?(l=eX("camera.panOutput"),eJ[11]=eX,eJ[12]=l):l=eJ[12],eJ[13]!==s||eJ[14]!==l?(c={ke
455y:"pan",icon:e2.FiMousePointer,source:s,target:l},eJ[13]=s,eJ[14]=l,eJ[15]=c):c=eJ[15];let e7=`camera.${e6}.zoomInput`;eJ[16]!==eX||eJ[17]!==e7?(u=eX(e7),eJ[16]=eX,eJ[17]=e7,eJ[18]=u):u=eJ[18],eJ[19]!==eX?(m=eX("camera.zoomOutput"),eJ[19]=eX,eJ[20]=m):m=eJ[20],eJ[21]!==m||eJ[22]!==u?(p={key:"zoom",icon:e2.FiZoomIn,source:u,target:m},eJ[21]=m,eJ[22]=u,eJ[23]=p):p=eJ[23],eJ[24]!==p||eJ[25]!==n||eJ[26]!==c?(h=[n,c,p],eJ[24]=p,eJ[25]=n,eJ[26]=c,eJ[27]=h):h=eJ[27];let te=h,tt=`camera.${e6}.lookInput`;eJ[28]!==eX||eJ[29]!==tt?(f=eX(tt),eJ[28]=eX,eJ[29]=tt,eJ[30]=f):f=eJ[30],eJ[31]!==eX?(g=eX("camera.lookOutput"),eJ[31]=eX,eJ[32]=g):g=eJ[32],eJ[33]!==f||eJ[34]!==g?(x=[{key:"look",icon:e2.FiMousePointer,source:f,target:g}],eJ[33]=f,eJ[34]=g,eJ[35]=x):x=eJ[35];let tn=x,tr="Player"===e4?tn:te;eJ[36]!==eX?(b=eX("shortcuts.timelinePlayInput"),eJ[36]=eX,eJ[37]=b):b=eJ[37],eJ[38]!==eX?(y=eX("shortcuts.timelinePlayOutput"),eJ[38]=eX,eJ[39]=y):y=eJ[39],eJ[40]!==b||eJ[41]!==y?(v={key:"timelinePlay",icon:e2.FiClock,source:b,target:y},eJ[40]=b,eJ[41]=y,eJ[42]=v):v=eJ[42],eJ[43]!==eX?(w=eX("shortcuts.timelineSmallStepInput"),eJ[43]=eX,eJ[44]=w):w=eJ[44],eJ[45]!==eX?(_=eX("shortcuts.timelineSmallStepOutput"),eJ[45]=eX,eJ[46]=_):_=eJ[46],eJ[47]!==w||eJ[48]!==_?(k={key:"timelineSmallStep",icon:e2.FiClock,source:w,target:_},eJ[47]=w,eJ[48]=_,eJ[49]=k):k=eJ[49],eJ[50]!==eX?(S=eX("shortcuts.timelineLargeStepInput"),eJ[50]=eX,eJ[51]=S):S=eJ[51],eJ[52]!==eX?(j=eX("shortcuts.timelineLargeStepOutput"),eJ[52]=eX,eJ[53]=j):j=eJ[53],eJ[54]!==S||eJ[55]!==j?($={key:"timelineLargeStep",icon:e2.FiClock,source:S,target:j},eJ[54]=S,eJ[55]=j,eJ[56]=$):$=eJ[56],eJ[57]!==eX?(I=eX("shortcuts.playerClickInput"),eJ[57]=eX,eJ[58]=I):I=eJ[58],eJ[59]!==eX?(C=eX("shortcuts.playerClickOutput"),eJ[59]=eX,eJ[60]=C):C=eJ[60],eJ[61]!==I||eJ[62]!==C?(N={key:"playerClick",icon:e2.FiMousePointer,source:I,target:C},eJ[61]=I,eJ[62]=C,eJ[63]=N):N=eJ[63],eJ[64]===Symbol.for("react.memo_cache_sentinel")?(T=[e2.FiPlusSquare,e2.FiMousePointer],eJ[64]=T):T=eJ[64],eJ[65]!==eX?(A=eX("shortcuts.multiPlayerClickInput"),eJ[65]=eX,eJ[66]=A):A=eJ[66],eJ[67]!==eX?(P=eX("shortcuts.multiPlayerClickOutput"),eJ[67]=eX,eJ[68]=P):P=eJ[68],eJ[69]!==A||eJ[70]!==P?(E={key:"multiPlayerClick",icons:T,source:A,target:P},eJ[69]=A,eJ[70]=P,eJ[71]=E):E=eJ[71],eJ[72]!==eX?(D=eX("shortcuts.pitchClickInput"),eJ[72]=eX,eJ[73]=D):D=eJ[73],eJ[74]!==eX?(M=eX("shortcuts.pitchClickOutput"),eJ[74]=eX,eJ[75]=M):M=eJ[75],eJ[76]!==D||eJ[77]!==M?(z={key:"pitchClick",icon:e2.FiMousePointer,source:D,target:M},eJ[76]=D,eJ[77]=M,eJ[78]=z):z=eJ[78],eJ[79]===Symbol.for("react.memo_cache_sentinel")?(F=[e2.FiMousePointer,e5.FaSquare],eJ[79]=F):F=eJ[79],eJ[80]!==eX?(O=eX("shortcuts.boxSelectInput"),eJ[80]=eX,eJ[81]=O):O=eJ[81],eJ[82]!==eX?(L=eX("shortcuts.boxSelectOutput"),eJ[82]=eX,eJ[83]=L):L=eJ[83],eJ[84]!==O||eJ[85]!==L?(R={key:"boxSelect",icons:F,source:O,target:L},eJ[84]=O,eJ[85]=L,eJ[86]=R):R=eJ[86],eJ[87]===Symbol.for("react.memo_cache_sentinel")?(B=[e2.FiPlusSquare,e5.FaSquare],eJ[87]=B):B=eJ[87],eJ[88]!==eX?(U=eX("shortcuts.additiveBoxSelectInput"),eJ[88]=eX,eJ[89]=U):U=eJ[89],eJ[90]!==eX?(Z=eX("shortcuts.additiveBoxSelectOutput"),eJ[90]=eX,eJ[91]=Z):Z=eJ[91],eJ[92]!==U||eJ[93]!==Z?(G={key:"additiveBoxSelect",icons:B,source:U,target:Z},eJ[92]=U,eJ[93]=Z,eJ[94]=G):G=eJ[94],eJ[95]!==eX?(W=eX("shortcuts.playerDragInput"),eJ[95]=eX,eJ[96]=W):W=eJ[96],eJ[97]!==eX?(H=eX("shortcuts.playerDragOutput"),eJ[97]=eX,eJ[98]=H):H=eJ[98],eJ[99]!==W||eJ[100]!==H?(V={key:"playerDrag",icon:e5.FaRunning,source:W,target:H},eJ[99]=W,eJ[100]=H,eJ[101]=V):V=eJ[101],eJ[102]!==eX?(q=eX("shortcuts.contextMenuInput"),eJ[102]=eX,eJ[103]=q):q=eJ[103],eJ[104]!==eX?(K=eX("shortcuts.contextMenuOutput"),eJ[104]=eX,eJ[105]=K):K=eJ[105],eJ[106]!==q||eJ[107]!==K?(J={key:"contextMenu",icon:e2.FiMenu,source:q,target:K},eJ[106]=q,eJ[107]=K,eJ[108]=J):J=eJ[108],eJ[109]!==v||eJ[110]!==k||eJ[111]!==$||eJ[112]!==N||eJ[113]!==E||eJ[114]!==z||eJ[115]!==R||eJ[116]!==G||eJ[117]!==V||eJ[118]!==J?(X=[v,k,$,N,E,z,R,G,V,J],eJ[109]=v,eJ[110]=k,eJ[111]=$,eJ[112]=N,eJ[113]=E,eJ[114]=z,eJ[115]=R,eJ[116]=G,eJ[117]=V,eJ[118]=J,eJ[119]=X):X=eJ[119];let ti=X;eJ[120]!==eX?(Y=eX("shortcuts.touchPlayerTapInput"),eJ[120]=eX,eJ[121]=Y):Y=eJ[121],eJ[122]!==eX?(Q=eX("shortcuts.touchPlayerTapOutput"),eJ[122]=eX,eJ[123]=Q):Q=eJ[123],eJ[124]!==Y||eJ[125]!==Q?(ee={key:"touchPlayerTap",icon:e2.FiMousePointer,source:Y,target:Q},eJ[124]=Y,eJ[125]=Q,eJ[126]=ee):ee=eJ[126],eJ[127]!==eX?(et=eX("shortcuts.touchPitchTapInput"),eJ[127]=eX,eJ[128]=et):et=eJ[128],eJ[129]!==eX?(en=eX("shortcuts.touchPitchTapOutput"),eJ[129]=eX,eJ[130]=en):en=eJ[130],eJ[131]!==et||eJ[132]!==en?(er={key:"touchPitchTap",icon:e2.FiMousePointer,source:et,target:en},eJ[131]=et,eJ[132]=en,eJ[133]=er):er=eJ[133],eJ[134]===Symbol.for("react.memo_cache_sentinel")?(ei=[e2.FiMousePointer,e5.FaSquare],eJ[134]=ei):ei=eJ[134],eJ[135]!==eX?(ea=eX("shortcuts.touchBoxSelectInput"),eJ[135]=eX,eJ[136]=ea):ea=eJ[136],eJ[137]!==eX?(eo=eX("shortcuts.touchBoxSelectOutput"),eJ[137]=eX,eJ[138]=eo):eo=eJ[138],eJ[139]!==ea||eJ[140]!==eo?(es={key:"touchBoxSelect",icons:ei,source:ea,target:eo},eJ[139]=ea,eJ[140]=eo,eJ[141]=es):es=eJ[141],eJ[142]!==eX?(el=eX("shortcuts.touchPlayerDragInput"),eJ[142]=eX,eJ[143]=el):el=eJ[143],eJ[144]!==eX?(ec=eX("shortcuts.touchPlayerDragOutput"),eJ[144]=eX,eJ[145]=ec):ec=eJ[145],eJ[146]!==el||eJ[147]!==ec?(eu={key:"touchPlayerDrag",icon:e5.FaRunning,source:el,target:ec},eJ[146]=el,eJ[147]=ec,eJ[148]=eu):eu=eJ[148],eJ[149]!==eX?(ed=eX("shortcuts.touchContextMenuInput"),eJ[149]=eX,eJ[150]=ed):ed=eJ[150],eJ[151]!==eX?(em=eX("shortcuts.touchContextMenuOutput"),eJ[151]=eX,eJ[152]=em):em=eJ[152],eJ[153]!==ed||eJ[154]!==em?(ep={key:"touchContextMenu",icon:e2.FiMenu,source:ed,target:em},eJ[153]=ed,eJ[154]=em,eJ[155]=ep):ep=eJ[155],eJ[156]!==ee||eJ[157]!==er||eJ[158]!==es||eJ[159]!==eu||eJ[160]!==ep?(eh=[ee,er,es,eu,ep],eJ[156]=ee,eJ[157]=er,eJ[158]=es,eJ[159]=eu,eJ[160]=ep,eJ[161]=eh):eh=eJ[161];let ta=eh,to=eY?ta:ti;eJ[162]===Symbol.for("react.memo_cache_sentinel")?(ef=[e5.FaCube,e5.FaSquare,e5.FaUser],eJ[162]=ef):ef=eJ[162],eJ[163]!==eX?(eg=eX("quickStart.viewInput"),eJ[163]=eX,eJ[164]=eg):eg=eJ[164],eJ[165]!==eX?(ex=eX("quickStart.viewOutput"),eJ[165]=eX,eJ[166]=ex):ex=eJ[166],eJ[167]!==eg||eJ[168]!==ex?(eb={key:"view",icons:ef,source:eg,target:ex},eJ[167]=eg,eJ[168]=ex,eJ[169]=eb):eb=eJ[169],eJ[170]!==eX?(ey=eX("quickStart.formationInput"),eJ[170]=eX,eJ[171]=ey):ey=eJ[171],eJ[172]!==eX?(ev=eX("quickStart.formationOutput"),eJ[172]=eX,eJ[173]=ev):ev=eJ[173],eJ[174]!==ey||eJ[175]!==ev?(ew={key:"formation",icon:e5.FaTshirt,source:ey,target:ev},eJ[174]=ey,eJ[175]=ev,eJ[176]=ew):ew=eJ[176],eJ[177]!==eX?(e_=eX("quickStart.associationsInput"),eJ[177]=eX,eJ[178]=e_):e_=eJ[178],eJ[179]!==eX?(ek=eX("quickStart.associationsOutput"),eJ[179]=eX,eJ[180]=ek):ek=eJ[180],eJ[181]!==e_||eJ[182]!==ek?(eS={key:"associations",icon:e5.FaProjectDiagram,source:e_,target:ek},eJ[181]=e_,eJ[182]=ek,eJ[183]=eS):eS=eJ[183],eJ[184]!==eX?(ej=eX("quickStart.moveInput"),eJ[184]=eX,eJ[185]=ej):ej=eJ[185],eJ[186]!==eX?(e$=eX("quickStart.moveOutput"),eJ[186]=eX,eJ[187]=e$):e$=eJ[187],eJ[188]!==ej||eJ[189]!==e$?(eI={ke
455y:"move",icon:e5.FaRunning,source:ej,target:e$},eJ[188]=ej,eJ[189]=e$,eJ[190]=eI):eI=eJ[190],eJ[191]!==eX?(eC=eX("quickStart.annotationsInput"),eJ[191]=eX,eJ[192]=eC):eC=eJ[192],eJ[193]!==eX?(eN=eX("quickStart.annotationsOutput"),eJ[193]=eX,eJ[194]=eN):eN=eJ[194],eJ[195]!==eC||eJ[196]!==eN?(eT={key:"annotations",icon:e5.FaPen,source:eC,target:eN},eJ[195]=eC,eJ[196]=eN,eJ[197]=eT):eT=eJ[197],eJ[198]!==eX?(eA=eX("quickStart.saveInput"),eJ[198]=eX,eJ[199]=eA):eA=eJ[199],eJ[200]!==eX?(eP=eX("quickStart.saveOutput"),eJ[200]=eX,eJ[201]=eP):eP=eJ[201],eJ[202]!==eA||eJ[203]!==eP?(eE={key:"save",icon:e5.FaSave,source:eA,target:eP},eJ[202]=eA,eJ[203]=eP,eJ[204]=eE):eE=eJ[204],eJ[205]!==eb||eJ[206]!==ew||eJ[207]!==eS||eJ[208]!==eI||eJ[209]!==eT||eJ[210]!==eE?(eD=[eb,ew,eS,eI,eT,eE],eJ[205]=eb,eJ[206]=ew,eJ[207]=eS,eJ[208]=eI,eJ[209]=eT,eJ[210]=eE,eJ[211]=eD):eD=eJ[211];let ts=eD;if(eQ)return null;let tl=`fixed left-1 top-[calc(6.25rem_-_13px)] z-[700] select-none font-sans pointer-events-auto sm:left-3 sm:top-[calc(4.75rem_-_13px)] ${e0?"w-auto max-w-[calc(100vw-0.5rem)]":"w-[min(20rem,calc(100vw-0.5rem))] sm:w-[min(35rem,calc(100vw-1.5rem))]"}`;eJ[212]!==eX?(eM=eX("ariaLabel"),eJ[212]=eX,eJ[213]=eM):eM=eJ[213];let tc=`group/helper relative max-h-[calc(100vh-7.25rem)] overflow-y-auto rounded-md border border-transparent bg-transparent px-1.5 py-1 pr-6 text-[9px] leading-tight transition-[border-color,box-shadow] duration-150 sm:max-h-[calc(100vh-5.75rem)] sm:px-2.5 sm:py-1.5 sm:pr-7 sm:text-[11px] sm:leading-snug ${e3.panel} ${e3.panelChrome}`,tu=`absolute right-1 top-1 inline-flex h-5 w-5 items-center justify-center text-sm leading-none transition-[color,opacity] duration-150 ${eY?"pointer-events-auto opacity-100":"pointer-events-none opacity-0 group-hover/helper:pointer-events-auto group-hover/helper:opacity-100 group-focus-within/helper:pointer-events-auto group-focus-within/helper:opacity-100 focus-visible:pointer-events-auto focus-visible:opacity-100"} ${e3.close}`;eJ[214]!==eX?(ez=eX("close"),eJ[214]=eX,eJ[215]=ez):ez=eJ[215],eJ[216]!==eX?(eF=eX("close"),eJ[216]=eX,eJ[217]=eF):eF=eJ[217],eJ[218]!==tu||eJ[219]!==ez||eJ[220]!==eF?(eO=(0,r.jsx)("button",{type:"button",onClick:vr,className:tu,"aria-label":ez,title:eF,children:"×"}),eJ[218]=tu,eJ[219]=ez,eJ[220]=eF,eJ[221]=eO):eO=eJ[221],eJ[222]===Symbol.for("react.memo_cache_sentinel")?(eL=()=>e1(vn),eJ[222]=eL):eL=eJ[222];let td=`flex h-5 max-w-full items-center gap-1 rounded-sm pr-1 font-semibold transition-colors ${e3.section}`,tm=!e0;eJ[223]!==e0||eJ[224]!==eX?(eR=eX(e0?"expand":"collapse"),eJ[223]=e0,eJ[224]=eX,eJ[225]=eR):eR=eJ[225],eJ[226]!==e0?(eB=e0?(0,r.jsx)(e2.FiChevronRight,{size:11,"aria-hidden":"true"}):(0,r.jsx)(e2.FiChevronDown,{size:11,"aria-hidden":"true"}),eJ[226]=e0,eJ[227]=eB):eB=eJ[227],eJ[228]===Symbol.for("react.memo_cache_sentinel")?(eU=(0,r.jsx)(e2.FiZap,{size:11,"aria-hidden":"true"}),eJ[228]=eU):eU=eJ[228],eJ[229]!==eX?(eZ=eX("panelTitle"),eJ[229]=eX,eJ[230]=eZ):eZ=eJ[230],eJ[231]!==eZ?(eG=(0,r.jsx)("span",{className:"truncate",children:eZ}),eJ[231]=eZ,eJ[232]=eG):eG=eJ[232];let tp=`h-px min-w-2 flex-1 sm:min-w-4 ${e3.line}`;return eJ[233]!==tp?(eW=(0,r.jsx)("span",{className:tp,"aria-hidden":"true"}),eJ[233]=tp,eJ[234]=eW):eW=eJ[234],eJ[235]!==eG||eJ[236]!==eW||eJ[237]!==td||eJ[238]!==tm||eJ[239]!==eR||eJ[240]!==eB?(eH=(0,r.jsxs)("button",{type:"button",onClick:eL,className:td,"aria-expanded":tm,"aria-controls":"scene-editor-helper-content",title:eR,children:[eB,eU,eG,eW]}),eJ[235]=eG,eJ[236]=eW,eJ[237]=td,eJ[238]=tm,eJ[239]=eR,eJ[240]=eB,eJ[241]=eH):eH=eJ[241],eJ[242]!==tr||eJ[243]!==e0||eJ[244]!==e3||eJ[245]!==ts||eJ[246]!==to||eJ[247]!==eX?(eV=!e0&&(0,r.jsxs)("div",{id:"scene-editor-helper-content",className:"mt-1 grid grid-cols-[minmax(0,1fr)_minmax(0,0.92fr)] gap-x-2 gap-y-1.5 sm:mt-1.5 sm:gap-x-4 sm:gap-y-2",children:[(0,r.jsxs)("div",{className:"min-w-0",children:[(0,r.jsx)(ve,{icon:e2.FiCamera,label:eX("cameraLabel"),tone:e3}),(0,r.jsx)("div",{className:"mt-1 space-y-0.5",children:tr.map(e=>(0,r.jsx)(y7,{icon:e.icon,source:e.source,target:e.target,tone:e3},e.key))}),(0,r.jsx)(ve,{icon:e2.FiKey,label:eX("shortcutLabel"),className:"mt-1.5 sm:mt-2.5",tone:e3}),(0,r.jsx)("div",{className:"mt-1 space-y-0.5",children:to.map(e=>(0,r.jsx)(y7,{icon:e.icon,icons:e.icons,source:e.source,target:e.target,tone:e3},e.key))})]}),(0,r.jsxs)("div",{className:"min-w-0",children:[(0,r.jsx)(ve,{icon:e2.FiZap,label:eX("quickStartLabel"),tone:e3}),(0,r.jsx)("div",{className:"mt-1 space-y-0.5",children:ts.map((e,t)=>(0,r.jsx)(y7,{icon:e.icon,icons:e.icons,source:e.source,target:e.target,step:t+1,tone:e3},e.key))})]})]}),eJ[242]=tr,eJ[243]=e0,eJ[244]=e3,eJ[245]=ts,eJ[246]=to,eJ[247]=eX,eJ[248]=eV):eV=eJ[248],eJ[249]!==eH||eJ[250]!==eV||eJ[251]!==tc||eJ[252]!==eO?(eq=(0,r.jsxs)("div",{className:tc,children:[eO,eH,eV]}),eJ[249]=eH,eJ[250]=eV,eJ[251]=tc,eJ[252]=eO,eJ[253]=eq):eq=eJ[253],eJ[254]!==eq||eJ[255]!==tl||eJ[256]!==eM?(eK=(0,r.jsx)("aside",{className:tl,"aria-label":eM,children:eq}),eJ[254]=eq,eJ[255]=tl,eJ[256]=eM,eJ[257]=eK):eK=eJ[257],eK}function vn(e){return!e}function vr(){yY=!0;try{window.localStorage.setItem(yJ,"true")}catch{}y1()}function vi(e){return e.currentTheme?.type==="light"}function va(e){return e.selectedCamera}let vo=[{label:"S",value:1e3},{label:"M",value:1800},{label:"L",value:3e3}],vs={triggerActive:"border-transparent bg-cyan-500/20 text-cyan-200 hover:bg-cyan-500/30",triggerIdle:"border-transparent bg-white/5 text-gray-300 hover:bg-white/10 hover:text-white",popover:"border-white/10 bg-gray-900/95 text-white",divider:"border-white/10",delayText:"text-white/55",actionActive:"border-cyan-300/40 bg-cyan-500/20 text-cyan-100",actionIdle:"border-white/10 bg-white/[0.04] text-white/55 hover:bg-white/[0.08] hover:text-white",toggle:"text-white/55 hover:bg-white/[0.06] hover:text-white/80",delayActive:"border-cyan-300/50 bg-cyan-500/20 text-cyan-100",delayIdle:"border-white/10 bg-white/[0.04] text-white/45 hover:text-white/80",toggleCheckedTrack:"border-cyan-300/40 bg-cyan-500/25",toggleUncheckedTrack:"border-white/10 bg-white/[0.04]",toggleCheckedThumb:"translate-x-3 bg-cyan-100",toggleUncheckedThumb:"translate-x-0 bg-white/35"},vl={triggerActive:"border-cyan-700/20 bg-cyan-600/15 text-cyan-950 hover:bg-cyan-600/25",triggerIdle:"border-slate-900/10 bg-slate-900/[0.06] text-slate-800 hover:bg-slate-900/[0.1] hover:text-slate-950",popover:"border-slate-900/15 bg-white/95 text-slate-950",divider:"border-slate-900/10",delayText:"text-slate-700",actionActive:"border-cyan-700/35 bg-cyan-600/15 text-cyan-950",actionIdle:"border-slate-900/10 bg-slate-900/[0.04] text-slate-700 hover:bg-slate-900/[0.08] hover:text-slate-950",toggle:"text-slate-700 hover:bg-slate-900/[0.06] hover:text-slate-950",delayActive:"border-cyan-700/35 bg-cyan-600/15 text-cyan-950",delayIdle:"border-slate-900/10 bg-slate-900/[0.04] text-slate-600 hover:text-slate-950",toggleCheckedTrack:"border-cyan-700/35 bg-cyan-600/20",toggleUncheckedTrack:"border-slate-900/15 bg-slate-900/[0.05]",toggleCheckedThumb:"translate-x-3 bg-cyan-800",toggleUncheckedThumb:"translate-x-0 bg-slate-700/55"};
455function vc(){return"u"<typeof document?null:document.fullscreenElement||document.webkitFullscreenElement||null}function vu(e){let t,n,s,u,d,m,p,h,f,g,x,b,y,v,w=(0,i.c)(45),{dockSide:_,workspaceFullscreenAvailable:k,workspaceFullscreenActive:S,onToggleWorkspaceFullscreen:j}=e,$=void 0===_?"bottom":_,I=void 0!==k&&k,C=void 0!==S&&S,N=void 0===j?null:j,T=(0,a.useRef)(null),[A,P]=(0,a.useState)(!1),[E,D]=(0,a.useState)(!1),M=(0,o.useThemeStore)(vx),z=(0,o.useThemeStore)(vg),F=(0,o.useThemeStore)(vf),O=(0,o.useThemeStore)(vh),L=y3(),{focusModeEnabled:R,focusModeAutoHideDock:B,focusModeAutoHideTimeline:U,focusModeIdleDelayMs:Z,setFocusModeEnabled:G,setFocusModeAutoHideDock:W,setFocusModeAutoHideTimeline:H,setFocusModeIdleDelayMs:V}=(0,l.useUIStore)((0,c.useShallow)(vp));w[0]!==M?.colors?.background?(t=M?.colors?.background?.toLowerCase(),w[0]=M?.colors?.background,w[1]=t):t=w[1],w[2]!==F.colors.background?(n=F.colors.background.toLowerCase(),w[2]=F.colors.background,w[3]=n):n=w[3];let q=t===n,K=q?vs:vl,J="right"===$?"right-full top-0 mr-2":"left"===$?"left-full top-0 ml-2":"top"===$?"top-full mt-2 right-0":"bottom-full mb-2 right-0";w[4]===Symbol.for("react.memo_cache_sentinel")?(s=()=>{let e=()=>D(!!vc());return e(),document.addEventListener("fullscreenchange",e),document.addEventListener("webkitfullscreenchange",e),()=>{document.removeEventListener("fullscreenchange",e),document.removeEventListener("webkitfullscreenchange",e)}},u=[],w[4]=s,w[5]=u):(s=w[4],u=w[5]),(0,a.useEffect)(s,u),w[6]!==A?(m=()=>{if(!A)return;let e=e=>{T.current?.contains(e.target)||P(!1)};return document.addEventListener("pointerdown",e),()=>document.removeEventListener("pointerdown",e)},d=[A],w[6]=A,w[7]=d,w[8]=m):(d=w[7],m=w[8]),(0,a.useEffect)(m,d),w[9]!==R||w[10]!==G?(p=()=>{let e=e=>{e.repeat||!e.shiftKey||"KeyF"!==e.code||(0,oN.isTextEntryTarget)(e.target)||(e.preventDefault(),G(!R))};return window.addEventListener("keydown",e),()=>window.removeEventListener("keydown",e)},h=[R,G],w[9]=R,w[10]=G,w[11]=p,w[12]=h):(p=w[11],h=w[12]),(0,a.useEffect)(p,h),w[13]!==F||w[14]!==q||w[15]!==z||w[16]!==O?(f=()=>{O(q?z:F)},w[13]=F,w[14]=q,w[15]=z,w[16]=O,w[17]=f):f=w[17];let X=f;w[18]===Symbol.for("react.memo_cache_sentinel")?(g=()=>P(vd),w[18]=g):g=w[18];let Y=`flex h-9 w-9 items-center justify-center rounded-xl border transition-all active:scale-95 ${R?K.triggerActive:K.triggerIdle}`;return w[19]===Symbol.for("react.memo_cache_sentinel")?(x=(0,r.jsx)(e5.FaAdjust,{size:14}),w[19]=x):x=w[19],w[20]!==A||w[21]!==Y?(b=(0,r.jsx)("button",{type:"button",onClick:g,className:Y,title:"Display controls","aria-label":"Display controls","aria-expanded":A,children:x}),w[20]=A,w[21]=Y,w[22]=b):b=w[22],w[23]!==E||w[24]!==K||w[25]!==B||w[26]!==U||w[27]!==R||w[28]!==Z||w[29]!==q||w[30]!==N||w[31]!==A||w[32]!==J||w[33]!==L||w[34]!==W||w[35]!==H||w[36]!==G||w[37]!==V||w[38]!==X||w[39]!==C||w[40]!==I?(y=A&&(0,r.jsxs)("div",{className:`absolute z-[5600] w-52 rounded-xl border p-2 shadow-2xl backdrop-blur-xl ${K.popover} ${J}`,"data-display-control-popover":"true",children:[(0,r.jsxs)("div",{className:"grid grid-cols-2 gap-1",children:[(0,r.jsx)(vb,{active:R,icon:e5.FaEye,label:"Focus",onClick:()=>G(!R),tone:K}),(0,r.jsx)(vb,{active:q,icon:q?e5.FaMoon:e5.FaSun,label:q?"Dark":"Light",onClick:X,tone:K}),(0,r.jsx)(vb,{active:E,icon:E?e5.FaCompress:e5.FaExpand,label:"Browser",onClick:vm,tone:K}),I&&(0,r.jsx)(vb,{active:C,icon:C?e5.FaCompress:e5.FaExpand,label:"Panel",onClick:N,tone:K}),L&&(0,r.jsx)(vb,{active:!1,icon:e5.FaQuestionCircle,label:"Helper",onClick:()=>{yY=!1;try{window.localStorage.removeItem(yJ)}catch{}y1(),P(!1)},tone:K})]}),(0,r.jsxs)("div",{className:`mt-2 space-y-1 border-t pt-2 ${K.divider}`,children:[(0,r.jsx)(vy,{label:"Dock",checked:B,onClick:()=>W(!B),tone:K}),(0,r.jsx)(vy,{label:"Timeline",checked:U,onClick:()=>H(!U),tone:K}),(0,r.jsxs)("div",{className:`flex items-center justify-between gap-1 text-[10px] ${K.delayText}`,children:[(0,r.jsx)("span",{children:"Delay"}),(0,r.jsx)("div",{className:"flex items-center gap-1",children:vo.map(e=>(0,r.jsx)("button",{type:"button",onClick:()=>V(e.value),className:`h-5 min-w-5 rounded border px-1 text-[9px] font-semibold transition ${Z===e.value?K.delayActive:K.delayIdle}`,children:e.label},e.value))})]})]})]}),w[23]=E,w[24]=K,w[25]=B,w[26]=U,w[27]=R,w[28]=Z,w[29]=q,w[30]=N,w[31]=A,w[32]=J,w[33]=L,w[34]=W,w[35]=H,w[36]=G,w[37]=V,w[38]=X,w[39]=C,w[40]=I,w[41]=y):y=w[41],w[42]!==b||w[43]!==y?(v=(0,r.jsxs)("div",{ref:T,className:"relative","data-display-control":"true",children:[b,y]}),w[42]=b,w[43]=y,w[44]=v):v=w[44],v}function vd(e){return!e}function vm(){if(vc())return void(document.exitFullscreen?document.exitFullscreen():document.webkitExitFullscreen&&document.webkitExitFullscreen());let e=document.documentElement;e.requestFullscreen?e.requestFullscreen():e.webkitRequestFullscreen&&e.webkitRequestFullscreen()}function vp(e){return{focusModeEnabled:e.focusModeEnabled,focusModeAutoHideDock:e.focusModeAutoHideDock,focusModeAutoHideTimeline:e.focusModeAutoHideTimeline,focusModeIdleDelayMs:e.focusModeIdleDelayMs,setFocusModeEnabled:e.setFocusModeEnabled,setFocusModeAutoHideDock:e.setFocusModeAutoHideDock,setFocusModeAutoHideTimeline:e.setFocusModeAutoHideTimeline,setFocusModeIdleDelayMs:e.setFocusModeIdleDelayMs}}function vh(e){return e.setTheme}function vf(e){return e.darkTheme}function vg(e){return e.lightTheme}function vx(e){return e.currentTheme}function vb(e){let t,n,a,o=(0,i.c)(9),{active:s,icon:l,label:c,onClick:u,tone:d}=e,m=void 0===d?vs:d,p=`flex h-8 items-center justify-center gap-1.5 rounded-lg border px-2 text-[10px] font-semibold transition ${s?m.actionActive:m.actionIdle}`;return o[0]!==l?(t=(0,r.jsx)(l,{size:10}),o[0]=l,o[1]=t):t=o[1],o[2]!==c?(n=(0,r.jsx)("span",{children:c}),o[2]=c,o[3]=n):n=o[3],o[4]!==u||o[5]!==p||o[6]!==t||o[7]!==n?(a=(0,r.jsxs)("button",{type:"button",onClick:u,className:p,children:[t,n]}),o[4]=u,o[5]=p,o[6]=t,o[7]=n,o[8]=a):a=o[8],a}function vy(e){let t,n,a,o,s=(0,i.c)(12),{label:l,checked:c,onClick:u,tone:d}=e,m=void 0===d?vs:d,p=`flex w-full items-center justify-between rounded-md px-1.5 py-1 text-[10px] transition ${m.toggle}`;s[0]!==l?(t=(0,r.jsx)("span",{children:l}),s[0]=l,s[1]=t):t=s[1];let h=`h-3 w-6 rounded-full border p-px transition ${c?m.toggleCheckedTrack:m.toggleUncheckedTrack}`,f=`block h-2.5 w-2.5 rounded-full transition ${c?m.toggleCheckedThumb:m.toggleUncheckedThumb}`;return s[2]!==f?(n=(0,r.jsx)("span",{className:f}),s[2]=f,s[3]=n):n=s[3],s[4]!==h||s[5]!==n?(a=(0,r.jsx)("span",{className:h,children:n}),s[4]=h,s[5]=n,s[6]=a):a=s[6],s[7]!==u||s[8]!==p||s[9]!==t||s[10]!==a?(o=(0,r.jsxs)("button",{type:"button",onClick:u,className:p,children:[t,a]}),s[7]=u,s[8]=p,s[9]=t,s[10]=a,s[11]=o):o=s[11],o}let vv=e=>{if(!e)return"";let t=new Date(e),n=t.getDate().toString().padStart(2,"0"),r=(t.getMonth()+1).toString().padStart(2,"0"),i=t.getHours().toString().padStart(2,"0"),a=t.getMinutes().toString().padStart(2,"0");return`${n}/${r} ${i}:${a}`},vw=["system","ai","tools"],v_=async e=>{try{return await e.json()}catch{return null}},vk=(e,t=[0,30,80])=>{if(Array.isArray(e)&&e.length>=3){let t=e.slice(0,3).map(Number);if(t.every(Number.isFinite))return t}if(e&&"object"==typeof e){let t=[Number(e.x),Number(e.y),Number(e.z)];if(t.every(Number.isFinite))return t}return[...t]},vS=(e,t,n)=>e+(t-e)*n,vj=a.default.forwardRef(function(e,t){let n,a,o,s=(0,i.c)(9),{icon:l,active:c,onClick:u,title:d,color:m}=e;s[0]===Symbol.for("react.memo_cache_sentinel")?(n={blue:"bg-blue-600 shadow-lg shadow-blue-500/30",indigo:"bg-indigo-600 shadow-lg shadow-indigo-500/30",violet:"bg-violet-600 shadow-lg shadow-violet-500/30",purple:"bg-purple-600 shadow-lg shadow-purple-500/30",emerald:"bg-emerald-600 shadow-lg shadow-emerald-500/30",cyan:"bg-cyan-500 shadow-lg shadow-cyan-500/30"},s[0]=n):n=s[0];let p=n,h=`
456                w-9 h-9
457                flex items-center justify-center rounded-xl transition-all active:scale-95 border border-transparent
458                ${c?`${p[void 0===m?"blue":m]} text-white`:"bg-white/5 hover:bg-white/10 text-gray-300 hover:text-white"}
459            `;return s[1]!==l?(a=(0,r.jsx)(l,{size:16}),s[1]=l,s[2]=a):a=s[2],s[3]!==u||s[4]!==t||s[5]!==h||s[6]!==a||s[7]!==d?(o=(0,r.jsx)("button",{ref:t,onClick:u,className:h,title:d,"aria-label":d,children:a}),s[3]=u,s[4]=t,s[5]=h,s[6]=a,s[7]=d,s[8]=o):o=s[8],o}),v$=a.default.memo(function(e){let t,n,a,o,s,l,c,u,d,m,p,h,f,g,x,b=(0,i.c)(41),{popoverRef:y,positionStyle:v,visible:w,currentAnalysisLayout:_,clearAnalysisHoverClose:k,scheduleAnalysisHoverClose:S,enterWorkspaceFullscreen:j,setAnalysisPanelLayout:$,cycleAnalysisPanelAnchor:I,beginAnalysisSliderDrag:C}=e;if("u"<typeof document)return null;b[0]!==$?(t=(e,t)=>
459{$({[e]:parseFloat(t)})},b[0]=$,b[1]=t):t=b[1];let N=t,T=w?"visible":"hidden";return b[2]!==v.left||b[3]!==v.top||b[4]!==T?(n={left:v.left,top:v.top,visibility:T},b[2]=v.left,b[3]=v.top,b[4]=T,b[5]=n):n=b[5],b[6]===Symbol.for("react.memo_cache_sentinel")?(a=(0,r.jsx)("span",{className:"text-[10px] font-semibold uppercase tracking-wide text-white/55",children:"Analysis panel"}),b[6]=a):a=b[6],b[7]===Symbol.for("react.memo_cache_sentinel")?(o=(0,r.jsx)(e5.FaExpand,{size:9}),b[7]=o):o=b[7],b[8]!==j?(s=(0,r.jsxs)("div",{className:"mb-1.5 flex items-center justify-between gap-2",children:[a,(0,r.jsxs)("button",{type:"button",onClick:j,className:"inline-flex h-6 items-center gap-1 rounded-md border border-white/10 bg-white/[0.06] px-2 text-[9px] font-semibold uppercase tracking-wide text-white/55 transition-colors hover:bg-white/[0.12] hover:text-white",title:"Workspace fullscreen","data-dock-nodrag":"true",children:[o,"FS"]})]}),b[8]=j,b[9]=s):s=b[9],b[10]!==_.anchor||b[11]!==$?(l=yK.ANALYSIS_PANEL_ANCHORS.map(e=>(0,r.jsx)("button",{type:"button",onClick:()=>$({anchor:e}),className:`rounded-md border px-1.5 py-1 text-[9px] font-medium transition-colors ${_.anchor===e?"border-white/20 bg-white/[0.14] text-white":"border-white/10 bg-white/[0.04] text-white/50 hover:bg-white/[0.08] hover:text-white/80"}`,"aria-pressed":_.anchor===e,"data-dock-nodrag":"true",children:yK.ANALYSIS_PANEL_ANCHOR_LABELS[e]},e)),b[10]=_.anchor,b[11]=$,b[12]=l):l=b[12],b[13]===Symbol.for("react.memo_cache_sentinel")?(c=(0,r.jsx)(e5.FaSyncAlt,{size:9}),b[13]=c):c=b[13],b[14]!==I?(u=(0,r.jsx)("button",{type:"button",onClick:I,className:"flex items-center justify-center rounded-md border border-white/10 bg-white/[0.04] text-white/55 transition-colors hover:bg-white/[0.10] hover:text-white",title:"Rotate analysis panel","aria-label":"Rotate analysis panel","data-dock-nodrag":"true",children:c}),b[14]=I,b[15]=u):u=b[15],b[16]!==l||b[17]!==u?(d=(0,r.jsxs)("div",{className:"mb-2 grid grid-cols-[repeat(4,minmax(0,1fr))_1.75rem] gap-1",children:[l,u]}),b[16]=l,b[17]=u,b[18]=d):d=b[18],b[19]!==_.distance?(m={key:"distance",label:"Depth",step:1,value:_.distance,suffix:"m"},b[19]=_.distance,b[20]=m):m=b[20],b[21]!==_.size?(p={key:"size",label:"Size",step:.05,value:_.size,suffix:"x"},b[21]=_.size,b[22]=p):p=b[22],b[23]!==_.heightOffset?(h={key:"heightOffset",label:"Height",step:1,value:_.heightOffset,suffix:"m"},b[23]=_.heightOffset,b[24]=h):h=b[24],b[25]!==m||b[26]!==p||b[27]!==h?(f=[m,p,h],b[25]=m,b[26]=p,b[27]=h,b[28]=f):f=b[28],b[29]!==C||b[30]!==f||b[31]!==N?(g=f.map(e=>(0,r.jsxs)("label",{className:"mb-1.5 flex items-center gap-1.5 text-[9px] text-white/55 last:mb-0","data-dock-nodrag":"true",children:[(0,r.jsx)("span",{className:"w-9 shrink-0",children:e.label}),(0,r.jsx)("input",{type:"range",min:yK.ANALYSIS_PANEL_LIMITS[e.key].min,max:yK.ANALYSIS_PANEL_LIMITS[e.key].max,step:e.step,value:e.value,onInput:t=>N(e.key,t.currentTarget.value),onChange:t=>N(e.key,t.currentTarget.value),onPointerDown:C,onPointerMove:vC,onMouseDown:vC,onClick:vC,className:"compact-slider min-w-0 flex-1","data-dock-nodrag":"true"}),(0,r.jsxs)("span",{className:"w-9 shrink-0 text-right font-mono tabular-nums text-white/45",children:["size"===e.key?e.value.toFixed(2):Math.round(e.value),e.suffix]})]},e.key)),b[29]=C,b[30]=f,b[31]=N,b[32]=g):g=b[32],b[33]!==k||b[34]!==y||b[35]!==S||b[36]!==d||b[37]!==g||b[38]!==n||b[39]!==s?(x=(0,e0.createPortal)((0,r.jsxs)("div",{ref:y,"data-dock-nodrag":"true",className:"fixed z-[1200] w-56 rounded-xl border border-white/10 bg-gray-800/70 p-2 shadow-2xl backdrop-blur-xl",style:n,onMouseEnter:k,onMouseLeave:S,onPointerDown:vC,onPointerMove:vC,onClick:vC,children:[s,d,g]}),document.body),b[33]=k,b[34]=y,b[35]=S,b[36]=d,b[37]=g,b[38]=n,b[39]=s,b[40]=x):x=b[40],x});function vI(){let e=(0,d.useTranslations)("BottomTabBar"),t=(0,tq.useAppAccess)(),n=t?.capabilities||{},i=!0===n.canPersistScenes,o=!0===n.canLoadSavedScenes,u=!0===n.canUseAnalysisWorkspace,[m,p]=(0,a.useState)(window.innerHeight),h=m<600,{toolsBarState:f,setToolsBarState:g,systemBarState:x,setSystemBarState:b,aiDockBarState:y,setAiDockBarState:v,closeStandardMenus:w,closeAiMenus:_,analysisPanelLayout:k,setAnalysisPanelLayout:S,toolsBarPinned:j,setToolsBarPinned:$,systemBarPinned:I,setSystemBarPinned:C,aiDockBarPinned:N,setAiDockBarPinned:T,focusModeEnabled:A,focusModeAutoHideDock:P,focusModeIdleDelayMs:E,aiDockPanelOpen:D,setAiDockPanelOpen:M,aiDockActivePanel:z,setAiDockActivePanel:F,openAiDockPanel:O}=(0,l.useUIStore)((0,c.useShallow)(e=>({toolsBarState:e.toolsBarState,setToolsBarState:e.setToolsBarState,systemBarState:e.systemBarState,setSystemBarState:e.setSystemBarState,aiDockBarState:e.aiDockBarState,setAiDockBarState:e.setAiDockBarState,closeStandardMenus:e.closeStandardMenus,closeAiMenus:e.closeAiMenus,analysisPanelLayout:e.analysisPanelLayout,setAnalysisPanelLayout:e.setAnalysisPanelLayout,toolsBarPinned:e.toolsBarPinned,setToolsBarPinned:e.setToolsBarPinned,systemBarPinned:e.systemBarPinned,setSystemBarPinned:e.setSystemBarPinned,aiDockBarPinned:e.aiDockBarPinned,setAiDockBarPinned:e.setAiDockBarPinned,focusModeEnabled:e.focusModeEnabled,focusModeAutoHideDock:e.focusModeAutoHideDock,focusModeIdleDelayMs:e.focusModeIdleDelayMs,aiDockPanelOpen:e.aiDockPanelOpen,setAiDockPanelOpen:e.setAiDockPanelOpen,aiDockActivePanel:e.aiDockActivePanel,setAiDockActivePanel:e.setAiDockActivePanel,openAiDockPanel:e.openAiDockPanel}))),{isAssociationMenuOpen:L,toggleAssociationMenu:R,isAnnotationMenuOpen:B,toggleAnnotationMenu:U,isFieldManagerMenuOpen:Z,toggleFieldManagerMenu:G,isTrainingMenuOpen:W,toggleTrainingMenu:H,isTwoTeamMenuOpen:V,toggleTwoTeamMenu:q}=(0,l.useUIStore)((0,c.useShallow)(e=>({isAssociationMenuOpen:e.isAssociationMenuOpen,toggleAssociationMenu:e.toggleAssociationMenu,isAnnotationMenuOpen:e.isAnnotationMenuOpen,toggleAnnotationMenu:e.toggleAnnotationMenu,isFieldManagerMenuOpen:e.isFieldManagerMenuOpen,toggleFieldManagerMenu:e.toggleFieldManagerMenu,isTrainingMenuOpen:e.isTrainingMenuOpen,toggleTrainingMenu:e.toggleTrainingMenu,isTwoTeamMenuOpen:e.isTwoTeamMenuOpen,toggleTwoTeamMenu:e.toggleTwoTeamMenu}))),{isVisible:K,isFullscreen:J,setVisible:X,setFullscreen:Y}=(0,oI.useWebBrowserStore)((0,c.useShallow)(e=>({isVisible:e.isVisible,isFullscreen:e.isFullscreen,setVisible:e.setVisible,setFullscreen:e.setFullscreen}))),{tabs:Q,activeTabId:ee,addTab:et,switchTab:en,updateTabName:er,deleteTab:ei,saveScene:ea,loadSceneAsNewTab:eo}=ok((0,c.useShallow)(e=>({tabs:e.tabs,activeTabId:e.activeTabId,addTab:e.addTab,switchTab:e.switchTab,updateTabName:e.updateTabName,deleteTab:e.deleteTab,saveScene:e.saveScene,loadSceneAsNewTab:e.loadSceneAsNewTab}))),{activePlayerForMenu:es,toggleActivePlayerForMenu:el,teamAPlayers:ec}=(0,s.usePlayerStore)(),[eu,ed]=(0,a.useState)(null),[em,ep]=(0,a.useState)(""),eh=(0,a.useRef)(null),[ef,eg]=(0,a.useState)(null),[ex,eb]=(0,a.useState)(!1),[ey,ev]=(0,a.useState)([]),[ew,e_]=(0,a.useState)(!1),[ek,eS]=(0,a.useState)(!1),[ej,e$]=(0,a.useState)(null),[eI,eC]=(0,a.useState)(null),[eN,eT]=(0,a.useState)(!1),eA=(0,a.useRef)(null),eP=(0,a.useRef)(null),eE=(0,a.useRef)(null),eD=(0,a.useRef)(null),eM=(0,a.useRef)(null),ez=(0,a.useRef)(!1),eF=(0,a.useRef)(null),eO=(0,a.useRef)(null),[eL,eR]=(0,a.useState)({atStart:!0,atEnd:!1}),[eB,eU]=(0,a.useState)(!1),[eZ,eG]=(0,a.useState)(null),[eW,eH]=(0,a.useState)(null),eV=(0,a.useMemo)(()=>(0,yK.normalizeAnalysisPanelLayout)(k),[k]),eq=(0,a.useMemo)(()=>"save"===eW?{Icon:e5.FaSave,title:e("saveRequiresLoginTitle"),body:e("saveRequiresLoginBody"),loginLabel:e("logInForSave"),iconClassName:"border-emerald-400/20 bg-emerald-500/15 text-emerald-200",actionClassName:"border-emerald-400/20 bg-emerald-500/15 text-emerald-100 hover:bg-emerald-500/25"}:"load"===eW?{Icon:e5.FaFolderOpen,title:e("loadRequiresLoginTitle"),body:e("loadRequiresLoginBody"),loginLabel:e("logInForLoad"),iconClassName:"border-blue-400/20 bg-blue-500/15 text-blue-200",actionClassName:"border-blue-400/20 bg-blue-500/15 text-blue-100 hover:bg-blue-500/25"}:"analysis"===eW?{Icon:e5.FaTv,title:e("analysisRequiresLoginTitle"),body:e("analysisRequiresLoginBody"),loginLabel:e("logInForAnalysis"),iconClassName:"border-purple-400/20 bg-purple-500/15 text-purple-200",actionClassName:"border-purple-400/20 bg-purple-500/15 text-purple-100 hover:bg-purple-500/25"}:null,[eW,e]),eK=(0,a.useCallback)(()=>{let e=`${window.location.pathname}${window.location.search||""}`,t=e.startsWith("/fr")?"/fr/login":"/login";return`${t}?callbackUrl=${encodeURIComponent(e)}`},[]),eJ=(0,a.useCallback)(()=>{window.location.href=eK()},[eK]),eX=(0,a.useCallback)(()=>{window.location.href=window.location.pathname.startsWith("/fr")?"/fr/founding-testers":"/founding-testers"},[]),eY=(e,t)=>
459{e(),["agent","artifact"].includes(t)?w():_()},eQ=(0,a.useCallback)(()=>{eM.current&&(clearTimeout(eM.current),eM.current=null)},[]),e1=(0,a.useCallback)(()=>{eF.current&&(cancelAnimationFrame(eF.current),eF.current=null)},[]),e2=(0,a.useCallback)(e=>{let t=(0,yK.normalizeAnalysisPanelLayout)(e),{position:n}=(0,yK.getAnalysisPanelTransform)(t),r=ia.useCameraStore.getState(),i=vk(r.saved3DPosition,r.position),a=vk(r._live3DPosition,i),o=vk(r.saved3DTarget,r.target),s=vk(r._live3DTarget,o);e1(),r.setActive("3D"),r.setPosition(a),r.setSaved3DPosition(a),r.setLive3DState({position:a,target:s});let l=performance.now(),c=e=>{let t=Math.min(1,Math.max(0,(e-l)/520)),i=t<.5?2*t*t:1-(-2*t+2)**2/2,o=[vS(s[0],n[0],i),vS(s[1],n[1],i),vS(s[2],n[2],i)];r.setPosition(a),r.setTarget(o),r.setSaved3DPosition(a),r.setSaved3DTarget(o),r.setLive3DState({position:a,target:o}),r.triggerCameraUpdate(),t<1?eF.current=requestAnimationFrame(c):eF.current=null};eF.current=requestAnimationFrame(c)},[e1]),e4=()=>{if(!u)return void eH("analysis");let e=!K;X(e),eU(!1),e&&e2(eV)},e3=(0,a.useCallback)(()=>{eQ(),K&&!J&&eU(!0)},[eQ,J,K]),e6=(0,a.useCallback)(()=>{ez.current||(eQ(),eM.current=setTimeout(()=>{eU(!1),eM.current=null},140))},[eQ]),e8=(0,a.useCallback)(e=>{e.stopPropagation(),eQ(),ez.current=!0,window.addEventListener("pointerup",e=>{ez.current=!1;let t="u">typeof document?document.elementFromPoint(e.clientX,e.clientY):null;t&&(eP.current?.contains(t)||eD.current?.contains(t))||e6()},{once:!0})},[eQ,e6]),e9=(0,a.useCallback)(()=>{Y(!0),eU(!1)},[Y]),e7=(0,a.useCallback)(()=>{let e=eE.current||eP.current;if(!e)return;let t=e.getBoundingClientRect(),n=eD.current?.getBoundingClientRect(),r=n?.width||224,i=n?.height||240,a=t.left+t.width/2-r/2,o=t.top-i-10;o<8&&(o=t.bottom+10),eG({left:a=Math.max(8,Math.min(window.innerWidth-r-8,a)),top:o=Math.max(8,Math.min(window.innerHeight-i-8,o))})},[]),te=(0,a.useCallback)(()=>{S(e=>({anchor:(0,yK.getNextAnalysisPanelAnchor)(e.anchor)}))},[S]),tt=(e,t)=>{e.stopPropagation(),ed(t.id),ep(t.name)},tn=()=>{eu&&em.trim()&&er(eu,em.trim()),ed(null)},tr=e=>{"Enter"===e.key&&tn(),"Escape"===e.key&&ed(null)},ti=async(e,t)=>{(e.stopPropagation(),i)?await ea(t):eH("save")},ta=()=>{let e=eO.current;e&&eR({atStart:e.scrollLeft<=2,atEnd:e.scrollLeft>=e.scrollWidth-e.clientWidth-2})};(0,a.useEffect)(()=>{let e=eO.current;if(e)return ta(),e.addEventListener("scroll",ta),window.addEventListener("resize",ta),()=>{e.removeEventListener("scroll",ta),window.removeEventListener("resize",ta)}},[Q]),(0,a.useEffect)(()=>{if(!eB)return;let e=e=>{let t=e.target;eP.current?.contains(t)||eD.current?.contains(t)||eU(!1)};return document.addEventListener("pointerdown",e),()=>document.removeEventListener("pointerdown",e)},[eB]),(0,a.useEffect)(()=>()=>eQ(),[eQ]),(0,a.useEffect)(()=>()=>e1(),[e1]),(0,a.useEffect)(()=>{if(!eB)return void eG(null);e7();let e=requestAnimationFrame(e7),t=()=>e7();return window.addEventListener("resize",t),window.addEventListener("scroll",t,!0),()=>{cancelAnimationFrame(e),window.removeEventListener("resize",t),window.removeEventListener("scroll",t,!0)}},[eB,e7]),(0,a.useEffect)(()=>{(!K||J)&&eU(!1)},[J,K]);let to=async()=>{if(!o)return void eH("load");eb(!0),e_(!0),eC(null),eT(!1);try{let e=await fetch("/api/tactics/list");if(!e.ok){let t=await v_(e);console.error("[LoadModal] API error:",e.status,t),eC(`Error ${e.status}: ${t?.error||"Failed to load"}`);return}let t=await v_(e);if(!t)return void eC(`Error ${e.status}: Unexpected non-JSON response`);t.tactics&&ev(t.tactics),eT(!!t.isAdmin)}catch(e){console.error("[LoadModal] Fetch error:",e),eC("Network error — check your connection")}finally{e_(!1)}},ts=async(e,t,n,r)=>{r.stopPropagation();try{await fetch(`/api/tactics/${e}/visibility`,{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({[t]:!n})}),ev(r=>r.map(r=>r.id===e?{...r,[t]:!n,..."featured"===t&&!n?{isPublic:!0}:{}}:r))}catch(e){console.error("Failed to update visibility:",e)}},tl=async()=>{if(ej)try{let e=await fetch(`/api/tactics/delete?id=${ej}`,{method:"DELETE"}),t=await v_(e);if(!e.ok)return void alert(`Failed to delete: ${t?.error||`HTTP ${e.status}`}`);t?.success?(e$(null),to()):alert("Failed to delete: "+(t?.error||"Unexpected response"))}catch(e){console.error(e)}},tc="flex items-center p-2 bg-gray-800/60 backdrop-blur-xl rounded-2xl border border-white/10 shadow-2xl",tu=(0,oT.n
459ormalizeDockBarState)(f,"tools"),td=(0,oT.normalizeDockBarState)(x,"system"),tm=(0,oT.normalizeDockBarState)(y,"ai"),tp=(0,a.useMemo)(()=>({tools:tu,system:td,ai:tm}),[tu,td,tm]),th=(0,a.useMemo)(()=>({tools:j,system:I,ai:N}),[j,I,N]),[tf,tg]=(0,a.useState)(!1),[tx,tb]=(0,a.useState)(!1),[ty,tv]=(0,a.useState)({}),[tw,t_]=(0,a.useState)({}),[tk,tS]=(0,a.useState)({}),[tj,t$]=(0,a.useState)({}),tI=(0,a.useRef)(new Map),tC=(0,a.useRef)(E),tN=(0,a.useRef)(!1),tT=(0,a.useCallback)(e=>{let t=tI.current.get(e);t&&(window.clearTimeout(t),tI.current.delete(e))},[]),tA=(0,a.useCallback)((e,t)=>{tv(n=>{var r,i,a,o;let s=n[e];return((r=s?.rect)===(i=t?.rect)||r&&i&&r.left===i.left&&r.top===i.top&&r.right===i.right&&r.bottom===i.bottom&&r.width===i.width&&r.height===i.height)&&((a=s?.viewport)===(o=t?.viewport)||a&&o&&a.width===o.width&&a.height===o.height)?n:{...n,[e]:t}})},[]),tP=(0,a.useCallback)((e,t)=>{t_(n=>{let r=n[e];return r?.canAutoHide===t?.canAutoHide&&r?.interactionActive===t?.interactionActive&&r?.isPinned===t?.isPinned?n:{...n,[e]:t}})},[]),tE=(0,a.useCallback)(e=>{e&&(tT(e),tS(t=>!0===t[e]?t:{...t,[e]:!0}),t$(t=>({...t,[e]:(t[e]||0)+1})))},[tT]),tD=(0,a.useMemo)(()=>(function({states:e,measurements:t,pinnedById:n,surfaceStates:r={},focusModeEnabled:i,focusModeAutoHideDock:a,revealedByGroup:o={},revealSignals:s}){let l=Object.keys(e),c=new Map(l.map(e=>[e,new Set]));l.forEach(n=>{let r=e[n]?.dockedToPeer,i=e[n]?.peerSide;r&&c.has(r)&&(0,oN.areDockPeersAttached)({rect:t[n]?.rect,peerRect:t[r]?.rect,peerSide:i}
459)&&(c.get(n).add(r),c.get(r).add(n))});let u={},d=new Set;return l.forEach(l=>{if(d.has(l))return;let m=[l],p=[];for(d.add(l);m.length>0;){let e=m.pop();p.push(e),c.get(e)?.forEach(e=>{d.has(e)||(d.add(e),m.push(e))})}let h=vw.filter(e=>p.includes(e)),f=h.some(e=>n[e]),g=!!(i&&!1!==a&&!f),x=h.some(e=>r[e]?.interactionActive),b=h.find(e=>g&&!n[e])||h[0],y=h.join("|"),v=g&&!x&&!1===o[y],w=t[b]||h.map(e=>t[e]).find(Boolean),_=(0,oN.getChromeGroupPlacement)({rects:h.map(e=>t[e]?.rect).filter(Boolean),dockSide:e[b]?.dockSide,viewport:w?.viewport});h.forEach(e=>{u[e]={groupId:y,ownerId:b,memberIds:h,placement:_,canAutoHide:g,interactionActive:x,hidden:v,revealSignal:s[y]||0}})}),u})({states:tp,measurements:ty,pinnedById:th,surfaceStates:tw,focusModeEnabled:A,focusModeAutoHideDock:P,revealedByGroup:tk,revealSignals:tj}),[tk,ty,th,tj,tw,tp,P,A]),tM=(0,a.useMemo)(()=>{let e;return e=new Set,Object.values(tD).filter(t=>!(!t?.groupId||e.has(t.groupId))&&(e.add(t.groupId),!0))},[tD]);(0,a.useEffect)(()=>{0!==tM.length&&tS(e=>{let t=e;return tM.forEach(n=>{(!n.canAutoHide||n.interactionActive)&&!1===e[n.groupId]&&((t=t===e?{...e}:t)[n.groupId]=!0)}),t})},[tM]),(0,a.useEffect)(()=>{tC.current!==E&&(tC.current=E,tI.current.forEach(e=>window.clearTimeout(e)),tI.current.clear())},[E]),(0,a.useEffect)(()=>{let e=new Map(tM.map(e=>[e.groupId,e]));
459tI.current.forEach((t,n)=>{let r=e.get(n);r&&r.canAutoHide&&!r.interactionActive&&!1!==tk[n]||(window.clearTimeout(t),tI.current.delete(n))}),tM.forEach(e=>{if(!(e.canAutoHide&&!e.interactionActive&&!1!==tk[e.groupId])||tI.current.has(e.groupId))return;let t=window.setTimeout(()=>{tI.current.delete(e.groupId),tS(t=>!1===t[e.groupId]?t:{...t,[e.groupId]:!1})},E);tI.current.set(e.groupId,t)})},[tM,tk,E]),(0,a.useEffect)(()=>()=>{tI.current.forEach(e=>window.clearTimeout(e)),tI.current.clear()},[]);let tz=(0,a.useRef)({toolsBarPinned:j,systemBarPinned:I,aiDockBarPinned:N,toolsBarState:tu,systemBarState:td,aiDockBarState:tm});if((0,a.useEffect)(()=>{tz.current={toolsBarPinned:j,systemBarPinned:I,aiDockBarPinned:N,toolsBarState:tu,systemBarState:td,aiDockBarState:tm}},[j,I,N,tu,td,tm]),(0,a.useEffect)(()=>{let e=()=>{p(window.innerHeight)};return e(),window.addEventListener("resize",e),()=>window.removeEventListener("resize",e)},[]),(0,a.useEffect)(()=>{tg(!0)},[]),(0,a.useEffect)(()=>{if(!tf||tN.current)return;tN.current=!0;let e=!1,t=window.requestAnimationFrame(()=>{if(e)return;let t=window.innerWidth,n=window.innerHeight,r=document.getElementById("dock-bar-system"),i=document.getElementById("dock-bar-tools"),a=document.getElementById("dock-bar-ai");if(!r||!i||!a)return void tb(!0);let o=r.getBoundingClientRect(),s=i.getBoundingClientRect(),l=a.getBoundingClientRect(),c=(t-o.width)/2,{systemBarPinned:u,toolsBarPinned:d,aiDockBarPinned:m}=tz.current;u||b({dockSide:"bottom",position:{x:c,y:n-o.height-16},dockMargin:16,centered:!0,dockedToPeer:null,peerSide:null}),m||v({dockSide:"bottom",position:{x:c,y:n-o.height-l.height-32},dockMargin:16+o.height+8,centered:!0,dockedToPeer:"system",peerSide:"top"}),d||g({dockSide:"left",position:{x:16,y:(n-s.height)/2},dockMargin:16,centered:!1}),tb(!0)});return()=>{e=!0,window.cancelAnimationFrame(t)}},[tf,v,b,g]),!tf)return null;let tF=eq?.Icon||e5.FaTv,tO=tx?"":" invisible pointer-events-none";return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(oA,{id:"tools",dockState:tu,setDockState:g,peerDockState:td,peerIds:["system","ai"],isPinned:j,focusModeEnabled:A,focusModeAutoHide:P,focusModeIdleDelayMs:E,chromeGroup:tD.tools,onChromeMeasurementChange:tA,onChromeSurfaceStateChange:tP,onRevealChromeGroup:tE,className:`${"left"===tu.dockSide||"right"===tu.dockSide?"flex flex-col":"flex flex-row"}${tO}`,children:t=>{var n;let i,a;return(0,r.jsx)("div",{className:`flex ${"left"===tu.dockSide||"right"===tu.dockSide?"flex-col":"flex-row"}`,children:(n=tu.dockSide,a=(i="left"===n||"right"===n)&&h,(0,r.jsxs)("div",{className:`${tc} ${i?"flex-col gap-2 max-h-[90vh] flex-nowrap":"flex-row gap-2 max-w-[95vw] flex-wrap"} justify-center`,style:{alignContent:"center"},children:[(0,r.jsx)("div",{onPointerDown:t.start,onDoubleClick:()=>$(!j),className:`cursor-grab active:cursor-grabbing flex items-center justify-center transition-all ${i?"w-full py-1 hover:bg-white/5 rounded-lg mb-1":"px-1 h-full hover:bg-white/5 rounded-lg mr-1"} ${j?"text-blue-400":""}`,style:{color:j?void 0:"rgba(255, 255, 255, 0.2)"},title:j?e("unpinBar"):e("doubleClickToPin"),children:i?(0,r.jsx)(e5.FaGripHorizontal,{size:14}):(0,r.jsx)(e5.FaGripVertical,{size:14})}),(0,r.jsxs)("div",{className:`${a?"grid grid-cols-2 gap-1.5":`flex flex-wrap items-center justify-center gap-1.5 ${i?"flex-col content-center max-h-[80vh]":"flex-row"}`}`,children:[(0,r.jsx)(vj,{icon:e5.FaTshirt,active:V,onClick:()=>{V||es||!ec[0]||el("A",ec[0].id),eY(q,"twoTeam")},title:e("toolTeam")}),!a&&!i&&(0,r.jsx)("div",{className:"w-px h-4 bg-white/10"}),(0,r.jsx)(vj,{icon:e5.FaProjectDiagram,active:L,onClick:()=>eY(R,"association"),title:e("toolAssociations")}),(0,r.jsx)(vj,{icon:o$,active:W,onClick:()=>eY(H,"training"),title:e("toolTraining"),color:"emerald"}),(0,r.jsx)(vj,{icon:e5.FaPen,active:B,onClick:()=>eY(U,"annotation"),title:e("toolAnnotations")}),(0,r.jsx)(vj,{icon:e5.FaLayerGroup,active:Z,onClick:()=>eY(G,"field"),title:e("toolFieldManager")})]})]}))})}}),(0,r.jsx)(oA,{id:"system",dockState:td,setDockState:b,peerDockState:tu,peerIds:["tools","ai"],isPinned:I,focusModeEnabled:A,focusModeAutoHide:P,focusModeIdleDelayMs:E,chromeGroup:tD.system,onChromeMeasurementChange:tA,onChromeSurfaceStateChange:tP,onRevealChromeGroup:tE,className:`${"left"===td.dockSide||"right"===td.dockSide?"flex flex-col":"flex flex-row"}${tO}`,children:t=>{var n;let i,a;return(0,r.jsx)("div",{className:`flex ${"left"===td.dockSide||"right"===td.dockSide?"flex-col":"flex-row"}`,children:(n=td.dockSide,a=(i="left"===n||"right"===n)?(0,r.jsx)("div",{className:`
460                flex items-center gap-2 overflow-y-auto scene-scrollbar pointer-events-auto
461                flex-col w-full py-1
462                snap-y snap-mandatory scroll-smooth
463            `,children:Q.map(t=>{let n=new Date(t.lastModified),i=`${n.getDate().toString().padStart(2,"0")}/${(n.getMonth()+1).toString().padStart(2,"0")}`,a=`${n.getHours().toString().padStart(2,"0")}:${n.getMinutes().toString().padStart(2,"0")}`;return(0,r.jsx)("div",{onDoubleClick:e=>tt(e,t),onClick:()=>en(t.id),className:`
464                                relative flex items-center justify-center px-1 py-1 rounded-lg cursor-pointer select-none transition-all border flex-shrink-0 group snap-start
465                            ${ee===t.id?"bg-blue-600 border-blue-500 text-white shadow-sm":"bg-white/5 border-transparent hover:bg-white/10 text-gray-400"}
466                            w-9 h-auto min-h-[50px]
467                            `,children:eu===t.id?(0,r.jsx)("input",{ref:eh,className:"bg-transparent border-none outline-none text-white text-xs font-bold text-center w-full",value:em,onChange:e=>ep(e.target.value),onBlur:tn,onKeyDown:tr,onClick:e=>e.stopPropagation(),autoFocus:!0}):(0,r.jsxs)("div",{className:"flex flex-col items-center justify-center w-full min-w-0 gap-0.5",children:[(0,r.jsx)("span",{className:"text-sm font-bold text-center uppercase",children:t.name.charAt(0)}),(0,r.jsx)("span",{className:"text-[9px] opacity-70 leading-tight",children:i}),(0,r.jsx)("span",{className:"text-[9px] opacity-70 leading-tight",children:a}),(0,r.jsxs)("div",{className:"absolute right-1 top-1 flex flex-col gap-1 opacity-0 group-hover:opacity-100 transition-opacity bg-black/50 rounded p-0.5 backdrop-blur-sm",children:[(0,r.jsxs)("button",{onClick:e=>ti(e,t.id),className:"p-1 text-gray-300 hover:text-blue-400 rounded transition-colors",title:e("saveScene"),children:[" ",(0,r.jsx)(e5.FaSave,{size:8})," "]}),Q.length>1&&(0,r.jsxs)("button",{onClick:e=>{e.stopPropagation(),eg(t.id)},className:"p-1 text-gray-300 hover:text-red-400 rounded transition-colors",title:e("deleteScene"),children:[" ",(0,r.jsx)(e5.FaTrash,{size:8})," "]})]})]})},t.id)})}):(0,r.jsx)("div",{className:`
468                ${eL.atStart?"at-start":""} ${eL.atEnd?"at-end":""}
469            `,children:(0,r.jsx)("div",{ref:eO,className:`
470                        flex items-center gap-2 overflow-x-auto scene-scrollbar pointer-events-auto
471                        max-w-full sm:max-w-[300px] px-2
472                        snap-x snap-mandatory scroll-smooth
473                    `,onWheel:e=>{eO.current&&(e.stopPropagation(),eO.current.scrollLeft+=e.deltaY)},children:Q.map(t=>(0,r.jsx)("div",{onDoubleClick:e=>tt(e,t),onClick:()=>en(t.id),className:`
474                                relative flex items-center justify-center px-3 h-9 rounded-lg cursor-pointer select-none transition-all border flex-shrink-0 group snap-start
475                                ${ee===t.id?"bg-blue-600 border-blue-500 text-white shadow-sm":"bg-white/5 border-transparent hover:bg-white/10 text-gray-400"}
476                                min-w-[80px]
477                            `,children:eu===t.id?(0,r.jsx)("input",{ref:eh,className:"bg-transparent border-none outline-none text-white text-xs font-bold text-center w-full",value:em,onChange:e=>ep(e.target.value),onBlur:tn,onKeyDown:tr,onClick:e=>e.stopPropagation()}):(0,r.jsxs)("div",{className:"flex items-center justify-between w-full min-w-0 gap-2",children:[(0,r.jsxs)("div",{className:"flex flex-col min-w-0",children:[(0,r.jsx)("span",{className:"text-xs font-bold truncate",children:t.name}),(0,r.jsx)("span",{className:`text-[10px] truncate ${ee===t.id?"text-blue-200":"text-gray-500"}`,children:vv(t.lastModified)})]}),(0,r.jsxs)("div",{className:"flex items-center opacity-0 group-hover:opacity-100 transition-opacity",children:[(0,r.jsxs)("button",{onClick:e=>ti(e,t.id),className:"p-1 text-gray-400 hover:text-blue-400 hover:bg-white/10 rounded transition-colors",title:e("saveScene"),"aria-label":e("saveScene"),children:[" ",(0,r.jsx)(e5.FaSave,{size:10})," "]}),Q.length>1&&(0,r.jsxs)("button",{onClick:e=>{e.stopPropagation(),eg(t.id)},className:"p-1 text-gray-400 hover:text-red-400 hover:bg-white/10 rounded transition-colors",title:e("deleteScene"),"aria-label":e("deleteScene"),children:[" ",(0,r.jsx)(e5.FaTrash,{size:10})," "]})]})]})},t.id))})}),(0,r.jsxs)("div",{className:`${tc} ${i?"flex-col gap-2 max-h-[80vh] w-min flex-nowrap":"flex-row gap-2 max-w-[95vw] flex-wrap"} justify-center`,style:{alignContent:"center"},children:[(0,r.jsx)("div",{onPointerDown:t.start,onDoubleClick:()=>
477C(!I),className:`cursor-grab active:cursor-grabbing flex items-center justify-center transition-all ${i?"w-full py-1 hover:bg-white/5 rounded-lg mb-1":"px-1 h-full hover:bg-white/5 rounded-lg mr-1"} ${I?"text-blue-400":""}`,style:{color:I?void 0:"rgba(255, 255, 255, 0.2)"},title:I?e("unpinBar"):e("doubleClickToPin"),children:i?(0,r.jsx)(e5.FaGripHorizontal,{size:14}):(0,r.jsx)(e5.FaGripVertical,{size:14})}),(0,r.jsxs)("div",{className:`${i?"flex flex-col gap-2 w-full":"flex items-center gap-2 flex-1 min-w-0"}`,children:[(0,r.jsxs)("div",{className:`flex gap-2 items-center justify-center ${i?"mb-1 w-full flex-col":""}`,children:[(0,r.jsxs)("button",{onClick:to,className:"w-9 h-9 flex items-center justify-center rounded-xl bg-white/5 hover:bg-white/10 text-gray-300 hover:text-white transition-all active:scale-95",title:e("loadScene"),"aria-label":e("loadScene"),children:[" ",(0,r.jsx)(e5.FaFolderOpen,{size:14})," "]}),(0,r.jsxs)("div",{className:"relative",ref:eA,children:[(0,r.jsxs)("button",{onClick:()=>eS(!ek),className:`w-9 h-9 flex items-center justify-center rounded-xl bg-white/5 hover:bg-white/10 text-gray-300 hover:text-white transition-all active:scale-95 ${ek?"bg-blue-600":""}`,title:e("newScene"),"aria-label":e("newScene"),children:[" ",(0,r.jsx)(e5.FaPlus,{size:14})," "]}),ek&&(0,r.jsxs)("div",{className:`absolute ${i?"right"===n?"right-full top-0 mr-2":"left-full top-0 ml-2":"bottom-full mb-2 left-0 sm:left-auto sm:right-0"} w-44 sm:w-40 bg-gray-800 border border-white/20 rounded-xl p-1 shadow-xl flex flex-col z-[1000] overflow-hidden animate-in fade-in zoom-in-95 duration-200`,children:[(0,r.jsx)("button",{onClick:()=>{et(null,"duplicate"),eS(!1)},className:"text-left px-3 py-2 text-xs text-white hover:bg-white/10 rounded transition-colors",children:e("duplicate")}),(0,r.jsx)("button",{onClick:()=>{et(null,"default"),eS(!1)},className:"text-left px-3 py-2 text-xs text-white hover:bg-white/10 rounded transition-colors",children:e("defaultLabel")}),(0,r.jsx)("button",{onClick:()=>{et(null,"empty"),eS(!1)},className:"text-left px-3 py-2 text-xs text-white hover:bg-white/10 rounded transition-colors",children:e("empty")})]})]})]}),!i&&(0,r.jsx)("div",{className:"w-px h-4 bg-white/10 mx-1 flex-shrink-0"}),(0,r.jsx)("div",{className:`${i?"w-full":"flex-1 min-w-0"}`,children:a}),!i&&(0,r.jsx)("div",{className:"w-px h-4 bg-white/10 mx-1 flex-shrink-0"}),(0,r.jsxs)("div",{className:`flex items-center gap-2 ${i?"mt-1 justify-center w-full flex-col":""}`,children:[(0,r.jsxs)("div",{className:`relative flex items-center ${i?"flex-col gap-1":"gap-1"}`,ref:eP,onMouseEnter:e3,onMouseLeave:e6,children:[(0,r.jsx)(vj,{ref:eE,icon:e5.FaTv,active:K,onClick:e4,title:e("toolAnalysisScreen"),color:"purple"}),eB&&!J&&(0,r.jsx)(v$,{popoverRef:eD,positionStyle:eZ||{left:-9999,top:-9999},visible:!!eZ,currentAnalysisLayout:eV,clearAnalysisHoverClose:eQ,scheduleAnalysisHoverClose:e6,enterWorkspaceFullscreen:e9,setAnalysisPanelLayout:S,cycleAnalysisPanelAnchor:te,beginAnalysisSliderDrag:e8})]}),(0,r.jsx)(vu,{dockSide:n,workspaceFullscreenAvailable:K,workspaceFullscreenActive:J,onToggleWorkspaceFullscreen:()=>Y(!J)})]})]})]}))})}}),(0,r.jsx)(oA,{id:"ai",dockState:tm,setDockState:v,peerIds:["system","tools"],isPinned:N,focusModeEnabled:A,focusModeAutoHide:P,focusModeIdleDelayMs:E,pinnedResizeAnchor:"bottom-left",contentInteractionActive:D&&"chat"===z,chromeGroup:tD.ai,onChromeMeasurementChange:tA,onChromeSurfaceStateChange:tP,onRevealChromeGroup:tE,className:`${"left"===tm.dockSide||"right"===tm.dockSide?"flex flex-col":"flex flex-row"}${tO}`,children:e=>(0,r.jsx)(yq,{dockSide:tm.dockSide,controls:e,isPinned:N,onPinToggle:()=>T(!N),panelOpen:D,activePanel:z,setPanelOpen:M,setActivePanel:F,openPanel:O})}),ef&&(0,e0.createPortal)((0,r.jsx)("div",{className:"fixed inset-0 z-[1000] flex items-center justify-center bg-black/60 backdrop-blur-sm animate-in fade-in duration-200 p-4",onClick:()=>eg(null),children:(0,r.jsxs)("div",{className:"bg-gray-900 border border-white/10 rounded-2xl shadow-2xl p-6 w-full max-w-[320px] flex flex-col gap-4 scale-100 animate-in zoom-in-95 duration-200",onClick:e=>e.stopPropagation(),children:[(0,r.jsxs)("div",{children:[(0,r.jsx)("h3",{className:"text-lg font-bold text-white mb-1",children:e("deleteSceneModalTitle")}),(0,r.jsx)("p",{className:"text-sm text-gray-400",children:e("deleteSceneModalBody")})]}),(0,r.jsxs)("div",{className:"flex justify-end gap-3 mt-2",children:[(0,r.jsx)("button",{onClick:()=>eg(null),className:"px-4 py-2 rounded-xl text-sm font-medium bg-white/5 hover:bg-white/10 text-white transition",children:e("cancel")}),(0,r.jsx)("button",{onClick:()=>{ef&&(ei(ef),eg(null))},className:"px-4 py-2 rounded-xl text-sm font-medium bg-red-600 hover:bg-red-500 text-white shadow-lg shadow-red-900/20 transition",children:e("confirmDelete")})]})]})}),document.body),eq&&(0,e0.createPortal)((0,r.jsx)("div",{className:"fixed inset-0 z-[5200] flex items-center justify-center bg-black/55 p-4 backdrop-blur-sm animate-in fade-in duration-200",onClick:()=>eH(null),children:(0,r.jsxs)("div",{className:"w-full max-w-[380px] rounded-2xl border border-white/10 bg-gray-900/95 p-5 text-white shadow-2xl animate-in zoom-in-95 duration-200",onClick:e=>e.stopPropagation(),children:[(0,r.jsxs)("div",{className:"mb-4 flex items-start justify-between gap-3",children:[(0,r.jsxs)("div",{className:"flex items-center gap-3",children:[(0,r.jsx)("div",{className:`flex h-10 w-10 shrink-0 items-center justify-center rounded-xl border ${eq.iconClassName}`,children:(0,r.jsx)(tF,{size:16})}),(0,r.jsxs)("div",{children:[(0,r.jsx)("h3",{className:"text-sm font-semibold text-white",children:eq.title}),(0,r.jsx)("p",{className:"mt-1 text-xs leading-relaxed text-white/50",children:eq.body})]})]}),(0,r.jsx)("button",{type:"button",onClick:()=>eH(null),className:"flex h-7 w-7 shrink-0 items-center justify-center rounded-lg bg-white/5 text-white/45 transition-colors hover:bg-white/10 hover:text-white","aria-label":e("closeModal"),children:"x"})]}),(0,r.jsxs)("div",{className:"flex flex-col gap-2 sm:flex-row",children:[(0,r.jsx)("button",{type:"button",onClick:eJ,className:"flex flex-1 items-center justify-center rounded-xl bg-white px-3 py-2 text-xs font-semibold text-gray-950 transition-colors hover:bg-white/90",children:eq.loginLabel}),(0,r.jsx)("button",{type:"button",onClick:eX,className:`flex flex-1 items-center justify-center rounded-xl border px-3 py-2 text-xs font-semibold transition-colors ${eq.actionClassName}`,children:e("applyFoundingTester")})]})]})}),document.body),ex&&(0,e0.createPortal)((0,r.jsx)("div",{className:"fixed inset-0 z-[1000] flex items-center justify-center bg-black/60 backdrop-blur-sm animate-in fade-in duration-200 p-4",onClick:()=>eb(!1),children:(0,r.jsxs)("div",{className:"bg-gray-900/90 backdrop-blur-xl border border-white/10 rounded-2xl shadow-2xl w-full max-h-[85dvh] h-[85dvh] sm:w-[500px] sm:h-[500px] sm:max-h-[500px] flex flex-col overflow-hidden animate-in zoom-in-95 sm:slide-in-from-bottom-4 duration-200",onClick:e=>e.stopPropagation(),children:[(0,r.jsxs)("div",{className:"p-4 border-b border-white/5 flex items-center justify-between flex-shrink-0",children:[(0,r.jsx)("h3",{className:"text-base font-bold text-white",children:e("loadSavedScene")}),(0,r.jsx)("button",{onClick:()=>eb(!1),className:"text-gray-400 hover:text-white transition","aria-label":e("closeModal"),children:e("close")})]}),(0,r.jsx)("div",{className:"flex-1 min-h-0 overflow-y-auto custom-scrollbar p-3 sm:p-2 -webkit-overflow-scrolling-touch",children:ew?(0,r.jsx)("div",{className:"text-center text-white/40 mt-10",children:e("loading")}):eI?(0,r.jsxs)("div",{className:"text-center mt-10",children:[(0,r.jsx)("div",{className:"text-red-400 text-sm mb-2",children:eI}
477),(0,r.jsx)("button",{onClick:to,className:"text-xs text-blue-400 hover:text-blue-300 transition",children:e("retry")})]}):0===ey.length?(0,r.jsx)("div",{className:"text-center text-white/40 mt-10 text-sm",children:e("noSavedOrPublicTactics")}):(0,r.jsx)("div",{className:"grid grid-cols-1 gap-2",children:ey.map(t=>(0,r.jsxs)("div",{className:"group flex items-center p-4 sm:p-3 rounded-xl bg-white/5 hover:bg-white/10 active:bg-white/15 border border-transparent hover:border-white/5 transition-all cursor-pointer",onClick:()=>{eo(t.id),eb(!1)},children:[(0,r.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,r.jsxs)("div",{className:"flex items-center gap-2 min-w-0",children:[(0,r.jsx)("div",{className:"text-sm font-bold text-white truncate",children:t.name}),!t.isOwnedByCurrentUser&&(0,r.jsx)("span",{className:"text-[9px] font-medium px-1.5 py-0.5 rounded-full bg-green-500/15 text-green-300 shrink-0",children:e("publicBadge")})]}),(0,r.jsx)("div",{className:"text-xs text-blue-200/50",children:vv(t.updatedAt)}),!t.isOwnedByCurrentUser&&(0,r.jsxs)("div",{className:"text-[11px] text-white/35 mt-0.5",children:[e("sharedBy")," ",t.ownerName]}),(eN||t.isOwnedByCurrentUser)&&(0,r.jsxs)("div",{className:"flex items-center gap-2 mt-1.5",children:[eN&&(0,r.jsx)("button",{onClick:e=>ts(t.id,"featured",t.featured,e),className:`text-[9px] font-medium px-1.5 py-0.5 rounded-full transition-colors ${t.featured?"bg-amber-500/20 text-amber-400":"bg-white/5 text-white/30 hover:text-white/50"}`,children:t.featured?e("featuredBadge"):e("featureToggle")}),(0,r.jsx)("button",{onClick:e=>ts(t.id,"isPublic",t.isPublic,e),className:`text-[9px] font-medium px-1.5 py-0.5 rounded-full transition-colors ${t.isPublic?"bg-green-500/20 text-green-400":"bg-white/5 text-white/30 hover:text-white/50"}`,children:t.isPublic?e("publicOn"):e("publicOff")})]})]}),t.isOwnedByCurrentUser&&(0,r.jsxs)("button",{onClick:e=>{var n;return n=t.id,void(e.stopPropagation(),e$(n))},className:"p-2 text-gray-500 hover:text-red-400 sm:opacity-0 sm:group-hover:opacity-100 transition-opacity","aria-label":e("deleteSavedSceneAria"),children:[" ",(0,r.jsx)(e5.FaTrash,{size:14,className:"sm:w-3 sm:h-3"})," "]})]},t.id))})})]})}),document.body),ej&&(0,e0.createPortal)((0,r.jsx)("div",{className:"fixed inset-0 z-[1100] flex items-center justify-center bg-black/60 backdrop-blur-sm p-4",onClick:()=>e$(null),children:(0,r.jsxs)("div",{className:"bg-gray-900 border border-white/10 rounded-2xl shadow-2xl p-6 w-full max-w-[320px] flex flex-col gap-4",children:[(0,r.jsx)("h3",{className:"text-lg font-bold text-white",children:e("deleteSavedTacticTitle")}),(0,r.jsxs)("div",{className:"flex justify-end gap-3",children:[(0,r.jsx)("button",{onClick:()=>e$(null),className:"px-4 py-2 rounded-xl text-sm font-medium bg-white/5 hover:bg-white/10 text-white transition",children:e("cancel")}),(0,r.jsx)("button",{onClick:tl,className:"px-4 py-2 rounded-xl text-sm font-medium bg-red-600 hover:bg-red-500 text-white shadow-lg shadow-red-900/20 transition",children:e("confirmDelete")})]})]})}),document.body)]})}function vC(e){e.stopPropagation()}e.i(247167);var vN=e.i(921210),vT=e.i(46382),vA=e.i(696814);function vP(e){if(null==e||""===e)return null;let t=Number(e);return Number.isFinite(t)?t:null}function vE(e,t,n,r,{includeExitAnimation:i=!1,respectVisibility:a=!0}={}){if(a&&t?.visible===!1)return;let o=vP(n),s=vP(r);if(null===o||null===s||s<=o)return;let l=s+(i?function(e){let t=e?.animation;if("none"===(t?.exit??"none"))return 0;let n=vP(t.duration)??.3;return Math.max(0,vP(t.exitDuration)??n)}(t):0);l<=o||e.push({startTime:o,endTime:l})}function vD(e={}){return[...e.teamAPlayers||[],...e.teamASubs||[],...e.teamBPlayers||[],...e.teamBSubs||[]]}function vM(e,t,n){if(t?.visible===!1||!(0,vA.hasAssociationTimeRange)(t))return;let r=(0,vA.getAssociationSegment)(t,n);r.hasTimeRange&&vE(e,t,r.startTime,r.endTime,{includeExitAnimation:!0})}function vz(e){return"function"==typeof structuredClone?structuredClone(e):JSON.parse(JSON.stringify(e))}function vF(e){let t=e?.segment?.points;return Array.isArray(t)&&t.length>0?t[t.length-1]:null}function vO(e,t,n,r,i=null){let a,o,s,{capturedOperations:l,stores:c}=(a=[],o={aiConfig:{...vz(t.aiConfig),engineMode:r,debug:!1,dualRunDiagnostics:!1},aiState:vz(t.aiState),setDefensiveState(e){this.aiConfig.defensiveState=e},updateCentroid(e){this.aiState.centroid.current={...e}},setTargetCentroid(e){this.aiState.centroid.target={...e}},updateBallTracking(e,t){this.aiState.lastBallPosition={x:e[0],z:e[2]},this.aiState.lastBallTime=t},setDefensiveLine(e){this.aiState.defensiveLine={x:e,targetX:e}},clearForceRecalculation(){this.aiState.forceRecalculation=!1}},s={teamAPlayers:vz(n.teamAPlayers||[]),teamBPlayers:vz(n.teamBPlayers||[]),teamASubs:vz(n.teamASubs||[]),teamBSubs:vz(n.teamBSubs||[]),ballState:vz(n.ballState||{position:[0,.2,0],trajectories:[]}),analysisMetrics:vz(n.analysisMetrics||{}),batchAIMovementOperations(e){a.push(...vz(e))}},{capturedOperations:a,stores:{aiStore:{getState:()=>o,setState(e){Object.assign(o,"function"==typeof e?e(o):e)}},playerStore:{getState:()=>s}}});
477return(0,iP.processAITick)(e,.1,c,(0,vN.createAIEngineContext)(),"spatial-v1"===r?i:null),l}function vL(e={}){return(0,iP.getAutomatedAITeams)(e).length>0}let vR=null,vB=0;function vU(){let e,t=(0,i.c)(1);return t[0]===Symbol.for("react.memo_cache_sentinel")?(e=[],t[0]=e):e=t[0],(0,a.useEffect)(vZ,e),null}function vZ(){return vB+=1,vR||(vR=function({playerStore:e=s.usePlayerStore,aiStore:t=iN.useAIOppositionStore,engineContext:n=iD.sharedAIEngineContext}={}){let r=null,i=!1,a=0,o=-1,l=0,c=!1,u=s=>{let d=e.getState(),p=d.timeline?.isPlaying;if(p&&!c&&("function"==typeof d.rebuildTimelineForPlayback&&(d.rebuildTimelineForPlayback({startTime:d.timeline?.currentTime??0}),d=e.getState()),o=Math.floor((d.timeline?.currentTime??0)*10)-1),c=p,p){let r=t.getState().aiConfig,i=vL(r),l=i?null:function(e={},t={},n=0,r={}){let i=vP(n)??0,a=function(e={},t={},n={}){let r=[];for(let t of vD(e))for(let e of t?.movements||[])vE(r,e,e.startTime,e.endTime,{respectVisibility:!1});for(let t of(e?.ballState||{}).trajectories||[])vE(r,t,t.startTime,t.endTime,{respectVisibility:!1});for(let e of t?.annotations||[])vE(r,e,e.startTime,e.endTime,{includeExitAnimation:!0});let i=e?.timeline?.totalDuration;for(let t of e?.links||[])vM(r,t,i);for(let t of e?.zones||[])vM(r,t,i);for(let t of vD(e))t?.marking?.active&&vM(r,t.marking,i);if(n?.cinematicState?.enabled&&n?.selectedCamera==="3D")for(let e of n?.cinematicTrack||[])vE(r,e,e.startTime,e.endTime);return r.sort((e,t)=>e.startTime-t.startTime)}(e,t,r),o=null;for(let e of a)e.endTime<=i+1e-6||(o=null===o?e.endTime:Math.max(o,e.endTime));return null===o?null:{endTime:o}}(d,m.useAnnotationStore.getState(),d.timeline.currentTime,ia.useCameraStore.getState()),c=(s-a)/1e3,u=d.timeline.currentTime+c*d.timeline.speed,p=l?Math.min(d.timeline.totalDuration,l.endTime):d.timeline.totalDuration;if(i||l?u>=p?(u=p,d.setTimelineState({currentTime:u,isPlaying:!1}),o=-1,(0,iP.resetGameStateTracking)(n)):d.setTimelineState({currentTime:u}):(d.setTimelineState({isPlaying:!1}),o=-1,(0,iP.resetGameStateTracking)(n)),!i&&l&&d.advanceAnalysisMetricsToTime&&d.advanceAnalysisMetricsToTime(u),i){let i=Math.floor(10*u);if(i>o){let a=o+1,s=Math.min(i,a+5-1),l="legacy"!==r.engineMode,c=!!r.debug&&!!r.dualRunDiagnostics;for(let r=a;r<=s;r++){let i=r/10,a=e.getState(),o=null;if(l||c||a.advanceAnalysisMetricsToTime){let e=[...a.teamAPlayers.map(e=>({...e,team:"A"})),...a.teamBPlayers.map(e=>({...e,team:"B"})),...(a.teamASubs||[]).map(e=>({...e,team:"A"})),...(a.teamBSubs||[]).map(e=>({...e,team:"B"}))];o=(0,iE.buildSpatialFrame)({currentTime:i,players:e,positionSource:"deterministic",includeOffPitch:!0,includeInvisible:!0})}let s=o;if(s){let e=(0,vT.resolvePlayerContacts)(s,vT.ALWAYS_ON_CONTACT_OPTIONS);
477s=(0,vT.buildResolvedSpatialFrame)(s,e.resolvedByKey)}c&&function(e,t,n,r){let i=t.getState(),a=n.getState();!function(e,t,n=.75){let r=[],i=Math.max(e.length,t.length);e.length!==t.length&&r.push({kind:"count",legacy:e.length,spatial:t.length});for(let a=0;a<i;a+=1){let i=e[a]||null,o=t[a]||null;if(i&&o){if(i.type!==o.type||i.team!==o.team||i.playerId!==o.playerId){r.push({kind:"operation",index:a,legacy:{type:i.type,team:i.team,playerId:i.playerId},spatial:{type:o.type,team:o.team,playerId:o.playerId}});continue}if("add"===i.type){let e=function(e,t){if(!e&&!t)return 0;if(!e||!t)return 1/0;let n=(e.x??0)-(t.x??0),r=(e.z??0)-(t.z??0);return Math.sqrt(n*n+r*r)}(vF(i),vF(o)),t=Math.abs((i.segment?.startTime??0)-(o.segment?.startTime??0)),s=Math.abs((i.segment?.endTime??0)-(o.segment?.endTime??0));(e>n||t>.05||s>.05)&&r.push({kind:"movement",index:a,team:i.team,playerId:i.playerId,endPointDiff:Number(e.toFixed(3)),startDiff:Number(t.toFixed(3)),endDiff:Number(s.toFixed(3))})}}}r.length,e.length,t.length}(vO(e,i,a,"legacy",null),vO(e,i,a,"spatial-v1",r))}(i,t,e,s),(0,iP.processAITick)(i,.1,{aiStore:t,playerStore:e},n,l?s:null),a.advanceAnalysisMetricsToTime&&a.advanceAnalysisMetricsToTime(i,s)}o=s}}}else{let r=t.getState().aiConfig;if(vL(r)&&r.display?.showSetupPreview&&s-l>=250){l=s;let i=d.timeline?.currentTime??0,a=[...(d.teamAPlayers||[]).map(e=>({...e,team:"A"})),...(d.teamBPlayers||[]).map(e=>({...e,team:"B"})),...(d.teamASubs||[]).map(e=>({...e,team:"A"})),...(d.teamBSubs||[]).map(e=>({...e,team:"B"}))],o=(0,iE.buildSpatialFrame)({currentTime:i,players:a,positionSource:"deterministic",includeOffPitch:!0,includeInvisible:!0}),c=(0,vT.resolvePlayerContacts)(o,vT.ALWAYS_ON_CONTACT_OPTIONS);
477for(let a of(o=(0,vT.buildResolvedSpatialFrame)(o,c.resolvedByKey),(0,iP.getAutomatedAITeams)(r)))(0,iP.processTeamTick)(a,i,.1,{aiStore:t,playerStore:e},n,o,{mode:"setup"})}}a=s,i&&(r=requestAnimationFrame(u))};return{start(){i||(i=!0,a=performance.now(),o=-1,c=!1,r=requestAnimationFrame(u))},stop(){i=!1,null!=r&&(cancelAnimationFrame(r),r=null)}}}()).start(),vG}function vG(){(vB=Math.max(0,vB-1))>0||vR&&(vR.stop(),vR=null)}let vW=e=>{let t,n,a,o,s,l,c,u,d,m=(0,i.c)(9),{type:p}=e;return m[0]===Symbol.for("react.memo_cache_sentinel")?(t=(0,r.jsx)("svg",{viewBox:"0 0 24 24",width:"18",height:"18",fill:"currentColor",children:(0,r.jsx)("polygon",{points:"12,2 4,22 20,22"})}),m[0]=t):t=m[0],m[1]===Symbol.for("react.memo_cache_sentinel")?(n=(0,r.jsxs)("svg",{viewBox:"0 0 24 24",width:"18",height:"18",stroke:"currentColor",fill:"none",strokeWidth:"2",children:[(0,r.jsx)("line",{x1:"6",y1:"2",x2:"6",y2:"22"}),(0,r.jsx)("line",{x1:"18",y1:"2",x2:"18",y2:"22"}),(0,r.jsx)("line",{x1:"6",y1:"6",x2:"18",y2:"6"}),(0,r.jsx)("line",{x1:"6",y1:"10",x2:"18",y2:"10"}),(0,r.jsx)("line",{x1:"6",y1:"14",x2:"18",y2:"14"}),(0,r.jsx)("line",{x1:"6",y1:"18",x2:"18",y2:"18"})]}),m[1]=n):n=m[1],m[2]===Symbol.for("react.memo_cache_sentinel")?(a=(0,r.jsxs)("svg",{viewBox:"0 0 24 24",width:"18",height:"18",fill:"currentColor",children:[(0,r.jsx)("circle",{cx:"12",cy:"4",r:"3"}),(0,r.jsx)("rect",{x:"9",y:"8",width:"6",height:"14",rx:"1"})]}),m[2]=a):a=m[2],m[3]===Symbol.for("react.memo_cache_sentinel")?(o=(0,r.jsx)("svg",{viewBox:"0 0 24 24",width:"18",height:"18",stroke:"currentColor",fill:"none",strokeWidth:"3",children:(0,r.jsx)("line",{x1:"12",y1:"2",x2:"12",y2:"22"})}),m[3]=o):o=m[3],m[4]===Symbol.for("react.memo_cache_sentinel")?(s=(0,r.jsxs)("svg",{viewBox:"0 0 24 24",width:"18",height:"18",stroke:"currentColor",fill:"none",strokeWidth:"2",children:[(0,r.jsx)("line",{x1:"4",y1:"22",x2:"4",y2:"10"}),(0,r.jsx)("line",{x1:"20",y1:"22",x2:"20",y2:"10"}),(0,r.jsx)("line",{x1:"3",y1:"10",x2:"21",y2:"10"})]}),m[4]=s):s=m[4],m[5]===Symbol.for("react.memo_cache_sentinel")?(l=(0,r.jsxs)("svg",{viewBox:"0 0 24 24",width:"18",height:"18",stroke:"currentColor",fill:"none",strokeWidth:"2",children:[(0,r.jsx)("rect",{x:"3",y:"6",width:"18",height:"14",rx:"1"}),(0,r.jsx)("line",{x1:"3",y1:"6",x2:"21",y2:"6",strokeWidth:"3"})]}),m[5]=l):l=m[5],m[6]===Symbol.for("react.memo_cache_sentinel")?(c=(0,r.jsxs)("svg",{viewBox:"0 0 24 24",width:"18",height:"18",stroke:"currentColor",fill:"none",strokeWidth:"2.5",children:[(0,r.jsx)("line",{x1:"6",y1:"4",x2:"6",y2:"22"}),(0,r.jsx)("line",{x1:"18",y1:"4",x2:"18",y2:"22"})]}),m[6]=c):c=m[6],m[7]===Symbol.for("react.memo_cache_sentinel")?(u=(0,r.jsxs)("svg",{viewBox:"0 0 24 24",width:"18",height:"18",stroke:"currentColor",fill:"none",strokeWidth:"2",children:[(0,r.jsx)("rect",{x:"3",y:"4",width:"18",height:"12",rx:"1"}),(0,r.jsx)("line",{x1:"6",y1:"16",x2:"4",y2:"22"}),(0,r.jsx)("line",{x1:"18",y1:"16",x2:"20",y2:"22"})]}),m[7]=u):u=m[7],m[8]===Symbol.for("react.memo_cache_sentinel")?(d={cone:t,ladder:n,mannequin:a,pole:o,hurdle:s,miniGoal:l,gate:c,rebounder:u,ring:(0,r.jsx)("svg",{viewBox:"0 0 24 24",width:"18",height:"18",stroke:"currentColor",fill:"none",strokeWidth:"2.5",children:(0,r.jsx)("circle",{cx:"12",cy:"12",r:"8"})})},m[8]=d):d=m[8],d[p]||null},vH=["#ff8800","#facc15","#2563eb","#ef4444","#22c55e","#ffffff","#ec4899","#111111"],vV=["cone","ladder","mannequin","pole","hurdle","miniGoal","gate","rebounder","ring"];function vq(e){let t,n,a,o,s=(0,i.c)(14),{label:l,value:c,valueLabel:u,min:d,max:m,step:p,onChange:h}=e,f=void 0===p?1:p;return s[0]!==l?(t=(0,r.jsx)("span",{className:"text-[9px] text-white/50",children:l}),s[0]=l,s[1]=t):t=s[1],s[2]!==m||s[3]!==d||s[4]!==h||s[5]!==f||s[6]!==c?(n=(0,r.jsx)("input",{type:"range",min:d,max:m,step:f,value:c,onChange:h,className:"block w-full min-w-0 h-1 accent-emerald-500"}),s[2]=m,s[3]=d,s[4]=h,s[5]=f,s[6]=c,s[7]=n):n=s[7],s[8]!==u?(a=(0,r.jsx)("span",{className:"text-[9px] text-white/50 text-right",children:u}),s[8]=u,s[9]=a):a=s[9],s[10]!==t||s[11]!==n||s[12]!==a?(o=(0,r.jsxs)("div",{className:"grid grid-cols-[48px_minmax(0,1fr)_34px] items-center gap-2",children:[t,n,a]}),s[10]=t,s[11]=n,s[12]=a,s[13]=o):o=s[13],o}function vK(e){let t,n,a=(0,i.c)(4),{onClick:o,title:s}=e;return a[0]===Symbol.for("react.memo_cache_sentinel")?(t=(0,r.jsxs)("svg",{width:"10",height:"10",viewBox:"0 0 10 10",fill:"none",stroke:"currentColor",strokeWidth:"1.5","aria-hidden":"true",children:[(0,r.jsx)("line",{x1:"1",y1:"1",x2:"9",y2:"9"}),(0,r.jsx)("line",{x1:"9",y1:"1",x2:"1",y2:"9"})]}),a[0]=t):t=a[0],a[1]!==o||a[2]!==s?(n=(0,r.jsx)("button",{onClick:o,className:"flex h-5 w-5 shrink-0 items-center justify-center rounded text-white/35 transition-colors hover:bg-white/10 hover:text-white/75",title:s,"aria-label":s,children:t}),a[1]=o,a[2]=s,a[3]=n):n=a[3],n}function vJ(){let e=(0,l.useUIStore)(e=>e.isTrainingMenuOpen),t=(0,l.useUIStore)(e=>e.trainingPinned),n=(0,l.useUIStore)(e=>e.trainingPos),i=(0,l.useUIStore)(e=>e.setTrainingPinned),o=(0,l.useUIStore)(e=>e.setTrainingPos),s=(0,l.useUIStore)(e=>e.closeTrainingMenu),c=(0,p.useTrainingStore)(e=>e.placementType),u=(0,p.useTrainingStore)(e=>e.setPlacementType),d=(0,p.useTrainingStore)(e=>e.cancelPlacement),m=(0,p.useTrainingStore)(e=>e.defaultColor),h=(0,p.useTrainingStore)(e=>e.setDefaultColor),f=(0,p.useTrainingStore)(e=>e.snapEnabled),g=(0,p.useTrainingStore)(e=>e.toggleSnap),b=(0,p.useTrainingStore)(e=>e.snapSize),v=(0,p.useTrainingStore)(e=>e.setSnapSize),w=(0,p.useTrainingStore)(e=>e.selectedEquipmentId),_=(0,p.useTrainingStore)(e=>e.equipment),k=(0,p.useTrainingStore)(e=>e.equipmentGroups),S=(0,p.useTrainingStore)(e=>e.editingEquipmentTarget),j=(0,p.useTrainingStore)(e=>e.updateEquipment),$=(0,p.useTrainingStore)(e=>e.removeEquipment),I=(0,p.useTrainingStore)(e=>e.duplicateEquipment),C=(0,p.useTrainingStore)(e=>e.editEquipmentGroup),N=(0,p.useTrainingStore)(e=>e.removeEquipmentGroup),T=(0,p.useTrainingStore)(e=>e.applyEquipmentGroupTransform),A=(0,p.useTrainingStore)(e=>e.clearAllEquipment),P=(0,p.useTrainingStore)(e=>e.clearSelectedEquipment),E=(0,p.useTrainingStore)(e=>e.clearEditingEquipmentTarget),D=(0,p.useTrainingStore)(e=>e.batchShape),M=(0,p.useTrainingStore)(e=>e.setBatchShape),[z,F]=(0,a.useState)({id:null,rotationDeg:0,scale:1}),O=(0,a.useMemo)(()=>_.find(e=>e.id===w),[_,w]),L=S||(O?{type:"equipment",id:O.id}:null),R=L?.type==="equipment"?_.find(e=>e.id===L.id):null,B=R?.groupId?k.find(e=>e.id===R.groupId):null,U=L?.type==="group"?k.find(e=>e.id===L.id):null,Z=U?_.filter(e=>e.groupId===U.id):[],G=z.id===U?.id?z:{id:U?.id||null,rotationDeg:0,scale:1};(0,a.useEffect)(()=>{F({id:U?.id||null,rotationDeg:0,scale:1})},[U?.id]);let W=(0,a.useCallback)(e=>{c===e?d():u(e)},[c,d,u]),H=(0,a.useCallback)(e=>{if(!R?.id)return;let t=parseFloat(e.target.value)*Math.PI/180;j(R.id,{rotation:[0,t,0]})},[R?.id,j]),V=(0,a.useCallback)(e=>{R?.id&&j(R.id,{scale:parseFloat(e.target.value)})},[R?.id,j]),q=(0,a.useCallback)(e=>{h(e)},[h]),K=(0,a.useCallback)(e=>{R?.id&&j(R.id,{color:e})},[R?.id,j]),J=(0,a.useCallback)(()=>{R?.groupId&&C(R.groupId)},[C,R?.groupId]),X=(0,a.useCallback)(e=>{U?.id&&T(U.id,{color:e})},[T,U?.id]),Y=(0,a.useCallback)(e=>{if(!U?.id)return;let t=Number(e.target.value),n=(t-(G.rotationDeg||0))*Math.PI/180;T(U.id,{rotationDelta:n}),F({...G,id:U.id,rotationDeg:t})},[G,T,U?.id]),Q=(0,a.useCallback)(e=>{if(!U?.id)return;let t=Number(e.target.value),n=G.scale||1;T(U.id,{scaleRatio:t/n}),F({...G,id:U.id,scale:t})},[G,T,U?.id]),ee=(0,a.useCallback)(()=>{E(),P()},[E,P]);if(!e)return null;let et=R?Math.round(180*(R.rotation?.[1]||0)/Math.PI):0,en=R?.scale||1,er=!!(R||U);return(0,r.jsx)(y.default,{title:"Training Equipment",initialOffset:n,allowOverflow:!0,isPinned:t,onPinToggle:()=>i(!t),onPositionChange:o,headerEnd:(0,r.jsx)("button",{onClick:s,className:"text-white/30 hover:text-white/80 transition-colors",onPointerDown:e=>e.stopPropagation(),children:(0,r.jsxs)("svg",{width:"10",height:"10",viewBox:"0 0 10 10",fill:"none",stroke:"currentColor",strokeWidth:"1.5",children:[(0,r.jsx)("line",{x1:"1",y1:"1",x2:"9",y2:"9"}),(0,r.jsx)("line",{x1:"9",y1:"1",x2:"1",y2:"9"})]})}),children:(0,r.jsxs)("div",{className:"flex items-stretch","data-training-equipment-layout":"side-editor",children:[(0,r.jsxs)("div",{className:"p-3 flex w-[210px] shrink-0 flex-col gap-3",children:[(0,r.jsxs)("div",{children:[(0,r.jsx)("div",{className:"text-[9px] uppercase tracking-wider opacity-50 mb-1.5",children:"Place Equipment"}),(0,r.jsx)("div",{className:"grid grid-cols-3 gap-1.5",children:vV.map(e=>(0,r.jsxs)("button",{onClick:()=>W(e),className:`flex flex-col items-center justify-center gap-0.5 p-1.5 rounded-lg transition-all text-[9px]
478                                    ${c===e?"bg-emerald-600/60 border border-emerald-400/60 text-white shadow-lg shadow-emerald-500/20":"bg-white/5 border border-white/5 text-white/70 hover:bg-white/10 hover:text-white"}`,title:`Place ${x[e]}`,children:[(0,r.jsx)(vW,{type:e}),(0,r.jsx)("span",{className:"leading-none",children:x[e]})]},e))}),c&&(0,r.jsxs)("div",{className:"mt-1.5",children:[(0,r.jsx)("div",{className:"text-[9px] uppercase tracking-wider opacity-50 mb-1",children:"Shape"}),(0,r.jsx)("div",{className:"flex gap-1",children:[{key:"line",label:"Line",icon:(0,r.jsx)("svg",{viewBox:"0 0 16 16",width:"12",height:"12",stroke:"currentColor",fill:"none",strokeWidth:"2",children:(0,r.jsx)("line",{x1:"2",y1:"14",x2:"14",y2:"2"})})},{key:"circle",label:"Circle",icon:(0,r.jsx)("svg",{viewBox:"0 0 16 16",width:"12",height:"12",stroke:"currentColor",fill:"none",strokeWidth:"1.5",children:(0,r.jsx)("circle",{cx:"8",cy:"8",r:"6"})})},{key:"rectangle",label:"Rect",icon:(0,r.jsx)("svg",{viewBox:"0 0 16 16",width:"12",height:"12",stroke:"currentColor",fill:"none",strokeWidth:"1.5",children:(0,r.jsx)("rect",{x:"2",y:"3",width:"12",height:"10"})})}].map(({key:e,label:t,icon:n})=>(0,r.jsxs)("button",{onClick:()=>M(e),className:`flex items-center gap-1 px-2 py-1 rounded text-[9px] transition-all
479                                            ${D===e?"bg-emerald-600/50 border border-emerald-400/50 text-white":"bg-white/5 border border-white/5 text-white/60 hover:bg-white/10 hover:text-white"}`,children:[n,t]},e))}),(0,r.jsxs)("div",{className:"mt-1 text-[9px] text-emerald-400 text-center opacity-80",children:["line"===D&&"Drag to place a line of items.","circle"===D&&"Drag to set diameter.","rectangle"===D&&"Drag to opposite corner."]})]})]}),(0,r.jsxs)("div",{children:[(0,r.jsx)("div",{className:"text-[9px] uppercase tracking-wider opacity-50 mb-1.5",children:"Color"}),(0,r.jsxs)("div",{className:"flex items-center gap-2",children:[(0,r.jsx)(eN.default,{value:m,onChange:q,size:"md",presets:vH,ariaLabel:"Cho
479ose training equipment color",title:"Custom color"}),(0,r.jsx)("span",{className:"text-[10px] font-mono text-white/45",children:m})]})]}),(0,r.jsxs)("div",{className:"flex items-center gap-2",children:[(0,r.jsxs)("button",{onClick:g,className:`flex items-center gap-1.5 text-[10px] transition-colors ${f?"text-emerald-400":"text-white/50 hover:text-white/80"}`,children:[(0,r.jsx)("div",{className:`w-3 h-3 rounded border flex items-center justify-center ${f?"bg-emerald-600 border-emerald-400":"border-white/30"}`,children:f&&(0,r.jsx)("svg",{width:"8",height:"8",viewBox:"0 0 10 10",fill:"none",stroke:"currentColor",strokeWidth:"2",children:(0,r.jsx)("polyline",{points:"2,5 4,8 8,2"})})}),"Snap to grid"]}),f&&(0,r.jsxs)("select",{value:b,onChange:e=>v(Number(e.target.value)),className:"bg-white/10 text-[10px] text-white rounded px-1.5 py-0.5 border border-white/10 outline-none",children:[(0,r.jsx)("option",{value:1,children:"1m"}),(0,r.jsx)("option",{value:2,children:"2m"}),(0,r.jsx)("option",{value:5,children:"5m"})]})]}),(0,r.jsx)("div",{className:"border-t border-white/10 pt-2",children:(0,r.jsx)("button",{onClick:A,className:"w-full text-[9px] px-2 py-1.5 rounded bg-white/5 hover:bg-red-600/30 text-white/50 hover:text-red-300 transition-colors",title:"Remove all equipment",children:"Clear All"})}),_.length>0&&(0,r.jsxs)("div",{className:"text-[9px] text-white/30 text-center",children:[_.length," item",1!==_.length?"s":""," on pitch"]})]}),er&&(0,r.jsxs)("div",{className:"w-[198px] shrink-0 border-l border-white/10 bg-black/10 p-3","data-training-equipment-edit-panel":"true",children:[R&&(0,r.jsxs)("div",{className:"flex min-w-0 flex-col gap-3","data-training-equipment-editor":"equipment",children:[(0,r.jsxs)("div",{className:"flex items-start justify-between gap-2",children:[(0,r.jsxs)("div",{className:"min-w-0",children:[(0,r.jsx)("div",{className:"text-[9px] uppercase tracking-wider text-white/35",children:"Edit Equipment"}),(0,r.jsx)("div",{className:"truncate text-[11px] font-semibold text-white/85",children:x[R.type]||R.type})]}),(0,r.jsx)(vK,{onClick:ee,title:"Close equipment editor"})]}),(0,r.jsxs)("div",{children:[(0,r.jsx)("div",{className:"mb-1.5 text-[9px] uppercase tracking-wider text-white/35",children:"Color"}),(0,r.jsx)(eN.default,{value:R.color||m,onChange:K,size:"sm",presets:vH,ariaLabel:"Choose selected equipment color",title:"Selected equipment color"})]}),R.groupId&&(0,r.jsxs)("div",{className:"flex min-w-0 items-center justify-between gap-2 rounded border border-white/10 bg-white/5 px-2 py-1.5",children:[(0,r.jsxs)("div",{className:"min-w-0",children:[(0,r.jsx)("div",{className:"text-[9px] uppercase tracking-wider text-white/35",children:"Group"}),(0,r.jsx)("div",{className:"truncate text-[10px] text-white/75",children:B?.name||"Equipment Group"})]}),(0,r.jsx)("button",{onClick:J,className:"shrink-0 rounded bg-emerald-600/35 px-2 py-1 text-[9px] text-emerald-100 transition-colors hover:bg-emerald-600/55",title:"Edit equipment group","data-training-equipment-edit-group-from-item":"true",children:"Edit Group"})]}),(0,r.jsxs)("div",{className:"flex min-w-0 flex-col gap-2",children:[(0,r.jsx)(vq,{label:"Rotation",min:"0",max:"360",value:et,valueLabel:`${et}\xb0`,onChange:H}),(0,r.jsx)(vq,{label:"Scale",min:"0.5",max:"3",step:"0.1",value:en,valueLabel:`${en.toFixed(1)}x`,onChange:V})]}),(0,r.jsxs)("div",{className:"flex gap-1.5 border-t border-white/10 pt-2",children:[(0,r.jsx)("button",{onClick:()=>I(R.id),className:"flex-1 rounded bg-white/10 px-2 py-1 text-[9px] text-white/80 transition-colors hover:bg-white/20",children:"Duplicate"}),(0,r.jsx)("button",{onClick:()=>$(R.id),className:"flex-1 rounded bg-red-600/30 px-2 py-1 text-[9px] text-red-300 transition-colors hover:bg-red-600/50",children:"Delete"})]})]}),U&&(0,r.jsxs)("div",{className:"flex min-w-0 flex-col gap-3","data-training-equipment-editor":"group",children:[(0,r.jsxs)("div",{className:"flex items-start justify-between gap-2",children:[(0,r.jsxs)("div",{className:"min-w-0",children:[(0,r.jsx)("div",{className:"text-[9px] uppercase tracking-wider text-white/35",children:"Edit Group"}),(0,r.jsx)("div",{className:"truncate text-[11px] font-semibold text-white/85",children:U.name||"Equipment Group"}),(0,r.jsxs)("div",{className:"mt-0.5 text-[9px] text-white/35",children:[Z.length," item",1!==Z.length?"s":""]})]}),(0,r.jsx)(vK,{onClick:ee,title:"Close group editor"})]}),(0,r.jsxs)("div",{children:[(0,r.jsx)("div",{className:"mb-1.5 text-[9px] uppercase tracking-wider text-white/35",children:"Color"}),(0,r.jsx)(eN.default,{value:Z[0]?.color||m,onChange:X,size:"sm",presets:vH,ariaLabel:"Cho
479ose group equipment color",title:"Group equipment color"})]}),(0,r.jsxs)("div",{className:"flex min-w-0 flex-col gap-2",children:[(0,r.jsx)(vq,{label:"Rotation",min:"-180",max:"180",value:G.rotationDeg,valueLabel:`${G.rotationDeg}\xb0`,onChange:Y}),(0,r.jsx)(vq,{label:"Scale",min:"0.5",max:"3",step:"0.1",value:G.scale,valueLabel:`${G.scale.toFixed(1)}x`,onChange:Q})]}),(0,r.jsx)("div",{className:"border-t border-white/10 pt-2",children:(0,r.jsx)("button",{onClick:()=>N(U.id),className:"w-full rounded bg-red-600/30 px-2 py-1 text-[9px] text-red-300 transition-colors hover:bg-red-600/50",children:"Delete Group"})})]})]})]})})}var vX=e.i(487662);function vY(){let e,t=(0,i.c)(1);return t[0]===Symbol.for("react.memo_cache_sentinel")?(e=(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(vU,{}),(0,r.jsx)(vX.default,{}),(0,r.jsx)(vJ,{}),(0,r.jsx)(ol,{}),(0,r.jsx)(vt,{}),(0,r.jsx)(vI,{})]}),t[0]=e):e=t[0],e}function vQ(e){return(0,oS.GenIcon)({tag:"svg",attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"m289.94 256 95-95A24 24 0 0 0 351 127l-95 95-95-95a24 24 0 0 0-34 34l95 95-95 95a24 24 0 1 0 34 34l95-95 95 95a24 24 0 0 0 34-34z"},child:[]}]})(e)}function v0(e){return(0,oS.GenIcon)({tag:"svg",attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M432 448a15.92 15.92 0 0 1-11.31-4.69l-352-352a16 16 0 0 1 22.62-22.62l352 352A16 16 0 0 1 432 448zM248 315.85l-51.79-51.79a2 2 0 0 0-3.39 1.69 64.11 64.11 0 0 0 53.49 53.49 2 2 0 0 0 1.69-3.39zm16-119.7L315.87 248a2 2 0 0 0 3.4-1.69 64.13 64.13 0 0 0-53.55-53.55 2 2 0 0 0-1.72 3.39z"},child:[]},{tag:"path",attr:{d:"M491 273.36a32.2 32.2 0 0 0-.1-34.76c-26.46-40.92-60.79-75.68-99.27-100.53C349 110.55 302 96 255.68 96a226.54 226.54 0 0 0-71.82 11.79 4 4 0 0 0-1.56 6.63l47.24 47.24a4 4 0 0 0 3.82 1.05 96 96 0 0 1 116 116 4 4 0 0 0 1.05 3.81l67.95 68a4 4 0 0 0 5.4.24 343.81 343.81 0 0 0 67.24-77.4zM256 352a96 96 0 0 1-93.3-118.63 4 4 0 0 0-1.05-3.81l-66.84-66.87a4 4 0 0 0-5.41-.23c-24.39 20.81-47 46.13-67.67 75.72a31.92 31.92 0 0 0-.64 35.54c26.41 41.33 60.39 76.14 98.28 100.65C162.06 402 207.92 416 255.68 416a238.22 238.22 0 0 0 72.64-11.55 4 4 0 0 0 1.61-6.64l-47.47-47.46a4 4 0 0 0-3.81-1.05A96 96 0 0 1 256 352z"},child:[]}]})(e)}function v1(e){return(0,oS.GenIcon)({tag:"svg",attr:{viewBox:"0 0 512 512"},child:[{tag:"circle",attr:{cx:"256",cy:"256",r:"64"},child:[]},{tag:"path",attr:{d:"M490.84 238.6c-26.46-40.92-60.79-75.68-99.27-100.53C349 110.55 302 96 255.66 96c-42.52 0-84.33 12.15-124.27 36.11-40.73 24.43-77.63 60.12-109.68 106.07a31.92 31.92 0 0 0-.64 35.54c26.41 41.33 60.4 76.14 98.28 100.65C162 402 207.9 416 255.66 416c46.71 0 93.81-14.43 136.2-41.72 38.46-24.77 72.72-59.66 99.08-100.92a32.2 32.2 0 0 0-.1-34.76zM256 352a96 96 0 1 1 96-96 96.11 96.11 0 0 1-96 96z"},child:[]}]})(e)}function v2(e){return(0,oS.GenIcon)({tag:"svg",attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M256 48C141.31 48 48 141.31 48 256s93.31 208 208 208 208-93.31 208-208S370.69 48 256 48zm143 304h-45.22a8 8 0 0 1-6.91-4l-16.14-27.68a8 8 0 0 1-.86-6l14.86-59.92a8 8 0 0 1 4.65-5.45l28.1-11.9a8 8 0 0 1 8.34 1.3l41.63 35.82a8 8 0 0 1 2.69 7.26 174.75 174.75 0 0 1-24.28 66.68A8 8 0 0 1 399 352zM134.52 237.13l28.1 11.9a8 8 0 0 1 4.65 5.45l14.86 59.92a8 8 0 0 1-.86 6L165.13 348a8 8 0 0 1-6.91 4H113a8 8 0 0 1-6.82-3.81 174.75 174.75 0 0 1-24.28-66.68 8 8 0 0 1 2.69-7.26l41.63-35.82a8 8 0 0 1 8.3-1.3zm256.94-87.24-18.07 51.38A8 8 0 0 1 369 206l-29.58 12.53a8 8 0 0 1-8.26-1.24L274.9 170.1a8 8 0 0 1-2.9-6.1v-33.58a8 8 0 0 1 3.56-6.65l42.83-28.54a8 8 0 0 1 7.66-.67A176.92 176.92 0 0 1 390 142a8 8 0 0 1 1.46 7.89zM193.6 95.23l42.84 28.54a8 8 0 0 1 3.56 6.65V164a8 8 0 0 1-2.86 6.13l-56.26 47.19a8 8 0 0 1-8.26 1.24L143 206a8 8 0 0 1-4.43-4.72L120.5 149.9a8 8 0 0 1 1.5-7.9 176.92 176.92 0 0 1 64-47.48 8 8 0 0 1 7.6.71zm17.31 327.46L191.18 373a8 8 0 0 1 .52-7l15.17-26a8 8 0 0 1 6.91-4h84.44a8 8 0 0 1 6.91 4l15.18 26a8 8 0 0 1 .53 7l-19.59 49.67a8 8 0 0 1-5.69 4.87 176.58 176.58 0 0 1-79 0 8 8 0 0 1-5.65-4.85z"},child:[]}]})(e)}function v5(e){return(0,oS.GenIcon)({tag:"svg",attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{fill:"none",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"48",d:"M200.66 352H144a96 96 0 0 1 0-192h55.41m113.18 0H368a96 96 0 0 1 0 192h-56.66m-142.27-96h175.86"},child:[]}]})(e)}function v4(e){return(0,oS.GenIcon)({tag:"svg",attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M332.64 64.58C313.18 43.57 286 32 256 32c-30.16 0-57.43 11.5-76.8 32.38-19.58 21.11-29.12 49.8-26.88 80.78C156.76 206.28 203.27 256 256 256s99.16-49.71 103.67-110.82c2.27-30.7-7.33-59.33-27.03-80.6zM432 480H80a31 31 0 0 1-24.2-11.13c-6.5-7.77-9.12-18.38-7.18-29.11C57.06 392.94 83.4 353.61 124.8 326c36.78-24.51 83.37-38 131.2-38s94.42 13.5 131.2 38c41.4 27.6 67.74 66.93 76.18 113.75 1.94 10.73-.68 21.34-7.18 29.11A31 31 0 0 1 432 480z"},child:[]}]})(e)}var v3=e.i(497058);let v6=e=>{let t,n,a,o=(0,i.c)(10),{icon:s,label:l,onClick:c,disabled:u,danger:d}=e,m=`
480      w-full flex items-center gap-2.5 px-3 py-1.5 text-left transition-colors
481      ${u?"opacity-30 cursor-not-allowed":d?"hover:bg-red-500/20 text-red-400":"hover:bg-white/10"}
482    `;return o[0]!==s?(t=s&&(0,r.jsx)(s,{className:"w-3 h-3 flex-shrink-0 opacity-60"}),o[0]=s,o[1]=t):t=o[1],o[2]!==l?(n=(0,r.jsx)("span",{className:"text-[11px]",children:l}),o[2]=l,o[3]=n):n=o[3],o[4]!==u||o[5]!==c||o[6]!==m||o[7]!==t||o[8]!==n?(a=(0,r.jsxs)("button",{onClick:c,disabled:u,className:m,children:[t,n]}),o[4]=u,o[5]=c,o[6]=m,o[7]=t,o[8]=n,o[9]=a):a=o[9],a},v8=e=>{let t,n,a,o,s=(0,i.c)(11),{label:l,checked:c,onChange:u}=e,d=`w-3 h-3 rounded-sm border flex-shrink-0 flex items-center justify-center transition-colors
483      ${c?"bg-blue-500 border-blue-400":"border-white/30 bg-transparent"}`;return s[0]!==c?(t=c&&(0,r.jsx)("span",{className:"text-[8px] text-white font-bold",children:"✓"}),s[0]=c,s[1]=t):t=s[1],s[2]!==d||s[3]!==t?(n=(0,r.jsx)("div",{className:d,children:t}),s[2]=d,s[3]=t,s[4]=n):n=s[4],s[5]!==l?(a=(0,r.jsx)("span",{className:"text-[11px]",children:l}),s[5]=l,s[6]=a):a=s[6],s[7]!==u||s[8]!==n||s[9]!==a?(o=(0,r.jsxs)("button",{onClick:u,className:"w-full flex items-center gap-2.5 px-3 py-1.5 text-left transition-colors hover:bg-white/10",children:[n,a]}),s[7]=u,s[8]=n,s[9]=a,s[10]=o):o=s[10],o},v9=()=>{let e,t=(0,i.c)(1);return t[0]===Symbol.for("react.memo_cache_sentinel")?(e=(0,r.jsx)("div",{className:"h-px bg-white/10 my-1 mx-2"}),t[0]=e):e=t[0],e},v7=e=>{let t,n,o,s,l,c,u,d,m,p,h=(0,i.c)(29),{icon:f,label:g,disabled:x,alignBottom:b,alignToItem:y,submenuWidth:v,children:w}=e,_=void 0!==y&&y,k=void 0===v?150:v,[S,j]=(0,a.useState)(!1),[$,I]=(0,a.useState)(!1),[C,N]=(0,a.useState)(0),T=(0,a.useRef)(null),A=(0,a.useRef)(null);h[0]!==b||h[1]!==_||h[2]!==w||h[3]!==x||h[4]!==k?(t=()=>{if(!x){if(clearTimeout(A.current),T.current){let e,t=T.current.getBoundingClientRect(),n=T.current.parentElement.getBoundingClientRect();I(t.right+k>window.innerWidth);let r=Math.max(120,28*(Array.isArray(w)?w.length:1)+12);e=b?n.bottom-t.top-r:_?0:n.top-t.top,t.top+e+r>window.innerHeight-10&&(e=window.innerHeight-10-r-t.top),t.top+e<10&&(e=10-t.top),N(e)}j(!0)}},h[0]=b,h[1]=_,h[2]=w,h[3]=x,h[4]=k,h[5]=t):t=h[5];let P=t;h[6]===Symbol.for("react.memo_cache_sentinel")?(n=()=>{A.current=setTimeout(()=>j(!1),150)},h[6]=n):n=h[6];let E=n;h[7]===Symbol.for("react.memo_cache_sentinel")?(o=()=>()=>clearTimeout(A.current),s=[],h[7]=o,h[8]=s):(o=h[7],s=h[8]),(0,a.useEffect)(o,s);let D=`
484          w-full flex items-center gap-2.5 px-3 py-1.5 text-left transition-colors cursor-default
485          ${x?"opacity-30 cursor-not-allowed":"hover:bg-white/10"}
486        `;return h[9]!==f?(l=f&&(0,r.jsx)(f,{className:"w-3 h-3 flex-shrink-0 opacity-60"}),h[9]=f,h[10]=l):l=h[10],h[11]!==g?(c=(0,r.jsx)("div",{className:"text-[11px] flex-1 min-w-0",children:g}),h[11]=g,h[12]=c):c=h[12],h[13]===Symbol.for("react.memo_cache_sentinel")?(u=(0,r.jsx)("span",{className:"text-[9px] opacity-40 ml-1",children:"▸"}),h[13]=u):u=h[13],h[14]!==D||h[15]!==l||h[16]!==c?(d=(0,r.jsxs)("div",{className:D,children:[l,c,u]}),h[14]=D,h[15]=l,h[16]=c,h[17]=d):d=h[17],h[18]!==w||h[19]!==x||h[20]!==S||h[21]!==$||h[22]!==k||h[23]!==C?(m=S&&!x&&(0,r.jsx)(oC.motion.div,{initial:{opacity:0,x:$?4:-4},animate:{opacity:1,x:0},transition:{duration:.1},style:{top:`${C}px`,minWidth:`${k}px`},className:`absolute py-1.5 bg-gray-900/50 backdrop-blur-xl
487            text-white rounded-lg shadow-2xl border border-white/10 z-[10000]
488            ${$?"right-full mr-0.5":"left-full ml-0.5"}`,children:w}),h[18]=w,h[19]=x,h[20]=S,h[21]=$,h[22]=k,h[23]=C,h[24]=m):m=h[24],h[25]!==P||h[26]!==d||h[27]!==m?(p=(0,r.jsxs)("div",{ref:T,className:"relative",onMouseEnter:P,onMouseLeave:E,children:[d,m]}),h[25]=P,h[26]=d,h[27]=m,h[28]=p):p=h[28],p};function we(e){let t,n,o,c,d,m,p,h,f,g,x,b,y,v,w,_,k,S,j,$,I,C,N,T,A,P,E,D,M,z,F,O,L,R,B,U,Z,G,W,H,V,q,K,J,X,Y,Q,ee,et,en,er,ei,ea,eo,es,el,ec,eu,ed,em,ep,eh,ef,eg,ex,eb,ey,ev,ew,e_,ek,eS,ej,e$,eI,eC,eN,eT,eA,eP,eE,eD,eM,ez,eF,eO,eL,eR,eB,eU,eZ,eG,eW,eH,eV,eq,eK,eJ,eX,eY,eQ,e0,e1,e2,e4,e3=(0,i.c)(328),{position:e6,player:e8,team:e9,onClose:e7,selectedCount:te}=e,tt=void 0===te?1:te,tn=(0,a.useRef)(null),tr=(0,s.usePlayerStore)(wV),ti=(0,s.usePlayerStore)(wH),ta=(0,s.usePlayerStore)(wW),to=(0,s.usePlayerStore)(wG),ts=(0,s.usePlayerStore)(wZ),tl=(0,s.usePlayerStore)(wU),tc=(0,s.usePlayerStore)(wB),tu=(0,s.usePlayerStore)(wR),td=(0,s.usePlayerStore)(wL),tm=(0,s.usePlayerStore)(wO),tp=(0,s.usePlayerStore)(wF),th=(0,s.usePlayerStore)(wz),tf=(0,s.usePlayerStore)(wM),tg=(0,s.usePlayerStore)(wD),tx=(0,s.usePlayerStore)(wE),tb=(0,s.usePlayerStore)(wP),ty=(0,s.usePlayerStore)(wA),tv=(0,s.usePlayerStore)(wT),tw=(0,s.usePlayerStore)(wN),t_=(0,s.usePlayerStore)(wC),tk=(0,s.usePlayerStore)(wI),tS=(0,s.usePlayerStore)(w$),tj=(0,s.usePlayerStore)(wj),t$=(0,s.usePlayerStore)(wS),tI=(0,s.usePlayerStore)(wk),tC=(0,s.usePlayerStore)(w_),tN=(0,s.usePlayerStore)(ww),tT=(0,s.usePlayerStore)(wv),tA=(0,s.usePlayerStore)(wy),tP=(0,s.usePlayerStore)(wb),tE=(0,s.usePlayerStore)(wx),tD=(0,s.usePlayerStore)(wg),tM=(0,l.useUIStore)(wf),tz=(0,l.useUIStore)(wh),tF=(0,l.useUIStore)(wp),tO=(0,l.useUIStore)(wm),tL=(0,l.useUIStore)(wd),tR=(0,l.useUIStore)(wu),tB=(0,l.useUIStore)(wc),tU=e8?.hasBall||!1,tZ=tt>1?th.map(e=>{let t=(0,u.findPlayer)({teamAPlayers:tf,teamASubs:tg,teamBPlayers:tx,teamBSubs:tb},e.id,e.team);return{number:t?.number||"?",team:e.team}}):[],tG="A"===e9?tf:tx,tW=tG?.find(e=>e.id===e8?.id),tH=tt>1?th.map(e=>{let t="A"===e.team?tf:tx;return t?.find(t=>
488t.id===e.id)}).filter(Boolean):[],tV={teamAPlayers:tf,teamASubs:tg,teamBPlayers:tx,teamBSubs:tb},tq=[...tf.map(wl),...tg.map(ws),...tx.map(wo),...tb.map(wa)],tK=1===tt&&e8?.id?tw.filter(e=>e.playerIds.includes(e8.id)):[],tJ=1===tt&&e8?.id?t_.filter(e=>e.playerIds.includes(e8.id)):[],tX=1===tt&&tW?.marking?.active?tW.marking:null,tY=1===tt&&e8?.id?tq.filter(e=>e.marking?.active&&e.marking?.targetId===e8.id):[],tQ=[];if(tK.forEach((e,t)=>{let n=e.playerIds.filter(e=>e!==e8?.id).map(e=>(0,u.findPlayer)(tV,e)).filter(Boolean);tQ.push({key:`link-${e.id}`,type:"link",id:e.id,color:e.color||"#ffffff",label:`Link ${t+1}`,startTime:e.startTime,endTime:e.endTime,animation:e.animation,relatedPlayers:n.map(wi)})}),tJ.forEach((e,t)=>{let n=(e.playerIds||[]).filter(e=>e!==e8?.id).map(e=>(0,u.findPlayer)(tV,e)).filter(Boolean);tQ.push({key:`zone-${e.id}`,type:"zone",id:e.id,color:e.config?.color||"#ffffff",label:`Zone ${t+1}`,startTime:e.startTime,endTime:e.endTime,animation:e.animation,relatedPlayers:n.map(wr)})}),tX?.type==="zonal")tQ.push({key:`zonal-${e8?.id}`,type:"zonalMarking",playerId:e8?.id,markerTeam:e9,color:"#60a5fa",label:"Zonal Marking",startTime:tX.startTime,endTime:tX.endTime,animation:tX.animation});else if(tX?.targetId){let e=(0,u.findPlayer)(tV,tX.targetId);tQ.push({key:`marking-${e8?.id}-${tX.targetId}`,type:"manMarking",markerId:e8?.id,markerTeam:e9,targetId:tX.targetId,color:"#f59e0b",label:"Marking",startTime:tX.startTime,endTime:tX.endTime,animation:tX.animation,relatedPlayers:e?[{id:e.id,number:e.number,team:e.team}]:[]})}tY.forEach(e=>{tQ.push({key:`marked-by-${e.id}`,type:"markedBy",markerId:e.id,markerTeam:e.team,targetId:e8?.id,color:"A"===e.team?"#3e3eff":"#ff3e3e",label:"Marked By",startTime:e.marking?.startTime,endTime:e.marking?.endTime,animation:e.marking?.animation,relatedPlayers:[{id:e.id,number:e.number,team:e.team}]})});let t0=wn,t1=()=>{let e=Math.max(0,Math.min(tj,tS)),t=Math.min(tj,e+2);return t>e?{startTime:e,endTime:Math.max(e+.1,t)}:{startTime:Math.max(0,tj-2),endTime:tj}},t2=(e,t,n)=>{"link"===e.type?t$(e.id,t,n):"zone"===e.type?tN(e.id,t,n):"zonalMarking"===e.type?tP(e.markerTeam,e.playerId,t,n):("manMarking"===e.type||"markedBy"===e.type)&&tP(e.markerTeam,e.markerId,t,n)},t5=(e,t)=>{"link"===e.type?tC(e.id,t):"zone"===e.type?tA(e.id,t):"zonalMarking"===e.type?tD(e.markerTeam,e.playerId,t):("manMarking"===e.type||"markedBy"===e.type)&&tD(e.markerTeam,e.markerId,t)},t4=(e,t,n)=>{if(!t0(e)){let{startTime:t,endTime:n}=t1();t2(e,t,n)}t5(e,{["in"===t?"entrance":"exit"]:n?"fade":"none",...n?{["in"===t?"entranceDuration":"exitDuration"]:.3}:{}}),e7()},t3=(e,t)=>{let n=void 0===t||t;return tH.every(t=>n?!1!==t[e]:!!t[e])},t6=(e,t)=>{let n=!t3(e,void 0===t||t);tu(th.map(t=>({team:t.team,id:t.id,updates:{[e]:n}})))};e3[0]!==e7?(t=()=>{let e=e=>{tn.current&&!tn.current.contains(e.target)&&e7()},t=e=>{tn.current&&!tn.current.contains(e.target)&&(e.preventDefault(),e7())},n=e=>{"Escape"===e.key&&e7()},r=setTimeout(()=>{document.addEventListener("mousedown",e),document.addEventListener("contextmenu",t),document.addEventListener("keydown",n)},100);return()=>{clearTimeout(r),document.removeEventListener("mousedown",e),document.removeEventListener("contextmenu",t),document.removeEventListener("keydown",n)}},n=[e7],e3[0]=e7,e3[1]=t,e3[2]=n):(t=e3[1],n=e3[2]),(0,a.useEffect)(t,n);let t8={...e6};{let e=300+32*!!(1===tt&&tQ.length>0);e6.x+160>window.innerWidth&&(t8.x=window.innerWidth-160-10),e6.y+e>window.innerHeight&&(t8.y=window.innerHeight-e-10)}e3[3]!==e7||e3[4]!==e8.id||e3[5]!==ti||e3[6]!==e9?(o=()=>{ti(e9,e8.id),e7()},e3[3]=e7,e3[4]=e8.id,e3[5]=ti,e3[6]=e9,e3[7]=o):o=e3[7];let t9=o;e3[8]!==ta||e3[9]!==e7?(c=()=>{ta(),e7()},e3[8]=ta,e3[9]=e7,e3[10]=c):c=e3[10];let t7=c;e3[11]!==tU||e3[12]!==e7||e3[13]!==e8.id||e3[14]!==td||e3[15]!==to||e3[16]!==tp||e3[17]!==e9?(d=e=>{tU&&(td(e9,e8.id),tp({passerId:e8.id,passerTeam:e9,passType:void 0===e?"ground":e}),to("draw_pass")),e7()},e3[11]=tU,e3[12]=e7,e3[13]=e8.id,e3[14]=td,e3[15]=to,e3[16]=tp,e3[17]=e9,e3[18]=d):d=e3[18];let ne=d;e3[19]!==tU||e3[20]!==e7||e3[21]!==e8.id||e3[22]!==td||e3[23]!==to||e3[24]!==tp||e3[25]!==e9?(m=()=>{tU&&(td(e9,e8.id),tp({passerId:e8.id,passerTeam:e9,passType:"shot"}),to("draw_pass")),e7()},e3[19]=tU,e3[20]=e7,e3[21]=e8.id,e3[22]=td,e3[23]=to,e3[24]=tp,e3[25]=e9,e3[26]=m):m=e3[26];let nt=m;e3[27]!==e7||e3[28]!==e8.id||e3[29]!==th||e3[30]!==td||e3[31]!==to||e3[32]!==tl||e3[33]!==ts||e3[34]!==e9?(p=e=>{let t=void 0===e?"linear":e;td(e9,e8.id),tl(th.length>1?th:null),to("draw_movement"),ts({pathType:t,..."bezier"===t?{curveBend:.35}:{}}),e7()},e3[27]=e7,e3[28]=e8.id,e3[29]=th,e3[30]=td,e3[31]=to,e3[32]=tl,e3[33]=ts,e3[34]=e9,e3[35]=p):p=e3[35];let nn=p;e3[36]!==tB||e3[37]!==e7||e3[38]!==tR||e3[39]!==e8.id||e3[40]!==td||e3[41]!==e9?(h=()=>{s.usePlayerStore.setState({activeTeam:e9}),td(e9,e8.id),tB(),tR({team:e9,playerId:e8.id,tab:"details"}),e7()},e3[36]=tB,e3[37]=e7,e3[38]=tR,e3[39]=e8.id,e3[40]=td,e3[41]=e9,e3[42]=h):h=e3[42];let nr=h;e3[43]!==e7||e3[44]!==tM?(f=()=>{tM({isCreating:!0}),e7()},e3[43]=e7,e3[44]=tM,e3[45]=f):f=e3[45];let ni=f;e3[46]!==e7||e3[47]!==tz?(g=()=>{tz({isCreating:!0}),e7()},e3[46]=e7,e3[47]=tz,e3[48]=g):g=e3[48];let na=g;e3[49]!==e7||e3[50]!==tF||e3[51]!==th[0]||e3[52]!==th[1]||e3[53]!==th.length||e3[54]!==tk||e3[55]!==tf||e3[56]!==tg||e3[57]!==tx||e3[58]!==tb?(x=()=>
488{if(2===th.length){let e=th[0],t=th[1];tF({roles:{marker:(0,u.findPlayer)({teamAPlayers:tf,teamASubs:tg,teamBPlayers:tx,teamBSubs:tb},e.id,e.team)||e,target:(0,u.findPlayer)({teamAPlayers:tf,teamASubs:tg,teamBPlayers:tx,teamBSubs:tb},t.id,t.team)||t},distance:2}),tk({markerId:e.id,targetId:t.id,distance:2})}e7()},e3[49]=e7,e3[50]=tF,e3[51]=th[0],e3[52]=th[1],e3[53]=th.length,e3[54]=tk,e3[55]=tf,e3[56]=tg,e3[57]=tx,e3[58]=tb,e3[59]=x):x=e3[59];let no=x;e3[60]!==e7||e3[61]!==tO||e3[62]!==e8.id||e3[63]!==tk||e3[64]!==e9||e3[65]!==tf||e3[66]!==tx?(b=()=>{let e={width:10,height:10};tO({config:{markerId:e8.id,markerTeam:e9,dims:e,anchors:[],distance:2,anchorType:"custom"},isEditing:!1});let t=("A"===e9?tf:tx).find(e=>e.id===e8.id);t&&tk({type:"zonal",markerId:e8.id,zoneDims:e,zoneAnchors:[],zoneInitialOffset:{x:t.position[0],z:t.position[2]},distance:2,anchorType:"custom"}),e7()},e3[60]=e7,e3[61]=tO,e3[62]=e8.id,e3[63]=tk,e3[64]=e9,e3[65]=tf,e3[66]=tx,e3[67]=b):b=e3[67];let ns=b;e3[68]!==tm||e3[69]!==e7?(y=()=>{tm(),e7()},e3[68]=tm,e3[69]=e7,e3[70]=y):y=e3[70];let nl=y;e3[71]!==e8.id||e3[72]!==e9||e3[73]!==tc?(v=(e,t,n)=>{tc(e9,e8.id,{[e]:void 0!==t?!t:!(void 0===n||n)})},e3[71]=e8.id,e3[72]=e9,e3[73]=tc,e3[74]=v):v=e3[74];let nc=v,nu="A"===e9?tf:tx;e3[75]!==nu?(w=(e,t)=>{let n=void 0===t||t;return nu.every(t=>n?!1!==t[e]:!!t[e])},e3[75]=nu,e3[76]=w):w=e3[76];let nd=w;e3[77]!==nd||e3[78]!==e9||e3[79]!==nu||e3[80]!==tu?(_=(e,t)=>{let n=!nd(e,void 0===t||t);tu(nu.map(t=>({team:e9,id:t.id,updates:{[e]:n}})))},e3[77]=nd,e3[78]=e9,e3[79]=nu,e3[80]=tu,e3[81]=_):_=e3[81];let nm=_;e3[82]!==tB||e3[83]!==e7||e3[84]!==tL||e3[85]!==e9?(k=()=>{s.usePlayerStore.setState({activeTeam:e9}),tB(),tL(),e7()},e3[82]=tB,e3[83]=e7,e3[84]=tL,e3[85]=e9,e3[86]=k):k=e3[86];let np=k;e3[87]===Symbol.for("react.memo_cache_sentinel")?(S={opacity:0,scale:.95},j={opacity:1,scale:1},$={opacity:0,scale:.95},I={duration:.1},e3[87]=S,e3[88]=j,e3[89]=$,e3[90]=I):(S=e3[87],j=e3[88],$=e3[89],I=e3[90]);let nh=tt>1?(0,r.jsx)("div",{className:"flex items-center gap-1 flex-wrap",children:tZ.map(wt)}):(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)("div",{className:"w-5 h-5 rounded-full flex items-center justify-center text-[9px] font-bold flex-shrink-0",style:{backgroundColor:"A"===e9?"#3e3eff":"#ff3e3e"},children:e8?.number||"?"}),(0,r.jsx)("span",{className:"text-[11px] font-medium truncate flex-1",children:e8?.name||`Player ${e8?.id}`})]});e3[91]!==nh?(C=(0,r.jsx)("div",{className:"px-3 py-1.5 border-b border-white/10 flex items-center gap-2",children:nh}),e3[91]=nh,e3[92]=C):C=e3[92],e3[93]!==t9||e3[94]!==t7||e3[95]!==tU?(N=tU?(0,r.jsx)(v6,{icon:v2,label:"Remove Ball",onClick:t7,danger:!0}):(0,r.jsx)(v6,{icon:v2,label:"Give Ball",onClick:t9}),e3[93]=t9,e3[94]=t7,e3[95]=tU,e3[96]=N):N=e3[96],e3[97]===Symbol.for("react.memo_cache_sentinel")?(T=(0,r.jsx)(v9,{}),e3[97]=T):T=e3[97];let nf=!tU;e3[98]!==ne?(A=(0,r.jsx)(v6,{icon:v3.TbArrowMoveRight,label:"Ground Pass",onClick:()=>ne("ground")}),e3[98]=ne,e3[99]=A):A=e3[99],e3[100]!==ne?(P=(0,r.jsx)(v6,{icon:v3.TbArrowCurveRight,label:"Air Pass",onClick:()=>ne("air")}),e3[100]=ne,e3[101]=P):P=e3[101],e3[102]!==ne?(E=(0,r.jsx)(v6,{icon:v3.TbArrowBounce,label:"Chip Pass",onClick:()=>ne("chip")}),e3[102]=ne,e3[103]=E):E=e3[103],e3[104]!==nf||e3[105]!==A||e3[106]!==P||e3[107]!==E?(D=(0,r.jsxs)(v7,{icon:v3.TbArrowMoveRight,label:"Draw Pass",disabled:nf,children:[A,P,E]}),e3[104]=nf,e3[105]=A,e3[106]=P,e3[107]=E,e3[108]=D):D=e3[108];let ng=!tU;e3[109]!==nt||e3[110]!==ng?(M=(0,r.jsx)(v6,{icon:oj,label:"Draw Shot",onClick:nt,disabled:ng}),e3[109]=nt,e3[110]=ng,e3[111]=M):M=e3[111];let nx=tt>1?`Draw Run (${tt})`:"Draw Run";e3[112]!==nn?(z=()=>nn("linear"),e3[112]=nn,e3[113]=z):z=e3[113],e3[114]!==nx||e3[115]!==z?(F=(0,r.jsx)(v6,{icon:e5.FaRunning,label:nx,onClick:z}),e3[114]=nx,e3[115]=z,e3[116]=F):F=e3[116];let nb=tt>1?`Draw Curve Run (${tt})`:"Draw Curve Run";e3[117]!==nn?(O=()=>nn("bezier"),e3[117]=nn,e3[118]=O):O=e3[118],e3[119]!==nb||e3[120]!==O?(L=(0,r.jsx)(v6,{icon:v3.TbArrowCurveRight,label:nb,onClick:O}),e3[119]=nb,e3[120]=O,e3[121]=L):L=e3[121],e3[122]!==N||e3[123]!==D||e3[124]!==M||e3[125]!==F||e3[126]!==L?(R=(0,r.jsxs)(v7,{icon:e5.FaRunning,label:"Action",children:[N,T,D,M,F,L]}),e3[122]=N,e3[123]=D,e3[124]=M,e3[125]=F,e3[126]=L,e3[127]=R):R=e3[127];let ny=tt<2;e3[128]!==ni||e3[129]!==ny?(B=(0,r.jsx)(v6,{icon:v5,label:"Create Link",onClick:ni,disabled:ny}),e3[128]=ni,e3[129]=ny,e3[130]=B):B=e3[130];let nv=tt<3;e3[131]!==na||e3[132]!==nv?(U=(0,r.jsx)(v6,{icon:e5.FaDrawPolygon,label:"Create Zone",onClick:na,disabled:nv}),e3[131]=na,e3[132]=nv,e3[133]=U):U=e3[133],e3[134]===Symbol.for("react.memo_cache_sentinel")?(Z=(0,r.jsx)(v9,{}),e3[134]=Z):Z=e3[134];let nw=2!==tt;e3[135]!==no||e3[136]!==nw?(G=(0,r.jsx)(v6,{icon:e5.FaCrosshairs,label:"Man Marking",onClick:no,disabled:nw}),e3[135]=no,e3[136]=nw,e3[137]=G):G=e3[137],e3[138]!==ns?(W=(0,r.jsx)(v6,{icon:e5.FaCrosshairs,label:"Zonal Marking",onClick:ns}),e3[138]=ns,e3[139]=W):W=e3[139],e3[140]!==B||e3[141]!==U||e3[142]!==G||e3[143]!==W?(H=(0,r.jsxs)(v7,{icon:v5,label:"Associate Players",children:[B,U,Z,G,W]}),e3[140]=B,e3[141]=U,e3[142]=G,e3[143]=W,e3[144]=H):H=e3[144];let n_=tt>1?"Group Visibility":"Player Visibility";e3[145]===Symbol.for("react.memo_cache_sentinel")?(V=(0,r.jsx)("div",{className:"px-3 py-1 text-[9px] uppercase tracking-wider text-white/40 font-semibold",children:"On Pit
488ch"}),e3[145]=V):V=e3[145];let nk=tt>1?(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(v8,{label:"Vision Arc",checked:t3("showVision",!0),onChange:()=>t6("showVision",!0)}),(0,r.jsx)(v8,{label:"Action Area",checked:t3("showArea",!0),onChange:()=>t6("showArea",!0)}),(0,r.jsx)(v8,{label:"Disk",checked:t3("showNumberDisk",!0),onChange:()=>t6("showNumberDisk",!0)}),tr&&(0,r.jsx)(v8,{label:"Number",checked:t3("showNumber",!0),onChange:()=>t6("showNumber",!0)}),(0,r.jsx)(v8,{label:"Name",checked:t3("showName",!1),onChange:()=>t6("showName",!1)})]}):(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(v8,{label:"Vision Arc",checked:tW?.showVision!==!1,onChange:()=>nc("showVision",tW?.showVision,!0)}),(0,r.jsx)(v8,{label:"Action Area",checked:tW?.showArea!==!1,onChange:()=>nc("showArea",tW?.showArea,!0)}),(0,r.jsx)(v8,{label:"Disk",checked:tW?.showNumberDisk!==!1,onChange:()=>nc("showNumberDisk",tW?.showNumberDisk,!0)}),tr&&(0,r.jsx)(v8,{label:"Number",checked:tW?.showNumber!==!1,onChange:()=>nc("showNumber",tW?.showNumber,!0)}),(0,r.jsx)(v8,{label:"Name",checked:tW?.showName===!0,onChange:()=>nc("showName",tW?.showName,!1)})]});e3[146]!==V||e3[147]!==nk?(q=(0,r.jsxs)("div",{className:"flex-1",children:[V,nk]}),e3[146]=V,e3[147]=nk,e3[148]=q):q=e3[148],e3[149]===Symbol.for("react.memo_cache_sentinel")?(K=(0,r.jsx)("div",{className:"w-px bg-white/10 my-1"}),e3[149]=K):K=e3[149],e3[150]===Symbol.for("react.memo_cache_sentinel")?(J=(0,r.jsx)("div",{className:"px-3 py-1 text-[9px] uppercase tracking-wider text-white/40 font-semibold",children:"Floating"}),e3[150]=J):J=e3[150],e3[151]!==tW?.showCard||e3[152]!==tW?.showFloatingDynamic||e3[153]!==tW?.showFloatingName||e3[154]!==tW?.showFloatingNumber||e3[155]!==tW?.showFloatingPhoto||e3[156]!==tW?.showFloatingRole||e3[157]!==t3||e3[158]!==tt||e3[159]!==t6||e3[160]!==nc?(X=(0,r.jsxs)("div",{className:"flex-1",children:[J,tt>1?(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(v8,{label:"Dynamic",checked:t3("showFloatingDynamic",!1),onChange:()=>t6("showFloatingDynamic",!1)}),(0,r.jsx)(v8,{label:"Role",checked:t3("showFloatingRole",!0),onChange:()=>t6("showFloatingRole",!0)}),(0,r.jsx)(v8,{label:"Name",checked:t3("showFloatingName",!0),onChange:()=>t6("showFloatingName",!0)}),(0,r.jsx)(v8,{label:"Number",checked:t3("showFloatingNumber",!1),onChange:()=>t6("showFloatingNumber",!1)}),(0,r.jsx)(v8,{label:"Photo",checked:t3("showFloatingPhoto",!1),onChange:()=>t6("showFloatingPhoto",!1)}),(0,r.jsx)(v8,{label:"Card",checked:t3("showCard",!1),onChange:()=>t6("showCard",!1)})]}):(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(v8,{label:"Dynamic",checked:tW?.showFloatingDynamic||!1,onChange:()=>nc("showFloatingDynamic",tW?.showFloatingDynamic,!1)}),(0,r.jsx)(v8,{label:"Role",checked:tW?.showFloatingRole!==!1,onChange:()=>nc("showFloatingRole",tW?.showFloatingRole,!0)}),(0,r.jsx)(v8,{label:"Name",checked:tW?.showFloatingName!==!1,onChange:()=>nc("showFloatingName",tW?.showFloatingName,!0)}),(0,r.jsx)(v8,{label:"Number",checked:tW?.showFloatingNumber||!1,onChange:()=>nc("showFloatingNumber",tW?.showFloatingNumber,!1)}),(0,r.jsx)(v8,{label:"Photo",checked:tW?.showFloatingPhoto||!1,onChange:()=>nc("showFloatingPhoto",tW?.showFloatingPhoto,!1)}),(0,r.jsx)(v8,{label:"Card",checked:tW?.showCard||!1,onChange:()=>nc("showCard",tW?.showCard,!1)})]})]}),e3[151]=tW?.showCard,e3[152]=tW?.showFloatingDynamic,e3[153]=tW?.showFloatingName,e3[154]=tW?.showFloatingNumber,e3[155]=tW?.showFloatingPhoto,e3[156]=tW?.showFloatingRole,e3[157]=t3,e3[158]=tt,e3[159]=t6,e3[160]=nc,e3[161]=X):X=e3[161],e3[162]===Symbol.for("react.memo_cache_sentinel")?(Y=(0,r.jsx)("span",{className:"text-[7px] uppercase tracking-wider text-white/30 font-semibold mb-1",style:{writingMode:"vertical-rl",transform:"rotate(180deg)"},children:"Scale"}),e3[162]=Y):Y=e3[162];let nS=tt>1?tH[0]?.floatingScale??1:tW?.floatingScale??1;e3[163]!==e8.id||e3[164]!==tt||e3[165]!==th||e3[166]!==e9||e3[167]!==tu||e3[168]!==tc?(Q=e=>{let t=parseFloat(e.target.value);tt>1?tu(th.map(e=>({team:e.team,id:e.id,updates:{floatingScale:t}}))):tc(e9,e8.id,{floatingScale:t})},e3[163]=e8.id,e3[164]=tt,e3[165]=th,e3[166]=e9,e3[167]=tu,e3[168]=tc,e3[169]=Q):Q=e3[169];let nj=tt>1?tH[0]?.floatingScale??1:tW?.floatingScale??1;e3[170]!==nj?(ee=nj.toFixed(1),e3[170]=nj,e3[171]=ee):ee=e3[171];let n$=`Scale: ${ee}x`;e3[172]!==nS||e3[173]!==Q||e3[174]!==n$?(et=(0,r.jsxs)("div",{className:"flex flex-col items-center justify-center px-1 py-1",children:[Y,(0,r.jsx)("input",{type:"range",min:.3,max:2,step:.05,value:nS,onChange:Q,className:"vertical-scale-slider",title:n$})]}),e3[172]=nS,e3[173]=Q,e3[174]=n$,e3[175]=et):et=e3[175],e3[176]===Symbol.for("react.memo_cache_sentinel")?(en=(0,r.jsx)("span",{className:"text-[7px] uppercase tracking-wider text-white/30 font-semibold mb-1",style:{writingMode:"vertical-rl",transform:"rotate(180deg)"},children:"Height"}),e3[176]=en):en=e3[176];let nI=tt>1?tH[0]?.floatingHeight??1.5:tW?.floatingHeight??1.5;e3[177]!==e8.id||e3[178]!==tt||e3[179]!==th||e3[180]!==e9||e3[181]!==tu||e3[182]!==tc?(er=e=>{let t=parseFloat(e.target.value);tt>1?tu(th.map(e=>({team:e.team,id:e.id,updates:{floatingHeight:t}}))):tc(e9,e8.id,{floatingHeight:t})},e3[177]=e8.id,e3[178]=tt,e3[179]=th,e3[180]=e9,e3[181]=tu,e3[182]=tc,e3[183]=er):er=e3[183];let nC=tt>1?tH[0]?.floatingHeight??1.5:tW?.floatingHeight??1.5;e3[184]!==nC?(ei=nC.toFixed(1),e3[184]=nC,e3[185]=ei):ei=e3[185];let nN=`Height: ${ei}`;e3[186]!==nI||e3[187]!==er||e3[188]!==nN?(ea=(0,r.jsxs)("div",{className:"flex flex-col items-center justify-center px-1 py-1",children:[en,(0,r.jsx)("input",{type:"range",min:.5,max:5,step:.1,value:nI,onChange:er,className:"vertical-scale-slider",title:nN})]}),e3[186]=nI,e3[187]=er,e3[188]=nN,e3[189]=ea):ea=e3[189],e3[190]!==q||e3[191]!==X||e3[192]!==et||e3[193]!==ea?(eo=(0,r.jsxs)("div",{className:"flex min-w-[230px]",children:[q,K,X,et,ea]}),e3[190]=q,e3[191]=X,e3[192]=et,e3[193]=ea,e3[194]=eo):eo=e3[194],e3[195]!==v7||e3[196]!==v1||e3[197]!==n_||e3[198]!==eo?(es=(0,r.jsx)(v7,{icon:v1,label:n_,children:eo}),e3[195]=v7,e3[196]=v1,e3[197]=n_,e3[198]=eo,e3[199]=es):es=e3[199],e3[200]===Symbol.for("react.memo_cache_sentinel")?(el=(0,r.jsx)("div",{className:"px-3 py-1 text-[9px] uppercase tracking-wider text-white/40 font-semibold",children:"On Pit
488ch"}),e3[200]=el):el=e3[200],e3[201]!==nd?(ec=nd("showVision",!0),e3[201]=nd,e3[202]=ec):ec=e3[202],e3[203]!==nm?(eu=()=>nm("showVision",!0),e3[203]=nm,e3[204]=eu):eu=e3[204],e3[205]!==ec||e3[206]!==eu?(ed=(0,r.jsx)(v8,{label:"Vision Arc",checked:ec,onChange:eu}),e3[205]=ec,e3[206]=eu,e3[207]=ed):ed=e3[207],e3[208]!==nd?(em=nd("showArea",!0),e3[208]=nd,e3[209]=em):em=e3[209],e3[210]!==nm?(ep=()=>nm("showArea",!0),e3[210]=nm,e3[211]=ep):ep=e3[211],e3[212]!==em||e3[213]!==ep?(eh=(0,r.jsx)(v8,{label:"Action Area",checked:em,onChange:ep}),e3[212]=em,e3[213]=ep,e3[214]=eh):eh=e3[214],e3[215]!==nd?(ef=nd("showNumberDisk",!0),e3[215]=nd,e3[216]=ef):ef=e3[216],e3[217]!==nm?(eg=()=>nm("showNumberDisk",!0),e3[217]=nm,e3[218]=eg):eg=e3[218],e3[219]!==ef||e3[220]!==eg?(ex=(0,r.jsx)(v8,{label:"Disk",checked:ef,onChange:eg}),e3[219]=ef,e3[220]=eg,e3[221]=ex):ex=e3[221],e3[222]!==nd||e3[223]!==tr||e3[224]!==nm?(eb=tr&&(0,r.jsx)(v8,{label:"Number",checked:nd("showNumber",!0),onChange:()=>nm("showNumber",!0)}),e3[222]=nd,e3[223]=tr,e3[224]=nm,e3[225]=eb):eb=e3[225],e3[226]!==nd?(ey=nd("showName",!1),e3[226]=nd,e3[227]=ey):ey=e3[227],e3[228]!==nm?(ev=()=>nm("showName",!1),e3[228]=nm,e3[229]=ev):ev=e3[229],e3[230]!==ey||e3[231]!==ev?(ew=(0,r.jsx)(v8,{label:"Name",checked:ey,onChange:ev}),e3[230]=ey,e3[231]=ev,e3[232]=ew):ew=e3[232],e3[233]!==ed||e3[234]!==eh||e3[235]!==ex||e3[236]!==eb||e3[237]!==ew?(e_=(0,r.jsxs)("div",{className:"flex-1",children:[el,ed,eh,ex,eb,ew]}),e3[233]=ed,e3[234]=eh,e3[235]=ex,e3[236]=eb,e3[237]=ew,e3[238]=e_):e_=e3[238],e3[239]===Symbol.for("react.memo_cache_sentinel")?(ek=(0,r.jsx)("div",{className:"w-px bg-white/10 my-1"}),e3[239]=ek):ek=e3[239],e3[240]===Symbol.for("react.memo_cache_sentinel")?(eS=(0,r.jsx)("div",{className:"px-3 py-1 text-[9px] uppercase tracking-wider text-white/40 font-semibold",children:"Floating"}),e3[240]=eS):eS=e3[240],e3[241]!==nd?(ej=nd("showFloatingDynamic",!1),e3[241]=nd,e3[242]=ej):ej=e3[242],e3[243]!==nm?(e$=()=>nm("showFloatingDynamic",!1),e3[243]=nm,e3[244]=e$):e$=e3[244],e3[245]!==ej||e3[246]!==e$?(eI=(0,r.jsx)(v8,{label:"Dynamic",checked:ej,onChange:e$}),e3[245]=ej,e3[246]=e$,e3[247]=eI):eI=e3[247],e3[248]!==nd?(eC=nd("showFloatingRole",!0),e3[248]=nd,e3[249]=eC):eC=e3[249],e3[250]!==nm?(eN=()=>nm("showFloatingRole",!0),e3[250]=nm,e3[251]=eN):eN=e3[251],e3[252]!==eC||e3[253]!==eN?(eT=(0,r.jsx)(v8,{label:"Role",checked:eC,onChange:eN}),e3[252]=eC,e3[253]=eN,e3[254]=eT):eT=e3[254],e3[255]!==nd?(eA=nd("showFloatingName",!0),e3[255]=nd,e3[256]=eA):eA=e3[256],e3[257]!==nm?(eP=()=>nm("showFloatingName",!0),e3[257]=nm,e3[258]=eP):eP=e3[258],e3[259]!==eA||e3[260]!==eP?(eE=(0,r.jsx)(v8,{label:"Name",checked:eA,onChange:eP}),e3[259]=eA,e3[260]=eP,e3[261]=eE):eE=e3[261],e3[262]!==nd?(eD=nd("showFloatingNumber",!1),e3[262]=nd,e3[263]=eD):eD=e3[263],e3[264]!==nm?(eM=()=>nm("showFloatingNumber",!1),e3[264]=nm,e3[265]=eM):eM=e3[265],e3[266]!==eD||e3[267]!==eM?(ez=(0,r.jsx)(v8,{label:"Number",checked:eD,onChange:eM}),e3[266]=eD,e3[267]=eM,e3[268]=ez):ez=e3[268],e3[269]!==nd?(eF=nd("showFloatingPhoto",!1),e3[269]=nd,e3[270]=eF):eF=e3[270],e3[271]!==nm?(eO=()=>nm("showFloatingPhoto",!1),e3[271]=nm,e3[272]=eO):eO=e3[272],e3[273]!==eF||e3[274]!==eO?(eL=(0,r.jsx)(v8,{label:"Photo",checked:eF,onChange:eO}),e3[273]=eF,e3[274]=eO,e3[275]=eL):eL=e3[275],e3[276]!==nd?(eR=nd("showCard",!1),e3[276]=nd,e3[277]=eR):eR=e3[277],e3[278]!==nm?(eB=()=>nm("showCard",!1),e3[278]=nm,e3[279]=eB):eB=e3[279],e3[280]!==eR||e3[281]!==eB?(eU=(0,r.jsx)(v8,{label:"Card",checked:eR,onChange:eB}),e3[280]=eR,e3[281]=eB,e3[282]=eU):eU=e3[282],e3[283]!==eT||e3[284]!==eE||e3[285]!==ez||e3[286]!==eL||e3[287]!==eU||e3[288]!==eI?(eZ=(0,r.jsxs)("div",{className:"flex-1",children:[eS,eI,eT,eE,ez,eL,eU]}),e3[283]=eT,e3[284]=eE,e3[285]=ez,e3[286]=eL,e3[287]=eU,e3[288]=eI,e3[289]=eZ):eZ=e3[289],e3[290]===Symbol.for("react.memo_cache_sentinel")?(eG=(0,r.jsx)("span",{className:"text-[7px] uppercase tracking-wider text-white/30 font-semibold mb-1",style:{writingMode:"vertical-rl",transform:"rotate(180deg)"},children:"Scale"}),e3[290]=eG):eG=e3[290];let nT=nu[0]?.floatingScale??1;e3[291]!==e9||e3[292]!==nu||e3[293]!==tu?(eW=e=>{let t=parseFloat(e.target.value);tu(nu.map(e=>({team:e9,id:e.id,updates:{floatingScale:t}})))},e3[291]=e9,e3[292]=nu,e3[293]=tu,e3[294]=eW):eW=e3[294];let nA=nu[0]?.floatingScale??1;e3[295]!==nA?(eH=nA.toFixed(1),e3[295]=nA,e3[296]=eH):eH=e3[296];let nP=`Scale: ${eH}x`;e3[297]!==nT||e3[298]!==eW||e3[299]!==nP?(eV=(0,r.jsxs)("div",{className:"flex flex-col items-center justify-center px-1 py-1",children:[eG,(0,r.jsx)("input",{type:"range",min:.3,max:2,step:.05,value:nT,onChange:eW,className:"vertical-scale-slider",title:nP})]}),e3[297]=nT,e3[298]=eW,e3[299]=nP,e3[300]=eV):eV=e3[300],e3[301]===Symbol.for("react.memo_cache_sentinel")?(eq=(0,r.jsx)("span",{className:"text-[7px] uppercase tracking-wider text-white/30 font-semibold mb-1",style:{writingMode:"vertical-rl",transform:"rotate(180deg)"},children:"Height"}
488),e3[301]=eq):eq=e3[301];let nE=nu[0]?.floatingHeight??1.5;e3[302]!==e9||e3[303]!==nu||e3[304]!==tu?(eK=e=>{let t=parseFloat(e.target.value);tu(nu.map(e=>({team:e9,id:e.id,updates:{floatingHeight:t}})))},e3[302]=e9,e3[303]=nu,e3[304]=tu,e3[305]=eK):eK=e3[305];let nD=nu[0]?.floatingHeight??1.5;e3[306]!==nD?(eJ=nD.toFixed(1),e3[306]=nD,e3[307]=eJ):eJ=e3[307];let nM=`Height: ${eJ}`;return e3[308]!==nE||e3[309]!==eK||e3[310]!==nM?(eX=(0,r.jsxs)("div",{className:"flex flex-col items-center justify-center px-1 py-1",children:[eq,(0,r.jsx)("input",{type:"range",min:.5,max:5,step:.1,value:nE,onChange:eK,className:"vertical-scale-slider",title:nM})]}),e3[308]=nE,e3[309]=eK,e3[310]=nM,e3[311]=eX):eX=e3[311],e3[312]!==eZ||e3[313]!==eV||e3[314]!==eX||e3[315]!==e_?(eY=(0,r.jsx)(v7,{icon:v0,label:"Team Visibility",children:(0,r.jsxs)("div",{className:"flex min-w-[230px]",children:[e_,ek,eZ,eV,eX]})}),e3[312]=eZ,e3[313]=eV,e3[314]=eX,e3[315]=e_,e3[316]=eY):eY=e3[316],e3[317]===Symbol.for("react.memo_cache_sentinel")?(eQ=(0,r.jsx)(v9,{}),e3[317]=eQ):eQ=e3[317],e3[318]!==nr?(e0=(0,r.jsx)(v6,{icon:v4,label:"Player",onClick:nr}),e3[318]=nr,e3[319]=e0):e0=e3[319],e3[320]!==np?(e1=(0,r.jsx)(v6,{icon:e5.FaTag,label:"Team",onClick:np}),e3[320]=np,e3[321]=e1):e1=e3[321],e3[322]!==e0||e3[323]!==e1?(e2=(0,r.jsxs)(v7,{icon:v4,label:"Properties",alignBottom:!0,children:[e0,e1]}),e3[322]=e0,e3[323]=e1,e3[324]=e2):e2=e3[324],e3[325]!==nl||e3[326]!==tt?(e4=tt>1&&(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(v9,{}),(0,r.jsx)(v6,{icon:vQ,label:"Deselect All",onClick:nl})]}),e3[325]=nl,e3[326]=tt,e3[327]=e4):e4=e3[327],(0,r.jsxs)(oC.motion.div,{ref:tn,initial:S,animate:j,exit:$,transition:I,className:"fixed z-[9999] min-w-[150px] py-1.5 bg-gray-900/50 backdrop-blur-xl\n        text-white rounded-lg shadow-2xl border border-white/10 overflow-visible pointer-events-auto",style:{left:t8.x,top:t8.y},children:[C,1===tt&&tQ.length>0&&(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(v7,{icon:v5,label:"Voir associations",alignToItem:!0,submenuWidth:150,children:tQ.map(e=>(0,r.jsxs)(v7,{alignToItem:!0,submenuWidth:150,label:(0,r.jsxs)("div",{className:"flex items-center gap-1.5 min-w-0",children:[(0,r.jsx)("span",{className:"w-2 h-2 rounded-full flex-shrink-0",style:{backgroundColor:e.color}}),(0,r.jsxs)("span",{className:"text-[10px] truncate",children:[e.label,null!=e.startTime&&null!=e.endTime?" · animated":""]}),Array.isArray(e.relatedPlayers)&&e.relatedPlayers.length>0&&(0,r.jsxs)("span",{className:"ml-auto flex items-center gap-1 flex-shrink-0",children:[e.relatedPlayers.slice(0,3).map(t=>(0,r.jsx)("span",{className:"w-4 h-4 rounded-full flex items-center justify-center text-[8px] font-bold text-white",style:{backgroundColor:"A"===t.team?ty?.color||"#3e3eff":tv?.color||"#ff3e3e"},children:t.number},`${e.key}-player-${t.id||t.number}`)),e.relatedPlayers.length>3&&(0,r.jsxs)("span",{className:"text-[8px] text-white/50",children:["+",e.relatedPlayers.length-3]})]})]}),children:[(0,r.jsx)(v6,{icon:null,label:"Edit Association",onClick:()=>(e=>{if((0,u.findPlayer)(tV,e8?.id,e9)){if("link"===e.type){tM({id:e.id}),e7();return}if("zone"===e.type){tz({id:e.id}),e7();return}if("zonalMarking"===e.type){let t=(0,u.findPlayer)(tV,e.playerId,e9);if(!t?.marking||"zonal"!==t.marking.type)return;tO({config:{dims:t.marking.zoneDims,anchors:(t.marking.zoneAnchors||[]).map(e=>{let t=(0,u.findPlayer)(tV,e);return t?{id:t.id,name:t.name,team:t.team}:null}).filter(Boolean),distance:t.marking.distance,anchorType:t.marking.anchorType||"custom"},isEditing:!0,markerId:t.id}),e7();return}if("manMarking"===e.type||"markedBy"===e.type){let t=(0,u.findPlayer)(tV,e.markerId,e.markerTeam),n=(0,u.findPlayer)(tV,e.targetId);if(!t||!n)return;tF({roles:{marker:t,target:n},distance:t.marking?.distance||2,originalMarking:{markerId:t.id,targetId:n.id,markerTeam:t.team}}),e7()}}})(e)}),(0,r.jsx)(v9,{}),(0,r.jsx)(v6,{icon:null,label:"Animate From Current Time",onClick:()=>(e=>{let{startTime:t,endTime:n}=t1();t2(e,t,n),t5(e,{entrance:"fade",exit:"fade",entranceDuration:.3,exitDuration:.3,duration:.3}),e7()})(e)}),(0,r.jsx)(v6,{icon:null,label:"Remove From Timeline",onClick:()=>{"link"===e.type?tI(e.id):"zone"===e.type?tT(e.id):"zonalMarking"===e.type?tE(e.markerTeam,e.playerId):("manMarking"===e.type||"markedBy"===e.type)&&tE(e.markerTeam,e.markerId),e7()},disabled:!t0(e)}),(0,r.jsx)(v9,{}),(0,r.jsxs)(v7,{icon:null,label:"Fade In",alignToItem:!0,submenuWidth:150,children:[(0,r.jsx)(v6,{icon:null,label:`${(e.animation?.entrance??"none")==="fade"?"✓ ":""}Fade`,onClick:()=>t4(e,"in",!0)}),(0,r.jsx)(v6,{icon:null,label:`${(e.animation?.entrance??"none")==="none"?"✓ ":""}None`,onClick:()=>t4(e,"in",!1)})]}),(0,r.jsxs)(v7,{icon:null,label:"Fade Out",alignToItem:!0,submenuWidth:150,children:[(0,r.jsx)(v6,{icon:null,label:`${(e.animation?.exit??"none")==="fade"?"✓ ":""}Fade`,onClick:()=>t4(e,"out",!0)}),(0,r.jsx)(v6,{icon:null,label:`${(e.animation?.exit??"none")==="none"?"✓ ":""}None`,onClick:()=>t4(e,"out",!1)})]})]},e.key))}),(0,r.jsx)(v9,{})]}),R,H,es,eY,eQ,e2,e4]})}function wt(e,t){return(0,r.jsx)("div",{className:"w-5 h-5 rounded-full flex items-center justify-center text-[8px] font-bold",style:{backgroundColor:"A"===e.team?"#3e3eff":"#ff3e3e"},children:e.number},t)}function wn(e){return e?.startTime!=null&&e?.endTime!=null}function wr(e){return{id:e.id,number:e.number,team:e.team}}function wi(e){return{id:e.id,number:e.number,team:e.team}}function wa(e){return{...e,team:"B"}}function wo(e){return{...e,team:"B"}}function ws(e){return{...e,team:"A"}}function wl(e){return{...e,team:"A"}}function wc(e){return e.closeTeamMenu}function wu(e){return e.openTwoTeamMenuForPlayer}function wd(e){return e.openTwoTeamMenu}function wm(e){return e.openZonalMarkingMenu}function wp(e){return e.openMarkingMenu}function wh(e){return e.openZoneMenu}function wf(e){return e.openLinkMenu}function wg(e){return e.setMarkingAnimation}function wx(e){return e.clearMarkingTimeRange}function wb(e){return e.setMarkingTimeRange}function wy(e){return e.setZoneAnimation}function wv(e){return e.clearZoneTimeRange}function ww(e){return e.setZoneTimeRange}function w_(e){return e.setLinkAnimation}function wk(e){return e.clearLinkTimeRange}function wS(e){return e.setLinkTimeRange}function wj(e){return e.timeline?.totalDuration??10}function w$(e){return e.timeline?.currentTime??0}function wI(e){return e.setPreviewMarking}function wC(e){return e.zones}function wN(e){return e.links}function wT(e){return e.teamBInfo}function wA(e){return e.teamAInfo}function wP(e){return e.teamBSubs}function wE(e){return e.teamBPlayers}function wD(e){return e.teamASubs}function wM(e){return e.teamAPlayers}function wz(e){return e.selectedPlayers}function wF(e){return e.setPassDrawingState}function wO(e){return e.clearSelection}function wL(e){return e.setActivePlayerForMenu}function wR(e){return e.updateMultiplePlayerDetails}function wB(e){return e.updatePlayerDetails}function wU(e){return e.setMovementDrawGroup}function wZ(e){return e.setMovementToolConfig}function wG(e){return e.setInteractionMode}function wW(e){return e.clearBallPossession}function wH(e){return e.setBallPossessionNew}function wV(e){return!1===e.playerModelEnabled}function wq(e){let t,n,o,s,l,c,u,d,p,h,f,g,x,b,y,v,w,_,k,S,j,$,I,C=(0,i.c)(49),{position:N,worldPosition:T,onClose:A}=e,P=(0,a.useRef)(null),E=(0,m.useAnnotationStore)(wJ),D=(0,m.useAnnotationStore)(wK);(C[0]!==D||C[1]!==E?(t=()=>{D&&"select"!==D&&E("select")},C[0]=D,C[1]=E,C[2]=t):t=C[2],C[3]===Symbol.for("react.memo_cache_sentinel")?(n=[],C[3]=n):n=C[3],(0,a.useEffect)(t,n),C[4]!==A?(o=()=>{let e=e=>{P.current&&!P.current.contains(e.target)&&A()},t=e=>{P.current&&!P.current.contains(e.target)&&(e.preventDefault(),A())},n=e=>{"Escape"===e.key&&A()},r=setTimeout(()=>{document.addEventListener("mousedown",e),document.addEventListener("contextmenu",t),document.addEventListener("keydown",n)},100);return()=>{clearTimeout(r),document.removeEventListener("mousedown",e),document.removeEventListener("contextmenu",t),document.removeEventListener("keydown",n)}},s=[A],C[4]=A,C[5]=o,C[6]=s):(o=C[5],s=C[6]),(0,a.useEffect)(o,s),C[7]!==N)?(l={...N},N.x+130>window.innerWidth&&(l.x=window.innerWidth-130-10),N.y+200>window.innerHeight&&(l.y=window.innerHeight-200-10),C[7]=N,C[8]=l):l=C[8],C[9]!==A||C[10]!==E?(c=e=>{E(e),A()},C[9]=A,C[10]=E,C[11]=c):c=C[11];let M=c;C[12]!==A||C[13]!==T?(u=()=>{let e=m.useAnnotationStore.getState(),t=e.textWindowConfig,n=e.annotations.length,r=crypto.randomUUID(),i=T||[0,0,0];e.addAnnotation({id:r,type:"textwindow",position:i,rotation:[0,0,0],scale:[1,1,1],config:{...t,isOpen:!0},visible:!0,locked:!1,name:`Note ${n+1}`,timestamp:Date.now()}),e.setSelectedAnnotationId(r),e.setActiveTool("select"),A()},C[12]=A,C[13]=T,C[14]=u):u=C[14];let z=u;return C[15]===Symbol.for("react.memo_cache_sentinel")?(p={opacity:0,scale:.95},h={opacity:1,scale:1},f={opacity:0,scale:.95},d={duration:.1},C[15]=d,C[16]=p,C[17]=h,C[18]=f):(d=C[15],p=C[16],h=C[17],f=C[18]),C[19]!==l.x||C[20]!==l.y?(g={left:l.x,top:l.y},C[19]=l.x,C[20]=l.y,C[21]=g):g=C[21],C[22]!==M?(x=(0,r.jsx)(v6,{icon:e5.FaPencilAlt,label:"Pencil",onClick:()=>M("pencil")}),C[22]=M,C[23]=x):x=C[23],C[24]!==M?(b=(0,r.jsx)(v6,{icon:e5.FaLongArrowAltRight,label:"Arrow",onClick:()=>M("arrow")}),C[24]=M,C[25]=b):b=C[25],C[26]!==M?(y=(0,r.jsx)(v6,{icon:e5.FaSquare,label:"Rectangle",onClick:()=>M("rectangle")}),C[26]=M,C[27]=y):y=C[27],C[28]!==M?(v=(0,r.jsx)(v6,{icon:e5.FaCircle,label:"Circle",onClick:()=>M("circle")}),C[28]=M,C[29]=v):v=C[29],C[30]!==b||C[31]!==y||C[32]!==v?(w=(0,r.jsxs)(v7,{icon:e5.FaShapes,label:"Shapes",children:[b,y,v]}),C[30]=b,C[31]=y,C[32]=v,C[33]=w):w=C[33],C[34]===Symbol.for("react.memo_cache_sentinel")?(_=(0,r.jsx)(v9,{}
488),C[34]=_):_=C[34],C[35]!==M?(k=(0,r.jsx)(v6,{icon:e5.FaFont,label:"Text",onClick:()=>M("text")}),C[35]=M,C[36]=k):k=C[36],C[37]!==z?(S=(0,r.jsx)(v6,{icon:e5.FaStickyNote,label:"Note",onClick:z}),C[37]=z,C[38]=S):S=C[38],C[39]===Symbol.for("react.memo_cache_sentinel")?(j=(0,r.jsx)(v9,{}),C[39]=j):j=C[39],C[40]!==M?($=(0,r.jsx)(v6,{icon:e5.FaEraser,label:"Eraser",onClick:()=>M("eraser")}),C[40]=M,C[41]=$):$=C[41],C[42]!==g||C[43]!==x||C[44]!==w||C[45]!==k||C[46]!==S||C[47]!==$?(I=(0,r.jsxs)(oC.motion.div,{ref:P,initial:p,animate:h,exit:f,transition:d,className:"fixed z-[9999] min-w-[120px] py-1.5 bg-gray-900/50 backdrop-blur-xl\n        text-white rounded-lg shadow-2xl border border-white/10 overflow-visible pointer-events-auto",style:g,children:[x,w,_,k,S,j,$]}),C[42]=g,C[43]=x,C[44]=w,C[45]=k,C[46]=S,C[47]=$,C[48]=I):I=C[48],I}function wK(e){return e.activeTool}function wJ(e){return e.setActiveTool}function wX(e){let t,n,o,c,u,d,p,h,f,g,x,b,y,v,w,_,k,S,j,$,I,C,N,T,A,P,E,D,M,z,F,O,L,R,B,U,Z,G=(0,i.c)(111),{position:W,annotationId:H,onClose:V}=e,q=(0,a.useRef)(null),K=(0,m.useAnnotationStore)(w6);if(G[0]!==H||G[1]!==K){let e;G[3]!==H?(e=e=>e.id===H,G[3]=H,G[4]=e):e=G[4],t=K.find(e),G[0]=H,G[1]=K,G[2]=t}else t=G[2];let J=t,X=(0,m.useAnnotationStore)(w3),Y=(0,m.useAnnotationStore)(w4),Q=(0,m.useAnnotationStore)(w5),ee=(0,m.useAnnotationStore)(w2),et=(0,m.useAnnotationStore)(w1),en=(0,m.useAnnotationStore)(w0),er=(0,s.usePlayerStore)(wQ),ei=X.length>1,ea=J?.startTime!=null&&J?.endTime!=null,eo=J?.animation?.entrance??"none",es=J?.animation?.exit??"none";if((G[5]!==V?(n=()=>{let e=e=>{q.current&&!q.current.contains(e.target)&&V()},t=e=>{q.current&&!q.current.contains(e.target)&&(e.preventDefault(),V())},n=e=>{"Escape"===e.key&&V()},r=setTimeout(()=>{document.addEventListener("click",e),document.addEventListener("contextmenu",t),document.addEventListener("keydown",n)},100);return()=>{clearTimeout(r),document.removeEventListener("click",e),document.removeEventListener("contextmenu",t),document.removeEventListener("keydown",n)}},o=[V],G[5]=V,G[6]=n,G[7]=o):(n=G[6],o=G[7]),(0,a.useEffect)(n,o),G[8]!==W)?(c={...W},W.x+160>window.innerWidth&&(c.x=window.innerWidth-160-10),W.y+280>window.innerHeight&&(c.y=window.innerHeight-280-10),G[8]=W,G[9]=c):c=G[9],!J)return null;G[10]!==J.animation||G[11]!==H||G[12]!==V||G[13]!==ee||G[14]!==Q||G[15]!==er?.currentTime||G[16]!==er?.totalDuration?(u=()=>{let e=er?.currentTime??0,t=Math.min(2,(er?.totalDuration??10)-e);Q(H,e,e+t),J.animation||ee(H,{entrance:"fade",exit:"fade",duration:.3}),V()},G[10]=J.animation,G[11]=H,G[12]=V,G[13]=ee,G[14]=Q,G[15]=er?.currentTime,G[16]=er?.totalDuration,G[17]=u):u=G[17];let el=u;G[18]!==H||G[19]!==et||G[20]!==V?(d=()=>{et(H),V()},G[18]=H,G[19]=et,G[20]=V,G[21]=d):d=G[21];let ec=d;G[22]!==H||G[23]!==V||G[24]!==ee?(p=e=>{ee(H,{entrance:e}),V()},G[22]=H,G[23]=V,G[24]=ee,G[25]=p):p=G[25];let eu=p;G[26]!==H||G[27]!==V||G[28]!==ee?(h=e=>{ee(H,{exit:e}),V()},G[26]=H,G[27]=V,G[28]=ee,G[29]=h):h=G[29];let ed=h;G[30]!==V?(f=()=>{l.useUIStore.getState().openAnnotationMenu(),V()},G[30]=V,G[31]=f):f=G[31];let em=f;G[32]!==Y||G[33]!==V?(g=()=>{Y(),V()},G[32]=Y,G[33]=V,G[34]=g):g=G[34];let ep=g;G[35]!==H||G[36]!==V||G[37]!==en?(x=()=>{en(H),V()},G[35]=H,G[36]=V,G[37]=en,G[38]=x):x=G[38];let eh=x,ef=wY;G[39]===Symbol.for("react.memo_cache_sentinel")?(b={opacity:0,scale:.95},y={opacity:1,scale:1},v={opacity:0,scale:.95},w={duration:.1},G[39]=b,G[40]=y,G[41]=v,G[42]=w):(b=G[39],y=G[40],v=G[41],w=G[42]),G[43]!==c.x||G[44]!==c.y?(_={left:c.x,top:c.y},G[43]=c.x,G[44]=c.y,G[45]=_):_=G[45];let eg=J.name||"Annotation";G[46]!==eg?(k=(0,r.jsx)("span",{className:"text-[11px] font-medium truncate flex-1",children:eg}),G[46]=eg,G[47]=k):k=G[47],G[48]!==J.endTime||G[49]!==J.startTime||G[50]!==ea?(S=ea&&(0,r.jsxs)("span",{className:"text-[9px] bg-white/10 px-1.5 py-0.5 rounded font-mono",children:[ef(J.startTime),"-",ef(J.endTime)]}),G[48]=J.endTime,G[49]=J.startTime,G[50]=ea,G[51]=S):S=G[51],G[52]!==k||G[53]!==S?(j=(0,r.jsxs)("div",{className:"px-3 py-1.5 border-b border-white/10 flex items-center gap-2",children:[k,S]}),G[52]=k,G[53]=S,G[54]=j):j=G[54],G[55]!==ep||G[56]!==ei?($=ei&&(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(v6,{icon:e5.FaObjectGroup,label:"Create a Group",onClick:ep}
488),(0,r.jsx)(v9,{})]}),G[55]=ep,G[56]=ei,G[57]=$):$=G[57];let ex=ea?e5.FaClock:e5.FaBolt,eb=ea?"Update Animation":"Create an Animation";G[58]!==el||G[59]!==ex||G[60]!==eb?(I=(0,r.jsx)(v6,{icon:ex,label:eb,onClick:el}),G[58]=el,G[59]=ex,G[60]=eb,G[61]=I):I=G[61],G[62]!==ec||G[63]!==ea?(C=ea&&(0,r.jsx)(v6,{icon:e5.FaEye,label:"Always Visible",onClick:ec}),G[62]=ec,G[63]=ea,G[64]=C):C=G[64],G[65]===Symbol.for("react.memo_cache_sentinel")?(N=(0,r.jsx)(v9,{}),G[65]=N):N=G[65];let ey=`In: ${eo}`,ev=!ea;G[66]!==eu?(T=(0,r.jsx)(v6,{label:"None",onClick:()=>eu("none")}),G[66]=eu,G[67]=T):T=G[67],G[68]!==eu?(A=(0,r.jsx)(v6,{label:"Fade In",onClick:()=>eu("fade")}),G[68]=eu,G[69]=A):A=G[69],G[70]!==eu?(P=(0,r.jsx)(v6,{label:"Scale In",onClick:()=>eu("scale")}),G[70]=eu,G[71]=P):P=G[71],G[72]!==eu?(E=(0,r.jsx)(v6,{label:"Slide Up",onClick:()=>eu("slide-up")}),G[72]=eu,G[73]=E):E=G[73],G[74]!==ey||G[75]!==ev||G[76]!==T||G[77]!==A||G[78]!==P||G[79]!==E?(D=(0,r.jsxs)(v7,{icon:e5.FaMagic,label:ey,disabled:ev,children:[T,A,P,E]}),G[74]=ey,G[75]=ev,G[76]=T,G[77]=A,G[78]=P,G[79]=E,G[80]=D):D=G[80];let ew=`Out: ${es}`,e_=!ea;return G[81]!==ed?(M=(0,r.jsx)(v6,{label:"None",onClick:()=>ed("none")}),G[81]=ed,G[82]=M):M=G[82],G[83]!==ed?(z=(0,r.jsx)(v6,{label:"Fade Out",onClick:()=>ed("fade")}),G[83]=ed,G[84]=z):z=G[84],G[85]!==ed?(F=(0,r.jsx)(v6,{label:"Scale Out",onClick:()=>ed("scale")}),G[85]=ed,G[86]=F):F=G[86],G[87]!==ed?(O=(0,r.jsx)(v6,{label:"Slide Down",onClick:()=>ed("slide-down")}),G[87]=ed,G[88]=O):O=G[88],G[89]!==ew||G[90]!==e_||G[91]!==M||G[92]!==z||G[93]!==F||G[94]!==O?(L=(0,r.jsxs)(v7,{icon:e5.FaMagic,label:ew,disabled:e_,children:[M,z,F,O]}),G[89]=ew,G[90]=e_,G[91]=M,G[92]=z,G[93]=F,G[94]=O,G[95]=L):L=G[95],G[96]===Symbol.for("react.memo_cache_sentinel")?(R=(0,r.jsx)(v9,{}),G[96]=R):R=G[96],G[97]!==em?(B=(0,r.jsx)(v6,{icon:e5.FaPen,label:"Edit Properties",onClick:em}),G[97]=em,G[98]=B):B=G[98],G[99]!==eh?(U=(0,r.jsx)(v6,{icon:e5.FaTrash,label:"Delete",onClick:eh,danger:!0}),G[99]=eh,G[100]=U):U=G[100],G[101]!==_||G[102]!==j||G[103]!==$||G[104]!==I||G[105]!==C||G[106]!==D||G[107]!==L||G[108]!==B||G[109]!==U?(Z=(0,r.jsxs)(oC.motion.div,{ref:q,initial:b,animate:y,exit:v,transition:w,className:"fixed z-[9999] min-w-[150px] py-1.5 bg-gray-900/50 backdrop-blur-xl\n                text-white rounded-lg shadow-2xl border border-white/10 overflow-visible pointer-events-auto",style:_,children:[j,$,I,C,N,D,L,R,B,U]}),G[101]=_,G[102]=j,G[103]=$,G[104]=I,G[105]=C,G[106]=D,G[107]=L,G[108]=B,G[109]=U,G[110]=Z):Z=G[110],Z}function wY(e){return null==e?"--":`${e.toFixed(1)}s`}function wQ(e){return e.timeline}function w0(e){return e.removeAnnotation}function w1(e){return e.clearAnnotationTimeRange}function w2(e){return e.setAnnotationAnimation}function w5(e){return e.setAnnotationTimeRange}function w4(e){return e.createGroupFromSelection}function w3(e){return e.selectedAnnotationIds}function w6(e){return e.annotations}function w8(e){let t,n,o,c,u,d,p,h,f,g,x,b,y,v,w,_,k,S,j,$,I,C,N,T,A,P,E,D,M=(0,i.c)(78),{position:z,groupId:F,onClose:O}=e,L=(0,a.useRef)(null),R=(0,m.useAnnotationStore)(_o),B=(0,m.useAnnotationStore)(_a),U=(0,m.useAnnotationStore)(_i);if(M[0]!==F||M[1]!==R){let e;M[3]!==F?(e=e=>e.id===F,M[3]=F,M[4]=e):e=M[4],t=R.find(e),M[0]=F,M[1]=R,M[2]=t}else t=M[2];let Z=t;if(M[5]!==B||M[6]!==F){let e;M[8]!==F?(e=e=>e.groupId===F,M[8]=F,M[9]=e):e=M[9],n=B.filter(e),M[5]=B,M[6]=F,M[7]=n}else n=M[7];let G=n,W=(0,m.useAnnotationStore)(_r),H=(0,m.useAnnotationStore)(_n),V=(0,m.useAnnotationStore)(_t),q=(0,m.useAnnotationStore)(_e),K=(0,s.usePlayerStore)(w7);M[10]!==G?(o=G.some(w9),M[10]=G,M[11]=o):o=M[11];let J=o;if((M[12]!==O?(c=()=>{let e=e=>{L.current&&!L.current.contains(e.target)&&O()},t=e=>{L.current&&!L.current.contains(e.target)&&(e.preventDefault(),O())},n=e=>{"Escape"===e.key&&O()},r=setTimeout(()=>{document.addEventListener("click",e),document.addEventListener("contextmenu",t),document.addEventListener("keydown",n)},100);return()=>{clearTimeout(r),document.removeEventListener("click",e),document.removeEventListener("contextmenu",t),document.removeEventListener("keydown",n)}},u=[O],M[12]=O,M[13]=c,M[14]=u):(c=M[13],u=M[14]),(0,a.useEffect)(c,u),M[15]!==z)?(d={...z},z.x+160>window.innerWidth&&(d.x=window.innerWidth-160-10),z.y+220>window.innerHeight&&(d.y=window.innerHeight-220-10),M[15]=z,M[16]=d):d=M[16],!Z)return null;M[17]!==U||M[18]!==F||M[19]!==O?(p=()=>{U(F),O()},M[17]=U,M[18]=F,M[19]=O,M[20]=p):p=M[20];let X=p;M[21]!==U||M[22]!==G||M[23]!==F||M[24]!==O||M[25]!==W?(h=()=>
488{G.forEach(e=>W(e.id)),U(F),O()},M[21]=U,M[22]=G,M[23]=F,M[24]=O,M[25]=W,M[26]=h):h=M[26];let Y=h;M[27]!==G||M[28]!==O||M[29]!==V||M[30]!==H||M[31]!==K?.currentTime||M[32]!==K?.totalDuration?(f=()=>{let e=K?.currentTime??0,t=Math.min(2,(K?.totalDuration??10)-e);G.forEach(n=>{H(n.id,e,e+t),n.animation||V(n.id,{entrance:"fade",exit:"fade",duration:.3})}),O()},M[27]=G,M[28]=O,M[29]=V,M[30]=H,M[31]=K?.currentTime,M[32]=K?.totalDuration,M[33]=f):f=M[33];let Q=f;M[34]!==q||M[35]!==G||M[36]!==O?(g=()=>{G.forEach(e=>q(e.id)),O()},M[34]=q,M[35]=G,M[36]=O,M[37]=g):g=M[37];let ee=g;M[38]!==O?(x=()=>{l.useUIStore.getState().openAnnotationMenu(),O()},M[38]=O,M[39]=x):x=M[39];let et=x;M[40]===Symbol.for("react.memo_cache_sentinel")?(b={opacity:0,scale:.95},y={opacity:1,scale:1},v={opacity:0,scale:.95},w={duration:.1},M[40]=b,M[41]=y,M[42]=v,M[43]=w):(b=M[40],y=M[41],v=M[42],w=M[43]),M[44]!==d.x||M[45]!==d.y?(_={left:d.x,top:d.y},M[44]=d.x,M[45]=d.y,M[46]=_):_=M[46],M[47]===Symbol.for("react.memo_cache_sentinel")?(k=(0,r.jsx)(e5.FaObjectGroup,{className:"w-3 h-3 opacity-60"}),M[47]=k):k=M[47];let en=Z.name||"Group";M[48]!==en?(S=(0,r.jsx)("span",{className:"text-[11px] font-medium truncate flex-1",children:en}),M[48]=en,M[49]=S):S=M[49],M[50]!==G.length?(j=(0,r.jsx)("span",{className:"text-[9px] bg-white/10 px-1.5 py-0.5 rounded",children:G.length}),M[50]=G.length,M[51]=j):j=M[51],M[52]!==S||M[53]!==j?($=(0,r.jsxs)("div",{className:"px-3 py-1.5 border-b border-white/10 flex items-center gap-2",children:[k,S,j]}),M[52]=S,M[53]=j,M[54]=$):$=M[54];let er=J?e5.FaClock:e5.FaBolt,ei=J?"Update Animation":"Create an Animation";return M[55]!==Q||M[56]!==er||M[57]!==ei?(I=(0,r.jsx)(v6,{icon:er,label:ei,onClick:Q}),M[55]=Q,M[56]=er,M[57]=ei,M[58]=I):I=M[58],M[59]!==J||M[60]!==ee?(C=J&&(0,r.jsx)(v6,{icon:e5.FaEye,label:"Always Visible",onClick:ee}),M[59]=J,M[60]=ee,M[61]=C):C=M[61],M[62]===Symbol.for("react.memo_cache_sentinel")?(N=(0,r.jsx)(v9,{}),M[62]=N):N=M[62],M[63]!==et?(T=(0,r.jsx)(v6,{icon:e5.FaPen,label:"Edit Properties",onClick:et}),M[63]=et,M[64]=T):T=M[64],M[65]===Symbol.for("react.memo_cache_sentinel")?(A=(0,r.jsx)(v9,{}),M[65]=A):A=M[65],M[66]!==X?(P=(0,r.jsx)(v6,{icon:e5.FaObjectGroup,label:"Ungroup",onClick:X}),M[66]=X,M[67]=P):P=M[67],M[68]!==Y?(E=(0,r.jsx)(v6,{icon:e5.FaTrash,label:"Delete Group",onClick:Y,danger:!0}),M[68]=Y,M[69]=E):E=M[69],M[70]!==_||M[71]!==$||M[72]!==I||M[73]!==C||M[74]!==T||M[75]!==P||M[76]!==E?(D=(0,r.jsxs)(oC.motion.div,{ref:L,initial:b,animate:y,exit:v,transition:w,className:"fixed z-[9999] min-w-[150px] py-1.5 bg-gray-900/50 backdrop-blur-xl\n                text-white rounded-lg shadow-2xl border border-white/10 overflow-visible pointer-events-auto",style:_,children:[$,I,C,N,T,A,P,E]}),M[70]=_,M[71]=$,M[72]=I,M[73]=C,M[74]=T,M[75]=P,M[76]=E,M[77]=D):D=M[77],D}function w9(e){return null!=e.startTime&&null!=e.endTime}function w7(e){return e.timeline}function _e(e){return e.clearAnnotationTimeRange}function _t(e){return e.setAnnotationAnimation}function _n(e){return e.setAnnotationTimeRange}function _r(e){return e.removeAnnotation}function _i(e){return e.deleteGroup}function _a(e){return e.annotations}function _o(e){return e.groups}function _s(e){let t,n,a,o,s,l=(0,i.c)(18),{contextMenu:c,closeContextMenu:u,selectedPlayers:d}=e;return l[0]!==u||l[1]!==c||l[2]!==d?(t=c?.type==="player"&&(0,r.jsx)(we,{position:c.position,player:c.player,team:c.team,onClose:u,selectedCount:d.length||1},"player-context-menu"),l[0]=u,l[1]=c,l[2]=d,l[3]=t):t=l[3],l[4]!==u||l[5]!==c?(n=c?.type==="pitch"&&(0,r.jsx)(wq,{position:c.position,worldPosition:c.worldPosition,onClose:u},"pitch-context-menu"),l[4]=u,l[5]=c,l[6]=n):n=l[6],l[7]!==u||l[8]!==c?(a=c?.type==="annotation"&&(0,r.jsx)(wX,{position:c.position,annotationId:c.annotationId,onClose:u},"annotation-context-menu"),l[7]=u,l[8]=c,l[9]=a):a=l[9],l[10]!==u||l[11]!==c?(o=c?.type==="group"&&(0,r.jsx)(w8,{position:c.position,groupId:c.groupId,onClose:u},"group-context-menu"),l[10]=u,l[11]=c,l[12]=o):o=l[12],l[13]!==t||l[14]!==n||l[15]!==a||l[16]!==o?(s=(0,r.jsxs)(oD.AnimatePresence,{children:[t,n,a,o]}),l[13]=t,l[14]=n,l[15]=a,l[16]=o,l[17]=s):s=l[17],s}function _l(e){return e.id}function _c(e){return e.id}function _u(e){return e.id}function _d(e){return e.id}function _m(e){return e.selectedPlayers}function _p(e){return e&&"GK"!==e.positionGroup&&Array.isArray(e.position)&&(0,r4.isWithinFieldXZ
488)(e.position,r4.DEFAULT_FIELD_BOUNDS)}function _h(){let e=_f;return e(),window.addEventListener("resize",e),window.addEventListener("orientationchange",e),()=>{window.removeEventListener("resize",e),window.removeEventListener("orientationchange",e)}}function _f(){document.documentElement.style.setProperty("--vh",window.innerHeight+"px")}function _g(e){return e.closeContextMenu}function _x(e){return e.contextMenu}function _b(e){return{teamAPlayers:e.teamAPlayers,teamBPlayers:e.teamBPlayers,teamASubs:e.teamASubs,teamBSubs:e.teamBSubs,teamAInfo:e.teamAInfo,teamBInfo:e.teamBInfo,updateTeamInfo:e.updateTeamInfo,zones:e.zones,addZone:e.addZone,updateZone:e.updateZone,removeZone:e.removeZone,setPreviewZone:e.setPreviewZone,togglePlayerSelection:e.togglePlayerSelection,clearSelection:e.clearSelection,clearActivePlayerForMenu:e.clearActivePlayerForMenu,activePlayerForMenu:e.activePlayerForMenu,toggleActivePlayerForMenu:e.toggleActivePlayerForMenu,setManMarking:e.setManMarking,setZonalMarking:e.setZonalMarking,clearMarking:e.clearMarking,setPreviewMarking:e.setPreviewMarking}}function _y(e){return{isAssociationMenuOpen:e.isAssociationMenuOpen,toggleAssociationMenu:e.toggleAssociationMenu,closeAssociationMenu:e.closeAssociationMenu,isTeamMenuOpen:e.isTeamMenuOpen,closeTeamMenu:e.closeTeamMenu,isTwoTeamMenuOpen:e.isTwoTeamMenuOpen,openTwoTeamMenu:e.openTwoTeamMenu,toggleTwoTeamMenu:e.toggleTwoTeamMenu,closeTwoTeamMenu:e.closeTwoTeamMenu,twoTeamTarget:e.twoTeamTarget,clearTwoTeamTarget:e.clearTwoTeamTarget,isZoneMenuOpen:e.isZoneMenuOpen,editingZoneId:e.editingZoneId,isCreatingZone:e.isCreatingZone,closeZoneMenu:e.closeZoneMenu,isMarkingMenuOpen:e.isMarkingMenuOpen,markingRoles:e.markingRoles,markingDistance:e.markingDistance,originalMarking:e.originalMarking,setMarkingDistance:e.setMarkingDistance,setMarkingRoles:e.setMarkingRoles,closeMarkingMenu:e.closeMarkingMenu,isZonalMarkingMenuOpen:e.isZonalMarkingMenuOpen,zonalConfig:e.zonalConfig,isEditingZonal:e.isEditingZonal,editingZonalMarkerId:e.editingZonalMarkerId,setZonalConfig:e.setZonalConfig,closeZonalMarkingMenu:e.closeZonalMarkingMenu,selectionPinned:e.selectionPinned,selectionPos:e.selectionPos,setSelectionPinned:e.setSelectionPinned,setSelectionPos:e.setSelectionPos,annotationPinned:e.annotationPinned,annotationPos:e.annotationPos,setAnnotationPinned:e.setAnnotationPinned,setAnnotationPos:e.setAnnotationPos,fieldManagerPinned:e.fieldManagerPinned,fieldManagerPos:e.fieldManagerPos,setFieldManagerPinned:e.setFieldManagerPinned,setFieldManagerPos:e.setFieldManagerPos,teamPinned:e.teamPinned,teamPos:e.teamPos,setTeamPinned:e.setTeamPinned,setTeamPos:e.setTeamPos,twoTeamPinned:e.twoTeamPinned,twoTeamPos:e.twoTeamPos,setTwoTeamPinned:e.setTwoTeamPinned,setTwoTeamPos:e.setTwoTeamPos,zonePinned:e.zonePinned,zonePos:e.zonePos,setZonePinned:e.setZonePinned,setZonePos:e.setZonePos,markingPinned:e.markingPinned,markingPos:e.markingPos,setMarkingPinned:e.setMarkingPinned,setMarkingPos:e.setMarkingPos,zonalPinned:e.zonalPinned,zonalPos:e.zonalPos,setZonalPinned:e.setZonalPinned,setZonalPos:e.setZonalPos,isAnnotationMenuOpen:e.isAnnotationMenuOpen,openAnnotationMenu:e.openAnnotationMenu,closeAnnotationMenu:e.closeAnnotationMenu,toggleAnnotationMenu:e.toggleAnnotationMenu,isFieldManagerMenuOpen:e.isFieldManagerMenuOpen,openFieldManagerMenu:e.openFieldManagerMenu,closeFieldManagerMenu:e.closeFieldManagerMenu,toggleFieldManagerMenu:e.toggleFieldManagerMenu}}function _v(e){return e.currentTheme.colors.background}e.s(["default",0,function(){let e,t,n,d,m,p,h,f,g,x,b,y,v,w,_,k,S,j,$,I,C,N,T,A,P,E,D,M,z,F,O,L,R,B,U,Z,W,H,V,q,K,J,X,Y,Q,ee,et,en,er,ei=(0,i.c)(250),ea=(0,o.useThemeStore)(_v),{isTeamMenuOpen:eo,closeTeamMenu:el,isTwoTeamMenuOpen:ec,closeTwoTeamMenu:eu,twoTeamTarget:ed,clearTwoTeamTarget:em,isZoneMenuOpen:ep,editingZoneId:eh,isCreatingZone:ef,closeZoneMenu:eg,isMarkingMenuOpen:ex,markingRoles:eb,markingDistance:ey,originalMarking:ev,setMarkingDistance:ew,setMarkingRoles:e_,closeMarkingMenu:ek,isZonalMarkingMenuOpen:eS,zonalConfig:ej,isEditingZonal:e$,editingZonalMarkerId:eI,setZonalConfig:eC,closeZonalMarkingMenu:eN,selectionPinned:eT,selectionPos:eA,setSelectionPinned:eP,setSelectionPos:eE,annotationPinned:eD,annotationPos:eM,setAnnotationPinned:ez,setAnnotationPos:eF,fieldManagerPinned:eO,fieldManagerPos:eL,setFieldManagerPinned:eR,setFieldManagerPos:eB,teamPinned:eU,teamPos:eG,setTeamPinned:eW,setTeamPos:eV,twoTeamPinned:eq,twoTeamPos:eK,setTwoTeamPinned:eJ,setTwoTeamPos:eX,zonePinned:eY,zonePos:eQ,setZonePinned:e0,setZonePos:e1,markingPinned:e2,markingPos:e5,setMarkingPinned:e4,setMarkingPos:e3,zonalPinned:e6,zonalPos:e8,setZonalPinned:e9,
488setZonalPos:e7,isAnnotationMenuOpen:te,openAnnotationMenu:tt,closeAnnotationMenu:tn,isFieldManagerMenuOpen:tr,openFieldManagerMenu:ti,closeFieldManagerMenu:ta}=(0,l.useUIStore)((0,c.useShallow)(_y)),{teamAPlayers:to,teamBPlayers:ts,teamASubs:tl,teamBSubs:tc,teamAInfo:tu,teamBInfo:td,updateTeamInfo:tm,zones:tp,addZone:th,updateZone:tf,removeZone:tg,setPreviewZone:tx,clearSelection:tb,clearActivePlayerForMenu:ty,activePlayerForMenu:tv,setManMarking:tw,setZonalMarking:t_,clearMarking:tk,setPreviewMarking:tS}=(0,s.usePlayerStore)((0,c.useShallow)(_b)),tj=(0,s.usePlayerStore)(_x),t$=(0,s.usePlayerStore)(_g);ei[0]!==eF||ei[1]!==eB||ei[2]!==e3||ei[3]!==eE||ei[4]!==eV||ei[5]!==eX||ei[6]!==e7||ei[7]!==e1?(e=()=>{let e=()=>{{let e=window.innerHeight,t=Math.max(80,e/2-175),n=Math.max(80,e/2-150),r=Math.max(80,e/2-125),i=Math.max(80,e/2-130),a=Math.max(80,e/2-160);eV({x:80,y:i}),eX({x:80,y:a}),eF(e=>({x:80,y:t})),eB(e=>({x:80,y:n})),eE(e=>({x:80,y:r}));let o=Math.max(80,e/2-100);l.useUIStore.getState().setLinkPos(e=>({...e,y:o})),e1(e=>({...e,y:o})),e3(e=>({...e,y:o})),e7(e=>({...e,y:o}))}};return window.addEventListener("resize",e),window.addEventListener("orientationchange",e),()=>{window.removeEventListener("resize",e),window.removeEventListener("orientationchange",e)}},ei[0]=eF,ei[1]=eB,ei[2]=e3,ei[3]=eE,ei[4]=eV,ei[5]=eX,ei[6]=e7,ei[7]=e1,ei[8]=e):e=ei[8],ei[9]===Symbol.for("react.memo_cache_sentinel")?(t=[],ei[9]=t):t=ei[9],(0,a.useEffect)(e,t),ei[10]===Symbol.for("react.memo_cache_sentinel")?(n=[],ei[10]=n):n=ei[10],(0,a.useEffect)(_h,n),ei[11]!==ea?(d=()=>{document.documentElement.style.backgroundColor=ea,document.body.style.backgroundColor=ea,document.documentElement.style.setProperty("--background",ea)},m=[ea],ei[11]=ea,ei[12]=d,ei[13]=m):(d=ei[12],m=ei[13]),(0,a.useEffect)(d,m),ei[14]!==to||ei[15]!==tl||ei[16]!==ts||ei[17]!==tc?(p=(e,t)=>(0,u.findPlayer)({teamAPlayers:to,teamASubs:tl,teamBPlayers:ts,teamBSubs:tc},t,e),ei[14]=to,ei[15]=tl,ei[16]=ts,ei[17]=tc,ei[18]=p):p=ei[18];let tI=p;ei[19]!==tI?(h=(e,t)=>{let n=void 0===t?null:t;return e?"A"===n||"B"===n?n:tI("A",e)?"A":tI("B",e)?"B":null:null},ei[19]=tI,ei[20]=h):h=ei[20];let tC=h,tN=()=>{if(e$)return{targetId:eI,targetTeam:tC(eI,null)};if(1===tz.length){let e=tz[0];return{targetId:e.id,targetTeam:tC(e.id,e.team)}}let e=ej?.markerId||null;return{targetId:e,targetTeam:tC(e,ej?.markerTeam||null)}};ei[21]!==to||ei[22]!==tl||ei[23]!==ts||ei[24]!==tc?(f=e=>("A"===e?[...to,...tl]:[...ts,...tc]).filter(_p),ei[21]=to,ei[22]=tl,ei[23]=ts,ei[24]=tc,ei[25]=f):f=ei[25];let tT=f;ei[26]!==tI||ei[27]!==tT?(g=(e,t)=>{if(!e||!Array.isArray(e.position))return null;let n={x:e.position[0],z:e.position[2]};if(!t)return n;if("team"===t.anchorType){let t=tT(e.team);if(0===t.length)return n;let r=0,i=0;return t.forEach(e=>{r+=e.position[0],i+=e.position[2]}),{x:e.position[0]-r/t.length,z:e.position[2]-i/t.length}}if("custom"===t.anchorType&&Array.isArray(t.anchors)&&t.anchors.length>0){let n=0,r=0,i=0;if(t.anchors.forEach(e=>{let t=tI(e.team,e.id);t&&Array.isArray(t.position)&&(n+=t.position[0],r+=t.position[2],i+=1)}),i>0)return{x:e.position[0]-n/i,z:e.position[2]-r/i}}return n},ei[26]=tI,ei[27]=tT,ei[28]=g):g=ei[28];let tA=g,tP=tv?"A"===tv.team?tu:td:null;ei[29]!==eh||ei[30]!==tp?(x=eh?tp.find(e=>e.id===eh):null,ei[29]=eh,ei[30]=tp,ei[31]=x):x=ei[31];let tE=x;ei[32]===Symbol.for("react.memo_cache_sentinel")?(b={color:"#4ade80",outlineColor:"#ffffff",opacity:.35,outlineOpacity:.55,filled:!0,outlined:!0,striped:!0,dashed:!1,gradientMode:null,stripeScale:.12,dashScale:1.2,thickness:.12},ei[32]=b):b=ei[32];let[tD,tM]=(0,a.useState)(b),tz=(0,s.usePlayerStore)(_m);(0,a.useEffect)(()=>{ef&&tz.length>=3&&tx({id:"preview",playerIds:tz.map(_d),config:tD})},[ef,tD,tz]),ei[33]!==tE||ei[34]!==ef||ei[35]!==tx?(y=e=>{!ef&&tE&&tx({id:`preview-zone-${tE.id}`,previewSourceZoneId:tE.id,playerIds:tE.playerIds,config:e,source:tE.source,coverageTeam:tE.coverageTeam,coverageFormation:tE.coverageFormation})},ei[33]=tE,ei[34]=ef,ei[35]=tx,ei[36]=y):y=ei[36];let tF=y,tO=()=>{tz.length<3||(th({id:`zone-${Date.now()}`,playerIds:tz.map(_u),config:tD}),eg(),tx(null),tb(),ty())};ei[37]!==tk||ei[38]!==tb||ei[39]!==ek||ei[40]!==tI||ei[41]!==ey||ei[42]!==eb.marker||ei[43]!==eb.target||ei[44]!==ev||ei[45]!==tw||ei[46]!==e_||ei[47]!==tS?(v=()=>{if(!eb.marker||!eb.target)return;let e=eb.marker.id,t=eb.target.id,n=eb.marker.team||(tI("A",e)?"A":null)||(tI("B",e)?"B":null);n&&e&&t&&(ev&&ev.markerId!==eb.marker.id&&tk(ev.markerTeam,ev.markerId),tw(n,e,t,ey),ek(),tS(null),tb(),e_({marker:null,target:null}))}
488,ei[37]=tk,ei[38]=tb,ei[39]=ek,ei[40]=tI,ei[41]=ey,ei[42]=eb.marker,ei[43]=eb.target,ei[44]=ev,ei[45]=tw,ei[46]=e_,ei[47]=tS,ei[48]=v):v=ei[48];let tL=v;ei[49]!==tk||ei[50]!==ek||ei[51]!==ev||ei[52]!==tS?(w=()=>{ev&&tk(ev.markerTeam,ev.markerId),ek(),tS(null)},ei[49]=tk,ei[50]=ek,ei[51]=ev,ei[52]=tS,ei[53]=w):w=ei[53];let tR=w,tB=()=>{let{targetId:e,targetTeam:t}=tN();if(!e||!t)return;let n=tI(t,e);if(!n)return;let r=tA(n,ej);r&&(t_(n.team,n.id,ej.dims,ej.anchors.map(_c),r,ej.distance,ej.anchorType),eN(),tS(null),tb(),ty())},tU=()=>{let{targetId:e,targetTeam:t}=tN();e&&t&&tk(t,e),eN(),tS(null)},tZ=e=>{eC(e);let{targetId:t,targetTeam:n}=tN();if(!t||!n)return;let r=tI(n,t);if(!r)return;let i=tA(r,e);i&&tS({type:"zonal",markerId:t,zoneDims:e.dims,zoneAnchors:e.anchors.map(_l),zoneInitialOffset:i,distance:e.distance,anchorType:e.anchorType})},{targetId:tG,targetTeam:tW}=tN();e:{let e,t,n;if(!tW){let e;ei[54]===Symbol.for("react.memo_cache_sentinel")?(e=[],ei[54]=e):e=ei[54],_=e;break e}ei[55]!==tW||ei[56]!==to||ei[57]!==tl||ei[58]!==ts||ei[59]!==tc?(e="A"===tW?[...to,...tl]:[...ts,...tc],ei[55]=tW,ei[56]=to,ei[57]=tl,ei[58]=ts,ei[59]=tc,ei[60]=e):e=ei[60];let r=e;ei[61]!==tG||ei[62]!==r?(t=r.filter(e=>e.id!==tG),ei[61]=tG,ei[62]=r,ei[63]=t):t=ei[63],ei[64]!==tW||ei[65]!==t?(n=t.map(e=>({...e,team:tW})),ei[64]=tW,ei[65]=t,ei[66]=n):n=ei[66],_=n}let tH=_;ei[67]!==eT||ei[68]!==eP?(k=()=>eP(!eT),ei[67]=eT,ei[68]=eP,ei[69]=k):k=ei[69],ei[70]!==eT||ei[71]!==eA||ei[72]!==eE||ei[73]!==k?(S=(0,r.jsx)(es,{isPinned:eT,onPinToggle:k,position:eA,onPositionChange:eE}),ei[70]=eT,ei[71]=eA,ei[72]=eE,ei[73]=k,ei[74]=S):S=ei[74],ei[75]!==tn||ei[76]!==tt?(j=e=>e?tt():tn(),ei[75]=tn,ei[76]=tt,ei[77]=j):j=ei[77],ei[78]!==eD||ei[79]!==ez?($=()=>ez(!eD),ei[78]=eD,ei[79]=ez,ei[80]=$):$=ei[80],ei[81]!==eD||ei[82]!==eM||ei[83]!==te||ei[84]!==eF||ei[85]!==j||ei[86]!==$?(I=(0,r.jsx)(eZ,{isOpen:te,setIsOpen:j,isPinned:eD,onPinToggle:$,position:eM,onPositionChange:eF}),ei[81]=eD,ei[82]=eM,ei[83]=te,ei[84]=eF,ei[85]=j,ei[86]=$,ei[87]=I):I=ei[87],ei[88]!==ta||ei[89]!==ti?(C=e=>e?ti():ta(),ei[88]=ta,ei[89]=ti,ei[90]=C):C=ei[90],ei[91]!==eO||ei[92]!==eR?(N=()=>eR(!eO),ei[91]=eO,ei[92]=eR,ei[93]=N):N=ei[93],ei[94]!==eO||ei[95]!==eL||ei[96]!==tr||ei[97]!==eB||ei[98]!==C||ei[99]!==N?(T=(0,r.jsx)(G,{isOpen:tr,setIsOpen:C,isPinned:eO,onPinToggle:N,position:eL,onPositionChange:eB}),ei[94]=eO,ei[95]=eL,ei[96]=tr,ei[97]=eB,ei[98]=C,ei[99]=N,ei[100]=T):T=ei[100],ei[101]===Symbol.for("react.memo_cache_sentinel")?(A=(0,r.jsx)(rH,{}),ei[101]=A):A=ei[101],ei[102]!==eg||ei[103]!==tx?(P=()=>{eg(),tx(null)},ei[102]=eg,ei[103]=tx,ei[104]=P):P=ei[104],ei[105]!==e0||ei[106]!==eY?(E=()=>e0(!eY),ei[105]=e0,ei[106]=eY,ei[107]=E):E=ei[107],ei[108]!==tE||ei[109]!==tO||ei[110]!==tF||ei[111]!==ef||ei[112]!==ep||ei[113]!==tD||ei[114]!==tg||ei[115]!==tM||ei[116]!==e1||ei[117]!==P||ei[118]!==E||ei[119]!==tf||ei[120]!==eY||ei[121]!==eQ?(D=(0,r.jsx)(rY,{isOpen:ep,onClose:P,isCreatingZone:ef,activeZone:tE,pendingZoneConfig:tD,setPendingZoneConfig:tM,updateZone:tf,removeZone:tg,handleConfirmCreateZone:tO,onPreviewConfigChange:tF,isPinned:eY,onPinToggle:E,initialOffset:eQ,onPositionChange:e1}),ei[108]=tE,ei[109]=tO,ei[110]=tF,ei[111]=ef,ei[112]=ep,ei[113]=tD,ei[114]=tg,ei[115]=tM,ei[116]=e1,ei[117]=P,ei[118]=E,ei[119]=tf,ei[120]=eY,ei[121]=eQ,ei[122]=D):D=ei[122],ei[123]!==eW||ei[124]!==eU?(M=()=>eW(!eU),ei[123]=eW,ei[124]=eU,ei[125]=M):M=ei[125],ei[126]!==tv||ei[127]!==tP||ei[128]!==el||ei[129]!==eo||ei[130]!==eV||ei[131]!==M||ei[132]!==eU||ei[133]!==eG||ei[134]!==tm?(z=(0,r.jsx)(eH,{isOpen:eo,onClose:el,activePlayerForMenu:tv,teamInfo:tP,updateTeamInfo:tm,isPinned:eU,onPinToggle:M,initialOffset:eG,onPositionChange:eV}),ei[126]=tv,ei[127]=tP,ei[128]=el,ei[129]=eo,ei[130]=eV,ei[131]=M,ei[132]=eU,ei[133]=eG,ei[134]=tm,ei[135]=z):z=ei[135],ei[136]!==eJ||ei[137]!==eq?(F=()=>eJ(!eq),ei[136]=eJ,ei[137]=eq,ei[138]=F):F=ei[138],ei[139]!==em||ei[140]!==eu||ei[141]!==ec||ei[142]!==eX||ei[143]!==F||ei[144]!==eq||ei[145]!==eK||ei[146]!==ed?(O=(0,r.jsx)(na,{isOpen:ec,onClose:eu,isPinned:eq,onPinToggle:F,initialOffset:eK,onPositionChange:eX,target:ed,onTargetHandled:em}),ei[139]=em,ei[140]=eu,ei[141]=ec,ei[142]=eX,ei[143]=F,ei[144]=eq,ei[145]=eK,ei[146]=ed,ei[147]=O):O=ei[147];let tV=eb.marker?eb.marker.name:"",tq=eb.target?eb.target.name:"";ei[148]!==eb.marker||ei[149]!==eb.target||ei[150]!==ew||ei[151]!==tS?(L=e=>{ew(e),eb.marker&&eb.target&&tS({markerId:eb.marker.id,targetId:eb.target.id,distance:e})},ei[148]=eb.marker,ei[149]=eb.target,ei[150]=ew,ei[151]=tS,ei[152]=L):L=ei[152],ei[153]!==ey||ei[154]!==eb.marker||ei[155]!==eb.target||ei[156]!==e_||ei[157]!==tS?(R=()=>{let e={marker:eb.target,target:eb.marker};e_(e),tS({markerId:e.marker.id,targetId:e.target.id,distance:ey})},ei[153]=ey,ei[154]=eb.marker,ei[155]=eb.target,ei[156]=e_,ei[157]=tS,ei[158]=R):R=ei[158],ei[159]!==ek||ei[160]!==tS?(B=()=>{ek(),tS(null)},ei[159]=ek,ei[160]=tS,ei[161]=B):B=ei[161];let tK=!!ev;return ei[162]!==e2||ei[163]!==e4?(U=()=>e4(!e2),ei[162]=e2,ei[163]=e4,ei[164]=U):U=ei[164],ei[165]!==ek||ei[166]!==tL||ei[167]!==tR||ei[168]!==ex||ei[169]!==ey||ei[170]!==e2||ei[171]!==e5||ei[172]!==e3||ei[173]!==tV||ei[174]!==tq||ei[175]!==L||ei[176]!==R||ei[177]!==B||ei[178]!==tK||ei[179]!==U?(Z=(0,r.jsx)(r1,{isOpen:ex,onClose:ek,markerName:tV,targetName:tq,distance:ey,setDistance:L,onSwapRoles:R,onConfirm:tL,onCancel:B,onDelete:tR,isEditing:tK,isPinned:e2,onPinToggle:U,initialOffset:e5,onPositionChange:e3}),ei[165]=ek,ei[166]=tL,ei[167]=tR,ei[168]=ex,ei[169]=ey,ei[170]=e2,ei[171
488]=e5,ei[172]=e3,ei[173]=tV,ei[174]=tq,ei[175]=L,ei[176]=R,ei[177]=B,ei[178]=tK,ei[179]=U,ei[180]=Z):Z=ei[180],ei[181]!==eN||ei[182]!==tS?(W=()=>{eN(),tS(null)},ei[181]=eN,ei[182]=tS,ei[183]=W):W=ei[183],ei[184]!==eI||ei[185]!==tI||ei[186]!==e$||ei[187]!==tz||ei[188]!==ej.markerId||ei[189]!==ej.markerTeam?(H=e$&&eI?(tI("A",eI)||tI("B",eI))?.name:tz[0]?.name||(ej?.markerId&&ej?.markerTeam?tI(ej.markerTeam,ej.markerId)?.name:"")||"",ei[184]=eI,ei[185]=tI,ei[186]=e$,ei[187]=tz,ei[188]=ej.markerId,ei[189]=ej.markerTeam,ei[190]=H):H=ei[190],ei[191]!==tZ||ei[192]!==ej?(V=e=>tZ({...ej,dims:e}),ei[191]=tZ,ei[192]=ej,ei[193]=V):V=ei[193],ei[194]!==tI||ei[195]!==tZ||ei[196]!==ej?(q=e=>{let t=tI("A",e)||tI("B",e);t&&!ej.anchors.some(t=>t.id===e)&&tZ({...ej,anchors:[...ej.anchors,{id:t.id,name:t.name,team:t.team}]})},ei[194]=tI,ei[195]=tZ,ei[196]=ej,ei[197]=q):q=ei[197],ei[198]!==tZ||ei[199]!==ej?(K=e=>tZ({...ej,anchors:ej.anchors.filter(t=>t.id!==e)}),ei[198]=tZ,ei[199]=ej,ei[200]=K):K=ei[200],ei[201]!==tZ||ei[202]!==ej?(J=e=>tZ({...ej,distance:e}),ei[201]=tZ,ei[202]=ej,ei[203]=J):J=ei[203],ei[204]!==tZ||ei[205]!==ej?(X=e=>tZ({...ej,anchorType:e}),ei[204]=tZ,ei[205]=ej,ei[206]=X):X=ei[206],ei[207]!==eN||ei[208]!==tS?(Y=()=>{eN(),tS(null)},ei[207]=eN,ei[208]=tS,ei[209]=Y):Y=ei[209],ei[210]!==e9||ei[211]!==e6?(Q=()=>e9(!e6),ei[210]=e9,ei[211]=e6,ei[212]=Q):Q=ei[212],ei[213]!==tB||ei[214]!==tU||ei[215]!==e$||ei[216]!==eS||ei[217]!==e7||ei[218]!==W||ei[219]!==H||ei[220]!==V||ei[221]!==q||ei[222]!==K||ei[223]!==J||ei[224]!==X||ei[225]!==Y||ei[226]!==Q||ei[227]!==ej.anchorType||ei[228]!==ej.anchors||ei[229]!==e
vendor: 1,289 bytes, line 488
488j.dims||ei[230]!==ej.distance||ei[231]!==e6||ei[232]!==e8||ei[233]!==tH?(ee=(0,r.jsx)(r2,{isOpen:eS,onClose:W,markerName:H,zoneDims:ej.dims,setZoneDims:V,anchors:ej.anchors,onAddAnchor:q,onRemoveAnchor:K,availableTeammates:tH,distance:ej.distance,setDistance:J,anchorType:ej.anchorType,setAnchorType:X,onConfirm:tB,onCancel:Y,onDelete:tU,isEditing:e$,isPinned:e6,onPinToggle:Q,initialOffset:e8,onPositionChange:e7}),ei[213]=tB,ei[214]=tU,ei[215]=e$,ei[216]=eS,ei[217]=e7,ei[218]=W,ei[219]=H,ei[220]=V,ei[221]=q,ei[222]=K,ei[223]=J,ei[224]=X,ei[225]=Y,ei[226]=Q,ei[227]=ej.anchorType,ei[228]=ej.anchors,ei[229]=ej.dims,ei[230]=ej.distance,ei[231]=e6,ei[232]=e8,ei[233]=tH,ei[234]=ee):ee=ei[234],ei[235]===Symbol.for("react.memo_cache_sentinel")?(et=(0,r.jsx)(vY,{}),ei[235]=et):et=ei[235],ei[236]!==t$||ei[237]!==tj||ei[238]!==tz?(en=(0,r.jsx)(_s,{contextMenu:tj,closeContextMenu:t$,selectedPlayers:tz}),ei[236]=t$,ei[237]=tj,ei[238]=tz,ei[239]=en):en=ei[239],ei[240]!==S||ei[241]!==I||ei[242]!==T||ei[243]!==D||ei[244]!==z||ei[245]!==O||ei[246]!==Z||ei[247]!==ee||ei[248]!==en?(er=(0,r.jsxs)("div",{className:"app-root",children:[S,I,T,A,D,z,O,Z,ee,et,en]}),ei[240]=S,ei[241]=I,ei[242]=T,ei[243]=D,ei[244]=z,ei[245]=O,ei[246]=Z,ei[247]=ee,ei[248]=en,ei[249]=er):er=ei[249],er}],407276)}]);

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.