You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							539 lines
						
					
					
						
							16 KiB
						
					
					
				
			
		
		
	
	
							539 lines
						
					
					
						
							16 KiB
						
					
					
				| /*! highlight.js v9.9.0 | BSD3 License | git.io/hljslicense */
 | |
| !(function (e) {
 | |
|   var n = ('object' == typeof window && window) || ('object' == typeof self && self)
 | |
|   'undefined' != typeof exports
 | |
|     ? e(exports)
 | |
|     : n &&
 | |
|       ((n.hljs = e({})),
 | |
|       'function' == typeof define &&
 | |
|         define.amd &&
 | |
|         define([], function () {
 | |
|           return n.hljs
 | |
|         }))
 | |
| })(function (e) {
 | |
|   function n(e) {
 | |
|     return e.replace(/[&<>]/gm, function (e) {
 | |
|       return I[e]
 | |
|     })
 | |
|   }
 | |
|   function t(e) {
 | |
|     return e.nodeName.toLowerCase()
 | |
|   }
 | |
|   function r(e, n) {
 | |
|     var t = e && e.exec(n)
 | |
|     return t && 0 === t.index
 | |
|   }
 | |
|   function i(e) {
 | |
|     return k.test(e)
 | |
|   }
 | |
|   function a(e) {
 | |
|     var n,
 | |
|       t,
 | |
|       r,
 | |
|       a,
 | |
|       o = e.className + ' '
 | |
|     if (((o += e.parentNode ? e.parentNode.className : ''), (t = B.exec(o))))
 | |
|       return R(t[1]) ? t[1] : 'no-highlight'
 | |
|     for (o = o.split(/\s+/), n = 0, r = o.length; r > n; n++)
 | |
|       if (((a = o[n]), i(a) || R(a))) return a
 | |
|   }
 | |
|   function o(e, n) {
 | |
|     var t,
 | |
|       r = {}
 | |
|     for (t in e) r[t] = e[t]
 | |
|     if (n) for (t in n) r[t] = n[t]
 | |
|     return r
 | |
|   }
 | |
|   function u(e) {
 | |
|     var n = []
 | |
|     return (
 | |
|       (function r(e, i) {
 | |
|         for (var a = e.firstChild; a; a = a.nextSibling)
 | |
|           3 === a.nodeType
 | |
|             ? (i += a.nodeValue.length)
 | |
|             : 1 === a.nodeType &&
 | |
|               (n.push({ event: 'start', offset: i, node: a }),
 | |
|               (i = r(a, i)),
 | |
|               t(a).match(/br|hr|img|input/) || n.push({ event: 'stop', offset: i, node: a }))
 | |
|         return i
 | |
|       })(e, 0),
 | |
|       n
 | |
|     )
 | |
|   }
 | |
|   function c(e, r, i) {
 | |
|     function a() {
 | |
|       return e.length && r.length
 | |
|         ? e[0].offset !== r[0].offset
 | |
|           ? e[0].offset < r[0].offset
 | |
|             ? e
 | |
|             : r
 | |
|           : 'start' === r[0].event
 | |
|           ? e
 | |
|           : r
 | |
|         : e.length
 | |
|         ? e
 | |
|         : r
 | |
|     }
 | |
|     function o(e) {
 | |
|       function r(e) {
 | |
|         return ' ' + e.nodeName + '="' + n(e.value) + '"'
 | |
|       }
 | |
|       l += '<' + t(e) + w.map.call(e.attributes, r).join('') + '>'
 | |
|     }
 | |
|     function u(e) {
 | |
|       l += '</' + t(e) + '>'
 | |
|     }
 | |
|     function c(e) {
 | |
|       ;('start' === e.event ? o : u)(e.node)
 | |
|     }
 | |
|     for (var s = 0, l = '', f = []; e.length || r.length; ) {
 | |
|       var g = a()
 | |
|       if (((l += n(i.substring(s, g[0].offset))), (s = g[0].offset), g === e)) {
 | |
|         f.reverse().forEach(u)
 | |
|         do c(g.splice(0, 1)[0]), (g = a())
 | |
|         while (g === e && g.length && g[0].offset === s)
 | |
|         f.reverse().forEach(o)
 | |
|       } else 'start' === g[0].event ? f.push(g[0].node) : f.pop(), c(g.splice(0, 1)[0])
 | |
|     }
 | |
|     return l + n(i.substr(s))
 | |
|   }
 | |
|   function s(e) {
 | |
|     function n(e) {
 | |
|       return (e && e.source) || e
 | |
|     }
 | |
|     function t(t, r) {
 | |
|       return new RegExp(n(t), 'm' + (e.cI ? 'i' : '') + (r ? 'g' : ''))
 | |
|     }
 | |
|     function r(i, a) {
 | |
|       if (!i.compiled) {
 | |
|         if (((i.compiled = !0), (i.k = i.k || i.bK), i.k)) {
 | |
|           var u = {},
 | |
|             c = function (n, t) {
 | |
|               e.cI && (t = t.toLowerCase()),
 | |
|                 t.split(' ').forEach(function (e) {
 | |
|                   var t = e.split('|')
 | |
|                   u[t[0]] = [n, t[1] ? Number(t[1]) : 1]
 | |
|                 })
 | |
|             }
 | |
|           'string' == typeof i.k
 | |
|             ? c('keyword', i.k)
 | |
|             : E(i.k).forEach(function (e) {
 | |
|                 c(e, i.k[e])
 | |
|               }),
 | |
|             (i.k = u)
 | |
|         }
 | |
|         ;(i.lR = t(i.l || /\w+/, !0)),
 | |
|           a &&
 | |
|             (i.bK && (i.b = '\\b(' + i.bK.split(' ').join('|') + ')\\b'),
 | |
|             i.b || (i.b = /\B|\b/),
 | |
|             (i.bR = t(i.b)),
 | |
|             i.e || i.eW || (i.e = /\B|\b/),
 | |
|             i.e && (i.eR = t(i.e)),
 | |
|             (i.tE = n(i.e) || ''),
 | |
|             i.eW && a.tE && (i.tE += (i.e ? '|' : '') + a.tE)),
 | |
|           i.i && (i.iR = t(i.i)),
 | |
|           null == i.r && (i.r = 1),
 | |
|           i.c || (i.c = [])
 | |
|         var s = []
 | |
|         i.c.forEach(function (e) {
 | |
|           e.v
 | |
|             ? e.v.forEach(function (n) {
 | |
|                 s.push(o(e, n))
 | |
|               })
 | |
|             : s.push('self' === e ? i : e)
 | |
|         }),
 | |
|           (i.c = s),
 | |
|           i.c.forEach(function (e) {
 | |
|             r(e, i)
 | |
|           }),
 | |
|           i.starts && r(i.starts, a)
 | |
|         var l = i.c
 | |
|           .map(function (e) {
 | |
|             return e.bK ? '\\.?(' + e.b + ')\\.?' : e.b
 | |
|           })
 | |
|           .concat([i.tE, i.i])
 | |
|           .map(n)
 | |
|           .filter(Boolean)
 | |
|         i.t = l.length
 | |
|           ? t(l.join('|'), !0)
 | |
|           : {
 | |
|               exec: function () {
 | |
|                 return null
 | |
|               },
 | |
|             }
 | |
|       }
 | |
|     }
 | |
|     r(e)
 | |
|   }
 | |
|   function l(e, t, i, a) {
 | |
|     function o(e, n) {
 | |
|       var t, i
 | |
|       for (t = 0, i = n.c.length; i > t; t++) if (r(n.c[t].bR, e)) return n.c[t]
 | |
|     }
 | |
|     function u(e, n) {
 | |
|       if (r(e.eR, n)) {
 | |
|         for (; e.endsParent && e.parent; ) e = e.parent
 | |
|         return e
 | |
|       }
 | |
|       return e.eW ? u(e.parent, n) : void 0
 | |
|     }
 | |
|     function c(e, n) {
 | |
|       return !i && r(n.iR, e)
 | |
|     }
 | |
|     function g(e, n) {
 | |
|       var t = N.cI ? n[0].toLowerCase() : n[0]
 | |
|       return e.k.hasOwnProperty(t) && e.k[t]
 | |
|     }
 | |
|     function h(e, n, t, r) {
 | |
|       var i = r ? '' : y.classPrefix,
 | |
|         a = '<span class="' + i,
 | |
|         o = t ? '' : C
 | |
|       return (a += e + '">'), a + n + o
 | |
|     }
 | |
|     function p() {
 | |
|       var e, t, r, i
 | |
|       if (!E.k) return n(B)
 | |
|       for (i = '', t = 0, E.lR.lastIndex = 0, r = E.lR.exec(B); r; )
 | |
|         (i += n(B.substring(t, r.index))),
 | |
|           (e = g(E, r)),
 | |
|           e ? ((M += e[1]), (i += h(e[0], n(r[0])))) : (i += n(r[0])),
 | |
|           (t = E.lR.lastIndex),
 | |
|           (r = E.lR.exec(B))
 | |
|       return i + n(B.substr(t))
 | |
|     }
 | |
|     function d() {
 | |
|       var e = 'string' == typeof E.sL
 | |
|       if (e && !x[E.sL]) return n(B)
 | |
|       var t = e ? l(E.sL, B, !0, L[E.sL]) : f(B, E.sL.length ? E.sL : void 0)
 | |
|       return E.r > 0 && (M += t.r), e && (L[E.sL] = t.top), h(t.language, t.value, !1, !0)
 | |
|     }
 | |
|     function b() {
 | |
|       ;(k += null != E.sL ? d() : p()), (B = '')
 | |
|     }
 | |
|     function v(e) {
 | |
|       ;(k += e.cN ? h(e.cN, '', !0) : ''), (E = Object.create(e, { parent: { value: E } }))
 | |
|     }
 | |
|     function m(e, n) {
 | |
|       if (((B += e), null == n)) return b(), 0
 | |
|       var t = o(n, E)
 | |
|       if (t)
 | |
|         return (
 | |
|           t.skip ? (B += n) : (t.eB && (B += n), b(), t.rB || t.eB || (B = n)),
 | |
|           v(t, n),
 | |
|           t.rB ? 0 : n.length
 | |
|         )
 | |
|       var r = u(E, n)
 | |
|       if (r) {
 | |
|         var i = E
 | |
|         i.skip ? (B += n) : (i.rE || i.eE || (B += n), b(), i.eE && (B = n))
 | |
|         do E.cN && (k += C), E.skip || (M += E.r), (E = E.parent)
 | |
|         while (E !== r.parent)
 | |
|         return r.starts && v(r.starts, ''), i.rE ? 0 : n.length
 | |
|       }
 | |
|       if (c(n, E))
 | |
|         throw new Error('Illegal lexeme "' + n + '" for mode "' + (E.cN || '<unnamed>') + '"')
 | |
|       return (B += n), n.length || 1
 | |
|     }
 | |
|     var N = R(e)
 | |
|     if (!N) throw new Error('Unknown language: "' + e + '"')
 | |
|     s(N)
 | |
|     var w,
 | |
|       E = a || N,
 | |
|       L = {},
 | |
|       k = ''
 | |
|     for (w = E; w !== N; w = w.parent) w.cN && (k = h(w.cN, '', !0) + k)
 | |
|     var B = '',
 | |
|       M = 0
 | |
|     try {
 | |
|       for (var I, j, O = 0; ; ) {
 | |
|         if (((E.t.lastIndex = O), (I = E.t.exec(t)), !I)) break
 | |
|         ;(j = m(t.substring(O, I.index), I[0])), (O = I.index + j)
 | |
|       }
 | |
|       for (m(t.substr(O)), w = E; w.parent; w = w.parent) w.cN && (k += C)
 | |
|       return { r: M, value: k, language: e, top: E }
 | |
|     } catch (T) {
 | |
|       if (T.message && -1 !== T.message.indexOf('Illegal')) return { r: 0, value: n(t) }
 | |
|       throw T
 | |
|     }
 | |
|   }
 | |
|   function f(e, t) {
 | |
|     t = t || y.languages || E(x)
 | |
|     var r = { r: 0, value: n(e) },
 | |
|       i = r
 | |
|     return (
 | |
|       t.filter(R).forEach(function (n) {
 | |
|         var t = l(n, e, !1)
 | |
|         ;(t.language = n), t.r > i.r && (i = t), t.r > r.r && ((i = r), (r = t))
 | |
|       }),
 | |
|       i.language && (r.second_best = i),
 | |
|       r
 | |
|     )
 | |
|   }
 | |
|   function g(e) {
 | |
|     return y.tabReplace || y.useBR
 | |
|       ? e.replace(M, function (e, n) {
 | |
|           return y.useBR && '\n' === e
 | |
|             ? '<br>'
 | |
|             : y.tabReplace
 | |
|             ? n.replace(/\t/g, y.tabReplace)
 | |
|             : void 0
 | |
|         })
 | |
|       : e
 | |
|   }
 | |
|   function h(e, n, t) {
 | |
|     var r = n ? L[n] : t,
 | |
|       i = [e.trim()]
 | |
|     return (
 | |
|       e.match(/\bhljs\b/) || i.push('hljs'), -1 === e.indexOf(r) && i.push(r), i.join(' ').trim()
 | |
|     )
 | |
|   }
 | |
|   function p(e) {
 | |
|     var n,
 | |
|       t,
 | |
|       r,
 | |
|       o,
 | |
|       s,
 | |
|       p = a(e)
 | |
|     i(p) ||
 | |
|       (y.useBR
 | |
|         ? ((n = document.createElementNS('http://www.w3.org/1999/xhtml', 'div')),
 | |
|           (n.innerHTML = e.innerHTML.replace(/\n/g, '').replace(/<br[ \/]*>/g, '\n')))
 | |
|         : (n = e),
 | |
|       (s = n.textContent),
 | |
|       (r = p ? l(p, s, !0) : f(s)),
 | |
|       (t = u(n)),
 | |
|       t.length &&
 | |
|         ((o = document.createElementNS('http://www.w3.org/1999/xhtml', 'div')),
 | |
|         (o.innerHTML = r.value),
 | |
|         (r.value = c(t, u(o), s))),
 | |
|       (r.value = g(r.value)),
 | |
|       (e.innerHTML = r.value),
 | |
|       (e.className = h(e.className, p, r.language)),
 | |
|       (e.result = { language: r.language, re: r.r }),
 | |
|       r.second_best && (e.second_best = { language: r.second_best.language, re: r.second_best.r }))
 | |
|   }
 | |
|   function d(e) {
 | |
|     y = o(y, e)
 | |
|   }
 | |
|   function b() {
 | |
|     if (!b.called) {
 | |
|       b.called = !0
 | |
|       var e = document.querySelectorAll('pre code')
 | |
|       w.forEach.call(e, p)
 | |
|     }
 | |
|   }
 | |
|   function v() {
 | |
|     addEventListener('DOMContentLoaded', b, !1), addEventListener('load', b, !1)
 | |
|   }
 | |
|   function m(n, t) {
 | |
|     var r = (x[n] = t(e))
 | |
|     r.aliases &&
 | |
|       r.aliases.forEach(function (e) {
 | |
|         L[e] = n
 | |
|       })
 | |
|   }
 | |
|   function N() {
 | |
|     return E(x)
 | |
|   }
 | |
|   function R(e) {
 | |
|     return (e = (e || '').toLowerCase()), x[e] || x[L[e]]
 | |
|   }
 | |
|   var w = [],
 | |
|     E = Object.keys,
 | |
|     x = {},
 | |
|     L = {},
 | |
|     k = /^(no-?highlight|plain|text)$/i,
 | |
|     B = /\blang(?:uage)?-([\w-]+)\b/i,
 | |
|     M = /((^(<[^>]+>|\t|)+|(?:\n)))/gm,
 | |
|     C = '</span>',
 | |
|     y = { classPrefix: 'hljs-', tabReplace: null, useBR: !1, languages: void 0 },
 | |
|     I = { '&': '&', '<': '<', '>': '>' }
 | |
|   return (
 | |
|     (e.highlight = l),
 | |
|     (e.highlightAuto = f),
 | |
|     (e.fixMarkup = g),
 | |
|     (e.highlightBlock = p),
 | |
|     (e.configure = d),
 | |
|     (e.initHighlighting = b),
 | |
|     (e.initHighlightingOnLoad = v),
 | |
|     (e.registerLanguage = m),
 | |
|     (e.listLanguages = N),
 | |
|     (e.getLanguage = R),
 | |
|     (e.inherit = o),
 | |
|     (e.IR = '[a-zA-Z]\\w*'),
 | |
|     (e.UIR = '[a-zA-Z_]\\w*'),
 | |
|     (e.NR = '\\b\\d+(\\.\\d+)?'),
 | |
|     (e.CNR = '(-?)(\\b0[xX][a-fA-F0-9]+|(\\b\\d+(\\.\\d*)?|\\.\\d+)([eE][-+]?\\d+)?)'),
 | |
|     (e.BNR = '\\b(0b[01]+)'),
 | |
|     (e.RSR =
 | |
|       '!|!=|!==|%|%=|&|&&|&=|\\*|\\*=|\\+|\\+=|,|-|-=|/=|/|:|;|<<|<<=|<=|<|===|==|=|>>>=|>>=|>=|>>>|>>|>|\\?|\\[|\\{|\\(|\\^|\\^=|\\||\\|=|\\|\\||~'),
 | |
|     (e.BE = { b: '\\\\[\\s\\S]', r: 0 }),
 | |
|     (e.ASM = { cN: 'string', b: "'", e: "'", i: '\\n', c: [e.BE] }),
 | |
|     (e.QSM = { cN: 'string', b: '"', e: '"', i: '\\n', c: [e.BE] }),
 | |
|     (e.PWM = {
 | |
|       b: /\b(a|an|the|are|I'm|isn't|don't|doesn't|won't|but|just|should|pretty|simply|enough|gonna|going|wtf|so|such|will|you|your|like)\b/,
 | |
|     }),
 | |
|     (e.C = function (n, t, r) {
 | |
|       var i = e.inherit({ cN: 'comment', b: n, e: t, c: [] }, r || {})
 | |
|       return i.c.push(e.PWM), i.c.push({ cN: 'doctag', b: '(?:TODO|FIXME|NOTE|BUG|XXX):', r: 0 }), i
 | |
|     }),
 | |
|     (e.CLCM = e.C('//', '$')),
 | |
|     (e.CBCM = e.C('/\\*', '\\*/')),
 | |
|     (e.HCM = e.C('#', '$')),
 | |
|     (e.NM = { cN: 'number', b: e.NR, r: 0 }),
 | |
|     (e.CNM = { cN: 'number', b: e.CNR, r: 0 }),
 | |
|     (e.BNM = { cN: 'number', b: e.BNR, r: 0 }),
 | |
|     (e.CSSNM = {
 | |
|       cN: 'number',
 | |
|       b:
 | |
|         e.NR +
 | |
|         '(%|em|ex|ch|rem|vw|vh|vmin|vmax|cm|mm|in|pt|pc|px|deg|grad|rad|turn|s|ms|Hz|kHz|dpi|dpcm|dppx)?',
 | |
|       r: 0,
 | |
|     }),
 | |
|     (e.RM = {
 | |
|       cN: 'regexp',
 | |
|       b: /\//,
 | |
|       e: /\/[gimuy]*/,
 | |
|       i: /\n/,
 | |
|       c: [e.BE, { b: /\[/, e: /\]/, r: 0, c: [e.BE] }],
 | |
|     }),
 | |
|     (e.TM = { cN: 'title', b: e.IR, r: 0 }),
 | |
|     (e.UTM = { cN: 'title', b: e.UIR, r: 0 }),
 | |
|     (e.METHOD_GUARD = { b: '\\.\\s*' + e.UIR, r: 0 }),
 | |
|     e
 | |
|   )
 | |
| })
 | |
| hljs.registerLanguage('javascript', function (e) {
 | |
|   var r = '[A-Za-z$_][0-9A-Za-z$_]*',
 | |
|     t = {
 | |
|       keyword:
 | |
|         'in of if for while finally var new function do return void else break catch instanceof with throw case default try this switch continue typeof delete let yield const export super debugger as async await static import from as',
 | |
|       literal: 'true false null undefined NaN Infinity',
 | |
|       built_in:
 | |
|         'eval isFinite isNaN parseFloat parseInt decodeURI decodeURIComponent encodeURI encodeURIComponent escape unescape Object Function Boolean Error EvalError InternalError RangeError ReferenceError StopIteration SyntaxError TypeError URIError Number Math Date String RegExp Array Float32Array Float64Array Int16Array Int32Array Int8Array Uint16Array Uint32Array Uint8Array Uint8ClampedArray ArrayBuffer DataView JSON Intl arguments require module console window document Symbol Set Map WeakSet WeakMap Proxy Reflect Promise',
 | |
|     },
 | |
|     a = {
 | |
|       cN: 'number',
 | |
|       v: [{ b: '\\b(0[bB][01]+)' }, { b: '\\b(0[oO][0-7]+)' }, { b: e.CNR }],
 | |
|       r: 0,
 | |
|     },
 | |
|     n = { cN: 'subst', b: '\\$\\{', e: '\\}', k: t, c: [] },
 | |
|     c = { cN: 'string', b: '`', e: '`', c: [e.BE, n] }
 | |
|   n.c = [e.ASM, e.QSM, c, a, e.RM]
 | |
|   var s = n.c.concat([e.CBCM, e.CLCM])
 | |
|   return {
 | |
|     aliases: ['js', 'jsx'],
 | |
|     k: t,
 | |
|     c: [
 | |
|       { cN: 'meta', r: 10, b: /^\s*['"]use (strict|asm)['"]/ },
 | |
|       { cN: 'meta', b: /^#!/, e: /$/ },
 | |
|       e.ASM,
 | |
|       e.QSM,
 | |
|       c,
 | |
|       e.CLCM,
 | |
|       e.CBCM,
 | |
|       a,
 | |
|       {
 | |
|         b: /[{,]\s*/,
 | |
|         r: 0,
 | |
|         c: [{ b: r + '\\s*:', rB: !0, r: 0, c: [{ cN: 'attr', b: r, r: 0 }] }],
 | |
|       },
 | |
|       {
 | |
|         b: '(' + e.RSR + '|\\b(case|return|throw)\\b)\\s*',
 | |
|         k: 'return throw case',
 | |
|         c: [
 | |
|           e.CLCM,
 | |
|           e.CBCM,
 | |
|           e.RM,
 | |
|           {
 | |
|             cN: 'function',
 | |
|             b: '(\\(.*?\\)|' + r + ')\\s*=>',
 | |
|             rB: !0,
 | |
|             e: '\\s*=>',
 | |
|             c: [
 | |
|               {
 | |
|                 cN: 'params',
 | |
|                 v: [{ b: r }, { b: /\(\s*\)/ }, { b: /\(/, e: /\)/, eB: !0, eE: !0, k: t, c: s }],
 | |
|               },
 | |
|             ],
 | |
|           },
 | |
|           {
 | |
|             b: /</,
 | |
|             e: /(\/\w+|\w+\/)>/,
 | |
|             sL: 'xml',
 | |
|             c: [
 | |
|               { b: /<\w+\s*\/>/, skip: !0 },
 | |
|               {
 | |
|                 b: /<\w+/,
 | |
|                 e: /(\/\w+|\w+\/)>/,
 | |
|                 skip: !0,
 | |
|                 c: [{ b: /<\w+\s*\/>/, skip: !0 }, 'self'],
 | |
|               },
 | |
|             ],
 | |
|           },
 | |
|         ],
 | |
|         r: 0,
 | |
|       },
 | |
|       {
 | |
|         cN: 'function',
 | |
|         bK: 'function',
 | |
|         e: /\{/,
 | |
|         eE: !0,
 | |
|         c: [e.inherit(e.TM, { b: r }), { cN: 'params', b: /\(/, e: /\)/, eB: !0, eE: !0, c: s }],
 | |
|         i: /\[|%/,
 | |
|       },
 | |
|       { b: /\$[(.]/ },
 | |
|       e.METHOD_GUARD,
 | |
|       {
 | |
|         cN: 'class',
 | |
|         bK: 'class',
 | |
|         e: /[{;=]/,
 | |
|         eE: !0,
 | |
|         i: /[:"\[\]]/,
 | |
|         c: [{ bK: 'extends' }, e.UTM],
 | |
|       },
 | |
|       { bK: 'constructor', e: /\{/, eE: !0 },
 | |
|     ],
 | |
|     i: /#(?!!)/,
 | |
|   }
 | |
| })
 | |
| 
 | |
| // Line numbers plugin
 | |
| !(function (e) {
 | |
|   'use strict'
 | |
|   function t() {
 | |
|     'complete' === document.readyState ? n() : e.addEventListener('DOMContentLoaded', n)
 | |
|   }
 | |
|   function n() {
 | |
|     try {
 | |
|       var e = document.querySelectorAll('code.hljs')
 | |
|       for (var t in e) e.hasOwnProperty(t) && r(e[t])
 | |
|     } catch (n) {
 | |
|       console.error('LineNumbers error: ', n)
 | |
|     }
 | |
|   }
 | |
|   function r(e) {
 | |
|     if ('object' == typeof e) {
 | |
|       var t = e.parentNode,
 | |
|         n = o(t.textContent)
 | |
|       if (n > 1) {
 | |
|         for (var r = '', c = 0; n > c; c++) r += c + 1 + '\n'
 | |
|         var l = document.createElement('code')
 | |
|         ;(l.className = 'hljs hljs-line-numbers'),
 | |
|           (l.style['float'] = 'left'),
 | |
|           (l.textContent = r),
 | |
|           t.insertBefore(l, e)
 | |
|       }
 | |
|     }
 | |
|   }
 | |
|   function o(e) {
 | |
|     if (0 === e.length) return 0
 | |
|     var t = /\r\n|\r|\n/g,
 | |
|       n = e.match(t)
 | |
|     return (n = n ? n.length : 0), e[e.length - 1].match(t) || (n += 1), n
 | |
|   }
 | |
|   'undefined' == typeof e.hljs
 | |
|     ? console.error('highlight.js not detected!')
 | |
|     : ((e.hljs.initLineNumbersOnLoad = t), (e.hljs.lineNumbersBlock = r))
 | |
| })(window)
 |