1const c="gyre_prefsource_explanation",i=["v1","v2"];function u(e,n=Math.random){try{const t=e?.getItem(c);if(i.includes(t))return t}catch{}const r=n()<.5?"v1":"v2";try{e?.setItem(c,r)}catch{}return r}function d(e,n){e.querySelectorAll("[data-preferred-source-text]").forEach(a=>{a.hidden=a.getAttribute("data-preferred-source-text")!==n});const r=e.querySelector("[data-analytics]"),t=r?.getAttribute("data-preferred-source-analytics");r&&t&&r.setAttribute("data-analytics",n==="v2"?`${t}.v2`:t),e.setAttribute("data-explanation-variant",n)}function s(e=document,n=l(),r=Math.random){const t=e.querySelectorAll("[data-preferred-source]");if(!t.length)return null;const a=u(n,r);return t.forEach(o=>d(o,a)),a}function l(){try{return window.localStorage}catch{return}}typeof document<"u"&&s();
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.