歌曲数据和谱面

来自LoveLive Wiki
跳到导航 跳到搜索

var tgtype;(function(tgtype){tgtype[tgtype["none"]=-1]="none";tgtype[tgtype["all"]=0]="all";tgtype[tgtype["muse"]=100]="muse";tgtype[tgtype["aqours"]=200]="aqours";tgtype[tgtype["niji"]=300]="niji";tgtype[tgtype["liella"]=400]="liella";tgtype[tgtype["muse_solo"]=190]="muse_solo";tgtype[tgtype["muse_other"]=199]="muse_other";tgtype[tgtype["aqours_solo"]=290]="aqours_solo";tgtype[tgtype["aqours_other"]=299]="aqours_other";tgtype[tgtype["niji_solo"]=390]="niji_solo";tgtype[tgtype["niji_other"]=399]="niji_other";tgtype[tgtype["liella_solo"]=490]="liella_solo";tgtype[tgtype["liella_other"]=499]="liella_other";tgtype[tgtype["pts"]=101]="pts";tgtype[tgtype["llw"]=102]="llw";tgtype[tgtype["bibi"]=103]="bibi";tgtype[tgtype["cyr"]=201]="cyr";tgtype[tgtype["aaa"]=202]="aaa";tgtype[tgtype["gk"]=203]="gk";tgtype[tgtype["dd"]=301]="dd";tgtype[tgtype["azn"]=302]="azn";tgtype[tgtype["q4"]=303]="q4";tgtype[tgtype["r3b"]=304]="r3b";tgtype[tgtype["arise"]=104]="arise";tgtype[tgtype["ss"]=204]="ss";tgtype[tgtype["sas"]=205]="sas";tgtype[tgtype["snp"]=401]="snp";tgtype[tgtype["yn"]=402]="yn";tgtype[tgtype["catchu"]=403]="catchu";tgtype[tgtype["kld"]=404]="kld";tgtype[tgtype["sync"]=405]="sync";tgtype[tgtype["dummy_500"]=500]="dummy_500";tgtype[tgtype["dummy_501"]=501]="dummy_501";tgtype[tgtype["dummy_502"]=502]="dummy_502";tgtype[tgtype["dummy_503"]=503]="dummy_503";tgtype[tgtype["dummy_600"]=600]="dummy_600";tgtype[tgtype["dummy_9999"]=9999]="dummy_9999";tgtype[tgtype["smile_1919810"]=1919811]="smile_1919810";tgtype[tgtype["pure_1919810"]=1919812]="pure_1919810";tgtype[tgtype["cool_1919810"]=1919813]="cool_1919810"})(tgtype||(tgtype={}));var note_action;(function(note_action){note_action[note_action["normal"]=0]="normal";note_action[note_action["press"]=1]="press";note_action[note_action["swing_left"]=2]="swing_left";note_action[note_action["swing_right"]=3]="swing_right";note_action[note_action["end"]=4]="end";note_action[note_action["press_end"]=5]="press_end";note_action[note_action["swing_end"]=6]="swing_end"})(note_action||(note_action={}));var sktype;(function(sktype){sktype[sktype["score_bad"]=1]="score_bad";sktype[sktype["judge"]=2]="judge";sktype[sktype["heal"]=3]="heal";sktype[sktype["score_perfect"]=4]="score_perfect"})(sktype||(sktype={}));var trtype;(function(trtype){trtype[trtype["note"]=1]="note";trtype[trtype["combo"]=2]="combo";trtype[trtype["perfect"]=3]="perfect";trtype[trtype["time"]=4]="time"})(trtype||(trtype={}));var parse_state;(function(parse_state){parse_state[parse_state["delay"]=0]="delay";parse_state[parse_state["pos"]=1]="pos"})(parse_state||(parse_state={}));class sif2_live_data{static _get_livedata_text(){const r=$('#chart-data-raw');if(r.length===0)alert("sif2_live_data找不到可读取的谱面数据!");return r.html()}static chart_data_init(){const text=this._get_livedata_text();text.split('\n').forEach((line)=>{if(!line||line.length===0)return;const parts=line.split("|");const part1_str=parts[0].split("%");const[live_id,attribute,masterGroupId,release_date,bpm,jacket_image_id]=part1_str.map(v=>parseInt(v));const jacket_image=`jacket_${jacket_image_id}`;const[,,,,,,name,kana]=part1_str;if(!parts[1])console.warn(line);const part2=parts[1].split(",").map(v=>parseInt(v));const charts_by_difficulty=new Map();for(let i=0;i<part2.length;i+=3){const[difficulty,difficulty_rating,max_combo]=part2.slice(i,i+3);const difficulty_id=live_id*10+difficulty;charts_by_difficulty.set(difficulty,{live_id,difficulty_id,difficulty_rating,max_combo,raw_text:parts[2+i/3],})};this.live_info.set(live_id,{live_id,attribute,masterGroupId,release_date,bpm,jacket_image,name,kana,charts_by_difficulty,})})}static chart_info_get(difficulty_id){if(this._chart_info.has(difficulty_id))return this._chart_info.get(difficulty_id);const{name,live_id,attribute,charts_by_difficulty}=this.live_info.get(Math.floor(difficulty_id/10));const{max_combo,raw_text}=charts_by_difficulty.get(difficulty_id%10);const reg_lt=new RegExp(String.fromCharCode(38,108,116,59),"g"),reg_gt=new RegExp(String.fromCharCode(38,103,116,59),"g");const note_list=this._chart_note_parse(raw_text.replace(reg_lt,'<').replace(reg_gt,'>'));if(max_combo!==note_list[note_list.length-1].combo)throw new Error(`live_id ${live_id}${name}difficulty ${difficulty_id%10}combo mismatch`);const weights_detail=this._chart_weights(note_list);const weights_total=weights_detail.map((m,i)=>{let total_weight=0;for(const[weight,count]of m){total_weight+=weight*count}return total_weight});this._chart_info.set(difficulty_id,{attribute,max_combo,note_list,weights_detail,weights_total,skill_coverage_time:new Map(),skill_coverage_note:new Map(),skill_coverage_combo:new Map(),skill_coverage_perfect:new Map()});return this._chart_info.get(difficulty_id)}static chart_skill_coverage_get(difficulty_id,skill){const chart=this.chart_info_get(difficulty_id);const{tr,tm}=skill;const key=tr+100000*tm;switch(skill.trigger){case trtype.note:if(chart.skill_coverage_note.has(key))return chart.skill_coverage_note.get(key);break;case trtype.combo:if(chart.skill_coverage_combo.has(key))return chart.skill_coverage_combo.get(key);break;case trtype.perfect:if(chart.skill_coverage_perfect.has(key))return chart.skill_coverage_perfect.get(key);break;case trtype.time:if(chart.skill_coverage_time.has(key))return chart.skill_coverage_time.get(key);break;default:throw new Error();}const note_list=chart.note_list;if(skill.type===sktype.score_perfect||skill.type===sktype.score_bad||skill.type===sktype.judge){if(tr<1)throw new Error();const stacks_by_judge=[];const stacks_by_pos=[,[],[],[],[],[],[],[],[],[]];function stacks_by_pos_assign(){note_list.forEach(({judge,pos})=>{stacks_by_pos[pos][stacks_by_judge[judge]||0]=(stacks_by_pos[pos][stacks_by_judge[judge]||0]||0)+1})}let j,time_limit;if(skill.trigger===trtype.note){for(let i=tr-1;i<note_list.length;i+=tr){j=i+1;time_limit=note_list[i].call_time+tm;while(note_list[j]&&note_list[j].call_time<=time_limit){stacks_by_judge[j]=(stacks_by_judge[j]||0)+1;j+=1}}stacks_by_pos_assign();chart.skill_coverage_note.set(key,stacks_by_pos)}else if(skill.trigger===trtype.combo){if(tr<3)throw new Error();for(let i=tr-1;i<note_list.length;i+=tr){while(note_list[i]&&note_list[i].combo%tr!==0)i+=1;if(i===note_list.length)break;j=i+1;time_limit=note_list[i].call_time+tm;while(note_list[j]&&note_list[j].call_time<=time_limit){stacks_by_judge[j]=(stacks_by_judge[j]||0)+1;j+=1}}stacks_by_pos_assign();chart.skill_coverage_combo.set(key,stacks_by_pos)}else if(skill.trigger===trtype.perfect){for(let i=tr-1;i<note_list.length;i+=tr){while(note_list[i]&&Math.floor(note_list[i].judge*background_settings.perfect_rate/100)%tr!==0)i+=1;if(i===note_list.length)break;j=i+1;time_limit=note_list[i].call_time+tm;while(note_list[j]&&note_list[j].call_time<=time_limit){stacks_by_judge[j]=(stacks_by_judge[j]||0)+1;j+=1}}stacks_by_pos_assign();chart.skill_coverage_perfect.set(key,stacks_by_pos)}else if(skill.trigger===trtype.time){let time_start=tr;for(let i=0;i<note_list.length;){while(note_list[i]&&note_list[i].call_time<=time_start)i+=1;if(i===note_list.length)break;j=i+1;time_limit=time_start+tm;while(note_list[j]&&note_list[j].call_time<=time_limit){stacks_by_judge[j]=(stacks_by_judge[j]||0)+1;j+=1}time_start+=tr}stacks_by_pos_assign();chart.skill_coverage_perfect.set(key,stacks_by_pos)}return stacks_by_pos}else return null}static _chart_note_parse(encoded_str){const note_list=[];const parts=encoded_str.split("~");const multipler=10**(parseInt(parts[0])-3);const delay_map=new Map();parts.slice(1,-1).map((str)=>{delay_map.set(str.codePointAt(0),this._from52(str.slice(1)))});let time_msec=0;const chart_str=parts[parts.length-1];let c=null,a=null;let state=parse_state.delay;let delay=[],pos=null,action=note_action.normal,star=false;let judge=0,combo=0;for(let i=0;i<=chart_str.length;i+=1){c=chart_str[i];a=(c||'$').charCodeAt(0);if(state===parse_state.delay){if(a>=65&&a<91||a>=97&&a<123){delay.push(a);continue}else if(a>=49&&a<58){pos=a-48;state=parse_state.pos;continue}else throw new Error(`position ${i}character ${c}at state delay`)}else if(state===parse_state.pos){if(a>=65&&a<91||a>=97&&a<123||a===36){time_msec+=((delay.length===1&&(delay_map.get(delay[0])/multipler))||(this._from52_code(delay)/multipler));judge+=1;if(action!==note_action.press)combo+=1;note_list.push({judge,combo,call_time:time_msec,pos,action,star,});star=false;action=note_action.normal;delay=[a];state=parse_state.delay;continue}else if(a>=49&&a<58){time_msec+=((delay.length===1&&(delay_map.get(delay[0])/multipler))||(this._from52_code(delay)/multipler));judge+=1;if(action!==note_action.press)combo+=1;note_list.push({judge,combo,call_time:time_msec,pos,action,star,});star=false;delay=[];pos=a-48;action=note_action.normal;continue}else if(a===60){action=note_action.swing_left;continue}else if(a===61){action=note_action.press;continue}else if(a===62){action=note_action.swing_right;continue}else if(a===35){action=note_action.end;continue}else if(a===42){star=true;continue}else throw new Error(`position ${i}character ${c}at state pos`)}}return note_list}static _chart_weights(note_list){let pressed_pos_1=0,pressed_pos_2=0,combo_weight_ratio=1;let last_call_time=0,last_pos=0,last_type_weight_ratio=1,type_weight_ratio=1;const weights=[];const combo_changes=[51,101,201,401,601,800];let combo_changes_index=0;for(let i=1;i<=9;i+=1)weights[i]=new Map();for(let i=0;i<note_list.length;i+=1){const{judge,combo,call_time,pos,action,star}=note_list[i];if(combo_changes[combo_changes_index]===combo){combo_weight_ratio=this._combo_multipler(combo);combo_changes_index+=1}if(action===note_action.press){if(!pressed_pos_1)pressed_pos_1=pos;else if(!pressed_pos_2)pressed_pos_2=pos;else throw new Error(`more than 2 press at the same time`);type_weight_ratio=1.25}else if(action===note_action.end){if(pressed_pos_1===pos){pressed_pos_1=0;type_weight_ratio=1.25}else if(pressed_pos_2===pos){pressed_pos_2=0;type_weight_ratio=1.25}else type_weight_ratio=0.5}else if(action===note_action.swing_left||action===note_action.swing_right)type_weight_ratio=0.5;else type_weight_ratio=1;this._map_accumulate(weights[pos],combo_weight_ratio*type_weight_ratio);if(combo_changes[combo_changes_index]===combo+1){last_type_weight_ratio=type_weight_ratio;last_pos=pos;last_call_time=call_time}else if(combo_changes[combo_changes_index-1]===combo){if(call_time-last_call_time<45&&last_type_weight_ratio!==type_weight_ratio){const diff=call_time-last_call_time<15?0.5:0.3;this._map_accumulate(weights[last_pos],this._combo_multipler(combo-1)*last_type_weight_ratio,-diff);this._map_accumulate(weights[last_pos],combo_weight_ratio*last_type_weight_ratio,diff);this._map_accumulate(weights[pos],this._combo_multipler(combo-1)*type_weight_ratio,diff);this._map_accumulate(weights[pos],combo_weight_ratio*type_weight_ratio,-diff)}}}return weights}static _map_accumulate(map,key,diff=1){map.has(key)&&map.set(key,map.get(key)+diff)||map.set(key,diff)}static _combo_multipler(combo){if(combo<=50)return 1;else if(combo<=100)return 1.1;else if(combo<=200)return 1.15;else if(combo<=400)return 1.2;else if(combo<=600)return 1.25;else if(combo<800)return 1.3;else return 1.35}static _from52(base52){return Array.from(base52).reduce((prev,curr)=>{const ascii=curr.charCodeAt(0);return prev*52+ascii-(ascii>96?97:39)},0)}static _from52_code(base52){return base52.reduce((prev,curr)=>{return prev*52+curr-(curr>96?97:39)},0)}static chart_difficulty_rating_selection(rating_min,rating_max){const selected_difficulties=[];for(const[,{charts_by_difficulty}]of this.live_info){for(const[,{difficulty_id,difficulty_rating}]of charts_by_difficulty){if(difficulty_rating<rating_min||difficulty_rating>rating_max)continue;selected_difficulties.push(difficulty_id)}}return selected_difficulties}}sif2_live_data.live_info=new Map();sif2_live_data._chart_info=new Map();sif2_live_data.chart_data_init();const ROMAJI_KANA_ARR=["xtsu/っ/ッ","shi/し/シ","chi/ち/チ","tsu/つ/ツ","ka/か/カ","ki/き/キ","ku/く/ク","ke/け/ケ","ko/こ/コ","ga/が/ガ","gi/ぎ/ギ","gu/ぐ/グ","ge/げ/ゲ","go/ご/ゴ","sa/さ/サ","su/す/ス","se/せ/セ","so/そ/ソ","za/ざ/ザ","ji/じ/ジ","zu/ず/ズ","ze/ぜ/ゼ","zo/ぞ/ゾ","ta/た/タ","te/て/テ","to/と/ト","da/だ/ダ","dzi/ぢ/ヂ","dzu/づ/ヅ","de/で/デ","do/ど/ド","na/な/ナ","ni/に/ニ","nu/ぬ/ヌ","ne/ね/ネ","no/の/ノ","ha/は/ハ","hi/ひ/ヒ","fu/ふ/フ","he/へ/ヘ","ho/ほ/ホ","pa/ぱ/パ","pi/ぴ/ピ","pu/ぷ/プ","pe/ぺ/ペ","po/ぽ/ポ","ba/ば/バ","bi/び/ビ","bu/ぶ/ブ","be/べ/ベ","bo/ぼ/ボ","ma/ま/マ","mi/み/ミ","mu/む/ム","me/め/メ","mo/も/モ","ra/ら/ラ","ri/り/リ","ru/る/ル","re/れ/レ","ro/ろ/ロ","wa/わ/ワ","wi/ゐ/ヰ","we/ゑ/ヱ","wo/を/ヲ","va/ゔぁ/ヴァ","vi/ゔぃ/ヴィ","ve/ゔぇ/ヴェ","vo/ゔぉ/ヴォ","vu/ゔ/ヴ","n/ん/ン","xa/ぁ/ァ","xi/ぃ/ィ","xu/ぅ/ゥ","xe/ぇ/ェ","xo/ぉ/ォ","xya/ゃ/ャ","xyu/ゅ/ュ","xyo/ょ/ョ","ya/や/ヤ","yu/ゆ/ユ","yo/よ/ヨ","a/あ/ア","i/い/イ","u/う/ウ","e/え/エ","o/お/オ","h/っ/ッ","-/ー/ー"];function replaceAll(iiyo,koiyo,ikuiku){return iiyo.replace(new RegExp(koiyo,"gm"),ikuiku)}const KANA_REPLACE_BEFORE_ARR=["([んン])([あいうえおやゆよアイウエオヤユヨ])=$1'$2"];const KANA_REPLACE_AFTER_ARR=["fux([aieo])=f$1","ixy=y","(s|c)hy=$1h","dzu=zu","(dz|j)y?=j","xtsu([rtpsdfghjkbm])=$1$1","xtsuc=tc","([aiueo])-=$1$1"];function kanaToRomaji(kana){KANA_REPLACE_BEFORE_ARR.forEach((val)=>{var arr=val.split("=");kana=replaceAll(kana,arr[0],arr[1])});ROMAJI_KANA_ARR.forEach((val)=>{var arr=val.split("/");kana=replaceAll(kana,arr[1]+"|"+arr[2],arr[0])});KANA_REPLACE_AFTER_ARR.forEach((val)=>{var arr=val.split("=");kana=replaceAll(kana,arr[0],arr[1])});return kana}const ROMAJI_REPLACE_BEFORE_ARR=["(f)([aieo])=$1ux$2","(sh|j|ch|dz)y?([auo])=$1ixy$2","([kgnhpbmr])y=$1ixy","tch=xtsuch","([rtpsdfghjkbm])\\\\1=xtsu$1"];function romajiToKana(romaji){romaji=romaji.toLowerCase();ROMAJI_REPLACE_BEFORE_ARR.forEach((val)=>{var arr=val.split("=");romaji=replaceAll(romaji,arr[0],arr[1])});ROMAJI_KANA_ARR.forEach((val)=>{var arr=val.split("/");romaji=replaceAll(romaji,arr[0],arr[1])});ROMAJI_REPLACE_BEFORE_ARR.forEach((val)=>{var arr=val.split("=");romaji=replaceAll(romaji,arr[0],arr[1])});ROMAJI_KANA_ARR.forEach((val)=>{var arr=val.split("/");romaji=replaceAll(romaji,arr[0],arr[2])});return replaceAll(romaji,"\\'","")}class sif2_live_data_filter{static by_romaji(finder){finder=finder.replace(/g/g,"k");finder=finder.replace(/b|p/g,"h");finder=finder.replace(/d/g,"t");finder=finder.replace(/j/g,"sh");let kana=romajiToKana(finder);kana=kana.replace(/っ/g,"つ");kana=kana.replace(/ゃ/g,"や");kana=kana.replace(/ょ/g,"よ");kana=kana.replace(/ゅ/g,"ゆ");kana=kana.replace(/ぅ/g,"う");let regexp;try{regexp=new RegExp(kanaToRomaji(kana).replace(/ /g,".*"))}catch(e){return[]}this._by_romaji_try_init();const res=[];this._by_romaji_map.forEach((tar_kana,id)=>{if(!tar_kana.match(regexp))return;res.push(id)});return res}static _by_romaji_try_init(){if(this._by_romaji_map.size!==0)return;sif2_live_data.live_info.forEach((live,id)=>{let kana=live.kana;kana=kana.replace(/ッ/g,"ツ");kana=kana.replace(/ャ/g,"ヤ");kana=kana.replace(/ョ/g,"ヨ");kana=kana.replace(/ュ/g,"ユ");kana=kana.replace(/ゥ/g,"ウ");this._by_romaji_map.set(id,kanaToRomaji(kana))})}static by_fuzzy_pure_name(finder){const finders=finder.split(" ");const fuzzy_finders=finders.map(this._fuzzy_pure_name);this._by_name_try_init();let fpreg;try{fpreg=new RegExp(fuzzy_finders.join(".*"))}catch(e){return[]}const res=[];this._by_fuzzy_pure_names_map.forEach((tar_fuzzy_pures,id)=>{for(const tar_fuzzy_pure of tar_fuzzy_pures){if(!(tar_fuzzy_pure.match(fpreg)))continue;res.push(id);return}});return res}static by_fuzzy_name(finder){const fuzzy_finder=this._fuzzy_name(finder);this._by_name_try_init();const res=[];this._by_fuzzy_name_map.forEach((tar_fuzzy,id)=>{if(tar_fuzzy.indexOf(fuzzy_finder)===-1)return;res.push(id)});return res}static _fuzzy_name(str){str=str.replace(/ /g,"");str=str.replace(/!/g,"!");str=str.replace(/×/g,"x");str=str.replace(/?/g,"?");str=str.replace(/(/g,"(");str=str.replace(/)/g,")");str=str.replace(/・/g,"·");str=str.replace(/&/g,"&");str=str.replace(/~|〜/g,"~");str=str.replace(/,/g,",");str=str.replace(/。/g,".");str=str.replace(/*/g,"*");str=str.replace(/+/g,"+");str=str.replace(/=/g,"=");str=str.replace(/‘|’/g,"'");str=str.replace(/“|”/g,"\"");str=str.replace(/1/g,"1");str=str.replace(/2/g,"2");str=str.replace(/3/g,"3");str=str.replace(/‼/g,"!!");str=str.toLowerCase();return str}static _fuzzy_pure_name(str){str=str.replace(/ /g,"");str=str.replace(/!|!|‼/g,"");str=str.replace(/×/g,"");str=str.replace(/?|\?/g,"");str=str.replace(/(|\(/g,"");str=str.replace(/)|\)/g,"");str=str.replace(/・|·/g,"");str=str.replace(/&|\&/g,"");str=str.replace(/~|〜|\~/g,"");str=str.replace(/,|,/g,"");str=str.replace(/。|\./g,"");str=str.replace(/*|\*/g,"");str=str.replace(/+|\+/g,"");str=str.replace(/=|\=/g,"");str=str.replace(/‘|’|'/g,"");str=str.replace(/“|”|"/g,"");str=str.replace(/1/g,"1");str=str.replace(/2/g,"2");str=str.replace(/3/g,"3");str=str.replace(/、/g,"");str=str.replace(/☆/g,"");str=str.replace(/♡/g,"");str=str.replace(/\-/g,"");str=str.replace(/←/g,"");str=str.replace(/→/g,"");str=str.replace(/:/g,"");str=str.toLowerCase();return str}static _by_name_try_init(){if(this._by_fuzzy_name_map.size!==0)return;if(this._by_fuzzy_pure_names_map.size!==0)return;sif2_live_data.live_info.forEach((live,id)=>{this._by_fuzzy_name_map.set(id,this._fuzzy_name(live.name));this._by_fuzzy_pure_names_map.set(id,[this._fuzzy_pure_name(live.name)])});try{this._alias_name_init_add()}catch(e){console.warn("alias name source read-in failed:",e)}}static _get_songle_text(){const r=$('#song-alias-name');if(r.length===0)alert("sif2_live_data_filter找不到可读取的歌曲别名数据!");return r.html()}static _alias_name_init_add(){try{const alias_name=JSON.parse(this._get_songle_text());alias_name.forEach(([name,aliases])=>{const[id]=sif2_live_data_filter.by_fuzzy_pure_name(name);if(!id){console.warn(`alias name index ${name}does not exist!`);return}aliases.forEach((v)=>{this._by_fuzzy_pure_names_map.get(id).push(v)})})}catch(e){alert("sif2_live_data_filter解析歌曲别名数据过程中出现错误,可能是数据的格式不正确")}}static by_combo(finder){if(isNaN(parseInt(finder.replace(/[x\*]/g,"0"))))return[];this._by_combo_try_init();const res=[];const regexp=new RegExp(finder.replace(/[x\*]/g,"[0-9]"));this._by_combo_map.forEach((tar_combos,id)=>{for(const tar_combo of tar_combos){if(!tar_combo.match(regexp))continue;res.push(id);return}});return res}static _by_combo_try_init(){if(this._by_combo_map.size>0)return;sif2_live_data.live_info.forEach((live,id)=>{this._by_combo_map.set(id,[live.charts_by_difficulty.has(1)&&live.charts_by_difficulty.get(1).max_combo.toString()||"",live.charts_by_difficulty.has(2)&&live.charts_by_difficulty.get(2).max_combo.toString()||"",live.charts_by_difficulty.has(3)&&live.charts_by_difficulty.get(3).max_combo.toString()||"",live.charts_by_difficulty.has(4)&&live.charts_by_difficulty.get(4).max_combo.toString()||"",])})}static comprehensive_string_find(finder){const by_romaji=this.by_romaji(finder);const by_fuzzy_pure_name=this.by_fuzzy_pure_name(finder);const by_fuzzy_name=this.by_fuzzy_name(finder);const by_combo=this.by_combo(finder);const result=by_romaji.concat(by_fuzzy_pure_name,by_fuzzy_name,by_combo);if(result.length>500)return null;else return result}}sif2_live_data_filter._by_romaji_map=new Map();sif2_live_data_filter._by_fuzzy_name_map=new Map();sif2_live_data_filter._by_fuzzy_pure_names_map=new Map();sif2_live_data_filter._by_combo_map=new Map();

function init(){let t=[{id:1001,timing_group:[{bpm:210,time:93,signature:4,division:4,starting:0}]},{id:1002,timing_group:[{bpm:174,time:1480,signature:4,division:4,starting:0},{bpm:173,time:7687,signature:4,division:4,starting:2}]},{id:1003,timing_group:[{bpm:212,time:664,signature:4,division:4,starting:2}]},{id:1004,timing_group:[{bpm:237,time:600,signature:4,division:4,starting:2}]},{id:1005,timing_group:[{bpm:200,time:60,signature:4,division:4,starting:0}]},{id:1006,timing_group:[{bpm:130,time:81,signature:4,division:4,starting:0}]},{id:1007,timing_group:[{bpm:160,time:155,signature:4,division:4,starting:0}]},{id:1008,timing_group:[{bpm:135,time:179,signature:4,division:4,starting:0}]},{id:1009,timing_group:[{bpm:150,time:1925,signature:4,division:4,starting:2}]},{id:1010,timing_group:[{bpm:152,time:1661,signature:4,division:4,starting:0}]},{id:1011,timing_group:[{bpm:185,time:698,signature:3,division:4,starting:0},{bpm:185,time:1671,signature:7,division:4,starting:0},{bpm:185,time:8482,signature:4,division:4,starting:0},{bpm:185,time:67833,signature:4,division:4,starting:0},{bpm:185,time:98968,signature:3,division:4,starting:0},{bpm:185,time:101887,signature:4,division:4,starting:0},{bpm:185,time:103022,signature:3,division:4,starting:0},{bpm:185,time:103833,signature:7,division:4,starting:0}]},{id:1012,timing_group:[{bpm:170,time:409,signature:4,division:4,starting:0}]},{id:1014,timing_group:[{bpm:137,time:524,signature:4,division:4,starting:0}]},{id:1015,timing_group:[{bpm:128,time:100,signature:4,division:4,starting:0},{bpm:128,time:54475,signature:4,division:4,starting:2}]},{id:1016,timing_group:[{bpm:178,time:1577,signature:4,division:4,starting:0},{bpm:81,time:93262,signature:2,division:6,starting:0}]},{id:1017,timing_group:[{bpm:157,time:1631,signature:4,division:4,starting:0}]},{id:1019,timing_group:[{bpm:175,time:771,signature:4,division:4,starting:2}]},{id:1020,timing_group:[{bpm:150,time:943,signature:4,division:4,starting:0}]},{id:1021,timing_group:[{bpm:194,time:1310,signature:4,division:4,starting:0}]},{id:1022,timing_group:[{bpm:230,time:2181,signature:4,division:3,starting:0}]},{id:1023,timing_group:[{bpm:195,time:383,signature:4,division:4,starting:0}]},{id:1024,timing_group:[{bpm:150,time:742,signature:4,division:4,starting:0}]},{id:1025,timing_group:[{bpm:132,time:38,signature:4,division:4,starting:2}]},{id:1026,timing_group:[{bpm:133,time:1919,signature:4,division:4,starting:0}]},{id:1027,timing_group:[{bpm:133,time:545,signature:4,division:4,starting:3}]},{id:1028,timing_group:[{bpm:157,time:436,signature:4,division:4,starting:1}]},{id:1029,timing_group:[{bpm:127,time:147,signature:4,division:4,starting:0}]},{id:1030,timing_group:[{bpm:151,time:47,signature:4,division:4,starting:0}]},{id:1031,timing_group:[{bpm:196,time:1309,signature:4,division:4,starting:0}]},{id:1032,timing_group:[{bpm:141,time:1354,signature:4,division:4,starting:3}]},{id:1033,timing_group:[{bpm:168,time:644,signature:4,division:4,starting:0},{bpm:168,time:66358,signature:4,division:4,starting:2}]},{id:1035,timing_group:[{bpm:197,time:60,signature:4,division:4,starting:0}]},{id:1037,timing_group:[{bpm:164,time:484,signature:4,division:4,starting:0}]},{id:1038,timing_group:[{bpm:135,time:209,signature:3,division:4,starting:2},{bpm:135,time:4653,signature:4,division:4,starting:2},{bpm:135,time:108653,signature:3,division:4,starting:0}]},{id:1039,timing_group:[{bpm:145,time:267,signature:4,division:4,starting:0}]},{id:1040,timing_group:[{bpm:128,time:106,signature:4,division:4,starting:0}]},{id:1041,timing_group:[{bpm:169,time:292,signature:4,division:4,starting:0}]},{id:1042,timing_group:[{bpm:167,time:424,signature:4,division:4,starting:0}]},{id:1044,timing_group:[{bpm:176,time:891,signature:4,division:3,starting:0,bpm_modifier:.5}]},{id:1045,timing_group:[{bpm:133,time:1901,signature:4,division:4,starting:0}]},{id:1046,timing_group:[{bpm:136,time:511,signature:4,division:4,starting:0}]},{id:1047,timing_group:[{bpm:85,time:2924,signature:4,division:4,starting:0},{bpm:85,time:111629,signature:4,division:4,starting:0}]},{id:1048,timing_group:[{bpm:173,time:70,signature:4,division:4,starting:0}]},{id:1049,timing_group:[{bpm:132,time:64,signature:4,division:4,starting:0}]},{id:1050,timing_group:[{bpm:131,time:139,signature:4,division:4,starting:0}]},{id:1054,timing_group:[{bpm:150,time:-74,signature:4,division:4,starting:3}]},{id:1055,timing_group:[{bpm:120,time:1125,signature:4,division:4,starting:3}]},{id:1057,timing_group:[{bpm:186,time:229,signature:4,division:4,starting:0}]},{id:1058,timing_group:[{bpm:138,time:1785,signature:4,division:4,starting:0}]},{id:1059,timing_group:[{bpm:157,time:1008,signature:4,division:4,starting:0}]},{id:1060,timing_group:[{bpm:123,time:1038,signature:4,division:4,starting:0}]},{id:1061,timing_group:[{bpm:175,time:595,signature:4,division:4,starting:0}]},{id:1062,timing_group:[{bpm:130,time:106,signature:4,division:4,starting:0}]},{id:1063,timing_group:[{bpm:130,time:120,signature:4,division:4,starting:2},{bpm:1e-4,time:15812,signature:4,division:4,starting:0},{bpm:153,time:17538,signature:4,division:4,starting:0}]},{id:1064,timing_group:[{bpm:169,time:5734,signature:4,division:4,starting:0}]},{id:1066,timing_group:[{bpm:220,time:127,signature:4,division:2,starting:0}]},{id:1067,timing_group:[{bpm:164,time:195,signature:4,division:4,starting:0,bpm_modifier:.5},{bpm:1e-4,time:79950,signature:4,division:4,starting:2,bpm_modifier:.5}]},{id:1068,timing_group:[{bpm:165,time:149,signature:4,division:4,starting:0}]},{id:1069,timing_group:[{bpm:104,time:621,signature:4,division:4,starting:0}]},{id:1070,timing_group:[{bpm:208,time:365,signature:4,division:3,starting:0}]},{id:1071,timing_group:[{bpm:85,time:824,signature:4,division:4,starting:0}]},{id:1072,timing_group:[{bpm:240,time:147,signature:4,division:4,starting:0}]},{id:1073,timing_group:[{bpm:130,time:1936,signature:4,division:4,starting:0}]},{id:1074,timing_group:[{bpm:160,time:422,signature:4,division:4,starting:0}]},{id:1075,timing_group:[{bpm:100,time:4835,signature:4,division:4,starting:0},{bpm:1e-4,time:22835,signature:4,division:4,starting:2},{bpm:190,time:26035,signature:4,division:4,starting:0}]},{id:1076,timing_group:[{bpm:165,time:2076,signature:4,division:4,starting:0},{bpm:1e-4,time:96621,signature:4,division:4,starting:0}]},{id:1077,timing_group:[{bpm:180,time:1158,signature:4,division:4,starting:0}]},{id:1078,timing_group:[{bpm:135,time:1870,signature:4,division:4,starting:0}]},{id:1079,timing_group:[{bpm:180,time:807,signature:4,division:4,starting:0}]},{id:1080,timing_group:[{bpm:127,time:84,signature:4,division:4,starting:0}]},{id:1081,timing_group:[{bpm:180,time:1393,signature:4,division:4,starting:0}]},{id:1082,timing_group:[{bpm:160,time:919,signature:4,division:4,starting:0,bpm_modifier:.5},{bpm:168,time:24919,signature:4,division:4,starting:0}]},{id:1083,timing_group:[{bpm:165,time:437,signature:4,division:4,starting:0}]},{id:1084,timing_group:[{bpm:170,time:1544,signature:4,division:4,starting:0}]},{id:1085,timing_group:[{bpm:152,time:60,signature:4,division:4,starting:0,bpm_modifier:.5}]},{id:1086,timing_group:[{bpm:200,time:107,signature:4,division:4,starting:0}]},{id:1087,timing_group:[{bpm:156,time:588,signature:4,division:3,starting:0,bpm_modifier:.5}]},{id:1088,timing_group:[{bpm:172,time:818,signature:4,division:4,starting:0}]},{id:1089,timing_group:[{bpm:165,time:1535,signature:4,division:4,starting:0}]},{id:1090,timing_group:[{bpm:199.95,time:234,signature:4,division:4,starting:0}]},{id:1091,timing_group:[{bpm:155,time:1606,signature:4,division:4,starting:0}]},{id:1092,timing_group:[{bpm:97,time:2722,signature:4,division:4,starting:0}]},{id:1093,timing_group:[{bpm:139.3,time:928,signature:4,division:4,starting:2},{bpm:139,time:17298,signature:4,division:4,starting:0},{bpm:138.9,time:32839,signature:4,division:4,starting:0},{bpm:139,time:39750,signature:4,division:4,starting:0},{bpm:139.2,time:41474,signature:4,division:4,starting:0},{bpm:138.8,time:51819,signature:4,division:4,starting:0},{bpm:139,time:67380,signature:4,division:4,starting:0}]},{id:1094,timing_group:[{bpm:174,time:2483,signature:6,division:2,starting:4,bpm_modifier:1/3},{bpm:1e-4,time:93173,signature:6,division:2,starting:3}]},{id:1095,timing_group:[{bpm:160,time:2308,signature:4,division:4,starting:0}]},{id:1096,timing_group:[{bpm:135,time:85,signature:4,division:4,starting:0}]},{id:1097,timing_group:[{bpm:128,time:1959,signature:4,division:4,starting:0}]},{id:1098,timing_group:[{bpm:180,time:880,signature:4,division:3,starting:0,bpm_modifier:.5}]},{id:1099,timing_group:[{bpm:162,time:1090,signature:4,division:4,starting:0}]},{id:1100,timing_group:[{bpm:156,time:2153,signature:4,division:4,starting:0}]},{id:1101,timing_group:[{bpm:189,time:518,signature:4,division:4,starting:0}]},{id:1102,timing_group:[{bpm:140,time:1797,signature:4,division:4,starting:0}]},{id:1103,timing_group:[{bpm:140,time:932,signature:4,division:4,starting:0,bpm_modifier:.5}]},{id:1104,timing_group:[{bpm:170.7,time:1141,signature:4,division:4,starting:0},{bpm:170.3,time:6765,signature:4,division:4,starting:0},{bpm:170,time:12403,signature:4,division:4,starting:0},{bpm:169.8,time:99934,signature:4,division:4,starting:0}]},{id:1105,timing_group:[{bpm:135,time:57,signature:4,division:4,starting:0}]},{id:1106,timing_group:[{bpm:144,time:1750,signature:4,division:4,starting:0}]},{id:1107,timing_group:[{bpm:135,time:373,signature:4,division:4,starting:0}]},{id:1108,timing_group:[{bpm:172,time:117,signature:4,division:4,starting:0}]},{id:1109,timing_group:[{bpm:120,time:2090,signature:4,division:4,starting:0}]},{id:1110,timing_group:[{bpm:122,time:707,signature:4,division:4,starting:0}]},{id:1111,timing_group:[{bpm:135,time:1380,signature:4,division:4,starting:3}]},{id:1112,timing_group:[{bpm:183,time:299,signature:4,division:4,starting:0},{bpm:183,time:5381,signature:4,division:4,starting:3}]},{id:1113,timing_group:[{bpm:156,time:1217,signature:4,division:4,starting:3}]},{id:1114,timing_group:[{bpm:148,time:1713,signature:4,division:4,starting:0}]},{id:1115,timing_group:[{bpm:186,time:473,signature:4,division:4,starting:0}]},{id:1116,timing_group:[{bpm:120,time:566,signature:4,division:4,starting:0}]},{id:1117,timing_group:[{bpm:169,time:131,signature:4,division:4,starting:0}]},{id:1118,timing_group:[{bpm:143,time:122,signature:4,division:4,starting:0}]},{id:1119,timing_group:[{bpm:196,time:685,signature:4,division:4,starting:0,bpm_modifier:.5},{bpm:1e-4,time:113338,signature:4,division:4,starting:0}]},{id:1120,timing_group:[{bpm:163,time:834,signature:4,division:4,starting:2}]},{id:1121,timing_group:[{bpm:172,time:759,signature:4,division:4,starting:0}]},{id:1123,timing_group:[{bpm:174,time:455,signature:4,division:4,starting:0}]},{id:1124,timing_group:[{bpm:196,time:68,signature:4,division:4,starting:0}]},{id:1126,timing_group:[{bpm:157,time:548,signature:4,division:4,starting:2}]},{id:1127,timing_group:[{bpm:180,time:212,signature:4,division:4,starting:0}]},{id:1128,timing_group:[{bpm:140,time:1042,signature:4,division:4,starting:0}]},{id:1129,timing_group:[{bpm:145,time:1724,signature:4,division:4,starting:0},{bpm:134.5,time:115931,signature:4,division:4,starting:0}]},{id:1130,timing_group:[{bpm:222,time:52,signature:4,division:3,starting:0}]},{id:1131,timing_group:[{bpm:150,time:1600,signature:4,division:4,starting:0}]},{id:2001,timing_group:[{bpm:180,time:777,signature:4,division:4,starting:0}]},{id:2002,timing_group:[{bpm:187,time:134,signature:4,division:4,starting:0}]},{id:2003,timing_group:[{bpm:118,time:211,signature:4,division:4,starting:0}]},{id:2004,timing_group:[{bpm:170,time:706,signature:4,division:4,starting:0,bpm_modifier:.5}]},{id:2005,timing_group:[{bpm:143,time:1678,signature:4,division:4,starting:0}]},{id:2006,timing_group:[{bpm:140,time:1714,signature:4,division:3,starting:0}]},{id:2007,timing_group:[{bpm:196,time:317,signature:4,division:3,starting:0}]},{id:2008,timing_group:[{bpm:138,time:530,signature:4,division:3,starting:0}]},{id:2009,timing_group:[{bpm:1e-4,time:926,signature:4,division:4,starting:0},{bpm:128,time:9333,signature:4,division:4,starting:0}]},{id:2010,timing_group:[{bpm:116,time:1906,signature:4,division:4,starting:0}]},{id:2011,timing_group:[{bpm:162,time:843,signature:4,division:4,starting:0}]},{id:2012,timing_group:[{bpm:140,time:494,signature:4,division:4,starting:0}]},{id:2013,timing_group:[{bpm:124,time:2029,signature:4,division:4,starting:0}]},{id:2014,timing_group:[{bpm:165,time:455,signature:4,division:4,starting:0}]},{id:2015,timing_group:[{bpm:188,time:255,signature:4,division:4,starting:0}]},{id:2016,timing_group:[{bpm:80,time:1500,signature:4,division:4,starting:2}]},{id:2017,timing_group:[{bpm:160,time:1500,signature:4,division:4,starting:0}]},{id:2018,timing_group:[{bpm:180,time:4099,signature:4,division:4,starting:0}]},{id:2019,timing_group:[{bpm:85,time:401,signature:4,division:4,starting:0}]},{id:2020,timing_group:[{bpm:196,time:2449,signature:4,division:4,starting:0}]},{id:2021,timing_group:[{bpm:124,time:348,signature:4,division:4,starting:0},{bpm:124,time:10025,signature:4,division:4,starting:2}]},{id:2022,timing_group:[{bpm:202,time:2376,signature:4,division:4,starting:0}]},{id:2023,timing_group:[{bpm:128,time:118,signature:4,division:4,starting:0}]},{id:2024,timing_group:[{bpm:145,time:3310,signature:4,division:4,starting:0}]},{id:2025,timing_group:[{bpm:206,time:1165,signature:4,division:4,starting:0,bpm_modifier:.5}]},{id:2049,timing_group:[{bpm:128,time:479,signature:4,division:4,starting:0}]},{id:2092,timing_group:[{bpm:170,time:1313,signature:4,division:5,starting:0,bpm_modifier:.5}]},];sif2_live_data.chart_data_init();let n;n=20494;let g=sif2_live_data.chart_info_get(n),s=g.note_list,m=g.attribute,r=s[s.length-1].call_time,e=0,a;for(i=0;i<t.length;i++)if(t[i].id==Math.floor(n/10)){a=t[i].timing_group;break}if(void 0!=a)for(i=0,e=a[0].time;i<a.length;i++){let _=r+300;i!=a.length-1&&(_=a[i+1].time);let o=Math.floor((_-a[i].time)*a[i].division*a[i].bpm/6e4+.9);for(0==o&&(o=1),j=0;j<o;j++){let p=a[i].time+6e4*j/a[i].bpm/a[i].division,d="",u="";((j+a[i].starting*a[i].division)%(a[i].signature*a[i].division)==0||0==j&&0==i)&&(d+=(p/1e3).toFixed(3)),0==j&&(0==i||a[i-1].bpm!=a[i].bpm)&&a[i].bpm>=1&&(u+=a[i].bpm*(void 0==a[i].bpm_modifier?1:a[i].bpm_modifier)+" BPM"),$(".main").append(`<div class="timing-line" data-weight="${j%a[i].division!=0?1:(j+a[i].starting*a[i].division)%(a[i].signature*a[i].division)==0?3:2}" style="top:${(300+r-p)/2.5}px;"></div>`),$(".main").append(`<div class="timing-info" style="top:${(300+r-p)/2.5}px; transform: translate(0, ${""!=d?"-75%":"-25%"});">${u}<br/>${d}</div>`)}if(0==o)for(j=Math.ceil(a[i].time/200+.1);j<=Math.floor(_/200-.1);j++)$(".main").append(`<div class="timing-line" data-weight="1" style="top:${(300+r-200*j)/2.5}px;"></div>`)}else{let v=Math.floor((r+300)/200+.9);for(j=0;j<v;j++)$(".main").append(`<div class="timing-line" data-weight="${0==j?3:j%10==0?2:1}" style="top:${(300+r-200*j)/2.5}px;"></div>`)}for(i=0;i<=9;i++)$(".main").append(`<div style="top:0px; height:${(300+r-e)/2.5}px; left:${40*i+85}px; width: 0px; border-left: ${0==i||9==i?2:1}px solid; transform: translate(-${0==i||9==i?1:.5}px, 0);"></div>`);let b=[];for(i=1;i<=9;i++)b[i]={},b[i].call_time=-1,b[i].action=0,b[i].id=-1;let l=1;for(id=0;id<s.length;id++){let c=s[id],f=!1,x=!1,h=!1;if(1==b[c.pos].action&&($(".main").append(`<div class="long-duration" data-attribute="${m}" style="top:${(r-c.call_time+300)/2.5}px; height:${(c.call_time-b[c.pos].call_time)/2.5}px; left:${40*(c.pos-.5)+85}px"></div>`),x=!0),2==b[c.pos].action&&($(".main").append(`<div class="swing-duration" data-attribute="${m}" style="top:${(r-c.call_time+300)/2.5}px; height:${(c.call_time-b[c.pos+1].call_time)/2.5}px; width:${9/Math.cos(Math.atan(100/(c.call_time-b[c.pos+1].call_time)))}px; left:${40*c.pos+85}px; transform: skew(${Math.atan(100/(c.call_time-b[c.pos+1].call_time))}rad) translate(-50%, 0%);"></div>`),f=!0),3==b[c.pos].action&&($(".main").append(`<div class="swing-duration" data-attribute="${m}" style="top:${(r-c.call_time+300)/2.5}px; height:${(c.call_time-b[c.pos-1].call_time)/2.5}px; width:${9/Math.cos(Math.atan(100/(c.call_time-b[c.pos-1].call_time)))}px; left:${40*(c.pos-1)+85}px; transform: skew(${Math.atan(-100/(c.call_time-b[c.pos-1].call_time))}rad) translate(-50%, 0%);"></div>`),f=!0),(2==c.action||3==c.action)&&(f=!0),1==c.action&&(x=!0),b[l=c.pos].id=id,b[l].call_time-c.call_time>=-1&&(h=!0),b[l].call_time=c.call_time,1==b[l].action)b[l].action=0,(2==c.action||3==c.action)&&(h=!0);else switch(c.action){case 0:case 4:b[l].action=0;break;case 1:b[l].action=1;break;case 2:b[l].action=0,b[l-1].action=2;break;case 3:b[l].action=0,b[l+1].action=3}$(".main").append(`<div class="note${c.star?" star":""}" data-note-type=${f?'"swing"':x?'"long"':'""'} data-attribute="${m}" style="top:${(r-c.call_time+300)/2.5}px; left:${40*(c.pos-.5)+85}px"></div>`),$(".main").append(`<div class="note-info" style="top:${(r-c.call_time+300)/2.5+7}px; left:${40*(c.pos-.5)+85}px">time: ${(c.call_time/1e3).toFixed(3)}<br/>combo: ${c.combo}</div>`)}$("#container").css("height",`${(r+300-e)/2.5+100}px`),$("#container").css("width","480px"),$(".main>div.note").css("height","10px"),$(".main>div.note").css("width","36px"),$(".main>div.note-info").css("padding",`${10/12}px 2.5px`),$(".main>div.note-info").css("font-size","10px"),$(".main>div.note-info").css("border","1px solid #404040ff"),$(".main>div.note").on("mouseenter",function(){$(this).next().css("display","inline")}),$(".main>div.note").on("mouseleave",function(){$(this).next().css("display","none")}),$(".main>div.long-duration").css("width","25.2px"),$(".main>div.timing-info").css("width","78px"),$(".main>div.timing-info").css("font-size","14px"),$(".main>div.timing-line").css("left","85px"),$(".main>div.timing-line").css("width","360px"),$(".main>div.timing-line").css("border-top",function(){switch($(this).attr("data-weight")){case"3":return"2px solid";case"2":return"0.75px solid #303030";case"1":return"0.5px dotted #989898"}}),$(".main>div.timing-line").css("transform",function(){switch($(this).attr("data-weight")){case"3":return"translate(0, -1px)";case"2":return"translate(0, -0.375px)";case"1":return"translate(0, -0.25px)"}})}init();

.main { position: relative; } .main>div { position: absolute; } .main>div.note { transform: translate(-50%, -50%); z-index: 2; } .main>div.note::before { content: ''; position: absolute; width: 100%; height: 100%; z-index: 1; background-size: contain; } div[data-note-type=""][data-attribute="1"].note::before { background-color: #ff0000ff; } div[data-note-type="long"][data-attribute="1"].note::before { background-color: #e05400ff; } div[data-note-type="swing"][data-attribute="1"].note::before { background-color: #e05400ff; } div[data-note-type=""][data-attribute="2"].note::before { background-color: #00c000ff; } div[data-note-type="long"][data-attribute="2"].note::before { background-color: #00a870ff; } div[data-note-type="swing"][data-attribute="2"].note::before { background-color: #00a870ff; } div[data-note-type=""][data-attribute="3"].note::before { background-color: #0000ffff; } div[data-note-type="long"][data-attribute="3"].note::before { background-color: #7000e0ff; } div[data-note-type="swing"][data-attribute="3"].note::before { background-color: #7000e0ff; } .main>div.note-info { line-height: 1.2; transform: translate(-50%, 0); position: absolute; z-index: 5; font-weight: bold; font-family: 'Consolas'; background-color: #e0e0e0e0; text-align: center; display: none; } /*.main>div.star::before { width: 82px; height: 10px; background-color: #ffff00ff; border: 4px solid #808080ff; }*/ div.dual-line { z-index: -10; height: 0px; border-top: 1px solid #808080; } .main>div.long-duration { z-index: -1; transform: translate(-50%, 0%); } div[data-attribute="1"].long-duration { background-color: #e0540080; } div[data-attribute="2"].long-duration { background-color: #00a87080; } div[data-attribute="3"].long-duration { background-color: #7000e080; } .main>div.swing-duration { z-index: -1; } div[data-attribute="1"].swing-duration { background-color: #e0540080; } div[data-attribute="2"].swing-duration { background-color: #00a87080; } div[data-attribute="3"].swing-duration { background-color: #7000e080; } .main>div.timing-line { height: 0px; left: 200px; width: 900px; } .main>div.timing-info { color: #000000ff; z-index: -1; text-align: right; left: 0px; font-weight: bold; } #container { overflow: hidden; }