import{i as k,k as m}from"./B01oAfcV.js";import{m as _,a as h,s as w,z as P}from"./3mfdO5_3.js";const d=k(),$=(s,i,t)=>new Promise((o,n)=>{d("リプレイデータ登録処理を開始しました");const e=s.dataTransfer.files;if(!e.length)return o();const r=e[0];if(!y(r))return o();b(r,i,t,o,n)}),y=s=>s.size>1024*1024?(d.error("ファイルサイズが規定数を超えています"),!1):s.type!=="text/csv"?(d.error("ファイルが間違っています"),!1):!0,b=(s,i,t,o,n)=>{const e=new FileReader;e.onload=()=>x(e.result,i,t,o,n),e.onerror=r=>n(r),e.readAsText(s)},x=async(s,i,t,o,n)=>{try{const e=F(s);let r=K(s,e,i);await R(r,t),o()}catch(e){n(e)}},F=s=>{const i=s.split(/\r?\n/),t=1,o=2;return i.reduce((n,e)=>{const r=e.split(","),c=Number(r[o]),a=Number(r[t]);return n[a]||(n[a]={sumKill:0}),n[a].sumKill+=c,n},{})},K=(s,i,t)=>{const o=s.split(/\r?\n/),n=0,e=1;return o.map(r=>{const c=r.split(",");if(c.length<=1)return null;const a=Number(c[e]),u=i[a].sumKill,f=T(a,t.points),l=(u>t.max_kill?t.max_kill:u)*t.point_kill,p=f+l;return{server_id:t.server_id,season_id:t.season_id,match_id:t.match_id,season_row:t.season_row,epic_id:c[n],defeat:u,rank:a,point:p,rank_point:f,kill_point:l}}).filter(r=>r!==null)},R=async(s,i)=>{const t=s.map(l=>l.point),o=t.sort((l,p)=>l-p),n=o.length,e=_(o),r=h(o),c=w(t);s.forEach(l=>{const p=o.indexOf(l.point);l.percentile=p/(n-1),l.z_score=P(l.point,r,c)});const a=`/api/match/set/result/sim/${n}/${e}/${r}/${i}`,u={method:"POST",body:s},{data:{_rawValue:f}}=await m(a,u);f==="ok"?d.success("リプレイデータを登録しました"):d.error("処理に失敗しました")},T=(s,i)=>{const t=[...i].reverse();let o=0,n=0;for(;!(!t[n]||s>t[n].rank);)o+=t[n].point,n++;return o};export{$ as r};
