docs/assets/main.js
'use strict'
'use strict'
;(() => {
var Se = Object.create
var re = Object.defineProperty
var we = Object.getOwnPropertyDescriptor
var Te = Object.getOwnPropertyNames
var ke = Object.getPrototypeOf,
Qe = Object.prototype.hasOwnProperty
var Pe = (t, e) => () => (e || t((e = {exports: {}}).exports, e), e.exports)
var Ie = (t, e, r, n) => {
if ((e && typeof e == 'object') || typeof e == 'function')
for (let i of Te(e))
!Qe.call(t, i) &&
i !== r &&
re(t, i, {get: () => e[i], enumerable: !(n = we(e, i)) || n.enumerable})
return t
}
var Ce = (t, e, r) => (
(r = t != null ? Se(ke(t)) : {}),
Ie(e || !t || !t.__esModule ? re(r, 'default', {value: t, enumerable: !0}) : r, t)
)
var ae = Pe((se, oe) => {
;(function () {
var t = function (e) {
var r = new t.Builder()
return (
r.pipeline.add(t.trimmer, t.stopWordFilter, t.stemmer),
r.searchPipeline.add(t.stemmer),
e.call(r, r),
r.build()
)
}
t.version = '2.3.9'
;(t.utils = {}),
(t.utils.warn = (function (e) {
return function (r) {
e.console && console.warn && console.warn(r)
}
})(this)),
(t.utils.asString = function (e) {
return e == null ? '' : e.toString()
}),
(t.utils.clone = function (e) {
if (e == null) return e
for (
var r = Object.create(null), n = Object.keys(e), i = 0;
i < n.length;
i++
) {
var s = n[i],
o = e[s]
if (Array.isArray(o)) {
r[s] = o.slice()
continue
}
if (typeof o == 'string' || typeof o == 'number' || typeof o == 'boolean') {
r[s] = o
continue
}
throw new TypeError('clone is not deep and does not support nested objects')
}
return r
}),
(t.FieldRef = function (e, r, n) {
;(this.docRef = e), (this.fieldName = r), (this._stringValue = n)
}),
(t.FieldRef.joiner = '/'),
(t.FieldRef.fromString = function (e) {
var r = e.indexOf(t.FieldRef.joiner)
if (r === -1) throw 'malformed field ref string'
var n = e.slice(0, r),
i = e.slice(r + 1)
return new t.FieldRef(i, n, e)
}),
(t.FieldRef.prototype.toString = function () {
return (
this._stringValue == null &&
(this._stringValue = this.fieldName + t.FieldRef.joiner + this.docRef),
this._stringValue
)
})
;(t.Set = function (e) {
if (((this.elements = Object.create(null)), e)) {
this.length = e.length
for (var r = 0; r < this.length; r++) this.elements[e[r]] = !0
} else this.length = 0
}),
(t.Set.complete = {
intersect: function (e) {
return e
},
union: function () {
return this
},
contains: function () {
return !0
},
}),
(t.Set.empty = {
intersect: function () {
return this
},
union: function (e) {
return e
},
contains: function () {
return !1
},
}),
(t.Set.prototype.contains = function (e) {
return !!this.elements[e]
}),
(t.Set.prototype.intersect = function (e) {
var r,
n,
i,
s = []
if (e === t.Set.complete) return this
if (e === t.Set.empty) return e
this.length < e.length ? ((r = this), (n = e)) : ((r = e), (n = this)),
(i = Object.keys(r.elements))
for (var o = 0; o < i.length; o++) {
var a = i[o]
a in n.elements && s.push(a)
}
return new t.Set(s)
}),
(t.Set.prototype.union = function (e) {
return e === t.Set.complete
? t.Set.complete
: e === t.Set.empty
? this
: new t.Set(Object.keys(this.elements).concat(Object.keys(e.elements)))
}),
(t.idf = function (e, r) {
var n = 0
for (var i in e) i != '_index' && (n += Object.keys(e[i]).length)
var s = (r - n + 0.5) / (n + 0.5)
return Math.log(1 + Math.abs(s))
}),
(t.Token = function (e, r) {
;(this.str = e || ''), (this.metadata = r || {})
}),
(t.Token.prototype.toString = function () {
return this.str
}),
(t.Token.prototype.update = function (e) {
return (this.str = e(this.str, this.metadata)), this
}),
(t.Token.prototype.clone = function (e) {
return (
(e =
e ||
function (r) {
return r
}),
new t.Token(e(this.str, this.metadata), this.metadata)
)
})
;(t.tokenizer = function (e, r) {
if (e == null || e == null) return []
if (Array.isArray(e))
return e.map(function (m) {
return new t.Token(t.utils.asString(m).toLowerCase(), t.utils.clone(r))
})
for (
var n = e.toString().toLowerCase(), i = n.length, s = [], o = 0, a = 0;
o <= i;
o++
) {
var l = n.charAt(o),
u = o - a
if (l.match(t.tokenizer.separator) || o == i) {
if (u > 0) {
var d = t.utils.clone(r) || {}
;(d.position = [a, u]),
(d.index = s.length),
s.push(new t.Token(n.slice(a, o), d))
}
a = o + 1
}
}
return s
}),
(t.tokenizer.separator = /[\s\-]+/)
;(t.Pipeline = function () {
this._stack = []
}),
(t.Pipeline.registeredFunctions = Object.create(null)),
(t.Pipeline.registerFunction = function (e, r) {
r in this.registeredFunctions &&
t.utils.warn('Overwriting existing registered function: ' + r),
(e.label = r),
(t.Pipeline.registeredFunctions[e.label] = e)
}),
(t.Pipeline.warnIfFunctionNotRegistered = function (e) {
var r = e.label && e.label in this.registeredFunctions
r ||
t.utils.warn(
`Function is not registered with pipeline. This may cause problems when serialising the index.
`,
e
)
}),
(t.Pipeline.load = function (e) {
var r = new t.Pipeline()
return (
e.forEach(function (n) {
var i = t.Pipeline.registeredFunctions[n]
if (i) r.add(i)
else throw new Error('Cannot load unregistered function: ' + n)
}),
r
)
}),
(t.Pipeline.prototype.add = function () {
var e = Array.prototype.slice.call(arguments)
e.forEach(function (r) {
t.Pipeline.warnIfFunctionNotRegistered(r), this._stack.push(r)
}, this)
}),
(t.Pipeline.prototype.after = function (e, r) {
t.Pipeline.warnIfFunctionNotRegistered(r)
var n = this._stack.indexOf(e)
if (n == -1) throw new Error('Cannot find existingFn')
;(n = n + 1), this._stack.splice(n, 0, r)
}),
(t.Pipeline.prototype.before = function (e, r) {
t.Pipeline.warnIfFunctionNotRegistered(r)
var n = this._stack.indexOf(e)
if (n == -1) throw new Error('Cannot find existingFn')
this._stack.splice(n, 0, r)
}),
(t.Pipeline.prototype.remove = function (e) {
var r = this._stack.indexOf(e)
r != -1 && this._stack.splice(r, 1)
}),
(t.Pipeline.prototype.run = function (e) {
for (var r = this._stack.length, n = 0; n < r; n++) {
for (var i = this._stack[n], s = [], o = 0; o < e.length; o++) {
var a = i(e[o], o, e)
if (!(a == null || a === ''))
if (Array.isArray(a))
for (var l = 0; l < a.length; l++) s.push(a[l])
else s.push(a)
}
e = s
}
return e
}),
(t.Pipeline.prototype.runString = function (e, r) {
var n = new t.Token(e, r)
return this.run([n]).map(function (i) {
return i.toString()
})
}),
(t.Pipeline.prototype.reset = function () {
this._stack = []
}),
(t.Pipeline.prototype.toJSON = function () {
return this._stack.map(function (e) {
return t.Pipeline.warnIfFunctionNotRegistered(e), e.label
})
})
;(t.Vector = function (e) {
;(this._magnitude = 0), (this.elements = e || [])
}),
(t.Vector.prototype.positionForIndex = function (e) {
if (this.elements.length == 0) return 0
for (
var r = 0,
n = this.elements.length / 2,
i = n - r,
s = Math.floor(i / 2),
o = this.elements[s * 2];
i > 1 && (o < e && (r = s), o > e && (n = s), o != e);
)
(i = n - r), (s = r + Math.floor(i / 2)), (o = this.elements[s * 2])
if (o == e || o > e) return s * 2
if (o < e) return (s + 1) * 2
}),
(t.Vector.prototype.insert = function (e, r) {
this.upsert(e, r, function () {
throw 'duplicate index'
})
}),
(t.Vector.prototype.upsert = function (e, r, n) {
this._magnitude = 0
var i = this.positionForIndex(e)
this.elements[i] == e
? (this.elements[i + 1] = n(this.elements[i + 1], r))
: this.elements.splice(i, 0, e, r)
}),
(t.Vector.prototype.magnitude = function () {
if (this._magnitude) return this._magnitude
for (var e = 0, r = this.elements.length, n = 1; n < r; n += 2) {
var i = this.elements[n]
e += i * i
}
return (this._magnitude = Math.sqrt(e))
}),
(t.Vector.prototype.dot = function (e) {
for (
var r = 0,
n = this.elements,
i = e.elements,
s = n.length,
o = i.length,
a = 0,
l = 0,
u = 0,
d = 0;
u < s && d < o;
)
(a = n[u]),
(l = i[d]),
a < l
? (u += 2)
: a > l
? (d += 2)
: a == l && ((r += n[u + 1] * i[d + 1]), (u += 2), (d += 2))
return r
}),
(t.Vector.prototype.similarity = function (e) {
return this.dot(e) / this.magnitude() || 0
}),
(t.Vector.prototype.toArray = function () {
for (
var e = new Array(this.elements.length / 2), r = 1, n = 0;
r < this.elements.length;
r += 2, n++
)
e[n] = this.elements[r]
return e
}),
(t.Vector.prototype.toJSON = function () {
return this.elements
})
;(t.stemmer = (function () {
var e = {
ational: 'ate',
tional: 'tion',
enci: 'ence',
anci: 'ance',
izer: 'ize',
bli: 'ble',
alli: 'al',
entli: 'ent',
eli: 'e',
ousli: 'ous',
ization: 'ize',
ation: 'ate',
ator: 'ate',
alism: 'al',
iveness: 'ive',
fulness: 'ful',
ousness: 'ous',
aliti: 'al',
iviti: 'ive',
biliti: 'ble',
logi: 'log',
},
r = {
icate: 'ic',
ative: '',
alize: 'al',
iciti: 'ic',
ical: 'ic',
ful: '',
ness: '',
},
n = '[^aeiou]',
i = '[aeiouy]',
s = n + '[^aeiouy]*',
o = i + '[aeiou]*',
a = '^(' + s + ')?' + o + s,
l = '^(' + s + ')?' + o + s + '(' + o + ')?$',
u = '^(' + s + ')?' + o + s + o + s,
d = '^(' + s + ')?' + i,
m = new RegExp(a),
y = new RegExp(u),
b = new RegExp(l),
g = new RegExp(d),
E = /^(.+?)(ss|i)es$/,
f = /^(.+?)([^s])s$/,
p = /^(.+?)eed$/,
w = /^(.+?)(ed|ing)$/,
S = /.$/,
k = /(at|bl|iz)$/,
_ = new RegExp('([^aeiouylsz])\\1$'),
B = new RegExp('^' + s + i + '[^aeiouwxy]$'),
A = /^(.+?[^aeiou])y$/,
j =
/^(.+?)(ational|tional|enci|anci|izer|bli|alli|entli|eli|ousli|ization|ation|ator|alism|iveness|fulness|ousness|aliti|iviti|biliti|logi)$/,
q = /^(.+?)(icate|ative|alize|iciti|ical|ful|ness)$/,
V =
/^(.+?)(al|ance|ence|er|ic|able|ible|ant|ement|ment|ent|ou|ism|ate|iti|ous|ive|ize)$/,
$ = /^(.+?)(s|t)(ion)$/,
I = /^(.+?)e$/,
z = /ll$/,
W = new RegExp('^' + s + i + '[^aeiouwxy]$'),
H = function (c) {
var v, C, T, h, x, O, F
if (c.length < 3) return c
if (
((T = c.substr(0, 1)),
T == 'y' && (c = T.toUpperCase() + c.substr(1)),
(h = E),
(x = f),
h.test(c)
? (c = c.replace(h, '$1$2'))
: x.test(c) && (c = c.replace(x, '$1$2')),
(h = p),
(x = w),
h.test(c))
) {
var L = h.exec(c)
;(h = m), h.test(L[1]) && ((h = S), (c = c.replace(h, '')))
} else if (x.test(c)) {
var L = x.exec(c)
;(v = L[1]),
(x = g),
x.test(v) &&
((c = v),
(x = k),
(O = _),
(F = B),
x.test(c)
? (c = c + 'e')
: O.test(c)
? ((h = S), (c = c.replace(h, '')))
: F.test(c) && (c = c + 'e'))
}
if (((h = A), h.test(c))) {
var L = h.exec(c)
;(v = L[1]), (c = v + 'i')
}
if (((h = j), h.test(c))) {
var L = h.exec(c)
;(v = L[1]), (C = L[2]), (h = m), h.test(v) && (c = v + e[C])
}
if (((h = q), h.test(c))) {
var L = h.exec(c)
;(v = L[1]), (C = L[2]), (h = m), h.test(v) && (c = v + r[C])
}
if (((h = V), (x = $), h.test(c))) {
var L = h.exec(c)
;(v = L[1]), (h = y), h.test(v) && (c = v)
} else if (x.test(c)) {
var L = x.exec(c)
;(v = L[1] + L[2]), (x = y), x.test(v) && (c = v)
}
if (((h = I), h.test(c))) {
var L = h.exec(c)
;(v = L[1]),
(h = y),
(x = b),
(O = W),
(h.test(v) || (x.test(v) && !O.test(v))) && (c = v)
}
return (
(h = z),
(x = y),
h.test(c) && x.test(c) && ((h = S), (c = c.replace(h, ''))),
T == 'y' && (c = T.toLowerCase() + c.substr(1)),
c
)
}
return function (R) {
return R.update(H)
}
})()),
t.Pipeline.registerFunction(t.stemmer, 'stemmer')
;(t.generateStopWordFilter = function (e) {
var r = e.reduce(function (n, i) {
return (n[i] = i), n
}, {})
return function (n) {
if (n && r[n.toString()] !== n.toString()) return n
}
}),
(t.stopWordFilter = t.generateStopWordFilter([
'a',
'able',
'about',
'across',
'after',
'all',
'almost',
'also',
'am',
'among',
'an',
'and',
'any',
'are',
'as',
'at',
'be',
'because',
'been',
'but',
'by',
'can',
'cannot',
'could',
'dear',
'did',
'do',
'does',
'either',
'else',
'ever',
'every',
'for',
'from',
'get',
'got',
'had',
'has',
'have',
'he',
'her',
'hers',
'him',
'his',
'how',
'however',
'i',
'if',
'in',
'into',
'is',
'it',
'its',
'just',
'least',
'let',
'like',
'likely',
'may',
'me',
'might',
'most',
'must',
'my',
'neither',
'no',
'nor',
'not',
'of',
'off',
'often',
'on',
'only',
'or',
'other',
'our',
'own',
'rather',
'said',
'say',
'says',
'she',
'should',
'since',
'so',
'some',
'than',
'that',
'the',
'their',
'them',
'then',
'there',
'these',
'they',
'this',
'tis',
'to',
'too',
'twas',
'us',
'wants',
'was',
'we',
'were',
'what',
'when',
'where',
'which',
'while',
'who',
'whom',
'why',
'will',
'with',
'would',
'yet',
'you',
'your',
])),
t.Pipeline.registerFunction(t.stopWordFilter, 'stopWordFilter')
;(t.trimmer = function (e) {
return e.update(function (r) {
return r.replace(/^\W+/, '').replace(/\W+$/, '')
})
}),
t.Pipeline.registerFunction(t.trimmer, 'trimmer')
;(t.TokenSet = function () {
;(this.final = !1),
(this.edges = {}),
(this.id = t.TokenSet._nextId),
(t.TokenSet._nextId += 1)
}),
(t.TokenSet._nextId = 1),
(t.TokenSet.fromArray = function (e) {
for (var r = new t.TokenSet.Builder(), n = 0, i = e.length; n < i; n++)
r.insert(e[n])
return r.finish(), r.root
}),
(t.TokenSet.fromClause = function (e) {
return 'editDistance' in e
? t.TokenSet.fromFuzzyString(e.term, e.editDistance)
: t.TokenSet.fromString(e.term)
}),
(t.TokenSet.fromFuzzyString = function (e, r) {
for (
var n = new t.TokenSet(), i = [{node: n, editsRemaining: r, str: e}];
i.length;
) {
var s = i.pop()
if (s.str.length > 0) {
var o = s.str.charAt(0),
a
o in s.node.edges
? (a = s.node.edges[o])
: ((a = new t.TokenSet()), (s.node.edges[o] = a)),
s.str.length == 1 && (a.final = !0),
i.push({
node: a,
editsRemaining: s.editsRemaining,
str: s.str.slice(1),
})
}
if (s.editsRemaining != 0) {
if ('*' in s.node.edges) var l = s.node.edges['*']
else {
var l = new t.TokenSet()
s.node.edges['*'] = l
}
if (
(s.str.length == 0 && (l.final = !0),
i.push({node: l, editsRemaining: s.editsRemaining - 1, str: s.str}),
s.str.length > 1 &&
i.push({
node: s.node,
editsRemaining: s.editsRemaining - 1,
str: s.str.slice(1),
}),
s.str.length == 1 && (s.node.final = !0),
s.str.length >= 1)
) {
if ('*' in s.node.edges) var u = s.node.edges['*']
else {
var u = new t.TokenSet()
s.node.edges['*'] = u
}
s.str.length == 1 && (u.final = !0),
i.push({
node: u,
editsRemaining: s.editsRemaining - 1,
str: s.str.slice(1),
})
}
if (s.str.length > 1) {
var d = s.str.charAt(0),
m = s.str.charAt(1),
y
m in s.node.edges
? (y = s.node.edges[m])
: ((y = new t.TokenSet()), (s.node.edges[m] = y)),
s.str.length == 1 && (y.final = !0),
i.push({
node: y,
editsRemaining: s.editsRemaining - 1,
str: d + s.str.slice(2),
})
}
}
}
return n
}),
(t.TokenSet.fromString = function (e) {
for (var r = new t.TokenSet(), n = r, i = 0, s = e.length; i < s; i++) {
var o = e[i],
a = i == s - 1
if (o == '*') (r.edges[o] = r), (r.final = a)
else {
var l = new t.TokenSet()
;(l.final = a), (r.edges[o] = l), (r = l)
}
}
return n
}),
(t.TokenSet.prototype.toArray = function () {
for (var e = [], r = [{prefix: '', node: this}]; r.length; ) {
var n = r.pop(),
i = Object.keys(n.node.edges),
s = i.length
n.node.final && (n.prefix.charAt(0), e.push(n.prefix))
for (var o = 0; o < s; o++) {
var a = i[o]
r.push({prefix: n.prefix.concat(a), node: n.node.edges[a]})
}
}
return e
}),
(t.TokenSet.prototype.toString = function () {
if (this._str) return this._str
for (
var e = this.final ? '1' : '0',
r = Object.keys(this.edges).sort(),
n = r.length,
i = 0;
i < n;
i++
) {
var s = r[i],
o = this.edges[s]
e = e + s + o.id
}
return e
}),
(t.TokenSet.prototype.intersect = function (e) {
for (
var r = new t.TokenSet(),
n = void 0,
i = [{qNode: e, output: r, node: this}];
i.length;
) {
n = i.pop()
for (
var s = Object.keys(n.qNode.edges),
o = s.length,
a = Object.keys(n.node.edges),
l = a.length,
u = 0;
u < o;
u++
)
for (var d = s[u], m = 0; m < l; m++) {
var y = a[m]
if (y == d || d == '*') {
var b = n.node.edges[y],
g = n.qNode.edges[d],
E = b.final && g.final,
f = void 0
y in n.output.edges
? ((f = n.output.edges[y]), (f.final = f.final || E))
: ((f = new t.TokenSet()),
(f.final = E),
(n.output.edges[y] = f)),
i.push({qNode: g, output: f, node: b})
}
}
}
return r
}),
(t.TokenSet.Builder = function () {
;(this.previousWord = ''),
(this.root = new t.TokenSet()),
(this.uncheckedNodes = []),
(this.minimizedNodes = {})
}),
(t.TokenSet.Builder.prototype.insert = function (e) {
var r,
n = 0
if (e < this.previousWord) throw new Error('Out of order word insertion')
for (
var i = 0;
i < e.length &&
i < this.previousWord.length &&
e[i] == this.previousWord[i];
i++
)
n++
this.minimize(n),
this.uncheckedNodes.length == 0
? (r = this.root)
: (r = this.uncheckedNodes[this.uncheckedNodes.length - 1].child)
for (var i = n; i < e.length; i++) {
var s = new t.TokenSet(),
o = e[i]
;(r.edges[o] = s),
this.uncheckedNodes.push({parent: r, char: o, child: s}),
(r = s)
}
;(r.final = !0), (this.previousWord = e)
}),
(t.TokenSet.Builder.prototype.finish = function () {
this.minimize(0)
}),
(t.TokenSet.Builder.prototype.minimize = function (e) {
for (var r = this.uncheckedNodes.length - 1; r >= e; r--) {
var n = this.uncheckedNodes[r],
i = n.child.toString()
i in this.minimizedNodes
? (n.parent.edges[n.char] = this.minimizedNodes[i])
: ((n.child._str = i), (this.minimizedNodes[i] = n.child)),
this.uncheckedNodes.pop()
}
})
;(t.Index = function (e) {
;(this.invertedIndex = e.invertedIndex),
(this.fieldVectors = e.fieldVectors),
(this.tokenSet = e.tokenSet),
(this.fields = e.fields),
(this.pipeline = e.pipeline)
}),
(t.Index.prototype.search = function (e) {
return this.query(function (r) {
var n = new t.QueryParser(e, r)
n.parse()
})
}),
(t.Index.prototype.query = function (e) {
for (
var r = new t.Query(this.fields),
n = Object.create(null),
i = Object.create(null),
s = Object.create(null),
o = Object.create(null),
a = Object.create(null),
l = 0;
l < this.fields.length;
l++
)
i[this.fields[l]] = new t.Vector()
e.call(r, r)
for (var l = 0; l < r.clauses.length; l++) {
var u = r.clauses[l],
d = null,
m = t.Set.empty
u.usePipeline
? (d = this.pipeline.runString(u.term, {fields: u.fields}))
: (d = [u.term])
for (var y = 0; y < d.length; y++) {
var b = d[y]
u.term = b
var g = t.TokenSet.fromClause(u),
E = this.tokenSet.intersect(g).toArray()
if (E.length === 0 && u.presence === t.Query.presence.REQUIRED) {
for (var f = 0; f < u.fields.length; f++) {
var p = u.fields[f]
o[p] = t.Set.empty
}
break
}
for (var w = 0; w < E.length; w++)
for (
var S = E[w], k = this.invertedIndex[S], _ = k._index, f = 0;
f < u.fields.length;
f++
) {
var p = u.fields[f],
B = k[p],
A = Object.keys(B),
j = S + '/' + p,
q = new t.Set(A)
if (
(u.presence == t.Query.presence.REQUIRED &&
((m = m.union(q)),
o[p] === void 0 && (o[p] = t.Set.complete)),
u.presence == t.Query.presence.PROHIBITED)
) {
a[p] === void 0 && (a[p] = t.Set.empty),
(a[p] = a[p].union(q))
continue
}
if (
(i[p].upsert(_, u.boost, function (Ee, be) {
return Ee + be
}),
!s[j])
) {
for (var V = 0; V < A.length; V++) {
var $ = A[V],
I = new t.FieldRef($, p),
z = B[$],
W
;(W = n[I]) === void 0
? (n[I] = new t.MatchData(S, p, z))
: W.add(S, p, z)
}
s[j] = !0
}
}
}
if (u.presence === t.Query.presence.REQUIRED)
for (var f = 0; f < u.fields.length; f++) {
var p = u.fields[f]
o[p] = o[p].intersect(m)
}
}
for (
var H = t.Set.complete, R = t.Set.empty, l = 0;
l < this.fields.length;
l++
) {
var p = this.fields[l]
o[p] && (H = H.intersect(o[p])), a[p] && (R = R.union(a[p]))
}
var c = Object.keys(n),
v = [],
C = Object.create(null)
if (r.isNegated()) {
c = Object.keys(this.fieldVectors)
for (var l = 0; l < c.length; l++) {
var I = c[l],
T = t.FieldRef.fromString(I)
n[I] = new t.MatchData()
}
}
for (var l = 0; l < c.length; l++) {
var T = t.FieldRef.fromString(c[l]),
h = T.docRef
if (H.contains(h) && !R.contains(h)) {
var x = this.fieldVectors[T],
O = i[T.fieldName].similarity(x),
F
if ((F = C[h]) !== void 0) (F.score += O), F.matchData.combine(n[T])
else {
var L = {ref: h, score: O, matchData: n[T]}
;(C[h] = L), v.push(L)
}
}
}
return v.sort(function (xe, Le) {
return Le.score - xe.score
})
}),
(t.Index.prototype.toJSON = function () {
var e = Object.keys(this.invertedIndex)
.sort()
.map(function (n) {
return [n, this.invertedIndex[n]]
}, this),
r = Object.keys(this.fieldVectors).map(function (n) {
return [n, this.fieldVectors[n].toJSON()]
}, this)
return {
version: t.version,
fields: this.fields,
fieldVectors: r,
invertedIndex: e,
pipeline: this.pipeline.toJSON(),
}
}),
(t.Index.load = function (e) {
var r = {},
n = {},
i = e.fieldVectors,
s = Object.create(null),
o = e.invertedIndex,
a = new t.TokenSet.Builder(),
l = t.Pipeline.load(e.pipeline)
e.version != t.version &&
t.utils.warn(
"Version mismatch when loading serialised index. Current version of lunr '" +
t.version +
"' does not match serialized index '" +
e.version +
"'"
)
for (var u = 0; u < i.length; u++) {
var d = i[u],
m = d[0],
y = d[1]
n[m] = new t.Vector(y)
}
for (var u = 0; u < o.length; u++) {
var d = o[u],
b = d[0],
g = d[1]
a.insert(b), (s[b] = g)
}
return (
a.finish(),
(r.fields = e.fields),
(r.fieldVectors = n),
(r.invertedIndex = s),
(r.tokenSet = a.root),
(r.pipeline = l),
new t.Index(r)
)
})
;(t.Builder = function () {
;(this._ref = 'id'),
(this._fields = Object.create(null)),
(this._documents = Object.create(null)),
(this.invertedIndex = Object.create(null)),
(this.fieldTermFrequencies = {}),
(this.fieldLengths = {}),
(this.tokenizer = t.tokenizer),
(this.pipeline = new t.Pipeline()),
(this.searchPipeline = new t.Pipeline()),
(this.documentCount = 0),
(this._b = 0.75),
(this._k1 = 1.2),
(this.termIndex = 0),
(this.metadataWhitelist = [])
}),
(t.Builder.prototype.ref = function (e) {
this._ref = e
}),
(t.Builder.prototype.field = function (e, r) {
if (/\//.test(e))
throw new RangeError("Field '" + e + "' contains illegal character '/'")
this._fields[e] = r || {}
}),
(t.Builder.prototype.b = function (e) {
e < 0 ? (this._b = 0) : e > 1 ? (this._b = 1) : (this._b = e)
}),
(t.Builder.prototype.k1 = function (e) {
this._k1 = e
}),
(t.Builder.prototype.add = function (e, r) {
var n = e[this._ref],
i = Object.keys(this._fields)
;(this._documents[n] = r || {}), (this.documentCount += 1)
for (var s = 0; s < i.length; s++) {
var o = i[s],
a = this._fields[o].extractor,
l = a ? a(e) : e[o],
u = this.tokenizer(l, {fields: [o]}),
d = this.pipeline.run(u),
m = new t.FieldRef(n, o),
y = Object.create(null)
;(this.fieldTermFrequencies[m] = y),
(this.fieldLengths[m] = 0),
(this.fieldLengths[m] += d.length)
for (var b = 0; b < d.length; b++) {
var g = d[b]
if (
(y[g] == null && (y[g] = 0),
(y[g] += 1),
this.invertedIndex[g] == null)
) {
var E = Object.create(null)
;(E._index = this.termIndex), (this.termIndex += 1)
for (var f = 0; f < i.length; f++) E[i[f]] = Object.create(null)
this.invertedIndex[g] = E
}
this.invertedIndex[g][o][n] == null &&
(this.invertedIndex[g][o][n] = Object.create(null))
for (var p = 0; p < this.metadataWhitelist.length; p++) {
var w = this.metadataWhitelist[p],
S = g.metadata[w]
this.invertedIndex[g][o][n][w] == null &&
(this.invertedIndex[g][o][n][w] = []),
this.invertedIndex[g][o][n][w].push(S)
}
}
}
}),
(t.Builder.prototype.calculateAverageFieldLengths = function () {
for (
var e = Object.keys(this.fieldLengths), r = e.length, n = {}, i = {}, s = 0;
s < r;
s++
) {
var o = t.FieldRef.fromString(e[s]),
a = o.fieldName
i[a] || (i[a] = 0),
(i[a] += 1),
n[a] || (n[a] = 0),
(n[a] += this.fieldLengths[o])
}
for (var l = Object.keys(this._fields), s = 0; s < l.length; s++) {
var u = l[s]
n[u] = n[u] / i[u]
}
this.averageFieldLength = n
}),
(t.Builder.prototype.createFieldVectors = function () {
for (
var e = {},
r = Object.keys(this.fieldTermFrequencies),
n = r.length,
i = Object.create(null),
s = 0;
s < n;
s++
) {
for (
var o = t.FieldRef.fromString(r[s]),
a = o.fieldName,
l = this.fieldLengths[o],
u = new t.Vector(),
d = this.fieldTermFrequencies[o],
m = Object.keys(d),
y = m.length,
b = this._fields[a].boost || 1,
g = this._documents[o.docRef].boost || 1,
E = 0;
E < y;
E++
) {
var f = m[E],
p = d[f],
w = this.invertedIndex[f]._index,
S,
k,
_
i[f] === void 0
? ((S = t.idf(this.invertedIndex[f], this.documentCount)),
(i[f] = S))
: (S = i[f]),
(k =
(S * ((this._k1 + 1) * p)) /
(this._k1 *
(1 - this._b + this._b * (l / this.averageFieldLength[a])) +
p)),
(k *= b),
(k *= g),
(_ = Math.round(k * 1e3) / 1e3),
u.insert(w, _)
}
e[o] = u
}
this.fieldVectors = e
}),
(t.Builder.prototype.createTokenSet = function () {
this.tokenSet = t.TokenSet.fromArray(Object.keys(this.invertedIndex).sort())
}),
(t.Builder.prototype.build = function () {
return (
this.calculateAverageFieldLengths(),
this.createFieldVectors(),
this.createTokenSet(),
new t.Index({
invertedIndex: this.invertedIndex,
fieldVectors: this.fieldVectors,
tokenSet: this.tokenSet,
fields: Object.keys(this._fields),
pipeline: this.searchPipeline,
})
)
}),
(t.Builder.prototype.use = function (e) {
var r = Array.prototype.slice.call(arguments, 1)
r.unshift(this), e.apply(this, r)
}),
(t.MatchData = function (e, r, n) {
for (
var i = Object.create(null), s = Object.keys(n || {}), o = 0;
o < s.length;
o++
) {
var a = s[o]
i[a] = n[a].slice()
}
;(this.metadata = Object.create(null)),
e !== void 0 &&
((this.metadata[e] = Object.create(null)), (this.metadata[e][r] = i))
}),
(t.MatchData.prototype.combine = function (e) {
for (var r = Object.keys(e.metadata), n = 0; n < r.length; n++) {
var i = r[n],
s = Object.keys(e.metadata[i])
this.metadata[i] == null && (this.metadata[i] = Object.create(null))
for (var o = 0; o < s.length; o++) {
var a = s[o],
l = Object.keys(e.metadata[i][a])
this.metadata[i][a] == null &&
(this.metadata[i][a] = Object.create(null))
for (var u = 0; u < l.length; u++) {
var d = l[u]
this.metadata[i][a][d] == null
? (this.metadata[i][a][d] = e.metadata[i][a][d])
: (this.metadata[i][a][d] = this.metadata[i][a][d].concat(
e.metadata[i][a][d]
))
}
}
}
}),
(t.MatchData.prototype.add = function (e, r, n) {
if (!(e in this.metadata)) {
;(this.metadata[e] = Object.create(null)), (this.metadata[e][r] = n)
return
}
if (!(r in this.metadata[e])) {
this.metadata[e][r] = n
return
}
for (var i = Object.keys(n), s = 0; s < i.length; s++) {
var o = i[s]
o in this.metadata[e][r]
? (this.metadata[e][r][o] = this.metadata[e][r][o].concat(n[o]))
: (this.metadata[e][r][o] = n[o])
}
}),
(t.Query = function (e) {
;(this.clauses = []), (this.allFields = e)
}),
(t.Query.wildcard = new String('*')),
(t.Query.wildcard.NONE = 0),
(t.Query.wildcard.LEADING = 1),
(t.Query.wildcard.TRAILING = 2),
(t.Query.presence = {OPTIONAL: 1, REQUIRED: 2, PROHIBITED: 3}),
(t.Query.prototype.clause = function (e) {
return (
'fields' in e || (e.fields = this.allFields),
'boost' in e || (e.boost = 1),
'usePipeline' in e || (e.usePipeline = !0),
'wildcard' in e || (e.wildcard = t.Query.wildcard.NONE),
e.wildcard & t.Query.wildcard.LEADING &&
e.term.charAt(0) != t.Query.wildcard &&
(e.term = '*' + e.term),
e.wildcard & t.Query.wildcard.TRAILING &&
e.term.slice(-1) != t.Query.wildcard &&
(e.term = '' + e.term + '*'),
'presence' in e || (e.presence = t.Query.presence.OPTIONAL),
this.clauses.push(e),
this
)
}),
(t.Query.prototype.isNegated = function () {
for (var e = 0; e < this.clauses.length; e++)
if (this.clauses[e].presence != t.Query.presence.PROHIBITED) return !1
return !0
}),
(t.Query.prototype.term = function (e, r) {
if (Array.isArray(e))
return (
e.forEach(function (i) {
this.term(i, t.utils.clone(r))
}, this),
this
)
var n = r || {}
return (n.term = e.toString()), this.clause(n), this
}),
(t.QueryParseError = function (e, r, n) {
;(this.name = 'QueryParseError'),
(this.message = e),
(this.start = r),
(this.end = n)
}),
(t.QueryParseError.prototype = new Error()),
(t.QueryLexer = function (e) {
;(this.lexemes = []),
(this.str = e),
(this.length = e.length),
(this.pos = 0),
(this.start = 0),
(this.escapeCharPositions = [])
}),
(t.QueryLexer.prototype.run = function () {
for (var e = t.QueryLexer.lexText; e; ) e = e(this)
}),
(t.QueryLexer.prototype.sliceString = function () {
for (
var e = [], r = this.start, n = this.pos, i = 0;
i < this.escapeCharPositions.length;
i++
)
(n = this.escapeCharPositions[i]), e.push(this.str.slice(r, n)), (r = n + 1)
return (
e.push(this.str.slice(r, this.pos)),
(this.escapeCharPositions.length = 0),
e.join('')
)
}),
(t.QueryLexer.prototype.emit = function (e) {
this.lexemes.push({
type: e,
str: this.sliceString(),
start: this.start,
end: this.pos,
}),
(this.start = this.pos)
}),
(t.QueryLexer.prototype.escapeCharacter = function () {
this.escapeCharPositions.push(this.pos - 1), (this.pos += 1)
}),
(t.QueryLexer.prototype.next = function () {
if (this.pos >= this.length) return t.QueryLexer.EOS
var e = this.str.charAt(this.pos)
return (this.pos += 1), e
}),
(t.QueryLexer.prototype.width = function () {
return this.pos - this.start
}),
(t.QueryLexer.prototype.ignore = function () {
this.start == this.pos && (this.pos += 1), (this.start = this.pos)
}),
(t.QueryLexer.prototype.backup = function () {
this.pos -= 1
}),
(t.QueryLexer.prototype.acceptDigitRun = function () {
var e, r
do (e = this.next()), (r = e.charCodeAt(0))
while (r > 47 && r < 58)
e != t.QueryLexer.EOS && this.backup()
}),
(t.QueryLexer.prototype.more = function () {
return this.pos < this.length
}),
(t.QueryLexer.EOS = 'EOS'),
(t.QueryLexer.FIELD = 'FIELD'),
(t.QueryLexer.TERM = 'TERM'),
(t.QueryLexer.EDIT_DISTANCE = 'EDIT_DISTANCE'),
(t.QueryLexer.BOOST = 'BOOST'),
(t.QueryLexer.PRESENCE = 'PRESENCE'),
(t.QueryLexer.lexField = function (e) {
return e.backup(), e.emit(t.QueryLexer.FIELD), e.ignore(), t.QueryLexer.lexText
}),
(t.QueryLexer.lexTerm = function (e) {
if (
(e.width() > 1 && (e.backup(), e.emit(t.QueryLexer.TERM)),
e.ignore(),
e.more())
)
return t.QueryLexer.lexText
}),
(t.QueryLexer.lexEditDistance = function (e) {
return (
e.ignore(),
e.acceptDigitRun(),
e.emit(t.QueryLexer.EDIT_DISTANCE),
t.QueryLexer.lexText
)
}),
(t.QueryLexer.lexBoost = function (e) {
return (
e.ignore(),
e.acceptDigitRun(),
e.emit(t.QueryLexer.BOOST),
t.QueryLexer.lexText
)
}),
(t.QueryLexer.lexEOS = function (e) {
e.width() > 0 && e.emit(t.QueryLexer.TERM)
}),
(t.QueryLexer.termSeparator = t.tokenizer.separator),
(t.QueryLexer.lexText = function (e) {
for (;;) {
var r = e.next()
if (r == t.QueryLexer.EOS) return t.QueryLexer.lexEOS
if (r.charCodeAt(0) == 92) {
e.escapeCharacter()
continue
}
if (r == ':') return t.QueryLexer.lexField
if (r == '~')
return (
e.backup(),
e.width() > 0 && e.emit(t.QueryLexer.TERM),
t.QueryLexer.lexEditDistance
)
if (r == '^')
return (
e.backup(),
e.width() > 0 && e.emit(t.QueryLexer.TERM),
t.QueryLexer.lexBoost
)
if ((r == '+' && e.width() === 1) || (r == '-' && e.width() === 1))
return e.emit(t.QueryLexer.PRESENCE), t.QueryLexer.lexText
if (r.match(t.QueryLexer.termSeparator)) return t.QueryLexer.lexTerm
}
}),
(t.QueryParser = function (e, r) {
;(this.lexer = new t.QueryLexer(e)),
(this.query = r),
(this.currentClause = {}),
(this.lexemeIdx = 0)
}),
(t.QueryParser.prototype.parse = function () {
this.lexer.run(), (this.lexemes = this.lexer.lexemes)
for (var e = t.QueryParser.parseClause; e; ) e = e(this)
return this.query
}),
(t.QueryParser.prototype.peekLexeme = function () {
return this.lexemes[this.lexemeIdx]
}),
(t.QueryParser.prototype.consumeLexeme = function () {
var e = this.peekLexeme()
return (this.lexemeIdx += 1), e
}),
(t.QueryParser.prototype.nextClause = function () {
var e = this.currentClause
this.query.clause(e), (this.currentClause = {})
}),
(t.QueryParser.parseClause = function (e) {
var r = e.peekLexeme()
if (r != null)
switch (r.type) {
case t.QueryLexer.PRESENCE:
return t.QueryParser.parsePresence
case t.QueryLexer.FIELD:
return t.QueryParser.parseField
case t.QueryLexer.TERM:
return t.QueryParser.parseTerm
default:
var n = 'expected either a field or a term, found ' + r.type
throw (
(r.str.length >= 1 && (n += " with value '" + r.str + "'"),
new t.QueryParseError(n, r.start, r.end))
)
}
}),
(t.QueryParser.parsePresence = function (e) {
var r = e.consumeLexeme()
if (r != null) {
switch (r.str) {
case '-':
e.currentClause.presence = t.Query.presence.PROHIBITED
break
case '+':
e.currentClause.presence = t.Query.presence.REQUIRED
break
default:
var n = "unrecognised presence operator'" + r.str + "'"
throw new t.QueryParseError(n, r.start, r.end)
}
var i = e.peekLexeme()
if (i == null) {
var n = 'expecting term or field, found nothing'
throw new t.QueryParseError(n, r.start, r.end)
}
switch (i.type) {
case t.QueryLexer.FIELD:
return t.QueryParser.parseField
case t.QueryLexer.TERM:
return t.QueryParser.parseTerm
default:
var n = "expecting term or field, found '" + i.type + "'"
throw new t.QueryParseError(n, i.start, i.end)
}
}
}),
(t.QueryParser.parseField = function (e) {
var r = e.consumeLexeme()
if (r != null) {
if (e.query.allFields.indexOf(r.str) == -1) {
var n = e.query.allFields
.map(function (o) {
return "'" + o + "'"
})
.join(', '),
i = "unrecognised field '" + r.str + "', possible fields: " + n
throw new t.QueryParseError(i, r.start, r.end)
}
e.currentClause.fields = [r.str]
var s = e.peekLexeme()
if (s == null) {
var i = 'expecting term, found nothing'
throw new t.QueryParseError(i, r.start, r.end)
}
switch (s.type) {
case t.QueryLexer.TERM:
return t.QueryParser.parseTerm
default:
var i = "expecting term, found '" + s.type + "'"
throw new t.QueryParseError(i, s.start, s.end)
}
}
}),
(t.QueryParser.parseTerm = function (e) {
var r = e.consumeLexeme()
if (r != null) {
;(e.currentClause.term = r.str.toLowerCase()),
r.str.indexOf('*') != -1 && (e.currentClause.usePipeline = !1)
var n = e.peekLexeme()
if (n == null) {
e.nextClause()
return
}
switch (n.type) {
case t.QueryLexer.TERM:
return e.nextClause(), t.QueryParser.parseTerm
case t.QueryLexer.FIELD:
return e.nextClause(), t.QueryParser.parseField
case t.QueryLexer.EDIT_DISTANCE:
return t.QueryParser.parseEditDistance
case t.QueryLexer.BOOST:
return t.QueryParser.parseBoost
case t.QueryLexer.PRESENCE:
return e.nextClause(), t.QueryParser.parsePresence
default:
var i = "Unexpected lexeme type '" + n.type + "'"
throw new t.QueryParseError(i, n.start, n.end)
}
}
}),
(t.QueryParser.parseEditDistance = function (e) {
var r = e.consumeLexeme()
if (r != null) {
var n = parseInt(r.str, 10)
if (isNaN(n)) {
var i = 'edit distance must be numeric'
throw new t.QueryParseError(i, r.start, r.end)
}
e.currentClause.editDistance = n
var s = e.peekLexeme()
if (s == null) {
e.nextClause()
return
}
switch (s.type) {
case t.QueryLexer.TERM:
return e.nextClause(), t.QueryParser.parseTerm
case t.QueryLexer.FIELD:
return e.nextClause(), t.QueryParser.parseField
case t.QueryLexer.EDIT_DISTANCE:
return t.QueryParser.parseEditDistance
case t.QueryLexer.BOOST:
return t.QueryParser.parseBoost
case t.QueryLexer.PRESENCE:
return e.nextClause(), t.QueryParser.parsePresence
default:
var i = "Unexpected lexeme type '" + s.type + "'"
throw new t.QueryParseError(i, s.start, s.end)
}
}
}),
(t.QueryParser.parseBoost = function (e) {
var r = e.consumeLexeme()
if (r != null) {
var n = parseInt(r.str, 10)
if (isNaN(n)) {
var i = 'boost must be numeric'
throw new t.QueryParseError(i, r.start, r.end)
}
e.currentClause.boost = n
var s = e.peekLexeme()
if (s == null) {
e.nextClause()
return
}
switch (s.type) {
case t.QueryLexer.TERM:
return e.nextClause(), t.QueryParser.parseTerm
case t.QueryLexer.FIELD:
return e.nextClause(), t.QueryParser.parseField
case t.QueryLexer.EDIT_DISTANCE:
return t.QueryParser.parseEditDistance
case t.QueryLexer.BOOST:
return t.QueryParser.parseBoost
case t.QueryLexer.PRESENCE:
return e.nextClause(), t.QueryParser.parsePresence
default:
var i = "Unexpected lexeme type '" + s.type + "'"
throw new t.QueryParseError(i, s.start, s.end)
}
}
}),
(function (e, r) {
typeof define == 'function' && define.amd
? define(r)
: typeof se == 'object'
? (oe.exports = r())
: (e.lunr = r())
})(this, function () {
return t
})
})()
})
var ne = []
function G(t, e) {
ne.push({selector: e, constructor: t})
}
var U = class {
constructor() {
this.alwaysVisibleMember = null
this.createComponents(document.body),
this.ensureActivePageVisible(),
this.ensureFocusedElementVisible(),
this.listenForCodeCopies(),
window.addEventListener('hashchange', () => this.ensureFocusedElementVisible())
}
createComponents(e) {
ne.forEach((r) => {
e.querySelectorAll(r.selector).forEach((n) => {
n.dataset.hasInstance ||
(new r.constructor({el: n, app: this}),
(n.dataset.hasInstance = String(!0)))
})
})
}
filterChanged() {
this.ensureFocusedElementVisible()
}
ensureActivePageVisible() {
let e = document.querySelector('.tsd-navigation .current'),
r = e?.parentElement
for (; r && !r.classList.contains('.tsd-navigation'); )
r instanceof HTMLDetailsElement && (r.open = !0), (r = r.parentElement)
if (e) {
let n = e.getBoundingClientRect().top - document.documentElement.clientHeight / 4
document.querySelector('.site-menu').scrollTop = n
}
}
ensureFocusedElementVisible() {
if (
(this.alwaysVisibleMember &&
(this.alwaysVisibleMember.classList.remove('always-visible'),
this.alwaysVisibleMember.firstElementChild.remove(),
(this.alwaysVisibleMember = null)),
!location.hash)
)
return
let e = document.getElementById(location.hash.substring(1))
if (!e) return
let r = e.parentElement
for (; r && r.tagName !== 'SECTION'; ) r = r.parentElement
if (r && r.offsetParent == null) {
;(this.alwaysVisibleMember = r), r.classList.add('always-visible')
let n = document.createElement('p')
n.classList.add('warning'),
(n.textContent = 'This member is normally hidden due to your filter settings.'),
r.prepend(n)
}
}
listenForCodeCopies() {
document.querySelectorAll('pre > button').forEach((e) => {
let r
e.addEventListener('click', () => {
e.previousElementSibling instanceof HTMLElement &&
navigator.clipboard.writeText(e.previousElementSibling.innerText.trim()),
(e.textContent = 'Copied!'),
e.classList.add('visible'),
clearTimeout(r),
(r = setTimeout(() => {
e.classList.remove('visible'),
(r = setTimeout(() => {
e.textContent = 'Copy'
}, 100))
}, 1e3))
})
})
}
}
var ie = (t, e = 100) => {
let r
return () => {
clearTimeout(r), (r = setTimeout(() => t(), e))
}
}
var ce = Ce(ae())
function de() {
let t = document.getElementById('tsd-search')
if (!t) return
let e = document.getElementById('tsd-search-script')
t.classList.add('loading'),
e &&
(e.addEventListener('error', () => {
t.classList.remove('loading'), t.classList.add('failure')
}),
e.addEventListener('load', () => {
t.classList.remove('loading'), t.classList.add('ready')
}),
window.searchData && t.classList.remove('loading'))
let r = document.querySelector('#tsd-search input'),
n = document.querySelector('#tsd-search .results')
if (!r || !n) throw new Error('The input field or the result list wrapper was not found')
let i = !1
n.addEventListener('mousedown', () => (i = !0)),
n.addEventListener('mouseup', () => {
;(i = !1), t.classList.remove('has-focus')
}),
r.addEventListener('focus', () => t.classList.add('has-focus')),
r.addEventListener('blur', () => {
i || ((i = !1), t.classList.remove('has-focus'))
})
let s = {base: t.dataset.base + '/'}
Oe(t, n, r, s)
}
function Oe(t, e, r, n) {
r.addEventListener(
'input',
ie(() => {
Re(t, e, r, n)
}, 200)
)
let i = !1
r.addEventListener('keydown', (s) => {
;(i = !0),
s.key == 'Enter'
? Fe(e, r)
: s.key == 'Escape'
? r.blur()
: s.key == 'ArrowUp'
? ue(e, -1)
: s.key === 'ArrowDown'
? ue(e, 1)
: (i = !1)
}),
r.addEventListener('keypress', (s) => {
i && s.preventDefault()
}),
document.body.addEventListener('keydown', (s) => {
s.altKey ||
s.ctrlKey ||
s.metaKey ||
(!r.matches(':focus') && s.key === '/' && (r.focus(), s.preventDefault()))
})
}
function _e(t, e) {
t.index ||
(window.searchData &&
(e.classList.remove('loading'),
e.classList.add('ready'),
(t.data = window.searchData),
(t.index = ce.Index.load(window.searchData.index))))
}
function Re(t, e, r, n) {
if ((_e(n, t), !n.index || !n.data)) return
e.textContent = ''
let i = r.value.trim(),
s = i ? n.index.search(`*${i}*`) : []
for (let o = 0; o < s.length; o++) {
let a = s[o],
l = n.data.rows[Number(a.ref)],
u = 1
l.name.toLowerCase().startsWith(i.toLowerCase()) &&
(u *= 1 + 1 / (1 + Math.abs(l.name.length - i.length))),
(a.score *= u)
}
s.sort((o, a) => a.score - o.score)
for (let o = 0, a = Math.min(10, s.length); o < a; o++) {
let l = n.data.rows[Number(s[o].ref)],
u = le(l.name, i)
globalThis.DEBUG_SEARCH_WEIGHTS && (u += ` (score: ${s[o].score.toFixed(2)})`),
l.parent && (u = `<span class="parent">${le(l.parent, i)}.</span>${u}`)
let d = document.createElement('li')
d.classList.value = l.classes ?? ''
let m = document.createElement('a')
;(m.href = n.base + l.url), (m.innerHTML = u), d.append(m), e.appendChild(d)
}
}
function ue(t, e) {
let r = t.querySelector('.current')
if (!r)
(r = t.querySelector(e == 1 ? 'li:first-child' : 'li:last-child')),
r && r.classList.add('current')
else {
let n = r
if (e === 1)
do n = n.nextElementSibling ?? void 0
while (n instanceof HTMLElement && n.offsetParent == null)
else
do n = n.previousElementSibling ?? void 0
while (n instanceof HTMLElement && n.offsetParent == null)
n && (r.classList.remove('current'), n.classList.add('current'))
}
}
function Fe(t, e) {
let r = t.querySelector('.current')
if ((r || (r = t.querySelector('li:first-child')), r)) {
let n = r.querySelector('a')
n && (window.location.href = n.href), e.blur()
}
}
function le(t, e) {
if (e === '') return t
let r = t.toLocaleLowerCase(),
n = e.toLocaleLowerCase(),
i = [],
s = 0,
o = r.indexOf(n)
for (; o != -1; )
i.push(K(t.substring(s, o)), `<b>${K(t.substring(o, o + n.length))}</b>`),
(s = o + n.length),
(o = r.indexOf(n, s))
return i.push(K(t.substring(s))), i.join('')
}
var Me = {'&': '&', '<': '<', '>': '>', "'": ''', '"': '"'}
function K(t) {
return t.replace(/[&<>"'"]/g, (e) => Me[e])
}
var P = class {
constructor(e) {
;(this.el = e.el), (this.app = e.app)
}
}
var M = 'mousedown',
fe = 'mousemove',
N = 'mouseup',
J = {x: 0, y: 0},
he = !1,
ee = !1,
De = !1,
D = !1,
pe = /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(
navigator.userAgent
)
document.documentElement.classList.add(pe ? 'is-mobile' : 'not-mobile')
pe &&
'ontouchstart' in document.documentElement &&
((De = !0), (M = 'touchstart'), (fe = 'touchmove'), (N = 'touchend'))
document.addEventListener(M, (t) => {
;(ee = !0), (D = !1)
let e = M == 'touchstart' ? t.targetTouches[0] : t
;(J.y = e.pageY || 0), (J.x = e.pageX || 0)
})
document.addEventListener(fe, (t) => {
if (ee && !D) {
let e = M == 'touchstart' ? t.targetTouches[0] : t,
r = J.x - (e.pageX || 0),
n = J.y - (e.pageY || 0)
D = Math.sqrt(r * r + n * n) > 10
}
})
document.addEventListener(N, () => {
ee = !1
})
document.addEventListener('click', (t) => {
he && (t.preventDefault(), t.stopImmediatePropagation(), (he = !1))
})
var X = class extends P {
constructor(r) {
super(r)
;(this.className = this.el.dataset.toggle || ''),
this.el.addEventListener(N, (n) => this.onPointerUp(n)),
this.el.addEventListener('click', (n) => n.preventDefault()),
document.addEventListener(M, (n) => this.onDocumentPointerDown(n)),
document.addEventListener(N, (n) => this.onDocumentPointerUp(n))
}
setActive(r) {
if (this.active == r) return
;(this.active = r),
document.documentElement.classList.toggle('has-' + this.className, r),
this.el.classList.toggle('active', r)
let n = (this.active ? 'to-has-' : 'from-has-') + this.className
document.documentElement.classList.add(n),
setTimeout(() => document.documentElement.classList.remove(n), 500)
}
onPointerUp(r) {
D || (this.setActive(!0), r.preventDefault())
}
onDocumentPointerDown(r) {
if (this.active) {
if (r.target.closest('.col-sidebar, .tsd-filter-group')) return
this.setActive(!1)
}
}
onDocumentPointerUp(r) {
if (!D && this.active && r.target.closest('.col-sidebar')) {
let n = r.target.closest('a')
if (n) {
let i = window.location.href
i.indexOf('#') != -1 && (i = i.substring(0, i.indexOf('#'))),
n.href.substring(0, i.length) == i &&
setTimeout(() => this.setActive(!1), 250)
}
}
}
}
var te
try {
te = localStorage
} catch {
te = {
getItem() {
return null
},
setItem() {},
}
}
var Q = te
var me = document.head.appendChild(document.createElement('style'))
me.dataset.for = 'filters'
var Y = class extends P {
constructor(r) {
super(r)
;(this.key = `filter-${this.el.name}`),
(this.value = this.el.checked),
this.el.addEventListener('change', () => {
this.setLocalStorage(this.el.checked)
}),
this.setLocalStorage(this.fromLocalStorage()),
(me.innerHTML += `html:not(.${this.key}) .tsd-is-${this.el.name} { display: none; }
`)
}
fromLocalStorage() {
let r = Q.getItem(this.key)
return r ? r === 'true' : this.el.checked
}
setLocalStorage(r) {
Q.setItem(this.key, r.toString()), (this.value = r), this.handleValueChange()
}
handleValueChange() {
;(this.el.checked = this.value),
document.documentElement.classList.toggle(this.key, this.value),
this.app.filterChanged(),
document.querySelectorAll('.tsd-index-section').forEach((r) => {
r.style.display = 'block'
let n = Array.from(r.querySelectorAll('.tsd-index-link')).every(
(i) => i.offsetParent == null
)
r.style.display = n ? 'none' : 'block'
})
}
}
var Z = class extends P {
constructor(r) {
super(r)
;(this.summary = this.el.querySelector('.tsd-accordion-summary')),
(this.icon = this.summary.querySelector('svg')),
(this.key = `tsd-accordion-${
this.summary.dataset.key ??
this.summary.textContent.trim().replace(/\s+/g, '-').toLowerCase()
}`)
let n = Q.getItem(this.key)
;(this.el.open = n ? n === 'true' : this.el.open),
this.el.addEventListener('toggle', () => this.update()),
this.update()
}
update() {
;(this.icon.style.transform = `rotate(${this.el.open ? 0 : -90}deg)`),
Q.setItem(this.key, this.el.open.toString())
}
}
function ve(t) {
let e = Q.getItem('tsd-theme') || 'os'
;(t.value = e),
ye(e),
t.addEventListener('change', () => {
Q.setItem('tsd-theme', t.value), ye(t.value)
})
}
function ye(t) {
document.documentElement.dataset.theme = t
}
de()
G(X, 'a[data-toggle]')
G(Z, '.tsd-index-accordion')
G(Y, '.tsd-filter-item input[type=checkbox]')
var ge = document.getElementById('tsd-theme')
ge && ve(ge)
var Ae = new U()
Object.defineProperty(window, 'app', {value: Ae})
document.querySelectorAll('summary a').forEach((t) => {
t.addEventListener('click', () => {
location.assign(t.href)
})
})
})()
/*! Bundled license information:
lunr/lunr.js:
(**
* lunr - http://lunrjs.com - A bit like Solr, but much smaller and not as bright - 2.3.9
* Copyright (C) 2020 Oliver Nightingale
* @license MIT
*)
(*!
* lunr.utils
* Copyright (C) 2020 Oliver Nightingale
*)
(*!
* lunr.Set
* Copyright (C) 2020 Oliver Nightingale
*)
(*!
* lunr.tokenizer
* Copyright (C) 2020 Oliver Nightingale
*)
(*!
* lunr.Pipeline
* Copyright (C) 2020 Oliver Nightingale
*)
(*!
* lunr.Vector
* Copyright (C) 2020 Oliver Nightingale
*)
(*!
* lunr.stemmer
* Copyright (C) 2020 Oliver Nightingale
* Includes code from - http://tartarus.org/~martin/PorterStemmer/js.txt
*)
(*!
* lunr.stopWordFilter
* Copyright (C) 2020 Oliver Nightingale
*)
(*!
* lunr.trimmer
* Copyright (C) 2020 Oliver Nightingale
*)
(*!
* lunr.TokenSet
* Copyright (C) 2020 Oliver Nightingale
*)
(*!
* lunr.Index
* Copyright (C) 2020 Oliver Nightingale
*)
(*!
* lunr.Builder
* Copyright (C) 2020 Oliver Nightingale
*)
*/