PageSourceSearch

https://naemo.ai/_next/static/chunks/526.c5d2c421e1e0a8ac.js

js naemo.ai collected 2026-10-02 01:13:40 UTC 19,308 bytes, 1 lines download raw bytes

1(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[526,1445],{32660:function(e,o,a){"use strict";a.d(o,{Z:function(){return t}});let t=(0,a(79205).Z)("ArrowLeft",[["path",{d:"m12 19-7-7 7-7",key:"1l729n"}],["path",{d:"M19 12H5",key:"x3x0zl"}]])},17689:function(e,o,a){"use strict";a.d(o,{Z:function(){return t}});let t=(0,a(79205).Z)("Upload",[["path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4",key:"ih7n3h"}],["polyline",{points:"17 8 12 3 7 8",key:"t8dd8p"}],["line",{x1:"12",x2:"12",y1:"3",y2:"15",key:"widbto"}]])},36950:function(e,o,a){"use strict";a.d(o,{F:function(){return t}}),a(83079);var t=(0,a(12119).$)("6500bfeadc44a2b5d3317af33cb972a688151a16")},60526:function(e,o,a){"use strict";a.r(o),a.d(o,{default:function(){return I}});var t=a(57437),n=a(30166),s=a(2265),r=a(71632);let l=(0,a(79205).Z)("PanelLeft",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"M9 3v18",key:"fh3hqa"}]]);var c=a(73247),i=a(95805),d=a(10407),u=a(17689),_=a(32660),h=a(50978),b=a(36950),p=a(55369),m=a(90982),g=a(11416),f=a.n(g),v=a(50647),x=a.n(v),w=a(34687);let k="__naemoAnalysis",y=(0,n.default)(()=>Promise.all([a.e(2211),a.e(1351),a.e(5176),a.e(1282),a.e(7917),a.e(3369),a.e(7790),a.e(6248),a.e(6011),a.e(6245),a.e(5854),a.e(3529),a.e(6205),a.e(6856),a.e(9325)]).then(a.bind(a,59325)),{loadableGenerated:{webpack:()=>[59325]},loading:()=>(0,t.jsx)(w.Ck,{})}),j=(0,n.default)(()=>a.e(8586).then(a.bind(a,28586)),{loadableGenerated:{webpack:()=>[28586]},loading:()=>(0,t.jsx)(m.ContentLoadingState,{variant:"grades"})}),C=(0,n.default)(()=>Promise.all([a.e(6205),a.e(6382)]).then(a.bind(a,517)),{loadableGenerated:{webpack:()=>[517]},loading:()=>(0,t.jsx)(m.ContentLoadingState,{variant:"grades"})}),O=(0,n.default)(()=>Promise.all([a.e(7212),a.e(479)]).then(a.bind(a,80479)),{loadableGenerated:{webpack:()=>[80479]},loading:()=>(0,t.jsx)(m.ContentLoadingState,{variant:"table"})}),N=(0,n.default)(()=>Promise.all([a.e(3878),a.e(5708),a.e(401)]).then(a.bind(a,25708)),{loadableGenerated:{webpack:()=>[25708]},loading:()=>(0,t.jsx)(m.ContentLoadingState,{variant:"table"})});function S(e,o){if("SCHOOL_ADMIN"===e.kind)return"학교 관리자";if("GRADE_ADMIN"===e.kind)return"".concat(e.grade,"학년 관리자");if("SCORE_COORDINATOR"===e.kind)return"성적업무 담당";let a=o.classes.find(o=>o.id===e.classId);return a?"".concat(a.grade,"학년 ").concat(a.classNum,"반 담임"):"담임"}function I(e){var o,a;let{spaces:n,userId:r,onPersonal:l,onRefresh:c}=e,[i,d]=(0,s.useState)(""),u="student-role:".concat(r),_=n.flatMap(e=>e.me.assignments.map(o=>({key:"".concat(e.space.id,":").concat(o.id),scope:e,role:o}))),h=null!==(o=_.find(e=>e.key===i))&&void 0!==o?o:_[0];if((0,s.useEffect)(()=>{try{d(localStorage.getItem(u)||"")}catch(e){}},[u]),!h)return null;let{scope:b,role:m}=h,g=e=>{d(e);try{localStorage.setItem(u,e)}catch(e){}},v=_.length>1?(0,t.jsxs)("label",{className:f().roleSwitch,children:["조회 역할",(0,t.jsx)("select",{"aria-label":"학생 조회 역할",value:h.key,onChange:e=>g(e.target.value),children:_.map(e=>(0,t.jsxs)("option",{value:e.key,children:[n.length>1?"".concat(e.scope.space.name," \xb7 "):"",S(e.role,e.scope)]},e.key))})]}):null;return"HOMEROOM"===m.kind&&(null!==(a=m.viewScope)&&void 0!==a?a:(0,p.Qs)(m))==="class:".concat(m.classId)?(0,t.jsx)(E,{scope:b,role:m,roleControl:v,onRefresh:c},"".concat(h.key,":").concat(b.me.revision)):(0,t.jsx)(L,{scope:b,role:m,onPersonal:l,onRefresh:c,roleControl:v},"".concat(h.key,":").concat(b.me.revision))}let R=e=>[e.mine?"내 명단 ".concat(e.mine,"명"):"",e.school?"학교 명단 ".concat(e.school,"명"):""].filter(Boolean).join(" \xb7 ");function E(e){var o;let{scope:a,role:n,roleControl:s,onRefresh:l}=e,c=(0,r.a)({queryKey:["school-student-roster",a.space.id,a.me.id,a.me.revision,n.id],queryFn:()=>(0,h.$)({action:"roster",spaceId:a.space.id,assignmentId:n.id}),staleTime:0,gcTime:0,retry:!1,refetchOnWindowFocus:"always"}),i=(null===(o=c.data)||void 0===o?void 0:o.success)&&"roster"===c.data.data.kind?c.data.data:null,d=null==i?void 0:i.classes.find(e=>e.id===n.classId),u=c.isError?"학교 자료를 확인하지 못했습니다.":c.data&&!c.data.success?c.data.error:"",_=(null==i?void 0:i.unmatched)&&(i.unmatched.mine||i.unmatched.school)?i.unmatched:null;return(0,t.jsxs)("div",{className:"h-full min-h-0 flex flex-col",children:[(u||_)&&(0,t.jsxs)("div",{className:"flex items-center gap-3 border-b border-zinc-200 px-4 py-2 text-xs text-zinc-600 dark:border-white/10 dark:text-zinc-300",children:[(0,t.jsx)("span",{role:u?"alert":void 0,children:u||"학교 학생 명단과 번호나 이름이 달라 이어지지 않은 학생이 있습니다 (".concat(R(_),"). 설정 → 학생 명단에서 번호와 이름을 맞추면 바로 이어집니다.")}),u&&(0,t.jsx)("button",{className:"underline underline-offset-4",onClick:()=>{c.refetch(),l()},children:"다시 확인"})]}),(0,t.jsx)("div",{className:"flex-1 min-h-0",children:(0,t.jsx)(y,{sidebarHeader:s,homeroomClass:null!=d?d:a.classes.find(e=>e.id===n.classId)})})]})}function L(e){var o,a,n;let{scope:b,role:g,roleControl:v,onPersonal:w,onRefresh:y}=e,N=(0,s.useRef)(null),I=(0,s.useRef)(0),R=(0,s.useCallback)(()=>{N.current&&(N.current.scrollTop=I.current)}
1,[]),E=(0,s.useRef)(null),[L,M]=(0,s.useState)(""),[H,T]=(0,s.useState)(new Set),[z,F]=(0,s.useState)(""),[D,B]=(0,s.useState)(!1),[Z,q]=(0,s.useState)(!1),[P,G]=(0,s.useState)(0),Y=(0,s.useRef)(""),K=e=>{E.current=e.navigation,I.current=e.scroll,Y.current=e.focus,F(e.studentId),q(e.upload),B(!1),G(e=>e+1),N.current&&(N.current.scrollTop=e.studentId?0:e.scroll)},Q=function(e){let{capture:o,restore:a}=e,t=(0,s.useId)(),n=(0,s.useRef)(""),r=(0,s.useRef)([]),l=(0,s.useRef)(0),c=(0,s.useRef)({capture:o,restore:a});return c.current={capture:o,restore:a},(0,s.useEffect)(()=>{n.current="".concat(t,":").concat(Date.now());let e=window.location.href;r.current=[c.current.capture()],l.current=0,window.history.replaceState({...window.history.state,[k]:{session:n.current,index:0}},"",e);let o=o=>{var a;let t=null===(a=o.state)||void 0===a?void 0:a[k];window.location.href===e&&(null==t?void 0:t.session)===n.current&&t.index!==l.current&&r.current[t.index]&&(r.current[l.current]=c.current.capture(),l.current=t.index,c.current.restore(r.current[t.index]))};return window.addEventListener("popstate",o),()=>window.removeEventListener("popstate",o)},[t]),{push:(0,s.useCallback)(e=>{r.current[l.current]=c.current.capture(),r.current=r.current.slice(0,l.current+1),r.current.push(e),l.current++,window.history.pushState({...window.history.state,[k]:{session:n.current,index:l.current}},"",window.location.href)},[]),back:(0,s.useCallback)(e=>{var o;let a=null===(o=window.history.state)||void 0===o?void 0:o[k];(null==a?void 0:a.session)===n.current&&a.index>0?window.history.back():e()},[])}}({capture:()=>{var e,o,a,t;return{studentId:z,upload:Z,navigation:E.current,scroll:null!==(t=null===(e=N.current)||void 0===e?void 0:e.scrollTop)&&void 0!==t?t:0,focus:(null===(o=document.activeElement)||void 0===o?void 0:o.getAttribute("aria-label"))||(null===(a=document.activeElement)||void 0===a?void 0:a.textContent)||""}},restore:K}),J=()=>Q.back(()=>{F(""),q(!1)}),U=(0,s.useCallback)(()=>{if(R(),Y.current&&N.current){let e=Array.from(N.current.querySelectorAll('button, [role="button"]')).find(e=>(e.getAttribute("aria-label")||e.textContent)===Y.current);null==e||e.focus({preventScroll:!0}),Y.current=""}},[R]),W=(0,r.a)({queryKey:["school-student-roster",b.space.id,b.me.id,b.me.revision,g.id],queryFn:()=>(0,h.$)({action:"roster",spaceId:b.space.id,assignmentId:g.id}),staleTime:0,gcTime:0,retry:!1,refetchOnWindowFocus:"always"}),V=(null===(o=W.data)||void 0===o?void 0:o.success)&&"roster"===W.data.data.kind?W.data.data:null,X="HOMEROOM"===g.kind&&(null==V?void 0:V.students.some(e=>e.student.id===z&&e.classId===g.classId)),$=W.isError?"학생 명단을 불러오지 못했습니다.":W.data&&!W.data.success?W.data.error:"",ee=(0,s.useMemo)(()=>({...b,me:{...b.me,assignments:[g]},classes:b.classes.filter(e=>(0,p.UC)([g],{academicYear:b.space.currentYear,grade:e.grade,classId:e.id}))}),[b,g]),eo=[1,2,3].some(e=>(0,p.Lq)([g],b.space.currentYear,e)),ea="HOMEROOM"===g.kind&&(null==V?void 0:V.students.length)===0?V.classes.find(e=>e.id===g.classId):null,et=L.trim().normalize("NFC"),en=null!==(a=null==V?void 0:V.students.filter(e=>!et||e.student.name.normalize("NFC").includes(et)||String(e.number)===et))&&void 0!==a?a:[],es=null!==(n=null==V?void 0:V.classes.filter(e=>!et||en.some(o=>o.classId===e.id)))&&void 0!==n?n:[],er=e=>{var o,a;e!==z&&Q.push({studentId:e,upload:!1,navigation:E.current,scroll:0,focus:""}),z||Z||(I.current=null!==(a=null===(o=N.current)||void 0===o?void 0:o.scrollTop)&&void 0!==a?a:0),N.current&&(N.current.scrollTop=0),F(e),q(!1),B(!1);let t=null==V?void 0:V.students.find(o=>o.student.id===e);t&&T(e=>new Set([...Array.from(e),t.classId]))};return(0,t.jsxs)("div",{className:f().workspace,children:[(0,t.jsxs)("div",{className:f().mobileBar,children:[(0,t.jsxs)("button",{"aria-expanded":D,onClick:()=>B(!D),children:[(0,t.jsx)(l,{size:18})," 학생 목록"]}),(0,t.jsx)("span",{children:S(g,b)})]}),(0,t.jsxs)("aside",{className:"".concat(f().sidebar," nav-rail-shadow"),"data-open":D,"aria-label":"학생 관리 사이드바",children:[(0,t.jsxs)("div",{className:f().sidebarHeader,children:[v,(0,t.jsxs)("div",{className:f().scopeName,children:[b.space.name,(0,t.jsxs)("small",{children:[b.space.currentYear,"학년도 \xb7 ",S(g,b)]})]}),(0,t.jsxs)("label",{className:f().search,children:[(0,t.jsx)(c.Z,{size:14,"aria-hidden":"true"}),(0,t.jsx)("input",{"aria-label":"학생 이름 또는 번호 검색",placeholder:"학생 검색…",value:L,onChange:e=>M(e.target.value),maxLength:80})]})]}),(0,t.jsxs)("nav",{className:f().roster,"aria-label":"학교 학생",children:[eo&&(0,t.jsxs)("button",{className:f().allStudents,"aria-label":"전체 학생","aria-current":z||Z?void 0:"page",onClick:()=>{let e=E.current;if(!z&&!Z&&(null==e?void 0:e.tab)==="overview"&&!e.drill){B(!1);return}let o={studentId:"",upload:!1,navigation:e?{...e,tab:"overview",drill:null,query:"",classId:"",page:0}
1:null,scroll:0,focus:""};Q.push(o),K(o)},children:[(0,t.jsx)(i.Z,{size:17}),(0,t.jsx)("span",{children:"전체 학생"})]}),W.isPending&&(0,t.jsx)(m.ContentLoadingState,{variant:"list"}),$&&(0,t.jsxs)("div",{className:f().message,role:"alert",children:[$,(0,t.jsx)("button",{onClick:()=>{W.refetch(),y()},children:"다시 불러오기"})]}),V&&es.map(e=>{let o=en.filter(o=>o.classId===e.id),a=!!et||H.has(e.id);return(0,t.jsxs)("div",{className:f().classGroup,children:[(0,t.jsxs)("button",{className:f().classButton,"aria-label":"".concat(e.grade,"학년 ").concat(e.classNum,"반 \xb7 ").concat(o.length,"명"),"aria-expanded":a,"aria-controls":"class-".concat(e.id),onClick:()=>T(o=>{let a=new Set(o);return a.has(e.id)?a.delete(e.id):a.add(e.id),a}),children:[(0,t.jsx)(d.Z,{size:15,className:a?f().chevronOpen:""}),(0,t.jsxs)("span",{children:[e.grade,"학년 ",e.classNum,"반"]}),(0,t.jsx)("small",{children:o.length})]}),a&&(0,t.jsxs)("ul",{id:"class-".concat(e.id),className:f().studentList,children:[o.map(o=>(0,t.jsx)("li",{children:(0,t.jsxs)("button",{"aria-label":"".concat(e.grade,"학년 ").concat(e.classNum,"반 ").concat(o.number,"번 ").concat(o.student.name),"aria-current":z===o.student.id?"page":void 0,onClick:()=>er(o.student.id),children:[(0,t.jsx)("span",{className:f().number,children:o.number}),(0,t.jsx)("span",{children:o.student.name})]})},o.student.id)),!o.length&&(0,t.jsx)("li",{className:f().message,children:"등록된 학생이 없습니다."})]})]},e.id)}),V&&!es.length&&(0,t.jsx)("p",{className:f().message,children:et?"검색된 학생이 없습니다.":"배정된 학급이 없습니다."})]}),(0,t.jsxs)("div",{className:f().sidebarFooter,children:[(0,t.jsxs)("button",{"aria-current":Z?"page":void 0,onClick:()=>{Z||Q.push({studentId:"",upload:!0,navigation:E.current,scroll:0,focus:""}),q(!0),F(""),B(!1)},children:[(0,t.jsx)(u.Z,{size:15})," 성적 파일 업로드"]}),(0,t.jsxs)("button",{onClick:w,children:["개인 학생 보기 ",(0,t.jsx)(_.Z,{size:14})]})]})]}),(0,t.jsxs)("div",{ref:N,className:"".concat(f().body," ").concat(Z||ea?x().page:""),"data-mobile-hidden":D,"data-personal":!!z,children:[z&&!$&&(0,t.jsx)("div",{className:f().analysisReturn,children:(0,t.jsxs)("button",{onClick:J,children:[(0,t.jsx)(_.Z,{size:15})," 이전 화면으로 돌아가기"]})}),$?(0,t.jsx)("div",{className:f().message,children:"현재 조회 권한과 명단을 확인해 주세요."}):W.isPending?(0,t.jsx)(m.ContentLoadingState,{variant:"table"}):Z?(0,t.jsx)(A,{spaceId:b.space.id}):z&&X?(0,t.jsx)(j,{assignmentId:g.id,spaceId:b.space.id,studentId:z,onBack:J},z):z?(0,t.jsx)(C,{embedded:!0,assignmentId:g.id,spaceId:b.space.id,studentId:z,onBack:J},z):ea?(0,t.jsx)("p",{className:f().message,children:"설정 → 학생 명단의 담임 학급에 학생을 등록하면 학교 학생 명단에도 바로 들어갑니다."}):eo?(0,t.jsx)(O,{onReady:U,navigation:E,detail:ee,assignmentId:g.id,onSelectStudent:er,onNavigate:e=>{Q.push({studentId:"",upload:!1,navigation:e,scroll:0,focus:""}),E.current=e,I.current=0,N.current&&(N.current.scrollTop=0)},onBack:J},P):(0,t.jsx)("p",{className:f().message,children:"왼쪽 명단에서 학생을 선택해 주세요."})]})]})}function A(e){let{spaceId:o}=e,a=(0,r.a)({queryKey:["school-upload-detail",o],queryFn:()=>(0,b.F)({action:"detail",spaceId:o}),gcTime:0,retry:!1});if(a.isPending)return(0,t.jsx)(m.ContentLoadingState,{variant:"table"});let n=a.data;return!(!(null==n?void 0:n.success)||Array.isArray(n.data))&&"space"in n.data&&n.data.space?(0,t.jsx)(N,{detail:n.data}):(0,t.jsx)("p",{role:"alert",children:"업로드 권한을 확인하지 못했습니다. 학생 목록으로 돌아가 다시 시도해 주세요."})}},55369:function(e,o,a){"use strict";a.d(o,{F5:function(){return t},Ko:function(){return c},LI:function(){return d},Lq:function(){return u},Qn:function(){return l},Qs:function(){return s},UC:function(){return r},yV:function(){return i}});let t=["HOMEROOM","GRADE_ADMIN","SCHOOL_ADMIN","MOCK_COORDINATOR","SCORE_COORDINATOR"];function n(e,o){return e.filter(e=>!e.endedAt&&e.academicYear===o)}function s(e){return"SCHOOL_ADMIN"===e.kind?"school":"GRADE_ADMIN"===e.kind?"grade:".concat(e.grade):"HOMEROOM"===e.kind?"class:".concat(e.classId):"none"}function r(e,o){return n(e,o.academicYear).some(e=>{var a;let t=null!==(a=e.viewScope)&&void 0!==a?a:s(e);return"school"===t||t==="grade:".concat(o.grade)||t==="class:".concat(o.classId)})}function l(e,o){return n(e,o).some(e=>{var o;return"SCHOOL_ADMIN"===e.kind&&(null!==(o=e.viewScope)&&void 0!==o?o:s(e))==="school"})}function c(e,o){return n(e,o.academicYear).some(e=>"HOMEROOM"===e.kind&&e.classId===o.classId)}function i(e,o,a){return"admission"!==a&&("mock"===a||r(e,o)||n(e,o.academicYear).some(e=>
1"SCORE_COORDINATOR"===e.kind&&"grades"===a))}let d={HOMEROOM:"담임",GRADE_ADMIN:"학년 관리자",SCHOOL_ADMIN:"학교 관리자",MOCK_COORDINATOR:"모의고사 담당",SCORE_COORDINATOR:"성적업무 담당"};function u(e,o,a){return n(e,o).some(e=>{var o;let t=null!==(o=e.viewScope)&&void 0!==o?o:s(e);return"school"===t||t==="grade:".concat(a)})}},50647:function(e){e.exports={page:"school-collaboration_page__ysbiE",header:"school-collaboration_header__FfOpN",note:"school-collaboration_note__2Ivdz",primary:"school-collaboration_primary__seN2J",secondary:"school-collaboration_secondary__t7UJs",link:"school-collaboration_link__0qKo3",iconButton:"school-collaboration_iconButton__2wQsT",dangerLink:"school-collaboration_dangerLink__6hwgt",section:"school-collaboration_section__xGjoz",start:"school-collaboration_start__N2cK1",actions:"school-collaboration_actions__UZ_lw",celebrate:"school-collaboration_celebrate__SZzQB",list:"school-collaboration_list__C2zVm",schoolRow:"school-collaboration_schoolRow__RGnDF",memberRow:"school-collaboration_memberRow__Z8sC0",form:"school-collaboration_form__FKHxY",search:"school-collaboration_search__dPC3d",combo:"school-collaboration_combo___dahN",dropdown:"school-collaboration_dropdown__lmsp_",option:"school-collaboration_option__Jz023",optionHint:"school-collaboration_optionHint__pMMBh",confirm:"school-collaboration_confirm___8pTA",error:"school-collaboration_error___qvPa",notice:"school-collaboration_notice__gwUHQ",empty:"school-collaboration_empty__yecN6",tabs:"school-collaboration_tabs__uqf_3",steps:"school-collaboration_steps__lOsQ_",inlineForm:"school-collaboration_inlineForm__y2_n_",classLayout:"school-collaboration_classLayout__oY16t",classList:"school-collaboration_classList__PF28b",table:"school-collaboration_table__ERcFW",pending:"school-collaboration_pending__rc6qZ",subheading:"school-collaboration_subheading__Fe3X6",roleEditor:"school-collaboration_roleEditor__iwnNC",fields:"school-collaboration_fields__zIE1e",checkbox:"school-collaboration_checkbox__CgcA8",scope:"school-collaboration_scope__s2W2Q",statHeading:"school-collaboration_statHeading__YdiGy",tableScroll:"school-collaboration_tableScroll__1NSOj",tableCaption:"school-collaboration_tableCaption__anUPk",statCount:"school-collaboration_statCount__LEApt",uploadFields:"school-collaboration_uploadFields__JxnpO",orgHeading:"school-collaboration_orgHeading__BqZyY",orgSummary:"school-collaboration_orgSummary__sF8sl",orgToolbar:"school-collaboration_orgToolbar__uGCq_",orgViewSwitch:"school-collaboration_orgViewSwitch__hLDko",orgRoot:"school-collaboration_orgRoot__mrzGz",orgBranches:"school-collaboration_orgBranches__z53fS",orgOffice:"school-collaboration_orgOffice__LoWyW",orgPerson:"school-collaboration_orgPerson__Pl1_m",orgBadge:"school-collaboration_orgBadge__nrCAW",orgClassStrip:"school-collaboration_orgClassStrip__w9ReJ",orgEmpty:"school-collaboration_orgEmpty__GC17k",orgRowActions:"school-collaboration_orgRowActions__4tL1C",orgEditor:"school-collaboration_orgEditor__75Idu",orgInvite:"school-collaboration_orgInvite__40SUQ",yearSection:"school-collaboration_yearSection__KLH2f",yearReview:"school-collaboration_yearReview__Y04BW",yearExcluded:"school-collaboration_yearExcluded___JGXG",historyList:"school-collaboration_historyList__boTPB"}},11416:function(e){e.exports={workspace:"student-workspace_workspace__nZyZb",sidebar:"student-workspace_sidebar__bo3mm",sidebarHeader:"student-workspace_sidebarHeader__LuNnq",scopeName:"student-workspace_scopeName__kUY8z",roleSwitch:"student-workspace_roleSwitch__qeaBj",search:"student-workspace_search__mEtnn",roster:"student-workspace_roster__OsxPC",sidebarFooter:"student-workspace_sidebarFooter__wx6Ja",allStudents:"student-workspace_allStudents__gJNiT",classButton:"student-workspace_classButton__PNX_S",chevronOpen:"student-workspace_chevronOpen__CR6jE",studentList:"student-workspace_studentList__5wras",number:"student-workspace_number__85zb_",body:"student-workspace_body__1aFwy",message:"student-workspace_message__zHe8L",mobileBar:"student-workspace_mobileBar__ncYa4",detailHeader:"student-workspace_detailHeader__J53b5",detailNumber:"student-workspace_detailNumber__xA2mD",academicTabs:"student-workspace_academicTabs__Tl3mO",statistics:"student-workspace_statistics__bZDQg",analysisReturn:"student-workspace_analysisReturn__07Zuc"}}}]);

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.