1"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[68064],{68064:(e,t,o)=>{o.r(t),o.d(t,{HistoricalNetworkChart:()=>n,default:()=>s});var a=o(95155),r=o(12115),i=o(2150);function l(e){if(0===e||null==e||isNaN(e))return"0 B";let t=["B","KB","MB","GB"],o=Math.min(Math.floor(Math.log(Math.abs(e)||1)/Math.log(1024)),t.length-1);return"".concat((e/Math.pow(1024,o)).toFixed(1)," ").concat(t[o])}function n(e){let{data:t,className:o=""}=e,n=(0,r.useMemo)(()=>{if(!t||0===t.length)return{};let e=t.map(e=>new Date(e.time)),o=t.map(e=>{let t=e.bytesIn;return"number"!=typeof t||isNaN(t)?0:t}),a=t.map(e=>{let t=e.bytesOut;return"number"!=typeof t||isNaN(t)?0:t});return{backgroundColor:"transparent",tooltip:{trigger:"axis",backgroundColor:"rgba(13, 20, 36, 0.95)",borderColor:"rgba(255, 255, 255, 0.1)",borderWidth:1,textStyle:{color:"#fff",fontSize:11},formatter:e=>{if(!e||0===e.length)return"";let t=new Date(e[0].axisValue).toLocaleTimeString("en-US",{hour12:!1,hour:"2-digit",minute:"2-digit",second:"2-digit"}),o='<div style="font-size: 10px; color: rgba(255,255,255,0.5); margin-bottom: 4px;">'.concat(t,"</div>");return e.forEach(e=>{let t=l(Array.isArray(e.value)?e.value[1]:e.value);o+='<div style="display: flex; align-items: center; gap: 6px; margin-top: 2px;">\n <span style="width: 8px; height: 8px; border-radius: 50%; background: '.concat(e.color,';"></span>\n <span style="color: rgba(255,255,255,0.7);">').concat(e.seriesName,'</span>\n <span style="margin-left: auto; font-weight: 500;">').concat(t,"/s</span>\n </div>")}),o}},legend:{show:!0,top:0,right:0,textStyle:{color:"rgba(255, 255, 255, 0.6)",fontSize:10},itemWidth:12,itemHeight:8,itemGap:16},grid:{top:28,right:12,bottom:24,left:50,containLabel:!1},xAxis:{type:"time",boundaryGap:!1,axisLine:{show:!1},axisTick:{show:!1},axisLabel:{color:"rgba(255, 255, 255, 0.4)",fontSize:9,formatter:e=>new Date(e).toLocaleTimeString("en-US",{hour12:!1,hour:"2-digit",minute:"2-digit"})},splitLine:{show:!0,lineStyle:{color:"rgba(255, 255, 255, 0.04)",type:"dashed"}}},yAxis:{type:"value",axisLine:{show:!1},axisTick:{show:!1},axisLabel:{color:"rgba(255, 255, 255, 0.4)",fontSize:9,formatter:e=>l(e)},splitLine:{show:!0,lineStyle:{color:"rgba(255, 255, 255, 0.04)",type:"dashed"}}},series:[{name:"Download",type:"line",smooth:!0,symbol:"none",lineStyle:{color:"#26AE7F",width:1.5},areaStyle:{color:{type:"linear",x:0,y:0,x2:0,y2:1,colorStops:[{offset:0,color:"rgba(38, 174, 127, 0.2)"},{offset:1,color:"rgba(38, 174, 127, 0)"}]}},data:e.map((e,t)=>[e.getTime(),o[t]])},{name:"Upload",type:"line",smooth:!0,symbol:"none",lineStyle:{color:"#805dca",width:1.5},areaStyle:{color:{type:"linear",x:0,y:0,x2:0,y2:1,colorStops:[{offset:0,color:"rgba(128, 93, 202, 0.15)"},{offset:1,color:"rgba(128, 93, 202, 0)"}]}},data:e.map((e,t)=>[e.getTime(),a[t]])}]}},[t]);return t&&0!==t.length?(0,a.jsx)("div",{className:o,children:(0,a.jsx)(i.default,{option:n,style:{height:"100%",width:"100%"},opts:{renderer:"svg"}})}):(0,a.jsx)("div",{className:"flex items-center justify-center ".concat(o),children:(0,a.jsx)("span",{className:"text-white/30 text-sm",children:"No data available"})})}let s=n}}]);
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.