1import{a as r,c as a}from"./chunk-3OYWRJBP.js";import{aa as n,cd as i,za as o}from"./chunk-F3HYPWZL.js";var c={user:null},h=(()=>{class s{store=o(c);_sessionEpoch=o(0);sessionEpoch=this._sessionEpoch.asReadonly();isAdmin=i(()=>a(this.store().user?.role)===r.Admin);visibleToRole(e){let t=this.isAdmin();return e.filter(d=>!d.adminOnly||t)}select(e){return i(()=>e(this.store()))}dispatch(e){this.store.update(e)}reset(){this.store.set(c),this._sessionEpoch.update(e=>e+1)}static \u0275fac=function(t){return new(t||s)};static \u0275prov=n({token:s,factory:s.\u0275fac,providedIn:"root"})}return s})();export{h as a};
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.