Localize frontend dependencies (#535)
* feat(webui): localize frontend dependencies * refactor(webui): use local frontend libraries * refactor(webui): organize vendor directory * fix(webui): update paths for organized vendor libs * revert(webui): use cdn for font-awesome * feat(webui): localize marked.js library
The Master committed
Jun 26, 2025 at 19:54 UTC
82cc9632e7b15d913c113529e965e02a396a448a
13 files changed
+23689
-12
webui/index.html
+8
-8
@@ -21,8 +21,8 @@
21
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/all.min.css">
22
23
<!-- Flatpickr for datetime picker -->
24
- <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/flatpickr/dist/flatpickr.min.css">
25
- <script src="https://cdn.jsdelivr.net/npm/flatpickr"></script>
24
+ <link rel="stylesheet" href="vendor/flatpickr/flatpickr.min.css">
25
+ <script src="vendor/flatpickr/flatpickr.min.js"></script>
26
27
<script>
28
window.safeCall = function (name, ...args) {
@@ -104,18 +104,18 @@
104
<script type="module" src="index.js"></script>
105
106
<!-- Then load Alpine.js -->
107
- <script defer src="https://cdn.jsdelivr.net/npm/@alpinejs/collapse@3.14.3/dist/cdn.min.js"></script>
107
+ <script defer src="vendor/alpine/alpine.collapse.min.js"></script>
108
<!-- <script defer src="https://cdn.jsdelivr.net/npm/alpinejs@3.14.3/dist/cdn.min.js"></script> -->
109
<script type="module" src="js/initFw.js"></script>
110
111
- <script src="https://cdn.jsdelivr.net/npm/ace-builds@1.36.5/src-noconflict/ace.js"></script>
112
- <link href="https://cdn.jsdelivr.net/npm/ace-builds@1.36.5/css/ace.min.css" rel="stylesheet">
111
+ <script src="vendor/ace/ace.js"></script>
112
+ <link href="vendor/ace/ace.min.css" rel="stylesheet">
113
<!-- KaTeX CSS -->
114
- <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/katex@0.16.8/dist/katex.min.css" crossorigin="anonymous">
114
+ <link rel="stylesheet" href="vendor/katex/katex.min.css" crossorigin="anonymous">
115
116
<!-- KaTeX javascript -->
117
- <script defer src="https://cdn.jsdelivr.net/npm/katex@0.16.8/dist/katex.min.js" crossorigin="anonymous"></script>
118
- <script defer src="https://cdn.jsdelivr.net/npm/katex@0.16.8/dist/contrib/auto-render.min.js"
117
+ <script defer src="vendor/katex/katex.min.js" crossorigin="anonymous"></script>
118
+ <script defer src="vendor/katex/katex.auto-render.min.js"
119
crossorigin="anonymous"></script>
120
121
<!-- Non-module scripts after Alpine.js -->
webui/js/initFw.js
+1
-1
@@ -1,7 +1,7 @@
1
import * as _modals from "./modals.js";
2
import * as _components from "./components.js";
3
4
-await import("./alpine.min.js");
4
+await import("../vendor/alpine/alpine.min.js");
5
6
// add x-destroy directive
7
Alpine.directive(
webui/js/messages.js
+3
-3
@@ -1,6 +1,6 @@
1
// copy button
2
import { openImageModal } from "./image_modal.js";
3
-import { marked } from "https://cdn.jsdelivr.net/npm/marked/lib/marked.esm.js";
3
+import { marked } from "../vendor/marked/marked.esm.js";
4
5
function createCopyButton() {
6
const button = document.createElement("button");
@@ -675,7 +675,7 @@ function escapeHTML(str) {
675
function convertPathsToLinks(str) {
676
function generateLinks(match) {
677
const parts = match.split("/");
678
- if (!parts[0]) parts.shift(); // drop empty element left of first “/”
678
+ if (!parts[0]) parts.shift(); // drop empty element left of first "
679
let conc = "";
680
let html = "";
681
for (const part of parts) {
@@ -700,7 +700,7 @@ function convertPathsToLinks(str) {
700
return str
701
.split(tagRegex) // keep tags & text separate
702
.map((chunk) => {
703
- // if it *starts* with '<', it’s a tag -> leave untouched
703
+ // if it *starts* with '<', it's a tag -> leave untouched
704
if (chunk.startsWith("<")) return chunk;
705
// otherwise run your link-generation
706
return chunk.replace(pathRegex, generateLinks);
webui/vendor/ace/ace.js
new
+21461
@@ -0,0 +1,21461 @@
1
+/* ***** BEGIN LICENSE BLOCK *****
2
+ * Distributed under the BSD license:
3
+ *
4
+ * Copyright (c) 2010, Ajax.org B.V.
5
+ * All rights reserved.
6
+ *
7
+ * Redistribution and use in source and binary forms, with or without
8
+ * modification, are permitted provided that the following conditions are met:
9
+ * * Redistributions of source code must retain the above copyright
10
+ * notice, this list of conditions and the following disclaimer.
11
+ * * Redistributions in binary form must reproduce the above copyright
12
+ * notice, this list of conditions and the following disclaimer in the
13
+ * documentation and/or other materials provided with the distribution.
14
+ * * Neither the name of Ajax.org B.V. nor the
15
+ * names of its contributors may be used to endorse or promote products
16
+ * derived from this software without specific prior written permission.
17
+ *
18
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
19
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
20
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
21
+ * DISCLAIMED. IN NO EVENT SHALL AJAX.ORG B.V. BE LIABLE FOR ANY
22
+ * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
23
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
24
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
25
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
26
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
27
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
28
+ *
29
+ * ***** END LICENSE BLOCK ***** */
30
+
31
+/**
32
+ * Define a module along with a payload
33
+ * @param module a name for the payload
34
+ * @param payload a function to call with (require, exports, module) params
35
+ */
36
+
37
+(function() {
38
+
39
+var ACE_NAMESPACE = "ace";
40
+
41
+var global = (function() { return this; })();
42
+if (!global && typeof window != "undefined") global = window; // strict mode
43
+
44
+
45
+if (!ACE_NAMESPACE && typeof requirejs !== "undefined")
46
+ return;
47
+
48
+
49
+var define = function(module, deps, payload) {
50
+ if (typeof module !== "string") {
51
+ if (define.original)
52
+ define.original.apply(this, arguments);
53
+ else {
54
+ console.error("dropping module because define wasn\'t a string.");
55
+ console.trace();
56
+ }
57
+ return;
58
+ }
59
+ if (arguments.length == 2)
60
+ payload = deps;
61
+ if (!define.modules[module]) {
62
+ define.payloads[module] = payload;
63
+ define.modules[module] = null;
64
+ }
65
+};
66
+
67
+define.modules = {};
68
+define.payloads = {};
69
+
70
+/**
71
+ * Get at functionality define()ed using the function above
72
+ */
73
+var _require = function(parentId, module, callback) {
74
+ if (typeof module === "string") {
75
+ var payload = lookup(parentId, module);
76
+ if (payload != undefined) {
77
+ callback && callback();
78
+ return payload;
79
+ }
80
+ } else if (Object.prototype.toString.call(module) === "[object Array]") {
81
+ var params = [];
82
+ for (var i = 0, l = module.length; i < l; ++i) {
83
+ var dep = lookup(parentId, module[i]);
84
+ if (dep == undefined && require.original)
85
+ return;
86
+ params.push(dep);
87
+ }
88
+ return callback && callback.apply(null, params) || true;
89
+ }
90
+};
91
+
92
+var require = function(module, callback) {
93
+ var packagedModule = _require("", module, callback);
94
+ if (packagedModule == undefined && require.original)
95
+ return require.original.apply(this, arguments);
96
+ return packagedModule;
97
+};
98
+
99
+var normalizeModule = function(parentId, moduleName) {
100
+ // normalize plugin requires
101
+ if (moduleName.indexOf("!") !== -1) {
102
+ var chunks = moduleName.split("!");
103
+ return normalizeModule(parentId, chunks[0]) + "!" + normalizeModule(parentId, chunks[1]);
104
+ }
105
+ // normalize relative requires
106
+ if (moduleName.charAt(0) == ".") {
107
+ var base = parentId.split("/").slice(0, -1).join("/");
108
+ moduleName = base + "/" + moduleName;
109
+
110
+ while(moduleName.indexOf(".") !== -1 && previous != moduleName) {
111
+ var previous = moduleName;
112
+ moduleName = moduleName.replace(/\/\.\//, "/").replace(/[^\/]+\/\.\.\//, "");
113
+ }
114
+ }
115
+ return moduleName;
116
+};
117
+
118
+/**
119
+ * Internal function to lookup moduleNames and resolve them by calling the
120
+ * definition function if needed.
121
+ */
122
+var lookup = function(parentId, moduleName) {
123
+ moduleName = normalizeModule(parentId, moduleName);
124
+
125
+ var module = define.modules[moduleName];
126
+ if (!module) {
127
+ module = define.payloads[moduleName];
128
+ if (typeof module === 'function') {
129
+ var exports = {};
130
+ var mod = {
131
+ id: moduleName,
132
+ uri: '',
133
+ exports: exports,
134
+ packaged: true
135
+ };
136
+
137
+ var req = function(module, callback) {
138
+ return _require(moduleName, module, callback);
139
+ };
140
+
141
+ var returnValue = module(req, exports, mod);
142
+ exports = returnValue || mod.exports;
143
+ define.modules[moduleName] = exports;
144
+ delete define.payloads[moduleName];
145
+ }
146
+ module = define.modules[moduleName] = exports || module;
147
+ }
148
+ return module;
149
+};
150
+
151
+function exportAce(ns) {
152
+ var root = global;
153
+ if (ns) {
154
+ if (!global[ns])
155
+ global[ns] = {};
156
+ root = global[ns];
157
+ }
158
+
159
+ if (!root.define || !root.define.packaged) {
160
+ define.original = root.define;
161
+ root.define = define;
162
+ root.define.packaged = true;
163
+ }
164
+
165
+ if (!root.require || !root.require.packaged) {
166
+ require.original = root.require;
167
+ root.require = require;
168
+ root.require.packaged = true;
169
+ }
170
+}
171
+
172
+exportAce(ACE_NAMESPACE);
173
+
174
+})();
175
+
176
+ace.define("ace/lib/es6-shim",["require","exports","module"], function(require, exports, module){function defineProp(obj, name, val) {
177
+ Object.defineProperty(obj, name, {
178
+ value: val,
179
+ enumerable: false,
180
+ writable: true,
181
+ configurable: true
182
+ });
183
+}
184
+if (!String.prototype.startsWith) {
185
+ defineProp(String.prototype, "startsWith", function (searchString, position) {
186
+ position = position || 0;
187
+ return this.lastIndexOf(searchString, position) === position;
188
+ });
189
+}
190
+if (!String.prototype.endsWith) {
191
+ defineProp(String.prototype, "endsWith", function (searchString, position) {
192
+ var subjectString = this;
193
+ if (position === undefined || position > subjectString.length) {
194
+ position = subjectString.length;
195
+ }
196
+ position -= searchString.length;
197
+ var lastIndex = subjectString.indexOf(searchString, position);
198
+ return lastIndex !== -1 && lastIndex === position;
199
+ });
200
+}
201
+if (!String.prototype.repeat) {
202
+ defineProp(String.prototype, "repeat", function (count) {
203
+ var result = "";
204
+ var string = this;
205
+ while (count > 0) {
206
+ if (count & 1)
207
+ result += string;
208
+ if ((count >>= 1))
209
+ string += string;
210
+ }
211
+ return result;
212
+ });
213
+}
214
+if (!String.prototype.includes) {
215
+ defineProp(String.prototype, "includes", function (str, position) {
216
+ return this.indexOf(str, position) != -1;
217
+ });
218
+}
219
+if (!Object.assign) {
220
+ Object.assign = function (target) {
221
+ if (target === undefined || target === null) {
222
+ throw new TypeError("Cannot convert undefined or null to object");
223
+ }
224
+ var output = Object(target);
225
+ for (var index = 1; index < arguments.length; index++) {
226
+ var source = arguments[index];
227
+ if (source !== undefined && source !== null) {
228
+ Object.keys(source).forEach(function (key) {
229
+ output[key] = source[key];
230
+ });
231
+ }
232
+ }
233
+ return output;
234
+ };
235
+}
236
+if (!Object.values) {
237
+ Object.values = function (o) {
238
+ return Object.keys(o).map(function (k) {
239
+ return o[k];
240
+ });
241
+ };
242
+}
243
+if (!Array.prototype.find) {
244
+ defineProp(Array.prototype, "find", function (predicate) {
245
+ var len = this.length;
246
+ var thisArg = arguments[1];
247
+ for (var k = 0; k < len; k++) {
248
+ var kValue = this[k];
249
+ if (predicate.call(thisArg, kValue, k, this)) {
250
+ return kValue;
251
+ }
252
+ }
253
+ });
254
+}
255
+if (!Array.prototype.findIndex) {
256
+ defineProp(Array.prototype, "findIndex", function (predicate) {
257
+ var len = this.length;
258
+ var thisArg = arguments[1];
259
+ for (var k = 0; k < len; k++) {
260
+ var kValue = this[k];
261
+ if (predicate.call(thisArg, kValue, k, this)) {
262
+ return k;
263
+ }
264
+ }
265
+ });
266
+}
267
+if (!Array.prototype.includes) {
268
+ defineProp(Array.prototype, "includes", function (item, position) {
269
+ return this.indexOf(item, position) != -1;
270
+ });
271
+}
272
+if (!Array.prototype.fill) {
273
+ defineProp(Array.prototype, "fill", function (value) {
274
+ var O = this;
275
+ var len = O.length >>> 0;
276
+ var start = arguments[1];
277
+ var relativeStart = start >> 0;
278
+ var k = relativeStart < 0
279
+ ? Math.max(len + relativeStart, 0)
280
+ : Math.min(relativeStart, len);
281
+ var end = arguments[2];
282
+ var relativeEnd = end === undefined ? len : end >> 0;
283
+ var final = relativeEnd < 0
284
+ ? Math.max(len + relativeEnd, 0)
285
+ : Math.min(relativeEnd, len);
286
+ while (k < final) {
287
+ O[k] = value;
288
+ k++;
289
+ }
290
+ return O;
291
+ });
292
+}
293
+if (!Array.of) {
294
+ defineProp(Array, "of", function () {
295
+ return Array.prototype.slice.call(arguments);
296
+ });
297
+}
298
+
299
+});
300
+
301
+ace.define("ace/lib/fixoldbrowsers",["require","exports","module","ace/lib/es6-shim"], function(require, exports, module){// vim:set ts=4 sts=4 sw=4 st:
302
+"use strict";
303
+require("./es6-shim");
304
+
305
+});
306
+
307
+ace.define("ace/lib/deep_copy",["require","exports","module"], function(require, exports, module){exports.deepCopy = function deepCopy(obj) {
308
+ if (typeof obj !== "object" || !obj)
309
+ return obj;
310
+ var copy;
311
+ if (Array.isArray(obj)) {
312
+ copy = [];
313
+ for (var key = 0; key < obj.length; key++) {
314
+ copy[key] = deepCopy(obj[key]);
315
+ }
316
+ return copy;
317
+ }
318
+ if (Object.prototype.toString.call(obj) !== "[object Object]")
319
+ return obj;
320
+ copy = {};
321
+ for (var key in obj)
322
+ copy[key] = deepCopy(obj[key]);
323
+ return copy;
324
+};
325
+
326
+});
327
+
328
+ace.define("ace/lib/lang",["require","exports","module","ace/lib/deep_copy"], function(require, exports, module){"use strict";
329
+exports.last = function (a) {
330
+ return a[a.length - 1];
331
+};
332
+exports.stringReverse = function (string) {
333
+ return string.split("").reverse().join("");
334
+};
335
+exports.stringRepeat = function (string, count) {
336
+ var result = '';
337
+ while (count > 0) {
338
+ if (count & 1)
339
+ result += string;
340
+ if (count >>= 1)
341
+ string += string;
342
+ }
343
+ return result;
344
+};
345
+var trimBeginRegexp = /^\s\s*/;
346
+var trimEndRegexp = /\s\s*$/;
347
+exports.stringTrimLeft = function (string) {
348
+ return string.replace(trimBeginRegexp, '');
349
+};
350
+exports.stringTrimRight = function (string) {
351
+ return string.replace(trimEndRegexp, '');
352
+};
353
+exports.copyObject = function (obj) {
354
+ var copy = {};
355
+ for (var key in obj) {
356
+ copy[key] = obj[key];
357
+ }
358
+ return copy;
359
+};
360
+exports.copyArray = function (array) {
361
+ var copy = [];
362
+ for (var i = 0, l = array.length; i < l; i++) {
363
+ if (array[i] && typeof array[i] == "object")
364
+ copy[i] = this.copyObject(array[i]);
365
+ else
366
+ copy[i] = array[i];
367
+ }
368
+ return copy;
369
+};
370
+exports.deepCopy = require("./deep_copy").deepCopy;
371
+exports.arrayToMap = function (arr) {
372
+ var map = {};
373
+ for (var i = 0; i < arr.length; i++) {
374
+ map[arr[i]] = 1;
375
+ }
376
+ return map;
377
+};
378
+exports.createMap = function (props) {
379
+ var map = Object.create(null);
380
+ for (var i in props) {
381
+ map[i] = props[i];
382
+ }
383
+ return map;
384
+};
385
+exports.arrayRemove = function (array, value) {
386
+ for (var i = 0; i <= array.length; i++) {
387
+ if (value === array[i]) {
388
+ array.splice(i, 1);
389
+ }
390
+ }
391
+};
392
+exports.escapeRegExp = function (str) {
393
+ return str.replace(/([.*+?^${}()|[\]\/\\])/g, '\\$1');
394
+};
395
+exports.escapeHTML = function (str) {
396
+ return ("" + str).replace(/&/g, "&").replace(/"/g, """).replace(/'/g, "'").replace(/</g, "<");
397
+};
398
+exports.getMatchOffsets = function (string, regExp) {
399
+ var matches = [];
400
+ string.replace(regExp, function (str) {
401
+ matches.push({
402
+ offset: arguments[arguments.length - 2],
403
+ length: str.length
404
+ });
405
+ });
406
+ return matches;
407
+};
408
+exports.deferredCall = function (fcn) {
409
+ var timer = null;
410
+ var callback = function () {
411
+ timer = null;
412
+ fcn();
413
+ };
414
+ var deferred = function (timeout) {
415
+ deferred.cancel();
416
+ timer = setTimeout(callback, timeout || 0);
417
+ return deferred;
418
+ };
419
+ deferred.schedule = deferred;
420
+ deferred.call = function () {
421
+ this.cancel();
422
+ fcn();
423
+ return deferred;
424
+ };
425
+ deferred.cancel = function () {
426
+ clearTimeout(timer);
427
+ timer = null;
428
+ return deferred;
429
+ };
430
+ deferred.isPending = function () {
431
+ return timer;
432
+ };
433
+ return deferred;
434
+};
435
+exports.delayedCall = function (fcn, defaultTimeout) {
436
+ var timer = null;
437
+ var callback = function () {
438
+ timer = null;
439
+ fcn();
440
+ };
441
+ var _self = function (timeout) {
442
+ if (timer == null)
443
+ timer = setTimeout(callback, timeout || defaultTimeout);
444
+ };
445
+ _self.delay = function (timeout) {
446
+ timer && clearTimeout(timer);
447
+ timer = setTimeout(callback, timeout || defaultTimeout);
448
+ };
449
+ _self.schedule = _self;
450
+ _self.call = function () {
451
+ this.cancel();
452
+ fcn();
453
+ };
454
+ _self.cancel = function () {
455
+ timer && clearTimeout(timer);
456
+ timer = null;
457
+ };
458
+ _self.isPending = function () {
459
+ return timer;
460
+ };
461
+ return _self;
462
+};
463
+exports.supportsLookbehind = function () {
464
+ try {
465
+ new RegExp('(?<=.)');
466
+ }
467
+ catch (e) {
468
+ return false;
469
+ }
470
+ return true;
471
+};
472
+exports.skipEmptyMatch = function (line, last, supportsUnicodeFlag) {
473
+ return supportsUnicodeFlag && line.codePointAt(last) > 0xffff ? 2 : 1;
474
+};
475
+
476
+});
477
+
478
+ace.define("ace/lib/useragent",["require","exports","module"], function(require, exports, module){"use strict";
479
+exports.OS = {
480
+ LINUX: "LINUX",
481
+ MAC: "MAC",
482
+ WINDOWS: "WINDOWS"
483
+};
484
+exports.getOS = function () {
485
+ if (exports.isMac) {
486
+ return exports.OS.MAC;
487
+ }
488
+ else if (exports.isLinux) {
489
+ return exports.OS.LINUX;
490
+ }
491
+ else {
492
+ return exports.OS.WINDOWS;
493
+ }
494
+};
495
+var _navigator = typeof navigator == "object" ? navigator : {};
496
+var os = (/mac|win|linux/i.exec(_navigator.platform) || ["other"])[0].toLowerCase();
497
+var ua = _navigator.userAgent || "";
498
+var appName = _navigator.appName || "";
499
+exports.isWin = (os == "win");
500
+exports.isMac = (os == "mac");
501
+exports.isLinux = (os == "linux");
502
+exports.isIE =
503
+ (appName == "Microsoft Internet Explorer" || appName.indexOf("MSAppHost") >= 0)
504
+ ? parseFloat((ua.match(/(?:MSIE |Trident\/[0-9]+[\.0-9]+;.*rv:)([0-9]+[\.0-9]+)/) || [])[1])
505
+ : parseFloat((ua.match(/(?:Trident\/[0-9]+[\.0-9]+;.*rv:)([0-9]+[\.0-9]+)/) || [])[1]); // for ie
506
+exports.isOldIE = exports.isIE && exports.isIE < 9;
507
+exports.isGecko = exports.isMozilla = ua.match(/ Gecko\/\d+/);
508
+exports.isOpera = typeof opera == "object" && Object.prototype.toString.call(window["opera"]) == "[object Opera]";
509
+exports.isWebKit = parseFloat(ua.split("WebKit/")[1]) || undefined;
510
+exports.isChrome = parseFloat(ua.split(" Chrome/")[1]) || undefined;
511
+exports.isSafari = parseFloat(ua.split(" Safari/")[1]) && !exports.isChrome || undefined;
512
+exports.isEdge = parseFloat(ua.split(" Edge/")[1]) || undefined;
513
+exports.isAIR = ua.indexOf("AdobeAIR") >= 0;
514
+exports.isAndroid = ua.indexOf("Android") >= 0;
515
+exports.isChromeOS = ua.indexOf(" CrOS ") >= 0;
516
+exports.isIOS = /iPad|iPhone|iPod/.test(ua) && !window["MSStream"];
517
+if (exports.isIOS)
518
+ exports.isMac = true;
519
+exports.isMobile = exports.isIOS || exports.isAndroid;
520
+
521
+});
522
+
523
+ace.define("ace/lib/dom",["require","exports","module","ace/lib/useragent"], function(require, exports, module){"use strict";
524
+var useragent = require("./useragent");
525
+var XHTML_NS = "http://www.w3.org/1999/xhtml";
526
+exports.buildDom = function buildDom(arr, parent, refs) {
527
+ if (typeof arr == "string" && arr) {
528
+ var txt = document.createTextNode(arr);
529
+ if (parent)
530
+ parent.appendChild(txt);
531
+ return txt;
532
+ }
533
+ if (!Array.isArray(arr)) {
534
+ if (arr && arr.appendChild && parent)
535
+ parent.appendChild(arr);
536
+ return arr;
537
+ }
538
+ if (typeof arr[0] != "string" || !arr[0]) {
539
+ var els = [];
540
+ for (var i = 0; i < arr.length; i++) {
541
+ var ch = buildDom(arr[i], parent, refs);
542
+ ch && els.push(ch);
543
+ }
544
+ return els;
545
+ }
546
+ var el = document.createElement(arr[0]);
547
+ var options = arr[1];
548
+ var childIndex = 1;
549
+ if (options && typeof options == "object" && !Array.isArray(options))
550
+ childIndex = 2;
551
+ for (var i = childIndex; i < arr.length; i++)
552
+ buildDom(arr[i], el, refs);
553
+ if (childIndex == 2) {
554
+ Object.keys(options).forEach(function (n) {
555
+ var val = options[n];
556
+ if (n === "class") {
557
+ el.className = Array.isArray(val) ? val.join(" ") : val;
558
+ }
559
+ else if (typeof val == "function" || n == "value" || n[0] == "$") {
560
+ el[n] = val;
561
+ }
562
+ else if (n === "ref") {
563
+ if (refs)
564
+ refs[val] = el;
565
+ }
566
+ else if (n === "style") {
567
+ if (typeof val == "string")
568
+ el.style.cssText = val;
569
+ }
570
+ else if (val != null) {
571
+ el.setAttribute(n, val);
572
+ }
573
+ });
574
+ }
575
+ if (parent)
576
+ parent.appendChild(el);
577
+ return el;
578
+};
579
+exports.getDocumentHead = function (doc) {
580
+ if (!doc)
581
+ doc = document;
582
+ return doc.head || doc.getElementsByTagName("head")[0] || doc.documentElement;
583
+};
584
+exports.createElement = function (tag, ns) {
585
+ return document.createElementNS ?
586
+ document.createElementNS(ns || XHTML_NS, tag) :
587
+ document.createElement(tag);
588
+};
589
+exports.removeChildren = function (element) {
590
+ element.innerHTML = "";
591
+};
592
+exports.createTextNode = function (textContent, element) {
593
+ var doc = element ? element.ownerDocument : document;
594
+ return doc.createTextNode(textContent);
595
+};
596
+exports.createFragment = function (element) {
597
+ var doc = element ? element.ownerDocument : document;
598
+ return doc.createDocumentFragment();
599
+};
600
+exports.hasCssClass = function (el, name) {
601
+ var classes = (el.className + "").split(/\s+/g);
602
+ return classes.indexOf(name) !== -1;
603
+};
604
+exports.addCssClass = function (el, name) {
605
+ if (!exports.hasCssClass(el, name)) {
606
+ el.className += " " + name;
607
+ }
608
+};
609
+exports.removeCssClass = function (el, name) {
610
+ var classes = el.className.split(/\s+/g);
611
+ while (true) {
612
+ var index = classes.indexOf(name);
613
+ if (index == -1) {
614
+ break;
615
+ }
616
+ classes.splice(index, 1);
617
+ }
618
+ el.className = classes.join(" ");
619
+};
620
+exports.toggleCssClass = function (el, name) {
621
+ var classes = el.className.split(/\s+/g), add = true;
622
+ while (true) {
623
+ var index = classes.indexOf(name);
624
+ if (index == -1) {
625
+ break;
626
+ }
627
+ add = false;
628
+ classes.splice(index, 1);
629
+ }
630
+ if (add)
631
+ classes.push(name);
632
+ el.className = classes.join(" ");
633
+ return add;
634
+};
635
+exports.setCssClass = function (node, className, include) {
636
+ if (include) {
637
+ exports.addCssClass(node, className);
638
+ }
639
+ else {
640
+ exports.removeCssClass(node, className);
641
+ }
642
+};
643
+exports.hasCssString = function (id, doc) {
644
+ var index = 0, sheets;
645
+ doc = doc || document;
646
+ if ((sheets = doc.querySelectorAll("style"))) {
647
+ while (index < sheets.length) {
648
+ if (sheets[index++].id === id) {
649
+ return true;
650
+ }
651
+ }
652
+ }
653
+};
654
+exports.removeElementById = function (id, doc) {
655
+ doc = doc || document;
656
+ if (doc.getElementById(id)) {
657
+ doc.getElementById(id).remove();
658
+ }
659
+};
660
+var strictCSP;
661
+var cssCache = [];
662
+exports.useStrictCSP = function (value) {
663
+ strictCSP = value;
664
+ if (value == false)
665
+ insertPendingStyles();
666
+ else if (!cssCache)
667
+ cssCache = [];
668
+};
669
+function insertPendingStyles() {
670
+ var cache = cssCache;
671
+ cssCache = null;
672
+ cache && cache.forEach(function (item) {
673
+ importCssString(item[0], item[1]);
674
+ });
675
+}
676
+function importCssString(cssText, id, target) {
677
+ if (typeof document == "undefined")
678
+ return;
679
+ if (cssCache) {
680
+ if (target) {
681
+ insertPendingStyles();
682
+ }
683
+ else if (target === false) {
684
+ return cssCache.push([cssText, id]);
685
+ }
686
+ }
687
+ if (strictCSP)
688
+ return;
689
+ var container = target;
690
+ if (!target || !target.getRootNode) {
691
+ container = document;
692
+ }
693
+ else {
694
+ container = target.getRootNode();
695
+ if (!container || container == target)
696
+ container = document;
697
+ }
698
+ var doc = container.ownerDocument || container;
699
+ if (id && exports.hasCssString(id, container))
700
+ return null;
701
+ if (id)
702
+ cssText += "\n/*# sourceURL=ace/css/" + id + " */";
703
+ var style = exports.createElement("style");
704
+ style.appendChild(doc.createTextNode(cssText));
705
+ if (id)
706
+ style.id = id;
707
+ if (container == doc)
708
+ container = exports.getDocumentHead(doc);
709
+ container.insertBefore(style, container.firstChild);
710
+}
711
+exports.importCssString = importCssString;
712
+exports.importCssStylsheet = function (uri, doc) {
713
+ exports.buildDom(["link", { rel: "stylesheet", href: uri }], exports.getDocumentHead(doc));
714
+};
715
+exports.scrollbarWidth = function (doc) {
716
+ var inner = exports.createElement("ace_inner");
717
+ inner.style.width = "100%";
718
+ inner.style.minWidth = "0px";
719
+ inner.style.height = "200px";
720
+ inner.style.display = "block";
721
+ var outer = exports.createElement("ace_outer");
722
+ var style = outer.style;
723
+ style.position = "absolute";
724
+ style.left = "-10000px";
725
+ style.overflow = "hidden";
726
+ style.width = "200px";
727
+ style.minWidth = "0px";
728
+ style.height = "150px";
729
+ style.display = "block";
730
+ outer.appendChild(inner);
731
+ var body = (doc && doc.documentElement) || (document && document.documentElement);
732
+ if (!body)
733
+ return 0;
734
+ body.appendChild(outer);
735
+ var noScrollbar = inner.offsetWidth;
736
+ style.overflow = "scroll";
737
+ var withScrollbar = inner.offsetWidth;
738
+ if (noScrollbar === withScrollbar) {
739
+ withScrollbar = outer.clientWidth;
740
+ }
741
+ body.removeChild(outer);
742
+ return noScrollbar - withScrollbar;
743
+};
744
+exports.computedStyle = function (element, style) {
745
+ return window.getComputedStyle(element, "") || {};
746
+};
747
+exports.setStyle = function (styles, property, value) {
748
+ if (styles[property] !== value) {
749
+ styles[property] = value;
750
+ }
751
+};
752
+exports.HAS_CSS_ANIMATION = false;
753
+exports.HAS_CSS_TRANSFORMS = false;
754
+exports.HI_DPI = useragent.isWin
755
+ ? typeof window !== "undefined" && window.devicePixelRatio >= 1.5
756
+ : true;
757
+if (useragent.isChromeOS)
758
+ exports.HI_DPI = false;
759
+if (typeof document !== "undefined") {
760
+ var div = document.createElement("div");
761
+ if (exports.HI_DPI && div.style.transform !== undefined)
762
+ exports.HAS_CSS_TRANSFORMS = true;
763
+ if (!useragent.isEdge && typeof div.style.animationName !== "undefined")
764
+ exports.HAS_CSS_ANIMATION = true;
765
+ div = null;
766
+}
767
+if (exports.HAS_CSS_TRANSFORMS) {
768
+ exports.translate = function (element, tx, ty) {
769
+ element.style.transform = "translate(" + Math.round(tx) + "px, " + Math.round(ty) + "px)";
770
+ };
771
+}
772
+else {
773
+ exports.translate = function (element, tx, ty) {
774
+ element.style.top = Math.round(ty) + "px";
775
+ element.style.left = Math.round(tx) + "px";
776
+ };
777
+}
778
+
779
+});
780
+
781
+ace.define("ace/lib/net",["require","exports","module","ace/lib/dom"], function(require, exports, module){/*
782
+ * based on code from:
783
+ *
784
+ * @license RequireJS text 0.25.0 Copyright (c) 2010-2011, The Dojo Foundation All Rights Reserved.
785
+ * Available via the MIT or new BSD license.
786
+ * see: http://github.com/jrburke/requirejs for details
787
+ */
788
+"use strict";
789
+var dom = require("./dom");
790
+exports.get = function (url, callback) {
791
+ var xhr = new XMLHttpRequest();
792
+ xhr.open('GET', url, true);
793
+ xhr.onreadystatechange = function () {
794
+ if (xhr.readyState === 4) {
795
+ callback(xhr.responseText);
796
+ }
797
+ };
798
+ xhr.send(null);
799
+};
800
+exports.loadScript = function (path, callback) {
801
+ var head = dom.getDocumentHead();
802
+ var s = document.createElement('script');
803
+ s.src = path;
804
+ head.appendChild(s);
805
+ s.onload = s.onreadystatechange = function (_, isAbort) {
806
+ if (isAbort || !s.readyState || s.readyState == "loaded" || s.readyState == "complete") {
807
+ s = s.onload = s.onreadystatechange = null;
808
+ if (!isAbort)
809
+ callback();
810
+ }
811
+ };
812
+};
813
+exports.qualifyURL = function (url) {
814
+ var a = document.createElement('a');
815
+ a.href = url;
816
+ return a.href;
817
+};
818
+
819
+});
820
+
821
+ace.define("ace/lib/oop",["require","exports","module"], function(require, exports, module){"use strict";
822
+exports.inherits = function (ctor, superCtor) {
823
+ ctor.super_ = superCtor;
824
+ ctor.prototype = Object.create(superCtor.prototype, {
825
+ constructor: {
826
+ value: ctor,
827
+ enumerable: false,
828
+ writable: true,
829
+ configurable: true
830
+ }
831
+ });
832
+};
833
+exports.mixin = function (obj, mixin) {
834
+ for (var key in mixin) {
835
+ obj[key] = mixin[key];
836
+ }
837
+ return obj;
838
+};
839
+exports.implement = function (proto, mixin) {
840
+ exports.mixin(proto, mixin);
841
+};
842
+
843
+});
844
+
845
+ace.define("ace/lib/event_emitter",["require","exports","module"], function(require, exports, module){"use strict";
846
+var EventEmitter = {};
847
+var stopPropagation = function () { this.propagationStopped = true; };
848
+var preventDefault = function () { this.defaultPrevented = true; };
849
+EventEmitter._emit =
850
+ EventEmitter._dispatchEvent = function (eventName, e) {
851
+ this._eventRegistry || (this._eventRegistry = {});
852
+ this._defaultHandlers || (this._defaultHandlers = {});
853
+ var listeners = this._eventRegistry[eventName] || [];
854
+ var defaultHandler = this._defaultHandlers[eventName];
855
+ if (!listeners.length && !defaultHandler)
856
+ return;
857
+ if (typeof e != "object" || !e)
858
+ e = {};
859
+ if (!e.type)
860
+ e.type = eventName;
861
+ if (!e.stopPropagation)
862
+ e.stopPropagation = stopPropagation;
863
+ if (!e.preventDefault)
864
+ e.preventDefault = preventDefault;
865
+ listeners = listeners.slice();
866
+ for (var i = 0; i < listeners.length; i++) {
867
+ listeners[i](e, this);
868
+ if (e.propagationStopped)
869
+ break;
870
+ }
871
+ if (defaultHandler && !e.defaultPrevented)
872
+ return defaultHandler(e, this);
873
+ };
874
+EventEmitter._signal = function (eventName, e) {
875
+ var listeners = (this._eventRegistry || {})[eventName];
876
+ if (!listeners)
877
+ return;
878
+ listeners = listeners.slice();
879
+ for (var i = 0; i < listeners.length; i++)
880
+ listeners[i](e, this);
881
+};
882
+EventEmitter.once = function (eventName, callback) {
883
+ var _self = this;
884
+ this.on(eventName, function newCallback() {
885
+ _self.off(eventName, newCallback);
886
+ callback.apply(null, arguments);
887
+ });
888
+ if (!callback) {
889
+ return new Promise(function (resolve) {
890
+ callback = resolve;
891
+ });
892
+ }
893
+};
894
+EventEmitter.setDefaultHandler = function (eventName, callback) {
895
+ var handlers = this._defaultHandlers;
896
+ if (!handlers)
897
+ handlers = this._defaultHandlers = { _disabled_: {} };
898
+ if (handlers[eventName]) {
899
+ var old = handlers[eventName];
900
+ var disabled = handlers._disabled_[eventName];
901
+ if (!disabled)
902
+ handlers._disabled_[eventName] = disabled = [];
903
+ disabled.push(old);
904
+ var i = disabled.indexOf(callback);
905
+ if (i != -1)
906
+ disabled.splice(i, 1);
907
+ }
908
+ handlers[eventName] = callback;
909
+};
910
+EventEmitter.removeDefaultHandler = function (eventName, callback) {
911
+ var handlers = this._defaultHandlers;
912
+ if (!handlers)
913
+ return;
914
+ var disabled = handlers._disabled_[eventName];
915
+ if (handlers[eventName] == callback) {
916
+ if (disabled)
917
+ this.setDefaultHandler(eventName, disabled.pop());
918
+ }
919
+ else if (disabled) {
920
+ var i = disabled.indexOf(callback);
921
+ if (i != -1)
922
+ disabled.splice(i, 1);
923
+ }
924
+};
925
+EventEmitter.on =
926
+ EventEmitter.addEventListener = function (eventName, callback, capturing) {
927
+ this._eventRegistry = this._eventRegistry || {};
928
+ var listeners = this._eventRegistry[eventName];
929
+ if (!listeners)
930
+ listeners = this._eventRegistry[eventName] = [];
931
+ if (listeners.indexOf(callback) == -1)
932
+ listeners[capturing ? "unshift" : "push"](callback);
933
+ return callback;
934
+ };
935
+EventEmitter.off =
936
+ EventEmitter.removeListener =
937
+ EventEmitter.removeEventListener = function (eventName, callback) {
938
+ this._eventRegistry = this._eventRegistry || {};
939
+ var listeners = this._eventRegistry[eventName];
940
+ if (!listeners)
941
+ return;
942
+ var index = listeners.indexOf(callback);
943
+ if (index !== -1)
944
+ listeners.splice(index, 1);
945
+ };
946
+EventEmitter.removeAllListeners = function (eventName) {
947
+ if (!eventName)
948
+ this._eventRegistry = this._defaultHandlers = undefined;
949
+ if (this._eventRegistry)
950
+ this._eventRegistry[eventName] = undefined;
951
+ if (this._defaultHandlers)
952
+ this._defaultHandlers[eventName] = undefined;
953
+};
954
+exports.EventEmitter = EventEmitter;
955
+
956
+});
957
+
958
+ace.define("ace/lib/report_error",["require","exports","module"], function(require, exports, module){exports.reportError = function reportError(msg, data) {
959
+ var e = new Error(msg);
960
+ e["data"] = data;
961
+ if (typeof console == "object" && console.error)
962
+ console.error(e);
963
+ setTimeout(function () { throw e; });
964
+};
965
+
966
+});
967
+
968
+ace.define("ace/lib/default_english_messages",["require","exports","module"], function(require, exports, module){var defaultEnglishMessages = {
969
+ "autocomplete.popup.aria-roledescription": "Autocomplete suggestions",
970
+ "autocomplete.popup.aria-label": "Autocomplete suggestions",
971
+ "autocomplete.popup.item.aria-roledescription": "item",
972
+ "autocomplete.loading": "Loading...",
973
+ "editor.scroller.aria-roledescription": "editor",
974
+ "editor.scroller.aria-label": "Editor content, press Enter to start editing, press Escape to exit",
975
+ "editor.gutter.aria-roledescription": "editor",
976
+ "editor.gutter.aria-label": "Editor gutter, press Enter to interact with controls using arrow keys, press Escape to exit",
977
+ "error-marker.good-state": "Looks good!",
978
+ "prompt.recently-used": "Recently used",
979
+ "prompt.other-commands": "Other commands",
980
+ "prompt.no-matching-commands": "No matching commands",
981
+ "search-box.find.placeholder": "Search for",
982
+ "search-box.find-all.text": "All",
983
+ "search-box.replace.placeholder": "Replace with",
984
+ "search-box.replace-next.text": "Replace",
985
+ "search-box.replace-all.text": "All",
986
+ "search-box.toggle-replace.title": "Toggle Replace mode",
987
+ "search-box.toggle-regexp.title": "RegExp Search",
988
+ "search-box.toggle-case.title": "CaseSensitive Search",
989
+ "search-box.toggle-whole-word.title": "Whole Word Search",
990
+ "search-box.toggle-in-selection.title": "Search In Selection",
991
+ "search-box.search-counter": "$0 of $1",
992
+ "text-input.aria-roledescription": "editor",
993
+ "text-input.aria-label": "Cursor at row $0",
994
+ "gutter.code-folding.range.aria-label": "Toggle code folding, rows $0 through $1",
995
+ "gutter.code-folding.closed.aria-label": "Toggle code folding, rows $0 through $1",
996
+ "gutter.code-folding.open.aria-label": "Toggle code folding, row $0",
997
+ "gutter.code-folding.closed.title": "Unfold code",
998
+ "gutter.code-folding.open.title": "Fold code",
999
+ "gutter.annotation.aria-label.error": "Error, read annotations row $0",
1000
+ "gutter.annotation.aria-label.warning": "Warning, read annotations row $0",
1001
+ "gutter.annotation.aria-label.info": "Info, read annotations row $0",
1002
+ "inline-fold.closed.title": "Unfold code",
1003
+ "gutter-tooltip.aria-label.error.singular": "error",
1004
+ "gutter-tooltip.aria-label.error.plural": "errors",
1005
+ "gutter-tooltip.aria-label.warning.singular": "warning",
1006
+ "gutter-tooltip.aria-label.warning.plural": "warnings",
1007
+ "gutter-tooltip.aria-label.info.singular": "information message",
1008
+ "gutter-tooltip.aria-label.info.plural": "information messages",
1009
+ "gutter.annotation.aria-label.security": "Security finding, read annotations row $0",
1010
+ "gutter.annotation.aria-label.hint": "Suggestion, read annotations row $0",
1011
+ "gutter-tooltip.aria-label.security.singular": "security finding",
1012
+ "gutter-tooltip.aria-label.security.plural": "security findings",
1013
+ "gutter-tooltip.aria-label.hint.singular": "suggestion",
1014
+ "gutter-tooltip.aria-label.hint.plural": "suggestions"
1015
+};
1016
+exports.defaultEnglishMessages = defaultEnglishMessages;
1017
+
1018
+});
1019
+
1020
+ace.define("ace/lib/app_config",["require","exports","module","ace/lib/oop","ace/lib/event_emitter","ace/lib/report_error","ace/lib/default_english_messages"], function(require, exports, module){"no use strict";
1021
+var oop = require("./oop");
1022
+var EventEmitter = require("./event_emitter").EventEmitter;
1023
+var reportError = require("./report_error").reportError;
1024
+var defaultEnglishMessages = require("./default_english_messages").defaultEnglishMessages;
1025
+var optionsProvider = {
1026
+ setOptions: function (optList) {
1027
+ Object.keys(optList).forEach(function (key) {
1028
+ this.setOption(key, optList[key]);
1029
+ }, this);
1030
+ },
1031
+ getOptions: function (optionNames) {
1032
+ var result = {};
1033
+ if (!optionNames) {
1034
+ var options = this.$options;
1035
+ optionNames = Object.keys(options).filter(function (key) {
1036
+ return !options[key].hidden;
1037
+ });
1038
+ }
1039
+ else if (!Array.isArray(optionNames)) {
1040
+ result = optionNames;
1041
+ optionNames = Object.keys(result);
1042
+ }
1043
+ optionNames.forEach(function (key) {
1044
+ result[key] = this.getOption(key);
1045
+ }, this);
1046
+ return result;
1047
+ },
1048
+ setOption: function (name, value) {
1049
+ if (this["$" + name] === value)
1050
+ return;
1051
+ var opt = this.$options[name];
1052
+ if (!opt) {
1053
+ return warn('misspelled option "' + name + '"');
1054
+ }
1055
+ if (opt.forwardTo)
1056
+ return this[opt.forwardTo] && this[opt.forwardTo].setOption(name, value);
1057
+ if (!opt.handlesSet)
1058
+ this["$" + name] = value;
1059
+ if (opt && opt.set)
1060
+ opt.set.call(this, value);
1061
+ },
1062
+ getOption: function (name) {
1063
+ var opt = this.$options[name];
1064
+ if (!opt) {
1065
+ return warn('misspelled option "' + name + '"');
1066
+ }
1067
+ if (opt.forwardTo)
1068
+ return this[opt.forwardTo] && this[opt.forwardTo].getOption(name);
1069
+ return opt && opt.get ? opt.get.call(this) : this["$" + name];
1070
+ }
1071
+};
1072
+function warn(message) {
1073
+ if (typeof console != "undefined" && console.warn)
1074
+ console.warn.apply(console, arguments);
1075
+}
1076
+var messages;
1077
+var nlsPlaceholders;
1078
+var AppConfig = /** @class */ (function () {
1079
+ function AppConfig() {
1080
+ this.$defaultOptions = {};
1081
+ messages = defaultEnglishMessages;
1082
+ nlsPlaceholders = "dollarSigns";
1083
+ }
1084
+ AppConfig.prototype.defineOptions = function (obj, path, options) {
1085
+ if (!obj.$options)
1086
+ this.$defaultOptions[path] = obj.$options = {};
1087
+ Object.keys(options).forEach(function (key) {
1088
+ var opt = options[key];
1089
+ if (typeof opt == "string")
1090
+ opt = { forwardTo: opt };
1091
+ opt.name || (opt.name = key);
1092
+ obj.$options[opt.name] = opt;
1093
+ if ("initialValue" in opt)
1094
+ obj["$" + opt.name] = opt.initialValue;
1095
+ });
1096
+ oop.implement(obj, optionsProvider);
1097
+ return this;
1098
+ };
1099
+ AppConfig.prototype.resetOptions = function (obj) {
1100
+ Object.keys(obj.$options).forEach(function (key) {
1101
+ var opt = obj.$options[key];
1102
+ if ("value" in opt)
1103
+ obj.setOption(key, opt.value);
1104
+ });
1105
+ };
1106
+ AppConfig.prototype.setDefaultValue = function (path, name, value) {
1107
+ if (!path) {
1108
+ for (path in this.$defaultOptions)
1109
+ if (this.$defaultOptions[path][name])
1110
+ break;
1111
+ if (!this.$defaultOptions[path][name])
1112
+ return false;
1113
+ }
1114
+ var opts = this.$defaultOptions[path] || (this.$defaultOptions[path] = {});
1115
+ if (opts[name]) {
1116
+ if (opts.forwardTo)
1117
+ this.setDefaultValue(opts.forwardTo, name, value);
1118
+ else
1119
+ opts[name].value = value;
1120
+ }
1121
+ };
1122
+ AppConfig.prototype.setDefaultValues = function (path, optionHash) {
1123
+ Object.keys(optionHash).forEach(function (key) {
1124
+ this.setDefaultValue(path, key, optionHash[key]);
1125
+ }, this);
1126
+ };
1127
+ AppConfig.prototype.setMessages = function (value, options) {
1128
+ messages = value;
1129
+ if (options && options.placeholders) {
1130
+ nlsPlaceholders = options.placeholders;
1131
+ }
1132
+ };
1133
+ AppConfig.prototype.nls = function (key, defaultString, params) {
1134
+ if (!messages[key]) {
1135
+ warn("No message found for the key '" + key + "' in the provided messages, trying to find a translation for the default string '" + defaultString + "'.");
1136
+ if (!messages[defaultString]) {
1137
+ warn("No message found for the default string '" + defaultString + "' in the provided messages. Falling back to the default English message.");
1138
+ }
1139
+ }
1140
+ var translated = messages[key] || messages[defaultString] || defaultString;
1141
+ if (params) {
1142
+ if (nlsPlaceholders === "dollarSigns") {
1143
+ translated = translated.replace(/\$(\$|[\d]+)/g, function (_, dollarMatch) {
1144
+ if (dollarMatch == "$")
1145
+ return "$";
1146
+ return params[dollarMatch];
1147
+ });
1148
+ }
1149
+ if (nlsPlaceholders === "curlyBrackets") {
1150
+ translated = translated.replace(/\{([^\}]+)\}/g, function (_, curlyBracketMatch) {
1151
+ return params[curlyBracketMatch];
1152
+ });
1153
+ }
1154
+ }
1155
+ return translated;
1156
+ };
1157
+ return AppConfig;
1158
+}());
1159
+AppConfig.prototype.warn = warn;
1160
+AppConfig.prototype.reportError = reportError;
1161
+oop.implement(AppConfig.prototype, EventEmitter);
1162
+exports.AppConfig = AppConfig;
1163
+
1164
+});
1165
+
1166
+ace.define("ace/theme/textmate-css",["require","exports","module"], function(require, exports, module){module.exports = ".ace-tm .ace_gutter {\n background: #f0f0f0;\n color: #333;\n}\n\n.ace-tm .ace_print-margin {\n width: 1px;\n background: #e8e8e8;\n}\n\n.ace-tm .ace_fold {\n background-color: #6B72E6;\n}\n\n.ace-tm {\n background-color: #FFFFFF;\n color: black;\n}\n\n.ace-tm .ace_cursor {\n color: black;\n}\n \n.ace-tm .ace_invisible {\n color: rgb(191, 191, 191);\n}\n\n.ace-tm .ace_storage,\n.ace-tm .ace_keyword {\n color: blue;\n}\n\n.ace-tm .ace_constant {\n color: rgb(197, 6, 11);\n}\n\n.ace-tm .ace_constant.ace_buildin {\n color: rgb(88, 72, 246);\n}\n\n.ace-tm .ace_constant.ace_language {\n color: rgb(88, 92, 246);\n}\n\n.ace-tm .ace_constant.ace_library {\n color: rgb(6, 150, 14);\n}\n\n.ace-tm .ace_invalid {\n background-color: rgba(255, 0, 0, 0.1);\n color: red;\n}\n\n.ace-tm .ace_support.ace_function {\n color: rgb(60, 76, 114);\n}\n\n.ace-tm .ace_support.ace_constant {\n color: rgb(6, 150, 14);\n}\n\n.ace-tm .ace_support.ace_type,\n.ace-tm .ace_support.ace_class {\n color: rgb(109, 121, 222);\n}\n\n.ace-tm .ace_keyword.ace_operator {\n color: rgb(104, 118, 135);\n}\n\n.ace-tm .ace_string {\n color: rgb(3, 106, 7);\n}\n\n.ace-tm .ace_comment {\n color: rgb(76, 136, 107);\n}\n\n.ace-tm .ace_comment.ace_doc {\n color: rgb(0, 102, 255);\n}\n\n.ace-tm .ace_comment.ace_doc.ace_tag {\n color: rgb(128, 159, 191);\n}\n\n.ace-tm .ace_constant.ace_numeric {\n color: rgb(0, 0, 205);\n}\n\n.ace-tm .ace_variable {\n color: rgb(49, 132, 149);\n}\n\n.ace-tm .ace_xml-pe {\n color: rgb(104, 104, 91);\n}\n\n.ace-tm .ace_entity.ace_name.ace_function {\n color: #0000A2;\n}\n\n\n.ace-tm .ace_heading {\n color: rgb(12, 7, 255);\n}\n\n.ace-tm .ace_list {\n color:rgb(185, 6, 144);\n}\n\n.ace-tm .ace_meta.ace_tag {\n color:rgb(0, 22, 142);\n}\n\n.ace-tm .ace_string.ace_regex {\n color: rgb(255, 0, 0)\n}\n\n.ace-tm .ace_marker-layer .ace_selection {\n background: rgb(181, 213, 255);\n}\n.ace-tm.ace_multiselect .ace_selection.ace_start {\n box-shadow: 0 0 3px 0px white;\n}\n.ace-tm .ace_marker-layer .ace_step {\n background: rgb(252, 255, 0);\n}\n\n.ace-tm .ace_marker-layer .ace_stack {\n background: rgb(164, 229, 101);\n}\n\n.ace-tm .ace_marker-layer .ace_bracket {\n margin: -1px 0 0 -1px;\n border: 1px solid rgb(192, 192, 192);\n}\n\n.ace-tm .ace_marker-layer .ace_active-line {\n background: rgba(0, 0, 0, 0.07);\n}\n\n.ace-tm .ace_gutter-active-line {\n background-color : #dcdcdc;\n}\n\n.ace-tm .ace_marker-layer .ace_selected-word {\n background: rgb(250, 250, 255);\n border: 1px solid rgb(200, 200, 250);\n}\n\n.ace-tm .ace_indent-guide {\n background: url(\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAE0lEQVQImWP4////f4bLly//BwAmVgd1/w11/gAAAABJRU5ErkJggg==\") right repeat-y;\n}\n\n.ace-tm .ace_indent-guide-active {\n background: url(\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAIGNIUk0AAHolAACAgwAA+f8AAIDpAAB1MAAA6mAAADqYAAAXb5JfxUYAAAAZSURBVHjaYvj///9/hivKyv8BAAAA//8DACLqBhbvk+/eAAAAAElFTkSuQmCC\") right repeat-y;\n}\n";
1167
+
1168
+});
1169
+
1170
+ace.define("ace/theme/textmate",["require","exports","module","ace/theme/textmate-css","ace/lib/dom"], function(require, exports, module){"use strict";
1171
+exports.isDark = false;
1172
+exports.cssClass = "ace-tm";
1173
+exports.cssText = require("./textmate-css");
1174
+exports.$id = "ace/theme/textmate";
1175
+var dom = require("../lib/dom");
1176
+dom.importCssString(exports.cssText, exports.cssClass, false);
1177
+
1178
+});
1179
+
1180
+ace.define("ace/config",["require","exports","module","ace/lib/lang","ace/lib/net","ace/lib/dom","ace/lib/app_config","ace/theme/textmate"], function(require, exports, module){"no use strict";
1181
+var lang = require("./lib/lang");
1182
+var net = require("./lib/net");
1183
+var dom = require("./lib/dom");
1184
+var AppConfig = require("./lib/app_config").AppConfig;
1185
+module.exports = exports = new AppConfig();
1186
+var options = {
1187
+ packaged: false,
1188
+ workerPath: null,
1189
+ modePath: null,
1190
+ themePath: null,
1191
+ basePath: "",
1192
+ suffix: ".js",
1193
+ $moduleUrls: {},
1194
+ loadWorkerFromBlob: true,
1195
+ sharedPopups: false,
1196
+ useStrictCSP: null
1197
+};
1198
+exports.get = function (key) {
1199
+ if (!options.hasOwnProperty(key))
1200
+ throw new Error("Unknown config key: " + key);
1201
+ return options[key];
1202
+};
1203
+exports.set = function (key, value) {
1204
+ if (options.hasOwnProperty(key))
1205
+ options[key] = value;
1206
+ else if (this.setDefaultValue("", key, value) == false)
1207
+ throw new Error("Unknown config key: " + key);
1208
+ if (key == "useStrictCSP")
1209
+ dom.useStrictCSP(value);
1210
+};
1211
+exports.all = function () {
1212
+ return lang.copyObject(options);
1213
+};
1214
+exports.$modes = {};
1215
+exports.moduleUrl = function (name, component) {
1216
+ if (options.$moduleUrls[name])
1217
+ return options.$moduleUrls[name];
1218
+ var parts = name.split("/");
1219
+ component = component || parts[parts.length - 2] || "";
1220
+ var sep = component == "snippets" ? "/" : "-";
1221
+ var base = parts[parts.length - 1];
1222
+ if (component == "worker" && sep == "-") {
1223
+ var re = new RegExp("^" + component + "[\\-_]|[\\-_]" + component + "$", "g");
1224
+ base = base.replace(re, "");
1225
+ }
1226
+ if ((!base || base == component) && parts.length > 1)
1227
+ base = parts[parts.length - 2];
1228
+ var path = options[component + "Path"];
1229
+ if (path == null) {
1230
+ path = options.basePath;
1231
+ }
1232
+ else if (sep == "/") {
1233
+ component = sep = "";
1234
+ }
1235
+ if (path && path.slice(-1) != "/")
1236
+ path += "/";
1237
+ return path + component + sep + base + this.get("suffix");
1238
+};
1239
+exports.setModuleUrl = function (name, subst) {
1240
+ return options.$moduleUrls[name] = subst;
1241
+};
1242
+var loader = function (moduleName, cb) {
1243
+ if (moduleName === "ace/theme/textmate" || moduleName === "./theme/textmate")
1244
+ return cb(null, require("./theme/textmate"));
1245
+ if (customLoader)
1246
+ return customLoader(moduleName, cb);
1247
+ console.error("loader is not configured");
1248
+};
1249
+var customLoader;
1250
+exports.setLoader = function (cb) {
1251
+ customLoader = cb;
1252
+};
1253
+exports.dynamicModules = Object.create(null);
1254
+exports.$loading = {};
1255
+exports.$loaded = {};
1256
+exports.loadModule = function (moduleId, onLoad) {
1257
+ var loadedModule;
1258
+ if (Array.isArray(moduleId)) {
1259
+ var moduleType = moduleId[0];
1260
+ var moduleName = moduleId[1];
1261
+ }
1262
+ else if (typeof moduleId == "string") {
1263
+ var moduleName = moduleId;
1264
+ }
1265
+ var load = function (module) {
1266
+ if (module && !exports.$loading[moduleName])
1267
+ return onLoad && onLoad(module);
1268
+ if (!exports.$loading[moduleName])
1269
+ exports.$loading[moduleName] = [];
1270
+ exports.$loading[moduleName].push(onLoad);
1271
+ if (exports.$loading[moduleName].length > 1)
1272
+ return;
1273
+ var afterLoad = function () {
1274
+ loader(moduleName, function (err, module) {
1275
+ if (module)
1276
+ exports.$loaded[moduleName] = module;
1277
+ exports._emit("load.module", { name: moduleName, module: module });
1278
+ var listeners = exports.$loading[moduleName];
1279
+ exports.$loading[moduleName] = null;
1280
+ listeners.forEach(function (onLoad) {
1281
+ onLoad && onLoad(module);
1282
+ });
1283
+ });
1284
+ };
1285
+ if (!exports.get("packaged"))
1286
+ return afterLoad();
1287
+ net.loadScript(exports.moduleUrl(moduleName, moduleType), afterLoad);
1288
+ reportErrorIfPathIsNotConfigured();
1289
+ };
1290
+ if (exports.dynamicModules[moduleName]) {
1291
+ exports.dynamicModules[moduleName]().then(function (module) {
1292
+ if (module.default) {
1293
+ load(module.default);
1294
+ }
1295
+ else {
1296
+ load(module);
1297
+ }
1298
+ });
1299
+ }
1300
+ else {
1301
+ try {
1302
+ loadedModule = this.$require(moduleName);
1303
+ }
1304
+ catch (e) { }
1305
+ load(loadedModule || exports.$loaded[moduleName]);
1306
+ }
1307
+};
1308
+exports.$require = function (moduleName) {
1309
+ if (typeof module["require"] == "function") {
1310
+ var req = "require";
1311
+ return module[req](moduleName);
1312
+ }
1313
+};
1314
+exports.setModuleLoader = function (moduleName, onLoad) {
1315
+ exports.dynamicModules[moduleName] = onLoad;
1316
+};
1317
+var reportErrorIfPathIsNotConfigured = function () {
1318
+ if (!options.basePath && !options.workerPath
1319
+ && !options.modePath && !options.themePath
1320
+ && !Object.keys(options.$moduleUrls).length) {
1321
+ console.error("Unable to infer path to ace from script src,", "use ace.config.set('basePath', 'path') to enable dynamic loading of modes and themes", "or with webpack use ace/webpack-resolver");
1322
+ reportErrorIfPathIsNotConfigured = function () { };
1323
+ }
1324
+};
1325
+exports.version = "1.36.5";
1326
+
1327
+});
1328
+
1329
+ace.define("ace/loader_build",["require","exports","module","ace/lib/fixoldbrowsers","ace/config"], function(require, exports, module) {
1330
+"use strict";
1331
+
1332
+require("./lib/fixoldbrowsers");
1333
+var config = require("./config");
1334
+config.setLoader(function(moduleName, cb) {
1335
+ require([moduleName], function(module) {
1336
+ cb(null, module);
1337
+ });
1338
+});
1339
+
1340
+var global = (function() {
1341
+ return this || typeof window != "undefined" && window;
1342
+})();
1343
+
1344
+module.exports = function(ace) {
1345
+ config.init = init;
1346
+ config.$require = require;
1347
+ ace.require = require;
1348
+
1349
+ if (typeof define === "function")
1350
+ ace.define = define;
1351
+};
1352
+init(true);function init(packaged) {
1353
+
1354
+ if (!global || !global.document)
1355
+ return;
1356
+
1357
+ config.set("packaged", packaged || require.packaged || module.packaged || (global.define && define.packaged));
1358
+
1359
+ var scriptOptions = {};
1360
+ var scriptUrl = "";
1361
+ var currentScript = (document.currentScript || document._currentScript ); // native or polyfill
1362
+ var currentDocument = currentScript && currentScript.ownerDocument || document;
1363
+
1364
+ if (currentScript && currentScript.src) {
1365
+ scriptUrl = currentScript.src.split(/[?#]/)[0].split("/").slice(0, -1).join("/") || "";
1366
+ }
1367
+
1368
+ var scripts = currentDocument.getElementsByTagName("script");
1369
+ for (var i=0; i<scripts.length; i++) {
1370
+ var script = scripts[i];
1371
+
1372
+ var src = script.src || script.getAttribute("src");
1373
+ if (!src)
1374
+ continue;
1375
+
1376
+ var attributes = script.attributes;
1377
+ for (var j=0, l=attributes.length; j < l; j++) {
1378
+ var attr = attributes[j];
1379
+ if (attr.name.indexOf("data-ace-") === 0) {
1380
+ scriptOptions[deHyphenate(attr.name.replace(/^data-ace-/, ""))] = attr.value;
1381
+ }
1382
+ }
1383
+
1384
+ var m = src.match(/^(.*)\/ace([\-.]\w+)?\.js(\?|$)/);
1385
+ if (m)
1386
+ scriptUrl = m[1];
1387
+ }
1388
+
1389
+ if (scriptUrl) {
1390
+ scriptOptions.base = scriptOptions.base || scriptUrl;
1391
+ scriptOptions.packaged = true;
1392
+ }
1393
+
1394
+ scriptOptions.basePath = scriptOptions.base;
1395
+ scriptOptions.workerPath = scriptOptions.workerPath || scriptOptions.base;
1396
+ scriptOptions.modePath = scriptOptions.modePath || scriptOptions.base;
1397
+ scriptOptions.themePath = scriptOptions.themePath || scriptOptions.base;
1398
+ delete scriptOptions.base;
1399
+
1400
+ for (var key in scriptOptions)
1401
+ if (typeof scriptOptions[key] !== "undefined")
1402
+ config.set(key, scriptOptions[key]);
1403
+}
1404
+
1405
+function deHyphenate(str) {
1406
+ return str.replace(/-(.)/g, function(m, m1) { return m1.toUpperCase(); });
1407
+}
1408
+});
1409
+
1410
+ace.define("ace/range",["require","exports","module"], function(require, exports, module){"use strict";
1411
+var Range = /** @class */ (function () {
1412
+ function Range(startRow, startColumn, endRow, endColumn) {
1413
+ this.start = {
1414
+ row: startRow,
1415
+ column: startColumn
1416
+ };
1417
+ this.end = {
1418
+ row: endRow,
1419
+ column: endColumn
1420
+ };
1421
+ }
1422
+ Range.prototype.isEqual = function (range) {
1423
+ return this.start.row === range.start.row &&
1424
+ this.end.row === range.end.row &&
1425
+ this.start.column === range.start.column &&
1426
+ this.end.column === range.end.column;
1427
+ };
1428
+ Range.prototype.toString = function () {
1429
+ return ("Range: [" + this.start.row + "/" + this.start.column +
1430
+ "] -> [" + this.end.row + "/" + this.end.column + "]");
1431
+ };
1432
+ Range.prototype.contains = function (row, column) {
1433
+ return this.compare(row, column) == 0;
1434
+ };
1435
+ Range.prototype.compareRange = function (range) {
1436
+ var cmp, end = range.end, start = range.start;
1437
+ cmp = this.compare(end.row, end.column);
1438
+ if (cmp == 1) {
1439
+ cmp = this.compare(start.row, start.column);
1440
+ if (cmp == 1) {
1441
+ return 2;
1442
+ }
1443
+ else if (cmp == 0) {
1444
+ return 1;
1445
+ }
1446
+ else {
1447
+ return 0;
1448
+ }
1449
+ }
1450
+ else if (cmp == -1) {
1451
+ return -2;
1452
+ }
1453
+ else {
1454
+ cmp = this.compare(start.row, start.column);
1455
+ if (cmp == -1) {
1456
+ return -1;
1457
+ }
1458
+ else if (cmp == 1) {
1459
+ return 42;
1460
+ }
1461
+ else {
1462
+ return 0;
1463
+ }
1464
+ }
1465
+ };
1466
+ Range.prototype.comparePoint = function (p) {
1467
+ return this.compare(p.row, p.column);
1468
+ };
1469
+ Range.prototype.containsRange = function (range) {
1470
+ return this.comparePoint(range.start) == 0 && this.comparePoint(range.end) == 0;
1471
+ };
1472
+ Range.prototype.intersects = function (range) {
1473
+ var cmp = this.compareRange(range);
1474
+ return (cmp == -1 || cmp == 0 || cmp == 1);
1475
+ };
1476
+ Range.prototype.isEnd = function (row, column) {
1477
+ return this.end.row == row && this.end.column == column;
1478
+ };
1479
+ Range.prototype.isStart = function (row, column) {
1480
+ return this.start.row == row && this.start.column == column;
1481
+ };
1482
+ Range.prototype.setStart = function (row, column) {
1483
+ if (typeof row == "object") {
1484
+ this.start.column = row.column;
1485
+ this.start.row = row.row;
1486
+ }
1487
+ else {
1488
+ this.start.row = row;
1489
+ this.start.column = column;
1490
+ }
1491
+ };
1492
+ Range.prototype.setEnd = function (row, column) {
1493
+ if (typeof row == "object") {
1494
+ this.end.column = row.column;
1495
+ this.end.row = row.row;
1496
+ }
1497
+ else {
1498
+ this.end.row = row;
1499
+ this.end.column = column;
1500
+ }
1501
+ };
1502
+ Range.prototype.inside = function (row, column) {
1503
+ if (this.compare(row, column) == 0) {
1504
+ if (this.isEnd(row, column) || this.isStart(row, column)) {
1505
+ return false;
1506
+ }
1507
+ else {
1508
+ return true;
1509
+ }
1510
+ }
1511
+ return false;
1512
+ };
1513
+ Range.prototype.insideStart = function (row, column) {
1514
+ if (this.compare(row, column) == 0) {
1515
+ if (this.isEnd(row, column)) {
1516
+ return false;
1517
+ }
1518
+ else {
1519
+ return true;
1520
+ }
1521
+ }
1522
+ return false;
1523
+ };
1524
+ Range.prototype.insideEnd = function (row, column) {
1525
+ if (this.compare(row, column) == 0) {
1526
+ if (this.isStart(row, column)) {
1527
+ return false;
1528
+ }
1529
+ else {
1530
+ return true;
1531
+ }
1532
+ }
1533
+ return false;
1534
+ };
1535
+ Range.prototype.compare = function (row, column) {
1536
+ if (!this.isMultiLine()) {
1537
+ if (row === this.start.row) {
1538
+ return column < this.start.column ? -1 : (column > this.end.column ? 1 : 0);
1539
+ }
1540
+ }
1541
+ if (row < this.start.row)
1542
+ return -1;
1543
+ if (row > this.end.row)
1544
+ return 1;
1545
+ if (this.start.row === row)
1546
+ return column >= this.start.column ? 0 : -1;
1547
+ if (this.end.row === row)
1548
+ return column <= this.end.column ? 0 : 1;
1549
+ return 0;
1550
+ };
1551
+ Range.prototype.compareStart = function (row, column) {
1552
+ if (this.start.row == row && this.start.column == column) {
1553
+ return -1;
1554
+ }
1555
+ else {
1556
+ return this.compare(row, column);
1557
+ }
1558
+ };
1559
+ Range.prototype.compareEnd = function (row, column) {
1560
+ if (this.end.row == row && this.end.column == column) {
1561
+ return 1;
1562
+ }
1563
+ else {
1564
+ return this.compare(row, column);
1565
+ }
1566
+ };
1567
+ Range.prototype.compareInside = function (row, column) {
1568
+ if (this.end.row == row && this.end.column == column) {
1569
+ return 1;
1570
+ }
1571
+ else if (this.start.row == row && this.start.column == column) {
1572
+ return -1;
1573
+ }
1574
+ else {
1575
+ return this.compare(row, column);
1576
+ }
1577
+ };
1578
+ Range.prototype.clipRows = function (firstRow, lastRow) {
1579
+ if (this.end.row > lastRow)
1580
+ var end = { row: lastRow + 1, column: 0 };
1581
+ else if (this.end.row < firstRow)
1582
+ var end = { row: firstRow, column: 0 };
1583
+ if (this.start.row > lastRow)
1584
+ var start = { row: lastRow + 1, column: 0 };
1585
+ else if (this.start.row < firstRow)
1586
+ var start = { row: firstRow, column: 0 };
1587
+ return Range.fromPoints(start || this.start, end || this.end);
1588
+ };
1589
+ Range.prototype.extend = function (row, column) {
1590
+ var cmp = this.compare(row, column);
1591
+ if (cmp == 0)
1592
+ return this;
1593
+ else if (cmp == -1)
1594
+ var start = { row: row, column: column };
1595
+ else
1596
+ var end = { row: row, column: column };
1597
+ return Range.fromPoints(start || this.start, end || this.end);
1598
+ };
1599
+ Range.prototype.isEmpty = function () {
1600
+ return (this.start.row === this.end.row && this.start.column === this.end.column);
1601
+ };
1602
+ Range.prototype.isMultiLine = function () {
1603
+ return (this.start.row !== this.end.row);
1604
+ };
1605
+ Range.prototype.clone = function () {
1606
+ return Range.fromPoints(this.start, this.end);
1607
+ };
1608
+ Range.prototype.collapseRows = function () {
1609
+ if (this.end.column == 0)
1610
+ return new Range(this.start.row, 0, Math.max(this.start.row, this.end.row - 1), 0);
1611
+ else
1612
+ return new Range(this.start.row, 0, this.end.row, 0);
1613
+ };
1614
+ Range.prototype.toScreenRange = function (session) {
1615
+ var screenPosStart = session.documentToScreenPosition(this.start);
1616
+ var screenPosEnd = session.documentToScreenPosition(this.end);
1617
+ return new Range(screenPosStart.row, screenPosStart.column, screenPosEnd.row, screenPosEnd.column);
1618
+ };
1619
+ Range.prototype.moveBy = function (row, column) {
1620
+ this.start.row += row;
1621
+ this.start.column += column;
1622
+ this.end.row += row;
1623
+ this.end.column += column;
1624
+ };
1625
+ return Range;
1626
+}());
1627
+Range.fromPoints = function (start, end) {
1628
+ return new Range(start.row, start.column, end.row, end.column);
1629
+};
1630
+Range.comparePoints = function (p1, p2) {
1631
+ return p1.row - p2.row || p1.column - p2.column;
1632
+};
1633
+exports.Range = Range;
1634
+
1635
+});
1636
+
1637
+ace.define("ace/lib/keys",["require","exports","module","ace/lib/oop"], function(require, exports, module){"use strict";
1638
+var oop = require("./oop");
1639
+var Keys = {
1640
+ MODIFIER_KEYS: {
1641
+ 16: 'Shift', 17: 'Ctrl', 18: 'Alt', 224: 'Meta',
1642
+ 91: 'MetaLeft', 92: 'MetaRight', 93: 'ContextMenu'
1643
+ },
1644
+ KEY_MODS: {
1645
+ "ctrl": 1, "alt": 2, "option": 2, "shift": 4,
1646
+ "super": 8, "meta": 8, "command": 8, "cmd": 8,
1647
+ "control": 1
1648
+ },
1649
+ FUNCTION_KEYS: {
1650
+ 8: "Backspace",
1651
+ 9: "Tab",
1652
+ 13: "Return",
1653
+ 19: "Pause",
1654
+ 27: "Esc",
1655
+ 32: "Space",
1656
+ 33: "PageUp",
1657
+ 34: "PageDown",
1658
+ 35: "End",
1659
+ 36: "Home",
1660
+ 37: "Left",
1661
+ 38: "Up",
1662
+ 39: "Right",
1663
+ 40: "Down",
1664
+ 44: "Print",
1665
+ 45: "Insert",
1666
+ 46: "Delete",
1667
+ '-13': "NumpadEnter",
1668
+ 144: "Numlock",
1669
+ 145: "Scrolllock"
1670
+ },
1671
+ PRINTABLE_KEYS: {
1672
+ 32: ' ', 59: ';', 61: '=', 107: '+', 109: '-', 110: '.',
1673
+ 186: ';', 187: '=', 188: ',', 189: '-', 190: '.', 191: '/', 192: '`',
1674
+ 219: '[', 220: '\\', 221: ']', 222: "'", 111: '/', 106: '*'
1675
+ }
1676
+};
1677
+var codeToKeyCode = {
1678
+ Command: 224,
1679
+ Backspace: 8,
1680
+ Tab: 9,
1681
+ Return: 13,
1682
+ Enter: 13,
1683
+ Pause: 19,
1684
+ Escape: 27,
1685
+ PageUp: 33,
1686
+ PageDown: 34,
1687
+ End: 35,
1688
+ Home: 36,
1689
+ Insert: 45,
1690
+ Delete: 46,
1691
+ ArrowLeft: 37,
1692
+ ArrowUp: 38,
1693
+ ArrowRight: 39,
1694
+ ArrowDown: 40,
1695
+ Backquote: 192,
1696
+ Minus: 189,
1697
+ Equal: 187,
1698
+ BracketLeft: 219,
1699
+ Backslash: 220,
1700
+ BracketRight: 221,
1701
+ Semicolon: 186,
1702
+ Quote: 222,
1703
+ Comma: 188,
1704
+ Period: 190,
1705
+ Slash: 191,
1706
+ Space: 32,
1707
+ NumpadAdd: 107,
1708
+ NumpadDecimal: 110,
1709
+ NumpadSubtract: 109,
1710
+ NumpadDivide: 111,
1711
+ NumpadMultiply: 106
1712
+};
1713
+for (var i = 0; i < 10; i++) {
1714
+ codeToKeyCode["Digit" + i] = 48 + i;
1715
+ codeToKeyCode["Numpad" + i] = 96 + i;
1716
+ Keys.PRINTABLE_KEYS[48 + i] = "" + i;
1717
+ Keys.FUNCTION_KEYS[96 + i] = "Numpad" + i;
1718
+}
1719
+for (var i = 65; i < 91; i++) {
1720
+ var chr = String.fromCharCode(i + 32);
1721
+ codeToKeyCode["Key" + chr.toUpperCase()] = i;
1722
+ Keys.PRINTABLE_KEYS[i] = chr;
1723
+}
1724
+for (var i = 1; i < 13; i++) {
1725
+ codeToKeyCode["F" + i] = 111 + i;
1726
+ Keys.FUNCTION_KEYS[111 + i] = "F" + i;
1727
+}
1728
+var modifiers = {
1729
+ Shift: 16,
1730
+ Control: 17,
1731
+ Alt: 18,
1732
+ Meta: 224
1733
+};
1734
+for (var mod in modifiers) {
1735
+ codeToKeyCode[mod] = codeToKeyCode[mod + "Left"]
1736
+ = codeToKeyCode[mod + "Right"] = modifiers[mod];
1737
+}
1738
+exports.$codeToKeyCode = codeToKeyCode;
1739
+Keys.PRINTABLE_KEYS[173] = '-';
1740
+for (var j in Keys.FUNCTION_KEYS) {
1741
+ var name = Keys.FUNCTION_KEYS[j].toLowerCase();
1742
+ Keys[name] = parseInt(j, 10);
1743
+}
1744
+for (var j in Keys.PRINTABLE_KEYS) {
1745
+ var name = Keys.PRINTABLE_KEYS[j].toLowerCase();
1746
+ Keys[name] = parseInt(j, 10);
1747
+}
1748
+oop.mixin(Keys, Keys.MODIFIER_KEYS);
1749
+oop.mixin(Keys, Keys.PRINTABLE_KEYS);
1750
+oop.mixin(Keys, Keys.FUNCTION_KEYS);
1751
+Keys.enter = Keys["return"];
1752
+Keys.escape = Keys.esc;
1753
+Keys.del = Keys["delete"];
1754
+(function () {
1755
+ var mods = ["cmd", "ctrl", "alt", "shift"];
1756
+ for (var i = Math.pow(2, mods.length); i--;) {
1757
+ Keys.KEY_MODS[i] = mods.filter(function (x) {
1758
+ return i & Keys.KEY_MODS[x];
1759
+ }).join("-") + "-";
1760
+ }
1761
+})();
1762
+Keys.KEY_MODS[0] = "";
1763
+Keys.KEY_MODS[-1] = "input-";
1764
+oop.mixin(exports, Keys);
1765
+exports.default = exports;
1766
+exports.keyCodeToString = function (keyCode) {
1767
+ var keyString = Keys[keyCode];
1768
+ if (typeof keyString != "string")
1769
+ keyString = String.fromCharCode(keyCode);
1770
+ return keyString.toLowerCase();
1771
+};
1772
+
1773
+});
1774
+
1775
+ace.define("ace/lib/event",["require","exports","module","ace/lib/keys","ace/lib/useragent"], function(require, exports, module){"use strict"; var keys = require("./keys");
1776
+var useragent = require("./useragent");
1777
+var pressedKeys = null;
1778
+var ts = 0;
1779
+var activeListenerOptions;
1780
+function detectListenerOptionsSupport() {
1781
+ activeListenerOptions = false;
1782
+ try {
1783
+ document.createComment("").addEventListener("test", function () { }, {
1784
+ get passive() {
1785
+ activeListenerOptions = { passive: false };
1786
+ return true;
1787
+ }
1788
+ });
1789
+ }
1790
+ catch (e) { }
1791
+}
1792
+function getListenerOptions() {
1793
+ if (activeListenerOptions == undefined)
1794
+ detectListenerOptionsSupport();
1795
+ return activeListenerOptions;
1796
+}
1797
+function EventListener(elem, type, callback) {
1798
+ this.elem = elem;
1799
+ this.type = type;
1800
+ this.callback = callback;
1801
+}
1802
+EventListener.prototype.destroy = function () {
1803
+ removeListener(this.elem, this.type, this.callback);
1804
+ this.elem = this.type = this.callback = undefined;
1805
+};
1806
+var addListener = exports.addListener = function (elem, type, callback, /**@type{any?}*/ destroyer) {
1807
+ elem.addEventListener(type, callback, getListenerOptions());
1808
+ if (destroyer)
1809
+ destroyer.$toDestroy.push(new EventListener(elem, type, callback));
1810
+};
1811
+var removeListener = exports.removeListener = function (elem, type, callback) {
1812
+ elem.removeEventListener(type, callback, getListenerOptions());
1813
+};
1814
+exports.stopEvent = function (e) {
1815
+ exports.stopPropagation(e);
1816
+ exports.preventDefault(e);
1817
+ return false;
1818
+};
1819
+exports.stopPropagation = function (e) {
1820
+ if (e.stopPropagation)
1821
+ e.stopPropagation();
1822
+};
1823
+exports.preventDefault = function (e) {
1824
+ if (e.preventDefault)
1825
+ e.preventDefault();
1826
+};
1827
+exports.getButton = function (e) {
1828
+ if (e.type == "dblclick")
1829
+ return 0;
1830
+ if (e.type == "contextmenu" || (useragent.isMac && (e.ctrlKey && !e.altKey && !e.shiftKey)))
1831
+ return 2;
1832
+ return e.button;
1833
+};
1834
+exports.capture = function (el, eventHandler, releaseCaptureHandler) {
1835
+ var ownerDocument = el && el.ownerDocument || document;
1836
+ function onMouseUp(e) {
1837
+ eventHandler && eventHandler(e);
1838
+ releaseCaptureHandler && releaseCaptureHandler(e);
1839
+ removeListener(ownerDocument, "mousemove", eventHandler);
1840
+ removeListener(ownerDocument, "mouseup", onMouseUp);
1841
+ removeListener(ownerDocument, "dragstart", onMouseUp);
1842
+ }
1843
+ addListener(ownerDocument, "mousemove", eventHandler);
1844
+ addListener(ownerDocument, "mouseup", onMouseUp);
1845
+ addListener(ownerDocument, "dragstart", onMouseUp);
1846
+ return onMouseUp;
1847
+};
1848
+exports.addMouseWheelListener = function (el, callback, destroyer) {
1849
+ addListener(el, "wheel", function (e) {
1850
+ var factor = 0.15;
1851
+ var deltaX = e.deltaX || 0;
1852
+ var deltaY = e.deltaY || 0;
1853
+ switch (e.deltaMode) {
1854
+ case e.DOM_DELTA_PIXEL:
1855
+ e.wheelX = deltaX * factor;
1856
+ e.wheelY = deltaY * factor;
1857
+ break;
1858
+ case e.DOM_DELTA_LINE:
1859
+ var linePixels = 15;
1860
+ e.wheelX = deltaX * linePixels;
1861
+ e.wheelY = deltaY * linePixels;
1862
+ break;
1863
+ case e.DOM_DELTA_PAGE:
1864
+ var pagePixels = 150;
1865
+ e.wheelX = deltaX * pagePixels;
1866
+ e.wheelY = deltaY * pagePixels;
1867
+ break;
1868
+ }
1869
+ callback(e);
1870
+ }, destroyer);
1871
+};
1872
+exports.addMultiMouseDownListener = function (elements, timeouts, eventHandler, callbackName, destroyer) {
1873
+ var clicks = 0;
1874
+ var startX, startY, timer;
1875
+ var eventNames = {
1876
+ 2: "dblclick",
1877
+ 3: "tripleclick",
1878
+ 4: "quadclick"
1879
+ };
1880
+ function onMousedown(e) {
1881
+ if (exports.getButton(e) !== 0) {
1882
+ clicks = 0;
1883
+ }
1884
+ else if (e.detail > 1) {
1885
+ clicks++;
1886
+ if (clicks > 4)
1887
+ clicks = 1;
1888
+ }
1889
+ else {
1890
+ clicks = 1;
1891
+ }
1892
+ if (useragent.isIE) {
1893
+ var isNewClick = Math.abs(e.clientX - startX) > 5 || Math.abs(e.clientY - startY) > 5;
1894
+ if (!timer || isNewClick)
1895
+ clicks = 1;
1896
+ if (timer)
1897
+ clearTimeout(timer);
1898
+ timer = setTimeout(function () { timer = null; }, timeouts[clicks - 1] || 600);
1899
+ if (clicks == 1) {
1900
+ startX = e.clientX;
1901
+ startY = e.clientY;
1902
+ }
1903
+ }
1904
+ e._clicks = clicks;
1905
+ eventHandler[callbackName]("mousedown", e);
1906
+ if (clicks > 4)
1907
+ clicks = 0;
1908
+ else if (clicks > 1)
1909
+ return eventHandler[callbackName](eventNames[clicks], e);
1910
+ }
1911
+ if (!Array.isArray(elements))
1912
+ elements = [elements];
1913
+ elements.forEach(function (el) {
1914
+ addListener(el, "mousedown", onMousedown, destroyer);
1915
+ });
1916
+};
1917
+function getModifierHash(e) {
1918
+ return 0 | (e.ctrlKey ? 1 : 0) | (e.altKey ? 2 : 0) | (e.shiftKey ? 4 : 0) | (e.metaKey ? 8 : 0);
1919
+}
1920
+exports.getModifierString = function (e) {
1921
+ return keys.KEY_MODS[getModifierHash(e)];
1922
+};
1923
+function normalizeCommandKeys(callback, e, keyCode) {
1924
+ var hashId = getModifierHash(e);
1925
+ if (!keyCode && e.code) {
1926
+ keyCode = keys.$codeToKeyCode[e.code] || keyCode;
1927
+ }
1928
+ if (!useragent.isMac && pressedKeys) {
1929
+ if (e.getModifierState && (e.getModifierState("OS") || e.getModifierState("Win")))
1930
+ hashId |= 8;
1931
+ if (pressedKeys.altGr) {
1932
+ if ((3 & hashId) != 3)
1933
+ pressedKeys.altGr = 0;
1934
+ else
1935
+ return;
1936
+ }
1937
+ if (keyCode === 18 || keyCode === 17) {
1938
+ var location = e.location;
1939
+ if (keyCode === 17 && location === 1) {
1940
+ if (pressedKeys[keyCode] == 1)
1941
+ ts = e.timeStamp;
1942
+ }
1943
+ else if (keyCode === 18 && hashId === 3 && location === 2) {
1944
+ var dt = e.timeStamp - ts;
1945
+ if (dt < 50)
1946
+ pressedKeys.altGr = true;
1947
+ }
1948
+ }
1949
+ }
1950
+ if (keyCode in keys.MODIFIER_KEYS) {
1951
+ keyCode = -1;
1952
+ }
1953
+ if (!hashId && keyCode === 13) {
1954
+ if (e.location === 3) {
1955
+ callback(e, hashId, -keyCode);
1956
+ if (e.defaultPrevented)
1957
+ return;
1958
+ }
1959
+ }
1960
+ if (useragent.isChromeOS && hashId & 8) {
1961
+ callback(e, hashId, keyCode);
1962
+ if (e.defaultPrevented)
1963
+ return;
1964
+ else
1965
+ hashId &= ~8;
1966
+ }
1967
+ if (!hashId && !(keyCode in keys.FUNCTION_KEYS) && !(keyCode in keys.PRINTABLE_KEYS)) {
1968
+ return false;
1969
+ }
1970
+ return callback(e, hashId, keyCode);
1971
+}
1972
+exports.addCommandKeyListener = function (el, callback, destroyer) {
1973
+ var lastDefaultPrevented = null;
1974
+ addListener(el, "keydown", function (e) {
1975
+ pressedKeys[e.keyCode] = (pressedKeys[e.keyCode] || 0) + 1;
1976
+ var result = normalizeCommandKeys(callback, e, e.keyCode);
1977
+ lastDefaultPrevented = e.defaultPrevented;
1978
+ return result;
1979
+ }, destroyer);
1980
+ addListener(el, "keypress", function (e) {
1981
+ if (lastDefaultPrevented && (e.ctrlKey || e.altKey || e.shiftKey || e.metaKey)) {
1982
+ exports.stopEvent(e);
1983
+ lastDefaultPrevented = null;
1984
+ }
1985
+ }, destroyer);
1986
+ addListener(el, "keyup", function (e) {
1987
+ pressedKeys[e.keyCode] = null;
1988
+ }, destroyer);
1989
+ if (!pressedKeys) {
1990
+ resetPressedKeys();
1991
+ addListener(window, "focus", resetPressedKeys);
1992
+ }
1993
+};
1994
+function resetPressedKeys() {
1995
+ pressedKeys = Object.create(null);
1996
+}
1997
+if (typeof window == "object" && window.postMessage && !useragent.isOldIE) {
1998
+ var postMessageId = 1;
1999
+ exports.nextTick = function (callback, win) {
2000
+ win = win || window;
2001
+ var messageName = "zero-timeout-message-" + (postMessageId++);
2002
+ var listener = function (e) {
2003
+ if (e.data == messageName) {
2004
+ exports.stopPropagation(e);
2005
+ removeListener(win, "message", listener);
2006
+ callback();
2007
+ }
2008
+ };
2009
+ addListener(win, "message", listener);
2010
+ win.postMessage(messageName, "*");
2011
+ };
2012
+}
2013
+exports.$idleBlocked = false;
2014
+exports.onIdle = function (cb, timeout) {
2015
+ return setTimeout(function handler() {
2016
+ if (!exports.$idleBlocked) {
2017
+ cb();
2018
+ }
2019
+ else {
2020
+ setTimeout(handler, 100);
2021
+ }
2022
+ }, timeout);
2023
+};
2024
+exports.$idleBlockId = null;
2025
+exports.blockIdle = function (delay) {
2026
+ if (exports.$idleBlockId)
2027
+ clearTimeout(exports.$idleBlockId);
2028
+ exports.$idleBlocked = true;
2029
+ exports.$idleBlockId = setTimeout(function () {
2030
+ exports.$idleBlocked = false;
2031
+ }, delay || 100);
2032
+};
2033
+exports.nextFrame = typeof window == "object" && (window.requestAnimationFrame
2034
+ || window["mozRequestAnimationFrame"]
2035
+ || window["webkitRequestAnimationFrame"]
2036
+ || window["msRequestAnimationFrame"]
2037
+ || window["oRequestAnimationFrame"]);
2038
+if (exports.nextFrame)
2039
+ exports.nextFrame = exports.nextFrame.bind(window);
2040
+else
2041
+ exports.nextFrame = function (callback) {
2042
+ setTimeout(callback, 17);
2043
+ };
2044
+
2045
+});
2046
+
2047
+ace.define("ace/clipboard",["require","exports","module"], function(require, exports, module){"use strict";
2048
+var $cancelT;
2049
+module.exports = {
2050
+ lineMode: false,
2051
+ pasteCancelled: function () {
2052
+ if ($cancelT && $cancelT > Date.now() - 50)
2053
+ return true;
2054
+ return $cancelT = false;
2055
+ },
2056
+ cancel: function () {
2057
+ $cancelT = Date.now();
2058
+ }
2059
+};
2060
+
2061
+});
2062
+
2063
+ace.define("ace/keyboard/textinput",["require","exports","module","ace/lib/event","ace/config","ace/lib/useragent","ace/lib/dom","ace/lib/lang","ace/clipboard","ace/lib/keys"], function(require, exports, module){"use strict";
2064
+var event = require("../lib/event");
2065
+var nls = require("../config").nls;
2066
+var useragent = require("../lib/useragent");
2067
+var dom = require("../lib/dom");
2068
+var lang = require("../lib/lang");
2069
+var clipboard = require("../clipboard");
2070
+var BROKEN_SETDATA = useragent.isChrome < 18;
2071
+var USE_IE_MIME_TYPE = useragent.isIE;
2072
+var HAS_FOCUS_ARGS = useragent.isChrome > 63;
2073
+var MAX_LINE_LENGTH = 400;
2074
+var KEYS = require("../lib/keys");
2075
+var MODS = KEYS.KEY_MODS;
2076
+var isIOS = useragent.isIOS;
2077
+var valueResetRegex = isIOS ? /\s/ : /\n/;
2078
+var isMobile = useragent.isMobile;
2079
+var TextInput;
2080
+TextInput = function (parentNode, host) {
2081
+ var text = dom.createElement("textarea");
2082
+ text.className = "ace_text-input";
2083
+ text.setAttribute("wrap", "off");
2084
+ text.setAttribute("autocorrect", "off");
2085
+ text.setAttribute("autocapitalize", "off");
2086
+ text.setAttribute("spellcheck", "false");
2087
+ text.style.opacity = "0";
2088
+ parentNode.insertBefore(text, parentNode.firstChild);
2089
+ var copied = false;
2090
+ var pasted = false;
2091
+ var inComposition = false;
2092
+ var sendingText = false;
2093
+ var tempStyle = '';
2094
+ if (!isMobile)
2095
+ text.style.fontSize = "1px";
2096
+ var commandMode = false;
2097
+ var ignoreFocusEvents = false;
2098
+ var lastValue = "";
2099
+ var lastSelectionStart = 0;
2100
+ var lastSelectionEnd = 0;
2101
+ var lastRestoreEnd = 0;
2102
+ var rowStart = Number.MAX_SAFE_INTEGER;
2103
+ var rowEnd = Number.MIN_SAFE_INTEGER;
2104
+ var numberOfExtraLines = 0;
2105
+ try {
2106
+ var isFocused = document.activeElement === text;
2107
+ }
2108
+ catch (e) { }
2109
+ this.setNumberOfExtraLines = function (number) {
2110
+ rowStart = Number.MAX_SAFE_INTEGER;
2111
+ rowEnd = Number.MIN_SAFE_INTEGER;
2112
+ if (number < 0) {
2113
+ numberOfExtraLines = 0;
2114
+ return;
2115
+ }
2116
+ numberOfExtraLines = number;
2117
+ };
2118
+ this.setAriaLabel = function () {
2119
+ var ariaLabel = "";
2120
+ if (host.$textInputAriaLabel) {
2121
+ ariaLabel += "".concat(host.$textInputAriaLabel, ", ");
2122
+ }
2123
+ if (host.session) {
2124
+ var row = host.session.selection.cursor.row;
2125
+ ariaLabel += nls("text-input.aria-label", "Cursor at row $0", [row + 1]);
2126
+ }
2127
+ text.setAttribute("aria-label", ariaLabel);
2128
+ };
2129
+ this.setAriaOptions = function (options) {
2130
+ if (options.activeDescendant) {
2131
+ text.setAttribute("aria-haspopup", "true");
2132
+ text.setAttribute("aria-autocomplete", options.inline ? "both" : "list");
2133
+ text.setAttribute("aria-activedescendant", options.activeDescendant);
2134
+ }
2135
+ else {
2136
+ text.setAttribute("aria-haspopup", "false");
2137
+ text.setAttribute("aria-autocomplete", "both");
2138
+ text.removeAttribute("aria-activedescendant");
2139
+ }
2140
+ if (options.role) {
2141
+ text.setAttribute("role", options.role);
2142
+ }
2143
+ if (options.setLabel) {
2144
+ text.setAttribute("aria-roledescription", nls("text-input.aria-roledescription", "editor"));
2145
+ this.setAriaLabel();
2146
+ }
2147
+ };
2148
+ this.setAriaOptions({ role: "textbox" });
2149
+ event.addListener(text, "blur", function (e) {
2150
+ if (ignoreFocusEvents)
2151
+ return;
2152
+ host.onBlur(e);
2153
+ isFocused = false;
2154
+ }, host);
2155
+ event.addListener(text, "focus", function (e) {
2156
+ if (ignoreFocusEvents)
2157
+ return;
2158
+ isFocused = true;
2159
+ if (useragent.isEdge) {
2160
+ try {
2161
+ if (!document.hasFocus())
2162
+ return;
2163
+ }
2164
+ catch (e) { }
2165
+ }
2166
+ host.onFocus(e);
2167
+ if (useragent.isEdge)
2168
+ setTimeout(resetSelection);
2169
+ else
2170
+ resetSelection();
2171
+ }, host);
2172
+ this.$focusScroll = false;
2173
+ this.focus = function () {
2174
+ this.setAriaOptions({
2175
+ setLabel: host.renderer.enableKeyboardAccessibility
2176
+ });
2177
+ if (tempStyle || HAS_FOCUS_ARGS || this.$focusScroll == "browser")
2178
+ return text.focus({ preventScroll: true });
2179
+ var top = text.style.top;
2180
+ text.style.position = "fixed";
2181
+ text.style.top = "0px";
2182
+ try {
2183
+ var isTransformed = text.getBoundingClientRect().top != 0;
2184
+ }
2185
+ catch (e) {
2186
+ return;
2187
+ }
2188
+ var ancestors = [];
2189
+ if (isTransformed) {
2190
+ var t = text.parentElement;
2191
+ while (t && t.nodeType == 1) {
2192
+ ancestors.push(t);
2193
+ t.setAttribute("ace_nocontext", "true");
2194
+ if (!t.parentElement && t.getRootNode)
2195
+ t = t.getRootNode()["host"];
2196
+ else
2197
+ t = t.parentElement;
2198
+ }
2199
+ }
2200
+ text.focus({ preventScroll: true });
2201
+ if (isTransformed) {
2202
+ ancestors.forEach(function (p) {
2203
+ p.removeAttribute("ace_nocontext");
2204
+ });
2205
+ }
2206
+ setTimeout(function () {
2207
+ text.style.position = "";
2208
+ if (text.style.top == "0px")
2209
+ text.style.top = top;
2210
+ }, 0);
2211
+ };
2212
+ this.blur = function () {
2213
+ text.blur();
2214
+ };
2215
+ this.isFocused = function () {
2216
+ return isFocused;
2217
+ };
2218
+ host.on("beforeEndOperation", function () {
2219
+ var curOp = host.curOp;
2220
+ var commandName = curOp && curOp.command && curOp.command.name;
2221
+ if (commandName == "insertstring")
2222
+ return;
2223
+ var isUserAction = commandName && (curOp.docChanged || curOp.selectionChanged);
2224
+ if (inComposition && isUserAction) {
2225
+ lastValue = text.value = "";
2226
+ onCompositionEnd();
2227
+ }
2228
+ resetSelection();
2229
+ });
2230
+ host.on("changeSelection", this.setAriaLabel);
2231
+ var positionToSelection = function (row, column) {
2232
+ var selection = column;
2233
+ for (var i = 1; i <= row - rowStart && i < 2 * numberOfExtraLines + 1; i++) {
2234
+ selection += host.session.getLine(row - i).length + 1;
2235
+ }
2236
+ return selection;
2237
+ };
2238
+ var resetSelection = isIOS
2239
+ ? function (value) {
2240
+ if (!isFocused || (copied && !value) || sendingText)
2241
+ return;
2242
+ if (!value)
2243
+ value = "";
2244
+ var newValue = "\n ab" + value + "cde fg\n";
2245
+ if (newValue != text.value)
2246
+ text.value = lastValue = newValue;
2247
+ var selectionStart = 4;
2248
+ var selectionEnd = 4 + (value.length || (host.selection.isEmpty() ? 0 : 1));
2249
+ if (lastSelectionStart != selectionStart || lastSelectionEnd != selectionEnd) {
2250
+ text.setSelectionRange(selectionStart, selectionEnd);
2251
+ }
2252
+ lastSelectionStart = selectionStart;
2253
+ lastSelectionEnd = selectionEnd;
2254
+ }
2255
+ : function () {
2256
+ if (inComposition || sendingText)
2257
+ return;
2258
+ if (!isFocused && !afterContextMenu)
2259
+ return;
2260
+ inComposition = true;
2261
+ var selectionStart = 0;
2262
+ var selectionEnd = 0;
2263
+ var line = "";
2264
+ if (host.session) {
2265
+ var selection = host.selection;
2266
+ var range = selection.getRange();
2267
+ var row = selection.cursor.row;
2268
+ if (row === rowEnd + 1) {
2269
+ rowStart = rowEnd + 1;
2270
+ rowEnd = rowStart + 2 * numberOfExtraLines;
2271
+ }
2272
+ else if (row === rowStart - 1) {
2273
+ rowEnd = rowStart - 1;
2274
+ rowStart = rowEnd - 2 * numberOfExtraLines;
2275
+ }
2276
+ else if (row < rowStart - 1 || row > rowEnd + 1) {
2277
+ rowStart = row > numberOfExtraLines ? row - numberOfExtraLines : 0;
2278
+ rowEnd = row > numberOfExtraLines ? row + numberOfExtraLines : 2 * numberOfExtraLines;
2279
+ }
2280
+ var lines = [];
2281
+ for (var i = rowStart; i <= rowEnd; i++) {
2282
+ lines.push(host.session.getLine(i));
2283
+ }
2284
+ line = lines.join('\n');
2285
+ selectionStart = positionToSelection(range.start.row, range.start.column);
2286
+ selectionEnd = positionToSelection(range.end.row, range.end.column);
2287
+ if (range.start.row < rowStart) {
2288
+ var prevLine = host.session.getLine(rowStart - 1);
2289
+ selectionStart = range.start.row < rowStart - 1 ? 0 : selectionStart;
2290
+ selectionEnd += prevLine.length + 1;
2291
+ line = prevLine + "\n" + line;
2292
+ }
2293
+ else if (range.end.row > rowEnd) {
2294
+ var nextLine = host.session.getLine(rowEnd + 1);
2295
+ selectionEnd = range.end.row > rowEnd + 1 ? nextLine.length : range.end.column;
2296
+ selectionEnd += line.length + 1;
2297
+ line = line + "\n" + nextLine;
2298
+ }
2299
+ else if (isMobile && row > 0) {
2300
+ line = "\n" + line;
2301
+ selectionEnd += 1;
2302
+ selectionStart += 1;
2303
+ }
2304
+ if (line.length > MAX_LINE_LENGTH) {
2305
+ if (selectionStart < MAX_LINE_LENGTH && selectionEnd < MAX_LINE_LENGTH) {
2306
+ line = line.slice(0, MAX_LINE_LENGTH);
2307
+ }
2308
+ else {
2309
+ line = "\n";
2310
+ if (selectionStart == selectionEnd) {
2311
+ selectionStart = selectionEnd = 0;
2312
+ }
2313
+ else {
2314
+ selectionStart = 0;
2315
+ selectionEnd = 1;
2316
+ }
2317
+ }
2318
+ }
2319
+ var newValue = line + "\n\n";
2320
+ if (newValue != lastValue) {
2321
+ text.value = lastValue = newValue;
2322
+ lastSelectionStart = lastSelectionEnd = newValue.length;
2323
+ }
2324
+ }
2325
+ if (afterContextMenu) {
2326
+ lastSelectionStart = text.selectionStart;
2327
+ lastSelectionEnd = text.selectionEnd;
2328
+ }
2329
+ if (lastSelectionEnd != selectionEnd
2330
+ || lastSelectionStart != selectionStart
2331
+ || text.selectionEnd != lastSelectionEnd // on ie edge selectionEnd changes silently after the initialization
2332
+ ) {
2333
+ try {
2334
+ text.setSelectionRange(selectionStart, selectionEnd);
2335
+ lastSelectionStart = selectionStart;
2336
+ lastSelectionEnd = selectionEnd;
2337
+ }
2338
+ catch (e) { }
2339
+ }
2340
+ inComposition = false;
2341
+ };
2342
+ this.resetSelection = resetSelection;
2343
+ if (isFocused)
2344
+ host.onFocus();
2345
+ var isAllSelected = function (text) {
2346
+ return text.selectionStart === 0 && text.selectionEnd >= lastValue.length
2347
+ && text.value === lastValue && lastValue
2348
+ && text.selectionEnd !== lastSelectionEnd;
2349
+ };
2350
+ var onSelect = function (e) {
2351
+ if (inComposition)
2352
+ return;
2353
+ if (copied) {
2354
+ copied = false;
2355
+ }
2356
+ else if (isAllSelected(text)) {
2357
+ host.selectAll();
2358
+ resetSelection();
2359
+ }
2360
+ else if (isMobile && text.selectionStart != lastSelectionStart) {
2361
+ resetSelection();
2362
+ }
2363
+ };
2364
+ var inputHandler = null;
2365
+ this.setInputHandler = function (cb) { inputHandler = cb; };
2366
+ this.getInputHandler = function () { return inputHandler; };
2367
+ var afterContextMenu = false;
2368
+ var sendText = function (value, fromInput) {
2369
+ if (afterContextMenu)
2370
+ afterContextMenu = false;
2371
+ if (pasted) {
2372
+ resetSelection();
2373
+ if (value)
2374
+ host.onPaste(value);
2375
+ pasted = false;
2376
+ return "";
2377
+ }
2378
+ else {
2379
+ var selectionStart = text.selectionStart;
2380
+ var selectionEnd = text.selectionEnd;
2381
+ var extendLeft = lastSelectionStart;
2382
+ var extendRight = lastValue.length - lastSelectionEnd;
2383
+ var inserted = value;
2384
+ var restoreStart = value.length - selectionStart;
2385
+ var restoreEnd = value.length - selectionEnd;
2386
+ var i = 0;
2387
+ while (extendLeft > 0 && lastValue[i] == value[i]) {
2388
+ i++;
2389
+ extendLeft--;
2390
+ }
2391
+ inserted = inserted.slice(i);
2392
+ i = 1;
2393
+ while (extendRight > 0 && lastValue.length - i > lastSelectionStart - 1 && lastValue[lastValue.length - i] == value[value.length - i]) {
2394
+ i++;
2395
+ extendRight--;
2396
+ }
2397
+ restoreStart -= i - 1;
2398
+ restoreEnd -= i - 1;
2399
+ var endIndex = inserted.length - i + 1;
2400
+ if (endIndex < 0) {
2401
+ extendLeft = -endIndex;
2402
+ endIndex = 0;
2403
+ }
2404
+ inserted = inserted.slice(0, endIndex);
2405
+ if (!fromInput && !inserted && !restoreStart && !extendLeft && !extendRight && !restoreEnd)
2406
+ return "";
2407
+ sendingText = true;
2408
+ var shouldReset = false;
2409
+ if (useragent.isAndroid && inserted == ". ") {
2410
+ inserted = " ";
2411
+ shouldReset = true;
2412
+ }
2413
+ if (inserted && !extendLeft && !extendRight && !restoreStart && !restoreEnd || commandMode) {
2414
+ host.onTextInput(inserted);
2415
+ }
2416
+ else {
2417
+ host.onTextInput(inserted, {
2418
+ extendLeft: extendLeft,
2419
+ extendRight: extendRight,
2420
+ restoreStart: restoreStart,
2421
+ restoreEnd: restoreEnd
2422
+ });
2423
+ }
2424
+ sendingText = false;
2425
+ lastValue = value;
2426
+ lastSelectionStart = selectionStart;
2427
+ lastSelectionEnd = selectionEnd;
2428
+ lastRestoreEnd = restoreEnd;
2429
+ return shouldReset ? "\n" : inserted;
2430
+ }
2431
+ };
2432
+ var onInput = function (e) {
2433
+ if (inComposition)
2434
+ return onCompositionUpdate();
2435
+ if (e && e.inputType) {
2436
+ if (e.inputType == "historyUndo")
2437
+ return host.execCommand("undo");
2438
+ if (e.inputType == "historyRedo")
2439
+ return host.execCommand("redo");
2440
+ }
2441
+ var data = text.value;
2442
+ var inserted = sendText(data, true);
2443
+ if (data.length > MAX_LINE_LENGTH + 100
2444
+ || valueResetRegex.test(inserted)
2445
+ || isMobile && lastSelectionStart < 1 && lastSelectionStart == lastSelectionEnd) {
2446
+ resetSelection();
2447
+ }
2448
+ };
2449
+ var handleClipboardData = function (e, data, forceIEMime) {
2450
+ var clipboardData = e.clipboardData || window["clipboardData"];
2451
+ if (!clipboardData || BROKEN_SETDATA)
2452
+ return;
2453
+ var mime = USE_IE_MIME_TYPE || forceIEMime ? "Text" : "text/plain";
2454
+ try {
2455
+ if (data) {
2456
+ return clipboardData.setData(mime, data) !== false;
2457
+ }
2458
+ else {
2459
+ return clipboardData.getData(mime);
2460
+ }
2461
+ }
2462
+ catch (e) {
2463
+ if (!forceIEMime)
2464
+ return handleClipboardData(e, data, true);
2465
+ }
2466
+ };
2467
+ var doCopy = function (e, isCut) {
2468
+ var data = host.getCopyText();
2469
+ if (!data)
2470
+ return event.preventDefault(e);
2471
+ if (handleClipboardData(e, data)) {
2472
+ if (isIOS) {
2473
+ resetSelection(data);
2474
+ copied = data;
2475
+ setTimeout(function () {
2476
+ copied = false;
2477
+ }, 10);
2478
+ }
2479
+ isCut ? host.onCut() : host.onCopy();
2480
+ event.preventDefault(e);
2481
+ }
2482
+ else {
2483
+ copied = true;
2484
+ text.value = data;
2485
+ text.select();
2486
+ setTimeout(function () {
2487
+ copied = false;
2488
+ resetSelection();
2489
+ isCut ? host.onCut() : host.onCopy();
2490
+ });
2491
+ }
2492
+ };
2493
+ var onCut = function (e) {
2494
+ doCopy(e, true);
2495
+ };
2496
+ var onCopy = function (e) {
2497
+ doCopy(e, false);
2498
+ };
2499
+ var onPaste = function (e) {
2500
+ var data = handleClipboardData(e);
2501
+ if (clipboard.pasteCancelled())
2502
+ return;
2503
+ if (typeof data == "string") {
2504
+ if (data)
2505
+ host.onPaste(data, e);
2506
+ if (useragent.isIE)
2507
+ setTimeout(resetSelection);
2508
+ event.preventDefault(e);
2509
+ }
2510
+ else {
2511
+ text.value = "";
2512
+ pasted = true;
2513
+ }
2514
+ };
2515
+ event.addCommandKeyListener(text, function (e, hashId, keyCode) {
2516
+ if (inComposition)
2517
+ return;
2518
+ return host.onCommandKey(e, hashId, keyCode);
2519
+ }, host);
2520
+ event.addListener(text, "select", onSelect, host);
2521
+ event.addListener(text, "input", onInput, host);
2522
+ event.addListener(text, "cut", onCut, host);
2523
+ event.addListener(text, "copy", onCopy, host);
2524
+ event.addListener(text, "paste", onPaste, host);
2525
+ if (!('oncut' in text) || !('oncopy' in text) || !('onpaste' in text)) {
2526
+ event.addListener(parentNode, "keydown", function (e) {
2527
+ if ((useragent.isMac && !e.metaKey) || !e.ctrlKey)
2528
+ return;
2529
+ switch (e.keyCode) {
2530
+ case 67:
2531
+ onCopy(e);
2532
+ break;
2533
+ case 86:
2534
+ onPaste(e);
2535
+ break;
2536
+ case 88:
2537
+ onCut(e);
2538
+ break;
2539
+ }
2540
+ }, host);
2541
+ }
2542
+ var onCompositionStart = function (e) {
2543
+ if (inComposition || !host.onCompositionStart || host.$readOnly)
2544
+ return;
2545
+ inComposition = {};
2546
+ if (commandMode)
2547
+ return;
2548
+ if (e.data)
2549
+ inComposition.useTextareaForIME = false;
2550
+ setTimeout(onCompositionUpdate, 0);
2551
+ host._signal("compositionStart");
2552
+ host.on("mousedown", cancelComposition);
2553
+ var range = host.getSelectionRange();
2554
+ range.end.row = range.start.row;
2555
+ range.end.column = range.start.column;
2556
+ inComposition.markerRange = range;
2557
+ inComposition.selectionStart = lastSelectionStart;
2558
+ host.onCompositionStart(inComposition);
2559
+ if (inComposition.useTextareaForIME) {
2560
+ lastValue = text.value = "";
2561
+ lastSelectionStart = 0;
2562
+ lastSelectionEnd = 0;
2563
+ }
2564
+ else {
2565
+ if (text.msGetInputContext)
2566
+ inComposition.context = text.msGetInputContext();
2567
+ if (text.getInputContext)
2568
+ inComposition.context = text.getInputContext();
2569
+ }
2570
+ };
2571
+ var onCompositionUpdate = function () {
2572
+ if (!inComposition || !host.onCompositionUpdate || host.$readOnly)
2573
+ return;
2574
+ if (commandMode)
2575
+ return cancelComposition();
2576
+ if (inComposition.useTextareaForIME) {
2577
+ host.onCompositionUpdate(text.value);
2578
+ }
2579
+ else {
2580
+ var data = text.value;
2581
+ sendText(data);
2582
+ if (inComposition.markerRange) {
2583
+ if (inComposition.context) {
2584
+ inComposition.markerRange.start.column = inComposition.selectionStart
2585
+ = inComposition.context.compositionStartOffset;
2586
+ }
2587
+ inComposition.markerRange.end.column = inComposition.markerRange.start.column
2588
+ + lastSelectionEnd - inComposition.selectionStart + lastRestoreEnd;
2589
+ }
2590
+ }
2591
+ };
2592
+ var onCompositionEnd = function (e) {
2593
+ if (!host.onCompositionEnd || host.$readOnly)
2594
+ return;
2595
+ inComposition = false;
2596
+ host.onCompositionEnd();
2597
+ host.off("mousedown", cancelComposition);
2598
+ if (e)
2599
+ onInput();
2600
+ };
2601
+ function cancelComposition() {
2602
+ ignoreFocusEvents = true;
2603
+ text.blur();
2604
+ text.focus();
2605
+ ignoreFocusEvents = false;
2606
+ }
2607
+ var syncComposition = lang.delayedCall(onCompositionUpdate, 50).schedule.bind(null, null);
2608
+ function onKeyup(e) {
2609
+ if (e.keyCode == 27 && text.value.length < text.selectionStart) {
2610
+ if (!inComposition)
2611
+ lastValue = text.value;
2612
+ lastSelectionStart = lastSelectionEnd = -1;
2613
+ resetSelection();
2614
+ }
2615
+ syncComposition();
2616
+ }
2617
+ event.addListener(text, "compositionstart", onCompositionStart, host);
2618
+ event.addListener(text, "compositionupdate", onCompositionUpdate, host);
2619
+ event.addListener(text, "keyup", onKeyup, host);
2620
+ event.addListener(text, "keydown", syncComposition, host);
2621
+ event.addListener(text, "compositionend", onCompositionEnd, host);
2622
+ this.getElement = function () {
2623
+ return text;
2624
+ };
2625
+ this.setCommandMode = function (value) {
2626
+ commandMode = value;
2627
+ text.readOnly = false;
2628
+ };
2629
+ this.setReadOnly = function (readOnly) {
2630
+ if (!commandMode)
2631
+ text.readOnly = readOnly;
2632
+ };
2633
+ this.setCopyWithEmptySelection = function (value) {
2634
+ };
2635
+ this.onContextMenu = function (e) {
2636
+ afterContextMenu = true;
2637
+ resetSelection();
2638
+ host._emit("nativecontextmenu", { target: host, domEvent: e });
2639
+ this.moveToMouse(e, true);
2640
+ };
2641
+ this.moveToMouse = function (e, bringToFront) {
2642
+ if (!tempStyle)
2643
+ tempStyle = text.style.cssText;
2644
+ text.style.cssText = (bringToFront ? "z-index:100000;" : "")
2645
+ + (useragent.isIE ? "opacity:0.1;" : "")
2646
+ + "text-indent: -" + (lastSelectionStart + lastSelectionEnd) * host.renderer.characterWidth * 0.5 + "px;";
2647
+ var rect = host.container.getBoundingClientRect();
2648
+ var style = dom.computedStyle(host.container);
2649
+ var top = rect.top + (parseInt(style.borderTopWidth) || 0);
2650
+ var left = rect.left + (parseInt(rect.borderLeftWidth) || 0);
2651
+ var maxTop = rect.bottom - top - text.clientHeight - 2;
2652
+ var move = function (e) {
2653
+ dom.translate(text, e.clientX - left - 2, Math.min(e.clientY - top - 2, maxTop));
2654
+ };
2655
+ move(e);
2656
+ if (e.type != "mousedown")
2657
+ return;
2658
+ host.renderer.$isMousePressed = true;
2659
+ clearTimeout(closeTimeout);
2660
+ if (useragent.isWin)
2661
+ event.capture(host.container, move, onContextMenuClose);
2662
+ };
2663
+ this.onContextMenuClose = onContextMenuClose;
2664
+ var closeTimeout;
2665
+ function onContextMenuClose() {
2666
+ clearTimeout(closeTimeout);
2667
+ closeTimeout = setTimeout(function () {
2668
+ if (tempStyle) {
2669
+ text.style.cssText = tempStyle;
2670
+ tempStyle = '';
2671
+ }
2672
+ host.renderer.$isMousePressed = false;
2673
+ if (host.renderer.$keepTextAreaAtCursor)
2674
+ host.renderer.$moveTextAreaToCursor();
2675
+ }, 0);
2676
+ }
2677
+ var onContextMenu = function (e) {
2678
+ host.textInput.onContextMenu(e);
2679
+ onContextMenuClose();
2680
+ };
2681
+ event.addListener(text, "mouseup", onContextMenu, host);
2682
+ event.addListener(text, "mousedown", function (e) {
2683
+ e.preventDefault();
2684
+ onContextMenuClose();
2685
+ }, host);
2686
+ event.addListener(host.renderer.scroller, "contextmenu", onContextMenu, host);
2687
+ event.addListener(text, "contextmenu", onContextMenu, host);
2688
+ if (isIOS)
2689
+ addIosSelectionHandler(parentNode, host, text);
2690
+ function addIosSelectionHandler(parentNode, host, text) {
2691
+ var typingResetTimeout = null;
2692
+ var typing = false;
2693
+ text.addEventListener("keydown", function (e) {
2694
+ if (typingResetTimeout)
2695
+ clearTimeout(typingResetTimeout);
2696
+ typing = true;
2697
+ }, true);
2698
+ text.addEventListener("keyup", function (e) {
2699
+ typingResetTimeout = setTimeout(function () {
2700
+ typing = false;
2701
+ }, 100);
2702
+ }, true);
2703
+ var detectArrowKeys = function (e) {
2704
+ if (document.activeElement !== text)
2705
+ return;
2706
+ if (typing || inComposition || host.$mouseHandler.isMousePressed)
2707
+ return;
2708
+ if (copied) {
2709
+ return;
2710
+ }
2711
+ var selectionStart = text.selectionStart;
2712
+ var selectionEnd = text.selectionEnd;
2713
+ var key = null;
2714
+ var modifier = 0;
2715
+ if (selectionStart == 0) {
2716
+ key = KEYS.up;
2717
+ }
2718
+ else if (selectionStart == 1) {
2719
+ key = KEYS.home;
2720
+ }
2721
+ else if (selectionEnd > lastSelectionEnd && lastValue[selectionEnd] == "\n") {
2722
+ key = KEYS.end;
2723
+ }
2724
+ else if (selectionStart < lastSelectionStart && lastValue[selectionStart - 1] == " ") {
2725
+ key = KEYS.left;
2726
+ modifier = MODS.option;
2727
+ }
2728
+ else if (selectionStart < lastSelectionStart
2729
+ || (selectionStart == lastSelectionStart
2730
+ && lastSelectionEnd != lastSelectionStart
2731
+ && selectionStart == selectionEnd)) {
2732
+ key = KEYS.left;
2733
+ }
2734
+ else if (selectionEnd > lastSelectionEnd && lastValue.slice(0, selectionEnd).split("\n").length > 2) {
2735
+ key = KEYS.down;
2736
+ }
2737
+ else if (selectionEnd > lastSelectionEnd && lastValue[selectionEnd - 1] == " ") {
2738
+ key = KEYS.right;
2739
+ modifier = MODS.option;
2740
+ }
2741
+ else if (selectionEnd > lastSelectionEnd
2742
+ || (selectionEnd == lastSelectionEnd
2743
+ && lastSelectionEnd != lastSelectionStart
2744
+ && selectionStart == selectionEnd)) {
2745
+ key = KEYS.right;
2746
+ }
2747
+ if (selectionStart !== selectionEnd)
2748
+ modifier |= MODS.shift;
2749
+ if (key) {
2750
+ var result = host.onCommandKey({}, modifier, key);
2751
+ if (!result && host.commands) {
2752
+ key = KEYS.keyCodeToString(key);
2753
+ var command = host.commands.findKeyCommand(modifier, key);
2754
+ if (command)
2755
+ host.execCommand(command);
2756
+ }
2757
+ lastSelectionStart = selectionStart;
2758
+ lastSelectionEnd = selectionEnd;
2759
+ resetSelection("");
2760
+ }
2761
+ };
2762
+ document.addEventListener("selectionchange", detectArrowKeys);
2763
+ host.on("destroy", function () {
2764
+ document.removeEventListener("selectionchange", detectArrowKeys);
2765
+ });
2766
+ }
2767
+ this.destroy = function () {
2768
+ if (text.parentElement)
2769
+ text.parentElement.removeChild(text);
2770
+ };
2771
+};
2772
+exports.TextInput = TextInput;
2773
+exports.$setUserAgentForTests = function (_isMobile, _isIOS) {
2774
+ isMobile = _isMobile;
2775
+ isIOS = _isIOS;
2776
+};
2777
+
2778
+});
2779
+
2780
+ace.define("ace/mouse/default_handlers",["require","exports","module","ace/lib/useragent"], function(require, exports, module){"use strict";
2781
+var useragent = require("../lib/useragent");
2782
+var DRAG_OFFSET = 0; // pixels
2783
+var SCROLL_COOLDOWN_T = 550; // milliseconds
2784
+var DefaultHandlers = /** @class */ (function () {
2785
+ function DefaultHandlers(mouseHandler) {
2786
+ mouseHandler.$clickSelection = null;
2787
+ var editor = mouseHandler.editor;
2788
+ editor.setDefaultHandler("mousedown", this.onMouseDown.bind(mouseHandler));
2789
+ editor.setDefaultHandler("dblclick", this.onDoubleClick.bind(mouseHandler));
2790
+ editor.setDefaultHandler("tripleclick", this.onTripleClick.bind(mouseHandler));
2791
+ editor.setDefaultHandler("quadclick", this.onQuadClick.bind(mouseHandler));
2792
+ editor.setDefaultHandler("mousewheel", this.onMouseWheel.bind(mouseHandler));
2793
+ var exports = ["select", "startSelect", "selectEnd", "selectAllEnd", "selectByWordsEnd",
2794
+ "selectByLinesEnd", "dragWait", "dragWaitEnd", "focusWait"];
2795
+ exports.forEach(function (x) {
2796
+ mouseHandler[x] = this[x];
2797
+ }, this);
2798
+ mouseHandler["selectByLines"] = this.extendSelectionBy.bind(mouseHandler, "getLineRange");
2799
+ mouseHandler["selectByWords"] = this.extendSelectionBy.bind(mouseHandler, "getWordRange");
2800
+ }
2801
+ DefaultHandlers.prototype.onMouseDown = function (ev) {
2802
+ var inSelection = ev.inSelection();
2803
+ var pos = ev.getDocumentPosition();
2804
+ this.mousedownEvent = ev;
2805
+ var editor = this.editor;
2806
+ var button = ev.getButton();
2807
+ if (button !== 0) {
2808
+ var selectionRange = editor.getSelectionRange();
2809
+ var selectionEmpty = selectionRange.isEmpty();
2810
+ if (selectionEmpty || button == 1)
2811
+ editor.selection.moveToPosition(pos);
2812
+ if (button == 2) {
2813
+ editor.textInput.onContextMenu(ev.domEvent);
2814
+ if (!useragent.isMozilla)
2815
+ ev.preventDefault();
2816
+ }
2817
+ return;
2818
+ }
2819
+ this.mousedownEvent.time = Date.now();
2820
+ if (inSelection && !editor.isFocused()) {
2821
+ editor.focus();
2822
+ if (this.$focusTimeout && !this.$clickSelection && !editor.inMultiSelectMode) {
2823
+ this.setState("focusWait");
2824
+ this.captureMouse(ev);
2825
+ return;
2826
+ }
2827
+ }
2828
+ this.captureMouse(ev);
2829
+ this.startSelect(pos, ev.domEvent._clicks > 1);
2830
+ return ev.preventDefault();
2831
+ };
2832
+ DefaultHandlers.prototype.startSelect = function (pos, waitForClickSelection) {
2833
+ pos = pos || this.editor.renderer.screenToTextCoordinates(this.x, this.y);
2834
+ var editor = this.editor;
2835
+ if (!this.mousedownEvent)
2836
+ return;
2837
+ if (this.mousedownEvent.getShiftKey())
2838
+ editor.selection.selectToPosition(pos);
2839
+ else if (!waitForClickSelection)
2840
+ editor.selection.moveToPosition(pos);
2841
+ if (!waitForClickSelection)
2842
+ this.select();
2843
+ editor.setStyle("ace_selecting");
2844
+ this.setState("select");
2845
+ };
2846
+ DefaultHandlers.prototype.select = function () {
2847
+ var anchor, editor = this.editor;
2848
+ var cursor = editor.renderer.screenToTextCoordinates(this.x, this.y);
2849
+ if (this.$clickSelection) {
2850
+ var cmp = this.$clickSelection.comparePoint(cursor);
2851
+ if (cmp == -1) {
2852
+ anchor = this.$clickSelection.end;
2853
+ }
2854
+ else if (cmp == 1) {
2855
+ anchor = this.$clickSelection.start;
2856
+ }
2857
+ else {
2858
+ var orientedRange = calcRangeOrientation(this.$clickSelection, cursor);
2859
+ cursor = orientedRange.cursor;
2860
+ anchor = orientedRange.anchor;
2861
+ }
2862
+ editor.selection.setSelectionAnchor(anchor.row, anchor.column);
2863
+ }
2864
+ editor.selection.selectToPosition(cursor);
2865
+ editor.renderer.scrollCursorIntoView();
2866
+ };
2867
+ DefaultHandlers.prototype.extendSelectionBy = function (unitName) {
2868
+ var anchor, editor = this.editor;
2869
+ var cursor = editor.renderer.screenToTextCoordinates(this.x, this.y);
2870
+ var range = editor.selection[unitName](cursor.row, cursor.column);
2871
+ if (this.$clickSelection) {
2872
+ var cmpStart = this.$clickSelection.comparePoint(range.start);
2873
+ var cmpEnd = this.$clickSelection.comparePoint(range.end);
2874
+ if (cmpStart == -1 && cmpEnd <= 0) {
2875
+ anchor = this.$clickSelection.end;
2876
+ if (range.end.row != cursor.row || range.end.column != cursor.column)
2877
+ cursor = range.start;
2878
+ }
2879
+ else if (cmpEnd == 1 && cmpStart >= 0) {
2880
+ anchor = this.$clickSelection.start;
2881
+ if (range.start.row != cursor.row || range.start.column != cursor.column)
2882
+ cursor = range.end;
2883
+ }
2884
+ else if (cmpStart == -1 && cmpEnd == 1) {
2885
+ cursor = range.end;
2886
+ anchor = range.start;
2887
+ }
2888
+ else {
2889
+ var orientedRange = calcRangeOrientation(this.$clickSelection, cursor);
2890
+ cursor = orientedRange.cursor;
2891
+ anchor = orientedRange.anchor;
2892
+ }
2893
+ editor.selection.setSelectionAnchor(anchor.row, anchor.column);
2894
+ }
2895
+ editor.selection.selectToPosition(cursor);
2896
+ editor.renderer.scrollCursorIntoView();
2897
+ };
2898
+ DefaultHandlers.prototype.selectByLinesEnd = function () {
2899
+ this.$clickSelection = null;
2900
+ this.editor.unsetStyle("ace_selecting");
2901
+ };
2902
+ DefaultHandlers.prototype.focusWait = function () {
2903
+ var distance = calcDistance(this.mousedownEvent.x, this.mousedownEvent.y, this.x, this.y);
2904
+ var time = Date.now();
2905
+ if (distance > DRAG_OFFSET || time - this.mousedownEvent.time > this.$focusTimeout)
2906
+ this.startSelect(this.mousedownEvent.getDocumentPosition());
2907
+ };
2908
+ DefaultHandlers.prototype.onDoubleClick = function (ev) {
2909
+ var pos = ev.getDocumentPosition();
2910
+ var editor = this.editor;
2911
+ var session = editor.session;
2912
+ var range = session.getBracketRange(pos);
2913
+ if (range) {
2914
+ if (range.isEmpty()) {
2915
+ range.start.column--;
2916
+ range.end.column++;
2917
+ }
2918
+ this.setState("select");
2919
+ }
2920
+ else {
2921
+ range = editor.selection.getWordRange(pos.row, pos.column);
2922
+ this.setState("selectByWords");
2923
+ }
2924
+ this.$clickSelection = range;
2925
+ this.select();
2926
+ };
2927
+ DefaultHandlers.prototype.onTripleClick = function (ev) {
2928
+ var pos = ev.getDocumentPosition();
2929
+ var editor = this.editor;
2930
+ this.setState("selectByLines");
2931
+ var range = editor.getSelectionRange();
2932
+ if (range.isMultiLine() && range.contains(pos.row, pos.column)) {
2933
+ this.$clickSelection = editor.selection.getLineRange(range.start.row);
2934
+ this.$clickSelection.end = editor.selection.getLineRange(range.end.row).end;
2935
+ }
2936
+ else {
2937
+ this.$clickSelection = editor.selection.getLineRange(pos.row);
2938
+ }
2939
+ this.select();
2940
+ };
2941
+ DefaultHandlers.prototype.onQuadClick = function (ev) {
2942
+ var editor = this.editor;
2943
+ editor.selectAll();
2944
+ this.$clickSelection = editor.getSelectionRange();
2945
+ this.setState("selectAll");
2946
+ };
2947
+ DefaultHandlers.prototype.onMouseWheel = function (ev) {
2948
+ if (ev.getAccelKey())
2949
+ return;
2950
+ if (ev.getShiftKey() && ev.wheelY && !ev.wheelX) {
2951
+ ev.wheelX = ev.wheelY;
2952
+ ev.wheelY = 0;
2953
+ }
2954
+ var editor = this.editor;
2955
+ if (!this.$lastScroll)
2956
+ this.$lastScroll = { t: 0, vx: 0, vy: 0, allowed: 0 };
2957
+ var prevScroll = this.$lastScroll;
2958
+ var t = ev.domEvent.timeStamp;
2959
+ var dt = t - prevScroll.t;
2960
+ var vx = dt ? ev.wheelX / dt : prevScroll.vx;
2961
+ var vy = dt ? ev.wheelY / dt : prevScroll.vy;
2962
+ if (dt < SCROLL_COOLDOWN_T) {
2963
+ vx = (vx + prevScroll.vx) / 2;
2964
+ vy = (vy + prevScroll.vy) / 2;
2965
+ }
2966
+ var direction = Math.abs(vx / vy);
2967
+ var canScroll = false;
2968
+ if (direction >= 1 && editor.renderer.isScrollableBy(ev.wheelX * ev.speed, 0))
2969
+ canScroll = true;
2970
+ if (direction <= 1 && editor.renderer.isScrollableBy(0, ev.wheelY * ev.speed))
2971
+ canScroll = true;
2972
+ if (canScroll) {
2973
+ prevScroll.allowed = t;
2974
+ }
2975
+ else if (t - prevScroll.allowed < SCROLL_COOLDOWN_T) {
2976
+ var isSlower = Math.abs(vx) <= 1.5 * Math.abs(prevScroll.vx)
2977
+ && Math.abs(vy) <= 1.5 * Math.abs(prevScroll.vy);
2978
+ if (isSlower) {
2979
+ canScroll = true;
2980
+ prevScroll.allowed = t;
2981
+ }
2982
+ else {
2983
+ prevScroll.allowed = 0;
2984
+ }
2985
+ }
2986
+ prevScroll.t = t;
2987
+ prevScroll.vx = vx;
2988
+ prevScroll.vy = vy;
2989
+ if (canScroll) {
2990
+ editor.renderer.scrollBy(ev.wheelX * ev.speed, ev.wheelY * ev.speed);
2991
+ return ev.stop();
2992
+ }
2993
+ };
2994
+ return DefaultHandlers;
2995
+}());
2996
+DefaultHandlers.prototype.selectEnd = DefaultHandlers.prototype.selectByLinesEnd;
2997
+DefaultHandlers.prototype.selectAllEnd = DefaultHandlers.prototype.selectByLinesEnd;
2998
+DefaultHandlers.prototype.selectByWordsEnd = DefaultHandlers.prototype.selectByLinesEnd;
2999
+exports.DefaultHandlers = DefaultHandlers;
3000
+function calcDistance(ax, ay, bx, by) {
3001
+ return Math.sqrt(Math.pow(bx - ax, 2) + Math.pow(by - ay, 2));
3002
+}
3003
+function calcRangeOrientation(range, cursor) {
3004
+ if (range.start.row == range.end.row)
3005
+ var cmp = 2 * cursor.column - range.start.column - range.end.column;
3006
+ else if (range.start.row == range.end.row - 1 && !range.start.column && !range.end.column)
3007
+ var cmp = cursor.column - 4;
3008
+ else
3009
+ var cmp = 2 * cursor.row - range.start.row - range.end.row;
3010
+ if (cmp < 0)
3011
+ return { cursor: range.start, anchor: range.end };
3012
+ else
3013
+ return { cursor: range.end, anchor: range.start };
3014
+}
3015
+
3016
+});
3017
+
3018
+ace.define("ace/lib/scroll",["require","exports","module"], function(require, exports, module){exports.preventParentScroll = function preventParentScroll(event) {
3019
+ event.stopPropagation();
3020
+ var target = event.currentTarget;
3021
+ var contentOverflows = target.scrollHeight > target.clientHeight;
3022
+ if (!contentOverflows) {
3023
+ event.preventDefault();
3024
+ }
3025
+};
3026
+
3027
+});
3028
+
3029
+ace.define("ace/tooltip",["require","exports","module","ace/lib/dom","ace/lib/event","ace/range","ace/lib/scroll"], function(require, exports, module){"use strict";
3030
+var __extends = (this && this.__extends) || (function () {
3031
+ var extendStatics = function (d, b) {
3032
+ extendStatics = Object.setPrototypeOf ||
3033
+ ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
3034
+ function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
3035
+ return extendStatics(d, b);
3036
+ };
3037
+ return function (d, b) {
3038
+ if (typeof b !== "function" && b !== null)
3039
+ throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
3040
+ extendStatics(d, b);
3041
+ function __() { this.constructor = d; }
3042
+ d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
3043
+ };
3044
+})();
3045
+var __values = (this && this.__values) || function(o) {
3046
+ var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
3047
+ if (m) return m.call(o);
3048
+ if (o && typeof o.length === "number") return {
3049
+ next: function () {
3050
+ if (o && i >= o.length) o = void 0;
3051
+ return { value: o && o[i++], done: !o };
3052
+ }
3053
+ };
3054
+ throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
3055
+};
3056
+var dom = require("./lib/dom");
3057
+var event = require("./lib/event");
3058
+var Range = require("./range").Range;
3059
+var preventParentScroll = require("./lib/scroll").preventParentScroll;
3060
+var CLASSNAME = "ace_tooltip";
3061
+var Tooltip = /** @class */ (function () {
3062
+ function Tooltip(parentNode) {
3063
+ this.isOpen = false;
3064
+ this.$element = null;
3065
+ this.$parentNode = parentNode;
3066
+ }
3067
+ Tooltip.prototype.$init = function () {
3068
+ this.$element = dom.createElement("div");
3069
+ this.$element.className = CLASSNAME;
3070
+ this.$element.style.display = "none";
3071
+ this.$parentNode.appendChild(this.$element);
3072
+ return this.$element;
3073
+ };
3074
+ Tooltip.prototype.getElement = function () {
3075
+ return this.$element || this.$init();
3076
+ };
3077
+ Tooltip.prototype.setText = function (text) {
3078
+ this.getElement().textContent = text;
3079
+ };
3080
+ Tooltip.prototype.setHtml = function (html) {
3081
+ this.getElement().innerHTML = html;
3082
+ };
3083
+ Tooltip.prototype.setPosition = function (x, y) {
3084
+ this.getElement().style.left = x + "px";
3085
+ this.getElement().style.top = y + "px";
3086
+ };
3087
+ Tooltip.prototype.setClassName = function (className) {
3088
+ dom.addCssClass(this.getElement(), className);
3089
+ };
3090
+ Tooltip.prototype.setTheme = function (theme) {
3091
+ this.$element.className = CLASSNAME + " " +
3092
+ (theme.isDark ? "ace_dark " : "") + (theme.cssClass || "");
3093
+ };
3094
+ Tooltip.prototype.show = function (text, x, y) {
3095
+ if (text != null)
3096
+ this.setText(text);
3097
+ if (x != null && y != null)
3098
+ this.setPosition(x, y);
3099
+ if (!this.isOpen) {
3100
+ this.getElement().style.display = "block";
3101
+ this.isOpen = true;
3102
+ }
3103
+ };
3104
+ Tooltip.prototype.hide = function (e) {
3105
+ if (this.isOpen) {
3106
+ this.getElement().style.display = "none";
3107
+ this.getElement().className = CLASSNAME;
3108
+ this.isOpen = false;
3109
+ }
3110
+ };
3111
+ Tooltip.prototype.getHeight = function () {
3112
+ return this.getElement().offsetHeight;
3113
+ };
3114
+ Tooltip.prototype.getWidth = function () {
3115
+ return this.getElement().offsetWidth;
3116
+ };
3117
+ Tooltip.prototype.destroy = function () {
3118
+ this.isOpen = false;
3119
+ if (this.$element && this.$element.parentNode) {
3120
+ this.$element.parentNode.removeChild(this.$element);
3121
+ }
3122
+ };
3123
+ return Tooltip;
3124
+}());
3125
+var PopupManager = /** @class */ (function () {
3126
+ function PopupManager() {
3127
+ this.popups = [];
3128
+ }
3129
+ PopupManager.prototype.addPopup = function (popup) {
3130
+ this.popups.push(popup);
3131
+ this.updatePopups();
3132
+ };
3133
+ PopupManager.prototype.removePopup = function (popup) {
3134
+ var index = this.popups.indexOf(popup);
3135
+ if (index !== -1) {
3136
+ this.popups.splice(index, 1);
3137
+ this.updatePopups();
3138
+ }
3139
+ };
3140
+ PopupManager.prototype.updatePopups = function () {
3141
+ var e_1, _a, e_2, _b;
3142
+ this.popups.sort(function (a, b) { return b.priority - a.priority; });
3143
+ var visiblepopups = [];
3144
+ try {
3145
+ for (var _c = __values(this.popups), _d = _c.next(); !_d.done; _d = _c.next()) {
3146
+ var popup = _d.value;
3147
+ var shouldDisplay = true;
3148
+ try {
3149
+ for (var visiblepopups_1 = (e_2 = void 0, __values(visiblepopups)), visiblepopups_1_1 = visiblepopups_1.next(); !visiblepopups_1_1.done; visiblepopups_1_1 = visiblepopups_1.next()) {
3150
+ var visiblePopup = visiblepopups_1_1.value;
3151
+ if (this.doPopupsOverlap(visiblePopup, popup)) {
3152
+ shouldDisplay = false;
3153
+ break;
3154
+ }
3155
+ }
3156
+ }
3157
+ catch (e_2_1) { e_2 = { error: e_2_1 }; }
3158
+ finally {
3159
+ try {
3160
+ if (visiblepopups_1_1 && !visiblepopups_1_1.done && (_b = visiblepopups_1.return)) _b.call(visiblepopups_1);
3161
+ }
3162
+ finally { if (e_2) throw e_2.error; }
3163
+ }
3164
+ if (shouldDisplay) {
3165
+ visiblepopups.push(popup);
3166
+ }
3167
+ else {
3168
+ popup.hide();
3169
+ }
3170
+ }
3171
+ }
3172
+ catch (e_1_1) { e_1 = { error: e_1_1 }; }
3173
+ finally {
3174
+ try {
3175
+ if (_d && !_d.done && (_a = _c.return)) _a.call(_c);
3176
+ }
3177
+ finally { if (e_1) throw e_1.error; }
3178
+ }
3179
+ };
3180
+ PopupManager.prototype.doPopupsOverlap = function (popupA, popupB) {
3181
+ var rectA = popupA.getElement().getBoundingClientRect();
3182
+ var rectB = popupB.getElement().getBoundingClientRect();
3183
+ return (rectA.left < rectB.right && rectA.right > rectB.left && rectA.top < rectB.bottom && rectA.bottom
3184
+ > rectB.top);
3185
+ };
3186
+ return PopupManager;
3187
+}());
3188
+var popupManager = new PopupManager();
3189
+exports.popupManager = popupManager;
3190
+exports.Tooltip = Tooltip;
3191
+var HoverTooltip = /** @class */ (function (_super) {
3192
+ __extends(HoverTooltip, _super);
3193
+ function HoverTooltip(parentNode) {
3194
+ if (parentNode === void 0) { parentNode = document.body; }
3195
+ var _this = _super.call(this, parentNode) || this;
3196
+ _this.timeout = undefined;
3197
+ _this.lastT = 0;
3198
+ _this.idleTime = 350;
3199
+ _this.lastEvent = undefined;
3200
+ _this.onMouseOut = _this.onMouseOut.bind(_this);
3201
+ _this.onMouseMove = _this.onMouseMove.bind(_this);
3202
+ _this.waitForHover = _this.waitForHover.bind(_this);
3203
+ _this.hide = _this.hide.bind(_this);
3204
+ var el = _this.getElement();
3205
+ el.style.whiteSpace = "pre-wrap";
3206
+ el.style.pointerEvents = "auto";
3207
+ el.addEventListener("mouseout", _this.onMouseOut);
3208
+ el.tabIndex = -1;
3209
+ el.addEventListener("blur", function () {
3210
+ if (!el.contains(document.activeElement))
3211
+ this.hide();
3212
+ }.bind(_this));
3213
+ el.addEventListener("wheel", preventParentScroll);
3214
+ return _this;
3215
+ }
3216
+ HoverTooltip.prototype.addToEditor = function (editor) {
3217
+ editor.on("mousemove", this.onMouseMove);
3218
+ editor.on("mousedown", this.hide);
3219
+ editor.renderer.getMouseEventTarget().addEventListener("mouseout", this.onMouseOut, true);
3220
+ };
3221
+ HoverTooltip.prototype.removeFromEditor = function (editor) {
3222
+ editor.off("mousemove", this.onMouseMove);
3223
+ editor.off("mousedown", this.hide);
3224
+ editor.renderer.getMouseEventTarget().removeEventListener("mouseout", this.onMouseOut, true);
3225
+ if (this.timeout) {
3226
+ clearTimeout(this.timeout);
3227
+ this.timeout = null;
3228
+ }
3229
+ };
3230
+ HoverTooltip.prototype.onMouseMove = function (e, editor) {
3231
+ this.lastEvent = e;
3232
+ this.lastT = Date.now();
3233
+ var isMousePressed = editor.$mouseHandler.isMousePressed;
3234
+ if (this.isOpen) {
3235
+ var pos = this.lastEvent && this.lastEvent.getDocumentPosition();
3236
+ if (!this.range
3237
+ || !this.range.contains(pos.row, pos.column)
3238
+ || isMousePressed
3239
+ || this.isOutsideOfText(this.lastEvent)) {
3240
+ this.hide();
3241
+ }
3242
+ }
3243
+ if (this.timeout || isMousePressed)
3244
+ return;
3245
+ this.lastEvent = e;
3246
+ this.timeout = setTimeout(this.waitForHover, this.idleTime);
3247
+ };
3248
+ HoverTooltip.prototype.waitForHover = function () {
3249
+ if (this.timeout)
3250
+ clearTimeout(this.timeout);
3251
+ var dt = Date.now() - this.lastT;
3252
+ if (this.idleTime - dt > 10) {
3253
+ this.timeout = setTimeout(this.waitForHover, this.idleTime - dt);
3254
+ return;
3255
+ }
3256
+ this.timeout = null;
3257
+ if (this.lastEvent && !this.isOutsideOfText(this.lastEvent)) {
3258
+ this.$gatherData(this.lastEvent, this.lastEvent.editor);
3259
+ }
3260
+ };
3261
+ HoverTooltip.prototype.isOutsideOfText = function (e) {
3262
+ var editor = e.editor;
3263
+ var docPos = e.getDocumentPosition();
3264
+ var line = editor.session.getLine(docPos.row);
3265
+ if (docPos.column == line.length) {
3266
+ var screenPos = editor.renderer.pixelToScreenCoordinates(e.clientX, e.clientY);
3267
+ var clippedPos = editor.session.documentToScreenPosition(docPos.row, docPos.column);
3268
+ if (clippedPos.column != screenPos.column
3269
+ || clippedPos.row != screenPos.row) {
3270
+ return true;
3271
+ }
3272
+ }
3273
+ return false;
3274
+ };
3275
+ HoverTooltip.prototype.setDataProvider = function (value) {
3276
+ this.$gatherData = value;
3277
+ };
3278
+ HoverTooltip.prototype.showForRange = function (editor, range, domNode, startingEvent) {
3279
+ var MARGIN = 10;
3280
+ if (startingEvent && startingEvent != this.lastEvent)
3281
+ return;
3282
+ if (this.isOpen && document.activeElement == this.getElement())
3283
+ return;
3284
+ var renderer = editor.renderer;
3285
+ if (!this.isOpen) {
3286
+ popupManager.addPopup(this);
3287
+ this.$registerCloseEvents();
3288
+ this.setTheme(renderer.theme);
3289
+ }
3290
+ this.isOpen = true;
3291
+ this.addMarker(range, editor.session);
3292
+ this.range = Range.fromPoints(range.start, range.end);
3293
+ var position = renderer.textToScreenCoordinates(range.start.row, range.start.column);
3294
+ var rect = renderer.scroller.getBoundingClientRect();
3295
+ if (position.pageX < rect.left)
3296
+ position.pageX = rect.left;
3297
+ var element = this.getElement();
3298
+ element.innerHTML = "";
3299
+ element.appendChild(domNode);
3300
+ element.style.maxHeight = "";
3301
+ element.style.display = "block";
3302
+ var labelHeight = element.clientHeight;
3303
+ var labelWidth = element.clientWidth;
3304
+ var spaceBelow = window.innerHeight - position.pageY - renderer.lineHeight;
3305
+ var isAbove = true;
3306
+ if (position.pageY - labelHeight < 0 && position.pageY < spaceBelow) {
3307
+ isAbove = false;
3308
+ }
3309
+ element.style.maxHeight = (isAbove ? position.pageY : spaceBelow) - MARGIN + "px";
3310
+ element.style.top = isAbove ? "" : position.pageY + renderer.lineHeight + "px";
3311
+ element.style.bottom = isAbove ? window.innerHeight - position.pageY + "px" : "";
3312
+ element.style.left = Math.min(position.pageX, window.innerWidth - labelWidth - MARGIN) + "px";
3313
+ };
3314
+ HoverTooltip.prototype.addMarker = function (range, session) {
3315
+ if (this.marker) {
3316
+ this.$markerSession.removeMarker(this.marker);
3317
+ }
3318
+ this.$markerSession = session;
3319
+ this.marker = session && session.addMarker(range, "ace_highlight-marker", "text");
3320
+ };
3321
+ HoverTooltip.prototype.hide = function (e) {
3322
+ if (!e && document.activeElement == this.getElement())
3323
+ return;
3324
+ if (e && e.target && (e.type != "keydown" || e.ctrlKey || e.metaKey) && this.$element.contains(e.target))
3325
+ return;
3326
+ this.lastEvent = null;
3327
+ if (this.timeout)
3328
+ clearTimeout(this.timeout);
3329
+ this.timeout = null;
3330
+ this.addMarker(null);
3331
+ if (this.isOpen) {
3332
+ this.$removeCloseEvents();
3333
+ this.getElement().style.display = "none";
3334
+ this.isOpen = false;
3335
+ popupManager.removePopup(this);
3336
+ }
3337
+ };
3338
+ HoverTooltip.prototype.$registerCloseEvents = function () {
3339
+ window.addEventListener("keydown", this.hide, true);
3340
+ window.addEventListener("wheel", this.hide, true);
3341
+ window.addEventListener("mousedown", this.hide, true);
3342
+ };
3343
+ HoverTooltip.prototype.$removeCloseEvents = function () {
3344
+ window.removeEventListener("keydown", this.hide, true);
3345
+ window.removeEventListener("wheel", this.hide, true);
3346
+ window.removeEventListener("mousedown", this.hide, true);
3347
+ };
3348
+ HoverTooltip.prototype.onMouseOut = function (e) {
3349
+ if (this.timeout) {
3350
+ clearTimeout(this.timeout);
3351
+ this.timeout = null;
3352
+ }
3353
+ this.lastEvent = null;
3354
+ if (!this.isOpen)
3355
+ return;
3356
+ if (!e.relatedTarget || this.getElement().contains(e.relatedTarget))
3357
+ return;
3358
+ if (e && e.currentTarget.contains(e.relatedTarget))
3359
+ return;
3360
+ if (!e.relatedTarget.classList.contains("ace_content"))
3361
+ this.hide();
3362
+ };
3363
+ return HoverTooltip;
3364
+}(Tooltip));
3365
+exports.HoverTooltip = HoverTooltip;
3366
+
3367
+});
3368
+
3369
+ace.define("ace/mouse/default_gutter_handler",["require","exports","module","ace/lib/dom","ace/lib/event","ace/tooltip","ace/config","ace/lib/lang"], function(require, exports, module){"use strict";
3370
+var __extends = (this && this.__extends) || (function () {
3371
+ var extendStatics = function (d, b) {
3372
+ extendStatics = Object.setPrototypeOf ||
3373
+ ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
3374
+ function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
3375
+ return extendStatics(d, b);
3376
+ };
3377
+ return function (d, b) {
3378
+ if (typeof b !== "function" && b !== null)
3379
+ throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
3380
+ extendStatics(d, b);
3381
+ function __() { this.constructor = d; }
3382
+ d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
3383
+ };
3384
+})();
3385
+var __values = (this && this.__values) || function(o) {
3386
+ var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
3387
+ if (m) return m.call(o);
3388
+ if (o && typeof o.length === "number") return {
3389
+ next: function () {
3390
+ if (o && i >= o.length) o = void 0;
3391
+ return { value: o && o[i++], done: !o };
3392
+ }
3393
+ };
3394
+ throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
3395
+};
3396
+var dom = require("../lib/dom");
3397
+var event = require("../lib/event");
3398
+var Tooltip = require("../tooltip").Tooltip;
3399
+var nls = require("../config").nls;
3400
+var lang = require("../lib/lang");
3401
+function GutterHandler(mouseHandler) {
3402
+ var editor = mouseHandler.editor;
3403
+ var gutter = editor.renderer.$gutterLayer;
3404
+ var tooltip = new GutterTooltip(editor);
3405
+ mouseHandler.editor.setDefaultHandler("guttermousedown", function (e) {
3406
+ if (!editor.isFocused() || e.getButton() != 0)
3407
+ return;
3408
+ var gutterRegion = gutter.getRegion(e);
3409
+ if (gutterRegion == "foldWidgets")
3410
+ return;
3411
+ var row = e.getDocumentPosition().row;
3412
+ var selection = editor.session.selection;
3413
+ if (e.getShiftKey())
3414
+ selection.selectTo(row, 0);
3415
+ else {
3416
+ if (e.domEvent.detail == 2) {
3417
+ editor.selectAll();
3418
+ return e.preventDefault();
3419
+ }
3420
+ mouseHandler.$clickSelection = editor.selection.getLineRange(row);
3421
+ }
3422
+ mouseHandler.setState("selectByLines");
3423
+ mouseHandler.captureMouse(e);
3424
+ return e.preventDefault();
3425
+ });
3426
+ var tooltipTimeout, mouseEvent;
3427
+ function showTooltip() {
3428
+ var row = mouseEvent.getDocumentPosition().row;
3429
+ var maxRow = editor.session.getLength();
3430
+ if (row == maxRow) {
3431
+ var screenRow = editor.renderer.pixelToScreenCoordinates(0, mouseEvent.y).row;
3432
+ var pos = mouseEvent.$pos;
3433
+ if (screenRow > editor.session.documentToScreenRow(pos.row, pos.column))
3434
+ return hideTooltip();
3435
+ }
3436
+ tooltip.showTooltip(row);
3437
+ if (!tooltip.isOpen)
3438
+ return;
3439
+ editor.on("mousewheel", hideTooltip);
3440
+ if (mouseHandler.$tooltipFollowsMouse) {
3441
+ moveTooltip(mouseEvent);
3442
+ }
3443
+ else {
3444
+ var gutterRow = mouseEvent.getGutterRow();
3445
+ var gutterCell = gutter.$lines.get(gutterRow);
3446
+ if (gutterCell) {
3447
+ var gutterElement = gutterCell.element.querySelector(".ace_gutter_annotation");
3448
+ var rect = gutterElement.getBoundingClientRect();
3449
+ var style = tooltip.getElement().style;
3450
+ style.left = rect.right + "px";
3451
+ style.top = rect.bottom + "px";
3452
+ }
3453
+ else {
3454
+ moveTooltip(mouseEvent);
3455
+ }
3456
+ }
3457
+ }
3458
+ function hideTooltip() {
3459
+ if (tooltipTimeout)
3460
+ tooltipTimeout = clearTimeout(tooltipTimeout);
3461
+ if (tooltip.isOpen) {
3462
+ tooltip.hideTooltip();
3463
+ editor.off("mousewheel", hideTooltip);
3464
+ }
3465
+ }
3466
+ function moveTooltip(e) {
3467
+ tooltip.setPosition(e.x, e.y);
3468
+ }
3469
+ mouseHandler.editor.setDefaultHandler("guttermousemove", function (e) {
3470
+ var target = e.domEvent.target || e.domEvent.srcElement;
3471
+ if (dom.hasCssClass(target, "ace_fold-widget"))
3472
+ return hideTooltip();
3473
+ if (tooltip.isOpen && mouseHandler.$tooltipFollowsMouse)
3474
+ moveTooltip(e);
3475
+ mouseEvent = e;
3476
+ if (tooltipTimeout)
3477
+ return;
3478
+ tooltipTimeout = setTimeout(function () {
3479
+ tooltipTimeout = null;
3480
+ if (mouseEvent && !mouseHandler.isMousePressed)
3481
+ showTooltip();
3482
+ else
3483
+ hideTooltip();
3484
+ }, 50);
3485
+ });
3486
+ event.addListener(editor.renderer.$gutter, "mouseout", function (e) {
3487
+ mouseEvent = null;
3488
+ if (!tooltip.isOpen || tooltipTimeout)
3489
+ return;
3490
+ tooltipTimeout = setTimeout(function () {
3491
+ tooltipTimeout = null;
3492
+ hideTooltip();
3493
+ }, 50);
3494
+ }, editor);
3495
+ editor.on("changeSession", hideTooltip);
3496
+ editor.on("input", hideTooltip);
3497
+}
3498
+exports.GutterHandler = GutterHandler;
3499
+var GutterTooltip = /** @class */ (function (_super) {
3500
+ __extends(GutterTooltip, _super);
3501
+ function GutterTooltip(editor) {
3502
+ var _this = _super.call(this, editor.container) || this;
3503
+ _this.editor = editor;
3504
+ return _this;
3505
+ }
3506
+ GutterTooltip.prototype.setPosition = function (x, y) {
3507
+ var windowWidth = window.innerWidth || document.documentElement.clientWidth;
3508
+ var windowHeight = window.innerHeight || document.documentElement.clientHeight;
3509
+ var width = this.getWidth();
3510
+ var height = this.getHeight();
3511
+ x += 15;
3512
+ y += 15;
3513
+ if (x + width > windowWidth) {
3514
+ x -= (x + width) - windowWidth;
3515
+ }
3516
+ if (y + height > windowHeight) {
3517
+ y -= 20 + height;
3518
+ }
3519
+ Tooltip.prototype.setPosition.call(this, x, y);
3520
+ };
3521
+ Object.defineProperty(GutterTooltip, "annotationLabels", {
3522
+ get: function () {
3523
+ return {
3524
+ error: {
3525
+ singular: nls("gutter-tooltip.aria-label.error.singular", "error"),
3526
+ plural: nls("gutter-tooltip.aria-label.error.plural", "errors")
3527
+ },
3528
+ security: {
3529
+ singular: nls("gutter-tooltip.aria-label.security.singular", "security finding"),
3530
+ plural: nls("gutter-tooltip.aria-label.security.plural", "security findings")
3531
+ },
3532
+ warning: {
3533
+ singular: nls("gutter-tooltip.aria-label.warning.singular", "warning"),
3534
+ plural: nls("gutter-tooltip.aria-label.warning.plural", "warnings")
3535
+ },
3536
+ info: {
3537
+ singular: nls("gutter-tooltip.aria-label.info.singular", "information message"),
3538
+ plural: nls("gutter-tooltip.aria-label.info.plural", "information messages")
3539
+ },
3540
+ hint: {
3541
+ singular: nls("gutter-tooltip.aria-label.hint.singular", "suggestion"),
3542
+ plural: nls("gutter-tooltip.aria-label.hint.plural", "suggestions")
3543
+ }
3544
+ };
3545
+ },
3546
+ enumerable: false,
3547
+ configurable: true
3548
+ });
3549
+ GutterTooltip.prototype.showTooltip = function (row) {
3550
+ var _a;
3551
+ var gutter = this.editor.renderer.$gutterLayer;
3552
+ var annotationsInRow = gutter.$annotations[row];
3553
+ var annotation;
3554
+ if (annotationsInRow)
3555
+ annotation = {
3556
+ displayText: Array.from(annotationsInRow.displayText),
3557
+ type: Array.from(annotationsInRow.type)
3558
+ };
3559
+ else
3560
+ annotation = { displayText: [], type: [] };
3561
+ var fold = gutter.session.getFoldLine(row);
3562
+ if (fold && gutter.$showFoldedAnnotations) {
3563
+ var annotationsInFold = { error: [], security: [], warning: [], info: [], hint: [] };
3564
+ var severityRank = { error: 1, security: 2, warning: 3, info: 4, hint: 5 };
3565
+ var mostSevereAnnotationTypeInFold;
3566
+ for (var i = row + 1; i <= fold.end.row; i++) {
3567
+ if (!gutter.$annotations[i])
3568
+ continue;
3569
+ for (var j = 0; j < gutter.$annotations[i].text.length; j++) {
3570
+ var annotationType = gutter.$annotations[i].type[j];
3571
+ annotationsInFold[annotationType].push(gutter.$annotations[i].text[j]);
3572
+ if (!mostSevereAnnotationTypeInFold ||
3573
+ severityRank[annotationType] < severityRank[mostSevereAnnotationTypeInFold]) {
3574
+ mostSevereAnnotationTypeInFold = annotationType;
3575
+ }
3576
+ }
3577
+ }
3578
+ if (["error", "security", "warning"].includes(mostSevereAnnotationTypeInFold)) {
3579
+ var summaryFoldedAnnotations = "".concat(GutterTooltip.annotationsToSummaryString(annotationsInFold), " in folded code.");
3580
+ annotation.displayText.push(summaryFoldedAnnotations);
3581
+ annotation.type.push(mostSevereAnnotationTypeInFold + "_fold");
3582
+ }
3583
+ }
3584
+ if (annotation.displayText.length === 0)
3585
+ return this.hide();
3586
+ var annotationMessages = { error: [], security: [], warning: [], info: [], hint: [] };
3587
+ var iconClassName = gutter.$useSvgGutterIcons ? "ace_icon_svg" : "ace_icon";
3588
+ for (var i = 0; i < annotation.displayText.length; i++) {
3589
+ var lineElement = dom.createElement("span");
3590
+ var iconElement = dom.createElement("span");
3591
+ (_a = iconElement.classList).add.apply(_a, ["ace_".concat(annotation.type[i]), iconClassName]);
3592
+ iconElement.setAttribute("aria-label", "".concat(GutterTooltip.annotationLabels[annotation.type[i].replace("_fold", "")].singular));
3593
+ iconElement.setAttribute("role", "img");
3594
+ iconElement.appendChild(dom.createTextNode(" "));
3595
+ lineElement.appendChild(iconElement);
3596
+ lineElement.appendChild(dom.createTextNode(annotation.displayText[i]));
3597
+ lineElement.appendChild(dom.createElement("br"));
3598
+ annotationMessages[annotation.type[i].replace("_fold", "")].push(lineElement);
3599
+ }
3600
+ var tooltipElement = this.getElement();
3601
+ dom.removeChildren(tooltipElement);
3602
+ annotationMessages.error.forEach(function (el) { return tooltipElement.appendChild(el); });
3603
+ annotationMessages.security.forEach(function (el) { return tooltipElement.appendChild(el); });
3604
+ annotationMessages.warning.forEach(function (el) { return tooltipElement.appendChild(el); });
3605
+ annotationMessages.info.forEach(function (el) { return tooltipElement.appendChild(el); });
3606
+ annotationMessages.hint.forEach(function (el) { return tooltipElement.appendChild(el); });
3607
+ tooltipElement.setAttribute("aria-live", "polite");
3608
+ if (!this.isOpen) {
3609
+ this.setTheme(this.editor.renderer.theme);
3610
+ this.setClassName("ace_gutter-tooltip");
3611
+ }
3612
+ this.show();
3613
+ this.editor._signal("showGutterTooltip", this);
3614
+ };
3615
+ GutterTooltip.prototype.hideTooltip = function () {
3616
+ this.$element.removeAttribute("aria-live");
3617
+ this.hide();
3618
+ this.editor._signal("hideGutterTooltip", this);
3619
+ };
3620
+ GutterTooltip.annotationsToSummaryString = function (annotations) {
3621
+ var e_1, _a;
3622
+ var summary = [];
3623
+ var annotationTypes = ["error", "security", "warning", "info", "hint"];
3624
+ try {
3625
+ for (var annotationTypes_1 = __values(annotationTypes), annotationTypes_1_1 = annotationTypes_1.next(); !annotationTypes_1_1.done; annotationTypes_1_1 = annotationTypes_1.next()) {
3626
+ var annotationType = annotationTypes_1_1.value;
3627
+ if (!annotations[annotationType].length)
3628
+ continue;
3629
+ var label = annotations[annotationType].length === 1 ? GutterTooltip.annotationLabels[annotationType].singular : GutterTooltip.annotationLabels[annotationType].plural;
3630
+ summary.push("".concat(annotations[annotationType].length, " ").concat(label));
3631
+ }
3632
+ }
3633
+ catch (e_1_1) { e_1 = { error: e_1_1 }; }
3634
+ finally {
3635
+ try {
3636
+ if (annotationTypes_1_1 && !annotationTypes_1_1.done && (_a = annotationTypes_1.return)) _a.call(annotationTypes_1);
3637
+ }
3638
+ finally { if (e_1) throw e_1.error; }
3639
+ }
3640
+ return summary.join(", ");
3641
+ };
3642
+ return GutterTooltip;
3643
+}(Tooltip));
3644
+exports.GutterTooltip = GutterTooltip;
3645
+
3646
+});
3647
+
3648
+ace.define("ace/mouse/mouse_event",["require","exports","module","ace/lib/event","ace/lib/useragent"], function(require, exports, module){"use strict";
3649
+var event = require("../lib/event");
3650
+var useragent = require("../lib/useragent");
3651
+var MouseEvent = /** @class */ (function () {
3652
+ function MouseEvent(domEvent, editor) { this.speed; this.wheelX; this.wheelY;
3653
+ this.domEvent = domEvent;
3654
+ this.editor = editor;
3655
+ this.x = this.clientX = domEvent.clientX;
3656
+ this.y = this.clientY = domEvent.clientY;
3657
+ this.$pos = null;
3658
+ this.$inSelection = null;
3659
+ this.propagationStopped = false;
3660
+ this.defaultPrevented = false;
3661
+ }
3662
+ MouseEvent.prototype.stopPropagation = function () {
3663
+ event.stopPropagation(this.domEvent);
3664
+ this.propagationStopped = true;
3665
+ };
3666
+ MouseEvent.prototype.preventDefault = function () {
3667
+ event.preventDefault(this.domEvent);
3668
+ this.defaultPrevented = true;
3669
+ };
3670
+ MouseEvent.prototype.stop = function () {
3671
+ this.stopPropagation();
3672
+ this.preventDefault();
3673
+ };
3674
+ MouseEvent.prototype.getDocumentPosition = function () {
3675
+ if (this.$pos)
3676
+ return this.$pos;
3677
+ this.$pos = this.editor.renderer.screenToTextCoordinates(this.clientX, this.clientY);
3678
+ return this.$pos;
3679
+ };
3680
+ MouseEvent.prototype.getGutterRow = function () {
3681
+ var documentRow = this.getDocumentPosition().row;
3682
+ var screenRow = this.editor.session.documentToScreenRow(documentRow, 0);
3683
+ var screenTopRow = this.editor.session.documentToScreenRow(this.editor.renderer.$gutterLayer.$lines.get(0).row, 0);
3684
+ return screenRow - screenTopRow;
3685
+ };
3686
+ MouseEvent.prototype.inSelection = function () {
3687
+ if (this.$inSelection !== null)
3688
+ return this.$inSelection;
3689
+ var editor = this.editor;
3690
+ var selectionRange = editor.getSelectionRange();
3691
+ if (selectionRange.isEmpty())
3692
+ this.$inSelection = false;
3693
+ else {
3694
+ var pos = this.getDocumentPosition();
3695
+ this.$inSelection = selectionRange.contains(pos.row, pos.column);
3696
+ }
3697
+ return this.$inSelection;
3698
+ };
3699
+ MouseEvent.prototype.getButton = function () {
3700
+ return event.getButton(this.domEvent);
3701
+ };
3702
+ MouseEvent.prototype.getShiftKey = function () {
3703
+ return this.domEvent.shiftKey;
3704
+ };
3705
+ MouseEvent.prototype.getAccelKey = function () {
3706
+ return useragent.isMac ? this.domEvent.metaKey : this.domEvent.ctrlKey;
3707
+ };
3708
+ return MouseEvent;
3709
+}());
3710
+exports.MouseEvent = MouseEvent;
3711
+
3712
+});
3713
+
3714
+ace.define("ace/mouse/dragdrop_handler",["require","exports","module","ace/lib/dom","ace/lib/event","ace/lib/useragent"], function(require, exports, module){"use strict";
3715
+var dom = require("../lib/dom");
3716
+var event = require("../lib/event");
3717
+var useragent = require("../lib/useragent");
3718
+var AUTOSCROLL_DELAY = 200;
3719
+var SCROLL_CURSOR_DELAY = 200;
3720
+var SCROLL_CURSOR_HYSTERESIS = 5;
3721
+function DragdropHandler(mouseHandler) {
3722
+ var editor = mouseHandler.editor;
3723
+ var dragImage = dom.createElement("div");
3724
+ dragImage.style.cssText = "top:-100px;position:absolute;z-index:2147483647;opacity:0.5";
3725
+ dragImage.textContent = "\xa0";
3726
+ var exports = ["dragWait", "dragWaitEnd", "startDrag", "dragReadyEnd", "onMouseDrag"];
3727
+ exports.forEach(function (x) {
3728
+ mouseHandler[x] = this[x];
3729
+ }, this);
3730
+ editor.on("mousedown", this.onMouseDown.bind(mouseHandler));
3731
+ var mouseTarget = editor.container;
3732
+ var dragSelectionMarker, x, y;
3733
+ var timerId, range;
3734
+ var dragCursor, counter = 0;
3735
+ var dragOperation;
3736
+ var isInternal;
3737
+ var autoScrollStartTime;
3738
+ var cursorMovedTime;
3739
+ var cursorPointOnCaretMoved;
3740
+ this.onDragStart = function (e) {
3741
+ if (this.cancelDrag || !mouseTarget.draggable) {
3742
+ var self = this;
3743
+ setTimeout(function () {
3744
+ self.startSelect();
3745
+ self.captureMouse(e);
3746
+ }, 0);
3747
+ return e.preventDefault();
3748
+ }
3749
+ range = editor.getSelectionRange();
3750
+ var dataTransfer = e.dataTransfer;
3751
+ dataTransfer.effectAllowed = editor.getReadOnly() ? "copy" : "copyMove";
3752
+ editor.container.appendChild(dragImage);
3753
+ dataTransfer.setDragImage && dataTransfer.setDragImage(dragImage, 0, 0);
3754
+ setTimeout(function () {
3755
+ editor.container.removeChild(dragImage);
3756
+ });
3757
+ dataTransfer.clearData();
3758
+ dataTransfer.setData("Text", editor.session.getTextRange());
3759
+ isInternal = true;
3760
+ this.setState("drag");
3761
+ };
3762
+ this.onDragEnd = function (e) {
3763
+ mouseTarget.draggable = false;
3764
+ isInternal = false;
3765
+ this.setState(null);
3766
+ if (!editor.getReadOnly()) {
3767
+ var dropEffect = e.dataTransfer.dropEffect;
3768
+ if (!dragOperation && dropEffect == "move")
3769
+ editor.session.remove(editor.getSelectionRange());
3770
+ editor.$resetCursorStyle();
3771
+ }
3772
+ this.editor.unsetStyle("ace_dragging");
3773
+ this.editor.renderer.setCursorStyle("");
3774
+ };
3775
+ this.onDragEnter = function (e) {
3776
+ if (editor.getReadOnly() || !canAccept(e.dataTransfer))
3777
+ return;
3778
+ x = e.clientX;
3779
+ y = e.clientY;
3780
+ if (!dragSelectionMarker)
3781
+ addDragMarker();
3782
+ counter++;
3783
+ e.dataTransfer.dropEffect = dragOperation = getDropEffect(e);
3784
+ return event.preventDefault(e);
3785
+ };
3786
+ this.onDragOver = function (e) {
3787
+ if (editor.getReadOnly() || !canAccept(e.dataTransfer))
3788
+ return;
3789
+ x = e.clientX;
3790
+ y = e.clientY;
3791
+ if (!dragSelectionMarker) {
3792
+ addDragMarker();
3793
+ counter++;
3794
+ }
3795
+ if (onMouseMoveTimer !== null)
3796
+ onMouseMoveTimer = null;
3797
+ e.dataTransfer.dropEffect = dragOperation = getDropEffect(e);
3798
+ return event.preventDefault(e);
3799
+ };
3800
+ this.onDragLeave = function (e) {
3801
+ counter--;
3802
+ if (counter <= 0 && dragSelectionMarker) {
3803
+ clearDragMarker();
3804
+ dragOperation = null;
3805
+ return event.preventDefault(e);
3806
+ }
3807
+ };
3808
+ this.onDrop = function (e) {
3809
+ if (!dragCursor)
3810
+ return;
3811
+ var dataTransfer = e.dataTransfer;
3812
+ if (isInternal) {
3813
+ switch (dragOperation) {
3814
+ case "move":
3815
+ if (range.contains(dragCursor.row, dragCursor.column)) {
3816
+ range = {
3817
+ start: dragCursor,
3818
+ end: dragCursor
3819
+ };
3820
+ }
3821
+ else {
3822
+ range = editor.moveText(range, dragCursor);
3823
+ }
3824
+ break;
3825
+ case "copy":
3826
+ range = editor.moveText(range, dragCursor, true);
3827
+ break;
3828
+ }
3829
+ }
3830
+ else {
3831
+ var dropData = dataTransfer.getData('Text');
3832
+ range = {
3833
+ start: dragCursor,
3834
+ end: editor.session.insert(dragCursor, dropData)
3835
+ };
3836
+ editor.focus();
3837
+ dragOperation = null;
3838
+ }
3839
+ clearDragMarker();
3840
+ return event.preventDefault(e);
3841
+ };
3842
+ event.addListener(mouseTarget, "dragstart", this.onDragStart.bind(mouseHandler), editor);
3843
+ event.addListener(mouseTarget, "dragend", this.onDragEnd.bind(mouseHandler), editor);
3844
+ event.addListener(mouseTarget, "dragenter", this.onDragEnter.bind(mouseHandler), editor);
3845
+ event.addListener(mouseTarget, "dragover", this.onDragOver.bind(mouseHandler), editor);
3846
+ event.addListener(mouseTarget, "dragleave", this.onDragLeave.bind(mouseHandler), editor);
3847
+ event.addListener(mouseTarget, "drop", this.onDrop.bind(mouseHandler), editor);
3848
+ function scrollCursorIntoView(cursor, prevCursor) {
3849
+ var now = Date.now();
3850
+ var vMovement = !prevCursor || cursor.row != prevCursor.row;
3851
+ var hMovement = !prevCursor || cursor.column != prevCursor.column;
3852
+ if (!cursorMovedTime || vMovement || hMovement) {
3853
+ editor.moveCursorToPosition(cursor);
3854
+ cursorMovedTime = now;
3855
+ cursorPointOnCaretMoved = { x: x, y: y };
3856
+ }
3857
+ else {
3858
+ var distance = calcDistance(cursorPointOnCaretMoved.x, cursorPointOnCaretMoved.y, x, y);
3859
+ if (distance > SCROLL_CURSOR_HYSTERESIS) {
3860
+ cursorMovedTime = null;
3861
+ }
3862
+ else if (now - cursorMovedTime >= SCROLL_CURSOR_DELAY) {
3863
+ editor.renderer.scrollCursorIntoView();
3864
+ cursorMovedTime = null;
3865
+ }
3866
+ }
3867
+ }
3868
+ function autoScroll(cursor, prevCursor) {
3869
+ var now = Date.now();
3870
+ var lineHeight = editor.renderer.layerConfig.lineHeight;
3871
+ var characterWidth = editor.renderer.layerConfig.characterWidth;
3872
+ var editorRect = editor.renderer.scroller.getBoundingClientRect();
3873
+ var offsets = {
3874
+ x: {
3875
+ left: x - editorRect.left,
3876
+ right: editorRect.right - x
3877
+ },
3878
+ y: {
3879
+ top: y - editorRect.top,
3880
+ bottom: editorRect.bottom - y
3881
+ }
3882
+ };
3883
+ var nearestXOffset = Math.min(offsets.x.left, offsets.x.right);
3884
+ var nearestYOffset = Math.min(offsets.y.top, offsets.y.bottom);
3885
+ var scrollCursor = { row: cursor.row, column: cursor.column };
3886
+ if (nearestXOffset / characterWidth <= 2) {
3887
+ scrollCursor.column += (offsets.x.left < offsets.x.right ? -3 : +2);
3888
+ }
3889
+ if (nearestYOffset / lineHeight <= 1) {
3890
+ scrollCursor.row += (offsets.y.top < offsets.y.bottom ? -1 : +1);
3891
+ }
3892
+ var vScroll = cursor.row != scrollCursor.row;
3893
+ var hScroll = cursor.column != scrollCursor.column;
3894
+ var vMovement = !prevCursor || cursor.row != prevCursor.row;
3895
+ if (vScroll || (hScroll && !vMovement)) {
3896
+ if (!autoScrollStartTime)
3897
+ autoScrollStartTime = now;
3898
+ else if (now - autoScrollStartTime >= AUTOSCROLL_DELAY)
3899
+ editor.renderer.scrollCursorIntoView(scrollCursor);
3900
+ }
3901
+ else {
3902
+ autoScrollStartTime = null;
3903
+ }
3904
+ }
3905
+ function onDragInterval() {
3906
+ var prevCursor = dragCursor;
3907
+ dragCursor = editor.renderer.screenToTextCoordinates(x, y);
3908
+ scrollCursorIntoView(dragCursor, prevCursor);
3909
+ autoScroll(dragCursor, prevCursor);
3910
+ }
3911
+ function addDragMarker() {
3912
+ range = editor.selection.toOrientedRange();
3913
+ dragSelectionMarker = editor.session.addMarker(range, "ace_selection", editor.getSelectionStyle());
3914
+ editor.clearSelection();
3915
+ if (editor.isFocused())
3916
+ editor.renderer.$cursorLayer.setBlinking(false);
3917
+ clearInterval(timerId);
3918
+ onDragInterval();
3919
+ timerId = setInterval(onDragInterval, 20);
3920
+ counter = 0;
3921
+ event.addListener(document, "mousemove", onMouseMove);
3922
+ }
3923
+ function clearDragMarker() {
3924
+ clearInterval(timerId);
3925
+ editor.session.removeMarker(dragSelectionMarker);
3926
+ dragSelectionMarker = null;
3927
+ editor.selection.fromOrientedRange(range);
3928
+ if (editor.isFocused() && !isInternal)
3929
+ editor.$resetCursorStyle();
3930
+ range = null;
3931
+ dragCursor = null;
3932
+ counter = 0;
3933
+ autoScrollStartTime = null;
3934
+ cursorMovedTime = null;
3935
+ event.removeListener(document, "mousemove", onMouseMove);
3936
+ }
3937
+ var onMouseMoveTimer = null;
3938
+ function onMouseMove() {
3939
+ if (onMouseMoveTimer == null) {
3940
+ onMouseMoveTimer = setTimeout(function () {
3941
+ if (onMouseMoveTimer != null && dragSelectionMarker)
3942
+ clearDragMarker();
3943
+ }, 20);
3944
+ }
3945
+ }
3946
+ function canAccept(dataTransfer) {
3947
+ var types = dataTransfer.types;
3948
+ return !types || Array.prototype.some.call(types, function (type) {
3949
+ return type == 'text/plain' || type == 'Text';
3950
+ });
3951
+ }
3952
+ function getDropEffect(e) {
3953
+ var copyAllowed = ['copy', 'copymove', 'all', 'uninitialized'];
3954
+ var moveAllowed = ['move', 'copymove', 'linkmove', 'all', 'uninitialized'];
3955
+ var copyModifierState = useragent.isMac ? e.altKey : e.ctrlKey;
3956
+ var effectAllowed = "uninitialized";
3957
+ try {
3958
+ effectAllowed = e.dataTransfer.effectAllowed.toLowerCase();
3959
+ }
3960
+ catch (e) { }
3961
+ var dropEffect = "none";
3962
+ if (copyModifierState && copyAllowed.indexOf(effectAllowed) >= 0)
3963
+ dropEffect = "copy";
3964
+ else if (moveAllowed.indexOf(effectAllowed) >= 0)
3965
+ dropEffect = "move";
3966
+ else if (copyAllowed.indexOf(effectAllowed) >= 0)
3967
+ dropEffect = "copy";
3968
+ return dropEffect;
3969
+ }
3970
+}
3971
+(function () {
3972
+ this.dragWait = function () {
3973
+ var interval = Date.now() - this.mousedownEvent.time;
3974
+ if (interval > this.editor.getDragDelay())
3975
+ this.startDrag();
3976
+ };
3977
+ this.dragWaitEnd = function () {
3978
+ var target = this.editor.container;
3979
+ target.draggable = false;
3980
+ this.startSelect(this.mousedownEvent.getDocumentPosition());
3981
+ this.selectEnd();
3982
+ };
3983
+ this.dragReadyEnd = function (e) {
3984
+ this.editor.$resetCursorStyle();
3985
+ this.editor.unsetStyle("ace_dragging");
3986
+ this.editor.renderer.setCursorStyle("");
3987
+ this.dragWaitEnd();
3988
+ };
3989
+ this.startDrag = function () {
3990
+ this.cancelDrag = false;
3991
+ var editor = this.editor;
3992
+ var target = editor.container;
3993
+ target.draggable = true;
3994
+ editor.renderer.$cursorLayer.setBlinking(false);
3995
+ editor.setStyle("ace_dragging");
3996
+ var cursorStyle = useragent.isWin ? "default" : "move";
3997
+ editor.renderer.setCursorStyle(cursorStyle);
3998
+ this.setState("dragReady");
3999
+ };
4000
+ this.onMouseDrag = function (e) {
4001
+ var target = this.editor.container;
4002
+ if (useragent.isIE && this.state == "dragReady") {
4003
+ var distance = calcDistance(this.mousedownEvent.x, this.mousedownEvent.y, this.x, this.y);
4004
+ if (distance > 3)
4005
+ target.dragDrop();
4006
+ }
4007
+ if (this.state === "dragWait") {
4008
+ var distance = calcDistance(this.mousedownEvent.x, this.mousedownEvent.y, this.x, this.y);
4009
+ if (distance > 0) {
4010
+ target.draggable = false;
4011
+ this.startSelect(this.mousedownEvent.getDocumentPosition());
4012
+ }
4013
+ }
4014
+ };
4015
+ this.onMouseDown = function (e) {
4016
+ if (!this.$dragEnabled)
4017
+ return;
4018
+ this.mousedownEvent = e;
4019
+ var editor = this.editor;
4020
+ var inSelection = e.inSelection();
4021
+ var button = e.getButton();
4022
+ var clickCount = e.domEvent.detail || 1;
4023
+ if (clickCount === 1 && button === 0 && inSelection) {
4024
+ if (e.editor.inMultiSelectMode && (e.getAccelKey() || e.getShiftKey()))
4025
+ return;
4026
+ this.mousedownEvent.time = Date.now();
4027
+ var eventTarget = e.domEvent.target || e.domEvent.srcElement;
4028
+ if ("unselectable" in eventTarget)
4029
+ eventTarget.unselectable = "on";
4030
+ if (editor.getDragDelay()) {
4031
+ if (useragent.isWebKit) {
4032
+ this.cancelDrag = true;
4033
+ var mouseTarget = editor.container;
4034
+ mouseTarget.draggable = true;
4035
+ }
4036
+ this.setState("dragWait");
4037
+ }
4038
+ else {
4039
+ this.startDrag();
4040
+ }
4041
+ this.captureMouse(e, this.onMouseDrag.bind(this));
4042
+ e.defaultPrevented = true;
4043
+ }
4044
+ };
4045
+}).call(DragdropHandler.prototype);
4046
+function calcDistance(ax, ay, bx, by) {
4047
+ return Math.sqrt(Math.pow(bx - ax, 2) + Math.pow(by - ay, 2));
4048
+}
4049
+exports.DragdropHandler = DragdropHandler;
4050
+
4051
+});
4052
+
4053
+ace.define("ace/mouse/touch_handler",["require","exports","module","ace/mouse/mouse_event","ace/lib/event","ace/lib/dom"], function(require, exports, module){"use strict";
4054
+var MouseEvent = require("./mouse_event").MouseEvent;
4055
+var event = require("../lib/event");
4056
+var dom = require("../lib/dom");
4057
+exports.addTouchListeners = function (el, editor) {
4058
+ var mode = "scroll";
4059
+ var startX;
4060
+ var startY;
4061
+ var touchStartT;
4062
+ var lastT;
4063
+ var longTouchTimer;
4064
+ var animationTimer;
4065
+ var animationSteps = 0;
4066
+ var pos;
4067
+ var clickCount = 0;
4068
+ var vX = 0;
4069
+ var vY = 0;
4070
+ var pressed;
4071
+ var contextMenu;
4072
+ function createContextMenu() {
4073
+ var clipboard = window.navigator && window.navigator.clipboard;
4074
+ var isOpen = false;
4075
+ var updateMenu = function () {
4076
+ var selected = editor.getCopyText();
4077
+ var hasUndo = editor.session.getUndoManager().hasUndo();
4078
+ contextMenu.replaceChild(dom.buildDom(isOpen ? ["span",
4079
+ !selected && canExecuteCommand("selectall") && ["span", { class: "ace_mobile-button", action: "selectall" }, "Select All"],
4080
+ selected && canExecuteCommand("copy") && ["span", { class: "ace_mobile-button", action: "copy" }, "Copy"],
4081
+ selected && canExecuteCommand("cut") && ["span", { class: "ace_mobile-button", action: "cut" }, "Cut"],
4082
+ clipboard && canExecuteCommand("paste") && ["span", { class: "ace_mobile-button", action: "paste" }, "Paste"],
4083
+ hasUndo && canExecuteCommand("undo") && ["span", { class: "ace_mobile-button", action: "undo" }, "Undo"],
4084
+ canExecuteCommand("find") && ["span", { class: "ace_mobile-button", action: "find" }, "Find"],
4085
+ canExecuteCommand("openCommandPalette") && ["span", { class: "ace_mobile-button", action: "openCommandPalette" }, "Palette"]
4086
+ ] : ["span"]), contextMenu.firstChild);
4087
+ };
4088
+ var canExecuteCommand = function (/** @type {string} */ cmd) {
4089
+ return editor.commands.canExecute(cmd, editor);
4090
+ };
4091
+ var handleClick = function (e) {
4092
+ var action = e.target.getAttribute("action");
4093
+ if (action == "more" || !isOpen) {
4094
+ isOpen = !isOpen;
4095
+ return updateMenu();
4096
+ }
4097
+ if (action == "paste") {
4098
+ clipboard.readText().then(function (text) {
4099
+ editor.execCommand(action, text);
4100
+ });
4101
+ }
4102
+ else if (action) {
4103
+ if (action == "cut" || action == "copy") {
4104
+ if (clipboard)
4105
+ clipboard.writeText(editor.getCopyText());
4106
+ else
4107
+ document.execCommand("copy");
4108
+ }
4109
+ editor.execCommand(action);
4110
+ }
4111
+ contextMenu.firstChild.style.display = "none";
4112
+ isOpen = false;
4113
+ if (action != "openCommandPalette")
4114
+ editor.focus();
4115
+ };
4116
+ contextMenu = dom.buildDom(["div",
4117
+ {
4118
+ class: "ace_mobile-menu",
4119
+ ontouchstart: function (e) {
4120
+ mode = "menu";
4121
+ e.stopPropagation();
4122
+ e.preventDefault();
4123
+ editor.textInput.focus();
4124
+ },
4125
+ ontouchend: function (e) {
4126
+ e.stopPropagation();
4127
+ e.preventDefault();
4128
+ handleClick(e);
4129
+ },
4130
+ onclick: handleClick
4131
+ },
4132
+ ["span"],
4133
+ ["span", { class: "ace_mobile-button", action: "more" }, "..."]
4134
+ ], editor.container);
4135
+ }
4136
+ function showContextMenu() {
4137
+ if (!editor.getOption("enableMobileMenu")) {
4138
+ if (contextMenu) {
4139
+ hideContextMenu();
4140
+ }
4141
+ return;
4142
+ }
4143
+ if (!contextMenu)
4144
+ createContextMenu();
4145
+ var cursor = editor.selection.cursor;
4146
+ var pagePos = editor.renderer.textToScreenCoordinates(cursor.row, cursor.column);
4147
+ var leftOffset = editor.renderer.textToScreenCoordinates(0, 0).pageX;
4148
+ var scrollLeft = editor.renderer.scrollLeft;
4149
+ var rect = editor.container.getBoundingClientRect();
4150
+ contextMenu.style.top = pagePos.pageY - rect.top - 3 + "px";
4151
+ if (pagePos.pageX - rect.left < rect.width - 70) {
4152
+ contextMenu.style.left = "";
4153
+ contextMenu.style.right = "10px";
4154
+ }
4155
+ else {
4156
+ contextMenu.style.right = "";
4157
+ contextMenu.style.left = leftOffset + scrollLeft - rect.left + "px";
4158
+ }
4159
+ contextMenu.style.display = "";
4160
+ contextMenu.firstChild.style.display = "none";
4161
+ editor.on("input", hideContextMenu);
4162
+ }
4163
+ function hideContextMenu(e) {
4164
+ if (contextMenu)
4165
+ contextMenu.style.display = "none";
4166
+ editor.off("input", hideContextMenu);
4167
+ }
4168
+ function handleLongTap() {
4169
+ longTouchTimer = null;
4170
+ clearTimeout(longTouchTimer);
4171
+ var range = editor.selection.getRange();
4172
+ var inSelection = range.contains(pos.row, pos.column);
4173
+ if (range.isEmpty() || !inSelection) {
4174
+ editor.selection.moveToPosition(pos);
4175
+ editor.selection.selectWord();
4176
+ }
4177
+ mode = "wait";
4178
+ showContextMenu();
4179
+ }
4180
+ function switchToSelectionMode() {
4181
+ longTouchTimer = null;
4182
+ clearTimeout(longTouchTimer);
4183
+ editor.selection.moveToPosition(pos);
4184
+ var range = clickCount >= 2
4185
+ ? editor.selection.getLineRange(pos.row)
4186
+ : editor.session.getBracketRange(pos);
4187
+ if (range && !range.isEmpty()) {
4188
+ editor.selection.setRange(range);
4189
+ }
4190
+ else {
4191
+ editor.selection.selectWord();
4192
+ }
4193
+ mode = "wait";
4194
+ }
4195
+ event.addListener(el, "contextmenu", function (e) {
4196
+ if (!pressed)
4197
+ return;
4198
+ var textarea = editor.textInput.getElement();
4199
+ textarea.focus();
4200
+ }, editor);
4201
+ event.addListener(el, "touchstart", function (e) {
4202
+ var touches = e.touches;
4203
+ if (longTouchTimer || touches.length > 1) {
4204
+ clearTimeout(longTouchTimer);
4205
+ longTouchTimer = null;
4206
+ touchStartT = -1;
4207
+ mode = "zoom";
4208
+ return;
4209
+ }
4210
+ pressed = editor.$mouseHandler.isMousePressed = true;
4211
+ var h = editor.renderer.layerConfig.lineHeight;
4212
+ var w = editor.renderer.layerConfig.lineHeight;
4213
+ var t = e.timeStamp;
4214
+ lastT = t;
4215
+ var touchObj = touches[0];
4216
+ var x = touchObj.clientX;
4217
+ var y = touchObj.clientY;
4218
+ if (Math.abs(startX - x) + Math.abs(startY - y) > h)
4219
+ touchStartT = -1;
4220
+ startX = e.clientX = x;
4221
+ startY = e.clientY = y;
4222
+ vX = vY = 0;
4223
+ var ev = new MouseEvent(e, editor);
4224
+ pos = ev.getDocumentPosition();
4225
+ if (t - touchStartT < 500 && touches.length == 1 && !animationSteps) {
4226
+ clickCount++;
4227
+ e.preventDefault();
4228
+ e.button = 0;
4229
+ switchToSelectionMode();
4230
+ }
4231
+ else {
4232
+ clickCount = 0;
4233
+ var cursor = editor.selection.cursor;
4234
+ var anchor = editor.selection.isEmpty() ? cursor : editor.selection.anchor;
4235
+ var cursorPos = editor.renderer.$cursorLayer.getPixelPosition(cursor, true);
4236
+ var anchorPos = editor.renderer.$cursorLayer.getPixelPosition(anchor, true);
4237
+ var rect = editor.renderer.scroller.getBoundingClientRect();
4238
+ var offsetTop = editor.renderer.layerConfig.offset;
4239
+ var offsetLeft = editor.renderer.scrollLeft;
4240
+ var weightedDistance = function (x, y) {
4241
+ x = x / w;
4242
+ y = y / h - 0.75;
4243
+ return x * x + y * y;
4244
+ };
4245
+ if (e.clientX < rect.left) {
4246
+ mode = "zoom";
4247
+ return;
4248
+ }
4249
+ var diff1 = weightedDistance(e.clientX - rect.left - cursorPos.left + offsetLeft, e.clientY - rect.top - cursorPos.top + offsetTop);
4250
+ var diff2 = weightedDistance(e.clientX - rect.left - anchorPos.left + offsetLeft, e.clientY - rect.top - anchorPos.top + offsetTop);
4251
+ if (diff1 < 3.5 && diff2 < 3.5)
4252
+ mode = diff1 > diff2 ? "cursor" : "anchor";
4253
+ if (diff2 < 3.5)
4254
+ mode = "anchor";
4255
+ else if (diff1 < 3.5)
4256
+ mode = "cursor";
4257
+ else
4258
+ mode = "scroll";
4259
+ longTouchTimer = setTimeout(handleLongTap, 450);
4260
+ }
4261
+ touchStartT = t;
4262
+ }, editor);
4263
+ event.addListener(el, "touchend", function (e) {
4264
+ pressed = editor.$mouseHandler.isMousePressed = false;
4265
+ if (animationTimer)
4266
+ clearInterval(animationTimer);
4267
+ if (mode == "zoom") {
4268
+ mode = "";
4269
+ animationSteps = 0;
4270
+ }
4271
+ else if (longTouchTimer) {
4272
+ editor.selection.moveToPosition(pos);
4273
+ animationSteps = 0;
4274
+ showContextMenu();
4275
+ }
4276
+ else if (mode == "scroll") {
4277
+ animate();
4278
+ hideContextMenu();
4279
+ }
4280
+ else {
4281
+ showContextMenu();
4282
+ }
4283
+ clearTimeout(longTouchTimer);
4284
+ longTouchTimer = null;
4285
+ }, editor);
4286
+ event.addListener(el, "touchmove", function (e) {
4287
+ if (longTouchTimer) {
4288
+ clearTimeout(longTouchTimer);
4289
+ longTouchTimer = null;
4290
+ }
4291
+ var touches = e.touches;
4292
+ if (touches.length > 1 || mode == "zoom")
4293
+ return;
4294
+ var touchObj = touches[0];
4295
+ var wheelX = startX - touchObj.clientX;
4296
+ var wheelY = startY - touchObj.clientY;
4297
+ if (mode == "wait") {
4298
+ if (wheelX * wheelX + wheelY * wheelY > 4)
4299
+ mode = "cursor";
4300
+ else
4301
+ return e.preventDefault();
4302
+ }
4303
+ startX = touchObj.clientX;
4304
+ startY = touchObj.clientY;
4305
+ e.clientX = touchObj.clientX;
4306
+ e.clientY = touchObj.clientY;
4307
+ var t = e.timeStamp;
4308
+ var dt = t - lastT;
4309
+ lastT = t;
4310
+ if (mode == "scroll") {
4311
+ var mouseEvent = new MouseEvent(e, editor);
4312
+ mouseEvent.speed = 1;
4313
+ mouseEvent.wheelX = wheelX;
4314
+ mouseEvent.wheelY = wheelY;
4315
+ if (10 * Math.abs(wheelX) < Math.abs(wheelY))
4316
+ wheelX = 0;
4317
+ if (10 * Math.abs(wheelY) < Math.abs(wheelX))
4318
+ wheelY = 0;
4319
+ if (dt != 0) {
4320
+ vX = wheelX / dt;
4321
+ vY = wheelY / dt;
4322
+ }
4323
+ editor._emit("mousewheel", mouseEvent);
4324
+ if (!mouseEvent.propagationStopped) {
4325
+ vX = vY = 0;
4326
+ }
4327
+ }
4328
+ else {
4329
+ var ev = new MouseEvent(e, editor);
4330
+ var pos = ev.getDocumentPosition();
4331
+ if (mode == "cursor")
4332
+ editor.selection.moveCursorToPosition(pos);
4333
+ else if (mode == "anchor")
4334
+ editor.selection.setSelectionAnchor(pos.row, pos.column);
4335
+ editor.renderer.scrollCursorIntoView(pos);
4336
+ e.preventDefault();
4337
+ }
4338
+ }, editor);
4339
+ function animate() {
4340
+ animationSteps += 60;
4341
+ animationTimer = setInterval(function () {
4342
+ if (animationSteps-- <= 0) {
4343
+ clearInterval(animationTimer);
4344
+ animationTimer = null;
4345
+ }
4346
+ if (Math.abs(vX) < 0.01)
4347
+ vX = 0;
4348
+ if (Math.abs(vY) < 0.01)
4349
+ vY = 0;
4350
+ if (animationSteps < 20)
4351
+ vX = 0.9 * vX;
4352
+ if (animationSteps < 20)
4353
+ vY = 0.9 * vY;
4354
+ var oldScrollTop = editor.session.getScrollTop();
4355
+ editor.renderer.scrollBy(10 * vX, 10 * vY);
4356
+ if (oldScrollTop == editor.session.getScrollTop())
4357
+ animationSteps = 0;
4358
+ }, 10);
4359
+ }
4360
+};
4361
+
4362
+});
4363
+
4364
+ace.define("ace/mouse/mouse_handler",["require","exports","module","ace/lib/event","ace/lib/useragent","ace/mouse/default_handlers","ace/mouse/default_gutter_handler","ace/mouse/mouse_event","ace/mouse/dragdrop_handler","ace/mouse/touch_handler","ace/config"], function(require, exports, module){"use strict";
4365
+var event = require("../lib/event");
4366
+var useragent = require("../lib/useragent");
4367
+var DefaultHandlers = require("./default_handlers").DefaultHandlers;
4368
+var DefaultGutterHandler = require("./default_gutter_handler").GutterHandler;
4369
+var MouseEvent = require("./mouse_event").MouseEvent;
4370
+var DragdropHandler = require("./dragdrop_handler").DragdropHandler;
4371
+var addTouchListeners = require("./touch_handler").addTouchListeners;
4372
+var config = require("../config");
4373
+var MouseHandler = /** @class */ (function () {
4374
+ function MouseHandler(editor) { this.$dragDelay; this.$dragEnabled; this.$mouseMoved; this.mouseEvent; this.$focusTimeout;
4375
+ var _self = this;
4376
+ this.editor = editor;
4377
+ new DefaultHandlers(this);
4378
+ new DefaultGutterHandler(this);
4379
+ new DragdropHandler(this);
4380
+ var focusEditor = function (e) {
4381
+ var windowBlurred = !document.hasFocus || !document.hasFocus()
4382
+ || !editor.isFocused() && document.activeElement == (editor.textInput && editor.textInput.getElement());
4383
+ if (windowBlurred)
4384
+ window.focus();
4385
+ editor.focus();
4386
+ setTimeout(function () {
4387
+ if (!editor.isFocused())
4388
+ editor.focus();
4389
+ });
4390
+ };
4391
+ var mouseTarget = editor.renderer.getMouseEventTarget();
4392
+ event.addListener(mouseTarget, "click", this.onMouseEvent.bind(this, "click"), editor);
4393
+ event.addListener(mouseTarget, "mousemove", this.onMouseMove.bind(this, "mousemove"), editor);
4394
+ event.addMultiMouseDownListener([
4395
+ mouseTarget,
4396
+ editor.renderer.scrollBarV && editor.renderer.scrollBarV.inner,
4397
+ editor.renderer.scrollBarH && editor.renderer.scrollBarH.inner,
4398
+ editor.textInput && editor.textInput.getElement()
4399
+ ].filter(Boolean), [400, 300, 250], this, "onMouseEvent", editor);
4400
+ event.addMouseWheelListener(editor.container, this.onMouseWheel.bind(this, "mousewheel"), editor);
4401
+ addTouchListeners(editor.container, editor);
4402
+ var gutterEl = editor.renderer.$gutter;
4403
+ event.addListener(gutterEl, "mousedown", this.onMouseEvent.bind(this, "guttermousedown"), editor);
4404
+ event.addListener(gutterEl, "click", this.onMouseEvent.bind(this, "gutterclick"), editor);
4405
+ event.addListener(gutterEl, "dblclick", this.onMouseEvent.bind(this, "gutterdblclick"), editor);
4406
+ event.addListener(gutterEl, "mousemove", this.onMouseEvent.bind(this, "guttermousemove"), editor);
4407
+ event.addListener(mouseTarget, "mousedown", focusEditor, editor);
4408
+ event.addListener(gutterEl, "mousedown", focusEditor, editor);
4409
+ if (useragent.isIE && editor.renderer.scrollBarV) {
4410
+ event.addListener(editor.renderer.scrollBarV.element, "mousedown", focusEditor, editor);
4411
+ event.addListener(editor.renderer.scrollBarH.element, "mousedown", focusEditor, editor);
4412
+ }
4413
+ editor.on("mousemove", function (e) {
4414
+ if (_self.state || _self.$dragDelay || !_self.$dragEnabled)
4415
+ return;
4416
+ var character = editor.renderer.screenToTextCoordinates(e.x, e.y);
4417
+ var range = editor.session.selection.getRange();
4418
+ var renderer = editor.renderer;
4419
+ if (!range.isEmpty() && range.insideStart(character.row, character.column)) {
4420
+ renderer.setCursorStyle("default");
4421
+ }
4422
+ else {
4423
+ renderer.setCursorStyle("");
4424
+ }
4425
+ }, //@ts-expect-error TODO: seems mistyping - should be boolean
4426
+ editor);
4427
+ }
4428
+ MouseHandler.prototype.onMouseEvent = function (name, e) {
4429
+ if (!this.editor.session)
4430
+ return;
4431
+ this.editor._emit(name, new MouseEvent(e, this.editor));
4432
+ };
4433
+ MouseHandler.prototype.onMouseMove = function (name, e) {
4434
+ var listeners = this.editor._eventRegistry && this.editor._eventRegistry.mousemove;
4435
+ if (!listeners || !listeners.length)
4436
+ return;
4437
+ this.editor._emit(name, new MouseEvent(e, this.editor));
4438
+ };
4439
+ MouseHandler.prototype.onMouseWheel = function (name, e) {
4440
+ var mouseEvent = new MouseEvent(e, this.editor);
4441
+ mouseEvent.speed = this.$scrollSpeed * 2;
4442
+ mouseEvent.wheelX = e.wheelX;
4443
+ mouseEvent.wheelY = e.wheelY;
4444
+ this.editor._emit(name, mouseEvent);
4445
+ };
4446
+ MouseHandler.prototype.setState = function (state) {
4447
+ this.state = state;
4448
+ };
4449
+ MouseHandler.prototype.captureMouse = function (ev, mouseMoveHandler) {
4450
+ this.x = ev.x;
4451
+ this.y = ev.y;
4452
+ this.isMousePressed = true;
4453
+ var editor = this.editor;
4454
+ var renderer = this.editor.renderer;
4455
+ renderer.$isMousePressed = true;
4456
+ var self = this;
4457
+ var onMouseMove = function (e) {
4458
+ if (!e)
4459
+ return;
4460
+ if (useragent.isWebKit && !e.which && self.releaseMouse)
4461
+ return self.releaseMouse();
4462
+ self.x = e.clientX;
4463
+ self.y = e.clientY;
4464
+ mouseMoveHandler && mouseMoveHandler(e);
4465
+ self.mouseEvent = new MouseEvent(e, self.editor);
4466
+ self.$mouseMoved = true;
4467
+ };
4468
+ var onCaptureEnd = function (e) {
4469
+ editor.off("beforeEndOperation", onOperationEnd);
4470
+ clearInterval(timerId);
4471
+ if (editor.session)
4472
+ onCaptureInterval();
4473
+ self[self.state + "End"] && self[self.state + "End"](e);
4474
+ self.state = "";
4475
+ self.isMousePressed = renderer.$isMousePressed = false;
4476
+ if (renderer.$keepTextAreaAtCursor)
4477
+ renderer.$moveTextAreaToCursor();
4478
+ self.$onCaptureMouseMove = self.releaseMouse = null;
4479
+ e && self.onMouseEvent("mouseup", e);
4480
+ editor.endOperation();
4481
+ };
4482
+ var onCaptureInterval = function () {
4483
+ self[self.state] && self[self.state]();
4484
+ self.$mouseMoved = false;
4485
+ };
4486
+ if (useragent.isOldIE && ev.domEvent.type == "dblclick") {
4487
+ return setTimeout(function () { onCaptureEnd(ev); });
4488
+ }
4489
+ var onOperationEnd = function (e) {
4490
+ if (!self.releaseMouse)
4491
+ return;
4492
+ if (editor.curOp.command.name && editor.curOp.selectionChanged) {
4493
+ self[self.state + "End"] && self[self.state + "End"]();
4494
+ self.state = "";
4495
+ self.releaseMouse();
4496
+ }
4497
+ };
4498
+ editor.on("beforeEndOperation", onOperationEnd);
4499
+ editor.startOperation({ command: { name: "mouse" } });
4500
+ self.$onCaptureMouseMove = onMouseMove;
4501
+ self.releaseMouse = event.capture(this.editor.container, onMouseMove, onCaptureEnd);
4502
+ var timerId = setInterval(onCaptureInterval, 20);
4503
+ };
4504
+ MouseHandler.prototype.cancelContextMenu = function () {
4505
+ var stop = function (e) {
4506
+ if (e && e.domEvent && e.domEvent.type != "contextmenu")
4507
+ return;
4508
+ this.editor.off("nativecontextmenu", stop);
4509
+ if (e && e.domEvent)
4510
+ event.stopEvent(e.domEvent);
4511
+ }.bind(this);
4512
+ setTimeout(stop, 10);
4513
+ this.editor.on("nativecontextmenu", stop);
4514
+ };
4515
+ MouseHandler.prototype.destroy = function () {
4516
+ if (this.releaseMouse)
4517
+ this.releaseMouse();
4518
+ };
4519
+ return MouseHandler;
4520
+}());
4521
+MouseHandler.prototype.releaseMouse = null;
4522
+config.defineOptions(MouseHandler.prototype, "mouseHandler", {
4523
+ scrollSpeed: { initialValue: 2 },
4524
+ dragDelay: { initialValue: (useragent.isMac ? 150 : 0) },
4525
+ dragEnabled: { initialValue: true },
4526
+ focusTimeout: { initialValue: 0 },
4527
+ tooltipFollowsMouse: { initialValue: true }
4528
+});
4529
+exports.MouseHandler = MouseHandler;
4530
+
4531
+});
4532
+
4533
+ace.define("ace/mouse/fold_handler",["require","exports","module","ace/lib/dom"], function(require, exports, module){"use strict";
4534
+var dom = require("../lib/dom");
4535
+var FoldHandler = /** @class */ (function () {
4536
+ function FoldHandler(editor) {
4537
+ editor.on("click", function (e) {
4538
+ var position = e.getDocumentPosition();
4539
+ var session = editor.session;
4540
+ var fold = session.getFoldAt(position.row, position.column, 1);
4541
+ if (fold) {
4542
+ if (e.getAccelKey())
4543
+ session.removeFold(fold);
4544
+ else
4545
+ session.expandFold(fold);
4546
+ e.stop();
4547
+ }
4548
+ var target = e.domEvent && e.domEvent.target;
4549
+ if (target && dom.hasCssClass(target, "ace_inline_button")) {
4550
+ if (dom.hasCssClass(target, "ace_toggle_wrap")) {
4551
+ session.setOption("wrap", !session.getUseWrapMode());
4552
+ editor.renderer.scrollCursorIntoView();
4553
+ }
4554
+ }
4555
+ });
4556
+ editor.on("gutterclick", function (e) {
4557
+ var gutterRegion = editor.renderer.$gutterLayer.getRegion(e);
4558
+ if (gutterRegion == "foldWidgets") {
4559
+ var row = e.getDocumentPosition().row;
4560
+ var session = editor.session;
4561
+ if (session.foldWidgets && session.foldWidgets[row])
4562
+ editor.session.onFoldWidgetClick(row, e);
4563
+ if (!editor.isFocused())
4564
+ editor.focus();
4565
+ e.stop();
4566
+ }
4567
+ });
4568
+ editor.on("gutterdblclick", function (e) {
4569
+ var gutterRegion = editor.renderer.$gutterLayer.getRegion(e);
4570
+ if (gutterRegion == "foldWidgets") {
4571
+ var row = e.getDocumentPosition().row;
4572
+ var session = editor.session;
4573
+ var data = session.getParentFoldRangeData(row, true);
4574
+ var range = data.range || data.firstRange;
4575
+ if (range) {
4576
+ row = range.start.row;
4577
+ var fold = session.getFoldAt(row, session.getLine(row).length, 1);
4578
+ if (fold) {
4579
+ session.removeFold(fold);
4580
+ }
4581
+ else {
4582
+ session.addFold("...", range);
4583
+ editor.renderer.scrollCursorIntoView({ row: range.start.row, column: 0 });
4584
+ }
4585
+ }
4586
+ e.stop();
4587
+ }
4588
+ });
4589
+ }
4590
+ return FoldHandler;
4591
+}());
4592
+exports.FoldHandler = FoldHandler;
4593
+
4594
+});
4595
+
4596
+ace.define("ace/keyboard/keybinding",["require","exports","module","ace/lib/keys","ace/lib/event"], function(require, exports, module){"use strict";
4597
+var keyUtil = require("../lib/keys");
4598
+var event = require("../lib/event");
4599
+var KeyBinding = /** @class */ (function () {
4600
+ function KeyBinding(editor) {
4601
+ this.$editor = editor;
4602
+ this.$data = { editor: editor };
4603
+ this.$handlers = [];
4604
+ this.setDefaultHandler(editor.commands);
4605
+ }
4606
+ KeyBinding.prototype.setDefaultHandler = function (kb) {
4607
+ this.removeKeyboardHandler(this.$defaultHandler);
4608
+ this.$defaultHandler = kb;
4609
+ this.addKeyboardHandler(kb, 0);
4610
+ };
4611
+ KeyBinding.prototype.setKeyboardHandler = function (kb) {
4612
+ var h = this.$handlers;
4613
+ if (h[h.length - 1] == kb)
4614
+ return;
4615
+ while (h[h.length - 1] && h[h.length - 1] != this.$defaultHandler)
4616
+ this.removeKeyboardHandler(h[h.length - 1]);
4617
+ this.addKeyboardHandler(kb, 1);
4618
+ };
4619
+ KeyBinding.prototype.addKeyboardHandler = function (kb, pos) {
4620
+ if (!kb)
4621
+ return;
4622
+ if (typeof kb == "function" && !kb.handleKeyboard)
4623
+ kb.handleKeyboard = kb;
4624
+ var i = this.$handlers.indexOf(kb);
4625
+ if (i != -1)
4626
+ this.$handlers.splice(i, 1);
4627
+ if (pos == undefined)
4628
+ this.$handlers.push(kb);
4629
+ else
4630
+ this.$handlers.splice(pos, 0, kb);
4631
+ if (i == -1 && kb.attach)
4632
+ kb.attach(this.$editor);
4633
+ };
4634
+ KeyBinding.prototype.removeKeyboardHandler = function (kb) {
4635
+ var i = this.$handlers.indexOf(kb);
4636
+ if (i == -1)
4637
+ return false;
4638
+ this.$handlers.splice(i, 1);
4639
+ kb.detach && kb.detach(this.$editor);
4640
+ return true;
4641
+ };
4642
+ KeyBinding.prototype.getKeyboardHandler = function () {
4643
+ return this.$handlers[this.$handlers.length - 1];
4644
+ };
4645
+ KeyBinding.prototype.getStatusText = function () {
4646
+ var data = this.$data;
4647
+ var editor = data.editor;
4648
+ return this.$handlers.map(function (h) {
4649
+ return h.getStatusText && h.getStatusText(editor, data) || "";
4650
+ }).filter(Boolean).join(" ");
4651
+ };
4652
+ KeyBinding.prototype.$callKeyboardHandlers = function (hashId, keyString, keyCode, e) {
4653
+ var toExecute;
4654
+ var success = false;
4655
+ var commands = this.$editor.commands;
4656
+ for (var i = this.$handlers.length; i--;) {
4657
+ toExecute = this.$handlers[i].handleKeyboard(
4658
+ this.$data, hashId, keyString, keyCode, e);
4659
+ if (!toExecute || !toExecute.command)
4660
+ continue;
4661
+ if (toExecute.command == "null") {
4662
+ success = true;
4663
+ }
4664
+ else {
4665
+ success = commands.exec(toExecute.command, this.$editor, toExecute.args, e);
4666
+ }
4667
+ if (success && e && hashId != -1 &&
4668
+ toExecute["passEvent"] != true && toExecute.command["passEvent"] != true) {
4669
+ event.stopEvent(e);
4670
+ }
4671
+ if (success)
4672
+ break;
4673
+ }
4674
+ if (!success && hashId == -1) {
4675
+ toExecute = { command: "insertstring" };
4676
+ success = commands.exec("insertstring", this.$editor, keyString);
4677
+ }
4678
+ if (success && this.$editor._signal)
4679
+ this.$editor._signal("keyboardActivity", toExecute);
4680
+ return success;
4681
+ };
4682
+ KeyBinding.prototype.onCommandKey = function (e, hashId, keyCode) {
4683
+ var keyString = keyUtil.keyCodeToString(keyCode);
4684
+ return this.$callKeyboardHandlers(hashId, keyString, keyCode, e);
4685
+ };
4686
+ KeyBinding.prototype.onTextInput = function (text) {
4687
+ return this.$callKeyboardHandlers(-1, text);
4688
+ };
4689
+ return KeyBinding;
4690
+}());
4691
+exports.KeyBinding = KeyBinding;
4692
+
4693
+});
4694
+
4695
+ace.define("ace/lib/bidiutil",["require","exports","module"], function(require, exports, module){"use strict";
4696
+var ArabicAlefBetIntervalsBegine = ['\u0621', '\u0641'];
4697
+var ArabicAlefBetIntervalsEnd = ['\u063A', '\u064a'];
4698
+var dir = 0, hiLevel = 0;
4699
+var lastArabic = false, hasUBAT_AL = false, hasUBAT_B = false, hasUBAT_S = false, hasBlockSep = false, hasSegSep = false;
4700
+var impTab_LTR = [ [0, 3, 0, 1, 0, 0, 0], [0, 3, 0, 1, 2, 2, 0], [0, 3, 0, 0x11, 2, 0, 1], [0, 3, 5, 5, 4, 1, 0], [0, 3, 0x15, 0x15, 4, 0, 1], [0, 3, 5, 5, 4, 2, 0]
4701
+];
4702
+var impTab_RTL = [ [2, 0, 1, 1, 0, 1, 0], [2, 0, 1, 1, 0, 2, 0], [2, 0, 2, 1, 3, 2, 0], [2, 0, 2, 0x21, 3, 1, 1]
4703
+];
4704
+var LTR = 0, RTL = 1;
4705
+var L = 0;
4706
+var R = 1;
4707
+var EN = 2;
4708
+var AN = 3;
4709
+var ON = 4;
4710
+var B = 5;
4711
+var S = 6;
4712
+var AL = 7;
4713
+var WS = 8;
4714
+var CS = 9;
4715
+var ES = 10;
4716
+var ET = 11;
4717
+var NSM = 12;
4718
+var LRE = 13;
4719
+var RLE = 14;
4720
+var PDF = 15;
4721
+var LRO = 16;
4722
+var RLO = 17;
4723
+var BN = 18;
4724
+var UnicodeTBL00 = [
4725
+ BN, BN, BN, BN, BN, BN, BN, BN, BN, S, B, S, WS, B, BN, BN,
4726
+ BN, BN, BN, BN, BN, BN, BN, BN, BN, BN, BN, BN, B, B, B, S,
4727
+ WS, ON, ON, ET, ET, ET, ON, ON, ON, ON, ON, ES, CS, ES, CS, CS,
4728
+ EN, EN, EN, EN, EN, EN, EN, EN, EN, EN, CS, ON, ON, ON, ON, ON,
4729
+ ON, L, L, L, L, L, L, L, L, L, L, L, L, L, L, L,
4730
+ L, L, L, L, L, L, L, L, L, L, L, ON, ON, ON, ON, ON,
4731
+ ON, L, L, L, L, L, L, L, L, L, L, L, L, L, L, L,
4732
+ L, L, L, L, L, L, L, L, L, L, L, ON, ON, ON, ON, BN,
4733
+ BN, BN, BN, BN, BN, B, BN, BN, BN, BN, BN, BN, BN, BN, BN, BN,
4734
+ BN, BN, BN, BN, BN, BN, BN, BN, BN, BN, BN, BN, BN, BN, BN, BN,
4735
+ CS, ON, ET, ET, ET, ET, ON, ON, ON, ON, L, ON, ON, BN, ON, ON,
4736
+ ET, ET, EN, EN, ON, L, ON, ON, ON, EN, L, ON, ON, ON, ON, ON
4737
+];
4738
+var UnicodeTBL20 = [
4739
+ WS, WS, WS, WS, WS, WS, WS, WS, WS, WS, WS, BN, BN, BN, L, R,
4740
+ ON, ON, ON, ON, ON, ON, ON, ON, ON, ON, ON, ON, ON, ON, ON, ON,
4741
+ ON, ON, ON, ON, ON, ON, ON, ON, WS, B, LRE, RLE, PDF, LRO, RLO, CS,
4742
+ ET, ET, ET, ET, ET, ON, ON, ON, ON, ON, ON, ON, ON, ON, ON, ON,
4743
+ ON, ON, ON, ON, CS, ON, ON, ON, ON, ON, ON, ON, ON, ON, ON, ON,
4744
+ ON, ON, ON, ON, ON, ON, ON, ON, ON, ON, ON, ON, ON, ON, ON, WS
4745
+];
4746
+function _computeLevels(chars, levels, len, charTypes) {
4747
+ var impTab = dir ? impTab_RTL : impTab_LTR, prevState = null, newClass = null, newLevel = null, newState = 0, action = null, cond = null, condPos = -1, i = null, ix = null, classes = [];
4748
+ if (!charTypes) {
4749
+ for (i = 0, charTypes = []; i < len; i++) {
4750
+ charTypes[i] = _getCharacterType(chars[i]);
4751
+ }
4752
+ }
4753
+ hiLevel = dir;
4754
+ lastArabic = false;
4755
+ hasUBAT_AL = false;
4756
+ hasUBAT_B = false;
4757
+ hasUBAT_S = false;
4758
+ for (ix = 0; ix < len; ix++) {
4759
+ prevState = newState;
4760
+ classes[ix] = newClass = _getCharClass(chars, charTypes, classes, ix);
4761
+ newState = impTab[prevState][newClass];
4762
+ action = newState & 0xF0;
4763
+ newState &= 0x0F;
4764
+ levels[ix] = newLevel = impTab[newState][5];
4765
+ if (action > 0) {
4766
+ if (action == 0x10) {
4767
+ for (i = condPos; i < ix; i++) {
4768
+ levels[i] = 1;
4769
+ }
4770
+ condPos = -1;
4771
+ }
4772
+ else {
4773
+ condPos = -1;
4774
+ }
4775
+ }
4776
+ cond = impTab[newState][6];
4777
+ if (cond) {
4778
+ if (condPos == -1) {
4779
+ condPos = ix;
4780
+ }
4781
+ }
4782
+ else {
4783
+ if (condPos > -1) {
4784
+ for (i = condPos; i < ix; i++) {
4785
+ levels[i] = newLevel;
4786
+ }
4787
+ condPos = -1;
4788
+ }
4789
+ }
4790
+ if (charTypes[ix] == B) {
4791
+ levels[ix] = 0;
4792
+ }
4793
+ hiLevel |= newLevel;
4794
+ }
4795
+ if (hasUBAT_S) {
4796
+ for (i = 0; i < len; i++) {
4797
+ if (charTypes[i] == S) {
4798
+ levels[i] = dir;
4799
+ for (var j = i - 1; j >= 0; j--) {
4800
+ if (charTypes[j] == WS) {
4801
+ levels[j] = dir;
4802
+ }
4803
+ else {
4804
+ break;
4805
+ }
4806
+ }
4807
+ }
4808
+ }
4809
+ }
4810
+}
4811
+function _invertLevel(lev, levels, _array) {
4812
+ if (hiLevel < lev) {
4813
+ return;
4814
+ }
4815
+ if (lev == 1 && dir == RTL && !hasUBAT_B) {
4816
+ _array.reverse();
4817
+ return;
4818
+ }
4819
+ var len = _array.length, start = 0, end, lo, hi, tmp;
4820
+ while (start < len) {
4821
+ if (levels[start] >= lev) {
4822
+ end = start + 1;
4823
+ while (end < len && levels[end] >= lev) {
4824
+ end++;
4825
+ }
4826
+ for (lo = start, hi = end - 1; lo < hi; lo++, hi--) {
4827
+ tmp = _array[lo];
4828
+ _array[lo] = _array[hi];
4829
+ _array[hi] = tmp;
4830
+ }
4831
+ start = end;
4832
+ }
4833
+ start++;
4834
+ }
4835
+}
4836
+function _getCharClass(chars, types, classes, ix) {
4837
+ var cType = types[ix], wType, nType, len, i;
4838
+ switch (cType) {
4839
+ case L:
4840
+ case R:
4841
+ lastArabic = false;
4842
+ case ON:
4843
+ case AN:
4844
+ return cType;
4845
+ case EN:
4846
+ return lastArabic ? AN : EN;
4847
+ case AL:
4848
+ lastArabic = true;
4849
+ hasUBAT_AL = true;
4850
+ return R;
4851
+ case WS:
4852
+ return ON;
4853
+ case CS:
4854
+ if (ix < 1 || (ix + 1) >= types.length ||
4855
+ ((wType = classes[ix - 1]) != EN && wType != AN) ||
4856
+ ((nType = types[ix + 1]) != EN && nType != AN)) {
4857
+ return ON;
4858
+ }
4859
+ if (lastArabic) {
4860
+ nType = AN;
4861
+ }
4862
+ return nType == wType ? nType : ON;
4863
+ case ES:
4864
+ wType = ix > 0 ? classes[ix - 1] : B;
4865
+ if (wType == EN && (ix + 1) < types.length && types[ix + 1] == EN) {
4866
+ return EN;
4867
+ }
4868
+ return ON;
4869
+ case ET:
4870
+ if (ix > 0 && classes[ix - 1] == EN) {
4871
+ return EN;
4872
+ }
4873
+ if (lastArabic) {
4874
+ return ON;
4875
+ }
4876
+ i = ix + 1;
4877
+ len = types.length;
4878
+ while (i < len && types[i] == ET) {
4879
+ i++;
4880
+ }
4881
+ if (i < len && types[i] == EN) {
4882
+ return EN;
4883
+ }
4884
+ return ON;
4885
+ case NSM:
4886
+ len = types.length;
4887
+ i = ix + 1;
4888
+ while (i < len && types[i] == NSM) {
4889
+ i++;
4890
+ }
4891
+ if (i < len) {
4892
+ var c = chars[ix], rtlCandidate = (c >= 0x0591 && c <= 0x08FF) || c == 0xFB1E;
4893
+ wType = types[i];
4894
+ if (rtlCandidate && (wType == R || wType == AL)) {
4895
+ return R;
4896
+ }
4897
+ }
4898
+ if (ix < 1 || (wType = types[ix - 1]) == B) {
4899
+ return ON;
4900
+ }
4901
+ return classes[ix - 1];
4902
+ case B:
4903
+ lastArabic = false;
4904
+ hasUBAT_B = true;
4905
+ return dir;
4906
+ case S:
4907
+ hasUBAT_S = true;
4908
+ return ON;
4909
+ case LRE:
4910
+ case RLE:
4911
+ case LRO:
4912
+ case RLO:
4913
+ case PDF:
4914
+ lastArabic = false;
4915
+ case BN:
4916
+ return ON;
4917
+ }
4918
+}
4919
+function _getCharacterType(ch) {
4920
+ var uc = ch.charCodeAt(0), hi = uc >> 8;
4921
+ if (hi == 0) {
4922
+ return ((uc > 0x00BF) ? L : UnicodeTBL00[uc]);
4923
+ }
4924
+ else if (hi == 5) {
4925
+ return (/[\u0591-\u05f4]/.test(ch) ? R : L);
4926
+ }
4927
+ else if (hi == 6) {
4928
+ if (/[\u0610-\u061a\u064b-\u065f\u06d6-\u06e4\u06e7-\u06ed]/.test(ch))
4929
+ return NSM;
4930
+ else if (/[\u0660-\u0669\u066b-\u066c]/.test(ch))
4931
+ return AN;
4932
+ else if (uc == 0x066A)
4933
+ return ET;
4934
+ else if (/[\u06f0-\u06f9]/.test(ch))
4935
+ return EN;
4936
+ else
4937
+ return AL;
4938
+ }
4939
+ else if (hi == 0x20 && uc <= 0x205F) {
4940
+ return UnicodeTBL20[uc & 0xFF];
4941
+ }
4942
+ else if (hi == 0xFE) {
4943
+ return (uc >= 0xFE70 ? AL : ON);
4944
+ }
4945
+ return ON;
4946
+}
4947
+function _isArabicDiacritics(ch) {
4948
+ return (ch >= '\u064b' && ch <= '\u0655');
4949
+}
4950
+exports.L = L;
4951
+exports.R = R;
4952
+exports.EN = EN;
4953
+exports.ON_R = 3;
4954
+exports.AN = 4;
4955
+exports.R_H = 5;
4956
+exports.B = 6;
4957
+exports.RLE = 7;
4958
+exports.DOT = "\xB7";
4959
+exports.doBidiReorder = function (text, textCharTypes, isRtl) {
4960
+ if (text.length < 2)
4961
+ return {};
4962
+ var chars = text.split(""), logicalFromVisual = new Array(chars.length), bidiLevels = new Array(chars.length), levels = [];
4963
+ dir = isRtl ? RTL : LTR;
4964
+ _computeLevels(chars, levels, chars.length, textCharTypes);
4965
+ for (var i = 0; i < logicalFromVisual.length; logicalFromVisual[i] = i, i++)
4966
+ ;
4967
+ _invertLevel(2, levels, logicalFromVisual);
4968
+ _invertLevel(1, levels, logicalFromVisual);
4969
+ for (var i = 0; i < logicalFromVisual.length - 1; i++) { //fix levels to reflect character width
4970
+ if (textCharTypes[i] === AN) {
4971
+ levels[i] = exports.AN;
4972
+ }
4973
+ else if (levels[i] === R && ((textCharTypes[i] > AL && textCharTypes[i] < LRE)
4974
+ || textCharTypes[i] === ON || textCharTypes[i] === BN)) {
4975
+ levels[i] = exports.ON_R;
4976
+ }
4977
+ else if ((i > 0 && chars[i - 1] === '\u0644') && /\u0622|\u0623|\u0625|\u0627/.test(chars[i])) {
4978
+ levels[i - 1] = levels[i] = exports.R_H;
4979
+ i++;
4980
+ }
4981
+ }
4982
+ if (chars[chars.length - 1] === exports.DOT)
4983
+ levels[chars.length - 1] = exports.B;
4984
+ if (chars[0] === '\u202B')
4985
+ levels[0] = exports.RLE;
4986
+ for (var i = 0; i < logicalFromVisual.length; i++) {
4987
+ bidiLevels[i] = levels[logicalFromVisual[i]];
4988
+ }
4989
+ return { 'logicalFromVisual': logicalFromVisual, 'bidiLevels': bidiLevels };
4990
+};
4991
+exports.hasBidiCharacters = function (text, textCharTypes) {
4992
+ var ret = false;
4993
+ for (var i = 0; i < text.length; i++) {
4994
+ textCharTypes[i] = _getCharacterType(text.charAt(i));
4995
+ if (!ret && (textCharTypes[i] == R || textCharTypes[i] == AL || textCharTypes[i] == AN))
4996
+ ret = true;
4997
+ }
4998
+ return ret;
4999
+};
This file is too large to show in full.
webui/vendor/ace/ace.min.css
new
+8
@@ -0,0 +1,8 @@
1
+/**
2
+ * Minified by jsDelivr using clean-css v5.3.2.
3
+ * Original file: /npm/ace-builds@1.36.5/css/ace.css
4
+ *
5
+ * Do NOT use SRI with dynamically generated files! More information: https://www.jsdelivr.com/using-sri-with-dynamic-files
6
+ */
7
+.ace_editor>.ace_sb-h div,.ace_editor>.ace_sb-v div{position:absolute;background:rgba(128,128,128,.6);-moz-box-sizing:border-box;box-sizing:border-box;border:1px solid #bbb;border-radius:2px;z-index:8}.ace_editor>.ace_sb-h,.ace_editor>.ace_sb-v{position:absolute;z-index:6;background:0 0;overflow:hidden!important}.ace_editor>.ace_sb-v{z-index:6;right:0;top:0;width:12px}.ace_editor>.ace_sb-v div{z-index:8;right:0;width:100%}.ace_editor>.ace_sb-h{bottom:0;left:0;height:12px}.ace_editor>.ace_sb-h div{bottom:0;height:100%}.ace_editor>.ace_sb_grabbed{z-index:8;background:#000}.ace_br1{border-top-left-radius:3px}.ace_br2{border-top-right-radius:3px}.ace_br3{border-top-left-radius:3px;border-top-right-radius:3px}.ace_br4{border-bottom-right-radius:3px}.ace_br5{border-top-left-radius:3px;border-bottom-right-radius:3px}.ace_br6{border-top-right-radius:3px;border-bottom-right-radius:3px}.ace_br7{border-top-left-radius:3px;border-top-right-radius:3px;border-bottom-right-radius:3px}.ace_br8{border-bottom-left-radius:3px}.ace_br9{border-top-left-radius:3px;border-bottom-left-radius:3px}.ace_br10{border-top-right-radius:3px;border-bottom-left-radius:3px}.ace_br11{border-top-left-radius:3px;border-top-right-radius:3px;border-bottom-left-radius:3px}.ace_br12{border-bottom-right-radius:3px;border-bottom-left-radius:3px}.ace_br13{border-top-left-radius:3px;border-bottom-right-radius:3px;border-bottom-left-radius:3px}.ace_br14{border-top-right-radius:3px;border-bottom-right-radius:3px;border-bottom-left-radius:3px}.ace_br15{border-top-left-radius:3px;border-top-right-radius:3px;border-bottom-right-radius:3px;border-bottom-left-radius:3px}.ace_editor{position:relative;overflow:hidden;padding:0;font:12px/normal Monaco,Menlo,'Ubuntu Mono',Consolas,'Source Code Pro',source-code-pro,monospace;direction:ltr;text-align:left;-webkit-tap-highlight-color:transparent;forced-color-adjust:none}.ace_scroller{position:absolute;overflow:hidden;top:0;bottom:0;background-color:inherit;-ms-user-select:none;-moz-user-select:none;-webkit-user-select:none;user-select:none;cursor:text}.ace_content{position:absolute;box-sizing:border-box;min-width:100%;contain:style size layout;font-variant-ligatures:no-common-ligatures}.ace_keyboard-focus:focus{box-shadow:inset 0 0 0 2px #5e9ed6;outline:0}.ace_dragging .ace_scroller:before{position:absolute;top:0;left:0;right:0;bottom:0;content:'';background:rgba(250,250,250,.01);z-index:1000}.ace_dragging.ace_dark .ace_scroller:before{background:rgba(0,0,0,.01)}.ace_gutter{position:absolute;overflow:hidden;width:auto;top:0;bottom:0;left:0;cursor:default;z-index:4;-ms-user-select:none;-moz-user-select:none;-webkit-user-select:none;user-select:none;contain:style size layout}.ace_gutter-active-line{position:absolute;left:0;right:0}.ace_scroller.ace_scroll-left:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;box-shadow:17px 0 16px -16px rgba(0,0,0,.4) inset;pointer-events:none}.ace_gutter-cell,.ace_gutter-cell_svg-icons{position:absolute;top:0;left:0;right:0;padding-left:19px;padding-right:6px;background-repeat:no-repeat}.ace_gutter-cell_svg-icons .ace_gutter_annotation{margin-left:-14px;float:left}.ace_gutter-cell .ace_gutter_annotation{margin-left:-19px;float:left}.ace_gutter-cell.ace_error,.ace_gutter-cell.ace_security,.ace_icon.ace_error,.ace_icon.ace_error_fold,.ace_icon.ace_security,.ace_icon.ace_security_fold{background-image:url("main-1.png");background-repeat:no-repeat;background-position:2px center}.ace_gutter-cell.ace_warning,.ace_icon.ace_warning,.ace_icon.ace_warning_fold{background-image:url("main-2.png");background-repeat:no-repeat;background-position:2px center}.ace_gutter-cell.ace_hint,.ace_gutter-cell.ace_info,.ace_icon.ace_hint,.ace_icon.ace_info{background-image:url("main-3.png");background-repeat:no-repeat;background-position:2px center}.ace_dark .ace_gutter-cell.ace_hint,.ace_dark .ace_gutter-cell.ace_info,.ace_dark .ace_icon.ace_hint,.ace_dark .ace_icon.ace_info{background-image:url("main-4.png")}.ace_icon_svg.ace_error{-webkit-mask-image:url("main-5.svg");background-color:#dc143c}.ace_icon_svg.ace_security{-webkit-mask-image:url("main-6.svg");background-color:#dc143c}.ace_icon_svg.ace_warning{-webkit-mask-image:url("main-7.svg");background-color:#ff8c00}.ace_icon_svg.ace_info{-webkit-mask-image:url("main-8.svg");background-color:#4169e1}.ace_icon_svg.ace_hint{-webkit-mask-image:url("main-9.svg");background-color:silver}.ace_icon_svg.ace_error_fold{-webkit-mask-image:url("main-10.svg");background-color:#dc143c}.ace_icon_svg.ace_security_fold{-webkit-mask-image:url("main-11.svg");background-color:#dc143c}.ace_icon_svg.ace_warning_fold{-webkit-mask-image:url("main-12.svg");background-color:#ff8c00}.ace_scrollbar{contain:strict;position:absolute;right:0;bottom:0;z-index:6}.ace_scrollbar-inner{position:absolute;cursor:text;left:0;top:0}.ace_scrollbar-v{overflow-x:hidden;overflow-y:scroll;top:0}.ace_scrollbar-h{overflow-x:scroll;overflow-y:hidden;left:0}.ace_print-margin{position:absolute;height:100%}.ace_text-input{position:absolute;z-index:0;width:.5em;height:1em;opacity:0;background:0 0;-moz-appearance:none;appearance:none;border:none;resize:none;outline:0;overflow:hidden;font:inherit;padding:0 1px;margin:0 -1px;contain:strict;-ms-user-select:text;-moz-user-select:text;-webkit-user-select:text;user-select:text;white-space:pre!important}.ace_text-input.ace_composition{background:0 0;color:inherit;z-index:1000;opacity:1}.ace_composition_placeholder{color:transparent}.ace_composition_marker{border-bottom:1px solid;position:absolute;border-radius:0;margin-top:1px}[ace_nocontext=true]{transform:none!important;filter:none!important;clip-path:none!important;mask:none!important;contain:none!important;perspective:none!important;mix-blend-mode:initial!important;z-index:auto}.ace_layer{z-index:1;position:absolute;overflow:hidden;word-wrap:normal;white-space:pre;height:100%;width:100%;box-sizing:border-box;pointer-events:none}.ace_gutter-layer{position:relative;width:auto;text-align:right;pointer-events:auto;height:1000000px;contain:style size layout}.ace_text-layer{font:inherit!important;position:absolute;height:1000000px;width:1000000px;contain:style size layout}.ace_text-layer>.ace_line,.ace_text-layer>.ace_line_group{contain:style size layout;position:absolute;top:0;left:0;right:0}.ace_hidpi .ace_content,.ace_hidpi .ace_gutter,.ace_hidpi .ace_gutter-layer,.ace_hidpi .ace_text-layer{contain:strict}.ace_hidpi .ace_text-layer>.ace_line,.ace_hidpi .ace_text-layer>.ace_line_group{contain:strict}.ace_cjk{display:inline-block;text-align:center}.ace_cursor-layer{z-index:4}.ace_cursor{z-index:4;position:absolute;box-sizing:border-box;border-left:2px solid;transform:translatez(0)}.ace_multiselect .ace_cursor{border-left-width:1px}.ace_slim-cursors .ace_cursor{border-left-width:1px}.ace_overwrite-cursors .ace_cursor{border-left-width:0;border-bottom:1px solid}.ace_hidden-cursors .ace_cursor{opacity:.2}.ace_hasPlaceholder .ace_hidden-cursors .ace_cursor{opacity:0}.ace_smooth-blinking .ace_cursor{transition:opacity .18s}.ace_animate-blinking .ace_cursor{animation-duration:1s;animation-timing-function:step-end;animation-name:blink-ace-animate;animation-iteration-count:infinite}.ace_animate-blinking.ace_smooth-blinking .ace_cursor{animation-duration:1s;animation-timing-function:ease-in-out;animation-name:blink-ace-animate-smooth}@keyframes blink-ace-animate{from,to{opacity:1}60%{opacity:0}}@keyframes blink-ace-animate-smooth{from,to{opacity:1}45%{opacity:1}60%{opacity:0}85%{opacity:0}}.ace_marker-layer .ace_stack,.ace_marker-layer .ace_step{position:absolute;z-index:3}.ace_marker-layer .ace_selection{position:absolute;z-index:5}.ace_marker-layer .ace_bracket{position:absolute;z-index:6}.ace_marker-layer .ace_error_bracket{position:absolute;border-bottom:1px solid #de5555;border-radius:0}.ace_marker-layer .ace_active-line{position:absolute;z-index:2}.ace_marker-layer .ace_selected-word{position:absolute;z-index:4;box-sizing:border-box}.ace_line .ace_fold{box-sizing:border-box;display:inline-block;height:11px;margin-top:-2px;vertical-align:middle;background-image:url("main-13.png"),url("main-14.png");background-repeat:no-repeat,repeat-x;background-position:center center,top left;color:transparent;border:1px solid #000;border-radius:2px;cursor:pointer;pointer-events:auto}.ace_fold:hover{background-image:url("main-15.png"),url("main-16.png")}.ace_tooltip{background-color:#f5f5f5;border:1px solid gray;border-radius:1px;box-shadow:0 1px 2px rgba(0,0,0,.3);color:#000;max-width:100%;padding:3px 4px;position:fixed;z-index:999999;box-sizing:border-box;cursor:default;white-space:pre-wrap;word-wrap:break-word;line-height:normal;font-style:normal;font-weight:400;letter-spacing:normal;pointer-events:none;overflow:auto;max-width:min(60em,66vw);overscroll-behavior:contain}.ace_tooltip pre{white-space:pre-wrap}.ace_tooltip.ace_dark{background-color:#636363;color:#fff}.ace_tooltip:focus{outline:1px solid #5E9ED6}.ace_icon{display:inline-block;width:18px;vertical-align:top}.ace_icon_svg{display:inline-block;width:12px;vertical-align:top;-webkit-mask-repeat:no-repeat;-webkit-mask-size:12px;-webkit-mask-position:center}.ace_folding-enabled>.ace_gutter-cell,.ace_folding-enabled>.ace_gutter-cell_svg-icons{padding-right:13px}.ace_fold-widget{box-sizing:border-box;margin:0 -12px 0 1px;display:none;width:11px;vertical-align:top;background-image:url("main-17.png");background-repeat:no-repeat;background-position:center;border-radius:3px;border:1px solid transparent;cursor:pointer}.ace_folding-enabled .ace_fold-widget{display:inline-block}.ace_fold-widget.ace_end{background-image:url("main-18.png")}.ace_fold-widget.ace_closed{background-image:url("main-19.png")}.ace_fold-widget:hover{border:1px solid rgba(0,0,0,.3);background-color:rgba(255,255,255,.2);box-shadow:0 1px 1px rgba(255,255,255,.7)}.ace_fold-widget:active{border:1px solid rgba(0,0,0,.4);background-color:rgba(0,0,0,.05);box-shadow:0 1px 1px rgba(255,255,255,.8)}.ace_dark .ace_fold-widget{background-image:url("main-20.png")}.ace_dark .ace_fold-widget.ace_end{background-image:url("main-21.png")}.ace_dark .ace_fold-widget.ace_closed{background-image:url("main-22.png")}.ace_dark .ace_fold-widget:hover{box-shadow:0 1px 1px rgba(255,255,255,.2);background-color:rgba(255,255,255,.1)}.ace_dark .ace_fold-widget:active{box-shadow:0 1px 1px rgba(255,255,255,.2)}.ace_inline_button{border:1px solid #d3d3d3;display:inline-block;margin:-1px 8px;padding:0 5px;pointer-events:auto;cursor:pointer}.ace_inline_button:hover{border-color:gray;background:rgba(200,200,200,.2);display:inline-block;pointer-events:auto}.ace_fold-widget.ace_invalid{background-color:#ffb4b4;border-color:#de5555}.ace_fade-fold-widgets .ace_fold-widget{transition:opacity .4s ease 50ms;opacity:0}.ace_fade-fold-widgets:hover .ace_fold-widget{transition:opacity 50ms ease 50ms;opacity:1}.ace_underline{text-decoration:underline}.ace_bold{font-weight:700}.ace_nobold .ace_bold{font-weight:400}.ace_italic{font-style:italic}.ace_error-marker{background-color:rgba(255,0,0,.2);position:absolute;z-index:9}.ace_highlight-marker{background-color:rgba(255,255,0,.2);position:absolute;z-index:8}.ace_mobile-menu{position:absolute;line-height:1.5;border-radius:4px;-ms-user-select:none;-moz-user-select:none;-webkit-user-select:none;user-select:none;background:#fff;box-shadow:1px 3px 2px grey;border:1px solid #dcdcdc;color:#000}.ace_dark>.ace_mobile-menu{background:#333;color:#ccc;box-shadow:1px 3px 2px grey;border:1px solid #444}.ace_mobile-button{padding:2px;cursor:pointer;overflow:hidden}.ace_mobile-button:hover{background-color:#eee;opacity:1}.ace_mobile-button:active{background-color:#ddd}.ace_placeholder{position:relative;font-family:arial;transform:scale(.9);transform-origin:left;white-space:pre;opacity:.7;margin:0 10px;z-index:1}.ace_ghost_text{opacity:.5;font-style:italic}.ace_ghost_text_container>div{white-space:pre}.ghost_text_line_wrapped::after{content:"↩";position:absolute}.ace_lineWidgetContainer.ace_ghost_text{margin:0 4px}.ace_screenreader-only{position:absolute;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden}.ace_hidden_token{display:none}.ace-tm .ace_gutter{background:#f0f0f0;color:#333}.ace-tm .ace_print-margin{width:1px;background:#e8e8e8}.ace-tm .ace_fold{background-color:#6b72e6}.ace-tm{background-color:#fff;color:#000}.ace-tm .ace_cursor{color:#000}.ace-tm .ace_invisible{color:#bfbfbf}.ace-tm .ace_keyword,.ace-tm .ace_storage{color:#00f}.ace-tm .ace_constant{color:#c5060b}.ace-tm .ace_constant.ace_buildin{color:#5848f6}.ace-tm .ace_constant.ace_language{color:#585cf6}.ace-tm .ace_constant.ace_library{color:#06960e}.ace-tm .ace_invalid{background-color:rgba(255,0,0,.1);color:red}.ace-tm .ace_support.ace_function{color:#3c4c72}.ace-tm .ace_support.ace_constant{color:#06960e}.ace-tm .ace_support.ace_class,.ace-tm .ace_support.ace_type{color:#6d79de}.ace-tm .ace_keyword.ace_operator{color:#687687}.ace-tm .ace_string{color:#036a07}.ace-tm .ace_comment{color:#4c886b}.ace-tm .ace_comment.ace_doc{color:#06f}.ace-tm .ace_comment.ace_doc.ace_tag{color:#809fbf}.ace-tm .ace_constant.ace_numeric{color:#0000cd}.ace-tm .ace_variable{color:#318495}.ace-tm .ace_xml-pe{color:#68685b}.ace-tm .ace_entity.ace_name.ace_function{color:#0000a2}.ace-tm .ace_heading{color:#0c07ff}.ace-tm .ace_list{color:#b90690}.ace-tm .ace_meta.ace_tag{color:#00168e}.ace-tm .ace_string.ace_regex{color:red}.ace-tm .ace_marker-layer .ace_selection{background:#b5d5ff}.ace-tm.ace_multiselect .ace_selection.ace_start{box-shadow:0 0 3px 0 #fff}.ace-tm .ace_marker-layer .ace_step{background:#fcff00}.ace-tm .ace_marker-layer .ace_stack{background:#a4e565}.ace-tm .ace_marker-layer .ace_bracket{margin:-1px 0 0 -1px;border:1px solid silver}.ace-tm .ace_marker-layer .ace_active-line{background:rgba(0,0,0,.07)}.ace-tm .ace_gutter-active-line{background-color:#dcdcdc}.ace-tm .ace_marker-layer .ace_selected-word{background:#fafaff;border:1px solid #c8c8fa}.ace-tm .ace_indent-guide{background:url("main-23.png") right repeat-y}.ace-tm .ace_indent-guide-active{background:url("main-24.png") right repeat-y}.error_widget_wrapper{background:inherit;color:inherit;border:none}.error_widget{border-top:solid 2px;border-bottom:solid 2px;margin:5px 0;padding:10px 40px;white-space:pre-wrap}.error_widget.ace_error,.error_widget_arrow.ace_error{border-color:#ff5a5a}.error_widget.ace_warning,.error_widget_arrow.ace_warning{border-color:#f1d817}.error_widget.ace_info,.error_widget_arrow.ace_info{border-color:#5a5a5a}.error_widget.ace_ok,.error_widget_arrow.ace_ok{border-color:#5aaa5a}.error_widget_arrow{position:absolute;border:solid 5px;border-top-color:transparent!important;border-right-color:transparent!important;border-left-color:transparent!important;top:-5px}.ace_codeLens{position:absolute;color:#aaa;font-size:88%;background:inherit;width:100%;display:flex;align-items:flex-end;pointer-events:none}.ace_codeLens>a{cursor:pointer;pointer-events:auto}.ace_codeLens>a:hover{color:#00f;text-decoration:underline}.ace_dark>.ace_codeLens>a:hover{color:#4e94ce}.ace_tooltip.command_bar_tooltip_wrapper{padding:0}.ace_tooltip .command_bar_tooltip{padding:1px 5px;display:flex;pointer-events:auto}.ace_tooltip .command_bar_tooltip.tooltip_more_options{padding:1px;flex-direction:column}div.command_bar_tooltip_button{display:inline-flex;cursor:pointer;margin:1px;border-radius:2px;padding:2px 5px;align-items:center}div.command_bar_tooltip_button.ace_selected,div.command_bar_tooltip_button:hover:not(.ace_disabled){background-color:rgba(0,0,0,.1)}div.command_bar_tooltip_button.ace_disabled{color:#777;pointer-events:none}div.command_bar_tooltip_button .ace_icon_svg{height:12px;background-color:#000}div.command_bar_tooltip_button.ace_disabled .ace_icon_svg{background-color:#777}.command_bar_tooltip.tooltip_more_options .command_bar_tooltip_button{display:flex}.command_bar_tooltip.command_bar_button_value{display:none}.command_bar_tooltip.tooltip_more_options .command_bar_button_value{display:inline-block;width:12px}.command_bar_button_caption{display:inline-block}.command_bar_keybinding{margin:0 2px;display:inline-block;font-size:8px}.command_bar_tooltip.tooltip_more_options .command_bar_keybinding{margin-left:auto}.command_bar_keybinding div{display:inline-block;min-width:8px;padding:2px;margin:0 1px;border-radius:2px;background-color:#ccc;text-align:center}.ace_dark.ace_tooltip .command_bar_tooltip{background-color:#373737;color:#eee}.ace_dark div.command_bar_tooltip_button.ace_disabled{color:#979797}.ace_dark div.command_bar_tooltip_button.ace_selected,.ace_dark div.command_bar_tooltip_button:hover:not(.ace_disabled){background-color:rgba(255,255,255,.1)}.ace_dark div.command_bar_tooltip_button .ace_icon_svg{background-color:#eee}.ace_dark div.command_bar_tooltip_button.ace_disabled .ace_icon_svg{background-color:#979797}.ace_dark .command_bar_tooltip_button.ace_disabled{color:#979797}.ace_dark .command_bar_keybinding div{background-color:#575757}.ace_checkmark::before{content:'✓'}.ace_snippet-marker{-moz-box-sizing:border-box;box-sizing:border-box;background:rgba(194,193,208,.09);border:1px dotted rgba(211,208,235,.62);position:absolute}.ace_editor.ace_autocomplete .ace_marker-layer .ace_active-line{background-color:#cad6fa;z-index:1}.ace_dark.ace_editor.ace_autocomplete .ace_marker-layer .ace_active-line{background-color:#3a674e}.ace_editor.ace_autocomplete .ace_line-hover{border:1px solid #abbffe;margin-top:-1px;background:rgba(233,233,253,.4);position:absolute;z-index:2}.ace_dark.ace_editor.ace_autocomplete .ace_line-hover{border:1px solid rgba(109,150,13,.8);background:rgba(58,103,78,.62)}.ace_completion-meta{opacity:.5;margin-left:.9em}.ace_completion-message{margin-left:.9em;color:#00f}.ace_editor.ace_autocomplete .ace_completion-highlight{color:#2d69c7}.ace_dark.ace_editor.ace_autocomplete .ace_completion-highlight{color:#93ca12}.ace_editor.ace_autocomplete{width:300px;z-index:200000;border:1px #d3d3d3 solid;position:fixed;box-shadow:2px 3px 5px rgba(0,0,0,.2);line-height:1.4;background:#fefefe;color:#111}.ace_dark.ace_editor.ace_autocomplete{border:1px #484747 solid;box-shadow:2px 3px 5px rgba(0,0,0,.51);line-height:1.4;background:#25282c;color:#c1c1c1}.ace_autocomplete .ace_text-layer{width:calc(100% - 8px)}.ace_autocomplete .ace_line{display:flex;align-items:center}.ace_autocomplete .ace_line>*{min-width:0;flex:0 0 auto}.ace_autocomplete .ace_line .ace_{flex:0 1 auto;overflow:hidden;text-overflow:ellipsis}.ace_autocomplete .ace_completion-spacer{flex:1}.ace_autocomplete.ace_loading:after{content:"";position:absolute;top:0;height:2px;width:8%;background:#00f;z-index:100;animation:ace_progress 3s infinite linear;animation-delay:.3s;transform:translateX(-100%) scaleX(1)}@keyframes ace_progress{0%{transform:translateX(-100%) scaleX(1)}50%{transform:translateX(625%) scaleX(2)}100%{transform:translateX(1500%) scaleX(3)}}@media (prefers-reduced-motion){.ace_autocomplete.ace_loading:after{transform:translateX(625%) scaleX(2);animation:none}}.ace_icon_svg.ace_arrow,.ace_icon_svg.ace_arrow_rotated{-webkit-mask-image:url("main-25.svg")}.ace_icon_svg.ace_arrow_rotated{transform:rotate(180deg)}div.command_bar_tooltip_button.completion_position{padding:0}#ace_settingsmenu,#kbshortcutmenu{background-color:#f7f7f7;color:#000;box-shadow:-5px 4px 5px rgba(126,126,126,.55);padding:1em .5em 2em 1em;overflow:auto;position:absolute;margin:0;bottom:0;right:0;top:0;z-index:9991;cursor:default}.ace_dark #ace_settingsmenu,.ace_dark #kbshortcutmenu{box-shadow:-20px 10px 25px rgba(126,126,126,.25);background-color:rgba(255,255,255,.6);color:#000}.ace_optionsMenuEntry:hover{background-color:rgba(100,100,100,.1);transition:all .3s}.ace_closeButton{background:rgba(245,146,146,.5);border:1px solid #f48a8a;border-radius:50%;padding:7px;position:absolute;right:-8px;top:-8px;z-index:100000}.ace_closeButton{background:rgba(245,146,146,.9)}.ace_optionsMenuKey{color:#483d8b;font-weight:700}.ace_optionsMenuCommand{color:#008b8b;font-weight:400}.ace_optionsMenuEntry button,.ace_optionsMenuEntry input{vertical-align:middle}.ace_optionsMenuEntry button[ace_selected_button=true]{background:#e7e7e7;box-shadow:1px 0 2px 0 #adadad inset;border-color:#adadad}.ace_optionsMenuEntry button{background:#fff;border:1px solid #d3d3d3;margin:0}.ace_optionsMenuEntry button:hover{background:#f0f0f0}.ace_prompt_container{max-width:603px;width:100%;margin:20px auto;padding:3px;background:#fff;border-radius:2px;box-shadow:0 2px 3px 0 #555}.ace_search{background-color:#ddd;color:#666;border:1px solid #cbcbcb;border-top:0 none;overflow:hidden;margin:0;padding:4px 6px 0 4px;position:absolute;top:0;z-index:99;white-space:normal}.ace_search.left{border-left:0 none;border-radius:0 0 5px 0;left:0}.ace_search.right{border-radius:0 0 0 5px;border-right:0 none;right:0}.ace_replace_form,.ace_search_form{margin:0 20px 4px 0;overflow:hidden;line-height:1.9}.ace_replace_form{margin-right:0}.ace_search_form.ace_nomatch{outline:1px solid red}.ace_search_field{border-radius:3px 0 0 3px;background-color:#fff;color:#000;border:1px solid #cbcbcb;border-right:0 none;outline:0;padding:0;font-size:inherit;margin:0;line-height:inherit;padding:0 6px;min-width:17em;vertical-align:top;min-height:1.8em;box-sizing:content-box}.ace_searchbtn{border:1px solid #cbcbcb;line-height:inherit;display:inline-block;padding:0 6px;background:#fff;border-right:0 none;border-left:1px solid #dcdcdc;cursor:pointer;margin:0;position:relative;color:#666}.ace_searchbtn:last-child{border-radius:0 3px 3px 0;border-right:1px solid #cbcbcb}.ace_searchbtn:disabled{background:0 0;cursor:default}.ace_searchbtn:hover{background-color:#eef1f6}.ace_searchbtn.next,.ace_searchbtn.prev{padding:0 .7em}.ace_searchbtn.next:after,.ace_searchbtn.prev:after{content:"";border:solid 2px #888;width:.5em;height:.5em;border-width:2px 0 0 2px;display:inline-block;transform:rotate(-45deg)}.ace_searchbtn.next:after{border-width:0 2px 2px 0}.ace_searchbtn_close{background:url("main-26.png") no-repeat 50% 0;border-radius:50%;border:0 none;color:#656565;cursor:pointer;font:16px/16px Arial;padding:0;height:14px;width:14px;top:9px;right:7px;position:absolute}.ace_searchbtn_close:hover{background-color:#656565;background-position:50% 100%;color:#fff}.ace_button{margin-left:2px;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-o-user-select:none;-ms-user-select:none;user-select:none;overflow:hidden;opacity:.7;border:1px solid rgba(100,100,100,.23);padding:1px;box-sizing:border-box!important;color:#000}.ace_button:hover{background-color:#eee;opacity:1}.ace_button:active{background-color:#ddd}.ace_button.checked{border-color:#39f;opacity:1}.ace_search_options{margin-bottom:3px;text-align:right;-webkit-user-select:none;-moz-user-select:none;-o-user-select:none;-ms-user-select:none;user-select:none;clear:both}.ace_search_counter{float:left;font-family:arial;padding:0 8px}.ace_occur-highlight{border-radius:4px;background-color:rgba(87,255,8,.25);position:absolute;z-index:4;box-sizing:border-box;box-shadow:0 0 4px #5bff32}.ace_dark .ace_occur-highlight{background-color:#508c55;box-shadow:0 0 4px #3c7846}.ace_marker-layer .ace_isearch-result{position:absolute;z-index:6;box-sizing:border-box}div.ace_isearch-result{border-radius:4px;background-color:rgba(255,200,0,.5);box-shadow:0 0 4px #ffc800}.ace_dark div.ace_isearch-result{background-color:#646ea0;box-shadow:0 0 4px #505a8c}.emacs-mode .ace_cursor{border:1px rgba(50,250,50,.8) solid!important;box-sizing:border-box!important;background-color:rgba(0,250,0,.9);opacity:.5}.emacs-mode .ace_hidden-cursors .ace_cursor{opacity:1;background-color:transparent}.emacs-mode .ace_overwrite-cursors .ace_cursor{opacity:1;background-color:transparent;border-width:0 0 2px 2px!important}.emacs-mode .ace_text-layer{z-index:4}.emacs-mode .ace_cursor-layer{z-index:2}.normal-mode .ace_cursor{border:none;background-color:rgba(255,0,0,.5)}.normal-mode .ace_hidden-cursors .ace_cursor{background-color:transparent;border:1px solid red;opacity:.7}.ace_dialog{position:absolute;left:0;right:0;background:inherit;z-index:15;padding:.1em .8em;overflow:hidden;color:inherit}.ace_dialog-top{border-bottom:1px solid #444;top:0}.ace_dialog-bottom{border-top:1px solid #444;bottom:0}.ace_dialog input{border:none;outline:0;background:0 0;width:20em;color:inherit;font-family:monospace}
8
+/*# sourceMappingURL=/sm/51590284bb802d5fb686f3a4c22ec5a8f0eefefb51088aaa9b3816f6c7e618c5.map */
\ No newline at end of file
webui/vendor/alpine/alpine.collapse.min.js
new
+1
@@ -0,0 +1 @@
1
+(()=>{function g(n){n.directive("collapse",e),e.inline=(t,{modifiers:i})=>{i.includes("min")&&(t._x_doShow=()=>{},t._x_doHide=()=>{})};function e(t,{modifiers:i}){let r=l(i,"duration",250)/1e3,h=l(i,"min",0),u=!i.includes("min");t._x_isShown||(t.style.height=`${h}px`),!t._x_isShown&&u&&(t.hidden=!0),t._x_isShown||(t.style.overflow="hidden");let c=(d,s)=>{let o=n.setStyles(d,s);return s.height?()=>{}:o},f={transitionProperty:"height",transitionDuration:`${r}s`,transitionTimingFunction:"cubic-bezier(0.4, 0.0, 0.2, 1)"};t._x_transition={in(d=()=>{},s=()=>{}){u&&(t.hidden=!1),u&&(t.style.display=null);let o=t.getBoundingClientRect().height;t.style.height="auto";let a=t.getBoundingClientRect().height;o===a&&(o=h),n.transition(t,n.setStyles,{during:f,start:{height:o+"px"},end:{height:a+"px"}},()=>t._x_isShown=!0,()=>{Math.abs(t.getBoundingClientRect().height-a)<1&&(t.style.overflow=null)})},out(d=()=>{},s=()=>{}){let o=t.getBoundingClientRect().height;n.transition(t,c,{during:f,start:{height:o+"px"},end:{height:h+"px"}},()=>t.style.overflow="hidden",()=>{t._x_isShown=!1,t.style.height==`${h}px`&&u&&(t.style.display="none",t.hidden=!0)})}}}}function l(n,e,t){if(n.indexOf(e)===-1)return t;let i=n[n.indexOf(e)+1];if(!i)return t;if(e==="duration"){let r=i.match(/([0-9]+)ms/);if(r)return r[1]}if(e==="min"){let r=i.match(/([0-9]+)px/);if(r)return r[1]}return i}document.addEventListener("alpine:init",()=>{window.Alpine.plugin(g)});})();
webui/vendor/alpine/alpine.min.js
renamed
webui/vendor/flatpickr/flatpickr.min.css
new
+13
@@ -0,0 +1,13 @@
1
+.flatpickr-calendar{background:transparent;opacity:0;display:none;text-align:center;visibility:hidden;padding:0;-webkit-animation:none;animation:none;direction:ltr;border:0;font-size:14px;line-height:24px;border-radius:5px;position:absolute;width:307.875px;-webkit-box-sizing:border-box;box-sizing:border-box;-ms-touch-action:manipulation;touch-action:manipulation;background:#fff;-webkit-box-shadow:1px 0 0 #e6e6e6,-1px 0 0 #e6e6e6,0 1px 0 #e6e6e6,0 -1px 0 #e6e6e6,0 3px 13px rgba(0,0,0,0.08);box-shadow:1px 0 0 #e6e6e6,-1px 0 0 #e6e6e6,0 1px 0 #e6e6e6,0 -1px 0 #e6e6e6,0 3px 13px rgba(0,0,0,0.08)}.flatpickr-calendar.open,.flatpickr-calendar.inline{opacity:1;max-height:640px;visibility:visible}.flatpickr-calendar.open{display:inline-block;z-index:99999}.flatpickr-calendar.animate.open{-webkit-animation:fpFadeInDown 300ms cubic-bezier(.23,1,.32,1);animation:fpFadeInDown 300ms cubic-bezier(.23,1,.32,1)}.flatpickr-calendar.inline{display:block;position:relative;top:2px}.flatpickr-calendar.static{position:absolute;top:calc(100% + 2px)}.flatpickr-calendar.static.open{z-index:999;display:block}.flatpickr-calendar.multiMonth .flatpickr-days .dayContainer:nth-child(n+1) .flatpickr-day.inRange:nth-child(7n+7){-webkit-box-shadow:none !important;box-shadow:none !important}.flatpickr-calendar.multiMonth .flatpickr-days .dayContainer:nth-child(n+2) .flatpickr-day.inRange:nth-child(7n+1){-webkit-box-shadow:-2px 0 0 #e6e6e6,5px 0 0 #e6e6e6;box-shadow:-2px 0 0 #e6e6e6,5px 0 0 #e6e6e6}.flatpickr-calendar .hasWeeks .dayContainer,.flatpickr-calendar .hasTime .dayContainer{border-bottom:0;border-bottom-right-radius:0;border-bottom-left-radius:0}.flatpickr-calendar .hasWeeks .dayContainer{border-left:0}.flatpickr-calendar.hasTime .flatpickr-time{height:40px;border-top:1px solid #e6e6e6}.flatpickr-calendar.noCalendar.hasTime .flatpickr-time{height:auto}.flatpickr-calendar:before,.flatpickr-calendar:after{position:absolute;display:block;pointer-events:none;border:solid transparent;content:'';height:0;width:0;left:22px}.flatpickr-calendar.rightMost:before,.flatpickr-calendar.arrowRight:before,.flatpickr-calendar.rightMost:after,.flatpickr-calendar.arrowRight:after{left:auto;right:22px}.flatpickr-calendar.arrowCenter:before,.flatpickr-calendar.arrowCenter:after{left:50%;right:50%}.flatpickr-calendar:before{border-width:5px;margin:0 -5px}.flatpickr-calendar:after{border-width:4px;margin:0 -4px}.flatpickr-calendar.arrowTop:before,.flatpickr-calendar.arrowTop:after{bottom:100%}.flatpickr-calendar.arrowTop:before{border-bottom-color:#e6e6e6}.flatpickr-calendar.arrowTop:after{border-bottom-color:#fff}.flatpickr-calendar.arrowBottom:before,.flatpickr-calendar.arrowBottom:after{top:100%}.flatpickr-calendar.arrowBottom:before{border-top-color:#e6e6e6}.flatpickr-calendar.arrowBottom:after{border-top-color:#fff}.flatpickr-calendar:focus{outline:0}.flatpickr-wrapper{position:relative;display:inline-block}.flatpickr-months{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex}.flatpickr-months .flatpickr-month{background:transparent;color:rgba(0,0,0,0.9);fill:rgba(0,0,0,0.9);height:34px;line-height:1;text-align:center;position:relative;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;overflow:hidden;-webkit-box-flex:1;-webkit-flex:1;-ms-flex:1;flex:1}.flatpickr-months .flatpickr-prev-month,.flatpickr-months .flatpickr-next-month{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;text-decoration:none;cursor:pointer;position:absolute;top:0;height:34px;padding:10px;z-index:3;color:rgba(0,0,0,0.9);fill:rgba(0,0,0,0.9)}.flatpickr-months .flatpickr-prev-month.flatpickr-disabled,.flatpickr-months .flatpickr-next-month.flatpickr-disabled{display:none}.flatpickr-months .flatpickr-prev-month i,.flatpickr-months .flatpickr-next-month i{position:relative}.flatpickr-months .flatpickr-prev-month.flatpickr-prev-month,.flatpickr-months .flatpickr-next-month.flatpickr-prev-month{/*
2
+ /*rtl:begin:ignore*/left:0/*
3
+ /*rtl:end:ignore*/}/*
4
+ /*rtl:begin:ignore*/
5
+/*
6
+ /*rtl:end:ignore*/
7
+.flatpickr-months .flatpickr-prev-month.flatpickr-next-month,.flatpickr-months .flatpickr-next-month.flatpickr-next-month{/*
8
+ /*rtl:begin:ignore*/right:0/*
9
+ /*rtl:end:ignore*/}/*
10
+ /*rtl:begin:ignore*/
11
+/*
12
+ /*rtl:end:ignore*/
13
+.flatpickr-months .flatpickr-prev-month:hover,.flatpickr-months .flatpickr-next-month:hover{color:#959ea9}.flatpickr-months .flatpickr-prev-month:hover svg,.flatpickr-months .flatpickr-next-month:hover svg{fill:#f64747}.flatpickr-months .flatpickr-prev-month svg,.flatpickr-months .flatpickr-next-month svg{width:14px;height:14px}.flatpickr-months .flatpickr-prev-month svg path,.flatpickr-months .flatpickr-next-month svg path{-webkit-transition:fill .1s;transition:fill .1s;fill:inherit}.numInputWrapper{position:relative;height:auto}.numInputWrapper input,.numInputWrapper span{display:inline-block}.numInputWrapper input{width:100%}.numInputWrapper input::-ms-clear{display:none}.numInputWrapper input::-webkit-outer-spin-button,.numInputWrapper input::-webkit-inner-spin-button{margin:0;-webkit-appearance:none}.numInputWrapper span{position:absolute;right:0;width:14px;padding:0 4px 0 2px;height:50%;line-height:50%;opacity:0;cursor:pointer;border:1px solid rgba(57,57,57,0.15);-webkit-box-sizing:border-box;box-sizing:border-box}.numInputWrapper span:hover{background:rgba(0,0,0,0.1)}.numInputWrapper span:active{background:rgba(0,0,0,0.2)}.numInputWrapper span:after{display:block;content:"";position:absolute}.numInputWrapper span.arrowUp{top:0;border-bottom:0}.numInputWrapper span.arrowUp:after{border-left:4px solid transparent;border-right:4px solid transparent;border-bottom:4px solid rgba(57,57,57,0.6);top:26%}.numInputWrapper span.arrowDown{top:50%}.numInputWrapper span.arrowDown:after{border-left:4px solid transparent;border-right:4px solid transparent;border-top:4px solid rgba(57,57,57,0.6);top:40%}.numInputWrapper span svg{width:inherit;height:auto}.numInputWrapper span svg path{fill:rgba(0,0,0,0.5)}.numInputWrapper:hover{background:rgba(0,0,0,0.05)}.numInputWrapper:hover span{opacity:1}.flatpickr-current-month{font-size:135%;line-height:inherit;font-weight:300;color:inherit;position:absolute;width:75%;left:12.5%;padding:7.48px 0 0 0;line-height:1;height:34px;display:inline-block;text-align:center;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}.flatpickr-current-month span.cur-month{font-family:inherit;font-weight:700;color:inherit;display:inline-block;margin-left:.5ch;padding:0}.flatpickr-current-month span.cur-month:hover{background:rgba(0,0,0,0.05)}.flatpickr-current-month .numInputWrapper{width:6ch;width:7ch\0;display:inline-block}.flatpickr-current-month .numInputWrapper span.arrowUp:after{border-bottom-color:rgba(0,0,0,0.9)}.flatpickr-current-month .numInputWrapper span.arrowDown:after{border-top-color:rgba(0,0,0,0.9)}.flatpickr-current-month input.cur-year{background:transparent;-webkit-box-sizing:border-box;box-sizing:border-box;color:inherit;cursor:text;padding:0 0 0 .5ch;margin:0;display:inline-block;font-size:inherit;font-family:inherit;font-weight:300;line-height:inherit;height:auto;border:0;border-radius:0;vertical-align:initial;-webkit-appearance:textfield;-moz-appearance:textfield;appearance:textfield}.flatpickr-current-month input.cur-year:focus{outline:0}.flatpickr-current-month input.cur-year[disabled],.flatpickr-current-month input.cur-year[disabled]:hover{font-size:100%;color:rgba(0,0,0,0.5);background:transparent;pointer-events:none}.flatpickr-current-month .flatpickr-monthDropdown-months{appearance:menulist;background:transparent;border:none;border-radius:0;box-sizing:border-box;color:inherit;cursor:pointer;font-size:inherit;font-family:inherit;font-weight:300;height:auto;line-height:inherit;margin:-1px 0 0 0;outline:none;padding:0 0 0 .5ch;position:relative;vertical-align:initial;-webkit-box-sizing:border-box;-webkit-appearance:menulist;-moz-appearance:menulist;width:auto}.flatpickr-current-month .flatpickr-monthDropdown-months:focus,.flatpickr-current-month .flatpickr-monthDropdown-months:active{outline:none}.flatpickr-current-month .flatpickr-monthDropdown-months:hover{background:rgba(0,0,0,0.05)}.flatpickr-current-month .flatpickr-monthDropdown-months .flatpickr-monthDropdown-month{background-color:transparent;outline:none;padding:0}.flatpickr-weekdays{background:transparent;text-align:center;overflow:hidden;width:100%;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;height:28px}.flatpickr-weekdays .flatpickr-weekdaycontainer{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-flex:1;-webkit-flex:1;-ms-flex:1;flex:1}span.flatpickr-weekday{cursor:default;font-size:90%;background:transparent;color:rgba(0,0,0,0.54);line-height:1;margin:0;text-align:center;display:block;-webkit-box-flex:1;-webkit-flex:1;-ms-flex:1;flex:1;font-weight:bolder}.dayContainer,.flatpickr-weeks{padding:1px 0 0 0}.flatpickr-days{position:relative;overflow:hidden;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:start;-webkit-align-items:flex-start;-ms-flex-align:start;align-items:flex-start;width:307.875px}.flatpickr-days:focus{outline:0}.dayContainer{padding:0;outline:0;text-align:left;width:307.875px;min-width:307.875px;max-width:307.875px;-webkit-box-sizing:border-box;box-sizing:border-box;display:inline-block;display:-ms-flexbox;display:-webkit-box;display:-webkit-flex;display:flex;-webkit-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-wrap:wrap;-ms-flex-pack:justify;-webkit-justify-content:space-around;justify-content:space-around;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);opacity:1}.dayContainer + .dayContainer{-webkit-box-shadow:-1px 0 0 #e6e6e6;box-shadow:-1px 0 0 #e6e6e6}.flatpickr-day{background:none;border:1px solid transparent;border-radius:150px;-webkit-box-sizing:border-box;box-sizing:border-box;color:#393939;cursor:pointer;font-weight:400;width:14.2857143%;-webkit-flex-basis:14.2857143%;-ms-flex-preferred-size:14.2857143%;flex-basis:14.2857143%;max-width:39px;height:39px;line-height:39px;margin:0;display:inline-block;position:relative;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;text-align:center}.flatpickr-day.inRange,.flatpickr-day.prevMonthDay.inRange,.flatpickr-day.nextMonthDay.inRange,.flatpickr-day.today.inRange,.flatpickr-day.prevMonthDay.today.inRange,.flatpickr-day.nextMonthDay.today.inRange,.flatpickr-day:hover,.flatpickr-day.prevMonthDay:hover,.flatpickr-day.nextMonthDay:hover,.flatpickr-day:focus,.flatpickr-day.prevMonthDay:focus,.flatpickr-day.nextMonthDay:focus{cursor:pointer;outline:0;background:#e6e6e6;border-color:#e6e6e6}.flatpickr-day.today{border-color:#959ea9}.flatpickr-day.today:hover,.flatpickr-day.today:focus{border-color:#959ea9;background:#959ea9;color:#fff}.flatpickr-day.selected,.flatpickr-day.startRange,.flatpickr-day.endRange,.flatpickr-day.selected.inRange,.flatpickr-day.startRange.inRange,.flatpickr-day.endRange.inRange,.flatpickr-day.selected:focus,.flatpickr-day.startRange:focus,.flatpickr-day.endRange:focus,.flatpickr-day.selected:hover,.flatpickr-day.startRange:hover,.flatpickr-day.endRange:hover,.flatpickr-day.selected.prevMonthDay,.flatpickr-day.startRange.prevMonthDay,.flatpickr-day.endRange.prevMonthDay,.flatpickr-day.selected.nextMonthDay,.flatpickr-day.startRange.nextMonthDay,.flatpickr-day.endRange.nextMonthDay{background:#569ff7;-webkit-box-shadow:none;box-shadow:none;color:#fff;border-color:#569ff7}.flatpickr-day.selected.startRange,.flatpickr-day.startRange.startRange,.flatpickr-day.endRange.startRange{border-radius:50px 0 0 50px}.flatpickr-day.selected.endRange,.flatpickr-day.startRange.endRange,.flatpickr-day.endRange.endRange{border-radius:0 50px 50px 0}.flatpickr-day.selected.startRange + .endRange:not(:nth-child(7n+1)),.flatpickr-day.startRange.startRange + .endRange:not(:nth-child(7n+1)),.flatpickr-day.endRange.startRange + .endRange:not(:nth-child(7n+1)){-webkit-box-shadow:-10px 0 0 #569ff7;box-shadow:-10px 0 0 #569ff7}.flatpickr-day.selected.startRange.endRange,.flatpickr-day.startRange.startRange.endRange,.flatpickr-day.endRange.startRange.endRange{border-radius:50px}.flatpickr-day.inRange{border-radius:0;-webkit-box-shadow:-5px 0 0 #e6e6e6,5px 0 0 #e6e6e6;box-shadow:-5px 0 0 #e6e6e6,5px 0 0 #e6e6e6}.flatpickr-day.flatpickr-disabled,.flatpickr-day.flatpickr-disabled:hover,.flatpickr-day.prevMonthDay,.flatpickr-day.nextMonthDay,.flatpickr-day.notAllowed,.flatpickr-day.notAllowed.prevMonthDay,.flatpickr-day.notAllowed.nextMonthDay{color:rgba(57,57,57,0.3);background:transparent;border-color:transparent;cursor:default}.flatpickr-day.flatpickr-disabled,.flatpickr-day.flatpickr-disabled:hover{cursor:not-allowed;color:rgba(57,57,57,0.1)}.flatpickr-day.week.selected{border-radius:0;-webkit-box-shadow:-5px 0 0 #569ff7,5px 0 0 #569ff7;box-shadow:-5px 0 0 #569ff7,5px 0 0 #569ff7}.flatpickr-day.hidden{visibility:hidden}.rangeMode .flatpickr-day{margin-top:1px}.flatpickr-weekwrapper{float:left}.flatpickr-weekwrapper .flatpickr-weeks{padding:0 12px;-webkit-box-shadow:1px 0 0 #e6e6e6;box-shadow:1px 0 0 #e6e6e6}.flatpickr-weekwrapper .flatpickr-weekday{float:none;width:100%;line-height:28px}.flatpickr-weekwrapper span.flatpickr-day,.flatpickr-weekwrapper span.flatpickr-day:hover{display:block;width:100%;max-width:none;color:rgba(57,57,57,0.3);background:transparent;cursor:default;border:none}.flatpickr-innerContainer{display:block;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-sizing:border-box;box-sizing:border-box;overflow:hidden}.flatpickr-rContainer{display:inline-block;padding:0;-webkit-box-sizing:border-box;box-sizing:border-box}.flatpickr-time{text-align:center;outline:0;display:block;height:0;line-height:40px;max-height:40px;-webkit-box-sizing:border-box;box-sizing:border-box;overflow:hidden;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex}.flatpickr-time:after{content:"";display:table;clear:both}.flatpickr-time .numInputWrapper{-webkit-box-flex:1;-webkit-flex:1;-ms-flex:1;flex:1;width:40%;height:40px;float:left}.flatpickr-time .numInputWrapper span.arrowUp:after{border-bottom-color:#393939}.flatpickr-time .numInputWrapper span.arrowDown:after{border-top-color:#393939}.flatpickr-time.hasSeconds .numInputWrapper{width:26%}.flatpickr-time.time24hr .numInputWrapper{width:49%}.flatpickr-time input{background:transparent;-webkit-box-shadow:none;box-shadow:none;border:0;border-radius:0;text-align:center;margin:0;padding:0;height:inherit;line-height:inherit;color:#393939;font-size:14px;position:relative;-webkit-box-sizing:border-box;box-sizing:border-box;-webkit-appearance:textfield;-moz-appearance:textfield;appearance:textfield}.flatpickr-time input.flatpickr-hour{font-weight:bold}.flatpickr-time input.flatpickr-minute,.flatpickr-time input.flatpickr-second{font-weight:400}.flatpickr-time input:focus{outline:0;border:0}.flatpickr-time .flatpickr-time-separator,.flatpickr-time .flatpickr-am-pm{height:inherit;float:left;line-height:inherit;color:#393939;font-weight:bold;width:2%;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-align-self:center;-ms-flex-item-align:center;align-self:center}.flatpickr-time .flatpickr-am-pm{outline:0;width:18%;cursor:pointer;text-align:center;font-weight:400}.flatpickr-time input:hover,.flatpickr-time .flatpickr-am-pm:hover,.flatpickr-time input:focus,.flatpickr-time .flatpickr-am-pm:focus{background:#eee}.flatpickr-input[readonly]{cursor:pointer}@-webkit-keyframes fpFadeInDown{from{opacity:0;-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0)}to{opacity:1;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}}@keyframes fpFadeInDown{from{opacity:0;-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0)}to{opacity:1;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}}
\ No newline at end of file
webui/vendor/flatpickr/flatpickr.min.js
new
+2
@@ -0,0 +1,2 @@
1
+/* flatpickr v4.6.13,, @license MIT */
2
+!function(e,n){"object"==typeof exports&&"undefined"!=typeof module?module.exports=n():"function"==typeof define&&define.amd?define(n):(e="undefined"!=typeof globalThis?globalThis:e||self).flatpickr=n()}(this,(function(){"use strict";var e=function(){return(e=Object.assign||function(e){for(var n,t=1,a=arguments.length;t<a;t++)for(var i in n=arguments[t])Object.prototype.hasOwnProperty.call(n,i)&&(e[i]=n[i]);return e}).apply(this,arguments)};function n(){for(var e=0,n=0,t=arguments.length;n<t;n++)e+=arguments[n].length;var a=Array(e),i=0;for(n=0;n<t;n++)for(var o=arguments[n],r=0,l=o.length;r<l;r++,i++)a[i]=o[r];return a}var t=["onChange","onClose","onDayCreate","onDestroy","onKeyDown","onMonthChange","onOpen","onParseConfig","onReady","onValueUpdate","onYearChange","onPreCalendarPosition"],a={_disable:[],allowInput:!1,allowInvalidPreload:!1,altFormat:"F j, Y",altInput:!1,altInputClass:"form-control input",animate:"object"==typeof window&&-1===window.navigator.userAgent.indexOf("MSIE"),ariaDateFormat:"F j, Y",autoFillDefaultTime:!0,clickOpens:!0,closeOnSelect:!0,conjunction:", ",dateFormat:"Y-m-d",defaultHour:12,defaultMinute:0,defaultSeconds:0,disable:[],disableMobile:!1,enableSeconds:!1,enableTime:!1,errorHandler:function(e){return"undefined"!=typeof console&&console.warn(e)},getWeek:function(e){var n=new Date(e.getTime());n.setHours(0,0,0,0),n.setDate(n.getDate()+3-(n.getDay()+6)%7);var t=new Date(n.getFullYear(),0,4);return 1+Math.round(((n.getTime()-t.getTime())/864e5-3+(t.getDay()+6)%7)/7)},hourIncrement:1,ignoredFocusElements:[],inline:!1,locale:"default",minuteIncrement:5,mode:"single",monthSelectorType:"dropdown",nextArrow:"<svg version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' viewBox='0 0 17 17'><g></g><path d='M13.207 8.472l-7.854 7.854-0.707-0.707 7.146-7.146-7.146-7.148 0.707-0.707 7.854 7.854z' /></svg>",noCalendar:!1,now:new Date,onChange:[],onClose:[],onDayCreate:[],onDestroy:[],onKeyDown:[],onMonthChange:[],onOpen:[],onParseConfig:[],onReady:[],onValueUpdate:[],onYearChange:[],onPreCalendarPosition:[],plugins:[],position:"auto",positionElement:void 0,prevArrow:"<svg version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' viewBox='0 0 17 17'><g></g><path d='M5.207 8.471l7.146 7.147-0.707 0.707-7.853-7.854 7.854-7.853 0.707 0.707-7.147 7.146z' /></svg>",shorthandCurrentMonth:!1,showMonths:1,static:!1,time_24hr:!1,weekNumbers:!1,wrap:!1},i={weekdays:{shorthand:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],longhand:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"]},months:{shorthand:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],longhand:["January","February","March","April","May","June","July","August","September","October","November","December"]},daysInMonth:[31,28,31,30,31,30,31,31,30,31,30,31],firstDayOfWeek:0,ordinal:function(e){var n=e%100;if(n>3&&n<21)return"th";switch(n%10){case 1:return"st";case 2:return"nd";case 3:return"rd";default:return"th"}},rangeSeparator:" to ",weekAbbreviation:"Wk",scrollTitle:"Scroll to increment",toggleTitle:"Click to toggle",amPM:["AM","PM"],yearAriaLabel:"Year",monthAriaLabel:"Month",hourAriaLabel:"Hour",minuteAriaLabel:"Minute",time_24hr:!1},o=function(e,n){return void 0===n&&(n=2),("000"+e).slice(-1*n)},r=function(e){return!0===e?1:0};function l(e,n){var t;return function(){var a=this,i=arguments;clearTimeout(t),t=setTimeout((function(){return e.apply(a,i)}),n)}}var c=function(e){return e instanceof Array?e:[e]};function s(e,n,t){if(!0===t)return e.classList.add(n);e.classList.remove(n)}function d(e,n,t){var a=window.document.createElement(e);return n=n||"",t=t||"",a.className=n,void 0!==t&&(a.textContent=t),a}function u(e){for(;e.firstChild;)e.removeChild(e.firstChild)}function f(e,n){return n(e)?e:e.parentNode?f(e.parentNode,n):void 0}function m(e,n){var t=d("div","numInputWrapper"),a=d("input","numInput "+e),i=d("span","arrowUp"),o=d("span","arrowDown");if(-1===navigator.userAgent.indexOf("MSIE 9.0")?a.type="number":(a.type="text",a.pattern="\\d*"),void 0!==n)for(var r in n)a.setAttribute(r,n[r]);return t.appendChild(a),t.appendChild(i),t.appendChild(o),t}function g(e){try{return"function"==typeof e.composedPath?e.composedPath()[0]:e.target}catch(n){return e.target}}var p=function(){},h=function(e,n,t){return t.months[n?"shorthand":"longhand"][e]},v={D:p,F:function(e,n,t){e.setMonth(t.months.longhand.indexOf(n))},G:function(e,n){e.setHours((e.getHours()>=12?12:0)+parseFloat(n))},H:function(e,n){e.setHours(parseFloat(n))},J:function(e,n){e.setDate(parseFloat(n))},K:function(e,n,t){e.setHours(e.getHours()%12+12*r(new RegExp(t.amPM[1],"i").test(n)))},M:function(e,n,t){e.setMonth(t.months.shorthand.indexOf(n))},S:function(e,n){e.setSeconds(parseFloat(n))},U:function(e,n){return new Date(1e3*parseFloat(n))},W:function(e,n,t){var a=parseInt(n),i=new Date(e.getFullYear(),0,2+7*(a-1),0,0,0,0);return i.setDate(i.getDate()-i.getDay()+t.firstDayOfWeek),i},Y:function(e,n){e.setFullYear(parseFloat(n))},Z:function(e,n){return new Date(n)},d:function(e,n){e.setDate(parseFloat(n))},h:function(e,n){e.setHours((e.getHours()>=12?12:0)+parseFloat(n))},i:function(e,n){e.setMinutes(parseFloat(n))},j:function(e,n){e.setDate(parseFloat(n))},l:p,m:function(e,n){e.setMonth(parseFloat(n)-1)},n:function(e,n){e.setMonth(parseFloat(n)-1)},s:function(e,n){e.setSeconds(parseFloat(n))},u:function(e,n){return new Date(parseFloat(n))},w:p,y:function(e,n){e.setFullYear(2e3+parseFloat(n))}},D={D:"",F:"",G:"(\\d\\d|\\d)",H:"(\\d\\d|\\d)",J:"(\\d\\d|\\d)\\w+",K:"",M:"",S:"(\\d\\d|\\d)",U:"(.+)",W:"(\\d\\d|\\d)",Y:"(\\d{4})",Z:"(.+)",d:"(\\d\\d|\\d)",h:"(\\d\\d|\\d)",i:"(\\d\\d|\\d)",j:"(\\d\\d|\\d)",l:"",m:"(\\d\\d|\\d)",n:"(\\d\\d|\\d)",s:"(\\d\\d|\\d)",u:"(.+)",w:"(\\d\\d|\\d)",y:"(\\d{2})"},w={Z:function(e){return e.toISOString()},D:function(e,n,t){return n.weekdays.shorthand[w.w(e,n,t)]},F:function(e,n,t){return h(w.n(e,n,t)-1,!1,n)},G:function(e,n,t){return o(w.h(e,n,t))},H:function(e){return o(e.getHours())},J:function(e,n){return void 0!==n.ordinal?e.getDate()+n.ordinal(e.getDate()):e.getDate()},K:function(e,n){return n.amPM[r(e.getHours()>11)]},M:function(e,n){return h(e.getMonth(),!0,n)},S:function(e){return o(e.getSeconds())},U:function(e){return e.getTime()/1e3},W:function(e,n,t){return t.getWeek(e)},Y:function(e){return o(e.getFullYear(),4)},d:function(e){return o(e.getDate())},h:function(e){return e.getHours()%12?e.getHours()%12:12},i:function(e){return o(e.getMinutes())},j:function(e){return e.getDate()},l:function(e,n){return n.weekdays.longhand[e.getDay()]},m:function(e){return o(e.getMonth()+1)},n:function(e){return e.getMonth()+1},s:function(e){return e.getSeconds()},u:function(e){return e.getTime()},w:function(e){return e.getDay()},y:function(e){return String(e.getFullYear()).substring(2)}},b=function(e){var n=e.config,t=void 0===n?a:n,o=e.l10n,r=void 0===o?i:o,l=e.isMobile,c=void 0!==l&&l;return function(e,n,a){var i=a||r;return void 0===t.formatDate||c?n.split("").map((function(n,a,o){return w[n]&&"\\"!==o[a-1]?w[n](e,i,t):"\\"!==n?n:""})).join(""):t.formatDate(e,n,i)}},C=function(e){var n=e.config,t=void 0===n?a:n,o=e.l10n,r=void 0===o?i:o;return function(e,n,i,o){if(0===e||e){var l,c=o||r,s=e;if(e instanceof Date)l=new Date(e.getTime());else if("string"!=typeof e&&void 0!==e.toFixed)l=new Date(e);else if("string"==typeof e){var d=n||(t||a).dateFormat,u=String(e).trim();if("today"===u)l=new Date,i=!0;else if(t&&t.parseDate)l=t.parseDate(e,d);else if(/Z$/.test(u)||/GMT$/.test(u))l=new Date(e);else{for(var f=void 0,m=[],g=0,p=0,h="";g<d.length;g++){var w=d[g],b="\\"===w,C="\\"===d[g-1]||b;if(D[w]&&!C){h+=D[w];var M=new RegExp(h).exec(e);M&&(f=!0)&&m["Y"!==w?"push":"unshift"]({fn:v[w],val:M[++p]})}else b||(h+=".")}l=t&&t.noCalendar?new Date((new Date).setHours(0,0,0,0)):new Date((new Date).getFullYear(),0,1,0,0,0,0),m.forEach((function(e){var n=e.fn,t=e.val;return l=n(l,t,c)||l})),l=f?l:void 0}}if(l instanceof Date&&!isNaN(l.getTime()))return!0===i&&l.setHours(0,0,0,0),l;t.errorHandler(new Error("Invalid date provided: "+s))}}};function M(e,n,t){return void 0===t&&(t=!0),!1!==t?new Date(e.getTime()).setHours(0,0,0,0)-new Date(n.getTime()).setHours(0,0,0,0):e.getTime()-n.getTime()}var y=function(e,n,t){return 3600*e+60*n+t},x=864e5;function E(e){var n=e.defaultHour,t=e.defaultMinute,a=e.defaultSeconds;if(void 0!==e.minDate){var i=e.minDate.getHours(),o=e.minDate.getMinutes(),r=e.minDate.getSeconds();n<i&&(n=i),n===i&&t<o&&(t=o),n===i&&t===o&&a<r&&(a=e.minDate.getSeconds())}if(void 0!==e.maxDate){var l=e.maxDate.getHours(),c=e.maxDate.getMinutes();(n=Math.min(n,l))===l&&(t=Math.min(c,t)),n===l&&t===c&&(a=e.maxDate.getSeconds())}return{hours:n,minutes:t,seconds:a}}"function"!=typeof Object.assign&&(Object.assign=function(e){for(var n=[],t=1;t<arguments.length;t++)n[t-1]=arguments[t];if(!e)throw TypeError("Cannot convert undefined or null to object");for(var a=function(n){n&&Object.keys(n).forEach((function(t){return e[t]=n[t]}))},i=0,o=n;i<o.length;i++){var r=o[i];a(r)}return e});function k(p,v){var w={config:e(e({},a),I.defaultConfig),l10n:i};function k(){var e;return(null===(e=w.calendarContainer)||void 0===e?void 0:e.getRootNode()).activeElement||document.activeElement}function T(e){return e.bind(w)}function S(){var e=w.config;!1===e.weekNumbers&&1===e.showMonths||!0!==e.noCalendar&&window.requestAnimationFrame((function(){if(void 0!==w.calendarContainer&&(w.calendarContainer.style.visibility="hidden",w.calendarContainer.style.display="block"),void 0!==w.daysContainer){var n=(w.days.offsetWidth+1)*e.showMonths;w.daysContainer.style.width=n+"px",w.calendarContainer.style.width=n+(void 0!==w.weekWrapper?w.weekWrapper.offsetWidth:0)+"px",w.calendarContainer.style.removeProperty("visibility"),w.calendarContainer.style.removeProperty("display")}}))}function _(e){if(0===w.selectedDates.length){var n=void 0===w.config.minDate||M(new Date,w.config.minDate)>=0?new Date:new Date(w.config.minDate.getTime()),t=E(w.config);n.setHours(t.hours,t.minutes,t.seconds,n.getMilliseconds()),w.selectedDates=[n],w.latestSelectedDateObj=n}void 0!==e&&"blur"!==e.type&&function(e){e.preventDefault();var n="keydown"===e.type,t=g(e),a=t;void 0!==w.amPM&&t===w.amPM&&(w.amPM.textContent=w.l10n.amPM[r(w.amPM.textContent===w.l10n.amPM[0])]);var i=parseFloat(a.getAttribute("min")),l=parseFloat(a.getAttribute("max")),c=parseFloat(a.getAttribute("step")),s=parseInt(a.value,10),d=e.delta||(n?38===e.which?1:-1:0),u=s+c*d;if(void 0!==a.value&&2===a.value.length){var f=a===w.hourElement,m=a===w.minuteElement;u<i?(u=l+u+r(!f)+(r(f)&&r(!w.amPM)),m&&L(void 0,-1,w.hourElement)):u>l&&(u=a===w.hourElement?u-l-r(!w.amPM):i,m&&L(void 0,1,w.hourElement)),w.amPM&&f&&(1===c?u+s===23:Math.abs(u-s)>c)&&(w.amPM.textContent=w.l10n.amPM[r(w.amPM.textContent===w.l10n.amPM[0])]),a.value=o(u)}}(e);var a=w._input.value;O(),ye(),w._input.value!==a&&w._debouncedChange()}function O(){if(void 0!==w.hourElement&&void 0!==w.minuteElement){var e,n,t=(parseInt(w.hourElement.value.slice(-2),10)||0)%24,a=(parseInt(w.minuteElement.value,10)||0)%60,i=void 0!==w.secondElement?(parseInt(w.secondElement.value,10)||0)%60:0;void 0!==w.amPM&&(e=t,n=w.amPM.textContent,t=e%12+12*r(n===w.l10n.amPM[1]));var o=void 0!==w.config.minTime||w.config.minDate&&w.minDateHasTime&&w.latestSelectedDateObj&&0===M(w.latestSelectedDateObj,w.config.minDate,!0),l=void 0!==w.config.maxTime||w.config.maxDate&&w.maxDateHasTime&&w.latestSelectedDateObj&&0===M(w.latestSelectedDateObj,w.config.maxDate,!0);if(void 0!==w.config.maxTime&&void 0!==w.config.minTime&&w.config.minTime>w.config.maxTime){var c=y(w.config.minTime.getHours(),w.config.minTime.getMinutes(),w.config.minTime.getSeconds()),s=y(w.config.maxTime.getHours(),w.config.maxTime.getMinutes(),w.config.maxTime.getSeconds()),d=y(t,a,i);if(d>s&&d<c){var u=function(e){var n=Math.floor(e/3600),t=(e-3600*n)/60;return[n,t,e-3600*n-60*t]}(c);t=u[0],a=u[1],i=u[2]}}else{if(l){var f=void 0!==w.config.maxTime?w.config.maxTime:w.config.maxDate;(t=Math.min(t,f.getHours()))===f.getHours()&&(a=Math.min(a,f.getMinutes())),a===f.getMinutes()&&(i=Math.min(i,f.getSeconds()))}if(o){var m=void 0!==w.config.minTime?w.config.minTime:w.config.minDate;(t=Math.max(t,m.getHours()))===m.getHours()&&a<m.getMinutes()&&(a=m.getMinutes()),a===m.getMinutes()&&(i=Math.max(i,m.getSeconds()))}}A(t,a,i)}}function F(e){var n=e||w.latestSelectedDateObj;n&&n instanceof Date&&A(n.getHours(),n.getMinutes(),n.getSeconds())}function A(e,n,t){void 0!==w.latestSelectedDateObj&&w.latestSelectedDateObj.setHours(e%24,n,t||0,0),w.hourElement&&w.minuteElement&&!w.isMobile&&(w.hourElement.value=o(w.config.time_24hr?e:(12+e)%12+12*r(e%12==0)),w.minuteElement.value=o(n),void 0!==w.amPM&&(w.amPM.textContent=w.l10n.amPM[r(e>=12)]),void 0!==w.secondElement&&(w.secondElement.value=o(t)))}function N(e){var n=g(e),t=parseInt(n.value)+(e.delta||0);(t/1e3>1||"Enter"===e.key&&!/[^\d]/.test(t.toString()))&&ee(t)}function P(e,n,t,a){return n instanceof Array?n.forEach((function(n){return P(e,n,t,a)})):e instanceof Array?e.forEach((function(e){return P(e,n,t,a)})):(e.addEventListener(n,t,a),void w._handlers.push({remove:function(){return e.removeEventListener(n,t,a)}}))}function Y(){De("onChange")}function j(e,n){var t=void 0!==e?w.parseDate(e):w.latestSelectedDateObj||(w.config.minDate&&w.config.minDate>w.now?w.config.minDate:w.config.maxDate&&w.config.maxDate<w.now?w.config.maxDate:w.now),a=w.currentYear,i=w.currentMonth;try{void 0!==t&&(w.currentYear=t.getFullYear(),w.currentMonth=t.getMonth())}catch(e){e.message="Invalid date supplied: "+t,w.config.errorHandler(e)}n&&w.currentYear!==a&&(De("onYearChange"),q()),!n||w.currentYear===a&&w.currentMonth===i||De("onMonthChange"),w.redraw()}function H(e){var n=g(e);~n.className.indexOf("arrow")&&L(e,n.classList.contains("arrowUp")?1:-1)}function L(e,n,t){var a=e&&g(e),i=t||a&&a.parentNode&&a.parentNode.firstChild,o=we("increment");o.delta=n,i&&i.dispatchEvent(o)}function R(e,n,t,a){var i=ne(n,!0),o=d("span",e,n.getDate().toString());return o.dateObj=n,o.$i=a,o.setAttribute("aria-label",w.formatDate(n,w.config.ariaDateFormat)),-1===e.indexOf("hidden")&&0===M(n,w.now)&&(w.todayDateElem=o,o.classList.add("today"),o.setAttribute("aria-current","date")),i?(o.tabIndex=-1,be(n)&&(o.classList.add("selected"),w.selectedDateElem=o,"range"===w.config.mode&&(s(o,"startRange",w.selectedDates[0]&&0===M(n,w.selectedDates[0],!0)),s(o,"endRange",w.selectedDates[1]&&0===M(n,w.selectedDates[1],!0)),"nextMonthDay"===e&&o.classList.add("inRange")))):o.classList.add("flatpickr-disabled"),"range"===w.config.mode&&function(e){return!("range"!==w.config.mode||w.selectedDates.length<2)&&(M(e,w.selectedDates[0])>=0&&M(e,w.selectedDates[1])<=0)}(n)&&!be(n)&&o.classList.add("inRange"),w.weekNumbers&&1===w.config.showMonths&&"prevMonthDay"!==e&&a%7==6&&w.weekNumbers.insertAdjacentHTML("beforeend","<span class='flatpickr-day'>"+w.config.getWeek(n)+"</span>"),De("onDayCreate",o),o}function W(e){e.focus(),"range"===w.config.mode&&oe(e)}function B(e){for(var n=e>0?0:w.config.showMonths-1,t=e>0?w.config.showMonths:-1,a=n;a!=t;a+=e)for(var i=w.daysContainer.children[a],o=e>0?0:i.children.length-1,r=e>0?i.children.length:-1,l=o;l!=r;l+=e){var c=i.children[l];if(-1===c.className.indexOf("hidden")&&ne(c.dateObj))return c}}function J(e,n){var t=k(),a=te(t||document.body),i=void 0!==e?e:a?t:void 0!==w.selectedDateElem&&te(w.selectedDateElem)?w.selectedDateElem:void 0!==w.todayDateElem&&te(w.todayDateElem)?w.todayDateElem:B(n>0?1:-1);void 0===i?w._input.focus():a?function(e,n){for(var t=-1===e.className.indexOf("Month")?e.dateObj.getMonth():w.currentMonth,a=n>0?w.config.showMonths:-1,i=n>0?1:-1,o=t-w.currentMonth;o!=a;o+=i)for(var r=w.daysContainer.children[o],l=t-w.currentMonth===o?e.$i+n:n<0?r.children.length-1:0,c=r.children.length,s=l;s>=0&&s<c&&s!=(n>0?c:-1);s+=i){var d=r.children[s];if(-1===d.className.indexOf("hidden")&&ne(d.dateObj)&&Math.abs(e.$i-s)>=Math.abs(n))return W(d)}w.changeMonth(i),J(B(i),0)}(i,n):W(i)}function K(e,n){for(var t=(new Date(e,n,1).getDay()-w.l10n.firstDayOfWeek+7)%7,a=w.utils.getDaysInMonth((n-1+12)%12,e),i=w.utils.getDaysInMonth(n,e),o=window.document.createDocumentFragment(),r=w.config.showMonths>1,l=r?"prevMonthDay hidden":"prevMonthDay",c=r?"nextMonthDay hidden":"nextMonthDay",s=a+1-t,u=0;s<=a;s++,u++)o.appendChild(R("flatpickr-day "+l,new Date(e,n-1,s),0,u));for(s=1;s<=i;s++,u++)o.appendChild(R("flatpickr-day",new Date(e,n,s),0,u));for(var f=i+1;f<=42-t&&(1===w.config.showMonths||u%7!=0);f++,u++)o.appendChild(R("flatpickr-day "+c,new Date(e,n+1,f%i),0,u));var m=d("div","dayContainer");return m.appendChild(o),m}function U(){if(void 0!==w.daysContainer){u(w.daysContainer),w.weekNumbers&&u(w.weekNumbers);for(var e=document.createDocumentFragment(),n=0;n<w.config.showMonths;n++){var t=new Date(w.currentYear,w.currentMonth,1);t.setMonth(w.currentMonth+n),e.appendChild(K(t.getFullYear(),t.getMonth()))}w.daysContainer.appendChild(e),w.days=w.daysContainer.firstChild,"range"===w.config.mode&&1===w.selectedDates.length&&oe()}}function q(){if(!(w.config.showMonths>1||"dropdown"!==w.config.monthSelectorType)){var e=function(e){return!(void 0!==w.config.minDate&&w.currentYear===w.config.minDate.getFullYear()&&e<w.config.minDate.getMonth())&&!(void 0!==w.config.maxDate&&w.currentYear===w.config.maxDate.getFullYear()&&e>w.config.maxDate.getMonth())};w.monthsDropdownContainer.tabIndex=-1,w.monthsDropdownContainer.innerHTML="";for(var n=0;n<12;n++)if(e(n)){var t=d("option","flatpickr-monthDropdown-month");t.value=new Date(w.currentYear,n).getMonth().toString(),t.textContent=h(n,w.config.shorthandCurrentMonth,w.l10n),t.tabIndex=-1,w.currentMonth===n&&(t.selected=!0),w.monthsDropdownContainer.appendChild(t)}}}function $(){var e,n=d("div","flatpickr-month"),t=window.document.createDocumentFragment();w.config.showMonths>1||"static"===w.config.monthSelectorType?e=d("span","cur-month"):(w.monthsDropdownContainer=d("select","flatpickr-monthDropdown-months"),w.monthsDropdownContainer.setAttribute("aria-label",w.l10n.monthAriaLabel),P(w.monthsDropdownContainer,"change",(function(e){var n=g(e),t=parseInt(n.value,10);w.changeMonth(t-w.currentMonth),De("onMonthChange")})),q(),e=w.monthsDropdownContainer);var a=m("cur-year",{tabindex:"-1"}),i=a.getElementsByTagName("input")[0];i.setAttribute("aria-label",w.l10n.yearAriaLabel),w.config.minDate&&i.setAttribute("min",w.config.minDate.getFullYear().toString()),w.config.maxDate&&(i.setAttribute("max",w.config.maxDate.getFullYear().toString()),i.disabled=!!w.config.minDate&&w.config.minDate.getFullYear()===w.config.maxDate.getFullYear());var o=d("div","flatpickr-current-month");return o.appendChild(e),o.appendChild(a),t.appendChild(o),n.appendChild(t),{container:n,yearElement:i,monthElement:e}}function V(){u(w.monthNav),w.monthNav.appendChild(w.prevMonthNav),w.config.showMonths&&(w.yearElements=[],w.monthElements=[]);for(var e=w.config.showMonths;e--;){var n=$();w.yearElements.push(n.yearElement),w.monthElements.push(n.monthElement),w.monthNav.appendChild(n.container)}w.monthNav.appendChild(w.nextMonthNav)}function z(){w.weekdayContainer?u(w.weekdayContainer):w.weekdayContainer=d("div","flatpickr-weekdays");for(var e=w.config.showMonths;e--;){var n=d("div","flatpickr-weekdaycontainer");w.weekdayContainer.appendChild(n)}return G(),w.weekdayContainer}function G(){if(w.weekdayContainer){var e=w.l10n.firstDayOfWeek,t=n(w.l10n.weekdays.shorthand);e>0&&e<t.length&&(t=n(t.splice(e,t.length),t.splice(0,e)));for(var a=w.config.showMonths;a--;)w.weekdayContainer.children[a].innerHTML="\n <span class='flatpickr-weekday'>\n "+t.join("</span><span class='flatpickr-weekday'>")+"\n </span>\n "}}function Z(e,n){void 0===n&&(n=!0);var t=n?e:e-w.currentMonth;t<0&&!0===w._hidePrevMonthArrow||t>0&&!0===w._hideNextMonthArrow||(w.currentMonth+=t,(w.currentMonth<0||w.currentMonth>11)&&(w.currentYear+=w.currentMonth>11?1:-1,w.currentMonth=(w.currentMonth+12)%12,De("onYearChange"),q()),U(),De("onMonthChange"),Ce())}function Q(e){return w.calendarContainer.contains(e)}function X(e){if(w.isOpen&&!w.config.inline){var n=g(e),t=Q(n),a=!(n===w.input||n===w.altInput||w.element.contains(n)||e.path&&e.path.indexOf&&(~e.path.indexOf(w.input)||~e.path.indexOf(w.altInput)))&&!t&&!Q(e.relatedTarget),i=!w.config.ignoredFocusElements.some((function(e){return e.contains(n)}));a&&i&&(w.config.allowInput&&w.setDate(w._input.value,!1,w.config.altInput?w.config.altFormat:w.config.dateFormat),void 0!==w.timeContainer&&void 0!==w.minuteElement&&void 0!==w.hourElement&&""!==w.input.value&&void 0!==w.input.value&&_(),w.close(),w.config&&"range"===w.config.mode&&1===w.selectedDates.length&&w.clear(!1))}}function ee(e){if(!(!e||w.config.minDate&&e<w.config.minDate.getFullYear()||w.config.maxDate&&e>w.config.maxDate.getFullYear())){var n=e,t=w.currentYear!==n;w.currentYear=n||w.currentYear,w.config.maxDate&&w.currentYear===w.config.maxDate.getFullYear()?w.currentMonth=Math.min(w.config.maxDate.getMonth(),w.currentMonth):w.config.minDate&&w.currentYear===w.config.minDate.getFullYear()&&(w.currentMonth=Math.max(w.config.minDate.getMonth(),w.currentMonth)),t&&(w.redraw(),De("onYearChange"),q())}}function ne(e,n){var t;void 0===n&&(n=!0);var a=w.parseDate(e,void 0,n);if(w.config.minDate&&a&&M(a,w.config.minDate,void 0!==n?n:!w.minDateHasTime)<0||w.config.maxDate&&a&&M(a,w.config.maxDate,void 0!==n?n:!w.maxDateHasTime)>0)return!1;if(!w.config.enable&&0===w.config.disable.length)return!0;if(void 0===a)return!1;for(var i=!!w.config.enable,o=null!==(t=w.config.enable)&&void 0!==t?t:w.config.disable,r=0,l=void 0;r<o.length;r++){if("function"==typeof(l=o[r])&&l(a))return i;if(l instanceof Date&&void 0!==a&&l.getTime()===a.getTime())return i;if("string"==typeof l){var c=w.parseDate(l,void 0,!0);return c&&c.getTime()===a.getTime()?i:!i}if("object"==typeof l&&void 0!==a&&l.from&&l.to&&a.getTime()>=l.from.getTime()&&a.getTime()<=l.to.getTime())return i}return!i}function te(e){return void 0!==w.daysContainer&&(-1===e.className.indexOf("hidden")&&-1===e.className.indexOf("flatpickr-disabled")&&w.daysContainer.contains(e))}function ae(e){var n=e.target===w._input,t=w._input.value.trimEnd()!==Me();!n||!t||e.relatedTarget&&Q(e.relatedTarget)||w.setDate(w._input.value,!0,e.target===w.altInput?w.config.altFormat:w.config.dateFormat)}function ie(e){var n=g(e),t=w.config.wrap?p.contains(n):n===w._input,a=w.config.allowInput,i=w.isOpen&&(!a||!t),o=w.config.inline&&t&&!a;if(13===e.keyCode&&t){if(a)return w.setDate(w._input.value,!0,n===w.altInput?w.config.altFormat:w.config.dateFormat),w.close(),n.blur();w.open()}else if(Q(n)||i||o){var r=!!w.timeContainer&&w.timeContainer.contains(n);switch(e.keyCode){case 13:r?(e.preventDefault(),_(),fe()):me(e);break;case 27:e.preventDefault(),fe();break;case 8:case 46:t&&!w.config.allowInput&&(e.preventDefault(),w.clear());break;case 37:case 39:if(r||t)w.hourElement&&w.hourElement.focus();else{e.preventDefault();var l=k();if(void 0!==w.daysContainer&&(!1===a||l&&te(l))){var c=39===e.keyCode?1:-1;e.ctrlKey?(e.stopPropagation(),Z(c),J(B(1),0)):J(void 0,c)}}break;case 38:case 40:e.preventDefault();var s=40===e.keyCode?1:-1;w.daysContainer&&void 0!==n.$i||n===w.input||n===w.altInput?e.ctrlKey?(e.stopPropagation(),ee(w.currentYear-s),J(B(1),0)):r||J(void 0,7*s):n===w.currentYearElement?ee(w.currentYear-s):w.config.enableTime&&(!r&&w.hourElement&&w.hourElement.focus(),_(e),w._debouncedChange());break;case 9:if(r){var d=[w.hourElement,w.minuteElement,w.secondElement,w.amPM].concat(w.pluginElements).filter((function(e){return e})),u=d.indexOf(n);if(-1!==u){var f=d[u+(e.shiftKey?-1:1)];e.preventDefault(),(f||w._input).focus()}}else!w.config.noCalendar&&w.daysContainer&&w.daysContainer.contains(n)&&e.shiftKey&&(e.preventDefault(),w._input.focus())}}if(void 0!==w.amPM&&n===w.amPM)switch(e.key){case w.l10n.amPM[0].charAt(0):case w.l10n.amPM[0].charAt(0).toLowerCase():w.amPM.textContent=w.l10n.amPM[0],O(),ye();break;case w.l10n.amPM[1].charAt(0):case w.l10n.amPM[1].charAt(0).toLowerCase():w.amPM.textContent=w.l10n.amPM[1],O(),ye()}(t||Q(n))&&De("onKeyDown",e)}function oe(e,n){if(void 0===n&&(n="flatpickr-day"),1===w.selectedDates.length&&(!e||e.classList.contains(n)&&!e.classList.contains("flatpickr-disabled"))){for(var t=e?e.dateObj.getTime():w.days.firstElementChild.dateObj.getTime(),a=w.parseDate(w.selectedDates[0],void 0,!0).getTime(),i=Math.min(t,w.selectedDates[0].getTime()),o=Math.max(t,w.selectedDates[0].getTime()),r=!1,l=0,c=0,s=i;s<o;s+=x)ne(new Date(s),!0)||(r=r||s>i&&s<o,s<a&&(!l||s>l)?l=s:s>a&&(!c||s<c)&&(c=s));Array.from(w.rContainer.querySelectorAll("*:nth-child(-n+"+w.config.showMonths+") > ."+n)).forEach((function(n){var i,o,s,d=n.dateObj.getTime(),u=l>0&&d<l||c>0&&d>c;if(u)return n.classList.add("notAllowed"),void["inRange","startRange","endRange"].forEach((function(e){n.classList.remove(e)}));r&&!u||(["startRange","inRange","endRange","notAllowed"].forEach((function(e){n.classList.remove(e)})),void 0!==e&&(e.classList.add(t<=w.selectedDates[0].getTime()?"startRange":"endRange"),a<t&&d===a?n.classList.add("startRange"):a>t&&d===a&&n.classList.add("endRange"),d>=l&&(0===c||d<=c)&&(o=a,s=t,(i=d)>Math.min(o,s)&&i<Math.max(o,s))&&n.classList.add("inRange")))}))}}function re(){!w.isOpen||w.config.static||w.config.inline||de()}function le(e){return function(n){var t=w.config["_"+e+"Date"]=w.parseDate(n,w.config.dateFormat),a=w.config["_"+("min"===e?"max":"min")+"Date"];void 0!==t&&(w["min"===e?"minDateHasTime":"maxDateHasTime"]=t.getHours()>0||t.getMinutes()>0||t.getSeconds()>0),w.selectedDates&&(w.selectedDates=w.selectedDates.filter((function(e){return ne(e)})),w.selectedDates.length||"min"!==e||F(t),ye()),w.daysContainer&&(ue(),void 0!==t?w.currentYearElement[e]=t.getFullYear().toString():w.currentYearElement.removeAttribute(e),w.currentYearElement.disabled=!!a&&void 0!==t&&a.getFullYear()===t.getFullYear())}}function ce(){return w.config.wrap?p.querySelector("[data-input]"):p}function se(){"object"!=typeof w.config.locale&&void 0===I.l10ns[w.config.locale]&&w.config.errorHandler(new Error("flatpickr: invalid locale "+w.config.locale)),w.l10n=e(e({},I.l10ns.default),"object"==typeof w.config.locale?w.config.locale:"default"!==w.config.locale?I.l10ns[w.config.locale]:void 0),D.D="("+w.l10n.weekdays.shorthand.join("|")+")",D.l="("+w.l10n.weekdays.longhand.join("|")+")",D.M="("+w.l10n.months.shorthand.join("|")+")",D.F="("+w.l10n.months.longhand.join("|")+")",D.K="("+w.l10n.amPM[0]+"|"+w.l10n.amPM[1]+"|"+w.l10n.amPM[0].toLowerCase()+"|"+w.l10n.amPM[1].toLowerCase()+")",void 0===e(e({},v),JSON.parse(JSON.stringify(p.dataset||{}))).time_24hr&&void 0===I.defaultConfig.time_24hr&&(w.config.time_24hr=w.l10n.time_24hr),w.formatDate=b(w),w.parseDate=C({config:w.config,l10n:w.l10n})}function de(e){if("function"!=typeof w.config.position){if(void 0!==w.calendarContainer){De("onPreCalendarPosition");var n=e||w._positionElement,t=Array.prototype.reduce.call(w.calendarContainer.children,(function(e,n){return e+n.offsetHeight}),0),a=w.calendarContainer.offsetWidth,i=w.config.position.split(" "),o=i[0],r=i.length>1?i[1]:null,l=n.getBoundingClientRect(),c=window.innerHeight-l.bottom,d="above"===o||"below"!==o&&c<t&&l.top>t,u=window.pageYOffset+l.top+(d?-t-2:n.offsetHeight+2);if(s(w.calendarContainer,"arrowTop",!d),s(w.calendarContainer,"arrowBottom",d),!w.config.inline){var f=window.pageXOffset+l.left,m=!1,g=!1;"center"===r?(f-=(a-l.width)/2,m=!0):"right"===r&&(f-=a-l.width,g=!0),s(w.calendarContainer,"arrowLeft",!m&&!g),s(w.calendarContainer,"arrowCenter",m),s(w.calendarContainer,"arrowRight",g);var p=window.document.body.offsetWidth-(window.pageXOffset+l.right),h=f+a>window.document.body.offsetWidth,v=p+a>window.document.body.offsetWidth;if(s(w.calendarContainer,"rightMost",h),!w.config.static)if(w.calendarContainer.style.top=u+"px",h)if(v){var D=function(){for(var e=null,n=0;n<document.styleSheets.length;n++){var t=document.styleSheets[n];if(t.cssRules){try{t.cssRules}catch(e){continue}e=t;break}}return null!=e?e:(a=document.createElement("style"),document.head.appendChild(a),a.sheet);var a}();if(void 0===D)return;var b=window.document.body.offsetWidth,C=Math.max(0,b/2-a/2),M=D.cssRules.length,y="{left:"+l.left+"px;right:auto;}";s(w.calendarContainer,"rightMost",!1),s(w.calendarContainer,"centerMost",!0),D.insertRule(".flatpickr-calendar.centerMost:before,.flatpickr-calendar.centerMost:after"+y,M),w.calendarContainer.style.left=C+"px",w.calendarContainer.style.right="auto"}else w.calendarContainer.style.left="auto",w.calendarContainer.style.right=p+"px";else w.calendarContainer.style.left=f+"px",w.calendarContainer.style.right="auto"}}}else w.config.position(w,e)}function ue(){w.config.noCalendar||w.isMobile||(q(),Ce(),U())}function fe(){w._input.focus(),-1!==window.navigator.userAgent.indexOf("MSIE")||void 0!==navigator.msMaxTouchPoints?setTimeout(w.close,0):w.close()}function me(e){e.preventDefault(),e.stopPropagation();var n=f(g(e),(function(e){return e.classList&&e.classList.contains("flatpickr-day")&&!e.classList.contains("flatpickr-disabled")&&!e.classList.contains("notAllowed")}));if(void 0!==n){var t=n,a=w.latestSelectedDateObj=new Date(t.dateObj.getTime()),i=(a.getMonth()<w.currentMonth||a.getMonth()>w.currentMonth+w.config.showMonths-1)&&"range"!==w.config.mode;if(w.selectedDateElem=t,"single"===w.config.mode)w.selectedDates=[a];else if("multiple"===w.config.mode){var o=be(a);o?w.selectedDates.splice(parseInt(o),1):w.selectedDates.push(a)}else"range"===w.config.mode&&(2===w.selectedDates.length&&w.clear(!1,!1),w.latestSelectedDateObj=a,w.selectedDates.push(a),0!==M(a,w.selectedDates[0],!0)&&w.selectedDates.sort((function(e,n){return e.getTime()-n.getTime()})));if(O(),i){var r=w.currentYear!==a.getFullYear();w.currentYear=a.getFullYear(),w.currentMonth=a.getMonth(),r&&(De("onYearChange"),q()),De("onMonthChange")}if(Ce(),U(),ye(),i||"range"===w.config.mode||1!==w.config.showMonths?void 0!==w.selectedDateElem&&void 0===w.hourElement&&w.selectedDateElem&&w.selectedDateElem.focus():W(t),void 0!==w.hourElement&&void 0!==w.hourElement&&w.hourElement.focus(),w.config.closeOnSelect){var l="single"===w.config.mode&&!w.config.enableTime,c="range"===w.config.mode&&2===w.selectedDates.length&&!w.config.enableTime;(l||c)&&fe()}Y()}}w.parseDate=C({config:w.config,l10n:w.l10n}),w._handlers=[],w.pluginElements=[],w.loadedPlugins=[],w._bind=P,w._setHoursFromDate=F,w._positionCalendar=de,w.changeMonth=Z,w.changeYear=ee,w.clear=function(e,n){void 0===e&&(e=!0);void 0===n&&(n=!0);w.input.value="",void 0!==w.altInput&&(w.altInput.value="");void 0!==w.mobileInput&&(w.mobileInput.value="");w.selectedDates=[],w.latestSelectedDateObj=void 0,!0===n&&(w.currentYear=w._initialDate.getFullYear(),w.currentMonth=w._initialDate.getMonth());if(!0===w.config.enableTime){var t=E(w.config),a=t.hours,i=t.minutes,o=t.seconds;A(a,i,o)}w.redraw(),e&&De("onChange")},w.close=function(){w.isOpen=!1,w.isMobile||(void 0!==w.calendarContainer&&w.calendarContainer.classList.remove("open"),void 0!==w._input&&w._input.classList.remove("active"));De("onClose")},w.onMouseOver=oe,w._createElement=d,w.createDay=R,w.destroy=function(){void 0!==w.config&&De("onDestroy");for(var e=w._handlers.length;e--;)w._handlers[e].remove();if(w._handlers=[],w.mobileInput)w.mobileInput.parentNode&&w.mobileInput.parentNode.removeChild(w.mobileInput),w.mobileInput=void 0;else if(w.calendarContainer&&w.calendarContainer.parentNode)if(w.config.static&&w.calendarContainer.parentNode){var n=w.calendarContainer.parentNode;if(n.lastChild&&n.removeChild(n.lastChild),n.parentNode){for(;n.firstChild;)n.parentNode.insertBefore(n.firstChild,n);n.parentNode.removeChild(n)}}else w.calendarContainer.parentNode.removeChild(w.calendarContainer);w.altInput&&(w.input.type="text",w.altInput.parentNode&&w.altInput.parentNode.removeChild(w.altInput),delete w.altInput);w.input&&(w.input.type=w.input._type,w.input.classList.remove("flatpickr-input"),w.input.removeAttribute("readonly"));["_showTimeInput","latestSelectedDateObj","_hideNextMonthArrow","_hidePrevMonthArrow","__hideNextMonthArrow","__hidePrevMonthArrow","isMobile","isOpen","selectedDateElem","minDateHasTime","maxDateHasTime","days","daysContainer","_input","_positionElement","innerContainer","rContainer","monthNav","todayDateElem","calendarContainer","weekdayContainer","prevMonthNav","nextMonthNav","monthsDropdownContainer","currentMonthElement","currentYearElement","navigationCurrentMonth","selectedDateElem","config"].forEach((function(e){try{delete w[e]}catch(e){}}))},w.isEnabled=ne,w.jumpToDate=j,w.updateValue=ye,w.open=function(e,n){void 0===n&&(n=w._positionElement);if(!0===w.isMobile){if(e){e.preventDefault();var t=g(e);t&&t.blur()}return void 0!==w.mobileInput&&(w.mobileInput.focus(),w.mobileInput.click()),void De("onOpen")}if(w._input.disabled||w.config.inline)return;var a=w.isOpen;w.isOpen=!0,a||(w.calendarContainer.classList.add("open"),w._input.classList.add("active"),De("onOpen"),de(n));!0===w.config.enableTime&&!0===w.config.noCalendar&&(!1!==w.config.allowInput||void 0!==e&&w.timeContainer.contains(e.relatedTarget)||setTimeout((function(){return w.hourElement.select()}),50))},w.redraw=ue,w.set=function(e,n){if(null!==e&&"object"==typeof e)for(var a in Object.assign(w.config,e),e)void 0!==ge[a]&&ge[a].forEach((function(e){return e()}));else w.config[e]=n,void 0!==ge[e]?ge[e].forEach((function(e){return e()})):t.indexOf(e)>-1&&(w.config[e]=c(n));w.redraw(),ye(!0)},w.setDate=function(e,n,t){void 0===n&&(n=!1);void 0===t&&(t=w.config.dateFormat);if(0!==e&&!e||e instanceof Array&&0===e.length)return w.clear(n);pe(e,t),w.latestSelectedDateObj=w.selectedDates[w.selectedDates.length-1],w.redraw(),j(void 0,n),F(),0===w.selectedDates.length&&w.clear(!1);ye(n),n&&De("onChange")},w.toggle=function(e){if(!0===w.isOpen)return w.close();w.open(e)};var ge={locale:[se,G],showMonths:[V,S,z],minDate:[j],maxDate:[j],positionElement:[ve],clickOpens:[function(){!0===w.config.clickOpens?(P(w._input,"focus",w.open),P(w._input,"click",w.open)):(w._input.removeEventListener("focus",w.open),w._input.removeEventListener("click",w.open))}]};function pe(e,n){var t=[];if(e instanceof Array)t=e.map((function(e){return w.parseDate(e,n)}));else if(e instanceof Date||"number"==typeof e)t=[w.parseDate(e,n)];else if("string"==typeof e)switch(w.config.mode){case"single":case"time":t=[w.parseDate(e,n)];break;case"multiple":t=e.split(w.config.conjunction).map((function(e){return w.parseDate(e,n)}));break;case"range":t=e.split(w.l10n.rangeSeparator).map((function(e){return w.parseDate(e,n)}))}else w.config.errorHandler(new Error("Invalid date supplied: "+JSON.stringify(e)));w.selectedDates=w.config.allowInvalidPreload?t:t.filter((function(e){return e instanceof Date&&ne(e,!1)})),"range"===w.config.mode&&w.selectedDates.sort((function(e,n){return e.getTime()-n.getTime()}))}function he(e){return e.slice().map((function(e){return"string"==typeof e||"number"==typeof e||e instanceof Date?w.parseDate(e,void 0,!0):e&&"object"==typeof e&&e.from&&e.to?{from:w.parseDate(e.from,void 0),to:w.parseDate(e.to,void 0)}:e})).filter((function(e){return e}))}function ve(){w._positionElement=w.config.positionElement||w._input}function De(e,n){if(void 0!==w.config){var t=w.config[e];if(void 0!==t&&t.length>0)for(var a=0;t[a]&&a<t.length;a++)t[a](w.selectedDates,w.input.value,w,n);"onChange"===e&&(w.input.dispatchEvent(we("change")),w.input.dispatchEvent(we("input")))}}function we(e){var n=document.createEvent("Event");return n.initEvent(e,!0,!0),n}function be(e){for(var n=0;n<w.selectedDates.length;n++){var t=w.selectedDates[n];if(t instanceof Date&&0===M(t,e))return""+n}return!1}function Ce(){w.config.noCalendar||w.isMobile||!w.monthNav||(w.yearElements.forEach((function(e,n){var t=new Date(w.currentYear,w.currentMonth,1);t.setMonth(w.currentMonth+n),w.config.showMonths>1||"static"===w.config.monthSelectorType?w.monthElements[n].textContent=h(t.getMonth(),w.config.shorthandCurrentMonth,w.l10n)+" ":w.monthsDropdownContainer.value=t.getMonth().toString(),e.value=t.getFullYear().toString()})),w._hidePrevMonthArrow=void 0!==w.config.minDate&&(w.currentYear===w.config.minDate.getFullYear()?w.currentMonth<=w.config.minDate.getMonth():w.currentYear<w.config.minDate.getFullYear()),w._hideNextMonthArrow=void 0!==w.config.maxDate&&(w.currentYear===w.config.maxDate.getFullYear()?w.currentMonth+1>w.config.maxDate.getMonth():w.currentYear>w.config.maxDate.getFullYear()))}function Me(e){var n=e||(w.config.altInput?w.config.altFormat:w.config.dateFormat);return w.selectedDates.map((function(e){return w.formatDate(e,n)})).filter((function(e,n,t){return"range"!==w.config.mode||w.config.enableTime||t.indexOf(e)===n})).join("range"!==w.config.mode?w.config.conjunction:w.l10n.rangeSeparator)}function ye(e){void 0===e&&(e=!0),void 0!==w.mobileInput&&w.mobileFormatStr&&(w.mobileInput.value=void 0!==w.latestSelectedDateObj?w.formatDate(w.latestSelectedDateObj,w.mobileFormatStr):""),w.input.value=Me(w.config.dateFormat),void 0!==w.altInput&&(w.altInput.value=Me(w.config.altFormat)),!1!==e&&De("onValueUpdate")}function xe(e){var n=g(e),t=w.prevMonthNav.contains(n),a=w.nextMonthNav.contains(n);t||a?Z(t?-1:1):w.yearElements.indexOf(n)>=0?n.select():n.classList.contains("arrowUp")?w.changeYear(w.currentYear+1):n.classList.contains("arrowDown")&&w.changeYear(w.currentYear-1)}return function(){w.element=w.input=p,w.isOpen=!1,function(){var n=["wrap","weekNumbers","allowInput","allowInvalidPreload","clickOpens","time_24hr","enableTime","noCalendar","altInput","shorthandCurrentMonth","inline","static","enableSeconds","disableMobile"],i=e(e({},JSON.parse(JSON.stringify(p.dataset||{}))),v),o={};w.config.parseDate=i.parseDate,w.config.formatDate=i.formatDate,Object.defineProperty(w.config,"enable",{get:function(){return w.config._enable},set:function(e){w.config._enable=he(e)}}),Object.defineProperty(w.config,"disable",{get:function(){return w.config._disable},set:function(e){w.config._disable=he(e)}});var r="time"===i.mode;if(!i.dateFormat&&(i.enableTime||r)){var l=I.defaultConfig.dateFormat||a.dateFormat;o.dateFormat=i.noCalendar||r?"H:i"+(i.enableSeconds?":S":""):l+" H:i"+(i.enableSeconds?":S":"")}if(i.altInput&&(i.enableTime||r)&&!i.altFormat){var s=I.defaultConfig.altFormat||a.altFormat;o.altFormat=i.noCalendar||r?"h:i"+(i.enableSeconds?":S K":" K"):s+" h:i"+(i.enableSeconds?":S":"")+" K"}Object.defineProperty(w.config,"minDate",{get:function(){return w.config._minDate},set:le("min")}),Object.defineProperty(w.config,"maxDate",{get:function(){return w.config._maxDate},set:le("max")});var d=function(e){return function(n){w.config["min"===e?"_minTime":"_maxTime"]=w.parseDate(n,"H:i:S")}};Object.defineProperty(w.config,"minTime",{get:function(){return w.config._minTime},set:d("min")}),Object.defineProperty(w.config,"maxTime",{get:function(){return w.config._maxTime},set:d("max")}),"time"===i.mode&&(w.config.noCalendar=!0,w.config.enableTime=!0);Object.assign(w.config,o,i);for(var u=0;u<n.length;u++)w.config[n[u]]=!0===w.config[n[u]]||"true"===w.config[n[u]];t.filter((function(e){return void 0!==w.config[e]})).forEach((function(e){w.config[e]=c(w.config[e]||[]).map(T)})),w.isMobile=!w.config.disableMobile&&!w.config.inline&&"single"===w.config.mode&&!w.config.disable.length&&!w.config.enable&&!w.config.weekNumbers&&/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent);for(u=0;u<w.config.plugins.length;u++){var f=w.config.plugins[u](w)||{};for(var m in f)t.indexOf(m)>-1?w.config[m]=c(f[m]).map(T).concat(w.config[m]):void 0===i[m]&&(w.config[m]=f[m])}i.altInputClass||(w.config.altInputClass=ce().className+" "+w.config.altInputClass);De("onParseConfig")}(),se(),function(){if(w.input=ce(),!w.input)return void w.config.errorHandler(new Error("Invalid input element specified"));w.input._type=w.input.type,w.input.type="text",w.input.classList.add("flatpickr-input"),w._input=w.input,w.config.altInput&&(w.altInput=d(w.input.nodeName,w.config.altInputClass),w._input=w.altInput,w.altInput.placeholder=w.input.placeholder,w.altInput.disabled=w.input.disabled,w.altInput.required=w.input.required,w.altInput.tabIndex=w.input.tabIndex,w.altInput.type="text",w.input.setAttribute("type","hidden"),!w.config.static&&w.input.parentNode&&w.input.parentNode.insertBefore(w.altInput,w.input.nextSibling));w.config.allowInput||w._input.setAttribute("readonly","readonly");ve()}(),function(){w.selectedDates=[],w.now=w.parseDate(w.config.now)||new Date;var e=w.config.defaultDate||("INPUT"!==w.input.nodeName&&"TEXTAREA"!==w.input.nodeName||!w.input.placeholder||w.input.value!==w.input.placeholder?w.input.value:null);e&&pe(e,w.config.dateFormat);w._initialDate=w.selectedDates.length>0?w.selectedDates[0]:w.config.minDate&&w.config.minDate.getTime()>w.now.getTime()?w.config.minDate:w.config.maxDate&&w.config.maxDate.getTime()<w.now.getTime()?w.config.maxDate:w.now,w.currentYear=w._initialDate.getFullYear(),w.currentMonth=w._initialDate.getMonth(),w.selectedDates.length>0&&(w.latestSelectedDateObj=w.selectedDates[0]);void 0!==w.config.minTime&&(w.config.minTime=w.parseDate(w.config.minTime,"H:i"));void 0!==w.config.maxTime&&(w.config.maxTime=w.parseDate(w.config.maxTime,"H:i"));w.minDateHasTime=!!w.config.minDate&&(w.config.minDate.getHours()>0||w.config.minDate.getMinutes()>0||w.config.minDate.getSeconds()>0),w.maxDateHasTime=!!w.config.maxDate&&(w.config.maxDate.getHours()>0||w.config.maxDate.getMinutes()>0||w.config.maxDate.getSeconds()>0)}(),w.utils={getDaysInMonth:function(e,n){return void 0===e&&(e=w.currentMonth),void 0===n&&(n=w.currentYear),1===e&&(n%4==0&&n%100!=0||n%400==0)?29:w.l10n.daysInMonth[e]}},w.isMobile||function(){var e=window.document.createDocumentFragment();if(w.calendarContainer=d("div","flatpickr-calendar"),w.calendarContainer.tabIndex=-1,!w.config.noCalendar){if(e.appendChild((w.monthNav=d("div","flatpickr-months"),w.yearElements=[],w.monthElements=[],w.prevMonthNav=d("span","flatpickr-prev-month"),w.prevMonthNav.innerHTML=w.config.prevArrow,w.nextMonthNav=d("span","flatpickr-next-month"),w.nextMonthNav.innerHTML=w.config.nextArrow,V(),Object.defineProperty(w,"_hidePrevMonthArrow",{get:function(){return w.__hidePrevMonthArrow},set:function(e){w.__hidePrevMonthArrow!==e&&(s(w.prevMonthNav,"flatpickr-disabled",e),w.__hidePrevMonthArrow=e)}}),Object.defineProperty(w,"_hideNextMonthArrow",{get:function(){return w.__hideNextMonthArrow},set:function(e){w.__hideNextMonthArrow!==e&&(s(w.nextMonthNav,"flatpickr-disabled",e),w.__hideNextMonthArrow=e)}}),w.currentYearElement=w.yearElements[0],Ce(),w.monthNav)),w.innerContainer=d("div","flatpickr-innerContainer"),w.config.weekNumbers){var n=function(){w.calendarContainer.classList.add("hasWeeks");var e=d("div","flatpickr-weekwrapper");e.appendChild(d("span","flatpickr-weekday",w.l10n.weekAbbreviation));var n=d("div","flatpickr-weeks");return e.appendChild(n),{weekWrapper:e,weekNumbers:n}}(),t=n.weekWrapper,a=n.weekNumbers;w.innerContainer.appendChild(t),w.weekNumbers=a,w.weekWrapper=t}w.rContainer=d("div","flatpickr-rContainer"),w.rContainer.appendChild(z()),w.daysContainer||(w.daysContainer=d("div","flatpickr-days"),w.daysContainer.tabIndex=-1),U(),w.rContainer.appendChild(w.daysContainer),w.innerContainer.appendChild(w.rContainer),e.appendChild(w.innerContainer)}w.config.enableTime&&e.appendChild(function(){w.calendarContainer.classList.add("hasTime"),w.config.noCalendar&&w.calendarContainer.classList.add("noCalendar");var e=E(w.config);w.timeContainer=d("div","flatpickr-time"),w.timeContainer.tabIndex=-1;var n=d("span","flatpickr-time-separator",":"),t=m("flatpickr-hour",{"aria-label":w.l10n.hourAriaLabel});w.hourElement=t.getElementsByTagName("input")[0];var a=m("flatpickr-minute",{"aria-label":w.l10n.minuteAriaLabel});w.minuteElement=a.getElementsByTagName("input")[0],w.hourElement.tabIndex=w.minuteElement.tabIndex=-1,w.hourElement.value=o(w.latestSelectedDateObj?w.latestSelectedDateObj.getHours():w.config.time_24hr?e.hours:function(e){switch(e%24){case 0:case 12:return 12;default:return e%12}}(e.hours)),w.minuteElement.value=o(w.latestSelectedDateObj?w.latestSelectedDateObj.getMinutes():e.minutes),w.hourElement.setAttribute("step",w.config.hourIncrement.toString()),w.minuteElement.setAttribute("step",w.config.minuteIncrement.toString()),w.hourElement.setAttribute("min",w.config.time_24hr?"0":"1"),w.hourElement.setAttribute("max",w.config.time_24hr?"23":"12"),w.hourElement.setAttribute("maxlength","2"),w.minuteElement.setAttribute("min","0"),w.minuteElement.setAttribute("max","59"),w.minuteElement.setAttribute("maxlength","2"),w.timeContainer.appendChild(t),w.timeContainer.appendChild(n),w.timeContainer.appendChild(a),w.config.time_24hr&&w.timeContainer.classList.add("time24hr");if(w.config.enableSeconds){w.timeContainer.classList.add("hasSeconds");var i=m("flatpickr-second");w.secondElement=i.getElementsByTagName("input")[0],w.secondElement.value=o(w.latestSelectedDateObj?w.latestSelectedDateObj.getSeconds():e.seconds),w.secondElement.setAttribute("step",w.minuteElement.getAttribute("step")),w.secondElement.setAttribute("min","0"),w.secondElement.setAttribute("max","59"),w.secondElement.setAttribute("maxlength","2"),w.timeContainer.appendChild(d("span","flatpickr-time-separator",":")),w.timeContainer.appendChild(i)}w.config.time_24hr||(w.amPM=d("span","flatpickr-am-pm",w.l10n.amPM[r((w.latestSelectedDateObj?w.hourElement.value:w.config.defaultHour)>11)]),w.amPM.title=w.l10n.toggleTitle,w.amPM.tabIndex=-1,w.timeContainer.appendChild(w.amPM));return w.timeContainer}());s(w.calendarContainer,"rangeMode","range"===w.config.mode),s(w.calendarContainer,"animate",!0===w.config.animate),s(w.calendarContainer,"multiMonth",w.config.showMonths>1),w.calendarContainer.appendChild(e);var i=void 0!==w.config.appendTo&&void 0!==w.config.appendTo.nodeType;if((w.config.inline||w.config.static)&&(w.calendarContainer.classList.add(w.config.inline?"inline":"static"),w.config.inline&&(!i&&w.element.parentNode?w.element.parentNode.insertBefore(w.calendarContainer,w._input.nextSibling):void 0!==w.config.appendTo&&w.config.appendTo.appendChild(w.calendarContainer)),w.config.static)){var l=d("div","flatpickr-wrapper");w.element.parentNode&&w.element.parentNode.insertBefore(l,w.element),l.appendChild(w.element),w.altInput&&l.appendChild(w.altInput),l.appendChild(w.calendarContainer)}w.config.static||w.config.inline||(void 0!==w.config.appendTo?w.config.appendTo:window.document.body).appendChild(w.calendarContainer)}(),function(){w.config.wrap&&["open","close","toggle","clear"].forEach((function(e){Array.prototype.forEach.call(w.element.querySelectorAll("[data-"+e+"]"),(function(n){return P(n,"click",w[e])}))}));if(w.isMobile)return void function(){var e=w.config.enableTime?w.config.noCalendar?"time":"datetime-local":"date";w.mobileInput=d("input",w.input.className+" flatpickr-mobile"),w.mobileInput.tabIndex=1,w.mobileInput.type=e,w.mobileInput.disabled=w.input.disabled,w.mobileInput.required=w.input.required,w.mobileInput.placeholder=w.input.placeholder,w.mobileFormatStr="datetime-local"===e?"Y-m-d\\TH:i:S":"date"===e?"Y-m-d":"H:i:S",w.selectedDates.length>0&&(w.mobileInput.defaultValue=w.mobileInput.value=w.formatDate(w.selectedDates[0],w.mobileFormatStr));w.config.minDate&&(w.mobileInput.min=w.formatDate(w.config.minDate,"Y-m-d"));w.config.maxDate&&(w.mobileInput.max=w.formatDate(w.config.maxDate,"Y-m-d"));w.input.getAttribute("step")&&(w.mobileInput.step=String(w.input.getAttribute("step")));w.input.type="hidden",void 0!==w.altInput&&(w.altInput.type="hidden");try{w.input.parentNode&&w.input.parentNode.insertBefore(w.mobileInput,w.input.nextSibling)}catch(e){}P(w.mobileInput,"change",(function(e){w.setDate(g(e).value,!1,w.mobileFormatStr),De("onChange"),De("onClose")}))}();var e=l(re,50);w._debouncedChange=l(Y,300),w.daysContainer&&!/iPhone|iPad|iPod/i.test(navigator.userAgent)&&P(w.daysContainer,"mouseover",(function(e){"range"===w.config.mode&&oe(g(e))}));P(w._input,"keydown",ie),void 0!==w.calendarContainer&&P(w.calendarContainer,"keydown",ie);w.config.inline||w.config.static||P(window,"resize",e);void 0!==window.ontouchstart?P(window.document,"touchstart",X):P(window.document,"mousedown",X);P(window.document,"focus",X,{capture:!0}),!0===w.config.clickOpens&&(P(w._input,"focus",w.open),P(w._input,"click",w.open));void 0!==w.daysContainer&&(P(w.monthNav,"click",xe),P(w.monthNav,["keyup","increment"],N),P(w.daysContainer,"click",me));if(void 0!==w.timeContainer&&void 0!==w.minuteElement&&void 0!==w.hourElement){var n=function(e){return g(e).select()};P(w.timeContainer,["increment"],_),P(w.timeContainer,"blur",_,{capture:!0}),P(w.timeContainer,"click",H),P([w.hourElement,w.minuteElement],["focus","click"],n),void 0!==w.secondElement&&P(w.secondElement,"focus",(function(){return w.secondElement&&w.secondElement.select()})),void 0!==w.amPM&&P(w.amPM,"click",(function(e){_(e)}))}w.config.allowInput&&P(w._input,"blur",ae)}(),(w.selectedDates.length||w.config.noCalendar)&&(w.config.enableTime&&F(w.config.noCalendar?w.latestSelectedDateObj:void 0),ye(!1)),S();var n=/^((?!chrome|android).)*safari/i.test(navigator.userAgent);!w.isMobile&&n&&de(),De("onReady")}(),w}function T(e,n){for(var t=Array.prototype.slice.call(e).filter((function(e){return e instanceof HTMLElement})),a=[],i=0;i<t.length;i++){var o=t[i];try{if(null!==o.getAttribute("data-fp-omit"))continue;void 0!==o._flatpickr&&(o._flatpickr.destroy(),o._flatpickr=void 0),o._flatpickr=k(o,n||{}),a.push(o._flatpickr)}catch(e){console.error(e)}}return 1===a.length?a[0]:a}"undefined"!=typeof HTMLElement&&"undefined"!=typeof HTMLCollection&&"undefined"!=typeof NodeList&&(HTMLCollection.prototype.flatpickr=NodeList.prototype.flatpickr=function(e){return T(this,e)},HTMLElement.prototype.flatpickr=function(e){return T([this],e)});var I=function(e,n){return"string"==typeof e?T(window.document.querySelectorAll(e),n):e instanceof Node?T([e],n):T(e,n)};return I.defaultConfig={},I.l10ns={en:e({},i),default:e({},i)},I.localize=function(n){I.l10ns.default=e(e({},I.l10ns.default),n)},I.setDefaults=function(n){I.defaultConfig=e(e({},I.defaultConfig),n)},I.parseDate=C({}),I.formatDate=b({}),I.compareDates=M,"undefined"!=typeof jQuery&&void 0!==jQuery.fn&&(jQuery.fn.flatpickr=function(e){return T(this,e)}),Date.prototype.fp_incr=function(e){return new Date(this.getFullYear(),this.getMonth(),this.getDate()+("string"==typeof e?parseInt(e,10):e))},"undefined"!=typeof window&&(window.flatpickr=I),I}));
\ No newline at end of file
webui/vendor/katex/katex.auto-render.min.js
new
+1
@@ -0,0 +1 @@
1
+!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t(require("katex")):"function"==typeof define&&define.amd?define(["katex"],t):"object"==typeof exports?exports.renderMathInElement=t(require("katex")):e.renderMathInElement=t(e.katex)}("undefined"!=typeof self?self:this,(function(e){return function(){"use strict";var t={771:function(t){t.exports=e}},r={};function n(e){var i=r[e];if(void 0!==i)return i.exports;var a=r[e]={exports:{}};return t[e](a,a.exports,n),a.exports}n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,{a:t}),t},n.d=function(e,t){for(var r in t)n.o(t,r)&&!n.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)};var i={};return function(){n.d(i,{default:function(){return s}});var e=n(771),t=n.n(e),r=function(e,t,r){for(var n=r,i=0,a=e.length;n<t.length;){var o=t[n];if(i<=0&&t.slice(n,n+a)===e)return n;"\\"===o?n++:"{"===o?i++:"}"===o&&i--,n++}return-1},a=/^\\begin{/,o=function(e,t){for(var n,i=[],o=new RegExp("("+t.map((function(e){return e.left.replace(/[-/\\^$*+?.()|[\]{}]/g,"\\$&")})).join("|")+")");-1!==(n=e.search(o));){n>0&&(i.push({type:"text",data:e.slice(0,n)}),e=e.slice(n));var l=t.findIndex((function(t){return e.startsWith(t.left)}));if(-1===(n=r(t[l].right,e,t[l].left.length)))break;var d=e.slice(0,n+t[l].right.length),s=a.test(d)?d:e.slice(t[l].left.length,n);i.push({type:"math",data:s,rawData:d,display:t[l].display}),e=e.slice(n+t[l].right.length)}return""!==e&&i.push({type:"text",data:e}),i},l=function(e,r){var n=o(e,r.delimiters);if(1===n.length&&"text"===n[0].type)return null;for(var i=document.createDocumentFragment(),a=0;a<n.length;a++)if("text"===n[a].type)i.appendChild(document.createTextNode(n[a].data));else{var l=document.createElement("span"),d=n[a].data;r.displayMode=n[a].display;try{r.preProcess&&(d=r.preProcess(d)),t().render(d,l,r)}catch(e){if(!(e instanceof t().ParseError))throw e;r.errorCallback("KaTeX auto-render: Failed to parse `"+n[a].data+"` with ",e),i.appendChild(document.createTextNode(n[a].rawData));continue}i.appendChild(l)}return i},d=function e(t,r){for(var n=0;n<t.childNodes.length;n++){var i=t.childNodes[n];if(3===i.nodeType){for(var a=i.textContent,o=i.nextSibling,d=0;o&&o.nodeType===Node.TEXT_NODE;)a+=o.textContent,o=o.nextSibling,d++;var s=l(a,r);if(s){for(var f=0;f<d;f++)i.nextSibling.remove();n+=s.childNodes.length-1,t.replaceChild(s,i)}else n+=d}else 1===i.nodeType&&function(){var t=" "+i.className+" ";-1===r.ignoredTags.indexOf(i.nodeName.toLowerCase())&&r.ignoredClasses.every((function(e){return-1===t.indexOf(" "+e+" ")}))&&e(i,r)}()}},s=function(e,t){if(!e)throw new Error("No element provided to render");var r={};for(var n in t)t.hasOwnProperty(n)&&(r[n]=t[n]);r.delimiters=r.delimiters||[{left:"$$",right:"$$",display:!0},{left:"\\(",right:"\\)",display:!1},{left:"\\begin{equation}",right:"\\end{equation}",display:!0},{left:"\\begin{align}",right:"\\end{align}",display:!0},{left:"\\begin{alignat}",right:"\\end{alignat}",display:!0},{left:"\\begin{gather}",right:"\\end{gather}",display:!0},{left:"\\begin{CD}",right:"\\end{CD}",display:!0},{left:"\\[",right:"\\]",display:!0}],r.ignoredTags=r.ignoredTags||["script","noscript","style","textarea","pre","code","option"],r.ignoredClasses=r.ignoredClasses||[],r.errorCallback=r.errorCallback||console.error,r.macros=r.macros||{},d(e,r)}}(),i=i.default}()}));
\ No newline at end of file
webui/vendor/katex/katex.min.css
new
+1
@@ -0,0 +1 @@
1
+@font-face{font-family:KaTeX_AMS;font-style:normal;font-weight:400;src:url(fonts/KaTeX_AMS-Regular.woff2) format("woff2"),url(fonts/KaTeX_AMS-Regular.woff) format("woff"),url(fonts/KaTeX_AMS-Regular.ttf) format("truetype")}@font-face{font-family:KaTeX_Caligraphic;font-style:normal;font-weight:700;src:url(fonts/KaTeX_Caligraphic-Bold.woff2) format("woff2"),url(fonts/KaTeX_Caligraphic-Bold.woff) format("woff"),url(fonts/KaTeX_Caligraphic-Bold.ttf) format("truetype")}@font-face{font-family:KaTeX_Caligraphic;font-style:normal;font-weight:400;src:url(fonts/KaTeX_Caligraphic-Regular.woff2) format("woff2"),url(fonts/KaTeX_Caligraphic-Regular.woff) format("woff"),url(fonts/KaTeX_Caligraphic-Regular.ttf) format("truetype")}@font-face{font-family:KaTeX_Fraktur;font-style:normal;font-weight:700;src:url(fonts/KaTeX_Fraktur-Bold.woff2) format("woff2"),url(fonts/KaTeX_Fraktur-Bold.woff) format("woff"),url(fonts/KaTeX_Fraktur-Bold.ttf) format("truetype")}@font-face{font-family:KaTeX_Fraktur;font-style:normal;font-weight:400;src:url(fonts/KaTeX_Fraktur-Regular.woff2) format("woff2"),url(fonts/KaTeX_Fraktur-Regular.woff) format("woff"),url(fonts/KaTeX_Fraktur-Regular.ttf) format("truetype")}@font-face{font-family:KaTeX_Main;font-style:normal;font-weight:700;src:url(fonts/KaTeX_Main-Bold.woff2) format("woff2"),url(fonts/KaTeX_Main-Bold.woff) format("woff"),url(fonts/KaTeX_Main-Bold.ttf) format("truetype")}@font-face{font-family:KaTeX_Main;font-style:italic;font-weight:700;src:url(fonts/KaTeX_Main-BoldItalic.woff2) format("woff2"),url(fonts/KaTeX_Main-BoldItalic.woff) format("woff"),url(fonts/KaTeX_Main-BoldItalic.ttf) format("truetype")}@font-face{font-family:KaTeX_Main;font-style:italic;font-weight:400;src:url(fonts/KaTeX_Main-Italic.woff2) format("woff2"),url(fonts/KaTeX_Main-Italic.woff) format("woff"),url(fonts/KaTeX_Main-Italic.ttf) format("truetype")}@font-face{font-family:KaTeX_Main;font-style:normal;font-weight:400;src:url(fonts/KaTeX_Main-Regular.woff2) format("woff2"),url(fonts/KaTeX_Main-Regular.woff) format("woff"),url(fonts/KaTeX_Main-Regular.ttf) format("truetype")}@font-face{font-family:KaTeX_Math;font-style:italic;font-weight:700;src:url(fonts/KaTeX_Math-BoldItalic.woff2) format("woff2"),url(fonts/KaTeX_Math-BoldItalic.woff) format("woff"),url(fonts/KaTeX_Math-BoldItalic.ttf) format("truetype")}@font-face{font-family:KaTeX_Math;font-style:italic;font-weight:400;src:url(fonts/KaTeX_Math-Italic.woff2) format("woff2"),url(fonts/KaTeX_Math-Italic.woff) format("woff"),url(fonts/KaTeX_Math-Italic.ttf) format("truetype")}@font-face{font-family:"KaTeX_SansSerif";font-style:normal;font-weight:700;src:url(fonts/KaTeX_SansSerif-Bold.woff2) format("woff2"),url(fonts/KaTeX_SansSerif-Bold.woff) format("woff"),url(fonts/KaTeX_SansSerif-Bold.ttf) format("truetype")}@font-face{font-family:"KaTeX_SansSerif";font-style:italic;font-weight:400;src:url(fonts/KaTeX_SansSerif-Italic.woff2) format("woff2"),url(fonts/KaTeX_SansSerif-Italic.woff) format("woff"),url(fonts/KaTeX_SansSerif-Italic.ttf) format("truetype")}@font-face{font-family:"KaTeX_SansSerif";font-style:normal;font-weight:400;src:url(fonts/KaTeX_SansSerif-Regular.woff2) format("woff2"),url(fonts/KaTeX_SansSerif-Regular.woff) format("woff"),url(fonts/KaTeX_SansSerif-Regular.ttf) format("truetype")}@font-face{font-family:KaTeX_Script;font-style:normal;font-weight:400;src:url(fonts/KaTeX_Script-Regular.woff2) format("woff2"),url(fonts/KaTeX_Script-Regular.woff) format("woff"),url(fonts/KaTeX_Script-Regular.ttf) format("truetype")}@font-face{font-family:KaTeX_Size1;font-style:normal;font-weight:400;src:url(fonts/KaTeX_Size1-Regular.woff2) format("woff2"),url(fonts/KaTeX_Size1-Regular.woff) format("woff"),url(fonts/KaTeX_Size1-Regular.ttf) format("truetype")}@font-face{font-family:KaTeX_Size2;font-style:normal;font-weight:400;src:url(fonts/KaTeX_Size2-Regular.woff2) format("woff2"),url(fonts/KaTeX_Size2-Regular.woff) format("woff"),url(fonts/KaTeX_Size2-Regular.ttf) format("truetype")}@font-face{font-family:KaTeX_Size3;font-style:normal;font-weight:400;src:url(fonts/KaTeX_Size3-Regular.woff2) format("woff2"),url(fonts/KaTeX_Size3-Regular.woff) format("woff"),url(fonts/KaTeX_Size3-Regular.ttf) format("truetype")}@font-face{font-family:KaTeX_Size4;font-style:normal;font-weight:400;src:url(fonts/KaTeX_Size4-Regular.woff2) format("woff2"),url(fonts/KaTeX_Size4-Regular.woff) format("woff"),url(fonts/KaTeX_Size4-Regular.ttf) format("truetype")}@font-face{font-family:KaTeX_Typewriter;font-style:normal;font-weight:400;src:url(fonts/KaTeX_Typewriter-Regular.woff2) format("woff2"),url(fonts/KaTeX_Typewriter-Regular.woff) format("woff"),url(fonts/KaTeX_Typewriter-Regular.ttf) format("truetype")}.katex{text-rendering:auto;font:normal 1.21em KaTeX_Main,Times New Roman,serif;line-height:1.2;text-indent:0}.katex *{-ms-high-contrast-adjust:none!important;border-color:currentColor}.katex .katex-version:after{content:"0.16.8"}.katex .katex-mathml{clip:rect(1px,1px,1px,1px);border:0;height:1px;overflow:hidden;padding:0;position:absolute;width:1px}.katex .katex-html>.newline{display:block}.katex .base{position:relative;white-space:nowrap;width:-webkit-min-content;width:-moz-min-content;width:min-content}.katex .base,.katex .strut{display:inline-block}.katex .textbf{font-weight:700}.katex .textit{font-style:italic}.katex .textrm{font-family:KaTeX_Main}.katex .textsf{font-family:KaTeX_SansSerif}.katex .texttt{font-family:KaTeX_Typewriter}.katex .mathnormal{font-family:KaTeX_Math;font-style:italic}.katex .mathit{font-family:KaTeX_Main;font-style:italic}.katex .mathrm{font-style:normal}.katex .mathbf{font-family:KaTeX_Main;font-weight:700}.katex .boldsymbol{font-family:KaTeX_Math;font-style:italic;font-weight:700}.katex .amsrm,.katex .mathbb,.katex .textbb{font-family:KaTeX_AMS}.katex .mathcal{font-family:KaTeX_Caligraphic}.katex .mathfrak,.katex .textfrak{font-family:KaTeX_Fraktur}.katex .mathtt{font-family:KaTeX_Typewriter}.katex .mathscr,.katex .textscr{font-family:KaTeX_Script}.katex .mathsf,.katex .textsf{font-family:KaTeX_SansSerif}.katex .mathboldsf,.katex .textboldsf{font-family:KaTeX_SansSerif;font-weight:700}.katex .mathitsf,.katex .textitsf{font-family:KaTeX_SansSerif;font-style:italic}.katex .mainrm{font-family:KaTeX_Main;font-style:normal}.katex .vlist-t{border-collapse:collapse;display:inline-table;table-layout:fixed}.katex .vlist-r{display:table-row}.katex .vlist{display:table-cell;position:relative;vertical-align:bottom}.katex .vlist>span{display:block;height:0;position:relative}.katex .vlist>span>span{display:inline-block}.katex .vlist>span>.pstrut{overflow:hidden;width:0}.katex .vlist-t2{margin-right:-2px}.katex .vlist-s{display:table-cell;font-size:1px;min-width:2px;vertical-align:bottom;width:2px}.katex .vbox{align-items:baseline;display:inline-flex;flex-direction:column}.katex .hbox{width:100%}.katex .hbox,.katex .thinbox{display:inline-flex;flex-direction:row}.katex .thinbox{max-width:0;width:0}.katex .msupsub{text-align:left}.katex .mfrac>span>span{text-align:center}.katex .mfrac .frac-line{border-bottom-style:solid;display:inline-block;width:100%}.katex .hdashline,.katex .hline,.katex .mfrac .frac-line,.katex .overline .overline-line,.katex .rule,.katex .underline .underline-line{min-height:1px}.katex .mspace{display:inline-block}.katex .clap,.katex .llap,.katex .rlap{position:relative;width:0}.katex .clap>.inner,.katex .llap>.inner,.katex .rlap>.inner{position:absolute}.katex .clap>.fix,.katex .llap>.fix,.katex .rlap>.fix{display:inline-block}.katex .llap>.inner{right:0}.katex .clap>.inner,.katex .rlap>.inner{left:0}.katex .clap>.inner>span{margin-left:-50%;margin-right:50%}.katex .rule{border:0 solid;display:inline-block;position:relative}.katex .hline,.katex .overline .overline-line,.katex .underline .underline-line{border-bottom-style:solid;display:inline-block;width:100%}.katex .hdashline{border-bottom-style:dashed;display:inline-block;width:100%}.katex .sqrt>.root{margin-left:.27777778em;margin-right:-.55555556em}.katex .fontsize-ensurer.reset-size1.size1,.katex .sizing.reset-size1.size1{font-size:1em}.katex .fontsize-ensurer.reset-size1.size2,.katex .sizing.reset-size1.size2{font-size:1.2em}.katex .fontsize-ensurer.reset-size1.size3,.katex .sizing.reset-size1.size3{font-size:1.4em}.katex .fontsize-ensurer.reset-size1.size4,.katex .sizing.reset-size1.size4{font-size:1.6em}.katex .fontsize-ensurer.reset-size1.size5,.katex .sizing.reset-size1.size5{font-size:1.8em}.katex .fontsize-ensurer.reset-size1.size6,.katex .sizing.reset-size1.size6{font-size:2em}.katex .fontsize-ensurer.reset-size1.size7,.katex .sizing.reset-size1.size7{font-size:2.4em}.katex .fontsize-ensurer.reset-size1.size8,.katex .sizing.reset-size1.size8{font-size:2.88em}.katex .fontsize-ensurer.reset-size1.size9,.katex .sizing.reset-size1.size9{font-size:3.456em}.katex .fontsize-ensurer.reset-size1.size10,.katex .sizing.reset-size1.size10{font-size:4.148em}.katex .fontsize-ensurer.reset-size1.size11,.katex .sizing.reset-size1.size11{font-size:4.976em}.katex .fontsize-ensurer.reset-size2.size1,.katex .sizing.reset-size2.size1{font-size:.83333333em}.katex .fontsize-ensurer.reset-size2.size2,.katex .sizing.reset-size2.size2{font-size:1em}.katex .fontsize-ensurer.reset-size2.size3,.katex .sizing.reset-size2.size3{font-size:1.16666667em}.katex .fontsize-ensurer.reset-size2.size4,.katex .sizing.reset-size2.size4{font-size:1.33333333em}.katex .fontsize-ensurer.reset-size2.size5,.katex .sizing.reset-size2.size5{font-size:1.5em}.katex .fontsize-ensurer.reset-size2.size6,.katex .sizing.reset-size2.size6{font-size:1.66666667em}.katex .fontsize-ensurer.reset-size2.size7,.katex .sizing.reset-size2.size7{font-size:2em}.katex .fontsize-ensurer.reset-size2.size8,.katex .sizing.reset-size2.size8{font-size:2.4em}.katex .fontsize-ensurer.reset-size2.size9,.katex .sizing.reset-size2.size9{font-size:2.88em}.katex .fontsize-ensurer.reset-size2.size10,.katex .sizing.reset-size2.size10{font-size:3.45666667em}.katex .fontsize-ensurer.reset-size2.size11,.katex .sizing.reset-size2.size11{font-size:4.14666667em}.katex .fontsize-ensurer.reset-size3.size1,.katex .sizing.reset-size3.size1{font-size:.71428571em}.katex .fontsize-ensurer.reset-size3.size2,.katex .sizing.reset-size3.size2{font-size:.85714286em}.katex .fontsize-ensurer.reset-size3.size3,.katex .sizing.reset-size3.size3{font-size:1em}.katex .fontsize-ensurer.reset-size3.size4,.katex .sizing.reset-size3.size4{font-size:1.14285714em}.katex .fontsize-ensurer.reset-size3.size5,.katex .sizing.reset-size3.size5{font-size:1.28571429em}.katex .fontsize-ensurer.reset-size3.size6,.katex .sizing.reset-size3.size6{font-size:1.42857143em}.katex .fontsize-ensurer.reset-size3.size7,.katex .sizing.reset-size3.size7{font-size:1.71428571em}.katex .fontsize-ensurer.reset-size3.size8,.katex .sizing.reset-size3.size8{font-size:2.05714286em}.katex .fontsize-ensurer.reset-size3.size9,.katex .sizing.reset-size3.size9{font-size:2.46857143em}.katex .fontsize-ensurer.reset-size3.size10,.katex .sizing.reset-size3.size10{font-size:2.96285714em}.katex .fontsize-ensurer.reset-size3.size11,.katex .sizing.reset-size3.size11{font-size:3.55428571em}.katex .fontsize-ensurer.reset-size4.size1,.katex .sizing.reset-size4.size1{font-size:.625em}.katex .fontsize-ensurer.reset-size4.size2,.katex .sizing.reset-size4.size2{font-size:.75em}.katex .fontsize-ensurer.reset-size4.size3,.katex .sizing.reset-size4.size3{font-size:.875em}.katex .fontsize-ensurer.reset-size4.size4,.katex .sizing.reset-size4.size4{font-size:1em}.katex .fontsize-ensurer.reset-size4.size5,.katex .sizing.reset-size4.size5{font-size:1.125em}.katex .fontsize-ensurer.reset-size4.size6,.katex .sizing.reset-size4.size6{font-size:1.25em}.katex .fontsize-ensurer.reset-size4.size7,.katex .sizing.reset-size4.size7{font-size:1.5em}.katex .fontsize-ensurer.reset-size4.size8,.katex .sizing.reset-size4.size8{font-size:1.8em}.katex .fontsize-ensurer.reset-size4.size9,.katex .sizing.reset-size4.size9{font-size:2.16em}.katex .fontsize-ensurer.reset-size4.size10,.katex .sizing.reset-size4.size10{font-size:2.5925em}.katex .fontsize-ensurer.reset-size4.size11,.katex .sizing.reset-size4.size11{font-size:3.11em}.katex .fontsize-ensurer.reset-size5.size1,.katex .sizing.reset-size5.size1{font-size:.55555556em}.katex .fontsize-ensurer.reset-size5.size2,.katex .sizing.reset-size5.size2{font-size:.66666667em}.katex .fontsize-ensurer.reset-size5.size3,.katex .sizing.reset-size5.size3{font-size:.77777778em}.katex .fontsize-ensurer.reset-size5.size4,.katex .sizing.reset-size5.size4{font-size:.88888889em}.katex .fontsize-ensurer.reset-size5.size5,.katex .sizing.reset-size5.size5{font-size:1em}.katex .fontsize-ensurer.reset-size5.size6,.katex .sizing.reset-size5.size6{font-size:1.11111111em}.katex .fontsize-ensurer.reset-size5.size7,.katex .sizing.reset-size5.size7{font-size:1.33333333em}.katex .fontsize-ensurer.reset-size5.size8,.katex .sizing.reset-size5.size8{font-size:1.6em}.katex .fontsize-ensurer.reset-size5.size9,.katex .sizing.reset-size5.size9{font-size:1.92em}.katex .fontsize-ensurer.reset-size5.size10,.katex .sizing.reset-size5.size10{font-size:2.30444444em}.katex .fontsize-ensurer.reset-size5.size11,.katex .sizing.reset-size5.size11{font-size:2.76444444em}.katex .fontsize-ensurer.reset-size6.size1,.katex .sizing.reset-size6.size1{font-size:.5em}.katex .fontsize-ensurer.reset-size6.size2,.katex .sizing.reset-size6.size2{font-size:.6em}.katex .fontsize-ensurer.reset-size6.size3,.katex .sizing.reset-size6.size3{font-size:.7em}.katex .fontsize-ensurer.reset-size6.size4,.katex .sizing.reset-size6.size4{font-size:.8em}.katex .fontsize-ensurer.reset-size6.size5,.katex .sizing.reset-size6.size5{font-size:.9em}.katex .fontsize-ensurer.reset-size6.size6,.katex .sizing.reset-size6.size6{font-size:1em}.katex .fontsize-ensurer.reset-size6.size7,.katex .sizing.reset-size6.size7{font-size:1.2em}.katex .fontsize-ensurer.reset-size6.size8,.katex .sizing.reset-size6.size8{font-size:1.44em}.katex .fontsize-ensurer.reset-size6.size9,.katex .sizing.reset-size6.size9{font-size:1.728em}.katex .fontsize-ensurer.reset-size6.size10,.katex .sizing.reset-size6.size10{font-size:2.074em}.katex .fontsize-ensurer.reset-size6.size11,.katex .sizing.reset-size6.size11{font-size:2.488em}.katex .fontsize-ensurer.reset-size7.size1,.katex .sizing.reset-size7.size1{font-size:.41666667em}.katex .fontsize-ensurer.reset-size7.size2,.katex .sizing.reset-size7.size2{font-size:.5em}.katex .fontsize-ensurer.reset-size7.size3,.katex .sizing.reset-size7.size3{font-size:.58333333em}.katex .fontsize-ensurer.reset-size7.size4,.katex .sizing.reset-size7.size4{font-size:.66666667em}.katex .fontsize-ensurer.reset-size7.size5,.katex .sizing.reset-size7.size5{font-size:.75em}.katex .fontsize-ensurer.reset-size7.size6,.katex .sizing.reset-size7.size6{font-size:.83333333em}.katex .fontsize-ensurer.reset-size7.size7,.katex .sizing.reset-size7.size7{font-size:1em}.katex .fontsize-ensurer.reset-size7.size8,.katex .sizing.reset-size7.size8{font-size:1.2em}.katex .fontsize-ensurer.reset-size7.size9,.katex .sizing.reset-size7.size9{font-size:1.44em}.katex .fontsize-ensurer.reset-size7.size10,.katex .sizing.reset-size7.size10{font-size:1.72833333em}.katex .fontsize-ensurer.reset-size7.size11,.katex .sizing.reset-size7.size11{font-size:2.07333333em}.katex .fontsize-ensurer.reset-size8.size1,.katex .sizing.reset-size8.size1{font-size:.34722222em}.katex .fontsize-ensurer.reset-size8.size2,.katex .sizing.reset-size8.size2{font-size:.41666667em}.katex .fontsize-ensurer.reset-size8.size3,.katex .sizing.reset-size8.size3{font-size:.48611111em}.katex .fontsize-ensurer.reset-size8.size4,.katex .sizing.reset-size8.size4{font-size:.55555556em}.katex .fontsize-ensurer.reset-size8.size5,.katex .sizing.reset-size8.size5{font-size:.625em}.katex .fontsize-ensurer.reset-size8.size6,.katex .sizing.reset-size8.size6{font-size:.69444444em}.katex .fontsize-ensurer.reset-size8.size7,.katex .sizing.reset-size8.size7{font-size:.83333333em}.katex .fontsize-ensurer.reset-size8.size8,.katex .sizing.reset-size8.size8{font-size:1em}.katex .fontsize-ensurer.reset-size8.size9,.katex .sizing.reset-size8.size9{font-size:1.2em}.katex .fontsize-ensurer.reset-size8.size10,.katex .sizing.reset-size8.size10{font-size:1.44027778em}.katex .fontsize-ensurer.reset-size8.size11,.katex .sizing.reset-size8.size11{font-size:1.72777778em}.katex .fontsize-ensurer.reset-size9.size1,.katex .sizing.reset-size9.size1{font-size:.28935185em}.katex .fontsize-ensurer.reset-size9.size2,.katex .sizing.reset-size9.size2{font-size:.34722222em}.katex .fontsize-ensurer.reset-size9.size3,.katex .sizing.reset-size9.size3{font-size:.40509259em}.katex .fontsize-ensurer.reset-size9.size4,.katex .sizing.reset-size9.size4{font-size:.46296296em}.katex .fontsize-ensurer.reset-size9.size5,.katex .sizing.reset-size9.size5{font-size:.52083333em}.katex .fontsize-ensurer.reset-size9.size6,.katex .sizing.reset-size9.size6{font-size:.5787037em}.katex .fontsize-ensurer.reset-size9.size7,.katex .sizing.reset-size9.size7{font-size:.69444444em}.katex .fontsize-ensurer.reset-size9.size8,.katex .sizing.reset-size9.size8{font-size:.83333333em}.katex .fontsize-ensurer.reset-size9.size9,.katex .sizing.reset-size9.size9{font-size:1em}.katex .fontsize-ensurer.reset-size9.size10,.katex .sizing.reset-size9.size10{font-size:1.20023148em}.katex .fontsize-ensurer.reset-size9.size11,.katex .sizing.reset-size9.size11{font-size:1.43981481em}.katex .fontsize-ensurer.reset-size10.size1,.katex .sizing.reset-size10.size1{font-size:.24108004em}.katex .fontsize-ensurer.reset-size10.size2,.katex .sizing.reset-size10.size2{font-size:.28929605em}.katex .fontsize-ensurer.reset-size10.size3,.katex .sizing.reset-size10.size3{font-size:.33751205em}.katex .fontsize-ensurer.reset-size10.size4,.katex .sizing.reset-size10.size4{font-size:.38572806em}.katex .fontsize-ensurer.reset-size10.size5,.katex .sizing.reset-size10.size5{font-size:.43394407em}.katex .fontsize-ensurer.reset-size10.size6,.katex .sizing.reset-size10.size6{font-size:.48216008em}.katex .fontsize-ensurer.reset-size10.size7,.katex .sizing.reset-size10.size7{font-size:.57859209em}.katex .fontsize-ensurer.reset-size10.size8,.katex .sizing.reset-size10.size8{font-size:.69431051em}.katex .fontsize-ensurer.reset-size10.size9,.katex .sizing.reset-size10.size9{font-size:.83317261em}.katex .fontsize-ensurer.reset-size10.size10,.katex .sizing.reset-size10.size10{font-size:1em}.katex .fontsize-ensurer.reset-size10.size11,.katex .sizing.reset-size10.size11{font-size:1.19961427em}.katex .fontsize-ensurer.reset-size11.size1,.katex .sizing.reset-size11.size1{font-size:.20096463em}.katex .fontsize-ensurer.reset-size11.size2,.katex .sizing.reset-size11.size2{font-size:.24115756em}.katex .fontsize-ensurer.reset-size11.size3,.katex .sizing.reset-size11.size3{font-size:.28135048em}.katex .fontsize-ensurer.reset-size11.size4,.katex .sizing.reset-size11.size4{font-size:.32154341em}.katex .fontsize-ensurer.reset-size11.size5,.katex .sizing.reset-size11.size5{font-size:.36173633em}.katex .fontsize-ensurer.reset-size11.size6,.katex .sizing.reset-size11.size6{font-size:.40192926em}.katex .fontsize-ensurer.reset-size11.size7,.katex .sizing.reset-size11.size7{font-size:.48231511em}.katex .fontsize-ensurer.reset-size11.size8,.katex .sizing.reset-size11.size8{font-size:.57877814em}.katex .fontsize-ensurer.reset-size11.size9,.katex .sizing.reset-size11.size9{font-size:.69453376em}.katex .fontsize-ensurer.reset-size11.size10,.katex .sizing.reset-size11.size10{font-size:.83360129em}.katex .fontsize-ensurer.reset-size11.size11,.katex .sizing.reset-size11.size11{font-size:1em}.katex .delimsizing.size1{font-family:KaTeX_Size1}.katex .delimsizing.size2{font-family:KaTeX_Size2}.katex .delimsizing.size3{font-family:KaTeX_Size3}.katex .delimsizing.size4{font-family:KaTeX_Size4}.katex .delimsizing.mult .delim-size1>span{font-family:KaTeX_Size1}.katex .delimsizing.mult .delim-size4>span{font-family:KaTeX_Size4}.katex .nulldelimiter{display:inline-block;width:.12em}.katex .delimcenter,.katex .op-symbol{position:relative}.katex .op-symbol.small-op{font-family:KaTeX_Size1}.katex .op-symbol.large-op{font-family:KaTeX_Size2}.katex .accent>.vlist-t,.katex .op-limits>.vlist-t{text-align:center}.katex .accent .accent-body{position:relative}.katex .accent .accent-body:not(.accent-full){width:0}.katex .overlay{display:block}.katex .mtable .vertical-separator{display:inline-block;min-width:1px}.katex .mtable .arraycolsep{display:inline-block}.katex .mtable .col-align-c>.vlist-t{text-align:center}.katex .mtable .col-align-l>.vlist-t{text-align:left}.katex .mtable .col-align-r>.vlist-t{text-align:right}.katex .svg-align{text-align:left}.katex svg{fill:currentColor;stroke:currentColor;fill-rule:nonzero;fill-opacity:1;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;display:block;height:inherit;position:absolute;width:100%}.katex svg path{stroke:none}.katex img{border-style:none;max-height:none;max-width:none;min-height:0;min-width:0}.katex .stretchy{display:block;overflow:hidden;position:relative;width:100%}.katex .stretchy:after,.katex .stretchy:before{content:""}.katex .hide-tail{overflow:hidden;position:relative;width:100%}.katex .halfarrow-left{left:0;overflow:hidden;position:absolute;width:50.2%}.katex .halfarrow-right{overflow:hidden;position:absolute;right:0;width:50.2%}.katex .brace-left{left:0;overflow:hidden;position:absolute;width:25.1%}.katex .brace-center{left:25%;overflow:hidden;position:absolute;width:50%}.katex .brace-right{overflow:hidden;position:absolute;right:0;width:25.1%}.katex .x-arrow-pad{padding:0 .5em}.katex .cd-arrow-pad{padding:0 .55556em 0 .27778em}.katex .mover,.katex .munder,.katex .x-arrow{text-align:center}.katex .boxpad{padding:0 .3em}.katex .fbox,.katex .fcolorbox{border:.04em solid;box-sizing:border-box}.katex .cancel-pad{padding:0 .2em}.katex .cancel-lap{margin-left:-.2em;margin-right:-.2em}.katex .sout{border-bottom-style:solid;border-bottom-width:.08em}.katex .angl{border-right:.049em solid;border-top:.049em solid;box-sizing:border-box;margin-right:.03889em}.katex .anglpad{padding:0 .03889em}.katex .eqn-num:before{content:"(" counter(katexEqnNo) ")";counter-increment:katexEqnNo}.katex .mml-eqn-num:before{content:"(" counter(mmlEqnNo) ")";counter-increment:mmlEqnNo}.katex .mtr-glue{width:50%}.katex .cd-vert-arrow{display:inline-block;position:relative}.katex .cd-label-left{display:inline-block;position:absolute;right:calc(50% + .3em);text-align:left}.katex .cd-label-right{display:inline-block;left:calc(50% + .3em);position:absolute;text-align:right}.katex-display{display:block;margin:1em 0;text-align:center}.katex-display>.katex{display:block;text-align:center;white-space:nowrap}.katex-display>.katex>.katex-html{display:block;position:relative}.katex-display>.katex>.katex-html>.tag{position:absolute;right:0}.katex-display.leqno>.katex>.katex-html>.tag{left:0;right:auto}.katex-display.fleqn>.katex{padding-left:2em;text-align:left}body{counter-reset:katexEqnNo mmlEqnNo}
webui/vendor/katex/katex.min.js
new
+1
@@ -0,0 +1 @@
1
+!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.katex=t():e.katex=t()}("undefined"!=typeof self?self:this,(function(){return function(){"use strict";var e={d:function(t,r){for(var n in r)e.o(r,n)&&!e.o(t,n)&&Object.defineProperty(t,n,{enumerable:!0,get:r[n]})},o:function(e,t){return Object.prototype.hasOwnProperty.call(e,t)}},t={};e.d(t,{default:function(){return na}});var r=function e(t,r){this.name=void 0,this.position=void 0,this.length=void 0,this.rawMessage=void 0;var n,a,i="KaTeX parse error: "+t,o=r&&r.loc;if(o&&o.start<=o.end){var s=o.lexer.input;n=o.start,a=o.end,n===s.length?i+=" at end of input: ":i+=" at position "+(n+1)+": ";var l=s.slice(n,a).replace(/[^]/g,"$&\u0332");i+=(n>15?"\u2026"+s.slice(n-15,n):s.slice(0,n))+l+(a+15<s.length?s.slice(a,a+15)+"\u2026":s.slice(a))}var h=new Error(i);return h.name="ParseError",h.__proto__=e.prototype,h.position=n,null!=n&&null!=a&&(h.length=a-n),h.rawMessage=t,h};r.prototype.__proto__=Error.prototype;var n=r,a=/([A-Z])/g,i={"&":"&",">":">","<":"<",'"':""","'":"'"},o=/[&><"']/g;var s=function e(t){return"ordgroup"===t.type||"color"===t.type?1===t.body.length?e(t.body[0]):t:"font"===t.type?e(t.body):t},l={contains:function(e,t){return-1!==e.indexOf(t)},deflt:function(e,t){return void 0===e?t:e},escape:function(e){return String(e).replace(o,(function(e){return i[e]}))},hyphenate:function(e){return e.replace(a,"-$1").toLowerCase()},getBaseElem:s,isCharacterBox:function(e){var t=s(e);return"mathord"===t.type||"textord"===t.type||"atom"===t.type},protocolFromUrl:function(e){var t=/^\s*([^\\/#]*?)(?::|�*58|�*3a)/i.exec(e);return null!=t?t[1]:"_relative"}},h={displayMode:{type:"boolean",description:"Render math in display mode, which puts the math in display style (so \\int and \\sum are large, for example), and centers the math on the page on its own line.",cli:"-d, --display-mode"},output:{type:{enum:["htmlAndMathml","html","mathml"]},description:"Determines the markup language of the output.",cli:"-F, --format <type>"},leqno:{type:"boolean",description:"Render display math in leqno style (left-justified tags)."},fleqn:{type:"boolean",description:"Render display math flush left."},throwOnError:{type:"boolean",default:!0,cli:"-t, --no-throw-on-error",cliDescription:"Render errors (in the color given by --error-color) instead of throwing a ParseError exception when encountering an error."},errorColor:{type:"string",default:"#cc0000",cli:"-c, --error-color <color>",cliDescription:"A color string given in the format 'rgb' or 'rrggbb' (no #). This option determines the color of errors rendered by the -t option.",cliProcessor:function(e){return"#"+e}},macros:{type:"object",cli:"-m, --macro <def>",cliDescription:"Define custom macro of the form '\\foo:expansion' (use multiple -m arguments for multiple macros).",cliDefault:[],cliProcessor:function(e,t){return t.push(e),t}},minRuleThickness:{type:"number",description:"Specifies a minimum thickness, in ems, for fraction lines, `\\sqrt` top lines, `{array}` vertical lines, `\\hline`, `\\hdashline`, `\\underline`, `\\overline`, and the borders of `\\fbox`, `\\boxed`, and `\\fcolorbox`.",processor:function(e){return Math.max(0,e)},cli:"--min-rule-thickness <size>",cliProcessor:parseFloat},colorIsTextColor:{type:"boolean",description:"Makes \\color behave like LaTeX's 2-argument \\textcolor, instead of LaTeX's one-argument \\color mode change.",cli:"-b, --color-is-text-color"},strict:{type:[{enum:["warn","ignore","error"]},"boolean","function"],description:"Turn on strict / LaTeX faithfulness mode, which throws an error if the input uses features that are not supported by LaTeX.",cli:"-S, --strict",cliDefault:!1},trust:{type:["boolean","function"],description:"Trust the input, enabling all HTML features such as \\url.",cli:"-T, --trust"},maxSize:{type:"number",default:1/0,description:"If non-zero, all user-specified sizes, e.g. in \\rule{500em}{500em}, will be capped to maxSize ems. Otherwise, elements and spaces can be arbitrarily large",processor:function(e){return Math.max(0,e)},cli:"-s, --max-size <n>",cliProcessor:parseInt},maxExpand:{type:"number",default:1e3,description:"Limit the number of macro expansions to the specified number, to prevent e.g. infinite macro loops. If set to Infinity, the macro expander will try to fully expand as in LaTeX.",processor:function(e){return Math.max(0,e)},cli:"-e, --max-expand <n>",cliProcessor:function(e){return"Infinity"===e?1/0:parseInt(e)}},globalGroup:{type:"boolean",cli:!1}};function c(e){if(e.default)return e.default;var t=e.type,r=Array.isArray(t)?t[0]:t;if("string"!=typeof r)return r.enum[0];switch(r){case"boolean":return!1;case"string":return"";case"number":return 0;case"object":return{}}}var m=function(){function e(e){for(var t in this.displayMode=void 0,this.output=void 0,this.leqno=void 0,this.fleqn=void 0,this.throwOnError=void 0,this.errorColor=void 0,this.macros=void 0,this.minRuleThickness=void 0,this.colorIsTextColor=void 0,this.strict=void 0,this.trust=void 0,this.maxSize=void 0,this.maxExpand=void 0,this.globalGroup=void 0,e=e||{},h)if(h.hasOwnProperty(t)){var r=h[t];this[t]=void 0!==e[t]?r.processor?r.processor(e[t]):e[t]:c(r)}}var t=e.prototype;return t.reportNonstrict=function(e,t,r){var a=this.strict;if("function"==typeof a&&(a=a(e,t,r)),a&&"ignore"!==a){if(!0===a||"error"===a)throw new n("LaTeX-incompatible input and strict mode is set to 'error': "+t+" ["+e+"]",r);"warn"===a?"undefined"!=typeof console&&console.warn("LaTeX-incompatible input and strict mode is set to 'warn': "+t+" ["+e+"]"):"undefined"!=typeof console&&console.warn("LaTeX-incompatible input and strict mode is set to unrecognized '"+a+"': "+t+" ["+e+"]")}},t.useStrictBehavior=function(e,t,r){var n=this.strict;if("function"==typeof n)try{n=n(e,t,r)}catch(e){n="error"}return!(!n||"ignore"===n)&&(!0===n||"error"===n||("warn"===n?("undefined"!=typeof console&&console.warn("LaTeX-incompatible input and strict mode is set to 'warn': "+t+" ["+e+"]"),!1):("undefined"!=typeof console&&console.warn("LaTeX-incompatible input and strict mode is set to unrecognized '"+n+"': "+t+" ["+e+"]"),!1)))},t.isTrusted=function(e){e.url&&!e.protocol&&(e.protocol=l.protocolFromUrl(e.url));var t="function"==typeof this.trust?this.trust(e):this.trust;return Boolean(t)},e}(),u=function(){function e(e,t,r){this.id=void 0,this.size=void 0,this.cramped=void 0,this.id=e,this.size=t,this.cramped=r}var t=e.prototype;return t.sup=function(){return p[d[this.id]]},t.sub=function(){return p[f[this.id]]},t.fracNum=function(){return p[g[this.id]]},t.fracDen=function(){return p[v[this.id]]},t.cramp=function(){return p[b[this.id]]},t.text=function(){return p[y[this.id]]},t.isTight=function(){return this.size>=2},e}(),p=[new u(0,0,!1),new u(1,0,!0),new u(2,1,!1),new u(3,1,!0),new u(4,2,!1),new u(5,2,!0),new u(6,3,!1),new u(7,3,!0)],d=[4,5,4,5,6,7,6,7],f=[5,5,5,5,7,7,7,7],g=[2,3,4,5,6,7,6,7],v=[3,3,5,5,7,7,7,7],b=[1,1,3,3,5,5,7,7],y=[0,1,2,3,2,3,2,3],x={DISPLAY:p[0],TEXT:p[2],SCRIPT:p[4],SCRIPTSCRIPT:p[6]},w=[{name:"latin",blocks:[[256,591],[768,879]]},{name:"cyrillic",blocks:[[1024,1279]]},{name:"armenian",blocks:[[1328,1423]]},{name:"brahmic",blocks:[[2304,4255]]},{name:"georgian",blocks:[[4256,4351]]},{name:"cjk",blocks:[[12288,12543],[19968,40879],[65280,65376]]},{name:"hangul",blocks:[[44032,55215]]}];var k=[];function S(e){for(var t=0;t<k.length;t+=2)if(e>=k[t]&&e<=k[t+1])return!0;return!1}w.forEach((function(e){return e.blocks.forEach((function(e){return k.push.apply(k,e)}))}));var M=80,z={doubleleftarrow:"M262 157\nl10-10c34-36 62.7-77 86-123 3.3-8 5-13.3 5-16 0-5.3-6.7-8-20-8-7.3\n 0-12.2.5-14.5 1.5-2.3 1-4.8 4.5-7.5 10.5-49.3 97.3-121.7 169.3-217 216-28\n 14-57.3 25-88 33-6.7 2-11 3.8-13 5.5-2 1.7-3 4.2-3 7.5s1 5.8 3 7.5\nc2 1.7 6.3 3.5 13 5.5 68 17.3 128.2 47.8 180.5 91.5 52.3 43.7 93.8 96.2 124.5\n 157.5 9.3 8 15.3 12.3 18 13h6c12-.7 18-4 18-10 0-2-1.7-7-5-15-23.3-46-52-87\n-86-123l-10-10h399738v-40H218c328 0 0 0 0 0l-10-8c-26.7-20-65.7-43-117-69 2.7\n-2 6-3.7 10-5 36.7-16 72.3-37.3 107-64l10-8h399782v-40z\nm8 0v40h399730v-40zm0 194v40h399730v-40z",doublerightarrow:"M399738 392l\n-10 10c-34 36-62.7 77-86 123-3.3 8-5 13.3-5 16 0 5.3 6.7 8 20 8 7.3 0 12.2-.5\n 14.5-1.5 2.3-1 4.8-4.5 7.5-10.5 49.3-97.3 121.7-169.3 217-216 28-14 57.3-25 88\n-33 6.7-2 11-3.8 13-5.5 2-1.7 3-4.2 3-7.5s-1-5.8-3-7.5c-2-1.7-6.3-3.5-13-5.5-68\n-17.3-128.2-47.8-180.5-91.5-52.3-43.7-93.8-96.2-124.5-157.5-9.3-8-15.3-12.3-18\n-13h-6c-12 .7-18 4-18 10 0 2 1.7 7 5 15 23.3 46 52 87 86 123l10 10H0v40h399782\nc-328 0 0 0 0 0l10 8c26.7 20 65.7 43 117 69-2.7 2-6 3.7-10 5-36.7 16-72.3 37.3\n-107 64l-10 8H0v40zM0 157v40h399730v-40zm0 194v40h399730v-40z",leftarrow:"M400000 241H110l3-3c68.7-52.7 113.7-120\n 135-202 4-14.7 6-23 6-25 0-7.3-7-11-21-11-8 0-13.2.8-15.5 2.5-2.3 1.7-4.2 5.8\n-5.5 12.5-1.3 4.7-2.7 10.3-4 17-12 48.7-34.8 92-68.5 130S65.3 228.3 18 247\nc-10 4-16 7.7-18 11 0 8.7 6 14.3 18 17 47.3 18.7 87.8 47 121.5 85S196 441.3 208\n 490c.7 2 1.3 5 2 9s1.2 6.7 1.5 8c.3 1.3 1 3.3 2 6s2.2 4.5 3.5 5.5c1.3 1 3.3\n 1.8 6 2.5s6 1 10 1c14 0 21-3.7 21-11 0-2-2-10.3-6-25-20-79.3-65-146.7-135-202\n l-3-3h399890zM100 241v40h399900v-40z",leftbrace:"M6 548l-6-6v-35l6-11c56-104 135.3-181.3 238-232 57.3-28.7 117\n-45 179-50h399577v120H403c-43.3 7-81 15-113 26-100.7 33-179.7 91-237 174-2.7\n 5-6 9-10 13-.7 1-7.3 1-20 1H6z",leftbraceunder:"M0 6l6-6h17c12.688 0 19.313.3 20 1 4 4 7.313 8.3 10 13\n 35.313 51.3 80.813 93.8 136.5 127.5 55.688 33.7 117.188 55.8 184.5 66.5.688\n 0 2 .3 4 1 18.688 2.7 76 4.3 172 5h399450v120H429l-6-1c-124.688-8-235-61.7\n-331-161C60.687 138.7 32.312 99.3 7 54L0 41V6z",leftgroup:"M400000 80\nH435C64 80 168.3 229.4 21 260c-5.9 1.2-18 0-18 0-2 0-3-1-3-3v-38C76 61 257 0\n 435 0h399565z",leftgroupunder:"M400000 262\nH435C64 262 168.3 112.6 21 82c-5.9-1.2-18 0-18 0-2 0-3 1-3 3v38c76 158 257 219\n 435 219h399565z",leftharpoon:"M0 267c.7 5.3 3 10 7 14h399993v-40H93c3.3\n-3.3 10.2-9.5 20.5-18.5s17.8-15.8 22.5-20.5c50.7-52 88-110.3 112-175 4-11.3 5\n-18.3 3-21-1.3-4-7.3-6-18-6-8 0-13 .7-15 2s-4.7 6.7-8 16c-42 98.7-107.3 174.7\n-196 228-6.7 4.7-10.7 8-12 10-1.3 2-2 5.7-2 11zm100-26v40h399900v-40z",leftharpoonplus:"M0 267c.7 5.3 3 10 7 14h399993v-40H93c3.3-3.3 10.2-9.5\n 20.5-18.5s17.8-15.8 22.5-20.5c50.7-52 88-110.3 112-175 4-11.3 5-18.3 3-21-1.3\n-4-7.3-6-18-6-8 0-13 .7-15 2s-4.7 6.7-8 16c-42 98.7-107.3 174.7-196 228-6.7 4.7\n-10.7 8-12 10-1.3 2-2 5.7-2 11zm100-26v40h399900v-40zM0 435v40h400000v-40z\nm0 0v40h400000v-40z",leftharpoondown:"M7 241c-4 4-6.333 8.667-7 14 0 5.333.667 9 2 11s5.333\n 5.333 12 10c90.667 54 156 130 196 228 3.333 10.667 6.333 16.333 9 17 2 .667 5\n 1 9 1h5c10.667 0 16.667-2 18-6 2-2.667 1-9.667-3-21-32-87.333-82.667-157.667\n-152-211l-3-3h399907v-40zM93 281 H400000 v-40L7 241z",leftharpoondownplus:"M7 435c-4 4-6.3 8.7-7 14 0 5.3.7 9 2 11s5.3 5.3 12\n 10c90.7 54 156 130 196 228 3.3 10.7 6.3 16.3 9 17 2 .7 5 1 9 1h5c10.7 0 16.7\n-2 18-6 2-2.7 1-9.7-3-21-32-87.3-82.7-157.7-152-211l-3-3h399907v-40H7zm93 0\nv40h399900v-40zM0 241v40h399900v-40zm0 0v40h399900v-40z",lefthook:"M400000 281 H103s-33-11.2-61-33.5S0 197.3 0 164s14.2-61.2 42.5\n-83.5C70.8 58.2 104 47 142 47 c16.7 0 25 6.7 25 20 0 12-8.7 18.7-26 20-40 3.3\n-68.7 15.7-86 37-10 12-15 25.3-15 40 0 22.7 9.8 40.7 29.5 54 19.7 13.3 43.5 21\n 71.5 23h399859zM103 281v-40h399897v40z",leftlinesegment:"M40 281 V428 H0 V94 H40 V241 H400000 v40z\nM40 281 V428 H0 V94 H40 V241 H400000 v40z",leftmapsto:"M40 281 V448H0V74H40V241H400000v40z\nM40 281 V448H0V74H40V241H400000v40z",leftToFrom:"M0 147h400000v40H0zm0 214c68 40 115.7 95.7 143 167h22c15.3 0 23\n-.3 23-1 0-1.3-5.3-13.7-16-37-18-35.3-41.3-69-70-101l-7-8h399905v-40H95l7-8\nc28.7-32 52-65.7 70-101 10.7-23.3 16-35.7 16-37 0-.7-7.7-1-23-1h-22C115.7 265.3\n 68 321 0 361zm0-174v-40h399900v40zm100 154v40h399900v-40z",longequal:"M0 50 h400000 v40H0z m0 194h40000v40H0z\nM0 50 h400000 v40H0z m0 194h40000v40H0z",midbrace:"M200428 334\nc-100.7-8.3-195.3-44-280-108-55.3-42-101.7-93-139-153l-9-14c-2.7 4-5.7 8.7-9 14\n-53.3 86.7-123.7 153-211 199-66.7 36-137.3 56.3-212 62H0V214h199568c178.3-11.7\n 311.7-78.3 403-201 6-8 9.7-12 11-12 .7-.7 6.7-1 18-1s17.3.3 18 1c1.3 0 5 4 11\n 12 44.7 59.3 101.3 106.3 170 141s145.3 54.3 229 60h199572v120z",midbraceunder:"M199572 214\nc100.7 8.3 195.3 44 280 108 55.3 42 101.7 93 139 153l9 14c2.7-4 5.7-8.7 9-14\n 53.3-86.7 123.7-153 211-199 66.7-36 137.3-56.3 212-62h199568v120H200432c-178.3\n 11.7-311.7 78.3-403 201-6 8-9.7 12-11 12-.7.7-6.7 1-18 1s-17.3-.3-18-1c-1.3 0\n-5-4-11-12-44.7-59.3-101.3-106.3-170-141s-145.3-54.3-229-60H0V214z",oiintSize1:"M512.6 71.6c272.6 0 320.3 106.8 320.3 178.2 0 70.8-47.7 177.6\n-320.3 177.6S193.1 320.6 193.1 249.8c0-71.4 46.9-178.2 319.5-178.2z\nm368.1 178.2c0-86.4-60.9-215.4-368.1-215.4-306.4 0-367.3 129-367.3 215.4 0 85.8\n60.9 214.8 367.3 214.8 307.2 0 368.1-129 368.1-214.8z",oiintSize2:"M757.8 100.1c384.7 0 451.1 137.6 451.1 230 0 91.3-66.4 228.8\n-451.1 228.8-386.3 0-452.7-137.5-452.7-228.8 0-92.4 66.4-230 452.7-230z\nm502.4 230c0-111.2-82.4-277.2-502.4-277.2s-504 166-504 277.2\nc0 110 84 276 504 276s502.4-166 502.4-276z",oiiintSize1:"M681.4 71.6c408.9 0 480.5 106.8 480.5 178.2 0 70.8-71.6 177.6\n-480.5 177.6S202.1 320.6 202.1 249.8c0-71.4 70.5-178.2 479.3-178.2z\nm525.8 178.2c0-86.4-86.8-215.4-525.7-215.4-437.9 0-524.7 129-524.7 215.4 0\n85.8 86.8 214.8 524.7 214.8 438.9 0 525.7-129 525.7-214.8z",oiiintSize2:"M1021.2 53c603.6 0 707.8 165.8 707.8 277.2 0 110-104.2 275.8\n-707.8 275.8-606 0-710.2-165.8-710.2-275.8C311 218.8 415.2 53 1021.2 53z\nm770.4 277.1c0-131.2-126.4-327.6-770.5-327.6S248.4 198.9 248.4 330.1\nc0 130 128.8 326.4 772.7 326.4s770.5-196.4 770.5-326.4z",rightarrow:"M0 241v40h399891c-47.3 35.3-84 78-110 128\n-16.7 32-27.7 63.7-33 95 0 1.3-.2 2.7-.5 4-.3 1.3-.5 2.3-.5 3 0 7.3 6.7 11 20\n 11 8 0 13.2-.8 15.5-2.5 2.3-1.7 4.2-5.5 5.5-11.5 2-13.3 5.7-27 11-41 14.7-44.7\n 39-84.5 73-119.5s73.7-60.2 119-75.5c6-2 9-5.7 9-11s-3-9-9-11c-45.3-15.3-85\n-40.5-119-75.5s-58.3-74.8-73-119.5c-4.7-14-8.3-27.3-11-40-1.3-6.7-3.2-10.8-5.5\n-12.5-2.3-1.7-7.5-2.5-15.5-2.5-14 0-21 3.7-21 11 0 2 2 10.3 6 25 20.7 83.3 67\n 151.7 139 205zm0 0v40h399900v-40z",rightbrace:"M400000 542l\n-6 6h-17c-12.7 0-19.3-.3-20-1-4-4-7.3-8.3-10-13-35.3-51.3-80.8-93.8-136.5-127.5\ns-117.2-55.8-184.5-66.5c-.7 0-2-.3-4-1-18.7-2.7-76-4.3-172-5H0V214h399571l6 1\nc124.7 8 235 61.7 331 161 31.3 33.3 59.7 72.7 85 118l7 13v35z",rightbraceunder:"M399994 0l6 6v35l-6 11c-56 104-135.3 181.3-238 232-57.3\n 28.7-117 45-179 50H-300V214h399897c43.3-7 81-15 113-26 100.7-33 179.7-91 237\n-174 2.7-5 6-9 10-13 .7-1 7.3-1 20-1h17z",rightgroup:"M0 80h399565c371 0 266.7 149.4 414 180 5.9 1.2 18 0 18 0 2 0\n 3-1 3-3v-38c-76-158-257-219-435-219H0z",rightgroupunder:"M0 262h399565c371 0 266.7-149.4 414-180 5.9-1.2 18 0 18\n 0 2 0 3 1 3 3v38c-76 158-257 219-435 219H0z",rightharpoon:"M0 241v40h399993c4.7-4.7 7-9.3 7-14 0-9.3\n-3.7-15.3-11-18-92.7-56.7-159-133.7-199-231-3.3-9.3-6-14.7-8-16-2-1.3-7-2-15-2\n-10.7 0-16.7 2-18 6-2 2.7-1 9.7 3 21 15.3 42 36.7 81.8 64 119.5 27.3 37.7 58\n 69.2 92 94.5zm0 0v40h399900v-40z",rightharpoonplus:"M0 241v40h399993c4.7-4.7 7-9.3 7-14 0-9.3-3.7-15.3-11\n-18-92.7-56.7-159-133.7-199-231-3.3-9.3-6-14.7-8-16-2-1.3-7-2-15-2-10.7 0-16.7\n 2-18 6-2 2.7-1 9.7 3 21 15.3 42 36.7 81.8 64 119.5 27.3 37.7 58 69.2 92 94.5z\nm0 0v40h399900v-40z m100 194v40h399900v-40zm0 0v40h399900v-40z",rightharpoondown:"M399747 511c0 7.3 6.7 11 20 11 8 0 13-.8 15-2.5s4.7-6.8\n 8-15.5c40-94 99.3-166.3 178-217 13.3-8 20.3-12.3 21-13 5.3-3.3 8.5-5.8 9.5\n-7.5 1-1.7 1.5-5.2 1.5-10.5s-2.3-10.3-7-15H0v40h399908c-34 25.3-64.7 57-92 95\n-27.3 38-48.7 77.7-64 119-3.3 8.7-5 14-5 16zM0 241v40h399900v-40z",rightharpoondownplus:"M399747 705c0 7.3 6.7 11 20 11 8 0 13-.8\n 15-2.5s4.7-6.8 8-15.5c40-94 99.3-166.3 178-217 13.3-8 20.3-12.3 21-13 5.3-3.3\n 8.5-5.8 9.5-7.5 1-1.7 1.5-5.2 1.5-10.5s-2.3-10.3-7-15H0v40h399908c-34 25.3\n-64.7 57-92 95-27.3 38-48.7 77.7-64 119-3.3 8.7-5 14-5 16zM0 435v40h399900v-40z\nm0-194v40h400000v-40zm0 0v40h400000v-40z",righthook:"M399859 241c-764 0 0 0 0 0 40-3.3 68.7-15.7 86-37 10-12 15-25.3\n 15-40 0-22.7-9.8-40.7-29.5-54-19.7-13.3-43.5-21-71.5-23-17.3-1.3-26-8-26-20 0\n-13.3 8.7-20 26-20 38 0 71 11.2 99 33.5 0 0 7 5.6 21 16.7 14 11.2 21 33.5 21\n 66.8s-14 61.2-42 83.5c-28 22.3-61 33.5-99 33.5L0 241z M0 281v-40h399859v40z",rightlinesegment:"M399960 241 V94 h40 V428 h-40 V281 H0 v-40z\nM399960 241 V94 h40 V428 h-40 V281 H0 v-40z",rightToFrom:"M400000 167c-70.7-42-118-97.7-142-167h-23c-15.3 0-23 .3-23\n 1 0 1.3 5.3 13.7 16 37 18 35.3 41.3 69 70 101l7 8H0v40h399905l-7 8c-28.7 32\n-52 65.7-70 101-10.7 23.3-16 35.7-16 37 0 .7 7.7 1 23 1h23c24-69.3 71.3-125 142\n-167z M100 147v40h399900v-40zM0 341v40h399900v-40z",twoheadleftarrow:"M0 167c68 40\n 115.7 95.7 143 167h22c15.3 0 23-.3 23-1 0-1.3-5.3-13.7-16-37-18-35.3-41.3-69\n-70-101l-7-8h125l9 7c50.7 39.3 85 86 103 140h46c0-4.7-6.3-18.7-19-42-18-35.3\n-40-67.3-66-96l-9-9h399716v-40H284l9-9c26-28.7 48-60.7 66-96 12.7-23.333 19\n-37.333 19-42h-46c-18 54-52.3 100.7-103 140l-9 7H95l7-8c28.7-32 52-65.7 70-101\n 10.7-23.333 16-35.7 16-37 0-.7-7.7-1-23-1h-22C115.7 71.3 68 127 0 167z",twoheadrightarrow:"M400000 167\nc-68-40-115.7-95.7-143-167h-22c-15.3 0-23 .3-23 1 0 1.3 5.3 13.7 16 37 18 35.3\n 41.3 69 70 101l7 8h-125l-9-7c-50.7-39.3-85-86-103-140h-46c0 4.7 6.3 18.7 19 42\n 18 35.3 40 67.3 66 96l9 9H0v40h399716l-9 9c-26 28.7-48 60.7-66 96-12.7 23.333\n-19 37.333-19 42h46c18-54 52.3-100.7 103-140l9-7h125l-7 8c-28.7 32-52 65.7-70\n 101-10.7 23.333-16 35.7-16 37 0 .7 7.7 1 23 1h22c27.3-71.3 75-127 143-167z",tilde1:"M200 55.538c-77 0-168 73.953-177 73.953-3 0-7\n-2.175-9-5.437L2 97c-1-2-2-4-2-6 0-4 2-7 5-9l20-12C116 12 171 0 207 0c86 0\n 114 68 191 68 78 0 168-68 177-68 4 0 7 2 9 5l12 19c1 2.175 2 4.35 2 6.525 0\n 4.35-2 7.613-5 9.788l-19 13.05c-92 63.077-116.937 75.308-183 76.128\n-68.267.847-113-73.952-191-73.952z",tilde2:"M344 55.266c-142 0-300.638 81.316-311.5 86.418\n-8.01 3.762-22.5 10.91-23.5 5.562L1 120c-1-2-1-3-1-4 0-5 3-9 8-10l18.4-9C160.9\n 31.9 283 0 358 0c148 0 188 122 331 122s314-97 326-97c4 0 8 2 10 7l7 21.114\nc1 2.14 1 3.21 1 4.28 0 5.347-3 9.626-7 10.696l-22.3 12.622C852.6 158.372 751\n 181.476 676 181.476c-149 0-189-126.21-332-126.21z",tilde3:"M786 59C457 59 32 175.242 13 175.242c-6 0-10-3.457\n-11-10.37L.15 138c-1-7 3-12 10-13l19.2-6.4C378.4 40.7 634.3 0 804.3 0c337 0\n 411.8 157 746.8 157 328 0 754-112 773-112 5 0 10 3 11 9l1 14.075c1 8.066-.697\n 16.595-6.697 17.492l-21.052 7.31c-367.9 98.146-609.15 122.696-778.15 122.696\n -338 0-409-156.573-744-156.573z",tilde4:"M786 58C457 58 32 177.487 13 177.487c-6 0-10-3.345\n-11-10.035L.15 143c-1-7 3-12 10-13l22-6.7C381.2 35 637.15 0 807.15 0c337 0 409\n 177 744 177 328 0 754-127 773-127 5 0 10 3 11 9l1 14.794c1 7.805-3 13.38-9\n 14.495l-20.7 5.574c-366.85 99.79-607.3 139.372-776.3 139.372-338 0-409\n -175.236-744-175.236z",vec:"M377 20c0-5.333 1.833-10 5.5-14S391 0 397 0c4.667 0 8.667 1.667 12 5\n3.333 2.667 6.667 9 10 19 6.667 24.667 20.333 43.667 41 57 7.333 4.667 11\n10.667 11 18 0 6-1 10-3 12s-6.667 5-14 9c-28.667 14.667-53.667 35.667-75 63\n-1.333 1.333-3.167 3.5-5.5 6.5s-4 4.833-5 5.5c-1 .667-2.5 1.333-4.5 2s-4.333 1\n-7 1c-4.667 0-9.167-1.833-13.5-5.5S337 184 337 178c0-12.667 15.667-32.333 47-59\nH213l-171-1c-8.667-6-13-12.333-13-19 0-4.667 4.333-11.333 13-20h359\nc-16-25.333-24-45-24-59z",widehat1:"M529 0h5l519 115c5 1 9 5 9 10 0 1-1 2-1 3l-4 22\nc-1 5-5 9-11 9h-2L532 67 19 159h-2c-5 0-9-4-11-9l-5-22c-1-6 2-12 8-13z",widehat2:"M1181 0h2l1171 176c6 0 10 5 10 11l-2 23c-1 6-5 10\n-11 10h-1L1182 67 15 220h-1c-6 0-10-4-11-10l-2-23c-1-6 4-11 10-11z",widehat3:"M1181 0h2l1171 236c6 0 10 5 10 11l-2 23c-1 6-5 10\n-11 10h-1L1182 67 15 280h-1c-6 0-10-4-11-10l-2-23c-1-6 4-11 10-11z",widehat4:"M1181 0h2l1171 296c6 0 10 5 10 11l-2 23c-1 6-5 10\n-11 10h-1L1182 67 15 340h-1c-6 0-10-4-11-10l-2-23c-1-6 4-11 10-11z",widecheck1:"M529,159h5l519,-115c5,-1,9,-5,9,-10c0,-1,-1,-2,-1,-3l-4,-22c-1,\n-5,-5,-9,-11,-9h-2l-512,92l-513,-92h-2c-5,0,-9,4,-11,9l-5,22c-1,6,2,12,8,13z",widecheck2:"M1181,220h2l1171,-176c6,0,10,-5,10,-11l-2,-23c-1,-6,-5,-10,\n-11,-10h-1l-1168,153l-1167,-153h-1c-6,0,-10,4,-11,10l-2,23c-1,6,4,11,10,11z",widecheck3:"M1181,280h2l1171,-236c6,0,10,-5,10,-11l-2,-23c-1,-6,-5,-10,\n-11,-10h-1l-1168,213l-1167,-213h-1c-6,0,-10,4,-11,10l-2,23c-1,6,4,11,10,11z",widecheck4:"M1181,340h2l1171,-296c6,0,10,-5,10,-11l-2,-23c-1,-6,-5,-10,\n-11,-10h-1l-1168,273l-1167,-273h-1c-6,0,-10,4,-11,10l-2,23c-1,6,4,11,10,11z",baraboveleftarrow:"M400000 620h-399890l3 -3c68.7 -52.7 113.7 -120 135 -202\nc4 -14.7 6 -23 6 -25c0 -7.3 -7 -11 -21 -11c-8 0 -13.2 0.8 -15.5 2.5\nc-2.3 1.7 -4.2 5.8 -5.5 12.5c-1.3 4.7 -2.7 10.3 -4 17c-12 48.7 -34.8 92 -68.5 130\ns-74.2 66.3 -121.5 85c-10 4 -16 7.7 -18 11c0 8.7 6 14.3 18 17c47.3 18.7 87.8 47\n121.5 85s56.5 81.3 68.5 130c0.7 2 1.3 5 2 9s1.2 6.7 1.5 8c0.3 1.3 1 3.3 2 6\ns2.2 4.5 3.5 5.5c1.3 1 3.3 1.8 6 2.5s6 1 10 1c14 0 21 -3.7 21 -11\nc0 -2 -2 -10.3 -6 -25c-20 -79.3 -65 -146.7 -135 -202l-3 -3h399890z\nM100 620v40h399900v-40z M0 241v40h399900v-40zM0 241v40h399900v-40z",rightarrowabovebar:"M0 241v40h399891c-47.3 35.3-84 78-110 128-16.7 32\n-27.7 63.7-33 95 0 1.3-.2 2.7-.5 4-.3 1.3-.5 2.3-.5 3 0 7.3 6.7 11 20 11 8 0\n13.2-.8 15.5-2.5 2.3-1.7 4.2-5.5 5.5-11.5 2-13.3 5.7-27 11-41 14.7-44.7 39\n-84.5 73-119.5s73.7-60.2 119-75.5c6-2 9-5.7 9-11s-3-9-9-11c-45.3-15.3-85-40.5\n-119-75.5s-58.3-74.8-73-119.5c-4.7-14-8.3-27.3-11-40-1.3-6.7-3.2-10.8-5.5\n-12.5-2.3-1.7-7.5-2.5-15.5-2.5-14 0-21 3.7-21 11 0 2 2 10.3 6 25 20.7 83.3 67\n151.7 139 205zm96 379h399894v40H0zm0 0h399904v40H0z",baraboveshortleftharpoon:"M507,435c-4,4,-6.3,8.7,-7,14c0,5.3,0.7,9,2,11\nc1.3,2,5.3,5.3,12,10c90.7,54,156,130,196,228c3.3,10.7,6.3,16.3,9,17\nc2,0.7,5,1,9,1c0,0,5,0,5,0c10.7,0,16.7,-2,18,-6c2,-2.7,1,-9.7,-3,-21\nc-32,-87.3,-82.7,-157.7,-152,-211c0,0,-3,-3,-3,-3l399351,0l0,-40\nc-398570,0,-399437,0,-399437,0z M593 435 v40 H399500 v-40z\nM0 281 v-40 H399908 v40z M0 281 v-40 H399908 v40z",rightharpoonaboveshortbar:"M0,241 l0,40c399126,0,399993,0,399993,0\nc4.7,-4.7,7,-9.3,7,-14c0,-9.3,-3.7,-15.3,-11,-18c-92.7,-56.7,-159,-133.7,-199,\n-231c-3.3,-9.3,-6,-14.7,-8,-16c-2,-1.3,-7,-2,-15,-2c-10.7,0,-16.7,2,-18,6\nc-2,2.7,-1,9.7,3,21c15.3,42,36.7,81.8,64,119.5c27.3,37.7,58,69.2,92,94.5z\nM0 241 v40 H399908 v-40z M0 475 v-40 H399500 v40z M0 475 v-40 H399500 v40z",shortbaraboveleftharpoon:"M7,435c-4,4,-6.3,8.7,-7,14c0,5.3,0.7,9,2,11\nc1.3,2,5.3,5.3,12,10c90.7,54,156,130,196,228c3.3,10.7,6.3,16.3,9,17c2,0.7,5,1,9,\n1c0,0,5,0,5,0c10.7,0,16.7,-2,18,-6c2,-2.7,1,-9.7,-3,-21c-32,-87.3,-82.7,-157.7,\n-152,-211c0,0,-3,-3,-3,-3l399907,0l0,-40c-399126,0,-399993,0,-399993,0z\nM93 435 v40 H400000 v-40z M500 241 v40 H400000 v-40z M500 241 v40 H400000 v-40z",shortrightharpoonabovebar:"M53,241l0,40c398570,0,399437,0,399437,0\nc4.7,-4.7,7,-9.3,7,-14c0,-9.3,-3.7,-15.3,-11,-18c-92.7,-56.7,-159,-133.7,-199,\n-231c-3.3,-9.3,-6,-14.7,-8,-16c-2,-1.3,-7,-2,-15,-2c-10.7,0,-16.7,2,-18,6\nc-2,2.7,-1,9.7,3,21c15.3,42,36.7,81.8,64,119.5c27.3,37.7,58,69.2,92,94.5z\nM500 241 v40 H399408 v-40z M500 435 v40 H400000 v-40z"},A=function(){function e(e){this.children=void 0,this.classes=void 0,this.height=void 0,this.depth=void 0,this.maxFontSize=void 0,this.style=void 0,this.children=e,this.classes=[],this.height=0,this.depth=0,this.maxFontSize=0,this.style={}}var t=e.prototype;return t.hasClass=function(e){return l.contains(this.classes,e)},t.toNode=function(){for(var e=document.createDocumentFragment(),t=0;t<this.children.length;t++)e.appendChild(this.children[t].toNode());return e},t.toMarkup=function(){for(var e="",t=0;t<this.children.length;t++)e+=this.children[t].toMarkup();return e},t.toText=function(){var e=function(e){return e.toText()};return this.children.map(e).join("")},e}(),T={"AMS-Regular":{32:[0,0,0,0,.25],65:[0,.68889,0,0,.72222],66:[0,.68889,0,0,.66667],67:[0,.68889,0,0,.72222],68:[0,.68889,0,0,.72222],69:[0,.68889,0,0,.66667],70:[0,.68889,0,0,.61111],71:[0,.68889,0,0,.77778],72:[0,.68889,0,0,.77778],73:[0,.68889,0,0,.38889],74:[.16667,.68889,0,0,.5],75:[0,.68889,0,0,.77778],76:[0,.68889,0,0,.66667],77:[0,.68889,0,0,.94445],78:[0,.68889,0,0,.72222],79:[.16667,.68889,0,0,.77778],80:[0,.68889,0,0,.61111],81:[.16667,.68889,0,0,.77778],82:[0,.68889,0,0,.72222],83:[0,.68889,0,0,.55556],84:[0,.68889,0,0,.66667],85:[0,.68889,0,0,.72222],86:[0,.68889,0,0,.72222],87:[0,.68889,0,0,1],88:[0,.68889,0,0,.72222],89:[0,.68889,0,0,.72222],90:[0,.68889,0,0,.66667],107:[0,.68889,0,0,.55556],160:[0,0,0,0,.25],165:[0,.675,.025,0,.75],174:[.15559,.69224,0,0,.94666],240:[0,.68889,0,0,.55556],295:[0,.68889,0,0,.54028],710:[0,.825,0,0,2.33334],732:[0,.9,0,0,2.33334],770:[0,.825,0,0,2.33334],771:[0,.9,0,0,2.33334],989:[.08167,.58167,0,0,.77778],1008:[0,.43056,.04028,0,.66667],8245:[0,.54986,0,0,.275],8463:[0,.68889,0,0,.54028],8487:[0,.68889,0,0,.72222],8498:[0,.68889,0,0,.55556],8502:[0,.68889,0,0,.66667],8503:[0,.68889,0,0,.44445],8504:[0,.68889,0,0,.66667],8513:[0,.68889,0,0,.63889],8592:[-.03598,.46402,0,0,.5],8594:[-.03598,.46402,0,0,.5],8602:[-.13313,.36687,0,0,1],8603:[-.13313,.36687,0,0,1],8606:[.01354,.52239,0,0,1],8608:[.01354,.52239,0,0,1],8610:[.01354,.52239,0,0,1.11111],8611:[.01354,.52239,0,0,1.11111],8619:[0,.54986,0,0,1],8620:[0,.54986,0,0,1],8621:[-.13313,.37788,0,0,1.38889],8622:[-.13313,.36687,0,0,1],8624:[0,.69224,0,0,.5],8625:[0,.69224,0,0,.5],8630:[0,.43056,0,0,1],8631:[0,.43056,0,0,1],8634:[.08198,.58198,0,0,.77778],8635:[.08198,.58198,0,0,.77778],8638:[.19444,.69224,0,0,.41667],8639:[.19444,.69224,0,0,.41667],8642:[.19444,.69224,0,0,.41667],8643:[.19444,.69224,0,0,.41667],8644:[.1808,.675,0,0,1],8646:[.1808,.675,0,0,1],8647:[.1808,.675,0,0,1],8648:[.19444,.69224,0,0,.83334],8649:[.1808,.675,0,0,1],8650:[.19444,.69224,0,0,.83334],8651:[.01354,.52239,0,0,1],8652:[.01354,.52239,0,0,1],8653:[-.13313,.36687,0,0,1],8654:[-.13313,.36687,0,0,1],8655:[-.13313,.36687,0,0,1],8666:[.13667,.63667,0,0,1],8667:[.13667,.63667,0,0,1],8669:[-.13313,.37788,0,0,1],8672:[-.064,.437,0,0,1.334],8674:[-.064,.437,0,0,1.334],8705:[0,.825,0,0,.5],8708:[0,.68889,0,0,.55556],8709:[.08167,.58167,0,0,.77778],8717:[0,.43056,0,0,.42917],8722:[-.03598,.46402,0,0,.5],8724:[.08198,.69224,0,0,.77778],8726:[.08167,.58167,0,0,.77778],8733:[0,.69224,0,0,.77778],8736:[0,.69224,0,0,.72222],8737:[0,.69224,0,0,.72222],8738:[.03517,.52239,0,0,.72222],8739:[.08167,.58167,0,0,.22222],8740:[.25142,.74111,0,0,.27778],8741:[.08167,.58167,0,0,.38889],8742:[.25142,.74111,0,0,.5],8756:[0,.69224,0,0,.66667],8757:[0,.69224,0,0,.66667],8764:[-.13313,.36687,0,0,.77778],8765:[-.13313,.37788,0,0,.77778],8769:[-.13313,.36687,0,0,.77778],8770:[-.03625,.46375,0,0,.77778],8774:[.30274,.79383,0,0,.77778],8776:[-.01688,.48312,0,0,.77778],8778:[.08167,.58167,0,0,.77778],8782:[.06062,.54986,0,0,.77778],8783:[.06062,.54986,0,0,.77778],8785:[.08198,.58198,0,0,.77778],8786:[.08198,.58198,0,0,.77778],8787:[.08198,.58198,0,0,.77778],8790:[0,.69224,0,0,.77778],8791:[.22958,.72958,0,0,.77778],8796:[.08198,.91667,0,0,.77778],8806:[.25583,.75583,0,0,.77778],8807:[.25583,.75583,0,0,.77778],8808:[.25142,.75726,0,0,.77778],8809:[.25142,.75726,0,0,.77778],8812:[.25583,.75583,0,0,.5],8814:[.20576,.70576,0,0,.77778],8815:[.20576,.70576,0,0,.77778],8816:[.30274,.79383,0,0,.77778],8817:[.30274,.79383,0,0,.77778],8818:[.22958,.72958,0,0,.77778],8819:[.22958,.72958,0,0,.77778],8822:[.1808,.675,0,0,.77778],8823:[.1808,.675,0,0,.77778],8828:[.13667,.63667,0,0,.77778],8829:[.13667,.63667,0,0,.77778],8830:[.22958,.72958,0,0,.77778],8831:[.22958,.72958,0,0,.77778],8832:[.20576,.70576,0,0,.77778],8833:[.20576,.70576,0,0,.77778],8840:[.30274,.79383,0,0,.77778],8841:[.30274,.79383,0,0,.77778],8842:[.13597,.63597,0,0,.77778],8843:[.13597,.63597,0,0,.77778],8847:[.03517,.54986,0,0,.77778],8848:[.03517,.54986,0,0,.77778],8858:[.08198,.58198,0,0,.77778],8859:[.08198,.58198,0,0,.77778],8861:[.08198,.58198,0,0,.77778],8862:[0,.675,0,0,.77778],8863:[0,.675,0,0,.77778],8864:[0,.675,0,0,.77778],8865:[0,.675,0,0,.77778],8872:[0,.69224,0,0,.61111],8873:[0,.69224,0,0,.72222],8874:[0,.69224,0,0,.88889],8876:[0,.68889,0,0,.61111],8877:[0,.68889,0,0,.61111],8878:[0,.68889,0,0,.72222],8879:[0,.68889,0,0,.72222],8882:[.03517,.54986,0,0,.77778],8883:[.03517,.54986,0,0,.77778],8884:[.13667,.63667,0,0,.77778],8885:[.13667,.63667,0,0,.77778],8888:[0,.54986,0,0,1.11111],8890:[.19444,.43056,0,0,.55556],8891:[.19444,.69224,0,0,.61111],8892:[.19444,.69224,0,0,.61111],8901:[0,.54986,0,0,.27778],8903:[.08167,.58167,0,0,.77778],8905:[.08167,.58167,0,0,.77778],8906:[.08167,.58167,0,0,.77778],8907:[0,.69224,0,0,.77778],8908:[0,.69224,0,0,.77778],8909:[-.03598,.46402,0,0,.77778],8910:[0,.54986,0,0,.76042],8911:[0,.54986,0,0,.76042],8912:[.03517,.54986,0,0,.77778],8913:[.03517,.54986,0,0,.77778],8914:[0,.54986,0,0,.66667],8915:[0,.54986,0,0,.66667],8916:[0,.69224,0,0,.66667],8918:[.0391,.5391,0,0,.77778],8919:[.0391,.5391,0,0,.77778],8920:[.03517,.54986,0,0,1.33334],8921:[.03517,.54986,0,0,1.33334],8922:[.38569,.88569,0,0,.77778],8923:[.38569,.88569,0,0,.77778],8926:[.13667,.63667,0,0,.77778],8927:[.13667,.63667,0,0,.77778],8928:[.30274,.79383,0,0,.77778],8929:[.30274,.79383,0,0,.77778],8934:[.23222,.74111,0,0,.77778],8935:[.23222,.74111,0,0,.77778],8936:[.23222,.74111,0,0,.77778],8937:[.23222,.74111,0,0,.77778],8938:[.20576,.70576,0,0,.77778],8939:[.20576,.70576,0,0,.77778],8940:[.30274,.79383,0,0,.77778],8941:[.30274,.79383,0,0,.77778],8994:[.19444,.69224,0,0,.77778],8995:[.19444,.69224,0,0,.77778],9416:[.15559,.69224,0,0,.90222],9484:[0,.69224,0,0,.5],9488:[0,.69224,0,0,.5],9492:[0,.37788,0,0,.5],9496:[0,.37788,0,0,.5],9585:[.19444,.68889,0,0,.88889],9586:[.19444,.74111,0,0,.88889],9632:[0,.675,0,0,.77778],9633:[0,.675,0,0,.77778],9650:[0,.54986,0,0,.72222],9651:[0,.54986,0,0,.72222],9654:[.03517,.54986,0,0,.77778],9660:[0,.54986,0,0,.72222],9661:[0,.54986,0,0,.72222],9664:[.03517,.54986,0,0,.77778],9674:[.11111,.69224,0,0,.66667],9733:[.19444,.69224,0,0,.94445],10003:[0,.69224,0,0,.83334],10016:[0,.69224,0,0,.83334],10731:[.11111,.69224,0,0,.66667],10846:[.19444,.75583,0,0,.61111],10877:[.13667,.63667,0,0,.77778],10878:[.13667,.63667,0,0,.77778],10885:[.25583,.75583,0,0,.77778],10886:[.25583,.75583,0,0,.77778],10887:[.13597,.63597,0,0,.77778],10888:[.13597,.63597,0,0,.77778],10889:[.26167,.75726,0,0,.77778],10890:[.26167,.75726,0,0,.77778],10891:[.48256,.98256,0,0,.77778],10892:[.48256,.98256,0,0,.77778],10901:[.13667,.63667,0,0,.77778],10902:[.13667,.63667,0,0,.77778],10933:[.25142,.75726,0,0,.77778],10934:[.25142,.75726,0,0,.77778],10935:[.26167,.75726,0,0,.77778],10936:[.26167,.75726,0,0,.77778],10937:[.26167,.75726,0,0,.77778],10938:[.26167,.75726,0,0,.77778],10949:[.25583,.75583,0,0,.77778],10950:[.25583,.75583,0,0,.77778],10955:[.28481,.79383,0,0,.77778],10956:[.28481,.79383,0,0,.77778],57350:[.08167,.58167,0,0,.22222],57351:[.08167,.58167,0,0,.38889],57352:[.08167,.58167,0,0,.77778],57353:[0,.43056,.04028,0,.66667],57356:[.25142,.75726,0,0,.77778],57357:[.25142,.75726,0,0,.77778],57358:[.41951,.91951,0,0,.77778],57359:[.30274,.79383,0,0,.77778],57360:[.30274,.79383,0,0,.77778],57361:[.41951,.91951,0,0,.77778],57366:[.25142,.75726,0,0,.77778],57367:[.25142,.75726,0,0,.77778],57368:[.25142,.75726,0,0,.77778],57369:[.25142,.75726,0,0,.77778],57370:[.13597,.63597,0,0,.77778],57371:[.13597,.63597,0,0,.77778]},"Caligraphic-Regular":{32:[0,0,0,0,.25],65:[0,.68333,0,.19445,.79847],66:[0,.68333,.03041,.13889,.65681],67:[0,.68333,.05834,.13889,.52653],68:[0,.68333,.02778,.08334,.77139],69:[0,.68333,.08944,.11111,.52778],70:[0,.68333,.09931,.11111,.71875],71:[.09722,.68333,.0593,.11111,.59487],72:[0,.68333,.00965,.11111,.84452],73:[0,.68333,.07382,0,.54452],74:[.09722,.68333,.18472,.16667,.67778],75:[0,.68333,.01445,.05556,.76195],76:[0,.68333,0,.13889,.68972],77:[0,.68333,0,.13889,1.2009],78:[0,.68333,.14736,.08334,.82049],79:[0,.68333,.02778,.11111,.79611],80:[0,.68333,.08222,.08334,.69556],81:[.09722,.68333,0,.11111,.81667],82:[0,.68333,0,.08334,.8475],83:[0,.68333,.075,.13889,.60556],84:[0,.68333,.25417,0,.54464],85:[0,.68333,.09931,.08334,.62583],86:[0,.68333,.08222,0,.61278],87:[0,.68333,.08222,.08334,.98778],88:[0,.68333,.14643,.13889,.7133],89:[.09722,.68333,.08222,.08334,.66834],90:[0,.68333,.07944,.13889,.72473],160:[0,0,0,0,.25]},"Fraktur-Regular":{32:[0,0,0,0,.25],33:[0,.69141,0,0,.29574],34:[0,.69141,0,0,.21471],38:[0,.69141,0,0,.73786],39:[0,.69141,0,0,.21201],40:[.24982,.74947,0,0,.38865],41:[.24982,.74947,0,0,.38865],42:[0,.62119,0,0,.27764],43:[.08319,.58283,0,0,.75623],44:[0,.10803,0,0,.27764],45:[.08319,.58283,0,0,.75623],46:[0,.10803,0,0,.27764],47:[.24982,.74947,0,0,.50181],48:[0,.47534,0,0,.50181],49:[0,.47534,0,0,.50181],50:[0,.47534,0,0,.50181],51:[.18906,.47534,0,0,.50181],52:[.18906,.47534,0,0,.50181],53:[.18906,.47534,0,0,.50181],54:[0,.69141,0,0,.50181],55:[.18906,.47534,0,0,.50181],56:[0,.69141,0,0,.50181],57:[.18906,.47534,0,0,.50181],58:[0,.47534,0,0,.21606],59:[.12604,.47534,0,0,.21606],61:[-.13099,.36866,0,0,.75623],63:[0,.69141,0,0,.36245],65:[0,.69141,0,0,.7176],66:[0,.69141,0,0,.88397],67:[0,.69141,0,0,.61254],68:[0,.69141,0,0,.83158],69:[0,.69141,0,0,.66278],70:[.12604,.69141,0,0,.61119],71:[0,.69141,0,0,.78539],72:[.06302,.69141,0,0,.7203],73:[0,.69141,0,0,.55448],74:[.12604,.69141,0,0,.55231],75:[0,.69141,0,0,.66845],76:[0,.69141,0,0,.66602],77:[0,.69141,0,0,1.04953],78:[0,.69141,0,0,.83212],79:[0,.69141,0,0,.82699],80:[.18906,.69141,0,0,.82753],81:[.03781,.69141,0,0,.82699],82:[0,.69141,0,0,.82807],83:[0,.69141,0,0,.82861],84:[0,.69141,0,0,.66899],85:[0,.69141,0,0,.64576],86:[0,.69141,0,0,.83131],87:[0,.69141,0,0,1.04602],88:[0,.69141,0,0,.71922],89:[.18906,.69141,0,0,.83293],90:[.12604,.69141,0,0,.60201],91:[.24982,.74947,0,0,.27764],93:[.24982,.74947,0,0,.27764],94:[0,.69141,0,0,.49965],97:[0,.47534,0,0,.50046],98:[0,.69141,0,0,.51315],99:[0,.47534,0,0,.38946],100:[0,.62119,0,0,.49857],101:[0,.47534,0,0,.40053],102:[.18906,.69141,0,0,.32626],103:[.18906,.47534,0,0,.5037],104:[.18906,.69141,0,0,.52126],105:[0,.69141,0,0,.27899],106:[0,.69141,0,0,.28088],107:[0,.69141,0,0,.38946],108:[0,.69141,0,0,.27953],109:[0,.47534,0,0,.76676],110:[0,.47534,0,0,.52666],111:[0,.47534,0,0,.48885],112:[.18906,.52396,0,0,.50046],113:[.18906,.47534,0,0,.48912],114:[0,.47534,0,0,.38919],115:[0,.47534,0,0,.44266],116:[0,.62119,0,0,.33301],117:[0,.47534,0,0,.5172],118:[0,.52396,0,0,.5118],119:[0,.52396,0,0,.77351],120:[.18906,.47534,0,0,.38865],121:[.18906,.47534,0,0,.49884],122:[.18906,.47534,0,0,.39054],160:[0,0,0,0,.25],8216:[0,.69141,0,0,.21471],8217:[0,.69141,0,0,.21471],58112:[0,.62119,0,0,.49749],58113:[0,.62119,0,0,.4983],58114:[.18906,.69141,0,0,.33328],58115:[.18906,.69141,0,0,.32923],58116:[.18906,.47534,0,0,.50343],58117:[0,.69141,0,0,.33301],58118:[0,.62119,0,0,.33409],58119:[0,.47534,0,0,.50073]},"Main-Bold":{32:[0,0,0,0,.25],33:[0,.69444,0,0,.35],34:[0,.69444,0,0,.60278],35:[.19444,.69444,0,0,.95833],36:[.05556,.75,0,0,.575],37:[.05556,.75,0,0,.95833],38:[0,.69444,0,0,.89444],39:[0,.69444,0,0,.31944],40:[.25,.75,0,0,.44722],41:[.25,.75,0,0,.44722],42:[0,.75,0,0,.575],43:[.13333,.63333,0,0,.89444],44:[.19444,.15556,0,0,.31944],45:[0,.44444,0,0,.38333],46:[0,.15556,0,0,.31944],47:[.25,.75,0,0,.575],48:[0,.64444,0,0,.575],49:[0,.64444,0,0,.575],50:[0,.64444,0,0,.575],51:[0,.64444,0,0,.575],52:[0,.64444,0,0,.575],53:[0,.64444,0,0,.575],54:[0,.64444,0,0,.575],55:[0,.64444,0,0,.575],56:[0,.64444,0,0,.575],57:[0,.64444,0,0,.575],58:[0,.44444,0,0,.31944],59:[.19444,.44444,0,0,.31944],60:[.08556,.58556,0,0,.89444],61:[-.10889,.39111,0,0,.89444],62:[.08556,.58556,0,0,.89444],63:[0,.69444,0,0,.54305],64:[0,.69444,0,0,.89444],65:[0,.68611,0,0,.86944],66:[0,.68611,0,0,.81805],67:[0,.68611,0,0,.83055],68:[0,.68611,0,0,.88194],69:[0,.68611,0,0,.75555],70:[0,.68611,0,0,.72361],71:[0,.68611,0,0,.90416],72:[0,.68611,0,0,.9],73:[0,.68611,0,0,.43611],74:[0,.68611,0,0,.59444],75:[0,.68611,0,0,.90138],76:[0,.68611,0,0,.69166],77:[0,.68611,0,0,1.09166],78:[0,.68611,0,0,.9],79:[0,.68611,0,0,.86388],80:[0,.68611,0,0,.78611],81:[.19444,.68611,0,0,.86388],82:[0,.68611,0,0,.8625],83:[0,.68611,0,0,.63889],84:[0,.68611,0,0,.8],85:[0,.68611,0,0,.88472],86:[0,.68611,.01597,0,.86944],87:[0,.68611,.01597,0,1.18888],88:[0,.68611,0,0,.86944],89:[0,.68611,.02875,0,.86944],90:[0,.68611,0,0,.70277],91:[.25,.75,0,0,.31944],92:[.25,.75,0,0,.575],93:[.25,.75,0,0,.31944],94:[0,.69444,0,0,.575],95:[.31,.13444,.03194,0,.575],97:[0,.44444,0,0,.55902],98:[0,.69444,0,0,.63889],99:[0,.44444,0,0,.51111],100:[0,.69444,0,0,.63889],101:[0,.44444,0,0,.52708],102:[0,.69444,.10903,0,.35139],103:[.19444,.44444,.01597,0,.575],104:[0,.69444,0,0,.63889],105:[0,.69444,0,0,.31944],106:[.19444,.69444,0,0,.35139],107:[0,.69444,0,0,.60694],108:[0,.69444,0,0,.31944],109:[0,.44444,0,0,.95833],110:[0,.44444,0,0,.63889],111:[0,.44444,0,0,.575],112:[.19444,.44444,0,0,.63889],113:[.19444,.44444,0,0,.60694],114:[0,.44444,0,0,.47361],115:[0,.44444,0,0,.45361],116:[0,.63492,0,0,.44722],117:[0,.44444,0,0,.63889],118:[0,.44444,.01597,0,.60694],119:[0,.44444,.01597,0,.83055],120:[0,.44444,0,0,.60694],121:[.19444,.44444,.01597,0,.60694],122:[0,.44444,0,0,.51111],123:[.25,.75,0,0,.575],124:[.25,.75,0,0,.31944],125:[.25,.75,0,0,.575],126:[.35,.34444,0,0,.575],160:[0,0,0,0,.25],163:[0,.69444,0,0,.86853],168:[0,.69444,0,0,.575],172:[0,.44444,0,0,.76666],176:[0,.69444,0,0,.86944],177:[.13333,.63333,0,0,.89444],184:[.17014,0,0,0,.51111],198:[0,.68611,0,0,1.04166],215:[.13333,.63333,0,0,.89444],216:[.04861,.73472,0,0,.89444],223:[0,.69444,0,0,.59722],230:[0,.44444,0,0,.83055],247:[.13333,.63333,0,0,.89444],248:[.09722,.54167,0,0,.575],305:[0,.44444,0,0,.31944],338:[0,.68611,0,0,1.16944],339:[0,.44444,0,0,.89444],567:[.19444,.44444,0,0,.35139],710:[0,.69444,0,0,.575],711:[0,.63194,0,0,.575],713:[0,.59611,0,0,.575],714:[0,.69444,0,0,.575],715:[0,.69444,0,0,.575],728:[0,.69444,0,0,.575],729:[0,.69444,0,0,.31944],730:[0,.69444,0,0,.86944],732:[0,.69444,0,0,.575],733:[0,.69444,0,0,.575],915:[0,.68611,0,0,.69166],916:[0,.68611,0,0,.95833],920:[0,.68611,0,0,.89444],923:[0,.68611,0,0,.80555],926:[0,.68611,0,0,.76666],928:[0,.68611,0,0,.9],931:[0,.68611,0,0,.83055],933:[0,.68611,0,0,.89444],934:[0,.68611,0,0,.83055],936:[0,.68611,0,0,.89444],937:[0,.68611,0,0,.83055],8211:[0,.44444,.03194,0,.575],8212:[0,.44444,.03194,0,1.14999],8216:[0,.69444,0,0,.31944],8217:[0,.69444,0,0,.31944],8220:[0,.69444,0,0,.60278],8221:[0,.69444,0,0,.60278],8224:[.19444,.69444,0,0,.51111],8225:[.19444,.69444,0,0,.51111],8242:[0,.55556,0,0,.34444],8407:[0,.72444,.15486,0,.575],8463:[0,.69444,0,0,.66759],8465:[0,.69444,0,0,.83055],8467:[0,.69444,0,0,.47361],8472:[.19444,.44444,0,0,.74027],8476:[0,.69444,0,0,.83055],8501:[0,.69444,0,0,.70277],8592:[-.10889,.39111,0,0,1.14999],8593:[.19444,.69444,0,0,.575],8594:[-.10889,.39111,0,0,1.14999],8595:[.19444,.69444,0,0,.575],8596:[-.10889,.39111,0,0,1.14999],8597:[.25,.75,0,0,.575],8598:[.19444,.69444,0,0,1.14999],8599:[.19444,.69444,0,0,1.14999],8600:[.19444,.69444,0,0,1.14999],8601:[.19444,.69444,0,0,1.14999],8636:[-.10889,.39111,0,0,1.14999],8637:[-.10889,.39111,0,0,1.14999],8640:[-.10889,.39111,0,0,1.14999],8641:[-.10889,.39111,0,0,1.14999],8656:[-.10889,.39111,0,0,1.14999],8657:[.19444,.69444,0,0,.70277],8658:[-.10889,.39111,0,0,1.14999],8659:[.19444,.69444,0,0,.70277],8660:[-.10889,.39111,0,0,1.14999],8661:[.25,.75,0,0,.70277],8704:[0,.69444,0,0,.63889],8706:[0,.69444,.06389,0,.62847],8707:[0,.69444,0,0,.63889],8709:[.05556,.75,0,0,.575],8711:[0,.68611,0,0,.95833],8712:[.08556,.58556,0,0,.76666],8715:[.08556,.58556,0,0,.76666],8722:[.13333,.63333,0,0,.89444],8723:[.13333,.63333,0,0,.89444],8725:[.25,.75,0,0,.575],8726:[.25,.75,0,0,.575],8727:[-.02778,.47222,0,0,.575],8728:[-.02639,.47361,0,0,.575],8729:[-.02639,.47361,0,0,.575],8730:[.18,.82,0,0,.95833],8733:[0,.44444,0,0,.89444],8734:[0,.44444,0,0,1.14999],8736:[0,.69224,0,0,.72222],8739:[.25,.75,0,0,.31944],8741:[.25,.75,0,0,.575],8743:[0,.55556,0,0,.76666],8744:[0,.55556,0,0,.76666],8745:[0,.55556,0,0,.76666],8746:[0,.55556,0,0,.76666],8747:[.19444,.69444,.12778,0,.56875],8764:[-.10889,.39111,0,0,.89444],8768:[.19444,.69444,0,0,.31944],8771:[.00222,.50222,0,0,.89444],8773:[.027,.638,0,0,.894],8776:[.02444,.52444,0,0,.89444],8781:[.00222,.50222,0,0,.89444],8801:[.00222,.50222,0,0,.89444],8804:[.19667,.69667,0,0,.89444],8805:[.19667,.69667,0,0,.89444],8810:[.08556,.58556,0,0,1.14999],8811:[.08556,.58556,0,0,1.14999],8826:[.08556,.58556,0,0,.89444],8827:[.08556,.58556,0,0,.89444],8834:[.08556,.58556,0,0,.89444],8835:[.08556,.58556,0,0,.89444],8838:[.19667,.69667,0,0,.89444],8839:[.19667,.69667,0,0,.89444],8846:[0,.55556,0,0,.76666],8849:[.19667,.69667,0,0,.89444],8850:[.19667,.69667,0,0,.89444],8851:[0,.55556,0,0,.76666],8852:[0,.55556,0,0,.76666],8853:[.13333,.63333,0,0,.89444],8854:[.13333,.63333,0,0,.89444],8855:[.13333,.63333,0,0,.89444],8856:[.13333,.63333,0,0,.89444],8857:[.13333,.63333,0,0,.89444],8866:[0,.69444,0,0,.70277],8867:[0,.69444,0,0,.70277],8868:[0,.69444,0,0,.89444],8869:[0,.69444,0,0,.89444],8900:[-.02639,.47361,0,0,.575],8901:[-.02639,.47361,0,0,.31944],8902:[-.02778,.47222,0,0,.575],8968:[.25,.75,0,0,.51111],8969:[.25,.75,0,0,.51111],8970:[.25,.75,0,0,.51111],8971:[.25,.75,0,0,.51111],8994:[-.13889,.36111,0,0,1.14999],8995:[-.13889,.36111,0,0,1.14999],9651:[.19444,.69444,0,0,1.02222],9657:[-.02778,.47222,0,0,.575],9661:[.19444,.69444,0,0,1.02222],9667:[-.02778,.47222,0,0,.575],9711:[.19444,.69444,0,0,1.14999],9824:[.12963,.69444,0,0,.89444],9825:[.12963,.69444,0,0,.89444],9826:[.12963,.69444,0,0,.89444],9827:[.12963,.69444,0,0,.89444],9837:[0,.75,0,0,.44722],9838:[.19444,.69444,0,0,.44722],9839:[.19444,.69444,0,0,.44722],10216:[.25,.75,0,0,.44722],10217:[.25,.75,0,0,.44722],10815:[0,.68611,0,0,.9],10927:[.19667,.69667,0,0,.89444],10928:[.19667,.69667,0,0,.89444],57376:[.19444,.69444,0,0,0]},"Main-BoldItalic":{32:[0,0,0,0,.25],33:[0,.69444,.11417,0,.38611],34:[0,.69444,.07939,0,.62055],35:[.19444,.69444,.06833,0,.94444],37:[.05556,.75,.12861,0,.94444],38:[0,.69444,.08528,0,.88555],39:[0,.69444,.12945,0,.35555],40:[.25,.75,.15806,0,.47333],41:[.25,.75,.03306,0,.47333],42:[0,.75,.14333,0,.59111],43:[.10333,.60333,.03306,0,.88555],44:[.19444,.14722,0,0,.35555],45:[0,.44444,.02611,0,.41444],46:[0,.14722,0,0,.35555],47:[.25,.75,.15806,0,.59111],48:[0,.64444,.13167,0,.59111],49:[0,.64444,.13167,0,.59111],50:[0,.64444,.13167,0,.59111],51:[0,.64444,.13167,0,.59111],52:[.19444,.64444,.13167,0,.59111],53:[0,.64444,.13167,0,.59111],54:[0,.64444,.13167,0,.59111],55:[.19444,.64444,.13167,0,.59111],56:[0,.64444,.13167,0,.59111],57:[0,.64444,.13167,0,.59111],58:[0,.44444,.06695,0,.35555],59:[.19444,.44444,.06695,0,.35555],61:[-.10889,.39111,.06833,0,.88555],63:[0,.69444,.11472,0,.59111],64:[0,.69444,.09208,0,.88555],65:[0,.68611,0,0,.86555],66:[0,.68611,.0992,0,.81666],67:[0,.68611,.14208,0,.82666],68:[0,.68611,.09062,0,.87555],69:[0,.68611,.11431,0,.75666],70:[0,.68611,.12903,0,.72722],71:[0,.68611,.07347,0,.89527],72:[0,.68611,.17208,0,.8961],73:[0,.68611,.15681,0,.47166],74:[0,.68611,.145,0,.61055],75:[0,.68611,.14208,0,.89499],76:[0,.68611,0,0,.69777],77:[0,.68611,.17208,0,1.07277],78:[0,.68611,.17208,0,.8961],79:[0,.68611,.09062,0,.85499],80:[0,.68611,.0992,0,.78721],81:[.19444,.68611,.09062,0,.85499],82:[0,.68611,.02559,0,.85944],83:[0,.68611,.11264,0,.64999],84:[0,.68611,.12903,0,.7961],85:[0,.68611,.17208,0,.88083],86:[0,.68611,.18625,0,.86555],87:[0,.68611,.18625,0,1.15999],88:[0,.68611,.15681,0,.86555],89:[0,.68611,.19803,0,.86555],90:[0,.68611,.14208,0,.70888],91:[.25,.75,.1875,0,.35611],93:[.25,.75,.09972,0,.35611],94:[0,.69444,.06709,0,.59111],95:[.31,.13444,.09811,0,.59111],97:[0,.44444,.09426,0,.59111],98:[0,.69444,.07861,0,.53222],99:[0,.44444,.05222,0,.53222],100:[0,.69444,.10861,0,.59111],101:[0,.44444,.085,0,.53222],102:[.19444,.69444,.21778,0,.4],103:[.19444,.44444,.105,0,.53222],104:[0,.69444,.09426,0,.59111],105:[0,.69326,.11387,0,.35555],106:[.19444,.69326,.1672,0,.35555],107:[0,.69444,.11111,0,.53222],108:[0,.69444,.10861,0,.29666],109:[0,.44444,.09426,0,.94444],110:[0,.44444,.09426,0,.64999],111:[0,.44444,.07861,0,.59111],112:[.19444,.44444,.07861,0,.59111],113:[.19444,.44444,.105,0,.53222],114:[0,.44444,.11111,0,.50167],115:[0,.44444,.08167,0,.48694],116:[0,.63492,.09639,0,.385],117:[0,.44444,.09426,0,.62055],118:[0,.44444,.11111,0,.53222],119:[0,.44444,.11111,0,.76777],120:[0,.44444,.12583,0,.56055],121:[.19444,.44444,.105,0,.56166],122:[0,.44444,.13889,0,.49055],126:[.35,.34444,.11472,0,.59111],160:[0,0,0,0,.25],168:[0,.69444,.11473,0,.59111],176:[0,.69444,0,0,.94888],184:[.17014,0,0,0,.53222],198:[0,.68611,.11431,0,1.02277],216:[.04861,.73472,.09062,0,.88555],223:[.19444,.69444,.09736,0,.665],230:[0,.44444,.085,0,.82666],248:[.09722,.54167,.09458,0,.59111],305:[0,.44444,.09426,0,.35555],338:[0,.68611,.11431,0,1.14054],339:[0,.44444,.085,0,.82666],567:[.19444,.44444,.04611,0,.385],710:[0,.69444,.06709,0,.59111],711:[0,.63194,.08271,0,.59111],713:[0,.59444,.10444,0,.59111],714:[0,.69444,.08528,0,.59111],715:[0,.69444,0,0,.59111],728:[0,.69444,.10333,0,.59111],729:[0,.69444,.12945,0,.35555],730:[0,.69444,0,0,.94888],732:[0,.69444,.11472,0,.59111],733:[0,.69444,.11472,0,.59111],915:[0,.68611,.12903,0,.69777],916:[0,.68611,0,0,.94444],920:[0,.68611,.09062,0,.88555],923:[0,.68611,0,0,.80666],926:[0,.68611,.15092,0,.76777],928:[0,.68611,.17208,0,.8961],931:[0,.68611,.11431,0,.82666],933:[0,.68611,.10778,0,.88555],934:[0,.68611,.05632,0,.82666],936:[0,.68611,.10778,0,.88555],937:[0,.68611,.0992,0,.82666],8211:[0,.44444,.09811,0,.59111],8212:[0,.44444,.09811,0,1.18221],8216:[0,.69444,.12945,0,.35555],8217:[0,.69444,.12945,0,.35555],8220:[0,.69444,.16772,0,.62055],8221:[0,.69444,.07939,0,.62055]},"Main-Italic":{32:[0,0,0,0,.25],33:[0,.69444,.12417,0,.30667],34:[0,.69444,.06961,0,.51444],35:[.19444,.69444,.06616,0,.81777],37:[.05556,.75,.13639,0,.81777],38:[0,.69444,.09694,0,.76666],39:[0,.69444,.12417,0,.30667],40:[.25,.75,.16194,0,.40889],41:[.25,.75,.03694,0,.40889],42:[0,.75,.14917,0,.51111],43:[.05667,.56167,.03694,0,.76666],44:[.19444,.10556,0,0,.30667],45:[0,.43056,.02826,0,.35778],46:[0,.10556,0,0,.30667],47:[.25,.75,.16194,0,.51111],48:[0,.64444,.13556,0,.51111],49:[0,.64444,.13556,0,.51111],50:[0,.64444,.13556,0,.51111],51:[0,.64444,.13556,0,.51111],52:[.19444,.64444,.13556,0,.51111],53:[0,.64444,.13556,0,.51111],54:[0,.64444,.13556,0,.51111],55:[.19444,.64444,.13556,0,.51111],56:[0,.64444,.13556,0,.51111],57:[0,.64444,.13556,0,.51111],58:[0,.43056,.0582,0,.30667],59:[.19444,.43056,.0582,0,.30667],61:[-.13313,.36687,.06616,0,.76666],63:[0,.69444,.1225,0,.51111],64:[0,.69444,.09597,0,.76666],65:[0,.68333,0,0,.74333],66:[0,.68333,.10257,0,.70389],67:[0,.68333,.14528,0,.71555],68:[0,.68333,.09403,0,.755],69:[0,.68333,.12028,0,.67833],70:[0,.68333,.13305,0,.65277],71:[0,.68333,.08722,0,.77361],72:[0,.68333,.16389,0,.74333],73:[0,.68333,.15806,0,.38555],74:[0,.68333,.14028,0,.525],75:[0,.68333,.14528,0,.76888],76:[0,.68333,0,0,.62722],77:[0,.68333,.16389,0,.89666],78:[0,.68333,.16389,0,.74333],79:[0,.68333,.09403,0,.76666],80:[0,.68333,.10257,0,.67833],81:[.19444,.68333,.09403,0,.76666],82:[0,.68333,.03868,0,.72944],83:[0,.68333,.11972,0,.56222],84:[0,.68333,.13305,0,.71555],85:[0,.68333,.16389,0,.74333],86:[0,.68333,.18361,0,.74333],87:[0,.68333,.18361,0,.99888],88:[0,.68333,.15806,0,.74333],89:[0,.68333,.19383,0,.74333],90:[0,.68333,.14528,0,.61333],91:[.25,.75,.1875,0,.30667],93:[.25,.75,.10528,0,.30667],94:[0,.69444,.06646,0,.51111],95:[.31,.12056,.09208,0,.51111],97:[0,.43056,.07671,0,.51111],98:[0,.69444,.06312,0,.46],99:[0,.43056,.05653,0,.46],100:[0,.69444,.10333,0,.51111],101:[0,.43056,.07514,0,.46],102:[.19444,.69444,.21194,0,.30667],103:[.19444,.43056,.08847,0,.46],104:[0,.69444,.07671,0,.51111],105:[0,.65536,.1019,0,.30667],106:[.19444,.65536,.14467,0,.30667],107:[0,.69444,.10764,0,.46],108:[0,.69444,.10333,0,.25555],109:[0,.43056,.07671,0,.81777],110:[0,.43056,.07671,0,.56222],111:[0,.43056,.06312,0,.51111],112:[.19444,.43056,.06312,0,.51111],113:[.19444,.43056,.08847,0,.46],114:[0,.43056,.10764,0,.42166],115:[0,.43056,.08208,0,.40889],116:[0,.61508,.09486,0,.33222],117:[0,.43056,.07671,0,.53666],118:[0,.43056,.10764,0,.46],119:[0,.43056,.10764,0,.66444],120:[0,.43056,.12042,0,.46389],121:[.19444,.43056,.08847,0,.48555],122:[0,.43056,.12292,0,.40889],126:[.35,.31786,.11585,0,.51111],160:[0,0,0,0,.25],168:[0,.66786,.10474,0,.51111],176:[0,.69444,0,0,.83129],184:[.17014,0,0,0,.46],198:[0,.68333,.12028,0,.88277],216:[.04861,.73194,.09403,0,.76666],223:[.19444,.69444,.10514,0,.53666],230:[0,.43056,.07514,0,.71555],248:[.09722,.52778,.09194,0,.51111],338:[0,.68333,.12028,0,.98499],339:[0,.43056,.07514,0,.71555],710:[0,.69444,.06646,0,.51111],711:[0,.62847,.08295,0,.51111],713:[0,.56167,.10333,0,.51111],714:[0,.69444,.09694,0,.51111],715:[0,.69444,0,0,.51111],728:[0,.69444,.10806,0,.51111],729:[0,.66786,.11752,0,.30667],730:[0,.69444,0,0,.83129],732:[0,.66786,.11585,0,.51111],733:[0,.69444,.1225,0,.51111],915:[0,.68333,.13305,0,.62722],916:[0,.68333,0,0,.81777],920:[0,.68333,.09403,0,.76666],923:[0,.68333,0,0,.69222],926:[0,.68333,.15294,0,.66444],928:[0,.68333,.16389,0,.74333],931:[0,.68333,.12028,0,.71555],933:[0,.68333,.11111,0,.76666],934:[0,.68333,.05986,0,.71555],936:[0,.68333,.11111,0,.76666],937:[0,.68333,.10257,0,.71555],8211:[0,.43056,.09208,0,.51111],8212:[0,.43056,.09208,0,1.02222],8216:[0,.69444,.12417,0,.30667],8217:[0,.69444,.12417,0,.30667],8220:[0,.69444,.1685,0,.51444],8221:[0,.69444,.06961,0,.51444],8463:[0,.68889,0,0,.54028]},"Main-Regular":{32:[0,0,0,0,.25],33:[0,.69444,0,0,.27778],34:[0,.69444,0,0,.5],35:[.19444,.69444,0,0,.83334],36:[.05556,.75,0,0,.5],37:[.05556,.75,0,0,.83334],38:[0,.69444,0,0,.77778],39:[0,.69444,0,0,.27778],40:[.25,.75,0,0,.38889],41:[.25,.75,0,0,.38889],42:[0,.75,0,0,.5],43:[.08333,.58333,0,0,.77778],44:[.19444,.10556,0,0,.27778],45:[0,.43056,0,0,.33333],46:[0,.10556,0,0,.27778],47:[.25,.75,0,0,.5],48:[0,.64444,0,0,.5],49:[0,.64444,0,0,.5],50:[0,.64444,0,0,.5],51:[0,.64444,0,0,.5],52:[0,.64444,0,0,.5],53:[0,.64444,0,0,.5],54:[0,.64444,0,0,.5],55:[0,.64444,0,0,.5],56:[0,.64444,0,0,.5],57:[0,.64444,0,0,.5],58:[0,.43056,0,0,.27778],59:[.19444,.43056,0,0,.27778],60:[.0391,.5391,0,0,.77778],61:[-.13313,.36687,0,0,.77778],62:[.0391,.5391,0,0,.77778],63:[0,.69444,0,0,.47222],64:[0,.69444,0,0,.77778],65:[0,.68333,0,0,.75],66:[0,.68333,0,0,.70834],67:[0,.68333,0,0,.72222],68:[0,.68333,0,0,.76389],69:[0,.68333,0,0,.68056],70:[0,.68333,0,0,.65278],71:[0,.68333,0,0,.78472],72:[0,.68333,0,0,.75],73:[0,.68333,0,0,.36111],74:[0,.68333,0,0,.51389],75:[0,.68333,0,0,.77778],76:[0,.68333,0,0,.625],77:[0,.68333,0,0,.91667],78:[0,.68333,0,0,.75],79:[0,.68333,0,0,.77778],80:[0,.68333,0,0,.68056],81:[.19444,.68333,0,0,.77778],82:[0,.68333,0,0,.73611],83:[0,.68333,0,0,.55556],84:[0,.68333,0,0,.72222],85:[0,.68333,0,0,.75],86:[0,.68333,.01389,0,.75],87:[0,.68333,.01389,0,1.02778],88:[0,.68333,0,0,.75],89:[0,.68333,.025,0,.75],90:[0,.68333,0,0,.61111],91:[.25,.75,0,0,.27778],92:[.25,.75,0,0,.5],93:[.25,.75,0,0,.27778],94:[0,.69444,0,0,.5],95:[.31,.12056,.02778,0,.5],97:[0,.43056,0,0,.5],98:[0,.69444,0,0,.55556],99:[0,.43056,0,0,.44445],100:[0,.69444,0,0,.55556],101:[0,.43056,0,0,.44445],102:[0,.69444,.07778,0,.30556],103:[.19444,.43056,.01389,0,.5],104:[0,.69444,0,0,.55556],105:[0,.66786,0,0,.27778],106:[.19444,.66786,0,0,.30556],107:[0,.69444,0,0,.52778],108:[0,.69444,0,0,.27778],109:[0,.43056,0,0,.83334],110:[0,.43056,0,0,.55556],111:[0,.43056,0,0,.5],112:[.19444,.43056,0,0,.55556],113:[.19444,.43056,0,0,.52778],114:[0,.43056,0,0,.39167],115:[0,.43056,0,0,.39445],116:[0,.61508,0,0,.38889],117:[0,.43056,0,0,.55556],118:[0,.43056,.01389,0,.52778],119:[0,.43056,.01389,0,.72222],120:[0,.43056,0,0,.52778],121:[.19444,.43056,.01389,0,.52778],122:[0,.43056,0,0,.44445],123:[.25,.75,0,0,.5],124:[.25,.75,0,0,.27778],125:[.25,.75,0,0,.5],126:[.35,.31786,0,0,.5],160:[0,0,0,0,.25],163:[0,.69444,0,0,.76909],167:[.19444,.69444,0,0,.44445],168:[0,.66786,0,0,.5],172:[0,.43056,0,0,.66667],176:[0,.69444,0,0,.75],177:[.08333,.58333,0,0,.77778],182:[.19444,.69444,0,0,.61111],184:[.17014,0,0,0,.44445],198:[0,.68333,0,0,.90278],215:[.08333,.58333,0,0,.77778],216:[.04861,.73194,0,0,.77778],223:[0,.69444,0,0,.5],230:[0,.43056,0,0,.72222],247:[.08333,.58333,0,0,.77778],248:[.09722,.52778,0,0,.5],305:[0,.43056,0,0,.27778],338:[0,.68333,0,0,1.01389],339:[0,.43056,0,0,.77778],567:[.19444,.43056,0,0,.30556],710:[0,.69444,0,0,.5],711:[0,.62847,0,0,.5],713:[0,.56778,0,0,.5],714:[0,.69444,0,0,.5],715:[0,.69444,0,0,.5],728:[0,.69444,0,0,.5],729:[0,.66786,0,0,.27778],730:[0,.69444,0,0,.75],732:[0,.66786,0,0,.5],733:[0,.69444,0,0,.5],915:[0,.68333,0,0,.625],916:[0,.68333,0,0,.83334],920:[0,.68333,0,0,.77778],923:[0,.68333,0,0,.69445],926:[0,.68333,0,0,.66667],928:[0,.68333,0,0,.75],931:[0,.68333,0,0,.72222],933:[0,.68333,0,0,.77778],934:[0,.68333,0,0,.72222],936:[0,.68333,0,0,.77778],937:[0,.68333,0,0,.72222],8211:[0,.43056,.02778,0,.5],8212:[0,.43056,.02778,0,1],8216:[0,.69444,0,0,.27778],8217:[0,.69444,0,0,.27778],8220:[0,.69444,0,0,.5],8221:[0,.69444,0,0,.5],8224:[.19444,.69444,0,0,.44445],8225:[.19444,.69444,0,0,.44445],8230:[0,.123,0,0,1.172],8242:[0,.55556,0,0,.275],8407:[0,.71444,.15382,0,.5],8463:[0,.68889,0,0,.54028],8465:[0,.69444,0,0,.72222],8467:[0,.69444,0,.11111,.41667],8472:[.19444,.43056,0,.11111,.63646],8476:[0,.69444,0,0,.72222],8501:[0,.69444,0,0,.61111],8592:[-.13313,.36687,0,0,1],8593:[.19444,.69444,0,0,.5],8594:[-.13313,.36687,0,0,1],8595:[.19444,.69444,0,0,.5],8596:[-.13313,.36687,0,0,1],8597:[.25,.75,0,0,.5],8598:[.19444,.69444,0,0,1],8599:[.19444,.69444,0,0,1],8600:[.19444,.69444,0,0,1],8601:[.19444,.69444,0,0,1],8614:[.011,.511,0,0,1],8617:[.011,.511,0,0,1.126],8618:[.011,.511,0,0,1.126],8636:[-.13313,.36687,0,0,1],8637:[-.13313,.36687,0,0,1],8640:[-.13313,.36687,0,0,1],8641:[-.13313,.36687,0,0,1],8652:[.011,.671,0,0,1],8656:[-.13313,.36687,0,0,1],8657:[.19444,.69444,0,0,.61111],8658:[-.13313,.36687,0,0,1],8659:[.19444,.69444,0,0,.61111],8660:[-.13313,.36687,0,0,1],8661:[.25,.75,0,0,.61111],8704:[0,.69444,0,0,.55556],8706:[0,.69444,.05556,.08334,.5309],8707:[0,.69444,0,0,.55556],8709:[.05556,.75,0,0,.5],8711:[0,.68333,0,0,.83334],8712:[.0391,.5391,0,0,.66667],8715:[.0391,.5391,0,0,.66667],8722:[.08333,.58333,0,0,.77778],8723:[.08333,.58333,0,0,.77778],8725:[.25,.75,0,0,.5],8726:[.25,.75,0,0,.5],8727:[-.03472,.46528,0,0,.5],8728:[-.05555,.44445,0,0,.5],8729:[-.05555,.44445,0,0,.5],8730:[.2,.8,0,0,.83334],8733:[0,.43056,0,0,.77778],8734:[0,.43056,0,0,1],8736:[0,.69224,0,0,.72222],8739:[.25,.75,0,0,.27778],8741:[.25,.75,0,0,.5],8743:[0,.55556,0,0,.66667],8744:[0,.55556,0,0,.66667],8745:[0,.55556,0,0,.66667],8746:[0,.55556,0,0,.66667],8747:[.19444,.69444,.11111,0,.41667],8764:[-.13313,.36687,0,0,.77778],8768:[.19444,.69444,0,0,.27778],8771:[-.03625,.46375,0,0,.77778],8773:[-.022,.589,0,0,.778],8776:[-.01688,.48312,0,0,.77778],8781:[-.03625,.46375,0,0,.77778],8784:[-.133,.673,0,0,.778],8801:[-.03625,.46375,0,0,.77778],8804:[.13597,.63597,0,0,.77778],8805:[.13597,.63597,0,0,.77778],8810:[.0391,.5391,0,0,1],8811:[.0391,.5391,0,0,1],8826:[.0391,.5391,0,0,.77778],8827:[.0391,.5391,0,0,.77778],8834:[.0391,.5391,0,0,.77778],8835:[.0391,.5391,0,0,.77778],8838:[.13597,.63597,0,0,.77778],8839:[.13597,.63597,0,0,.77778],8846:[0,.55556,0,0,.66667],8849:[.13597,.63597,0,0,.77778],8850:[.13597,.63597,0,0,.77778],8851:[0,.55556,0,0,.66667],8852:[0,.55556,0,0,.66667],8853:[.08333,.58333,0,0,.77778],8854:[.08333,.58333,0,0,.77778],8855:[.08333,.58333,0,0,.77778],8856:[.08333,.58333,0,0,.77778],8857:[.08333,.58333,0,0,.77778],8866:[0,.69444,0,0,.61111],8867:[0,.69444,0,0,.61111],8868:[0,.69444,0,0,.77778],8869:[0,.69444,0,0,.77778],8872:[.249,.75,0,0,.867],8900:[-.05555,.44445,0,0,.5],8901:[-.05555,.44445,0,0,.27778],8902:[-.03472,.46528,0,0,.5],8904:[.005,.505,0,0,.9],8942:[.03,.903,0,0,.278],8943:[-.19,.313,0,0,1.172],8945:[-.1,.823,0,0,1.282],8968:[.25,.75,0,0,.44445],8969:[.25,.75,0,0,.44445],8970:[.25,.75,0,0,.44445],8971:[.25,.75,0,0,.44445],8994:[-.14236,.35764,0,0,1],8995:[-.14236,.35764,0,0,1],9136:[.244,.744,0,0,.412],9137:[.244,.745,0,0,.412],9651:[.19444,.69444,0,0,.88889],9657:[-.03472,.46528,0,0,.5],9661:[.19444,.69444,0,0,.88889],9667:[-.03472,.46528,0,0,.5],9711:[.19444,.69444,0,0,1],9824:[.12963,.69444,0,0,.77778],9825:[.12963,.69444,0,0,.77778],9826:[.12963,.69444,0,0,.77778],9827:[.12963,.69444,0,0,.77778],9837:[0,.75,0,0,.38889],9838:[.19444,.69444,0,0,.38889],9839:[.19444,.69444,0,0,.38889],10216:[.25,.75,0,0,.38889],10217:[.25,.75,0,0,.38889],10222:[.244,.744,0,0,.412],10223:[.244,.745,0,0,.412],10229:[.011,.511,0,0,1.609],10230:[.011,.511,0,0,1.638],10231:[.011,.511,0,0,1.859],10232:[.024,.525,0,0,1.609],10233:[.024,.525,0,0,1.638],10234:[.024,.525,0,0,1.858],10236:[.011,.511,0,0,1.638],10815:[0,.68333,0,0,.75],10927:[.13597,.63597,0,0,.77778],10928:[.13597,.63597,0,0,.77778],57376:[.19444,.69444,0,0,0]},"Math-BoldItalic":{32:[0,0,0,0,.25],48:[0,.44444,0,0,.575],49:[0,.44444,0,0,.575],50:[0,.44444,0,0,.575],51:[.19444,.44444,0,0,.575],52:[.19444,.44444,0,0,.575],53:[.19444,.44444,0,0,.575],54:[0,.64444,0,0,.575],55:[.19444,.44444,0,0,.575],56:[0,.64444,0,0,.575],57:[.19444,.44444,0,0,.575],65:[0,.68611,0,0,.86944],66:[0,.68611,.04835,0,.8664],67:[0,.68611,.06979,0,.81694],68:[0,.68611,.03194,0,.93812],69:[0,.68611,.05451,0,.81007],70:[0,.68611,.15972,0,.68889],71:[0,.68611,0,0,.88673],72:[0,.68611,.08229,0,.98229],73:[0,.68611,.07778,0,.51111],74:[0,.68611,.10069,0,.63125],75:[0,.68611,.06979,0,.97118],76:[0,.68611,0,0,.75555],77:[0,.68611,.11424,0,1.14201],78:[0,.68611,.11424,0,.95034],79:[0,.68611,.03194,0,.83666],80:[0,.68611,.15972,0,.72309],81:[.19444,.68611,0,0,.86861],82:[0,.68611,.00421,0,.87235],83:[0,.68611,.05382,0,.69271],84:[0,.68611,.15972,0,.63663],85:[0,.68611,.11424,0,.80027],86:[0,.68611,.25555,0,.67778],87:[0,.68611,.15972,0,1.09305],88:[0,.68611,.07778,0,.94722],89:[0,.68611,.25555,0,.67458],90:[0,.68611,.06979,0,.77257],97:[0,.44444,0,0,.63287],98:[0,.69444,0,0,.52083],99:[0,.44444,0,0,.51342],100:[0,.69444,0,0,.60972],101:[0,.44444,0,0,.55361],102:[.19444,.69444,.11042,0,.56806],103:[.19444,.44444,.03704,0,.5449],104:[0,.69444,0,0,.66759],105:[0,.69326,0,0,.4048],106:[.19444,.69326,.0622,0,.47083],107:[0,.69444,.01852,0,.6037],108:[0,.69444,.0088,0,.34815],109:[0,.44444,0,0,1.0324],110:[0,.44444,0,0,.71296],111:[0,.44444,0,0,.58472],112:[.19444,.44444,0,0,.60092],113:[.19444,.44444,.03704,0,.54213],114:[0,.44444,.03194,0,.5287],115:[0,.44444,0,0,.53125],116:[0,.63492,0,0,.41528],117:[0,.44444,0,0,.68102],118:[0,.44444,.03704,0,.56666],119:[0,.44444,.02778,0,.83148],120:[0,.44444,0,0,.65903],121:[.19444,.44444,.03704,0,.59028],122:[0,.44444,.04213,0,.55509],160:[0,0,0,0,.25],915:[0,.68611,.15972,0,.65694],916:[0,.68611,0,0,.95833],920:[0,.68611,.03194,0,.86722],923:[0,.68611,0,0,.80555],926:[0,.68611,.07458,0,.84125],928:[0,.68611,.08229,0,.98229],931:[0,.68611,.05451,0,.88507],933:[0,.68611,.15972,0,.67083],934:[0,.68611,0,0,.76666],936:[0,.68611,.11653,0,.71402],937:[0,.68611,.04835,0,.8789],945:[0,.44444,0,0,.76064],946:[.19444,.69444,.03403,0,.65972],947:[.19444,.44444,.06389,0,.59003],948:[0,.69444,.03819,0,.52222],949:[0,.44444,0,0,.52882],950:[.19444,.69444,.06215,0,.50833],951:[.19444,.44444,.03704,0,.6],952:[0,.69444,.03194,0,.5618],953:[0,.44444,0,0,.41204],954:[0,.44444,0,0,.66759],955:[0,.69444,0,0,.67083],956:[.19444,.44444,0,0,.70787],957:[0,.44444,.06898,0,.57685],958:[.19444,.69444,.03021,0,.50833],959:[0,.44444,0,0,.58472],960:[0,.44444,.03704,0,.68241],961:[.19444,.44444,0,0,.6118],962:[.09722,.44444,.07917,0,.42361],963:[0,.44444,.03704,0,.68588],964:[0,.44444,.13472,0,.52083],965:[0,.44444,.03704,0,.63055],966:[.19444,.44444,0,0,.74722],967:[.19444,.44444,0,0,.71805],968:[.19444,.69444,.03704,0,.75833],969:[0,.44444,.03704,0,.71782],977:[0,.69444,0,0,.69155],981:[.19444,.69444,0,0,.7125],982:[0,.44444,.03194,0,.975],1009:[.19444,.44444,0,0,.6118],1013:[0,.44444,0,0,.48333],57649:[0,.44444,0,0,.39352],57911:[.19444,.44444,0,0,.43889]},"Math-Italic":{32:[0,0,0,0,.25],48:[0,.43056,0,0,.5],49:[0,.43056,0,0,.5],50:[0,.43056,0,0,.5],51:[.19444,.43056,0,0,.5],52:[.19444,.43056,0,0,.5],53:[.19444,.43056,0,0,.5],54:[0,.64444,0,0,.5],55:[.19444,.43056,0,0,.5],56:[0,.64444,0,0,.5],57:[.19444,.43056,0,0,.5],65:[0,.68333,0,.13889,.75],66:[0,.68333,.05017,.08334,.75851],67:[0,.68333,.07153,.08334,.71472],68:[0,.68333,.02778,.05556,.82792],69:[0,.68333,.05764,.08334,.7382],70:[0,.68333,.13889,.08334,.64306],71:[0,.68333,0,.08334,.78625],72:[0,.68333,.08125,.05556,.83125],73:[0,.68333,.07847,.11111,.43958],74:[0,.68333,.09618,.16667,.55451],75:[0,.68333,.07153,.05556,.84931],76:[0,.68333,0,.02778,.68056],77:[0,.68333,.10903,.08334,.97014],78:[0,.68333,.10903,.08334,.80347],79:[0,.68333,.02778,.08334,.76278],80:[0,.68333,.13889,.08334,.64201],81:[.19444,.68333,0,.08334,.79056],82:[0,.68333,.00773,.08334,.75929],83:[0,.68333,.05764,.08334,.6132],84:[0,.68333,.13889,.08334,.58438],85:[0,.68333,.10903,.02778,.68278],86:[0,.68333,.22222,0,.58333],87:[0,.68333,.13889,0,.94445],88:[0,.68333,.07847,.08334,.82847],89:[0,.68333,.22222,0,.58056],90:[0,.68333,.07153,.08334,.68264],97:[0,.43056,0,0,.52859],98:[0,.69444,0,0,.42917],99:[0,.43056,0,.05556,.43276],100:[0,.69444,0,.16667,.52049],101:[0,.43056,0,.05556,.46563],102:[.19444,.69444,.10764,.16667,.48959],103:[.19444,.43056,.03588,.02778,.47697],104:[0,.69444,0,0,.57616],105:[0,.65952,0,0,.34451],106:[.19444,.65952,.05724,0,.41181],107:[0,.69444,.03148,0,.5206],108:[0,.69444,.01968,.08334,.29838],109:[0,.43056,0,0,.87801],110:[0,.43056,0,0,.60023],111:[0,.43056,0,.05556,.48472],112:[.19444,.43056,0,.08334,.50313],113:[.19444,.43056,.03588,.08334,.44641],114:[0,.43056,.02778,.05556,.45116],115:[0,.43056,0,.05556,.46875],116:[0,.61508,0,.08334,.36111],117:[0,.43056,0,.02778,.57246],118:[0,.43056,.03588,.02778,.48472],119:[0,.43056,.02691,.08334,.71592],120:[0,.43056,0,.02778,.57153],121:[.19444,.43056,.03588,.05556,.49028],122:[0,.43056,.04398,.05556,.46505],160:[0,0,0,0,.25],915:[0,.68333,.13889,.08334,.61528],916:[0,.68333,0,.16667,.83334],920:[0,.68333,.02778,.08334,.76278],923:[0,.68333,0,.16667,.69445],926:[0,.68333,.07569,.08334,.74236],928:[0,.68333,.08125,.05556,.83125],931:[0,.68333,.05764,.08334,.77986],933:[0,.68333,.13889,.05556,.58333],934:[0,.68333,0,.08334,.66667],936:[0,.68333,.11,.05556,.61222],937:[0,.68333,.05017,.08334,.7724],945:[0,.43056,.0037,.02778,.6397],946:[.19444,.69444,.05278,.08334,.56563],947:[.19444,.43056,.05556,0,.51773],948:[0,.69444,.03785,.05556,.44444],949:[0,.43056,0,.08334,.46632],950:[.19444,.69444,.07378,.08334,.4375],951:[.19444,.43056,.03588,.05556,.49653],952:[0,.69444,.02778,.08334,.46944],953:[0,.43056,0,.05556,.35394],954:[0,.43056,0,0,.57616],955:[0,.69444,0,0,.58334],956:[.19444,.43056,0,.02778,.60255],957:[0,.43056,.06366,.02778,.49398],958:[.19444,.69444,.04601,.11111,.4375],959:[0,.43056,0,.05556,.48472],960:[0,.43056,.03588,0,.57003],961:[.19444,.43056,0,.08334,.51702],962:[.09722,.43056,.07986,.08334,.36285],963:[0,.43056,.03588,0,.57141],964:[0,.43056,.1132,.02778,.43715],965:[0,.43056,.03588,.02778,.54028],966:[.19444,.43056,0,.08334,.65417],967:[.19444,.43056,0,.05556,.62569],968:[.19444,.69444,.03588,.11111,.65139],969:[0,.43056,.03588,0,.62245],977:[0,.69444,0,.08334,.59144],981:[.19444,.69444,0,.08334,.59583],982:[0,.43056,.02778,0,.82813],1009:[.19444,.43056,0,.08334,.51702],1013:[0,.43056,0,.05556,.4059],57649:[0,.43056,0,.02778,.32246],57911:[.19444,.43056,0,.08334,.38403]},"SansSerif-Bold":{32:[0,0,0,0,.25],33:[0,.69444,0,0,.36667],34:[0,.69444,0,0,.55834],35:[.19444,.69444,0,0,.91667],36:[.05556,.75,0,0,.55],37:[.05556,.75,0,0,1.02912],38:[0,.69444,0,0,.83056],39:[0,.69444,0,0,.30556],40:[.25,.75,0,0,.42778],41:[.25,.75,0,0,.42778],42:[0,.75,0,0,.55],43:[.11667,.61667,0,0,.85556],44:[.10556,.13056,0,0,.30556],45:[0,.45833,0,0,.36667],46:[0,.13056,0,0,.30556],47:[.25,.75,0,0,.55],48:[0,.69444,0,0,.55],49:[0,.69444,0,0,.55],50:[0,.69444,0,0,.55],51:[0,.69444,0,0,.55],52:[0,.69444,0,0,.55],53:[0,.69444,0,0,.55],54:[0,.69444,0,0,.55],55:[0,.69444,0,0,.55],56:[0,.69444,0,0,.55],57:[0,.69444,0,0,.55],58:[0,.45833,0,0,.30556],59:[.10556,.45833,0,0,.30556],61:[-.09375,.40625,0,0,.85556],63:[0,.69444,0,0,.51945],64:[0,.69444,0,0,.73334],65:[0,.69444,0,0,.73334],66:[0,.69444,0,0,.73334],67:[0,.69444,0,0,.70278],68:[0,.69444,0,0,.79445],69:[0,.69444,0,0,.64167],70:[0,.69444,0,0,.61111],71:[0,.69444,0,0,.73334],72:[0,.69444,0,0,.79445],73:[0,.69444,0,0,.33056],74:[0,.69444,0,0,.51945],75:[0,.69444,0,0,.76389],76:[0,.69444,0,0,.58056],77:[0,.69444,0,0,.97778],78:[0,.69444,0,0,.79445],79:[0,.69444,0,0,.79445],80:[0,.69444,0,0,.70278],81:[.10556,.69444,0,0,.79445],82:[0,.69444,0,0,.70278],83:[0,.69444,0,0,.61111],84:[0,.69444,0,0,.73334],85:[0,.69444,0,0,.76389],86:[0,.69444,.01528,0,.73334],87:[0,.69444,.01528,0,1.03889],88:[0,.69444,0,0,.73334],89:[0,.69444,.0275,0,.73334],90:[0,.69444,0,0,.67223],91:[.25,.75,0,0,.34306],93:[.25,.75,0,0,.34306],94:[0,.69444,0,0,.55],95:[.35,.10833,.03056,0,.55],97:[0,.45833,0,0,.525],98:[0,.69444,0,0,.56111],99:[0,.45833,0,0,.48889],100:[0,.69444,0,0,.56111],101:[0,.45833,0,0,.51111],102:[0,.69444,.07639,0,.33611],103:[.19444,.45833,.01528,0,.55],104:[0,.69444,0,0,.56111],105:[0,.69444,0,0,.25556],106:[.19444,.69444,0,0,.28611],107:[0,.69444,0,0,.53056],108:[0,.69444,0,0,.25556],109:[0,.45833,0,0,.86667],110:[0,.45833,0,0,.56111],111:[0,.45833,0,0,.55],112:[.19444,.45833,0,0,.56111],113:[.19444,.45833,0,0,.56111],114:[0,.45833,.01528,0,.37222],115:[0,.45833,0,0,.42167],116:[0,.58929,0,0,.40417],117:[0,.45833,0,0,.56111],118:[0,.45833,.01528,0,.5],119:[0,.45833,.01528,0,.74445],120:[0,.45833,0,0,.5],121:[.19444,.45833,.01528,0,.5],122:[0,.45833,0,0,.47639],126:[.35,.34444,0,0,.55],160:[0,0,0,0,.25],168:[0,.69444,0,0,.55],176:[0,.69444,0,0,.73334],180:[0,.69444,0,0,.55],184:[.17014,0,0,0,.48889],305:[0,.45833,0,0,.25556],567:[.19444,.45833,0,0,.28611],710:[0,.69444,0,0,.55],711:[0,.63542,0,0,.55],713:[0,.63778,0,0,.55],728:[0,.69444,0,0,.55],729:[0,.69444,0,0,.30556],730:[0,.69444,0,0,.73334],732:[0,.69444,0,0,.55],733:[0,.69444,0,0,.55],915:[0,.69444,0,0,.58056],916:[0,.69444,0,0,.91667],920:[0,.69444,0,0,.85556],923:[0,.69444,0,0,.67223],926:[0,.69444,0,0,.73334],928:[0,.69444,0,0,.79445],931:[0,.69444,0,0,.79445],933:[0,.69444,0,0,.85556],934:[0,.69444,0,0,.79445],936:[0,.69444,0,0,.85556],937:[0,.69444,0,0,.79445],8211:[0,.45833,.03056,0,.55],8212:[0,.45833,.03056,0,1.10001],8216:[0,.69444,0,0,.30556],8217:[0,.69444,0,0,.30556],8220:[0,.69444,0,0,.55834],8221:[0,.69444,0,0,.55834]},"SansSerif-Italic":{32:[0,0,0,0,.25],33:[0,.69444,.05733,0,.31945],34:[0,.69444,.00316,0,.5],35:[.19444,.69444,.05087,0,.83334],36:[.05556,.75,.11156,0,.5],37:[.05556,.75,.03126,0,.83334],38:[0,.69444,.03058,0,.75834],39:[0,.69444,.07816,0,.27778],40:[.25,.75,.13164,0,.38889],41:[.25,.75,.02536,0,.38889],42:[0,.75,.11775,0,.5],43:[.08333,.58333,.02536,0,.77778],44:[.125,.08333,0,0,.27778],45:[0,.44444,.01946,0,.33333],46:[0,.08333,0,0,.27778],47:[.25,.75,.13164,0,.5],48:[0,.65556,.11156,0,.5],49:[0,.65556,.11156,0,.5],50:[0,.65556,.11156,0,.5],51:[0,.65556,.11156,0,.5],52:[0,.65556,.11156,0,.5],53:[0,.65556,.11156,0,.5],54:[0,.65556,.11156,0,.5],55:[0,.65556,.11156,0,.5],56:[0,.65556,.11156,0,.5],57:[0,.65556,.11156,0,.5],58:[0,.44444,.02502,0,.27778],59:[.125,.44444,.02502,0,.27778],61:[-.13,.37,.05087,0,.77778],63:[0,.69444,.11809,0,.47222],64:[0,.69444,.07555,0,.66667],65:[0,.69444,0,0,.66667],66:[0,.69444,.08293,0,.66667],67:[0,.69444,.11983,0,.63889],68:[0,.69444,.07555,0,.72223],69:[0,.69444,.11983,0,.59722],70:[0,.69444,.13372,0,.56945],71:[0,.69444,.11983,0,.66667],72:[0,.69444,.08094,0,.70834],73:[0,.69444,.13372,0,.27778],74:[0,.69444,.08094,0,.47222],75:[0,.69444,.11983,0,.69445],76:[0,.69444,0,0,.54167],77:[0,.69444,.08094,0,.875],78:[0,.69444,.08094,0,.70834],79:[0,.69444,.07555,0,.73611],80:[0,.69444,.08293,0,.63889],81:[.125,.69444,.07555,0,.73611],82:[0,.69444,.08293,0,.64584],83:[0,.69444,.09205,0,.55556],84:[0,.69444,.13372,0,.68056],85:[0,.69444,.08094,0,.6875],86:[0,.69444,.1615,0,.66667],87:[0,.69444,.1615,0,.94445],88:[0,.69444,.13372,0,.66667],89:[0,.69444,.17261,0,.66667],90:[0,.69444,.11983,0,.61111],91:[.25,.75,.15942,0,.28889],93:[.25,.75,.08719,0,.28889],94:[0,.69444,.0799,0,.5],95:[.35,.09444,.08616,0,.5],97:[0,.44444,.00981,0,.48056],98:[0,.69444,.03057,0,.51667],99:[0,.44444,.08336,0,.44445],100:[0,.69444,.09483,0,.51667],101:[0,.44444,.06778,0,.44445],102:[0,.69444,.21705,0,.30556],103:[.19444,.44444,.10836,0,.5],104:[0,.69444,.01778,0,.51667],105:[0,.67937,.09718,0,.23889],106:[.19444,.67937,.09162,0,.26667],107:[0,.69444,.08336,0,.48889],108:[0,.69444,.09483,0,.23889],109:[0,.44444,.01778,0,.79445],110:[0,.44444,.01778,0,.51667],111:[0,.44444,.06613,0,.5],112:[.19444,.44444,.0389,0,.51667],113:[.19444,.44444,.04169,0,.51667],114:[0,.44444,.10836,0,.34167],115:[0,.44444,.0778,0,.38333],116:[0,.57143,.07225,0,.36111],117:[0,.44444,.04169,0,.51667],118:[0,.44444,.10836,0,.46111],119:[0,.44444,.10836,0,.68334],120:[0,.44444,.09169,0,.46111],121:[.19444,.44444,.10836,0,.46111],122:[0,.44444,.08752,0,.43472],126:[.35,.32659,.08826,0,.5],160:[0,0,0,0,.25],168:[0,.67937,.06385,0,.5],176:[0,.69444,0,0,.73752],184:[.17014,0,0,0,.44445],305:[0,.44444,.04169,0,.23889],567:[.19444,.44444,.04169,0,.26667],710:[0,.69444,.0799,0,.5],711:[0,.63194,.08432,0,.5],713:[0,.60889,.08776,0,.5],714:[0,.69444,.09205,0,.5],715:[0,.69444,0,0,.5],728:[0,.69444,.09483,0,.5],729:[0,.67937,.07774,0,.27778],730:[0,.69444,0,0,.73752],732:[0,.67659,.08826,0,.5],733:[0,.69444,.09205,0,.5],915:[0,.69444,.13372,0,.54167],916:[0,.69444,0,0,.83334],920:[0,.69444,.07555,0,.77778],923:[0,.69444,0,0,.61111],926:[0,.69444,.12816,0,.66667],928:[0,.69444,.08094,0,.70834],931:[0,.69444,.11983,0,.72222],933:[0,.69444,.09031,0,.77778],934:[0,.69444,.04603,0,.72222],936:[0,.69444,.09031,0,.77778],937:[0,.69444,.08293,0,.72222],8211:[0,.44444,.08616,0,.5],8212:[0,.44444,.08616,0,1],8216:[0,.69444,.07816,0,.27778],8217:[0,.69444,.07816,0,.27778],8220:[0,.69444,.14205,0,.5],8221:[0,.69444,.00316,0,.5]},"SansSerif-Regular":{32:[0,0,0,0,.25],33:[0,.69444,0,0,.31945],34:[0,.69444,0,0,.5],35:[.19444,.69444,0,0,.83334],36:[.05556,.75,0,0,.5],37:[.05556,.75,0,0,.83334],38:[0,.69444,0,0,.75834],39:[0,.69444,0,0,.27778],40:[.25,.75,0,0,.38889],41:[.25,.75,0,0,.38889],42:[0,.75,0,0,.5],43:[.08333,.58333,0,0,.77778],44:[.125,.08333,0,0,.27778],45:[0,.44444,0,0,.33333],46:[0,.08333,0,0,.27778],47:[.25,.75,0,0,.5],48:[0,.65556,0,0,.5],49:[0,.65556,0,0,.5],50:[0,.65556,0,0,.5],51:[0,.65556,0,0,.5],52:[0,.65556,0,0,.5],53:[0,.65556,0,0,.5],54:[0,.65556,0,0,.5],55:[0,.65556,0,0,.5],56:[0,.65556,0,0,.5],57:[0,.65556,0,0,.5],58:[0,.44444,0,0,.27778],59:[.125,.44444,0,0,.27778],61:[-.13,.37,0,0,.77778],63:[0,.69444,0,0,.47222],64:[0,.69444,0,0,.66667],65:[0,.69444,0,0,.66667],66:[0,.69444,0,0,.66667],67:[0,.69444,0,0,.63889],68:[0,.69444,0,0,.72223],69:[0,.69444,0,0,.59722],70:[0,.69444,0,0,.56945],71:[0,.69444,0,0,.66667],72:[0,.69444,0,0,.70834],73:[0,.69444,0,0,.27778],74:[0,.69444,0,0,.47222],75:[0,.69444,0,0,.69445],76:[0,.69444,0,0,.54167],77:[0,.69444,0,0,.875],78:[0,.69444,0,0,.70834],79:[0,.69444,0,0,.73611],80:[0,.69444,0,0,.63889],81:[.125,.69444,0,0,.73611],82:[0,.69444,0,0,.64584],83:[0,.69444,0,0,.55556],84:[0,.69444,0,0,.68056],85:[0,.69444,0,0,.6875],86:[0,.69444,.01389,0,.66667],87:[0,.69444,.01389,0,.94445],88:[0,.69444,0,0,.66667],89:[0,.69444,.025,0,.66667],90:[0,.69444,0,0,.61111],91:[.25,.75,0,0,.28889],93:[.25,.75,0,0,.28889],94:[0,.69444,0,0,.5],95:[.35,.09444,.02778,0,.5],97:[0,.44444,0,0,.48056],98:[0,.69444,0,0,.51667],99:[0,.44444,0,0,.44445],100:[0,.69444,0,0,.51667],101:[0,.44444,0,0,.44445],102:[0,.69444,.06944,0,.30556],103:[.19444,.44444,.01389,0,.5],104:[0,.69444,0,0,.51667],105:[0,.67937,0,0,.23889],106:[.19444,.67937,0,0,.26667],107:[0,.69444,0,0,.48889],108:[0,.69444,0,0,.23889],109:[0,.44444,0,0,.79445],110:[0,.44444,0,0,.51667],111:[0,.44444,0,0,.5],112:[.19444,.44444,0,0,.51667],113:[.19444,.44444,0,0,.51667],114:[0,.44444,.01389,0,.34167],115:[0,.44444,0,0,.38333],116:[0,.57143,0,0,.36111],117:[0,.44444,0,0,.51667],118:[0,.44444,.01389,0,.46111],119:[0,.44444,.01389,0,.68334],120:[0,.44444,0,0,.46111],121:[.19444,.44444,.01389,0,.46111],122:[0,.44444,0,0,.43472],126:[.35,.32659,0,0,.5],160:[0,0,0,0,.25],168:[0,.67937,0,0,.5],176:[0,.69444,0,0,.66667],184:[.17014,0,0,0,.44445],305:[0,.44444,0,0,.23889],567:[.19444,.44444,0,0,.26667],710:[0,.69444,0,0,.5],711:[0,.63194,0,0,.5],713:[0,.60889,0,0,.5],714:[0,.69444,0,0,.5],715:[0,.69444,0,0,.5],728:[0,.69444,0,0,.5],729:[0,.67937,0,0,.27778],730:[0,.69444,0,0,.66667],732:[0,.67659,0,0,.5],733:[0,.69444,0,0,.5],915:[0,.69444,0,0,.54167],916:[0,.69444,0,0,.83334],920:[0,.69444,0,0,.77778],923:[0,.69444,0,0,.61111],926:[0,.69444,0,0,.66667],928:[0,.69444,0,0,.70834],931:[0,.69444,0,0,.72222],933:[0,.69444,0,0,.77778],934:[0,.69444,0,0,.72222],936:[0,.69444,0,0,.77778],937:[0,.69444,0,0,.72222],8211:[0,.44444,.02778,0,.5],8212:[0,.44444,.02778,0,1],8216:[0,.69444,0,0,.27778],8217:[0,.69444,0,0,.27778],8220:[0,.69444,0,0,.5],8221:[0,.69444,0,0,.5]},"Script-Regular":{32:[0,0,0,0,.25],65:[0,.7,.22925,0,.80253],66:[0,.7,.04087,0,.90757],67:[0,.7,.1689,0,.66619],68:[0,.7,.09371,0,.77443],69:[0,.7,.18583,0,.56162],70:[0,.7,.13634,0,.89544],71:[0,.7,.17322,0,.60961],72:[0,.7,.29694,0,.96919],73:[0,.7,.19189,0,.80907],74:[.27778,.7,.19189,0,1.05159],75:[0,.7,.31259,0,.91364],76:[0,.7,.19189,0,.87373],77:[0,.7,.15981,0,1.08031],78:[0,.7,.3525,0,.9015],79:[0,.7,.08078,0,.73787],80:[0,.7,.08078,0,1.01262],81:[0,.7,.03305,0,.88282],82:[0,.7,.06259,0,.85],83:[0,.7,.19189,0,.86767],84:[0,.7,.29087,0,.74697],85:[0,.7,.25815,0,.79996],86:[0,.7,.27523,0,.62204],87:[0,.7,.27523,0,.80532],88:[0,.7,.26006,0,.94445],89:[0,.7,.2939,0,.70961],90:[0,.7,.24037,0,.8212],160:[0,0,0,0,.25]},"Size1-Regular":{32:[0,0,0,0,.25],40:[.35001,.85,0,0,.45834],41:[.35001,.85,0,0,.45834],47:[.35001,.85,0,0,.57778],91:[.35001,.85,0,0,.41667],92:[.35001,.85,0,0,.57778],93:[.35001,.85,0,0,.41667],123:[.35001,.85,0,0,.58334],125:[.35001,.85,0,0,.58334],160:[0,0,0,0,.25],710:[0,.72222,0,0,.55556],732:[0,.72222,0,0,.55556],770:[0,.72222,0,0,.55556],771:[0,.72222,0,0,.55556],8214:[-99e-5,.601,0,0,.77778],8593:[1e-5,.6,0,0,.66667],8595:[1e-5,.6,0,0,.66667],8657:[1e-5,.6,0,0,.77778],8659:[1e-5,.6,0,0,.77778],8719:[.25001,.75,0,0,.94445],8720:[.25001,.75,0,0,.94445],8721:[.25001,.75,0,0,1.05556],8730:[.35001,.85,0,0,1],8739:[-.00599,.606,0,0,.33333],8741:[-.00599,.606,0,0,.55556],8747:[.30612,.805,.19445,0,.47222],8748:[.306,.805,.19445,0,.47222],8749:[.306,.805,.19445,0,.47222],8750:[.30612,.805,.19445,0,.47222],8896:[.25001,.75,0,0,.83334],8897:[.25001,.75,0,0,.83334],8898:[.25001,.75,0,0,.83334],8899:[.25001,.75,0,0,.83334],8968:[.35001,.85,0,0,.47222],8969:[.35001,.85,0,0,.47222],8970:[.35001,.85,0,0,.47222],8971:[.35001,.85,0,0,.47222],9168:[-99e-5,.601,0,0,.66667],10216:[.35001,.85,0,0,.47222],10217:[.35001,.85,0,0,.47222],10752:[.25001,.75,0,0,1.11111],10753:[.25001,.75,0,0,1.11111],10754:[.25001,.75,0,0,1.11111],10756:[.25001,.75,0,0,.83334],10758:[.25001,.75,0,0,.83334]},"Size2-Regular":{32:[0,0,0,0,.25],40:[.65002,1.15,0,0,.59722],41:[.65002,1.15,0,0,.59722],47:[.65002,1.15,0,0,.81111],91:[.65002,1.15,0,0,.47222],92:[.65002,1.15,0,0,.81111],93:[.65002,1.15,0,0,.47222],123:[.65002,1.15,0,0,.66667],125:[.65002,1.15,0,0,.66667],160:[0,0,0,0,.25],710:[0,.75,0,0,1],732:[0,.75,0,0,1],770:[0,.75,0,0,1],771:[0,.75,0,0,1],8719:[.55001,1.05,0,0,1.27778],8720:[.55001,1.05,0,0,1.27778],8721:[.55001,1.05,0,0,1.44445],8730:[.65002,1.15,0,0,1],8747:[.86225,1.36,.44445,0,.55556],8748:[.862,1.36,.44445,0,.55556],8749:[.862,1.36,.44445,0,.55556],8750:[.86225,1.36,.44445,0,.55556],8896:[.55001,1.05,0,0,1.11111],8897:[.55001,1.05,0,0,1.11111],8898:[.55001,1.05,0,0,1.11111],8899:[.55001,1.05,0,0,1.11111],8968:[.65002,1.15,0,0,.52778],8969:[.65002,1.15,0,0,.52778],8970:[.65002,1.15,0,0,.52778],8971:[.65002,1.15,0,0,.52778],10216:[.65002,1.15,0,0,.61111],10217:[.65002,1.15,0,0,.61111],10752:[.55001,1.05,0,0,1.51112],10753:[.55001,1.05,0,0,1.51112],10754:[.55001,1.05,0,0,1.51112],10756:[.55001,1.05,0,0,1.11111],10758:[.55001,1.05,0,0,1.11111]},"Size3-Regular":{32:[0,0,0,0,.25],40:[.95003,1.45,0,0,.73611],41:[.95003,1.45,0,0,.73611],47:[.95003,1.45,0,0,1.04445],91:[.95003,1.45,0,0,.52778],92:[.95003,1.45,0,0,1.04445],93:[.95003,1.45,0,0,.52778],123:[.95003,1.45,0,0,.75],125:[.95003,1.45,0,0,.75],160:[0,0,0,0,.25],710:[0,.75,0,0,1.44445],732:[0,.75,0,0,1.44445],770:[0,.75,0,0,1.44445],771:[0,.75,0,0,1.44445],8730:[.95003,1.45,0,0,1],8968:[.95003,1.45,0,0,.58334],8969:[.95003,1.45,0,0,.58334],8970:[.95003,1.45,0,0,.58334],8971:[.95003,1.45,0,0,.58334],10216:[.95003,1.45,0,0,.75],10217:[.95003,1.45,0,0,.75]},"Size4-Regular":{32:[0,0,0,0,.25],40:[1.25003,1.75,0,0,.79167],41:[1.25003,1.75,0,0,.79167],47:[1.25003,1.75,0,0,1.27778],91:[1.25003,1.75,0,0,.58334],92:[1.25003,1.75,0,0,1.27778],93:[1.25003,1.75,0,0,.58334],123:[1.25003,1.75,0,0,.80556],125:[1.25003,1.75,0,0,.80556],160:[0,0,0,0,.25],710:[0,.825,0,0,1.8889],732:[0,.825,0,0,1.8889],770:[0,.825,0,0,1.8889],771:[0,.825,0,0,1.8889],8730:[1.25003,1.75,0,0,1],8968:[1.25003,1.75,0,0,.63889],8969:[1.25003,1.75,0,0,.63889],8970:[1.25003,1.75,0,0,.63889],8971:[1.25003,1.75,0,0,.63889],9115:[.64502,1.155,0,0,.875],9116:[1e-5,.6,0,0,.875],9117:[.64502,1.155,0,0,.875],9118:[.64502,1.155,0,0,.875],9119:[1e-5,.6,0,0,.875],9120:[.64502,1.155,0,0,.875],9121:[.64502,1.155,0,0,.66667],9122:[-99e-5,.601,0,0,.66667],9123:[.64502,1.155,0,0,.66667],9124:[.64502,1.155,0,0,.66667],9125:[-99e-5,.601,0,0,.66667],9126:[.64502,1.155,0,0,.66667],9127:[1e-5,.9,0,0,.88889],9128:[.65002,1.15,0,0,.88889],9129:[.90001,0,0,0,.88889],9130:[0,.3,0,0,.88889],9131:[1e-5,.9,0,0,.88889],9132:[.65002,1.15,0,0,.88889],9133:[.90001,0,0,0,.88889],9143:[.88502,.915,0,0,1.05556],10216:[1.25003,1.75,0,0,.80556],10217:[1.25003,1.75,0,0,.80556],57344:[-.00499,.605,0,0,1.05556],57345:[-.00499,.605,0,0,1.05556],57680:[0,.12,0,0,.45],57681:[0,.12,0,0,.45],57682:[0,.12,0,0,.45],57683:[0,.12,0,0,.45]},"Typewriter-Regular":{32:[0,0,0,0,.525],33:[0,.61111,0,0,.525],34:[0,.61111,0,0,.525],35:[0,.61111,0,0,.525],36:[.08333,.69444,0,0,.525],37:[.08333,.69444,0,0,.525],38:[0,.61111,0,0,.525],39:[0,.61111,0,0,.525],40:[.08333,.69444,0,0,.525],41:[.08333,.69444,0,0,.525],42:[0,.52083,0,0,.525],43:[-.08056,.53055,0,0,.525],44:[.13889,.125,0,0,.525],45:[-.08056,.53055,0,0,.525],46:[0,.125,0,0,.525],47:[.08333,.69444,0,0,.525],48:[0,.61111,0,0,.525],49:[0,.61111,0,0,.525],50:[0,.61111,0,0,.525],51:[0,.61111,0,0,.525],52:[0,.61111,0,0,.525],53:[0,.61111,0,0,.525],54:[0,.61111,0,0,.525],55:[0,.61111,0,0,.525],56:[0,.61111,0,0,.525],57:[0,.61111,0,0,.525],58:[0,.43056,0,0,.525],59:[.13889,.43056,0,0,.525],60:[-.05556,.55556,0,0,.525],61:[-.19549,.41562,0,0,.525],62:[-.05556,.55556,0,0,.525],63:[0,.61111,0,0,.525],64:[0,.61111,0,0,.525],65:[0,.61111,0,0,.525],66:[0,.61111,0,0,.525],67:[0,.61111,0,0,.525],68:[0,.61111,0,0,.525],69:[0,.61111,0,0,.525],70:[0,.61111,0,0,.525],71:[0,.61111,0,0,.525],72:[0,.61111,0,0,.525],73:[0,.61111,0,0,.525],74:[0,.61111,0,0,.525],75:[0,.61111,0,0,.525],76:[0,.61111,0,0,.525],77:[0,.61111,0,0,.525],78:[0,.61111,0,0,.525],79:[0,.61111,0,0,.525],80:[0,.61111,0,0,.525],81:[.13889,.61111,0,0,.525],82:[0,.61111,0,0,.525],83:[0,.61111,0,0,.525],84:[0,.61111,0,0,.525],85:[0,.61111,0,0,.525],86:[0,.61111,0,0,.525],87:[0,.61111,0,0,.525],88:[0,.61111,0,0,.525],89:[0,.61111,0,0,.525],90:[0,.61111,0,0,.525],91:[.08333,.69444,0,0,.525],92:[.08333,.69444,0,0,.525],93:[.08333,.69444,0,0,.525],94:[0,.61111,0,0,.525],95:[.09514,0,0,0,.525],96:[0,.61111,0,0,.525],97:[0,.43056,0,0,.525],98:[0,.61111,0,0,.525],99:[0,.43056,0,0,.525],100:[0,.61111,0,0,.525],101:[0,.43056,0,0,.525],102:[0,.61111,0,0,.525],103:[.22222,.43056,0,0,.525],104:[0,.61111,0,0,.525],105:[0,.61111,0,0,.525],106:[.22222,.61111,0,0,.525],107:[0,.61111,0,0,.525],108:[0,.61111,0,0,.525],109:[0,.43056,0,0,.525],110:[0,.43056,0,0,.525],111:[0,.43056,0,0,.525],112:[.22222,.43056,0,0,.525],113:[.22222,.43056,0,0,.525],114:[0,.43056,0,0,.525],115:[0,.43056,0,0,.525],116:[0,.55358,0,0,.525],117:[0,.43056,0,0,.525],118:[0,.43056,0,0,.525],119:[0,.43056,0,0,.525],120:[0,.43056,0,0,.525],121:[.22222,.43056,0,0,.525],122:[0,.43056,0,0,.525],123:[.08333,.69444,0,0,.525],124:[.08333,.69444,0,0,.525],125:[.08333,.69444,0,0,.525],126:[0,.61111,0,0,.525],127:[0,.61111,0,0,.525],160:[0,0,0,0,.525],176:[0,.61111,0,0,.525],184:[.19445,0,0,0,.525],305:[0,.43056,0,0,.525],567:[.22222,.43056,0,0,.525],711:[0,.56597,0,0,.525],713:[0,.56555,0,0,.525],714:[0,.61111,0,0,.525],715:[0,.61111,0,0,.525],728:[0,.61111,0,0,.525],730:[0,.61111,0,0,.525],770:[0,.61111,0,0,.525],771:[0,.61111,0,0,.525],776:[0,.61111,0,0,.525],915:[0,.61111,0,0,.525],916:[0,.61111,0,0,.525],920:[0,.61111,0,0,.525],923:[0,.61111,0,0,.525],926:[0,.61111,0,0,.525],928:[0,.61111,0,0,.525],931:[0,.61111,0,0,.525],933:[0,.61111,0,0,.525],934:[0,.61111,0,0,.525],936:[0,.61111,0,0,.525],937:[0,.61111,0,0,.525],8216:[0,.61111,0,0,.525],8217:[0,.61111,0,0,.525],8242:[0,.61111,0,0,.525],9251:[.11111,.21944,0,0,.525]}},B={slant:[.25,.25,.25],space:[0,0,0],stretch:[0,0,0],shrink:[0,0,0],xHeight:[.431,.431,.431],quad:[1,1.171,1.472],extraSpace:[0,0,0],num1:[.677,.732,.925],num2:[.394,.384,.387],num3:[.444,.471,.504],denom1:[.686,.752,1.025],denom2:[.345,.344,.532],sup1:[.413,.503,.504],sup2:[.363,.431,.404],sup3:[.289,.286,.294],sub1:[.15,.143,.2],sub2:[.247,.286,.4],supDrop:[.386,.353,.494],subDrop:[.05,.071,.1],delim1:[2.39,1.7,1.98],delim2:[1.01,1.157,1.42],axisHeight:[.25,.25,.25],defaultRuleThickness:[.04,.049,.049],bigOpSpacing1:[.111,.111,.111],bigOpSpacing2:[.166,.166,.166],bigOpSpacing3:[.2,.2,.2],bigOpSpacing4:[.6,.611,.611],bigOpSpacing5:[.1,.143,.143],sqrtRuleThickness:[.04,.04,.04],ptPerEm:[10,10,10],doubleRuleSep:[.2,.2,.2],arrayRuleWidth:[.04,.04,.04],fboxsep:[.3,.3,.3],fboxrule:[.04,.04,.04]},C={"\xc5":"A","\xd0":"D","\xde":"o","\xe5":"a","\xf0":"d","\xfe":"o","\u0410":"A","\u0411":"B","\u0412":"B","\u0413":"F","\u0414":"A","\u0415":"E","\u0416":"K","\u0417":"3","\u0418":"N","\u0419":"N","\u041a":"K","\u041b":"N","\u041c":"M","\u041d":"H","\u041e":"O","\u041f":"N","\u0420":"P","\u0421":"C","\u0422":"T","\u0423":"y","\u0424":"O","\u0425":"X","\u0426":"U","\u0427":"h","\u0428":"W","\u0429":"W","\u042a":"B","\u042b":"X","\u042c":"B","\u042d":"3","\u042e":"X","\u042f":"R","\u0430":"a","\u0431":"b","\u0432":"a","\u0433":"r","\u0434":"y","\u0435":"e","\u0436":"m","\u0437":"e","\u0438":"n","\u0439":"n","\u043a":"n","\u043b":"n","\u043c":"m","\u043d":"n","\u043e":"o","\u043f":"n","\u0440":"p","\u0441":"c","\u0442":"o","\u0443":"y","\u0444":"b","\u0445":"x","\u0446":"n","\u0447":"n","\u0448":"w","\u0449":"w","\u044a":"a","\u044b":"m","\u044c":"a","\u044d":"e","\u044e":"m","\u044f":"r"};function N(e,t,r){if(!T[t])throw new Error("Font metrics not found for font: "+t+".");var n=e.charCodeAt(0),a=T[t][n];if(!a&&e[0]in C&&(n=C[e[0]].charCodeAt(0),a=T[t][n]),a||"text"!==r||S(n)&&(a=T[t][77]),a)return{depth:a[0],height:a[1],italic:a[2],skew:a[3],width:a[4]}}var q={};var I=[[1,1,1],[2,1,1],[3,1,1],[4,2,1],[5,2,1],[6,3,1],[7,4,2],[8,6,3],[9,7,6],[10,8,7],[11,10,9]],R=[.5,.6,.7,.8,.9,1,1.2,1.44,1.728,2.074,2.488],H=function(e,t){return t.size<2?e:I[e-1][t.size-1]},O=function(){function e(t){this.style=void 0,this.color=void 0,this.size=void 0,this.textSize=void 0,this.phantom=void 0,this.font=void 0,this.fontFamily=void 0,this.fontWeight=void 0,this.fontShape=void 0,this.sizeMultiplier=void 0,this.maxSize=void 0,this.minRuleThickness=void 0,this._fontMetrics=void 0,this.style=t.style,this.color=t.color,this.size=t.size||e.BASESIZE,this.textSize=t.textSize||this.size,this.phantom=!!t.phantom,this.font=t.font||"",this.fontFamily=t.fontFamily||"",this.fontWeight=t.fontWeight||"",this.fontShape=t.fontShape||"",this.sizeMultiplier=R[this.size-1],this.maxSize=t.maxSize,this.minRuleThickness=t.minRuleThickness,this._fontMetrics=void 0}var t=e.prototype;return t.extend=function(t){var r={style:this.style,size:this.size,textSize:this.textSize,color:this.color,phantom:this.phantom,font:this.font,fontFamily:this.fontFamily,fontWeight:this.fontWeight,fontShape:this.fontShape,maxSize:this.maxSize,minRuleThickness:this.minRuleThickness};for(var n in t)t.hasOwnProperty(n)&&(r[n]=t[n]);return new e(r)},t.havingStyle=function(e){return this.style===e?this:this.extend({style:e,size:H(this.textSize,e)})},t.havingCrampedStyle=function(){return this.havingStyle(this.style.cramp())},t.havingSize=function(e){return this.size===e&&this.textSize===e?this:this.extend({style:this.style.text(),size:e,textSize:e,sizeMultiplier:R[e-1]})},t.havingBaseStyle=function(t){t=t||this.style.text();var r=H(e.BASESIZE,t);return this.size===r&&this.textSize===e.BASESIZE&&this.style===t?this:this.extend({style:t,size:r})},t.havingBaseSizing=function(){var e;switch(this.style.id){case 4:case 5:e=3;break;case 6:case 7:e=1;break;default:e=6}return this.extend({style:this.style.text(),size:e})},t.withColor=function(e){return this.extend({color:e})},t.withPhantom=function(){return this.extend({phantom:!0})},t.withFont=function(e){return this.extend({font:e})},t.withTextFontFamily=function(e){return this.extend({fontFamily:e,font:""})},t.withTextFontWeight=function(e){return this.extend({fontWeight:e,font:""})},t.withTextFontShape=function(e){return this.extend({fontShape:e,font:""})},t.sizingClasses=function(e){return e.size!==this.size?["sizing","reset-size"+e.size,"size"+this.size]:[]},t.baseSizingClasses=function(){return this.size!==e.BASESIZE?["sizing","reset-size"+this.size,"size"+e.BASESIZE]:[]},t.fontMetrics=function(){return this._fontMetrics||(this._fontMetrics=function(e){var t;if(!q[t=e>=5?0:e>=3?1:2]){var r=q[t]={cssEmPerMu:B.quad[t]/18};for(var n in B)B.hasOwnProperty(n)&&(r[n]=B[n][t])}return q[t]}(this.size)),this._fontMetrics},t.getColor=function(){return this.phantom?"transparent":this.color},e}();O.BASESIZE=6;var E=O,L={pt:1,mm:7227/2540,cm:7227/254,in:72.27,bp:1.00375,pc:12,dd:1238/1157,cc:14856/1157,nd:685/642,nc:1370/107,sp:1/65536,px:1.00375},D={ex:!0,em:!0,mu:!0},V=function(e){return"string"!=typeof e&&(e=e.unit),e in L||e in D||"ex"===e},P=function(e,t){var r;if(e.unit in L)r=L[e.unit]/t.fontMetrics().ptPerEm/t.sizeMultiplier;else if("mu"===e.unit)r=t.fontMetrics().cssEmPerMu;else{var a;if(a=t.style.isTight()?t.havingStyle(t.style.text()):t,"ex"===e.unit)r=a.fontMetrics().xHeight;else{if("em"!==e.unit)throw new n("Invalid unit: '"+e.unit+"'");r=a.fontMetrics().quad}a!==t&&(r*=a.sizeMultiplier/t.sizeMultiplier)}return Math.min(e.number*r,t.maxSize)},F=function(e){return+e.toFixed(4)+"em"},G=function(e){return e.filter((function(e){return e})).join(" ")},U=function(e,t,r){if(this.classes=e||[],this.attributes={},this.height=0,this.depth=0,this.maxFontSize=0,this.style=r||{},t){t.style.isTight()&&this.classes.push("mtight");var n=t.getColor();n&&(this.style.color=n)}},Y=function(e){var t=document.createElement(e);for(var r in t.className=G(this.classes),this.style)this.style.hasOwnProperty(r)&&(t.style[r]=this.style[r]);for(var n in this.attributes)this.attributes.hasOwnProperty(n)&&t.setAttribute(n,this.attributes[n]);for(var a=0;a<this.children.length;a++)t.appendChild(this.children[a].toNode());return t},X=function(e){var t="<"+e;this.classes.length&&(t+=' class="'+l.escape(G(this.classes))+'"');var r="";for(var n in this.style)this.style.hasOwnProperty(n)&&(r+=l.hyphenate(n)+":"+this.style[n]+";");for(var a in r&&(t+=' style="'+l.escape(r)+'"'),this.attributes)this.attributes.hasOwnProperty(a)&&(t+=" "+a+'="'+l.escape(this.attributes[a])+'"');t+=">";for(var i=0;i<this.children.length;i++)t+=this.children[i].toMarkup();return t+="</"+e+">"},W=function(){function e(e,t,r,n){this.children=void 0,this.attributes=void 0,this.classes=void 0,this.height=void 0,this.depth=void 0,this.width=void 0,this.maxFontSize=void 0,this.style=void 0,U.call(this,e,r,n),this.children=t||[]}var t=e.prototype;return t.setAttribute=function(e,t){this.attributes[e]=t},t.hasClass=function(e){return l.contains(this.classes,e)},t.toNode=function(){return Y.call(this,"span")},t.toMarkup=function(){return X.call(this,"span")},e}(),_=function(){function e(e,t,r,n){this.children=void 0,this.attributes=void 0,this.classes=void 0,this.height=void 0,this.depth=void 0,this.maxFontSize=void 0,this.style=void 0,U.call(this,t,n),this.children=r||[],this.setAttribute("href",e)}var t=e.prototype;return t.setAttribute=function(e,t){this.attributes[e]=t},t.hasClass=function(e){return l.contains(this.classes,e)},t.toNode=function(){return Y.call(this,"a")},t.toMarkup=function(){return X.call(this,"a")},e}(),j=function(){function e(e,t,r){this.src=void 0,this.alt=void 0,this.classes=void 0,this.height=void 0,this.depth=void 0,this.maxFontSize=void 0,this.style=void 0,this.alt=t,this.src=e,this.classes=["mord"],this.style=r}var t=e.prototype;return t.hasClass=function(e){return l.contains(this.classes,e)},t.toNode=function(){var e=document.createElement("img");for(var t in e.src=this.src,e.alt=this.alt,e.className="mord",this.style)this.style.hasOwnProperty(t)&&(e.style[t]=this.style[t]);return e},t.toMarkup=function(){var e="<img src='"+this.src+" 'alt='"+this.alt+"' ",t="";for(var r in this.style)this.style.hasOwnProperty(r)&&(t+=l.hyphenate(r)+":"+this.style[r]+";");return t&&(e+=' style="'+l.escape(t)+'"'),e+="'/>"},e}(),$={"\xee":"\u0131\u0302","\xef":"\u0131\u0308","\xed":"\u0131\u0301","\xec":"\u0131\u0300"},Z=function(){function e(e,t,r,n,a,i,o,s){this.text=void 0,this.height=void 0,this.depth=void 0,this.italic=void 0,this.skew=void 0,this.width=void 0,this.maxFontSize=void 0,this.classes=void 0,this.style=void 0,this.text=e,this.height=t||0,this.depth=r||0,this.italic=n||0,this.skew=a||0,this.width=i||0,this.classes=o||[],this.style=s||{},this.maxFontSize=0;var l=function(e){for(var t=0;t<w.length;t++)for(var r=w[t],n=0;n<r.blocks.length;n++){var a=r.blocks[n];if(e>=a[0]&&e<=a[1])return r.name}return null}(this.text.charCodeAt(0));l&&this.classes.push(l+"_fallback"),/[\xee\xef\xed\xec]/.test(this.text)&&(this.text=$[this.text])}var t=e.prototype;return t.hasClass=function(e){return l.contains(this.classes,e)},t.toNode=function(){var e=document.createTextNode(this.text),t=null;for(var r in this.italic>0&&((t=document.createElement("span")).style.marginRight=F(this.italic)),this.classes.length>0&&((t=t||document.createElement("span")).className=G(this.classes)),this.style)this.style.hasOwnProperty(r)&&((t=t||document.createElement("span")).style[r]=this.style[r]);return t?(t.appendChild(e),t):e},t.toMarkup=function(){var e=!1,t="<span";this.classes.length&&(e=!0,t+=' class="',t+=l.escape(G(this.classes)),t+='"');var r="";for(var n in this.italic>0&&(r+="margin-right:"+this.italic+"em;"),this.style)this.style.hasOwnProperty(n)&&(r+=l.hyphenate(n)+":"+this.style[n]+";");r&&(e=!0,t+=' style="'+l.escape(r)+'"');var a=l.escape(this.text);return e?(t+=">",t+=a,t+="</span>"):a},e}(),K=function(){function e(e,t){this.children=void 0,this.attributes=void 0,this.children=e||[],this.attributes=t||{}}var t=e.prototype;return t.toNode=function(){var e=document.createElementNS("http://www.w3.org/2000/svg","svg");for(var t in this.attributes)Object.prototype.hasOwnProperty.call(this.attributes,t)&&e.setAttribute(t,this.attributes[t]);for(var r=0;r<this.children.length;r++)e.appendChild(this.children[r].toNode());return e},t.toMarkup=function(){var e='<svg xmlns="http://www.w3.org/2000/svg"';for(var t in this.attributes)Object.prototype.hasOwnProperty.call(this.attributes,t)&&(e+=" "+t+"='"+this.attributes[t]+"'");e+=">";for(var r=0;r<this.children.length;r++)e+=this.children[r].toMarkup();return e+="</svg>"},e}(),J=function(){function e(e,t){this.pathName=void 0,this.alternate=void 0,this.pathName=e,this.alternate=t}var t=e.prototype;return t.toNode=function(){var e=document.createElementNS("http://www.w3.org/2000/svg","path");return this.alternate?e.setAttribute("d",this.alternate):e.setAttribute("d",z[this.pathName]),e},t.toMarkup=function(){return this.alternate?"<path d='"+this.alternate+"'/>":"<path d='"+z[this.pathName]+"'/>"},e}(),Q=function(){function e(e){this.attributes=void 0,this.attributes=e||{}}var t=e.prototype;return t.toNode=function(){var e=document.createElementNS("http://www.w3.org/2000/svg","line");for(var t in this.attributes)Object.prototype.hasOwnProperty.call(this.attributes,t)&&e.setAttribute(t,this.attributes[t]);return e},t.toMarkup=function(){var e="<line";for(var t in this.attributes)Object.prototype.hasOwnProperty.call(this.attributes,t)&&(e+=" "+t+"='"+this.attributes[t]+"'");return e+="/>"},e}();function ee(e){if(e instanceof Z)return e;throw new Error("Expected symbolNode but got "+String(e)+".")}var te={bin:1,close:1,inner:1,open:1,punct:1,rel:1},re={"accent-token":1,mathord:1,"op-token":1,spacing:1,textord:1},ne={math:{},text:{}},ae=ne;function ie(e,t,r,n,a,i){ne[e][a]={font:t,group:r,replace:n},i&&n&&(ne[e][n]=ne[e][a])}var oe="math",se="text",le="main",he="ams",ce="accent-token",me="bin",ue="close",pe="inner",de="mathord",fe="op-token",ge="open",ve="punct",be="rel",ye="spacing",xe="textord";ie(oe,le,be,"\u2261","\\equiv",!0),ie(oe,le,be,"\u227a","\\prec",!0),ie(oe,le,be,"\u227b","\\succ",!0),ie(oe,le,be,"\u223c","\\sim",!0),ie(oe,le,be,"\u22a5","\\perp"),ie(oe,le,be,"\u2aaf","\\preceq",!0),ie(oe,le,be,"\u2ab0","\\succeq",!0),ie(oe,le,be,"\u2243","\\simeq",!0),ie(oe,le,be,"\u2223","\\mid",!0),ie(oe,le,be,"\u226a","\\ll",!0),ie(oe,le,be,"\u226b","\\gg",!0),ie(oe,le,be,"\u224d","\\asymp",!0),ie(oe,le,be,"\u2225","\\parallel"),ie(oe,le,be,"\u22c8","\\bowtie",!0),ie(oe,le,be,"\u2323","\\smile",!0),ie(oe,le,be,"\u2291","\\sqsubseteq",!0),ie(oe,le,be,"\u2292","\\sqsupseteq",!0),ie(oe,le,be,"\u2250","\\doteq",!0),ie(oe,le,be,"\u2322","\\frown",!0),ie(oe,le,be,"\u220b","\\ni",!0),ie(oe,le,be,"\u221d","\\propto",!0),ie(oe,le,be,"\u22a2","\\vdash",!0),ie(oe,le,be,"\u22a3","\\dashv",!0),ie(oe,le,be,"\u220b","\\owns"),ie(oe,le,ve,".","\\ldotp"),ie(oe,le,ve,"\u22c5","\\cdotp"),ie(oe,le,xe,"#","\\#"),ie(se,le,xe,"#","\\#"),ie(oe,le,xe,"&","\\&"),ie(se,le,xe,"&","\\&"),ie(oe,le,xe,"\u2135","\\aleph",!0),ie(oe,le,xe,"\u2200","\\forall",!0),ie(oe,le,xe,"\u210f","\\hbar",!0),ie(oe,le,xe,"\u2203","\\exists",!0),ie(oe,le,xe,"\u2207","\\nabla",!0),ie(oe,le,xe,"\u266d","\\flat",!0),ie(oe,le,xe,"\u2113","\\ell",!0),ie(oe,le,xe,"\u266e","\\natural",!0),ie(oe,le,xe,"\u2663","\\clubsuit",!0),ie(oe,le,xe,"\u2118","\\wp",!0),ie(oe,le,xe,"\u266f","\\sharp",!0),ie(oe,le,xe,"\u2662","\\diamondsuit",!0),ie(oe,le,xe,"\u211c","\\Re",!0),ie(oe,le,xe,"\u2661","\\heartsuit",!0),ie(oe,le,xe,"\u2111","\\Im",!0),ie(oe,le,xe,"\u2660","\\spadesuit",!0),ie(oe,le,xe,"\xa7","\\S",!0),ie(se,le,xe,"\xa7","\\S"),ie(oe,le,xe,"\xb6","\\P",!0),ie(se,le,xe,"\xb6","\\P"),ie(oe,le,xe,"\u2020","\\dag"),ie(se,le,xe,"\u2020","\\dag"),ie(se,le,xe,"\u2020","\\textdagger"),ie(oe,le,xe,"\u2021","\\ddag"),ie(se,le,xe,"\u2021","\\ddag"),ie(se,le,xe,"\u2021","\\textdaggerdbl"),ie(oe,le,ue,"\u23b1","\\rmoustache",!0),ie(oe,le,ge,"\u23b0","\\lmoustache",!0),ie(oe,le,ue,"\u27ef","\\rgroup",!0),ie(oe,le,ge,"\u27ee","\\lgroup",!0),ie(oe,le,me,"\u2213","\\mp",!0),ie(oe,le,me,"\u2296","\\ominus",!0),ie(oe,le,me,"\u228e","\\uplus",!0),ie(oe,le,me,"\u2293","\\sqcap",!0),ie(oe,le,me,"\u2217","\\ast"),ie(oe,le,me,"\u2294","\\sqcup",!0),ie(oe,le,me,"\u25ef","\\bigcirc",!0),ie(oe,le,me,"\u2219","\\bullet",!0),ie(oe,le,me,"\u2021","\\ddagger"),ie(oe,le,me,"\u2240","\\wr",!0),ie(oe,le,me,"\u2a3f","\\amalg"),ie(oe,le,me,"&","\\And"),ie(oe,le,be,"\u27f5","\\longleftarrow",!0),ie(oe,le,be,"\u21d0","\\Leftarrow",!0),ie(oe,le,be,"\u27f8","\\Longleftarrow",!0),ie(oe,le,be,"\u27f6","\\longrightarrow",!0),ie(oe,le,be,"\u21d2","\\Rightarrow",!0),ie(oe,le,be,"\u27f9","\\Longrightarrow",!0),ie(oe,le,be,"\u2194","\\leftrightarrow",!0),ie(oe,le,be,"\u27f7","\\longleftrightarrow",!0),ie(oe,le,be,"\u21d4","\\Leftrightarrow",!0),ie(oe,le,be,"\u27fa","\\Longleftrightarrow",!0),ie(oe,le,be,"\u21a6","\\mapsto",!0),ie(oe,le,be,"\u27fc","\\longmapsto",!0),ie(oe,le,be,"\u2197","\\nearrow",!0),ie(oe,le,be,"\u21a9","\\hookleftarrow",!0),ie(oe,le,be,"\u21aa","\\hookrightarrow",!0),ie(oe,le,be,"\u2198","\\searrow",!0),ie(oe,le,be,"\u21bc","\\leftharpoonup",!0),ie(oe,le,be,"\u21c0","\\rightharpoonup",!0),ie(oe,le,be,"\u2199","\\swarrow",!0),ie(oe,le,be,"\u21bd","\\leftharpoondown",!0),ie(oe,le,be,"\u21c1","\\rightharpoondown",!0),ie(oe,le,be,"\u2196","\\nwarrow",!0),ie(oe,le,be,"\u21cc","\\rightleftharpoons",!0),ie(oe,he,be,"\u226e","\\nless",!0),ie(oe,he,be,"\ue010","\\@nleqslant"),ie(oe,he,be,"\ue011","\\@nleqq"),ie(oe,he,be,"\u2a87","\\lneq",!0),ie(oe,he,be,"\u2268","\\lneqq",!0),ie(oe,he,be,"\ue00c","\\@lvertneqq"),ie(oe,he,be,"\u22e6","\\lnsim",!0),ie(oe,he,be,"\u2a89","\\lnapprox",!0),ie(oe,he,be,"\u2280","\\nprec",!0),ie(oe,he,be,"\u22e0","\\npreceq",!0),ie(oe,he,be,"\u22e8","\\precnsim",!0),ie(oe,he,be,"\u2ab9","\\precnapprox",!0),ie(oe,he,be,"\u2241","\\nsim",!0),ie(oe,he,be,"\ue006","\\@nshortmid"),ie(oe,he,be,"\u2224","\\nmid",!0),ie(oe,he,be,"\u22ac","\\nvdash",!0),ie(oe,he,be,"\u22ad","\\nvDash",!0),ie(oe,he,be,"\u22ea","\\ntriangleleft"),ie(oe,he,be,"\u22ec","\\ntrianglelefteq",!0),ie(oe,he,be,"\u228a","\\subsetneq",!0),ie(oe,he,be,"\ue01a","\\@varsubsetneq"),ie(oe,he,be,"\u2acb","\\subsetneqq",!0),ie(oe,he,be,"\ue017","\\@varsubsetneqq"),ie(oe,he,be,"\u226f","\\ngtr",!0),ie(oe,he,be,"\ue00f","\\@ngeqslant"),ie(oe,he,be,"\ue00e","\\@ngeqq"),ie(oe,he,be,"\u2a88","\\gneq",!0),ie(oe,he,be,"\u2269","\\gneqq",!0),ie(oe,he,be,"\ue00d","\\@gvertneqq"),ie(oe,he,be,"\u22e7","\\gnsim",!0),ie(oe,he,be,"\u2a8a","\\gnapprox",!0),ie(oe,he,be,"\u2281","\\nsucc",!0),ie(oe,he,be,"\u22e1","\\nsucceq",!0),ie(oe,he,be,"\u22e9","\\succnsim",!0),ie(oe,he,be,"\u2aba","\\succnapprox",!0),ie(oe,he,be,"\u2246","\\ncong",!0),ie(oe,he,be,"\ue007","\\@nshortparallel"),ie(oe,he,be,"\u2226","\\nparallel",!0),ie(oe,he,be,"\u22af","\\nVDash",!0),ie(oe,he,be,"\u22eb","\\ntriangleright"),ie(oe,he,be,"\u22ed","\\ntrianglerighteq",!0),ie(oe,he,be,"\ue018","\\@nsupseteqq"),ie(oe,he,be,"\u228b","\\supsetneq",!0),ie(oe,he,be,"\ue01b","\\@varsupsetneq"),ie(oe,he,be,"\u2acc","\\supsetneqq",!0),ie(oe,he,be,"\ue019","\\@varsupsetneqq"),ie(oe,he,be,"\u22ae","\\nVdash",!0),ie(oe,he,be,"\u2ab5","\\precneqq",!0),ie(oe,he,be,"\u2ab6","\\succneqq",!0),ie(oe,he,be,"\ue016","\\@nsubseteqq"),ie(oe,he,me,"\u22b4","\\unlhd"),ie(oe,he,me,"\u22b5","\\unrhd"),ie(oe,he,be,"\u219a","\\nleftarrow",!0),ie(oe,he,be,"\u219b","\\nrightarrow",!0),ie(oe,he,be,"\u21cd","\\nLeftarrow",!0),ie(oe,he,be,"\u21cf","\\nRightarrow",!0),ie(oe,he,be,"\u21ae","\\nleftrightarrow",!0),ie(oe,he,be,"\u21ce","\\nLeftrightarrow",!0),ie(oe,he,be,"\u25b3","\\vartriangle"),ie(oe,he,xe,"\u210f","\\hslash"),ie(oe,he,xe,"\u25bd","\\triangledown"),ie(oe,he,xe,"\u25ca","\\lozenge"),ie(oe,he,xe,"\u24c8","\\circledS"),ie(oe,he,xe,"\xae","\\circledR"),ie(se,he,xe,"\xae","\\circledR"),ie(oe,he,xe,"\u2221","\\measuredangle",!0),ie(oe,he,xe,"\u2204","\\nexists"),ie(oe,he,xe,"\u2127","\\mho"),ie(oe,he,xe,"\u2132","\\Finv",!0),ie(oe,he,xe,"\u2141","\\Game",!0),ie(oe,he,xe,"\u2035","\\backprime"),ie(oe,he,xe,"\u25b2","\\blacktriangle"),ie(oe,he,xe,"\u25bc","\\blacktriangledown"),ie(oe,he,xe,"\u25a0","\\blacksquare"),ie(oe,he,xe,"\u29eb","\\blacklozenge"),ie(oe,he,xe,"\u2605","\\bigstar"),ie(oe,he,xe,"\u2222","\\sphericalangle",!0),ie(oe,he,xe,"\u2201","\\complement",!0),ie(oe,he,xe,"\xf0","\\eth",!0),ie(se,le,xe,"\xf0","\xf0"),ie(oe,he,xe,"\u2571","\\diagup"),ie(oe,he,xe,"\u2572","\\diagdown"),ie(oe,he,xe,"\u25a1","\\square"),ie(oe,he,xe,"\u25a1","\\Box"),ie(oe,he,xe,"\u25ca","\\Diamond"),ie(oe,he,xe,"\xa5","\\yen",!0),ie(se,he,xe,"\xa5","\\yen",!0),ie(oe,he,xe,"\u2713","\\checkmark",!0),ie(se,he,xe,"\u2713","\\checkmark"),ie(oe,he,xe,"\u2136","\\beth",!0),ie(oe,he,xe,"\u2138","\\daleth",!0),ie(oe,he,xe,"\u2137","\\gimel",!0),ie(oe,he,xe,"\u03dd","\\digamma",!0),ie(oe,he,xe,"\u03f0","\\varkappa"),ie(oe,he,ge,"\u250c","\\@ulcorner",!0),ie(oe,he,ue,"\u2510","\\@urcorner",!0),ie(oe,he,ge,"\u2514","\\@llcorner",!0),ie(oe,he,ue,"\u2518","\\@lrcorner",!0),ie(oe,he,be,"\u2266","\\leqq",!0),ie(oe,he,be,"\u2a7d","\\leqslant",!0),ie(oe,he,be,"\u2a95","\\eqslantless",!0),ie(oe,he,be,"\u2272","\\lesssim",!0),ie(oe,he,be,"\u2a85","\\lessapprox",!0),ie(oe,he,be,"\u224a","\\approxeq",!0),ie(oe,he,me,"\u22d6","\\lessdot"),ie(oe,he,be,"\u22d8","\\lll",!0),ie(oe,he,be,"\u2276","\\lessgtr",!0),ie(oe,he,be,"\u22da","\\lesseqgtr",!0),ie(oe,he,be,"\u2a8b","\\lesseqqgtr",!0),ie(oe,he,be,"\u2251","\\doteqdot"),ie(oe,he,be,"\u2253","\\risingdotseq",!0),ie(oe,he,be,"\u2252","\\fallingdotseq",!0),ie(oe,he,be,"\u223d","\\backsim",!0),ie(oe,he,be,"\u22cd","\\backsimeq",!0),ie(oe,he,be,"\u2ac5","\\subseteqq",!0),ie(oe,he,be,"\u22d0","\\Subset",!0),ie(oe,he,be,"\u228f","\\sqsubset",!0),ie(oe,he,be,"\u227c","\\preccurlyeq",!0),ie(oe,he,be,"\u22de","\\curlyeqprec",!0),ie(oe,he,be,"\u227e","\\precsim",!0),ie(oe,he,be,"\u2ab7","\\precapprox",!0),ie(oe,he,be,"\u22b2","\\vartriangleleft"),ie(oe,he,be,"\u22b4","\\trianglelefteq"),ie(oe,he,be,"\u22a8","\\vDash",!0),ie(oe,he,be,"\u22aa","\\Vvdash",!0),ie(oe,he,be,"\u2323","\\smallsmile"),ie(oe,he,be,"\u2322","\\smallfrown"),ie(oe,he,be,"\u224f","\\bumpeq",!0),ie(oe,he,be,"\u224e","\\Bumpeq",!0),ie(oe,he,be,"\u2267","\\geqq",!0),ie(oe,he,be,"\u2a7e","\\geqslant",!0),ie(oe,he,be,"\u2a96","\\eqslantgtr",!0),ie(oe,he,be,"\u2273","\\gtrsim",!0),ie(oe,he,be,"\u2a86","\\gtrapprox",!0),ie(oe,he,me,"\u22d7","\\gtrdot"),ie(oe,he,be,"\u22d9","\\ggg",!0),ie(oe,he,be,"\u2277","\\gtrless",!0),ie(oe,he,be,"\u22db","\\gtreqless",!0),ie(oe,he,be,"\u2a8c","\\gtreqqless",!0),ie(oe,he,be,"\u2256","\\eqcirc",!0),ie(oe,he,be,"\u2257","\\circeq",!0),ie(oe,he,be,"\u225c","\\triangleq",!0),ie(oe,he,be,"\u223c","\\thicksim"),ie(oe,he,be,"\u2248","\\thickapprox"),ie(oe,he,be,"\u2ac6","\\supseteqq",!0),ie(oe,he,be,"\u22d1","\\Supset",!0),ie(oe,he,be,"\u2290","\\sqsupset",!0),ie(oe,he,be,"\u227d","\\succcurlyeq",!0),ie(oe,he,be,"\u22df","\\curlyeqsucc",!0),ie(oe,he,be,"\u227f","\\succsim",!0),ie(oe,he,be,"\u2ab8","\\succapprox",!0),ie(oe,he,be,"\u22b3","\\vartriangleright"),ie(oe,he,be,"\u22b5","\\trianglerighteq"),ie(oe,he,be,"\u22a9","\\Vdash",!0),ie(oe,he,be,"\u2223","\\shortmid"),ie(oe,he,be,"\u2225","\\shortparallel"),ie(oe,he,be,"\u226c","\\between",!0),ie(oe,he,be,"\u22d4","\\pitchfork",!0),ie(oe,he,be,"\u221d","\\varpropto"),ie(oe,he,be,"\u25c0","\\blacktriangleleft"),ie(oe,he,be,"\u2234","\\therefore",!0),ie(oe,he,be,"\u220d","\\backepsilon"),ie(oe,he,be,"\u25b6","\\blacktriangleright"),ie(oe,he,be,"\u2235","\\because",!0),ie(oe,he,be,"\u22d8","\\llless"),ie(oe,he,be,"\u22d9","\\gggtr"),ie(oe,he,me,"\u22b2","\\lhd"),ie(oe,he,me,"\u22b3","\\rhd"),ie(oe,he,be,"\u2242","\\eqsim",!0),ie(oe,le,be,"\u22c8","\\Join"),ie(oe,he,be,"\u2251","\\Doteq",!0),ie(oe,he,me,"\u2214","\\dotplus",!0),ie(oe,he,me,"\u2216","\\smallsetminus"),ie(oe,he,me,"\u22d2","\\Cap",!0),ie(oe,he,me,"\u22d3","\\Cup",!0),ie(oe,he,me,"\u2a5e","\\doublebarwedge",!0),ie(oe,he,me,"\u229f","\\boxminus",!0),ie(oe,he,me,"\u229e","\\boxplus",!0),ie(oe,he,me,"\u22c7","\\divideontimes",!0),ie(oe,he,me,"\u22c9","\\ltimes",!0),ie(oe,he,me,"\u22ca","\\rtimes",!0),ie(oe,he,me,"\u22cb","\\leftthreetimes",!0),ie(oe,he,me,"\u22cc","\\rightthreetimes",!0),ie(oe,he,me,"\u22cf","\\curlywedge",!0),ie(oe,he,me,"\u22ce","\\curlyvee",!0),ie(oe,he,me,"\u229d","\\circleddash",!0),ie(oe,he,me,"\u229b","\\circledast",!0),ie(oe,he,me,"\u22c5","\\centerdot"),ie(oe,he,me,"\u22ba","\\intercal",!0),ie(oe,he,me,"\u22d2","\\doublecap"),ie(oe,he,me,"\u22d3","\\doublecup"),ie(oe,he,me,"\u22a0","\\boxtimes",!0),ie(oe,he,be,"\u21e2","\\dashrightarrow",!0),ie(oe,he,be,"\u21e0","\\dashleftarrow",!0),ie(oe,he,be,"\u21c7","\\leftleftarrows",!0),ie(oe,he,be,"\u21c6","\\leftrightarrows",!0),ie(oe,he,be,"\u21da","\\Lleftarrow",!0),ie(oe,he,be,"\u219e","\\twoheadleftarrow",!0),ie(oe,he,be,"\u21a2","\\leftarrowtail",!0),ie(oe,he,be,"\u21ab","\\looparrowleft",!0),ie(oe,he,be,"\u21cb","\\leftrightharpoons",!0),ie(oe,he,be,"\u21b6","\\curvearrowleft",!0),ie(oe,he,be,"\u21ba","\\circlearrowleft",!0),ie(oe,he,be,"\u21b0","\\Lsh",!0),ie(oe,he,be,"\u21c8","\\upuparrows",!0),ie(oe,he,be,"\u21bf","\\upharpoonleft",!0),ie(oe,he,be,"\u21c3","\\downharpoonleft",!0),ie(oe,le,be,"\u22b6","\\origof",!0),ie(oe,le,be,"\u22b7","\\imageof",!0),ie(oe,he,be,"\u22b8","\\multimap",!0),ie(oe,he,be,"\u21ad","\\leftrightsquigarrow",!0),ie(oe,he,be,"\u21c9","\\rightrightarrows",!0),ie(oe,he,be,"\u21c4","\\rightleftarrows",!0),ie(oe,he,be,"\u21a0","\\twoheadrightarrow",!0),ie(oe,he,be,"\u21a3","\\rightarrowtail",!0),ie(oe,he,be,"\u21ac","\\looparrowright",!0),ie(oe,he,be,"\u21b7","\\curvearrowright",!0),ie(oe,he,be,"\u21bb","\\circlearrowright",!0),ie(oe,he,be,"\u21b1","\\Rsh",!0),ie(oe,he,be,"\u21ca","\\downdownarrows",!0),ie(oe,he,be,"\u21be","\\upharpoonright",!0),ie(oe,he,be,"\u21c2","\\downharpoonright",!0),ie(oe,he,be,"\u21dd","\\rightsquigarrow",!0),ie(oe,he,be,"\u21dd","\\leadsto"),ie(oe,he,be,"\u21db","\\Rrightarrow",!0),ie(oe,he,be,"\u21be","\\restriction"),ie(oe,le,xe,"\u2018","`"),ie(oe,le,xe,"$","\\$"),ie(se,le,xe,"$","\\$"),ie(se,le,xe,"$","\\textdollar"),ie(oe,le,xe,"%","\\%"),ie(se,le,xe,"%","\\%"),ie(oe,le,xe,"_","\\_"),ie(se,le,xe,"_","\\_"),ie(se,le,xe,"_","\\textunderscore"),ie(oe,le,xe,"\u2220","\\angle",!0),ie(oe,le,xe,"\u221e","\\infty",!0),ie(oe,le,xe,"\u2032","\\prime"),ie(oe,le,xe,"\u25b3","\\triangle"),ie(oe,le,xe,"\u0393","\\Gamma",!0),ie(oe,le,xe,"\u0394","\\Delta",!0),ie(oe,le,xe,"\u0398","\\Theta",!0),ie(oe,le,xe,"\u039b","\\Lambda",!0),ie(oe,le,xe,"\u039e","\\Xi",!0),ie(oe,le,xe,"\u03a0","\\Pi",!0),ie(oe,le,xe,"\u03a3","\\Sigma",!0),ie(oe,le,xe,"\u03a5","\\Upsilon",!0),ie(oe,le,xe,"\u03a6","\\Phi",!0),ie(oe,le,xe,"\u03a8","\\Psi",!0),ie(oe,le,xe,"\u03a9","\\Omega",!0),ie(oe,le,xe,"A","\u0391"),ie(oe,le,xe,"B","\u0392"),ie(oe,le,xe,"E","\u0395"),ie(oe,le,xe,"Z","\u0396"),ie(oe,le,xe,"H","\u0397"),ie(oe,le,xe,"I","\u0399"),ie(oe,le,xe,"K","\u039a"),ie(oe,le,xe,"M","\u039c"),ie(oe,le,xe,"N","\u039d"),ie(oe,le,xe,"O","\u039f"),ie(oe,le,xe,"P","\u03a1"),ie(oe,le,xe,"T","\u03a4"),ie(oe,le,xe,"X","\u03a7"),ie(oe,le,xe,"\xac","\\neg",!0),ie(oe,le,xe,"\xac","\\lnot"),ie(oe,le,xe,"\u22a4","\\top"),ie(oe,le,xe,"\u22a5","\\bot"),ie(oe,le,xe,"\u2205","\\emptyset"),ie(oe,he,xe,"\u2205","\\varnothing"),ie(oe,le,de,"\u03b1","\\alpha",!0),ie(oe,le,de,"\u03b2","\\beta",!0),ie(oe,le,de,"\u03b3","\\gamma",!0),ie(oe,le,de,"\u03b4","\\delta",!0),ie(oe,le,de,"\u03f5","\\epsilon",!0),ie(oe,le,de,"\u03b6","\\zeta",!0),ie(oe,le,de,"\u03b7","\\eta",!0),ie(oe,le,de,"\u03b8","\\theta",!0),ie(oe,le,de,"\u03b9","\\iota",!0),ie(oe,le,de,"\u03ba","\\kappa",!0),ie(oe,le,de,"\u03bb","\\lambda",!0),ie(oe,le,de,"\u03bc","\\mu",!0),ie(oe,le,de,"\u03bd","\\nu",!0),ie(oe,le,de,"\u03be","\\xi",!0),ie(oe,le,de,"\u03bf","\\omicron",!0),ie(oe,le,de,"\u03c0","\\pi",!0),ie(oe,le,de,"\u03c1","\\rho",!0),ie(oe,le,de,"\u03c3","\\sigma",!0),ie(oe,le,de,"\u03c4","\\tau",!0),ie(oe,le,de,"\u03c5","\\upsilon",!0),ie(oe,le,de,"\u03d5","\\phi",!0),ie(oe,le,de,"\u03c7","\\chi",!0),ie(oe,le,de,"\u03c8","\\psi",!0),ie(oe,le,de,"\u03c9","\\omega",!0),ie(oe,le,de,"\u03b5","\\varepsilon",!0),ie(oe,le,de,"\u03d1","\\vartheta",!0),ie(oe,le,de,"\u03d6","\\varpi",!0),ie(oe,le,de,"\u03f1","\\varrho",!0),ie(oe,le,de,"\u03c2","\\varsigma",!0),ie(oe,le,de,"\u03c6","\\varphi",!0),ie(oe,le,me,"\u2217","*",!0),ie(oe,le,me,"+","+"),ie(oe,le,me,"\u2212","-",!0),ie(oe,le,me,"\u22c5","\\cdot",!0),ie(oe,le,me,"\u2218","\\circ",!0),ie(oe,le,me,"\xf7","\\div",!0),ie(oe,le,me,"\xb1","\\pm",!0),ie(oe,le,me,"\xd7","\\times",!0),ie(oe,le,me,"\u2229","\\cap",!0),ie(oe,le,me,"\u222a","\\cup",!0),ie(oe,le,me,"\u2216","\\setminus",!0),ie(oe,le,me,"\u2227","\\land"),ie(oe,le,me,"\u2228","\\lor"),ie(oe,le,me,"\u2227","\\wedge",!0),ie(oe,le,me,"\u2228","\\vee",!0),ie(oe,le,xe,"\u221a","\\surd"),ie(oe,le,ge,"\u27e8","\\langle",!0),ie(oe,le,ge,"\u2223","\\lvert"),ie(oe,le,ge,"\u2225","\\lVert"),ie(oe,le,ue,"?","?"),ie(oe,le,ue,"!","!"),ie(oe,le,ue,"\u27e9","\\rangle",!0),ie(oe,le,ue,"\u2223","\\rvert"),ie(oe,le,ue,"\u2225","\\rVert"),ie(oe,le,be,"=","="),ie(oe,le,be,":",":"),ie(oe,le,be,"\u2248","\\approx",!0),ie(oe,le,be,"\u2245","\\cong",!0),ie(oe,le,be,"\u2265","\\ge"),ie(oe,le,be,"\u2265","\\geq",!0),ie(oe,le,be,"\u2190","\\gets"),ie(oe,le,be,">","\\gt",!0),ie(oe,le,be,"\u2208","\\in",!0),ie(oe,le,be,"\ue020","\\@not"),ie(oe,le,be,"\u2282","\\subset",!0),ie(oe,le,be,"\u2283","\\supset",!0),ie(oe,le,be,"\u2286","\\subseteq",!0),ie(oe,le,be,"\u2287","\\supseteq",!0),ie(oe,he,be,"\u2288","\\nsubseteq",!0),ie(oe,he,be,"\u2289","\\nsupseteq",!0),ie(oe,le,be,"\u22a8","\\models"),ie(oe,le,be,"\u2190","\\leftarrow",!0),ie(oe,le,be,"\u2264","\\le"),ie(oe,le,be,"\u2264","\\leq",!0),ie(oe,le,be,"<","\\lt",!0),ie(oe,le,be,"\u2192","\\rightarrow",!0),ie(oe,le,be,"\u2192","\\to"),ie(oe,he,be,"\u2271","\\ngeq",!0),ie(oe,he,be,"\u2270","\\nleq",!0),ie(oe,le,ye,"\xa0","\\ "),ie(oe,le,ye,"\xa0","\\space"),ie(oe,le,ye,"\xa0","\\nobreakspace"),ie(se,le,ye,"\xa0","\\ "),ie(se,le,ye,"\xa0"," "),ie(se,le,ye,"\xa0","\\space"),ie(se,le,ye,"\xa0","\\nobreakspace"),ie(oe,le,ye,null,"\\nobreak"),ie(oe,le,ye,null,"\\allowbreak"),ie(oe,le,ve,",",","),ie(oe,le,ve,";",";"),ie(oe,he,me,"\u22bc","\\barwedge",!0),ie(oe,he,me,"\u22bb","\\veebar",!0),ie(oe,le,me,"\u2299","\\odot",!0),ie(oe,le,me,"\u2295","\\oplus",!0),ie(oe,le,me,"\u2297","\\otimes",!0),ie(oe,le,xe,"\u2202","\\partial",!0),ie(oe,le,me,"\u2298","\\oslash",!0),ie(oe,he,me,"\u229a","\\circledcirc",!0),ie(oe,he,me,"\u22a1","\\boxdot",!0),ie(oe,le,me,"\u25b3","\\bigtriangleup"),ie(oe,le,me,"\u25bd","\\bigtriangledown"),ie(oe,le,me,"\u2020","\\dagger"),ie(oe,le,me,"\u22c4","\\diamond"),ie(oe,le,me,"\u22c6","\\star"),ie(oe,le,me,"\u25c3","\\triangleleft"),ie(oe,le,me,"\u25b9","\\triangleright"),ie(oe,le,ge,"{","\\{"),ie(se,le,xe,"{","\\{"),ie(se,le,xe,"{","\\textbraceleft"),ie(oe,le,ue,"}","\\}"),ie(se,le,xe,"}","\\}"),ie(se,le,xe,"}","\\textbraceright"),ie(oe,le,ge,"{","\\lbrace"),ie(oe,le,ue,"}","\\rbrace"),ie(oe,le,ge,"[","\\lbrack",!0),ie(se,le,xe,"[","\\lbrack",!0),ie(oe,le,ue,"]","\\rbrack",!0),ie(se,le,xe,"]","\\rbrack",!0),ie(oe,le,ge,"(","\\lparen",!0),ie(oe,le,ue,")","\\rparen",!0),ie(se,le,xe,"<","\\textless",!0),ie(se,le,xe,">","\\textgreater",!0),ie(oe,le,ge,"\u230a","\\lfloor",!0),ie(oe,le,ue,"\u230b","\\rfloor",!0),ie(oe,le,ge,"\u2308","\\lceil",!0),ie(oe,le,ue,"\u2309","\\rceil",!0),ie(oe,le,xe,"\\","\\backslash"),ie(oe,le,xe,"\u2223","|"),ie(oe,le,xe,"\u2223","\\vert"),ie(se,le,xe,"|","\\textbar",!0),ie(oe,le,xe,"\u2225","\\|"),ie(oe,le,xe,"\u2225","\\Vert"),ie(se,le,xe,"\u2225","\\textbardbl"),ie(se,le,xe,"~","\\textasciitilde"),ie(se,le,xe,"\\","\\textbackslash"),ie(se,le,xe,"^","\\textasciicircum"),ie(oe,le,be,"\u2191","\\uparrow",!0),ie(oe,le,be,"\u21d1","\\Uparrow",!0),ie(oe,le,be,"\u2193","\\downarrow",!0),ie(oe,le,be,"\u21d3","\\Downarrow",!0),ie(oe,le,be,"\u2195","\\updownarrow",!0),ie(oe,le,be,"\u21d5","\\Updownarrow",!0),ie(oe,le,fe,"\u2210","\\coprod"),ie(oe,le,fe,"\u22c1","\\bigvee"),ie(oe,le,fe,"\u22c0","\\bigwedge"),ie(oe,le,fe,"\u2a04","\\biguplus"),ie(oe,le,fe,"\u22c2","\\bigcap"),ie(oe,le,fe,"\u22c3","\\bigcup"),ie(oe,le,fe,"\u222b","\\int"),ie(oe,le,fe,"\u222b","\\intop"),ie(oe,le,fe,"\u222c","\\iint"),ie(oe,le,fe,"\u222d","\\iiint"),ie(oe,le,fe,"\u220f","\\prod"),ie(oe,le,fe,"\u2211","\\sum"),ie(oe,le,fe,"\u2a02","\\bigotimes"),ie(oe,le,fe,"\u2a01","\\bigoplus"),ie(oe,le,fe,"\u2a00","\\bigodot"),ie(oe,le,fe,"\u222e","\\oint"),ie(oe,le,fe,"\u222f","\\oiint"),ie(oe,le,fe,"\u2230","\\oiiint"),ie(oe,le,fe,"\u2a06","\\bigsqcup"),ie(oe,le,fe,"\u222b","\\smallint"),ie(se,le,pe,"\u2026","\\textellipsis"),ie(oe,le,pe,"\u2026","\\mathellipsis"),ie(se,le,pe,"\u2026","\\ldots",!0),ie(oe,le,pe,"\u2026","\\ldots",!0),ie(oe,le,pe,"\u22ef","\\@cdots",!0),ie(oe,le,pe,"\u22f1","\\ddots",!0),ie(oe,le,xe,"\u22ee","\\varvdots"),ie(oe,le,ce,"\u02ca","\\acute"),ie(oe,le,ce,"\u02cb","\\grave"),ie(oe,le,ce,"\xa8","\\ddot"),ie(oe,le,ce,"~","\\tilde"),ie(oe,le,ce,"\u02c9","\\bar"),ie(oe,le,ce,"\u02d8","\\breve"),ie(oe,le,ce,"\u02c7","\\check"),ie(oe,le,ce,"^","\\hat"),ie(oe,le,ce,"\u20d7","\\vec"),ie(oe,le,ce,"\u02d9","\\dot"),ie(oe,le,ce,"\u02da","\\mathring"),ie(oe,le,de,"\ue131","\\@imath"),ie(oe,le,de,"\ue237","\\@jmath"),ie(oe,le,xe,"\u0131","\u0131"),ie(oe,le,xe,"\u0237","\u0237"),ie(se,le,xe,"\u0131","\\i",!0),ie(se,le,xe,"\u0237","\\j",!0),ie(se,le,xe,"\xdf","\\ss",!0),ie(se,le,xe,"\xe6","\\ae",!0),ie(se,le,xe,"\u0153","\\oe",!0),ie(se,le,xe,"\xf8","\\o",!0),ie(se,le,xe,"\xc6","\\AE",!0),ie(se,le,xe,"\u0152","\\OE",!0),ie(se,le,xe,"\xd8","\\O",!0),ie(se,le,ce,"\u02ca","\\'"),ie(se,le,ce,"\u02cb","\\`"),ie(se,le,ce,"\u02c6","\\^"),ie(se,le,ce,"\u02dc","\\~"),ie(se,le,ce,"\u02c9","\\="),ie(se,le,ce,"\u02d8","\\u"),ie(se,le,ce,"\u02d9","\\."),ie(se,le,ce,"\xb8","\\c"),ie(se,le,ce,"\u02da","\\r"),ie(se,le,ce,"\u02c7","\\v"),ie(se,le,ce,"\xa8",'\\"'),ie(se,le,ce,"\u02dd","\\H"),ie(se,le,ce,"\u25ef","\\textcircled");var we={"--":!0,"---":!0,"``":!0,"''":!0};ie(se,le,xe,"\u2013","--",!0),ie(se,le,xe,"\u2013","\\textendash"),ie(se,le,xe,"\u2014","---",!0),ie(se,le,xe,"\u2014","\\textemdash"),ie(se,le,xe,"\u2018","`",!0),ie(se,le,xe,"\u2018","\\textquoteleft"),ie(se,le,xe,"\u2019","'",!0),ie(se,le,xe,"\u2019","\\textquoteright"),ie(se,le,xe,"\u201c","``",!0),ie(se,le,xe,"\u201c","\\textquotedblleft"),ie(se,le,xe,"\u201d","''",!0),ie(se,le,xe,"\u201d","\\textquotedblright"),ie(oe,le,xe,"\xb0","\\degree",!0),ie(se,le,xe,"\xb0","\\degree"),ie(se,le,xe,"\xb0","\\textdegree",!0),ie(oe,le,xe,"\xa3","\\pounds"),ie(oe,le,xe,"\xa3","\\mathsterling",!0),ie(se,le,xe,"\xa3","\\pounds"),ie(se,le,xe,"\xa3","\\textsterling",!0),ie(oe,he,xe,"\u2720","\\maltese"),ie(se,he,xe,"\u2720","\\maltese");for(var ke='0123456789/@."',Se=0;Se<ke.length;Se++){var Me=ke.charAt(Se);ie(oe,le,xe,Me,Me)}for(var ze='0123456789!@*()-=+";:?/.,',Ae=0;Ae<ze.length;Ae++){var Te=ze.charAt(Ae);ie(se,le,xe,Te,Te)}for(var Be="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz",Ce=0;Ce<Be.length;Ce++){var Ne=Be.charAt(Ce);ie(oe,le,de,Ne,Ne),ie(se,le,xe,Ne,Ne)}ie(oe,he,xe,"C","\u2102"),ie(se,he,xe,"C","\u2102"),ie(oe,he,xe,"H","\u210d"),ie(se,he,xe,"H","\u210d"),ie(oe,he,xe,"N","\u2115"),ie(se,he,xe,"N","\u2115"),ie(oe,he,xe,"P","\u2119"),ie(se,he,xe,"P","\u2119"),ie(oe,he,xe,"Q","\u211a"),ie(se,he,xe,"Q","\u211a"),ie(oe,he,xe,"R","\u211d"),ie(se,he,xe,"R","\u211d"),ie(oe,he,xe,"Z","\u2124"),ie(se,he,xe,"Z","\u2124"),ie(oe,le,de,"h","\u210e"),ie(se,le,de,"h","\u210e");for(var qe="",Ie=0;Ie<Be.length;Ie++){var Re=Be.charAt(Ie);ie(oe,le,de,Re,qe=String.fromCharCode(55349,56320+Ie)),ie(se,le,xe,Re,qe),ie(oe,le,de,Re,qe=String.fromCharCode(55349,56372+Ie)),ie(se,le,xe,Re,qe),ie(oe,le,de,Re,qe=String.fromCharCode(55349,56424+Ie)),ie(se,le,xe,Re,qe),ie(oe,le,de,Re,qe=String.fromCharCode(55349,56580+Ie)),ie(se,le,xe,Re,qe),ie(oe,le,de,Re,qe=String.fromCharCode(55349,56736+Ie)),ie(se,le,xe,Re,qe),ie(oe,le,de,Re,qe=String.fromCharCode(55349,56788+Ie)),ie(se,le,xe,Re,qe),ie(oe,le,de,Re,qe=String.fromCharCode(55349,56840+Ie)),ie(se,le,xe,Re,qe),ie(oe,le,de,Re,qe=String.fromCharCode(55349,56944+Ie)),ie(se,le,xe,Re,qe),Ie<26&&(ie(oe,le,de,Re,qe=String.fromCharCode(55349,56632+Ie)),ie(se,le,xe,Re,qe),ie(oe,le,de,Re,qe=String.fromCharCode(55349,56476+Ie)),ie(se,le,xe,Re,qe))}ie(oe,le,de,"k",qe=String.fromCharCode(55349,56668)),ie(se,le,xe,"k",qe);for(var He=0;He<10;He++){var Oe=He.toString();ie(oe,le,de,Oe,qe=String.fromCharCode(55349,57294+He)),ie(se,le,xe,Oe,qe),ie(oe,le,de,Oe,qe=String.fromCharCode(55349,57314+He)),ie(se,le,xe,Oe,qe),ie(oe,le,de,Oe,qe=String.fromCharCode(55349,57324+He)),ie(se,le,xe,Oe,qe),ie(oe,le,de,Oe,qe=String.fromCharCode(55349,57334+He)),ie(se,le,xe,Oe,qe)}for(var Ee="\xd0\xde\xfe",Le=0;Le<Ee.length;Le++){var De=Ee.charAt(Le);ie(oe,le,de,De,De),ie(se,le,xe,De,De)}var Ve=[["mathbf","textbf","Main-Bold"],["mathbf","textbf","Main-Bold"],["mathnormal","textit","Math-Italic"],["mathnormal","textit","Math-Italic"],["boldsymbol","boldsymbol","Main-BoldItalic"],["boldsymbol","boldsymbol","Main-BoldItalic"],["mathscr","textscr","Script-Regular"],["","",""],["","",""],["","",""],["mathfrak","textfrak","Fraktur-Regular"],["mathfrak","textfrak","Fraktur-Regular"],["mathbb","textbb","AMS-Regular"],["mathbb","textbb","AMS-Regular"],["","",""],["","",""],["mathsf","textsf","SansSerif-Regular"],["mathsf","textsf","SansSerif-Regular"],["mathboldsf","textboldsf","SansSerif-Bold"],["mathboldsf","textboldsf","SansSerif-Bold"],["mathitsf","textitsf","SansSerif-Italic"],["mathitsf","textitsf","SansSerif-Italic"],["","",""],["","",""],["mathtt","texttt","Typewriter-Regular"],["mathtt","texttt","Typewriter-Regular"]],Pe=[["mathbf","textbf","Main-Bold"],["","",""],["mathsf","textsf","SansSerif-Regular"],["mathboldsf","textboldsf","SansSerif-Bold"],["mathtt","texttt","Typewriter-Regular"]],Fe=function(e,t,r){return ae[r][e]&&ae[r][e].replace&&(e=ae[r][e].replace),{value:e,metrics:N(e,t,r)}},Ge=function(e,t,r,n,a){var i,o=Fe(e,t,r),s=o.metrics;if(e=o.value,s){var l=s.italic;("text"===r||n&&"mathit"===n.font)&&(l=0),i=new Z(e,s.height,s.depth,l,s.skew,s.width,a)}else"undefined"!=typeof console&&console.warn("No character metrics for '"+e+"' in style '"+t+"' and mode '"+r+"'"),i=new Z(e,0,0,0,0,0,a);if(n){i.maxFontSize=n.sizeMultiplier,n.style.isTight()&&i.classes.push("mtight");var h=n.getColor();h&&(i.style.color=h)}return i},Ue=function(e,t){if(G(e.classes)!==G(t.classes)||e.skew!==t.skew||e.maxFontSize!==t.maxFontSize)return!1;if(1===e.classes.length){var r=e.classes[0];if("mbin"===r||"mord"===r)return!1}for(var n in e.style)if(e.style.hasOwnProperty(n)&&e.style[n]!==t.style[n])return!1;for(var a in t.style)if(t.style.hasOwnProperty(a)&&e.style[a]!==t.style[a])return!1;return!0},Ye=function(e){for(var t=0,r=0,n=0,a=0;a<e.children.length;a++){var i=e.children[a];i.height>t&&(t=i.height),i.depth>r&&(r=i.depth),i.maxFontSize>n&&(n=i.maxFontSize)}e.height=t,e.depth=r,e.maxFontSize=n},Xe=function(e,t,r,n){var a=new W(e,t,r,n);return Ye(a),a},We=function(e,t,r,n){return new W(e,t,r,n)},_e=function(e){var t=new A(e);return Ye(t),t},je=function(e,t,r){var n="";switch(e){case"amsrm":n="AMS";break;case"textrm":n="Main";break;case"textsf":n="SansSerif";break;case"texttt":n="Typewriter";break;default:n=e}return n+"-"+("textbf"===t&&"textit"===r?"BoldItalic":"textbf"===t?"Bold":"textit"===t?"Italic":"Regular")},$e={mathbf:{variant:"bold",fontName:"Main-Bold"},mathrm:{variant:"normal",fontName:"Main-Regular"},textit:{variant:"italic",fontName:"Main-Italic"},mathit:{variant:"italic",fontName:"Main-Italic"},mathnormal:{variant:"italic",fontName:"Math-Italic"},mathbb:{variant:"double-struck",fontName:"AMS-Regular"},mathcal:{variant:"script",fontName:"Caligraphic-Regular"},mathfrak:{variant:"fraktur",fontName:"Fraktur-Regular"},mathscr:{variant:"script",fontName:"Script-Regular"},mathsf:{variant:"sans-serif",fontName:"SansSerif-Regular"},mathtt:{variant:"monospace",fontName:"Typewriter-Regular"}},Ze={vec:["vec",.471,.714],oiintSize1:["oiintSize1",.957,.499],oiintSize2:["oiintSize2",1.472,.659],oiiintSize1:["oiiintSize1",1.304,.499],oiiintSize2:["oiiintSize2",1.98,.659]},Ke={fontMap:$e,makeSymbol:Ge,mathsym:function(e,t,r,n){return void 0===n&&(n=[]),"boldsymbol"===r.font&&Fe(e,"Main-Bold",t).metrics?Ge(e,"Main-Bold",t,r,n.concat(["mathbf"])):"\\"===e||"main"===ae[t][e].font?Ge(e,"Main-Regular",t,r,n):Ge(e,"AMS-Regular",t,r,n.concat(["amsrm"]))},makeSpan:Xe,makeSvgSpan:We,makeLineSpan:function(e,t,r){var n=Xe([e],[],t);return n.height=Math.max(r||t.fontMetrics().defaultRuleThickness,t.minRuleThickness),n.style.borderBottomWidth=F(n.height),n.maxFontSize=1,n},makeAnchor:function(e,t,r,n){var a=new _(e,t,r,n);return Ye(a),a},makeFragment:_e,wrapFragment:function(e,t){return e instanceof A?Xe([],[e],t):e},makeVList:function(e,t){for(var r=function(e){if("individualShift"===e.positionType){for(var t=e.children,r=[t[0]],n=-t[0].shift-t[0].elem.depth,a=n,i=1;i<t.length;i++){var o=-t[i].shift-a-t[i].elem.depth,s=o-(t[i-1].elem.height+t[i-1].elem.depth);a+=o,r.push({type:"kern",size:s}),r.push(t[i])}return{children:r,depth:n}}var l;if("top"===e.positionType){for(var h=e.positionData,c=0;c<e.children.length;c++){var m=e.children[c];h-="kern"===m.type?m.size:m.elem.height+m.elem.depth}l=h}else if("bottom"===e.positionType)l=-e.positionData;else{var u=e.children[0];if("elem"!==u.type)throw new Error('First child must have type "elem".');if("shift"===e.positionType)l=-u.elem.depth-e.positionData;else{if("firstBaseline"!==e.positionType)throw new Error("Invalid positionType "+e.positionType+".");l=-u.elem.depth}}return{children:e.children,depth:l}}(e),n=r.children,a=r.depth,i=0,o=0;o<n.length;o++){var s=n[o];if("elem"===s.type){var l=s.elem;i=Math.max(i,l.maxFontSize,l.height)}}i+=2;var h=Xe(["pstrut"],[]);h.style.height=F(i);for(var c=[],m=a,u=a,p=a,d=0;d<n.length;d++){var f=n[d];if("kern"===f.type)p+=f.size;else{var g=f.elem,v=f.wrapperClasses||[],b=f.wrapperStyle||{},y=Xe(v,[h,g],void 0,b);y.style.top=F(-i-p-g.depth),f.marginLeft&&(y.style.marginLeft=f.marginLeft),f.marginRight&&(y.style.marginRight=f.marginRight),c.push(y),p+=g.height+g.depth}m=Math.min(m,p),u=Math.max(u,p)}var x,w=Xe(["vlist"],c);if(w.style.height=F(u),m<0){var k=Xe([],[]),S=Xe(["vlist"],[k]);S.style.height=F(-m);var M=Xe(["vlist-s"],[new Z("\u200b")]);x=[Xe(["vlist-r"],[w,M]),Xe(["vlist-r"],[S])]}else x=[Xe(["vlist-r"],[w])];var z=Xe(["vlist-t"],x);return 2===x.length&&z.classes.push("vlist-t2"),z.height=u,z.depth=-m,z},makeOrd:function(e,t,r){var a=e.mode,i=e.text,o=["mord"],s="math"===a||"text"===a&&t.font,l=s?t.font:t.fontFamily;if(55349===i.charCodeAt(0)){var h=function(e,t){var r=1024*(e.charCodeAt(0)-55296)+(e.charCodeAt(1)-56320)+65536,a="math"===t?0:1;if(119808<=r&&r<120484){var i=Math.floor((r-119808)/26);return[Ve[i][2],Ve[i][a]]}if(120782<=r&&r<=120831){var o=Math.floor((r-120782)/10);return[Pe[o][2],Pe[o][a]]}if(120485===r||120486===r)return[Ve[0][2],Ve[0][a]];if(120486<r&&r<120782)return["",""];throw new n("Unsupported character: "+e)}(i,a),c=h[0],m=h[1];return Ge(i,c,a,t,o.concat(m))}if(l){var u,p;if("boldsymbol"===l){var d=function(e,t,r,n,a){return"textord"!==a&&Fe(e,"Math-BoldItalic",t).metrics?{fontName:"Math-BoldItalic",fontClass:"boldsymbol"}:{fontName:"Main-Bold",fontClass:"mathbf"}}(i,a,0,0,r);u=d.fontName,p=[d.fontClass]}else s?(u=$e[l].fontName,p=[l]):(u=je(l,t.fontWeight,t.fontShape),p=[l,t.fontWeight,t.fontShape]);if(Fe(i,u,a).metrics)return Ge(i,u,a,t,o.concat(p));if(we.hasOwnProperty(i)&&"Typewriter"===u.slice(0,10)){for(var f=[],g=0;g<i.length;g++)f.push(Ge(i[g],u,a,t,o.concat(p)));return _e(f)}}if("mathord"===r)return Ge(i,"Math-Italic",a,t,o.concat(["mathnormal"]));if("textord"===r){var v=ae[a][i]&&ae[a][i].font;if("ams"===v){var b=je("amsrm",t.fontWeight,t.fontShape);return Ge(i,b,a,t,o.concat("amsrm",t.fontWeight,t.fontShape))}if("main"!==v&&v){var y=je(v,t.fontWeight,t.fontShape);return Ge(i,y,a,t,o.concat(y,t.fontWeight,t.fontShape))}var x=je("textrm",t.fontWeight,t.fontShape);return Ge(i,x,a,t,o.concat(t.fontWeight,t.fontShape))}throw new Error("unexpected type: "+r+" in makeOrd")},makeGlue:function(e,t){var r=Xe(["mspace"],[],t),n=P(e,t);return r.style.marginRight=F(n),r},staticSvg:function(e,t){var r=Ze[e],n=r[0],a=r[1],i=r[2],o=new J(n),s=new K([o],{width:F(a),height:F(i),style:"width:"+F(a),viewBox:"0 0 "+1e3*a+" "+1e3*i,preserveAspectRatio:"xMinYMin"}),l=We(["overlay"],[s],t);return l.height=i,l.style.height=F(i),l.style.width=F(a),l},svgData:Ze,tryCombineChars:function(e){for(var t=0;t<e.length-1;t++){var r=e[t],n=e[t+1];r instanceof Z&&n instanceof Z&&Ue(r,n)&&(r.text+=n.text,r.height=Math.max(r.height,n.height),r.depth=Math.max(r.depth,n.depth),r.italic=n.italic,e.splice(t+1,1),t--)}return e}},Je={number:3,unit:"mu"},Qe={number:4,unit:"mu"},et={number:5,unit:"mu"},tt={mord:{mop:Je,mbin:Qe,mrel:et,minner:Je},mop:{mord:Je,mop:Je,mrel:et,minner:Je},mbin:{mord:Qe,mop:Qe,mopen:Qe,minner:Qe},mrel:{mord:et,mop:et,mopen:et,minner:et},mopen:{},mclose:{mop:Je,mbin:Qe,mrel:et,minner:Je},mpunct:{mord:Je,mop:Je,mrel:et,mopen:Je,mclose:Je,mpunct:Je,minner:Je},minner:{mord:Je,mop:Je,mbin:Qe,mrel:et,mopen:Je,mpunct:Je,minner:Je}},rt={mord:{mop:Je},mop:{mord:Je,mop:Je},mbin:{},mrel:{},mopen:{},mclose:{mop:Je},mpunct:{},minner:{mop:Je}},nt={},at={},it={};function ot(e){for(var t=e.type,r=e.names,n=e.props,a=e.handler,i=e.htmlBuilder,o=e.mathmlBuilder,s={type:t,numArgs:n.numArgs,argTypes:n.argTypes,allowedInArgument:!!n.allowedInArgument,allowedInText:!!n.allowedInText,allowedInMath:void 0===n.allowedInMath||n.allowedInMath,numOptionalArgs:n.numOptionalArgs||0,infix:!!n.infix,primitive:!!n.primitive,handler:a},l=0;l<r.length;++l)nt[r[l]]=s;t&&(i&&(at[t]=i),o&&(it[t]=o))}function st(e){ot({type:e.type,names:[],props:{numArgs:0},handler:function(){throw new Error("Should never be called.")},htmlBuilder:e.htmlBuilder,mathmlBuilder:e.mathmlBuilder})}var lt=function(e){return"ordgroup"===e.type&&1===e.body.length?e.body[0]:e},ht=function(e){return"ordgroup"===e.type?e.body:[e]},ct=Ke.makeSpan,mt=["leftmost","mbin","mopen","mrel","mop","mpunct"],ut=["rightmost","mrel","mclose","mpunct"],pt={display:x.DISPLAY,text:x.TEXT,script:x.SCRIPT,scriptscript:x.SCRIPTSCRIPT},dt={mord:"mord",mop:"mop",mbin:"mbin",mrel:"mrel",mopen:"mopen",mclose:"mclose",mpunct:"mpunct",minner:"minner"},ft=function(e,t,r,n){void 0===n&&(n=[null,null]);for(var a=[],i=0;i<e.length;i++){var o=wt(e[i],t);if(o instanceof A){var s=o.children;a.push.apply(a,s)}else a.push(o)}if(Ke.tryCombineChars(a),!r)return a;var h=t;if(1===e.length){var c=e[0];"sizing"===c.type?h=t.havingSize(c.size):"styling"===c.type&&(h=t.havingStyle(pt[c.style]))}var m=ct([n[0]||"leftmost"],[],t),u=ct([n[1]||"rightmost"],[],t),p="root"===r;return gt(a,(function(e,t){var r=t.classes[0],n=e.classes[0];"mbin"===r&&l.contains(ut,n)?t.classes[0]="mord":"mbin"===n&&l.contains(mt,r)&&(e.classes[0]="mord")}),{node:m},u,p),gt(a,(function(e,t){var r=yt(t),n=yt(e),a=r&&n?e.hasClass("mtight")?rt[r][n]:tt[r][n]:null;if(a)return Ke.makeGlue(a,h)}),{node:m},u,p),a},gt=function e(t,r,n,a,i){a&&t.push(a);for(var o=0;o<t.length;o++){var s=t[o],l=vt(s);if(l)e(l.children,r,n,null,i);else{var h=!s.hasClass("mspace");if(h){var c=r(s,n.node);c&&(n.insertAfter?n.insertAfter(c):(t.unshift(c),o++))}h?n.node=s:i&&s.hasClass("newline")&&(n.node=ct(["leftmost"])),n.insertAfter=function(e){return function(r){t.splice(e+1,0,r),o++}}(o)}}a&&t.pop()},vt=function(e){return e instanceof A||e instanceof _||e instanceof W&&e.hasClass("enclosing")?e:null},bt=function e(t,r){var n=vt(t);if(n){var a=n.children;if(a.length){if("right"===r)return e(a[a.length-1],"right");if("left"===r)return e(a[0],"left")}}return t},yt=function(e,t){return e?(t&&(e=bt(e,t)),dt[e.classes[0]]||null):null},xt=function(e,t){var r=["nulldelimiter"].concat(e.baseSizingClasses());return ct(t.concat(r))},wt=function(e,t,r){if(!e)return ct();if(at[e.type]){var a=at[e.type](e,t);if(r&&t.size!==r.size){a=ct(t.sizingClasses(r),[a],t);var i=t.sizeMultiplier/r.sizeMultiplier;a.height*=i,a.depth*=i}return a}throw new n("Got group of unknown type: '"+e.type+"'")};function kt(e,t){var r=ct(["base"],e,t),n=ct(["strut"]);return n.style.height=F(r.height+r.depth),r.depth&&(n.style.verticalAlign=F(-r.depth)),r.children.unshift(n),r}function St(e,t){var r=null;1===e.length&&"tag"===e[0].type&&(r=e[0].tag,e=e[0].body);var n,a=ft(e,t,"root");2===a.length&&a[1].hasClass("tag")&&(n=a.pop());for(var i,o=[],s=[],l=0;l<a.length;l++)if(s.push(a[l]),a[l].hasClass("mbin")||a[l].hasClass("mrel")||a[l].hasClass("allowbreak")){for(var h=!1;l<a.length-1&&a[l+1].hasClass("mspace")&&!a[l+1].hasClass("newline");)l++,s.push(a[l]),a[l].hasClass("nobreak")&&(h=!0);h||(o.push(kt(s,t)),s=[])}else a[l].hasClass("newline")&&(s.pop(),s.length>0&&(o.push(kt(s,t)),s=[]),o.push(a[l]));s.length>0&&o.push(kt(s,t)),r?((i=kt(ft(r,t,!0))).classes=["tag"],o.push(i)):n&&o.push(n);var c=ct(["katex-html"],o);if(c.setAttribute("aria-hidden","true"),i){var m=i.children[0];m.style.height=F(c.height+c.depth),c.depth&&(m.style.verticalAlign=F(-c.depth))}return c}function Mt(e){return new A(e)}var zt=function(){function e(e,t,r){this.type=void 0,this.attributes=void 0,this.children=void 0,this.classes=void 0,this.type=e,this.attributes={},this.children=t||[],this.classes=r||[]}var t=e.prototype;return t.setAttribute=function(e,t){this.attributes[e]=t},t.getAttribute=function(e){return this.attributes[e]},t.toNode=function(){var e=document.createElementNS("http://www.w3.org/1998/Math/MathML",this.type);for(var t in this.attributes)Object.prototype.hasOwnProperty.call(this.attributes,t)&&e.setAttribute(t,this.attributes[t]);this.classes.length>0&&(e.className=G(this.classes));for(var r=0;r<this.children.length;r++)e.appendChild(this.children[r].toNode());return e},t.toMarkup=function(){var e="<"+this.type;for(var t in this.attributes)Object.prototype.hasOwnProperty.call(this.attributes,t)&&(e+=" "+t+'="',e+=l.escape(this.attributes[t]),e+='"');this.classes.length>0&&(e+=' class ="'+l.escape(G(this.classes))+'"'),e+=">";for(var r=0;r<this.children.length;r++)e+=this.children[r].toMarkup();return e+="</"+this.type+">"},t.toText=function(){return this.children.map((function(e){return e.toText()})).join("")},e}(),At=function(){function e(e){this.text=void 0,this.text=e}var t=e.prototype;return t.toNode=function(){return document.createTextNode(this.text)},t.toMarkup=function(){return l.escape(this.toText())},t.toText=function(){return this.text},e}(),Tt={MathNode:zt,TextNode:At,SpaceNode:function(){function e(e){this.width=void 0,this.character=void 0,this.width=e,this.character=e>=.05555&&e<=.05556?"\u200a":e>=.1666&&e<=.1667?"\u2009":e>=.2222&&e<=.2223?"\u2005":e>=.2777&&e<=.2778?"\u2005\u200a":e>=-.05556&&e<=-.05555?"\u200a\u2063":e>=-.1667&&e<=-.1666?"\u2009\u2063":e>=-.2223&&e<=-.2222?"\u205f\u2063":e>=-.2778&&e<=-.2777?"\u2005\u2063":null}var t=e.prototype;return t.toNode=function(){if(this.character)return document.createTextNode(this.character);var e=document.createElementNS("http://www.w3.org/1998/Math/MathML","mspace");return e.setAttribute("width",F(this.width)),e},t.toMarkup=function(){return this.character?"<mtext>"+this.character+"</mtext>":'<mspace width="'+F(this.width)+'"/>'},t.toText=function(){return this.character?this.character:" "},e}(),newDocumentFragment:Mt},Bt=function(e,t,r){return!ae[t][e]||!ae[t][e].replace||55349===e.charCodeAt(0)||we.hasOwnProperty(e)&&r&&(r.fontFamily&&"tt"===r.fontFamily.slice(4,6)||r.font&&"tt"===r.font.slice(4,6))||(e=ae[t][e].replace),new Tt.TextNode(e)},Ct=function(e){return 1===e.length?e[0]:new Tt.MathNode("mrow",e)},Nt=function(e,t){if("texttt"===t.fontFamily)return"monospace";if("textsf"===t.fontFamily)return"textit"===t.fontShape&&"textbf"===t.fontWeight?"sans-serif-bold-italic":"textit"===t.fontShape?"sans-serif-italic":"textbf"===t.fontWeight?"bold-sans-serif":"sans-serif";if("textit"===t.fontShape&&"textbf"===t.fontWeight)return"bold-italic";if("textit"===t.fontShape)return"italic";if("textbf"===t.fontWeight)return"bold";var r=t.font;if(!r||"mathnormal"===r)return null;var n=e.mode;if("mathit"===r)return"italic";if("boldsymbol"===r)return"textord"===e.type?"bold":"bold-italic";if("mathbf"===r)return"bold";if("mathbb"===r)return"double-struck";if("mathfrak"===r)return"fraktur";if("mathscr"===r||"mathcal"===r)return"script";if("mathsf"===r)return"sans-serif";if("mathtt"===r)return"monospace";var a=e.text;return l.contains(["\\imath","\\jmath"],a)?null:(ae[n][a]&&ae[n][a].replace&&(a=ae[n][a].replace),N(a,Ke.fontMap[r].fontName,n)?Ke.fontMap[r].variant:null)},qt=function(e,t,r){if(1===e.length){var n=Rt(e[0],t);return r&&n instanceof zt&&"mo"===n.type&&(n.setAttribute("lspace","0em"),n.setAttribute("rspace","0em")),[n]}for(var a,i=[],o=0;o<e.length;o++){var s=Rt(e[o],t);if(s instanceof zt&&a instanceof zt){if("mtext"===s.type&&"mtext"===a.type&&s.getAttribute("mathvariant")===a.getAttribute("mathvariant")){var l;(l=a.children).push.apply(l,s.children);continue}if("mn"===s.type&&"mn"===a.type){var h;(h=a.children).push.apply(h,s.children);continue}if("mi"===s.type&&1===s.children.length&&"mn"===a.type){var c=s.children[0];if(c instanceof At&&"."===c.text){var m;(m=a.children).push.apply(m,s.children);continue}}else if("mi"===a.type&&1===a.children.length){var u=a.children[0];if(u instanceof At&&"\u0338"===u.text&&("mo"===s.type||"mi"===s.type||"mn"===s.type)){var p=s.children[0];p instanceof At&&p.text.length>0&&(p.text=p.text.slice(0,1)+"\u0338"+p.text.slice(1),i.pop())}}}i.push(s),a=s}return i},It=function(e,t,r){return Ct(qt(e,t,r))},Rt=function(e,t){if(!e)return new Tt.MathNode("mrow");if(it[e.type])return it[e.type](e,t);throw new n("Got group of unknown type: '"+e.type+"'")};function Ht(e,t,r,n,a){var i,o=qt(e,r);i=1===o.length&&o[0]instanceof zt&&l.contains(["mrow","mtable"],o[0].type)?o[0]:new Tt.MathNode("mrow",o);var s=new Tt.MathNode("annotation",[new Tt.TextNode(t)]);s.setAttribute("encoding","application/x-tex");var h=new Tt.MathNode("semantics",[i,s]),c=new Tt.MathNode("math",[h]);c.setAttribute("xmlns","http://www.w3.org/1998/Math/MathML"),n&&c.setAttribute("display","block");var m=a?"katex":"katex-mathml";return Ke.makeSpan([m],[c])}var Ot=function(e){return new E({style:e.displayMode?x.DISPLAY:x.TEXT,maxSize:e.maxSize,minRuleThickness:e.minRuleThickness})},Et=function(e,t){if(t.displayMode){var r=["katex-display"];t.leqno&&r.push("leqno"),t.fleqn&&r.push("fleqn"),e=Ke.makeSpan(r,[e])}return e},Lt=function(e,t,r){var n,a=Ot(r);if("mathml"===r.output)return Ht(e,t,a,r.displayMode,!0);if("html"===r.output){var i=St(e,a);n=Ke.makeSpan(["katex"],[i])}else{var o=Ht(e,t,a,r.displayMode,!1),s=St(e,a);n=Ke.makeSpan(["katex"],[o,s])}return Et(n,r)},Dt={widehat:"^",widecheck:"\u02c7",widetilde:"~",utilde:"~",overleftarrow:"\u2190",underleftarrow:"\u2190",xleftarrow:"\u2190",overrightarrow:"\u2192",underrightarrow:"\u2192",xrightarrow:"\u2192",underbrace:"\u23df",overbrace:"\u23de",overgroup:"\u23e0",undergroup:"\u23e1",overleftrightarrow:"\u2194",underleftrightarrow:"\u2194",xleftrightarrow:"\u2194",Overrightarrow:"\u21d2",xRightarrow:"\u21d2",overleftharpoon:"\u21bc",xleftharpoonup:"\u21bc",overrightharpoon:"\u21c0",xrightharpoonup:"\u21c0",xLeftarrow:"\u21d0",xLeftrightarrow:"\u21d4",xhookleftarrow:"\u21a9",xhookrightarrow:"\u21aa",xmapsto:"\u21a6",xrightharpoondown:"\u21c1",xleftharpoondown:"\u21bd",xrightleftharpoons:"\u21cc",xleftrightharpoons:"\u21cb",xtwoheadleftarrow:"\u219e",xtwoheadrightarrow:"\u21a0",xlongequal:"=",xtofrom:"\u21c4",xrightleftarrows:"\u21c4",xrightequilibrium:"\u21cc",xleftequilibrium:"\u21cb","\\cdrightarrow":"\u2192","\\cdleftarrow":"\u2190","\\cdlongequal":"="},Vt={overrightarrow:[["rightarrow"],.888,522,"xMaxYMin"],overleftarrow:[["leftarrow"],.888,522,"xMinYMin"],underrightarrow:[["rightarrow"],.888,522,"xMaxYMin"],underleftarrow:[["leftarrow"],.888,522,"xMinYMin"],xrightarrow:[["rightarrow"],1.469,522,"xMaxYMin"],"\\cdrightarrow":[["rightarrow"],3,522,"xMaxYMin"],xleftarrow:[["leftarrow"],1.469,522,"xMinYMin"],"\\cdleftarrow":[["leftarrow"],3,522,"xMinYMin"],Overrightarrow:[["doublerightarrow"],.888,560,"xMaxYMin"],xRightarrow:[["doublerightarrow"],1.526,560,"xMaxYMin"],xLeftarrow:[["doubleleftarrow"],1.526,560,"xMinYMin"],overleftharpoon:[["leftharpoon"],.888,522,"xMinYMin"],xleftharpoonup:[["leftharpoon"],.888,522,"xMinYMin"],xleftharpoondown:[["leftharpoondown"],.888,522,"xMinYMin"],overrightharpoon:[["rightharpoon"],.888,522,"xMaxYMin"],xrightharpoonup:[["rightharpoon"],.888,522,"xMaxYMin"],xrightharpoondown:[["rightharpoondown"],.888,522,"xMaxYMin"],xlongequal:[["longequal"],.888,334,"xMinYMin"],"\\cdlongequal":[["longequal"],3,334,"xMinYMin"],xtwoheadleftarrow:[["twoheadleftarrow"],.888,334,"xMinYMin"],xtwoheadrightarrow:[["twoheadrightarrow"],.888,334,"xMaxYMin"],overleftrightarrow:[["leftarrow","rightarrow"],.888,522],overbrace:[["leftbrace","midbrace","rightbrace"],1.6,548],underbrace:[["leftbraceunder","midbraceunder","rightbraceunder"],1.6,548],underleftrightarrow:[["leftarrow","rightarrow"],.888,522],xleftrightarrow:[["leftarrow","rightarrow"],1.75,522],xLeftrightarrow:[["doubleleftarrow","doublerightarrow"],1.75,560],xrightleftharpoons:[["leftharpoondownplus","rightharpoonplus"],1.75,716],xleftrightharpoons:[["leftharpoonplus","rightharpoondownplus"],1.75,716],xhookleftarrow:[["leftarrow","righthook"],1.08,522],xhookrightarrow:[["lefthook","rightarrow"],1.08,522],overlinesegment:[["leftlinesegment","rightlinesegment"],.888,522],underlinesegment:[["leftlinesegment","rightlinesegment"],.888,522],overgroup:[["leftgroup","rightgroup"],.888,342],undergroup:[["leftgroupunder","rightgroupunder"],.888,342],xmapsto:[["leftmapsto","rightarrow"],1.5,522],xtofrom:[["leftToFrom","rightToFrom"],1.75,528],xrightleftarrows:[["baraboveleftarrow","rightarrowabovebar"],1.75,901],xrightequilibrium:[["baraboveshortleftharpoon","rightharpoonaboveshortbar"],1.75,716],xleftequilibrium:[["shortbaraboveleftharpoon","shortrightharpoonabovebar"],1.75,716]},Pt=function(e,t,r,n,a){var i,o=e.height+e.depth+r+n;if(/fbox|color|angl/.test(t)){if(i=Ke.makeSpan(["stretchy",t],[],a),"fbox"===t){var s=a.color&&a.getColor();s&&(i.style.borderColor=s)}}else{var l=[];/^[bx]cancel$/.test(t)&&l.push(new Q({x1:"0",y1:"0",x2:"100%",y2:"100%","stroke-width":"0.046em"})),/^x?cancel$/.test(t)&&l.push(new Q({x1:"0",y1:"100%",x2:"100%",y2:"0","stroke-width":"0.046em"}));var h=new K(l,{width:"100%",height:F(o)});i=Ke.makeSvgSpan([],[h],a)}return i.height=o,i.style.height=F(o),i},Ft=function(e){var t=new Tt.MathNode("mo",[new Tt.TextNode(Dt[e.replace(/^\\/,"")])]);return t.setAttribute("stretchy","true"),t},Gt=function(e,t){var r=function(){var r=4e5,n=e.label.slice(1);if(l.contains(["widehat","widecheck","widetilde","utilde"],n)){var a,i,o,s="ordgroup"===(d=e.base).type?d.body.length:1;if(s>5)"widehat"===n||"widecheck"===n?(a=420,r=2364,o=.42,i=n+"4"):(a=312,r=2340,o=.34,i="tilde4");else{var h=[1,1,2,2,3,3][s];"widehat"===n||"widecheck"===n?(r=[0,1062,2364,2364,2364][h],a=[0,239,300,360,420][h],o=[0,.24,.3,.3,.36,.42][h],i=n+h):(r=[0,600,1033,2339,2340][h],a=[0,260,286,306,312][h],o=[0,.26,.286,.3,.306,.34][h],i="tilde"+h)}var c=new J(i),m=new K([c],{width:"100%",height:F(o),viewBox:"0 0 "+r+" "+a,preserveAspectRatio:"none"});return{span:Ke.makeSvgSpan([],[m],t),minWidth:0,height:o}}var u,p,d,f=[],g=Vt[n],v=g[0],b=g[1],y=g[2],x=y/1e3,w=v.length;if(1===w)u=["hide-tail"],p=[g[3]];else if(2===w)u=["halfarrow-left","halfarrow-right"],p=["xMinYMin","xMaxYMin"];else{if(3!==w)throw new Error("Correct katexImagesData or update code here to support\n "+w+" children.");u=["brace-left","brace-center","brace-right"],p=["xMinYMin","xMidYMin","xMaxYMin"]}for(var k=0;k<w;k++){var S=new J(v[k]),M=new K([S],{width:"400em",height:F(x),viewBox:"0 0 "+r+" "+y,preserveAspectRatio:p[k]+" slice"}),z=Ke.makeSvgSpan([u[k]],[M],t);if(1===w)return{span:z,minWidth:b,height:x};z.style.height=F(x),f.push(z)}return{span:Ke.makeSpan(["stretchy"],f,t),minWidth:b,height:x}}(),n=r.span,a=r.minWidth,i=r.height;return n.height=i,n.style.height=F(i),a>0&&(n.style.minWidth=F(a)),n};function Ut(e,t){if(!e||e.type!==t)throw new Error("Expected node of type "+t+", but got "+(e?"node of type "+e.type:String(e)));return e}function Yt(e){var t=Xt(e);if(!t)throw new Error("Expected node of symbol group type, but got "+(e?"node of type "+e.type:String(e)));return t}function Xt(e){return e&&("atom"===e.type||re.hasOwnProperty(e.type))?e:null}var Wt=function(e,t){var r,n,a;e&&"supsub"===e.type?(r=(n=Ut(e.base,"accent")).base,e.base=r,a=function(e){if(e instanceof W)return e;throw new Error("Expected span<HtmlDomNode> but got "+String(e)+".")}(wt(e,t)),e.base=n):r=(n=Ut(e,"accent")).base;var i=wt(r,t.havingCrampedStyle()),o=0;if(n.isShifty&&l.isCharacterBox(r)){var s=l.getBaseElem(r);o=ee(wt(s,t.havingCrampedStyle())).skew}var h,c="\\c"===n.label,m=c?i.height+i.depth:Math.min(i.height,t.fontMetrics().xHeight);if(n.isStretchy)h=Gt(n,t),h=Ke.makeVList({positionType:"firstBaseline",children:[{type:"elem",elem:i},{type:"elem",elem:h,wrapperClasses:["svg-align"],wrapperStyle:o>0?{width:"calc(100% - "+F(2*o)+")",marginLeft:F(2*o)}:void 0}]},t);else{var u,p;"\\vec"===n.label?(u=Ke.staticSvg("vec",t),p=Ke.svgData.vec[1]):((u=ee(u=Ke.makeOrd({mode:n.mode,text:n.label},t,"textord"))).italic=0,p=u.width,c&&(m+=u.depth)),h=Ke.makeSpan(["accent-body"],[u]);var d="\\textcircled"===n.label;d&&(h.classes.push("accent-full"),m=i.height);var f=o;d||(f-=p/2),h.style.left=F(f),"\\textcircled"===n.label&&(h.style.top=".2em"),h=Ke.makeVList({positionType:"firstBaseline",children:[{type:"elem",elem:i},{type:"kern",size:-m},{type:"elem",elem:h}]},t)}var g=Ke.makeSpan(["mord","accent"],[h],t);return a?(a.children[0]=g,a.height=Math.max(g.height,a.height),a.classes[0]="mord",a):g},_t=function(e,t){var r=e.isStretchy?Ft(e.label):new Tt.MathNode("mo",[Bt(e.label,e.mode)]),n=new Tt.MathNode("mover",[Rt(e.base,t),r]);return n.setAttribute("accent","true"),n},jt=new RegExp(["\\acute","\\grave","\\ddot","\\tilde","\\bar","\\breve","\\check","\\hat","\\vec","\\dot","\\mathring"].map((function(e){return"\\"+e})).join("|"));ot({type:"accent",names:["\\acute","\\grave","\\ddot","\\tilde","\\bar","\\breve","\\check","\\hat","\\vec","\\dot","\\mathring","\\widecheck","\\widehat","\\widetilde","\\overrightarrow","\\overleftarrow","\\Overrightarrow","\\overleftrightarrow","\\overgroup","\\overlinesegment","\\overleftharpoon","\\overrightharpoon"],props:{numArgs:1},handler:function(e,t){var r=lt(t[0]),n=!jt.test(e.funcName),a=!n||"\\widehat"===e.funcName||"\\widetilde"===e.funcName||"\\widecheck"===e.funcName;return{type:"accent",mode:e.parser.mode,label:e.funcName,isStretchy:n,isShifty:a,base:r}},htmlBuilder:Wt,mathmlBuilder:_t}),ot({type:"accent",names:["\\'","\\`","\\^","\\~","\\=","\\u","\\.",'\\"',"\\c","\\r","\\H","\\v","\\textcircled"],props:{numArgs:1,allowedInText:!0,allowedInMath:!0,argTypes:["primitive"]},handler:function(e,t){var r=t[0],n=e.parser.mode;return"math"===n&&(e.parser.settings.reportNonstrict("mathVsTextAccents","LaTeX's accent "+e.funcName+" works only in text mode"),n="text"),{type:"accent",mode:n,label:e.funcName,isStretchy:!1,isShifty:!0,base:r}},htmlBuilder:Wt,mathmlBuilder:_t}),ot({type:"accentUnder",names:["\\underleftarrow","\\underrightarrow","\\underleftrightarrow","\\undergroup","\\underlinesegment","\\utilde"],props:{numArgs:1},handler:function(e,t){var r=e.parser,n=e.funcName,a=t[0];return{type:"accentUnder",mode:r.mode,label:n,base:a}},htmlBuilder:function(e,t){var r=wt(e.base,t),n=Gt(e,t),a="\\utilde"===e.label?.12:0,i=Ke.makeVList({positionType:"top",positionData:r.height,children:[{type:"elem",elem:n,wrapperClasses:["svg-align"]},{type:"kern",size:a},{type:"elem",elem:r}]},t);return Ke.makeSpan(["mord","accentunder"],[i],t)},mathmlBuilder:function(e,t){var r=Ft(e.label),n=new Tt.MathNode("munder",[Rt(e.base,t),r]);return n.setAttribute("accentunder","true"),n}});var $t=function(e){var t=new Tt.MathNode("mpadded",e?[e]:[]);return t.setAttribute("width","+0.6em"),t.setAttribute("lspace","0.3em"),t};ot({type:"xArrow",names:["\\xleftarrow","\\xrightarrow","\\xLeftarrow","\\xRightarrow","\\xleftrightarrow","\\xLeftrightarrow","\\xhookleftarrow","\\xhookrightarrow","\\xmapsto","\\xrightharpoondown","\\xrightharpoonup","\\xleftharpoondown","\\xleftharpoonup","\\xrightleftharpoons","\\xleftrightharpoons","\\xlongequal","\\xtwoheadrightarrow","\\xtwoheadleftarrow","\\xtofrom","\\xrightleftarrows","\\xrightequilibrium","\\xleftequilibrium","\\\\cdrightarrow","\\\\cdleftarrow","\\\\cdlongequal"],props:{numArgs:1,numOptionalArgs:1},handler:function(e,t,r){var n=e.parser,a=e.funcName;return{type:"xArrow",mode:n.mode,label:a,body:t[0],below:r[0]}},htmlBuilder:function(e,t){var r,n=t.style,a=t.havingStyle(n.sup()),i=Ke.wrapFragment(wt(e.body,a,t),t),o="\\x"===e.label.slice(0,2)?"x":"cd";i.classes.push(o+"-arrow-pad"),e.below&&(a=t.havingStyle(n.sub()),(r=Ke.wrapFragment(wt(e.below,a,t),t)).classes.push(o+"-arrow-pad"));var s,l=Gt(e,t),h=-t.fontMetrics().axisHeight+.5*l.height,c=-t.fontMetrics().axisHeight-.5*l.height-.111;if((i.depth>.25||"\\xleftequilibrium"===e.label)&&(c-=i.depth),r){var m=-t.fontMetrics().axisHeight+r.height+.5*l.height+.111;s=Ke.makeVList({positionType:"individualShift",children:[{type:"elem",elem:i,shift:c},{type:"elem",elem:l,shift:h},{type:"elem",elem:r,shift:m}]},t)}else s=Ke.makeVList({positionType:"individualShift",children:[{type:"elem",elem:i,shift:c},{type:"elem",elem:l,shift:h}]},t);return s.children[0].children[0].children[1].classes.push("svg-align"),Ke.makeSpan(["mrel","x-arrow"],[s],t)},mathmlBuilder:function(e,t){var r,n=Ft(e.label);if(n.setAttribute("minsize","x"===e.label.charAt(0)?"1.75em":"3.0em"),e.body){var a=$t(Rt(e.body,t));if(e.below){var i=$t(Rt(e.below,t));r=new Tt.MathNode("munderover",[n,i,a])}else r=new Tt.MathNode("mover",[n,a])}else if(e.below){var o=$t(Rt(e.below,t));r=new Tt.MathNode("munder",[n,o])}else r=$t(),r=new Tt.MathNode("mover",[n,r]);return r}});var Zt=Ke.makeSpan;function Kt(e,t){var r=ft(e.body,t,!0);return Zt([e.mclass],r,t)}function Jt(e,t){var r,n=qt(e.body,t);return"minner"===e.mclass?r=new Tt.MathNode("mpadded",n):"mord"===e.mclass?e.isCharacterBox?(r=n[0]).type="mi":r=new Tt.MathNode("mi",n):(e.isCharacterBox?(r=n[0]).type="mo":r=new Tt.MathNode("mo",n),"mbin"===e.mclass?(r.attributes.lspace="0.22em",r.attributes.rspace="0.22em"):"mpunct"===e.mclass?(r.attributes.lspace="0em",r.attributes.rspace="0.17em"):"mopen"===e.mclass||"mclose"===e.mclass?(r.attributes.lspace="0em",r.attributes.rspace="0em"):"minner"===e.mclass&&(r.attributes.lspace="0.0556em",r.attributes.width="+0.1111em")),r}ot({type:"mclass",names:["\\mathord","\\mathbin","\\mathrel","\\mathopen","\\mathclose","\\mathpunct","\\mathinner"],props:{numArgs:1,primitive:!0},handler:function(e,t){var r=e.parser,n=e.funcName,a=t[0];return{type:"mclass",mode:r.mode,mclass:"m"+n.slice(5),body:ht(a),isCharacterBox:l.isCharacterBox(a)}},htmlBuilder:Kt,mathmlBuilder:Jt});var Qt=function(e){var t="ordgroup"===e.type&&e.body.length?e.body[0]:e;return"atom"!==t.type||"bin"!==t.family&&"rel"!==t.family?"mord":"m"+t.family};ot({type:"mclass",names:["\\@binrel"],props:{numArgs:2},handler:function(e,t){return{type:"mclass",mode:e.parser.mode,mclass:Qt(t[0]),body:ht(t[1]),isCharacterBox:l.isCharacterBox(t[1])}}}),ot({type:"mclass",names:["\\stackrel","\\overset","\\underset"],props:{numArgs:2},handler:function(e,t){var r,n=e.parser,a=e.funcName,i=t[1],o=t[0];r="\\stackrel"!==a?Qt(i):"mrel";var s={type:"op",mode:i.mode,limits:!0,alwaysHandleSupSub:!0,parentIsSupSub:!1,symbol:!1,suppressBaseShift:"\\stackrel"!==a,body:ht(i)},h={type:"supsub",mode:o.mode,base:s,sup:"\\underset"===a?null:o,sub:"\\underset"===a?o:null};return{type:"mclass",mode:n.mode,mclass:r,body:[h],isCharacterBox:l.isCharacterBox(h)}},htmlBuilder:Kt,mathmlBuilder:Jt}),ot({type:"pmb",names:["\\pmb"],props:{numArgs:1,allowedInText:!0},handler:function(e,t){return{type:"pmb",mode:e.parser.mode,mclass:Qt(t[0]),body:ht(t[0])}},htmlBuilder:function(e,t){var r=ft(e.body,t,!0),n=Ke.makeSpan([e.mclass],r,t);return n.style.textShadow="0.02em 0.01em 0.04px",n},mathmlBuilder:function(e,t){var r=qt(e.body,t),n=new Tt.MathNode("mstyle",r);return n.setAttribute("style","text-shadow: 0.02em 0.01em 0.04px"),n}});var er={">":"\\\\cdrightarrow","<":"\\\\cdleftarrow","=":"\\\\cdlongequal",A:"\\uparrow",V:"\\downarrow","|":"\\Vert",".":"no arrow"},tr=function(e){return"textord"===e.type&&"@"===e.text};function rr(e,t,r){var n=er[e];switch(n){case"\\\\cdrightarrow":case"\\\\cdleftarrow":return r.callFunction(n,[t[0]],[t[1]]);case"\\uparrow":case"\\downarrow":var a={type:"atom",text:n,mode:"math",family:"rel"},i={type:"ordgroup",mode:"math",body:[r.callFunction("\\\\cdleft",[t[0]],[]),r.callFunction("\\Big",[a],[]),r.callFunction("\\\\cdright",[t[1]],[])]};return r.callFunction("\\\\cdparent",[i],[]);case"\\\\cdlongequal":return r.callFunction("\\\\cdlongequal",[],[]);case"\\Vert":return r.callFunction("\\Big",[{type:"textord",text:"\\Vert",mode:"math"}],[]);default:return{type:"textord",text:" ",mode:"math"}}}ot({type:"cdlabel",names:["\\\\cdleft","\\\\cdright"],props:{numArgs:1},handler:function(e,t){var r=e.parser,n=e.funcName;return{type:"cdlabel",mode:r.mode,side:n.slice(4),label:t[0]}},htmlBuilder:function(e,t){var r=t.havingStyle(t.style.sup()),n=Ke.wrapFragment(wt(e.label,r,t),t);return n.classes.push("cd-label-"+e.side),n.style.bottom=F(.8-n.depth),n.height=0,n.depth=0,n},mathmlBuilder:function(e,t){var r=new Tt.MathNode("mrow",[Rt(e.label,t)]);return(r=new Tt.MathNode("mpadded",[r])).setAttribute("width","0"),"left"===e.side&&r.setAttribute("lspace","-1width"),r.setAttribute("voffset","0.7em"),(r=new Tt.MathNode("mstyle",[r])).setAttribute("displaystyle","false"),r.setAttribute("scriptlevel","1"),r}}),ot({type:"cdlabelparent",names:["\\\\cdparent"],props:{numArgs:1},handler:function(e,t){return{type:"cdlabelparent",mode:e.parser.mode,fragment:t[0]}},htmlBuilder:function(e,t){var r=Ke.wrapFragment(wt(e.fragment,t),t);return r.classes.push("cd-vert-arrow"),r},mathmlBuilder:function(e,t){return new Tt.MathNode("mrow",[Rt(e.fragment,t)])}}),ot({type:"textord",names:["\\@char"],props:{numArgs:1,allowedInText:!0},handler:function(e,t){for(var r=e.parser,a=Ut(t[0],"ordgroup").body,i="",o=0;o<a.length;o++){i+=Ut(a[o],"textord").text}var s,l=parseInt(i);if(isNaN(l))throw new n("\\@char has non-numeric argument "+i);if(l<0||l>=1114111)throw new n("\\@char with invalid code point "+i);return l<=65535?s=String.fromCharCode(l):(l-=65536,s=String.fromCharCode(55296+(l>>10),56320+(1023&l))),{type:"textord",mode:r.mode,text:s}}});var nr=function(e,t){var r=ft(e.body,t.withColor(e.color),!1);return Ke.makeFragment(r)},ar=function(e,t){var r=qt(e.body,t.withColor(e.color)),n=new Tt.MathNode("mstyle",r);return n.setAttribute("mathcolor",e.color),n};ot({type:"color",names:["\\textcolor"],props:{numArgs:2,allowedInText:!0,argTypes:["color","original"]},handler:function(e,t){var r=e.parser,n=Ut(t[0],"color-token").color,a=t[1];return{type:"color",mode:r.mode,color:n,body:ht(a)}},htmlBuilder:nr,mathmlBuilder:ar}),ot({type:"color",names:["\\color"],props:{numArgs:1,allowedInText:!0,argTypes:["color"]},handler:function(e,t){var r=e.parser,n=e.breakOnTokenText,a=Ut(t[0],"color-token").color;r.gullet.macros.set("\\current@color",a);var i=r.parseExpression(!0,n);return{type:"color",mode:r.mode,color:a,body:i}},htmlBuilder:nr,mathmlBuilder:ar}),ot({type:"cr",names:["\\\\"],props:{numArgs:0,numOptionalArgs:0,allowedInText:!0},handler:function(e,t,r){var n=e.parser,a="["===n.gullet.future().text?n.parseSizeGroup(!0):null,i=!n.settings.displayMode||!n.settings.useStrictBehavior("newLineInDisplayMode","In LaTeX, \\\\ or \\newline does nothing in display mode");return{type:"cr",mode:n.mode,newLine:i,size:a&&Ut(a,"size").value}},htmlBuilder:function(e,t){var r=Ke.makeSpan(["mspace"],[],t);return e.newLine&&(r.classes.push("newline"),e.size&&(r.style.marginTop=F(P(e.size,t)))),r},mathmlBuilder:function(e,t){var r=new Tt.MathNode("mspace");return e.newLine&&(r.setAttribute("linebreak","newline"),e.size&&r.setAttribute("height",F(P(e.size,t)))),r}});var ir={"\\global":"\\global","\\long":"\\\\globallong","\\\\globallong":"\\\\globallong","\\def":"\\gdef","\\gdef":"\\gdef","\\edef":"\\xdef","\\xdef":"\\xdef","\\let":"\\\\globallet","\\futurelet":"\\\\globalfuture"},or=function(e){var t=e.text;if(/^(?:[\\{}$&#^_]|EOF)$/.test(t))throw new n("Expected a control sequence",e);return t},sr=function(e,t,r,n){var a=e.gullet.macros.get(r.text);null==a&&(r.noexpand=!0,a={tokens:[r],numArgs:0,unexpandable:!e.gullet.isExpandable(r.text)}),e.gullet.macros.set(t,a,n)};ot({type:"internal",names:["\\global","\\long","\\\\globallong"],props:{numArgs:0,allowedInText:!0},handler:function(e){var t=e.parser,r=e.funcName;t.consumeSpaces();var a=t.fetch();if(ir[a.text])return"\\global"!==r&&"\\\\globallong"!==r||(a.text=ir[a.text]),Ut(t.parseFunction(),"internal");throw new n("Invalid token after macro prefix",a)}}),ot({type:"internal",names:["\\def","\\gdef","\\edef","\\xdef"],props:{numArgs:0,allowedInText:!0,primitive:!0},handler:function(e){var t=e.parser,r=e.funcName,a=t.gullet.popToken(),i=a.text;if(/^(?:[\\{}$&#^_]|EOF)$/.test(i))throw new n("Expected a control sequence",a);for(var o,s=0,l=[[]];"{"!==t.gullet.future().text;)if("#"===(a=t.gullet.popToken()).text){if("{"===t.gullet.future().text){o=t.gullet.future(),l[s].push("{");break}if(a=t.gullet.popToken(),!/^[1-9]$/.test(a.text))throw new n('Invalid argument number "'+a.text+'"');if(parseInt(a.text)!==s+1)throw new n('Argument number "'+a.text+'" out of order');s++,l.push([])}else{if("EOF"===a.text)throw new n("Expected a macro definition");l[s].push(a.text)}var h=t.gullet.consumeArg().tokens;return o&&h.unshift(o),"\\edef"!==r&&"\\xdef"!==r||(h=t.gullet.expandTokens(h)).reverse(),t.gullet.macros.set(i,{tokens:h,numArgs:s,delimiters:l},r===ir[r]),{type:"internal",mode:t.mode}}}),ot({type:"internal",names:["\\let","\\\\globallet"],props:{numArgs:0,allowedInText:!0,primitive:!0},handler:function(e){var t=e.parser,r=e.funcName,n=or(t.gullet.popToken());t.gullet.consumeSpaces();var a=function(e){var t=e.gullet.popToken();return"="===t.text&&" "===(t=e.gullet.popToken()).text&&(t=e.gullet.popToken()),t}(t);return sr(t,n,a,"\\\\globallet"===r),{type:"internal",mode:t.mode}}}),ot({type:"internal",names:["\\futurelet","\\\\globalfuture"],props:{numArgs:0,allowedInText:!0,primitive:!0},handler:function(e){var t=e.parser,r=e.funcName,n=or(t.gullet.popToken()),a=t.gullet.popToken(),i=t.gullet.popToken();return sr(t,n,i,"\\\\globalfuture"===r),t.gullet.pushToken(i),t.gullet.pushToken(a),{type:"internal",mode:t.mode}}});var lr=function(e,t,r){var n=N(ae.math[e]&&ae.math[e].replace||e,t,r);if(!n)throw new Error("Unsupported symbol "+e+" and font size "+t+".");return n},hr=function(e,t,r,n){var a=r.havingBaseStyle(t),i=Ke.makeSpan(n.concat(a.sizingClasses(r)),[e],r),o=a.sizeMultiplier/r.sizeMultiplier;return i.height*=o,i.depth*=o,i.maxFontSize=a.sizeMultiplier,i},cr=function(e,t,r){var n=t.havingBaseStyle(r),a=(1-t.sizeMultiplier/n.sizeMultiplier)*t.fontMetrics().axisHeight;e.classes.push("delimcenter"),e.style.top=F(a),e.height-=a,e.depth+=a},mr=function(e,t,r,n,a,i){var o=function(e,t,r,n){return Ke.makeSymbol(e,"Size"+t+"-Regular",r,n)}(e,t,a,n),s=hr(Ke.makeSpan(["delimsizing","size"+t],[o],n),x.TEXT,n,i);return r&&cr(s,n,x.TEXT),s},ur=function(e,t,r){var n;return n="Size1-Regular"===t?"delim-size1":"delim-size4",{type:"elem",elem:Ke.makeSpan(["delimsizinginner",n],[Ke.makeSpan([],[Ke.makeSymbol(e,t,r)])])}},pr=function(e,t,r){var n=T["Size4-Regular"][e.charCodeAt(0)]?T["Size4-Regular"][e.charCodeAt(0)][4]:T["Size1-Regular"][e.charCodeAt(0)][4],a=new J("inner",function(e,t){switch(e){case"\u239c":return"M291 0 H417 V"+t+" H291z M291 0 H417 V"+t+" H291z";case"\u2223":return"M145 0 H188 V"+t+" H145z M145 0 H188 V"+t+" H145z";case"\u2225":return"M145 0 H188 V"+t+" H145z M145 0 H188 V"+t+" H145zM367 0 H410 V"+t+" H367z M367 0 H410 V"+t+" H367z";case"\u239f":return"M457 0 H583 V"+t+" H457z M457 0 H583 V"+t+" H457z";case"\u23a2":return"M319 0 H403 V"+t+" H319z M319 0 H403 V"+t+" H319z";case"\u23a5":return"M263 0 H347 V"+t+" H263z M263 0 H347 V"+t+" H263z";case"\u23aa":return"M384 0 H504 V"+t+" H384z M384 0 H504 V"+t+" H384z";case"\u23d0":return"M312 0 H355 V"+t+" H312z M312 0 H355 V"+t+" H312z";case"\u2016":return"M257 0 H300 V"+t+" H257z M257 0 H300 V"+t+" H257zM478 0 H521 V"+t+" H478z M478 0 H521 V"+t+" H478z";default:return""}}(e,Math.round(1e3*t))),i=new K([a],{width:F(n),height:F(t),style:"width:"+F(n),viewBox:"0 0 "+1e3*n+" "+Math.round(1e3*t),preserveAspectRatio:"xMinYMin"}),o=Ke.makeSvgSpan([],[i],r);return o.height=t,o.style.height=F(t),o.style.width=F(n),{type:"elem",elem:o}},dr={type:"kern",size:-.008},fr=["|","\\lvert","\\rvert","\\vert"],gr=["\\|","\\lVert","\\rVert","\\Vert"],vr=function(e,t,r,n,a,i){var o,s,h,c,m="",u=0;o=h=c=e,s=null;var p="Size1-Regular";"\\uparrow"===e?h=c="\u23d0":"\\Uparrow"===e?h=c="\u2016":"\\downarrow"===e?o=h="\u23d0":"\\Downarrow"===e?o=h="\u2016":"\\updownarrow"===e?(o="\\uparrow",h="\u23d0",c="\\downarrow"):"\\Updownarrow"===e?(o="\\Uparrow",h="\u2016",c="\\Downarrow"):l.contains(fr,e)?(h="\u2223",m="vert",u=333):l.contains(gr,e)?(h="\u2225",m="doublevert",u=556):"["===e||"\\lbrack"===e?(o="\u23a1",h="\u23a2",c="\u23a3",p="Size4-Regular",m="lbrack",u=667):"]"===e||"\\rbrack"===e?(o="\u23a4",h="\u23a5",c="\u23a6",p="Size4-Regular",m="rbrack",u=667):"\\lfloor"===e||"\u230a"===e?(h=o="\u23a2",c="\u23a3",p="Size4-Regular",m="lfloor",u=667):"\\lceil"===e||"\u2308"===e?(o="\u23a1",h=c="\u23a2",p="Size4-Regular",m="lceil",u=667):"\\rfloor"===e||"\u230b"===e?(h=o="\u23a5",c="\u23a6",p="Size4-Regular",m="rfloor",u=667):"\\rceil"===e||"\u2309"===e?(o="\u23a4",h=c="\u23a5",p="Size4-Regular",m="rceil",u=667):"("===e||"\\lparen"===e?(o="\u239b",h="\u239c",c="\u239d",p="Size4-Regular",m="lparen",u=875):")"===e||"\\rparen"===e?(o="\u239e",h="\u239f",c="\u23a0",p="Size4-Regular",m="rparen",u=875):"\\{"===e||"\\lbrace"===e?(o="\u23a7",s="\u23a8",c="\u23a9",h="\u23aa",p="Size4-Regular"):"\\}"===e||"\\rbrace"===e?(o="\u23ab",s="\u23ac",c="\u23ad",h="\u23aa",p="Size4-Regular"):"\\lgroup"===e||"\u27ee"===e?(o="\u23a7",c="\u23a9",h="\u23aa",p="Size4-Regular"):"\\rgroup"===e||"\u27ef"===e?(o="\u23ab",c="\u23ad",h="\u23aa",p="Size4-Regular"):"\\lmoustache"===e||"\u23b0"===e?(o="\u23a7",c="\u23ad",h="\u23aa",p="Size4-Regular"):"\\rmoustache"!==e&&"\u23b1"!==e||(o="\u23ab",c="\u23a9",h="\u23aa",p="Size4-Regular");var d=lr(o,p,a),f=d.height+d.depth,g=lr(h,p,a),v=g.height+g.depth,b=lr(c,p,a),y=b.height+b.depth,w=0,k=1;if(null!==s){var S=lr(s,p,a);w=S.height+S.depth,k=2}var M=f+y+w,z=M+Math.max(0,Math.ceil((t-M)/(k*v)))*k*v,A=n.fontMetrics().axisHeight;r&&(A*=n.sizeMultiplier);var T=z/2-A,B=[];if(m.length>0){var C=z-f-y,N=Math.round(1e3*z),q=function(e,t){switch(e){case"lbrack":return"M403 1759 V84 H666 V0 H319 V1759 v"+t+" v1759 h347 v-84\nH403z M403 1759 V0 H319 V1759 v"+t+" v1759 h84z";case"rbrack":return"M347 1759 V0 H0 V84 H263 V1759 v"+t+" v1759 H0 v84 H347z\nM347 1759 V0 H263 V1759 v"+t+" v1759 h84z";case"vert":return"M145 15 v585 v"+t+" v585 c2.667,10,9.667,15,21,15\nc10,0,16.667,-5,20,-15 v-585 v"+-t+" v-585 c-2.667,-10,-9.667,-15,-21,-15\nc-10,0,-16.667,5,-20,15z M188 15 H145 v585 v"+t+" v585 h43z";case"doublevert":return"M145 15 v585 v"+t+" v585 c2.667,10,9.667,15,21,15\nc10,0,16.667,-5,20,-15 v-585 v"+-t+" v-585 c-2.667,-10,-9.667,-15,-21,-15\nc-10,0,-16.667,5,-20,15z M188 15 H145 v585 v"+t+" v585 h43z\nM367 15 v585 v"+t+" v585 c2.667,10,9.667,15,21,15\nc10,0,16.667,-5,20,-15 v-585 v"+-t+" v-585 c-2.667,-10,-9.667,-15,-21,-15\nc-10,0,-16.667,5,-20,15z M410 15 H367 v585 v"+t+" v585 h43z";case"lfloor":return"M319 602 V0 H403 V602 v"+t+" v1715 h263 v84 H319z\nMM319 602 V0 H403 V602 v"+t+" v1715 H319z";case"rfloor":return"M319 602 V0 H403 V602 v"+t+" v1799 H0 v-84 H319z\nMM319 602 V0 H403 V602 v"+t+" v1715 H319z";case"lceil":return"M403 1759 V84 H666 V0 H319 V1759 v"+t+" v602 h84z\nM403 1759 V0 H319 V1759 v"+t+" v602 h84z";case"rceil":return"M347 1759 V0 H0 V84 H263 V1759 v"+t+" v602 h84z\nM347 1759 V0 h-84 V1759 v"+t+" v602 h84z";case"lparen":return"M863,9c0,-2,-2,-5,-6,-9c0,0,-17,0,-17,0c-12.7,0,-19.3,0.3,-20,1\nc-5.3,5.3,-10.3,11,-15,17c-242.7,294.7,-395.3,682,-458,1162c-21.3,163.3,-33.3,349,\n-36,557 l0,"+(t+84)+"c0.2,6,0,26,0,60c2,159.3,10,310.7,24,454c53.3,528,210,\n949.7,470,1265c4.7,6,9.7,11.7,15,17c0.7,0.7,7,1,19,1c0,0,18,0,18,0c4,-4,6,-7,6,-9\nc0,-2.7,-3.3,-8.7,-10,-18c-135.3,-192.7,-235.5,-414.3,-300.5,-665c-65,-250.7,-102.5,\n-544.7,-112.5,-882c-2,-104,-3,-167,-3,-189\nl0,-"+(t+92)+"c0,-162.7,5.7,-314,17,-454c20.7,-272,63.7,-513,129,-723c65.3,\n-210,155.3,-396.3,270,-559c6.7,-9.3,10,-15.3,10,-18z";case"rparen":return"M76,0c-16.7,0,-25,3,-25,9c0,2,2,6.3,6,13c21.3,28.7,42.3,60.3,\n63,95c96.7,156.7,172.8,332.5,228.5,527.5c55.7,195,92.8,416.5,111.5,664.5\nc11.3,139.3,17,290.7,17,454c0,28,1.7,43,3.3,45l0,"+(t+9)+"\nc-3,4,-3.3,16.7,-3.3,38c0,162,-5.7,313.7,-17,455c-18.7,248,-55.8,469.3,-111.5,664\nc-55.7,194.7,-131.8,370.3,-228.5,527c-20.7,34.7,-41.7,66.3,-63,95c-2,3.3,-4,7,-6,11\nc0,7.3,5.7,11,17,11c0,0,11,0,11,0c9.3,0,14.3,-0.3,15,-1c5.3,-5.3,10.3,-11,15,-17\nc242.7,-294.7,395.3,-681.7,458,-1161c21.3,-164.7,33.3,-350.7,36,-558\nl0,-"+(t+144)+"c-2,-159.3,-10,-310.7,-24,-454c-53.3,-528,-210,-949.7,\n-470,-1265c-4.7,-6,-9.7,-11.7,-15,-17c-0.7,-0.7,-6.7,-1,-18,-1z";default:throw new Error("Unknown stretchy delimiter.")}}(m,Math.round(1e3*C)),I=new J(m,q),R=(u/1e3).toFixed(3)+"em",H=(N/1e3).toFixed(3)+"em",O=new K([I],{width:R,height:H,viewBox:"0 0 "+u+" "+N}),E=Ke.makeSvgSpan([],[O],n);E.height=N/1e3,E.style.width=R,E.style.height=H,B.push({type:"elem",elem:E})}else{if(B.push(ur(c,p,a)),B.push(dr),null===s){var L=z-f-y+.016;B.push(pr(h,L,n))}else{var D=(z-f-y-w)/2+.016;B.push(pr(h,D,n)),B.push(dr),B.push(ur(s,p,a)),B.push(dr),B.push(pr(h,D,n))}B.push(dr),B.push(ur(o,p,a))}var V=n.havingBaseStyle(x.TEXT),P=Ke.makeVList({positionType:"bottom",positionData:T,children:B},V);return hr(Ke.makeSpan(["delimsizing","mult"],[P],V),x.TEXT,n,i)},br=.08,yr=function(e,t,r,n,a){var i=function(e,t,r){t*=1e3;var n="";switch(e){case"sqrtMain":n=function(e,t){return"M95,"+(622+e+t)+"\nc-2.7,0,-7.17,-2.7,-13.5,-8c-5.8,-5.3,-9.5,-10,-9.5,-14\nc0,-2,0.3,-3.3,1,-4c1.3,-2.7,23.83,-20.7,67.5,-54\nc44.2,-33.3,65.8,-50.3,66.5,-51c1.3,-1.3,3,-2,5,-2c4.7,0,8.7,3.3,12,10\ns173,378,173,378c0.7,0,35.3,-71,104,-213c68.7,-142,137.5,-285,206.5,-429\nc69,-144,104.5,-217.7,106.5,-221\nl"+e/2.075+" -"+e+"\nc5.3,-9.3,12,-14,20,-14\nH400000v"+(40+e)+"H845.2724\ns-225.272,467,-225.272,467s-235,486,-235,486c-2.7,4.7,-9,7,-19,7\nc-6,0,-10,-1,-12,-3s-194,-422,-194,-422s-65,47,-65,47z\nM"+(834+e)+" "+t+"h400000v"+(40+e)+"h-400000z"}(t,M);break;case"sqrtSize1":n=function(e,t){return"M263,"+(601+e+t)+"c0.7,0,18,39.7,52,119\nc34,79.3,68.167,158.7,102.5,238c34.3,79.3,51.8,119.3,52.5,120\nc340,-704.7,510.7,-1060.3,512,-1067\nl"+e/2.084+" -"+e+"\nc4.7,-7.3,11,-11,19,-11\nH40000v"+(40+e)+"H1012.3\ns-271.3,567,-271.3,567c-38.7,80.7,-84,175,-136,283c-52,108,-89.167,185.3,-111.5,232\nc-22.3,46.7,-33.8,70.3,-34.5,71c-4.7,4.7,-12.3,7,-23,7s-12,-1,-12,-1\ns-109,-253,-109,-253c-72.7,-168,-109.3,-252,-110,-252c-10.7,8,-22,16.7,-34,26\nc-22,17.3,-33.3,26,-34,26s-26,-26,-26,-26s76,-59,76,-59s76,-60,76,-60z\nM"+(1001+e)+" "+t+"h400000v"+(40+e)+"h-400000z"}(t,M);break;case"sqrtSize2":n=function(e,t){return"M983 "+(10+e+t)+"\nl"+e/3.13+" -"+e+"\nc4,-6.7,10,-10,18,-10 H400000v"+(40+e)+"\nH1013.1s-83.4,268,-264.1,840c-180.7,572,-277,876.3,-289,913c-4.7,4.7,-12.7,7,-24,7\ns-12,0,-12,0c-1.3,-3.3,-3.7,-11.7,-7,-25c-35.3,-125.3,-106.7,-373.3,-214,-744\nc-10,12,-21,25,-33,39s-32,39,-32,39c-6,-5.3,-15,-14,-27,-26s25,-30,25,-30\nc26.7,-32.7,52,-63,76,-91s52,-60,52,-60s208,722,208,722\nc56,-175.3,126.3,-397.3,211,-666c84.7,-268.7,153.8,-488.2,207.5,-658.5\nc53.7,-170.3,84.5,-266.8,92.5,-289.5z\nM"+(1001+e)+" "+t+"h400000v"+(40+e)+"h-400000z"}(t,M);break;case"sqrtSize3":n=function(e,t){return"M424,"+(2398+e+t)+"\nc-1.3,-0.7,-38.5,-172,-111.5,-514c-73,-342,-109.8,-513.3,-110.5,-514\nc0,-2,-10.7,14.3,-32,49c-4.7,7.3,-9.8,15.7,-15.5,25c-5.7,9.3,-9.8,16,-12.5,20\ns-5,7,-5,7c-4,-3.3,-8.3,-7.7,-13,-13s-13,-13,-13,-13s76,-122,76,-122s77,-121,77,-121\ns209,968,209,968c0,-2,84.7,-361.7,254,-1079c169.3,-717.3,254.7,-1077.7,256,-1081\nl"+e/4.223+" -"+e+"c4,-6.7,10,-10,18,-10 H400000\nv"+(40+e)+"H1014.6\ns-87.3,378.7,-272.6,1166c-185.3,787.3,-279.3,1182.3,-282,1185\nc-2,6,-10,9,-24,9\nc-8,0,-12,-0.7,-12,-2z M"+(1001+e)+" "+t+"\nh400000v"+(40+e)+"h-400000z"}(t,M);break;case"sqrtSize4":n=function(e,t){return"M473,"+(2713+e+t)+"\nc339.3,-1799.3,509.3,-2700,510,-2702 l"+e/5.298+" -"+e+"\nc3.3,-7.3,9.3,-11,18,-11 H400000v"+(40+e)+"H1017.7\ns-90.5,478,-276.2,1466c-185.7,988,-279.5,1483,-281.5,1485c-2,6,-10,9,-24,9\nc-8,0,-12,-0.7,-12,-2c0,-1.3,-5.3,-32,-16,-92c-50.7,-293.3,-119.7,-693.3,-207,-1200\nc0,-1.3,-5.3,8.7,-16,30c-10.7,21.3,-21.3,42.7,-32,64s-16,33,-16,33s-26,-26,-26,-26\ns76,-153,76,-153s77,-151,77,-151c0.7,0.7,35.7,202,105,604c67.3,400.7,102,602.7,104,\n606zM"+(1001+e)+" "+t+"h400000v"+(40+e)+"H1017.7z"}(t,M);break;case"sqrtTall":n=function(e,t,r){return"M702 "+(e+t)+"H400000"+(40+e)+"\nH742v"+(r-54-t-e)+"l-4 4-4 4c-.667.7 -2 1.5-4 2.5s-4.167 1.833-6.5 2.5-5.5 1-9.5 1\nh-12l-28-84c-16.667-52-96.667 -294.333-240-727l-212 -643 -85 170\nc-4-3.333-8.333-7.667-13 -13l-13-13l77-155 77-156c66 199.333 139 419.667\n219 661 l218 661zM702 "+t+"H400000v"+(40+e)+"H742z"}(t,M,r)}return n}(e,n,r),o=new J(e,i),s=new K([o],{width:"400em",height:F(t),viewBox:"0 0 400000 "+r,preserveAspectRatio:"xMinYMin slice"});return Ke.makeSvgSpan(["hide-tail"],[s],a)},xr=["(","\\lparen",")","\\rparen","[","\\lbrack","]","\\rbrack","\\{","\\lbrace","\\}","\\rbrace","\\lfloor","\\rfloor","\u230a","\u230b","\\lceil","\\rceil","\u2308","\u2309","\\surd"],wr=["\\uparrow","\\downarrow","\\updownarrow","\\Uparrow","\\Downarrow","\\Updownarrow","|","\\|","\\vert","\\Vert","\\lvert","\\rvert","\\lVert","\\rVert","\\lgroup","\\rgroup","\u27ee","\u27ef","\\lmoustache","\\rmoustache","\u23b0","\u23b1"],kr=["<",">","\\langle","\\rangle","/","\\backslash","\\lt","\\gt"],Sr=[0,1.2,1.8,2.4,3],Mr=[{type:"small",style:x.SCRIPTSCRIPT},{type:"small",style:x.SCRIPT},{type:"small",style:x.TEXT},{type:"large",size:1},{type:"large",size:2},{type:"large",size:3},{type:"large",size:4}],zr=[{type:"small",style:x.SCRIPTSCRIPT},{type:"small",style:x.SCRIPT},{type:"small",style:x.TEXT},{type:"stack"}],Ar=[{type:"small",style:x.SCRIPTSCRIPT},{type:"small",style:x.SCRIPT},{type:"small",style:x.TEXT},{type:"large",size:1},{type:"large",size:2},{type:"large",size:3},{type:"large",size:4},{type:"stack"}],Tr=function(e){if("small"===e.type)return"Main-Regular";if("large"===e.type)return"Size"+e.size+"-Regular";if("stack"===e.type)return"Size4-Regular";throw new Error("Add support for delim type '"+e.type+"' here.")},Br=function(e,t,r,n){for(var a=Math.min(2,3-n.style.size);a<r.length&&"stack"!==r[a].type;a++){var i=lr(e,Tr(r[a]),"math"),o=i.height+i.depth;if("small"===r[a].type&&(o*=n.havingBaseStyle(r[a].style).sizeMultiplier),o>t)return r[a]}return r[r.length-1]},Cr=function(e,t,r,n,a,i){var o;"<"===e||"\\lt"===e||"\u27e8"===e?e="\\langle":">"!==e&&"\\gt"!==e&&"\u27e9"!==e||(e="\\rangle"),o=l.contains(kr,e)?Mr:l.contains(xr,e)?Ar:zr;var s=Br(e,t,o,n);return"small"===s.type?function(e,t,r,n,a,i){var o=Ke.makeSymbol(e,"Main-Regular",a,n),s=hr(o,t,n,i);return r&&cr(s,n,t),s}(e,s.style,r,n,a,i):"large"===s.type?mr(e,s.size,r,n,a,i):vr(e,t,r,n,a,i)},Nr={sqrtImage:function(e,t){var r,n,a=t.havingBaseSizing(),i=Br("\\surd",e*a.sizeMultiplier,Ar,a),o=a.sizeMultiplier,s=Math.max(0,t.minRuleThickness-t.fontMetrics().sqrtRuleThickness),l=0,h=0,c=0;return"small"===i.type?(e<1?o=1:e<1.4&&(o=.7),h=(1+s)/o,(r=yr("sqrtMain",l=(1+s+br)/o,c=1e3+1e3*s+80,s,t)).style.minWidth="0.853em",n=.833/o):"large"===i.type?(c=1080*Sr[i.size],h=(Sr[i.size]+s)/o,l=(Sr[i.size]+s+br)/o,(r=yr("sqrtSize"+i.size,l,c,s,t)).style.minWidth="1.02em",n=1/o):(l=e+s+br,h=e+s,c=Math.floor(1e3*e+s)+80,(r=yr("sqrtTall",l,c,s,t)).style.minWidth="0.742em",n=1.056),r.height=h,r.style.height=F(l),{span:r,advanceWidth:n,ruleWidth:(t.fontMetrics().sqrtRuleThickness+s)*o}},sizedDelim:function(e,t,r,a,i){if("<"===e||"\\lt"===e||"\u27e8"===e?e="\\langle":">"!==e&&"\\gt"!==e&&"\u27e9"!==e||(e="\\rangle"),l.contains(xr,e)||l.contains(kr,e))return mr(e,t,!1,r,a,i);if(l.contains(wr,e))return vr(e,Sr[t],!1,r,a,i);throw new n("Illegal delimiter: '"+e+"'")},sizeToMaxHeight:Sr,customSizedDelim:Cr,leftRightDelim:function(e,t,r,n,a,i){var o=n.fontMetrics().axisHeight*n.sizeMultiplier,s=5/n.fontMetrics().ptPerEm,l=Math.max(t-o,r+o),h=Math.max(l/500*901,2*l-s);return Cr(e,h,!0,n,a,i)}},qr={"\\bigl":{mclass:"mopen",size:1},"\\Bigl":{mclass:"mopen",size:2},"\\biggl":{mclass:"mopen",size:3},"\\Biggl":{mclass:"mopen",size:4},"\\bigr":{mclass:"mclose",size:1},"\\Bigr":{mclass:"mclose",size:2},"\\biggr":{mclass:"mclose",size:3},"\\Biggr":{mclass:"mclose",size:4},"\\bigm":{mclass:"mrel",size:1},"\\Bigm":{mclass:"mrel",size:2},"\\biggm":{mclass:"mrel",size:3},"\\Biggm":{mclass:"mrel",size:4},"\\big":{mclass:"mord",size:1},"\\Big":{mclass:"mord",size:2},"\\bigg":{mclass:"mord",size:3},"\\Bigg":{mclass:"mord",size:4}},Ir=["(","\\lparen",")","\\rparen","[","\\lbrack","]","\\rbrack","\\{","\\lbrace","\\}","\\rbrace","\\lfloor","\\rfloor","\u230a","\u230b","\\lceil","\\rceil","\u2308","\u2309","<",">","\\langle","\u27e8","\\rangle","\u27e9","\\lt","\\gt","\\lvert","\\rvert","\\lVert","\\rVert","\\lgroup","\\rgroup","\u27ee","\u27ef","\\lmoustache","\\rmoustache","\u23b0","\u23b1","/","\\backslash","|","\\vert","\\|","\\Vert","\\uparrow","\\Uparrow","\\downarrow","\\Downarrow","\\updownarrow","\\Updownarrow","."];function Rr(e,t){var r=Xt(e);if(r&&l.contains(Ir,r.text))return r;throw new n(r?"Invalid delimiter '"+r.text+"' after '"+t.funcName+"'":"Invalid delimiter type '"+e.type+"'",e)}function Hr(e){if(!e.body)throw new Error("Bug: The leftright ParseNode wasn't fully parsed.")}ot({type:"delimsizing",names:["\\bigl","\\Bigl","\\biggl","\\Biggl","\\bigr","\\Bigr","\\biggr","\\Biggr","\\bigm","\\Bigm","\\biggm","\\Biggm","\\big","\\Big","\\bigg","\\Bigg"],props:{numArgs:1,argTypes:["primitive"]},handler:function(e,t){var r=Rr(t[0],e);return{type:"delimsizing",mode:e.parser.mode,size:qr[e.funcName].size,mclass:qr[e.funcName].mclass,delim:r.text}},htmlBuilder:function(e,t){return"."===e.delim?Ke.makeSpan([e.mclass]):Nr.sizedDelim(e.delim,e.size,t,e.mode,[e.mclass])},mathmlBuilder:function(e){var t=[];"."!==e.delim&&t.push(Bt(e.delim,e.mode));var r=new Tt.MathNode("mo",t);"mopen"===e.mclass||"mclose"===e.mclass?r.setAttribute("fence","true"):r.setAttribute("fence","false"),r.setAttribute("stretchy","true");var n=F(Nr.sizeToMaxHeight[e.size]);return r.setAttribute("minsize",n),r.setAttribute("maxsize",n),r}}),ot({type:"leftright-right",names:["\\right"],props:{numArgs:1,primitive:!0},handler:function(e,t){var r=e.parser.gullet.macros.get("\\current@color");if(r&&"string"!=typeof r)throw new n("\\current@color set to non-string in \\right");return{type:"leftright-right",mode:e.parser.mode,delim:Rr(t[0],e).text,color:r}}}),ot({type:"leftright",names:["\\left"],props:{numArgs:1,primitive:!0},handler:function(e,t){var r=Rr(t[0],e),n=e.parser;++n.leftrightDepth;var a=n.parseExpression(!1);--n.leftrightDepth,n.expect("\\right",!1);var i=Ut(n.parseFunction(),"leftright-right");return{type:"leftright",mode:n.mode,body:a,left:r.text,right:i.delim,rightColor:i.color}},htmlBuilder:function(e,t){Hr(e);for(var r,n,a=ft(e.body,t,!0,["mopen","mclose"]),i=0,o=0,s=!1,l=0;l<a.length;l++)a[l].isMiddle?s=!0:(i=Math.max(a[l].height,i),o=Math.max(a[l].depth,o));if(i*=t.sizeMultiplier,o*=t.sizeMultiplier,r="."===e.left?xt(t,["mopen"]):Nr.leftRightDelim(e.left,i,o,t,e.mode,["mopen"]),a.unshift(r),s)for(var h=1;h<a.length;h++){var c=a[h].isMiddle;c&&(a[h]=Nr.leftRightDelim(c.delim,i,o,c.options,e.mode,[]))}if("."===e.right)n=xt(t,["mclose"]);else{var m=e.rightColor?t.withColor(e.rightColor):t;n=Nr.leftRightDelim(e.right,i,o,m,e.mode,["mclose"])}return a.push(n),Ke.makeSpan(["minner"],a,t)},mathmlBuilder:function(e,t){Hr(e);var r=qt(e.body,t);if("."!==e.left){var n=new Tt.MathNode("mo",[Bt(e.left,e.mode)]);n.setAttribute("fence","true"),r.unshift(n)}if("."!==e.right){var a=new Tt.MathNode("mo",[Bt(e.right,e.mode)]);a.setAttribute("fence","true"),e.rightColor&&a.setAttribute("mathcolor",e.rightColor),r.push(a)}return Ct(r)}}),ot({type:"middle",names:["\\middle"],props:{numArgs:1,primitive:!0},handler:function(e,t){var r=Rr(t[0],e);if(!e.parser.leftrightDepth)throw new n("\\middle without preceding \\left",r);return{type:"middle",mode:e.parser.mode,delim:r.text}},htmlBuilder:function(e,t){var r;if("."===e.delim)r=xt(t,[]);else{r=Nr.sizedDelim(e.delim,1,t,e.mode,[]);var n={delim:e.delim,options:t};r.isMiddle=n}return r},mathmlBuilder:function(e,t){var r="\\vert"===e.delim||"|"===e.delim?Bt("|","text"):Bt(e.delim,e.mode),n=new Tt.MathNode("mo",[r]);return n.setAttribute("fence","true"),n.setAttribute("lspace","0.05em"),n.setAttribute("rspace","0.05em"),n}});var Or=function(e,t){var r,n,a,i=Ke.wrapFragment(wt(e.body,t),t),o=e.label.slice(1),s=t.sizeMultiplier,h=0,c=l.isCharacterBox(e.body);if("sout"===o)(r=Ke.makeSpan(["stretchy","sout"])).height=t.fontMetrics().defaultRuleThickness/s,h=-.5*t.fontMetrics().xHeight;else if("phase"===o){var m=P({number:.6,unit:"pt"},t),u=P({number:.35,unit:"ex"},t);s/=t.havingBaseSizing().sizeMultiplier;var p=i.height+i.depth+m+u;i.style.paddingLeft=F(p/2+m);var d=Math.floor(1e3*p*s),f="M400000 "+(n=d)+" H0 L"+n/2+" 0 l65 45 L145 "+(n-80)+" H400000z",g=new K([new J("phase",f)],{width:"400em",height:F(d/1e3),viewBox:"0 0 400000 "+d,preserveAspectRatio:"xMinYMin slice"});(r=Ke.makeSvgSpan(["hide-tail"],[g],t)).style.height=F(p),h=i.depth+m+u}else{/cancel/.test(o)?c||i.classes.push("cancel-pad"):"angl"===o?i.classes.push("anglpad"):i.classes.push("boxpad");var v=0,b=0,y=0;/box/.test(o)?(y=Math.max(t.fontMetrics().fboxrule,t.minRuleThickness),b=v=t.fontMetrics().fboxsep+("colorbox"===o?0:y)):"angl"===o?(v=4*(y=Math.max(t.fontMetrics().defaultRuleThickness,t.minRuleThickness)),b=Math.max(0,.25-i.depth)):b=v=c?.2:0,r=Pt(i,o,v,b,t),/fbox|boxed|fcolorbox/.test(o)?(r.style.borderStyle="solid",r.style.borderWidth=F(y)):"angl"===o&&.049!==y&&(r.style.borderTopWidth=F(y),r.style.borderRightWidth=F(y)),h=i.depth+b,e.backgroundColor&&(r.style.backgroundColor=e.backgroundColor,e.borderColor&&(r.style.borderColor=e.borderColor))}if(e.backgroundColor)a=Ke.makeVList({positionType:"individualShift",children:[{type:"elem",elem:r,shift:h},{type:"elem",elem:i,shift:0}]},t);else{var x=/cancel|phase/.test(o)?["svg-align"]:[];a=Ke.makeVList({positionType:"individualShift",children:[{type:"elem",elem:i,shift:0},{type:"elem",elem:r,shift:h,wrapperClasses:x}]},t)}return/cancel/.test(o)&&(a.height=i.height,a.depth=i.depth),/cancel/.test(o)&&!c?Ke.makeSpan(["mord","cancel-lap"],[a],t):Ke.makeSpan(["mord"],[a],t)},Er=function(e,t){var r=0,n=new Tt.MathNode(e.label.indexOf("colorbox")>-1?"mpadded":"menclose",[Rt(e.body,t)]);switch(e.label){case"\\cancel":n.setAttribute("notation","updiagonalstrike");break;case"\\bcancel":n.setAttribute("notation","downdiagonalstrike");break;case"\\phase":n.setAttribute("notation","phasorangle");break;case"\\sout":n.setAttribute("notation","horizontalstrike");break;case"\\fbox":n.setAttribute("notation","box");break;case"\\angl":n.setAttribute("notation","actuarial");break;case"\\fcolorbox":case"\\colorbox":if(r=t.fontMetrics().fboxsep*t.fontMetrics().ptPerEm,n.setAttribute("width","+"+2*r+"pt"),n.setAttribute("height","+"+2*r+"pt"),n.setAttribute("lspace",r+"pt"),n.setAttribute("voffset",r+"pt"),"\\fcolorbox"===e.label){var a=Math.max(t.fontMetrics().fboxrule,t.minRuleThickness);n.setAttribute("style","border: "+a+"em solid "+String(e.borderColor))}break;case"\\xcancel":n.setAttribute("notation","updiagonalstrike downdiagonalstrike")}return e.backgroundColor&&n.setAttribute("mathbackground",e.backgroundColor),n};ot({type:"enclose",names:["\\colorbox"],props:{numArgs:2,allowedInText:!0,argTypes:["color","text"]},handler:function(e,t,r){var n=e.parser,a=e.funcName,i=Ut(t[0],"color-token").color,o=t[1];return{type:"enclose",mode:n.mode,label:a,backgroundColor:i,body:o}},htmlBuilder:Or,mathmlBuilder:Er}),ot({type:"enclose",names:["\\fcolorbox"],props:{numArgs:3,allowedInText:!0,argTypes:["color","color","text"]},handler:function(e,t,r){var n=e.parser,a=e.funcName,i=Ut(t[0],"color-token").color,o=Ut(t[1],"color-token").color,s=t[2];return{type:"enclose",mode:n.mode,label:a,backgroundColor:o,borderColor:i,body:s}},htmlBuilder:Or,mathmlBuilder:Er}),ot({type:"enclose",names:["\\fbox"],props:{numArgs:1,argTypes:["hbox"],allowedInText:!0},handler:function(e,t){return{type:"enclose",mode:e.parser.mode,label:"\\fbox",body:t[0]}}}),ot({type:"enclose",names:["\\cancel","\\bcancel","\\xcancel","\\sout","\\phase"],props:{numArgs:1},handler:function(e,t){var r=e.parser,n=e.funcName,a=t[0];return{type:"enclose",mode:r.mode,label:n,body:a}},htmlBuilder:Or,mathmlBuilder:Er}),ot({type:"enclose",names:["\\angl"],props:{numArgs:1,argTypes:["hbox"],allowedInText:!1},handler:function(e,t){return{type:"enclose",mode:e.parser.mode,label:"\\angl",body:t[0]}}});var Lr={};function Dr(e){for(var t=e.type,r=e.names,n=e.props,a=e.handler,i=e.htmlBuilder,o=e.mathmlBuilder,s={type:t,numArgs:n.numArgs||0,allowedInText:!1,numOptionalArgs:0,handler:a},l=0;l<r.length;++l)Lr[r[l]]=s;i&&(at[t]=i),o&&(it[t]=o)}var Vr={};function Pr(e,t){Vr[e]=t}var Fr=function(){function e(e,t,r){this.lexer=void 0,this.start=void 0,this.end=void 0,this.lexer=e,this.start=t,this.end=r}return e.range=function(t,r){return r?t&&t.loc&&r.loc&&t.loc.lexer===r.loc.lexer?new e(t.loc.lexer,t.loc.start,r.loc.end):null:t&&t.loc},e}(),Gr=function(){function e(e,t){this.text=void 0,this.loc=void 0,this.noexpand=void 0,this.treatAsRelax=void 0,this.text=e,this.loc=t}return e.prototype.range=function(t,r){return new e(r,Fr.range(this,t))},e}();function Ur(e){var t=[];e.consumeSpaces();var r=e.fetch().text;for("\\relax"===r&&(e.consume(),e.consumeSpaces(),r=e.fetch().text);"\\hline"===r||"\\hdashline"===r;)e.consume(),t.push("\\hdashline"===r),e.consumeSpaces(),r=e.fetch().text;return t}var Yr=function(e){if(!e.parser.settings.displayMode)throw new n("{"+e.envName+"} can be used only in display mode.")};function Xr(e){if(-1===e.indexOf("ed"))return-1===e.indexOf("*")}function Wr(e,t,r){var a=t.hskipBeforeAndAfter,i=t.addJot,o=t.cols,s=t.arraystretch,l=t.colSeparationType,h=t.autoTag,c=t.singleRow,m=t.emptySingleRow,u=t.maxNumCols,p=t.leqno;if(e.gullet.beginGroup(),c||e.gullet.macros.set("\\cr","\\\\\\relax"),!s){var d=e.gullet.expandMacroAsText("\\arraystretch");if(null==d)s=1;else if(!(s=parseFloat(d))||s<0)throw new n("Invalid \\arraystretch: "+d)}e.gullet.beginGroup();var f=[],g=[f],v=[],b=[],y=null!=h?[]:void 0;function x(){h&&e.gullet.macros.set("\\@eqnsw","1",!0)}function w(){y&&(e.gullet.macros.get("\\df@tag")?(y.push(e.subparse([new Gr("\\df@tag")])),e.gullet.macros.set("\\df@tag",void 0,!0)):y.push(Boolean(h)&&"1"===e.gullet.macros.get("\\@eqnsw")))}for(x(),b.push(Ur(e));;){var k=e.parseExpression(!1,c?"\\end":"\\\\");e.gullet.endGroup(),e.gullet.beginGroup(),k={type:"ordgroup",mode:e.mode,body:k},r&&(k={type:"styling",mode:e.mode,style:r,body:[k]}),f.push(k);var S=e.fetch().text;if("&"===S){if(u&&f.length===u){if(c||l)throw new n("Too many tab characters: &",e.nextToken);e.settings.reportNonstrict("textEnv","Too few columns specified in the {array} column argument.")}e.consume()}else{if("\\end"===S){w(),1===f.length&&"styling"===k.type&&0===k.body[0].body.length&&(g.length>1||!m)&&g.pop(),b.length<g.length+1&&b.push([]);break}if("\\\\"!==S)throw new n("Expected & or \\\\ or \\cr or \\end",e.nextToken);e.consume();var M=void 0;" "!==e.gullet.future().text&&(M=e.parseSizeGroup(!0)),v.push(M?M.value:null),w(),b.push(Ur(e)),f=[],g.push(f),x()}}return e.gullet.endGroup(),e.gullet.endGroup(),{type:"array",mode:e.mode,addJot:i,arraystretch:s,body:g,cols:o,rowGaps:v,hskipBeforeAndAfter:a,hLinesBeforeRow:b,colSeparationType:l,tags:y,leqno:p}}function _r(e){return"d"===e.slice(0,1)?"display":"text"}var jr=function(e,t){var r,a,i=e.body.length,o=e.hLinesBeforeRow,s=0,h=new Array(i),c=[],m=Math.max(t.fontMetrics().arrayRuleWidth,t.minRuleThickness),u=1/t.fontMetrics().ptPerEm,p=5*u;e.colSeparationType&&"small"===e.colSeparationType&&(p=t.havingStyle(x.SCRIPT).sizeMultiplier/t.sizeMultiplier*.2778);var d="CD"===e.colSeparationType?P({number:3,unit:"ex"},t):12*u,f=3*u,g=e.arraystretch*d,v=.7*g,b=.3*g,y=0;function w(e){for(var t=0;t<e.length;++t)t>0&&(y+=.25),c.push({pos:y,isDashed:e[t]})}for(w(o[0]),r=0;r<e.body.length;++r){var k=e.body[r],S=v,M=b;s<k.length&&(s=k.length);var z=new Array(k.length);for(a=0;a<k.length;++a){var A=wt(k[a],t);M<A.depth&&(M=A.depth),S<A.height&&(S=A.height),z[a]=A}var T=e.rowGaps[r],B=0;T&&(B=P(T,t))>0&&(M<(B+=b)&&(M=B),B=0),e.addJot&&(M+=f),z.height=S,z.depth=M,y+=S,z.pos=y,y+=M+B,h[r]=z,w(o[r+1])}var C,N,q=y/2+t.fontMetrics().axisHeight,I=e.cols||[],R=[],H=[];if(e.tags&&e.tags.some((function(e){return e})))for(r=0;r<i;++r){var O=h[r],E=O.pos-q,L=e.tags[r],D=void 0;(D=!0===L?Ke.makeSpan(["eqn-num"],[],t):!1===L?Ke.makeSpan([],[],t):Ke.makeSpan([],ft(L,t,!0),t)).depth=O.depth,D.height=O.height,H.push({type:"elem",elem:D,shift:E})}for(a=0,N=0;a<s||N<I.length;++a,++N){for(var V=I[N]||{},G=!0;"separator"===V.type;){if(G||((C=Ke.makeSpan(["arraycolsep"],[])).style.width=F(t.fontMetrics().doubleRuleSep),R.push(C)),"|"!==V.separator&&":"!==V.separator)throw new n("Invalid separator type: "+V.separator);var U="|"===V.separator?"solid":"dashed",Y=Ke.makeSpan(["vertical-separator"],[],t);Y.style.height=F(y),Y.style.borderRightWidth=F(m),Y.style.borderRightStyle=U,Y.style.margin="0 "+F(-m/2);var X=y-q;X&&(Y.style.verticalAlign=F(-X)),R.push(Y),V=I[++N]||{},G=!1}if(!(a>=s)){var W=void 0;(a>0||e.hskipBeforeAndAfter)&&0!==(W=l.deflt(V.pregap,p))&&((C=Ke.makeSpan(["arraycolsep"],[])).style.width=F(W),R.push(C));var _=[];for(r=0;r<i;++r){var j=h[r],$=j[a];if($){var Z=j.pos-q;$.depth=j.depth,$.height=j.height,_.push({type:"elem",elem:$,shift:Z})}}_=Ke.makeVList({positionType:"individualShift",children:_},t),_=Ke.makeSpan(["col-align-"+(V.align||"c")],[_]),R.push(_),(a<s-1||e.hskipBeforeAndAfter)&&0!==(W=l.deflt(V.postgap,p))&&((C=Ke.makeSpan(["arraycolsep"],[])).style.width=F(W),R.push(C))}}if(h=Ke.makeSpan(["mtable"],R),c.length>0){for(var K=Ke.makeLineSpan("hline",t,m),J=Ke.makeLineSpan("hdashline",t,m),Q=[{type:"elem",elem:h,shift:0}];c.length>0;){var ee=c.pop(),te=ee.pos-q;ee.isDashed?Q.push({type:"elem",elem:J,shift:te}):Q.push({type:"elem",elem:K,shift:te})}h=Ke.makeVList({positionType:"individualShift",children:Q},t)}if(0===H.length)return Ke.makeSpan(["mord"],[h],t);var re=Ke.makeVList({positionType:"individualShift",children:H},t);return re=Ke.makeSpan(["tag"],[re],t),Ke.makeFragment([h,re])},$r={c:"center ",l:"left ",r:"right "},Zr=function(e,t){for(var r=[],n=new Tt.MathNode("mtd",[],["mtr-glue"]),a=new Tt.MathNode("mtd",[],["mml-eqn-num"]),i=0;i<e.body.length;i++){for(var o=e.body[i],s=[],l=0;l<o.length;l++)s.push(new Tt.MathNode("mtd",[Rt(o[l],t)]));e.tags&&e.tags[i]&&(s.unshift(n),s.push(n),e.leqno?s.unshift(a):s.push(a)),r.push(new Tt.MathNode("mtr",s))}var h=new Tt.MathNode("mtable",r),c=.5===e.arraystretch?.1:.16+e.arraystretch-1+(e.addJot?.09:0);h.setAttribute("rowspacing",F(c));var m="",u="";if(e.cols&&e.cols.length>0){var p=e.cols,d="",f=!1,g=0,v=p.length;"separator"===p[0].type&&(m+="top ",g=1),"separator"===p[p.length-1].type&&(m+="bottom ",v-=1);for(var b=g;b<v;b++)"align"===p[b].type?(u+=$r[p[b].align],f&&(d+="none "),f=!0):"separator"===p[b].type&&f&&(d+="|"===p[b].separator?"solid ":"dashed ",f=!1);h.setAttribute("columnalign",u.trim()),/[sd]/.test(d)&&h.setAttribute("columnlines",d.trim())}if("align"===e.colSeparationType){for(var y=e.cols||[],x="",w=1;w<y.length;w++)x+=w%2?"0em ":"1em ";h.setAttribute("columnspacing",x.trim())}else"alignat"===e.colSeparationType||"gather"===e.colSeparationType?h.setAttribute("columnspacing","0em"):"small"===e.colSeparationType?h.setAttribute("columnspacing","0.2778em"):"CD"===e.colSeparationType?h.setAttribute("columnspacing","0.5em"):h.setAttribute("columnspacing","1em");var k="",S=e.hLinesBeforeRow;m+=S[0].length>0?"left ":"",m+=S[S.length-1].length>0?"right ":"";for(var M=1;M<S.length-1;M++)k+=0===S[M].length?"none ":S[M][0]?"dashed ":"solid ";return/[sd]/.test(k)&&h.setAttribute("rowlines",k.trim()),""!==m&&(h=new Tt.MathNode("menclose",[h])).setAttribute("notation",m.trim()),e.arraystretch&&e.arraystretch<1&&(h=new Tt.MathNode("mstyle",[h])).setAttribute("scriptlevel","1"),h},Kr=function(e,t){-1===e.envName.indexOf("ed")&&Yr(e);var r,a=[],i=e.envName.indexOf("at")>-1?"alignat":"align",o="split"===e.envName,s=Wr(e.parser,{cols:a,addJot:!0,autoTag:o?void 0:Xr(e.envName),emptySingleRow:!0,colSeparationType:i,maxNumCols:o?2:void 0,leqno:e.parser.settings.leqno},"display"),l=0,h={type:"ordgroup",mode:e.mode,body:[]};if(t[0]&&"ordgroup"===t[0].type){for(var c="",m=0;m<t[0].body.length;m++){c+=Ut(t[0].body[m],"textord").text}r=Number(c),l=2*r}var u=!l;s.body.forEach((function(e){for(var t=1;t<e.length;t+=2){var a=Ut(e[t],"styling");Ut(a.body[0],"ordgroup").body.unshift(h)}if(u)l<e.length&&(l=e.length);else{var i=e.length/2;if(r<i)throw new n("Too many math in a row: expected "+r+", but got "+i,e[0])}}));for(var p=0;p<l;++p){var d="r",f=0;p%2==1?d="l":p>0&&u&&(f=1),a[p]={type:"align",align:d,pregap:f,postgap:0}}return s.colSeparationType=u?"align":"alignat",s};Dr({type:"array",names:["array","darray"],props:{numArgs:1},handler:function(e,t){var r=(Xt(t[0])?[t[0]]:Ut(t[0],"ordgroup").body).map((function(e){var t=Yt(e).text;if(-1!=="lcr".indexOf(t))return{type:"align",align:t};if("|"===t)return{type:"separator",separator:"|"};if(":"===t)return{type:"separator",separator:":"};throw new n("Unknown column alignment: "+t,e)})),a={cols:r,hskipBeforeAndAfter:!0,maxNumCols:r.length};return Wr(e.parser,a,_r(e.envName))},htmlBuilder:jr,mathmlBuilder:Zr}),Dr({type:"array",names:["matrix","pmatrix","bmatrix","Bmatrix","vmatrix","Vmatrix","matrix*","pmatrix*","bmatrix*","Bmatrix*","vmatrix*","Vmatrix*"],props:{numArgs:0},handler:function(e){var t={matrix:null,pmatrix:["(",")"],bmatrix:["[","]"],Bmatrix:["\\{","\\}"],vmatrix:["|","|"],Vmatrix:["\\Vert","\\Vert"]}[e.envName.replace("*","")],r="c",a={hskipBeforeAndAfter:!1,cols:[{type:"align",align:r}]};if("*"===e.envName.charAt(e.envName.length-1)){var i=e.parser;if(i.consumeSpaces(),"["===i.fetch().text){if(i.consume(),i.consumeSpaces(),r=i.fetch().text,-1==="lcr".indexOf(r))throw new n("Expected l or c or r",i.nextToken);i.consume(),i.consumeSpaces(),i.expect("]"),i.consume(),a.cols=[{type:"align",align:r}]}}var o=Wr(e.parser,a,_r(e.envName)),s=Math.max.apply(Math,[0].concat(o.body.map((function(e){return e.length}))));return o.cols=new Array(s).fill({type:"align",align:r}),t?{type:"leftright",mode:e.mode,body:[o],left:t[0],right:t[1],rightColor:void 0}:o},htmlBuilder:jr,mathmlBuilder:Zr}),Dr({type:"array",names:["smallmatrix"],props:{numArgs:0},handler:function(e){var t=Wr(e.parser,{arraystretch:.5},"script");return t.colSeparationType="small",t},htmlBuilder:jr,mathmlBuilder:Zr}),Dr({type:"array",names:["subarray"],props:{numArgs:1},handler:function(e,t){var r=(Xt(t[0])?[t[0]]:Ut(t[0],"ordgroup").body).map((function(e){var t=Yt(e).text;if(-1!=="lc".indexOf(t))return{type:"align",align:t};throw new n("Unknown column alignment: "+t,e)}));if(r.length>1)throw new n("{subarray} can contain only one column");var a={cols:r,hskipBeforeAndAfter:!1,arraystretch:.5};if((a=Wr(e.parser,a,"script")).body.length>0&&a.body[0].length>1)throw new n("{subarray} can contain only one column");return a},htmlBuilder:jr,mathmlBuilder:Zr}),Dr({type:"array",names:["cases","dcases","rcases","drcases"],props:{numArgs:0},handler:function(e){var t=Wr(e.parser,{arraystretch:1.2,cols:[{type:"align",align:"l",pregap:0,postgap:1},{type:"align",align:"l",pregap:0,postgap:0}]},_r(e.envName));return{type:"leftright",mode:e.mode,body:[t],left:e.envName.indexOf("r")>-1?".":"\\{",right:e.envName.indexOf("r")>-1?"\\}":".",rightColor:void 0}},htmlBuilder:jr,mathmlBuilder:Zr}),Dr({type:"array",names:["align","align*","aligned","split"],props:{numArgs:0},handler:Kr,htmlBuilder:jr,mathmlBuilder:Zr}),Dr({type:"array",names:["gathered","gather","gather*"],props:{numArgs:0},handler:function(e){l.contains(["gather","gather*"],e.envName)&&Yr(e);var t={cols:[{type:"align",align:"c"}],addJot:!0,colSeparationType:"gather",autoTag:Xr(e.envName),emptySingleRow:!0,leqno:e.parser.settings.leqno};return Wr(e.parser,t,"display")},htmlBuilder:jr,mathmlBuilder:Zr}),Dr({type:"array",names:["alignat","alignat*","alignedat"],props:{numArgs:1},handler:Kr,htmlBuilder:jr,mathmlBuilder:Zr}),Dr({type:"array",names:["equation","equation*"],props:{numArgs:0},handler:function(e){Yr(e);var t={autoTag:Xr(e.envName),emptySingleRow:!0,singleRow:!0,maxNumCols:1,leqno:e.parser.settings.leqno};return Wr(e.parser,t,"display")},htmlBuilder:jr,mathmlBuilder:Zr}),Dr({type:"array",names:["CD"],props:{numArgs:0},handler:function(e){return Yr(e),function(e){var t=[];for(e.gullet.beginGroup(),e.gullet.macros.set("\\cr","\\\\\\relax"),e.gullet.beginGroup();;){t.push(e.parseExpression(!1,"\\\\")),e.gullet.endGroup(),e.gullet.beginGroup();var r=e.fetch().text;if("&"!==r&&"\\\\"!==r){if("\\end"===r){0===t[t.length-1].length&&t.pop();break}throw new n("Expected \\\\ or \\cr or \\end",e.nextToken)}e.consume()}for(var a,i,o=[],s=[o],l=0;l<t.length;l++){for(var h=t[l],c={type:"styling",body:[],mode:"math",style:"display"},m=0;m<h.length;m++)if(tr(h[m])){o.push(c);var u=Yt(h[m+=1]).text,p=new Array(2);if(p[0]={type:"ordgroup",mode:"math",body:[]},p[1]={type:"ordgroup",mode:"math",body:[]},"=|.".indexOf(u)>-1);else{if(!("<>AV".indexOf(u)>-1))throw new n('Expected one of "<>AV=|." after @',h[m]);for(var d=0;d<2;d++){for(var f=!0,g=m+1;g<h.length;g++){if(i=u,("mathord"===(a=h[g]).type||"atom"===a.type)&&a.text===i){f=!1,m=g;break}if(tr(h[g]))throw new n("Missing a "+u+" character to complete a CD arrow.",h[g]);p[d].body.push(h[g])}if(f)throw new n("Missing a "+u+" character to complete a CD arrow.",h[m])}}var v={type:"styling",body:[rr(u,p,e)],mode:"math",style:"display"};o.push(v),c={type:"styling",body:[],mode:"math",style:"display"}}else c.body.push(h[m]);l%2==0?o.push(c):o.shift(),o=[],s.push(o)}return e.gullet.endGroup(),e.gullet.endGroup(),{type:"array",mode:"math",body:s,arraystretch:1,addJot:!0,rowGaps:[null],cols:new Array(s[0].length).fill({type:"align",align:"c",pregap:.25,postgap:.25}),colSeparationType:"CD",hLinesBeforeRow:new Array(s.length+1).fill([])}}(e.parser)},htmlBuilder:jr,mathmlBuilder:Zr}),Pr("\\nonumber","\\gdef\\@eqnsw{0}"),Pr("\\notag","\\nonumber"),ot({type:"text",names:["\\hline","\\hdashline"],props:{numArgs:0,allowedInText:!0,allowedInMath:!0},handler:function(e,t){throw new n(e.funcName+" valid only within array environment")}});var Jr=Lr;ot({type:"environment",names:["\\begin","\\end"],props:{numArgs:1,argTypes:["text"]},handler:function(e,t){var r=e.parser,a=e.funcName,i=t[0];if("ordgroup"!==i.type)throw new n("Invalid environment name",i);for(var o="",s=0;s<i.body.length;++s)o+=Ut(i.body[s],"textord").text;if("\\begin"===a){if(!Jr.hasOwnProperty(o))throw new n("No such environment: "+o,i);var l=Jr[o],h=r.parseArguments("\\begin{"+o+"}",l),c=h.args,m=h.optArgs,u={mode:r.mode,envName:o,parser:r},p=l.handler(u,c,m);r.expect("\\end",!1);var d=r.nextToken,f=Ut(r.parseFunction(),"environment");if(f.name!==o)throw new n("Mismatch: \\begin{"+o+"} matched by \\end{"+f.name+"}",d);return p}return{type:"environment",mode:r.mode,name:o,nameGroup:i}}});var Qr=function(e,t){var r=e.font,n=t.withFont(r);return wt(e.body,n)},en=function(e,t){var r=e.font,n=t.withFont(r);return Rt(e.body,n)},tn={"\\Bbb":"\\mathbb","\\bold":"\\mathbf","\\frak":"\\mathfrak","\\bm":"\\boldsymbol"};ot({type:"font",names:["\\mathrm","\\mathit","\\mathbf","\\mathnormal","\\mathbb","\\mathcal","\\mathfrak","\\mathscr","\\mathsf","\\mathtt","\\Bbb","\\bold","\\frak"],props:{numArgs:1,allowedInArgument:!0},handler:function(e,t){var r=e.parser,n=e.funcName,a=lt(t[0]),i=n;return i in tn&&(i=tn[i]),{type:"font",mode:r.mode,font:i.slice(1),body:a}},htmlBuilder:Qr,mathmlBuilder:en}),ot({type:"mclass",names:["\\boldsymbol","\\bm"],props:{numArgs:1},handler:function(e,t){var r=e.parser,n=t[0],a=l.isCharacterBox(n);return{type:"mclass",mode:r.mode,mclass:Qt(n),body:[{type:"font",mode:r.mode,font:"boldsymbol",body:n}],isCharacterBox:a}}}),ot({type:"font",names:["\\rm","\\sf","\\tt","\\bf","\\it","\\cal"],props:{numArgs:0,allowedInText:!0},handler:function(e,t){var r=e.parser,n=e.funcName,a=e.breakOnTokenText,i=r.mode,o=r.parseExpression(!0,a);return{type:"font",mode:i,font:"math"+n.slice(1),body:{type:"ordgroup",mode:r.mode,body:o}}},htmlBuilder:Qr,mathmlBuilder:en});var rn=function(e,t){var r=t;return"display"===e?r=r.id>=x.SCRIPT.id?r.text():x.DISPLAY:"text"===e&&r.size===x.DISPLAY.size?r=x.TEXT:"script"===e?r=x.SCRIPT:"scriptscript"===e&&(r=x.SCRIPTSCRIPT),r},nn=function(e,t){var r,n=rn(e.size,t.style),a=n.fracNum(),i=n.fracDen();r=t.havingStyle(a);var o=wt(e.numer,r,t);if(e.continued){var s=8.5/t.fontMetrics().ptPerEm,l=3.5/t.fontMetrics().ptPerEm;o.height=o.height<s?s:o.height,o.depth=o.depth<l?l:o.depth}r=t.havingStyle(i);var h,c,m,u,p,d,f,g,v,b,y=wt(e.denom,r,t);if(e.hasBarLine?(e.barSize?(c=P(e.barSize,t),h=Ke.makeLineSpan("frac-line",t,c)):h=Ke.makeLineSpan("frac-line",t),c=h.height,m=h.height):(h=null,c=0,m=t.fontMetrics().defaultRuleThickness),n.size===x.DISPLAY.size||"display"===e.size?(u=t.fontMetrics().num1,p=c>0?3*m:7*m,d=t.fontMetrics().denom1):(c>0?(u=t.fontMetrics().num2,p=m):(u=t.fontMetrics().num3,p=3*m),d=t.fontMetrics().denom2),h){var w=t.fontMetrics().axisHeight;u-o.depth-(w+.5*c)<p&&(u+=p-(u-o.depth-(w+.5*c))),w-.5*c-(y.height-d)<p&&(d+=p-(w-.5*c-(y.height-d)));var k=-(w-.5*c);f=Ke.makeVList({positionType:"individualShift",children:[{type:"elem",elem:y,shift:d},{type:"elem",elem:h,shift:k},{type:"elem",elem:o,shift:-u}]},t)}else{var S=u-o.depth-(y.height-d);S<p&&(u+=.5*(p-S),d+=.5*(p-S)),f=Ke.makeVList({positionType:"individualShift",children:[{type:"elem",elem:y,shift:d},{type:"elem",elem:o,shift:-u}]},t)}return r=t.havingStyle(n),f.height*=r.sizeMultiplier/t.sizeMultiplier,f.depth*=r.sizeMultiplier/t.sizeMultiplier,g=n.size===x.DISPLAY.size?t.fontMetrics().delim1:n.size===x.SCRIPTSCRIPT.size?t.havingStyle(x.SCRIPT).fontMetrics().delim2:t.fontMetrics().delim2,v=null==e.leftDelim?xt(t,["mopen"]):Nr.customSizedDelim(e.leftDelim,g,!0,t.havingStyle(n),e.mode,["mopen"]),b=e.continued?Ke.makeSpan([]):null==e.rightDelim?xt(t,["mclose"]):Nr.customSizedDelim(e.rightDelim,g,!0,t.havingStyle(n),e.mode,["mclose"]),Ke.makeSpan(["mord"].concat(r.sizingClasses(t)),[v,Ke.makeSpan(["mfrac"],[f]),b],t)},an=function(e,t){var r=new Tt.MathNode("mfrac",[Rt(e.numer,t),Rt(e.denom,t)]);if(e.hasBarLine){if(e.barSize){var n=P(e.barSize,t);r.setAttribute("linethickness",F(n))}}else r.setAttribute("linethickness","0px");var a=rn(e.size,t.style);if(a.size!==t.style.size){r=new Tt.MathNode("mstyle",[r]);var i=a.size===x.DISPLAY.size?"true":"false";r.setAttribute("displaystyle",i),r.setAttribute("scriptlevel","0")}if(null!=e.leftDelim||null!=e.rightDelim){var o=[];if(null!=e.leftDelim){var s=new Tt.MathNode("mo",[new Tt.TextNode(e.leftDelim.replace("\\",""))]);s.setAttribute("fence","true"),o.push(s)}if(o.push(r),null!=e.rightDelim){var l=new Tt.MathNode("mo",[new Tt.TextNode(e.rightDelim.replace("\\",""))]);l.setAttribute("fence","true"),o.push(l)}return Ct(o)}return r};ot({type:"genfrac",names:["\\dfrac","\\frac","\\tfrac","\\dbinom","\\binom","\\tbinom","\\\\atopfrac","\\\\bracefrac","\\\\brackfrac"],props:{numArgs:2,allowedInArgument:!0},handler:function(e,t){var r,n=e.parser,a=e.funcName,i=t[0],o=t[1],s=null,l=null,h="auto";switch(a){case"\\dfrac":case"\\frac":case"\\tfrac":r=!0;break;case"\\\\atopfrac":r=!1;break;case"\\dbinom":case"\\binom":case"\\tbinom":r=!1,s="(",l=")";break;case"\\\\bracefrac":r=!1,s="\\{",l="\\}";break;case"\\\\brackfrac":r=!1,s="[",l="]";break;default:throw new Error("Unrecognized genfrac command")}switch(a){case"\\dfrac":case"\\dbinom":h="display";break;case"\\tfrac":case"\\tbinom":h="text"}return{type:"genfrac",mode:n.mode,continued:!1,numer:i,denom:o,hasBarLine:r,leftDelim:s,rightDelim:l,size:h,barSize:null}},htmlBuilder:nn,mathmlBuilder:an}),ot({type:"genfrac",names:["\\cfrac"],props:{numArgs:2},handler:function(e,t){var r=e.parser,n=(e.funcName,t[0]),a=t[1];return{type:"genfrac",mode:r.mode,continued:!0,numer:n,denom:a,hasBarLine:!0,leftDelim:null,rightDelim:null,size:"display",barSize:null}}}),ot({type:"infix",names:["\\over","\\choose","\\atop","\\brace","\\brack"],props:{numArgs:0,infix:!0},handler:function(e){var t,r=e.parser,n=e.funcName,a=e.token;switch(n){case"\\over":t="\\frac";break;case"\\choose":t="\\binom";break;case"\\atop":t="\\\\atopfrac";break;case"\\brace":t="\\\\bracefrac";break;case"\\brack":t="\\\\brackfrac";break;default:throw new Error("Unrecognized infix genfrac command")}return{type:"infix",mode:r.mode,replaceWith:t,token:a}}});var on=["display","text","script","scriptscript"],sn=function(e){var t=null;return e.length>0&&(t="."===(t=e)?null:t),t};ot({type:"genfrac",names:["\\genfrac"],props:{numArgs:6,allowedInArgument:!0,argTypes:["math","math","size","text","math","math"]},handler:function(e,t){var r,n=e.parser,a=t[4],i=t[5],o=lt(t[0]),s="atom"===o.type&&"open"===o.family?sn(o.text):null,l=lt(t[1]),h="atom"===l.type&&"close"===l.family?sn(l.text):null,c=Ut(t[2],"size"),m=null;r=!!c.isBlank||(m=c.value).number>0;var u="auto",p=t[3];if("ordgroup"===p.type){if(p.body.length>0){var d=Ut(p.body[0],"textord");u=on[Number(d.text)]}}else p=Ut(p,"textord"),u=on[Number(p.text)];return{type:"genfrac",mode:n.mode,numer:a,denom:i,continued:!1,hasBarLine:r,barSize:m,leftDelim:s,rightDelim:h,size:u}},htmlBuilder:nn,mathmlBuilder:an}),ot({type:"infix",names:["\\above"],props:{numArgs:1,argTypes:["size"],infix:!0},handler:function(e,t){var r=e.parser,n=(e.funcName,e.token);return{type:"infix",mode:r.mode,replaceWith:"\\\\abovefrac",size:Ut(t[0],"size").value,token:n}}}),ot({type:"genfrac",names:["\\\\abovefrac"],props:{numArgs:3,argTypes:["math","size","math"]},handler:function(e,t){var r=e.parser,n=(e.funcName,t[0]),a=function(e){if(!e)throw new Error("Expected non-null, but got "+String(e));return e}(Ut(t[1],"infix").size),i=t[2],o=a.number>0;return{type:"genfrac",mode:r.mode,numer:n,denom:i,continued:!1,hasBarLine:o,barSize:a,leftDelim:null,rightDelim:null,size:"auto"}},htmlBuilder:nn,mathmlBuilder:an});var ln=function(e,t){var r,n,a=t.style;"supsub"===e.type?(r=e.sup?wt(e.sup,t.havingStyle(a.sup()),t):wt(e.sub,t.havingStyle(a.sub()),t),n=Ut(e.base,"horizBrace")):n=Ut(e,"horizBrace");var i,o=wt(n.base,t.havingBaseStyle(x.DISPLAY)),s=Gt(n,t);if(n.isOver?(i=Ke.makeVList({positionType:"firstBaseline",children:[{type:"elem",elem:o},{type:"kern",size:.1},{type:"elem",elem:s}]},t)).children[0].children[0].children[1].classes.push("svg-align"):(i=Ke.makeVList({positionType:"bottom",positionData:o.depth+.1+s.height,children:[{type:"elem",elem:s},{type:"kern",size:.1},{type:"elem",elem:o}]},t)).children[0].children[0].children[0].classes.push("svg-align"),r){var l=Ke.makeSpan(["mord",n.isOver?"mover":"munder"],[i],t);i=n.isOver?Ke.makeVList({positionType:"firstBaseline",children:[{type:"elem",elem:l},{type:"kern",size:.2},{type:"elem",elem:r}]},t):Ke.makeVList({positionType:"bottom",positionData:l.depth+.2+r.height+r.depth,children:[{type:"elem",elem:r},{type:"kern",size:.2},{type:"elem",elem:l}]},t)}return Ke.makeSpan(["mord",n.isOver?"mover":"munder"],[i],t)};ot({type:"horizBrace",names:["\\overbrace","\\underbrace"],props:{numArgs:1},handler:function(e,t){var r=e.parser,n=e.funcName;return{type:"horizBrace",mode:r.mode,label:n,isOver:/^\\over/.test(n),base:t[0]}},htmlBuilder:ln,mathmlBuilder:function(e,t){var r=Ft(e.label);return new Tt.MathNode(e.isOver?"mover":"munder",[Rt(e.base,t),r])}}),ot({type:"href",names:["\\href"],props:{numArgs:2,argTypes:["url","original"],allowedInText:!0},handler:function(e,t){var r=e.parser,n=t[1],a=Ut(t[0],"url").url;return r.settings.isTrusted({command:"\\href",url:a})?{type:"href",mode:r.mode,href:a,body:ht(n)}:r.formatUnsupportedCmd("\\href")},htmlBuilder:function(e,t){var r=ft(e.body,t,!1);return Ke.makeAnchor(e.href,[],r,t)},mathmlBuilder:function(e,t){var r=It(e.body,t);return r instanceof zt||(r=new zt("mrow",[r])),r.setAttribute("href",e.href),r}}),ot({type:"href",names:["\\url"],props:{numArgs:1,argTypes:["url"],allowedInText:!0},handler:function(e,t){var r=e.parser,n=Ut(t[0],"url").url;if(!r.settings.isTrusted({command:"\\url",url:n}))return r.formatUnsupportedCmd("\\url");for(var a=[],i=0;i<n.length;i++){var o=n[i];"~"===o&&(o="\\textasciitilde"),a.push({type:"textord",mode:"text",text:o})}var s={type:"text",mode:r.mode,font:"\\texttt",body:a};return{type:"href",mode:r.mode,href:n,body:ht(s)}}}),ot({type:"hbox",names:["\\hbox"],props:{numArgs:1,argTypes:["text"],allowedInText:!0,primitive:!0},handler:function(e,t){return{type:"hbox",mode:e.parser.mode,body:ht(t[0])}},htmlBuilder:function(e,t){var r=ft(e.body,t,!1);return Ke.makeFragment(r)},mathmlBuilder:function(e,t){return new Tt.MathNode("mrow",qt(e.body,t))}}),ot({type:"html",names:["\\htmlClass","\\htmlId","\\htmlStyle","\\htmlData"],props:{numArgs:2,argTypes:["raw","original"],allowedInText:!0},handler:function(e,t){var r,a=e.parser,i=e.funcName,o=(e.token,Ut(t[0],"raw").string),s=t[1];a.settings.strict&&a.settings.reportNonstrict("htmlExtension","HTML extension is disabled on strict mode");var l={};switch(i){case"\\htmlClass":l.class=o,r={command:"\\htmlClass",class:o};break;case"\\htmlId":l.id=o,r={command:"\\htmlId",id:o};break;case"\\htmlStyle":l.style=o,r={command:"\\htmlStyle",style:o};break;case"\\htmlData":for(var h=o.split(","),c=0;c<h.length;c++){var m=h[c].split("=");if(2!==m.length)throw new n("Error parsing key-value for \\htmlData");l["data-"+m[0].trim()]=m[1].trim()}r={command:"\\htmlData",attributes:l};break;default:throw new Error("Unrecognized html command")}return a.settings.isTrusted(r)?{type:"html",mode:a.mode,attributes:l,body:ht(s)}:a.formatUnsupportedCmd(i)},htmlBuilder:function(e,t){var r=ft(e.body,t,!1),n=["enclosing"];e.attributes.class&&n.push.apply(n,e.attributes.class.trim().split(/\s+/));var a=Ke.makeSpan(n,r,t);for(var i in e.attributes)"class"!==i&&e.attributes.hasOwnProperty(i)&&a.setAttribute(i,e.attributes[i]);return a},mathmlBuilder:function(e,t){return It(e.body,t)}}),ot({type:"htmlmathml",names:["\\html@mathml"],props:{numArgs:2,allowedInText:!0},handler:function(e,t){return{type:"htmlmathml",mode:e.parser.mode,html:ht(t[0]),mathml:ht(t[1])}},htmlBuilder:function(e,t){var r=ft(e.html,t,!1);return Ke.makeFragment(r)},mathmlBuilder:function(e,t){return It(e.mathml,t)}});var hn=function(e){if(/^[-+]? *(\d+(\.\d*)?|\.\d+)$/.test(e))return{number:+e,unit:"bp"};var t=/([-+]?) *(\d+(?:\.\d*)?|\.\d+) *([a-z]{2})/.exec(e);if(!t)throw new n("Invalid size: '"+e+"' in \\includegraphics");var r={number:+(t[1]+t[2]),unit:t[3]};if(!V(r))throw new n("Invalid unit: '"+r.unit+"' in \\includegraphics.");return r};ot({type:"includegraphics",names:["\\includegraphics"],props:{numArgs:1,numOptionalArgs:1,argTypes:["raw","url"],allowedInText:!1},handler:function(e,t,r){var a=e.parser,i={number:0,unit:"em"},o={number:.9,unit:"em"},s={number:0,unit:"em"},l="";if(r[0])for(var h=Ut(r[0],"raw").string.split(","),c=0;c<h.length;c++){var m=h[c].split("=");if(2===m.length){var u=m[1].trim();switch(m[0].trim()){case"alt":l=u;break;case"width":i=hn(u);break;case"height":o=hn(u);break;case"totalheight":s=hn(u);break;default:throw new n("Invalid key: '"+m[0]+"' in \\includegraphics.")}}}var p=Ut(t[0],"url").url;return""===l&&(l=(l=(l=p).replace(/^.*[\\/]/,"")).substring(0,l.lastIndexOf("."))),a.settings.isTrusted({command:"\\includegraphics",url:p})?{type:"includegraphics",mode:a.mode,alt:l,width:i,height:o,totalheight:s,src:p}:a.formatUnsupportedCmd("\\includegraphics")},htmlBuilder:function(e,t){var r=P(e.height,t),n=0;e.totalheight.number>0&&(n=P(e.totalheight,t)-r);var a=0;e.width.number>0&&(a=P(e.width,t));var i={height:F(r+n)};a>0&&(i.width=F(a)),n>0&&(i.verticalAlign=F(-n));var o=new j(e.src,e.alt,i);return o.height=r,o.depth=n,o},mathmlBuilder:function(e,t){var r=new Tt.MathNode("mglyph",[]);r.setAttribute("alt",e.alt);var n=P(e.height,t),a=0;if(e.totalheight.number>0&&(a=P(e.totalheight,t)-n,r.setAttribute("valign",F(-a))),r.setAttribute("height",F(n+a)),e.width.number>0){var i=P(e.width,t);r.setAttribute("width",F(i))}return r.setAttribute("src",e.src),r}}),ot({type:"kern",names:["\\kern","\\mkern","\\hskip","\\mskip"],props:{numArgs:1,argTypes:["size"],primitive:!0,allowedInText:!0},handler:function(e,t){var r=e.parser,n=e.funcName,a=Ut(t[0],"size");if(r.settings.strict){var i="m"===n[1],o="mu"===a.value.unit;i?(o||r.settings.reportNonstrict("mathVsTextUnits","LaTeX's "+n+" supports only mu units, not "+a.value.unit+" units"),"math"!==r.mode&&r.settings.reportNonstrict("mathVsTextUnits","LaTeX's "+n+" works only in math mode")):o&&r.settings.reportNonstrict("mathVsTextUnits","LaTeX's "+n+" doesn't support mu units")}return{type:"kern",mode:r.mode,dimension:a.value}},htmlBuilder:function(e,t){return Ke.makeGlue(e.dimension,t)},mathmlBuilder:function(e,t){var r=P(e.dimension,t);return new Tt.SpaceNode(r)}}),ot({type:"lap",names:["\\mathllap","\\mathrlap","\\mathclap"],props:{numArgs:1,allowedInText:!0},handler:function(e,t){var r=e.parser,n=e.funcName,a=t[0];return{type:"lap",mode:r.mode,alignment:n.slice(5),body:a}},htmlBuilder:function(e,t){var r;"clap"===e.alignment?(r=Ke.makeSpan([],[wt(e.body,t)]),r=Ke.makeSpan(["inner"],[r],t)):r=Ke.makeSpan(["inner"],[wt(e.body,t)]);var n=Ke.makeSpan(["fix"],[]),a=Ke.makeSpan([e.alignment],[r,n],t),i=Ke.makeSpan(["strut"]);return i.style.height=F(a.height+a.depth),a.depth&&(i.style.verticalAlign=F(-a.depth)),a.children.unshift(i),a=Ke.makeSpan(["thinbox"],[a],t),Ke.makeSpan(["mord","vbox"],[a],t)},mathmlBuilder:function(e,t){var r=new Tt.MathNode("mpadded",[Rt(e.body,t)]);if("rlap"!==e.alignment){var n="llap"===e.alignment?"-1":"-0.5";r.setAttribute("lspace",n+"width")}return r.setAttribute("width","0px"),r}}),ot({type:"styling",names:["\\(","$"],props:{numArgs:0,allowedInText:!0,allowedInMath:!1},handler:function(e,t){var r=e.funcName,n=e.parser,a=n.mode;n.switchMode("math");var i="\\("===r?"\\)":"$",o=n.parseExpression(!1,i);return n.expect(i),n.switchMode(a),{type:"styling",mode:n.mode,style:"text",body:o}}}),ot({type:"text",names:["\\)","\\]"],props:{numArgs:0,allowedInText:!0,allowedInMath:!1},handler:function(e,t){throw new n("Mismatched "+e.funcName)}});var cn=function(e,t){switch(t.style.size){case x.DISPLAY.size:return e.display;case x.TEXT.size:return e.text;case x.SCRIPT.size:return e.script;case x.SCRIPTSCRIPT.size:return e.scriptscript;default:return e.text}};ot({type:"mathchoice",names:["\\mathchoice"],props:{numArgs:4,primitive:!0},handler:function(e,t){return{type:"mathchoice",mode:e.parser.mode,display:ht(t[0]),text:ht(t[1]),script:ht(t[2]),scriptscript:ht(t[3])}},htmlBuilder:function(e,t){var r=cn(e,t),n=ft(r,t,!1);return Ke.makeFragment(n)},mathmlBuilder:function(e,t){var r=cn(e,t);return It(r,t)}});var mn=function(e,t,r,n,a,i,o){e=Ke.makeSpan([],[e]);var s,h,c,m=r&&l.isCharacterBox(r);if(t){var u=wt(t,n.havingStyle(a.sup()),n);h={elem:u,kern:Math.max(n.fontMetrics().bigOpSpacing1,n.fontMetrics().bigOpSpacing3-u.depth)}}if(r){var p=wt(r,n.havingStyle(a.sub()),n);s={elem:p,kern:Math.max(n.fontMetrics().bigOpSpacing2,n.fontMetrics().bigOpSpacing4-p.height)}}if(h&&s){var d=n.fontMetrics().bigOpSpacing5+s.elem.height+s.elem.depth+s.kern+e.depth+o;c=Ke.makeVList({positionType:"bottom",positionData:d,children:[{type:"kern",size:n.fontMetrics().bigOpSpacing5},{type:"elem",elem:s.elem,marginLeft:F(-i)},{type:"kern",size:s.kern},{type:"elem",elem:e},{type:"kern",size:h.kern},{type:"elem",elem:h.elem,marginLeft:F(i)},{type:"kern",size:n.fontMetrics().bigOpSpacing5}]},n)}else if(s){var f=e.height-o;c=Ke.makeVList({positionType:"top",positionData:f,children:[{type:"kern",size:n.fontMetrics().bigOpSpacing5},{type:"elem",elem:s.elem,marginLeft:F(-i)},{type:"kern",size:s.kern},{type:"elem",elem:e}]},n)}else{if(!h)return e;var g=e.depth+o;c=Ke.makeVList({positionType:"bottom",positionData:g,children:[{type:"elem",elem:e},{type:"kern",size:h.kern},{type:"elem",elem:h.elem,marginLeft:F(i)},{type:"kern",size:n.fontMetrics().bigOpSpacing5}]},n)}var v=[c];if(s&&0!==i&&!m){var b=Ke.makeSpan(["mspace"],[],n);b.style.marginRight=F(i),v.unshift(b)}return Ke.makeSpan(["mop","op-limits"],v,n)},un=["\\smallint"],pn=function(e,t){var r,n,a,i=!1;"supsub"===e.type?(r=e.sup,n=e.sub,a=Ut(e.base,"op"),i=!0):a=Ut(e,"op");var o,s=t.style,h=!1;if(s.size===x.DISPLAY.size&&a.symbol&&!l.contains(un,a.name)&&(h=!0),a.symbol){var c=h?"Size2-Regular":"Size1-Regular",m="";if("\\oiint"!==a.name&&"\\oiiint"!==a.name||(m=a.name.slice(1),a.name="oiint"===m?"\\iint":"\\iiint"),o=Ke.makeSymbol(a.name,c,"math",t,["mop","op-symbol",h?"large-op":"small-op"]),m.length>0){var u=o.italic,p=Ke.staticSvg(m+"Size"+(h?"2":"1"),t);o=Ke.makeVList({positionType:"individualShift",children:[{type:"elem",elem:o,shift:0},{type:"elem",elem:p,shift:h?.08:0}]},t),a.name="\\"+m,o.classes.unshift("mop"),o.italic=u}}else if(a.body){var d=ft(a.body,t,!0);1===d.length&&d[0]instanceof Z?(o=d[0]).classes[0]="mop":o=Ke.makeSpan(["mop"],d,t)}else{for(var f=[],g=1;g<a.name.length;g++)f.push(Ke.mathsym(a.name[g],a.mode,t));o=Ke.makeSpan(["mop"],f,t)}var v=0,b=0;return(o instanceof Z||"\\oiint"===a.name||"\\oiiint"===a.name)&&!a.suppressBaseShift&&(v=(o.height-o.depth)/2-t.fontMetrics().axisHeight,b=o.italic),i?mn(o,r,n,t,s,b,v):(v&&(o.style.position="relative",o.style.top=F(v)),o)},dn=function(e,t){var r;if(e.symbol)r=new zt("mo",[Bt(e.name,e.mode)]),l.contains(un,e.name)&&r.setAttribute("largeop","false");else if(e.body)r=new zt("mo",qt(e.body,t));else{r=new zt("mi",[new At(e.name.slice(1))]);var n=new zt("mo",[Bt("\u2061","text")]);r=e.parentIsSupSub?new zt("mrow",[r,n]):Mt([r,n])}return r},fn={"\u220f":"\\prod","\u2210":"\\coprod","\u2211":"\\sum","\u22c0":"\\bigwedge","\u22c1":"\\bigvee","\u22c2":"\\bigcap","\u22c3":"\\bigcup","\u2a00":"\\bigodot","\u2a01":"\\bigoplus","\u2a02":"\\bigotimes","\u2a04":"\\biguplus","\u2a06":"\\bigsqcup"};ot({type:"op",names:["\\coprod","\\bigvee","\\bigwedge","\\biguplus","\\bigcap","\\bigcup","\\intop","\\prod","\\sum","\\bigotimes","\\bigoplus","\\bigodot","\\bigsqcup","\\smallint","\u220f","\u2210","\u2211","\u22c0","\u22c1","\u22c2","\u22c3","\u2a00","\u2a01","\u2a02","\u2a04","\u2a06"],props:{numArgs:0},handler:function(e,t){var r=e.parser,n=e.funcName;return 1===n.length&&(n=fn[n]),{type:"op",mode:r.mode,limits:!0,parentIsSupSub:!1,symbol:!0,name:n}},htmlBuilder:pn,mathmlBuilder:dn}),ot({type:"op",names:["\\mathop"],props:{numArgs:1,primitive:!0},handler:function(e,t){var r=e.parser,n=t[0];return{type:"op",mode:r.mode,limits:!1,parentIsSupSub:!1,symbol:!1,body:ht(n)}},htmlBuilder:pn,mathmlBuilder:dn});var gn={"\u222b":"\\int","\u222c":"\\iint","\u222d":"\\iiint","\u222e":"\\oint","\u222f":"\\oiint","\u2230":"\\oiiint"};ot({type:"op",names:["\\arcsin","\\arccos","\\arctan","\\arctg","\\arcctg","\\arg","\\ch","\\cos","\\cosec","\\cosh","\\cot","\\cotg","\\coth","\\csc","\\ctg","\\cth","\\deg","\\dim","\\exp","\\hom","\\ker","\\lg","\\ln","\\log","\\sec","\\sin","\\sinh","\\sh","\\tan","\\tanh","\\tg","\\th"],props:{numArgs:0},handler:function(e){var t=e.parser,r=e.funcName;return{type:"op",mode:t.mode,limits:!1,parentIsSupSub:!1,symbol:!1,name:r}},htmlBuilder:pn,mathmlBuilder:dn}),ot({type:"op",names:["\\det","\\gcd","\\inf","\\lim","\\max","\\min","\\Pr","\\sup"],props:{numArgs:0},handler:function(e){var t=e.parser,r=e.funcName;return{type:"op",mode:t.mode,limits:!0,parentIsSupSub:!1,symbol:!1,name:r}},htmlBuilder:pn,mathmlBuilder:dn}),ot({type:"op",names:["\\int","\\iint","\\iiint","\\oint","\\oiint","\\oiiint","\u222b","\u222c","\u222d","\u222e","\u222f","\u2230"],props:{numArgs:0},handler:function(e){var t=e.parser,r=e.funcName;return 1===r.length&&(r=gn[r]),{type:"op",mode:t.mode,limits:!1,parentIsSupSub:!1,symbol:!0,name:r}},htmlBuilder:pn,mathmlBuilder:dn});var vn=function(e,t){var r,n,a,i,o=!1;if("supsub"===e.type?(r=e.sup,n=e.sub,a=Ut(e.base,"operatorname"),o=!0):a=Ut(e,"operatorname"),a.body.length>0){for(var s=a.body.map((function(e){var t=e.text;return"string"==typeof t?{type:"textord",mode:e.mode,text:t}:e})),l=ft(s,t.withFont("mathrm"),!0),h=0;h<l.length;h++){var c=l[h];c instanceof Z&&(c.text=c.text.replace(/\u2212/,"-").replace(/\u2217/,"*"))}i=Ke.makeSpan(["mop"],l,t)}else i=Ke.makeSpan(["mop"],[],t);return o?mn(i,r,n,t,t.style,0,0):i};function bn(e,t,r){for(var n=ft(e,t,!1),a=t.sizeMultiplier/r.sizeMultiplier,i=0;i<n.length;i++){var o=n[i].classes.indexOf("sizing");o<0?Array.prototype.push.apply(n[i].classes,t.sizingClasses(r)):n[i].classes[o+1]==="reset-size"+t.size&&(n[i].classes[o+1]="reset-size"+r.size),n[i].height*=a,n[i].depth*=a}return Ke.makeFragment(n)}ot({type:"operatorname",names:["\\operatorname@","\\operatornamewithlimits"],props:{numArgs:1},handler:function(e,t){var r=e.parser,n=e.funcName,a=t[0];return{type:"operatorname",mode:r.mode,body:ht(a),alwaysHandleSupSub:"\\operatornamewithlimits"===n,limits:!1,parentIsSupSub:!1}},htmlBuilder:vn,mathmlBuilder:function(e,t){for(var r=qt(e.body,t.withFont("mathrm")),n=!0,a=0;a<r.length;a++){var i=r[a];if(i instanceof Tt.SpaceNode);else if(i instanceof Tt.MathNode)switch(i.type){case"mi":case"mn":case"ms":case"mspace":case"mtext":break;case"mo":var o=i.children[0];1===i.children.length&&o instanceof Tt.TextNode?o.text=o.text.replace(/\u2212/,"-").replace(/\u2217/,"*"):n=!1;break;default:n=!1}else n=!1}if(n){var s=r.map((function(e){return e.toText()})).join("");r=[new Tt.TextNode(s)]}var l=new Tt.MathNode("mi",r);l.setAttribute("mathvariant","normal");var h=new Tt.MathNode("mo",[Bt("\u2061","text")]);return e.parentIsSupSub?new Tt.MathNode("mrow",[l,h]):Tt.newDocumentFragment([l,h])}}),Pr("\\operatorname","\\@ifstar\\operatornamewithlimits\\operatorname@"),st({type:"ordgroup",htmlBuilder:function(e,t){return e.semisimple?Ke.makeFragment(ft(e.body,t,!1)):Ke.makeSpan(["mord"],ft(e.body,t,!0),t)},mathmlBuilder:function(e,t){return It(e.body,t,!0)}}),ot({type:"overline",names:["\\overline"],props:{numArgs:1},handler:function(e,t){var r=e.parser,n=t[0];return{type:"overline",mode:r.mode,body:n}},htmlBuilder:function(e,t){var r=wt(e.body,t.havingCrampedStyle()),n=Ke.makeLineSpan("overline-line",t),a=t.fontMetrics().defaultRuleThickness,i=Ke.makeVList({positionType:"firstBaseline",children:[{type:"elem",elem:r},{type:"kern",size:3*a},{type:"elem",elem:n},{type:"kern",size:a}]},t);return Ke.makeSpan(["mord","overline"],[i],t)},mathmlBuilder:function(e,t){var r=new Tt.MathNode("mo",[new Tt.TextNode("\u203e")]);r.setAttribute("stretchy","true");var n=new Tt.MathNode("mover",[Rt(e.body,t),r]);return n.setAttribute("accent","true"),n}}),ot({type:"phantom",names:["\\phantom"],props:{numArgs:1,allowedInText:!0},handler:function(e,t){var r=e.parser,n=t[0];return{type:"phantom",mode:r.mode,body:ht(n)}},htmlBuilder:function(e,t){var r=ft(e.body,t.withPhantom(),!1);return Ke.makeFragment(r)},mathmlBuilder:function(e,t){var r=qt(e.body,t);return new Tt.MathNode("mphantom",r)}}),ot({type:"hphantom",names:["\\hphantom"],props:{numArgs:1,allowedInText:!0},handler:function(e,t){var r=e.parser,n=t[0];return{type:"hphantom",mode:r.mode,body:n}},htmlBuilder:function(e,t){var r=Ke.makeSpan([],[wt(e.body,t.withPhantom())]);if(r.height=0,r.depth=0,r.children)for(var n=0;n<r.children.length;n++)r.children[n].height=0,r.children[n].depth=0;return r=Ke.makeVList({positionType:"firstBaseline",children:[{type:"elem",elem:r}]},t),Ke.makeSpan(["mord"],[r],t)},mathmlBuilder:function(e,t){var r=qt(ht(e.body),t),n=new Tt.MathNode("mphantom",r),a=new Tt.MathNode("mpadded",[n]);return a.setAttribute("height","0px"),a.setAttribute("depth","0px"),a}}),ot({type:"vphantom",names:["\\vphantom"],props:{numArgs:1,allowedInText:!0},handler:function(e,t){var r=e.parser,n=t[0];return{type:"vphantom",mode:r.mode,body:n}},htmlBuilder:function(e,t){var r=Ke.makeSpan(["inner"],[wt(e.body,t.withPhantom())]),n=Ke.makeSpan(["fix"],[]);return Ke.makeSpan(["mord","rlap"],[r,n],t)},mathmlBuilder:function(e,t){var r=qt(ht(e.body),t),n=new Tt.MathNode("mphantom",r),a=new Tt.MathNode("mpadded",[n]);return a.setAttribute("width","0px"),a}}),ot({type:"raisebox",names:["\\raisebox"],props:{numArgs:2,argTypes:["size","hbox"],allowedInText:!0},handler:function(e,t){var r=e.parser,n=Ut(t[0],"size").value,a=t[1];return{type:"raisebox",mode:r.mode,dy:n,body:a}},htmlBuilder:function(e,t){var r=wt(e.body,t),n=P(e.dy,t);return Ke.makeVList({positionType:"shift",positionData:-n,children:[{type:"elem",elem:r}]},t)},mathmlBuilder:function(e,t){var r=new Tt.MathNode("mpadded",[Rt(e.body,t)]),n=e.dy.number+e.dy.unit;return r.setAttribute("voffset",n),r}}),ot({type:"internal",names:["\\relax"],props:{numArgs:0,allowedInText:!0},handler:function(e){return{type:"internal",mode:e.parser.mode}}}),ot({type:"rule",names:["\\rule"],props:{numArgs:2,numOptionalArgs:1,argTypes:["size","size","size"]},handler:function(e,t,r){var n=e.parser,a=r[0],i=Ut(t[0],"size"),o=Ut(t[1],"size");return{type:"rule",mode:n.mode,shift:a&&Ut(a,"size").value,width:i.value,height:o.value}},htmlBuilder:function(e,t){var r=Ke.makeSpan(["mord","rule"],[],t),n=P(e.width,t),a=P(e.height,t),i=e.shift?P(e.shift,t):0;return r.style.borderRightWidth=F(n),r.style.borderTopWidth=F(a),r.style.bottom=F(i),r.width=n,r.height=a+i,r.depth=-i,r.maxFontSize=1.125*a*t.sizeMultiplier,r},mathmlBuilder:function(e,t){var r=P(e.width,t),n=P(e.height,t),a=e.shift?P(e.shift,t):0,i=t.color&&t.getColor()||"black",o=new Tt.MathNode("mspace");o.setAttribute("mathbackground",i),o.setAttribute("width",F(r)),o.setAttribute("height",F(n));var s=new Tt.MathNode("mpadded",[o]);return a>=0?s.setAttribute("height",F(a)):(s.setAttribute("height",F(a)),s.setAttribute("depth",F(-a))),s.setAttribute("voffset",F(a)),s}});var yn=["\\tiny","\\sixptsize","\\scriptsize","\\footnotesize","\\small","\\normalsize","\\large","\\Large","\\LARGE","\\huge","\\Huge"];ot({type:"sizing",names:yn,props:{numArgs:0,allowedInText:!0},handler:function(e,t){var r=e.breakOnTokenText,n=e.funcName,a=e.parser,i=a.parseExpression(!1,r);return{type:"sizing",mode:a.mode,size:yn.indexOf(n)+1,body:i}},htmlBuilder:function(e,t){var r=t.havingSize(e.size);return bn(e.body,r,t)},mathmlBuilder:function(e,t){var r=t.havingSize(e.size),n=qt(e.body,r),a=new Tt.MathNode("mstyle",n);return a.setAttribute("mathsize",F(r.sizeMultiplier)),a}}),ot({type:"smash",names:["\\smash"],props:{numArgs:1,numOptionalArgs:1,allowedInText:!0},handler:function(e,t,r){var n=e.parser,a=!1,i=!1,o=r[0]&&Ut(r[0],"ordgroup");if(o)for(var s="",l=0;l<o.body.length;++l){if("t"===(s=o.body[l].text))a=!0;else{if("b"!==s){a=!1,i=!1;break}i=!0}}else a=!0,i=!0;var h=t[0];return{type:"smash",mode:n.mode,body:h,smashHeight:a,smashDepth:i}},htmlBuilder:function(e,t){var r=Ke.makeSpan([],[wt(e.body,t)]);if(!e.smashHeight&&!e.smashDepth)return r;if(e.smashHeight&&(r.height=0,r.children))for(var n=0;n<r.children.length;n++)r.children[n].height=0;if(e.smashDepth&&(r.depth=0,r.children))for(var a=0;a<r.children.length;a++)r.children[a].depth=0;var i=Ke.makeVList({positionType:"firstBaseline",children:[{type:"elem",elem:r}]},t);return Ke.makeSpan(["mord"],[i],t)},mathmlBuilder:function(e,t){var r=new Tt.MathNode("mpadded",[Rt(e.body,t)]);return e.smashHeight&&r.setAttribute("height","0px"),e.smashDepth&&r.setAttribute("depth","0px"),r}}),ot({type:"sqrt",names:["\\sqrt"],props:{numArgs:1,numOptionalArgs:1},handler:function(e,t,r){var n=e.parser,a=r[0],i=t[0];return{type:"sqrt",mode:n.mode,body:i,index:a}},htmlBuilder:function(e,t){var r=wt(e.body,t.havingCrampedStyle());0===r.height&&(r.height=t.fontMetrics().xHeight),r=Ke.wrapFragment(r,t);var n=t.fontMetrics().defaultRuleThickness,a=n;t.style.id<x.TEXT.id&&(a=t.fontMetrics().xHeight);var i=n+a/4,o=r.height+r.depth+i+n,s=Nr.sqrtImage(o,t),l=s.span,h=s.ruleWidth,c=s.advanceWidth,m=l.height-h;m>r.height+r.depth+i&&(i=(i+m-r.height-r.depth)/2);var u=l.height-r.height-i-h;r.style.paddingLeft=F(c);var p=Ke.makeVList({positionType:"firstBaseline",children:[{type:"elem",elem:r,wrapperClasses:["svg-align"]},{type:"kern",size:-(r.height+u)},{type:"elem",elem:l},{type:"kern",size:h}]},t);if(e.index){var d=t.havingStyle(x.SCRIPTSCRIPT),f=wt(e.index,d,t),g=.6*(p.height-p.depth),v=Ke.makeVList({positionType:"shift",positionData:-g,children:[{type:"elem",elem:f}]},t),b=Ke.makeSpan(["root"],[v]);return Ke.makeSpan(["mord","sqrt"],[b,p],t)}return Ke.makeSpan(["mord","sqrt"],[p],t)},mathmlBuilder:function(e,t){var r=e.body,n=e.index;return n?new Tt.MathNode("mroot",[Rt(r,t),Rt(n,t)]):new Tt.MathNode("msqrt",[Rt(r,t)])}});var xn={display:x.DISPLAY,text:x.TEXT,script:x.SCRIPT,scriptscript:x.SCRIPTSCRIPT};ot({type:"styling",names:["\\displaystyle","\\textstyle","\\scriptstyle","\\scriptscriptstyle"],props:{numArgs:0,allowedInText:!0,primitive:!0},handler:function(e,t){var r=e.breakOnTokenText,n=e.funcName,a=e.parser,i=a.parseExpression(!0,r),o=n.slice(1,n.length-5);return{type:"styling",mode:a.mode,style:o,body:i}},htmlBuilder:function(e,t){var r=xn[e.style],n=t.havingStyle(r).withFont("");return bn(e.body,n,t)},mathmlBuilder:function(e,t){var r=xn[e.style],n=t.havingStyle(r),a=qt(e.body,n),i=new Tt.MathNode("mstyle",a),o={display:["0","true"],text:["0","false"],script:["1","false"],scriptscript:["2","false"]}[e.style];return i.setAttribute("scriptlevel",o[0]),i.setAttribute("displaystyle",o[1]),i}});var wn=function(e,t){var r=e.base;return r?"op"===r.type?r.limits&&(t.style.size===x.DISPLAY.size||r.alwaysHandleSupSub)?pn:null:"operatorname"===r.type?r.alwaysHandleSupSub&&(t.style.size===x.DISPLAY.size||r.limits)?vn:null:"accent"===r.type?l.isCharacterBox(r.base)?Wt:null:"horizBrace"===r.type&&!e.sub===r.isOver?ln:null:null};st({type:"supsub",htmlBuilder:function(e,t){var r=wn(e,t);if(r)return r(e,t);var n,a,i,o=e.base,s=e.sup,h=e.sub,c=wt(o,t),m=t.fontMetrics(),u=0,p=0,d=o&&l.isCharacterBox(o);if(s){var f=t.havingStyle(t.style.sup());n=wt(s,f,t),d||(u=c.height-f.fontMetrics().supDrop*f.sizeMultiplier/t.sizeMultiplier)}if(h){var g=t.havingStyle(t.style.sub());a=wt(h,g,t),d||(p=c.depth+g.fontMetrics().subDrop*g.sizeMultiplier/t.sizeMultiplier)}i=t.style===x.DISPLAY?m.sup1:t.style.cramped?m.sup3:m.sup2;var v,b=t.sizeMultiplier,y=F(.5/m.ptPerEm/b),w=null;if(a){var k=e.base&&"op"===e.base.type&&e.base.name&&("\\oiint"===e.base.name||"\\oiiint"===e.base.name);(c instanceof Z||k)&&(w=F(-c.italic))}if(n&&a){u=Math.max(u,i,n.depth+.25*m.xHeight),p=Math.max(p,m.sub2);var S=4*m.defaultRuleThickness;if(u-n.depth-(a.height-p)<S){p=S-(u-n.depth)+a.height;var M=.8*m.xHeight-(u-n.depth);M>0&&(u+=M,p-=M)}var z=[{type:"elem",elem:a,shift:p,marginRight:y,marginLeft:w},{type:"elem",elem:n,shift:-u,marginRight:y}];v=Ke.makeVList({positionType:"individualShift",children:z},t)}else if(a){p=Math.max(p,m.sub1,a.height-.8*m.xHeight);var A=[{type:"elem",elem:a,marginLeft:w,marginRight:y}];v=Ke.makeVList({positionType:"shift",positionData:p,children:A},t)}else{if(!n)throw new Error("supsub must have either sup or sub.");u=Math.max(u,i,n.depth+.25*m.xHeight),v=Ke.makeVList({positionType:"shift",positionData:-u,children:[{type:"elem",elem:n,marginRight:y}]},t)}var T=yt(c,"right")||"mord";return Ke.makeSpan([T],[c,Ke.makeSpan(["msupsub"],[v])],t)},mathmlBuilder:function(e,t){var r,n=!1;e.base&&"horizBrace"===e.base.type&&!!e.sup===e.base.isOver&&(n=!0,r=e.base.isOver),!e.base||"op"!==e.base.type&&"operatorname"!==e.base.type||(e.base.parentIsSupSub=!0);var a,i=[Rt(e.base,t)];if(e.sub&&i.push(Rt(e.sub,t)),e.sup&&i.push(Rt(e.sup,t)),n)a=r?"mover":"munder";else if(e.sub)if(e.sup){var o=e.base;a=o&&"op"===o.type&&o.limits&&t.style===x.DISPLAY||o&&"operatorname"===o.type&&o.alwaysHandleSupSub&&(t.style===x.DISPLAY||o.limits)?"munderover":"msubsup"}else{var s=e.base;a=s&&"op"===s.type&&s.limits&&(t.style===x.DISPLAY||s.alwaysHandleSupSub)||s&&"operatorname"===s.type&&s.alwaysHandleSupSub&&(s.limits||t.style===x.DISPLAY)?"munder":"msub"}else{var l=e.base;a=l&&"op"===l.type&&l.limits&&(t.style===x.DISPLAY||l.alwaysHandleSupSub)||l&&"operatorname"===l.type&&l.alwaysHandleSupSub&&(l.limits||t.style===x.DISPLAY)?"mover":"msup"}return new Tt.MathNode(a,i)}}),st({type:"atom",htmlBuilder:function(e,t){return Ke.mathsym(e.text,e.mode,t,["m"+e.family])},mathmlBuilder:function(e,t){var r=new Tt.MathNode("mo",[Bt(e.text,e.mode)]);if("bin"===e.family){var n=Nt(e,t);"bold-italic"===n&&r.setAttribute("mathvariant",n)}else"punct"===e.family?r.setAttribute("separator","true"):"open"!==e.family&&"close"!==e.family||r.setAttribute("stretchy","false");return r}});var kn={mi:"italic",mn:"normal",mtext:"normal"};st({type:"mathord",htmlBuilder:function(e,t){return Ke.makeOrd(e,t,"mathord")},mathmlBuilder:function(e,t){var r=new Tt.MathNode("mi",[Bt(e.text,e.mode,t)]),n=Nt(e,t)||"italic";return n!==kn[r.type]&&r.setAttribute("mathvariant",n),r}}),st({type:"textord",htmlBuilder:function(e,t){return Ke.makeOrd(e,t,"textord")},mathmlBuilder:function(e,t){var r,n=Bt(e.text,e.mode,t),a=Nt(e,t)||"normal";return r="text"===e.mode?new Tt.MathNode("mtext",[n]):/[0-9]/.test(e.text)?new Tt.MathNode("mn",[n]):"\\prime"===e.text?new Tt.MathNode("mo",[n]):new Tt.MathNode("mi",[n]),a!==kn[r.type]&&r.setAttribute("mathvariant",a),r}});var Sn={"\\nobreak":"nobreak","\\allowbreak":"allowbreak"},Mn={" ":{},"\\ ":{},"~":{className:"nobreak"},"\\space":{},"\\nobreakspace":{className:"nobreak"}};st({type:"spacing",htmlBuilder:function(e,t){if(Mn.hasOwnProperty(e.text)){var r=Mn[e.text].className||"";if("text"===e.mode){var a=Ke.makeOrd(e,t,"textord");return a.classes.push(r),a}return Ke.makeSpan(["mspace",r],[Ke.mathsym(e.text,e.mode,t)],t)}if(Sn.hasOwnProperty(e.text))return Ke.makeSpan(["mspace",Sn[e.text]],[],t);throw new n('Unknown type of space "'+e.text+'"')},mathmlBuilder:function(e,t){if(!Mn.hasOwnProperty(e.text)){if(Sn.hasOwnProperty(e.text))return new Tt.MathNode("mspace");throw new n('Unknown type of space "'+e.text+'"')}return new Tt.MathNode("mtext",[new Tt.TextNode("\xa0")])}});var zn=function(){var e=new Tt.MathNode("mtd",[]);return e.setAttribute("width","50%"),e};st({type:"tag",mathmlBuilder:function(e,t){var r=new Tt.MathNode("mtable",[new Tt.MathNode("mtr",[zn(),new Tt.MathNode("mtd",[It(e.body,t)]),zn(),new Tt.MathNode("mtd",[It(e.tag,t)])])]);return r.setAttribute("width","100%"),r}});var An={"\\text":void 0,"\\textrm":"textrm","\\textsf":"textsf","\\texttt":"texttt","\\textnormal":"textrm"},Tn={"\\textbf":"textbf","\\textmd":"textmd"},Bn={"\\textit":"textit","\\textup":"textup"},Cn=function(e,t){var r=e.font;return r?An[r]?t.withTextFontFamily(An[r]):Tn[r]?t.withTextFontWeight(Tn[r]):t.withTextFontShape(Bn[r]):t};ot({type:"text",names:["\\text","\\textrm","\\textsf","\\texttt","\\textnormal","\\textbf","\\textmd","\\textit","\\textup"],props:{numArgs:1,argTypes:["text"],allowedInArgument:!0,allowedInText:!0},handler:function(e,t){var r=e.parser,n=e.funcName,a=t[0];return{type:"text",mode:r.mode,body:ht(a),font:n}},htmlBuilder:function(e,t){var r=Cn(e,t),n=ft(e.body,r,!0);return Ke.makeSpan(["mord","text"],n,r)},mathmlBuilder:function(e,t){var r=Cn(e,t);return It(e.body,r)}}),ot({type:"underline",names:["\\underline"],props:{numArgs:1,allowedInText:!0},handler:function(e,t){return{type:"underline",mode:e.parser.mode,body:t[0]}},htmlBuilder:function(e,t){var r=wt(e.body,t),n=Ke.makeLineSpan("underline-line",t),a=t.fontMetrics().defaultRuleThickness,i=Ke.makeVList({positionType:"top",positionData:r.height,children:[{type:"kern",size:a},{type:"elem",elem:n},{type:"kern",size:3*a},{type:"elem",elem:r}]},t);return Ke.makeSpan(["mord","underline"],[i],t)},mathmlBuilder:function(e,t){var r=new Tt.MathNode("mo",[new Tt.TextNode("\u203e")]);r.setAttribute("stretchy","true");var n=new Tt.MathNode("munder",[Rt(e.body,t),r]);return n.setAttribute("accentunder","true"),n}}),ot({type:"vcenter",names:["\\vcenter"],props:{numArgs:1,argTypes:["original"],allowedInText:!1},handler:function(e,t){return{type:"vcenter",mode:e.parser.mode,body:t[0]}},htmlBuilder:function(e,t){var r=wt(e.body,t),n=t.fontMetrics().axisHeight,a=.5*(r.height-n-(r.depth+n));return Ke.makeVList({positionType:"shift",positionData:a,children:[{type:"elem",elem:r}]},t)},mathmlBuilder:function(e,t){return new Tt.MathNode("mpadded",[Rt(e.body,t)],["vcenter"])}}),ot({type:"verb",names:["\\verb"],props:{numArgs:0,allowedInText:!0},handler:function(e,t,r){throw new n("\\verb ended by end of line instead of matching delimiter")},htmlBuilder:function(e,t){for(var r=Nn(e),n=[],a=t.havingStyle(t.style.text()),i=0;i<r.length;i++){var o=r[i];"~"===o&&(o="\\textasciitilde"),n.push(Ke.makeSymbol(o,"Typewriter-Regular",e.mode,a,["mord","texttt"]))}return Ke.makeSpan(["mord","text"].concat(a.sizingClasses(t)),Ke.tryCombineChars(n),a)},mathmlBuilder:function(e,t){var r=new Tt.TextNode(Nn(e)),n=new Tt.MathNode("mtext",[r]);return n.setAttribute("mathvariant","monospace"),n}});var Nn=function(e){return e.body.replace(/ /g,e.star?"\u2423":"\xa0")},qn=nt,In="[ \r\n\t]",Rn="(\\\\[a-zA-Z@]+)"+In+"*",Hn="[\u0300-\u036f]",On=new RegExp(Hn+"+$"),En="("+In+"+)|\\\\(\n|[ \r\t]+\n?)[ \r\t]*|([!-\\[\\]-\u2027\u202a-\ud7ff\uf900-\uffff]"+Hn+"*|[\ud800-\udbff][\udc00-\udfff]"+Hn+"*|\\\\verb\\*([^]).*?\\4|\\\\verb([^*a-zA-Z]).*?\\5|"+Rn+"|\\\\[^\ud800-\udfff])",Ln=function(){function e(e,t){this.input=void 0,this.settings=void 0,this.tokenRegex=void 0,this.catcodes=void 0,this.input=e,this.settings=t,this.tokenRegex=new RegExp(En,"g"),this.catcodes={"%":14,"~":13}}var t=e.prototype;return t.setCatcode=function(e,t){this.catcodes[e]=t},t.lex=function(){var e=this.input,t=this.tokenRegex.lastIndex;if(t===e.length)return new Gr("EOF",new Fr(this,t,t));var r=this.tokenRegex.exec(e);if(null===r||r.index!==t)throw new n("Unexpected character: '"+e[t]+"'",new Gr(e[t],new Fr(this,t,t+1)));var a=r[6]||r[3]||(r[2]?"\\ ":" ");if(14===this.catcodes[a]){var i=e.indexOf("\n",this.tokenRegex.lastIndex);return-1===i?(this.tokenRegex.lastIndex=e.length,this.settings.reportNonstrict("commentAtEnd","% comment has no terminating newline; LaTeX would fail because of commenting the end of math mode (e.g. $)")):this.tokenRegex.lastIndex=i+1,this.lex()}return new Gr(a,new Fr(this,t,this.tokenRegex.lastIndex))},e}(),Dn=function(){function e(e,t){void 0===e&&(e={}),void 0===t&&(t={}),this.current=void 0,this.builtins=void 0,this.undefStack=void 0,this.current=t,this.builtins=e,this.undefStack=[]}var t=e.prototype;return t.beginGroup=function(){this.undefStack.push({})},t.endGroup=function(){if(0===this.undefStack.length)throw new n("Unbalanced namespace destruction: attempt to pop global namespace; please report this as a bug");var e=this.undefStack.pop();for(var t in e)e.hasOwnProperty(t)&&(null==e[t]?delete this.current[t]:this.current[t]=e[t])},t.endGroups=function(){for(;this.undefStack.length>0;)this.endGroup()},t.has=function(e){return this.current.hasOwnProperty(e)||this.builtins.hasOwnProperty(e)},t.get=function(e){return this.current.hasOwnProperty(e)?this.current[e]:this.builtins[e]},t.set=function(e,t,r){if(void 0===r&&(r=!1),r){for(var n=0;n<this.undefStack.length;n++)delete this.undefStack[n][e];this.undefStack.length>0&&(this.undefStack[this.undefStack.length-1][e]=t)}else{var a=this.undefStack[this.undefStack.length-1];a&&!a.hasOwnProperty(e)&&(a[e]=this.current[e])}null==t?delete this.current[e]:this.current[e]=t},e}(),Vn=Vr;Pr("\\noexpand",(function(e){var t=e.popToken();return e.isExpandable(t.text)&&(t.noexpand=!0,t.treatAsRelax=!0),{tokens:[t],numArgs:0}})),Pr("\\expandafter",(function(e){var t=e.popToken();return e.expandOnce(!0),{tokens:[t],numArgs:0}})),Pr("\\@firstoftwo",(function(e){return{tokens:e.consumeArgs(2)[0],numArgs:0}})),Pr("\\@secondoftwo",(function(e){return{tokens:e.consumeArgs(2)[1],numArgs:0}})),Pr("\\@ifnextchar",(function(e){var t=e.consumeArgs(3);e.consumeSpaces();var r=e.future();return 1===t[0].length&&t[0][0].text===r.text?{tokens:t[1],numArgs:0}:{tokens:t[2],numArgs:0}})),Pr("\\@ifstar","\\@ifnextchar *{\\@firstoftwo{#1}}"),Pr("\\TextOrMath",(function(e){var t=e.consumeArgs(2);return"text"===e.mode?{tokens:t[0],numArgs:0}:{tokens:t[1],numArgs:0}}));var Pn={0:0,1:1,2:2,3:3,4:4,5:5,6:6,7:7,8:8,9:9,a:10,A:10,b:11,B:11,c:12,C:12,d:13,D:13,e:14,E:14,f:15,F:15};Pr("\\char",(function(e){var t,r=e.popToken(),a="";if("'"===r.text)t=8,r=e.popToken();else if('"'===r.text)t=16,r=e.popToken();else if("`"===r.text)if("\\"===(r=e.popToken()).text[0])a=r.text.charCodeAt(1);else{if("EOF"===r.text)throw new n("\\char` missing argument");a=r.text.charCodeAt(0)}else t=10;if(t){if(null==(a=Pn[r.text])||a>=t)throw new n("Invalid base-"+t+" digit "+r.text);for(var i;null!=(i=Pn[e.future().text])&&i<t;)a*=t,a+=i,e.popToken()}return"\\@char{"+a+"}"}));var Fn=function(e,t,r){var a=e.consumeArg().tokens;if(1!==a.length)throw new n("\\newcommand's first argument must be a macro name");var i=a[0].text,o=e.isDefined(i);if(o&&!t)throw new n("\\newcommand{"+i+"} attempting to redefine "+i+"; use \\renewcommand");if(!o&&!r)throw new n("\\renewcommand{"+i+"} when command "+i+" does not yet exist; use \\newcommand");var s=0;if(1===(a=e.consumeArg().tokens).length&&"["===a[0].text){for(var l="",h=e.expandNextToken();"]"!==h.text&&"EOF"!==h.text;)l+=h.text,h=e.expandNextToken();if(!l.match(/^\s*[0-9]+\s*$/))throw new n("Invalid number of arguments: "+l);s=parseInt(l),a=e.consumeArg().tokens}return e.macros.set(i,{tokens:a,numArgs:s}),""};Pr("\\newcommand",(function(e){return Fn(e,!1,!0)})),Pr("\\renewcommand",(function(e){return Fn(e,!0,!1)})),Pr("\\providecommand",(function(e){return Fn(e,!0,!0)})),Pr("\\message",(function(e){var t=e.consumeArgs(1)[0];return console.log(t.reverse().map((function(e){return e.text})).join("")),""})),Pr("\\errmessage",(function(e){var t=e.consumeArgs(1)[0];return console.error(t.reverse().map((function(e){return e.text})).join("")),""})),Pr("\\show",(function(e){var t=e.popToken(),r=t.text;return console.log(t,e.macros.get(r),qn[r],ae.math[r],ae.text[r]),""})),Pr("\\bgroup","{"),Pr("\\egroup","}"),Pr("~","\\nobreakspace"),Pr("\\lq","`"),Pr("\\rq","'"),Pr("\\aa","\\r a"),Pr("\\AA","\\r A"),Pr("\\textcopyright","\\html@mathml{\\textcircled{c}}{\\char`\xa9}"),Pr("\\copyright","\\TextOrMath{\\textcopyright}{\\text{\\textcopyright}}"),Pr("\\textregistered","\\html@mathml{\\textcircled{\\scriptsize R}}{\\char`\xae}"),Pr("\u212c","\\mathscr{B}"),Pr("\u2130","\\mathscr{E}"),Pr("\u2131","\\mathscr{F}"),Pr("\u210b","\\mathscr{H}"),Pr("\u2110","\\mathscr{I}"),Pr("\u2112","\\mathscr{L}"),Pr("\u2133","\\mathscr{M}"),Pr("\u211b","\\mathscr{R}"),Pr("\u212d","\\mathfrak{C}"),Pr("\u210c","\\mathfrak{H}"),Pr("\u2128","\\mathfrak{Z}"),Pr("\\Bbbk","\\Bbb{k}"),Pr("\xb7","\\cdotp"),Pr("\\llap","\\mathllap{\\textrm{#1}}"),Pr("\\rlap","\\mathrlap{\\textrm{#1}}"),Pr("\\clap","\\mathclap{\\textrm{#1}}"),Pr("\\mathstrut","\\vphantom{(}"),Pr("\\underbar","\\underline{\\text{#1}}"),Pr("\\not",'\\html@mathml{\\mathrel{\\mathrlap\\@not}}{\\char"338}'),Pr("\\neq","\\html@mathml{\\mathrel{\\not=}}{\\mathrel{\\char`\u2260}}"),Pr("\\ne","\\neq"),Pr("\u2260","\\neq"),Pr("\\notin","\\html@mathml{\\mathrel{{\\in}\\mathllap{/\\mskip1mu}}}{\\mathrel{\\char`\u2209}}"),Pr("\u2209","\\notin"),Pr("\u2258","\\html@mathml{\\mathrel{=\\kern{-1em}\\raisebox{0.4em}{$\\scriptsize\\frown$}}}{\\mathrel{\\char`\u2258}}"),Pr("\u2259","\\html@mathml{\\stackrel{\\tiny\\wedge}{=}}{\\mathrel{\\char`\u2258}}"),Pr("\u225a","\\html@mathml{\\stackrel{\\tiny\\vee}{=}}{\\mathrel{\\char`\u225a}}"),Pr("\u225b","\\html@mathml{\\stackrel{\\scriptsize\\star}{=}}{\\mathrel{\\char`\u225b}}"),Pr("\u225d","\\html@mathml{\\stackrel{\\tiny\\mathrm{def}}{=}}{\\mathrel{\\char`\u225d}}"),Pr("\u225e","\\html@mathml{\\stackrel{\\tiny\\mathrm{m}}{=}}{\\mathrel{\\char`\u225e}}"),Pr("\u225f","\\html@mathml{\\stackrel{\\tiny?}{=}}{\\mathrel{\\char`\u225f}}"),Pr("\u27c2","\\perp"),Pr("\u203c","\\mathclose{!\\mkern-0.8mu!}"),Pr("\u220c","\\notni"),Pr("\u231c","\\ulcorner"),Pr("\u231d","\\urcorner"),Pr("\u231e","\\llcorner"),Pr("\u231f","\\lrcorner"),Pr("\xa9","\\copyright"),Pr("\xae","\\textregistered"),Pr("\ufe0f","\\textregistered"),Pr("\\ulcorner",'\\html@mathml{\\@ulcorner}{\\mathop{\\char"231c}}'),Pr("\\urcorner",'\\html@mathml{\\@urcorner}{\\mathop{\\char"231d}}'),Pr("\\llcorner",'\\html@mathml{\\@llcorner}{\\mathop{\\char"231e}}'),Pr("\\lrcorner",'\\html@mathml{\\@lrcorner}{\\mathop{\\char"231f}}'),Pr("\\vdots","\\mathord{\\varvdots\\rule{0pt}{15pt}}"),Pr("\u22ee","\\vdots"),Pr("\\varGamma","\\mathit{\\Gamma}"),Pr("\\varDelta","\\mathit{\\Delta}"),Pr("\\varTheta","\\mathit{\\Theta}"),Pr("\\varLambda","\\mathit{\\Lambda}"),Pr("\\varXi","\\mathit{\\Xi}"),Pr("\\varPi","\\mathit{\\Pi}"),Pr("\\varSigma","\\mathit{\\Sigma}"),Pr("\\varUpsilon","\\mathit{\\Upsilon}"),Pr("\\varPhi","\\mathit{\\Phi}"),Pr("\\varPsi","\\mathit{\\Psi}"),Pr("\\varOmega","\\mathit{\\Omega}"),Pr("\\substack","\\begin{subarray}{c}#1\\end{subarray}"),Pr("\\colon","\\nobreak\\mskip2mu\\mathpunct{}\\mathchoice{\\mkern-3mu}{\\mkern-3mu}{}{}{:}\\mskip6mu\\relax"),Pr("\\boxed","\\fbox{$\\displaystyle{#1}$}"),Pr("\\iff","\\DOTSB\\;\\Longleftrightarrow\\;"),Pr("\\implies","\\DOTSB\\;\\Longrightarrow\\;"),Pr("\\impliedby","\\DOTSB\\;\\Longleftarrow\\;");var Gn={",":"\\dotsc","\\not":"\\dotsb","+":"\\dotsb","=":"\\dotsb","<":"\\dotsb",">":"\\dotsb","-":"\\dotsb","*":"\\dotsb",":":"\\dotsb","\\DOTSB":"\\dotsb","\\coprod":"\\dotsb","\\bigvee":"\\dotsb","\\bigwedge":"\\dotsb","\\biguplus":"\\dotsb","\\bigcap":"\\dotsb","\\bigcup":"\\dotsb","\\prod":"\\dotsb","\\sum":"\\dotsb","\\bigotimes":"\\dotsb","\\bigoplus":"\\dotsb","\\bigodot":"\\dotsb","\\bigsqcup":"\\dotsb","\\And":"\\dotsb","\\longrightarrow":"\\dotsb","\\Longrightarrow":"\\dotsb","\\longleftarrow":"\\dotsb","\\Longleftarrow":"\\dotsb","\\longleftrightarrow":"\\dotsb","\\Longleftrightarrow":"\\dotsb","\\mapsto":"\\dotsb","\\longmapsto":"\\dotsb","\\hookrightarrow":"\\dotsb","\\doteq":"\\dotsb","\\mathbin":"\\dotsb","\\mathrel":"\\dotsb","\\relbar":"\\dotsb","\\Relbar":"\\dotsb","\\xrightarrow":"\\dotsb","\\xleftarrow":"\\dotsb","\\DOTSI":"\\dotsi","\\int":"\\dotsi","\\oint":"\\dotsi","\\iint":"\\dotsi","\\iiint":"\\dotsi","\\iiiint":"\\dotsi","\\idotsint":"\\dotsi","\\DOTSX":"\\dotsx"};Pr("\\dots",(function(e){var t="\\dotso",r=e.expandAfterFuture().text;return r in Gn?t=Gn[r]:("\\not"===r.slice(0,4)||r in ae.math&&l.contains(["bin","rel"],ae.math[r].group))&&(t="\\dotsb"),t}));var Un={")":!0,"]":!0,"\\rbrack":!0,"\\}":!0,"\\rbrace":!0,"\\rangle":!0,"\\rceil":!0,"\\rfloor":!0,"\\rgroup":!0,"\\rmoustache":!0,"\\right":!0,"\\bigr":!0,"\\biggr":!0,"\\Bigr":!0,"\\Biggr":!0,$:!0,";":!0,".":!0,",":!0};Pr("\\dotso",(function(e){return e.future().text in Un?"\\ldots\\,":"\\ldots"})),Pr("\\dotsc",(function(e){var t=e.future().text;return t in Un&&","!==t?"\\ldots\\,":"\\ldots"})),Pr("\\cdots",(function(e){return e.future().text in Un?"\\@cdots\\,":"\\@cdots"})),Pr("\\dotsb","\\cdots"),Pr("\\dotsm","\\cdots"),Pr("\\dotsi","\\!\\cdots"),Pr("\\dotsx","\\ldots\\,"),Pr("\\DOTSI","\\relax"),Pr("\\DOTSB","\\relax"),Pr("\\DOTSX","\\relax"),Pr("\\tmspace","\\TextOrMath{\\kern#1#3}{\\mskip#1#2}\\relax"),Pr("\\,","\\tmspace+{3mu}{.1667em}"),Pr("\\thinspace","\\,"),Pr("\\>","\\mskip{4mu}"),Pr("\\:","\\tmspace+{4mu}{.2222em}"),Pr("\\medspace","\\:"),Pr("\\;","\\tmspace+{5mu}{.2777em}"),Pr("\\thickspace","\\;"),Pr("\\!","\\tmspace-{3mu}{.1667em}"),Pr("\\negthinspace","\\!"),Pr("\\negmedspace","\\tmspace-{4mu}{.2222em}"),Pr("\\negthickspace","\\tmspace-{5mu}{.277em}"),Pr("\\enspace","\\kern.5em "),Pr("\\enskip","\\hskip.5em\\relax"),Pr("\\quad","\\hskip1em\\relax"),Pr("\\qquad","\\hskip2em\\relax"),Pr("\\tag","\\@ifstar\\tag@literal\\tag@paren"),Pr("\\tag@paren","\\tag@literal{({#1})}"),Pr("\\tag@literal",(function(e){if(e.macros.get("\\df@tag"))throw new n("Multiple \\tag");return"\\gdef\\df@tag{\\text{#1}}"})),Pr("\\bmod","\\mathchoice{\\mskip1mu}{\\mskip1mu}{\\mskip5mu}{\\mskip5mu}\\mathbin{\\rm mod}\\mathchoice{\\mskip1mu}{\\mskip1mu}{\\mskip5mu}{\\mskip5mu}"),Pr("\\pod","\\allowbreak\\mathchoice{\\mkern18mu}{\\mkern8mu}{\\mkern8mu}{\\mkern8mu}(#1)"),Pr("\\pmod","\\pod{{\\rm mod}\\mkern6mu#1}"),Pr("\\mod","\\allowbreak\\mathchoice{\\mkern18mu}{\\mkern12mu}{\\mkern12mu}{\\mkern12mu}{\\rm mod}\\,\\,#1"),Pr("\\newline","\\\\\\relax"),Pr("\\TeX","\\textrm{\\html@mathml{T\\kern-.1667em\\raisebox{-.5ex}{E}\\kern-.125emX}{TeX}}");var Yn=F(T["Main-Regular"]["T".charCodeAt(0)][1]-.7*T["Main-Regular"]["A".charCodeAt(0)][1]);Pr("\\LaTeX","\\textrm{\\html@mathml{L\\kern-.36em\\raisebox{"+Yn+"}{\\scriptstyle A}\\kern-.15em\\TeX}{LaTeX}}"),Pr("\\KaTeX","\\textrm{\\html@mathml{K\\kern-.17em\\raisebox{"+Yn+"}{\\scriptstyle A}\\kern-.15em\\TeX}{KaTeX}}"),Pr("\\hspace","\\@ifstar\\@hspacer\\@hspace"),Pr("\\@hspace","\\hskip #1\\relax"),Pr("\\@hspacer","\\rule{0pt}{0pt}\\hskip #1\\relax"),Pr("\\ordinarycolon",":"),Pr("\\vcentcolon","\\mathrel{\\mathop\\ordinarycolon}"),Pr("\\dblcolon",'\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-.9mu}\\vcentcolon}}{\\mathop{\\char"2237}}'),Pr("\\coloneqq",'\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}=}}{\\mathop{\\char"2254}}'),Pr("\\Coloneqq",'\\html@mathml{\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}=}}{\\mathop{\\char"2237\\char"3d}}'),Pr("\\coloneq",'\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}\\mathrel{-}}}{\\mathop{\\char"3a\\char"2212}}'),Pr("\\Coloneq",'\\html@mathml{\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}\\mathrel{-}}}{\\mathop{\\char"2237\\char"2212}}'),Pr("\\eqqcolon",'\\html@mathml{\\mathrel{=\\mathrel{\\mkern-1.2mu}\\vcentcolon}}{\\mathop{\\char"2255}}'),Pr("\\Eqqcolon",'\\html@mathml{\\mathrel{=\\mathrel{\\mkern-1.2mu}\\dblcolon}}{\\mathop{\\char"3d\\char"2237}}'),Pr("\\eqcolon",'\\html@mathml{\\mathrel{\\mathrel{-}\\mathrel{\\mkern-1.2mu}\\vcentcolon}}{\\mathop{\\char"2239}}'),Pr("\\Eqcolon",'\\html@mathml{\\mathrel{\\mathrel{-}\\mathrel{\\mkern-1.2mu}\\dblcolon}}{\\mathop{\\char"2212\\char"2237}}'),Pr("\\colonapprox",'\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}\\approx}}{\\mathop{\\char"3a\\char"2248}}'),Pr("\\Colonapprox",'\\html@mathml{\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}\\approx}}{\\mathop{\\char"2237\\char"2248}}'),Pr("\\colonsim",'\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}\\sim}}{\\mathop{\\char"3a\\char"223c}}'),Pr("\\Colonsim",'\\html@mathml{\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}\\sim}}{\\mathop{\\char"2237\\char"223c}}'),Pr("\u2237","\\dblcolon"),Pr("\u2239","\\eqcolon"),Pr("\u2254","\\coloneqq"),Pr("\u2255","\\eqqcolon"),Pr("\u2a74","\\Coloneqq"),Pr("\\ratio","\\vcentcolon"),Pr("\\coloncolon","\\dblcolon"),Pr("\\colonequals","\\coloneqq"),Pr("\\coloncolonequals","\\Coloneqq"),Pr("\\equalscolon","\\eqqcolon"),Pr("\\equalscoloncolon","\\Eqqcolon"),Pr("\\colonminus","\\coloneq"),Pr("\\coloncolonminus","\\Coloneq"),Pr("\\minuscolon","\\eqcolon"),Pr("\\minuscoloncolon","\\Eqcolon"),Pr("\\coloncolonapprox","\\Colonapprox"),Pr("\\coloncolonsim","\\Colonsim"),Pr("\\simcolon","\\mathrel{\\sim\\mathrel{\\mkern-1.2mu}\\vcentcolon}"),Pr("\\simcoloncolon","\\mathrel{\\sim\\mathrel{\\mkern-1.2mu}\\dblcolon}"),Pr("\\approxcolon","\\mathrel{\\approx\\mathrel{\\mkern-1.2mu}\\vcentcolon}"),Pr("\\approxcoloncolon","\\mathrel{\\approx\\mathrel{\\mkern-1.2mu}\\dblcolon}"),Pr("\\notni","\\html@mathml{\\not\\ni}{\\mathrel{\\char`\u220c}}"),Pr("\\limsup","\\DOTSB\\operatorname*{lim\\,sup}"),Pr("\\liminf","\\DOTSB\\operatorname*{lim\\,inf}"),Pr("\\injlim","\\DOTSB\\operatorname*{inj\\,lim}"),Pr("\\projlim","\\DOTSB\\operatorname*{proj\\,lim}"),Pr("\\varlimsup","\\DOTSB\\operatorname*{\\overline{lim}}"),Pr("\\varliminf","\\DOTSB\\operatorname*{\\underline{lim}}"),Pr("\\varinjlim","\\DOTSB\\operatorname*{\\underrightarrow{lim}}"),Pr("\\varprojlim","\\DOTSB\\operatorname*{\\underleftarrow{lim}}"),Pr("\\gvertneqq","\\html@mathml{\\@gvertneqq}{\u2269}"),Pr("\\lvertneqq","\\html@mathml{\\@lvertneqq}{\u2268}"),Pr("\\ngeqq","\\html@mathml{\\@ngeqq}{\u2271}"),Pr("\\ngeqslant","\\html@mathml{\\@ngeqslant}{\u2271}"),Pr("\\nleqq","\\html@mathml{\\@nleqq}{\u2270}"),Pr("\\nleqslant","\\html@mathml{\\@nleqslant}{\u2270}"),Pr("\\nshortmid","\\html@mathml{\\@nshortmid}{\u2224}"),Pr("\\nshortparallel","\\html@mathml{\\@nshortparallel}{\u2226}"),Pr("\\nsubseteqq","\\html@mathml{\\@nsubseteqq}{\u2288}"),Pr("\\nsupseteqq","\\html@mathml{\\@nsupseteqq}{\u2289}"),Pr("\\varsubsetneq","\\html@mathml{\\@varsubsetneq}{\u228a}"),Pr("\\varsubsetneqq","\\html@mathml{\\@varsubsetneqq}{\u2acb}"),Pr("\\varsupsetneq","\\html@mathml{\\@varsupsetneq}{\u228b}"),Pr("\\varsupsetneqq","\\html@mathml{\\@varsupsetneqq}{\u2acc}"),Pr("\\imath","\\html@mathml{\\@imath}{\u0131}"),Pr("\\jmath","\\html@mathml{\\@jmath}{\u0237}"),Pr("\\llbracket","\\html@mathml{\\mathopen{[\\mkern-3.2mu[}}{\\mathopen{\\char`\u27e6}}"),Pr("\\rrbracket","\\html@mathml{\\mathclose{]\\mkern-3.2mu]}}{\\mathclose{\\char`\u27e7}}"),Pr("\u27e6","\\llbracket"),Pr("\u27e7","\\rrbracket"),Pr("\\lBrace","\\html@mathml{\\mathopen{\\{\\mkern-3.2mu[}}{\\mathopen{\\char`\u2983}}"),Pr("\\rBrace","\\html@mathml{\\mathclose{]\\mkern-3.2mu\\}}}{\\mathclose{\\char`\u2984}}"),Pr("\u2983","\\lBrace"),Pr("\u2984","\\rBrace"),Pr("\\minuso","\\mathbin{\\html@mathml{{\\mathrlap{\\mathchoice{\\kern{0.145em}}{\\kern{0.145em}}{\\kern{0.1015em}}{\\kern{0.0725em}}\\circ}{-}}}{\\char`\u29b5}}"),Pr("\u29b5","\\minuso"),Pr("\\darr","\\downarrow"),Pr("\\dArr","\\Downarrow"),Pr("\\Darr","\\Downarrow"),Pr("\\lang","\\langle"),Pr("\\rang","\\rangle"),Pr("\\uarr","\\uparrow"),Pr("\\uArr","\\Uparrow"),Pr("\\Uarr","\\Uparrow"),Pr("\\N","\\mathbb{N}"),Pr("\\R","\\mathbb{R}"),Pr("\\Z","\\mathbb{Z}"),Pr("\\alef","\\aleph"),Pr("\\alefsym","\\aleph"),Pr("\\Alpha","\\mathrm{A}"),Pr("\\Beta","\\mathrm{B}"),Pr("\\bull","\\bullet"),Pr("\\Chi","\\mathrm{X}"),Pr("\\clubs","\\clubsuit"),Pr("\\cnums","\\mathbb{C}"),Pr("\\Complex","\\mathbb{C}"),Pr("\\Dagger","\\ddagger"),Pr("\\diamonds","\\diamondsuit"),Pr("\\empty","\\emptyset"),Pr("\\Epsilon","\\mathrm{E}"),Pr("\\Eta","\\mathrm{H}"),Pr("\\exist","\\exists"),Pr("\\harr","\\leftrightarrow"),Pr("\\hArr","\\Leftrightarrow"),Pr("\\Harr","\\Leftrightarrow"),Pr("\\hearts","\\heartsuit"),Pr("\\image","\\Im"),Pr("\\infin","\\infty"),Pr("\\Iota","\\mathrm{I}"),Pr("\\isin","\\in"),Pr("\\Kappa","\\mathrm{K}"),Pr("\\larr","\\leftarrow"),Pr("\\lArr","\\Leftarrow"),Pr("\\Larr","\\Leftarrow"),Pr("\\lrarr","\\leftrightarrow"),Pr("\\lrArr","\\Leftrightarrow"),Pr("\\Lrarr","\\Leftrightarrow"),Pr("\\Mu","\\mathrm{M}"),Pr("\\natnums","\\mathbb{N}"),Pr("\\Nu","\\mathrm{N}"),Pr("\\Omicron","\\mathrm{O}"),Pr("\\plusmn","\\pm"),Pr("\\rarr","\\rightarrow"),Pr("\\rArr","\\Rightarrow"),Pr("\\Rarr","\\Rightarrow"),Pr("\\real","\\Re"),Pr("\\reals","\\mathbb{R}"),Pr("\\Reals","\\mathbb{R}"),Pr("\\Rho","\\mathrm{P}"),Pr("\\sdot","\\cdot"),Pr("\\sect","\\S"),Pr("\\spades","\\spadesuit"),Pr("\\sub","\\subset"),Pr("\\sube","\\subseteq"),Pr("\\supe","\\supseteq"),Pr("\\Tau","\\mathrm{T}"),Pr("\\thetasym","\\vartheta"),Pr("\\weierp","\\wp"),Pr("\\Zeta","\\mathrm{Z}"),Pr("\\argmin","\\DOTSB\\operatorname*{arg\\,min}"),Pr("\\argmax","\\DOTSB\\operatorname*{arg\\,max}"),Pr("\\plim","\\DOTSB\\mathop{\\operatorname{plim}}\\limits"),Pr("\\bra","\\mathinner{\\langle{#1}|}"),Pr("\\ket","\\mathinner{|{#1}\\rangle}"),Pr("\\braket","\\mathinner{\\langle{#1}\\rangle}"),Pr("\\Bra","\\left\\langle#1\\right|"),Pr("\\Ket","\\left|#1\\right\\rangle");var Xn=function(e){return function(t){var r=t.consumeArg().tokens,n=t.consumeArg().tokens,a=t.consumeArg().tokens,i=t.consumeArg().tokens,o=t.macros.get("|"),s=t.macros.get("\\|");t.macros.beginGroup();var l=function(t){return function(r){e&&(r.macros.set("|",o),a.length&&r.macros.set("\\|",s));var i=t;!t&&a.length&&("|"===r.future().text&&(r.popToken(),i=!0));return{tokens:i?a:n,numArgs:0}}};t.macros.set("|",l(!1)),a.length&&t.macros.set("\\|",l(!0));var h=t.consumeArg().tokens,c=t.expandTokens([].concat(i,h,r));return t.macros.endGroup(),{tokens:c.reverse(),numArgs:0}}};Pr("\\bra@ket",Xn(!1)),Pr("\\bra@set",Xn(!0)),Pr("\\Braket","\\bra@ket{\\left\\langle}{\\,\\middle\\vert\\,}{\\,\\middle\\vert\\,}{\\right\\rangle}"),Pr("\\Set","\\bra@set{\\left\\{\\:}{\\;\\middle\\vert\\;}{\\;\\middle\\Vert\\;}{\\:\\right\\}}"),Pr("\\set","\\bra@set{\\{\\,}{\\mid}{}{\\,\\}}"),Pr("\\angln","{\\angl n}"),Pr("\\blue","\\textcolor{##6495ed}{#1}"),Pr("\\orange","\\textcolor{##ffa500}{#1}"),Pr("\\pink","\\textcolor{##ff00af}{#1}"),Pr("\\red","\\textcolor{##df0030}{#1}"),Pr("\\green","\\textcolor{##28ae7b}{#1}"),Pr("\\gray","\\textcolor{gray}{#1}"),Pr("\\purple","\\textcolor{##9d38bd}{#1}"),Pr("\\blueA","\\textcolor{##ccfaff}{#1}"),Pr("\\blueB","\\textcolor{##80f6ff}{#1}"),Pr("\\blueC","\\textcolor{##63d9ea}{#1}"),Pr("\\blueD","\\textcolor{##11accd}{#1}"),Pr("\\blueE","\\textcolor{##0c7f99}{#1}"),Pr("\\tealA","\\textcolor{##94fff5}{#1}"),Pr("\\tealB","\\textcolor{##26edd5}{#1}"),Pr("\\tealC","\\textcolor{##01d1c1}{#1}"),Pr("\\tealD","\\textcolor{##01a995}{#1}"),Pr("\\tealE","\\textcolor{##208170}{#1}"),Pr("\\greenA","\\textcolor{##b6ffb0}{#1}"),Pr("\\greenB","\\textcolor{##8af281}{#1}"),Pr("\\greenC","\\textcolor{##74cf70}{#1}"),Pr("\\greenD","\\textcolor{##1fab54}{#1}"),Pr("\\greenE","\\textcolor{##0d923f}{#1}"),Pr("\\goldA","\\textcolor{##ffd0a9}{#1}"),Pr("\\goldB","\\textcolor{##ffbb71}{#1}"),Pr("\\goldC","\\textcolor{##ff9c39}{#1}"),Pr("\\goldD","\\textcolor{##e07d10}{#1}"),Pr("\\goldE","\\textcolor{##a75a05}{#1}"),Pr("\\redA","\\textcolor{##fca9a9}{#1}"),Pr("\\redB","\\textcolor{##ff8482}{#1}"),Pr("\\redC","\\textcolor{##f9685d}{#1}"),Pr("\\redD","\\textcolor{##e84d39}{#1}"),Pr("\\redE","\\textcolor{##bc2612}{#1}"),Pr("\\maroonA","\\textcolor{##ffbde0}{#1}"),Pr("\\maroonB","\\textcolor{##ff92c6}{#1}"),Pr("\\maroonC","\\textcolor{##ed5fa6}{#1}"),Pr("\\maroonD","\\textcolor{##ca337c}{#1}"),Pr("\\maroonE","\\textcolor{##9e034e}{#1}"),Pr("\\purpleA","\\textcolor{##ddd7ff}{#1}"),Pr("\\purpleB","\\textcolor{##c6b9fc}{#1}"),Pr("\\purpleC","\\textcolor{##aa87ff}{#1}"),Pr("\\purpleD","\\textcolor{##7854ab}{#1}"),Pr("\\purpleE","\\textcolor{##543b78}{#1}"),Pr("\\mintA","\\textcolor{##f5f9e8}{#1}"),Pr("\\mintB","\\textcolor{##edf2df}{#1}"),Pr("\\mintC","\\textcolor{##e0e5cc}{#1}"),Pr("\\grayA","\\textcolor{##f6f7f7}{#1}"),Pr("\\grayB","\\textcolor{##f0f1f2}{#1}"),Pr("\\grayC","\\textcolor{##e3e5e6}{#1}"),Pr("\\grayD","\\textcolor{##d6d8da}{#1}"),Pr("\\grayE","\\textcolor{##babec2}{#1}"),Pr("\\grayF","\\textcolor{##888d93}{#1}"),Pr("\\grayG","\\textcolor{##626569}{#1}"),Pr("\\grayH","\\textcolor{##3b3e40}{#1}"),Pr("\\grayI","\\textcolor{##21242c}{#1}"),Pr("\\kaBlue","\\textcolor{##314453}{#1}"),Pr("\\kaGreen","\\textcolor{##71B307}{#1}");var Wn={"^":!0,_:!0,"\\limits":!0,"\\nolimits":!0},_n=function(){function e(e,t,r){this.settings=void 0,this.expansionCount=void 0,this.lexer=void 0,this.macros=void 0,this.stack=void 0,this.mode=void 0,this.settings=t,this.expansionCount=0,this.feed(e),this.macros=new Dn(Vn,t.macros),this.mode=r,this.stack=[]}var t=e.prototype;return t.feed=function(e){this.lexer=new Ln(e,this.settings)},t.switchMode=function(e){this.mode=e},t.beginGroup=function(){this.macros.beginGroup()},t.endGroup=function(){this.macros.endGroup()},t.endGroups=function(){this.macros.endGroups()},t.future=function(){return 0===this.stack.length&&this.pushToken(this.lexer.lex()),this.stack[this.stack.length-1]},t.popToken=function(){return this.future(),this.stack.pop()},t.pushToken=function(e){this.stack.push(e)},t.pushTokens=function(e){var t;(t=this.stack).push.apply(t,e)},t.scanArgument=function(e){var t,r,n;if(e){if(this.consumeSpaces(),"["!==this.future().text)return null;t=this.popToken();var a=this.consumeArg(["]"]);n=a.tokens,r=a.end}else{var i=this.consumeArg();n=i.tokens,t=i.start,r=i.end}return this.pushToken(new Gr("EOF",r.loc)),this.pushTokens(n),t.range(r,"")},t.consumeSpaces=function(){for(;;){if(" "!==this.future().text)break;this.stack.pop()}},t.consumeArg=function(e){var t=[],r=e&&e.length>0;r||this.consumeSpaces();var a,i=this.future(),o=0,s=0;do{if(a=this.popToken(),t.push(a),"{"===a.text)++o;else if("}"===a.text){if(-1===--o)throw new n("Extra }",a)}else if("EOF"===a.text)throw new n("Unexpected end of input in a macro argument, expected '"+(e&&r?e[s]:"}")+"'",a);if(e&&r)if((0===o||1===o&&"{"===e[s])&&a.text===e[s]){if(++s===e.length){t.splice(-s,s);break}}else s=0}while(0!==o||r);return"{"===i.text&&"}"===t[t.length-1].text&&(t.pop(),t.shift()),t.reverse(),{tokens:t,start:i,end:a}},t.consumeArgs=function(e,t){if(t){if(t.length!==e+1)throw new n("The length of delimiters doesn't match the number of args!");for(var r=t[0],a=0;a<r.length;a++){var i=this.popToken();if(r[a]!==i.text)throw new n("Use of the macro doesn't match its definition",i)}}for(var o=[],s=0;s<e;s++)o.push(this.consumeArg(t&&t[s+1]).tokens);return o},t.expandOnce=function(e){var t=this.popToken(),r=t.text,a=t.noexpand?null:this._getExpansion(r);if(null==a||e&&a.unexpandable){if(e&&null==a&&"\\"===r[0]&&!this.isDefined(r))throw new n("Undefined control sequence: "+r);return this.pushToken(t),!1}if(this.expansionCount++,this.expansionCount>this.settings.maxExpand)throw new n("Too many expansions: infinite loop or need to increase maxExpand setting");var i=a.tokens,o=this.consumeArgs(a.numArgs,a.delimiters);if(a.numArgs)for(var s=(i=i.slice()).length-1;s>=0;--s){var l=i[s];if("#"===l.text){if(0===s)throw new n("Incomplete placeholder at end of macro body",l);if("#"===(l=i[--s]).text)i.splice(s+1,1);else{if(!/^[1-9]$/.test(l.text))throw new n("Not a valid argument number",l);var h;(h=i).splice.apply(h,[s,2].concat(o[+l.text-1]))}}}return this.pushTokens(i),i.length},t.expandAfterFuture=function(){return this.expandOnce(),this.future()},t.expandNextToken=function(){for(;;)if(!1===this.expandOnce()){var e=this.stack.pop();return e.treatAsRelax&&(e.text="\\relax"),e}throw new Error},t.expandMacro=function(e){return this.macros.has(e)?this.expandTokens([new Gr(e)]):void 0},t.expandTokens=function(e){var t=[],r=this.stack.length;for(this.pushTokens(e);this.stack.length>r;)if(!1===this.expandOnce(!0)){var n=this.stack.pop();n.treatAsRelax&&(n.noexpand=!1,n.treatAsRelax=!1),t.push(n)}return t},t.expandMacroAsText=function(e){var t=this.expandMacro(e);return t?t.map((function(e){return e.text})).join(""):t},t._getExpansion=function(e){var t=this.macros.get(e);if(null==t)return t;if(1===e.length){var r=this.lexer.catcodes[e];if(null!=r&&13!==r)return}var n="function"==typeof t?t(this):t;if("string"==typeof n){var a=0;if(-1!==n.indexOf("#"))for(var i=n.replace(/##/g,"");-1!==i.indexOf("#"+(a+1));)++a;for(var o=new Ln(n,this.settings),s=[],l=o.lex();"EOF"!==l.text;)s.push(l),l=o.lex();return s.reverse(),{tokens:s,numArgs:a}}return n},t.isDefined=function(e){return this.macros.has(e)||qn.hasOwnProperty(e)||ae.math.hasOwnProperty(e)||ae.text.hasOwnProperty(e)||Wn.hasOwnProperty(e)},t.isExpandable=function(e){var t=this.macros.get(e);return null!=t?"string"==typeof t||"function"==typeof t||!t.unexpandable:qn.hasOwnProperty(e)&&!qn[e].primitive},e}(),jn=/^[\u208a\u208b\u208c\u208d\u208e\u2080\u2081\u2082\u2083\u2084\u2085\u2086\u2087\u2088\u2089\u2090\u2091\u2095\u1d62\u2c7c\u2096\u2097\u2098\u2099\u2092\u209a\u1d63\u209b\u209c\u1d64\u1d65\u2093\u1d66\u1d67\u1d68\u1d69\u1d6a]/,$n=Object.freeze({"\u208a":"+","\u208b":"-","\u208c":"=","\u208d":"(","\u208e":")","\u2080":"0","\u2081":"1","\u2082":"2","\u2083":"3","\u2084":"4","\u2085":"5","\u2086":"6","\u2087":"7","\u2088":"8","\u2089":"9","\u2090":"a","\u2091":"e","\u2095":"h","\u1d62":"i","\u2c7c":"j","\u2096":"k","\u2097":"l","\u2098":"m","\u2099":"n","\u2092":"o","\u209a":"p","\u1d63":"r","\u209b":"s","\u209c":"t","\u1d64":"u","\u1d65":"v","\u2093":"x","\u1d66":"\u03b2","\u1d67":"\u03b3","\u1d68":"\u03c1","\u1d69":"\u03d5","\u1d6a":"\u03c7","\u207a":"+","\u207b":"-","\u207c":"=","\u207d":"(","\u207e":")","\u2070":"0","\xb9":"1","\xb2":"2","\xb3":"3","\u2074":"4","\u2075":"5","\u2076":"6","\u2077":"7","\u2078":"8","\u2079":"9","\u1d2c":"A","\u1d2e":"B","\u1d30":"D","\u1d31":"E","\u1d33":"G","\u1d34":"H","\u1d35":"I","\u1d36":"J","\u1d37":"K","\u1d38":"L","\u1d39":"M","\u1d3a":"N","\u1d3c":"O","\u1d3e":"P","\u1d3f":"R","\u1d40":"T","\u1d41":"U","\u2c7d":"V","\u1d42":"W","\u1d43":"a","\u1d47":"b","\u1d9c":"c","\u1d48":"d","\u1d49":"e","\u1da0":"f","\u1d4d":"g","\u02b0":"h","\u2071":"i","\u02b2":"j","\u1d4f":"k","\u02e1":"l","\u1d50":"m","\u207f":"n","\u1d52":"o","\u1d56":"p","\u02b3":"r","\u02e2":"s","\u1d57":"t","\u1d58":"u","\u1d5b":"v","\u02b7":"w","\u02e3":"x","\u02b8":"y","\u1dbb":"z","\u1d5d":"\u03b2","\u1d5e":"\u03b3","\u1d5f":"\u03b4","\u1d60":"\u03d5","\u1d61":"\u03c7","\u1dbf":"\u03b8"}),Zn={"\u0301":{text:"\\'",math:"\\acute"},"\u0300":{text:"\\`",math:"\\grave"},"\u0308":{text:'\\"',math:"\\ddot"},"\u0303":{text:"\\~",math:"\\tilde"},"\u0304":{text:"\\=",math:"\\bar"},"\u0306":{text:"\\u",math:"\\breve"},"\u030c":{text:"\\v",math:"\\check"},"\u0302":{text:"\\^",math:"\\hat"},"\u0307":{text:"\\.",math:"\\dot"},"\u030a":{text:"\\r",math:"\\mathring"},"\u030b":{text:"\\H"},"\u0327":{text:"\\c"}},Kn={"\xe1":"a\u0301","\xe0":"a\u0300","\xe4":"a\u0308","\u01df":"a\u0308\u0304","\xe3":"a\u0303","\u0101":"a\u0304","\u0103":"a\u0306","\u1eaf":"a\u0306\u0301","\u1eb1":"a\u0306\u0300","\u1eb5":"a\u0306\u0303","\u01ce":"a\u030c","\xe2":"a\u0302","\u1ea5":"a\u0302\u0301","\u1ea7":"a\u0302\u0300","\u1eab":"a\u0302\u0303","\u0227":"a\u0307","\u01e1":"a\u0307\u0304","\xe5":"a\u030a","\u01fb":"a\u030a\u0301","\u1e03":"b\u0307","\u0107":"c\u0301","\u1e09":"c\u0327\u0301","\u010d":"c\u030c","\u0109":"c\u0302","\u010b":"c\u0307","\xe7":"c\u0327","\u010f":"d\u030c","\u1e0b":"d\u0307","\u1e11":"d\u0327","\xe9":"e\u0301","\xe8":"e\u0300","\xeb":"e\u0308","\u1ebd":"e\u0303","\u0113":"e\u0304","\u1e17":"e\u0304\u0301","\u1e15":"e\u0304\u0300","\u0115":"e\u0306","\u1e1d":"e\u0327\u0306","\u011b":"e\u030c","\xea":"e\u0302","\u1ebf":"e\u0302\u0301","\u1ec1":"e\u0302\u0300","\u1ec5":"e\u0302\u0303","\u0117":"e\u0307","\u0229":"e\u0327","\u1e1f":"f\u0307","\u01f5":"g\u0301","\u1e21":"g\u0304","\u011f":"g\u0306","\u01e7":"g\u030c","\u011d":"g\u0302","\u0121":"g\u0307","\u0123":"g\u0327","\u1e27":"h\u0308","\u021f":"h\u030c","\u0125":"h\u0302","\u1e23":"h\u0307","\u1e29":"h\u0327","\xed":"i\u0301","\xec":"i\u0300","\xef":"i\u0308","\u1e2f":"i\u0308\u0301","\u0129":"i\u0303","\u012b":"i\u0304","\u012d":"i\u0306","\u01d0":"i\u030c","\xee":"i\u0302","\u01f0":"j\u030c","\u0135":"j\u0302","\u1e31":"k\u0301","\u01e9":"k\u030c","\u0137":"k\u0327","\u013a":"l\u0301","\u013e":"l\u030c","\u013c":"l\u0327","\u1e3f":"m\u0301","\u1e41":"m\u0307","\u0144":"n\u0301","\u01f9":"n\u0300","\xf1":"n\u0303","\u0148":"n\u030c","\u1e45":"n\u0307","\u0146":"n\u0327","\xf3":"o\u0301","\xf2":"o\u0300","\xf6":"o\u0308","\u022b":"o\u0308\u0304","\xf5":"o\u0303","\u1e4d":"o\u0303\u0301","\u1e4f":"o\u0303\u0308","\u022d":"o\u0303\u0304","\u014d":"o\u0304","\u1e53":"o\u0304\u0301","\u1e51":"o\u0304\u0300","\u014f":"o\u0306","\u01d2":"o\u030c","\xf4":"o\u0302","\u1ed1":"o\u0302\u0301","\u1ed3":"o\u0302\u0300","\u1ed7":"o\u0302\u0303","\u022f":"o\u0307","\u0231":"o\u0307\u0304","\u0151":"o\u030b","\u1e55":"p\u0301","\u1e57":"p\u0307","\u0155":"r\u0301","\u0159":"r\u030c","\u1e59":"r\u0307","\u0157":"r\u0327","\u015b":"s\u0301","\u1e65":"s\u0301\u0307","\u0161":"s\u030c","\u1e67":"s\u030c\u0307","\u015d":"s\u0302","\u1e61":"s\u0307","\u015f":"s\u0327","\u1e97":"t\u0308","\u0165":"t\u030c","\u1e6b":"t\u0307","\u0163":"t\u0327","\xfa":"u\u0301","\xf9":"u\u0300","\xfc":"u\u0308","\u01d8":"u\u0308\u0301","\u01dc":"u\u0308\u0300","\u01d6":"u\u0308\u0304","\u01da":"u\u0308\u030c","\u0169":"u\u0303","\u1e79":"u\u0303\u0301","\u016b":"u\u0304","\u1e7b":"u\u0304\u0308","\u016d":"u\u0306","\u01d4":"u\u030c","\xfb":"u\u0302","\u016f":"u\u030a","\u0171":"u\u030b","\u1e7d":"v\u0303","\u1e83":"w\u0301","\u1e81":"w\u0300","\u1e85":"w\u0308","\u0175":"w\u0302","\u1e87":"w\u0307","\u1e98":"w\u030a","\u1e8d":"x\u0308","\u1e8b":"x\u0307","\xfd":"y\u0301","\u1ef3":"y\u0300","\xff":"y\u0308","\u1ef9":"y\u0303","\u0233":"y\u0304","\u0177":"y\u0302","\u1e8f":"y\u0307","\u1e99":"y\u030a","\u017a":"z\u0301","\u017e":"z\u030c","\u1e91":"z\u0302","\u017c":"z\u0307","\xc1":"A\u0301","\xc0":"A\u0300","\xc4":"A\u0308","\u01de":"A\u0308\u0304","\xc3":"A\u0303","\u0100":"A\u0304","\u0102":"A\u0306","\u1eae":"A\u0306\u0301","\u1eb0":"A\u0306\u0300","\u1eb4":"A\u0306\u0303","\u01cd":"A\u030c","\xc2":"A\u0302","\u1ea4":"A\u0302\u0301","\u1ea6":"A\u0302\u0300","\u1eaa":"A\u0302\u0303","\u0226":"A\u0307","\u01e0":"A\u0307\u0304","\xc5":"A\u030a","\u01fa":"A\u030a\u0301","\u1e02":"B\u0307","\u0106":"C\u0301","\u1e08":"C\u0327\u0301","\u010c":"C\u030c","\u0108":"C\u0302","\u010a":"C\u0307","\xc7":"C\u0327","\u010e":"D\u030c","\u1e0a":"D\u0307","\u1e10":"D\u0327","\xc9":"E\u0301","\xc8":"E\u0300","\xcb":"E\u0308","\u1ebc":"E\u0303","\u0112":"E\u0304","\u1e16":"E\u0304\u0301","\u1e14":"E\u0304\u0300","\u0114":"E\u0306","\u1e1c":"E\u0327\u0306","\u011a":"E\u030c","\xca":"E\u0302","\u1ebe":"E\u0302\u0301","\u1ec0":"E\u0302\u0300","\u1ec4":"E\u0302\u0303","\u0116":"E\u0307","\u0228":"E\u0327","\u1e1e":"F\u0307","\u01f4":"G\u0301","\u1e20":"G\u0304","\u011e":"G\u0306","\u01e6":"G\u030c","\u011c":"G\u0302","\u0120":"G\u0307","\u0122":"G\u0327","\u1e26":"H\u0308","\u021e":"H\u030c","\u0124":"H\u0302","\u1e22":"H\u0307","\u1e28":"H\u0327","\xcd":"I\u0301","\xcc":"I\u0300","\xcf":"I\u0308","\u1e2e":"I\u0308\u0301","\u0128":"I\u0303","\u012a":"I\u0304","\u012c":"I\u0306","\u01cf":"I\u030c","\xce":"I\u0302","\u0130":"I\u0307","\u0134":"J\u0302","\u1e30":"K\u0301","\u01e8":"K\u030c","\u0136":"K\u0327","\u0139":"L\u0301","\u013d":"L\u030c","\u013b":"L\u0327","\u1e3e":"M\u0301","\u1e40":"M\u0307","\u0143":"N\u0301","\u01f8":"N\u0300","\xd1":"N\u0303","\u0147":"N\u030c","\u1e44":"N\u0307","\u0145":"N\u0327","\xd3":"O\u0301","\xd2":"O\u0300","\xd6":"O\u0308","\u022a":"O\u0308\u0304","\xd5":"O\u0303","\u1e4c":"O\u0303\u0301","\u1e4e":"O\u0303\u0308","\u022c":"O\u0303\u0304","\u014c":"O\u0304","\u1e52":"O\u0304\u0301","\u1e50":"O\u0304\u0300","\u014e":"O\u0306","\u01d1":"O\u030c","\xd4":"O\u0302","\u1ed0":"O\u0302\u0301","\u1ed2":"O\u0302\u0300","\u1ed6":"O\u0302\u0303","\u022e":"O\u0307","\u0230":"O\u0307\u0304","\u0150":"O\u030b","\u1e54":"P\u0301","\u1e56":"P\u0307","\u0154":"R\u0301","\u0158":"R\u030c","\u1e58":"R\u0307","\u0156":"R\u0327","\u015a":"S\u0301","\u1e64":"S\u0301\u0307","\u0160":"S\u030c","\u1e66":"S\u030c\u0307","\u015c":"S\u0302","\u1e60":"S\u0307","\u015e":"S\u0327","\u0164":"T\u030c","\u1e6a":"T\u0307","\u0162":"T\u0327","\xda":"U\u0301","\xd9":"U\u0300","\xdc":"U\u0308","\u01d7":"U\u0308\u0301","\u01db":"U\u0308\u0300","\u01d5":"U\u0308\u0304","\u01d9":"U\u0308\u030c","\u0168":"U\u0303","\u1e78":"U\u0303\u0301","\u016a":"U\u0304","\u1e7a":"U\u0304\u0308","\u016c":"U\u0306","\u01d3":"U\u030c","\xdb":"U\u0302","\u016e":"U\u030a","\u0170":"U\u030b","\u1e7c":"V\u0303","\u1e82":"W\u0301","\u1e80":"W\u0300","\u1e84":"W\u0308","\u0174":"W\u0302","\u1e86":"W\u0307","\u1e8c":"X\u0308","\u1e8a":"X\u0307","\xdd":"Y\u0301","\u1ef2":"Y\u0300","\u0178":"Y\u0308","\u1ef8":"Y\u0303","\u0232":"Y\u0304","\u0176":"Y\u0302","\u1e8e":"Y\u0307","\u0179":"Z\u0301","\u017d":"Z\u030c","\u1e90":"Z\u0302","\u017b":"Z\u0307","\u03ac":"\u03b1\u0301","\u1f70":"\u03b1\u0300","\u1fb1":"\u03b1\u0304","\u1fb0":"\u03b1\u0306","\u03ad":"\u03b5\u0301","\u1f72":"\u03b5\u0300","\u03ae":"\u03b7\u0301","\u1f74":"\u03b7\u0300","\u03af":"\u03b9\u0301","\u1f76":"\u03b9\u0300","\u03ca":"\u03b9\u0308","\u0390":"\u03b9\u0308\u0301","\u1fd2":"\u03b9\u0308\u0300","\u1fd1":"\u03b9\u0304","\u1fd0":"\u03b9\u0306","\u03cc":"\u03bf\u0301","\u1f78":"\u03bf\u0300","\u03cd":"\u03c5\u0301","\u1f7a":"\u03c5\u0300","\u03cb":"\u03c5\u0308","\u03b0":"\u03c5\u0308\u0301","\u1fe2":"\u03c5\u0308\u0300","\u1fe1":"\u03c5\u0304","\u1fe0":"\u03c5\u0306","\u03ce":"\u03c9\u0301","\u1f7c":"\u03c9\u0300","\u038e":"\u03a5\u0301","\u1fea":"\u03a5\u0300","\u03ab":"\u03a5\u0308","\u1fe9":"\u03a5\u0304","\u1fe8":"\u03a5\u0306","\u038f":"\u03a9\u0301","\u1ffa":"\u03a9\u0300"},Jn=function(){function e(e,t){this.mode=void 0,this.gullet=void 0,this.settings=void 0,this.leftrightDepth=void 0,this.nextToken=void 0,this.mode="math",this.gullet=new _n(e,t,this.mode),this.settings=t,this.leftrightDepth=0}var t=e.prototype;return t.expect=function(e,t){if(void 0===t&&(t=!0),this.fetch().text!==e)throw new n("Expected '"+e+"', got '"+this.fetch().text+"'",this.fetch());t&&this.consume()},t.consume=function(){this.nextToken=null},t.fetch=function(){return null==this.nextToken&&(this.nextToken=this.gullet.expandNextToken()),this.nextToken},t.switchMode=function(e){this.mode=e,this.gullet.switchMode(e)},t.parse=function(){this.settings.globalGroup||this.gullet.beginGroup(),this.settings.colorIsTextColor&&this.gullet.macros.set("\\color","\\textcolor");try{var e=this.parseExpression(!1);return this.expect("EOF"),this.settings.globalGroup||this.gullet.endGroup(),e}finally{this.gullet.endGroups()}},t.subparse=function(e){var t=this.nextToken;this.consume(),this.gullet.pushToken(new Gr("}")),this.gullet.pushTokens(e);var r=this.parseExpression(!1);return this.expect("}"),this.nextToken=t,r},t.parseExpression=function(t,r){for(var n=[];;){"math"===this.mode&&this.consumeSpaces();var a=this.fetch();if(-1!==e.endOfExpression.indexOf(a.text))break;if(r&&a.text===r)break;if(t&&qn[a.text]&&qn[a.text].infix)break;var i=this.parseAtom(r);if(!i)break;"internal"!==i.type&&n.push(i)}return"text"===this.mode&&this.formLigatures(n),this.handleInfixNodes(n)},t.handleInfixNodes=function(e){for(var t,r=-1,a=0;a<e.length;a++)if("infix"===e[a].type){if(-1!==r)throw new n("only one infix operator per group",e[a].token);r=a,t=e[a].replaceWith}if(-1!==r&&t){var i,o,s=e.slice(0,r),l=e.slice(r+1);return i=1===s.length&&"ordgroup"===s[0].type?s[0]:{type:"ordgroup",mode:this.mode,body:s},o=1===l.length&&"ordgroup"===l[0].type?l[0]:{type:"ordgroup",mode:this.mode,body:l},["\\\\abovefrac"===t?this.callFunction(t,[i,e[r],o],[]):this.callFunction(t,[i,o],[])]}return e},t.handleSupSubscript=function(e){var t=this.fetch(),r=t.text;this.consume(),this.consumeSpaces();var a=this.parseGroup(e);if(!a)throw new n("Expected group after '"+r+"'",t);return a},t.formatUnsupportedCmd=function(e){for(var t=[],r=0;r<e.length;r++)t.push({type:"textord",mode:"text",text:e[r]});var n={type:"text",mode:this.mode,body:t};return{type:"color",mode:this.mode,color:this.settings.errorColor,body:[n]}},t.parseAtom=function(t){var r,a,i=this.parseGroup("atom",t);if("text"===this.mode)return i;for(;;){this.consumeSpaces();var o=this.fetch();if("\\limits"===o.text||"\\nolimits"===o.text){if(i&&"op"===i.type){var s="\\limits"===o.text;i.limits=s,i.alwaysHandleSupSub=!0}else{if(!i||"operatorname"!==i.type)throw new n("Limit controls must follow a math operator",o);i.alwaysHandleSupSub&&(i.limits="\\limits"===o.text)}this.consume()}else if("^"===o.text){if(r)throw new n("Double superscript",o);r=this.handleSupSubscript("superscript")}else if("_"===o.text){if(a)throw new n("Double subscript",o);a=this.handleSupSubscript("subscript")}else if("'"===o.text){if(r)throw new n("Double superscript",o);var l={type:"textord",mode:this.mode,text:"\\prime"},h=[l];for(this.consume();"'"===this.fetch().text;)h.push(l),this.consume();"^"===this.fetch().text&&h.push(this.handleSupSubscript("superscript")),r={type:"ordgroup",mode:this.mode,body:h}}else{if(!$n[o.text])break;var c=$n[o.text],m=jn.test(o.text);for(this.consume();;){var u=this.fetch().text;if(!$n[u])break;if(jn.test(u)!==m)break;this.consume(),c+=$n[u]}var p=new e(c,this.settings).parse();m?a={type:"ordgroup",mode:"math",body:p}:r={type:"ordgroup",mode:"math",body:p}}}return r||a?{type:"supsub",mode:this.mode,base:i,sup:r,sub:a}:i},t.parseFunction=function(e,t){var r=this.fetch(),a=r.text,i=qn[a];if(!i)return null;if(this.consume(),t&&"atom"!==t&&!i.allowedInArgument)throw new n("Got function '"+a+"' with no arguments"+(t?" as "+t:""),r);if("text"===this.mode&&!i.allowedInText)throw new n("Can't use function '"+a+"' in text mode",r);if("math"===this.mode&&!1===i.allowedInMath)throw new n("Can't use function '"+a+"' in math mode",r);var o=this.parseArguments(a,i),s=o.args,l=o.optArgs;return this.callFunction(a,s,l,r,e)},t.callFunction=function(e,t,r,a,i){var o={funcName:e,parser:this,token:a,breakOnTokenText:i},s=qn[e];if(s&&s.handler)return s.handler(o,t,r);throw new n("No function handler for "+e)},t.parseArguments=function(e,t){var r=t.numArgs+t.numOptionalArgs;if(0===r)return{args:[],optArgs:[]};for(var a=[],i=[],o=0;o<r;o++){var s=t.argTypes&&t.argTypes[o],l=o<t.numOptionalArgs;(t.primitive&&null==s||"sqrt"===t.type&&1===o&&null==i[0])&&(s="primitive");var h=this.parseGroupOfType("argument to '"+e+"'",s,l);if(l)i.push(h);else{if(null==h)throw new n("Null argument, please report this as a bug");a.push(h)}}return{args:a,optArgs:i}},t.parseGroupOfType=function(e,t,r){switch(t){case"color":return this.parseColorGroup(r);case"size":return this.parseSizeGroup(r);case"url":return this.parseUrlGroup(r);case"math":case"text":return this.parseArgumentGroup(r,t);case"hbox":var a=this.parseArgumentGroup(r,"text");return null!=a?{type:"styling",mode:a.mode,body:[a],style:"text"}:null;case"raw":var i=this.parseStringGroup("raw",r);return null!=i?{type:"raw",mode:"text",string:i.text}:null;case"primitive":if(r)throw new n("A primitive argument cannot be optional");var o=this.parseGroup(e);if(null==o)throw new n("Expected group as "+e,this.fetch());return o;case"original":case null:case void 0:return this.parseArgumentGroup(r);default:throw new n("Unknown group type as "+e,this.fetch())}},t.consumeSpaces=function(){for(;" "===this.fetch().text;)this.consume()},t.parseStringGroup=function(e,t){var r=this.gullet.scanArgument(t);if(null==r)return null;for(var n,a="";"EOF"!==(n=this.fetch()).text;)a+=n.text,this.consume();return this.consume(),r.text=a,r},t.parseRegexGroup=function(e,t){for(var r,a=this.fetch(),i=a,o="";"EOF"!==(r=this.fetch()).text&&e.test(o+r.text);)o+=(i=r).text,this.consume();if(""===o)throw new n("Invalid "+t+": '"+a.text+"'",a);return a.range(i,o)},t.parseColorGroup=function(e){var t=this.parseStringGroup("color",e);if(null==t)return null;var r=/^(#[a-f0-9]{3}|#?[a-f0-9]{6}|[a-z]+)$/i.exec(t.text);if(!r)throw new n("Invalid color: '"+t.text+"'",t);var a=r[0];return/^[0-9a-f]{6}$/i.test(a)&&(a="#"+a),{type:"color-token",mode:this.mode,color:a}},t.parseSizeGroup=function(e){var t,r=!1;if(this.gullet.consumeSpaces(),!(t=e||"{"===this.gullet.future().text?this.parseStringGroup("size",e):this.parseRegexGroup(/^[-+]? *(?:$|\d+|\d+\.\d*|\.\d*) *[a-z]{0,2} *$/,"size")))return null;e||0!==t.text.length||(t.text="0pt",r=!0);var a=/([-+]?) *(\d+(?:\.\d*)?|\.\d+) *([a-z]{2})/.exec(t.text);if(!a)throw new n("Invalid size: '"+t.text+"'",t);var i={number:+(a[1]+a[2]),unit:a[3]};if(!V(i))throw new n("Invalid unit: '"+i.unit+"'",t);return{type:"size",mode:this.mode,value:i,isBlank:r}},t.parseUrlGroup=function(e){this.gullet.lexer.setCatcode("%",13),this.gullet.lexer.setCatcode("~",12);var t=this.parseStringGroup("url",e);if(this.gullet.lexer.setCatcode("%",14),this.gullet.lexer.setCatcode("~",13),null==t)return null;var r=t.text.replace(/\\([#$%&~_^{}])/g,"$1");return{type:"url",mode:this.mode,url:r}},t.parseArgumentGroup=function(e,t){var r=this.gullet.scanArgument(e);if(null==r)return null;var n=this.mode;t&&this.switchMode(t),this.gullet.beginGroup();var a=this.parseExpression(!1,"EOF");this.expect("EOF"),this.gullet.endGroup();var i={type:"ordgroup",mode:this.mode,loc:r.loc,body:a};return t&&this.switchMode(n),i},t.parseGroup=function(e,t){var r,a=this.fetch(),i=a.text;if("{"===i||"\\begingroup"===i){this.consume();var o="{"===i?"}":"\\endgroup";this.gullet.beginGroup();var s=this.parseExpression(!1,o),l=this.fetch();this.expect(o),this.gullet.endGroup(),r={type:"ordgroup",mode:this.mode,loc:Fr.range(a,l),body:s,semisimple:"\\begingroup"===i||void 0}}else if(null==(r=this.parseFunction(t,e)||this.parseSymbol())&&"\\"===i[0]&&!Wn.hasOwnProperty(i)){if(this.settings.throwOnError)throw new n("Undefined control sequence: "+i,a);r=this.formatUnsupportedCmd(i),this.consume()}return r},t.formLigatures=function(e){for(var t=e.length-1,r=0;r<t;++r){var n=e[r],a=n.text;"-"===a&&"-"===e[r+1].text&&(r+1<t&&"-"===e[r+2].text?(e.splice(r,3,{type:"textord",mode:"text",loc:Fr.range(n,e[r+2]),text:"---"}),t-=2):(e.splice(r,2,{type:"textord",mode:"text",loc:Fr.range(n,e[r+1]),text:"--"}),t-=1)),"'"!==a&&"`"!==a||e[r+1].text!==a||(e.splice(r,2,{type:"textord",mode:"text",loc:Fr.range(n,e[r+1]),text:a+a}),t-=1)}},t.parseSymbol=function(){var e=this.fetch(),t=e.text;if(/^\\verb[^a-zA-Z]/.test(t)){this.consume();var r=t.slice(5),a="*"===r.charAt(0);if(a&&(r=r.slice(1)),r.length<2||r.charAt(0)!==r.slice(-1))throw new n("\\verb assertion failed --\n please report what input caused this bug");return{type:"verb",mode:"text",body:r=r.slice(1,-1),star:a}}Kn.hasOwnProperty(t[0])&&!ae[this.mode][t[0]]&&(this.settings.strict&&"math"===this.mode&&this.settings.reportNonstrict("unicodeTextInMathMode",'Accented Unicode text character "'+t[0]+'" used in math mode',e),t=Kn[t[0]]+t.slice(1));var i,o=On.exec(t);if(o&&("i"===(t=t.substring(0,o.index))?t="\u0131":"j"===t&&(t="\u0237")),ae[this.mode][t]){this.settings.strict&&"math"===this.mode&&Ee.indexOf(t)>=0&&this.settings.reportNonstrict("unicodeTextInMathMode",'Latin-1/Unicode text character "'+t[0]+'" used in math mode',e);var s,l=ae[this.mode][t].group,h=Fr.range(e);if(te.hasOwnProperty(l)){var c=l;s={type:"atom",mode:this.mode,family:c,loc:h,text:t}}else s={type:l,mode:this.mode,loc:h,text:t};i=s}else{if(!(t.charCodeAt(0)>=128))return null;this.settings.strict&&(S(t.charCodeAt(0))?"math"===this.mode&&this.settings.reportNonstrict("unicodeTextInMathMode",'Unicode text character "'+t[0]+'" used in math mode',e):this.settings.reportNonstrict("unknownSymbol",'Unrecognized Unicode character "'+t[0]+'" ('+t.charCodeAt(0)+")",e)),i={type:"textord",mode:"text",loc:Fr.range(e),text:t}}if(this.consume(),o)for(var m=0;m<o[0].length;m++){var u=o[0][m];if(!Zn[u])throw new n("Unknown accent ' "+u+"'",e);var p=Zn[u][this.mode]||Zn[u].text;if(!p)throw new n("Accent "+u+" unsupported in "+this.mode+" mode",e);i={type:"accent",mode:this.mode,loc:Fr.range(e),label:p,isStretchy:!1,isShifty:!0,base:i}}return i},e}();Jn.endOfExpression=["}","\\endgroup","\\end","\\right","&"];var Qn=function(e,t){if(!("string"==typeof e||e instanceof String))throw new TypeError("KaTeX can only parse string typed expression");var r=new Jn(e,t);delete r.gullet.macros.current["\\df@tag"];var a=r.parse();if(delete r.gullet.macros.current["\\current@color"],delete r.gullet.macros.current["\\color"],r.gullet.macros.get("\\df@tag")){if(!t.displayMode)throw new n("\\tag works only in display equations");a=[{type:"tag",mode:"text",body:a,tag:r.subparse([new Gr("\\df@tag")])}]}return a},ea=function(e,t,r){t.textContent="";var n=ra(e,r).toNode();t.appendChild(n)};"undefined"!=typeof document&&"CSS1Compat"!==document.compatMode&&("undefined"!=typeof console&&console.warn("Warning: KaTeX doesn't work in quirks mode. Make sure your website has a suitable doctype."),ea=function(){throw new n("KaTeX doesn't work in quirks mode.")});var ta=function(e,t,r){if(r.throwOnError||!(e instanceof n))throw e;var a=Ke.makeSpan(["katex-error"],[new Z(t)]);return a.setAttribute("title",e.toString()),a.setAttribute("style","color:"+r.errorColor),a},ra=function(e,t){var r=new m(t);try{var n=Qn(e,r);return Lt(n,e,r)}catch(t){return ta(t,e,r)}},na={version:"0.16.8",render:ea,renderToString:function(e,t){return ra(e,t).toMarkup()},ParseError:n,SETTINGS_SCHEMA:h,__parse:function(e,t){var r=new m(t);return Qn(e,r)},__renderToDomTree:ra,__renderToHTMLTree:function(e,t){var r=new m(t);try{return function(e,t,r){var n=St(e,Ot(r)),a=Ke.makeSpan(["katex"],[n]);return Et(a,r)}(Qn(e,r),0,r)}catch(t){return ta(t,e,r)}},__setFontMetrics:function(e,t){T[e]=t},__defineSymbol:ie,__defineFunction:ot,__defineMacro:Pr,__domTree:{Span:W,Anchor:_,SymbolNode:Z,SvgNode:K,PathNode:J,LineNode:Q}};return t=t.default}()}));
\ No newline at end of file
webui/vendor/marked/marked.esm.js
new
+2189
@@ -0,0 +1,2189 @@
1
+/**
2
+ * marked v15.0.12 - a markdown parser
3
+ * Copyright (c) 2011-2025, Christopher Jeffrey. (MIT Licensed)
4
+ * https://github.com/markedjs/marked
5
+ */
6
+
7
+/**
8
+ * DO NOT EDIT THIS FILE
9
+ * The code in this file is generated from files in ./src/
10
+ */
11
+
12
+
13
+// src/defaults.ts
14
+function _getDefaults() {
15
+ return {
16
+ async: false,
17
+ breaks: false,
18
+ extensions: null,
19
+ gfm: true,
20
+ hooks: null,
21
+ pedantic: false,
22
+ renderer: null,
23
+ silent: false,
24
+ tokenizer: null,
25
+ walkTokens: null
26
+ };
27
+}
28
+var _defaults = _getDefaults();
29
+function changeDefaults(newDefaults) {
30
+ _defaults = newDefaults;
31
+}
32
+
33
+// src/rules.ts
34
+var noopTest = { exec: () => null };
35
+function edit(regex, opt = "") {
36
+ let source = typeof regex === "string" ? regex : regex.source;
37
+ const obj = {
38
+ replace: (name, val) => {
39
+ let valSource = typeof val === "string" ? val : val.source;
40
+ valSource = valSource.replace(other.caret, "$1");
41
+ source = source.replace(name, valSource);
42
+ return obj;
43
+ },
44
+ getRegex: () => {
45
+ return new RegExp(source, opt);
46
+ }
47
+ };
48
+ return obj;
49
+}
50
+var other = {
51
+ codeRemoveIndent: /^(?: {1,4}| {0,3}\t)/gm,
52
+ outputLinkReplace: /\\([\[\]])/g,
53
+ indentCodeCompensation: /^(\s+)(?:```)/,
54
+ beginningSpace: /^\s+/,
55
+ endingHash: /#$/,
56
+ startingSpaceChar: /^ /,
57
+ endingSpaceChar: / $/,
58
+ nonSpaceChar: /[^ ]/,
59
+ newLineCharGlobal: /\n/g,
60
+ tabCharGlobal: /\t/g,
61
+ multipleSpaceGlobal: /\s+/g,
62
+ blankLine: /^[ \t]*$/,
63
+ doubleBlankLine: /\n[ \t]*\n[ \t]*$/,
64
+ blockquoteStart: /^ {0,3}>/,
65
+ blockquoteSetextReplace: /\n {0,3}((?:=+|-+) *)(?=\n|$)/g,
66
+ blockquoteSetextReplace2: /^ {0,3}>[ \t]?/gm,
67
+ listReplaceTabs: /^\t+/,
68
+ listReplaceNesting: /^ {1,4}(?=( {4})*[^ ])/g,
69
+ listIsTask: /^\[[ xX]\] /,
70
+ listReplaceTask: /^\[[ xX]\] +/,
71
+ anyLine: /\n.*\n/,
72
+ hrefBrackets: /^<(.*)>$/,
73
+ tableDelimiter: /[:|]/,
74
+ tableAlignChars: /^\||\| *$/g,
75
+ tableRowBlankLine: /\n[ \t]*$/,
76
+ tableAlignRight: /^ *-+: *$/,
77
+ tableAlignCenter: /^ *:-+: *$/,
78
+ tableAlignLeft: /^ *:-+ *$/,
79
+ startATag: /^<a /i,
80
+ endATag: /^<\/a>/i,
81
+ startPreScriptTag: /^<(pre|code|kbd|script)(\s|>)/i,
82
+ endPreScriptTag: /^<\/(pre|code|kbd|script)(\s|>)/i,
83
+ startAngleBracket: /^</,
84
+ endAngleBracket: />$/,
85
+ pedanticHrefTitle: /^([^'"]*[^\s])\s+(['"])(.*)\2/,
86
+ unicodeAlphaNumeric: /[\p{L}\p{N}]/u,
87
+ escapeTest: /[&<>"']/,
88
+ escapeReplace: /[&<>"']/g,
89
+ escapeTestNoEncode: /[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/,
90
+ escapeReplaceNoEncode: /[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/g,
91
+ unescapeTest: /&(#(?:\d+)|(?:#x[0-9A-Fa-f]+)|(?:\w+));?/ig,
92
+ caret: /(^|[^\[])\^/g,
93
+ percentDecode: /%25/g,
94
+ findPipe: /\|/g,
95
+ splitPipe: / \|/,
96
+ slashPipe: /\\\|/g,
97
+ carriageReturn: /\r\n|\r/g,
98
+ spaceLine: /^ +$/gm,
99
+ notSpaceStart: /^\S*/,
100
+ endingNewline: /\n$/,
101
+ listItemRegex: (bull) => new RegExp(`^( {0,3}${bull})((?:[ ][^\\n]*)?(?:\\n|$))`),
102
+ nextBulletRegex: (indent) => new RegExp(`^ {0,${Math.min(3, indent - 1)}}(?:[*+-]|\\d{1,9}[.)])((?:[ ][^\\n]*)?(?:\\n|$))`),
103
+ hrRegex: (indent) => new RegExp(`^ {0,${Math.min(3, indent - 1)}}((?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$)`),
104
+ fencesBeginRegex: (indent) => new RegExp(`^ {0,${Math.min(3, indent - 1)}}(?:\`\`\`|~~~)`),
105
+ headingBeginRegex: (indent) => new RegExp(`^ {0,${Math.min(3, indent - 1)}}#`),
106
+ htmlBeginRegex: (indent) => new RegExp(`^ {0,${Math.min(3, indent - 1)}}<(?:[a-z].*>|!--)`, "i")
107
+};
108
+var newline = /^(?:[ \t]*(?:\n|$))+/;
109
+var blockCode = /^((?: {4}| {0,3}\t)[^\n]+(?:\n(?:[ \t]*(?:\n|$))*)?)+/;
110
+var fences = /^ {0,3}(`{3,}(?=[^`\n]*(?:\n|$))|~{3,})([^\n]*)(?:\n|$)(?:|([\s\S]*?)(?:\n|$))(?: {0,3}\1[~`]* *(?=\n|$)|$)/;
111
+var hr = /^ {0,3}((?:-[\t ]*){3,}|(?:_[ \t]*){3,}|(?:\*[ \t]*){3,})(?:\n+|$)/;
112
+var heading = /^ {0,3}(#{1,6})(?=\s|$)(.*)(?:\n+|$)/;
113
+var bullet = /(?:[*+-]|\d{1,9}[.)])/;
114
+var lheadingCore = /^(?!bull |blockCode|fences|blockquote|heading|html|table)((?:.|\n(?!\s*?\n|bull |blockCode|fences|blockquote|heading|html|table))+?)\n {0,3}(=+|-+) *(?:\n+|$)/;
115
+var lheading = edit(lheadingCore).replace(/bull/g, bullet).replace(/blockCode/g, /(?: {4}| {0,3}\t)/).replace(/fences/g, / {0,3}(?:`{3,}|~{3,})/).replace(/blockquote/g, / {0,3}>/).replace(/heading/g, / {0,3}#{1,6}/).replace(/html/g, / {0,3}<[^\n>]+>\n/).replace(/\|table/g, "").getRegex();
116
+var lheadingGfm = edit(lheadingCore).replace(/bull/g, bullet).replace(/blockCode/g, /(?: {4}| {0,3}\t)/).replace(/fences/g, / {0,3}(?:`{3,}|~{3,})/).replace(/blockquote/g, / {0,3}>/).replace(/heading/g, / {0,3}#{1,6}/).replace(/html/g, / {0,3}<[^\n>]+>\n/).replace(/table/g, / {0,3}\|?(?:[:\- ]*\|)+[\:\- ]*\n/).getRegex();
117
+var _paragraph = /^([^\n]+(?:\n(?!hr|heading|lheading|blockquote|fences|list|html|table| +\n)[^\n]+)*)/;
118
+var blockText = /^[^\n]+/;
119
+var _blockLabel = /(?!\s*\])(?:\\.|[^\[\]\\])+/;
120
+var def = edit(/^ {0,3}\[(label)\]: *(?:\n[ \t]*)?([^<\s][^\s]*|<.*?>)(?:(?: +(?:\n[ \t]*)?| *\n[ \t]*)(title))? *(?:\n+|$)/).replace("label", _blockLabel).replace("title", /(?:"(?:\\"?|[^"\\])*"|'[^'\n]*(?:\n[^'\n]+)*\n?'|\([^()]*\))/).getRegex();
121
+var list = edit(/^( {0,3}bull)([ \t][^\n]+?)?(?:\n|$)/).replace(/bull/g, bullet).getRegex();
122
+var _tag = "address|article|aside|base|basefont|blockquote|body|caption|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption|figure|footer|form|frame|frameset|h[1-6]|head|header|hr|html|iframe|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option|p|param|search|section|summary|table|tbody|td|tfoot|th|thead|title|tr|track|ul";
123
+var _comment = /<!--(?:-?>|[\s\S]*?(?:-->|$))/;
124
+var html = edit(
125
+ "^ {0,3}(?:<(script|pre|style|textarea)[\\s>][\\s\\S]*?(?:</\\1>[^\\n]*\\n+|$)|comment[^\\n]*(\\n+|$)|<\\?[\\s\\S]*?(?:\\?>\\n*|$)|<![A-Z][\\s\\S]*?(?:>\\n*|$)|<!\\[CDATA\\[[\\s\\S]*?(?:\\]\\]>\\n*|$)|</?(tag)(?: +|\\n|/?>)[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$)|<(?!script|pre|style|textarea)([a-z][\\w-]*)(?:attribute)*? */?>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$)|</(?!script|pre|style|textarea)[a-z][\\w-]*\\s*>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$))",
126
+ "i"
127
+).replace("comment", _comment).replace("tag", _tag).replace("attribute", / +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/).getRegex();
128
+var paragraph = edit(_paragraph).replace("hr", hr).replace("heading", " {0,3}#{1,6}(?:\\s|$)").replace("|lheading", "").replace("|table", "").replace("blockquote", " {0,3}>").replace("fences", " {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list", " {0,3}(?:[*+-]|1[.)]) ").replace("html", "</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag", _tag).getRegex();
129
+var blockquote = edit(/^( {0,3}> ?(paragraph|[^\n]*)(?:\n|$))+/).replace("paragraph", paragraph).getRegex();
130
+var blockNormal = {
131
+ blockquote,
132
+ code: blockCode,
133
+ def,
134
+ fences,
135
+ heading,
136
+ hr,
137
+ html,
138
+ lheading,
139
+ list,
140
+ newline,
141
+ paragraph,
142
+ table: noopTest,
143
+ text: blockText
144
+};
145
+var gfmTable = edit(
146
+ "^ *([^\\n ].*)\\n {0,3}((?:\\| *)?:?-+:? *(?:\\| *:?-+:? *)*(?:\\| *)?)(?:\\n((?:(?! *\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)"
147
+).replace("hr", hr).replace("heading", " {0,3}#{1,6}(?:\\s|$)").replace("blockquote", " {0,3}>").replace("code", "(?: {4}| {0,3} )[^\\n]").replace("fences", " {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list", " {0,3}(?:[*+-]|1[.)]) ").replace("html", "</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag", _tag).getRegex();
148
+var blockGfm = {
149
+ ...blockNormal,
150
+ lheading: lheadingGfm,
151
+ table: gfmTable,
152
+ paragraph: edit(_paragraph).replace("hr", hr).replace("heading", " {0,3}#{1,6}(?:\\s|$)").replace("|lheading", "").replace("table", gfmTable).replace("blockquote", " {0,3}>").replace("fences", " {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list", " {0,3}(?:[*+-]|1[.)]) ").replace("html", "</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag", _tag).getRegex()
153
+};
154
+var blockPedantic = {
155
+ ...blockNormal,
156
+ html: edit(
157
+ `^ *(?:comment *(?:\\n|\\s*$)|<(tag)[\\s\\S]+?</\\1> *(?:\\n{2,}|\\s*$)|<tag(?:"[^"]*"|'[^']*'|\\s[^'"/>\\s]*)*?/?> *(?:\\n{2,}|\\s*$))`
158
+ ).replace("comment", _comment).replace(/tag/g, "(?!(?:a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)\\b)\\w+(?!:|[^\\w\\s@]*@)\\b").getRegex(),
159
+ def: /^ *\[([^\]]+)\]: *<?([^\s>]+)>?(?: +(["(][^\n]+[")]))? *(?:\n+|$)/,
160
+ heading: /^(#{1,6})(.*)(?:\n+|$)/,
161
+ fences: noopTest,
162
+ // fences not supported
163
+ lheading: /^(.+?)\n {0,3}(=+|-+) *(?:\n+|$)/,
164
+ paragraph: edit(_paragraph).replace("hr", hr).replace("heading", " *#{1,6} *[^\n]").replace("lheading", lheading).replace("|table", "").replace("blockquote", " {0,3}>").replace("|fences", "").replace("|list", "").replace("|html", "").replace("|tag", "").getRegex()
165
+};
166
+var escape = /^\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/;
167
+var inlineCode = /^(`+)([^`]|[^`][\s\S]*?[^`])\1(?!`)/;
168
+var br = /^( {2,}|\\)\n(?!\s*$)/;
169
+var inlineText = /^(`+|[^`])(?:(?= {2,}\n)|[\s\S]*?(?:(?=[\\<!\[`*_]|\b_|$)|[^ ](?= {2,}\n)))/;
170
+var _punctuation = /[\p{P}\p{S}]/u;
171
+var _punctuationOrSpace = /[\s\p{P}\p{S}]/u;
172
+var _notPunctuationOrSpace = /[^\s\p{P}\p{S}]/u;
173
+var punctuation = edit(/^((?![*_])punctSpace)/, "u").replace(/punctSpace/g, _punctuationOrSpace).getRegex();
174
+var _punctuationGfmStrongEm = /(?!~)[\p{P}\p{S}]/u;
175
+var _punctuationOrSpaceGfmStrongEm = /(?!~)[\s\p{P}\p{S}]/u;
176
+var _notPunctuationOrSpaceGfmStrongEm = /(?:[^\s\p{P}\p{S}]|~)/u;
177
+var blockSkip = /\[[^[\]]*?\]\((?:\\.|[^\\\(\)]|\((?:\\.|[^\\\(\)])*\))*\)|`[^`]*?`|<[^<>]*?>/g;
178
+var emStrongLDelimCore = /^(?:\*+(?:((?!\*)punct)|[^\s*]))|^_+(?:((?!_)punct)|([^\s_]))/;
179
+var emStrongLDelim = edit(emStrongLDelimCore, "u").replace(/punct/g, _punctuation).getRegex();
180
+var emStrongLDelimGfm = edit(emStrongLDelimCore, "u").replace(/punct/g, _punctuationGfmStrongEm).getRegex();
181
+var emStrongRDelimAstCore = "^[^_*]*?__[^_*]*?\\*[^_*]*?(?=__)|[^*]+(?=[^*])|(?!\\*)punct(\\*+)(?=[\\s]|$)|notPunctSpace(\\*+)(?!\\*)(?=punctSpace|$)|(?!\\*)punctSpace(\\*+)(?=notPunctSpace)|[\\s](\\*+)(?!\\*)(?=punct)|(?!\\*)punct(\\*+)(?!\\*)(?=punct)|notPunctSpace(\\*+)(?=notPunctSpace)";
182
+var emStrongRDelimAst = edit(emStrongRDelimAstCore, "gu").replace(/notPunctSpace/g, _notPunctuationOrSpace).replace(/punctSpace/g, _punctuationOrSpace).replace(/punct/g, _punctuation).getRegex();
183
+var emStrongRDelimAstGfm = edit(emStrongRDelimAstCore, "gu").replace(/notPunctSpace/g, _notPunctuationOrSpaceGfmStrongEm).replace(/punctSpace/g, _punctuationOrSpaceGfmStrongEm).replace(/punct/g, _punctuationGfmStrongEm).getRegex();
184
+var emStrongRDelimUnd = edit(
185
+ "^[^_*]*?\\*\\*[^_*]*?_[^_*]*?(?=\\*\\*)|[^_]+(?=[^_])|(?!_)punct(_+)(?=[\\s]|$)|notPunctSpace(_+)(?!_)(?=punctSpace|$)|(?!_)punctSpace(_+)(?=notPunctSpace)|[\\s](_+)(?!_)(?=punct)|(?!_)punct(_+)(?!_)(?=punct)",
186
+ "gu"
187
+).replace(/notPunctSpace/g, _notPunctuationOrSpace).replace(/punctSpace/g, _punctuationOrSpace).replace(/punct/g, _punctuation).getRegex();
188
+var anyPunctuation = edit(/\\(punct)/, "gu").replace(/punct/g, _punctuation).getRegex();
189
+var autolink = edit(/^<(scheme:[^\s\x00-\x1f<>]*|email)>/).replace("scheme", /[a-zA-Z][a-zA-Z0-9+.-]{1,31}/).replace("email", /[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+(@)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+(?![-_])/).getRegex();
190
+var _inlineComment = edit(_comment).replace("(?:-->|$)", "-->").getRegex();
191
+var tag = edit(
192
+ "^comment|^</[a-zA-Z][\\w:-]*\\s*>|^<[a-zA-Z][\\w-]*(?:attribute)*?\\s*/?>|^<\\?[\\s\\S]*?\\?>|^<![a-zA-Z]+\\s[\\s\\S]*?>|^<!\\[CDATA\\[[\\s\\S]*?\\]\\]>"
193
+).replace("comment", _inlineComment).replace("attribute", /\s+[a-zA-Z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/).getRegex();
194
+var _inlineLabel = /(?:\[(?:\\.|[^\[\]\\])*\]|\\.|`[^`]*`|[^\[\]\\`])*?/;
195
+var link = edit(/^!?\[(label)\]\(\s*(href)(?:(?:[ \t]*(?:\n[ \t]*)?)(title))?\s*\)/).replace("label", _inlineLabel).replace("href", /<(?:\\.|[^\n<>\\])+>|[^ \t\n\x00-\x1f]*/).replace("title", /"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/).getRegex();
196
+var reflink = edit(/^!?\[(label)\]\[(ref)\]/).replace("label", _inlineLabel).replace("ref", _blockLabel).getRegex();
197
+var nolink = edit(/^!?\[(ref)\](?:\[\])?/).replace("ref", _blockLabel).getRegex();
198
+var reflinkSearch = edit("reflink|nolink(?!\\()", "g").replace("reflink", reflink).replace("nolink", nolink).getRegex();
199
+var inlineNormal = {
200
+ _backpedal: noopTest,
201
+ // only used for GFM url
202
+ anyPunctuation,
203
+ autolink,
204
+ blockSkip,
205
+ br,
206
+ code: inlineCode,
207
+ del: noopTest,
208
+ emStrongLDelim,
209
+ emStrongRDelimAst,
210
+ emStrongRDelimUnd,
211
+ escape,
212
+ link,
213
+ nolink,
214
+ punctuation,
215
+ reflink,
216
+ reflinkSearch,
217
+ tag,
218
+ text: inlineText,
219
+ url: noopTest
220
+};
221
+var inlinePedantic = {
222
+ ...inlineNormal,
223
+ link: edit(/^!?\[(label)\]\((.*?)\)/).replace("label", _inlineLabel).getRegex(),
224
+ reflink: edit(/^!?\[(label)\]\s*\[([^\]]*)\]/).replace("label", _inlineLabel).getRegex()
225
+};
226
+var inlineGfm = {
227
+ ...inlineNormal,
228
+ emStrongRDelimAst: emStrongRDelimAstGfm,
229
+ emStrongLDelim: emStrongLDelimGfm,
230
+ url: edit(/^((?:ftp|https?):\/\/|www\.)(?:[a-zA-Z0-9\-]+\.?)+[^\s<]*|^email/, "i").replace("email", /[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![-_])/).getRegex(),
231
+ _backpedal: /(?:[^?!.,:;*_'"~()&]+|\([^)]*\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_'"~)]+(?!$))+/,
232
+ del: /^(~~?)(?=[^\s~])((?:\\.|[^\\])*?(?:\\.|[^\s~\\]))\1(?=[^~]|$)/,
233
+ text: /^([`~]+|[^`~])(?:(?= {2,}\n)|(?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)|[\s\S]*?(?:(?=[\\<!\[`*~_]|\b_|https?:\/\/|ftp:\/\/|www\.|$)|[^ ](?= {2,}\n)|[^a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-](?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)))/
234
+};
235
+var inlineBreaks = {
236
+ ...inlineGfm,
237
+ br: edit(br).replace("{2,}", "*").getRegex(),
238
+ text: edit(inlineGfm.text).replace("\\b_", "\\b_| {2,}\\n").replace(/\{2,\}/g, "*").getRegex()
239
+};
240
+var block = {
241
+ normal: blockNormal,
242
+ gfm: blockGfm,
243
+ pedantic: blockPedantic
244
+};
245
+var inline = {
246
+ normal: inlineNormal,
247
+ gfm: inlineGfm,
248
+ breaks: inlineBreaks,
249
+ pedantic: inlinePedantic
250
+};
251
+
252
+// src/helpers.ts
253
+var escapeReplacements = {
254
+ "&": "&",
255
+ "<": "<",
256
+ ">": ">",
257
+ '"': """,
258
+ "'": "'"
259
+};
260
+var getEscapeReplacement = (ch) => escapeReplacements[ch];
261
+function escape2(html2, encode) {
262
+ if (encode) {
263
+ if (other.escapeTest.test(html2)) {
264
+ return html2.replace(other.escapeReplace, getEscapeReplacement);
265
+ }
266
+ } else {
267
+ if (other.escapeTestNoEncode.test(html2)) {
268
+ return html2.replace(other.escapeReplaceNoEncode, getEscapeReplacement);
269
+ }
270
+ }
271
+ return html2;
272
+}
273
+function cleanUrl(href) {
274
+ try {
275
+ href = encodeURI(href).replace(other.percentDecode, "%");
276
+ } catch {
277
+ return null;
278
+ }
279
+ return href;
280
+}
281
+function splitCells(tableRow, count) {
282
+ const row = tableRow.replace(other.findPipe, (match, offset, str) => {
283
+ let escaped = false;
284
+ let curr = offset;
285
+ while (--curr >= 0 && str[curr] === "\\") escaped = !escaped;
286
+ if (escaped) {
287
+ return "|";
288
+ } else {
289
+ return " |";
290
+ }
291
+ }), cells = row.split(other.splitPipe);
292
+ let i = 0;
293
+ if (!cells[0].trim()) {
294
+ cells.shift();
295
+ }
296
+ if (cells.length > 0 && !cells.at(-1)?.trim()) {
297
+ cells.pop();
298
+ }
299
+ if (count) {
300
+ if (cells.length > count) {
301
+ cells.splice(count);
302
+ } else {
303
+ while (cells.length < count) cells.push("");
304
+ }
305
+ }
306
+ for (; i < cells.length; i++) {
307
+ cells[i] = cells[i].trim().replace(other.slashPipe, "|");
308
+ }
309
+ return cells;
310
+}
311
+function rtrim(str, c, invert) {
312
+ const l = str.length;
313
+ if (l === 0) {
314
+ return "";
315
+ }
316
+ let suffLen = 0;
317
+ while (suffLen < l) {
318
+ const currChar = str.charAt(l - suffLen - 1);
319
+ if (currChar === c && !invert) {
320
+ suffLen++;
321
+ } else if (currChar !== c && invert) {
322
+ suffLen++;
323
+ } else {
324
+ break;
325
+ }
326
+ }
327
+ return str.slice(0, l - suffLen);
328
+}
329
+function findClosingBracket(str, b) {
330
+ if (str.indexOf(b[1]) === -1) {
331
+ return -1;
332
+ }
333
+ let level = 0;
334
+ for (let i = 0; i < str.length; i++) {
335
+ if (str[i] === "\\") {
336
+ i++;
337
+ } else if (str[i] === b[0]) {
338
+ level++;
339
+ } else if (str[i] === b[1]) {
340
+ level--;
341
+ if (level < 0) {
342
+ return i;
343
+ }
344
+ }
345
+ }
346
+ if (level > 0) {
347
+ return -2;
348
+ }
349
+ return -1;
350
+}
351
+
352
+// src/Tokenizer.ts
353
+function outputLink(cap, link2, raw, lexer2, rules) {
354
+ const href = link2.href;
355
+ const title = link2.title || null;
356
+ const text = cap[1].replace(rules.other.outputLinkReplace, "$1");
357
+ lexer2.state.inLink = true;
358
+ const token = {
359
+ type: cap[0].charAt(0) === "!" ? "image" : "link",
360
+ raw,
361
+ href,
362
+ title,
363
+ text,
364
+ tokens: lexer2.inlineTokens(text)
365
+ };
366
+ lexer2.state.inLink = false;
367
+ return token;
368
+}
369
+function indentCodeCompensation(raw, text, rules) {
370
+ const matchIndentToCode = raw.match(rules.other.indentCodeCompensation);
371
+ if (matchIndentToCode === null) {
372
+ return text;
373
+ }
374
+ const indentToCode = matchIndentToCode[1];
375
+ return text.split("\n").map((node) => {
376
+ const matchIndentInNode = node.match(rules.other.beginningSpace);
377
+ if (matchIndentInNode === null) {
378
+ return node;
379
+ }
380
+ const [indentInNode] = matchIndentInNode;
381
+ if (indentInNode.length >= indentToCode.length) {
382
+ return node.slice(indentToCode.length);
383
+ }
384
+ return node;
385
+ }).join("\n");
386
+}
387
+var _Tokenizer = class {
388
+ options;
389
+ rules;
390
+ // set by the lexer
391
+ lexer;
392
+ // set by the lexer
393
+ constructor(options2) {
394
+ this.options = options2 || _defaults;
395
+ }
396
+ space(src) {
397
+ const cap = this.rules.block.newline.exec(src);
398
+ if (cap && cap[0].length > 0) {
399
+ return {
400
+ type: "space",
401
+ raw: cap[0]
402
+ };
403
+ }
404
+ }
405
+ code(src) {
406
+ const cap = this.rules.block.code.exec(src);
407
+ if (cap) {
408
+ const text = cap[0].replace(this.rules.other.codeRemoveIndent, "");
409
+ return {
410
+ type: "code",
411
+ raw: cap[0],
412
+ codeBlockStyle: "indented",
413
+ text: !this.options.pedantic ? rtrim(text, "\n") : text
414
+ };
415
+ }
416
+ }
417
+ fences(src) {
418
+ const cap = this.rules.block.fences.exec(src);
419
+ if (cap) {
420
+ const raw = cap[0];
421
+ const text = indentCodeCompensation(raw, cap[3] || "", this.rules);
422
+ return {
423
+ type: "code",
424
+ raw,
425
+ lang: cap[2] ? cap[2].trim().replace(this.rules.inline.anyPunctuation, "$1") : cap[2],
426
+ text
427
+ };
428
+ }
429
+ }
430
+ heading(src) {
431
+ const cap = this.rules.block.heading.exec(src);
432
+ if (cap) {
433
+ let text = cap[2].trim();
434
+ if (this.rules.other.endingHash.test(text)) {
435
+ const trimmed = rtrim(text, "#");
436
+ if (this.options.pedantic) {
437
+ text = trimmed.trim();
438
+ } else if (!trimmed || this.rules.other.endingSpaceChar.test(trimmed)) {
439
+ text = trimmed.trim();
440
+ }
441
+ }
442
+ return {
443
+ type: "heading",
444
+ raw: cap[0],
445
+ depth: cap[1].length,
446
+ text,
447
+ tokens: this.lexer.inline(text)
448
+ };
449
+ }
450
+ }
451
+ hr(src) {
452
+ const cap = this.rules.block.hr.exec(src);
453
+ if (cap) {
454
+ return {
455
+ type: "hr",
456
+ raw: rtrim(cap[0], "\n")
457
+ };
458
+ }
459
+ }
460
+ blockquote(src) {
461
+ const cap = this.rules.block.blockquote.exec(src);
462
+ if (cap) {
463
+ let lines = rtrim(cap[0], "\n").split("\n");
464
+ let raw = "";
465
+ let text = "";
466
+ const tokens = [];
467
+ while (lines.length > 0) {
468
+ let inBlockquote = false;
469
+ const currentLines = [];
470
+ let i;
471
+ for (i = 0; i < lines.length; i++) {
472
+ if (this.rules.other.blockquoteStart.test(lines[i])) {
473
+ currentLines.push(lines[i]);
474
+ inBlockquote = true;
475
+ } else if (!inBlockquote) {
476
+ currentLines.push(lines[i]);
477
+ } else {
478
+ break;
479
+ }
480
+ }
481
+ lines = lines.slice(i);
482
+ const currentRaw = currentLines.join("\n");
483
+ const currentText = currentRaw.replace(this.rules.other.blockquoteSetextReplace, "\n $1").replace(this.rules.other.blockquoteSetextReplace2, "");
484
+ raw = raw ? `${raw}
485
+${currentRaw}` : currentRaw;
486
+ text = text ? `${text}
487
+${currentText}` : currentText;
488
+ const top = this.lexer.state.top;
489
+ this.lexer.state.top = true;
490
+ this.lexer.blockTokens(currentText, tokens, true);
491
+ this.lexer.state.top = top;
492
+ if (lines.length === 0) {
493
+ break;
494
+ }
495
+ const lastToken = tokens.at(-1);
496
+ if (lastToken?.type === "code") {
497
+ break;
498
+ } else if (lastToken?.type === "blockquote") {
499
+ const oldToken = lastToken;
500
+ const newText = oldToken.raw + "\n" + lines.join("\n");
501
+ const newToken = this.blockquote(newText);
502
+ tokens[tokens.length - 1] = newToken;
503
+ raw = raw.substring(0, raw.length - oldToken.raw.length) + newToken.raw;
504
+ text = text.substring(0, text.length - oldToken.text.length) + newToken.text;
505
+ break;
506
+ } else if (lastToken?.type === "list") {
507
+ const oldToken = lastToken;
508
+ const newText = oldToken.raw + "\n" + lines.join("\n");
509
+ const newToken = this.list(newText);
510
+ tokens[tokens.length - 1] = newToken;
511
+ raw = raw.substring(0, raw.length - lastToken.raw.length) + newToken.raw;
512
+ text = text.substring(0, text.length - oldToken.raw.length) + newToken.raw;
513
+ lines = newText.substring(tokens.at(-1).raw.length).split("\n");
514
+ continue;
515
+ }
516
+ }
517
+ return {
518
+ type: "blockquote",
519
+ raw,
520
+ tokens,
521
+ text
522
+ };
523
+ }
524
+ }
525
+ list(src) {
526
+ let cap = this.rules.block.list.exec(src);
527
+ if (cap) {
528
+ let bull = cap[1].trim();
529
+ const isordered = bull.length > 1;
530
+ const list2 = {
531
+ type: "list",
532
+ raw: "",
533
+ ordered: isordered,
534
+ start: isordered ? +bull.slice(0, -1) : "",
535
+ loose: false,
536
+ items: []
537
+ };
538
+ bull = isordered ? `\\d{1,9}\\${bull.slice(-1)}` : `\\${bull}`;
539
+ if (this.options.pedantic) {
540
+ bull = isordered ? bull : "[*+-]";
541
+ }
542
+ const itemRegex = this.rules.other.listItemRegex(bull);
543
+ let endsWithBlankLine = false;
544
+ while (src) {
545
+ let endEarly = false;
546
+ let raw = "";
547
+ let itemContents = "";
548
+ if (!(cap = itemRegex.exec(src))) {
549
+ break;
550
+ }
551
+ if (this.rules.block.hr.test(src)) {
552
+ break;
553
+ }
554
+ raw = cap[0];
555
+ src = src.substring(raw.length);
556
+ let line = cap[2].split("\n", 1)[0].replace(this.rules.other.listReplaceTabs, (t) => " ".repeat(3 * t.length));
557
+ let nextLine = src.split("\n", 1)[0];
558
+ let blankLine = !line.trim();
559
+ let indent = 0;
560
+ if (this.options.pedantic) {
561
+ indent = 2;
562
+ itemContents = line.trimStart();
563
+ } else if (blankLine) {
564
+ indent = cap[1].length + 1;
565
+ } else {
566
+ indent = cap[2].search(this.rules.other.nonSpaceChar);
567
+ indent = indent > 4 ? 1 : indent;
568
+ itemContents = line.slice(indent);
569
+ indent += cap[1].length;
570
+ }
571
+ if (blankLine && this.rules.other.blankLine.test(nextLine)) {
572
+ raw += nextLine + "\n";
573
+ src = src.substring(nextLine.length + 1);
574
+ endEarly = true;
575
+ }
576
+ if (!endEarly) {
577
+ const nextBulletRegex = this.rules.other.nextBulletRegex(indent);
578
+ const hrRegex = this.rules.other.hrRegex(indent);
579
+ const fencesBeginRegex = this.rules.other.fencesBeginRegex(indent);
580
+ const headingBeginRegex = this.rules.other.headingBeginRegex(indent);
581
+ const htmlBeginRegex = this.rules.other.htmlBeginRegex(indent);
582
+ while (src) {
583
+ const rawLine = src.split("\n", 1)[0];
584
+ let nextLineWithoutTabs;
585
+ nextLine = rawLine;
586
+ if (this.options.pedantic) {
587
+ nextLine = nextLine.replace(this.rules.other.listReplaceNesting, " ");
588
+ nextLineWithoutTabs = nextLine;
589
+ } else {
590
+ nextLineWithoutTabs = nextLine.replace(this.rules.other.tabCharGlobal, " ");
591
+ }
592
+ if (fencesBeginRegex.test(nextLine)) {
593
+ break;
594
+ }
595
+ if (headingBeginRegex.test(nextLine)) {
596
+ break;
597
+ }
598
+ if (htmlBeginRegex.test(nextLine)) {
599
+ break;
600
+ }
601
+ if (nextBulletRegex.test(nextLine)) {
602
+ break;
603
+ }
604
+ if (hrRegex.test(nextLine)) {
605
+ break;
606
+ }
607
+ if (nextLineWithoutTabs.search(this.rules.other.nonSpaceChar) >= indent || !nextLine.trim()) {
608
+ itemContents += "\n" + nextLineWithoutTabs.slice(indent);
609
+ } else {
610
+ if (blankLine) {
611
+ break;
612
+ }
613
+ if (line.replace(this.rules.other.tabCharGlobal, " ").search(this.rules.other.nonSpaceChar) >= 4) {
614
+ break;
615
+ }
616
+ if (fencesBeginRegex.test(line)) {
617
+ break;
618
+ }
619
+ if (headingBeginRegex.test(line)) {
620
+ break;
621
+ }
622
+ if (hrRegex.test(line)) {
623
+ break;
624
+ }
625
+ itemContents += "\n" + nextLine;
626
+ }
627
+ if (!blankLine && !nextLine.trim()) {
628
+ blankLine = true;
629
+ }
630
+ raw += rawLine + "\n";
631
+ src = src.substring(rawLine.length + 1);
632
+ line = nextLineWithoutTabs.slice(indent);
633
+ }
634
+ }
635
+ if (!list2.loose) {
636
+ if (endsWithBlankLine) {
637
+ list2.loose = true;
638
+ } else if (this.rules.other.doubleBlankLine.test(raw)) {
639
+ endsWithBlankLine = true;
640
+ }
641
+ }
642
+ let istask = null;
643
+ let ischecked;
644
+ if (this.options.gfm) {
645
+ istask = this.rules.other.listIsTask.exec(itemContents);
646
+ if (istask) {
647
+ ischecked = istask[0] !== "[ ] ";
648
+ itemContents = itemContents.replace(this.rules.other.listReplaceTask, "");
649
+ }
650
+ }
651
+ list2.items.push({
652
+ type: "list_item",
653
+ raw,
654
+ task: !!istask,
655
+ checked: ischecked,
656
+ loose: false,
657
+ text: itemContents,
658
+ tokens: []
659
+ });
660
+ list2.raw += raw;
661
+ }
662
+ const lastItem = list2.items.at(-1);
663
+ if (lastItem) {
664
+ lastItem.raw = lastItem.raw.trimEnd();
665
+ lastItem.text = lastItem.text.trimEnd();
666
+ } else {
667
+ return;
668
+ }
669
+ list2.raw = list2.raw.trimEnd();
670
+ for (let i = 0; i < list2.items.length; i++) {
671
+ this.lexer.state.top = false;
672
+ list2.items[i].tokens = this.lexer.blockTokens(list2.items[i].text, []);
673
+ if (!list2.loose) {
674
+ const spacers = list2.items[i].tokens.filter((t) => t.type === "space");
675
+ const hasMultipleLineBreaks = spacers.length > 0 && spacers.some((t) => this.rules.other.anyLine.test(t.raw));
676
+ list2.loose = hasMultipleLineBreaks;
677
+ }
678
+ }
679
+ if (list2.loose) {
680
+ for (let i = 0; i < list2.items.length; i++) {
681
+ list2.items[i].loose = true;
682
+ }
683
+ }
684
+ return list2;
685
+ }
686
+ }
687
+ html(src) {
688
+ const cap = this.rules.block.html.exec(src);
689
+ if (cap) {
690
+ const token = {
691
+ type: "html",
692
+ block: true,
693
+ raw: cap[0],
694
+ pre: cap[1] === "pre" || cap[1] === "script" || cap[1] === "style",
695
+ text: cap[0]
696
+ };
697
+ return token;
698
+ }
699
+ }
700
+ def(src) {
701
+ const cap = this.rules.block.def.exec(src);
702
+ if (cap) {
703
+ const tag2 = cap[1].toLowerCase().replace(this.rules.other.multipleSpaceGlobal, " ");
704
+ const href = cap[2] ? cap[2].replace(this.rules.other.hrefBrackets, "$1").replace(this.rules.inline.anyPunctuation, "$1") : "";
705
+ const title = cap[3] ? cap[3].substring(1, cap[3].length - 1).replace(this.rules.inline.anyPunctuation, "$1") : cap[3];
706
+ return {
707
+ type: "def",
708
+ tag: tag2,
709
+ raw: cap[0],
710
+ href,
711
+ title
712
+ };
713
+ }
714
+ }
715
+ table(src) {
716
+ const cap = this.rules.block.table.exec(src);
717
+ if (!cap) {
718
+ return;
719
+ }
720
+ if (!this.rules.other.tableDelimiter.test(cap[2])) {
721
+ return;
722
+ }
723
+ const headers = splitCells(cap[1]);
724
+ const aligns = cap[2].replace(this.rules.other.tableAlignChars, "").split("|");
725
+ const rows = cap[3]?.trim() ? cap[3].replace(this.rules.other.tableRowBlankLine, "").split("\n") : [];
726
+ const item = {
727
+ type: "table",
728
+ raw: cap[0],
729
+ header: [],
730
+ align: [],
731
+ rows: []
732
+ };
733
+ if (headers.length !== aligns.length) {
734
+ return;
735
+ }
736
+ for (const align of aligns) {
737
+ if (this.rules.other.tableAlignRight.test(align)) {
738
+ item.align.push("right");
739
+ } else if (this.rules.other.tableAlignCenter.test(align)) {
740
+ item.align.push("center");
741
+ } else if (this.rules.other.tableAlignLeft.test(align)) {
742
+ item.align.push("left");
743
+ } else {
744
+ item.align.push(null);
745
+ }
746
+ }
747
+ for (let i = 0; i < headers.length; i++) {
748
+ item.header.push({
749
+ text: headers[i],
750
+ tokens: this.lexer.inline(headers[i]),
751
+ header: true,
752
+ align: item.align[i]
753
+ });
754
+ }
755
+ for (const row of rows) {
756
+ item.rows.push(splitCells(row, item.header.length).map((cell, i) => {
757
+ return {
758
+ text: cell,
759
+ tokens: this.lexer.inline(cell),
760
+ header: false,
761
+ align: item.align[i]
762
+ };
763
+ }));
764
+ }
765
+ return item;
766
+ }
767
+ lheading(src) {
768
+ const cap = this.rules.block.lheading.exec(src);
769
+ if (cap) {
770
+ return {
771
+ type: "heading",
772
+ raw: cap[0],
773
+ depth: cap[2].charAt(0) === "=" ? 1 : 2,
774
+ text: cap[1],
775
+ tokens: this.lexer.inline(cap[1])
776
+ };
777
+ }
778
+ }
779
+ paragraph(src) {
780
+ const cap = this.rules.block.paragraph.exec(src);
781
+ if (cap) {
782
+ const text = cap[1].charAt(cap[1].length - 1) === "\n" ? cap[1].slice(0, -1) : cap[1];
783
+ return {
784
+ type: "paragraph",
785
+ raw: cap[0],
786
+ text,
787
+ tokens: this.lexer.inline(text)
788
+ };
789
+ }
790
+ }
791
+ text(src) {
792
+ const cap = this.rules.block.text.exec(src);
793
+ if (cap) {
794
+ return {
795
+ type: "text",
796
+ raw: cap[0],
797
+ text: cap[0],
798
+ tokens: this.lexer.inline(cap[0])
799
+ };
800
+ }
801
+ }
802
+ escape(src) {
803
+ const cap = this.rules.inline.escape.exec(src);
804
+ if (cap) {
805
+ return {
806
+ type: "escape",
807
+ raw: cap[0],
808
+ text: cap[1]
809
+ };
810
+ }
811
+ }
812
+ tag(src) {
813
+ const cap = this.rules.inline.tag.exec(src);
814
+ if (cap) {
815
+ if (!this.lexer.state.inLink && this.rules.other.startATag.test(cap[0])) {
816
+ this.lexer.state.inLink = true;
817
+ } else if (this.lexer.state.inLink && this.rules.other.endATag.test(cap[0])) {
818
+ this.lexer.state.inLink = false;
819
+ }
820
+ if (!this.lexer.state.inRawBlock && this.rules.other.startPreScriptTag.test(cap[0])) {
821
+ this.lexer.state.inRawBlock = true;
822
+ } else if (this.lexer.state.inRawBlock && this.rules.other.endPreScriptTag.test(cap[0])) {
823
+ this.lexer.state.inRawBlock = false;
824
+ }
825
+ return {
826
+ type: "html",
827
+ raw: cap[0],
828
+ inLink: this.lexer.state.inLink,
829
+ inRawBlock: this.lexer.state.inRawBlock,
830
+ block: false,
831
+ text: cap[0]
832
+ };
833
+ }
834
+ }
835
+ link(src) {
836
+ const cap = this.rules.inline.link.exec(src);
837
+ if (cap) {
838
+ const trimmedUrl = cap[2].trim();
839
+ if (!this.options.pedantic && this.rules.other.startAngleBracket.test(trimmedUrl)) {
840
+ if (!this.rules.other.endAngleBracket.test(trimmedUrl)) {
841
+ return;
842
+ }
843
+ const rtrimSlash = rtrim(trimmedUrl.slice(0, -1), "\\");
844
+ if ((trimmedUrl.length - rtrimSlash.length) % 2 === 0) {
845
+ return;
846
+ }
847
+ } else {
848
+ const lastParenIndex = findClosingBracket(cap[2], "()");
849
+ if (lastParenIndex === -2) {
850
+ return;
851
+ }
852
+ if (lastParenIndex > -1) {
853
+ const start = cap[0].indexOf("!") === 0 ? 5 : 4;
854
+ const linkLen = start + cap[1].length + lastParenIndex;
855
+ cap[2] = cap[2].substring(0, lastParenIndex);
856
+ cap[0] = cap[0].substring(0, linkLen).trim();
857
+ cap[3] = "";
858
+ }
859
+ }
860
+ let href = cap[2];
861
+ let title = "";
862
+ if (this.options.pedantic) {
863
+ const link2 = this.rules.other.pedanticHrefTitle.exec(href);
864
+ if (link2) {
865
+ href = link2[1];
866
+ title = link2[3];
867
+ }
868
+ } else {
869
+ title = cap[3] ? cap[3].slice(1, -1) : "";
870
+ }
871
+ href = href.trim();
872
+ if (this.rules.other.startAngleBracket.test(href)) {
873
+ if (this.options.pedantic && !this.rules.other.endAngleBracket.test(trimmedUrl)) {
874
+ href = href.slice(1);
875
+ } else {
876
+ href = href.slice(1, -1);
877
+ }
878
+ }
879
+ return outputLink(cap, {
880
+ href: href ? href.replace(this.rules.inline.anyPunctuation, "$1") : href,
881
+ title: title ? title.replace(this.rules.inline.anyPunctuation, "$1") : title
882
+ }, cap[0], this.lexer, this.rules);
883
+ }
884
+ }
885
+ reflink(src, links) {
886
+ let cap;
887
+ if ((cap = this.rules.inline.reflink.exec(src)) || (cap = this.rules.inline.nolink.exec(src))) {
888
+ const linkString = (cap[2] || cap[1]).replace(this.rules.other.multipleSpaceGlobal, " ");
889
+ const link2 = links[linkString.toLowerCase()];
890
+ if (!link2) {
891
+ const text = cap[0].charAt(0);
892
+ return {
893
+ type: "text",
894
+ raw: text,
895
+ text
896
+ };
897
+ }
898
+ return outputLink(cap, link2, cap[0], this.lexer, this.rules);
899
+ }
900
+ }
901
+ emStrong(src, maskedSrc, prevChar = "") {
902
+ let match = this.rules.inline.emStrongLDelim.exec(src);
903
+ if (!match) return;
904
+ if (match[3] && prevChar.match(this.rules.other.unicodeAlphaNumeric)) return;
905
+ const nextChar = match[1] || match[2] || "";
906
+ if (!nextChar || !prevChar || this.rules.inline.punctuation.exec(prevChar)) {
907
+ const lLength = [...match[0]].length - 1;
908
+ let rDelim, rLength, delimTotal = lLength, midDelimTotal = 0;
909
+ const endReg = match[0][0] === "*" ? this.rules.inline.emStrongRDelimAst : this.rules.inline.emStrongRDelimUnd;
910
+ endReg.lastIndex = 0;
911
+ maskedSrc = maskedSrc.slice(-1 * src.length + lLength);
912
+ while ((match = endReg.exec(maskedSrc)) != null) {
913
+ rDelim = match[1] || match[2] || match[3] || match[4] || match[5] || match[6];
914
+ if (!rDelim) continue;
915
+ rLength = [...rDelim].length;
916
+ if (match[3] || match[4]) {
917
+ delimTotal += rLength;
918
+ continue;
919
+ } else if (match[5] || match[6]) {
920
+ if (lLength % 3 && !((lLength + rLength) % 3)) {
921
+ midDelimTotal += rLength;
922
+ continue;
923
+ }
924
+ }
925
+ delimTotal -= rLength;
926
+ if (delimTotal > 0) continue;
927
+ rLength = Math.min(rLength, rLength + delimTotal + midDelimTotal);
928
+ const lastCharLength = [...match[0]][0].length;
929
+ const raw = src.slice(0, lLength + match.index + lastCharLength + rLength);
930
+ if (Math.min(lLength, rLength) % 2) {
931
+ const text2 = raw.slice(1, -1);
932
+ return {
933
+ type: "em",
934
+ raw,
935
+ text: text2,
936
+ tokens: this.lexer.inlineTokens(text2)
937
+ };
938
+ }
939
+ const text = raw.slice(2, -2);
940
+ return {
941
+ type: "strong",
942
+ raw,
943
+ text,
944
+ tokens: this.lexer.inlineTokens(text)
945
+ };
946
+ }
947
+ }
948
+ }
949
+ codespan(src) {
950
+ const cap = this.rules.inline.code.exec(src);
951
+ if (cap) {
952
+ let text = cap[2].replace(this.rules.other.newLineCharGlobal, " ");
953
+ const hasNonSpaceChars = this.rules.other.nonSpaceChar.test(text);
954
+ const hasSpaceCharsOnBothEnds = this.rules.other.startingSpaceChar.test(text) && this.rules.other.endingSpaceChar.test(text);
955
+ if (hasNonSpaceChars && hasSpaceCharsOnBothEnds) {
956
+ text = text.substring(1, text.length - 1);
957
+ }
958
+ return {
959
+ type: "codespan",
960
+ raw: cap[0],
961
+ text
962
+ };
963
+ }
964
+ }
965
+ br(src) {
966
+ const cap = this.rules.inline.br.exec(src);
967
+ if (cap) {
968
+ return {
969
+ type: "br",
970
+ raw: cap[0]
971
+ };
972
+ }
973
+ }
974
+ del(src) {
975
+ const cap = this.rules.inline.del.exec(src);
976
+ if (cap) {
977
+ return {
978
+ type: "del",
979
+ raw: cap[0],
980
+ text: cap[2],
981
+ tokens: this.lexer.inlineTokens(cap[2])
982
+ };
983
+ }
984
+ }
985
+ autolink(src) {
986
+ const cap = this.rules.inline.autolink.exec(src);
987
+ if (cap) {
988
+ let text, href;
989
+ if (cap[2] === "@") {
990
+ text = cap[1];
991
+ href = "mailto:" + text;
992
+ } else {
993
+ text = cap[1];
994
+ href = text;
995
+ }
996
+ return {
997
+ type: "link",
998
+ raw: cap[0],
999
+ text,
1000
+ href,
1001
+ tokens: [
1002
+ {
1003
+ type: "text",
1004
+ raw: text,
1005
+ text
1006
+ }
1007
+ ]
1008
+ };
1009
+ }
1010
+ }
1011
+ url(src) {
1012
+ let cap;
1013
+ if (cap = this.rules.inline.url.exec(src)) {
1014
+ let text, href;
1015
+ if (cap[2] === "@") {
1016
+ text = cap[0];
1017
+ href = "mailto:" + text;
1018
+ } else {
1019
+ let prevCapZero;
1020
+ do {
1021
+ prevCapZero = cap[0];
1022
+ cap[0] = this.rules.inline._backpedal.exec(cap[0])?.[0] ?? "";
1023
+ } while (prevCapZero !== cap[0]);
1024
+ text = cap[0];
1025
+ if (cap[1] === "www.") {
1026
+ href = "http://" + cap[0];
1027
+ } else {
1028
+ href = cap[0];
1029
+ }
1030
+ }
1031
+ return {
1032
+ type: "link",
1033
+ raw: cap[0],
1034
+ text,
1035
+ href,
1036
+ tokens: [
1037
+ {
1038
+ type: "text",
1039
+ raw: text,
1040
+ text
1041
+ }
1042
+ ]
1043
+ };
1044
+ }
1045
+ }
1046
+ inlineText(src) {
1047
+ const cap = this.rules.inline.text.exec(src);
1048
+ if (cap) {
1049
+ const escaped = this.lexer.state.inRawBlock;
1050
+ return {
1051
+ type: "text",
1052
+ raw: cap[0],
1053
+ text: cap[0],
1054
+ escaped
1055
+ };
1056
+ }
1057
+ }
1058
+};
1059
+
1060
+// src/Lexer.ts
1061
+var _Lexer = class __Lexer {
1062
+ tokens;
1063
+ options;
1064
+ state;
1065
+ tokenizer;
1066
+ inlineQueue;
1067
+ constructor(options2) {
1068
+ this.tokens = [];
1069
+ this.tokens.links = /* @__PURE__ */ Object.create(null);
1070
+ this.options = options2 || _defaults;
1071
+ this.options.tokenizer = this.options.tokenizer || new _Tokenizer();
1072
+ this.tokenizer = this.options.tokenizer;
1073
+ this.tokenizer.options = this.options;
1074
+ this.tokenizer.lexer = this;
1075
+ this.inlineQueue = [];
1076
+ this.state = {
1077
+ inLink: false,
1078
+ inRawBlock: false,
1079
+ top: true
1080
+ };
1081
+ const rules = {
1082
+ other,
1083
+ block: block.normal,
1084
+ inline: inline.normal
1085
+ };
1086
+ if (this.options.pedantic) {
1087
+ rules.block = block.pedantic;
1088
+ rules.inline = inline.pedantic;
1089
+ } else if (this.options.gfm) {
1090
+ rules.block = block.gfm;
1091
+ if (this.options.breaks) {
1092
+ rules.inline = inline.breaks;
1093
+ } else {
1094
+ rules.inline = inline.gfm;
1095
+ }
1096
+ }
1097
+ this.tokenizer.rules = rules;
1098
+ }
1099
+ /**
1100
+ * Expose Rules
1101
+ */
1102
+ static get rules() {
1103
+ return {
1104
+ block,
1105
+ inline
1106
+ };
1107
+ }
1108
+ /**
1109
+ * Static Lex Method
1110
+ */
1111
+ static lex(src, options2) {
1112
+ const lexer2 = new __Lexer(options2);
1113
+ return lexer2.lex(src);
1114
+ }
1115
+ /**
1116
+ * Static Lex Inline Method
1117
+ */
1118
+ static lexInline(src, options2) {
1119
+ const lexer2 = new __Lexer(options2);
1120
+ return lexer2.inlineTokens(src);
1121
+ }
1122
+ /**
1123
+ * Preprocessing
1124
+ */
1125
+ lex(src) {
1126
+ src = src.replace(other.carriageReturn, "\n");
1127
+ this.blockTokens(src, this.tokens);
1128
+ for (let i = 0; i < this.inlineQueue.length; i++) {
1129
+ const next = this.inlineQueue[i];
1130
+ this.inlineTokens(next.src, next.tokens);
1131
+ }
1132
+ this.inlineQueue = [];
1133
+ return this.tokens;
1134
+ }
1135
+ blockTokens(src, tokens = [], lastParagraphClipped = false) {
1136
+ if (this.options.pedantic) {
1137
+ src = src.replace(other.tabCharGlobal, " ").replace(other.spaceLine, "");
1138
+ }
1139
+ while (src) {
1140
+ let token;
1141
+ if (this.options.extensions?.block?.some((extTokenizer) => {
1142
+ if (token = extTokenizer.call({ lexer: this }, src, tokens)) {
1143
+ src = src.substring(token.raw.length);
1144
+ tokens.push(token);
1145
+ return true;
1146
+ }
1147
+ return false;
1148
+ })) {
1149
+ continue;
1150
+ }
1151
+ if (token = this.tokenizer.space(src)) {
1152
+ src = src.substring(token.raw.length);
1153
+ const lastToken = tokens.at(-1);
1154
+ if (token.raw.length === 1 && lastToken !== void 0) {
1155
+ lastToken.raw += "\n";
1156
+ } else {
1157
+ tokens.push(token);
1158
+ }
1159
+ continue;
1160
+ }
1161
+ if (token = this.tokenizer.code(src)) {
1162
+ src = src.substring(token.raw.length);
1163
+ const lastToken = tokens.at(-1);
1164
+ if (lastToken?.type === "paragraph" || lastToken?.type === "text") {
1165
+ lastToken.raw += "\n" + token.raw;
1166
+ lastToken.text += "\n" + token.text;
1167
+ this.inlineQueue.at(-1).src = lastToken.text;
1168
+ } else {
1169
+ tokens.push(token);
1170
+ }
1171
+ continue;
1172
+ }
1173
+ if (token = this.tokenizer.fences(src)) {
1174
+ src = src.substring(token.raw.length);
1175
+ tokens.push(token);
1176
+ continue;
1177
+ }
1178
+ if (token = this.tokenizer.heading(src)) {
1179
+ src = src.substring(token.raw.length);
1180
+ tokens.push(token);
1181
+ continue;
1182
+ }
1183
+ if (token = this.tokenizer.hr(src)) {
1184
+ src = src.substring(token.raw.length);
1185
+ tokens.push(token);
1186
+ continue;
1187
+ }
1188
+ if (token = this.tokenizer.blockquote(src)) {
1189
+ src = src.substring(token.raw.length);
1190
+ tokens.push(token);
1191
+ continue;
1192
+ }
1193
+ if (token = this.tokenizer.list(src)) {
1194
+ src = src.substring(token.raw.length);
1195
+ tokens.push(token);
1196
+ continue;
1197
+ }
1198
+ if (token = this.tokenizer.html(src)) {
1199
+ src = src.substring(token.raw.length);
1200
+ tokens.push(token);
1201
+ continue;
1202
+ }
1203
+ if (token = this.tokenizer.def(src)) {
1204
+ src = src.substring(token.raw.length);
1205
+ const lastToken = tokens.at(-1);
1206
+ if (lastToken?.type === "paragraph" || lastToken?.type === "text") {
1207
+ lastToken.raw += "\n" + token.raw;
1208
+ lastToken.text += "\n" + token.raw;
1209
+ this.inlineQueue.at(-1).src = lastToken.text;
1210
+ } else if (!this.tokens.links[token.tag]) {
1211
+ this.tokens.links[token.tag] = {
1212
+ href: token.href,
1213
+ title: token.title
1214
+ };
1215
+ }
1216
+ continue;
1217
+ }
1218
+ if (token = this.tokenizer.table(src)) {
1219
+ src = src.substring(token.raw.length);
1220
+ tokens.push(token);
1221
+ continue;
1222
+ }
1223
+ if (token = this.tokenizer.lheading(src)) {
1224
+ src = src.substring(token.raw.length);
1225
+ tokens.push(token);
1226
+ continue;
1227
+ }
1228
+ let cutSrc = src;
1229
+ if (this.options.extensions?.startBlock) {
1230
+ let startIndex = Infinity;
1231
+ const tempSrc = src.slice(1);
1232
+ let tempStart;
1233
+ this.options.extensions.startBlock.forEach((getStartIndex) => {
1234
+ tempStart = getStartIndex.call({ lexer: this }, tempSrc);
1235
+ if (typeof tempStart === "number" && tempStart >= 0) {
1236
+ startIndex = Math.min(startIndex, tempStart);
1237
+ }
1238
+ });
1239
+ if (startIndex < Infinity && startIndex >= 0) {
1240
+ cutSrc = src.substring(0, startIndex + 1);
1241
+ }
1242
+ }
1243
+ if (this.state.top && (token = this.tokenizer.paragraph(cutSrc))) {
1244
+ const lastToken = tokens.at(-1);
1245
+ if (lastParagraphClipped && lastToken?.type === "paragraph") {
1246
+ lastToken.raw += "\n" + token.raw;
1247
+ lastToken.text += "\n" + token.text;
1248
+ this.inlineQueue.pop();
1249
+ this.inlineQueue.at(-1).src = lastToken.text;
1250
+ } else {
1251
+ tokens.push(token);
1252
+ }
1253
+ lastParagraphClipped = cutSrc.length !== src.length;
1254
+ src = src.substring(token.raw.length);
1255
+ continue;
1256
+ }
1257
+ if (token = this.tokenizer.text(src)) {
1258
+ src = src.substring(token.raw.length);
1259
+ const lastToken = tokens.at(-1);
1260
+ if (lastToken?.type === "text") {
1261
+ lastToken.raw += "\n" + token.raw;
1262
+ lastToken.text += "\n" + token.text;
1263
+ this.inlineQueue.pop();
1264
+ this.inlineQueue.at(-1).src = lastToken.text;
1265
+ } else {
1266
+ tokens.push(token);
1267
+ }
1268
+ continue;
1269
+ }
1270
+ if (src) {
1271
+ const errMsg = "Infinite loop on byte: " + src.charCodeAt(0);
1272
+ if (this.options.silent) {
1273
+ console.error(errMsg);
1274
+ break;
1275
+ } else {
1276
+ throw new Error(errMsg);
1277
+ }
1278
+ }
1279
+ }
1280
+ this.state.top = true;
1281
+ return tokens;
1282
+ }
1283
+ inline(src, tokens = []) {
1284
+ this.inlineQueue.push({ src, tokens });
1285
+ return tokens;
1286
+ }
1287
+ /**
1288
+ * Lexing/Compiling
1289
+ */
1290
+ inlineTokens(src, tokens = []) {
1291
+ let maskedSrc = src;
1292
+ let match = null;
1293
+ if (this.tokens.links) {
1294
+ const links = Object.keys(this.tokens.links);
1295
+ if (links.length > 0) {
1296
+ while ((match = this.tokenizer.rules.inline.reflinkSearch.exec(maskedSrc)) != null) {
1297
+ if (links.includes(match[0].slice(match[0].lastIndexOf("[") + 1, -1))) {
1298
+ maskedSrc = maskedSrc.slice(0, match.index) + "[" + "a".repeat(match[0].length - 2) + "]" + maskedSrc.slice(this.tokenizer.rules.inline.reflinkSearch.lastIndex);
1299
+ }
1300
+ }
1301
+ }
1302
+ }
1303
+ while ((match = this.tokenizer.rules.inline.anyPunctuation.exec(maskedSrc)) != null) {
1304
+ maskedSrc = maskedSrc.slice(0, match.index) + "++" + maskedSrc.slice(this.tokenizer.rules.inline.anyPunctuation.lastIndex);
1305
+ }
1306
+ while ((match = this.tokenizer.rules.inline.blockSkip.exec(maskedSrc)) != null) {
1307
+ maskedSrc = maskedSrc.slice(0, match.index) + "[" + "a".repeat(match[0].length - 2) + "]" + maskedSrc.slice(this.tokenizer.rules.inline.blockSkip.lastIndex);
1308
+ }
1309
+ let keepPrevChar = false;
1310
+ let prevChar = "";
1311
+ while (src) {
1312
+ if (!keepPrevChar) {
1313
+ prevChar = "";
1314
+ }
1315
+ keepPrevChar = false;
1316
+ let token;
1317
+ if (this.options.extensions?.inline?.some((extTokenizer) => {
1318
+ if (token = extTokenizer.call({ lexer: this }, src, tokens)) {
1319
+ src = src.substring(token.raw.length);
1320
+ tokens.push(token);
1321
+ return true;
1322
+ }
1323
+ return false;
1324
+ })) {
1325
+ continue;
1326
+ }
1327
+ if (token = this.tokenizer.escape(src)) {
1328
+ src = src.substring(token.raw.length);
1329
+ tokens.push(token);
1330
+ continue;
1331
+ }
1332
+ if (token = this.tokenizer.tag(src)) {
1333
+ src = src.substring(token.raw.length);
1334
+ tokens.push(token);
1335
+ continue;
1336
+ }
1337
+ if (token = this.tokenizer.link(src)) {
1338
+ src = src.substring(token.raw.length);
1339
+ tokens.push(token);
1340
+ continue;
1341
+ }
1342
+ if (token = this.tokenizer.reflink(src, this.tokens.links)) {
1343
+ src = src.substring(token.raw.length);
1344
+ const lastToken = tokens.at(-1);
1345
+ if (token.type === "text" && lastToken?.type === "text") {
1346
+ lastToken.raw += token.raw;
1347
+ lastToken.text += token.text;
1348
+ } else {
1349
+ tokens.push(token);
1350
+ }
1351
+ continue;
1352
+ }
1353
+ if (token = this.tokenizer.emStrong(src, maskedSrc, prevChar)) {
1354
+ src = src.substring(token.raw.length);
1355
+ tokens.push(token);
1356
+ continue;
1357
+ }
1358
+ if (token = this.tokenizer.codespan(src)) {
1359
+ src = src.substring(token.raw.length);
1360
+ tokens.push(token);
1361
+ continue;
1362
+ }
1363
+ if (token = this.tokenizer.br(src)) {
1364
+ src = src.substring(token.raw.length);
1365
+ tokens.push(token);
1366
+ continue;
1367
+ }
1368
+ if (token = this.tokenizer.del(src)) {
1369
+ src = src.substring(token.raw.length);
1370
+ tokens.push(token);
1371
+ continue;
1372
+ }
1373
+ if (token = this.tokenizer.autolink(src)) {
1374
+ src = src.substring(token.raw.length);
1375
+ tokens.push(token);
1376
+ continue;
1377
+ }
1378
+ if (!this.state.inLink && (token = this.tokenizer.url(src))) {
1379
+ src = src.substring(token.raw.length);
1380
+ tokens.push(token);
1381
+ continue;
1382
+ }
1383
+ let cutSrc = src;
1384
+ if (this.options.extensions?.startInline) {
1385
+ let startIndex = Infinity;
1386
+ const tempSrc = src.slice(1);
1387
+ let tempStart;
1388
+ this.options.extensions.startInline.forEach((getStartIndex) => {
1389
+ tempStart = getStartIndex.call({ lexer: this }, tempSrc);
1390
+ if (typeof tempStart === "number" && tempStart >= 0) {
1391
+ startIndex = Math.min(startIndex, tempStart);
1392
+ }
1393
+ });
1394
+ if (startIndex < Infinity && startIndex >= 0) {
1395
+ cutSrc = src.substring(0, startIndex + 1);
1396
+ }
1397
+ }
1398
+ if (token = this.tokenizer.inlineText(cutSrc)) {
1399
+ src = src.substring(token.raw.length);
1400
+ if (token.raw.slice(-1) !== "_") {
1401
+ prevChar = token.raw.slice(-1);
1402
+ }
1403
+ keepPrevChar = true;
1404
+ const lastToken = tokens.at(-1);
1405
+ if (lastToken?.type === "text") {
1406
+ lastToken.raw += token.raw;
1407
+ lastToken.text += token.text;
1408
+ } else {
1409
+ tokens.push(token);
1410
+ }
1411
+ continue;
1412
+ }
1413
+ if (src) {
1414
+ const errMsg = "Infinite loop on byte: " + src.charCodeAt(0);
1415
+ if (this.options.silent) {
1416
+ console.error(errMsg);
1417
+ break;
1418
+ } else {
1419
+ throw new Error(errMsg);
1420
+ }
1421
+ }
1422
+ }
1423
+ return tokens;
1424
+ }
1425
+};
1426
+
1427
+// src/Renderer.ts
1428
+var _Renderer = class {
1429
+ options;
1430
+ parser;
1431
+ // set by the parser
1432
+ constructor(options2) {
1433
+ this.options = options2 || _defaults;
1434
+ }
1435
+ space(token) {
1436
+ return "";
1437
+ }
1438
+ code({ text, lang, escaped }) {
1439
+ const langString = (lang || "").match(other.notSpaceStart)?.[0];
1440
+ const code = text.replace(other.endingNewline, "") + "\n";
1441
+ if (!langString) {
1442
+ return "<pre><code>" + (escaped ? code : escape2(code, true)) + "</code></pre>\n";
1443
+ }
1444
+ return '<pre><code class="language-' + escape2(langString) + '">' + (escaped ? code : escape2(code, true)) + "</code></pre>\n";
1445
+ }
1446
+ blockquote({ tokens }) {
1447
+ const body = this.parser.parse(tokens);
1448
+ return `<blockquote>
1449
+${body}</blockquote>
1450
+`;
1451
+ }
1452
+ html({ text }) {
1453
+ return text;
1454
+ }
1455
+ heading({ tokens, depth }) {
1456
+ return `<h${depth}>${this.parser.parseInline(tokens)}</h${depth}>
1457
+`;
1458
+ }
1459
+ hr(token) {
1460
+ return "<hr>\n";
1461
+ }
1462
+ list(token) {
1463
+ const ordered = token.ordered;
1464
+ const start = token.start;
1465
+ let body = "";
1466
+ for (let j = 0; j < token.items.length; j++) {
1467
+ const item = token.items[j];
1468
+ body += this.listitem(item);
1469
+ }
1470
+ const type = ordered ? "ol" : "ul";
1471
+ const startAttr = ordered && start !== 1 ? ' start="' + start + '"' : "";
1472
+ return "<" + type + startAttr + ">\n" + body + "</" + type + ">\n";
1473
+ }
1474
+ listitem(item) {
1475
+ let itemBody = "";
1476
+ if (item.task) {
1477
+ const checkbox = this.checkbox({ checked: !!item.checked });
1478
+ if (item.loose) {
1479
+ if (item.tokens[0]?.type === "paragraph") {
1480
+ item.tokens[0].text = checkbox + " " + item.tokens[0].text;
1481
+ if (item.tokens[0].tokens && item.tokens[0].tokens.length > 0 && item.tokens[0].tokens[0].type === "text") {
1482
+ item.tokens[0].tokens[0].text = checkbox + " " + escape2(item.tokens[0].tokens[0].text);
1483
+ item.tokens[0].tokens[0].escaped = true;
1484
+ }
1485
+ } else {
1486
+ item.tokens.unshift({
1487
+ type: "text",
1488
+ raw: checkbox + " ",
1489
+ text: checkbox + " ",
1490
+ escaped: true
1491
+ });
1492
+ }
1493
+ } else {
1494
+ itemBody += checkbox + " ";
1495
+ }
1496
+ }
1497
+ itemBody += this.parser.parse(item.tokens, !!item.loose);
1498
+ return `<li>${itemBody}</li>
1499
+`;
1500
+ }
1501
+ checkbox({ checked }) {
1502
+ return "<input " + (checked ? 'checked="" ' : "") + 'disabled="" type="checkbox">';
1503
+ }
1504
+ paragraph({ tokens }) {
1505
+ return `<p>${this.parser.parseInline(tokens)}</p>
1506
+`;
1507
+ }
1508
+ table(token) {
1509
+ let header = "";
1510
+ let cell = "";
1511
+ for (let j = 0; j < token.header.length; j++) {
1512
+ cell += this.tablecell(token.header[j]);
1513
+ }
1514
+ header += this.tablerow({ text: cell });
1515
+ let body = "";
1516
+ for (let j = 0; j < token.rows.length; j++) {
1517
+ const row = token.rows[j];
1518
+ cell = "";
1519
+ for (let k = 0; k < row.length; k++) {
1520
+ cell += this.tablecell(row[k]);
1521
+ }
1522
+ body += this.tablerow({ text: cell });
1523
+ }
1524
+ if (body) body = `<tbody>${body}</tbody>`;
1525
+ return "<table>\n<thead>\n" + header + "</thead>\n" + body + "</table>\n";
1526
+ }
1527
+ tablerow({ text }) {
1528
+ return `<tr>
1529
+${text}</tr>
1530
+`;
1531
+ }
1532
+ tablecell(token) {
1533
+ const content = this.parser.parseInline(token.tokens);
1534
+ const type = token.header ? "th" : "td";
1535
+ const tag2 = token.align ? `<${type} align="${token.align}">` : `<${type}>`;
1536
+ return tag2 + content + `</${type}>
1537
+`;
1538
+ }
1539
+ /**
1540
+ * span level renderer
1541
+ */
1542
+ strong({ tokens }) {
1543
+ return `<strong>${this.parser.parseInline(tokens)}</strong>`;
1544
+ }
1545
+ em({ tokens }) {
1546
+ return `<em>${this.parser.parseInline(tokens)}</em>`;
1547
+ }
1548
+ codespan({ text }) {
1549
+ return `<code>${escape2(text, true)}</code>`;
1550
+ }
1551
+ br(token) {
1552
+ return "<br>";
1553
+ }
1554
+ del({ tokens }) {
1555
+ return `<del>${this.parser.parseInline(tokens)}</del>`;
1556
+ }
1557
+ link({ href, title, tokens }) {
1558
+ const text = this.parser.parseInline(tokens);
1559
+ const cleanHref = cleanUrl(href);
1560
+ if (cleanHref === null) {
1561
+ return text;
1562
+ }
1563
+ href = cleanHref;
1564
+ let out = '<a href="' + href + '"';
1565
+ if (title) {
1566
+ out += ' title="' + escape2(title) + '"';
1567
+ }
1568
+ out += ">" + text + "</a>";
1569
+ return out;
1570
+ }
1571
+ image({ href, title, text, tokens }) {
1572
+ if (tokens) {
1573
+ text = this.parser.parseInline(tokens, this.parser.textRenderer);
1574
+ }
1575
+ const cleanHref = cleanUrl(href);
1576
+ if (cleanHref === null) {
1577
+ return escape2(text);
1578
+ }
1579
+ href = cleanHref;
1580
+ let out = `<img src="${href}" alt="${text}"`;
1581
+ if (title) {
1582
+ out += ` title="${escape2(title)}"`;
1583
+ }
1584
+ out += ">";
1585
+ return out;
1586
+ }
1587
+ text(token) {
1588
+ return "tokens" in token && token.tokens ? this.parser.parseInline(token.tokens) : "escaped" in token && token.escaped ? token.text : escape2(token.text);
1589
+ }
1590
+};
1591
+
1592
+// src/TextRenderer.ts
1593
+var _TextRenderer = class {
1594
+ // no need for block level renderers
1595
+ strong({ text }) {
1596
+ return text;
1597
+ }
1598
+ em({ text }) {
1599
+ return text;
1600
+ }
1601
+ codespan({ text }) {
1602
+ return text;
1603
+ }
1604
+ del({ text }) {
1605
+ return text;
1606
+ }
1607
+ html({ text }) {
1608
+ return text;
1609
+ }
1610
+ text({ text }) {
1611
+ return text;
1612
+ }
1613
+ link({ text }) {
1614
+ return "" + text;
1615
+ }
1616
+ image({ text }) {
1617
+ return "" + text;
1618
+ }
1619
+ br() {
1620
+ return "";
1621
+ }
1622
+};
1623
+
1624
+// src/Parser.ts
1625
+var _Parser = class __Parser {
1626
+ options;
1627
+ renderer;
1628
+ textRenderer;
1629
+ constructor(options2) {
1630
+ this.options = options2 || _defaults;
1631
+ this.options.renderer = this.options.renderer || new _Renderer();
1632
+ this.renderer = this.options.renderer;
1633
+ this.renderer.options = this.options;
1634
+ this.renderer.parser = this;
1635
+ this.textRenderer = new _TextRenderer();
1636
+ }
1637
+ /**
1638
+ * Static Parse Method
1639
+ */
1640
+ static parse(tokens, options2) {
1641
+ const parser2 = new __Parser(options2);
1642
+ return parser2.parse(tokens);
1643
+ }
1644
+ /**
1645
+ * Static Parse Inline Method
1646
+ */
1647
+ static parseInline(tokens, options2) {
1648
+ const parser2 = new __Parser(options2);
1649
+ return parser2.parseInline(tokens);
1650
+ }
1651
+ /**
1652
+ * Parse Loop
1653
+ */
1654
+ parse(tokens, top = true) {
1655
+ let out = "";
1656
+ for (let i = 0; i < tokens.length; i++) {
1657
+ const anyToken = tokens[i];
1658
+ if (this.options.extensions?.renderers?.[anyToken.type]) {
1659
+ const genericToken = anyToken;
1660
+ const ret = this.options.extensions.renderers[genericToken.type].call({ parser: this }, genericToken);
1661
+ if (ret !== false || !["space", "hr", "heading", "code", "table", "blockquote", "list", "html", "paragraph", "text"].includes(genericToken.type)) {
1662
+ out += ret || "";
1663
+ continue;
1664
+ }
1665
+ }
1666
+ const token = anyToken;
1667
+ switch (token.type) {
1668
+ case "space": {
1669
+ out += this.renderer.space(token);
1670
+ continue;
1671
+ }
1672
+ case "hr": {
1673
+ out += this.renderer.hr(token);
1674
+ continue;
1675
+ }
1676
+ case "heading": {
1677
+ out += this.renderer.heading(token);
1678
+ continue;
1679
+ }
1680
+ case "code": {
1681
+ out += this.renderer.code(token);
1682
+ continue;
1683
+ }
1684
+ case "table": {
1685
+ out += this.renderer.table(token);
1686
+ continue;
1687
+ }
1688
+ case "blockquote": {
1689
+ out += this.renderer.blockquote(token);
1690
+ continue;
1691
+ }
1692
+ case "list": {
1693
+ out += this.renderer.list(token);
1694
+ continue;
1695
+ }
1696
+ case "html": {
1697
+ out += this.renderer.html(token);
1698
+ continue;
1699
+ }
1700
+ case "paragraph": {
1701
+ out += this.renderer.paragraph(token);
1702
+ continue;
1703
+ }
1704
+ case "text": {
1705
+ let textToken = token;
1706
+ let body = this.renderer.text(textToken);
1707
+ while (i + 1 < tokens.length && tokens[i + 1].type === "text") {
1708
+ textToken = tokens[++i];
1709
+ body += "\n" + this.renderer.text(textToken);
1710
+ }
1711
+ if (top) {
1712
+ out += this.renderer.paragraph({
1713
+ type: "paragraph",
1714
+ raw: body,
1715
+ text: body,
1716
+ tokens: [{ type: "text", raw: body, text: body, escaped: true }]
1717
+ });
1718
+ } else {
1719
+ out += body;
1720
+ }
1721
+ continue;
1722
+ }
1723
+ default: {
1724
+ const errMsg = 'Token with "' + token.type + '" type was not found.';
1725
+ if (this.options.silent) {
1726
+ console.error(errMsg);
1727
+ return "";
1728
+ } else {
1729
+ throw new Error(errMsg);
1730
+ }
1731
+ }
1732
+ }
1733
+ }
1734
+ return out;
1735
+ }
1736
+ /**
1737
+ * Parse Inline Tokens
1738
+ */
1739
+ parseInline(tokens, renderer = this.renderer) {
1740
+ let out = "";
1741
+ for (let i = 0; i < tokens.length; i++) {
1742
+ const anyToken = tokens[i];
1743
+ if (this.options.extensions?.renderers?.[anyToken.type]) {
1744
+ const ret = this.options.extensions.renderers[anyToken.type].call({ parser: this }, anyToken);
1745
+ if (ret !== false || !["escape", "html", "link", "image", "strong", "em", "codespan", "br", "del", "text"].includes(anyToken.type)) {
1746
+ out += ret || "";
1747
+ continue;
1748
+ }
1749
+ }
1750
+ const token = anyToken;
1751
+ switch (token.type) {
1752
+ case "escape": {
1753
+ out += renderer.text(token);
1754
+ break;
1755
+ }
1756
+ case "html": {
1757
+ out += renderer.html(token);
1758
+ break;
1759
+ }
1760
+ case "link": {
1761
+ out += renderer.link(token);
1762
+ break;
1763
+ }
1764
+ case "image": {
1765
+ out += renderer.image(token);
1766
+ break;
1767
+ }
1768
+ case "strong": {
1769
+ out += renderer.strong(token);
1770
+ break;
1771
+ }
1772
+ case "em": {
1773
+ out += renderer.em(token);
1774
+ break;
1775
+ }
1776
+ case "codespan": {
1777
+ out += renderer.codespan(token);
1778
+ break;
1779
+ }
1780
+ case "br": {
1781
+ out += renderer.br(token);
1782
+ break;
1783
+ }
1784
+ case "del": {
1785
+ out += renderer.del(token);
1786
+ break;
1787
+ }
1788
+ case "text": {
1789
+ out += renderer.text(token);
1790
+ break;
1791
+ }
1792
+ default: {
1793
+ const errMsg = 'Token with "' + token.type + '" type was not found.';
1794
+ if (this.options.silent) {
1795
+ console.error(errMsg);
1796
+ return "";
1797
+ } else {
1798
+ throw new Error(errMsg);
1799
+ }
1800
+ }
1801
+ }
1802
+ }
1803
+ return out;
1804
+ }
1805
+};
1806
+
1807
+// src/Hooks.ts
1808
+var _Hooks = class {
1809
+ options;
1810
+ block;
1811
+ constructor(options2) {
1812
+ this.options = options2 || _defaults;
1813
+ }
1814
+ static passThroughHooks = /* @__PURE__ */ new Set([
1815
+ "preprocess",
1816
+ "postprocess",
1817
+ "processAllTokens"
1818
+ ]);
1819
+ /**
1820
+ * Process markdown before marked
1821
+ */
1822
+ preprocess(markdown) {
1823
+ return markdown;
1824
+ }
1825
+ /**
1826
+ * Process HTML after marked is finished
1827
+ */
1828
+ postprocess(html2) {
1829
+ return html2;
1830
+ }
1831
+ /**
1832
+ * Process all tokens before walk tokens
1833
+ */
1834
+ processAllTokens(tokens) {
1835
+ return tokens;
1836
+ }
1837
+ /**
1838
+ * Provide function to tokenize markdown
1839
+ */
1840
+ provideLexer() {
1841
+ return this.block ? _Lexer.lex : _Lexer.lexInline;
1842
+ }
1843
+ /**
1844
+ * Provide function to parse tokens
1845
+ */
1846
+ provideParser() {
1847
+ return this.block ? _Parser.parse : _Parser.parseInline;
1848
+ }
1849
+};
1850
+
1851
+// src/Instance.ts
1852
+var Marked = class {
1853
+ defaults = _getDefaults();
1854
+ options = this.setOptions;
1855
+ parse = this.parseMarkdown(true);
1856
+ parseInline = this.parseMarkdown(false);
1857
+ Parser = _Parser;
1858
+ Renderer = _Renderer;
1859
+ TextRenderer = _TextRenderer;
1860
+ Lexer = _Lexer;
1861
+ Tokenizer = _Tokenizer;
1862
+ Hooks = _Hooks;
1863
+ constructor(...args) {
1864
+ this.use(...args);
1865
+ }
1866
+ /**
1867
+ * Run callback for every token
1868
+ */
1869
+ walkTokens(tokens, callback) {
1870
+ let values = [];
1871
+ for (const token of tokens) {
1872
+ values = values.concat(callback.call(this, token));
1873
+ switch (token.type) {
1874
+ case "table": {
1875
+ const tableToken = token;
1876
+ for (const cell of tableToken.header) {
1877
+ values = values.concat(this.walkTokens(cell.tokens, callback));
1878
+ }
1879
+ for (const row of tableToken.rows) {
1880
+ for (const cell of row) {
1881
+ values = values.concat(this.walkTokens(cell.tokens, callback));
1882
+ }
1883
+ }
1884
+ break;
1885
+ }
1886
+ case "list": {
1887
+ const listToken = token;
1888
+ values = values.concat(this.walkTokens(listToken.items, callback));
1889
+ break;
1890
+ }
1891
+ default: {
1892
+ const genericToken = token;
1893
+ if (this.defaults.extensions?.childTokens?.[genericToken.type]) {
1894
+ this.defaults.extensions.childTokens[genericToken.type].forEach((childTokens) => {
1895
+ const tokens2 = genericToken[childTokens].flat(Infinity);
1896
+ values = values.concat(this.walkTokens(tokens2, callback));
1897
+ });
1898
+ } else if (genericToken.tokens) {
1899
+ values = values.concat(this.walkTokens(genericToken.tokens, callback));
1900
+ }
1901
+ }
1902
+ }
1903
+ }
1904
+ return values;
1905
+ }
1906
+ use(...args) {
1907
+ const extensions = this.defaults.extensions || { renderers: {}, childTokens: {} };
1908
+ args.forEach((pack) => {
1909
+ const opts = { ...pack };
1910
+ opts.async = this.defaults.async || opts.async || false;
1911
+ if (pack.extensions) {
1912
+ pack.extensions.forEach((ext) => {
1913
+ if (!ext.name) {
1914
+ throw new Error("extension name required");
1915
+ }
1916
+ if ("renderer" in ext) {
1917
+ const prevRenderer = extensions.renderers[ext.name];
1918
+ if (prevRenderer) {
1919
+ extensions.renderers[ext.name] = function(...args2) {
1920
+ let ret = ext.renderer.apply(this, args2);
1921
+ if (ret === false) {
1922
+ ret = prevRenderer.apply(this, args2);
1923
+ }
1924
+ return ret;
1925
+ };
1926
+ } else {
1927
+ extensions.renderers[ext.name] = ext.renderer;
1928
+ }
1929
+ }
1930
+ if ("tokenizer" in ext) {
1931
+ if (!ext.level || ext.level !== "block" && ext.level !== "inline") {
1932
+ throw new Error("extension level must be 'block' or 'inline'");
1933
+ }
1934
+ const extLevel = extensions[ext.level];
1935
+ if (extLevel) {
1936
+ extLevel.unshift(ext.tokenizer);
1937
+ } else {
1938
+ extensions[ext.level] = [ext.tokenizer];
1939
+ }
1940
+ if (ext.start) {
1941
+ if (ext.level === "block") {
1942
+ if (extensions.startBlock) {
1943
+ extensions.startBlock.push(ext.start);
1944
+ } else {
1945
+ extensions.startBlock = [ext.start];
1946
+ }
1947
+ } else if (ext.level === "inline") {
1948
+ if (extensions.startInline) {
1949
+ extensions.startInline.push(ext.start);
1950
+ } else {
1951
+ extensions.startInline = [ext.start];
1952
+ }
1953
+ }
1954
+ }
1955
+ }
1956
+ if ("childTokens" in ext && ext.childTokens) {
1957
+ extensions.childTokens[ext.name] = ext.childTokens;
1958
+ }
1959
+ });
1960
+ opts.extensions = extensions;
1961
+ }
1962
+ if (pack.renderer) {
1963
+ const renderer = this.defaults.renderer || new _Renderer(this.defaults);
1964
+ for (const prop in pack.renderer) {
1965
+ if (!(prop in renderer)) {
1966
+ throw new Error(`renderer '${prop}' does not exist`);
1967
+ }
1968
+ if (["options", "parser"].includes(prop)) {
1969
+ continue;
1970
+ }
1971
+ const rendererProp = prop;
1972
+ const rendererFunc = pack.renderer[rendererProp];
1973
+ const prevRenderer = renderer[rendererProp];
1974
+ renderer[rendererProp] = (...args2) => {
1975
+ let ret = rendererFunc.apply(renderer, args2);
1976
+ if (ret === false) {
1977
+ ret = prevRenderer.apply(renderer, args2);
1978
+ }
1979
+ return ret || "";
1980
+ };
1981
+ }
1982
+ opts.renderer = renderer;
1983
+ }
1984
+ if (pack.tokenizer) {
1985
+ const tokenizer = this.defaults.tokenizer || new _Tokenizer(this.defaults);
1986
+ for (const prop in pack.tokenizer) {
1987
+ if (!(prop in tokenizer)) {
1988
+ throw new Error(`tokenizer '${prop}' does not exist`);
1989
+ }
1990
+ if (["options", "rules", "lexer"].includes(prop)) {
1991
+ continue;
1992
+ }
1993
+ const tokenizerProp = prop;
1994
+ const tokenizerFunc = pack.tokenizer[tokenizerProp];
1995
+ const prevTokenizer = tokenizer[tokenizerProp];
1996
+ tokenizer[tokenizerProp] = (...args2) => {
1997
+ let ret = tokenizerFunc.apply(tokenizer, args2);
1998
+ if (ret === false) {
1999
+ ret = prevTokenizer.apply(tokenizer, args2);
2000
+ }
2001
+ return ret;
2002
+ };
2003
+ }
2004
+ opts.tokenizer = tokenizer;
2005
+ }
2006
+ if (pack.hooks) {
2007
+ const hooks = this.defaults.hooks || new _Hooks();
2008
+ for (const prop in pack.hooks) {
2009
+ if (!(prop in hooks)) {
2010
+ throw new Error(`hook '${prop}' does not exist`);
2011
+ }
2012
+ if (["options", "block"].includes(prop)) {
2013
+ continue;
2014
+ }
2015
+ const hooksProp = prop;
2016
+ const hooksFunc = pack.hooks[hooksProp];
2017
+ const prevHook = hooks[hooksProp];
2018
+ if (_Hooks.passThroughHooks.has(prop)) {
2019
+ hooks[hooksProp] = (arg) => {
2020
+ if (this.defaults.async) {
2021
+ return Promise.resolve(hooksFunc.call(hooks, arg)).then((ret2) => {
2022
+ return prevHook.call(hooks, ret2);
2023
+ });
2024
+ }
2025
+ const ret = hooksFunc.call(hooks, arg);
2026
+ return prevHook.call(hooks, ret);
2027
+ };
2028
+ } else {
2029
+ hooks[hooksProp] = (...args2) => {
2030
+ let ret = hooksFunc.apply(hooks, args2);
2031
+ if (ret === false) {
2032
+ ret = prevHook.apply(hooks, args2);
2033
+ }
2034
+ return ret;
2035
+ };
2036
+ }
2037
+ }
2038
+ opts.hooks = hooks;
2039
+ }
2040
+ if (pack.walkTokens) {
2041
+ const walkTokens2 = this.defaults.walkTokens;
2042
+ const packWalktokens = pack.walkTokens;
2043
+ opts.walkTokens = function(token) {
2044
+ let values = [];
2045
+ values.push(packWalktokens.call(this, token));
2046
+ if (walkTokens2) {
2047
+ values = values.concat(walkTokens2.call(this, token));
2048
+ }
2049
+ return values;
2050
+ };
2051
+ }
2052
+ this.defaults = { ...this.defaults, ...opts };
2053
+ });
2054
+ return this;
2055
+ }
2056
+ setOptions(opt) {
2057
+ this.defaults = { ...this.defaults, ...opt };
2058
+ return this;
2059
+ }
2060
+ lexer(src, options2) {
2061
+ return _Lexer.lex(src, options2 ?? this.defaults);
2062
+ }
2063
+ parser(tokens, options2) {
2064
+ return _Parser.parse(tokens, options2 ?? this.defaults);
2065
+ }
2066
+ parseMarkdown(blockType) {
2067
+ const parse2 = (src, options2) => {
2068
+ const origOpt = { ...options2 };
2069
+ const opt = { ...this.defaults, ...origOpt };
2070
+ const throwError = this.onError(!!opt.silent, !!opt.async);
2071
+ if (this.defaults.async === true && origOpt.async === false) {
2072
+ return throwError(new Error("marked(): The async option was set to true by an extension. Remove async: false from the parse options object to return a Promise."));
2073
+ }
2074
+ if (typeof src === "undefined" || src === null) {
2075
+ return throwError(new Error("marked(): input parameter is undefined or null"));
2076
+ }
2077
+ if (typeof src !== "string") {
2078
+ return throwError(new Error("marked(): input parameter is of type " + Object.prototype.toString.call(src) + ", string expected"));
2079
+ }
2080
+ if (opt.hooks) {
2081
+ opt.hooks.options = opt;
2082
+ opt.hooks.block = blockType;
2083
+ }
2084
+ const lexer2 = opt.hooks ? opt.hooks.provideLexer() : blockType ? _Lexer.lex : _Lexer.lexInline;
2085
+ const parser2 = opt.hooks ? opt.hooks.provideParser() : blockType ? _Parser.parse : _Parser.parseInline;
2086
+ if (opt.async) {
2087
+ return Promise.resolve(opt.hooks ? opt.hooks.preprocess(src) : src).then((src2) => lexer2(src2, opt)).then((tokens) => opt.hooks ? opt.hooks.processAllTokens(tokens) : tokens).then((tokens) => opt.walkTokens ? Promise.all(this.walkTokens(tokens, opt.walkTokens)).then(() => tokens) : tokens).then((tokens) => parser2(tokens, opt)).then((html2) => opt.hooks ? opt.hooks.postprocess(html2) : html2).catch(throwError);
2088
+ }
2089
+ try {
2090
+ if (opt.hooks) {
2091
+ src = opt.hooks.preprocess(src);
2092
+ }
2093
+ let tokens = lexer2(src, opt);
2094
+ if (opt.hooks) {
2095
+ tokens = opt.hooks.processAllTokens(tokens);
2096
+ }
2097
+ if (opt.walkTokens) {
2098
+ this.walkTokens(tokens, opt.walkTokens);
2099
+ }
2100
+ let html2 = parser2(tokens, opt);
2101
+ if (opt.hooks) {
2102
+ html2 = opt.hooks.postprocess(html2);
2103
+ }
2104
+ return html2;
2105
+ } catch (e) {
2106
+ return throwError(e);
2107
+ }
2108
+ };
2109
+ return parse2;
2110
+ }
2111
+ onError(silent, async) {
2112
+ return (e) => {
2113
+ e.message += "\nPlease report this to https://github.com/markedjs/marked.";
2114
+ if (silent) {
2115
+ const msg = "<p>An error occurred:</p><pre>" + escape2(e.message + "", true) + "</pre>";
2116
+ if (async) {
2117
+ return Promise.resolve(msg);
2118
+ }
2119
+ return msg;
2120
+ }
2121
+ if (async) {
2122
+ return Promise.reject(e);
2123
+ }
2124
+ throw e;
2125
+ };
2126
+ }
2127
+};
2128
+
2129
+// src/marked.ts
2130
+var markedInstance = new Marked();
2131
+function marked(src, opt) {
2132
+ return markedInstance.parse(src, opt);
2133
+}
2134
+marked.options = marked.setOptions = function(options2) {
2135
+ markedInstance.setOptions(options2);
2136
+ marked.defaults = markedInstance.defaults;
2137
+ changeDefaults(marked.defaults);
2138
+ return marked;
2139
+};
2140
+marked.getDefaults = _getDefaults;
2141
+marked.defaults = _defaults;
2142
+marked.use = function(...args) {
2143
+ markedInstance.use(...args);
2144
+ marked.defaults = markedInstance.defaults;
2145
+ changeDefaults(marked.defaults);
2146
+ return marked;
2147
+};
2148
+marked.walkTokens = function(tokens, callback) {
2149
+ return markedInstance.walkTokens(tokens, callback);
2150
+};
2151
+marked.parseInline = markedInstance.parseInline;
2152
+marked.Parser = _Parser;
2153
+marked.parser = _Parser.parse;
2154
+marked.Renderer = _Renderer;
2155
+marked.TextRenderer = _TextRenderer;
2156
+marked.Lexer = _Lexer;
2157
+marked.lexer = _Lexer.lex;
2158
+marked.Tokenizer = _Tokenizer;
2159
+marked.Hooks = _Hooks;
2160
+marked.parse = marked;
2161
+var options = marked.options;
2162
+var setOptions = marked.setOptions;
2163
+var use = marked.use;
2164
+var walkTokens = marked.walkTokens;
2165
+var parseInline = marked.parseInline;
2166
+var parse = marked;
2167
+var parser = _Parser.parse;
2168
+var lexer = _Lexer.lex;
2169
+export {
2170
+ _Hooks as Hooks,
2171
+ _Lexer as Lexer,
2172
+ Marked,
2173
+ _Parser as Parser,
2174
+ _Renderer as Renderer,
2175
+ _TextRenderer as TextRenderer,
2176
+ _Tokenizer as Tokenizer,
2177
+ _defaults as defaults,
2178
+ _getDefaults as getDefaults,
2179
+ lexer,
2180
+ marked,
2181
+ options,
2182
+ parse,
2183
+ parseInline,
2184
+ parser,
2185
+ setOptions,
2186
+ use,
2187
+ walkTokens
2188
+};
2189
+//# sourceMappingURL=marked.esm.js.map