/**
 * Minified by jsDelivr using Terser v5.39.0.
 * Original file: /npm/@lokidb/full-text-search@2.1.0/lokidb.full-text-search.js
 *
 * Do NOT use SRI with dynamically generated files! More information: https://www.jsdelivr.com/using-sri-with-dynamic-files
 */
!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define("@lokidb/full-text-search",[],t):"object"==typeof exports?exports["@lokidb/full-text-search"]=t():(e["@lokidb/full-text-search"]=t(),e.LokiFullTextSearch=e["@lokidb/full-text-search"].default)}("undefined"!=typeof self?self:this,(function(){return function(e){var t={};function n(s){if(t[s])return t[s].exports;var i=t[s]={i:s,l:!1,exports:{}};return e[s].call(i.exports,i,i.exports,n),i.l=!0,i.exports}return n.m=e,n.c=t,n.d=function(e,t,s){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:s})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var s=Object.create(null);if(n.r(s),Object.defineProperty(s,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var i in e)n.d(s,i,function(t){return e[t]}.bind(null,i));return s},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s=1)}([function(e,t,n){"use strict";(function(e){function s(){let t;return function(e){t=e}(void 0!==e&&e||this),t}n.d(t,"a",(function(){return i}));const i=function(){const e=s(),t=Symbol.for("LOKI");return void 0===e[t]&&(e[t]={}),e[t]}()}).call(this,n(2))},function(e,t,n){"use strict";function s(e){return e.split(/[\s]+/)}function i(e){return e.toLowerCase()}function o(e){return e.toUpperCase()}function r(e,t){if(e.char_filter)for(let n=0;n<e.char_filter.length;n++)t=e.char_filter[n](t);const n=e.tokenizer(t);if(e.token_filter)for(let t=0;t<n.length;t++)for(let s=0;s<e.token_filter.length;s++)n[t]=e.token_filter[s](n[t],t,n);return n.filter((e=>e))}n.r(t);class h{constructor(){this.tokenizer=s,this.token_filter=[i]}}function w(e){const t=[];for(let n=0;n<e.length;){const s=e.charCodeAt(n++);if(s>=55296&&s<=56319){const i=e.charCodeAt(n++);t.push(65536+(s-55296<<10)|i-56320)}else t.push(s)}return t}class l{constructor(e={}){this.docCount=0,this.docStore=new Map,this.totalFieldLength=0,this.root=new Map,({store:this._store=!0,optimizeChanges:this._optimizeChanges=!0,analyzer:this.analyzer=new h}=e)}insert(e,t){if(this.docStore.has(t))throw Error("Field already added.");const n=r(this.analyzer,e);if(0==n.length)return void this.docStore.set(t,{fieldLength:0});this.totalFieldLength+=n.length,this.docCount+=1,this.docStore.set(t,{fieldLength:n.length});const s=[];this._optimizeChanges&&Object.defineProperties(this.docStore.get(t),{indexRef:{enumerable:!1,configurable:!0,writable:!0,value:s}});for(const e of new Set(n)){let i=0;for(let t=0;t<n.length;t++)n[t]===e&&++i;let o=this.root;for(const t of w(e)){let e=o.get(t);void 0===e&&(e=new Map,this._optimizeChanges&&(e.pa=o),o.set(t,e)),o=e}void 0===o.dc&&(o.dc=new Map,o.df=0),o.dc.set(t,i),o.df+=1,s.push(o)}}remove(e){if(!this.docStore.has(e))return;const t=this.docStore.get(e);if(this.docStore.delete(e),0!==t.fieldLength)if(this.docCount-=1,this.totalFieldLength-=t.fieldLength,this._optimizeChanges){const n=t.indexRef;for(let t=0;t<n.length;t++){let s=n[t];if(s.df-=1,s.dc.delete(e),0===s.df){if(delete s.df,delete s.dc,0!==s.size)continue;do{const e=s.pa;delete s.pa;for(const t of e.keys())if(e.get(t)===s){e.delete(t);break}s=e}while(void 0!==s.pa&&0===s.size&&void 0===s.df)}}}else this._remove(this.root,e)}static getTermIndex(e,t,n=0){if(n>=e.length)return null;for(let s=n;s<e.length;s++){let n=t.get(e[s]);if(void 0===n)return null;t=n}return t}static extendTermIndex(e,t=[],n=[]){void 0!==e.df&&n.push({index:e,term:t.slice()}),t.push(0);for(const s of e)t[t.length-1]=s[0],l.extendTermIndex(s[1],t,n);return t.pop(),n}toJSON(){return this._store?{_store:!0,_optimizeChanges:this._optimizeChanges,docCount:this.docCount,docStore:[...this.docStore],totalFieldLength:this.totalFieldLength,root:l._serializeIndex(this.root)}:{_store:!1,_optimizeChanges:this._optimizeChanges}}static fromJSONObject(e,t){const n=new l({store:e._store,optimizeChanges:e._optimizeChanges,analyzer:t});return e._store&&(n.docCount=e.docCount,n.docStore=new Map(e.docStore),n.totalFieldLength=e.totalFieldLength,n.root=l._deserializeIndex(e.root)),n._optimizeChanges&&n._regenerate(n.root,null),n}static _serializeIndex(e){const t={};if(void 0!==e.dc&&(t.d={df:e.df,dc:[...e.dc]}),0===e.size)return t;const n=[],s=[];for(const t of e)n.push(t[0]),s.push(l._serializeIndex(t[1]));return t.k=n,t.v=s,t}static _deserializeIndex(e){const t=new Map;if(void 0!==e.k)for(let n=0;n<e.k.length;n++)t.set(e.k[n],l._deserializeIndex(e.v[n]));return void 0!==e.d&&(t.df=e.d.df,t.dc=new Map(e.d.dc)),t}_regenerate(e,t){null!==t&&(e.pa=t);for(const t of e.values())this._regenerate(t,e);if(void 0!==e.dc)for(const t of e.dc.keys()){const n=this.docStore.get(t);void 0===n.indexRef&&Object.defineProperties(n,{indexRef:{enumerable:!1,configurable:!0,writable:!0,value:[]}}),n.indexRef.push(e)}}_remove(e,t){for(const n of e)this._remove(n[1],t)&&e.delete(n[0]);return void 0!==e.df&&e.dc.has(t)&&(e.df-=1,e.dc.delete(t),0===e.df&&(delete e.df,delete e.dc)),0===e.size&&void 0===e.dc}}class f{constructor(e){this._cache={},this._invIdxs=e}setDirty(){this._cache={}}score(e,t,n,s,i,o,r=0){if(null===n||void 0===n.dc)return;const h=this._idf(e,r||n.df);for(const[r,w]of n.dc)i.has(r)||i.set(r,[]),!0===s?i.get(r).push({tf:w,idf:h,boost:t,fieldName:e,term:o}):!1===s?i.set(r,[{boost:t}]):i.set(r,[{boost:0}])}scoreConstant(e,t,n){return n.has(t)||n.set(t,[]),n.get(t).push({boost:e}),n}finalScore(e,t){const n={},s=void 0!==e.bm25?e.bm25.k1:1.2,i=void 0!==e.bm25?e.bm25.b:.75,o=void 0!==e.explain&&e.explain;for(const[e,r]of t){let t=0,h=[];for(let n=0;n<r.length;n++){const w=r[n];let l=0;if(void 0!==w.tf){const t=w.tf,n=f._calculateFieldLength(this._invIdxs[w.fieldName].docStore.get(e).fieldLength),r=this._avgFieldLength(w.fieldName),c=t*(s+1)/(t+s*(1-i+i*(n/r)));l=w.idf*c*w.boost,o&&h.push({boost:w.boost,score:l,docID:e,fieldName:w.fieldName,index:String.fromCharCode(...w.term),idf:w.idf,tfNorm:c,tf:t,fieldLength:n,avgFieldLength:r})}else l=w.boost,o&&h.push({boost:w.boost,score:l});t+=l}n[e]=o?{score:t,explanation:h}:{score:t}}return n}static _calculateFieldLength(e){return e}_getCache(e){if(void 0===this._cache[e]){const t=this._invIdxs[e].totalFieldLength/this._invIdxs[e].docCount;this._cache[e]={idfs:{},avgFieldLength:t}}return this._cache[e]}_idf(e,t){const n=this._getCache(e);return void 0!==n.idfs[t]?n.idfs[t]:n.idfs[t]=Math.log(1+(this._invIdxs[e].docCount-t+.5)/(t+.5))}_avgFieldLength(e){return this._getCache(e).avgFieldLength}}class c{constructor(e){const t=e.getNumStates();this._points=e.getStartPoints(),this._accept=new Array(t),this._transitions=new Array(t*this._points.length);for(let n=0;n<t;n++){this._accept[n]=e.isAccept(n);for(let t=0;t<this._points.length;t++)this._transitions[n*this._points.length+t]=e.step(n,this._points[t])}this._classmap=new Array(256);for(let e=0,t=0;t<this._classmap.length;t++)e+1<this._points.length&&t===this._points[e+1]&&e++,this._classmap[t]=e}getCharClass(e){let t=0,n=this._points.length;for(;n-t>1;){const s=t+n>>>1;if(this._points[s]>e)n=s;else{if(!(this._points[s]<e))return s;t=s}}return t}step(e,t){return t>=this._classmap.length?this._transitions[e*this._points.length+this.getCharClass(t)]:this._transitions[e*this._points.length+this._classmap[t]]}isAccept(e){return this._accept[e]}}const a=1114111;function d(e,t){return e[0]<t[0]?-1:e[0]>t[0]?1:e[1]<t[1]?-1:e[1]>t[1]?1:e[2]<t[2]?-1:e[2]>t[2]?1:0}function u(e,t){return e[1]<t[1]?-1:e[1]>t[1]?1:e[2]<t[2]?-1:e[2]>t[2]?1:e[0]<t[0]?-1:e[0]>t[0]?1:0}class _{constructor(){this._stateTransitions=[],this._stateTransitions=[],this._accept=new Set,this._nextState=0,this._currState=-1,this._transitions={}}isAccept(e){return this._accept.has(e)}createState(){return this._nextState++}setAccept(e,t){t?this._accept.add(e):this._accept.delete(e)}finishState(){-1!==this._currState&&(this._finishCurrentState(),this._currState=-1)}_finishCurrentState(){this._stateTransitions.sort(d);let e=0,t=[-1,-1,-1];for(let n=0,s=this._stateTransitions.length;n<s;n++){let s=this._stateTransitions[n];t[0]===s[0]?s[1]<=t[2]+1?s[2]>t[2]&&(t[2]=s[2]):(-1!==t[0]&&(this._stateTransitions[e][0]=t[0],this._stateTransitions[e][1]=t[1],this._stateTransitions[e][2]=t[2],e++),t[1]=s[1],t[2]=s[2]):(-1!==t[0]&&(this._stateTransitions[e][0]=t[0],this._stateTransitions[e][1]=t[1],this._stateTransitions[e][2]=t[2],e++),t[0]=s[0],t[1]=s[1],t[2]=s[2])}-1!==t[0]&&(this._stateTransitions[e][0]=t[0],this._stateTransitions[e][1]=t[1],this._stateTransitions[e][2]=t[2],e++),this._transitions[this._currState]=this._stateTransitions.slice(0,e).sort(u),this._stateTransitions=[]}getStartPoints(){const e=new Set;e.add(0);const t=Object.keys(this._transitions);for(let n=0;n<t.length;n++){let s=this._transitions[t[n]];for(let t=0;t<s.length;t++){let n=s[t];e.add(n[1]),n[2]<a&&e.add(n[2]+1)}}return Array.from(e).sort(((e,t)=>e-t))}step(e,t){let n=this._transitions[e];if(n)for(let e=0;e<n.length;e++){let s=n[e];if(s[1]<=t&&t<=s[2])return s[0]}return-1}getNumStates(){return this._nextState}addTransition(e,t,n,s){this._currState!==e&&(-1!==this._currState&&this._finishCurrentState(),this._currState=e),this._stateTransitions.push([t,n,s])}}class g{constructor(e=0,t=0){this._low=e,this._high=t}shiftRight(e){return 0==(e&=63)?this:e<32?new g(this._low>>>e|this._high<<32-e,this._high>>e):new g(this._high>>e-32,this._high>=0?0:-1)}shiftLeft(e){return 0==(e&=63)?this:e<32?new g(this._low<<e,this._high<<e|this._low>>>32-e):new g(0,this._low<<e-32)}and(e){return new g(this._low&e._low,this._high&e._high)}toInt(){return this._low}}const p=[new g(1),new g(3),new g(7),new g(15),new g(31),new g(63),new g(127),new g(255),new g(511),new g(1023),new g(2047),new g(4095),new g(8191),new g(16383),new g(32767),new g(65535),new g(15,8191),new g(15,16383),new g(15,32767),new g(15,65535),new g(255,8191),new g(255,16383),new g(255,32767),new g(255,65535),new g(4095,8191),new g(4095,16383),new g(4095,32767),new g(4095,65535),new g(65535,8191),new g(65535,16383),new g(65535,32767),new g(65535,65535),new g(1048575,8191),new g(1048575,16383),new g(1048575,32767),new g(1048575,65535),new g(16777215,8191),new g(16777215,16383),new g(16777215,32767),new g(16777215,65535),new g(268435455,8191),new g(268435455,16383),new g(268435455,32767),new g(268435455,65535),new g(4294967295,8191),new g(4294967295,16383),new g(4294967295,32767),new g(4294967295,65535),new g(68719476735,8191),new g(68719476735,16383),new g(68719476735,32767),new g(68719476735,65535),new g(0xffffffffff,8191),new g(0xffffffffff,16383),new g(0xffffffffff,32767),new g(0xffffffffff,65535),new g(0xfffffffffff,8191),new g(0xfffffffffff,16383),new g(0xfffffffffff,32767),new g(0xfffffffffff,65535),new g(0xffffffffffff,8191),new g(0xffffffffffff,16383),new g(0xffffffffffff,32767)];class m{constructor(e,t,n){this._w=e,this._n=t,this._minErrors=n}size(){return this._minErrors.length*(this._w+1)}isAccept(e){let t=Math.floor(e/(this._w+1)),n=e%(this._w+1);return this._w-n+this._minErrors[t]<=this._n}getPosition(e){return e%(this._w+1)}static unpack(e,t,n){const s=n*t,i=s>>6,o=63&s;if(o+n<=64)return e[i].shiftRight(o).and(p[n-1]).toInt();{const t=64-o;return e[i].shiftRight(o).and(p[t-1]).toInt()+e[1+i].and(p[n-t-1]).shiftLeft(t).toInt()}}}const x=[new g(2)],v=[new g(0)],b=[new g(2627)],k=[new g(56)],y=[new g(2182348803,877873428),new g(109)],S=[new g(1436680192,21845)],z=[new g(2416705539,559024212),new g(1161073005,1531779490),new g(55860)],T=[new g(553385984,1431678474),new g(1431655765)];class I extends m{constructor(e){super(e,1,[0,1,0,-1,-1,-1])}transition(e,t,n){let s=Math.floor(e/(this._w+1)),i=e%(this._w+1);if(t===this._w){if(s<2){const e=2*n+s;i+=m.unpack(v,e,1),s=m.unpack(x,e,2)-1}}else if(t===this._w-1){if(s<3){const e=3*n+s;i+=m.unpack(k,e,1),s=m.unpack(b,e,2)-1}}else if(t===this._w-2){if(s<6){const e=6*n+s;i+=m.unpack(S,e,2),s=m.unpack(y,e,3)-1}}else if(s<6){const e=6*n+s;i+=m.unpack(T,e,2),s=m.unpack(z,e,3)-1}return-1===s?-1:s*(this._w+1)+i}}const C=[new g(35)],A=[new g(0)],L=[new g(325618500)],M=[new g(992)],F=[new g(1375778052,1625010352),new g(654713383,1379082614),new g(338833973,592794674),new g(17236)],O=[new g(8192,1431339176),new g(1431655765,85)],j=[new g(1074107396,3875651625),new g(10813440,2685408800),new g(2705416840,2955709504),new g(822630592,176295986),new g(220770817,826549144),new g(2222426336,1384244520),new g(146941966,2721677523),new g(2841782156,506631345),new g(579396904,2353082526),new g(35310113,289686537),new g(2259748971,295985736),new g(492978372,711088276),new g(1217426605,1344578827),new g(1376534810,344070858),new g(190401092,1485354377),new g(3289490533,2484954400),new g(2909430484,2337837173),new g(441472420)],R=[new g(8192,3195650),new g(3288085308,704655603),new g(2189600800,591003698),new g(850559912,1431655765),new g(1431655765,1431655765),new g(1431655765,1431655765),new g(1431655765,1431655765)],D=[new g(2904068,58725456),new g(3640,3305111883),new g(1363153922,1300),new g(0),new g(335609856,85458955),new g(685900336,166838792),new g(2198499522,564071920),new g(136348160,2181038210),new g(1619003392,134546689),new g(39855683,813828486),new g(1347453028,1164181826),new g(536873009,139461908),new g(2231378050,1094735904),new g(160481793,1164017816),new g(1352667217,137456908),new g(84799712,558175264),new g(340820500,219423040),new g(1350704224,1008844824),new g(3407093895,30086147),new g(407994924,2148016453),new g(545259552,2097672),new g(2266497861,3490060320),new g(613903113,3406463435),new g(1648822737,145860110),new g(2183434377,38340640),new g(13811748,3272876486),new g(356860963,1009861909),new g(3256660288,830815266),new g(740327956,1158959115),new g(1351286865,141656116),new g(1359540421,2999666001),new g(481339408,3894702429),new g(2425032288,337824532),new g(3224154437,813771810),new g(212943372,2216698370),new g(550373456,1545653768),new g(2332913858,545392672),new g(337723912,1107841154),new g(1350765600,153125696),new g(325399954,3323153862),new g(1841617741,3540595740),new g(1423134004,1680136456),new g(50861250,2449943586),new g(614664496,1109422667),new g(633938146,611374880),new g(2539425922,2462657904),new g(76697096,3406332098),new g(3259769985,1165203240),new g(3663819994,3336195509),new g(1563465501,1264399831),new g(2474794210,271614300),new g(34386245,1363419217),new g(740429356,3308790030),new g(1389038960,139543060),new g(2232701250,541788240),new g(1079067660,2450874499),new g(2785961365,1298533965),new g(476956248,2497254628),new g(341103461,2187601497),new g(1359153171,680658732),new g(3408700171,3804373106),new g(542345488,1160540375),new g(1888368785,145935149),new g(3255087694,2177569856),new g(683854372,3661947790),new g(2245419236,499571301),new g(2388496718,3804978483),new g(949191224)],N=[new g(524288,805437440),new g(2146400),new g(67108864,2169044992),new g(276973604,1076138561),new g(1610621058,3680514243),new g(807079296,1815527532),new g(897243,2954387888),new g(2441666669,460338720),new g(114847159,134255104),new g(37758096,76680228),new g(136613897,4784130),new g(672286724,1225265793),new g(306857122,880804100),new g(220463628,3272159376),new g(616713508,1073781257),new g(2449540634,77089286),new g(1898353250,1229784210),new g(2454267026,613566756),new g(1227133513,2454267026),new g(613566756,1227133513),new g(2454267026,613566756),new g(1227133513,2454267026),new g(613566756,1227133513),new g(2454267026,613566756),new g(1227133513,2454267026),new g(613566756,1227133513),new g(2454267026,613566756),new g(1227133513,2454267026),new g(613566756,1227133513),new g(2454267026,613566756),new g(1227133513,2454267026),new g(613566756,1227133513),new g(2454267026,613566756),new g(1227133513,9362)],P=[new g(2904068,58725456),new g(3640,3305111883),new g(1363153922,1300),new g(0),new g(335609856,85196811),new g(59637984,5570560),new g(100708736,642062416),new g(136348168,2181570690),new g(1082263584,181504),new g(2156659014,1887570488),new g(2620424828,3279691970),new g(545261671,2130440),new g(33562752,2973765664),new g(5341184,2190352419),new g(547298336,137406220),new g(2235429087,1363481680),new g(340820500,370417986),new g(813715536,1613103716),new g(1124606104,621086726),new g(341196820,1107296387),new g(545587281,139461128),new g(336856450,2157513760),new g(136714249,2181140994),new g(2416314689,143787289),new g(3257709122,575218834),new g(23218476,1124599045),new g(2248302630,2151761173),new g(3316920642,935559200),new g(340819988,1107841157),new g(1350893649,21053528),new g(2550763714,1363501440),new g(206610448,3758633325),new g(1351295472,743623468),new g(3257709129,1611476114),new g(407929372,2268864960),new g(63640608,738315028),new g(1159221634,545261601),new g(136347648,1157636098),new g(545724419,141559316),new g(84419023,1946484981),new g(408981504,2471335494),new g(813845808,1277481805),new g(3321943618,25561121),new g(635093620,3265295049),new g(2445440114,745112472),new g(2300846658,2453800992),new g(883951872,2181591424),new g(2963079265,481446262),new g(2635903144,1625695344),new g(359976510,3541325271),new g(633494900,476056888),new g(1111241026,1364284500),new g(335790868,3257672139),new g(558045267,11715080),new g(85217605,54855856),new g(206604056,1427443855),new g(4060419156,141821184),new g(102297744,3797110162),new g(1704116792,1228416601),new g(566624470,1143194388),new g(3408729413,1925357634),new g(2693907828,1110194563),new g(1351298130,11715860),new g(2150936715,4039444593),new g(1162957064,2819666635),new g(1901927600,576776228),new g(2385343694,3864603731),new g(949191224,1108095105),new g(570559665,139494432),new g(3456639182,1891785760),new g(136350477,1107828866),new g(1350702113,203440648),new g(2200719491,554174592),new g(137937428,2768779394),new g(2848166960,2863311530),new g(2678717098,447381162),new g(337691400,2185765072),new g(2228833636,1904530289),new g(460404435,885148935),new g(355783501,2567517762),new g(818021680,137626888),new g(1398349970,886858038),new g(1303698529,2759444188),new g(1227133514,2450169746),new g(2173872170,1925324848),new g(814942496,119845450),new g(2450400290,225575516),new g(3372753479,2463566197),new g(618694956,2282496073),new g(3259505840,747801636),new g(2299037513,2158306440),new g(2865185684,1787173674),new g(2871505528,135998630),new g(120332803,2735288466),new g(1763036764,3614016979),new g(1998285110,1567933020),new g(2301457623,1917716851),new g(142656005,1277460939),new g(1939286210,1635048005),new g(3662525914,1252095430),new g(2252890502,1787206439),new g(813795018,212944144),new g(1142968578,571354193),new g(941690412,3406655685),new g(1363285074,340869640),new g(1258836101,1363414048),new g(339772204,3407106312),new g(1217071240,2486264328),new g(2675866051,4205477370),new g(2124930941,50862570),new g(550507601,1701086552),new g(2473165721,2517850499),new g(956767089,3647288901),new g(2521109812,81828105),new g(85213378,559286324),new g(1625708889,3596674266),new g(3336332676,2449992057),new g(3750905888,2821358087),new g(271614374,2300605125),new g(2999595186,740427564),new g(87593230,1388776818),new g(149129492,2334962391),new g(541795552,481379340),new g(2351735368,2269850802),new g(608733960,1133805922),new g(2602532471,2658691750),new g(3970345447,1359153177),new g(680658732,2386076427),new g(2207475987,1771444057),new g(1161328411,1959672182),new g(149130029,3255099982),new g(2177569856,683854372),new g(3661947790,2245419236),new g(1975966309,1770391529),new g(2582087242,2798283430)],U=[new g(524288,805437440),new g(2146400),new g(67108864,16777216),new g(1348481048,3681400539),new g(11702,2759852034),new g(1092883008,306782344),new g(1065248,1073742080),new g(2450071634,613598240),new g(157651673,204527616),new g(3277862616,2954562566),new g(1815534349,409731075),new g(2954587142,2911241057),new g(1533925085,905970103),new g(230032140,3289526556),new g(3068358150,56077),new g(3674310171,152604166),new g(1907829602,7198427),new g(8390944,1076101705),new g(2420711618,545409280),new g(1074040832,302064768),new g(2760925472,1428467018),new g(38273045,1083326496),new g(1212191753,2454856978),new g(603981856,1226838017),new g(541721760,689080612),new g(349513,2416455890),new g(616710196,154440460),new g(40379539,68708608),new g(1629493832,2588509714),new g(894585300,204767233),new g(2483889154,616827184),new g(153412173,440402074),new g(110231814,1644468298),new g(2456888978,2454277460),new g(613566756,1227133513),new g(2454267026,613566756),new g(1227133513,2454267026),new g(613566756,1227133513),new g(2454267026,613566756),new g(1227133513,2454267026),new g(613566756,1227133513),new g(2454267026,613566756),new g(1227133513,2454267026),new g(613566756,1227133513),new g(2454267026,613566756),new g(1227133513,2454267026),new g(613566756,1227133513),new g(2454267026,613566756),new g(1227133513,2454267026),new g(613566756,1227133513),new g(2454267026,613566756),new g(1227133513,2454267026),new g(613566756,1227133513),new g(2454267026,613566756),new g(1227133513,2454267026),new g(613566756,1227133513),new g(2454267026,613566756),new g(1227133513,2454267026),new g(613566756,1227133513),new g(2454267026,613566756),new g(1227133513,2454267026),new g(613566756,1227133513),new g(2454267026,613566756),new g(1227133513,2454267026),new g(613566756,1227133513),new g(2454267026,613566756),new g(1227133513,2454267026),new g(613566756)];class J extends m{constructor(e){super(e,2,[0,2,1,0,1,0,-1,0,0,-1,0,-1,-1,-1,-1,-1,-2,-1,-1,-1,-2,-1,-1,-2,-1,-1,-2,-1,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2])}transition(e,t,n){let s=Math.floor(e/(this._w+1)),i=e%(this._w+1);if(t===this._w){if(s<3){const e=3*n+s;i+=m.unpack(A,e,1),s=m.unpack(C,e,2)-1}}else if(t===this._w-1){if(s<5){const e=5*n+s;i+=m.unpack(M,e,1),s=m.unpack(L,e,3)-1}}else if(t===this._w-2){if(s<13){const e=13*n+s;i+=m.unpack(O,e,2),s=m.unpack(F,e,4)-1}}else if(t===this._w-3){if(s<28){const e=28*n+s;i+=m.unpack(R,e,2),s=m.unpack(j,e,5)-1}}else if(t===this._w-4){if(s<45){const e=45*n+s;i+=m.unpack(N,e,3),s=m.unpack(D,e,6)-1}}else if(s<45){const e=45*n+s;i+=m.unpack(U,e,3),s=m.unpack(P,e,6)-1}return-1===s?-1:s*(this._w+1)+i}}class E{constructor(e,t){this._word=e,this._editDistance=t,this._alphabet=[...new Set(this._word)].sort(((e,t)=>e-t)),this._numRanges=0,this._rangeLower=new Array(this._alphabet.length+2),this._rangeUpper=new Array(this._alphabet.length+2);let n=0;for(let e=0;e<this._alphabet.length;e++){const t=this._alphabet[e];t>n&&(this._rangeLower[this._numRanges]=n,this._rangeUpper[this._numRanges]=t-1,this._numRanges++),n=t+1}n<=a&&(this._rangeLower[this._numRanges]=n,this._rangeUpper[this._numRanges]=a,this._numRanges++),this._description=1===t?new I(e.length):new J(e.length)}toAutomaton(){let e=new _;const t=2*this._editDistance+1,n=this._description.size();e.createState();for(let t=1;t<n;t++){let n=e.createState();e.setAccept(n,this._description.isAccept(t))}for(let s=0;s<n;s++){const n=this._description.getPosition(s);if(n<0)continue;const i=n+Math.min(this._word.length-n,t);for(let t=0;t<this._alphabet.length;t++){const o=this._alphabet[t],r=this._getVector(o,n,i),h=this._description.transition(s,n,r);h>=0&&e.addTransition(s,h,o,o)}const o=this._description.transition(s,n,0);if(o>=0)for(let t=0;t<this._numRanges;t++)e.addTransition(s,o,this._rangeLower[t],this._rangeUpper[t])}return e.finishState(),e}_getVector(e,t,n){let s=0;for(let i=t;i<n;i++)s<<=1,this._word[i]===e&&(s|=1);return s}}function q(e,t){if(void 0===t)return 1;if("number"==typeof t)return t<0?e+t:t;let n=e;if(t.includes("<")){for(const s of t.split(" ")){const t=s.split("<");if(e<=parseInt(t[0]))return n;n=q(e,t[1])}return n}if(t.includes("%")){const e=n*parseInt(t.slice(0,-1))*.01;n=e<0?n+Math.ceil(e):Math.floor(e)}else{const e=parseInt(t);n=e<0?n+e:e}return n<1?1:n}class V{constructor(e,t){this._invIdxs=e,this._docs=t,this._scorer=new f(this._invIdxs)}search(e){let t=this._recursive(e.query,!0);if(void 0===e.calculate_scoring||e.calculate_scoring)return this._scorer.finalScore(e,t);const n={};for(const e of t.keys())n[e]={score:1};return n}setDirty(){this._scorer.setDirty()}_recursive(e,t){let n=new Map;const s=void 0!==e.boost?e.boost:1,i=void 0!==e.field?e.field:null;let o=null,h=null;switch(void 0!==this._invIdxs[i]&&(o=this._invIdxs[i].root,h=this._invIdxs[i].analyzer),e.type){case"bool":if(n=null,void 0!==e.must&&(n=this._getUnique(e.must,t,n)),void 0!==e.filter&&(n=this._getUnique(e.filter,null,n)),void 0!==e.should){const s=this._getAll(e.should,t);let i=!1;null===n&&(i=!0,n=new Map);const o=Math.max(1,q(e.should.length,e.minimum_should_match));if(i&&1===o)n=s;else for(const[e,t]of s)t.length>=o&&(n.has(e)?n.get(e).push(...t):i?n.set(e,t):n.delete(e))}if(null===n&&(n=this._recursive({type:"match_all"},!1)),void 0!==e.not){let t=this._getAll(e.not,null);for(const e of t.keys())n.has(e)&&n.delete(e)}if(1!==s)for(const[e,t]of n)for(let e=0;e<t.length;e++)t[e].boost*=s;break;case"term":{const r=w(e.value);let h=l.getTermIndex(r,o);this._scorer.score(i,s,h,t,n,r);break}case"terms":for(let r=0;r<e.value.length;r++){const h=w(e.value[r]);let f=l.getTermIndex(h,o);this._scorer.score(i,s,f,t,n,h)}break;case"fuzzy":{const[r,h]=function(e,t){let n=w(e.value),s=void 0!==e.fuzziness?e.fuzziness:"AUTO";"AUTO"===s&&(s=n.length<=2?0:n.length<=5?1:2);let i=void 0!==e.prefix_length?e.prefix_length:0,o=void 0!==e.extended&&e.extended;0===s&&(i=n.length);let r=[],h=t,f=n.slice(0,i),a=n,d=0;0!==i&&(h=l.getTermIndex(f,h),a=a.slice(i));if(null===h)return[r,d];if(0===a.length){if(o){const e=l.extendTermIndex(h);for(let t=0;t<e.length;t++)r.push({index:e[t].index,term:e[t].term,boost:1}),d=Math.max(d,e[t].index.df)}else void 0!==h.dc&&(r.push({index:h,term:n,boost:1}),d=h.df);return[r,d]}const u=[0],_=new c(new E(a,s).toAutomaton());function g(e,t,n){let i=0;if(-1!==(e=_.step(e,0))&&_.isAccept(e)&&(i++,-1!==(e=_.step(e,0))&&_.isAccept(e)&&i++,t.length<n.length)){if(i!==s)return function(e,t){let n,s,i,o;const r=Array(e.length+1);for(n=0;n<=e.length;n++)r[n]=n;for(n=1;n<=t.length;n++){for(i=n,s=1;s<=e.length;s++)t[n-1]===e[s-1]?o=r[s-1]:(o=Math.min(r[s-1]+1,Math.min(i+1,r[s]+1)),n>1&&s>1&&t[n-2]===e[s-1]&&e[s-2]===t[n-1]&&(o=Math.min(o,r[s-1]-(e[s-1]===t[n-1]?1:0)))),r[s-1]=i,i=o;r[e.length]=i}return r[e.length]}(t,n);i-=n.length-t.length}return s-i}function p(e,t,s){if(u[u.length-1]=t,-1!==(e=_.step(e,t))){if(_.isAccept(e)){if(o){const e=l.extendTermIndex(s);for(let t=0;t<e.length;t++)r.push({index:e[t].index,term:e[t].term,boost:1}),d=Math.max(d,e[t].index.df);return}if(void 0!==s.df){const t=g(e,u,a),i=Math.max(0,1-t/Math.min(f.length+u.length,n.length));r.push({index:s,term:[...f,...u],boost:i}),d=Math.max(d,s.df)}}u.push(0);for(const t of s)p(e,t[0],t[1]);u.pop()}}for(const e of h)p(0,e[0],e[1]);return[r,d]}(e,o);for(let e=0;e<r.length;e++)this._scorer.score(i,s*r[e].boost,r[e].index,t,n,r[e].term,h);break}case"wildcard":{const r=void 0!==e.enable_scoring&&e.enable_scoring,h=function(e,t){let n=w(e.value),s=[];function i(e,t=0,o=[],r=!1){if(null!==e)if(t!==n.length)if(r||92!==n[t])if(r||63!==n[t])if(r||42!==n[t])i(l.getTermIndex([n[t]],e),t+1,[...o,n[t]]);else if(t+1===n.length){const n=l.extendTermIndex(e);for(let e=0;e<n.length;e++)i(n[e].index,t+1,[...o,...n[e].term])}else{i(e,t+1,o,!1);const n=[{index:e,term:[]}];do{const e=n.pop();for(const s of e.index)i(s[1],t+1,[...o,...e.term,s[0]]),n.push({index:s[1],term:[...e.term,s[0]]})}while(0!==n.length)}else for(const n of e)i(n[1],t+1,[...o,n[0]]);else i(e,t+1,o,!0);else void 0!==e.df&&s.push({index:e,term:o.slice()})}return i(t),s}(e,o);for(let e=0;e<h.length;e++)this._scorer.score(i,s,h[e].index,t&&r,n,h[e].term);break}case"match_all":for(let e of this._docs)this._scorer.scoreConstant(s,e,n);break;case"constant_score":{let t=this._getAll(e.filter,!1);for(const e of t.keys())this._scorer.scoreConstant(s,e,n);break}case"prefix":{const r=void 0!==e.enable_scoring&&e.enable_scoring,h=w(e.value),f=l.getTermIndex(h,o);if(null!==f){const e=l.extendTermIndex(f);for(let o=0;o<e.length;o++)this._scorer.score(i,s,e[o].index,t&&r,n,[...h,...e[o].term])}break}case"exists":if(null!==o)for(const e of this._invIdxs[i].docStore.keys())this._scorer.scoreConstant(s,e,n);break;case"match":{const o=r(h,e.value),w={type:"bool"},l=[];if("or"===(void 0!==e.operator?e.operator:"or")?(void 0!==e.minimum_should_match&&(w.minimum_should_match=e.minimum_should_match),w.should=l):w.must=l,w.boost=s,void 0!==e.fuzziness){let t=void 0!==e.prefix_length?e.prefix_length:2,n=void 0!==e.extended&&e.extended;for(let s=0;s<o.length;s++)l.push({type:"fuzzy",field:i,value:o[s],fuzziness:e.fuzziness,prefix_length:t,extended:n})}else for(let e=0;e<o.length;e++)l.push({type:"term",field:i,value:o[e]});n=this._recursive(w,t);break}}return n}_getUnique(e,t,n){if(0===e.length)return n;for(let s=0;s<e.length;s++){let i=this._recursive(e[s],t);if(null!==n)for(const e of n.keys())i.has(e)?n.get(e).push(...i.get(e)):n.delete(e);else n=this._recursive(e[0],t)}return n}_getAll(e,t,n=new Map){for(let s=0;s<e.length;s++){let i=this._recursive(e[s],t);for(const e of i.keys())n.has(e)?n.get(e).push(...i.get(e)):n.set(e,i.get(e))}return n}}var K=n(0);class B{constructor(e=[],t){this._invIdxs={};for(let t=0;t<e.length;t++){let n=e[t];this._invIdxs[n.field]=new l(n)}this._id=t,this._docs=new Set,this._idxSearcher=new V(this._invIdxs,this._docs)}static register(){K.a.FullTextSearch=B}addDocument(e,t=e[this._id]){let n=Object.keys(this._invIdxs);for(let s,i=0;n.length,s=n[i];i++){let n=e[s];if(null!=n){if("string"!=typeof n){if("number"!=typeof n)throw TypeError("Unsupported field type for full text search.");n=n.toString()}this._invIdxs[s].insert(n,t)}}this._docs.add(t),this._idxSearcher.setDirty()}removeDocument(e,t=e[this._id]){let n=Object.keys(this._invIdxs);for(let e=0;e<n.length;e++)this._invIdxs[n[e]].remove(t);this._docs.delete(t),this._idxSearcher.setDirty()}updateDocument(e,t=e[this._id]){this.removeDocument(e,t),this.addDocument(e,t)}clear(){for(let e of this._docs)this.removeDocument(null,e)}search(e){return this._idxSearcher.search(e)}toJSON(){let e={id:this._id,ii:{}},t=Object.keys(this._invIdxs);for(let n=0;n<t.length;n++){const s=t[n];e.ii[s]=this._invIdxs[s].toJSON()}return e}static fromJSONObject(e,t={}){let n=new B([],e.id),s=Object.keys(e.ii);for(let i=0;i<s.length;i++){const o=s[i];n._invIdxs[o]=l.fromJSONObject(e.ii[o],t[o])}return n}}n.d(t,"FullTextSearch",(function(){return B})),n.d(t,"analyze",(function(){return r})),n.d(t,"StandardAnalyzer",(function(){return h})),n.d(t,"whitespaceTokenizer",(function(){return s})),n.d(t,"lowercaseTokenFilter",(function(){return i})),n.d(t,"uppercaseTokenFilter",(function(){return o})),B.Analyzer={},B.Analyzer.analyze=r,B.Analyzer.StandardAnalyzer=h,B.Tokenizer={},B.Tokenizer.whitespaceTokenizer=s,B.TokenFilter={},B.TokenFilter.lowercaseTokenFilter=i,B.TokenFilter.uppercaseTokenFilter=o;t.default=B},function(e,t){var n;n=function(){return this}();try{n=n||Function("return this")()||(0,eval)("this")}catch(e){"object"==typeof window&&(n=window)}e.exports=n}])}));
//# sourceMappingURL=/sm/e2582f4eead06fa93a99b5f86c03c8032bdde168662a3a1b7776e97d417dfd5e.map