1"use strict";(self.webpackChunkgatsby_starter_wordpress_twenty_twenty=self.webpackChunkgatsby_starter_wordpress_twenty_twenty||[]).push([[873],{6873:function(t,e,s){s.r(e),s.d(e,{createFaqSearch:function(){return $}});const i="KEYS",n="VALUES",o="";class r{constructor(t,e){const s=t._tree,i=Array.from(s.keys());this.set=t,this._type=e,this._path=i.length>0?[{node:s,keys:i}]:[]}next(){const t=this.dive();return this.backtrack(),t}dive(){if(0===this._path.length)return{done:!0,value:void 0};const{node:t,keys:e}=c(this._path);if(c(e)===o)return{done:!1,value:this.result()};const s=t.get(c(e));return this._path.push({node:s,keys:Array.from(s.keys())}),this.dive()}backtrack(){if(0===this._path.length)return;const t=c(this._path).keys;t.pop(),t.length>0||(this._path.pop(),this.backtrack())}key(){return this.set._prefix+this._path.map((({keys:t})=>c(t))).filter((t=>t!==o)).join("")}value(){return c(this._path).node.get(o)}result(){switch(this._type){case n:return this.value();case i:return this.key();default:return[this.key(),this.value()]}}[Symbol.iterator](){return this}}const c=t=>t[t.length-1],h=(t,e,s,i,n,r,c,u)=>{const d=r*c;t:for(const a of t.keys())if(a===o){const e=n[d-1];e<=s&&i.set(u,[t.get(a),e])}else{let o=r;for(let t=0;t<a.length;++t,++o){const i=a[t],r=c*o,h=r-c;let u=n[r];const d=Math.max(0,o-s-1),l=Math.min(c-1,o+s);for(let t=d;t<l;++t){const s=i!==e[t],o=n[h+t]+ +s,c=n[h+t+1]+1,d=n[r+t]+1,a=n[r+t+1]=Math.min(o,c,d);a<u&&(u=a)}if(u>s)continue t}h(t.get(a),e,s,i,n,o,c,u+a)}};class u{constructor(t=new Map,e=""){this._size=void 0,this._tree=t,this._prefix=e}atPrefix(t){if(!t.startsWith(this._prefix))throw new Error("Mismatched prefix");const[e,s]=d(this._tree,t.slice(this._prefix.length));if(void 0===e){const[e,i]=g(s);for(const s of e.keys())if(s!==o&&s.startsWith(i)){const n=new Map;return n.set(s.slice(i.length),e.get(s)),new u(n,t)}}return new u(e,t)}clear(){this._size=void 0,this._tree.clear()}delete(t){return this._size=void 0,f(this._tree,t)}entries(){return new r(this,"ENTRIES")}forEach(t){for(const[e,s]of this)t(e,s,this)}fuzzyGet(t,e){return((t,e,s)=>{const i=new Map;if(void 0===e)return i;const n=e.length+1,o=n+s,r=new Uint8Array(o*n).fill(s+1);for(let c=0;c<n;++c)r[c]=c;for(let c=1;c<o;++c)r[c*n]=c;return h(t,e,s,i,r,1,n,""),i})(this._tree,t,e)}get(t){const e=a(this._tree,t);return void 0!==e?e.get(o):void 0}has(t){const e=a(this._tree,t);return void 0!==e&&e.has(o)}keys(){return new r(this,i)}set(t,e){if("string"!=typeof t)throw new Error("key must be a string");this._size=void 0;return l(this._tree,t).set(o,e),this}get size(){if(this._size)return this._size;this._size=0;const t=this.entries();for(;!t.next().done;)this._size+=1;return this._size}update(t,e){if("string"!=typeof t)throw new Error("key must be a string");this._size=void 0;const s=l(this._tree,t);return s.set(o,e(s.get(o))),this}fetch(t,e){if("string"!=typeof t)throw new Error("key must be a string");this._size=void 0;const s=l(this._tree,t);let i=s.get(o);return void 0===i&&s.set(o,i=e()),i}values(){return new r(this,n)}[Symbol.iterator](){return this.entries()}static from(t){const e=new u;for(const[s,i]of t)e.set(s,i);return e}static fromObject(t){return u.from(Object.entries(t))}}const d=(t,e,s=[])=>{if(0===e.length||null==t)return[t,s];for(const i of t.keys())if(i!==o&&e.startsWith(i))return s.push([t,i]),d(t.get(i),e.slice(i.length),s);return s.push([t,e]),d(void 0,"",s)},a=(t,e)=>{if(0===e.length||null==t)return t;for(const s of t.keys())if(s!==o&&e.startsWith(s))return a(t.get(s),e.slice(s.length))},l=(t,e)=>{const s=e.length;t:for(let i=0;t&&i<s;){for(const r of t.keys())if(r!==o&&e[i]===r[0]){const n=Math.min(s-i,r.length);let o=1;for(;o<n&&e[i+o]===r[o];)++o;const c=t.get(r);if(o===r.length)t=c;else{const s=new Map;s.set(r.slice(o),c),t.set(e.slice(i,i+o),s),t.delete(r),t=s}i+=o;continue t}const n=new Map;return t.set(e.slice(i),n),n}return t},f=(t,e)=>{const[s,i]=d(t,e);if(void 0!==s)if(s.delete(o),0===s.size)m(i);else if(1===s.size){const[t,e]=s.entries().next().value;_(i,t,e)}},m=t=>{if(0===t.length)return;const[e,s]=g(t);if(e.delete(s),0===e.size)m(t.slice(0,-1));else if(1===e.size){const[s,i]=e.entries().next().value;s!==o&&_(t.slice(0,-1),s,i)}},_=(t,e,s)=>{if(0===t.length)return;const[i,n]=g(t);i.set(n+e,s),i.delete(n)},g=t=>t[t.length-1],p="or",w="and",y="and_not";class v{constructor(t){if(null==(null==t?void 0:t.fields))throw new Error('MiniSearch: option "fields" must be provided');const e=null==t.autoVacuum||!0===t.autoVacuum?V:t.autoVacuum;this._options={...S,...t,autoVacuum:e,searchOptions:{...F,...t.searchOptions||{}},autoSuggestOptions:{...k,...t.autoSuggestOptions||{}}},this._index=new u,this._documentCount=0,this._documentIds=new Map,this._idToShortId=new Map,this._fieldIds={},this._fieldLength=new Map,this._avgFieldLength=[],this._nextId=0,this._storedFields=new Map,this._dirtCount=0,this._currentVacuum=null,this._enqueuedVacuum=null,this._enqueuedVacuumConditions=C,this.addFields(this._options.fields)}add(t){const{extractField:e,stringifyField:s,tokenize:i,processTerm:n,fields:o,idField:r}=this._options,c=e(t,r);
1if(null==c)throw new Error(`MiniSearch: document does not have ID field "${r}"`);if(this._idToShortId.has(c))throw new Error(`MiniSearch: duplicate ID ${c}`);const h=this.addDocumentId(c);this.saveStoredFields(h,t);for(const u of o){const o=e(t,u);if(null==o)continue;const r=i(s(o,u),u),c=this._fieldIds[u],d=new Set(r).size;this.addFieldLength(h,c,this._documentCount-1,d);for(const t of r){const e=n(t,u);if(Array.isArray(e))for(const t of e)this.addTerm(c,h,t);else e&&this.addTerm(c,h,e)}}}addAll(t){for(const e of t)this.add(e)}addAllAsync(t,e={}){const{chunkSize:s=10}=e,i={chunk:[],promise:Promise.resolve()},{chunk:n,promise:o}=t.reduce((({chunk:t,promise:e},i,n)=>(t.push(i),(n+1)%s==0?{chunk:[],promise:e.then((()=>new Promise((t=>setTimeout(t,0))))).then((()=>this.addAll(t)))}:{chunk:t,promise:e})),i);return o.then((()=>this.addAll(n)))}remove(t){const{tokenize:e,processTerm:s,extractField:i,stringifyField:n,fields:o,idField:r}=this._options,c=i(t,r);if(null==c)throw new Error(`MiniSearch: document does not have ID field "${r}"`);const h=this._idToShortId.get(c);if(null==h)throw new Error(`MiniSearch: cannot remove document with ID ${c}: it is not in the index`);for(const u of o){const o=i(t,u);if(null==o)continue;const r=e(n(o,u),u),c=this._fieldIds[u],d=new Set(r).size;this.removeFieldLength(h,c,this._documentCount,d);for(const t of r){const e=s(t,u);if(Array.isArray(e))for(const t of e)this.removeTerm(c,h,t);else e&&this.removeTerm(c,h,e)}}this._storedFields.delete(h),this._documentIds.delete(h),this._idToShortId.delete(c),this._fieldLength.delete(h),this._documentCount-=1}removeAll(t){if(t)for(const e of t)this.remove(e);else{if(arguments.length>0)throw new Error("Expected documents to be present. Omit the argument to remove all documents.");this._index=new u,this._documentCount=0,this._documentIds=new Map,this._idToShortId=new Map,this._fieldLength=new Map,this._avgFieldLength=[],this._storedFields=new Map,this._nextId=0}}discard(t){const e=this._idToShortId.get(t);if(null==e)throw new Error(`MiniSearch: cannot discard document with ID ${t}: it is not in the index`);this._idToShortId.delete(t),this._documentIds.delete(e),this._storedFields.delete(e),(this._fieldLength.get(e)||[]).forEach(((t,s)=>{this.removeFieldLength(e,s,this._documentCount,t)})),this._fieldLength.delete(e),this._documentCount-=1,this._dirtCount+=1,this.maybeAutoVacuum()}maybeAutoVacuum(){if(!1===this._options.autoVacuum)return;const{minDirtFactor:t,minDirtCount:e,batchSize:s,batchWait:i}=this._options.autoVacuum;this.conditionalVacuum({batchSize:s,batchWait:i},{minDirtCount:e,minDirtFactor:t})}discardAll(t){const e=this._options.autoVacuum;try{this._options.autoVacuum=!1;for(const e of t)this.discard(e)}finally{this._options.autoVacuum=e}this.maybeAutoVacuum()}replace(t){const{idField:e,extractField:s}=this._options,i=s(t,e);this.discard(i),this.add(t)}vacuum(t={}){return this.conditionalVacuum(t)}conditionalVacuum(t,e){return this._currentVacuum?(this._enqueuedVacuumConditions=this._enqueuedVacuumConditions&&e,null!=this._enqueuedVacuum||(this._enqueuedVacuum=this._currentVacuum.then((()=>{const e=this._enqueuedVacuumConditions;return this._enqueuedVacuumConditions=C,this.performVacuuming(t,e)}))),this._enqueuedVacuum):!1===this.vacuumConditionsMet(e)?Promise.resolve():(this._currentVacuum=this.performVacuuming(t),this._currentVacuum)}async performVacuuming(t,e){const s=this._dirtCount;if(this.vacuumConditionsMet(e)){const e=t.batchSize||M.batchSize,i=t.batchWait||M.batchWait;let n=1;for(const[t,s]of this._index){for(const[t,e]of s)for(const[i]of e)this._documentIds.has(i)||(e.size<=1?s.delete(t):e.delete(i));0===this._index.get(t).size&&this._index.delete(t),n%e==0&&await new Promise((t=>setTimeout(t,i))),n+=1}this._dirtCount-=s}await null,this._currentVacuum=this._enqueuedVacuum,this._enqueuedVacuum=null}vacuumConditionsMet(t){if(null==t)return!0;let{minDirtCount:e,minDirtFactor:s}=t;return e=e||V.minDirtCount,s=s||V.minDirtFactor,this.dirtCount>=e&&this.dirtFactor>=s}get isVacuuming(){return null!=this._currentVacuum}get dirtCount(){return this._dirtCount}get dirtFactor(){return this._dirtCount/(1+this._documentCount+this._dirtCount)}has(t){return this._idToShortId.has(t)}getStoredFields(t){const e=this._idToShortId.get(t);if(null!=e)return this._storedFields.get(e)}search(t,e={}){const{searchOptions:s}=this._options,i={...s,...e},n=this.executeQuery(t,e),o=[];for(const[r,{score:c,terms:h,match:u}]of n){const t=h.length||1,e={id:this._documentIds.get(r),score:c*t,terms:Object.keys(u),queryTerms:h,match:u};Object.assign(e,this._storedFields.get(r)),(null==i.filter||i.filter(e))&&o.push(e)}return t===v.wildcard&&null==i.boostDocument||o.sort(T),o}autoSuggest(t,e={}){e={...this._options.autoSuggestOptions,...e};const s=new Map;for(const{score:n,terms:o}of this.search(t,e)){const t=o.join(" "),e=s.get(t);null!=e?(e.score+=n,e.count+=1):s.set(t,{score:n,terms:o,count:1})}const i=[];for(const[n,{score:o,terms:r,count:c}]of s)i.push({suggestion:n,terms:r,score:o/c});return i.sort(T),i}get documentCount(){return this._documentCount}get termCount(){return this._index.size}static loadJSON(t,e){if(null==e)throw new Error("MiniSearch: loadJSON should be given the same options used when serializing the index");return this.loadJS(JSON.parse(t),e)}static async loadJSONAsync(t,e){if(null==e)throw new Error("MiniSearch: loadJSON should be given the same options used when serializing the index");return this.loadJSAsync(JSON.parse(t),e)}static getDefault(t){if(S.hasOwnProperty(t))return b(S,t);throw new Error(`MiniSearch: unknown option "${t}"`)}static loadJS(t,e){const{index:s,documentIds:i,fieldLength:n,storedFields:o,serializationVersion:r}=t,c=this.instantiateMiniSearch(t,e);c._documentIds=E(i),c._fieldLength=E(n),c._storedFields=E(o);for(const[h,u]of c._documentIds)c._idToShortId.set(u,h);for(const[h,u]of s){const t=new Map;for(const e of Object.keys(u)){let s=u[e];1===r&&(s=s.ds),t.set(parseInt(e,10),E(s))}c._index.set(h,t)}return c}static async loadJSAsync(t,e){const{index:s,documentIds:i,fieldLength:n,storedFields:o,serializationVersion:r}=t,c=this.instantiateMiniSearch(t,e);c._documentIds=await A(i),c._fieldLength=await A(n),c._storedFields=await A(o);for(const[u,d]of c._documentIds)c._idToShortId.set(d,u);let h=0;for(const[u,d]of s){const t=new Map;for(const e of Object.keys(d)){let s=d[e];1===r&&(s=s.ds),t.set(parseInt(e,10),await A(s))}++h%1e3==0&&await j(0),c._index.set(u,t)}return c}static instantiateMiniSearch(t,e){const{documentCount:s,nextId:i,fieldIds:n,averageFieldLength:o,dirtCount:r,serializationVersion:c}=t;if(1!==c&&2!==c)throw new Error("MiniSearch: cannot deserialize an index created with an incompatible version");const h=new v(e);return h._documentCount=s,h._nextId=i,h._idToShortId=new Map,h._fieldIds=n,h._avgFieldLength=o,h._dirtCount=r||0,h._index=new u,h}executeQuery(t,e={}){if(t===v.wildcard)return this.executeWildcardQuery(e);if("string"!=typeof t){const s={...e,...t,queries:void 0},i=t.queries.map((t=>this.executeQuery(t,s)));return this.combineResults(i,s.combineWith)}const{tokenize:s,processTerm:i,searchOptions:n}=this._options,o={tokenize:s,processTerm:i,...n,...e},{tokenize:r,processTerm:c}=o,h=r(t).flatMap((t=>c(t))).filter((t=>!!t)).map(I(o)).map((t=>this.executeQuerySpec(t,o)));return this.combineResults(h,o.combineWith)}executeQuerySpec(t,e){const s={...this._options.searchOptions,...e},i=(s.fields||this._options.fields).reduce(((t,e)=>({...t,[e]:b(s.boost,e)||1})),{}),{boostDocument:n,weights:o,maxFuzzy:r,bm25:c}=s,{fuzzy:h,prefix:u}={...F.weights,...o},d=this._index.get(t.term),a=this.termResults(t.term,t.term,1,t.termBoost,d,i,n,c);let l,f;if(t.prefix&&(l=this._index.atPrefix(t.term)),t.fuzzy){const e=!0===t.fuzzy?.2:t.fuzzy,s=e<1?Math.min(r,Math.round(t.term.length*e)):e;s&&(f=this._index.fuzzyGet(t.term,s))}if(l)for(const[m,_]of l){const e=m.length-t.term.length;if(!e)continue;null==f||f.delete(m);const s=u*m.length/(m.length+.3*e);this.termResults(t.term,m,s,t.termBoost,_,i,n,c,a)}if(f)for(const m of f.keys()){const[e,s]=f.get(m);
1if(!s)continue;const o=h*m.length/(m.length+s);this.termResults(t.term,m,o,t.termBoost,e,i,n,c,a)}return a}executeWildcardQuery(t){const e=new Map,s={...this._options.searchOptions,...t};for(const[i,n]of this._documentIds){const t=s.boostDocument?s.boostDocument(n,"",this._storedFields.get(i)):1;e.set(i,{score:t,terms:[],match:{}})}return e}combineResults(t,e=p){if(0===t.length)return new Map;const s=e.toLowerCase(),i=z[s];if(!i)throw new Error(`Invalid combination operator: ${e}`);return t.reduce(i)||new Map}toJSON(){const t=[];for(const[e,s]of this._index){const i={};for(const[t,e]of s)i[t]=Object.fromEntries(e);t.push([e,i])}return{documentCount:this._documentCount,nextId:this._nextId,documentIds:Object.fromEntries(this._documentIds),fieldIds:this._fieldIds,fieldLength:Object.fromEntries(this._fieldLength),averageFieldLength:this._avgFieldLength,storedFields:Object.fromEntries(this._storedFields),dirtCount:this._dirtCount,index:t,serializationVersion:2}}termResults(t,e,s,i,n,o,r,c,h=new Map){if(null==n)return h;for(const u of Object.keys(o)){const d=o[u],a=this._fieldIds[u],l=n.get(a);if(null==l)continue;let f=l.size;const m=this._avgFieldLength[a];for(const n of l.keys()){if(!this._documentIds.has(n)){this.removeTerm(a,n,e),f-=1;continue}const o=r?r(this._documentIds.get(n),e,this._storedFields.get(n)):1;if(!o)continue;const _=l.get(n),g=this._fieldLength.get(n)[a],p=s*i*d*o*x(_,f,this._documentCount,g,m,c),w=h.get(n);if(w){w.score+=p,O(w.terms,t);const s=b(w.match,e);s?s.push(u):w.match[e]=[u]}else h.set(n,{score:p,terms:[t],match:{[e]:[u]}})}}return h}addTerm(t,e,s){const i=this._index.fetch(s,D);let n=i.get(t);if(null==n)n=new Map,n.set(e,1),i.set(t,n);else{const t=n.get(e);n.set(e,(t||0)+1)}}removeTerm(t,e,s){if(!this._index.has(s))return void this.warnDocumentChanged(e,t,s);const i=this._index.fetch(s,D),n=i.get(t);null==n||null==n.get(e)?this.warnDocumentChanged(e,t,s):n.get(e)<=1?n.size<=1?i.delete(t):n.delete(e):n.set(e,n.get(e)-1),0===this._index.get(s).size&&this._index.delete(s)}warnDocumentChanged(t,e,s){for(const i of Object.keys(this._fieldIds))if(this._fieldIds[i]===e)return void this._options.logger("warn",`MiniSearch: document with ID ${this._documentIds.get(t)} has changed before removal: term "${s}" was not present in field "${i}". Removing a document after it has changed can corrupt the index!`,"version_conflict")}addDocumentId(t){const e=this._nextId;return this._idToShortId.set(t,e),this._documentIds.set(e,t),this._documentCount+=1,this._nextId+=1,e}addFields(t){for(let e=0;e<t.length;e++)this._fieldIds[t[e]]=e}addFieldLength(t,e,s,i){let n=this._fieldLength.get(t);null==n&&this._fieldLength.set(t,n=[]),n[e]=i;const o=(this._avgFieldLength[e]||0)*s+i;this._avgFieldLength[e]=o/(s+1)}removeFieldLength(t,e,s,i){if(1===s)return void(this._avgFieldLength[e]=0);const n=this._avgFieldLength[e]*s-i;this._avgFieldLength[e]=n/(s-1)}saveStoredFields(t,e){const{storeFields:s,extractField:i}=this._options;if(null==s||0===s.length)return;let n=this._storedFields.get(t);null==n&&this._storedFields.set(t,n={});for(const o of s){const t=i(e,o);void 0!==t&&(n[o]=t)}}}v.wildcard=Symbol("*");const b=(t,e)=>Object.prototype.hasOwnProperty.call(t,e)?t[e]:void 0,z={[p]:(t,e)=>{for(const s of e.keys()){const i=t.get(s);if(null==i)t.set(s,e.get(s));else{const{score:t,terms:n,match:o}=e.get(s);i.score=i.score+t,i.match=Object.assign(i.match,o),L(i.terms,n)}}return t},[w]:(t,e)=>{const s=new Map;for(const i of e.keys()){const n=t.get(i);if(null==n)continue;const{score:o,terms:r,match:c}=e.get(i);L(n.terms,r),s.set(i,{score:n.score+o,terms:n.terms,match:Object.assign(n.match,c)})}return s},[y]:(t,e)=>{for(const s of e.keys())t.delete(s);return t}},x=(t,e,s,i,n,o)=>{const{k:r,b:c,d:h}=o;return Math.log(1+(s-e+.5)/(e+.5))*(h+t*(r+1)/(t+r*(1-c+c*i/n)))},I=t=>(e,s,i)=>({term:e,fuzzy:"function"==typeof t.fuzzy?t.fuzzy(e,s,i):t.fuzzy||!1,prefix:"function"==typeof t.prefix?t.prefix(e,s,i):!0===t.prefix,termBoost:"function"==typeof t.boostTerm?t.boostTerm(e,s,i):1}),S={idField:"id",extractField:(t,e)=>t[e],stringifyField:(t,e)=>t.toString(),tokenize:t=>t.split(q),processTerm:t=>t.toLowerCase(),fields:void 0,searchOptions:void 0,storeFields:[],logger:(t,e)=>{"function"==typeof(null===console||void 0===console?void 0:console[t])&&console[t](e)},autoVacuum:!0},F={combineWith:p,prefix:!1,fuzzy:!1,maxFuzzy:6,boost:{},weights:{fuzzy:.45,prefix:.375},bm25:{k:1.2,b:.7,d:.5}}
1,k={combineWith:"and",prefix:(t,e,s)=>e===s.length-1},M={batchSize:1e3,batchWait:10},C={minDirtFactor:.1,minDirtCount:20},V={...M,...C},O=(t,e)=>{t.includes(e)||t.push(e)},L=(t,e)=>{for(const s of e)t.includes(s)||t.push(s)},T=({score:t},{score:e})=>e-t,D=()=>new Map,E=t=>{const e=new Map;for(const s of Object.keys(t))e.set(parseInt(s,10),t[s]);return e},A=async t=>{const e=new Map;let s=0;for(const i of Object.keys(t))e.set(parseInt(i,10),t[i]),++s%1e3==0&&await j(0);return e},j=t=>new Promise((e=>setTimeout(e,t))),q=/[\n\r\p{Z}\p{P}]+/u;var W=s(754);const J=new Set("ab als am an auch auf aus bei bin bis bist da das dass dem den der des die\n dir dort du ein eine einem einen einer eines er es fuer gibt habe haben hat\n hier ich ihr im in ist ja kann koennen man mein meine meinem meinen meiner\n mich mir mit muss muessen nach nein nicht noch oder sich sie sind so ueber\n um und uns unser vom von vor wann war warum was welche wer werden wie wird\n wir wo zu zum zur".split(/\s+/)),P=t=>t.split(/[^\p{L}\p{N}
1]+/u).filter(Boolean),N=t=>P(t).flatMap((t=>{const e=[t];for(let s=3;t.length-s>=4;s++)e.push(t.slice(s));return e})),R=t=>{const e=(0,W.A)(t);return J.has(e)?null:e},$=t=>{const e=new v({fields:["question","answer","category"],tokenize:N,processTerm:R,searchOptions:{tokenize:P,processTerm:R,prefix:!0,fuzzy:.2,boost:{question:2,category:.5}}});return e.addAll(t.flatMap((t=>t.questions.map((e=>{let{id:s,question:i,answer:n}=e;return{id:s,question:i,answer:(o=n,(new DOMParser).parseFromString(o||"","text/html").body.textContent||""),category:t.title};var o}))))),t=>{let s=e.search(t,{combineWith:"AND"});const i=0===s.length;return i&&(s=e.search(t,{combineWith:"OR"})),{matches:new Map(s.map((t=>[t.id,t.terms]))),partial:i&&s.length>0}}}}}]); 2//# sourceMappingURL=873-5baeb90cdf2ae7e1c647.js.map
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.