1import{i as t,$ as Be,ar as He,b5 as ne,c8 as y,a5 as B,c1 as k,V as O,a0 as V,M as X,a7 as Fe,ap as b,E as L,C,at as Q,bf as ie,y as G,A as ue,_ as Ee}from"./app-BAclpbpz.js";import{M as re}from"./CLXpDs98.js";import{_ as Pe}from"./Cy-egaVq.js";import{F as de}from"./BKM-7Sb9.js";import{M as E}from"./6RkKJGoN.js";import{M as J}from"./Cyjh9VK6.js";import{d as P}from"./bW3AAtb0.js";import{M as Ue}from"./BoIL-uk9.js";import{M as Y}from"./Bj3Zme3h.js";import{_ as ce}from"./DxmCSJyg.js";import{S as je}from"./Cne4LRSV.js";import{b as Te,a as f,c as x,z as Z,f as De,g as _,h as d,j as s,l as m,A as S,s as o,C as i,B as n,k as $,q as l,H as r,M as ee,N as te}from"./BI8qgwQJ.js";import"./BTqQ_sdn.js";import"./zQwWBDRe.js";import"./D42634BN.js";import"./BPp9MNgd.js";import"./CMm0RCD0.js";import"./Broj9-SH.js";const Ie={key:0},Re={key:0,class:"_gaps"},qe={class:"fnfelxur"},We=["src"],Le={class:"name"},Qe={class:"_monospace"},ze={class:"_monospace"},Ke={style:{display:"flex","flex-direction":"column",gap:"1em"}},Oe={class:"_monospace"},Xe={class:"_monospace"},Ge={class:"_monospace"},Je={class:"_monospace"},Ye={class:"_monospace"},Ze={class:"_monospace"},et={class:"_monospace"},tt={class:"_monospace"},st={class:"_monospace"},at={class:"_monospace"},lt={class:"_monospace"},ot={class:"_monospace"},nt={class:"_gaps"},it={key:1,class:"_gaps_m"},ut={class:"cmhjzshl"},rt={class:"selects"},dt={value:"instance-requests"},ct={value:"instance-users"},pt={value:"instance-users-total"},vt={value:"instance-notes"},mt={value:"instance-notes-total"},ft={value:"instance-ff"},ht={value:"instance-ff-total"},_t={value:"instance-drive-usage"},wt={value:"instance-drive-usage-total"},yt={value:"instance-drive-files"},kt={value:"instance-drive-files-total"},gt={class:"charts"},bt={class:"label"},St={class:"label"},Ct={key:2,class:"_gaps_m"},Nt={key:3,class:"_gaps_m"},Mt={class:"follow-relations-list"},At={key:4,class:"_gaps_m"},Vt={class:"follow-relations-list"},xt={key:5,class:"_gaps_m"},$t=Te({__name:"instance-info",props:{host:{},metaHint:{default:void 0},instanceHint:{default:void 0}},setup(pe){const w=pe,N=f("overview"),U=f("instance-requests"),v=f(null),e=f(null),j=f("none"),H=f(!1),T=f(!1),D=f(!1),I=f(!1),R=f(!1),q=f(!1),W=f(!1),z=f(null),F=f(""),K=x(()=>{const u=[],a=w.host.toLowerCase().split(".");for(let h=1;h<a.length;h++){const M=a.slice(h).join(".");u.push(M)}return u}),se=x(()=>v.value&&K.value.some(u=>v.value?.blockedHosts.includes(u))),ae=x(()=>v.value&&K.value.some(u=>v.value?.silencedHosts.includes(u))),le=x(()=>v.value&&K.value.some(u=>v.value?.mediaSilencedHosts.includes(u))),oe=x(()=>{const u=[];return e.value&&(e.value.isBlocked&&u.push({key:"blocked",label:t.ts.blocked,style:"error"}),e.value.isSuspended&&u.push({key:"suspended",label:t.ts.suspended,style:"error"}),e.value.isSilenced&&u.push({key:"silenced",label:t.ts.silenced,style:"warning"}),e.value.isMediaSilenced&&u.push({key:"media_silenced",label:t.ts.mediaSilenced,style:"warning"}),e.value.isNSFW&&u.push({key:"nsfw",label:t.ts.nsfw,style:"warning"}),e.value.isBubbled&&u.push({key:"bubbled",label:t.ts.bubble,style:"success"})),u}),ve={endpoint:k?"admin/show-users":"users",limit:10,params:{sort:"+updatedAt",state:"all",hostname:w.host},offsetMode:!0},me={endpoint:"federation/following",limit:10,params:{host:w.host,includeFollower:!0},offsetMode:!1},fe={endpoint:"federation/followers",limit:10,params:{host:w.host,includeFollower:!0},offsetMode:!1};async function he(){k&&await b(async()=>{e.value!=null&&(await L("admin/federation/update-instance",{host:e.value.host,moderationNote:F.value}),await g())})}async function g(u=!1){const[a,h]=await Promise.all([u&&w.metaHint?w.metaHint:Q?C("admin/meta"):null,u&&w.instanceHint?w.instanceHint:C("federation/show-instance",{host:w.host})]);v.value=a,e.value=h,j.value=e.value?.suspensionState??"none",H.value=j.value!=="none",T.value=e.value?.isBlocked??!1,D.value=e.value?.isSilenced??!1,I.value=e.value?.isNSFW??!1,q.value=e.value?.rejectReports??!1,R.value=e.value?.rejectQuotes??!1,W.value=e.value?.isMediaSilenced??!1,z.value=ie(e.value?.faviconUrl,"preview")??ie(e.value?.iconUrl,"preview"),F.value=e.value?.moderationNote??""}async function _e(){Q&&await b(async()=>
1{if(!v.value)throw new Error("No meta?");if(!e.value)throw new Error("No instance?");const{host:u}=e.value;await L("admin/update-meta",{blockedHosts:T.value?v.value.blockedHosts.concat([u]):v.value.blockedHosts.filter(a=>a!==u)}),await g()})}async function we(){Q&&await b(async()=>{if(!v.value)throw new Error("No meta?");if(!e.value)throw new Error("No instance?");const{host:u}=e.value,a=v.value.silencedHosts??[];await b(async()=>{await C("admin/update-meta",{silencedHosts:D.value?a.concat([u]):a.filter(h=>h!==u)}),await g()})})}async function ye(){Q&&await b(async()=>{if(!v.value)throw new Error("No meta?");if(!e.value)throw new Error("No instance?");const{host:u}=e.value,a=v.value.mediaSilencedHosts??[];await C("admin/update-meta",{mediaSilencedHosts:W.value?a.concat([u]):a.filter(h=>h!==u)}),await g()})}async function ke(){k&&await b(async()=>{if(!e.value)throw new Error("No instance?");j.value=H.value?"manuallySuspended":"none",await C("admin/federation/update-instance",{host:e.value.host,isSuspended:H.value}),await g()})}async function ge(){k&&await b(async()=>{if(!e.value)throw new Error("No instance?");await C("admin/federation/update-instance",{host:e.value.host,isNSFW:I.value}),await g()})}async function be(){k&&await b(async()=>{if(!e.value)throw new Error("No instance?");await C("admin/federation/update-instance",{host:e.value.host,rejectReports:q.value}),await g()})}async function Se(){k&&await b(async()=>{if(!e.value)throw new Error("No instance?");await C("admin/federation/update-instance",{host:e.value.host,rejectQuotes:R.value}),await g()})}async function Ce(){k&&(await b(async()=>{if(!e.value)throw new Error("No instance?");await C("admin/federation/refresh-remote-instance-metadata",{host:e.value.host}),await g()}),await G({text:"Refresh requested"}))}async function Ne(){if(!k)return;if(!e.value)throw new Error("No instance?");(await ue({type:"warning",text:t.ts.deleteAllFilesConfirm})).canceled||(await L("admin/federation/delete-all-files",{host:e.value.host}),await G({text:t.ts.deleteAllFilesQueued}))}async function Me(){if(!k)return;if(!e.value)throw new Error("No instance?");(await ue({type:"warning",text:t.tsx.severAllFollowRelationsConfirm({instanceName:e.value.name??e.value.host,followingCount:e.value.followingCount,followersCount:e.value.followersCount})})).canceled||(await L("admin/federation/remove-all-following",{host:e.value.host}),await G({text:t.tsx.severAllFollowRelationsQueued({host:e.value.host})}))}g(!0);const Ae=x(()=>[{text:`https://${w.host}`,icon:"ph-arrow-square-out ph-bold ph-lg",handler:()=>{window.open(`https://${w.host}`,"_blank","noopener")}}]),Ve=x(()=>[{key:"overview",title:t.ts.overview,icon:"ph-info ph-bold ph-lg"},{key:"users",title:t.ts.users,icon:"ph-users ph-bold ph-lg"},...xe(),{key:"chart",title:t.ts.charts,icon:"ph-chart-line ph-bold ph-lg"},{key:"raw",title:t.ts.raw,icon:"ph-code ph-bold ph-lg"}]);function xe(){return Be?[{key:"following",title:t.ts.following,icon:"ph-arrow-right ph-bold ph-lg"},{key:"followers",title:t.ts.followers,icon:"ph-arrow-left ph-bold ph-lg"}]:[]}return He(()=>({title:w.host,icon:"ph-hard-drives ph-bold ph-lg"})),(u,a)=>{const h=Z("MkTime"),M=Z("MkA"),$e=Z("PageWithHeader"),A=De("tooltip");return d(),_($e,{tab:N.value,"onUpdate:tab":a[11]||(a[11]=c=>N.value=c),actions:Ae.value,tabs:Ve.value,spacer:!0,style:{"--MI_SPACER-w":"700px","--MI_SPACER-min":"16px","--MI_SPACER-max":"32px"}},{default:s(()=>[e.value?(d(),m("div",Ie,[o("div",null,[N.value==="overview"?(d(),m("div",Re,[o("div",qe,[z.value?(d(),m("img",{key:0,src:z.value,alt:"",class:"icon"},null,8,We)):S("",!0),o("div",{class:"pages-instance-info-headerData-iCHX"},[o("span",Le,n(e.value.name||e.value.host),1),o("span",null,[o("span",Qe,n(e.value.host),1),$((d(),m("button",{class:"_textButton",style:{"margin-left":"0.5em"},onClick:a[0]||(a[0]=c=>l(ne)(e.value.host))},a[12]||(a[12]=[o("i",{class:"ph-copy ph-bold ph-lg"},null,-1)]))),[[A,l(t).ts.copy]])]),o("span",null,[o("span",ze,n(e.value.id),1),$((d(),m("button",{class:"_textButton",style:{"margin-left":"0.5em"},onClick:a[1]||(a[1]=c=>l(ne)(e.value.id))},a[13]||(a[13]=[o("i",{class:"ph-copy ph-bold ph-lg"},null,-1)]))),[[A,l(t).ts.copy]])])],2)]),oe.value.length>0?(d(),_(je,{key:0,badges:oe.value},null,8,["badges"])):S("",!0),i(Y,{sticky:!1},{icon:s(()=>a[14]||(a[14]=[o("i",{class:"ph-list-bullets ph-bold ph-lg"},null,-1)])),label:s(()=>[r(n(l(t).ts.details),1)]),default:s(()=>[o("div",Ke,[i(y,{copy:e.value.id,oneline:""},{key:s(()=>[r(n(l(t).ts.id),1)]),value:s(()=>[o("span",Oe,n(e.value.id),1)]),_:1},8,["copy"]),i(y,{copy:e.value.name,oneline:""},{key:s(()=>[r(n(l(t).ts.name),1)]),value:s(()=>[o("span",Xe,n(e.value.name||`(${l(t).ts.unknown})`),1)]),_:1},8,["copy"]),i(y,{copy:u.host,oneline:""},{key:s(()=>[r(n(l(t).ts.host),1)]),value:s(()=>[o("span",Ge,[i(B,{url:`https://${u.host}`},{default:s(()=>[r(n(u.host),1)]),_:1},8,["url"])])]),_:1},8,["copy"]),i(y,{copy:e.value.firstRetrievedAt,oneline:""},{key:s(()=>[r(n(l(t).ts.createdAt),1)]),value:s(()=>[o("span",Je,[i(h,{time:e.value.firstRetrievedAt,mode:"detail"},null,8,["time"])])]),_:1},8,["copy"]),i(y,{copy:e.value.infoUpdatedAt,oneline:""},{key:s(()=>[r(n(l(t).ts.updatedAt),1)]),value:s(()=>[o("span",Ye,[i(h,{time:e.value.infoUpdatedAt,mode:"detail"},null,8,["time"])])]),_:1},8,["copy"]),i(y,{copy:e.value.latestRequestReceivedAt,oneline:""},{key:s(()=>[r(n(l(t).ts.lastActiveDate),1)]),value:s(()=>[o("span",Ze,[i(h,{time:e.value.latestRequestReceivedAt,mode:"detail"},null,8,["time"])])]),_:1},8,["copy"]),i(y,{copy:e.value.softwareName,oneline:""},{key:s(()=>
1[r(n(l(t).ts.software),1)]),value:s(()=>[o("span",et,n(e.value.softwareName||`(${l(t).ts.unknown})`)+" / "+n(e.value.softwareVersion||`(${l(t).ts.unknown})`),1)]),_:1},8,["copy"]),i(y,{copy:e.value.maintainerName,oneline:""},{key:s(()=>[r(n(l(t).ts.administrator),1)]),value:s(()=>[o("span",tt,n(e.value.maintainerName||`(${l(t).ts.unknown})`),1)]),_:1},8,["copy"]),i(y,{copy:e.value.maintainerEmail,oneline:""},{key:s(()=>[r(n(l(t).ts.email),1)]),value:s(()=>[o("span",st,n(e.value.maintainerEmail||`(${l(t).ts.unknown})`),1)]),_:1},8,["copy"]),i(y,{oneline:""},{key:s(()=>[r(n(l(t).ts.followingPub),1)]),value:s(()=>[o("span",at,[i(ce,{value:e.value.followingCount},null,8,["value"])])]),_:1}),i(y,{oneline:""},{key:s(()=>[r(n(l(t).ts.followersSub),1)]),value:s(()=>[o("span",lt,[i(ce,{value:e.value.followersCount},null,8,["value"])])]),_:1}),i(y,{oneline:""},{key:s(()=>[r(n(l(t).ts._delivery.status),1)]),value:s(()=>[o("span",ot,n(l(t).ts._delivery._type[j.value]),1)]),_:1})])]),_:1}),i(Y,{sticky:!1},{label:s(()=>[r(n(l(t).ts.wellKnownResources),1)]),icon:s(()=>a[15]||(a[15]=[o("i",{class:"ph-network ph-bold ph-lg"},null,-1)])),default:s(()=>[o("ul",{class:"pages-instance-info-linksList-q8mu _gaps_s"},[o("li",null,[i(B,{url:`https://${u.host}/.well-known/host-meta`,class:"_monospace"},{default:s(()=>a[16]||(a[16]=[r("/.well-known/host-meta")])),_:1,__:[16]},8,["url"])]),o("li",null,[i(B,{url:`https://${u.host}/.well-known/host-meta.json`,class:"_monospace"},{default:s(()=>a[17]||(a[17]=[r("/.well-known/host-meta.json")])),_:1,__:[17]},8,["url"])]),o("li",null,[i(B,{url:`https://${u.host}/.well-known/nodeinfo`,class:"_monospace"},{default:s(()=>a[18]||(a[18]=[r("/.well-known/nodeinfo")])),_:1,__:[18]},8,["url"])]),o("li",null,[i(B,{url:`https://${u.host}/robots.txt`,class:"_monospace"},{default:s(()=>a[19]||(a[19]=[r("/robots.txt")])),_:1,__:[19]},8,["url"])]),o("li",null,[i(B,{url:`https://${u.host}/manifest.json`,class:"_monospace"},{default:s(()=>a[20]||(a[20]=[r("/manifest.json")])),_:1,__:[20]},8,["url"])])],2)]),_:1}),l(k)?(d(),_(Y,{key:1,defaultOpen:F.value.length>0,sticky:!1},{icon:s(()=>a[21]||(a[21]=[o("i",{class:"ph-stamp ph-bold ph-lg"},null,-1)])),label:s(()=>[r(n(l(t).ts.moderationNote),1)]),default:s(()=>[i(Ue,{modelValue:F.value,"onUpdate:modelValue":[a[2]||(a[2]=c=>F.value=c),he],manualSave:""},{label:s(()=>[r(n(l(t).ts.moderationNote),1)]),caption:s(()=>[r(n(l(t).ts.moderationNoteDescription),1)]),_:1},8,["modelValue"])]),_:1},8,["defaultOpen"])):S("",!0),e.value.description?(d(),_(de,{key:2},{label:s(()=>[r(n(l(t).ts.description),1)]),default:s(()=>[r(" "+n(e.value.description),1)]),_:1})):S("",!0),l(k)?(d(),_(de,{key:3},{label:s(()=>[r(n(l(t).ts.moderation),1)]),default:s(()=>[o("div",nt,[ae.value?(d(),_(O,{key:0,warn:""},{default:s(()=>[r(n(l(t).ts.silencedByBase),1)]),_:1})):S("",!0),i(V,{modelValue:D.value,"onUpdate:modelValue":[a[3]||(a[3]=c=>D.value=c),we],disabled:!v.value||!e.value||ae.value},{default:s(()=>[r(n(l(t).ts.silenceThisInstance),1)]),_:1},8,["modelValue","disabled"]),i(V,{modelValue:H.value,"onUpdate:modelValue":[a[4]||(a[4]=c=>H.value=c),ke],disabled:!e.value},{default:s(()=>[r(n(l(t).ts._delivery.stop),1)]),_:1},8,["modelValue","disabled"]),se.value?(d(),_(O,{key:1,warn:""},{default:s(()=>[r(n(l(t).ts.blockedByBase),1)]),_:1})):S("",!0),i(V,{modelValue:T.value,"onUpdate:modelValue":[a[5]||(a[5]=c=>T.value=c),_e],disabled:!v.value||!e.value||se.value},{default:s(()=>[r(n(l(t).ts.blockThisInstance),1)]),_:1},8,["modelValue","disabled"]),i(V,{modelValue:R.value,"onUpdate:modelValue":[a[6]||(a[6]=c=>R.value=c),Se],disabled:!e.value},{default:s(()=>[r(n(l(t).ts.rejectQuotesInstance),1)]),_:1},8,["modelValue","disabled"]),i(V,{modelValue:I.value,"onUpdate:modelValue":[a[7]||(a[7]=c=>I.value=c),ge],disabled:!e.value},{default:s(()=>[r(n(l(t).ts.markInstanceAsNSFW),1)]),_:1},8,["modelValue","disabled"]),i(V,{modelValue:q.value,"onUpdate:modelValue":[a[8]||(a[8]=c=>q.value=c),be],disabled:!e.value},{default:s(()=>[r(n(l(t).ts.rejectReports),1)]),_:1},8,["modelValue","disabled"]),le.value?(d(),_(O,{key:2,warn:""},{default:s(()=>[r(n(l(t).ts.mediaSilencedByBase),1)]),_:1})):S("",!0),i(V,{modelValue:W.value,"onUpdate:modelValue":[a[9]||(a[9]=c=>W.value=c),ye],disabled:!v.value||!e.value||le.value},{default:s(()=>[r(n(l(t).ts.mediaSilenceThisInstance),1)]),_:1},8,["modelValue","disabled"]),o("div",{class:"pages-instance-info-buttonStrip-sxV2"},[i(X,{inline:"",disabled:!e.value,onClick:Ce},{default:s(()=>[a[22]||(a[22]=o("i",{class:"ph-cloud-arrow-down ph-bold ph-lg"},null,-1)),r(" "+n(l(t).ts.updateRemoteUser),1)]),_:1,__:[22]},8,["disabled"]),i(X,{inline:"",disabled:!e.value,danger:"",onClick:Ne},{default:s(()=>[a[23]||(a[23]=o("i",{class:"ph-trash ph-bold ph-lg"},null,-1)),r(" "+n(l(t).ts.deleteAllFiles),1)]),_:1,__:[23]},8,["disabled"]),i(X,{inline:"",disabled:!e.value,danger:"",onClick:Me},{default:s(()=>[a[24]||(a[24]=o("i",{class:"ph-link-break ph-bold ph-lg"},null,-1)),r(" "+n(l(t).ts.severAllFollowRelations),1)]),_:1,__:[24]},8,["disabled"])],2)])]),_:1})):S("",!0)])):N.value==="chart"?(d(),m("div",it,[o("div",ut,[o("div",rt,[i(Fe,{modelValue:U.value,"onUpdate:modelValue":a[10]||(a[10]=c=>U.value=c),style:{margin:"0 10px 0 0",flex:"1"}},{default:s(()=>[o("option",dt,n(l(t).ts._instanceCharts.requests),1),o("option",ct,n(l(t).ts._instanceCharts.users),1),o("option",pt,n(l(t).ts._instanceCharts.usersTotal),1),o("option",vt,n(l(t).ts._instanceCharts.notes),1),o("option",mt,n(l(t).ts._instanceCharts.notesTotal),1),o("option",ft,n(l(t).ts._instanceCharts.ff),1),o("option",ht,n(l(t).ts._instanceCharts.ffTotal),1),o("option",_t,n(l(t).ts._instanceCharts.cacheSize),1),o("option",wt,n(l(t).ts._instanceCharts.cacheSizeTotal),1),o("option",yt,n(l(t).ts._instanceCharts.files),1),o("option",kt,n(l(t).ts._instanceCharts.filesTotal),1)]),_:1},8,["modelValue"])]),o("div",gt,[o("div",bt,n(l(t).tsx.recentNHours({n:90})),1),i(re,{class:"chart",src:U.value,span:"hour",limit:90,args:{host:u.host},detailed:!0},null,8,["src","args"]),o("div",St,n(l(t).tsx.recentNDays({n:90})),1),i(re,{class:"chart",src:U.value,span:"day",limit:90,args:{host:u.host},detailed:!0},null,8,["src","args"])])])])):N.value==="users"?(d(),m("div",Ct,[i(J,{pagination:ve,style:{display:"grid","grid-template-columns":"repeat(auto-fill,minmax(270px,1fr))","grid-gap":"12px"}},{default:s(({items:c})=>[(d(!0),m(ee,null,te(c,p=>$((d(),_(M,{key:p.id,class:"user",to:`/admin/user/${p.id}`},{default:s(()=>[i(E,{user:p},null,8,["user"])]),_:2},1032,["to"])),[[A,l(t).tsx.lastPosted({at:l(P)(p.updatedAt)}),void 0,{mfm:!0}]])),128))]),_:1})])):N.value==="following"?(d(),m("div",Nt,[i(J,{pagination:me},{default:s(({items:c})=>[o("div",Mt,[(d(!0),m(ee,null,te(c,p=>(d(),m("div",{key:p.id,class:"follow-relation"},[$((d(),_(M,{to:`/admin/user/${p.followee.id}`,class:"user"},{default:s(()=>[i(E,{user:p.followee,withChart:!1},null,8,["user"])]),_:2},1032,["to"])),[[A,l(t).tsx.lastPosted({at:l(P)(p.followee.updatedAt)}),void 0,{mfm:!0}]]),a[25]||(a[25]=o("span",{class:"arrow"},"â",-1)),$((d(),_(M,{to:`/admin/user/${p.follower.id}`,class:"user"},{default:s(()=>[i(E,{user:p.follower,withChart:!1},null,8,["user"])]),_:2},1032,["to"])),[[A,l(t).tsx.lastPosted({at:l(P)(p.follower.updatedAt)}),void 0,{mfm:!0}]])]))),128))])]),_:1})])):N.value==="followers"?(d(),m("div",At,[i(J,{pagination:fe},{default:s(({items:c})=>[o("div",Vt,[(d(!0),m(ee,null,te(c,p=>(d(),m("div",{key:p.id,class:"follow-relation"},[$((d(),_(M,{to:`/admin/user/${p.followee.id}`,class:"user"},{default:s(()=>[i(E,{user:p.followee,withChart:!1},null,8,["user"])]),_:2},1032,["to"])),[[A,l(t).tsx.lastPosted({at:l(P)(p.followee.updatedAt)}),void 0,{mfm:!0}]]),a[26]||(a[26]=o("span",{class:"arrow"},"â",-1)),$((d(),_(M,{to:`/admin/user/${p.follower.id}`,class:"user"},{default:s(()=>[i(E,{user:p.follower,withChart:!1},null,8,["user"])]),_:2},1032,["to"])),[[A,l(t).tsx.lastPosted({at:l(P)(p.follower.updatedAt)}),void 0,{mfm:!0}]])]))),128))])]),_:1})])):N.value==="raw"?(d(),m("div",xt,[i(Pe,{tall:"",value:e.value},null,8,["value"])])):S("",!0)])])):S("",!0)]),_:1},8,["tab","actions","tabs"])}}});const Gt=Ee($t,[["__scopeId","data-v-3925a721"]]);export{Gt as default};
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.