From 54e4dbb3c3a8ed64d04a75cfd55641ad2d784eb0 Mon Sep 17 00:00:00 2001 From: Peter Krautzberger Date: Thu, 1 Jul 2021 10:02:28 +0200 Subject: [PATCH 001/118] refactor(util/Styles.ts): consistent serialization Improves consistency of serialization across adaptors. Resolves mathjax/MathJax#2726 --- ts/util/Styles.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/ts/util/Styles.ts b/ts/util/Styles.ts index d5802ce61..1c598ce33 100644 --- a/ts/util/Styles.ts +++ b/ts/util/Styles.ts @@ -398,10 +398,10 @@ export class Styles { for (const name of Object.keys(this.styles)) { const parent = this.parentName(name); if (!this.styles[parent]) { - styles.push(name + ': ' + this.styles[name]); + styles.push(name + ': ' + this.styles[name] + ';'); } } - return styles.join('; '); + return styles.join(' '); } /** From df81844efd0c993ad0a075b38b3670e89de79e2b Mon Sep 17 00:00:00 2001 From: "Davide P. Cervone" Date: Wed, 14 Jul 2021 15:21:17 -0400 Subject: [PATCH 002/118] Improve build tools to work with better in other directories, and handle node modules better. --- components/bin/build | 27 +++++---- components/bin/makeAll | 16 +++++- components/bin/pack | 28 +++++++--- components/webpack.common.js | 105 ++++++++++++++++++++--------------- 4 files changed, 106 insertions(+), 70 deletions(-) diff --git a/components/bin/build b/components/bin/build index 58f57cdcb..e045ddd0a 100755 --- a/components/bin/build +++ b/components/bin/build @@ -43,7 +43,8 @@ const EXPORT_PROCESS = ['let', 'const', 'var', 'function', 'class', 'namespace'] /** * The relative path to the MathJax directory */ -const mjPath = path.relative(process.cwd(), path.resolve(__dirname,'../../js')); +const mjPath = path.relative(process.cwd(), path.resolve(__dirname, '..', '..', 'js')); +const mjGlobal = path.join('..', mjPath, 'components', 'global.js'); /** * Read the configuration for the component @@ -53,14 +54,14 @@ const config = JSON.parse(fs.readFileSync(process.argv[2] || 'build.json')); /** * Extract the configuration values */ +const COMPONENT = path.basename(config.component || 'part'); // name of the component const TARGETS = config.targets || []; // the files to include in the component const EXCLUDE = new Map((config.exclude || []).map(name => [name, true])); // files to exclude from the component -const EXCLUDESUBDIRS = config.excludeSubdirs === 'true'; // exclude subdirectories -const MATHJAX = config.js || config.mathjax || mjPath; // path to the compiled .js files +const EXCLUDESUBDIRS = config.excludeSubdirs === 'true'; // exclude subdirectories or not +const JS = config.js || config.mathjax || mjPath; // path to the compiled .js files const LIB = config.lib || './lib'; // path to the lib directory to create -const COMPONENT = path.basename(config.component || 'part'); // name of the component -const GLOBAL = config.global || `../${MATHJAX}/components/global.js`; // the location of global.js -const SRC = config.ts || MATHJAX.replace(/js$/, 'ts'); // path to the .ts files +const GLOBAL = config.global || mjGlobal; // path to the global.js file +const TS = config.ts || JS.replace(/js$/, 'ts'); // path to the .ts files /** * The list of files that need to be added to the lib directory @@ -160,17 +161,15 @@ function processLines(file, objects) { if (objects.length === 0) return []; const dir = path.dirname(file).replace(/^\.$/, ''); const dots = dir.replace(/[^\/]+/g, '..') || '.'; - const relative = path.join(dots, '..', MATHJAX, dir, path.basename(file)).replace(/\.ts$/, '.js'); + const relative = path.join(dots, '..', JS, dir, path.basename(file)).replace(/\.ts$/, '.js'); const name = path.parse(file).name; const lines = [ '"use strict";', `Object.defineProperty(exports, '__esModule', {value: true});` ]; - let source = (dir.replace(/\//g, '.') + '.' + name).replace(/^\./, '') + let source = ((dir.replace(/\//g, '.') + '.' + name).replace(/^\./, '') + + (exists(path.resolve(JS, file.replace(/\.ts$/, ''))) ? '_ts' : '')) .replace(/\.[^.]*/g, (x) => (x.substr(1).match(/[^a-zA-Z_]/) ? '[\'' + x.substr(1) + '\']' : x)); - if (exists(path.resolve(MATHJAX, file.replace(/\.ts$/, '')))) { - source += '_ts'; - } for (const id of objects) { lines.push(`exports.${id} = MathJax._.${source}.${id};`); } @@ -273,11 +272,11 @@ function processPackage(lines, space, dir) { if (path.dirname(PACKAGE[0]) === dir) { const file = PACKAGE.shift(); const name = path.basename(file); - const relativefile = path.join('..', MATHJAX, dir, name).replace(/\.ts$/, '.js'); + const relativefile = path.join('..', JS, dir, name).replace(/\.ts$/, '.js'); const component = 'module' + (++importCount); lines.push(`import * as ${component} from '${relativefile}';`); let property = name.replace(/\.ts$/, ''); - if (property !== name && exists(path.resolve(MATHJAX, file.replace(/\.ts$/, '')))) { + if (property !== name && exists(path.resolve(JS, file.replace(/\.ts$/, '')))) { property += '_ts'; } if (property.match(/[^a-zA-Z0-9_]/)) { @@ -324,5 +323,5 @@ function rmDir(dir) { // rmDir(LIB); console.info("Processing:"); -processList(SRC, '', TARGETS); +processList(TS, '', TARGETS); processGlobal(); diff --git a/components/bin/makeAll b/components/bin/makeAll index 3e7a89144..df879f584 100755 --- a/components/bin/makeAll +++ b/components/bin/makeAll @@ -29,10 +29,20 @@ const fs = require('fs'); const path = require('path'); const {execSync} = require('child_process'); +const options = { + recursive: true +}; + /** - * Get the directories to process + * Get the directories to process and check for options */ const dirs = process.argv.slice(2); + +if (dirs[0] === '--no-subdirs') { + dirs.shift(); + options.recursive = false; +} + if (dirs.length === 0) { dirs.push('.'); } @@ -74,7 +84,9 @@ function processList(dirs) { */ function processDir(dir, action) { action(dir); - processSubdirs(dir, action); + if (options.recursive) { + processSubdirs(dir, action); + } } /** diff --git a/components/bin/pack b/components/bin/pack index ed8789ce4..9a46ab627 100755 --- a/components/bin/pack +++ b/components/bin/pack @@ -48,7 +48,7 @@ function fileSize(file) { /** * Regular expressions for the components directory and the MathJax .js location */ -const compRE = fileRegExp(path.join(path.dirname(__dirname), 'src')); +const compRE = fileRegExp(path.dirname(__dirname)); const rootRE = fileRegExp(path.join(path.dirname(path.dirname(__dirname)), 'js')); const nodeRE = fileRegExp(path.join(path.dirname(path.dirname(__dirname)), 'node_modules')); @@ -103,17 +103,27 @@ async function webpackLib(dir) { .replace(/ \+ \d+ modules/, '') .replace(dirRE, '.'); } - for (const module of modules.sort((a,b) => a.name < b.name ? -1 : 1)) { + const list = []; + for (const module of modules) { if (module.moduleType.match(/javascript/)) { - const name = module.name - .replace(compRE, '[components]') - .replace(rootRE, '[mathjax]') - .replace(nodeRE, '[node]') - .replace(jsRE, '[js]') - .replace(libRE, '[lib]'); - console.log(' ' + name + fileSize(module)); + let name = module.name + .replace(compRE, '[components]') + .replace(rootRE, '[mathjax]') + .replace(nodeRE, '[node]') + .replace(jsRE, '[js]') + .replace(libRE, '[lib]'); + if (name.charAt(0) !== '.' && name.charAt(0) !== '[') { + name = path.relative(dir, name); + } + list.push(' ' + name + fileSize(module)); } } + console.log( + list + .filter(a => a.slice(2, 4) === './').sort() + .concat(list.filter(a => a.slice(2, 4) !== './').sort()) + .join('\n') + ); } catch (err) { console.error(err); } diff --git a/components/webpack.common.js b/components/webpack.common.js index a79504e35..0e8b63902 100644 --- a/components/webpack.common.js +++ b/components/webpack.common.js @@ -36,6 +36,23 @@ function quoteRE(string) { return string.replace(/([\\.{}[\]()?*^$])/g, '\\$1') } +/** + * Creates the plugin needed for including jsdir in the output + * + * @param {string} js The location of the compiled js files + * @param {string} dir The directory of the component being built + * @return {any[]} The plugin array (empty or with the conversion plugin) + */ +const PLUGINS = function (js, dir) { + const mjdir = path.resolve(__dirname, '..', 'js'); + const jsdir = path.resolve(dir, js); + + // + // Record the js directory for the pack command + // + return [new webpack.DefinePlugin({jsdir: jsdir})]; +}; + /** * Creates the plugin needed for converting mathjax references to component/lib references * @@ -44,62 +61,59 @@ function quoteRE(string) { * @param {string} dir The directory of the component being built * @return {any[]} The plugin array (empty or with the conversion plugin) */ -const PLUGINS = function (js, libs, dir) { +const RESOLVE = function (js, libs, dir) { const mjdir = path.resolve(__dirname, '..', 'js'); const jsdir = path.resolve(dir, js); const mjRE = new RegExp('^(?:' + quoteRE(jsdir) + '|' + quoteRE(mjdir) + ')' + quoteRE(path.sep)); const root = path.dirname(mjdir); - const rootRE = new RegExp('^' + quoteRE(root + path.sep)); - const nodeRE = new RegExp('^' + quoteRE(path.dirname(root) + path.sep)); // - // Record the js directory for the pack command + // Add directory names to libraries // - const plugins = [new webpack.DefinePlugin({jsdir: jsdir})]; + libs = libs.map(lib => path.join(lib.charAt(0) === '.' ? dir : root, lib) + path.sep); - if (libs.length) { - plugins.push( - // - // Move mathjax references to component libraries - // - new webpack.NormalModuleReplacementPlugin( - /^[^\/]/, - function (resource) { - const request = require.resolve(resource.request.charAt(0) === '.' ? - path.resolve(resource.context, resource.request) : - resource.request); - if (!request.match(mjRE)) return; - for (const lib of libs) { - const file = request.replace(mjRE, path.join(root, lib) + path.sep); - if (fs.existsSync(file)) { - resource.request = file; - break; - } - } - } - ) + // + // Function replace imported files by ones in the specified component lib directories. + // + const replaceLibs = (resource) => { + // + // The full file name to check. + // + const request = require.resolve( + resource.request ? + resource.request.charAt(0) === '.' ? path.resolve(resource.path, resource.request) : resource.request : + resource.path ); - } - plugins.push( // - // Check for packages that should be rerouted to node_modules + // Only check files in the MathJax js directory. // - new webpack.NormalModuleReplacementPlugin( - /^[^\/]$/, - function (resource) { - const request = require.resolve(resource.request.charAt(0) === '.' ? - path.resolve(resource.context, resource.request) : - resource.request); - if (request.match(rootRE) || !request.match(nodeRE) || fs.existsSync(request)) return; - const file = request.replace(nodeRE, path.join(root, 'node_modules') + path.sep); - if (fs.existsSync(file)) { - resource.request = file; - } + if (!request.match(mjRE)) return; + // + // Loop through the libraries and see if the imported file is there. + // If so, replace the request with the library version and return. + // + for (const lib of libs) { + const file = request.replace(mjRE, lib); + if (fs.existsSync(file)) { + resource.path = file; + resource.request = undefined; + return; } - ) - ); - return plugins; -}; + } + } + + // + // A plugin that looks for files and modules to see if they need replacing with library versions. + // + class ResolveReplacementPlugin { + apply(compiler) { + compiler.hooks.file.tap(ResolveReplacementPlugin.name, replaceLibs); + compiler.hooks.module.tap(ResolveReplacementPlugin.name, replaceLibs); + } + } + + return {plugins: [new ResolveReplacementPlugin()]}; +} /** * Add babel-loader to appropriate directories @@ -150,7 +164,8 @@ const PACKAGE = function (name, js, libs, dir, dist) { filename: name + (dist === '.' ? '.min.js' : '.js') }, target: ['web', 'es5'], // needed for IE11 and old browsers - plugins: PLUGINS(js, libs, dir), + plugins: PLUGINS(js, dir), + resolve: RESOLVE(js, libs, dir), module: MODULE(dir), performance: { hints: false From fd90884d5aa5271374ff7376b00361ee375dd464 Mon Sep 17 00:00:00 2001 From: "Davide P. Cervone" Date: Sat, 17 Jul 2021 07:51:25 -0400 Subject: [PATCH 003/118] Make jsdir less likely to conflict with anything --- components/bin/pack | 2 +- components/webpack.common.js | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/components/bin/pack b/components/bin/pack index 9a46ab627..d0a67b06a 100755 --- a/components/bin/pack +++ b/components/bin/pack @@ -83,7 +83,7 @@ async function webpackLib(dir) { // // Get js directory from the webpack.config.js file // - const jsdir = require(path.resolve(dir, 'webpack.config.js')).plugins[0].definitions.jsdir; + const jsdir = require(path.resolve(dir, 'webpack.config.js')).plugins[0].definitions.__JSDIR__; const jsRE = fileRegExp(jsdir); const libRE = fileRegExp(path.resolve(jsdir, '..', 'components')); diff --git a/components/webpack.common.js b/components/webpack.common.js index 0e8b63902..8edfdd893 100644 --- a/components/webpack.common.js +++ b/components/webpack.common.js @@ -50,7 +50,7 @@ const PLUGINS = function (js, dir) { // // Record the js directory for the pack command // - return [new webpack.DefinePlugin({jsdir: jsdir})]; + return [new webpack.DefinePlugin({__JSDIR__: jsdir})]; }; /** From 84268af767d5c2976a235f891f4b1565c028f87c Mon Sep 17 00:00:00 2001 From: "Davide P. Cervone" Date: Sat, 17 Jul 2021 07:57:06 -0400 Subject: [PATCH 004/118] Add ability to record MathJax version used in extensions --- ts/components/global.ts | 4 +++- ts/components/version.ts | 25 +++++++++++++++++++++++++ ts/mathjax.ts | 3 ++- 3 files changed, 30 insertions(+), 2 deletions(-) create mode 100644 ts/components/version.ts diff --git a/ts/components/global.ts b/ts/components/global.ts index e6fafd8ce..d0fee7690 100644 --- a/ts/components/global.ts +++ b/ts/components/global.ts @@ -22,6 +22,8 @@ * @author dpvc@mathjax.org (Davide Cervone) */ +import {VERSION} from './version.js'; + /** * The MathJax variable as a configuration object */ @@ -127,7 +129,7 @@ if (typeof global.MathJax === 'undefined') { */ if (!(global.MathJax as MathJaxObject).version) { global.MathJax = { - version: '3.2.0', + version: VERSION, _: {}, config: global.MathJax }; diff --git a/ts/components/version.ts b/ts/components/version.ts new file mode 100644 index 000000000..30c6e8234 --- /dev/null +++ b/ts/components/version.ts @@ -0,0 +1,25 @@ +/************************************************************* + * + * Copyright (c) 2018-2021 The MathJax Consortium + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +/** + * @fileoverview The version of MathJax (iused to tell what version a component + * was compiled against). + * + * @author dpvc@mathjax.org (Davide Cervone) + */ + +export const VERSION = '3.2.0'; diff --git a/ts/mathjax.ts b/ts/mathjax.ts index 5273bc1b6..41c5b5337 100644 --- a/ts/mathjax.ts +++ b/ts/mathjax.ts @@ -21,6 +21,7 @@ * @author dpvc@mathjax.org (Davide Cervone) */ +import {VERSION} from './components/version.js'; import {HandlerList} from './core/HandlerList.js'; import {handleRetriesFor, retryAfter} from './util/Retries.js'; import {OptionList} from './util/Options.js'; @@ -34,7 +35,7 @@ export const mathjax = { /** * The MathJax version number */ - version: '3.2.0', + version: VERSION, /** * The list of registers document handlers From 6e395a2e4af3fc891e7c22d6571d1b0f8f463c69 Mon Sep 17 00:00:00 2001 From: "Davide P. Cervone" Date: Sat, 17 Jul 2021 13:47:36 -0400 Subject: [PATCH 005/118] Produce warning messasges when extension's version of MathJax doesn't match running version --- components/bin/build | 6 ++++++ ts/components/loader.ts | 14 +++++++++++++- 2 files changed, 19 insertions(+), 1 deletion(-) diff --git a/components/bin/build b/components/bin/build index e045ddd0a..11abb2f23 100755 --- a/components/bin/build +++ b/components/bin/build @@ -55,14 +55,17 @@ const config = JSON.parse(fs.readFileSync(process.argv[2] || 'build.json')); * Extract the configuration values */ const COMPONENT = path.basename(config.component || 'part'); // name of the component +const ID = config.id || config.component || 'part'; // the ID of the component const TARGETS = config.targets || []; // the files to include in the component const EXCLUDE = new Map((config.exclude || []).map(name => [name, true])); // files to exclude from the component const EXCLUDESUBDIRS = config.excludeSubdirs === 'true'; // exclude subdirectories or not const JS = config.js || config.mathjax || mjPath; // path to the compiled .js files const LIB = config.lib || './lib'; // path to the lib directory to create const GLOBAL = config.global || mjGlobal; // path to the global.js file +const VERSION = config.version || mjGlobal.replace(/global/, 'version'); // path to the version.js file const TS = config.ts || JS.replace(/js$/, 'ts'); // path to the .ts files + /** * The list of files that need to be added to the lib directory */ @@ -222,6 +225,7 @@ function processGlobal() { console.info(' ' + COMPONENT + '.ts'); const lines = [ `import {combineWithMathJax} from '${GLOBAL}';`, + `import {VERSION} from '${VERSION}';`, '', ]; const packages = []; @@ -230,7 +234,9 @@ function processGlobal() { const dir = path.dirname(PACKAGE[0]).split(path.sep)[0]; packages.push(processPackage(lines, INDENT, dir)); } + const name = (ID.match(/[^a-zA-Z0-9_]/) ? `"${ID}"` : ID); lines.push('', `combineWithMathJax({_: {`); + lines.push(INDENT + `_versions: {${name}: VERSION},`); lines.push(INDENT + packages.join(',\n' + INDENT)); lines.push('}});'); fs.writeFileSync(path.join(LIB, COMPONENT + '.js'), lines.join('\n') + '\n'); diff --git a/ts/components/loader.ts b/ts/components/loader.ts index fa5b2501e..fe44c64c1 100644 --- a/ts/components/loader.ts +++ b/ts/components/loader.ts @@ -58,6 +58,7 @@ export interface MathJaxConfig extends MJConfig { failed?: PackageFailed; // A function to call when MathJax fails to load require?: (url: string) => any; // A function for loading URLs pathFilters?: PathFilterList; // List of path filters (and optional priorities) to add + versionWarnings?: boolean; // True means warn when extension version doesn't match MJ version [name: string]: any; // Other configuration blocks }; } @@ -127,6 +128,8 @@ export const PathFilters: {[name: string]: PathFilterFunction} = { */ export namespace Loader { + const VERSION = MJGlobal.version; + /** * Get a promise that is resolved when all the named packages have been loaded. * @@ -163,7 +166,15 @@ export namespace Loader { extension.provides(CONFIG.provides[name]); } extension.checkNoLoad(); - promises.push(extension.promise); + promises.push(extension.promise.then(() => { + if (!CONFIG.versionWarnings) return; + const version = MathJax._._versions[name]; + if (!version) { + console.warn(`No version information available for component ${name}`); + } else if (version !== VERSION) { + console.warn(`Component ${name} uses ${version} of MathJax; version in use is ${VERSION}`); + } + }) as Promise); } Package.loadAll(); return Promise.all(promises); @@ -247,6 +258,7 @@ if (typeof MathJax.loader === 'undefined') { failed: (error: PackageError) => console.log(`MathJax(${error.package || '?'}): ${error.message}`), require: null, pathFilters: [], + versionWarnings: true }); combineWithMathJax({ loader: Loader From 1dcb26d845ef62c3fc756abda59bad7e53e82881 Mon Sep 17 00:00:00 2001 From: "Davide P. Cervone" Date: Sun, 18 Jul 2021 13:26:18 -0400 Subject: [PATCH 006/118] Update builds to include proper ID for version checking --- components/src/input/mml/build.json | 2 +- components/src/input/mml/extensions/mml3/build.json | 1 + components/src/input/tex/extensions/action/build.json | 1 + components/src/input/tex/extensions/all-packages/build.json | 1 + components/src/input/tex/extensions/ams/build.json | 1 + components/src/input/tex/extensions/amscd/build.json | 1 + components/src/input/tex/extensions/autoload/build.json | 1 + components/src/input/tex/extensions/bbox/build.json | 1 + components/src/input/tex/extensions/boldsymbol/build.json | 1 + components/src/input/tex/extensions/braket/build.json | 1 + components/src/input/tex/extensions/bussproofs/build.json | 1 + components/src/input/tex/extensions/cancel/build.json | 1 + components/src/input/tex/extensions/cases/build.json | 1 + components/src/input/tex/extensions/centernot/build.json | 1 + components/src/input/tex/extensions/color/build.json | 1 + components/src/input/tex/extensions/colortbl/build.json | 1 + components/src/input/tex/extensions/colorv2/build.json | 1 + components/src/input/tex/extensions/configmacros/build.json | 1 + components/src/input/tex/extensions/empheq/build.json | 1 + components/src/input/tex/extensions/enclose/build.json | 1 + components/src/input/tex/extensions/extpfeil/build.json | 1 + components/src/input/tex/extensions/gensymb/build.json | 1 + components/src/input/tex/extensions/html/build.json | 1 + components/src/input/tex/extensions/mathtools/build.json | 1 + components/src/input/tex/extensions/mhchem/build.json | 1 + components/src/input/tex/extensions/newcommand/build.json | 1 + components/src/input/tex/extensions/noerrors/build.json | 1 + components/src/input/tex/extensions/noundefined/build.json | 1 + components/src/input/tex/extensions/physics/build.json | 1 + components/src/input/tex/extensions/require/build.json | 1 + components/src/input/tex/extensions/setoptions/build.json | 1 + components/src/input/tex/extensions/tagformat/build.json | 1 + components/src/input/tex/extensions/textcomp/build.json | 1 + components/src/input/tex/extensions/textmacros/build.json | 1 + components/src/input/tex/extensions/unicode/build.json | 1 + components/src/input/tex/extensions/upgreek/build.json | 1 + components/src/input/tex/extensions/verb/build.json | 1 + 37 files changed, 37 insertions(+), 1 deletion(-) diff --git a/components/src/input/mml/build.json b/components/src/input/mml/build.json index a41d8dfdd..d4864a0f5 100644 --- a/components/src/input/mml/build.json +++ b/components/src/input/mml/build.json @@ -1,5 +1,5 @@ { - "component": "inpu/mml", + "component": "input/mml", "targets": [ "input/mathml.ts", "input/mathml" diff --git a/components/src/input/mml/extensions/mml3/build.json b/components/src/input/mml/extensions/mml3/build.json index 1de76ca6f..6ae79ed71 100644 --- a/components/src/input/mml/extensions/mml3/build.json +++ b/components/src/input/mml/extensions/mml3/build.json @@ -1,4 +1,5 @@ { + "id": "[mml]/mml3", "component": "input/mml/extensions/mml3", "targets": ["input/mathml/mml3"] } diff --git a/components/src/input/tex/extensions/action/build.json b/components/src/input/tex/extensions/action/build.json index 5c2aa0f8d..a0b6af601 100644 --- a/components/src/input/tex/extensions/action/build.json +++ b/components/src/input/tex/extensions/action/build.json @@ -1,4 +1,5 @@ { + "id": "[tex]/action", "component": "input/tex/extensions/action", "targets": ["input/tex/action"] } diff --git a/components/src/input/tex/extensions/all-packages/build.json b/components/src/input/tex/extensions/all-packages/build.json index 098cf185e..216671f99 100644 --- a/components/src/input/tex/extensions/all-packages/build.json +++ b/components/src/input/tex/extensions/all-packages/build.json @@ -1,4 +1,5 @@ { + "id": "[tex]/all-packages", "component": "input/tex/extensions/all-packages", "targets": [ "input/tex/AllPackages.ts", diff --git a/components/src/input/tex/extensions/ams/build.json b/components/src/input/tex/extensions/ams/build.json index a2a1d4002..865acc303 100644 --- a/components/src/input/tex/extensions/ams/build.json +++ b/components/src/input/tex/extensions/ams/build.json @@ -1,4 +1,5 @@ { + "id": "[tex]/ams", "component": "input/tex/extensions/ams", "targets": ["input/tex/ams"] } diff --git a/components/src/input/tex/extensions/amscd/build.json b/components/src/input/tex/extensions/amscd/build.json index 477406992..6c3fc87ea 100644 --- a/components/src/input/tex/extensions/amscd/build.json +++ b/components/src/input/tex/extensions/amscd/build.json @@ -1,4 +1,5 @@ { + "id": "[tex]/amscd", "component": "input/tex/extensions/amscd", "targets": ["input/tex/amscd"] } diff --git a/components/src/input/tex/extensions/autoload/build.json b/components/src/input/tex/extensions/autoload/build.json index e19f7f6d5..d4f9b89e0 100644 --- a/components/src/input/tex/extensions/autoload/build.json +++ b/components/src/input/tex/extensions/autoload/build.json @@ -1,4 +1,5 @@ { + "id": "[tex]/autoload", "component": "input/tex/extensions/autoload", "targets": ["input/tex/autoload"] } diff --git a/components/src/input/tex/extensions/bbox/build.json b/components/src/input/tex/extensions/bbox/build.json index 3741b8738..c50918558 100644 --- a/components/src/input/tex/extensions/bbox/build.json +++ b/components/src/input/tex/extensions/bbox/build.json @@ -1,4 +1,5 @@ { + "id": "[tex]/bbox", "component": "input/tex/extensions/bbox", "targets": ["input/tex/bbox"] } diff --git a/components/src/input/tex/extensions/boldsymbol/build.json b/components/src/input/tex/extensions/boldsymbol/build.json index 7e5deedbd..3d59f0cb2 100644 --- a/components/src/input/tex/extensions/boldsymbol/build.json +++ b/components/src/input/tex/extensions/boldsymbol/build.json @@ -1,4 +1,5 @@ { + "id": "[tex]/boldsymbol", "component": "input/tex/extensions/boldsymbol", "targets": ["input/tex/boldsymbol"] } diff --git a/components/src/input/tex/extensions/braket/build.json b/components/src/input/tex/extensions/braket/build.json index 5e2924725..c0631d751 100644 --- a/components/src/input/tex/extensions/braket/build.json +++ b/components/src/input/tex/extensions/braket/build.json @@ -1,4 +1,5 @@ { + "id": "[tex]/braket", "component": "input/tex/extensions/braket", "targets": ["input/tex/braket"] } diff --git a/components/src/input/tex/extensions/bussproofs/build.json b/components/src/input/tex/extensions/bussproofs/build.json index 8cf99265b..242e91f16 100644 --- a/components/src/input/tex/extensions/bussproofs/build.json +++ b/components/src/input/tex/extensions/bussproofs/build.json @@ -1,4 +1,5 @@ { + "id": "[tex]/bussproofs", "component": "input/tex/extensions/bussproofs", "targets": ["input/tex/bussproofs"] } diff --git a/components/src/input/tex/extensions/cancel/build.json b/components/src/input/tex/extensions/cancel/build.json index f06e1e858..9577e4e95 100644 --- a/components/src/input/tex/extensions/cancel/build.json +++ b/components/src/input/tex/extensions/cancel/build.json @@ -1,4 +1,5 @@ { + "id": "[tex]/cancel", "component": "input/tex/extensions/cancel", "targets": ["input/tex/cancel"] } diff --git a/components/src/input/tex/extensions/cases/build.json b/components/src/input/tex/extensions/cases/build.json index b7549fde4..b4be43cbc 100644 --- a/components/src/input/tex/extensions/cases/build.json +++ b/components/src/input/tex/extensions/cases/build.json @@ -1,4 +1,5 @@ { + "id": "[tex]/cases", "component": "input/tex/extensions/cases", "targets": ["input/tex/cases"] } diff --git a/components/src/input/tex/extensions/centernot/build.json b/components/src/input/tex/extensions/centernot/build.json index e754ff18a..1ebcd76b6 100644 --- a/components/src/input/tex/extensions/centernot/build.json +++ b/components/src/input/tex/extensions/centernot/build.json @@ -1,4 +1,5 @@ { + "id": "[tex]/centernot", "component": "input/tex/extensions/centernot", "targets": ["input/tex/centernot"] } diff --git a/components/src/input/tex/extensions/color/build.json b/components/src/input/tex/extensions/color/build.json index 98e4923e3..3e8614c11 100644 --- a/components/src/input/tex/extensions/color/build.json +++ b/components/src/input/tex/extensions/color/build.json @@ -1,4 +1,5 @@ { + "id": "[tex]/color", "component": "input/tex/extensions/color", "targets": ["input/tex/color"] } diff --git a/components/src/input/tex/extensions/colortbl/build.json b/components/src/input/tex/extensions/colortbl/build.json index 5b2e25c68..cf70b9a7d 100644 --- a/components/src/input/tex/extensions/colortbl/build.json +++ b/components/src/input/tex/extensions/colortbl/build.json @@ -1,4 +1,5 @@ { + "id": "[tex]/colortbl", "component": "input/tex/extensions/colortbl", "targets": ["input/tex/colortbl"] } diff --git a/components/src/input/tex/extensions/colorv2/build.json b/components/src/input/tex/extensions/colorv2/build.json index 3923daa18..0710e56e4 100644 --- a/components/src/input/tex/extensions/colorv2/build.json +++ b/components/src/input/tex/extensions/colorv2/build.json @@ -1,4 +1,5 @@ { + "id": "[tex]/colorv2", "component": "input/tex/extensions/colorv2", "targets": ["input/tex/colorv2"] } diff --git a/components/src/input/tex/extensions/configmacros/build.json b/components/src/input/tex/extensions/configmacros/build.json index 0496ad45a..809b5d94c 100644 --- a/components/src/input/tex/extensions/configmacros/build.json +++ b/components/src/input/tex/extensions/configmacros/build.json @@ -1,4 +1,5 @@ { + "id": "[tex]/configmacros", "component": "input/tex/extensions/configmacros", "targets": ["input/tex/configmacros"] } diff --git a/components/src/input/tex/extensions/empheq/build.json b/components/src/input/tex/extensions/empheq/build.json index 681da096b..f0563a9b2 100644 --- a/components/src/input/tex/extensions/empheq/build.json +++ b/components/src/input/tex/extensions/empheq/build.json @@ -1,4 +1,5 @@ { + "id": "[tex]/empheq", "component": "input/tex/extensions/empheq", "targets": ["input/tex/empheq"] } diff --git a/components/src/input/tex/extensions/enclose/build.json b/components/src/input/tex/extensions/enclose/build.json index 07e3978e7..ebf489c82 100644 --- a/components/src/input/tex/extensions/enclose/build.json +++ b/components/src/input/tex/extensions/enclose/build.json @@ -1,4 +1,5 @@ { + "id": "[tex]/enclose", "component": "input/tex/extensions/enclose", "targets": ["input/tex/enclose"] } diff --git a/components/src/input/tex/extensions/extpfeil/build.json b/components/src/input/tex/extensions/extpfeil/build.json index 7f5fa8bd5..37378a525 100644 --- a/components/src/input/tex/extensions/extpfeil/build.json +++ b/components/src/input/tex/extensions/extpfeil/build.json @@ -1,4 +1,5 @@ { + "id": "[tex]/extpfeil", "component": "input/tex/extensions/extpfeil", "targets": ["input/tex/extpfeil"] } diff --git a/components/src/input/tex/extensions/gensymb/build.json b/components/src/input/tex/extensions/gensymb/build.json index 0d976916e..220fe879d 100644 --- a/components/src/input/tex/extensions/gensymb/build.json +++ b/components/src/input/tex/extensions/gensymb/build.json @@ -1,4 +1,5 @@ { + "id": "[tex]/gensymb", "component": "input/tex/extensions/gensymb", "targets": ["input/tex/gensymb"] } diff --git a/components/src/input/tex/extensions/html/build.json b/components/src/input/tex/extensions/html/build.json index 886436843..7ee5d20ac 100644 --- a/components/src/input/tex/extensions/html/build.json +++ b/components/src/input/tex/extensions/html/build.json @@ -1,4 +1,5 @@ { + "id": "[tex]/html", "component": "input/tex/extensions/html", "targets": ["input/tex/html"] } diff --git a/components/src/input/tex/extensions/mathtools/build.json b/components/src/input/tex/extensions/mathtools/build.json index 22021cfd5..b00ef3147 100644 --- a/components/src/input/tex/extensions/mathtools/build.json +++ b/components/src/input/tex/extensions/mathtools/build.json @@ -1,4 +1,5 @@ { + "id": "[tex]/mathtools", "component": "input/tex/extensions/mathtools", "targets": ["input/tex/mathtools"] } diff --git a/components/src/input/tex/extensions/mhchem/build.json b/components/src/input/tex/extensions/mhchem/build.json index e79f6127f..e7728bdad 100644 --- a/components/src/input/tex/extensions/mhchem/build.json +++ b/components/src/input/tex/extensions/mhchem/build.json @@ -1,4 +1,5 @@ { + "id": "[tex]/mhchem", "component": "input/tex/extensions/mhchem", "targets": ["input/tex/mhchem"], "exclude": ["input/tex/mhchem/mhchem_parser.d.ts"] diff --git a/components/src/input/tex/extensions/newcommand/build.json b/components/src/input/tex/extensions/newcommand/build.json index 9a3eb23a3..119063b2f 100644 --- a/components/src/input/tex/extensions/newcommand/build.json +++ b/components/src/input/tex/extensions/newcommand/build.json @@ -1,4 +1,5 @@ { + "id": "[tex]/newcommand", "component": "input/tex/extensions/newcommand", "targets": ["input/tex/newcommand"] } diff --git a/components/src/input/tex/extensions/noerrors/build.json b/components/src/input/tex/extensions/noerrors/build.json index c35696db6..dae2b51e0 100644 --- a/components/src/input/tex/extensions/noerrors/build.json +++ b/components/src/input/tex/extensions/noerrors/build.json @@ -1,4 +1,5 @@ { + "id": "[tex]/noerrors", "component": "input/tex/extensions/noerrors", "targets": ["input/tex/noerrors"] } diff --git a/components/src/input/tex/extensions/noundefined/build.json b/components/src/input/tex/extensions/noundefined/build.json index 177e0e78a..3ea2d344c 100644 --- a/components/src/input/tex/extensions/noundefined/build.json +++ b/components/src/input/tex/extensions/noundefined/build.json @@ -1,4 +1,5 @@ { + "id": "[tex]/noundefined", "component": "input/tex/extensions/noundefined", "targets": ["input/tex/noundefined"] } diff --git a/components/src/input/tex/extensions/physics/build.json b/components/src/input/tex/extensions/physics/build.json index 962363e25..b0ba5aaec 100644 --- a/components/src/input/tex/extensions/physics/build.json +++ b/components/src/input/tex/extensions/physics/build.json @@ -1,4 +1,5 @@ { + "id": "[tex]/physics", "component": "input/tex/extensions/physics", "targets": ["input/tex/physics"] } diff --git a/components/src/input/tex/extensions/require/build.json b/components/src/input/tex/extensions/require/build.json index a39792c56..594088cfc 100644 --- a/components/src/input/tex/extensions/require/build.json +++ b/components/src/input/tex/extensions/require/build.json @@ -1,4 +1,5 @@ { + "id": "[tex]/require", "component": "input/tex/extensions/require", "targets": ["input/tex/require"] } diff --git a/components/src/input/tex/extensions/setoptions/build.json b/components/src/input/tex/extensions/setoptions/build.json index d703672ac..f7171fd64 100644 --- a/components/src/input/tex/extensions/setoptions/build.json +++ b/components/src/input/tex/extensions/setoptions/build.json @@ -1,4 +1,5 @@ { + "id": "[tex]/setoptions", "component": "input/tex/extensions/setoptions", "targets": ["input/tex/setoptions"] } diff --git a/components/src/input/tex/extensions/tagformat/build.json b/components/src/input/tex/extensions/tagformat/build.json index 9562f5403..e56479448 100644 --- a/components/src/input/tex/extensions/tagformat/build.json +++ b/components/src/input/tex/extensions/tagformat/build.json @@ -1,4 +1,5 @@ { + "id": "[tex]/tagformat", "component": "input/tex/extensions/tagformat", "targets": ["input/tex/tagformat"] } diff --git a/components/src/input/tex/extensions/textcomp/build.json b/components/src/input/tex/extensions/textcomp/build.json index fe61189ae..dc88ae71c 100644 --- a/components/src/input/tex/extensions/textcomp/build.json +++ b/components/src/input/tex/extensions/textcomp/build.json @@ -1,4 +1,5 @@ { + "id": "[tex]/textcomp", "component": "input/tex/extensions/textcomp", "targets": ["input/tex/textcomp"] } diff --git a/components/src/input/tex/extensions/textmacros/build.json b/components/src/input/tex/extensions/textmacros/build.json index ecd01e28b..80b0e02d9 100644 --- a/components/src/input/tex/extensions/textmacros/build.json +++ b/components/src/input/tex/extensions/textmacros/build.json @@ -1,4 +1,5 @@ { + "id": "[tex]/textmacros", "component": "input/tex/extensions/textmacros", "targets": ["input/tex/textmacros"] } diff --git a/components/src/input/tex/extensions/unicode/build.json b/components/src/input/tex/extensions/unicode/build.json index 9340bb190..2e7604802 100644 --- a/components/src/input/tex/extensions/unicode/build.json +++ b/components/src/input/tex/extensions/unicode/build.json @@ -1,4 +1,5 @@ { + "id": "[tex]/unicode", "component": "input/tex/extensions/unicode", "targets": ["input/tex/unicode"] } diff --git a/components/src/input/tex/extensions/upgreek/build.json b/components/src/input/tex/extensions/upgreek/build.json index 2bda780bf..70c9812ea 100644 --- a/components/src/input/tex/extensions/upgreek/build.json +++ b/components/src/input/tex/extensions/upgreek/build.json @@ -1,4 +1,5 @@ { + "id": "[tex]/upgreek", "component": "input/tex/extensions/upgreek", "targets": ["input/tex/upgreek"] } diff --git a/components/src/input/tex/extensions/verb/build.json b/components/src/input/tex/extensions/verb/build.json index ad4d0e183..53f726931 100644 --- a/components/src/input/tex/extensions/verb/build.json +++ b/components/src/input/tex/extensions/verb/build.json @@ -1,4 +1,5 @@ { + "id": "[tex]/verb", "component": "input/tex/extensions/verb", "targets": ["input/tex/verb"] } From cade50bf4c6e25112c1acefa721a1c49a6748366 Mon Sep 17 00:00:00 2001 From: "Davide P. Cervone" Date: Fri, 27 Aug 2021 10:06:13 -0400 Subject: [PATCH 007/118] Move checking of versions into the extension itself, and allow a module type to be passed (for potential future use). --- components/bin/build | 28 +++++++++++++++++++++------- ts/components/loader.ts | 31 +++++++++++++++++++++++++++---- ts/output/chtml/FontData.ts | 5 +++++ ts/output/common/FontData.ts | 10 ++++++++++ ts/output/common/fonts/tex.ts | 5 +++++ ts/output/svg/FontData.ts | 13 +++++++++++++ 6 files changed, 81 insertions(+), 11 deletions(-) diff --git a/components/bin/build b/components/bin/build index 11abb2f23..d9a9d5836 100755 --- a/components/bin/build +++ b/components/bin/build @@ -30,7 +30,7 @@ const path = require('path'); /** * The amount of space for each level of indentation */ -const INDENT = ' '; +const INDENT = ' '; /** * The pattern to use when looking for explort commands to process @@ -51,6 +51,14 @@ const mjGlobal = path.join('..', mjPath, 'components', 'global.js'); */ const config = JSON.parse(fs.readFileSync(process.argv[2] || 'build.json')); +function getType() { + const component = config.component || 'part'; + if (component.match(/\/(svg|chtml|common)\/fonts\//)) return RegExp.$1 + '-font'; + if (component.match(/\/(mathml|tex)\/.+\//)) return RegExp.$1 + '-extension'; + if (component.match(/^(.+)\//)) return RegExp.$1; + return component; +} + /** * Extract the configuration values */ @@ -61,10 +69,10 @@ const EXCLUDE = new Map((config.exclude || []).map(name => [name, true])); // f const EXCLUDESUBDIRS = config.excludeSubdirs === 'true'; // exclude subdirectories or not const JS = config.js || config.mathjax || mjPath; // path to the compiled .js files const LIB = config.lib || './lib'; // path to the lib directory to create +const TS = config.ts || JS.replace(/js$/, 'ts'); // path to the .ts files const GLOBAL = config.global || mjGlobal; // path to the global.js file const VERSION = config.version || mjGlobal.replace(/global/, 'version'); // path to the version.js file -const TS = config.ts || JS.replace(/js$/, 'ts'); // path to the .ts files - +const TYPE = config.type || getType(); // the module type /** * The list of files that need to be added to the lib directory @@ -235,10 +243,16 @@ function processGlobal() { packages.push(processPackage(lines, INDENT, dir)); } const name = (ID.match(/[^a-zA-Z0-9_]/) ? `"${ID}"` : ID); - lines.push('', `combineWithMathJax({_: {`); - lines.push(INDENT + `_versions: {${name}: VERSION},`); - lines.push(INDENT + packages.join(',\n' + INDENT)); - lines.push('}});'); + lines.push( + '', + 'if (MathJax.loader) {', + INDENT + `MathJax.loader.checkVersion('${ID}', VERSION, '${TYPE}');`, + '}', + '', + `combineWithMathJax({_: {`, + INDENT + packages.join(',\n' + INDENT), + '}});' + ); fs.writeFileSync(path.join(LIB, COMPONENT + '.js'), lines.join('\n') + '\n'); } diff --git a/ts/components/loader.ts b/ts/components/loader.ts index fe44c64c1..26cecaf84 100644 --- a/ts/components/loader.ts +++ b/ts/components/loader.ts @@ -75,6 +75,7 @@ export interface MathJaxObject extends MJObject { preLoad: (...names: string[]) => void; // Indicate that packages are already loaded by hand defaultReady: () => void; // The function performed when all packages are loaded getRoot: () => string; // Find the root URL for the MathJax files + checkVersion: (name: string, version: string) => boolean; // Check the version of an extension pathFilters: FunctionList; // the filters to use for looking for package paths }; startup?: any; @@ -128,8 +129,16 @@ export const PathFilters: {[name: string]: PathFilterFunction} = { */ export namespace Loader { + /** + * The version of MathJax that is running. + */ const VERSION = MJGlobal.version; + /** + * The versions of all the loaded extensions. + */ + export const versions: Map = new Map(); + /** * Get a promise that is resolved when all the named packages have been loaded. * @@ -168,11 +177,8 @@ export namespace Loader { extension.checkNoLoad(); promises.push(extension.promise.then(() => { if (!CONFIG.versionWarnings) return; - const version = MathJax._._versions[name]; - if (!version) { + if (!versions.has(Package.resolvePath(name))) { console.warn(`No version information available for component ${name}`); - } else if (version !== VERSION) { - console.warn(`Component ${name} uses ${version} of MathJax; version in use is ${VERSION}`); } }) as Promise); } @@ -221,6 +227,23 @@ export namespace Loader { return root; } + /** + * Check the version of an extension and report an error if not correct + * + * @param {string} name The name of the extension being checked + * @param {string} version The version of the extension to check + * @param {string} type The type of extension (future code may use this to check ranges of versions) + * @return {boolean} True if there was a mismatch, false otherwise + */ + export function checkVersion(name: string, version: string, _type?: string): boolean { + versions.set(Package.resolvePath(name), VERSION); + if (CONFIG.versionWarnings && version !== VERSION) { + console.warn(`Component ${name} uses ${version} of MathJax; version in use is ${VERSION}`); + return true; + } + return false; + } + /** * The filters to use to modify the paths used to obtain the packages */ diff --git a/ts/output/chtml/FontData.ts b/ts/output/chtml/FontData.ts index 1e45a48ff..23de02dde 100644 --- a/ts/output/chtml/FontData.ts +++ b/ts/output/chtml/FontData.ts @@ -73,6 +73,11 @@ export class CHTMLFontData extends FontData, D extends unknownFamily: 'serif' // Should use 'monospace' with LiteAdaptor }; + /** + * The name of the output jax this font data is for (used by extensions) + */ + public static JAX: string = 'common'; + + /** + * The name of the font that is being defined (used by extensions) + */ + public static NAME: string = ''; + /** * The standard variants to define */ diff --git a/ts/output/common/fonts/tex.ts b/ts/output/common/fonts/tex.ts index dc1496461..90e239b1e 100644 --- a/ts/output/common/fonts/tex.ts +++ b/ts/output/common/fonts/tex.ts @@ -40,6 +40,11 @@ export function CommonTeXFontMixin< return class extends Base { + /** + * @override + */ + public static NAME = 'TeX'; + /** * Add the extra variants for the TeX fonts */ diff --git a/ts/output/svg/FontData.ts b/ts/output/svg/FontData.ts index 9b4d3fcf5..8a67f4b14 100644 --- a/ts/output/svg/FontData.ts +++ b/ts/output/svg/FontData.ts @@ -61,6 +61,19 @@ export interface SVGDelimiterData extends DelimiterData { */ export class SVGFontData extends FontData { + /** + * @override + */ + public static OPTIONS = { + ...FontData.OPTIONS, + dynamicPrefix: './output/svg/fonts' + }; + + /** + * @override + */ + public static JAX = 'SVG'; + /** * @override */ From c0fe772747d7fdba2e6a591215772e74a5d41d9a Mon Sep 17 00:00:00 2001 From: "Davide P. Cervone" Date: Sun, 5 Sep 2021 16:14:28 -0400 Subject: [PATCH 008/118] Only report missing version when a file actually loads --- ts/components/loader.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ts/components/loader.ts b/ts/components/loader.ts index 26cecaf84..bf4d1f19c 100644 --- a/ts/components/loader.ts +++ b/ts/components/loader.ts @@ -177,7 +177,7 @@ export namespace Loader { extension.checkNoLoad(); promises.push(extension.promise.then(() => { if (!CONFIG.versionWarnings) return; - if (!versions.has(Package.resolvePath(name))) { + if (extension.isLoaded && !versions.has(Package.resolvePath(name))) { console.warn(`No version information available for component ${name}`); } }) as Promise); From 50be6876b3c33633f37d68ba5e7749e326e987ef Mon Sep 17 00:00:00 2001 From: "Davide P. Cervone" Date: Wed, 15 Sep 2021 17:16:50 -0400 Subject: [PATCH 009/118] Fix problem with msubsup when subscript is blank (#2765) --- ts/output/chtml/Wrappers/msubsup.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ts/output/chtml/Wrappers/msubsup.ts b/ts/output/chtml/Wrappers/msubsup.ts index 433d99588..96a67fc20 100644 --- a/ts/output/chtml/Wrappers/msubsup.ts +++ b/ts/output/chtml/Wrappers/msubsup.ts @@ -94,7 +94,7 @@ CommonMsubsupMixin, Constructor *': { + 'mjx-script > mjx-spacer': { display: 'block' } }; From 135a904f33ba2f170ef7b4d715d67cffd5630d3a Mon Sep 17 00:00:00 2001 From: "Davide P. Cervone" Date: Wed, 15 Sep 2021 17:12:42 -0400 Subject: [PATCH 010/118] Fix placement of surd when root extends above the horizontal line (#2764) --- ts/output/svg/Wrappers/msqrt.ts | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/ts/output/svg/Wrappers/msqrt.ts b/ts/output/svg/Wrappers/msqrt.ts index 10c1358a2..bb7e2f3ba 100644 --- a/ts/output/svg/Wrappers/msqrt.ts +++ b/ts/output/svg/Wrappers/msqrt.ts @@ -56,7 +56,6 @@ export class SVGmsqrt extends CommonMsqrtMixin extends CommonMsqrtMixin Date: Thu, 16 Sep 2021 12:26:37 -0400 Subject: [PATCH 011/118] Update webpack files for empheq and cases (mathjax/MathJax#2762) --- .../src/input/tex/extensions/cases/webpack.config.js | 8 ++++---- .../src/input/tex/extensions/empheq/webpack.config.js | 8 ++++---- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/components/src/input/tex/extensions/cases/webpack.config.js b/components/src/input/tex/extensions/cases/webpack.config.js index 8b5ed697e..057036b38 100644 --- a/components/src/input/tex/extensions/cases/webpack.config.js +++ b/components/src/input/tex/extensions/cases/webpack.config.js @@ -1,14 +1,14 @@ const PACKAGE = require('../../../../../webpack.common.js'); module.exports = PACKAGE( - 'cases', // the package to build - '../../../../../js', // location of the compiled js files - [ // packages to link to (relative to Mathjax components) + 'input/tex/extensions/cases', // the package to build + '../../../../../../js', // location of the compiled js files + [ // packages to link to (relative to Mathjax components) 'components/src/input/tex-base/lib', 'components/src/input/tex/extensions/ams/lib', 'components/src/input/tex/extensions/empheq/lib', 'components/src/core/lib' ], - __dirname // our directory + __dirname // our directory ); diff --git a/components/src/input/tex/extensions/empheq/webpack.config.js b/components/src/input/tex/extensions/empheq/webpack.config.js index 5befec567..735dd6d90 100644 --- a/components/src/input/tex/extensions/empheq/webpack.config.js +++ b/components/src/input/tex/extensions/empheq/webpack.config.js @@ -1,12 +1,12 @@ const PACKAGE = require('../../../../../webpack.common.js'); module.exports = PACKAGE( - 'empheq', // the package to build - '../../../../../js', // location of the compiled js files - [ // packages to link to + 'input/tex/extensions/empheq', // the package to build + '../../../../../../js', // location of the compiled js files + [ // packages to link to 'components/src/input/tex-base/lib', 'components/src/core/lib' ], - __dirname // our directory + __dirname // our directory ); From 43a30ca333efc9929a501d25571d46903465fd93 Mon Sep 17 00:00:00 2001 From: zorkow Date: Fri, 24 Sep 2021 02:18:27 +0200 Subject: [PATCH 012/118] Initial integration working. --- ts/a11y/explorer.ts | 9 ++- ts/a11y/explorer/Explorer.ts | 14 ++--- ts/a11y/explorer/KeyExplorer.ts | 101 ++++++++++++++++++------------- ts/a11y/explorer/Region.ts | 23 +++---- ts/a11y/explorer/TreeExplorer.ts | 11 ++-- ts/a11y/semantic-enrich.ts | 10 ++- ts/a11y/sre.ts | 57 ++++++++--------- tsconfig.json | 3 +- 8 files changed, 126 insertions(+), 102 deletions(-) diff --git a/ts/a11y/explorer.ts b/ts/a11y/explorer.ts index c36c578e5..22c584499 100644 --- a/ts/a11y/explorer.ts +++ b/ts/a11y/explorer.ts @@ -39,6 +39,9 @@ import {LiveRegion, ToolTip, HoverRegion} from './explorer/Region.js'; import {Submenu} from 'mj-context-menu/js/item_submenu.js'; +import {engineSetup} from 'speech-rule-engine/js/common/system.js'; +import {Variables} from 'speech-rule-engine/js/common/variables.js'; + /** * Generic constructor for Mixins */ @@ -395,7 +398,7 @@ let allExplorers: {[options: string]: ExplorerInit} = { doc, doc.explorerRegions.speechRegion, node, ...rest) as ke.SpeechExplorer; explorer.speechGenerator.setOptions({ locale: doc.options.sre.locale, domain: doc.options.sre.domain, - style: doc.options.sre.style, modality: 'speech', cache: false}); + style: doc.options.sre.style, modality: 'speech'}); explorer.showRegion = 'subtitles'; return explorer; }, @@ -458,7 +461,7 @@ function initExplorers(document: ExplorerMathDocument, node: HTMLElement, mml: s * @param {{[key: string]: any}} options Association list for a11y option value pairs. */ export function setA11yOptions(document: HTMLDOCUMENT, options: {[key: string]: any}) { - let sreOptions = SRE.engineSetup() as {[name: string]: string}; + let sreOptions = engineSetup() as {[name: string]: string}; for (let key in options) { if (document.options.a11y[key] !== undefined) { setA11yOption(document, key, options[key]); @@ -640,7 +643,7 @@ const iso: {[locale: string]: string} = { let language = function(menu: MJContextMenu, sub: Submenu) { let radios: {type: string, id: string, content: string, variable: string}[] = []; - for (let lang of sre.Variables.LOCALES) { + for (let lang of Variables.LOCALES) { if (lang === 'nemeth') continue; radios.push({type: 'radio', id: lang, content: iso[lang] || lang, variable: 'locale'}); diff --git a/ts/a11y/explorer/Explorer.ts b/ts/a11y/explorer/Explorer.ts index 0141765d4..5d2e6f068 100644 --- a/ts/a11y/explorer/Explorer.ts +++ b/ts/a11y/explorer/Explorer.ts @@ -24,8 +24,8 @@ import {A11yDocument, Region} from './Region.js'; -import '../sre.js'; - +import {Highlighter} from 'speech-rule-engine/js/highlighter/highlighter.js'; +import * as HighlighterFactory from 'speech-rule-engine/js/highlighter/highlighter_factory.js'; /** * A11y explorers. @@ -113,9 +113,9 @@ export class AbstractExplorer implements Explorer { /** * The SRE highlighter associated with the walker. - * @type {sre.Highlighter} + * @type {Highlighter} */ - protected highlighter: sre.Highlighter = this.getHighlighter(); + protected highlighter: Highlighter = this.getHighlighter(); /** * Flag if explorer is active. @@ -257,15 +257,15 @@ export class AbstractExplorer implements Explorer { /** - * @return {sre.Highlighter} A highlighter for the explorer. + * @return {Highlighter} A highlighter for the explorer. */ - protected getHighlighter(): sre.Highlighter { + protected getHighlighter(): Highlighter { let opts = this.document.options.a11y; let foreground = {color: opts.foregroundColor.toLowerCase(), alpha: opts.foregroundOpacity / 100}; let background = {color: opts.backgroundColor.toLowerCase(), alpha: opts.backgroundOpacity / 100}; - return sre.HighlighterFactory.highlighter( + return HighlighterFactory.highlighter( background, foreground, {renderer: this.document.outputJax.name, browser: 'v3'}); } diff --git a/ts/a11y/explorer/KeyExplorer.ts b/ts/a11y/explorer/KeyExplorer.ts index 04364595a..6abe6eee0 100644 --- a/ts/a11y/explorer/KeyExplorer.ts +++ b/ts/a11y/explorer/KeyExplorer.ts @@ -26,6 +26,11 @@ import {A11yDocument, Region} from './Region.js'; import {Explorer, AbstractExplorer} from './Explorer.js'; import {sreReady} from '../sre.js'; +import {setupEngine} from 'speech-rule-engine/js/common/system.js'; +import {Walker} from 'speech-rule-engine/js/walker/walker.js'; +import * as WalkerFactory from 'speech-rule-engine/js/walker/walker_factory.js'; +import {SpeechGenerator} from 'speech-rule-engine/js/speech_generator/speech_generator.js'; +import * as SpeechGeneratorFactory from 'speech-rule-engine/js/speech_generator/speech_generator_factory.js'; /** @@ -71,9 +76,9 @@ export abstract class AbstractKeyExplorer extends AbstractExplorer impleme /** * The attached SRE walker. - * @type {sre.Walker} + * @type {Walker} */ - protected walker: sre.Walker; + protected walker: Walker; private eventsAttached: boolean = false; @@ -121,7 +126,7 @@ export abstract class AbstractKeyExplorer extends AbstractExplorer impleme this.walker.refocus(); nodes = this.walker.getFocus().getNodes(); } - this.highlighter.highlight(nodes); + this.highlighter.highlight(nodes as HTMLElement[]); } /** @@ -178,11 +183,13 @@ export abstract class AbstractKeyExplorer extends AbstractExplorer impleme */ export class SpeechExplorer extends AbstractKeyExplorer { + private static updatePromise = Promise.resolve(); + /** * The SRE speech generator associated with the walker. - * @type {sre.SpeechGenerator} + * @type {SpeechGenerator} */ - public speechGenerator: sre.SpeechGenerator; + public speechGenerator: SpeechGenerator; /** * The name of the option used to control when this is being shown @@ -207,7 +214,7 @@ export class SpeechExplorer extends AbstractKeyExplorer { constructor(public document: A11yDocument, protected region: Region, protected node: HTMLElement, - private mml: HTMLElement) { + private mml: string) { super(document, region, node); this.initWalker(); } @@ -222,26 +229,30 @@ export class SpeechExplorer extends AbstractKeyExplorer { // TODO: Check and set locale not only on init, but on every start. if (!this.init) { this.init = true; - sreReady().then(() => { - if (SRE.engineSetup().locale !== options.locale) { - SRE.setupEngine({locale: options.locale}); - } - sreReady().then(() => { - this.Speech(this.walker); - this.Start(); + SpeechExplorer.updatePromise.then(() => { + SpeechExplorer.updatePromise = new Promise((res) => { + sreReady() + .then(() => setupEngine({locale: options.locale})) + .then(() => { + this.Speech(this.walker); + this.Start(); + }) + .then(() => res()); }); - }).catch((error: Error) => console.log(error.message)); + }) + .catch((error: Error) => console.log(error.message)); return; } super.Start(); - this.speechGenerator = sre.SpeechGeneratorFactory.generator('Direct'); + this.speechGenerator = SpeechGeneratorFactory.generator('Direct'); this.speechGenerator.setOptions(options); - this.walker = sre.WalkerFactory.walker( + this.walker = WalkerFactory.walker( 'table', this.node, this.speechGenerator, this.highlighter, this.mml); this.walker.activate(); this.Update(); if (this.document.options.a11y[this.showRegion]) { - this.region.Show(this.node, this.highlighter); + SpeechExplorer.updatePromise.then( + () => this.region.Show(this.node, this.highlighter)); } this.restarted = true; } @@ -253,31 +264,39 @@ export class SpeechExplorer extends AbstractKeyExplorer { public Update(force: boolean = false) { super.Update(force); let options = this.speechGenerator.getOptions(); - SRE.setupEngine({modality: options.modality, - locale: options.locale}); - this.region.Update(this.walker.speech()); - // This is a necessary in case speech options have changed via keypress - // during walking. - if (options.modality === 'speech') { - this.document.options.sre.domain = options.domain; - this.document.options.sre.style = options.style; - this.document.options.a11y.speechRules = - options.domain + '-' + options.style; - } + SpeechExplorer.updatePromise.then(() => { + SpeechExplorer.updatePromise = new Promise((res) => { + sreReady() + .then(() => setupEngine({modality: options.modality, + locale: options.locale})) + .then(() => this.region.Update(this.walker.speech())) + .then(() => res()); + }); + // This is a necessary in case speech options have changed via keypress + // during walking. + if (options.modality === 'speech') { + this.document.options.sre.domain = options.domain; + this.document.options.sre.style = options.style; + this.document.options.a11y.speechRules = + options.domain + '-' + options.style; + } + }); } /** * Computes the speech for the current expression once SRE is ready. - * @param {sre.Walker} walker The sre walker. + * @param {Walker} walker The sre walker. */ - public Speech(walker: sre.Walker) { - walker.speech(); - this.node.setAttribute('hasspeech', 'true'); - this.Update(); - if (this.restarted && this.document.options.a11y[this.showRegion]) { - this.region.Show(this.node, this.highlighter); - } + public Speech(walker: Walker) { + SpeechExplorer.updatePromise.then(() => { + walker.speech(); + this.node.setAttribute('hasspeech', 'true'); + this.Update(); + if (this.restarted && this.document.options.a11y[this.showRegion]) { + this.region.Show(this.node, this.highlighter); + } + }); } @@ -335,8 +354,8 @@ export class SpeechExplorer extends AbstractKeyExplorer { * Initialises the SRE walker. */ private initWalker() { - this.speechGenerator = sre.SpeechGeneratorFactory.generator('Tree'); - let dummy = sre.WalkerFactory.walker( + this.speechGenerator = SpeechGeneratorFactory.generator('Tree'); + let dummy = WalkerFactory.walker( 'dummy', this.node, this.speechGenerator, this.highlighter, this.mml); this.walker = dummy; } @@ -378,10 +397,10 @@ export class Magnifier extends AbstractKeyExplorer { constructor(public document: A11yDocument, protected region: Region, protected node: HTMLElement, - private mml: HTMLElement) { + private mml: string) { super(document, region, node); - this.walker = sre.WalkerFactory.walker( - 'table', this.node, sre.SpeechGeneratorFactory.generator('Dummy'), + this.walker = WalkerFactory.walker( + 'table', this.node, SpeechGeneratorFactory.generator('Dummy'), this.highlighter, this.mml); } diff --git a/ts/a11y/explorer/Region.ts b/ts/a11y/explorer/Region.ts index fc8865782..7a7e733b4 100644 --- a/ts/a11y/explorer/Region.ts +++ b/ts/a11y/explorer/Region.ts @@ -25,7 +25,8 @@ import {MathDocument} from '../../core/MathDocument.js'; import {CssStyles} from '../../util/StyleList.js'; -import '../sre.js'; +import {Highlighter} from 'speech-rule-engine/js/highlighter/highlighter.js'; +// import '../sre.js'; export type A11yDocument = MathDocument; @@ -44,9 +45,9 @@ export interface Region { /** * Shows the live region in the document. * @param {HTMLElement} node - * @param {sre.Highlighter} highlighter + * @param {Highlighter} highlighter */ - Show(node: HTMLElement, highlighter: sre.Highlighter): void; + Show(node: HTMLElement, highlighter: Highlighter): void; /** * Takes the element out of the document flow. @@ -151,7 +152,7 @@ export abstract class AbstractRegion implements Region { /** * @override */ - public Show(node: HTMLElement, highlighter: sre.Highlighter) { + public Show(node: HTMLElement, highlighter: Highlighter) { this.position(node); this.highlight(highlighter); this.div.classList.add(this.CLASS.className + '_Show'); @@ -167,9 +168,9 @@ export abstract class AbstractRegion implements Region { /** * Highlights the region. - * @param {sre.Highlighter} highlighter The SRE highlighter. + * @param {Highlighter} highlighter The SRE highlighter. */ - protected abstract highlight(highlighter: sre.Highlighter): void; + protected abstract highlight(highlighter: Highlighter): void; /** @@ -258,7 +259,7 @@ export class DummyRegion extends AbstractRegion { /** * @override */ - public highlight(_highlighter: sre.Highlighter) {} + public highlight(_highlighter: Highlighter) {} } @@ -267,7 +268,7 @@ export class StringRegion extends AbstractRegion { /** * @override */ - public Clear(): void { + public Clear(): void { this.Update(''); this.inner.style.top = ''; this.inner.style.backgroundColor = ''; @@ -293,7 +294,7 @@ export class StringRegion extends AbstractRegion { /** * @override */ - protected highlight(highlighter: sre.Highlighter) { + protected highlight(highlighter: Highlighter) { const color = highlighter.colorString(); this.inner.style.backgroundColor = color.background; this.inner.style.color = color.foreground; @@ -437,7 +438,7 @@ export class HoverRegion extends AbstractRegion { /** * @override */ - protected highlight(highlighter: sre.Highlighter) { + protected highlight(highlighter: Highlighter) { // TODO Do this with styles to avoid the interaction of SVG/CHTML. if (this.inner.firstChild && !(this.inner.firstChild as HTMLElement).hasAttribute('sre-highlight')) { @@ -451,7 +452,7 @@ export class HoverRegion extends AbstractRegion { /** * @override */ - public Show(node: HTMLElement, highlighter: sre.Highlighter) { + public Show(node: HTMLElement, highlighter: Highlighter) { this.div.style.fontSize = this.document.options.a11y.magnify; this.Update(node); super.Show(node, highlighter); diff --git a/ts/a11y/explorer/TreeExplorer.ts b/ts/a11y/explorer/TreeExplorer.ts index dacea9921..af654d91c 100644 --- a/ts/a11y/explorer/TreeExplorer.ts +++ b/ts/a11y/explorer/TreeExplorer.ts @@ -26,7 +26,7 @@ import {A11yDocument, Region} from './Region.js'; import {Explorer, AbstractExplorer} from './Explorer.js'; -import '../sre.js'; +import * as SpeechGeneratorFactory from 'speech-rule-engine/js/speech_generator/speech_generator_factory.js'; export interface TreeExplorer extends Explorer { @@ -87,7 +87,7 @@ export class FlameColorer extends AbstractTreeExplorer { */ public Stop() { if (this.active) { - this.highlighter.unhighlightAll(this.node); + this.highlighter.unhighlightAll(); } this.active = false; } @@ -103,12 +103,13 @@ export class TreeColorer extends AbstractTreeExplorer { public Start() { if (this.active) return; this.active = true; - let generator = sre.SpeechGeneratorFactory.generator('Color'); + let generator = SpeechGeneratorFactory.generator('Color'); if (!this.node.hasAttribute('hasforegroundcolor')) { generator.generateSpeech(this.node, this.mml); this.node.setAttribute('hasforegroundcolor', 'true'); } - this.highlighter.colorizeAll(this.node); + // TODO: Make this cleaner in SRE. + (this.highlighter as any).colorizeAll(this.node); } /** @@ -116,7 +117,7 @@ export class TreeColorer extends AbstractTreeExplorer { */ public Stop() { if (this.active) { - this.highlighter.uncolorizeAll(this.node); + (this.highlighter as any).uncolorizeAll(this.node); } this.active = false; } diff --git a/ts/a11y/semantic-enrich.ts b/ts/a11y/semantic-enrich.ts index d841acbed..0a60ada17 100644 --- a/ts/a11y/semantic-enrich.ts +++ b/ts/a11y/semantic-enrich.ts @@ -29,8 +29,9 @@ import {MmlNode} from '../core/MmlTree/MmlNode.js'; import {MathML} from '../input/mathml.js'; import {SerializedMmlVisitor} from '../core/MmlTree/SerializedMmlVisitor.js'; import {OptionList, expandable} from '../util/Options.js'; +import {setupEngine, toEnriched} from 'speech-rule-engine/js/common/system.js'; -import {sreReady} from './sre.js'; +// import {sreReady} from './sre.js'; /*==========================================================================*/ @@ -128,17 +129,14 @@ export function EnrichedMathItemMixin, force: boolean = false) { if (this.state() >= STATE.ENRICHED) return; if (!this.isEscaped && (document.options.enableEnrichment || force)) { - if (typeof sre === 'undefined' || !sre.Engine.isReady()) { - mathjax.retryAfter(sreReady()); - } if (document.options.sre.speech !== currentSpeech) { - SRE.setupEngine(document.options.sre); currentSpeech = document.options.sre.speech; + mathjax.retryAfter(setupEngine(document.options.sre)); } const math = new document.options.MathItem('', MmlJax); try { const mml = this.inputData.originalMml = toMathML(this.root); - math.math = this.serializeMml(SRE.toEnriched(mml)); + math.math = this.serializeMml(toEnriched(mml)); math.display = this.display; math.compile(document); this.root = math.root; diff --git a/ts/a11y/sre.ts b/ts/a11y/sre.ts index 1dee990cb..66d89ae79 100644 --- a/ts/a11y/sre.ts +++ b/ts/a11y/sre.ts @@ -22,45 +22,46 @@ * @author dpvc@mathjax.org (Davide Cervone) */ -import {asyncLoad} from '../util/AsyncLoad.js'; +// import {asyncLoad} from '../util/AsyncLoad.js'; +import {engineReady} from 'speech-rule-engine/js/common/system.js'; /** * The name of the modiule to load, if necessary */ -const SRELIB = (typeof window === 'undefined' ? './a11y/sre-node.js' : - '../../../speech-rule-engine/lib/sre_browser.js'); +// const SRELIB = (typeof window === 'undefined' ? './a11y/sre-node.js' : +// '../../../speech-rule-engine/lib/sre_browser.js'); /** * The promise for loading the SRE library, if it is not already loaded */ -const srePromise = (typeof sre === 'undefined' ? asyncLoad(SRELIB) : Promise.resolve()); +// const srePromise = engineReady(); // (typeof sre === 'undefined' ? asyncLoad(SRELIB) : Promise.resolve()); -/** - * Values to control the polling for when SRE is ready - */ -const SRE_DELAY = 100; // in milliseconds -const SRE_TIMEOUT = 20 * 1000; // 20 seconds +// /** +// * Values to control the polling for when SRE is ready +// */ +// const SRE_DELAY = 100; // in milliseconds +// const SRE_TIMEOUT = 20 * 1000; // 20 seconds /** * A promise that resolves when SRE is loaded and ready, and rejects if * SRE can't be loaded, or does not become ready within the timout period. */ -export const sreReady = function() { - return new Promise((resolve, reject) => { - srePromise.then(() => { - const start = new Date().getTime(); - const checkSRE = function () { - if (sre.Engine.isReady()) { - resolve(); - } else { - if (new Date().getTime() - start < SRE_TIMEOUT) { - setTimeout(checkSRE, SRE_DELAY); - } else { - reject('Timed out waiting for Speech-Rule-Engine'); - } - } - }; - checkSRE(); - }).catch((error: Error) => reject(error.message || error)); - }); -}; +export const sreReady = engineReady;// function() { +// return new Promise((resolve, reject) => { +// srePromise.then(() => { +// const start = new Date().getTime(); +// const checkSRE = function () { +// if (sre.Engine.isReady()) { +// resolve(); +// } else { +// if (new Date().getTime() - start < SRE_TIMEOUT) { +// setTimeout(checkSRE, SRE_DELAY); +// } else { +// reject('Timed out waiting for Speech-Rule-Engine'); +// } +// } +// }; +// checkSRE(); +// }).catch((error: Error) => reject(error.message || error)); +// }); +// }; diff --git a/tsconfig.json b/tsconfig.json index 932f89d59..0f0931483 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -12,7 +12,8 @@ "removeComments": true, "baseUrl": ".", "paths": { - "mj-context-menu": ["node_modules/mj-context-menu"] + "mj-context-menu": ["node_modules/mj-context-menu"], + "sre-rule-engine": ["speech-rule-engine"] }, "lib": ["es6", "dom"], "noLib": false, From 4edba7d67ed064e92a4e783d8733e1162f6b41ec Mon Sep 17 00:00:00 2001 From: zorkow Date: Fri, 24 Sep 2021 11:09:31 +0200 Subject: [PATCH 013/118] Fixes up the clearspeak configuration menu. --- ts/a11y/explorer.ts | 14 +++++++++----- ts/a11y/explorer/KeyExplorer.ts | 3 ++- ts/ui/menu/Menu.ts | 4 +++- tsconfig.json | 2 +- 4 files changed, 15 insertions(+), 8 deletions(-) diff --git a/ts/a11y/explorer.ts b/ts/a11y/explorer.ts index 22c584499..7e21efd35 100644 --- a/ts/a11y/explorer.ts +++ b/ts/a11y/explorer.ts @@ -39,8 +39,10 @@ import {LiveRegion, ToolTip, HoverRegion} from './explorer/Region.js'; import {Submenu} from 'mj-context-menu/js/item_submenu.js'; +import {EngineConst} from 'speech-rule-engine/js/common/engine.js'; import {engineSetup} from 'speech-rule-engine/js/common/system.js'; import {Variables} from 'speech-rule-engine/js/common/variables.js'; +import {ClearspeakPreferences} from 'speech-rule-engine/js/speech_rules/clearspeak_preferences.js'; /** * Generic constructor for Mixins @@ -552,8 +554,8 @@ let csPrefsVariables = function(menu: MJContextMenu, prefs: string[]) { csPrefsSetting[pref] = value; srVariable.setValue( 'clearspeak-' + - sre.ClearspeakPreferences.addPreference( - sre.Engine.DOMAIN_TO_STYLES['clearspeak'], pref, value) + ClearspeakPreferences.addPreference( + EngineConst.DOMAIN_TO_STYLES['clearspeak'], pref, value) ); }, getter: () => { return csPrefsSetting[pref] || 'Auto'; } @@ -567,7 +569,7 @@ let csPrefsVariables = function(menu: MJContextMenu, prefs: string[]) { * @param {string} locale The current locale. */ let csSelectionBox = function(menu: MJContextMenu, locale: string) { - let prefs = sre.ClearspeakPreferences.getLocalePreferences(); + let prefs = ClearspeakPreferences.getLocalePreferences(); let props = prefs[locale]; if (!props) { let csEntry = menu.findID('Accessibility', 'Speech', 'Clearspeak'); @@ -608,9 +610,11 @@ let csMenu = function(menu: MJContextMenu, sub: Submenu) { const box = csSelectionBox(menu, locale); let items: Object[] = []; try { - items = sre.ClearspeakPreferences.smartPreferences( + items = ClearspeakPreferences.smartPreferences( menu.mathItem, locale); - } catch (e) {} + } catch (e) { + console.log(e); + } if (box) { items.splice(2, 0, box); } diff --git a/ts/a11y/explorer/KeyExplorer.ts b/ts/a11y/explorer/KeyExplorer.ts index 6abe6eee0..7ae11f312 100644 --- a/ts/a11y/explorer/KeyExplorer.ts +++ b/ts/a11y/explorer/KeyExplorer.ts @@ -226,7 +226,6 @@ export class SpeechExplorer extends AbstractKeyExplorer { public Start() { if (!this.attached) return; let options = this.getOptions(); - // TODO: Check and set locale not only on init, but on every start. if (!this.init) { this.init = true; SpeechExplorer.updatePromise.then(() => { @@ -234,6 +233,8 @@ export class SpeechExplorer extends AbstractKeyExplorer { sreReady() .then(() => setupEngine({locale: options.locale})) .then(() => { + // Important that both are in the same block so speech explorers + // are restarted sequentially. this.Speech(this.walker); this.Start(); }) diff --git a/ts/ui/menu/Menu.ts b/ts/ui/menu/Menu.ts index 7553aafc3..de125ccf1 100644 --- a/ts/ui/menu/Menu.ts +++ b/ts/ui/menu/Menu.ts @@ -41,6 +41,8 @@ import {Rule} from 'mj-context-menu/js/item_rule.js'; import {CssStyles} from 'mj-context-menu/js/css_util.js'; import {Submenu} from 'mj-context-menu/js/item_submenu.js'; +import {setupEngine} from 'speech-rule-engine/js/common/system.js'; + /*==========================================================================*/ /** @@ -418,7 +420,7 @@ export class Menu { this.a11yVar('subtitles'), this.a11yVar('braille'), this.a11yVar('viewBraille'), - this.a11yVar('locale', value => SRE.setupEngine({locale: value as string})), + this.a11yVar('locale', value => setupEngine({locale: value as string})), this.a11yVar ('speechRules', value => { const [domain, style] = value.split('-'); this.document.options.sre.domain = domain; diff --git a/tsconfig.json b/tsconfig.json index 0f0931483..eebe0311d 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -15,7 +15,7 @@ "mj-context-menu": ["node_modules/mj-context-menu"], "sre-rule-engine": ["speech-rule-engine"] }, - "lib": ["es6", "dom"], + "lib": ["es6", "dom", "es2020"], "noLib": false, "sourceMap": true, "outDir": "js", From 2360da55b72fd8a37e5faf68d5729e1d226e1503 Mon Sep 17 00:00:00 2001 From: zorkow Date: Fri, 24 Sep 2021 13:34:31 +0200 Subject: [PATCH 014/118] Refactored into dedicated sre module. --- ts/a11y/explorer.ts | 17 ++- ts/a11y/explorer/Explorer.ts | 15 ++- ts/a11y/explorer/KeyExplorer.ts | 43 ++++--- ts/a11y/explorer/Region.ts | 21 ++-- ts/a11y/explorer/TreeExplorer.ts | 7 +- ts/a11y/semantic-enrich.ts | 12 +- ts/a11y/sre-node.ts | 32 +++--- ts/a11y/sre.ts | 56 +++------ ts/a11y/sre_browser.d.ts | 190 +++++++++++++++---------------- ts/ui/menu/Menu.ts | 5 +- 10 files changed, 178 insertions(+), 220 deletions(-) diff --git a/ts/a11y/explorer.ts b/ts/a11y/explorer.ts index 7e21efd35..76ed72103 100644 --- a/ts/a11y/explorer.ts +++ b/ts/a11y/explorer.ts @@ -39,10 +39,7 @@ import {LiveRegion, ToolTip, HoverRegion} from './explorer/Region.js'; import {Submenu} from 'mj-context-menu/js/item_submenu.js'; -import {EngineConst} from 'speech-rule-engine/js/common/engine.js'; -import {engineSetup} from 'speech-rule-engine/js/common/system.js'; -import {Variables} from 'speech-rule-engine/js/common/variables.js'; -import {ClearspeakPreferences} from 'speech-rule-engine/js/speech_rules/clearspeak_preferences.js'; +import * as Sre from './sre.js'; /** * Generic constructor for Mixins @@ -463,7 +460,7 @@ function initExplorers(document: ExplorerMathDocument, node: HTMLElement, mml: s * @param {{[key: string]: any}} options Association list for a11y option value pairs. */ export function setA11yOptions(document: HTMLDOCUMENT, options: {[key: string]: any}) { - let sreOptions = engineSetup() as {[name: string]: string}; + let sreOptions = Sre.engineSetup() as {[name: string]: string}; for (let key in options) { if (document.options.a11y[key] !== undefined) { setA11yOption(document, key, options[key]); @@ -554,8 +551,8 @@ let csPrefsVariables = function(menu: MJContextMenu, prefs: string[]) { csPrefsSetting[pref] = value; srVariable.setValue( 'clearspeak-' + - ClearspeakPreferences.addPreference( - EngineConst.DOMAIN_TO_STYLES['clearspeak'], pref, value) + Sre.ClearspeakPreferences.addPreference( + Sre.EngineConst.DOMAIN_TO_STYLES['clearspeak'], pref, value) ); }, getter: () => { return csPrefsSetting[pref] || 'Auto'; } @@ -569,7 +566,7 @@ let csPrefsVariables = function(menu: MJContextMenu, prefs: string[]) { * @param {string} locale The current locale. */ let csSelectionBox = function(menu: MJContextMenu, locale: string) { - let prefs = ClearspeakPreferences.getLocalePreferences(); + let prefs = Sre.ClearspeakPreferences.getLocalePreferences(); let props = prefs[locale]; if (!props) { let csEntry = menu.findID('Accessibility', 'Speech', 'Clearspeak'); @@ -610,7 +607,7 @@ let csMenu = function(menu: MJContextMenu, sub: Submenu) { const box = csSelectionBox(menu, locale); let items: Object[] = []; try { - items = ClearspeakPreferences.smartPreferences( + items = Sre.ClearspeakPreferences.smartPreferences( menu.mathItem, locale); } catch (e) { console.log(e); @@ -647,7 +644,7 @@ const iso: {[locale: string]: string} = { let language = function(menu: MJContextMenu, sub: Submenu) { let radios: {type: string, id: string, content: string, variable: string}[] = []; - for (let lang of Variables.LOCALES) { + for (let lang of Sre.Locales) { if (lang === 'nemeth') continue; radios.push({type: 'radio', id: lang, content: iso[lang] || lang, variable: 'locale'}); diff --git a/ts/a11y/explorer/Explorer.ts b/ts/a11y/explorer/Explorer.ts index 5d2e6f068..53a209afe 100644 --- a/ts/a11y/explorer/Explorer.ts +++ b/ts/a11y/explorer/Explorer.ts @@ -24,8 +24,7 @@ import {A11yDocument, Region} from './Region.js'; -import {Highlighter} from 'speech-rule-engine/js/highlighter/highlighter.js'; -import * as HighlighterFactory from 'speech-rule-engine/js/highlighter/highlighter_factory.js'; +import * as Sre from '../sre.js'; /** * A11y explorers. @@ -112,10 +111,10 @@ export class AbstractExplorer implements Explorer { protected events: [string, (x: Event) => void][] = []; /** - * The SRE highlighter associated with the walker. - * @type {Highlighter} + * The Sre highlighter associated with the walker. + * @type {Sre.Highlighter} */ - protected highlighter: Highlighter = this.getHighlighter(); + protected highlighter: Sre.Highlighter = this.getHighlighter(); /** * Flag if explorer is active. @@ -257,15 +256,15 @@ export class AbstractExplorer implements Explorer { /** - * @return {Highlighter} A highlighter for the explorer. + * @return {Sre.Highlighter} A highlighter for the explorer. */ - protected getHighlighter(): Highlighter { + protected getHighlighter(): Sre.Highlighter { let opts = this.document.options.a11y; let foreground = {color: opts.foregroundColor.toLowerCase(), alpha: opts.foregroundOpacity / 100}; let background = {color: opts.backgroundColor.toLowerCase(), alpha: opts.backgroundOpacity / 100}; - return HighlighterFactory.highlighter( + return Sre.HighlighterFactory.highlighter( background, foreground, {renderer: this.document.outputJax.name, browser: 'v3'}); } diff --git a/ts/a11y/explorer/KeyExplorer.ts b/ts/a11y/explorer/KeyExplorer.ts index 7ae11f312..23b6bac1c 100644 --- a/ts/a11y/explorer/KeyExplorer.ts +++ b/ts/a11y/explorer/KeyExplorer.ts @@ -25,12 +25,7 @@ import {A11yDocument, Region} from './Region.js'; import {Explorer, AbstractExplorer} from './Explorer.js'; -import {sreReady} from '../sre.js'; -import {setupEngine} from 'speech-rule-engine/js/common/system.js'; -import {Walker} from 'speech-rule-engine/js/walker/walker.js'; -import * as WalkerFactory from 'speech-rule-engine/js/walker/walker_factory.js'; -import {SpeechGenerator} from 'speech-rule-engine/js/speech_generator/speech_generator.js'; -import * as SpeechGeneratorFactory from 'speech-rule-engine/js/speech_generator/speech_generator_factory.js'; +import * as Sre from '../sre.js'; /** @@ -75,10 +70,10 @@ export abstract class AbstractKeyExplorer extends AbstractExplorer impleme public attached: boolean = false; /** - * The attached SRE walker. + * The attached Sre walker. * @type {Walker} */ - protected walker: Walker; + protected walker: Sre.Walker; private eventsAttached: boolean = false; @@ -186,10 +181,10 @@ export class SpeechExplorer extends AbstractKeyExplorer { private static updatePromise = Promise.resolve(); /** - * The SRE speech generator associated with the walker. + * The Sre speech generator associated with the walker. * @type {SpeechGenerator} */ - public speechGenerator: SpeechGenerator; + public speechGenerator: Sre.SpeechGenerator; /** * The name of the option used to control when this is being shown @@ -201,7 +196,7 @@ export class SpeechExplorer extends AbstractKeyExplorer { /** * Flag in case the start method is triggered before the walker is fully - * initialised. I.e., we have to wait for SRE. Then region is re-shown if + * initialised. I.e., we have to wait for Sre. Then region is re-shown if * necessary, as otherwise it leads to incorrect stacking. * @type {boolean} */ @@ -230,8 +225,8 @@ export class SpeechExplorer extends AbstractKeyExplorer { this.init = true; SpeechExplorer.updatePromise.then(() => { SpeechExplorer.updatePromise = new Promise((res) => { - sreReady() - .then(() => setupEngine({locale: options.locale})) + Sre.sreReady() + .then(() => Sre.setupEngine({locale: options.locale})) .then(() => { // Important that both are in the same block so speech explorers // are restarted sequentially. @@ -245,9 +240,9 @@ export class SpeechExplorer extends AbstractKeyExplorer { return; } super.Start(); - this.speechGenerator = SpeechGeneratorFactory.generator('Direct'); + this.speechGenerator = Sre.SpeechGeneratorFactory.generator('Direct'); this.speechGenerator.setOptions(options); - this.walker = WalkerFactory.walker( + this.walker = Sre.WalkerFactory.walker( 'table', this.node, this.speechGenerator, this.highlighter, this.mml); this.walker.activate(); this.Update(); @@ -267,8 +262,8 @@ export class SpeechExplorer extends AbstractKeyExplorer { let options = this.speechGenerator.getOptions(); SpeechExplorer.updatePromise.then(() => { SpeechExplorer.updatePromise = new Promise((res) => { - sreReady() - .then(() => setupEngine({modality: options.modality, + Sre.sreReady() + .then(() => Sre.setupEngine({modality: options.modality, locale: options.locale})) .then(() => this.region.Update(this.walker.speech())) .then(() => res()); @@ -286,10 +281,10 @@ export class SpeechExplorer extends AbstractKeyExplorer { /** - * Computes the speech for the current expression once SRE is ready. + * Computes the speech for the current expression once Sre is ready. * @param {Walker} walker The sre walker. */ - public Speech(walker: Walker) { + public Speech(walker: Sre.Walker) { SpeechExplorer.updatePromise.then(() => { walker.speech(); this.node.setAttribute('hasspeech', 'true'); @@ -352,11 +347,11 @@ export class SpeechExplorer extends AbstractKeyExplorer { } /** - * Initialises the SRE walker. + * Initialises the Sre walker. */ private initWalker() { - this.speechGenerator = SpeechGeneratorFactory.generator('Tree'); - let dummy = WalkerFactory.walker( + this.speechGenerator = Sre.SpeechGeneratorFactory.generator('Tree'); + let dummy = Sre.WalkerFactory.walker( 'dummy', this.node, this.speechGenerator, this.highlighter, this.mml); this.walker = dummy; } @@ -400,8 +395,8 @@ export class Magnifier extends AbstractKeyExplorer { protected node: HTMLElement, private mml: string) { super(document, region, node); - this.walker = WalkerFactory.walker( - 'table', this.node, SpeechGeneratorFactory.generator('Dummy'), + this.walker = Sre.WalkerFactory.walker( + 'table', this.node, Sre.SpeechGeneratorFactory.generator('Dummy'), this.highlighter, this.mml); } diff --git a/ts/a11y/explorer/Region.ts b/ts/a11y/explorer/Region.ts index 7a7e733b4..12a036fd6 100644 --- a/ts/a11y/explorer/Region.ts +++ b/ts/a11y/explorer/Region.ts @@ -25,8 +25,7 @@ import {MathDocument} from '../../core/MathDocument.js'; import {CssStyles} from '../../util/StyleList.js'; -import {Highlighter} from 'speech-rule-engine/js/highlighter/highlighter.js'; -// import '../sre.js'; +import * as Sre from '../sre.js'; export type A11yDocument = MathDocument; @@ -45,9 +44,9 @@ export interface Region { /** * Shows the live region in the document. * @param {HTMLElement} node - * @param {Highlighter} highlighter + * @param {Sre.Highlighter} highlighter */ - Show(node: HTMLElement, highlighter: Highlighter): void; + Show(node: HTMLElement, highlighter: Sre.Highlighter): void; /** * Takes the element out of the document flow. @@ -152,7 +151,7 @@ export abstract class AbstractRegion implements Region { /** * @override */ - public Show(node: HTMLElement, highlighter: Highlighter) { + public Show(node: HTMLElement, highlighter: Sre.Highlighter) { this.position(node); this.highlight(highlighter); this.div.classList.add(this.CLASS.className + '_Show'); @@ -168,9 +167,9 @@ export abstract class AbstractRegion implements Region { /** * Highlights the region. - * @param {Highlighter} highlighter The SRE highlighter. + * @param {Sre.Highlighter} highlighter The Sre highlighter. */ - protected abstract highlight(highlighter: Highlighter): void; + protected abstract highlight(highlighter: Sre.Highlighter): void; /** @@ -259,7 +258,7 @@ export class DummyRegion extends AbstractRegion { /** * @override */ - public highlight(_highlighter: Highlighter) {} + public highlight(_highlighter: Sre.Highlighter) {} } @@ -294,7 +293,7 @@ export class StringRegion extends AbstractRegion { /** * @override */ - protected highlight(highlighter: Highlighter) { + protected highlight(highlighter: Sre.Highlighter) { const color = highlighter.colorString(); this.inner.style.backgroundColor = color.background; this.inner.style.color = color.foreground; @@ -438,7 +437,7 @@ export class HoverRegion extends AbstractRegion { /** * @override */ - protected highlight(highlighter: Highlighter) { + protected highlight(highlighter: Sre.Highlighter) { // TODO Do this with styles to avoid the interaction of SVG/CHTML. if (this.inner.firstChild && !(this.inner.firstChild as HTMLElement).hasAttribute('sre-highlight')) { @@ -452,7 +451,7 @@ export class HoverRegion extends AbstractRegion { /** * @override */ - public Show(node: HTMLElement, highlighter: Highlighter) { + public Show(node: HTMLElement, highlighter: Sre.Highlighter) { this.div.style.fontSize = this.document.options.a11y.magnify; this.Update(node); super.Show(node, highlighter); diff --git a/ts/a11y/explorer/TreeExplorer.ts b/ts/a11y/explorer/TreeExplorer.ts index af654d91c..ab439cadc 100644 --- a/ts/a11y/explorer/TreeExplorer.ts +++ b/ts/a11y/explorer/TreeExplorer.ts @@ -26,8 +26,7 @@ import {A11yDocument, Region} from './Region.js'; import {Explorer, AbstractExplorer} from './Explorer.js'; -import * as SpeechGeneratorFactory from 'speech-rule-engine/js/speech_generator/speech_generator_factory.js'; - +import * as Sre from '../sre.js'; export interface TreeExplorer extends Explorer { @@ -103,12 +102,12 @@ export class TreeColorer extends AbstractTreeExplorer { public Start() { if (this.active) return; this.active = true; - let generator = SpeechGeneratorFactory.generator('Color'); + let generator = Sre.SpeechGeneratorFactory.generator('Color'); if (!this.node.hasAttribute('hasforegroundcolor')) { generator.generateSpeech(this.node, this.mml); this.node.setAttribute('hasforegroundcolor', 'true'); } - // TODO: Make this cleaner in SRE. + // TODO: Make this cleaner in Sre. (this.highlighter as any).colorizeAll(this.node); } diff --git a/ts/a11y/semantic-enrich.ts b/ts/a11y/semantic-enrich.ts index 0a60ada17..fe1d06ca3 100644 --- a/ts/a11y/semantic-enrich.ts +++ b/ts/a11y/semantic-enrich.ts @@ -29,14 +29,12 @@ import {MmlNode} from '../core/MmlTree/MmlNode.js'; import {MathML} from '../input/mathml.js'; import {SerializedMmlVisitor} from '../core/MmlTree/SerializedMmlVisitor.js'; import {OptionList, expandable} from '../util/Options.js'; -import {setupEngine, toEnriched} from 'speech-rule-engine/js/common/system.js'; - -// import {sreReady} from './sre.js'; +import * as Sre from './sre.js'; /*==========================================================================*/ /** - * The current speech setting for SRE + * The current speech setting for Sre */ let currentSpeech = 'none'; @@ -117,7 +115,7 @@ export function EnrichedMathItemMixin((resolve, reject) => { -// srePromise.then(() => { -// const start = new Date().getTime(); -// const checkSRE = function () { -// if (sre.Engine.isReady()) { -// resolve(); -// } else { -// if (new Date().getTime() - start < SRE_TIMEOUT) { -// setTimeout(checkSRE, SRE_DELAY); -// } else { -// reject('Timed out waiting for Speech-Rule-Engine'); -// } -// } -// }; -// checkSRE(); -// }).catch((error: Error) => reject(error.message || error)); -// }); -// }; +export const Locales = Variables.LOCALES; diff --git a/ts/a11y/sre_browser.d.ts b/ts/a11y/sre_browser.d.ts index a68191cf0..79d87ff1c 100644 --- a/ts/a11y/sre_browser.d.ts +++ b/ts/a11y/sre_browser.d.ts @@ -1,95 +1,95 @@ -declare namespace sre { - - export type colorType = {color: string, alpha: number}; - export type colorString = {foreground: string, background: string}; - - interface SpeechGenerator { - generateSpeech(node: HTMLElement, xml: HTMLElement): void; - setOptions(options: Object): void; - getOptions(): {[key: string]: string}; - } - - interface Highlighter { - highlight(nodes: Node[]): void; - unhighlight(): void; - highlightAll(node: Node): void; - unhighlightAll(node: Node): void; - colorString(): colorString; - isMactionNode(node: Node): boolean; - colorizeAll(node: Node): void; - uncolorizeAll(node: Node): void; - } - - interface Focus { - getNodes(): Element[]; - } - - interface Walker { - modifier: boolean; - activate(): void; - deactivate(): void; - speech(): string; - move(key: number): boolean; - refocus(): void; - getFocus(update?: boolean): Focus; - update(options: {[key: string]: string}): void; - } - -} - -declare namespace sre.WalkerFactory { - export function walker(kind: string, - node: Node, - generator: SpeechGenerator, - highlighter: Highlighter, - mml: Node): Walker; -} - -declare namespace sre.SpeechGeneratorFactory { - export function generator(kind: string): sre.SpeechGenerator; -} - -declare namespace sre.Engine { - export const DOMAIN_TO_STYLES: {[rules: string]: string}; - export function isReady(): boolean; -} - -declare namespace sre.HighlighterFactory { - - export function highlighter(fore: colorType, - back: colorType, - info: {renderer: string, browser?: string} - ): Highlighter; - -} - -declare namespace sre.ClearspeakPreferences { - - export function smartPreferences(item: Object, locale: string): Object[]; - - export function getLocalePreferences(): {[locale: string]: {[pref: string]: string[]}}; - - export function addPreference(previous: string, key: string, value: string): string; -} - -declare namespace sre.Variables { - export const LOCALES: string[]; -} - - - -declare namespace SRE { - type config = { - locale?: string, - modality?: string, - domain?: string, - style?: string, - markup?: string, - speech?: string, - semantics?: boolean, - cache?: boolean - }; - export function toEnriched(mml: string): void; - export function setupEngine(obj: config): void; - export function engineSetup(): config; -} +// declare namespace sre { + +// export type colorType = {color: string, alpha: number}; +// export type colorString = {foreground: string, background: string}; + +// interface SpeechGenerator { +// generateSpeech(node: HTMLElement, xml: HTMLElement): void; +// setOptions(options: Object): void; +// getOptions(): {[key: string]: string}; +// } + +// interface Highlighter { +// highlight(nodes: Node[]): void; +// unhighlight(): void; +// highlightAll(node: Node): void; +// unhighlightAll(node: Node): void; +// colorString(): colorString; +// isMactionNode(node: Node): boolean; +// colorizeAll(node: Node): void; +// uncolorizeAll(node: Node): void; +// } + +// interface Focus { +// getNodes(): Element[]; +// } + +// interface Walker { +// modifier: boolean; +// activate(): void; +// deactivate(): void; +// speech(): string; +// move(key: number): boolean; +// refocus(): void; +// getFocus(update?: boolean): Focus; +// update(options: {[key: string]: string}): void; +// } + +// } + +// declare namespace sre.WalkerFactory { +// export function walker(kind: string, +// node: Node, +// generator: SpeechGenerator, +// highlighter: Highlighter, +// mml: Node): Walker; +// } + +// declare namespace sre.SpeechGeneratorFactory { +// export function generator(kind: string): sre.SpeechGenerator; +// } + +// declare namespace sre.Engine { +// export const DOMAIN_TO_STYLES: {[rules: string]: string}; +// export function isReady(): boolean; +// } + +// declare namespace sre.HighlighterFactory { + +// export function highlighter(fore: colorType, +// back: colorType, +// info: {renderer: string, browser?: string} +// ): Highlighter; + +// } + +// declare namespace sre.ClearspeakPreferences { + +// export function smartPreferences(item: Object, locale: string): Object[]; + +// export function getLocalePreferences(): {[locale: string]: {[pref: string]: string[]}}; + +// export function addPreference(previous: string, key: string, value: string): string; +// } + +// declare namespace sre.Variables { +// export const LOCALES: string[]; +// } + + + +// declare namespace SRE { +// type config = { +// locale?: string, +// modality?: string, +// domain?: string, +// style?: string, +// markup?: string, +// speech?: string, +// semantics?: boolean, +// cache?: boolean +// }; +// export function toEnriched(mml: string): void; +// export function setupEngine(obj: config): void; +// export function engineSetup(): config; +// } diff --git a/ts/ui/menu/Menu.ts b/ts/ui/menu/Menu.ts index de125ccf1..ea9206822 100644 --- a/ts/ui/menu/Menu.ts +++ b/ts/ui/menu/Menu.ts @@ -41,7 +41,8 @@ import {Rule} from 'mj-context-menu/js/item_rule.js'; import {CssStyles} from 'mj-context-menu/js/css_util.js'; import {Submenu} from 'mj-context-menu/js/item_submenu.js'; -import {setupEngine} from 'speech-rule-engine/js/common/system.js'; +import * as Sre from '../../a11y/sre.js'; + /*==========================================================================*/ @@ -420,7 +421,7 @@ export class Menu { this.a11yVar('subtitles'), this.a11yVar('braille'), this.a11yVar('viewBraille'), - this.a11yVar('locale', value => setupEngine({locale: value as string})), + this.a11yVar('locale', value => Sre.setupEngine({locale: value as string})), this.a11yVar ('speechRules', value => { const [domain, style] = value.split('-'); this.document.options.sre.domain = domain; From 2db8b31c1c70cab3e8c4828ff35dd270af1c9476 Mon Sep 17 00:00:00 2001 From: zorkow Date: Fri, 24 Sep 2021 14:50:47 +0200 Subject: [PATCH 015/118] Corrects components for packing and loading with systemjs. --- components/src/a11y/complexity/build.json | 3 +- components/src/a11y/explorer/build.json | 2 +- components/src/dependencies.js | 5 +- components/src/source.js | 3 +- components/src/sre/copy.json | 1 - ts/a11y/speech-rule-engine.d.ts | 3 - ts/a11y/sre-node.ts | 43 ---------- ts/a11y/sre_browser.d.ts | 95 ----------------------- 8 files changed, 5 insertions(+), 150 deletions(-) delete mode 100644 ts/a11y/speech-rule-engine.d.ts delete mode 100644 ts/a11y/sre-node.ts delete mode 100644 ts/a11y/sre_browser.d.ts diff --git a/components/src/a11y/complexity/build.json b/components/src/a11y/complexity/build.json index 3c2d75f2a..c26a9b745 100644 --- a/components/src/a11y/complexity/build.json +++ b/components/src/a11y/complexity/build.json @@ -3,7 +3,6 @@ "targets": [ "a11y/complexity.ts", "a11y/complexity", - "a11y/semantic-enrich.ts", - "a11y/sre.ts" + "a11y/semantic-enrich.ts" ] } diff --git a/components/src/a11y/explorer/build.json b/components/src/a11y/explorer/build.json index 3a86275ab..9ebcdc5a1 100644 --- a/components/src/a11y/explorer/build.json +++ b/components/src/a11y/explorer/build.json @@ -1,4 +1,4 @@ { "component": "a11y/explorer", - "targets": ["a11y/explorer.ts", "a11y/sre.ts", "a11y/explorer"] + "targets": ["a11y/explorer.ts", "a11y/explorer"] } diff --git a/components/src/dependencies.js b/components/src/dependencies.js index f9be6f93e..c45123137 100644 --- a/components/src/dependencies.js +++ b/components/src/dependencies.js @@ -16,7 +16,7 @@ */ export const dependencies = { - 'a11y/semantic-enrich': ['input/mml', '[sre]'], + 'a11y/semantic-enrich': ['input/mml', 'a11y/sre'], 'a11y/complexity': ['a11y/semantic-enrich'], 'a11y/explorer': ['a11y/semantic-enrich', 'ui/menu'], '[mml]/mml3': ['input/mml'], @@ -57,8 +57,7 @@ export const dependencies = { export const paths = { tex: '[mathjax]/input/tex/extensions', - mml: '[mathjax]/input/mml/extensions', - sre: '[mathjax]/sre/' + (typeof window === 'undefined' ? 'sre-node' : 'sre_browser') + mml: '[mathjax]/input/mml/extensions' }; const allPackages = [ diff --git a/components/src/source.js b/components/src/source.js index ba6d68354..17eccbf2c 100644 --- a/components/src/source.js +++ b/components/src/source.js @@ -66,8 +66,7 @@ export const source = { 'a11y/semantic-enrich': `${src}/a11y/semantic-enrich/semantic-enrich.js`, 'a11y/complexity': `${src}/a11y/complexity/complexity.js`, 'a11y/explorer': `${src}/a11y/explorer/explorer.js`, - '[sre]': (typeof window === 'undefined' ? `${src}/../../js/a11y/sre-node.js` : - `${src}/../../node_modules/speech-rule-engine/lib/sre_browser.js`), + 'a11y/sre': `${src}/../../js/a11y/sre.js`, 'ui/lazy': `${src}/ui/lazy/lazy.js`, 'ui/menu': `${src}/ui/menu/menu.js`, 'ui/safe': `${src}/ui/safe/safe.js`, diff --git a/components/src/sre/copy.json b/components/src/sre/copy.json index e4aa7331b..4d105112b 100644 --- a/components/src/sre/copy.json +++ b/components/src/sre/copy.json @@ -2,7 +2,6 @@ "to": "../../../es5/sre", "from": "[node]/speech-rule-engine/lib", "copy": [ - "sre_browser.js", "mathmaps" ] } diff --git a/ts/a11y/speech-rule-engine.d.ts b/ts/a11y/speech-rule-engine.d.ts deleted file mode 100644 index 6450be19b..000000000 --- a/ts/a11y/speech-rule-engine.d.ts +++ /dev/null @@ -1,3 +0,0 @@ -declare module 'speech-rule-engine' { - export function engineReady(): boolean; -} diff --git a/ts/a11y/sre-node.ts b/ts/a11y/sre-node.ts deleted file mode 100644 index a1a5fa551..000000000 --- a/ts/a11y/sre-node.ts +++ /dev/null @@ -1,43 +0,0 @@ -/************************************************************* - * - * Copyright (c) 2018-2021 The MathJax Consortium - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -/** - * @fileoverview Loads SRE for node and creates the global sre variable - * with sre.Engine.isReady(), like in the browser version - * - * @author dpvc@mathjax.org (Davide Cervone) - */ - -// import * as SRE from 'speech-rule-engine'; - -// declare const global: any; - -// /** -// * The global sre with sre.Engine.isReady() and sre.toEnriched() -// */ -// global.SRE = SRE; -// global.sre = Object.create(SRE); -// global.sre.Engine = { -// /** -// * @return {boolean} True when SRE is ready -// */ -// isReady(): boolean { -// return SRE.engineReady(); -// } -// }; - -// export {}; diff --git a/ts/a11y/sre_browser.d.ts b/ts/a11y/sre_browser.d.ts deleted file mode 100644 index 79d87ff1c..000000000 --- a/ts/a11y/sre_browser.d.ts +++ /dev/null @@ -1,95 +0,0 @@ -// declare namespace sre { - -// export type colorType = {color: string, alpha: number}; -// export type colorString = {foreground: string, background: string}; - -// interface SpeechGenerator { -// generateSpeech(node: HTMLElement, xml: HTMLElement): void; -// setOptions(options: Object): void; -// getOptions(): {[key: string]: string}; -// } - -// interface Highlighter { -// highlight(nodes: Node[]): void; -// unhighlight(): void; -// highlightAll(node: Node): void; -// unhighlightAll(node: Node): void; -// colorString(): colorString; -// isMactionNode(node: Node): boolean; -// colorizeAll(node: Node): void; -// uncolorizeAll(node: Node): void; -// } - -// interface Focus { -// getNodes(): Element[]; -// } - -// interface Walker { -// modifier: boolean; -// activate(): void; -// deactivate(): void; -// speech(): string; -// move(key: number): boolean; -// refocus(): void; -// getFocus(update?: boolean): Focus; -// update(options: {[key: string]: string}): void; -// } - -// } - -// declare namespace sre.WalkerFactory { -// export function walker(kind: string, -// node: Node, -// generator: SpeechGenerator, -// highlighter: Highlighter, -// mml: Node): Walker; -// } - -// declare namespace sre.SpeechGeneratorFactory { -// export function generator(kind: string): sre.SpeechGenerator; -// } - -// declare namespace sre.Engine { -// export const DOMAIN_TO_STYLES: {[rules: string]: string}; -// export function isReady(): boolean; -// } - -// declare namespace sre.HighlighterFactory { - -// export function highlighter(fore: colorType, -// back: colorType, -// info: {renderer: string, browser?: string} -// ): Highlighter; - -// } - -// declare namespace sre.ClearspeakPreferences { - -// export function smartPreferences(item: Object, locale: string): Object[]; - -// export function getLocalePreferences(): {[locale: string]: {[pref: string]: string[]}}; - -// export function addPreference(previous: string, key: string, value: string): string; -// } - -// declare namespace sre.Variables { -// export const LOCALES: string[]; -// } - - - -// declare namespace SRE { -// type config = { -// locale?: string, -// modality?: string, -// domain?: string, -// style?: string, -// markup?: string, -// speech?: string, -// semantics?: boolean, -// cache?: boolean -// }; -// export function toEnriched(mml: string): void; -// export function setupEngine(obj: config): void; -// export function engineSetup(): config; -// } From b13bd33f306b0115601754243ff43c58f08387a1 Mon Sep 17 00:00:00 2001 From: zorkow Date: Sat, 25 Sep 2021 14:11:38 +0200 Subject: [PATCH 016/118] Sets the correct mathmaps paths. --- components/src/dependencies.js | 3 ++- components/src/source.js | 1 + ts/a11y/sre.ts | 23 +++++++++++++++++++++++ 3 files changed, 26 insertions(+), 1 deletion(-) diff --git a/components/src/dependencies.js b/components/src/dependencies.js index c45123137..411cc5412 100644 --- a/components/src/dependencies.js +++ b/components/src/dependencies.js @@ -57,7 +57,8 @@ export const dependencies = { export const paths = { tex: '[mathjax]/input/tex/extensions', - mml: '[mathjax]/input/mml/extensions' + mml: '[mathjax]/input/mml/extensions', + sre: '[mathjax]/sre' }; const allPackages = [ diff --git a/components/src/source.js b/components/src/source.js index 17eccbf2c..502772285 100644 --- a/components/src/source.js +++ b/components/src/source.js @@ -67,6 +67,7 @@ export const source = { 'a11y/complexity': `${src}/a11y/complexity/complexity.js`, 'a11y/explorer': `${src}/a11y/explorer/explorer.js`, 'a11y/sre': `${src}/../../js/a11y/sre.js`, + '[sre]': `${src}/../../es5/sre`, 'ui/lazy': `${src}/ui/lazy/lazy.js`, 'ui/menu': `${src}/ui/menu/menu.js`, 'ui/safe': `${src}/ui/safe/safe.js`, diff --git a/ts/a11y/sre.ts b/ts/a11y/sre.ts index 04f665802..f9f8f5ff1 100644 --- a/ts/a11y/sre.ts +++ b/ts/a11y/sre.ts @@ -22,6 +22,29 @@ * @author v.sorge@mathjax.org (Volker Sorge) */ +import {MathJax as MJGlobal} from '../components/global.js'; + +declare namespace window { + let SREfeature: {[key: string]: any}; +} + +declare namespace global { + let SREfeature: {[key: string]: any}; +} + +// This sets up the correct link to the mathmaps files. +// +// We could also use a custom method for loading locales that are webpacked into +// the distribution. +(() => { + if (typeof window !== 'undefined') { + window.SREfeature = {json: MJGlobal.config.loader.source['[sre]'] + '/mathmaps'}; + } else { + // TODO: This is does not yet work correctly! + global.SREfeature = {json: MJGlobal.config.loader.paths.mathjax + '/sre/mathmaps'}; + } +})(); + export {engineReady as sreReady, setupEngine, engineSetup, toEnriched} from 'speech-rule-engine/js/common/system.js'; export {Walker} from 'speech-rule-engine/js/walker/walker.js'; export * as WalkerFactory from 'speech-rule-engine/js/walker/walker_factory.js'; From 13ca6922d7c0558cdc6aceb236f84c38823bbaaa Mon Sep 17 00:00:00 2001 From: Marcel <65481677+MarcelBolten@users.noreply.github.com> Date: Wed, 29 Sep 2021 09:45:53 -0700 Subject: [PATCH 017/118] Add defaultPageReady() to MathJaxObject interface See https://github.com/mathjax/MathJax/issues/2774 --- ts/components/startup.ts | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/ts/components/startup.ts b/ts/components/startup.ts index 8444a0baa..ad7a987cf 100644 --- a/ts/components/startup.ts +++ b/ts/components/startup.ts @@ -92,13 +92,14 @@ export interface MathJaxObject extends MJObject { promise: Promise; /* tslint:disable:jsdoc-require */ registerConstructor(name: string, constructor: any): void; - useHander(name: string, force?: boolean): void; + useHandler(name: string, force?: boolean): void; useAdaptor(name: string, force?: boolean): void; useOutput(name: string, force?: boolean): void; useInput(name: string, force?: boolean): void; extendHandler(extend: HandlerExtension): void; toMML(node: MmlNode): string; defaultReady(): void; + defaultPageReady(): void, getComponents(): void; makeMethods(): void; makeTypesetMethods(): void; From d58b16bc3f1606baa412d300461ddfe456e0da4f Mon Sep 17 00:00:00 2001 From: zorkow Date: Tue, 14 Dec 2021 21:42:07 +0100 Subject: [PATCH 018/118] Adapts paths for sre. --- components/src/a11y/semantic-enrich/webpack.config.js | 3 ++- components/src/node-main/copy.json | 1 - 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/components/src/a11y/semantic-enrich/webpack.config.js b/components/src/a11y/semantic-enrich/webpack.config.js index 1e3cb4781..912c88ef0 100644 --- a/components/src/a11y/semantic-enrich/webpack.config.js +++ b/components/src/a11y/semantic-enrich/webpack.config.js @@ -5,7 +5,8 @@ module.exports = PACKAGE( '../../../../js', // location of the MathJax js library [ // packages to link to 'components/src/input/mml/lib', - 'components/src/core/lib' + 'components/src/core/lib', + 'node_modules/speech-rule-engine/js' ], __dirname // our directory ); diff --git a/components/src/node-main/copy.json b/components/src/node-main/copy.json index d6d3f68e5..0354133c2 100644 --- a/components/src/node-main/copy.json +++ b/components/src/node-main/copy.json @@ -2,6 +2,5 @@ "to": "../../../es5/sre", "from": "../../../js/a11y", "copy": [ - "sre-node.js" ] } From 5b27806ad6f4d6320305d80601560dbac2288722 Mon Sep 17 00:00:00 2001 From: Ramkumar Ramachandra Date: Sun, 9 Jan 2022 14:20:11 +0100 Subject: [PATCH 019/118] asciimath: fix a typo in build.json --- components/src/input/asciimath/build.json | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/components/src/input/asciimath/build.json b/components/src/input/asciimath/build.json index 6a7f21c09..4fca2b38f 100644 --- a/components/src/input/asciimath/build.json +++ b/components/src/input/asciimath/build.json @@ -1,6 +1,5 @@ { - "component": "inpu/asciimath", + "component": "input/asciimath", "targets": ["input/asciimath.ts", "input/asciimath"], "excludeSubdirs": "true" } - From 6b38558c3fa054c7239ce13ae68c91f9523e837d Mon Sep 17 00:00:00 2001 From: "Davide P. Cervone" Date: Tue, 11 Jan 2022 13:12:38 -0500 Subject: [PATCH 020/118] Fix typo in comment --- ts/output/svg.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ts/output/svg.ts b/ts/output/svg.ts index e27e55aa1..525cceab4 100644 --- a/ts/output/svg.ts +++ b/ts/output/svg.ts @@ -239,7 +239,7 @@ CommonOutputJax, SVGWrapperFactory, SVGFon protected createRoot(wrapper: SVGWrapper): [N, N] { const {w, h, d, pwidth} = wrapper.getBBox(); const px = wrapper.metrics.em / 1000; - const W = Math.max(w, px); // make sure we are at least one unitpx wide (needed for e.g. \llap) + const W = Math.max(w, px); // make sure we are at least one px wide (needed for e.g. \llap) const H = Math.max(h + d, px); // make sure we are at least one px tall (needed for e.g., \smash) // // The container that flips the y-axis and sets the colors to inherit from the surroundings From 40e9250680a6fcd8048b205f0ab152eac646fd49 Mon Sep 17 00:00:00 2001 From: zorkow Date: Tue, 18 Jan 2022 13:49:20 +0100 Subject: [PATCH 021/118] Integrates SRE v4 via node_modules. --- package-lock.json | 4709 +++++++++++++++++++++++---------------------- package.json | 2 +- ts/a11y/sre.ts | 2 +- tsconfig.json | 2 +- 4 files changed, 2447 insertions(+), 2268 deletions(-) diff --git a/package-lock.json b/package-lock.json index f4034b67e..749040fa3 100644 --- a/package-lock.json +++ b/package-lock.json @@ -12,7 +12,7 @@ "esm": "^3.2.25", "mhchemparser": "^4.1.0", "mj-context-menu": "^0.6.1", - "speech-rule-engine": "^3.3.3" + "speech-rule-engine": "^4.0.0" }, "devDependencies": { "@babel/core": "^7.14.5", @@ -33,41 +33,41 @@ } }, "node_modules/@babel/code-frame": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.14.5.tgz", - "integrity": "sha512-9pzDqyc6OLDaqe+zbACgFkb6fKMNG6CObKpnYXChRsvYGyEdc7CA2BaqeOM+vOtCS5ndmJicPJhKAwYRI6UfFw==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.16.7.tgz", + "integrity": "sha512-iAXqUn8IIeBTNd72xsFlgaXHkMBMt6y4HJp1tIaK465CWLT/fG1aqB7ykr95gHHmlBdGbFeWWfyB4NJJ0nmeIg==", "dev": true, "dependencies": { - "@babel/highlight": "^7.14.5" + "@babel/highlight": "^7.16.7" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/compat-data": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.14.5.tgz", - "integrity": "sha512-kixrYn4JwfAVPa0f2yfzc2AWti6WRRyO3XjWW5PJAvtE11qhSayrrcrEnee05KAtNaPC+EwehE8Qt1UedEVB8w==", + "version": "7.16.8", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.16.8.tgz", + "integrity": "sha512-m7OkX0IdKLKPpBlJtF561YJal5y/jyI5fNfWbPxh2D/nbzzGI4qRyrD8xO2jB24u7l+5I2a43scCG2IrfjC50Q==", "dev": true, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/core": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.14.5.tgz", - "integrity": "sha512-RN/AwP2DJmQTZSfiDaD+JQQ/J99KsIpOCfBE5pL+5jJSt7nI3nYGoAXZu+ffYSQ029NLs2DstZb+eR81uuARgg==", - "dev": true, - "dependencies": { - "@babel/code-frame": "^7.14.5", - "@babel/generator": "^7.14.5", - "@babel/helper-compilation-targets": "^7.14.5", - "@babel/helper-module-transforms": "^7.14.5", - "@babel/helpers": "^7.14.5", - "@babel/parser": "^7.14.5", - "@babel/template": "^7.14.5", - "@babel/traverse": "^7.14.5", - "@babel/types": "^7.14.5", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.16.7.tgz", + "integrity": "sha512-aeLaqcqThRNZYmbMqtulsetOQZ/5gbR/dWruUCJcpas4Qoyy+QeagfDsPdMrqwsPRDNxJvBlRiZxxX7THO7qtA==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.16.7", + "@babel/generator": "^7.16.7", + "@babel/helper-compilation-targets": "^7.16.7", + "@babel/helper-module-transforms": "^7.16.7", + "@babel/helpers": "^7.16.7", + "@babel/parser": "^7.16.7", + "@babel/template": "^7.16.7", + "@babel/traverse": "^7.16.7", + "@babel/types": "^7.16.7", "convert-source-map": "^1.7.0", "debug": "^4.1.0", "gensync": "^1.0.0-beta.2", @@ -83,37 +83,13 @@ "url": "https://opencollective.com/babel" } }, - "node_modules/@babel/core/node_modules/json5": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.1.3.tgz", - "integrity": "sha512-KXPvOm8K9IJKFM0bmdn8QXh7udDh1g/giieX0NLCaMnb4hEiVFqnop2ImTXCc5e0/oHz3LTqmHGtExn5hfMkOA==", - "dev": true, - "dependencies": { - "minimist": "^1.2.5" - }, - "bin": { - "json5": "lib/cli.js" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/@babel/core/node_modules/semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true, - "bin": { - "semver": "bin/semver.js" - } - }, "node_modules/@babel/generator": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.14.5.tgz", - "integrity": "sha512-y3rlP+/G25OIX3mYKKIOlQRcqj7YgrvHxOLbVmyLJ9bPmi5ttvUmpydVjcFjZphOktWuA7ovbx91ECloWTfjIA==", + "version": "7.16.8", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.16.8.tgz", + "integrity": "sha512-1ojZwE9+lOXzcWdWmO6TbUzDfqLD39CmEhN8+2cX9XkDo5yW1OpgfejfliysR2AWLpMamTiOiAp/mtroaymhpw==", "dev": true, "dependencies": { - "@babel/types": "^7.14.5", + "@babel/types": "^7.16.8", "jsesc": "^2.5.1", "source-map": "^0.5.0" }, @@ -122,39 +98,39 @@ } }, "node_modules/@babel/helper-annotate-as-pure": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.14.5.tgz", - "integrity": "sha512-EivH9EgBIb+G8ij1B2jAwSH36WnGvkQSEC6CkX/6v6ZFlw5fVOHvsgGF4uiEHO2GzMvunZb6tDLQEQSdrdocrA==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.16.7.tgz", + "integrity": "sha512-s6t2w/IPQVTAET1HitoowRGXooX8mCgtuP5195wD/QJPV6wYjpujCGF7JuMODVX2ZAJOf1GT6DT9MHEZvLOFSw==", "dev": true, "dependencies": { - "@babel/types": "^7.14.5" + "@babel/types": "^7.16.7" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-builder-binary-assignment-operator-visitor": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.14.5.tgz", - "integrity": "sha512-YTA/Twn0vBXDVGJuAX6PwW7x5zQei1luDDo2Pl6q1qZ7hVNl0RZrhHCQG/ArGpR29Vl7ETiB8eJyrvpuRp300w==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.16.7.tgz", + "integrity": "sha512-C6FdbRaxYjwVu/geKW4ZeQ0Q31AftgRcdSnZ5/jsH6BzCJbtvXvhpfkbkThYSuutZA7nCXpPR6AD9zd1dprMkA==", "dev": true, "dependencies": { - "@babel/helper-explode-assignable-expression": "^7.14.5", - "@babel/types": "^7.14.5" + "@babel/helper-explode-assignable-expression": "^7.16.7", + "@babel/types": "^7.16.7" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-compilation-targets": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.14.5.tgz", - "integrity": "sha512-v+QtZqXEiOnpO6EYvlImB6zCD2Lel06RzOPzmkz/D/XgQiUu3C/Jb1LOqSt/AIA34TYi/Q+KlT8vTQrgdxkbLw==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.16.7.tgz", + "integrity": "sha512-mGojBwIWcwGD6rfqgRXVlVYmPAv7eOpIemUG3dGnDdCY4Pae70ROij3XmfrH6Fa1h1aiDylpglbZyktfzyo/hA==", "dev": true, "dependencies": { - "@babel/compat-data": "^7.14.5", - "@babel/helper-validator-option": "^7.14.5", - "browserslist": "^4.16.6", + "@babel/compat-data": "^7.16.4", + "@babel/helper-validator-option": "^7.16.7", + "browserslist": "^4.17.5", "semver": "^6.3.0" }, "engines": { @@ -164,27 +140,19 @@ "@babel/core": "^7.0.0" } }, - "node_modules/@babel/helper-compilation-targets/node_modules/semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true, - "bin": { - "semver": "bin/semver.js" - } - }, "node_modules/@babel/helper-create-class-features-plugin": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.14.5.tgz", - "integrity": "sha512-Uq9z2e7ZtcnDMirRqAGLRaLwJn+Lrh388v5ETrR3pALJnElVh2zqQmdbz4W2RUJYohAPh2mtyPUgyMHMzXMncQ==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.16.7.tgz", + "integrity": "sha512-kIFozAvVfK05DM4EVQYKK+zteWvY85BFdGBRQBytRyY3y+6PX0DkDOn/CZ3lEuczCfrCxEzwt0YtP/87YPTWSw==", "dev": true, "dependencies": { - "@babel/helper-annotate-as-pure": "^7.14.5", - "@babel/helper-function-name": "^7.14.5", - "@babel/helper-member-expression-to-functions": "^7.14.5", - "@babel/helper-optimise-call-expression": "^7.14.5", - "@babel/helper-replace-supers": "^7.14.5", - "@babel/helper-split-export-declaration": "^7.14.5" + "@babel/helper-annotate-as-pure": "^7.16.7", + "@babel/helper-environment-visitor": "^7.16.7", + "@babel/helper-function-name": "^7.16.7", + "@babel/helper-member-expression-to-functions": "^7.16.7", + "@babel/helper-optimise-call-expression": "^7.16.7", + "@babel/helper-replace-supers": "^7.16.7", + "@babel/helper-split-export-declaration": "^7.16.7" }, "engines": { "node": ">=6.9.0" @@ -194,12 +162,12 @@ } }, "node_modules/@babel/helper-create-regexp-features-plugin": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.14.5.tgz", - "integrity": "sha512-TLawwqpOErY2HhWbGJ2nZT5wSkR192QpN+nBg1THfBfftrlvOh+WbhrxXCH4q4xJ9Gl16BGPR/48JA+Ryiho/A==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.16.7.tgz", + "integrity": "sha512-fk5A6ymfp+O5+p2yCkXAu5Kyj6v0xh0RBeNcAkYUMDvvAAoxvSKXn+Jb37t/yWFiQVDFK1ELpUTD8/aLhCPu+g==", "dev": true, "dependencies": { - "@babel/helper-annotate-as-pure": "^7.14.5", + "@babel/helper-annotate-as-pure": "^7.16.7", "regexpu-core": "^4.7.1" }, "engines": { @@ -210,9 +178,9 @@ } }, "node_modules/@babel/helper-define-polyfill-provider": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.2.3.tgz", - "integrity": "sha512-RH3QDAfRMzj7+0Nqu5oqgO5q9mFtQEVvCRsi8qCEfzLR9p2BHfn5FzhSB2oj1fF7I2+DcTORkYaQ6aTR9Cofew==", + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.3.1.tgz", + "integrity": "sha512-J9hGMpJQmtWmj46B3kBHmL38UhJGhYX7eqkcq+2gsstyYt341HmPeWspihX43yVRA0mS+8GGk2Gckc7bY/HCmA==", "dev": true, "dependencies": { "@babel/helper-compilation-targets": "^7.13.0", @@ -228,248 +196,252 @@ "@babel/core": "^7.4.0-0" } }, - "node_modules/@babel/helper-define-polyfill-provider/node_modules/semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "node_modules/@babel/helper-environment-visitor": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.16.7.tgz", + "integrity": "sha512-SLLb0AAn6PkUeAfKJCCOl9e1R53pQlGAfc4y4XuMRZfqeMYLE0dM1LMhqbGAlGQY0lfw5/ohoYWAe9V1yibRag==", "dev": true, - "bin": { - "semver": "bin/semver.js" + "dependencies": { + "@babel/types": "^7.16.7" + }, + "engines": { + "node": ">=6.9.0" } }, "node_modules/@babel/helper-explode-assignable-expression": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.14.5.tgz", - "integrity": "sha512-Htb24gnGJdIGT4vnRKMdoXiOIlqOLmdiUYpAQ0mYfgVT/GDm8GOYhgi4GL+hMKrkiPRohO4ts34ELFsGAPQLDQ==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.16.7.tgz", + "integrity": "sha512-KyUenhWMC8VrxzkGP0Jizjo4/Zx+1nNZhgocs+gLzyZyB8SHidhoq9KK/8Ato4anhwsivfkBLftky7gvzbZMtQ==", "dev": true, "dependencies": { - "@babel/types": "^7.14.5" + "@babel/types": "^7.16.7" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-function-name": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.14.5.tgz", - "integrity": "sha512-Gjna0AsXWfFvrAuX+VKcN/aNNWonizBj39yGwUzVDVTlMYJMK2Wp6xdpy72mfArFq5uK+NOuexfzZlzI1z9+AQ==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.16.7.tgz", + "integrity": "sha512-QfDfEnIUyyBSR3HtrtGECuZ6DAyCkYFp7GHl75vFtTnn6pjKeK0T1DB5lLkFvBea8MdaiUABx3osbgLyInoejA==", "dev": true, "dependencies": { - "@babel/helper-get-function-arity": "^7.14.5", - "@babel/template": "^7.14.5", - "@babel/types": "^7.14.5" + "@babel/helper-get-function-arity": "^7.16.7", + "@babel/template": "^7.16.7", + "@babel/types": "^7.16.7" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-get-function-arity": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.14.5.tgz", - "integrity": "sha512-I1Db4Shst5lewOM4V+ZKJzQ0JGGaZ6VY1jYvMghRjqs6DWgxLCIyFt30GlnKkfUeFLpJt2vzbMVEXVSXlIFYUg==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.16.7.tgz", + "integrity": "sha512-flc+RLSOBXzNzVhcLu6ujeHUrD6tANAOU5ojrRx/as+tbzf8+stUCj7+IfRRoAbEZqj/ahXEMsjhOhgeZsrnTw==", "dev": true, "dependencies": { - "@babel/types": "^7.14.5" + "@babel/types": "^7.16.7" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-hoist-variables": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.14.5.tgz", - "integrity": "sha512-R1PXiz31Uc0Vxy4OEOm07x0oSjKAdPPCh3tPivn/Eo8cvz6gveAeuyUUPB21Hoiif0uoPQSSdhIPS3352nvdyQ==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.16.7.tgz", + "integrity": "sha512-m04d/0Op34H5v7pbZw6pSKP7weA6lsMvfiIAMeIvkY/R4xQtBSMFEigu9QTZ2qB/9l22vsxtM8a+Q8CzD255fg==", "dev": true, "dependencies": { - "@babel/types": "^7.14.5" + "@babel/types": "^7.16.7" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-member-expression-to-functions": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.14.5.tgz", - "integrity": "sha512-UxUeEYPrqH1Q/k0yRku1JE7dyfyehNwT6SVkMHvYvPDv4+uu627VXBckVj891BO8ruKBkiDoGnZf4qPDD8abDQ==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.16.7.tgz", + "integrity": "sha512-VtJ/65tYiU/6AbMTDwyoXGPKHgTsfRarivm+YbB5uAzKUyuPjgZSgAFeG87FCigc7KNHu2Pegh1XIT3lXjvz3Q==", "dev": true, "dependencies": { - "@babel/types": "^7.14.5" + "@babel/types": "^7.16.7" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-module-imports": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.14.5.tgz", - "integrity": "sha512-SwrNHu5QWS84XlHwGYPDtCxcA0hrSlL2yhWYLgeOc0w7ccOl2qv4s/nARI0aYZW+bSwAL5CukeXA47B/1NKcnQ==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.16.7.tgz", + "integrity": "sha512-LVtS6TqjJHFc+nYeITRo6VLXve70xmq7wPhWTqDJusJEgGmkAACWwMiTNrvfoQo6hEhFwAIixNkvB0jPXDL8Wg==", "dev": true, "dependencies": { - "@babel/types": "^7.14.5" + "@babel/types": "^7.16.7" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-module-transforms": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.14.5.tgz", - "integrity": "sha512-iXpX4KW8LVODuAieD7MzhNjmM6dzYY5tfRqT+R9HDXWl0jPn/djKmA+G9s/2C2T9zggw5tK1QNqZ70USfedOwA==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.16.7.tgz", + "integrity": "sha512-gaqtLDxJEFCeQbYp9aLAefjhkKdjKcdh6DB7jniIGU3Pz52WAmP268zK0VgPz9hUNkMSYeH976K2/Y6yPadpng==", "dev": true, "dependencies": { - "@babel/helper-module-imports": "^7.14.5", - "@babel/helper-replace-supers": "^7.14.5", - "@babel/helper-simple-access": "^7.14.5", - "@babel/helper-split-export-declaration": "^7.14.5", - "@babel/helper-validator-identifier": "^7.14.5", - "@babel/template": "^7.14.5", - "@babel/traverse": "^7.14.5", - "@babel/types": "^7.14.5" + "@babel/helper-environment-visitor": "^7.16.7", + "@babel/helper-module-imports": "^7.16.7", + "@babel/helper-simple-access": "^7.16.7", + "@babel/helper-split-export-declaration": "^7.16.7", + "@babel/helper-validator-identifier": "^7.16.7", + "@babel/template": "^7.16.7", + "@babel/traverse": "^7.16.7", + "@babel/types": "^7.16.7" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-optimise-call-expression": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.14.5.tgz", - "integrity": "sha512-IqiLIrODUOdnPU9/F8ib1Fx2ohlgDhxnIDU7OEVi+kAbEZcyiF7BLU8W6PfvPi9LzztjS7kcbzbmL7oG8kD6VA==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.16.7.tgz", + "integrity": "sha512-EtgBhg7rd/JcnpZFXpBy0ze1YRfdm7BnBX4uKMBd3ixa3RGAE002JZB66FJyNH7g0F38U05pXmA5P8cBh7z+1w==", "dev": true, "dependencies": { - "@babel/types": "^7.14.5" + "@babel/types": "^7.16.7" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-plugin-utils": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.14.5.tgz", - "integrity": "sha512-/37qQCE3K0vvZKwoK4XU/irIJQdIfCJuhU5eKnNxpFDsOkgFaUAwbv+RYw6eYgsC0E4hS7r5KqGULUogqui0fQ==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.16.7.tgz", + "integrity": "sha512-Qg3Nk7ZxpgMrsox6HreY1ZNKdBq7K72tDSliA6dCl5f007jR4ne8iD5UzuNnCJH2xBf2BEEVGr+/OL6Gdp7RxA==", "dev": true, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-remap-async-to-generator": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.14.5.tgz", - "integrity": "sha512-rLQKdQU+HYlxBwQIj8dk4/0ENOUEhA/Z0l4hN8BexpvmSMN9oA9EagjnhnDpNsRdWCfjwa4mn/HyBXO9yhQP6A==", + "version": "7.16.8", + "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.16.8.tgz", + "integrity": "sha512-fm0gH7Flb8H51LqJHy3HJ3wnE1+qtYR2A99K06ahwrawLdOFsCEWjZOrYricXJHoPSudNKxrMBUPEIPxiIIvBw==", "dev": true, "dependencies": { - "@babel/helper-annotate-as-pure": "^7.14.5", - "@babel/helper-wrap-function": "^7.14.5", - "@babel/types": "^7.14.5" + "@babel/helper-annotate-as-pure": "^7.16.7", + "@babel/helper-wrap-function": "^7.16.8", + "@babel/types": "^7.16.8" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-replace-supers": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.14.5.tgz", - "integrity": "sha512-3i1Qe9/8x/hCHINujn+iuHy+mMRLoc77b2nI9TB0zjH1hvn9qGlXjWlggdwUcju36PkPCy/lpM7LLUdcTyH4Ow==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.16.7.tgz", + "integrity": "sha512-y9vsWilTNaVnVh6xiJfABzsNpgDPKev9HnAgz6Gb1p6UUwf9NepdlsV7VXGCftJM+jqD5f7JIEubcpLjZj5dBw==", "dev": true, "dependencies": { - "@babel/helper-member-expression-to-functions": "^7.14.5", - "@babel/helper-optimise-call-expression": "^7.14.5", - "@babel/traverse": "^7.14.5", - "@babel/types": "^7.14.5" + "@babel/helper-environment-visitor": "^7.16.7", + "@babel/helper-member-expression-to-functions": "^7.16.7", + "@babel/helper-optimise-call-expression": "^7.16.7", + "@babel/traverse": "^7.16.7", + "@babel/types": "^7.16.7" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-simple-access": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.14.5.tgz", - "integrity": "sha512-nfBN9xvmCt6nrMZjfhkl7i0oTV3yxR4/FztsbOASyTvVcoYd0TRHh7eMLdlEcCqobydC0LAF3LtC92Iwxo0wyw==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.16.7.tgz", + "integrity": "sha512-ZIzHVyoeLMvXMN/vok/a4LWRy8G2v205mNP0XOuf9XRLyX5/u9CnVulUtDgUTama3lT+bf/UqucuZjqiGuTS1g==", "dev": true, "dependencies": { - "@babel/types": "^7.14.5" + "@babel/types": "^7.16.7" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-skip-transparent-expression-wrappers": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.14.5.tgz", - "integrity": "sha512-dmqZB7mrb94PZSAOYtr+ZN5qt5owZIAgqtoTuqiFbHFtxgEcmQlRJVI+bO++fciBunXtB6MK7HrzrfcAzIz2NQ==", + "version": "7.16.0", + "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.16.0.tgz", + "integrity": "sha512-+il1gTy0oHwUsBQZyJvukbB4vPMdcYBrFHa0Uc4AizLxbq6BOYC51Rv4tWocX9BLBDLZ4kc6qUFpQ6HRgL+3zw==", "dev": true, "dependencies": { - "@babel/types": "^7.14.5" + "@babel/types": "^7.16.0" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-split-export-declaration": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.14.5.tgz", - "integrity": "sha512-hprxVPu6e5Kdp2puZUmvOGjaLv9TCe58E/Fl6hRq4YiVQxIcNvuq6uTM2r1mT/oPskuS9CgR+I94sqAYv0NGKA==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.16.7.tgz", + "integrity": "sha512-xbWoy/PFoxSWazIToT9Sif+jJTlrMcndIsaOKvTA6u7QEo7ilkRZpjew18/W3c7nm8fXdUDXh02VXTbZ0pGDNw==", "dev": true, "dependencies": { - "@babel/types": "^7.14.5" + "@babel/types": "^7.16.7" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-validator-identifier": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.14.5.tgz", - "integrity": "sha512-5lsetuxCLilmVGyiLEfoHBRX8UCFD+1m2x3Rj97WrW3V7H3u4RWRXA4evMjImCsin2J2YT0QaVDGf+z8ondbAg==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.16.7.tgz", + "integrity": "sha512-hsEnFemeiW4D08A5gUAZxLBTXpZ39P+a+DGDsHw1yxqyQ/jzFEnxf5uTEGp+3bzAbNOxU1paTgYS4ECU/IgfDw==", "dev": true, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-validator-option": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.14.5.tgz", - "integrity": "sha512-OX8D5eeX4XwcroVW45NMvoYaIuFI+GQpA2a8Gi+X/U/cDUIRsV37qQfF905F0htTRCREQIB4KqPeaveRJUl3Ow==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.16.7.tgz", + "integrity": "sha512-TRtenOuRUVo9oIQGPC5G9DgK4743cdxvtOw0weQNpZXaS16SCBi5MNjZF8vba3ETURjZpTbVn7Vvcf2eAwFozQ==", "dev": true, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-wrap-function": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.14.5.tgz", - "integrity": "sha512-YEdjTCq+LNuNS1WfxsDCNpgXkJaIyqco6DAelTUjT4f2KIWC1nBcaCaSdHTBqQVLnTBexBcVcFhLSU1KnYuePQ==", + "version": "7.16.8", + "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.16.8.tgz", + "integrity": "sha512-8RpyRVIAW1RcDDGTA+GpPAwV22wXCfKOoM9bet6TLkGIFTkRQSkH1nMQ5Yet4MpoXe1ZwHPVtNasc2w0uZMqnw==", "dev": true, "dependencies": { - "@babel/helper-function-name": "^7.14.5", - "@babel/template": "^7.14.5", - "@babel/traverse": "^7.14.5", - "@babel/types": "^7.14.5" + "@babel/helper-function-name": "^7.16.7", + "@babel/template": "^7.16.7", + "@babel/traverse": "^7.16.8", + "@babel/types": "^7.16.8" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helpers": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.14.5.tgz", - "integrity": "sha512-xtcWOuN9VL6nApgVHtq3PPcQv5qFBJzoSZzJ/2c0QK/IP/gxVcoWSNQwFEGvmbQsuS9rhYqjILDGGXcTkA705Q==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.16.7.tgz", + "integrity": "sha512-9ZDoqtfY7AuEOt3cxchfii6C7GDyyMBffktR5B2jvWv8u2+efwvpnVKXMWzNehqy68tKgAfSwfdw/lWpthS2bw==", "dev": true, "dependencies": { - "@babel/template": "^7.14.5", - "@babel/traverse": "^7.14.5", - "@babel/types": "^7.14.5" + "@babel/template": "^7.16.7", + "@babel/traverse": "^7.16.7", + "@babel/types": "^7.16.7" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/highlight": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.14.5.tgz", - "integrity": "sha512-qf9u2WFWVV0MppaL877j2dBtQIDgmidgjGk5VIMw3OadXvYaXn66U1BFlH2t4+t3i+8PhedppRv+i40ABzd+gg==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.16.7.tgz", + "integrity": "sha512-aKpPMfLvGO3Q97V0qhw/V2SWNWlwfJknuwAunU7wZLSfrM4xTBvg7E5opUVi1kJTBKihE38CPg4nBiqX83PWYw==", "dev": true, "dependencies": { - "@babel/helper-validator-identifier": "^7.14.5", + "@babel/helper-validator-identifier": "^7.16.7", "chalk": "^2.0.0", "js-tokens": "^4.0.0" }, @@ -478,9 +450,9 @@ } }, "node_modules/@babel/parser": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.14.5.tgz", - "integrity": "sha512-TM8C+xtH/9n1qzX+JNHi7AN2zHMTiPUtspO0ZdHflW8KaskkALhMmuMHb4bCmNdv9VAPzJX3/bXqkVLnAvsPfg==", + "version": "7.16.8", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.16.8.tgz", + "integrity": "sha512-i7jDUfrVBWc+7OKcBzEe5n7fbv3i2fWtxKzzCvOjnzSxMfWMigAhtfJ7qzZNGFNMsCCd67+uz553dYKWXPvCKw==", "dev": true, "bin": { "parser": "bin/babel-parser.js" @@ -489,15 +461,30 @@ "node": ">=6.0.0" } }, + "node_modules/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.16.7.tgz", + "integrity": "sha512-anv/DObl7waiGEnC24O9zqL0pSuI9hljihqiDuFHC8d7/bjr/4RLGPWuc8rYOff/QPzbEPSkzG8wGG9aDuhHRg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.16.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, "node_modules/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.14.5.tgz", - "integrity": "sha512-ZoJS2XCKPBfTmL122iP6NM9dOg+d4lc9fFk3zxc8iDjvt8Pk4+TlsHSKhIPf6X+L5ORCdBzqMZDjL/WHj7WknQ==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.16.7.tgz", + "integrity": "sha512-di8vUHRdf+4aJ7ltXhaDbPoszdkh59AQtJM5soLsuHpQJdFQZOA4uGj0V2u/CZ8bJ/u8ULDL5yq6FO/bCXnKHw==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.14.5", - "@babel/helper-skip-transparent-expression-wrappers": "^7.14.5", - "@babel/plugin-proposal-optional-chaining": "^7.14.5" + "@babel/helper-plugin-utils": "^7.16.7", + "@babel/helper-skip-transparent-expression-wrappers": "^7.16.0", + "@babel/plugin-proposal-optional-chaining": "^7.16.7" }, "engines": { "node": ">=6.9.0" @@ -507,13 +494,13 @@ } }, "node_modules/@babel/plugin-proposal-async-generator-functions": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.14.5.tgz", - "integrity": "sha512-tbD/CG3l43FIXxmu4a7RBe4zH7MLJ+S/lFowPFO7HetS2hyOZ/0nnnznegDuzFzfkyQYTxqdTH/hKmuBngaDAA==", + "version": "7.16.8", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.16.8.tgz", + "integrity": "sha512-71YHIvMuiuqWJQkebWJtdhQTfd4Q4mF76q2IX37uZPkG9+olBxsX+rH1vkhFto4UeJZ9dPY2s+mDvhDm1u2BGQ==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.14.5", - "@babel/helper-remap-async-to-generator": "^7.14.5", + "@babel/helper-plugin-utils": "^7.16.7", + "@babel/helper-remap-async-to-generator": "^7.16.8", "@babel/plugin-syntax-async-generators": "^7.8.4" }, "engines": { @@ -524,13 +511,13 @@ } }, "node_modules/@babel/plugin-proposal-class-properties": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.14.5.tgz", - "integrity": "sha512-q/PLpv5Ko4dVc1LYMpCY7RVAAO4uk55qPwrIuJ5QJ8c6cVuAmhu7I/49JOppXL6gXf7ZHzpRVEUZdYoPLM04Gg==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.16.7.tgz", + "integrity": "sha512-IobU0Xme31ewjYOShSIqd/ZGM/r/cuOz2z0MDbNrhF5FW+ZVgi0f2lyeoj9KFPDOAqsYxmLWZte1WOwlvY9aww==", "dev": true, "dependencies": { - "@babel/helper-create-class-features-plugin": "^7.14.5", - "@babel/helper-plugin-utils": "^7.14.5" + "@babel/helper-create-class-features-plugin": "^7.16.7", + "@babel/helper-plugin-utils": "^7.16.7" }, "engines": { "node": ">=6.9.0" @@ -540,13 +527,13 @@ } }, "node_modules/@babel/plugin-proposal-class-static-block": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-static-block/-/plugin-proposal-class-static-block-7.14.5.tgz", - "integrity": "sha512-KBAH5ksEnYHCegqseI5N9skTdxgJdmDoAOc0uXa+4QMYKeZD0w5IARh4FMlTNtaHhbB8v+KzMdTgxMMzsIy6Yg==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-static-block/-/plugin-proposal-class-static-block-7.16.7.tgz", + "integrity": "sha512-dgqJJrcZoG/4CkMopzhPJjGxsIe9A8RlkQLnL/Vhhx8AA9ZuaRwGSlscSh42hazc7WSrya/IK7mTeoF0DP9tEw==", "dev": true, "dependencies": { - "@babel/helper-create-class-features-plugin": "^7.14.5", - "@babel/helper-plugin-utils": "^7.14.5", + "@babel/helper-create-class-features-plugin": "^7.16.7", + "@babel/helper-plugin-utils": "^7.16.7", "@babel/plugin-syntax-class-static-block": "^7.14.5" }, "engines": { @@ -557,12 +544,12 @@ } }, "node_modules/@babel/plugin-proposal-dynamic-import": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.14.5.tgz", - "integrity": "sha512-ExjiNYc3HDN5PXJx+bwC50GIx/KKanX2HiggnIUAYedbARdImiCU4RhhHfdf0Kd7JNXGpsBBBCOm+bBVy3Gb0g==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.16.7.tgz", + "integrity": "sha512-I8SW9Ho3/8DRSdmDdH3gORdyUuYnk1m4cMxUAdu5oy4n3OfN8flDEH+d60iG7dUfi0KkYwSvoalHzzdRzpWHTg==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.14.5", + "@babel/helper-plugin-utils": "^7.16.7", "@babel/plugin-syntax-dynamic-import": "^7.8.3" }, "engines": { @@ -573,12 +560,12 @@ } }, "node_modules/@babel/plugin-proposal-export-namespace-from": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.14.5.tgz", - "integrity": "sha512-g5POA32bXPMmSBu5Dx/iZGLGnKmKPc5AiY7qfZgurzrCYgIztDlHFbznSNCoQuv57YQLnQfaDi7dxCtLDIdXdA==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.16.7.tgz", + "integrity": "sha512-ZxdtqDXLRGBL64ocZcs7ovt71L3jhC1RGSyR996svrCi3PYqHNkb3SwPJCs8RIzD86s+WPpt2S73+EHCGO+NUA==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.14.5", + "@babel/helper-plugin-utils": "^7.16.7", "@babel/plugin-syntax-export-namespace-from": "^7.8.3" }, "engines": { @@ -589,12 +576,12 @@ } }, "node_modules/@babel/plugin-proposal-json-strings": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.14.5.tgz", - "integrity": "sha512-NSq2fczJYKVRIsUJyNxrVUMhB27zb7N7pOFGQOhBKJrChbGcgEAqyZrmZswkPk18VMurEeJAaICbfm57vUeTbQ==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.16.7.tgz", + "integrity": "sha512-lNZ3EEggsGY78JavgbHsK9u5P3pQaW7k4axlgFLYkMd7UBsiNahCITShLjNQschPyjtO6dADrL24757IdhBrsQ==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.14.5", + "@babel/helper-plugin-utils": "^7.16.7", "@babel/plugin-syntax-json-strings": "^7.8.3" }, "engines": { @@ -605,12 +592,12 @@ } }, "node_modules/@babel/plugin-proposal-logical-assignment-operators": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.14.5.tgz", - "integrity": "sha512-YGn2AvZAo9TwyhlLvCCWxD90Xq8xJ4aSgaX3G5D/8DW94L8aaT+dS5cSP+Z06+rCJERGSr9GxMBZ601xoc2taw==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.16.7.tgz", + "integrity": "sha512-K3XzyZJGQCr00+EtYtrDjmwX7o7PLK6U9bi1nCwkQioRFVUv6dJoxbQjtWVtP+bCPy82bONBKG8NPyQ4+i6yjg==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.14.5", + "@babel/helper-plugin-utils": "^7.16.7", "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4" }, "engines": { @@ -621,12 +608,12 @@ } }, "node_modules/@babel/plugin-proposal-nullish-coalescing-operator": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.14.5.tgz", - "integrity": "sha512-gun/SOnMqjSb98Nkaq2rTKMwervfdAoz6NphdY0vTfuzMfryj+tDGb2n6UkDKwez+Y8PZDhE3D143v6Gepp4Hg==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.16.7.tgz", + "integrity": "sha512-aUOrYU3EVtjf62jQrCj63pYZ7k6vns2h/DQvHPWGmsJRYzWXZ6/AsfgpiRy6XiuIDADhJzP2Q9MwSMKauBQ+UQ==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.14.5", + "@babel/helper-plugin-utils": "^7.16.7", "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3" }, "engines": { @@ -637,12 +624,12 @@ } }, "node_modules/@babel/plugin-proposal-numeric-separator": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.14.5.tgz", - "integrity": "sha512-yiclALKe0vyZRZE0pS6RXgjUOt87GWv6FYa5zqj15PvhOGFO69R5DusPlgK/1K5dVnCtegTiWu9UaBSrLLJJBg==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.16.7.tgz", + "integrity": "sha512-vQgPMknOIgiuVqbokToyXbkY/OmmjAzr/0lhSIbG/KmnzXPGwW/AdhdKpi+O4X/VkWiWjnkKOBiqJrTaC98VKw==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.14.5", + "@babel/helper-plugin-utils": "^7.16.7", "@babel/plugin-syntax-numeric-separator": "^7.10.4" }, "engines": { @@ -653,16 +640,16 @@ } }, "node_modules/@babel/plugin-proposal-object-rest-spread": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.14.5.tgz", - "integrity": "sha512-VzMyY6PWNPPT3pxc5hi9LloKNr4SSrVCg7Yr6aZpW4Ym07r7KqSU/QXYwjXLVxqwSv0t/XSXkFoKBPUkZ8vb2A==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.16.7.tgz", + "integrity": "sha512-3O0Y4+dw94HA86qSg9IHfyPktgR7q3gpNVAeiKQd+8jBKFaU5NQS1Yatgo4wY+UFNuLjvxcSmzcsHqrhgTyBUA==", "dev": true, "dependencies": { - "@babel/compat-data": "^7.14.5", - "@babel/helper-compilation-targets": "^7.14.5", - "@babel/helper-plugin-utils": "^7.14.5", + "@babel/compat-data": "^7.16.4", + "@babel/helper-compilation-targets": "^7.16.7", + "@babel/helper-plugin-utils": "^7.16.7", "@babel/plugin-syntax-object-rest-spread": "^7.8.3", - "@babel/plugin-transform-parameters": "^7.14.5" + "@babel/plugin-transform-parameters": "^7.16.7" }, "engines": { "node": ">=6.9.0" @@ -672,12 +659,12 @@ } }, "node_modules/@babel/plugin-proposal-optional-catch-binding": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.14.5.tgz", - "integrity": "sha512-3Oyiixm0ur7bzO5ybNcZFlmVsygSIQgdOa7cTfOYCMY+wEPAYhZAJxi3mixKFCTCKUhQXuCTtQ1MzrpL3WT8ZQ==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.16.7.tgz", + "integrity": "sha512-eMOH/L4OvWSZAE1VkHbr1vckLG1WUcHGJSLqqQwl2GaUqG6QjddvrOaTUMNYiv77H5IKPMZ9U9P7EaHwvAShfA==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.14.5", + "@babel/helper-plugin-utils": "^7.16.7", "@babel/plugin-syntax-optional-catch-binding": "^7.8.3" }, "engines": { @@ -688,13 +675,13 @@ } }, "node_modules/@babel/plugin-proposal-optional-chaining": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.14.5.tgz", - "integrity": "sha512-ycz+VOzo2UbWNI1rQXxIuMOzrDdHGrI23fRiz/Si2R4kv2XZQ1BK8ccdHwehMKBlcH/joGW/tzrUmo67gbJHlQ==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.16.7.tgz", + "integrity": "sha512-eC3xy+ZrUcBtP7x+sq62Q/HYd674pPTb/77XZMb5wbDPGWIdUbSr4Agr052+zaUPSb+gGRnjxXfKFvx5iMJ+DA==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.14.5", - "@babel/helper-skip-transparent-expression-wrappers": "^7.14.5", + "@babel/helper-plugin-utils": "^7.16.7", + "@babel/helper-skip-transparent-expression-wrappers": "^7.16.0", "@babel/plugin-syntax-optional-chaining": "^7.8.3" }, "engines": { @@ -705,13 +692,13 @@ } }, "node_modules/@babel/plugin-proposal-private-methods": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.14.5.tgz", - "integrity": "sha512-838DkdUA1u+QTCplatfq4B7+1lnDa/+QMI89x5WZHBcnNv+47N8QEj2k9I2MUU9xIv8XJ4XvPCviM/Dj7Uwt9g==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.16.7.tgz", + "integrity": "sha512-7twV3pzhrRxSwHeIvFE6coPgvo+exNDOiGUMg39o2LiLo1Y+4aKpfkcLGcg1UHonzorCt7SNXnoMyCnnIOA8Sw==", "dev": true, "dependencies": { - "@babel/helper-create-class-features-plugin": "^7.14.5", - "@babel/helper-plugin-utils": "^7.14.5" + "@babel/helper-create-class-features-plugin": "^7.16.7", + "@babel/helper-plugin-utils": "^7.16.7" }, "engines": { "node": ">=6.9.0" @@ -721,14 +708,14 @@ } }, "node_modules/@babel/plugin-proposal-private-property-in-object": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.14.5.tgz", - "integrity": "sha512-62EyfyA3WA0mZiF2e2IV9mc9Ghwxcg8YTu8BS4Wss4Y3PY725OmS9M0qLORbJwLqFtGh+jiE4wAmocK2CTUK2Q==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.16.7.tgz", + "integrity": "sha512-rMQkjcOFbm+ufe3bTZLyOfsOUOxyvLXZJCTARhJr+8UMSoZmqTe1K1BgkFcrW37rAchWg57yI69ORxiWvUINuQ==", "dev": true, "dependencies": { - "@babel/helper-annotate-as-pure": "^7.14.5", - "@babel/helper-create-class-features-plugin": "^7.14.5", - "@babel/helper-plugin-utils": "^7.14.5", + "@babel/helper-annotate-as-pure": "^7.16.7", + "@babel/helper-create-class-features-plugin": "^7.16.7", + "@babel/helper-plugin-utils": "^7.16.7", "@babel/plugin-syntax-private-property-in-object": "^7.14.5" }, "engines": { @@ -739,13 +726,13 @@ } }, "node_modules/@babel/plugin-proposal-unicode-property-regex": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.14.5.tgz", - "integrity": "sha512-6axIeOU5LnY471KenAB9vI8I5j7NQ2d652hIYwVyRfgaZT5UpiqFKCuVXCDMSrU+3VFafnu2c5m3lrWIlr6A5Q==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.16.7.tgz", + "integrity": "sha512-QRK0YI/40VLhNVGIjRNAAQkEHws0cswSdFFjpFyt943YmJIU1da9uW63Iu6NFV6CxTZW5eTDCrwZUstBWgp/Rg==", "dev": true, "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.14.5", - "@babel/helper-plugin-utils": "^7.14.5" + "@babel/helper-create-regexp-features-plugin": "^7.16.7", + "@babel/helper-plugin-utils": "^7.16.7" }, "engines": { "node": ">=4" @@ -932,12 +919,12 @@ } }, "node_modules/@babel/plugin-transform-arrow-functions": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.14.5.tgz", - "integrity": "sha512-KOnO0l4+tD5IfOdi4x8C1XmEIRWUjNRV8wc6K2vz/3e8yAOoZZvsRXRRIF/yo/MAOFb4QjtAw9xSxMXbSMRy8A==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.16.7.tgz", + "integrity": "sha512-9ffkFFMbvzTvv+7dTp/66xvZAWASuPD5Tl9LK3Z9vhOmANo6j94rik+5YMBt4CwHVMWLWpMsriIc2zsa3WW3xQ==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.14.5" + "@babel/helper-plugin-utils": "^7.16.7" }, "engines": { "node": ">=6.9.0" @@ -947,14 +934,14 @@ } }, "node_modules/@babel/plugin-transform-async-to-generator": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.14.5.tgz", - "integrity": "sha512-szkbzQ0mNk0rpu76fzDdqSyPu0MuvpXgC+6rz5rpMb5OIRxdmHfQxrktL8CYolL2d8luMCZTR0DpIMIdL27IjA==", + "version": "7.16.8", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.16.8.tgz", + "integrity": "sha512-MtmUmTJQHCnyJVrScNzNlofQJ3dLFuobYn3mwOTKHnSCMtbNsqvF71GQmJfFjdrXSsAA7iysFmYWw4bXZ20hOg==", "dev": true, "dependencies": { - "@babel/helper-module-imports": "^7.14.5", - "@babel/helper-plugin-utils": "^7.14.5", - "@babel/helper-remap-async-to-generator": "^7.14.5" + "@babel/helper-module-imports": "^7.16.7", + "@babel/helper-plugin-utils": "^7.16.7", + "@babel/helper-remap-async-to-generator": "^7.16.8" }, "engines": { "node": ">=6.9.0" @@ -964,12 +951,12 @@ } }, "node_modules/@babel/plugin-transform-block-scoped-functions": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.14.5.tgz", - "integrity": "sha512-dtqWqdWZ5NqBX3KzsVCWfQI3A53Ft5pWFCT2eCVUftWZgjc5DpDponbIF1+c+7cSGk2wN0YK7HGL/ezfRbpKBQ==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.16.7.tgz", + "integrity": "sha512-JUuzlzmF40Z9cXyytcbZEZKckgrQzChbQJw/5PuEHYeqzCsvebDx0K0jWnIIVcmmDOAVctCgnYs0pMcrYj2zJg==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.14.5" + "@babel/helper-plugin-utils": "^7.16.7" }, "engines": { "node": ">=6.9.0" @@ -979,12 +966,12 @@ } }, "node_modules/@babel/plugin-transform-block-scoping": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.14.5.tgz", - "integrity": "sha512-LBYm4ZocNgoCqyxMLoOnwpsmQ18HWTQvql64t3GvMUzLQrNoV1BDG0lNftC8QKYERkZgCCT/7J5xWGObGAyHDw==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.16.7.tgz", + "integrity": "sha512-ObZev2nxVAYA4bhyusELdo9hb3H+A56bxH3FZMbEImZFiEDYVHXQSJ1hQKFlDnlt8G9bBrCZ5ZpURZUrV4G5qQ==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.14.5" + "@babel/helper-plugin-utils": "^7.16.7" }, "engines": { "node": ">=6.9.0" @@ -994,17 +981,18 @@ } }, "node_modules/@babel/plugin-transform-classes": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.14.5.tgz", - "integrity": "sha512-J4VxKAMykM06K/64z9rwiL6xnBHgB1+FVspqvlgCdwD1KUbQNfszeKVVOMh59w3sztHYIZDgnhOC4WbdEfHFDA==", - "dev": true, - "dependencies": { - "@babel/helper-annotate-as-pure": "^7.14.5", - "@babel/helper-function-name": "^7.14.5", - "@babel/helper-optimise-call-expression": "^7.14.5", - "@babel/helper-plugin-utils": "^7.14.5", - "@babel/helper-replace-supers": "^7.14.5", - "@babel/helper-split-export-declaration": "^7.14.5", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.16.7.tgz", + "integrity": "sha512-WY7og38SFAGYRe64BrjKf8OrE6ulEHtr5jEYaZMwox9KebgqPi67Zqz8K53EKk1fFEJgm96r32rkKZ3qA2nCWQ==", + "dev": true, + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.16.7", + "@babel/helper-environment-visitor": "^7.16.7", + "@babel/helper-function-name": "^7.16.7", + "@babel/helper-optimise-call-expression": "^7.16.7", + "@babel/helper-plugin-utils": "^7.16.7", + "@babel/helper-replace-supers": "^7.16.7", + "@babel/helper-split-export-declaration": "^7.16.7", "globals": "^11.1.0" }, "engines": { @@ -1015,12 +1003,12 @@ } }, "node_modules/@babel/plugin-transform-computed-properties": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.14.5.tgz", - "integrity": "sha512-pWM+E4283UxaVzLb8UBXv4EIxMovU4zxT1OPnpHJcmnvyY9QbPPTKZfEj31EUvG3/EQRbYAGaYEUZ4yWOBC2xg==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.16.7.tgz", + "integrity": "sha512-gN72G9bcmenVILj//sv1zLNaPyYcOzUho2lIJBMh/iakJ9ygCo/hEF9cpGb61SCMEDxbbyBoVQxrt+bWKu5KGw==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.14.5" + "@babel/helper-plugin-utils": "^7.16.7" }, "engines": { "node": ">=6.9.0" @@ -1030,12 +1018,12 @@ } }, "node_modules/@babel/plugin-transform-destructuring": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.14.5.tgz", - "integrity": "sha512-wU9tYisEbRMxqDezKUqC9GleLycCRoUsai9ddlsq54r8QRLaeEhc+d+9DqCG+kV9W2GgQjTZESPTpn5bAFMDww==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.16.7.tgz", + "integrity": "sha512-VqAwhTHBnu5xBVDCvrvqJbtLUa++qZaWC0Fgr2mqokBlulZARGyIvZDoqbPlPaKImQ9dKAcCzbv+ul//uqu70A==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.14.5" + "@babel/helper-plugin-utils": "^7.16.7" }, "engines": { "node": ">=6.9.0" @@ -1045,13 +1033,13 @@ } }, "node_modules/@babel/plugin-transform-dotall-regex": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.14.5.tgz", - "integrity": "sha512-loGlnBdj02MDsFaHhAIJzh7euK89lBrGIdM9EAtHFo6xKygCUGuuWe07o1oZVk287amtW1n0808sQM99aZt3gw==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.16.7.tgz", + "integrity": "sha512-Lyttaao2SjZF6Pf4vk1dVKv8YypMpomAbygW+mU5cYP3S5cWTfCJjG8xV6CFdzGFlfWK81IjL9viiTvpb6G7gQ==", "dev": true, "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.14.5", - "@babel/helper-plugin-utils": "^7.14.5" + "@babel/helper-create-regexp-features-plugin": "^7.16.7", + "@babel/helper-plugin-utils": "^7.16.7" }, "engines": { "node": ">=6.9.0" @@ -1061,12 +1049,12 @@ } }, "node_modules/@babel/plugin-transform-duplicate-keys": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.14.5.tgz", - "integrity": "sha512-iJjbI53huKbPDAsJ8EmVmvCKeeq21bAze4fu9GBQtSLqfvzj2oRuHVx4ZkDwEhg1htQ+5OBZh/Ab0XDf5iBZ7A==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.16.7.tgz", + "integrity": "sha512-03DvpbRfvWIXyK0/6QiR1KMTWeT6OcQ7tbhjrXyFS02kjuX/mu5Bvnh5SDSWHxyawit2g5aWhKwI86EE7GUnTw==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.14.5" + "@babel/helper-plugin-utils": "^7.16.7" }, "engines": { "node": ">=6.9.0" @@ -1076,13 +1064,13 @@ } }, "node_modules/@babel/plugin-transform-exponentiation-operator": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.14.5.tgz", - "integrity": "sha512-jFazJhMBc9D27o9jDnIE5ZErI0R0m7PbKXVq77FFvqFbzvTMuv8jaAwLZ5PviOLSFttqKIW0/wxNSDbjLk0tYA==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.16.7.tgz", + "integrity": "sha512-8UYLSlyLgRixQvlYH3J2ekXFHDFLQutdy7FfFAMm3CPZ6q9wHCwnUyiXpQCe3gVVnQlHc5nsuiEVziteRNTXEA==", "dev": true, "dependencies": { - "@babel/helper-builder-binary-assignment-operator-visitor": "^7.14.5", - "@babel/helper-plugin-utils": "^7.14.5" + "@babel/helper-builder-binary-assignment-operator-visitor": "^7.16.7", + "@babel/helper-plugin-utils": "^7.16.7" }, "engines": { "node": ">=6.9.0" @@ -1092,12 +1080,12 @@ } }, "node_modules/@babel/plugin-transform-for-of": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.14.5.tgz", - "integrity": "sha512-CfmqxSUZzBl0rSjpoQSFoR9UEj3HzbGuGNL21/iFTmjb5gFggJp3ph0xR1YBhexmLoKRHzgxuFvty2xdSt6gTA==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.16.7.tgz", + "integrity": "sha512-/QZm9W92Ptpw7sjI9Nx1mbcsWz33+l8kuMIQnDwgQBG5s3fAfQvkRjQ7NqXhtNcKOnPkdICmUHyCaWW06HCsqg==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.14.5" + "@babel/helper-plugin-utils": "^7.16.7" }, "engines": { "node": ">=6.9.0" @@ -1107,13 +1095,14 @@ } }, "node_modules/@babel/plugin-transform-function-name": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.14.5.tgz", - "integrity": "sha512-vbO6kv0fIzZ1GpmGQuvbwwm+O4Cbm2NrPzwlup9+/3fdkuzo1YqOZcXw26+YUJB84Ja7j9yURWposEHLYwxUfQ==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.16.7.tgz", + "integrity": "sha512-SU/C68YVwTRxqWj5kgsbKINakGag0KTgq9f2iZEXdStoAbOzLHEBRYzImmA6yFo8YZhJVflvXmIHUO7GWHmxxA==", "dev": true, "dependencies": { - "@babel/helper-function-name": "^7.14.5", - "@babel/helper-plugin-utils": "^7.14.5" + "@babel/helper-compilation-targets": "^7.16.7", + "@babel/helper-function-name": "^7.16.7", + "@babel/helper-plugin-utils": "^7.16.7" }, "engines": { "node": ">=6.9.0" @@ -1123,12 +1112,12 @@ } }, "node_modules/@babel/plugin-transform-literals": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.14.5.tgz", - "integrity": "sha512-ql33+epql2F49bi8aHXxvLURHkxJbSmMKl9J5yHqg4PLtdE6Uc48CH1GS6TQvZ86eoB/ApZXwm7jlA+B3kra7A==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.16.7.tgz", + "integrity": "sha512-6tH8RTpTWI0s2sV6uq3e/C9wPo4PTqqZps4uF0kzQ9/xPLFQtipynvmT1g/dOfEJ+0EQsHhkQ/zyRId8J2b8zQ==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.14.5" + "@babel/helper-plugin-utils": "^7.16.7" }, "engines": { "node": ">=6.9.0" @@ -1138,12 +1127,12 @@ } }, "node_modules/@babel/plugin-transform-member-expression-literals": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.14.5.tgz", - "integrity": "sha512-WkNXxH1VXVTKarWFqmso83xl+2V3Eo28YY5utIkbsmXoItO8Q3aZxN4BTS2k0hz9dGUloHK26mJMyQEYfkn/+Q==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.16.7.tgz", + "integrity": "sha512-mBruRMbktKQwbxaJof32LT9KLy2f3gH+27a5XSuXo6h7R3vqltl0PgZ80C8ZMKw98Bf8bqt6BEVi3svOh2PzMw==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.14.5" + "@babel/helper-plugin-utils": "^7.16.7" }, "engines": { "node": ">=6.9.0" @@ -1153,13 +1142,13 @@ } }, "node_modules/@babel/plugin-transform-modules-amd": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.14.5.tgz", - "integrity": "sha512-3lpOU8Vxmp3roC4vzFpSdEpGUWSMsHFreTWOMMLzel2gNGfHE5UWIh/LN6ghHs2xurUp4jRFYMUIZhuFbody1g==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.16.7.tgz", + "integrity": "sha512-KaaEtgBL7FKYwjJ/teH63oAmE3lP34N3kshz8mm4VMAw7U3PxjVwwUmxEFksbgsNUaO3wId9R2AVQYSEGRa2+g==", "dev": true, "dependencies": { - "@babel/helper-module-transforms": "^7.14.5", - "@babel/helper-plugin-utils": "^7.14.5", + "@babel/helper-module-transforms": "^7.16.7", + "@babel/helper-plugin-utils": "^7.16.7", "babel-plugin-dynamic-import-node": "^2.3.3" }, "engines": { @@ -1170,14 +1159,14 @@ } }, "node_modules/@babel/plugin-transform-modules-commonjs": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.14.5.tgz", - "integrity": "sha512-en8GfBtgnydoao2PS+87mKyw62k02k7kJ9ltbKe0fXTHrQmG6QZZflYuGI1VVG7sVpx4E1n7KBpNlPb8m78J+A==", + "version": "7.16.8", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.16.8.tgz", + "integrity": "sha512-oflKPvsLT2+uKQopesJt3ApiaIS2HW+hzHFcwRNtyDGieAeC/dIHZX8buJQ2J2X1rxGPy4eRcUijm3qcSPjYcA==", "dev": true, "dependencies": { - "@babel/helper-module-transforms": "^7.14.5", - "@babel/helper-plugin-utils": "^7.14.5", - "@babel/helper-simple-access": "^7.14.5", + "@babel/helper-module-transforms": "^7.16.7", + "@babel/helper-plugin-utils": "^7.16.7", + "@babel/helper-simple-access": "^7.16.7", "babel-plugin-dynamic-import-node": "^2.3.3" }, "engines": { @@ -1188,15 +1177,15 @@ } }, "node_modules/@babel/plugin-transform-modules-systemjs": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.14.5.tgz", - "integrity": "sha512-mNMQdvBEE5DcMQaL5LbzXFMANrQjd2W7FPzg34Y4yEz7dBgdaC+9B84dSO+/1Wba98zoDbInctCDo4JGxz1VYA==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.16.7.tgz", + "integrity": "sha512-DuK5E3k+QQmnOqBR9UkusByy5WZWGRxfzV529s9nPra1GE7olmxfqO2FHobEOYSPIjPBTr4p66YDcjQnt8cBmw==", "dev": true, "dependencies": { - "@babel/helper-hoist-variables": "^7.14.5", - "@babel/helper-module-transforms": "^7.14.5", - "@babel/helper-plugin-utils": "^7.14.5", - "@babel/helper-validator-identifier": "^7.14.5", + "@babel/helper-hoist-variables": "^7.16.7", + "@babel/helper-module-transforms": "^7.16.7", + "@babel/helper-plugin-utils": "^7.16.7", + "@babel/helper-validator-identifier": "^7.16.7", "babel-plugin-dynamic-import-node": "^2.3.3" }, "engines": { @@ -1207,13 +1196,13 @@ } }, "node_modules/@babel/plugin-transform-modules-umd": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.14.5.tgz", - "integrity": "sha512-RfPGoagSngC06LsGUYyM9QWSXZ8MysEjDJTAea1lqRjNECE3y0qIJF/qbvJxc4oA4s99HumIMdXOrd+TdKaAAA==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.16.7.tgz", + "integrity": "sha512-EMh7uolsC8O4xhudF2F6wedbSHm1HHZ0C6aJ7K67zcDNidMzVcxWdGr+htW9n21klm+bOn+Rx4CBsAntZd3rEQ==", "dev": true, "dependencies": { - "@babel/helper-module-transforms": "^7.14.5", - "@babel/helper-plugin-utils": "^7.14.5" + "@babel/helper-module-transforms": "^7.16.7", + "@babel/helper-plugin-utils": "^7.16.7" }, "engines": { "node": ">=6.9.0" @@ -1223,12 +1212,12 @@ } }, "node_modules/@babel/plugin-transform-named-capturing-groups-regex": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.14.5.tgz", - "integrity": "sha512-+Xe5+6MWFo311U8SchgeX5c1+lJM+eZDBZgD+tvXu9VVQPXwwVzeManMMjYX6xw2HczngfOSZjoFYKwdeB/Jvw==", + "version": "7.16.8", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.16.8.tgz", + "integrity": "sha512-j3Jw+n5PvpmhRR+mrgIh04puSANCk/T/UA3m3P1MjJkhlK906+ApHhDIqBQDdOgL/r1UYpz4GNclTXxyZrYGSw==", "dev": true, "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.14.5" + "@babel/helper-create-regexp-features-plugin": "^7.16.7" }, "engines": { "node": ">=6.9.0" @@ -1238,12 +1227,12 @@ } }, "node_modules/@babel/plugin-transform-new-target": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.14.5.tgz", - "integrity": "sha512-Nx054zovz6IIRWEB49RDRuXGI4Gy0GMgqG0cII9L3MxqgXz/+rgII+RU58qpo4g7tNEx1jG7rRVH4ihZoP4esQ==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.16.7.tgz", + "integrity": "sha512-xiLDzWNMfKoGOpc6t3U+etCE2yRnn3SM09BXqWPIZOBpL2gvVrBWUKnsJx0K/ADi5F5YC5f8APFfWrz25TdlGg==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.14.5" + "@babel/helper-plugin-utils": "^7.16.7" }, "engines": { "node": ">=6.9.0" @@ -1253,13 +1242,13 @@ } }, "node_modules/@babel/plugin-transform-object-super": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.14.5.tgz", - "integrity": "sha512-MKfOBWzK0pZIrav9z/hkRqIk/2bTv9qvxHzPQc12RcVkMOzpIKnFCNYJip00ssKWYkd8Sf5g0Wr7pqJ+cmtuFg==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.16.7.tgz", + "integrity": "sha512-14J1feiQVWaGvRxj2WjyMuXS2jsBkgB3MdSN5HuC2G5nRspa5RK9COcs82Pwy5BuGcjb+fYaUj94mYcOj7rCvw==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.14.5", - "@babel/helper-replace-supers": "^7.14.5" + "@babel/helper-plugin-utils": "^7.16.7", + "@babel/helper-replace-supers": "^7.16.7" }, "engines": { "node": ">=6.9.0" @@ -1269,12 +1258,12 @@ } }, "node_modules/@babel/plugin-transform-parameters": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.14.5.tgz", - "integrity": "sha512-Tl7LWdr6HUxTmzQtzuU14SqbgrSKmaR77M0OKyq4njZLQTPfOvzblNKyNkGwOfEFCEx7KeYHQHDI0P3F02IVkA==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.16.7.tgz", + "integrity": "sha512-AT3MufQ7zZEhU2hwOA11axBnExW0Lszu4RL/tAlUJBuNoRak+wehQW8h6KcXOcgjY42fHtDxswuMhMjFEuv/aw==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.14.5" + "@babel/helper-plugin-utils": "^7.16.7" }, "engines": { "node": ">=6.9.0" @@ -1284,12 +1273,12 @@ } }, "node_modules/@babel/plugin-transform-property-literals": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.14.5.tgz", - "integrity": "sha512-r1uilDthkgXW8Z1vJz2dKYLV1tuw2xsbrp3MrZmD99Wh9vsfKoob+JTgri5VUb/JqyKRXotlOtwgu4stIYCmnw==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.16.7.tgz", + "integrity": "sha512-z4FGr9NMGdoIl1RqavCqGG+ZuYjfZ/hkCIeuH6Do7tXmSm0ls11nYVSJqFEUOSJbDab5wC6lRE/w6YjVcr6Hqw==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.14.5" + "@babel/helper-plugin-utils": "^7.16.7" }, "engines": { "node": ">=6.9.0" @@ -1299,9 +1288,9 @@ } }, "node_modules/@babel/plugin-transform-regenerator": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.14.5.tgz", - "integrity": "sha512-NVIY1W3ITDP5xQl50NgTKlZ0GrotKtLna08/uGY6ErQt6VEQZXla86x/CTddm5gZdcr+5GSsvMeTmWA5Ii6pkg==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.16.7.tgz", + "integrity": "sha512-mF7jOgGYCkSJagJ6XCujSQg+6xC1M77/03K2oBmVJWoFGNUtnVJO4WHKJk3dnPC8HCcj4xBQP1Egm8DWh3Pb3Q==", "dev": true, "dependencies": { "regenerator-transform": "^0.14.2" @@ -1314,12 +1303,12 @@ } }, "node_modules/@babel/plugin-transform-reserved-words": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.14.5.tgz", - "integrity": "sha512-cv4F2rv1nD4qdexOGsRQXJrOcyb5CrgjUH9PKrrtyhSDBNWGxd0UIitjyJiWagS+EbUGjG++22mGH1Pub8D6Vg==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.16.7.tgz", + "integrity": "sha512-KQzzDnZ9hWQBjwi5lpY5v9shmm6IVG0U9pB18zvMu2i4H90xpT4gmqwPYsn8rObiadYe2M0gmgsiOIF5A/2rtg==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.14.5" + "@babel/helper-plugin-utils": "^7.16.7" }, "engines": { "node": ">=6.9.0" @@ -1329,12 +1318,12 @@ } }, "node_modules/@babel/plugin-transform-shorthand-properties": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.14.5.tgz", - "integrity": "sha512-xLucks6T1VmGsTB+GWK5Pl9Jl5+nRXD1uoFdA5TSO6xtiNjtXTjKkmPdFXVLGlK5A2/or/wQMKfmQ2Y0XJfn5g==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.16.7.tgz", + "integrity": "sha512-hah2+FEnoRoATdIb05IOXf+4GzXYTq75TVhIn1PewihbpyrNWUt2JbudKQOETWw6QpLe+AIUpJ5MVLYTQbeeUg==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.14.5" + "@babel/helper-plugin-utils": "^7.16.7" }, "engines": { "node": ">=6.9.0" @@ -1344,13 +1333,13 @@ } }, "node_modules/@babel/plugin-transform-spread": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.14.5.tgz", - "integrity": "sha512-/3iqoQdiWergnShZYl0xACb4ADeYCJ7X/RgmwtXshn6cIvautRPAFzhd58frQlokLO6Jb4/3JXvmm6WNTPtiTw==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.16.7.tgz", + "integrity": "sha512-+pjJpgAngb53L0iaA5gU/1MLXJIfXcYepLgXB3esVRf4fqmj8f2cxM3/FKaHsZms08hFQJkFccEWuIpm429TXg==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.14.5", - "@babel/helper-skip-transparent-expression-wrappers": "^7.14.5" + "@babel/helper-plugin-utils": "^7.16.7", + "@babel/helper-skip-transparent-expression-wrappers": "^7.16.0" }, "engines": { "node": ">=6.9.0" @@ -1360,12 +1349,12 @@ } }, "node_modules/@babel/plugin-transform-sticky-regex": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.14.5.tgz", - "integrity": "sha512-Z7F7GyvEMzIIbwnziAZmnSNpdijdr4dWt+FJNBnBLz5mwDFkqIXU9wmBcWWad3QeJF5hMTkRe4dAq2sUZiG+8A==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.16.7.tgz", + "integrity": "sha512-NJa0Bd/87QV5NZZzTuZG5BPJjLYadeSZ9fO6oOUoL4iQx+9EEuw/eEM92SrsT19Yc2jgB1u1hsjqDtH02c3Drw==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.14.5" + "@babel/helper-plugin-utils": "^7.16.7" }, "engines": { "node": ">=6.9.0" @@ -1375,12 +1364,12 @@ } }, "node_modules/@babel/plugin-transform-template-literals": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.14.5.tgz", - "integrity": "sha512-22btZeURqiepOfuy/VkFr+zStqlujWaarpMErvay7goJS6BWwdd6BY9zQyDLDa4x2S3VugxFb162IZ4m/S/+Gg==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.16.7.tgz", + "integrity": "sha512-VwbkDDUeenlIjmfNeDX/V0aWrQH2QiVyJtwymVQSzItFDTpxfyJh3EVaQiS0rIN/CqbLGr0VcGmuwyTdZtdIsA==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.14.5" + "@babel/helper-plugin-utils": "^7.16.7" }, "engines": { "node": ">=6.9.0" @@ -1390,12 +1379,12 @@ } }, "node_modules/@babel/plugin-transform-typeof-symbol": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.14.5.tgz", - "integrity": "sha512-lXzLD30ffCWseTbMQzrvDWqljvZlHkXU+CnseMhkMNqU1sASnCsz3tSzAaH3vCUXb9PHeUb90ZT1BdFTm1xxJw==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.16.7.tgz", + "integrity": "sha512-p2rOixCKRJzpg9JB4gjnG4gjWkWa89ZoYUnl9snJ1cWIcTH/hvxZqfO+WjG6T8DRBpctEol5jw1O5rA8gkCokQ==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.14.5" + "@babel/helper-plugin-utils": "^7.16.7" }, "engines": { "node": ">=6.9.0" @@ -1405,12 +1394,12 @@ } }, "node_modules/@babel/plugin-transform-unicode-escapes": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.14.5.tgz", - "integrity": "sha512-crTo4jATEOjxj7bt9lbYXcBAM3LZaUrbP2uUdxb6WIorLmjNKSpHfIybgY4B8SRpbf8tEVIWH3Vtm7ayCrKocA==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.16.7.tgz", + "integrity": "sha512-TAV5IGahIz3yZ9/Hfv35TV2xEm+kaBDaZQCn2S/hG9/CZ0DktxJv9eKfPc7yYCvOYR4JGx1h8C+jcSOvgaaI/Q==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.14.5" + "@babel/helper-plugin-utils": "^7.16.7" }, "engines": { "node": ">=6.9.0" @@ -1420,13 +1409,13 @@ } }, "node_modules/@babel/plugin-transform-unicode-regex": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.14.5.tgz", - "integrity": "sha512-UygduJpC5kHeCiRw/xDVzC+wj8VaYSoKl5JNVmbP7MadpNinAm3SvZCxZ42H37KZBKztz46YC73i9yV34d0Tzw==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.16.7.tgz", + "integrity": "sha512-oC5tYYKw56HO75KZVLQ+R/Nl3Hro9kf8iG0hXoaHP7tjAyCpvqBiSNe6vGrZni1Z6MggmUOC6A7VP7AVmw225Q==", "dev": true, "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.14.5", - "@babel/helper-plugin-utils": "^7.14.5" + "@babel/helper-create-regexp-features-plugin": "^7.16.7", + "@babel/helper-plugin-utils": "^7.16.7" }, "engines": { "node": ">=6.9.0" @@ -1436,31 +1425,32 @@ } }, "node_modules/@babel/preset-env": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.14.5.tgz", - "integrity": "sha512-ci6TsS0bjrdPpWGnQ+m4f+JSSzDKlckqKIJJt9UZ/+g7Zz9k0N8lYU8IeLg/01o2h8LyNZDMLGgRLDTxpudLsA==", - "dev": true, - "dependencies": { - "@babel/compat-data": "^7.14.5", - "@babel/helper-compilation-targets": "^7.14.5", - "@babel/helper-plugin-utils": "^7.14.5", - "@babel/helper-validator-option": "^7.14.5", - "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.14.5", - "@babel/plugin-proposal-async-generator-functions": "^7.14.5", - "@babel/plugin-proposal-class-properties": "^7.14.5", - "@babel/plugin-proposal-class-static-block": "^7.14.5", - "@babel/plugin-proposal-dynamic-import": "^7.14.5", - "@babel/plugin-proposal-export-namespace-from": "^7.14.5", - "@babel/plugin-proposal-json-strings": "^7.14.5", - "@babel/plugin-proposal-logical-assignment-operators": "^7.14.5", - "@babel/plugin-proposal-nullish-coalescing-operator": "^7.14.5", - "@babel/plugin-proposal-numeric-separator": "^7.14.5", - "@babel/plugin-proposal-object-rest-spread": "^7.14.5", - "@babel/plugin-proposal-optional-catch-binding": "^7.14.5", - "@babel/plugin-proposal-optional-chaining": "^7.14.5", - "@babel/plugin-proposal-private-methods": "^7.14.5", - "@babel/plugin-proposal-private-property-in-object": "^7.14.5", - "@babel/plugin-proposal-unicode-property-regex": "^7.14.5", + "version": "7.16.8", + "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.16.8.tgz", + "integrity": "sha512-9rNKgVCdwHb3z1IlbMyft6yIXIeP3xz6vWvGaLHrJThuEIqWfHb0DNBH9VuTgnDfdbUDhkmkvMZS/YMCtP7Elg==", + "dev": true, + "dependencies": { + "@babel/compat-data": "^7.16.8", + "@babel/helper-compilation-targets": "^7.16.7", + "@babel/helper-plugin-utils": "^7.16.7", + "@babel/helper-validator-option": "^7.16.7", + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.16.7", + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.16.7", + "@babel/plugin-proposal-async-generator-functions": "^7.16.8", + "@babel/plugin-proposal-class-properties": "^7.16.7", + "@babel/plugin-proposal-class-static-block": "^7.16.7", + "@babel/plugin-proposal-dynamic-import": "^7.16.7", + "@babel/plugin-proposal-export-namespace-from": "^7.16.7", + "@babel/plugin-proposal-json-strings": "^7.16.7", + "@babel/plugin-proposal-logical-assignment-operators": "^7.16.7", + "@babel/plugin-proposal-nullish-coalescing-operator": "^7.16.7", + "@babel/plugin-proposal-numeric-separator": "^7.16.7", + "@babel/plugin-proposal-object-rest-spread": "^7.16.7", + "@babel/plugin-proposal-optional-catch-binding": "^7.16.7", + "@babel/plugin-proposal-optional-chaining": "^7.16.7", + "@babel/plugin-proposal-private-methods": "^7.16.7", + "@babel/plugin-proposal-private-property-in-object": "^7.16.7", + "@babel/plugin-proposal-unicode-property-regex": "^7.16.7", "@babel/plugin-syntax-async-generators": "^7.8.4", "@babel/plugin-syntax-class-properties": "^7.12.13", "@babel/plugin-syntax-class-static-block": "^7.14.5", @@ -1475,44 +1465,44 @@ "@babel/plugin-syntax-optional-chaining": "^7.8.3", "@babel/plugin-syntax-private-property-in-object": "^7.14.5", "@babel/plugin-syntax-top-level-await": "^7.14.5", - "@babel/plugin-transform-arrow-functions": "^7.14.5", - "@babel/plugin-transform-async-to-generator": "^7.14.5", - "@babel/plugin-transform-block-scoped-functions": "^7.14.5", - "@babel/plugin-transform-block-scoping": "^7.14.5", - "@babel/plugin-transform-classes": "^7.14.5", - "@babel/plugin-transform-computed-properties": "^7.14.5", - "@babel/plugin-transform-destructuring": "^7.14.5", - "@babel/plugin-transform-dotall-regex": "^7.14.5", - "@babel/plugin-transform-duplicate-keys": "^7.14.5", - "@babel/plugin-transform-exponentiation-operator": "^7.14.5", - "@babel/plugin-transform-for-of": "^7.14.5", - "@babel/plugin-transform-function-name": "^7.14.5", - "@babel/plugin-transform-literals": "^7.14.5", - "@babel/plugin-transform-member-expression-literals": "^7.14.5", - "@babel/plugin-transform-modules-amd": "^7.14.5", - "@babel/plugin-transform-modules-commonjs": "^7.14.5", - "@babel/plugin-transform-modules-systemjs": "^7.14.5", - "@babel/plugin-transform-modules-umd": "^7.14.5", - "@babel/plugin-transform-named-capturing-groups-regex": "^7.14.5", - "@babel/plugin-transform-new-target": "^7.14.5", - "@babel/plugin-transform-object-super": "^7.14.5", - "@babel/plugin-transform-parameters": "^7.14.5", - "@babel/plugin-transform-property-literals": "^7.14.5", - "@babel/plugin-transform-regenerator": "^7.14.5", - "@babel/plugin-transform-reserved-words": "^7.14.5", - "@babel/plugin-transform-shorthand-properties": "^7.14.5", - "@babel/plugin-transform-spread": "^7.14.5", - "@babel/plugin-transform-sticky-regex": "^7.14.5", - "@babel/plugin-transform-template-literals": "^7.14.5", - "@babel/plugin-transform-typeof-symbol": "^7.14.5", - "@babel/plugin-transform-unicode-escapes": "^7.14.5", - "@babel/plugin-transform-unicode-regex": "^7.14.5", - "@babel/preset-modules": "^0.1.4", - "@babel/types": "^7.14.5", - "babel-plugin-polyfill-corejs2": "^0.2.2", - "babel-plugin-polyfill-corejs3": "^0.2.2", - "babel-plugin-polyfill-regenerator": "^0.2.2", - "core-js-compat": "^3.14.0", + "@babel/plugin-transform-arrow-functions": "^7.16.7", + "@babel/plugin-transform-async-to-generator": "^7.16.8", + "@babel/plugin-transform-block-scoped-functions": "^7.16.7", + "@babel/plugin-transform-block-scoping": "^7.16.7", + "@babel/plugin-transform-classes": "^7.16.7", + "@babel/plugin-transform-computed-properties": "^7.16.7", + "@babel/plugin-transform-destructuring": "^7.16.7", + "@babel/plugin-transform-dotall-regex": "^7.16.7", + "@babel/plugin-transform-duplicate-keys": "^7.16.7", + "@babel/plugin-transform-exponentiation-operator": "^7.16.7", + "@babel/plugin-transform-for-of": "^7.16.7", + "@babel/plugin-transform-function-name": "^7.16.7", + "@babel/plugin-transform-literals": "^7.16.7", + "@babel/plugin-transform-member-expression-literals": "^7.16.7", + "@babel/plugin-transform-modules-amd": "^7.16.7", + "@babel/plugin-transform-modules-commonjs": "^7.16.8", + "@babel/plugin-transform-modules-systemjs": "^7.16.7", + "@babel/plugin-transform-modules-umd": "^7.16.7", + "@babel/plugin-transform-named-capturing-groups-regex": "^7.16.8", + "@babel/plugin-transform-new-target": "^7.16.7", + "@babel/plugin-transform-object-super": "^7.16.7", + "@babel/plugin-transform-parameters": "^7.16.7", + "@babel/plugin-transform-property-literals": "^7.16.7", + "@babel/plugin-transform-regenerator": "^7.16.7", + "@babel/plugin-transform-reserved-words": "^7.16.7", + "@babel/plugin-transform-shorthand-properties": "^7.16.7", + "@babel/plugin-transform-spread": "^7.16.7", + "@babel/plugin-transform-sticky-regex": "^7.16.7", + "@babel/plugin-transform-template-literals": "^7.16.7", + "@babel/plugin-transform-typeof-symbol": "^7.16.7", + "@babel/plugin-transform-unicode-escapes": "^7.16.7", + "@babel/plugin-transform-unicode-regex": "^7.16.7", + "@babel/preset-modules": "^0.1.5", + "@babel/types": "^7.16.8", + "babel-plugin-polyfill-corejs2": "^0.3.0", + "babel-plugin-polyfill-corejs3": "^0.5.0", + "babel-plugin-polyfill-regenerator": "^0.3.0", + "core-js-compat": "^3.20.2", "semver": "^6.3.0" }, "engines": { @@ -1522,19 +1512,10 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/preset-env/node_modules/semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true, - "bin": { - "semver": "bin/semver.js" - } - }, "node_modules/@babel/preset-modules": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.4.tgz", - "integrity": "sha512-J36NhwnfdzpmH41M1DrnkkgAqhZaqr/NBdPfQ677mLzlaXo+oDiv1deyCDtgAhz8p328otdob0Du7+xgHGZbKg==", + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.5.tgz", + "integrity": "sha512-A57th6YRG7oR3cq/yt/Y84MvGgE0eJG2F1JLhKuyG+jFxEgrd/HAMJatiFtmOiZurz+0DkrvbheCLaV5f2JfjA==", "dev": true, "dependencies": { "@babel/helper-plugin-utils": "^7.0.0", @@ -1542,12 +1523,15 @@ "@babel/plugin-transform-dotall-regex": "^7.4.4", "@babel/types": "^7.4.4", "esutils": "^2.0.2" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/runtime": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.14.5.tgz", - "integrity": "sha512-121rumjddw9c3NCQ55KGkyE1h/nzWhU/owjhw0l4mQrkzz4x9SGS1X8gFLraHwX7td3Yo4QTL+qj0NcIzN87BA==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.16.7.tgz", + "integrity": "sha512-9E9FJowqAsytyOY6LG+1KuueckRL+aQW+mKvXRXnuFGyRAyepJPmEo9vgMfXUA6O9u3IeEdv9MAkppFcaQwogQ==", "dev": true, "dependencies": { "regenerator-runtime": "^0.13.4" @@ -1557,32 +1541,33 @@ } }, "node_modules/@babel/template": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.14.5.tgz", - "integrity": "sha512-6Z3Po85sfxRGachLULUhOmvAaOo7xCvqGQtxINai2mEGPFm6pQ4z5QInFnUrRpfoSV60BnjyF5F3c+15fxFV1g==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.16.7.tgz", + "integrity": "sha512-I8j/x8kHUrbYRTUxXrrMbfCa7jxkE7tZre39x3kjr9hvI82cK1FfqLygotcWN5kdPGWcLdWMHpSBavse5tWw3w==", "dev": true, "dependencies": { - "@babel/code-frame": "^7.14.5", - "@babel/parser": "^7.14.5", - "@babel/types": "^7.14.5" + "@babel/code-frame": "^7.16.7", + "@babel/parser": "^7.16.7", + "@babel/types": "^7.16.7" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/traverse": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.14.5.tgz", - "integrity": "sha512-G3BiS15vevepdmFqmUc9X+64y0viZYygubAMO8SvBmKARuF6CPSZtH4Ng9vi/lrWlZFGe3FWdXNy835akH8Glg==", - "dev": true, - "dependencies": { - "@babel/code-frame": "^7.14.5", - "@babel/generator": "^7.14.5", - "@babel/helper-function-name": "^7.14.5", - "@babel/helper-hoist-variables": "^7.14.5", - "@babel/helper-split-export-declaration": "^7.14.5", - "@babel/parser": "^7.14.5", - "@babel/types": "^7.14.5", + "version": "7.16.8", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.16.8.tgz", + "integrity": "sha512-xe+H7JlvKsDQwXRsBhSnq1/+9c+LlQcCK3Tn/l5sbx02HYns/cn7ibp9+RV1sIUqu7hKg91NWsgHurO9dowITQ==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.16.7", + "@babel/generator": "^7.16.8", + "@babel/helper-environment-visitor": "^7.16.7", + "@babel/helper-function-name": "^7.16.7", + "@babel/helper-hoist-variables": "^7.16.7", + "@babel/helper-split-export-declaration": "^7.16.7", + "@babel/parser": "^7.16.8", + "@babel/types": "^7.16.8", "debug": "^4.1.0", "globals": "^11.1.0" }, @@ -1591,12 +1576,12 @@ } }, "node_modules/@babel/types": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.14.5.tgz", - "integrity": "sha512-M/NzBpEL95I5Hh4dwhin5JlE7EzO5PHMAuzjxss3tiOBD46KfQvVedN/3jEPZvdRvtsK2222XfdHogNIttFgcg==", + "version": "7.16.8", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.16.8.tgz", + "integrity": "sha512-smN2DQc5s4M7fntyjGtyIPbRJv6wW4rU/94fmYJ7PKQuZkC0qGMHXJbg6sNGt12JmVr4k5YaptI/XtiLJBnmIg==", "dev": true, "dependencies": { - "@babel/helper-validator-identifier": "^7.14.5", + "@babel/helper-validator-identifier": "^7.16.7", "to-fast-properties": "^2.0.0" }, "engines": { @@ -1604,18 +1589,18 @@ } }, "node_modules/@discoveryjs/json-ext": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/@discoveryjs/json-ext/-/json-ext-0.5.2.tgz", - "integrity": "sha512-HyYEUDeIj5rRQU2Hk5HTB2uHsbRQpF70nvMhVzi+VJR0X+xNEhjPui4/kBf3VeH/wqD28PT4sVOm8qqLjBrSZg==", + "version": "0.5.6", + "resolved": "https://registry.npmjs.org/@discoveryjs/json-ext/-/json-ext-0.5.6.tgz", + "integrity": "sha512-ws57AidsDvREKrZKYffXddNkyaF14iHNHm8VQnZH6t99E8gczjNN0GpvcGny0imC80yQ0tHz1xVUKk/KFQSUyA==", "dev": true, "engines": { "node": ">=10.0.0" } }, "node_modules/@types/eslint": { - "version": "7.2.4", - "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-7.2.4.tgz", - "integrity": "sha512-YCY4kzHMsHoyKspQH+nwSe+70Kep7Vjt2X+dZe5Vs2vkRudqtoFoUIv1RlJmZB8Hbp7McneupoZij4PadxsK5Q==", + "version": "8.2.2", + "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.2.2.tgz", + "integrity": "sha512-nQxgB8/Sg+QKhnV8e0WzPpxjIGT3tuJDDzybkDi8ItE/IgTlHo07U0shaIjzhcvQxlq9SDRE42lsJ23uvEgJ2A==", "dev": true, "dependencies": { "@types/estree": "*", @@ -1623,9 +1608,9 @@ } }, "node_modules/@types/eslint-scope": { - "version": "3.7.0", - "resolved": "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.0.tgz", - "integrity": "sha512-O/ql2+rrCUe2W2rs7wMR+GqPRcgB6UiqN5RhrR5xruFlY7l9YLMn0ZkDzjoHLeiFkR8MCQZVudUuuvQ2BLC9Qw==", + "version": "3.7.3", + "resolved": "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.3.tgz", + "integrity": "sha512-PB3ldyrcnAicT35TWPs5IcwKD8S333HMaa2VVv4+wdvebJkjWuW/xESoB8IwRcog8HYVYamb1g/R31Qv5Bx03g==", "dev": true, "dependencies": { "@types/eslint": "*", @@ -1633,173 +1618,173 @@ } }, "node_modules/@types/estree": { - "version": "0.0.47", - "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.47.tgz", - "integrity": "sha512-c5ciR06jK8u9BstrmJyO97m+klJrrhCf9u3rLu3DEAJBirxRqSCvDQoYKmxuYwQI5SZChAWu+tq9oVlGRuzPAg==", + "version": "0.0.50", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.50.tgz", + "integrity": "sha512-C6N5s2ZFtuZRj54k2/zyRhNDjJwwcViAM3Nbm8zjBpbqAdZ00mr0CFxvSKeO8Y/e03WVFLpQMdHYVfUd6SB+Hw==", "dev": true }, "node_modules/@types/json-schema": { - "version": "7.0.5", - "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.5.tgz", - "integrity": "sha512-7+2BITlgjgDhH0vvwZU/HZJVyk+2XUlvxXe8dFMedNX/aMkaOq++rMAFXc0tM7ij15QaWlbdQASBR9dihi+bDQ==", + "version": "7.0.9", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.9.tgz", + "integrity": "sha512-qcUXuemtEu+E5wZSJHNxUXeCZhAfXKQ41D+duX+VYPde7xyEVZci+/oXKJL13tnRs9lR2pr4fod59GT6/X1/yQ==", "dev": true }, "node_modules/@types/node": { - "version": "15.12.2", - "resolved": "https://registry.npmjs.org/@types/node/-/node-15.12.2.tgz", - "integrity": "sha512-zjQ69G564OCIWIOHSXyQEEDpdpGl+G348RAKY0XXy9Z5kU9Vzv1GMNnkar/ZJ8dzXB3COzD9Mo9NtRZ4xfgUww==", + "version": "17.0.9", + "resolved": "https://registry.npmjs.org/@types/node/-/node-17.0.9.tgz", + "integrity": "sha512-5dNBXu/FOER+EXnyah7rn8xlNrfMOQb/qXnw4NQgLkCygKBKhdmF/CA5oXVOKZLBEahw8s2WP9LxIcN/oDDRgQ==", "dev": true }, "node_modules/@webassemblyjs/ast": { - "version": "1.11.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.11.0.tgz", - "integrity": "sha512-kX2W49LWsbthrmIRMbQZuQDhGtjyqXfEmmHyEi4XWnSZtPmxY0+3anPIzsnRb45VH/J55zlOfWvZuY47aJZTJg==", + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.11.1.tgz", + "integrity": "sha512-ukBh14qFLjxTQNTXocdyksN5QdM28S1CxHt2rdskFyL+xFV7VremuBLVbmCePj+URalXBENx/9Lm7lnhihtCSw==", "dev": true, "dependencies": { - "@webassemblyjs/helper-numbers": "1.11.0", - "@webassemblyjs/helper-wasm-bytecode": "1.11.0" + "@webassemblyjs/helper-numbers": "1.11.1", + "@webassemblyjs/helper-wasm-bytecode": "1.11.1" } }, "node_modules/@webassemblyjs/floating-point-hex-parser": { - "version": "1.11.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.0.tgz", - "integrity": "sha512-Q/aVYs/VnPDVYvsCBL/gSgwmfjeCb4LW8+TMrO3cSzJImgv8lxxEPM2JA5jMrivE7LSz3V+PFqtMbls3m1exDA==", + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.1.tgz", + "integrity": "sha512-iGRfyc5Bq+NnNuX8b5hwBrRjzf0ocrJPI6GWFodBFzmFnyvrQ83SHKhmilCU/8Jv67i4GJZBMhEzltxzcNagtQ==", "dev": true }, "node_modules/@webassemblyjs/helper-api-error": { - "version": "1.11.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.0.tgz", - "integrity": "sha512-baT/va95eXiXb2QflSx95QGT5ClzWpGaa8L7JnJbgzoYeaA27FCvuBXU758l+KXWRndEmUXjP0Q5fibhavIn8w==", + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.1.tgz", + "integrity": "sha512-RlhS8CBCXfRUR/cwo2ho9bkheSXG0+NwooXcc3PAILALf2QLdFyj7KGsKRbVc95hZnhnERon4kW/D3SZpp6Tcg==", "dev": true }, "node_modules/@webassemblyjs/helper-buffer": { - "version": "1.11.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.0.tgz", - "integrity": "sha512-u9HPBEl4DS+vA8qLQdEQ6N/eJQ7gT7aNvMIo8AAWvAl/xMrcOSiI2M0MAnMCy3jIFke7bEee/JwdX1nUpCtdyA==", + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.1.tgz", + "integrity": "sha512-gwikF65aDNeeXa8JxXa2BAk+REjSyhrNC9ZwdT0f8jc4dQQeDQ7G4m0f2QCLPJiMTTO6wfDmRmj/pW0PsUvIcA==", "dev": true }, "node_modules/@webassemblyjs/helper-numbers": { - "version": "1.11.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.0.tgz", - "integrity": "sha512-DhRQKelIj01s5IgdsOJMKLppI+4zpmcMQ3XboFPLwCpSNH6Hqo1ritgHgD0nqHeSYqofA6aBN/NmXuGjM1jEfQ==", + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.1.tgz", + "integrity": "sha512-vDkbxiB8zfnPdNK9Rajcey5C0w+QJugEglN0of+kmO8l7lDb77AnlKYQF7aarZuCrv+l0UvqL+68gSDr3k9LPQ==", "dev": true, "dependencies": { - "@webassemblyjs/floating-point-hex-parser": "1.11.0", - "@webassemblyjs/helper-api-error": "1.11.0", + "@webassemblyjs/floating-point-hex-parser": "1.11.1", + "@webassemblyjs/helper-api-error": "1.11.1", "@xtuc/long": "4.2.2" } }, "node_modules/@webassemblyjs/helper-wasm-bytecode": { - "version": "1.11.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.0.tgz", - "integrity": "sha512-MbmhvxXExm542tWREgSFnOVo07fDpsBJg3sIl6fSp9xuu75eGz5lz31q7wTLffwL3Za7XNRCMZy210+tnsUSEA==", + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.1.tgz", + "integrity": "sha512-PvpoOGiJwXeTrSf/qfudJhwlvDQxFgelbMqtq52WWiXC6Xgg1IREdngmPN3bs4RoO83PnL/nFrxucXj1+BX62Q==", "dev": true }, "node_modules/@webassemblyjs/helper-wasm-section": { - "version": "1.11.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.0.tgz", - "integrity": "sha512-3Eb88hcbfY/FCukrg6i3EH8H2UsD7x8Vy47iVJrP967A9JGqgBVL9aH71SETPx1JrGsOUVLo0c7vMCN22ytJew==", + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.1.tgz", + "integrity": "sha512-10P9No29rYX1j7F3EVPX3JvGPQPae+AomuSTPiF9eBQeChHI6iqjMIwR9JmOJXwpnn/oVGDk7I5IlskuMwU/pg==", "dev": true, "dependencies": { - "@webassemblyjs/ast": "1.11.0", - "@webassemblyjs/helper-buffer": "1.11.0", - "@webassemblyjs/helper-wasm-bytecode": "1.11.0", - "@webassemblyjs/wasm-gen": "1.11.0" + "@webassemblyjs/ast": "1.11.1", + "@webassemblyjs/helper-buffer": "1.11.1", + "@webassemblyjs/helper-wasm-bytecode": "1.11.1", + "@webassemblyjs/wasm-gen": "1.11.1" } }, "node_modules/@webassemblyjs/ieee754": { - "version": "1.11.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.11.0.tgz", - "integrity": "sha512-KXzOqpcYQwAfeQ6WbF6HXo+0udBNmw0iXDmEK5sFlmQdmND+tr773Ti8/5T/M6Tl/413ArSJErATd8In3B+WBA==", + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.11.1.tgz", + "integrity": "sha512-hJ87QIPtAMKbFq6CGTkZYJivEwZDbQUgYd3qKSadTNOhVY7p+gfP6Sr0lLRVTaG1JjFj+r3YchoqRYxNH3M0GQ==", "dev": true, "dependencies": { "@xtuc/ieee754": "^1.2.0" } }, "node_modules/@webassemblyjs/leb128": { - "version": "1.11.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.11.0.tgz", - "integrity": "sha512-aqbsHa1mSQAbeeNcl38un6qVY++hh8OpCOzxhixSYgbRfNWcxJNJQwe2rezK9XEcssJbbWIkblaJRwGMS9zp+g==", + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.11.1.tgz", + "integrity": "sha512-BJ2P0hNZ0u+Th1YZXJpzW6miwqQUGcIHT1G/sf72gLVD9DZ5AdYTqPNbHZh6K1M5VmKvFXwGSWZADz+qBWxeRw==", "dev": true, "dependencies": { "@xtuc/long": "4.2.2" } }, "node_modules/@webassemblyjs/utf8": { - "version": "1.11.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.11.0.tgz", - "integrity": "sha512-A/lclGxH6SpSLSyFowMzO/+aDEPU4hvEiooCMXQPcQFPPJaYcPQNKGOCLUySJsYJ4trbpr+Fs08n4jelkVTGVw==", + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.11.1.tgz", + "integrity": "sha512-9kqcxAEdMhiwQkHpkNiorZzqpGrodQQ2IGrHHxCy+Ozng0ofyMA0lTqiLkVs1uzTRejX+/O0EOT7KxqVPuXosQ==", "dev": true }, "node_modules/@webassemblyjs/wasm-edit": { - "version": "1.11.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.0.tgz", - "integrity": "sha512-JHQ0damXy0G6J9ucyKVXO2j08JVJ2ntkdJlq1UTiUrIgfGMmA7Ik5VdC/L8hBK46kVJgujkBIoMtT8yVr+yVOQ==", + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.1.tgz", + "integrity": "sha512-g+RsupUC1aTHfR8CDgnsVRVZFJqdkFHpsHMfJuWQzWU3tvnLC07UqHICfP+4XyL2tnr1amvl1Sdp06TnYCmVkA==", "dev": true, "dependencies": { - "@webassemblyjs/ast": "1.11.0", - "@webassemblyjs/helper-buffer": "1.11.0", - "@webassemblyjs/helper-wasm-bytecode": "1.11.0", - "@webassemblyjs/helper-wasm-section": "1.11.0", - "@webassemblyjs/wasm-gen": "1.11.0", - "@webassemblyjs/wasm-opt": "1.11.0", - "@webassemblyjs/wasm-parser": "1.11.0", - "@webassemblyjs/wast-printer": "1.11.0" + "@webassemblyjs/ast": "1.11.1", + "@webassemblyjs/helper-buffer": "1.11.1", + "@webassemblyjs/helper-wasm-bytecode": "1.11.1", + "@webassemblyjs/helper-wasm-section": "1.11.1", + "@webassemblyjs/wasm-gen": "1.11.1", + "@webassemblyjs/wasm-opt": "1.11.1", + "@webassemblyjs/wasm-parser": "1.11.1", + "@webassemblyjs/wast-printer": "1.11.1" } }, "node_modules/@webassemblyjs/wasm-gen": { - "version": "1.11.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.0.tgz", - "integrity": "sha512-BEUv1aj0WptCZ9kIS30th5ILASUnAPEvE3tVMTrItnZRT9tXCLW2LEXT8ezLw59rqPP9klh9LPmpU+WmRQmCPQ==", + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.1.tgz", + "integrity": "sha512-F7QqKXwwNlMmsulj6+O7r4mmtAlCWfO/0HdgOxSklZfQcDu0TpLiD1mRt/zF25Bk59FIjEuGAIyn5ei4yMfLhA==", "dev": true, "dependencies": { - "@webassemblyjs/ast": "1.11.0", - "@webassemblyjs/helper-wasm-bytecode": "1.11.0", - "@webassemblyjs/ieee754": "1.11.0", - "@webassemblyjs/leb128": "1.11.0", - "@webassemblyjs/utf8": "1.11.0" + "@webassemblyjs/ast": "1.11.1", + "@webassemblyjs/helper-wasm-bytecode": "1.11.1", + "@webassemblyjs/ieee754": "1.11.1", + "@webassemblyjs/leb128": "1.11.1", + "@webassemblyjs/utf8": "1.11.1" } }, "node_modules/@webassemblyjs/wasm-opt": { - "version": "1.11.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.0.tgz", - "integrity": "sha512-tHUSP5F4ywyh3hZ0+fDQuWxKx3mJiPeFufg+9gwTpYp324mPCQgnuVKwzLTZVqj0duRDovnPaZqDwoyhIO8kYg==", + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.1.tgz", + "integrity": "sha512-VqnkNqnZlU5EB64pp1l7hdm3hmQw7Vgqa0KF/KCNO9sIpI6Fk6brDEiX+iCOYrvMuBWDws0NkTOxYEb85XQHHw==", "dev": true, "dependencies": { - "@webassemblyjs/ast": "1.11.0", - "@webassemblyjs/helper-buffer": "1.11.0", - "@webassemblyjs/wasm-gen": "1.11.0", - "@webassemblyjs/wasm-parser": "1.11.0" + "@webassemblyjs/ast": "1.11.1", + "@webassemblyjs/helper-buffer": "1.11.1", + "@webassemblyjs/wasm-gen": "1.11.1", + "@webassemblyjs/wasm-parser": "1.11.1" } }, "node_modules/@webassemblyjs/wasm-parser": { - "version": "1.11.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.0.tgz", - "integrity": "sha512-6L285Sgu9gphrcpDXINvm0M9BskznnzJTE7gYkjDbxET28shDqp27wpruyx3C2S/dvEwiigBwLA1cz7lNUi0kw==", + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.1.tgz", + "integrity": "sha512-rrBujw+dJu32gYB7/Lup6UhdkPx9S9SnobZzRVL7VcBH9Bt9bCBLEuX/YXOOtBsOZ4NQrRykKhffRWHvigQvOA==", "dev": true, "dependencies": { - "@webassemblyjs/ast": "1.11.0", - "@webassemblyjs/helper-api-error": "1.11.0", - "@webassemblyjs/helper-wasm-bytecode": "1.11.0", - "@webassemblyjs/ieee754": "1.11.0", - "@webassemblyjs/leb128": "1.11.0", - "@webassemblyjs/utf8": "1.11.0" + "@webassemblyjs/ast": "1.11.1", + "@webassemblyjs/helper-api-error": "1.11.1", + "@webassemblyjs/helper-wasm-bytecode": "1.11.1", + "@webassemblyjs/ieee754": "1.11.1", + "@webassemblyjs/leb128": "1.11.1", + "@webassemblyjs/utf8": "1.11.1" } }, "node_modules/@webassemblyjs/wast-printer": { - "version": "1.11.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.11.0.tgz", - "integrity": "sha512-Fg5OX46pRdTgB7rKIUojkh9vXaVN6sGYCnEiJN1GYkb0RPwShZXp6KTDqmoMdQPKhcroOXh3fEzmkWmCYaKYhQ==", + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.11.1.tgz", + "integrity": "sha512-IQboUWM4eKzWW+N/jij2sRatKMh99QEelo3Eb2q0qXkvPRISAj8Qxtmw5itwqK+TTkBuUIE45AxYPToqPtL5gg==", "dev": true, "dependencies": { - "@webassemblyjs/ast": "1.11.0", + "@webassemblyjs/ast": "1.11.1", "@xtuc/long": "4.2.2" } }, "node_modules/@webpack-cli/configtest": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/@webpack-cli/configtest/-/configtest-1.0.4.tgz", - "integrity": "sha512-cs3XLy+UcxiP6bj0A6u7MLLuwdXJ1c3Dtc0RkKg+wiI1g/Ti1om8+/2hc2A2B60NbBNAbMgyBMHvyymWm/j4wQ==", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@webpack-cli/configtest/-/configtest-1.1.0.tgz", + "integrity": "sha512-ttOkEkoalEHa7RaFYpM0ErK1xc4twg3Am9hfHhL7MVqlHebnkYd2wuI/ZqTDj0cVzZho6PdinY0phFZV3O0Mzg==", "dev": true, "peerDependencies": { "webpack": "4.x.x || 5.x.x", @@ -1807,9 +1792,9 @@ } }, "node_modules/@webpack-cli/info": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/@webpack-cli/info/-/info-1.3.0.tgz", - "integrity": "sha512-ASiVB3t9LOKHs5DyVUcxpraBXDOKubYu/ihHhU+t1UPpxsivg6Od2E2qU4gJCekfEddzRBzHhzA/Acyw/mlK/w==", + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/@webpack-cli/info/-/info-1.4.0.tgz", + "integrity": "sha512-F6b+Man0rwE4n0409FyAJHStYA5OIZERxmnUfLVwv0mc0V1wLad3V7jqRlMkgKBeAq07jUvglacNaa6g9lOpuw==", "dev": true, "dependencies": { "envinfo": "^7.7.3" @@ -1819,9 +1804,9 @@ } }, "node_modules/@webpack-cli/serve": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/@webpack-cli/serve/-/serve-1.5.1.tgz", - "integrity": "sha512-4vSVUiOPJLmr45S8rMGy7WDvpWxfFxfP/Qx/cxZFCfvoypTYpPPL1X8VIZMe0WTA+Jr7blUxwUSEZNkjoMTgSw==", + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/@webpack-cli/serve/-/serve-1.6.0.tgz", + "integrity": "sha512-ZkVeqEmRpBV2GHvjjUZqEai2PpUbuq8Bqd//vEYsp63J8WyexI8ppCqVS3Zs0QADf6aWuPdU+0XsPI647PVlQA==", "dev": true, "peerDependencies": { "webpack-cli": "4.x.x" @@ -1845,9 +1830,9 @@ "dev": true }, "node_modules/acorn": { - "version": "8.3.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.3.0.tgz", - "integrity": "sha512-tqPKHZ5CaBJw0Xmy0ZZvLs1qTV+BNFSyvn77ASXkpBNfIRk8ev26fKrD9iLGwGA9zedPao52GSHzq8lyZG0NUw==", + "version": "8.7.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.7.0.tgz", + "integrity": "sha512-V/LGr1APy+PXIwKebEWrkZPwoeoF+w1jiOBUmuxuiUIaOHtob8Qc9BTrYo7VuI5fR8tqsy+buA2WFooR5olqvQ==", "dev": true, "bin": { "acorn": "bin/acorn" @@ -1856,6 +1841,15 @@ "node": ">=0.4.0" } }, + "node_modules/acorn-import-assertions": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/acorn-import-assertions/-/acorn-import-assertions-1.8.0.tgz", + "integrity": "sha512-m7VZ3jwz4eK6A4Vtt8Ew1/mNbP24u0FhdyfA7fSvnJR6LMdfOYnmuIrrJAgrYfYJ10F/otaHTtrtrtmHdMNzEw==", + "dev": true, + "peerDependencies": { + "acorn": "^8" + } + }, "node_modules/ajv": { "version": "6.12.6", "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", @@ -1866,18 +1860,25 @@ "fast-json-stable-stringify": "^2.0.0", "json-schema-traverse": "^0.4.1", "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" } }, "node_modules/ajv-keywords": { - "version": "3.4.1", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.4.1.tgz", - "integrity": "sha512-RO1ibKvd27e6FEShVFfPALuHI3WjSVNeK5FIsmme/LYRNxjKuNj+Dt7bucLa6NdSv3JcVTyMlm9kGR84z1XpaQ==", - "dev": true + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", + "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", + "dev": true, + "peerDependencies": { + "ajv": "^6.9.1" + } }, "node_modules/ansi-regex": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", - "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", "dev": true, "engines": { "node": ">=8" @@ -1904,20 +1905,29 @@ "sprintf-js": "~1.0.2" } }, - "node_modules/array-filter": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/array-filter/-/array-filter-1.0.0.tgz", - "integrity": "sha1-uveeYubvTCpMC4MSMtr/7CUfnYM=", - "dev": true - }, - "node_modules/available-typed-arrays": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.2.tgz", - "integrity": "sha512-XWX3OX8Onv97LMk/ftVyBibpGwY5a8SmuxZPzeOxqmuEqUCOM9ZE+uIaD1VNJ5QnvU2UQusvmKbuM1FR8QWGfQ==", + "node_modules/array.prototype.every": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/array.prototype.every/-/array.prototype.every-1.1.3.tgz", + "integrity": "sha512-vWnriJI//SOMOWtXbU/VXhJ/InfnNHPF6BLKn5WfY8xXy+NWql0fUy20GO3sdqBhCAO+qw8S/E5nJiZX+QFdCA==", "dev": true, "dependencies": { - "array-filter": "^1.0.0" + "call-bind": "^1.0.2", + "define-properties": "^1.1.3", + "es-abstract": "^1.19.0", + "is-string": "^1.0.7" + }, + "engines": { + "node": ">= 0.4" }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/available-typed-arrays": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz", + "integrity": "sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==", + "dev": true, "engines": { "node": ">= 0.4" }, @@ -1926,9 +1936,9 @@ } }, "node_modules/babel-loader": { - "version": "8.2.2", - "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-8.2.2.tgz", - "integrity": "sha512-JvTd0/D889PQBtUXJ2PXaKU/pjZDMtHA9V2ecm+eNRmmBCMR09a+fmpGTNwnJtFmFl5Ei7Vy47LjBb+L0wQ99g==", + "version": "8.2.3", + "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-8.2.3.tgz", + "integrity": "sha512-n4Zeta8NC3QAsuyiizu0GkmRcQ6clkV9WFUnUf1iXP//IeSKbWjofW3UHyZVwlOB4y039YQKefawyTn64Zwbuw==", "dev": true, "dependencies": { "find-cache-dir": "^3.3.1", @@ -1944,32 +1954,6 @@ "webpack": ">=2" } }, - "node_modules/babel-loader/node_modules/ajv": { - "version": "6.12.4", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.4.tgz", - "integrity": "sha512-eienB2c9qVQs2KWexhkrdMLVDoIQCz5KSeLxwg9Lzk4DOfBtIK9PQwwufcsn1jjGuf9WZmqPMbGxOzfcuphJCQ==", - "dev": true, - "dependencies": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - } - }, - "node_modules/babel-loader/node_modules/schema-utils": { - "version": "2.7.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.0.tgz", - "integrity": "sha512-0ilKFI6QQF5nxDZLFn2dMjvc4hjg/Wkg7rHd3jK6/A4a1Hl9VFdQWvgB1UMGoU94pad1P/8N7fMcEnLnSiju8A==", - "dev": true, - "dependencies": { - "@types/json-schema": "^7.0.4", - "ajv": "^6.12.2", - "ajv-keywords": "^3.4.1" - }, - "engines": { - "node": ">= 8.9.0" - } - }, "node_modules/babel-plugin-dynamic-import-node": { "version": "2.3.3", "resolved": "https://registry.npmjs.org/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.3.tgz", @@ -1980,57 +1964,48 @@ } }, "node_modules/babel-plugin-polyfill-corejs2": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.2.2.tgz", - "integrity": "sha512-kISrENsJ0z5dNPq5eRvcctITNHYXWOA4DUZRFYCz3jYCcvTb/A546LIddmoGNMVYg2U38OyFeNosQwI9ENTqIQ==", + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.3.1.tgz", + "integrity": "sha512-v7/T6EQcNfVLfcN2X8Lulb7DjprieyLWJK/zOWH5DUYcAgex9sP3h25Q+DLsX9TloXe3y1O8l2q2Jv9q8UVB9w==", "dev": true, "dependencies": { "@babel/compat-data": "^7.13.11", - "@babel/helper-define-polyfill-provider": "^0.2.2", + "@babel/helper-define-polyfill-provider": "^0.3.1", "semver": "^6.1.1" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, - "node_modules/babel-plugin-polyfill-corejs2/node_modules/semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true, - "bin": { - "semver": "bin/semver.js" - } - }, "node_modules/babel-plugin-polyfill-corejs3": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.2.2.tgz", - "integrity": "sha512-l1Cf8PKk12eEk5QP/NQ6TH8A1pee6wWDJ96WjxrMXFLHLOBFzYM4moG80HFgduVhTqAFez4alnZKEhP/bYHg0A==", + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.5.1.tgz", + "integrity": "sha512-TihqEe4sQcb/QcPJvxe94/9RZuLQuF1+To4WqQcRvc+3J3gLCPIPgDKzGLG6zmQLfH3nn25heRuDNkS2KR4I8A==", "dev": true, "dependencies": { - "@babel/helper-define-polyfill-provider": "^0.2.2", - "core-js-compat": "^3.9.1" + "@babel/helper-define-polyfill-provider": "^0.3.1", + "core-js-compat": "^3.20.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/babel-plugin-polyfill-regenerator": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.2.2.tgz", - "integrity": "sha512-Goy5ghsc21HgPDFtzRkSirpZVW35meGoTmTOb2bxqdl60ghub4xOidgNTHaZfQ2FaxQsKmwvXtOAkcIS4SMBWg==", + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.3.1.tgz", + "integrity": "sha512-Y2B06tvgHYt1x0yz17jGkGeeMr5FeKUu+ASJ+N6nB5lQ8Dapfg42i0OVrf8PNGJ3zKL4A23snMi1IRwrqqND7A==", "dev": true, "dependencies": { - "@babel/helper-define-polyfill-provider": "^0.2.2" + "@babel/helper-define-polyfill-provider": "^0.3.1" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/balanced-match": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", - "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", "dev": true }, "node_modules/big.js": { @@ -2043,9 +2018,9 @@ } }, "node_modules/brace-expansion": { - "version": "1.1.8", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.8.tgz", - "integrity": "sha1-wHshHHyVLsH479Uad+8NHTmQopI=", + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", "dev": true, "dependencies": { "balanced-match": "^1.0.0", @@ -2053,16 +2028,16 @@ } }, "node_modules/browserslist": { - "version": "4.16.6", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.16.6.tgz", - "integrity": "sha512-Wspk/PqO+4W9qp5iUTJsa1B/QrYn1keNCcEP5OvP7WBwT4KaDly0uONYmC6Xa3Z5IqnUgS0KcgLYu1l74x0ZXQ==", + "version": "4.19.1", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.19.1.tgz", + "integrity": "sha512-u2tbbG5PdKRTUoctO3NBD8FQ5HdPh1ZXPHzp1rwaa5jTc+RV9/+RlWiAIKmjRPQF+xbGM9Kklj5bZQFa2s/38A==", "dev": true, "dependencies": { - "caniuse-lite": "^1.0.30001219", - "colorette": "^1.2.2", - "electron-to-chromium": "^1.3.723", + "caniuse-lite": "^1.0.30001286", + "electron-to-chromium": "^1.4.17", "escalade": "^3.1.1", - "node-releases": "^1.1.71" + "node-releases": "^2.0.1", + "picocolors": "^1.0.0" }, "bin": { "browserslist": "cli.js" @@ -2076,9 +2051,9 @@ } }, "node_modules/buffer-from": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz", - "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==", + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", + "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", "dev": true }, "node_modules/builtin-modules": { @@ -2104,9 +2079,9 @@ } }, "node_modules/caniuse-lite": { - "version": "1.0.30001236", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001236.tgz", - "integrity": "sha512-o0PRQSrSCGJKCPZcgMzl5fUaj5xHe8qA2m4QRvnyY4e1lITqoNkr7q/Oh1NcpGSy0Th97UZ35yoKcINPoq7YOQ==", + "version": "1.0.30001300", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001300.tgz", + "integrity": "sha512-cVjiJHWGcNlJi8TZVKNMnvMid3Z3TTdDHmLDzlOdIiZq138Exvo0G+G0wTdVYolxKb4AYwC+38pxodiInVtJSA==", "dev": true, "funding": { "type": "opencollective", @@ -2128,13 +2103,10 @@ } }, "node_modules/chrome-trace-event": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.2.tgz", - "integrity": "sha512-9e/zx1jw7B4CO+c/RXoCsfg/x1AfUBioy4owYH0bJprEYAx5hRFLRhWBqHAG57D0ZM4H7vxbP7bPe0VwhQRYDQ==", + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz", + "integrity": "sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg==", "dev": true, - "dependencies": { - "tslib": "^1.9.0" - }, "engines": { "node": ">=6.0" } @@ -2180,17 +2152,17 @@ "dev": true }, "node_modules/colorette": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/colorette/-/colorette-1.2.2.tgz", - "integrity": "sha512-MKGMzyfeuutC/ZJ1cba9NqcNpfeqMUcYmyF1ZFY6/Cn7CNSAKx6a+s48sqLqyAiZuaP2TcqMhoo+dlwFnVxT9w==", + "version": "2.0.16", + "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.16.tgz", + "integrity": "sha512-hUewv7oMjCp+wkBv5Rm0v87eJhq4woh5rSR+42YSQJKecCqgIqNkZ6lAlQms/BwHPJA5NKMRlpxPRv0n8HQW6g==", "dev": true }, "node_modules/commander": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz", - "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==", + "version": "8.3.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-8.3.0.tgz", + "integrity": "sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==", "engines": { - "node": ">= 10" + "node": ">= 12" } }, "node_modules/commondir": { @@ -2206,9 +2178,9 @@ "dev": true }, "node_modules/convert-source-map": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.7.0.tgz", - "integrity": "sha512-4FJkXzKXEDB1snCFZlLP4gpC3JILicCpGbzG9f9G7tGqGCzETQ2hWPrcinA9oU4wtf2biUaEH5065UnMeR33oA==", + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.8.0.tgz", + "integrity": "sha512-+OQdjP49zViI/6i7nIJpA8rAl4sV/JdPfU9nZs3VqOwGIgizICvuN2ru6fMd+4llL0tar18UYJXfZ/TWtmhUjA==", "dev": true, "dependencies": { "safe-buffer": "~5.1.1" @@ -2233,25 +2205,13 @@ "copyup": "copyfiles" } }, - "node_modules/copyfiles/node_modules/mkdirp": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", - "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", - "dev": true, - "bin": { - "mkdirp": "bin/cmd.js" - }, - "engines": { - "node": ">=10" - } - }, "node_modules/core-js-compat": { - "version": "3.14.0", - "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.14.0.tgz", - "integrity": "sha512-R4NS2eupxtiJU+VwgkF9WTpnSfZW4pogwKHd8bclWU2sp93Pr5S1uYJI84cMOubJRou7bcfL0vmwtLslWN5p3A==", + "version": "3.20.3", + "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.20.3.tgz", + "integrity": "sha512-c8M5h0IkNZ+I92QhIpuSijOxGAcj3lgpsWdkCqmUTZNwidujF4r3pi6x1DCN+Vcs5qTS2XWWMfWSuCqyupX8gw==", "dev": true, "dependencies": { - "browserslist": "^4.16.6", + "browserslist": "^4.19.1", "semver": "7.0.0" }, "funding": { @@ -2269,9 +2229,9 @@ } }, "node_modules/core-util-is": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", - "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=", + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", + "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==", "dev": true }, "node_modules/cross-spawn": { @@ -2289,9 +2249,9 @@ } }, "node_modules/debug": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", - "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", + "version": "4.3.3", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.3.tgz", + "integrity": "sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q==", "dev": true, "dependencies": { "ms": "2.1.2" @@ -2377,9 +2337,9 @@ } }, "node_modules/electron-to-chromium": { - "version": "1.3.752", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.752.tgz", - "integrity": "sha512-2Tg+7jSl3oPxgsBsWKh5H83QazTkmWG/cnNwJplmyZc7KcN61+I10oUgaXSVk/NwfvN3BdkKDR4FYuRBQQ2v0A==", + "version": "1.4.47", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.47.tgz", + "integrity": "sha512-ZHc8i3/cgeCRK/vC7W2htAG6JqUmOUgDNn/f9yY9J8UjfLjwzwOVEt4MWmgJAdvmxyrsR5KIFA/6+kUHGY0eUA==", "dev": true }, "node_modules/emoji-regex": { @@ -2398,9 +2358,9 @@ } }, "node_modules/enhanced-resolve": { - "version": "5.8.0", - "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.8.0.tgz", - "integrity": "sha512-Sl3KRpJA8OpprrtaIswVki3cWPiPKxXuFxJXBp+zNb6s6VwNWwFRUdtmzd2ReUut8n+sCPx7QCtQ7w5wfJhSgQ==", + "version": "5.8.3", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.8.3.tgz", + "integrity": "sha512-EGAbGvH7j7Xt2nc0E7D99La1OiEs8LnyimkRgwExpUMScN6O+3x9tIWs7PLQZVNx4YD+00skHXPXi1yQHpAmZA==", "dev": true, "dependencies": { "graceful-fs": "^4.2.4", @@ -2423,27 +2383,31 @@ } }, "node_modules/es-abstract": { - "version": "1.18.0", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.18.0.tgz", - "integrity": "sha512-LJzK7MrQa8TS0ja2w3YNLzUgJCGPdPOV1yVvezjNnS89D+VR08+Szt2mz3YB2Dck/+w5tfIq/RoUAFqJJGM2yw==", + "version": "1.19.1", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.19.1.tgz", + "integrity": "sha512-2vJ6tjA/UfqLm2MPs7jxVybLoB8i1t1Jd9R3kISld20sIxPcTbLuggQOUxeWeAvIUkduv/CfMjuh4WmiXr2v9w==", "dev": true, "dependencies": { "call-bind": "^1.0.2", "es-to-primitive": "^1.2.1", "function-bind": "^1.1.1", "get-intrinsic": "^1.1.1", + "get-symbol-description": "^1.0.0", "has": "^1.0.3", "has-symbols": "^1.0.2", - "is-callable": "^1.2.3", + "internal-slot": "^1.0.3", + "is-callable": "^1.2.4", "is-negative-zero": "^2.0.1", - "is-regex": "^1.1.2", - "is-string": "^1.0.5", - "object-inspect": "^1.9.0", + "is-regex": "^1.1.4", + "is-shared-array-buffer": "^1.0.1", + "is-string": "^1.0.7", + "is-weakref": "^1.0.1", + "object-inspect": "^1.11.0", "object-keys": "^1.1.1", "object.assign": "^4.1.2", "string.prototype.trimend": "^1.0.4", "string.prototype.trimstart": "^1.0.4", - "unbox-primitive": "^1.0.0" + "unbox-primitive": "^1.0.1" }, "engines": { "node": ">= 0.4" @@ -2478,9 +2442,9 @@ "dev": true }, "node_modules/es-module-lexer": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-0.4.1.tgz", - "integrity": "sha512-ooYciCUtfw6/d2w56UVeqHPcoCFAiJdz5XOkYpv/Txl1HMUozpXjz/2RIQgqwKdXNDPSF1W7mJCFse3G+HDyAA==", + "version": "0.9.3", + "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-0.9.3.tgz", + "integrity": "sha512-1HQ2M2sPtxwnvOvT1ZClHyQDiggdNjURWpY2we6aMKCQiUVxTmVs2UYPLIrD84sS+kMdUwfBSylbJPwNnBrnHQ==", "dev": true }, "node_modules/es-to-primitive": { @@ -2565,9 +2529,9 @@ } }, "node_modules/esrecurse/node_modules/estraverse": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.2.0.tgz", - "integrity": "sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==", + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", "dev": true, "engines": { "node": ">=4.0" @@ -2592,18 +2556,18 @@ } }, "node_modules/events": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/events/-/events-3.2.0.tgz", - "integrity": "sha512-/46HWwbfCX2xTawVfkKLGxMifJYQBWMwY1mjywRtb4c9x8l5NP3KoJtnIOiL1hfdRkIuYhETxQlo62IF8tcnlg==", + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", + "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==", "dev": true, "engines": { "node": ">=0.8.x" } }, "node_modules/execa": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/execa/-/execa-5.0.0.tgz", - "integrity": "sha512-ov6w/2LCiuyO4RLYGdpFGjkcs0wMTgGE8PrkTHikeUy5iJekXyPIKUjifk5CsE0pt7sMCrMZ3YNqoCj6idQOnQ==", + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", + "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", "dev": true, "dependencies": { "cross-spawn": "^7.0.3", @@ -2624,9 +2588,9 @@ } }, "node_modules/fast-deep-equal": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.1.tgz", - "integrity": "sha512-8UEa58QDLauDNfpbrX55Q9jrGHThw2ZMdOky5Gl1CDtVeJDPVrG4Jxx1N8jw2gkWaff5UUuX1KJd+9zGe2B+ZA==", + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", "dev": true }, "node_modules/fast-json-stable-stringify": { @@ -2642,9 +2606,9 @@ "dev": true }, "node_modules/find-cache-dir": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.1.tgz", - "integrity": "sha512-t2GDMt3oGC/v+BMwzmllWDuJF/xcDtE5j/fCGbqDD7OLuJkj0cfh1YSA5VKPvwMeLFLNDBkwOKZ2X85jGLVftQ==", + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.2.tgz", + "integrity": "sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig==", "dev": true, "dependencies": { "commondir": "^1.0.1", @@ -2730,6 +2694,15 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/get-package-type": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/get-package-type/-/get-package-type-0.1.0.tgz", + "integrity": "sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==", + "dev": true, + "engines": { + "node": ">=8.0.0" + } + }, "node_modules/get-stream": { "version": "6.0.1", "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", @@ -2742,10 +2715,26 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/get-symbol-description": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.0.tgz", + "integrity": "sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/glob": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz", - "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==", + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz", + "integrity": "sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==", "dev": true, "dependencies": { "fs.realpath": "^1.0.0", @@ -2757,6 +2746,9 @@ }, "engines": { "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, "node_modules/glob-to-regexp": { @@ -2775,9 +2767,9 @@ } }, "node_modules/graceful-fs": { - "version": "4.2.4", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.4.tgz", - "integrity": "sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw==", + "version": "4.2.9", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.9.tgz", + "integrity": "sha512-NtNxqUcXgpW2iMrfqSfR73Glt39K+BLwWsPs94yR63v45T0Wbej7eRmL5cWfwEgqXnmjQp3zaJTshdRW/qC2ZQ==", "dev": true }, "node_modules/has": { @@ -2801,6 +2793,19 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/has-dynamic-import": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/has-dynamic-import/-/has-dynamic-import-2.0.1.tgz", + "integrity": "sha512-X3fbtsZmwb6W7fJGR9o7x65fZoodygCrZ3TVycvghP62yYQfS0t4RS0Qcz+j5tQYUKeSWS09tHkWW6WhFV3XhQ==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.1.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/has-flag": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", @@ -2822,6 +2827,21 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/has-tostringtag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz", + "integrity": "sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==", + "dev": true, + "dependencies": { + "has-symbols": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/human-signals": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", @@ -2832,9 +2852,9 @@ } }, "node_modules/import-local": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.0.2.tgz", - "integrity": "sha512-vjL3+w0oulAVZ0hBHnxa/Nm5TAurf9YLQJDhqRZyqb+VKGOB6LU8t9H1Nr5CIo16vh9XfJTOoHwU0B71S557gA==", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.1.0.tgz", + "integrity": "sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg==", "dev": true, "dependencies": { "pkg-dir": "^4.2.0", @@ -2845,6 +2865,9 @@ }, "engines": { "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/inflight": { @@ -2858,11 +2881,25 @@ } }, "node_modules/inherits": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", - "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", "dev": true }, + "node_modules/internal-slot": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.3.tgz", + "integrity": "sha512-O0DB1JC/sPyZl7cIo78n5dR7eUSwwpYPiXRhTzNxZVAMUuB8vlnRFyLxdrVToks6XPLVnFfbzaVd5WLjhgg+vA==", + "dev": true, + "dependencies": { + "get-intrinsic": "^1.1.0", + "has": "^1.0.3", + "side-channel": "^1.0.4" + }, + "engines": { + "node": ">= 0.4" + } + }, "node_modules/interpret": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/interpret/-/interpret-2.2.0.tgz", @@ -2873,12 +2910,13 @@ } }, "node_modules/is-arguments": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.1.0.tgz", - "integrity": "sha512-1Ij4lOMPl/xB5kBDn7I+b2ttPMKa8szhEIrXDuXQD/oe3HJLTLhqhgGspwgyGd6MOywBUqVvYicF72lkgDnIHg==", + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.1.1.tgz", + "integrity": "sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA==", "dev": true, "dependencies": { - "call-bind": "^1.0.0" + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" }, "engines": { "node": ">= 0.4" @@ -2888,21 +2926,25 @@ } }, "node_modules/is-bigint": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.1.tgz", - "integrity": "sha512-J0ELF4yHFxHy0cmSxZuheDOz2luOdVvqjwmEcj8H/L1JHeuEDSDbeRP+Dk9kFVk5RTFzbucJ2Kb9F7ixY2QaCg==", + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz", + "integrity": "sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==", "dev": true, + "dependencies": { + "has-bigints": "^1.0.1" + }, "funding": { "url": "https://github.com/sponsors/ljharb" } }, "node_modules/is-boolean-object": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.0.tgz", - "integrity": "sha512-a7Uprx8UtD+HWdyYwnD1+ExtTgqQtD2k/1yJgtXP6wnMm8byhkoTZRl+95LLThpzNZJ5aEvi46cdH+ayMFRwmA==", + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz", + "integrity": "sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==", "dev": true, "dependencies": { - "call-bind": "^1.0.0" + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" }, "engines": { "node": ">= 0.4" @@ -2912,9 +2954,9 @@ } }, "node_modules/is-callable": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.3.tgz", - "integrity": "sha512-J1DcMe8UYTBSrKezuIUTUwjXsho29693unXM2YhJUTR2txK/eG47bvNa/wipPFmZFgr/N6f1GA66dv0mEyTIyQ==", + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.4.tgz", + "integrity": "sha512-nsuwtxZfMX67Oryl9LCQ+upnC0Z0BgpwntpS89m1H/TLF0zNfzfLMV/9Wa/6MZsj0acpEjAO0KF1xT6ZdLl95w==", "dev": true, "engines": { "node": ">= 0.4" @@ -2924,9 +2966,9 @@ } }, "node_modules/is-core-module": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.2.0.tgz", - "integrity": "sha512-XRAfAdyyY5F5cOXn7hYQDqh2Xmii+DEfIcQGxK/uNwMHhIkPWO0g8msXcbzLe+MpGoR951MlqM/2iIlU4vKDdQ==", + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.8.1.tgz", + "integrity": "sha512-SdNCUs284hr40hFTFP6l0IfZ/RSrMXF3qgoRHd3/79unUTvrFO/JoXwkGm+5J/Oe3E/b5GsnG330uUNgRpu1PA==", "dev": true, "dependencies": { "has": "^1.0.3" @@ -2936,10 +2978,13 @@ } }, "node_modules/is-date-object": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.2.tgz", - "integrity": "sha512-USlDT524woQ08aoZFzh3/Z6ch9Y/EWXEHQ/AaRN0SkKq4t2Jw2R2339tSXmwuVoY7LLlBCbOIlx2myP/L5zk0g==", + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz", + "integrity": "sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==", "dev": true, + "dependencies": { + "has-tostringtag": "^1.0.0" + }, "engines": { "node": ">= 0.4" }, @@ -2966,9 +3011,9 @@ } }, "node_modules/is-negative-zero": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.1.tgz", - "integrity": "sha512-2z6JzQvZRa9A2Y7xC6dQQm4FSTSTNWjKIYYTt4246eMTJmIo0Q+ZyOsU66X8lxK1AbB92dFeglPLrhwpeRKO6w==", + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.2.tgz", + "integrity": "sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==", "dev": true, "engines": { "node": ">= 0.4" @@ -2978,10 +3023,13 @@ } }, "node_modules/is-number-object": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.4.tgz", - "integrity": "sha512-zohwelOAur+5uXtk8O3GPQ1eAcu4ZX3UwxQhUlfFFMNpUd83gXgjbhJh6HmB6LUNV/ieOLQuDwJO3dWJosUeMw==", + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.6.tgz", + "integrity": "sha512-bEVOqiRcvo3zO1+G2lVMy+gkkEm9Yh7cDMRusKKu5ZJKPUYSJwICTKZrNKHA2EbSP0Tu0+6B/emsYNHZyn6K8g==", "dev": true, + "dependencies": { + "has-tostringtag": "^1.0.0" + }, "engines": { "node": ">= 0.4" }, @@ -3002,13 +3050,13 @@ } }, "node_modules/is-regex": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.2.tgz", - "integrity": "sha512-axvdhb5pdhEVThqJzYXwMlVuZwC+FF2DpcOhTS+y/8jVq4trxyPgfcwIxIKiyeuLlSQYKkmUaPQJ8ZE4yNKXDg==", + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz", + "integrity": "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==", "dev": true, "dependencies": { "call-bind": "^1.0.2", - "has-symbols": "^1.0.1" + "has-tostringtag": "^1.0.0" }, "engines": { "node": ">= 0.4" @@ -3026,20 +3074,35 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/is-shared-array-buffer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.1.tgz", + "integrity": "sha512-IU0NmyknYZN0rChcKhRO1X8LYz5Isj/Fsqh8NJOSf+N/hCOTwy29F32Ik7a+QszE63IdvmwdTPDd6cZ5pg4cwA==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/is-stream": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.0.tgz", - "integrity": "sha512-XCoy+WlUr7d1+Z8GgSuXmpuUFC9fOhRXglJMx+dwLKTkL44Cjd4W1Z5P+BQZpr+cR93aGP4S/s7Ftw6Nd/kiEw==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", + "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", "dev": true, "engines": { "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/is-string": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.5.tgz", - "integrity": "sha512-buY6VNRjhQMiF1qWDouloZlQbRhDPCebwxSjxMjxgemYT46YMd2NR0/H+fBhEfWX4A/w9TBJ+ol+okqJKFE6vQ==", + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz", + "integrity": "sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==", "dev": true, + "dependencies": { + "has-tostringtag": "^1.0.0" + }, "engines": { "node": ">= 0.4" }, @@ -3048,12 +3111,12 @@ } }, "node_modules/is-symbol": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.3.tgz", - "integrity": "sha512-OwijhaRSgqvhm/0ZdAcXNZt9lYdKFpcRDT5ULUuYXPoT794UNOdU+gpT6Rzo7b4V2HUl/op6GqY894AZwv9faQ==", + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz", + "integrity": "sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==", "dev": true, "dependencies": { - "has-symbols": "^1.0.1" + "has-symbols": "^1.0.2" }, "engines": { "node": ">= 0.4" @@ -3063,16 +3126,16 @@ } }, "node_modules/is-typed-array": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.5.tgz", - "integrity": "sha512-S+GRDgJlR3PyEbsX/Fobd9cqpZBuvUS+8asRqYDMLCb2qMzt1oz5m5oxQCxOgUDxiWsOVNi4yaF+/uvdlHlYug==", + "version": "1.1.8", + "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.8.tgz", + "integrity": "sha512-HqH41TNZq2fgtGT8WHVFVJhBVGuY3AnP3Q36K8JKXUxSxRgk/d+7NjmwG2vo2mYmXK8UYZKu0qH8bVP5gEisjA==", "dev": true, "dependencies": { - "available-typed-arrays": "^1.0.2", + "available-typed-arrays": "^1.0.5", "call-bind": "^1.0.2", - "es-abstract": "^1.18.0-next.2", + "es-abstract": "^1.18.5", "foreach": "^2.0.5", - "has-symbols": "^1.0.1" + "has-tostringtag": "^1.0.0" }, "engines": { "node": ">= 0.4" @@ -3090,11 +3153,27 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/is-weakref": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.2.tgz", + "integrity": "sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/is-weakset": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-weakset/-/is-weakset-2.0.1.tgz", - "integrity": "sha512-pi4vhbhVHGLxohUw7PhGsueT4vRGFoXhP7+RGN0jKIv9+8PWYCQTqtADngrxOm2g46hoH0+g8uZZBzMrvVGDmw==", + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/is-weakset/-/is-weakset-2.0.2.tgz", + "integrity": "sha512-t2yVvttHkQktwnNNmBQ98AhENLdPUTDTE21uPqAQ0ARwQfGeQKRVS0NNurH7bTf7RrvcVn1OOge45CnBeHCSmg==", "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.1.1" + }, "funding": { "url": "https://github.com/sponsors/ljharb" } @@ -3121,9 +3200,9 @@ } }, "node_modules/jest-worker": { - "version": "27.0.2", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.0.2.tgz", - "integrity": "sha512-EoBdilOTTyOgmHXtw/cPc+ZrCA0KJMrkXzkrPGNwLmnvvlN1nj7MPrxpT7m+otSv2e1TLaVffzDnE/LB14zJMg==", + "version": "27.4.6", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.4.6.tgz", + "integrity": "sha512-gHWJF/6Xi5CTG5QCvROr6GcmpIqNYpDJyc8A1h/DyXqH1tD6SnRCM0d3U5msV31D2LB/U+E0M+W4oyvKV44oNw==", "dev": true, "dependencies": { "@types/node": "*", @@ -3165,9 +3244,9 @@ "dev": true }, "node_modules/js-yaml": { - "version": "3.13.1", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.13.1.tgz", - "integrity": "sha512-YfbcO7jXDdyj0DGxYVSlSeQNHbD7XPWvrVWeVUujrQEoZzWJIRrCPoyk6kL6IAjAG2IolMK4T0hNUe0HOUs5Jw==", + "version": "3.14.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", + "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", "dev": true, "dependencies": { "argparse": "^1.0.7", @@ -3202,15 +3281,18 @@ "dev": true }, "node_modules/json5": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", - "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.0.tgz", + "integrity": "sha512-f+8cldu7X/y7RAJurMEJmdoKXGB/X550w2Nr3tTbezL6RwEE/iMcm+tZnXeoZtKuOq6ft8+CqzEkrIgx1fPoQA==", "dev": true, "dependencies": { - "minimist": "^1.2.0" + "minimist": "^1.2.5" }, "bin": { "json5": "lib/cli.js" + }, + "engines": { + "node": ">=6" } }, "node_modules/kind-of": { @@ -3245,6 +3327,18 @@ "node": ">=4.0.0" } }, + "node_modules/loader-utils/node_modules/json5": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", + "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", + "dev": true, + "dependencies": { + "minimist": "^1.2.0" + }, + "bin": { + "json5": "lib/cli.js" + } + }, "node_modules/locate-path": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", @@ -3278,15 +3372,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/make-dir/node_modules/semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true, - "bin": { - "semver": "bin/semver.js" - } - }, "node_modules/merge-stream": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", @@ -3294,26 +3379,26 @@ "dev": true }, "node_modules/mhchemparser": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/mhchemparser/-/mhchemparser-4.1.0.tgz", - "integrity": "sha512-rFj6nGMLJQQ0WcDw3j4LY/kWCq1EftcsarQWnDg38U47XMR36Tlda19WsN4spHr0Qc9Wn4oj6YtvXuwVnOKC/g==" + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/mhchemparser/-/mhchemparser-4.1.1.tgz", + "integrity": "sha512-R75CUN6O6e1t8bgailrF1qPq+HhVeFTM3XQ0uzI+mXTybmphy3b6h4NbLOYhemViQ3lUs+6CKRkC3Ws1TlYREA==" }, "node_modules/mime-db": { - "version": "1.44.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.44.0.tgz", - "integrity": "sha512-/NOTfLrsPBVeH7YtFPgsVWveuL+4SjjYxaQ1xtM1KMFj7HdxlBlxeyNLzhyJVx7r4rZGJAZ/6lkKCitSc/Nmpg==", + "version": "1.51.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.51.0.tgz", + "integrity": "sha512-5y8A56jg7XVQx2mbv1lu49NR4dokRnhZYTtL+KGfaa27uq4pSTXkwQkFJl4pkRMyNFz/EtYDSkiiEHx3F7UN6g==", "dev": true, "engines": { "node": ">= 0.6" } }, "node_modules/mime-types": { - "version": "2.1.27", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.27.tgz", - "integrity": "sha512-JIhqnCasI9yD+SsmkquHBxTSEuZdQX5BuQnS2Vc7puQQQ+8yiP5AY5uWhpdv4YL4VM5c6iliiYWPgJ/nJQLp7w==", + "version": "2.1.34", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.34.tgz", + "integrity": "sha512-6cP692WwGIs9XXdOO4++N+7qjqv0rqxxVvJ3VHPh/Sc9mVZcQP+ZGhkKiTvWMQRr2tbHkJP/Yn7Y0npb3ZBs4A==", "dev": true, "dependencies": { - "mime-db": "1.44.0" + "mime-db": "1.51.0" }, "engines": { "node": ">= 0.6" @@ -3352,15 +3437,15 @@ "integrity": "sha512-7NO5s6n10TIV96d4g2uDpG7ZDpIhMh0QNfGdJw/W47JswFcosz457wqz/b5sAKvl12sxINGFCn80NZHKwxQEXA==" }, "node_modules/mkdirp": { - "version": "0.5.5", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", - "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==", + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", + "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", "dev": true, - "dependencies": { - "minimist": "^1.2.5" - }, "bin": { "mkdirp": "bin/cmd.js" + }, + "engines": { + "node": ">=10" } }, "node_modules/ms": { @@ -3376,9 +3461,9 @@ "dev": true }, "node_modules/node-releases": { - "version": "1.1.71", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.71.tgz", - "integrity": "sha512-zR6HoT6LrLCRBwukmrVbHv0EpEQjksO6GmFcZQQuCAy139BEsoVKPYnf3jongYW83fAa1torLGYwxxky/p28sg==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.1.tgz", + "integrity": "sha512-CqyzN6z7Q6aMeF/ktcMVTzhAHCEpf8SOarwpzpf8pNBY2k5/oM34UHldUwp8VKI7uxct2HxSRdJjBaZeESzcxA==", "dev": true }, "node_modules/noms": { @@ -3404,9 +3489,9 @@ } }, "node_modules/object-inspect": { - "version": "1.10.2", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.10.2.tgz", - "integrity": "sha512-gz58rdPpadwztRrPjZE9DZLOABUpTGdcANUgOwBFO1C+HZZhePoP83M65WGDmbpwFYJSWqavbl4SgDn4k8RYTA==", + "version": "1.12.0", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.0.tgz", + "integrity": "sha512-Ho2z80bVIvJloH+YzRmpZVQe87+qASmBUKZDWgx9cu+KDrX2ZDH/3tMy+gXbZETVGs2M8YdxObOh7XAtim9Y0g==", "dev": true, "funding": { "url": "https://github.com/sponsors/ljharb" @@ -3489,6 +3574,9 @@ }, "engines": { "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/p-locate": { @@ -3540,9 +3628,15 @@ } }, "node_modules/path-parse": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz", - "integrity": "sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==", + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", + "dev": true + }, + "node_modules/picocolors": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", + "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==", "dev": true }, "node_modules/pkg-dir": { @@ -3594,9 +3688,9 @@ } }, "node_modules/rechoir": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.7.0.tgz", - "integrity": "sha512-ADsDEH2bvbjltXEP+hTIAmeFekTFK0V2BTxMkok6qILyAJEXV0AFfoWcAq4yfll5VdIMd/RVXq0lR+wQi5ZU3Q==", + "version": "0.7.1", + "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.7.1.tgz", + "integrity": "sha512-/njmZ8s1wVeR6pjTZ+0nCnv8SpZNRMT2D1RLOJQESlYFDBvwpTA4KWJpZ+sBJ4+vhjILRcK7JIFdGCdxEAAitg==", "dev": true, "dependencies": { "resolve": "^1.9.0" @@ -3612,21 +3706,21 @@ "dev": true }, "node_modules/regenerate-unicode-properties": { - "version": "8.2.0", - "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-8.2.0.tgz", - "integrity": "sha512-F9DjY1vKLo/tPePDycuH3dn9H1OTPIkVD9Kz4LODu+F2C75mgjAJ7x/gwy6ZcSNRAAkhNlJSOHRe8k3p+K9WhA==", + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-9.0.0.tgz", + "integrity": "sha512-3E12UeNSPfjrgwjkR81m5J7Aw/T55Tu7nUyZVQYCKEOs+2dkxEY+DpPtZzO4YruuiPb7NkYLVcyJC4+zCbk5pA==", "dev": true, "dependencies": { - "regenerate": "^1.4.0" + "regenerate": "^1.4.2" }, "engines": { "node": ">=4" } }, "node_modules/regenerator-runtime": { - "version": "0.13.7", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.7.tgz", - "integrity": "sha512-a54FxoJDIr27pgf7IgeQGxmqUNYrcV338lf/6gH456HZ/PhX+5BcwHXG9ajESmwe6WRO0tAzRUrRmNONWgkrew==", + "version": "0.13.9", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.9.tgz", + "integrity": "sha512-p3VT+cOEgxFsRRA9X4lkI1E+k2/CtnKtU4gcxyaCUreilL/vqI6CdZ3wxVUx3UOUg+gnUOQQcRI7BmSI656MYA==", "dev": true }, "node_modules/regenerator-transform": { @@ -3639,9 +3733,9 @@ } }, "node_modules/regexp.prototype.flags": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.3.1.tgz", - "integrity": "sha512-JiBdRBq91WlY7uRJ0ds7R+dU02i6LKi8r3BuQhNXn+kmeLN+EfHhfjqMRis1zJxnlu88hq/4dx0P2OP3APRTOA==", + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.4.1.tgz", + "integrity": "sha512-pMR7hBVUUGI7PMA37m2ofIdQCsomVnas+Jn5UPGAHQ+/LlwKm/aTLJHdasmHRzlfeZwHiAOaRSo2rbBDm3nNUQ==", "dev": true, "dependencies": { "call-bind": "^1.0.2", @@ -3655,17 +3749,17 @@ } }, "node_modules/regexpu-core": { - "version": "4.7.1", - "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-4.7.1.tgz", - "integrity": "sha512-ywH2VUraA44DZQuRKzARmw6S66mr48pQVva4LBeRhcOltJ6hExvWly5ZjFLYo67xbIxb6W1q4bAGtgfEl20zfQ==", + "version": "4.8.0", + "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-4.8.0.tgz", + "integrity": "sha512-1F6bYsoYiz6is+oz70NWur2Vlh9KWtswuRuzJOfeYUrfPX2o8n74AnUVaOGDbUqVGO9fNHu48/pjJO4sNVwsOg==", "dev": true, "dependencies": { - "regenerate": "^1.4.0", - "regenerate-unicode-properties": "^8.2.0", - "regjsgen": "^0.5.1", - "regjsparser": "^0.6.4", - "unicode-match-property-ecmascript": "^1.0.4", - "unicode-match-property-value-ecmascript": "^1.2.0" + "regenerate": "^1.4.2", + "regenerate-unicode-properties": "^9.0.0", + "regjsgen": "^0.5.2", + "regjsparser": "^0.7.0", + "unicode-match-property-ecmascript": "^2.0.0", + "unicode-match-property-value-ecmascript": "^2.0.0" }, "engines": { "node": ">=4" @@ -3678,9 +3772,9 @@ "dev": true }, "node_modules/regjsparser": { - "version": "0.6.9", - "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.6.9.tgz", - "integrity": "sha512-ZqbNRz1SNjLAiYuwY0zoXW8Ne675IX5q+YHioAGbCw4X96Mjl2+dcX9B2ciaeyYjViDAfvIjFpQjJgLttTEERQ==", + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.7.0.tgz", + "integrity": "sha512-A4pcaORqmNMDVwUjWoTzuhwMGpP+NykpfqAsEgI1FSH/EzC7lrN5TMd+kN8YCovX+jMpu8eaqXgXPCa0g8FQNQ==", "dev": true, "dependencies": { "jsesc": "~0.5.0" @@ -3708,13 +3802,17 @@ } }, "node_modules/resolve": { - "version": "1.20.0", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.20.0.tgz", - "integrity": "sha512-wENBPt4ySzg4ybFQW2TT1zMQucPK95HSh/nq2CFTZVOGut2+pQvSsgtda4d26YrYcr067wjbmzOG8byDPBX63A==", + "version": "1.21.0", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.21.0.tgz", + "integrity": "sha512-3wCbTpk5WJlyE4mSOtDLhqQmGFi0/TD9VPwmiolnk8U0wRgMEktqCXd3vy5buTO3tljvalNvKrjHEfrd2WpEKA==", "dev": true, "dependencies": { - "is-core-module": "^2.2.0", - "path-parse": "^1.0.6" + "is-core-module": "^2.8.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + }, + "bin": { + "resolve": "bin/resolve" }, "funding": { "url": "https://github.com/sponsors/ljharb" @@ -3760,23 +3858,9 @@ }, "bin": { "rimraf": "bin.js" - } - }, - "node_modules/rimraf/node_modules/glob": { - "version": "7.1.6", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", - "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", - "dev": true, - "dependencies": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" }, - "engines": { - "node": "*" + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, "node_modules/safe-buffer": { @@ -3786,44 +3870,36 @@ "dev": true }, "node_modules/schema-utils": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.0.0.tgz", - "integrity": "sha512-6D82/xSzO094ajanoOSbe4YvXWMfn2A//8Y1+MUqFAJul5Bs+yn36xbK9OtNDcRVSBJ9jjeoXftM6CfztsjOAA==", + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.1.tgz", + "integrity": "sha512-SHiNtMOUGWBQJwzISiVYKu82GiV4QYGePp3odlY1tuKO7gPtphAT5R/py0fA6xtbgLL/RvtJZnU9b8s0F1q0Xg==", "dev": true, "dependencies": { - "@types/json-schema": "^7.0.6", - "ajv": "^6.12.5", + "@types/json-schema": "^7.0.5", + "ajv": "^6.12.4", "ajv-keywords": "^3.5.2" }, "engines": { - "node": ">= 10.13.0" + "node": ">= 8.9.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" } }, - "node_modules/schema-utils/node_modules/@types/json-schema": { - "version": "7.0.6", - "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.6.tgz", - "integrity": "sha512-3c+yGKvVP5Y9TYBEibGNR+kLtijnj7mYrXRg+WpFb2X9xm04g/DXYkfg4hmzJQosc9snFNUPkbYIhu+KAm6jJw==", - "dev": true - }, - "node_modules/schema-utils/node_modules/ajv-keywords": { - "version": "3.5.2", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", - "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", - "dev": true - }, "node_modules/semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", "dev": true, "bin": { - "semver": "bin/semver" + "semver": "bin/semver.js" } }, "node_modules/serialize-javascript": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-5.0.1.tgz", - "integrity": "sha512-SaaNal9imEO737H2c05Og0/8LUXG7EnsZyMa8MzkmuHoELfT6txuj0cMqRj6zfPKnmQ1yasR4PCJc8x+M4JSPA==", + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.0.tgz", + "integrity": "sha512-Qr3TosvguFt8ePWqsvRfrKyQXIiW+nGbYpy8XK24NQHE83caxWt+mIymTT19DGFbNWNLfEwsrkSmN64lVWB9ag==", "dev": true, "dependencies": { "randombytes": "^2.1.0" @@ -3877,15 +3953,9 @@ } }, "node_modules/signal-exit": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.3.tgz", - "integrity": "sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA==", - "dev": true - }, - "node_modules/source-list-map": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/source-list-map/-/source-list-map-2.0.1.tgz", - "integrity": "sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw==", + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.6.tgz", + "integrity": "sha512-sDl4qMFpijcGw22U5w63KmD3cZJfBuFlVNbVMKje2keoKML7X2UzWbc4XrmEbDwg0NXJc3yv4/ox7b+JWb57kQ==", "dev": true }, "node_modules/source-map": { @@ -3898,9 +3968,9 @@ } }, "node_modules/source-map-support": { - "version": "0.5.19", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.19.tgz", - "integrity": "sha512-Wonm7zOCIJzBGQdB+thsPar0kYuCIzYvxZwlBa87yi/Mdjv7Tip2cyVbLj5o0cFPN4EVkuTwb3GDDyUx2DGnGw==", + "version": "0.5.21", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", + "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", "dev": true, "dependencies": { "buffer-from": "^1.0.0", @@ -3917,13 +3987,13 @@ } }, "node_modules/speech-rule-engine": { - "version": "3.3.3", - "resolved": "https://registry.npmjs.org/speech-rule-engine/-/speech-rule-engine-3.3.3.tgz", - "integrity": "sha512-0exWw+0XauLjat+f/aFeo5T8SiDsO1JtwpY3qgJE4cWt+yL/Stl0WP4VNDWdh7lzGkubUD9lWP4J1ASnORXfyQ==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/speech-rule-engine/-/speech-rule-engine-4.0.0.tgz", + "integrity": "sha512-OffLj/HyLC9/6X4+aUig8+U3wpCyc4g7DkBD7nPsSg7qdNYhSiyV0u00AQvtZnqzrNLeWwO1/8UQmp1xIY+Juw==", "dependencies": { - "commander": ">=7.0.0", - "wicked-good-xpath": "^1.3.0", - "xmldom-sre": "^0.1.31" + "commander": "8.3.0", + "wicked-good-xpath": "1.3.0", + "xmldom-sre": "0.1.31" }, "bin": { "sre": "bin/sre" @@ -3942,28 +4012,28 @@ "dev": true }, "node_modules/string-width": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.2.tgz", - "integrity": "sha512-XBJbT3N4JhVumXE0eoLU9DCjcaF92KLNqTmFCnG1pf8duUxFGwtP6AD6nkjw9a3IdiRtL3E2w3JDiE/xi3vOeA==", + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", "dev": true, "dependencies": { "emoji-regex": "^8.0.0", "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.0" + "strip-ansi": "^6.0.1" }, "engines": { "node": ">=8" } }, "node_modules/string.prototype.trim": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.4.tgz", - "integrity": "sha512-hWCk/iqf7lp0/AgTF7/ddO1IWtSNPASjlzCicV5irAVdE1grjsneK26YG6xACMBEdCvO8fUST0UzDMh/2Qy+9Q==", + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.5.tgz", + "integrity": "sha512-Lnh17webJVsD6ECeovpVN17RlAKjmz4rF9S+8Y45CkMc/ufVpTkU3vZIyIC7sllQ1FCvObZnnCdNs/HXTUOTlg==", "dev": true, "dependencies": { "call-bind": "^1.0.2", "define-properties": "^1.1.3", - "es-abstract": "^1.18.0-next.2" + "es-abstract": "^1.19.1" }, "engines": { "node": ">= 0.4" @@ -3999,12 +4069,12 @@ } }, "node_modules/strip-ansi": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", - "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", "dev": true, "dependencies": { - "ansi-regex": "^5.0.0" + "ansi-regex": "^5.0.1" }, "engines": { "node": ">=8" @@ -4031,66 +4101,59 @@ "node": ">=4" } }, - "node_modules/tapable": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.0.tgz", - "integrity": "sha512-FBk4IesMV1rBxX2tfiK8RAmogtWn53puLOQlvO8XuwlgxcYbP4mVPS9Ph4aeamSyyVjOl24aYWAuc8U5kCVwMw==", + "node_modules/supports-preserve-symlinks-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", + "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", "dev": true, "engines": { - "node": ">=6" - } - }, + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/tapable": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz", + "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==", + "dev": true, + "engines": { + "node": ">=6" + } + }, "node_modules/tape": { - "version": "5.2.2", - "resolved": "https://registry.npmjs.org/tape/-/tape-5.2.2.tgz", - "integrity": "sha512-grXrzPC1ly2kyTMKdqxh5GiLpb0BpNctCuecTB0psHX4Gu0nc+uxWR4xKjTh/4CfQlH4zhvTM2/EXmHXp6v/uA==", + "version": "5.4.1", + "resolved": "https://registry.npmjs.org/tape/-/tape-5.4.1.tgz", + "integrity": "sha512-7bGaJ3WnQ/CX3xOWzlR+9lNptEWoD+11gyREP8k+SYrDu2a20EifKpTmZndXn25ZRxesYHSuNtE7Fb+THcjfGA==", "dev": true, "dependencies": { + "array.prototype.every": "^1.1.3", "call-bind": "^1.0.2", "deep-equal": "^2.0.5", "defined": "^1.0.0", "dotignore": "^0.1.2", "for-each": "^0.3.3", - "glob": "^7.1.6", + "get-package-type": "^0.1.0", + "glob": "^7.2.0", "has": "^1.0.3", + "has-dynamic-import": "^2.0.1", "inherits": "^2.0.4", - "is-regex": "^1.1.2", + "is-regex": "^1.1.4", "minimist": "^1.2.5", - "object-inspect": "^1.9.0", + "object-inspect": "^1.12.0", "object-is": "^1.1.5", + "object-keys": "^1.1.1", "object.assign": "^4.1.2", "resolve": "^2.0.0-next.3", "resumer": "^0.0.0", - "string.prototype.trim": "^1.2.4", + "string.prototype.trim": "^1.2.5", "through": "^2.3.8" }, "bin": { "tape": "bin/tape" } }, - "node_modules/tape/node_modules/glob": { - "version": "7.1.6", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", - "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", - "dev": true, - "dependencies": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - }, - "engines": { - "node": "*" - } - }, - "node_modules/tape/node_modules/inherits": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", - "dev": true - }, "node_modules/tape/node_modules/resolve": { "version": "2.0.0-next.3", "resolved": "https://registry.npmjs.org/resolve/-/resolve-2.0.0-next.3.tgz", @@ -4105,34 +4168,41 @@ } }, "node_modules/terser": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/terser/-/terser-5.7.0.tgz", - "integrity": "sha512-HP5/9hp2UaZt5fYkuhNBR8YyRcT8juw8+uFbAme53iN9hblvKnLUTKkmwJG6ocWpIKf8UK4DoeWG4ty0J6S6/g==", + "version": "5.10.0", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.10.0.tgz", + "integrity": "sha512-AMmF99DMfEDiRJfxfY5jj5wNH/bYO09cniSqhfoyxc8sFoYIgkJy86G04UoZU5VjlpnplVu0K6Tx6E9b5+DlHA==", "dev": true, "dependencies": { "commander": "^2.20.0", "source-map": "~0.7.2", - "source-map-support": "~0.5.19" + "source-map-support": "~0.5.20" }, "bin": { "terser": "bin/terser" }, "engines": { "node": ">=10" + }, + "peerDependencies": { + "acorn": "^8.5.0" + }, + "peerDependenciesMeta": { + "acorn": { + "optional": true + } } }, "node_modules/terser-webpack-plugin": { - "version": "5.1.3", - "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.1.3.tgz", - "integrity": "sha512-cxGbMqr6+A2hrIB5ehFIF+F/iST5ZOxvOmy9zih9ySbP1C2oEWQSOUS+2SNBTjzx5xLKO4xnod9eywdfq1Nb9A==", + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.0.tgz", + "integrity": "sha512-LPIisi3Ol4chwAaPP8toUJ3L4qCM1G0wao7L3qNv57Drezxj6+VEyySpPw4B1HSO2Eg/hDY/MNF5XihCAoqnsQ==", "dev": true, "dependencies": { - "jest-worker": "^27.0.2", - "p-limit": "^3.1.0", - "schema-utils": "^3.0.0", - "serialize-javascript": "^5.0.1", + "jest-worker": "^27.4.1", + "schema-utils": "^3.1.1", + "serialize-javascript": "^6.0.0", "source-map": "^0.6.1", - "terser": "^5.7.0" + "terser": "^5.7.2" }, "engines": { "node": ">= 10.13.0" @@ -4143,21 +4213,35 @@ }, "peerDependencies": { "webpack": "^5.1.0" + }, + "peerDependenciesMeta": { + "@swc/core": { + "optional": true + }, + "esbuild": { + "optional": true + }, + "uglify-js": { + "optional": true + } } }, - "node_modules/terser-webpack-plugin/node_modules/p-limit": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", - "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "node_modules/terser-webpack-plugin/node_modules/schema-utils": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz", + "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==", "dev": true, "dependencies": { - "yocto-queue": "^0.1.0" + "@types/json-schema": "^7.0.8", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" }, "engines": { - "node": ">=10" + "node": ">= 10.13.0" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "type": "opencollective", + "url": "https://opencollective.com/webpack" } }, "node_modules/terser-webpack-plugin/node_modules/source-map": { @@ -4240,15 +4324,16 @@ } }, "node_modules/tslib": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.11.1.tgz", - "integrity": "sha512-aZW88SY8kQbU7gpV19lN24LtXh/yD4ZZg6qieAJDDg+YBsJcSmLGK9QpnUjAKVG/xefmvJGd1WUmfpT/g6AJGA==", + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", "dev": true }, "node_modules/tslint": { "version": "6.1.3", "resolved": "https://registry.npmjs.org/tslint/-/tslint-6.1.3.tgz", "integrity": "sha512-IbR4nkT96EQOvKE2PW/djGz8iGNeJ4rF2mBfiYaR/nvUWYKJhLwimoJKgjIFEIDibBtOevj7BqCRL4oHeWWUCg==", + "deprecated": "TSLint has been deprecated in favor of ESLint. Please see https://github.com/palantir/tslint/issues/4534 for more information.", "dev": true, "dependencies": { "@babel/code-frame": "^7.0.0", @@ -4270,6 +4355,9 @@ }, "engines": { "node": ">=4.8.0" + }, + "peerDependencies": { + "typescript": ">=2.3.0-dev || >=2.4.0-dev || >=2.5.0-dev || >=2.6.0-dev || >=2.7.0-dev || >=2.8.0-dev || >=2.9.0-dev || >=3.0.0-dev || >= 3.1.0-dev || >= 3.2.0-dev || >= 4.0.0-dev" } }, "node_modules/tslint-jsdoc-rules": { @@ -4296,6 +4384,27 @@ "node": ">=0.3.1" } }, + "node_modules/tslint-jsdoc-rules/node_modules/mkdirp": { + "version": "0.5.5", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", + "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==", + "dev": true, + "dependencies": { + "minimist": "^1.2.5" + }, + "bin": { + "mkdirp": "bin/cmd.js" + } + }, + "node_modules/tslint-jsdoc-rules/node_modules/semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true, + "bin": { + "semver": "bin/semver" + } + }, "node_modules/tslint-jsdoc-rules/node_modules/tslint": { "version": "5.20.1", "resolved": "https://registry.npmjs.org/tslint/-/tslint-5.20.1.tgz", @@ -4321,6 +4430,9 @@ }, "engines": { "node": ">=4.8.0" + }, + "peerDependencies": { + "typescript": ">=2.3.0-dev || >=2.4.0-dev || >=2.5.0-dev || >=2.6.0-dev || >=2.7.0-dev || >=2.8.0-dev || >=2.9.0-dev || >=3.0.0-dev || >= 3.1.0-dev || >= 3.2.0-dev" } }, "node_modules/tslint-unix-formatter": { @@ -4347,6 +4459,27 @@ "node": ">=0.3.1" } }, + "node_modules/tslint-unix-formatter/node_modules/mkdirp": { + "version": "0.5.5", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", + "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==", + "dev": true, + "dependencies": { + "minimist": "^1.2.5" + }, + "bin": { + "mkdirp": "bin/cmd.js" + } + }, + "node_modules/tslint-unix-formatter/node_modules/semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true, + "bin": { + "semver": "bin/semver" + } + }, "node_modules/tslint-unix-formatter/node_modules/tslint": { "version": "5.20.1", "resolved": "https://registry.npmjs.org/tslint/-/tslint-5.20.1.tgz", @@ -4372,6 +4505,9 @@ }, "engines": { "node": ">=4.8.0" + }, + "peerDependencies": { + "typescript": ">=2.3.0-dev || >=2.4.0-dev || >=2.5.0-dev || >=2.6.0-dev || >=2.7.0-dev || >=2.8.0-dev || >=2.9.0-dev || >=3.0.0-dev || >= 3.1.0-dev || >= 3.2.0-dev" } }, "node_modules/tslint/node_modules/commander": { @@ -4389,11 +4525,26 @@ "node": ">=0.3.1" } }, - "node_modules/tslint/node_modules/tslib": { - "version": "1.13.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.13.0.tgz", - "integrity": "sha512-i/6DQjL8Xf3be4K/E6Wgpekn5Qasl1usyw++dAA35Ue5orEn65VIxOA+YvNNl9HV3qv70T7CNwjODHZrLwvd1Q==", - "dev": true + "node_modules/tslint/node_modules/mkdirp": { + "version": "0.5.5", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", + "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==", + "dev": true, + "dependencies": { + "minimist": "^1.2.5" + }, + "bin": { + "mkdirp": "bin/cmd.js" + } + }, + "node_modules/tslint/node_modules/semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true, + "bin": { + "semver": "bin/semver" + } }, "node_modules/tsutils": { "version": "2.29.0", @@ -4402,12 +4553,15 @@ "dev": true, "dependencies": { "tslib": "^1.8.1" + }, + "peerDependencies": { + "typescript": ">=2.1.0 || >=2.1.0-dev || >=2.2.0-dev || >=2.3.0-dev || >=2.4.0-dev || >=2.5.0-dev || >=2.6.0-dev || >=2.7.0-dev || >=2.8.0-dev || >=2.9.0-dev || >= 3.0.0-dev || >= 3.1.0-dev" } }, "node_modules/typescript": { - "version": "4.3.2", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.3.2.tgz", - "integrity": "sha512-zZ4hShnmnoVnAHpVHWpTcxdv7dWP60S2FsydQLV8V5PbS3FifjWFFRiHSWpDJahly88PRyV5teTSLoq4eG7mKw==", + "version": "4.5.4", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.5.4.tgz", + "integrity": "sha512-VgYs2A2QIRuGphtzFV7aQJduJ2gyfTljngLzjpfW9FoYZF6xuw1W0vW9ghCKLfcWrCFxK81CSGRAvS1pn4fIUg==", "dev": true, "bin": { "tsc": "bin/tsc", @@ -4442,40 +4596,40 @@ } }, "node_modules/unicode-canonical-property-names-ecmascript": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-1.0.4.tgz", - "integrity": "sha512-jDrNnXWHd4oHiTZnx/ZG7gtUTVp+gCcTTKr8L0HjlwphROEW3+Him+IpvC+xcJEFegapiMZyZe02CyuOnRmbnQ==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.0.tgz", + "integrity": "sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ==", "dev": true, "engines": { "node": ">=4" } }, "node_modules/unicode-match-property-ecmascript": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-1.0.4.tgz", - "integrity": "sha512-L4Qoh15vTfntsn4P1zqnHulG0LdXgjSO035fEpdtp6YxXhMT51Q6vgM5lYdG/5X3MjS+k/Y9Xw4SFCY9IkR0rg==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-2.0.0.tgz", + "integrity": "sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==", "dev": true, "dependencies": { - "unicode-canonical-property-names-ecmascript": "^1.0.4", - "unicode-property-aliases-ecmascript": "^1.0.4" + "unicode-canonical-property-names-ecmascript": "^2.0.0", + "unicode-property-aliases-ecmascript": "^2.0.0" }, "engines": { "node": ">=4" } }, "node_modules/unicode-match-property-value-ecmascript": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-1.2.0.tgz", - "integrity": "sha512-wjuQHGQVofmSJv1uVISKLE5zO2rNGzM/KCYZch/QQvez7C1hUhBIuZ701fYXExuufJFMPhv2SyL8CyoIfMLbIQ==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.0.0.tgz", + "integrity": "sha512-7Yhkc0Ye+t4PNYzOGKedDhXbYIBe1XEQYQxOPyhcXNMJ0WCABqqj6ckydd6pWRZTHV4GuCPKdBAUiMc60tsKVw==", "dev": true, "engines": { "node": ">=4" } }, "node_modules/unicode-property-aliases-ecmascript": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-1.1.0.tgz", - "integrity": "sha512-PqSoPh/pWetQ2phoj5RLiaqIk4kCNwoV3CI+LfGmWLKI3rE3kl1h59XpX2BjgDrmbxD9ARtQobPGU1SguCYuQg==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.0.0.tgz", + "integrity": "sha512-5Zfuy9q/DFr4tfO7ZPeVXb1aPoeQSdeFMLpYuFebehDAhbuevLs5yxSZmIFN1tP5F9Wl4IpJrYojg85/zgyZHQ==", "dev": true, "engines": { "node": ">=4" @@ -4491,9 +4645,9 @@ } }, "node_modules/uri-js": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.2.2.tgz", - "integrity": "sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ==", + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", "dev": true, "dependencies": { "punycode": "^2.1.0" @@ -4505,16 +4659,10 @@ "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", "dev": true }, - "node_modules/v8-compile-cache": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.2.0.tgz", - "integrity": "sha512-gTpR5XQNKFwOd4clxfnhaqvfqMpqEwr4tOtCyz4MtYZX2JYhfr1JvBFKdS+7K/9rfpZR3VLX+YWBbKoxCgS43Q==", - "dev": true - }, "node_modules/watchpack": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.2.0.tgz", - "integrity": "sha512-up4YAn/XHgZHIxFBVCdlMiWDj6WaLKpwVeGQk2I5thdYxF/KmF0aaz6TfJZ/hfl1h/XlcDr7k1KH7ThDagpFaA==", + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.3.1.tgz", + "integrity": "sha512-x0t0JuydIo8qCNctdDrn1OzH/qDzk2+rdCOC3YzumZ42fiMqmQ7T3xQurykYMhYfHaPHTp4ZxAx2NfUo1K6QaA==", "dev": true, "dependencies": { "glob-to-regexp": "^0.4.1", @@ -4525,34 +4673,35 @@ } }, "node_modules/webpack": { - "version": "5.38.1", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.38.1.tgz", - "integrity": "sha512-OqRmYD1OJbHZph6RUMD93GcCZy4Z4wC0ele4FXyYF0J6AxO1vOSuIlU1hkS/lDlR9CDYBz64MZRmdbdnFFoT2g==", + "version": "5.66.0", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.66.0.tgz", + "integrity": "sha512-NJNtGT7IKpGzdW7Iwpn/09OXz9inIkeIQ/ibY6B+MdV1x6+uReqz/5z1L89ezWnpPDWpXF0TY5PCYKQdWVn8Vg==", "dev": true, "dependencies": { "@types/eslint-scope": "^3.7.0", - "@types/estree": "^0.0.47", - "@webassemblyjs/ast": "1.11.0", - "@webassemblyjs/wasm-edit": "1.11.0", - "@webassemblyjs/wasm-parser": "1.11.0", - "acorn": "^8.2.1", + "@types/estree": "^0.0.50", + "@webassemblyjs/ast": "1.11.1", + "@webassemblyjs/wasm-edit": "1.11.1", + "@webassemblyjs/wasm-parser": "1.11.1", + "acorn": "^8.4.1", + "acorn-import-assertions": "^1.7.6", "browserslist": "^4.14.5", "chrome-trace-event": "^1.0.2", - "enhanced-resolve": "^5.8.0", - "es-module-lexer": "^0.4.0", + "enhanced-resolve": "^5.8.3", + "es-module-lexer": "^0.9.0", "eslint-scope": "5.1.1", "events": "^3.2.0", "glob-to-regexp": "^0.4.1", - "graceful-fs": "^4.2.4", + "graceful-fs": "^4.2.9", "json-parse-better-errors": "^1.0.2", "loader-runner": "^4.2.0", "mime-types": "^2.1.27", "neo-async": "^2.6.2", - "schema-utils": "^3.0.0", + "schema-utils": "^3.1.0", "tapable": "^2.1.1", - "terser-webpack-plugin": "^5.1.1", - "watchpack": "^2.2.0", - "webpack-sources": "^2.3.0" + "terser-webpack-plugin": "^5.1.3", + "watchpack": "^2.3.1", + "webpack-sources": "^3.2.2" }, "bin": { "webpack": "bin/webpack.js" @@ -4571,23 +4720,22 @@ } }, "node_modules/webpack-cli": { - "version": "4.7.2", - "resolved": "https://registry.npmjs.org/webpack-cli/-/webpack-cli-4.7.2.tgz", - "integrity": "sha512-mEoLmnmOIZQNiRl0ebnjzQ74Hk0iKS5SiEEnpq3dRezoyR3yPaeQZCMCe+db4524pj1Pd5ghZXjT41KLzIhSLw==", + "version": "4.9.1", + "resolved": "https://registry.npmjs.org/webpack-cli/-/webpack-cli-4.9.1.tgz", + "integrity": "sha512-JYRFVuyFpzDxMDB+v/nanUdQYcZtqFPGzmlW4s+UkPMFhSpfRNmf1z4AwYcHJVdvEFAM7FFCQdNTpsBYhDLusQ==", "dev": true, "dependencies": { "@discoveryjs/json-ext": "^0.5.0", - "@webpack-cli/configtest": "^1.0.4", - "@webpack-cli/info": "^1.3.0", - "@webpack-cli/serve": "^1.5.1", - "colorette": "^1.2.1", + "@webpack-cli/configtest": "^1.1.0", + "@webpack-cli/info": "^1.4.0", + "@webpack-cli/serve": "^1.6.0", + "colorette": "^2.0.14", "commander": "^7.0.0", "execa": "^5.0.0", "fastest-levenshtein": "^1.0.12", "import-local": "^3.0.2", "interpret": "^2.2.0", "rechoir": "^0.7.0", - "v8-compile-cache": "^2.2.0", "webpack-merge": "^5.7.3" }, "bin": { @@ -4614,10 +4762,19 @@ } } }, + "node_modules/webpack-cli/node_modules/commander": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz", + "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==", + "dev": true, + "engines": { + "node": ">= 10" + } + }, "node_modules/webpack-merge": { - "version": "5.7.3", - "resolved": "https://registry.npmjs.org/webpack-merge/-/webpack-merge-5.7.3.tgz", - "integrity": "sha512-6/JUQv0ELQ1igjGDzHkXbVDRxkfA57Zw7PfiupdLFJYrgFqY5ZP8xxbpp2lU3EPwYx89ht5Z/aDkD40hFCm5AA==", + "version": "5.8.0", + "resolved": "https://registry.npmjs.org/webpack-merge/-/webpack-merge-5.8.0.tgz", + "integrity": "sha512-/SaI7xY0831XwP6kzuwhKWVKDP9t1QY1h65lAFLbZqMPIuYcD9QAW4u9STIbU9kaJbPBB/geU/gLr1wDjOhQ+Q==", "dev": true, "dependencies": { "clone-deep": "^4.0.1", @@ -4628,25 +4785,30 @@ } }, "node_modules/webpack-sources": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-2.3.0.tgz", - "integrity": "sha512-WyOdtwSvOML1kbgtXbTDnEW0jkJ7hZr/bDByIwszhWd/4XX1A3XMkrbFMsuH4+/MfLlZCUzlAdg4r7jaGKEIgQ==", + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.3.tgz", + "integrity": "sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==", "dev": true, - "dependencies": { - "source-list-map": "^2.0.1", - "source-map": "^0.6.1" - }, "engines": { "node": ">=10.13.0" } }, - "node_modules/webpack-sources/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "node_modules/webpack/node_modules/schema-utils": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz", + "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==", "dev": true, + "dependencies": { + "@types/json-schema": "^7.0.8", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" + }, "engines": { - "node": ">=0.10.0" + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" } }, "node_modules/which": { @@ -4696,18 +4858,17 @@ } }, "node_modules/which-typed-array": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.4.tgz", - "integrity": "sha512-49E0SpUe90cjpoc7BOJwyPHRqSAd12c10Qm2amdEZrJPCY2NDxaW01zHITrem+rnETY3dwrbH3UUrUwagfCYDA==", + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.7.tgz", + "integrity": "sha512-vjxaB4nfDqwKI0ws7wZpxIlde1XrLX5uB0ZjpfshgmapJMD7jJWhZI+yToJTqaFByF0eNBcYxbjmCzoRP7CfEw==", "dev": true, "dependencies": { - "available-typed-arrays": "^1.0.2", - "call-bind": "^1.0.0", - "es-abstract": "^1.18.0-next.1", + "available-typed-arrays": "^1.0.5", + "call-bind": "^1.0.2", + "es-abstract": "^1.18.5", "foreach": "^2.0.5", - "function-bind": "^1.1.1", - "has-symbols": "^1.0.1", - "is-typed-array": "^1.1.3" + "has-tostringtag": "^1.0.0", + "is-typed-array": "^1.1.7" }, "engines": { "node": ">= 0.4" @@ -4828,161 +4989,125 @@ } }, "node_modules/yargs-parser": { - "version": "20.2.7", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.7.tgz", - "integrity": "sha512-FiNkvbeHzB/syOjIUxFDCnhSfzAL8R5vs40MgLFBorXACCOAEaWu0gRZl14vG8MR9AOJIZbmkjhusqBYZ3HTHw==", - "dev": true, - "engines": { - "node": ">=10" - } - }, - "node_modules/yocto-queue": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", - "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", + "version": "20.2.9", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz", + "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==", "dev": true, "engines": { "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" } } }, "dependencies": { "@babel/code-frame": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.14.5.tgz", - "integrity": "sha512-9pzDqyc6OLDaqe+zbACgFkb6fKMNG6CObKpnYXChRsvYGyEdc7CA2BaqeOM+vOtCS5ndmJicPJhKAwYRI6UfFw==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.16.7.tgz", + "integrity": "sha512-iAXqUn8IIeBTNd72xsFlgaXHkMBMt6y4HJp1tIaK465CWLT/fG1aqB7ykr95gHHmlBdGbFeWWfyB4NJJ0nmeIg==", "dev": true, "requires": { - "@babel/highlight": "^7.14.5" + "@babel/highlight": "^7.16.7" } }, "@babel/compat-data": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.14.5.tgz", - "integrity": "sha512-kixrYn4JwfAVPa0f2yfzc2AWti6WRRyO3XjWW5PJAvtE11qhSayrrcrEnee05KAtNaPC+EwehE8Qt1UedEVB8w==", + "version": "7.16.8", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.16.8.tgz", + "integrity": "sha512-m7OkX0IdKLKPpBlJtF561YJal5y/jyI5fNfWbPxh2D/nbzzGI4qRyrD8xO2jB24u7l+5I2a43scCG2IrfjC50Q==", "dev": true }, "@babel/core": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.14.5.tgz", - "integrity": "sha512-RN/AwP2DJmQTZSfiDaD+JQQ/J99KsIpOCfBE5pL+5jJSt7nI3nYGoAXZu+ffYSQ029NLs2DstZb+eR81uuARgg==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.14.5", - "@babel/generator": "^7.14.5", - "@babel/helper-compilation-targets": "^7.14.5", - "@babel/helper-module-transforms": "^7.14.5", - "@babel/helpers": "^7.14.5", - "@babel/parser": "^7.14.5", - "@babel/template": "^7.14.5", - "@babel/traverse": "^7.14.5", - "@babel/types": "^7.14.5", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.16.7.tgz", + "integrity": "sha512-aeLaqcqThRNZYmbMqtulsetOQZ/5gbR/dWruUCJcpas4Qoyy+QeagfDsPdMrqwsPRDNxJvBlRiZxxX7THO7qtA==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.16.7", + "@babel/generator": "^7.16.7", + "@babel/helper-compilation-targets": "^7.16.7", + "@babel/helper-module-transforms": "^7.16.7", + "@babel/helpers": "^7.16.7", + "@babel/parser": "^7.16.7", + "@babel/template": "^7.16.7", + "@babel/traverse": "^7.16.7", + "@babel/types": "^7.16.7", "convert-source-map": "^1.7.0", "debug": "^4.1.0", "gensync": "^1.0.0-beta.2", "json5": "^2.1.2", "semver": "^6.3.0", "source-map": "^0.5.0" - }, - "dependencies": { - "json5": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.1.3.tgz", - "integrity": "sha512-KXPvOm8K9IJKFM0bmdn8QXh7udDh1g/giieX0NLCaMnb4hEiVFqnop2ImTXCc5e0/oHz3LTqmHGtExn5hfMkOA==", - "dev": true, - "requires": { - "minimist": "^1.2.5" - } - }, - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true - } } }, "@babel/generator": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.14.5.tgz", - "integrity": "sha512-y3rlP+/G25OIX3mYKKIOlQRcqj7YgrvHxOLbVmyLJ9bPmi5ttvUmpydVjcFjZphOktWuA7ovbx91ECloWTfjIA==", + "version": "7.16.8", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.16.8.tgz", + "integrity": "sha512-1ojZwE9+lOXzcWdWmO6TbUzDfqLD39CmEhN8+2cX9XkDo5yW1OpgfejfliysR2AWLpMamTiOiAp/mtroaymhpw==", "dev": true, "requires": { - "@babel/types": "^7.14.5", + "@babel/types": "^7.16.8", "jsesc": "^2.5.1", "source-map": "^0.5.0" } }, "@babel/helper-annotate-as-pure": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.14.5.tgz", - "integrity": "sha512-EivH9EgBIb+G8ij1B2jAwSH36WnGvkQSEC6CkX/6v6ZFlw5fVOHvsgGF4uiEHO2GzMvunZb6tDLQEQSdrdocrA==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.16.7.tgz", + "integrity": "sha512-s6t2w/IPQVTAET1HitoowRGXooX8mCgtuP5195wD/QJPV6wYjpujCGF7JuMODVX2ZAJOf1GT6DT9MHEZvLOFSw==", "dev": true, "requires": { - "@babel/types": "^7.14.5" + "@babel/types": "^7.16.7" } }, "@babel/helper-builder-binary-assignment-operator-visitor": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.14.5.tgz", - "integrity": "sha512-YTA/Twn0vBXDVGJuAX6PwW7x5zQei1luDDo2Pl6q1qZ7hVNl0RZrhHCQG/ArGpR29Vl7ETiB8eJyrvpuRp300w==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.16.7.tgz", + "integrity": "sha512-C6FdbRaxYjwVu/geKW4ZeQ0Q31AftgRcdSnZ5/jsH6BzCJbtvXvhpfkbkThYSuutZA7nCXpPR6AD9zd1dprMkA==", "dev": true, "requires": { - "@babel/helper-explode-assignable-expression": "^7.14.5", - "@babel/types": "^7.14.5" + "@babel/helper-explode-assignable-expression": "^7.16.7", + "@babel/types": "^7.16.7" } }, "@babel/helper-compilation-targets": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.14.5.tgz", - "integrity": "sha512-v+QtZqXEiOnpO6EYvlImB6zCD2Lel06RzOPzmkz/D/XgQiUu3C/Jb1LOqSt/AIA34TYi/Q+KlT8vTQrgdxkbLw==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.16.7.tgz", + "integrity": "sha512-mGojBwIWcwGD6rfqgRXVlVYmPAv7eOpIemUG3dGnDdCY4Pae70ROij3XmfrH6Fa1h1aiDylpglbZyktfzyo/hA==", "dev": true, "requires": { - "@babel/compat-data": "^7.14.5", - "@babel/helper-validator-option": "^7.14.5", - "browserslist": "^4.16.6", + "@babel/compat-data": "^7.16.4", + "@babel/helper-validator-option": "^7.16.7", + "browserslist": "^4.17.5", "semver": "^6.3.0" - }, - "dependencies": { - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true - } } }, "@babel/helper-create-class-features-plugin": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.14.5.tgz", - "integrity": "sha512-Uq9z2e7ZtcnDMirRqAGLRaLwJn+Lrh388v5ETrR3pALJnElVh2zqQmdbz4W2RUJYohAPh2mtyPUgyMHMzXMncQ==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.16.7.tgz", + "integrity": "sha512-kIFozAvVfK05DM4EVQYKK+zteWvY85BFdGBRQBytRyY3y+6PX0DkDOn/CZ3lEuczCfrCxEzwt0YtP/87YPTWSw==", "dev": true, "requires": { - "@babel/helper-annotate-as-pure": "^7.14.5", - "@babel/helper-function-name": "^7.14.5", - "@babel/helper-member-expression-to-functions": "^7.14.5", - "@babel/helper-optimise-call-expression": "^7.14.5", - "@babel/helper-replace-supers": "^7.14.5", - "@babel/helper-split-export-declaration": "^7.14.5" + "@babel/helper-annotate-as-pure": "^7.16.7", + "@babel/helper-environment-visitor": "^7.16.7", + "@babel/helper-function-name": "^7.16.7", + "@babel/helper-member-expression-to-functions": "^7.16.7", + "@babel/helper-optimise-call-expression": "^7.16.7", + "@babel/helper-replace-supers": "^7.16.7", + "@babel/helper-split-export-declaration": "^7.16.7" } }, "@babel/helper-create-regexp-features-plugin": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.14.5.tgz", - "integrity": "sha512-TLawwqpOErY2HhWbGJ2nZT5wSkR192QpN+nBg1THfBfftrlvOh+WbhrxXCH4q4xJ9Gl16BGPR/48JA+Ryiho/A==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.16.7.tgz", + "integrity": "sha512-fk5A6ymfp+O5+p2yCkXAu5Kyj6v0xh0RBeNcAkYUMDvvAAoxvSKXn+Jb37t/yWFiQVDFK1ELpUTD8/aLhCPu+g==", "dev": true, "requires": { - "@babel/helper-annotate-as-pure": "^7.14.5", + "@babel/helper-annotate-as-pure": "^7.16.7", "regexpu-core": "^4.7.1" } }, "@babel/helper-define-polyfill-provider": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.2.3.tgz", - "integrity": "sha512-RH3QDAfRMzj7+0Nqu5oqgO5q9mFtQEVvCRsi8qCEfzLR9p2BHfn5FzhSB2oj1fF7I2+DcTORkYaQ6aTR9Cofew==", + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.3.1.tgz", + "integrity": "sha512-J9hGMpJQmtWmj46B3kBHmL38UhJGhYX7eqkcq+2gsstyYt341HmPeWspihX43yVRA0mS+8GGk2Gckc7bY/HCmA==", "dev": true, "requires": { "@babel/helper-compilation-targets": "^7.13.0", @@ -4993,372 +5118,383 @@ "lodash.debounce": "^4.0.8", "resolve": "^1.14.2", "semver": "^6.1.2" - }, - "dependencies": { - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true - } + } + }, + "@babel/helper-environment-visitor": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.16.7.tgz", + "integrity": "sha512-SLLb0AAn6PkUeAfKJCCOl9e1R53pQlGAfc4y4XuMRZfqeMYLE0dM1LMhqbGAlGQY0lfw5/ohoYWAe9V1yibRag==", + "dev": true, + "requires": { + "@babel/types": "^7.16.7" } }, "@babel/helper-explode-assignable-expression": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.14.5.tgz", - "integrity": "sha512-Htb24gnGJdIGT4vnRKMdoXiOIlqOLmdiUYpAQ0mYfgVT/GDm8GOYhgi4GL+hMKrkiPRohO4ts34ELFsGAPQLDQ==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.16.7.tgz", + "integrity": "sha512-KyUenhWMC8VrxzkGP0Jizjo4/Zx+1nNZhgocs+gLzyZyB8SHidhoq9KK/8Ato4anhwsivfkBLftky7gvzbZMtQ==", "dev": true, "requires": { - "@babel/types": "^7.14.5" + "@babel/types": "^7.16.7" } }, "@babel/helper-function-name": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.14.5.tgz", - "integrity": "sha512-Gjna0AsXWfFvrAuX+VKcN/aNNWonizBj39yGwUzVDVTlMYJMK2Wp6xdpy72mfArFq5uK+NOuexfzZlzI1z9+AQ==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.16.7.tgz", + "integrity": "sha512-QfDfEnIUyyBSR3HtrtGECuZ6DAyCkYFp7GHl75vFtTnn6pjKeK0T1DB5lLkFvBea8MdaiUABx3osbgLyInoejA==", "dev": true, "requires": { - "@babel/helper-get-function-arity": "^7.14.5", - "@babel/template": "^7.14.5", - "@babel/types": "^7.14.5" + "@babel/helper-get-function-arity": "^7.16.7", + "@babel/template": "^7.16.7", + "@babel/types": "^7.16.7" } }, "@babel/helper-get-function-arity": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.14.5.tgz", - "integrity": "sha512-I1Db4Shst5lewOM4V+ZKJzQ0JGGaZ6VY1jYvMghRjqs6DWgxLCIyFt30GlnKkfUeFLpJt2vzbMVEXVSXlIFYUg==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.16.7.tgz", + "integrity": "sha512-flc+RLSOBXzNzVhcLu6ujeHUrD6tANAOU5ojrRx/as+tbzf8+stUCj7+IfRRoAbEZqj/ahXEMsjhOhgeZsrnTw==", "dev": true, "requires": { - "@babel/types": "^7.14.5" + "@babel/types": "^7.16.7" } }, "@babel/helper-hoist-variables": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.14.5.tgz", - "integrity": "sha512-R1PXiz31Uc0Vxy4OEOm07x0oSjKAdPPCh3tPivn/Eo8cvz6gveAeuyUUPB21Hoiif0uoPQSSdhIPS3352nvdyQ==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.16.7.tgz", + "integrity": "sha512-m04d/0Op34H5v7pbZw6pSKP7weA6lsMvfiIAMeIvkY/R4xQtBSMFEigu9QTZ2qB/9l22vsxtM8a+Q8CzD255fg==", "dev": true, "requires": { - "@babel/types": "^7.14.5" + "@babel/types": "^7.16.7" } }, "@babel/helper-member-expression-to-functions": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.14.5.tgz", - "integrity": "sha512-UxUeEYPrqH1Q/k0yRku1JE7dyfyehNwT6SVkMHvYvPDv4+uu627VXBckVj891BO8ruKBkiDoGnZf4qPDD8abDQ==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.16.7.tgz", + "integrity": "sha512-VtJ/65tYiU/6AbMTDwyoXGPKHgTsfRarivm+YbB5uAzKUyuPjgZSgAFeG87FCigc7KNHu2Pegh1XIT3lXjvz3Q==", "dev": true, "requires": { - "@babel/types": "^7.14.5" + "@babel/types": "^7.16.7" } }, "@babel/helper-module-imports": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.14.5.tgz", - "integrity": "sha512-SwrNHu5QWS84XlHwGYPDtCxcA0hrSlL2yhWYLgeOc0w7ccOl2qv4s/nARI0aYZW+bSwAL5CukeXA47B/1NKcnQ==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.16.7.tgz", + "integrity": "sha512-LVtS6TqjJHFc+nYeITRo6VLXve70xmq7wPhWTqDJusJEgGmkAACWwMiTNrvfoQo6hEhFwAIixNkvB0jPXDL8Wg==", "dev": true, "requires": { - "@babel/types": "^7.14.5" + "@babel/types": "^7.16.7" } }, "@babel/helper-module-transforms": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.14.5.tgz", - "integrity": "sha512-iXpX4KW8LVODuAieD7MzhNjmM6dzYY5tfRqT+R9HDXWl0jPn/djKmA+G9s/2C2T9zggw5tK1QNqZ70USfedOwA==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.16.7.tgz", + "integrity": "sha512-gaqtLDxJEFCeQbYp9aLAefjhkKdjKcdh6DB7jniIGU3Pz52WAmP268zK0VgPz9hUNkMSYeH976K2/Y6yPadpng==", "dev": true, "requires": { - "@babel/helper-module-imports": "^7.14.5", - "@babel/helper-replace-supers": "^7.14.5", - "@babel/helper-simple-access": "^7.14.5", - "@babel/helper-split-export-declaration": "^7.14.5", - "@babel/helper-validator-identifier": "^7.14.5", - "@babel/template": "^7.14.5", - "@babel/traverse": "^7.14.5", - "@babel/types": "^7.14.5" + "@babel/helper-environment-visitor": "^7.16.7", + "@babel/helper-module-imports": "^7.16.7", + "@babel/helper-simple-access": "^7.16.7", + "@babel/helper-split-export-declaration": "^7.16.7", + "@babel/helper-validator-identifier": "^7.16.7", + "@babel/template": "^7.16.7", + "@babel/traverse": "^7.16.7", + "@babel/types": "^7.16.7" } }, "@babel/helper-optimise-call-expression": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.14.5.tgz", - "integrity": "sha512-IqiLIrODUOdnPU9/F8ib1Fx2ohlgDhxnIDU7OEVi+kAbEZcyiF7BLU8W6PfvPi9LzztjS7kcbzbmL7oG8kD6VA==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.16.7.tgz", + "integrity": "sha512-EtgBhg7rd/JcnpZFXpBy0ze1YRfdm7BnBX4uKMBd3ixa3RGAE002JZB66FJyNH7g0F38U05pXmA5P8cBh7z+1w==", "dev": true, "requires": { - "@babel/types": "^7.14.5" + "@babel/types": "^7.16.7" } }, "@babel/helper-plugin-utils": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.14.5.tgz", - "integrity": "sha512-/37qQCE3K0vvZKwoK4XU/irIJQdIfCJuhU5eKnNxpFDsOkgFaUAwbv+RYw6eYgsC0E4hS7r5KqGULUogqui0fQ==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.16.7.tgz", + "integrity": "sha512-Qg3Nk7ZxpgMrsox6HreY1ZNKdBq7K72tDSliA6dCl5f007jR4ne8iD5UzuNnCJH2xBf2BEEVGr+/OL6Gdp7RxA==", "dev": true }, "@babel/helper-remap-async-to-generator": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.14.5.tgz", - "integrity": "sha512-rLQKdQU+HYlxBwQIj8dk4/0ENOUEhA/Z0l4hN8BexpvmSMN9oA9EagjnhnDpNsRdWCfjwa4mn/HyBXO9yhQP6A==", + "version": "7.16.8", + "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.16.8.tgz", + "integrity": "sha512-fm0gH7Flb8H51LqJHy3HJ3wnE1+qtYR2A99K06ahwrawLdOFsCEWjZOrYricXJHoPSudNKxrMBUPEIPxiIIvBw==", "dev": true, "requires": { - "@babel/helper-annotate-as-pure": "^7.14.5", - "@babel/helper-wrap-function": "^7.14.5", - "@babel/types": "^7.14.5" + "@babel/helper-annotate-as-pure": "^7.16.7", + "@babel/helper-wrap-function": "^7.16.8", + "@babel/types": "^7.16.8" } }, "@babel/helper-replace-supers": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.14.5.tgz", - "integrity": "sha512-3i1Qe9/8x/hCHINujn+iuHy+mMRLoc77b2nI9TB0zjH1hvn9qGlXjWlggdwUcju36PkPCy/lpM7LLUdcTyH4Ow==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.16.7.tgz", + "integrity": "sha512-y9vsWilTNaVnVh6xiJfABzsNpgDPKev9HnAgz6Gb1p6UUwf9NepdlsV7VXGCftJM+jqD5f7JIEubcpLjZj5dBw==", "dev": true, "requires": { - "@babel/helper-member-expression-to-functions": "^7.14.5", - "@babel/helper-optimise-call-expression": "^7.14.5", - "@babel/traverse": "^7.14.5", - "@babel/types": "^7.14.5" + "@babel/helper-environment-visitor": "^7.16.7", + "@babel/helper-member-expression-to-functions": "^7.16.7", + "@babel/helper-optimise-call-expression": "^7.16.7", + "@babel/traverse": "^7.16.7", + "@babel/types": "^7.16.7" } }, "@babel/helper-simple-access": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.14.5.tgz", - "integrity": "sha512-nfBN9xvmCt6nrMZjfhkl7i0oTV3yxR4/FztsbOASyTvVcoYd0TRHh7eMLdlEcCqobydC0LAF3LtC92Iwxo0wyw==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.16.7.tgz", + "integrity": "sha512-ZIzHVyoeLMvXMN/vok/a4LWRy8G2v205mNP0XOuf9XRLyX5/u9CnVulUtDgUTama3lT+bf/UqucuZjqiGuTS1g==", "dev": true, "requires": { - "@babel/types": "^7.14.5" + "@babel/types": "^7.16.7" } }, "@babel/helper-skip-transparent-expression-wrappers": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.14.5.tgz", - "integrity": "sha512-dmqZB7mrb94PZSAOYtr+ZN5qt5owZIAgqtoTuqiFbHFtxgEcmQlRJVI+bO++fciBunXtB6MK7HrzrfcAzIz2NQ==", + "version": "7.16.0", + "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.16.0.tgz", + "integrity": "sha512-+il1gTy0oHwUsBQZyJvukbB4vPMdcYBrFHa0Uc4AizLxbq6BOYC51Rv4tWocX9BLBDLZ4kc6qUFpQ6HRgL+3zw==", "dev": true, "requires": { - "@babel/types": "^7.14.5" + "@babel/types": "^7.16.0" } }, "@babel/helper-split-export-declaration": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.14.5.tgz", - "integrity": "sha512-hprxVPu6e5Kdp2puZUmvOGjaLv9TCe58E/Fl6hRq4YiVQxIcNvuq6uTM2r1mT/oPskuS9CgR+I94sqAYv0NGKA==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.16.7.tgz", + "integrity": "sha512-xbWoy/PFoxSWazIToT9Sif+jJTlrMcndIsaOKvTA6u7QEo7ilkRZpjew18/W3c7nm8fXdUDXh02VXTbZ0pGDNw==", "dev": true, "requires": { - "@babel/types": "^7.14.5" + "@babel/types": "^7.16.7" } }, "@babel/helper-validator-identifier": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.14.5.tgz", - "integrity": "sha512-5lsetuxCLilmVGyiLEfoHBRX8UCFD+1m2x3Rj97WrW3V7H3u4RWRXA4evMjImCsin2J2YT0QaVDGf+z8ondbAg==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.16.7.tgz", + "integrity": "sha512-hsEnFemeiW4D08A5gUAZxLBTXpZ39P+a+DGDsHw1yxqyQ/jzFEnxf5uTEGp+3bzAbNOxU1paTgYS4ECU/IgfDw==", "dev": true }, "@babel/helper-validator-option": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.14.5.tgz", - "integrity": "sha512-OX8D5eeX4XwcroVW45NMvoYaIuFI+GQpA2a8Gi+X/U/cDUIRsV37qQfF905F0htTRCREQIB4KqPeaveRJUl3Ow==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.16.7.tgz", + "integrity": "sha512-TRtenOuRUVo9oIQGPC5G9DgK4743cdxvtOw0weQNpZXaS16SCBi5MNjZF8vba3ETURjZpTbVn7Vvcf2eAwFozQ==", "dev": true }, "@babel/helper-wrap-function": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.14.5.tgz", - "integrity": "sha512-YEdjTCq+LNuNS1WfxsDCNpgXkJaIyqco6DAelTUjT4f2KIWC1nBcaCaSdHTBqQVLnTBexBcVcFhLSU1KnYuePQ==", + "version": "7.16.8", + "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.16.8.tgz", + "integrity": "sha512-8RpyRVIAW1RcDDGTA+GpPAwV22wXCfKOoM9bet6TLkGIFTkRQSkH1nMQ5Yet4MpoXe1ZwHPVtNasc2w0uZMqnw==", "dev": true, "requires": { - "@babel/helper-function-name": "^7.14.5", - "@babel/template": "^7.14.5", - "@babel/traverse": "^7.14.5", - "@babel/types": "^7.14.5" + "@babel/helper-function-name": "^7.16.7", + "@babel/template": "^7.16.7", + "@babel/traverse": "^7.16.8", + "@babel/types": "^7.16.8" } }, "@babel/helpers": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.14.5.tgz", - "integrity": "sha512-xtcWOuN9VL6nApgVHtq3PPcQv5qFBJzoSZzJ/2c0QK/IP/gxVcoWSNQwFEGvmbQsuS9rhYqjILDGGXcTkA705Q==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.16.7.tgz", + "integrity": "sha512-9ZDoqtfY7AuEOt3cxchfii6C7GDyyMBffktR5B2jvWv8u2+efwvpnVKXMWzNehqy68tKgAfSwfdw/lWpthS2bw==", "dev": true, "requires": { - "@babel/template": "^7.14.5", - "@babel/traverse": "^7.14.5", - "@babel/types": "^7.14.5" + "@babel/template": "^7.16.7", + "@babel/traverse": "^7.16.7", + "@babel/types": "^7.16.7" } }, "@babel/highlight": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.14.5.tgz", - "integrity": "sha512-qf9u2WFWVV0MppaL877j2dBtQIDgmidgjGk5VIMw3OadXvYaXn66U1BFlH2t4+t3i+8PhedppRv+i40ABzd+gg==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.16.7.tgz", + "integrity": "sha512-aKpPMfLvGO3Q97V0qhw/V2SWNWlwfJknuwAunU7wZLSfrM4xTBvg7E5opUVi1kJTBKihE38CPg4nBiqX83PWYw==", "dev": true, "requires": { - "@babel/helper-validator-identifier": "^7.14.5", + "@babel/helper-validator-identifier": "^7.16.7", "chalk": "^2.0.0", "js-tokens": "^4.0.0" } }, "@babel/parser": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.14.5.tgz", - "integrity": "sha512-TM8C+xtH/9n1qzX+JNHi7AN2zHMTiPUtspO0ZdHflW8KaskkALhMmuMHb4bCmNdv9VAPzJX3/bXqkVLnAvsPfg==", + "version": "7.16.8", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.16.8.tgz", + "integrity": "sha512-i7jDUfrVBWc+7OKcBzEe5n7fbv3i2fWtxKzzCvOjnzSxMfWMigAhtfJ7qzZNGFNMsCCd67+uz553dYKWXPvCKw==", "dev": true }, + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.16.7.tgz", + "integrity": "sha512-anv/DObl7waiGEnC24O9zqL0pSuI9hljihqiDuFHC8d7/bjr/4RLGPWuc8rYOff/QPzbEPSkzG8wGG9aDuhHRg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.16.7" + } + }, "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.14.5.tgz", - "integrity": "sha512-ZoJS2XCKPBfTmL122iP6NM9dOg+d4lc9fFk3zxc8iDjvt8Pk4+TlsHSKhIPf6X+L5ORCdBzqMZDjL/WHj7WknQ==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.16.7.tgz", + "integrity": "sha512-di8vUHRdf+4aJ7ltXhaDbPoszdkh59AQtJM5soLsuHpQJdFQZOA4uGj0V2u/CZ8bJ/u8ULDL5yq6FO/bCXnKHw==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.14.5", - "@babel/helper-skip-transparent-expression-wrappers": "^7.14.5", - "@babel/plugin-proposal-optional-chaining": "^7.14.5" + "@babel/helper-plugin-utils": "^7.16.7", + "@babel/helper-skip-transparent-expression-wrappers": "^7.16.0", + "@babel/plugin-proposal-optional-chaining": "^7.16.7" } }, "@babel/plugin-proposal-async-generator-functions": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.14.5.tgz", - "integrity": "sha512-tbD/CG3l43FIXxmu4a7RBe4zH7MLJ+S/lFowPFO7HetS2hyOZ/0nnnznegDuzFzfkyQYTxqdTH/hKmuBngaDAA==", + "version": "7.16.8", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.16.8.tgz", + "integrity": "sha512-71YHIvMuiuqWJQkebWJtdhQTfd4Q4mF76q2IX37uZPkG9+olBxsX+rH1vkhFto4UeJZ9dPY2s+mDvhDm1u2BGQ==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.14.5", - "@babel/helper-remap-async-to-generator": "^7.14.5", + "@babel/helper-plugin-utils": "^7.16.7", + "@babel/helper-remap-async-to-generator": "^7.16.8", "@babel/plugin-syntax-async-generators": "^7.8.4" } }, "@babel/plugin-proposal-class-properties": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.14.5.tgz", - "integrity": "sha512-q/PLpv5Ko4dVc1LYMpCY7RVAAO4uk55qPwrIuJ5QJ8c6cVuAmhu7I/49JOppXL6gXf7ZHzpRVEUZdYoPLM04Gg==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.16.7.tgz", + "integrity": "sha512-IobU0Xme31ewjYOShSIqd/ZGM/r/cuOz2z0MDbNrhF5FW+ZVgi0f2lyeoj9KFPDOAqsYxmLWZte1WOwlvY9aww==", "dev": true, "requires": { - "@babel/helper-create-class-features-plugin": "^7.14.5", - "@babel/helper-plugin-utils": "^7.14.5" + "@babel/helper-create-class-features-plugin": "^7.16.7", + "@babel/helper-plugin-utils": "^7.16.7" } }, "@babel/plugin-proposal-class-static-block": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-static-block/-/plugin-proposal-class-static-block-7.14.5.tgz", - "integrity": "sha512-KBAH5ksEnYHCegqseI5N9skTdxgJdmDoAOc0uXa+4QMYKeZD0w5IARh4FMlTNtaHhbB8v+KzMdTgxMMzsIy6Yg==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-static-block/-/plugin-proposal-class-static-block-7.16.7.tgz", + "integrity": "sha512-dgqJJrcZoG/4CkMopzhPJjGxsIe9A8RlkQLnL/Vhhx8AA9ZuaRwGSlscSh42hazc7WSrya/IK7mTeoF0DP9tEw==", "dev": true, "requires": { - "@babel/helper-create-class-features-plugin": "^7.14.5", - "@babel/helper-plugin-utils": "^7.14.5", + "@babel/helper-create-class-features-plugin": "^7.16.7", + "@babel/helper-plugin-utils": "^7.16.7", "@babel/plugin-syntax-class-static-block": "^7.14.5" } }, "@babel/plugin-proposal-dynamic-import": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.14.5.tgz", - "integrity": "sha512-ExjiNYc3HDN5PXJx+bwC50GIx/KKanX2HiggnIUAYedbARdImiCU4RhhHfdf0Kd7JNXGpsBBBCOm+bBVy3Gb0g==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.16.7.tgz", + "integrity": "sha512-I8SW9Ho3/8DRSdmDdH3gORdyUuYnk1m4cMxUAdu5oy4n3OfN8flDEH+d60iG7dUfi0KkYwSvoalHzzdRzpWHTg==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.14.5", + "@babel/helper-plugin-utils": "^7.16.7", "@babel/plugin-syntax-dynamic-import": "^7.8.3" } }, "@babel/plugin-proposal-export-namespace-from": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.14.5.tgz", - "integrity": "sha512-g5POA32bXPMmSBu5Dx/iZGLGnKmKPc5AiY7qfZgurzrCYgIztDlHFbznSNCoQuv57YQLnQfaDi7dxCtLDIdXdA==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.16.7.tgz", + "integrity": "sha512-ZxdtqDXLRGBL64ocZcs7ovt71L3jhC1RGSyR996svrCi3PYqHNkb3SwPJCs8RIzD86s+WPpt2S73+EHCGO+NUA==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.14.5", + "@babel/helper-plugin-utils": "^7.16.7", "@babel/plugin-syntax-export-namespace-from": "^7.8.3" } }, "@babel/plugin-proposal-json-strings": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.14.5.tgz", - "integrity": "sha512-NSq2fczJYKVRIsUJyNxrVUMhB27zb7N7pOFGQOhBKJrChbGcgEAqyZrmZswkPk18VMurEeJAaICbfm57vUeTbQ==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.16.7.tgz", + "integrity": "sha512-lNZ3EEggsGY78JavgbHsK9u5P3pQaW7k4axlgFLYkMd7UBsiNahCITShLjNQschPyjtO6dADrL24757IdhBrsQ==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.14.5", + "@babel/helper-plugin-utils": "^7.16.7", "@babel/plugin-syntax-json-strings": "^7.8.3" } }, "@babel/plugin-proposal-logical-assignment-operators": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.14.5.tgz", - "integrity": "sha512-YGn2AvZAo9TwyhlLvCCWxD90Xq8xJ4aSgaX3G5D/8DW94L8aaT+dS5cSP+Z06+rCJERGSr9GxMBZ601xoc2taw==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.16.7.tgz", + "integrity": "sha512-K3XzyZJGQCr00+EtYtrDjmwX7o7PLK6U9bi1nCwkQioRFVUv6dJoxbQjtWVtP+bCPy82bONBKG8NPyQ4+i6yjg==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.14.5", + "@babel/helper-plugin-utils": "^7.16.7", "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4" } }, "@babel/plugin-proposal-nullish-coalescing-operator": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.14.5.tgz", - "integrity": "sha512-gun/SOnMqjSb98Nkaq2rTKMwervfdAoz6NphdY0vTfuzMfryj+tDGb2n6UkDKwez+Y8PZDhE3D143v6Gepp4Hg==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.16.7.tgz", + "integrity": "sha512-aUOrYU3EVtjf62jQrCj63pYZ7k6vns2h/DQvHPWGmsJRYzWXZ6/AsfgpiRy6XiuIDADhJzP2Q9MwSMKauBQ+UQ==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.14.5", + "@babel/helper-plugin-utils": "^7.16.7", "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3" } }, "@babel/plugin-proposal-numeric-separator": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.14.5.tgz", - "integrity": "sha512-yiclALKe0vyZRZE0pS6RXgjUOt87GWv6FYa5zqj15PvhOGFO69R5DusPlgK/1K5dVnCtegTiWu9UaBSrLLJJBg==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.16.7.tgz", + "integrity": "sha512-vQgPMknOIgiuVqbokToyXbkY/OmmjAzr/0lhSIbG/KmnzXPGwW/AdhdKpi+O4X/VkWiWjnkKOBiqJrTaC98VKw==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.14.5", + "@babel/helper-plugin-utils": "^7.16.7", "@babel/plugin-syntax-numeric-separator": "^7.10.4" } }, "@babel/plugin-proposal-object-rest-spread": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.14.5.tgz", - "integrity": "sha512-VzMyY6PWNPPT3pxc5hi9LloKNr4SSrVCg7Yr6aZpW4Ym07r7KqSU/QXYwjXLVxqwSv0t/XSXkFoKBPUkZ8vb2A==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.16.7.tgz", + "integrity": "sha512-3O0Y4+dw94HA86qSg9IHfyPktgR7q3gpNVAeiKQd+8jBKFaU5NQS1Yatgo4wY+UFNuLjvxcSmzcsHqrhgTyBUA==", "dev": true, "requires": { - "@babel/compat-data": "^7.14.5", - "@babel/helper-compilation-targets": "^7.14.5", - "@babel/helper-plugin-utils": "^7.14.5", + "@babel/compat-data": "^7.16.4", + "@babel/helper-compilation-targets": "^7.16.7", + "@babel/helper-plugin-utils": "^7.16.7", "@babel/plugin-syntax-object-rest-spread": "^7.8.3", - "@babel/plugin-transform-parameters": "^7.14.5" + "@babel/plugin-transform-parameters": "^7.16.7" } }, "@babel/plugin-proposal-optional-catch-binding": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.14.5.tgz", - "integrity": "sha512-3Oyiixm0ur7bzO5ybNcZFlmVsygSIQgdOa7cTfOYCMY+wEPAYhZAJxi3mixKFCTCKUhQXuCTtQ1MzrpL3WT8ZQ==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.16.7.tgz", + "integrity": "sha512-eMOH/L4OvWSZAE1VkHbr1vckLG1WUcHGJSLqqQwl2GaUqG6QjddvrOaTUMNYiv77H5IKPMZ9U9P7EaHwvAShfA==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.14.5", + "@babel/helper-plugin-utils": "^7.16.7", "@babel/plugin-syntax-optional-catch-binding": "^7.8.3" } }, "@babel/plugin-proposal-optional-chaining": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.14.5.tgz", - "integrity": "sha512-ycz+VOzo2UbWNI1rQXxIuMOzrDdHGrI23fRiz/Si2R4kv2XZQ1BK8ccdHwehMKBlcH/joGW/tzrUmo67gbJHlQ==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.16.7.tgz", + "integrity": "sha512-eC3xy+ZrUcBtP7x+sq62Q/HYd674pPTb/77XZMb5wbDPGWIdUbSr4Agr052+zaUPSb+gGRnjxXfKFvx5iMJ+DA==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.14.5", - "@babel/helper-skip-transparent-expression-wrappers": "^7.14.5", + "@babel/helper-plugin-utils": "^7.16.7", + "@babel/helper-skip-transparent-expression-wrappers": "^7.16.0", "@babel/plugin-syntax-optional-chaining": "^7.8.3" } }, "@babel/plugin-proposal-private-methods": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.14.5.tgz", - "integrity": "sha512-838DkdUA1u+QTCplatfq4B7+1lnDa/+QMI89x5WZHBcnNv+47N8QEj2k9I2MUU9xIv8XJ4XvPCviM/Dj7Uwt9g==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.16.7.tgz", + "integrity": "sha512-7twV3pzhrRxSwHeIvFE6coPgvo+exNDOiGUMg39o2LiLo1Y+4aKpfkcLGcg1UHonzorCt7SNXnoMyCnnIOA8Sw==", "dev": true, "requires": { - "@babel/helper-create-class-features-plugin": "^7.14.5", - "@babel/helper-plugin-utils": "^7.14.5" + "@babel/helper-create-class-features-plugin": "^7.16.7", + "@babel/helper-plugin-utils": "^7.16.7" } }, "@babel/plugin-proposal-private-property-in-object": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.14.5.tgz", - "integrity": "sha512-62EyfyA3WA0mZiF2e2IV9mc9Ghwxcg8YTu8BS4Wss4Y3PY725OmS9M0qLORbJwLqFtGh+jiE4wAmocK2CTUK2Q==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.16.7.tgz", + "integrity": "sha512-rMQkjcOFbm+ufe3bTZLyOfsOUOxyvLXZJCTARhJr+8UMSoZmqTe1K1BgkFcrW37rAchWg57yI69ORxiWvUINuQ==", "dev": true, "requires": { - "@babel/helper-annotate-as-pure": "^7.14.5", - "@babel/helper-create-class-features-plugin": "^7.14.5", - "@babel/helper-plugin-utils": "^7.14.5", + "@babel/helper-annotate-as-pure": "^7.16.7", + "@babel/helper-create-class-features-plugin": "^7.16.7", + "@babel/helper-plugin-utils": "^7.16.7", "@babel/plugin-syntax-private-property-in-object": "^7.14.5" } }, "@babel/plugin-proposal-unicode-property-regex": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.14.5.tgz", - "integrity": "sha512-6axIeOU5LnY471KenAB9vI8I5j7NQ2d652hIYwVyRfgaZT5UpiqFKCuVXCDMSrU+3VFafnu2c5m3lrWIlr6A5Q==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.16.7.tgz", + "integrity": "sha512-QRK0YI/40VLhNVGIjRNAAQkEHws0cswSdFFjpFyt943YmJIU1da9uW63Iu6NFV6CxTZW5eTDCrwZUstBWgp/Rg==", "dev": true, "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.14.5", - "@babel/helper-plugin-utils": "^7.14.5" + "@babel/helper-create-regexp-features-plugin": "^7.16.7", + "@babel/helper-plugin-utils": "^7.16.7" } }, "@babel/plugin-syntax-async-generators": { @@ -5488,343 +5624,346 @@ } }, "@babel/plugin-transform-arrow-functions": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.14.5.tgz", - "integrity": "sha512-KOnO0l4+tD5IfOdi4x8C1XmEIRWUjNRV8wc6K2vz/3e8yAOoZZvsRXRRIF/yo/MAOFb4QjtAw9xSxMXbSMRy8A==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.16.7.tgz", + "integrity": "sha512-9ffkFFMbvzTvv+7dTp/66xvZAWASuPD5Tl9LK3Z9vhOmANo6j94rik+5YMBt4CwHVMWLWpMsriIc2zsa3WW3xQ==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.14.5" + "@babel/helper-plugin-utils": "^7.16.7" } }, "@babel/plugin-transform-async-to-generator": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.14.5.tgz", - "integrity": "sha512-szkbzQ0mNk0rpu76fzDdqSyPu0MuvpXgC+6rz5rpMb5OIRxdmHfQxrktL8CYolL2d8luMCZTR0DpIMIdL27IjA==", + "version": "7.16.8", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.16.8.tgz", + "integrity": "sha512-MtmUmTJQHCnyJVrScNzNlofQJ3dLFuobYn3mwOTKHnSCMtbNsqvF71GQmJfFjdrXSsAA7iysFmYWw4bXZ20hOg==", "dev": true, "requires": { - "@babel/helper-module-imports": "^7.14.5", - "@babel/helper-plugin-utils": "^7.14.5", - "@babel/helper-remap-async-to-generator": "^7.14.5" + "@babel/helper-module-imports": "^7.16.7", + "@babel/helper-plugin-utils": "^7.16.7", + "@babel/helper-remap-async-to-generator": "^7.16.8" } }, "@babel/plugin-transform-block-scoped-functions": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.14.5.tgz", - "integrity": "sha512-dtqWqdWZ5NqBX3KzsVCWfQI3A53Ft5pWFCT2eCVUftWZgjc5DpDponbIF1+c+7cSGk2wN0YK7HGL/ezfRbpKBQ==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.16.7.tgz", + "integrity": "sha512-JUuzlzmF40Z9cXyytcbZEZKckgrQzChbQJw/5PuEHYeqzCsvebDx0K0jWnIIVcmmDOAVctCgnYs0pMcrYj2zJg==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.14.5" + "@babel/helper-plugin-utils": "^7.16.7" } }, "@babel/plugin-transform-block-scoping": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.14.5.tgz", - "integrity": "sha512-LBYm4ZocNgoCqyxMLoOnwpsmQ18HWTQvql64t3GvMUzLQrNoV1BDG0lNftC8QKYERkZgCCT/7J5xWGObGAyHDw==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.16.7.tgz", + "integrity": "sha512-ObZev2nxVAYA4bhyusELdo9hb3H+A56bxH3FZMbEImZFiEDYVHXQSJ1hQKFlDnlt8G9bBrCZ5ZpURZUrV4G5qQ==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.14.5" + "@babel/helper-plugin-utils": "^7.16.7" } }, "@babel/plugin-transform-classes": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.14.5.tgz", - "integrity": "sha512-J4VxKAMykM06K/64z9rwiL6xnBHgB1+FVspqvlgCdwD1KUbQNfszeKVVOMh59w3sztHYIZDgnhOC4WbdEfHFDA==", - "dev": true, - "requires": { - "@babel/helper-annotate-as-pure": "^7.14.5", - "@babel/helper-function-name": "^7.14.5", - "@babel/helper-optimise-call-expression": "^7.14.5", - "@babel/helper-plugin-utils": "^7.14.5", - "@babel/helper-replace-supers": "^7.14.5", - "@babel/helper-split-export-declaration": "^7.14.5", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.16.7.tgz", + "integrity": "sha512-WY7og38SFAGYRe64BrjKf8OrE6ulEHtr5jEYaZMwox9KebgqPi67Zqz8K53EKk1fFEJgm96r32rkKZ3qA2nCWQ==", + "dev": true, + "requires": { + "@babel/helper-annotate-as-pure": "^7.16.7", + "@babel/helper-environment-visitor": "^7.16.7", + "@babel/helper-function-name": "^7.16.7", + "@babel/helper-optimise-call-expression": "^7.16.7", + "@babel/helper-plugin-utils": "^7.16.7", + "@babel/helper-replace-supers": "^7.16.7", + "@babel/helper-split-export-declaration": "^7.16.7", "globals": "^11.1.0" } }, "@babel/plugin-transform-computed-properties": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.14.5.tgz", - "integrity": "sha512-pWM+E4283UxaVzLb8UBXv4EIxMovU4zxT1OPnpHJcmnvyY9QbPPTKZfEj31EUvG3/EQRbYAGaYEUZ4yWOBC2xg==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.16.7.tgz", + "integrity": "sha512-gN72G9bcmenVILj//sv1zLNaPyYcOzUho2lIJBMh/iakJ9ygCo/hEF9cpGb61SCMEDxbbyBoVQxrt+bWKu5KGw==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.14.5" + "@babel/helper-plugin-utils": "^7.16.7" } }, "@babel/plugin-transform-destructuring": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.14.5.tgz", - "integrity": "sha512-wU9tYisEbRMxqDezKUqC9GleLycCRoUsai9ddlsq54r8QRLaeEhc+d+9DqCG+kV9W2GgQjTZESPTpn5bAFMDww==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.16.7.tgz", + "integrity": "sha512-VqAwhTHBnu5xBVDCvrvqJbtLUa++qZaWC0Fgr2mqokBlulZARGyIvZDoqbPlPaKImQ9dKAcCzbv+ul//uqu70A==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.14.5" + "@babel/helper-plugin-utils": "^7.16.7" } }, "@babel/plugin-transform-dotall-regex": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.14.5.tgz", - "integrity": "sha512-loGlnBdj02MDsFaHhAIJzh7euK89lBrGIdM9EAtHFo6xKygCUGuuWe07o1oZVk287amtW1n0808sQM99aZt3gw==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.16.7.tgz", + "integrity": "sha512-Lyttaao2SjZF6Pf4vk1dVKv8YypMpomAbygW+mU5cYP3S5cWTfCJjG8xV6CFdzGFlfWK81IjL9viiTvpb6G7gQ==", "dev": true, "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.14.5", - "@babel/helper-plugin-utils": "^7.14.5" + "@babel/helper-create-regexp-features-plugin": "^7.16.7", + "@babel/helper-plugin-utils": "^7.16.7" } }, "@babel/plugin-transform-duplicate-keys": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.14.5.tgz", - "integrity": "sha512-iJjbI53huKbPDAsJ8EmVmvCKeeq21bAze4fu9GBQtSLqfvzj2oRuHVx4ZkDwEhg1htQ+5OBZh/Ab0XDf5iBZ7A==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.16.7.tgz", + "integrity": "sha512-03DvpbRfvWIXyK0/6QiR1KMTWeT6OcQ7tbhjrXyFS02kjuX/mu5Bvnh5SDSWHxyawit2g5aWhKwI86EE7GUnTw==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.14.5" + "@babel/helper-plugin-utils": "^7.16.7" } }, "@babel/plugin-transform-exponentiation-operator": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.14.5.tgz", - "integrity": "sha512-jFazJhMBc9D27o9jDnIE5ZErI0R0m7PbKXVq77FFvqFbzvTMuv8jaAwLZ5PviOLSFttqKIW0/wxNSDbjLk0tYA==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.16.7.tgz", + "integrity": "sha512-8UYLSlyLgRixQvlYH3J2ekXFHDFLQutdy7FfFAMm3CPZ6q9wHCwnUyiXpQCe3gVVnQlHc5nsuiEVziteRNTXEA==", "dev": true, "requires": { - "@babel/helper-builder-binary-assignment-operator-visitor": "^7.14.5", - "@babel/helper-plugin-utils": "^7.14.5" + "@babel/helper-builder-binary-assignment-operator-visitor": "^7.16.7", + "@babel/helper-plugin-utils": "^7.16.7" } }, "@babel/plugin-transform-for-of": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.14.5.tgz", - "integrity": "sha512-CfmqxSUZzBl0rSjpoQSFoR9UEj3HzbGuGNL21/iFTmjb5gFggJp3ph0xR1YBhexmLoKRHzgxuFvty2xdSt6gTA==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.16.7.tgz", + "integrity": "sha512-/QZm9W92Ptpw7sjI9Nx1mbcsWz33+l8kuMIQnDwgQBG5s3fAfQvkRjQ7NqXhtNcKOnPkdICmUHyCaWW06HCsqg==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.14.5" + "@babel/helper-plugin-utils": "^7.16.7" } }, "@babel/plugin-transform-function-name": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.14.5.tgz", - "integrity": "sha512-vbO6kv0fIzZ1GpmGQuvbwwm+O4Cbm2NrPzwlup9+/3fdkuzo1YqOZcXw26+YUJB84Ja7j9yURWposEHLYwxUfQ==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.16.7.tgz", + "integrity": "sha512-SU/C68YVwTRxqWj5kgsbKINakGag0KTgq9f2iZEXdStoAbOzLHEBRYzImmA6yFo8YZhJVflvXmIHUO7GWHmxxA==", "dev": true, "requires": { - "@babel/helper-function-name": "^7.14.5", - "@babel/helper-plugin-utils": "^7.14.5" + "@babel/helper-compilation-targets": "^7.16.7", + "@babel/helper-function-name": "^7.16.7", + "@babel/helper-plugin-utils": "^7.16.7" } }, "@babel/plugin-transform-literals": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.14.5.tgz", - "integrity": "sha512-ql33+epql2F49bi8aHXxvLURHkxJbSmMKl9J5yHqg4PLtdE6Uc48CH1GS6TQvZ86eoB/ApZXwm7jlA+B3kra7A==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.16.7.tgz", + "integrity": "sha512-6tH8RTpTWI0s2sV6uq3e/C9wPo4PTqqZps4uF0kzQ9/xPLFQtipynvmT1g/dOfEJ+0EQsHhkQ/zyRId8J2b8zQ==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.14.5" + "@babel/helper-plugin-utils": "^7.16.7" } }, "@babel/plugin-transform-member-expression-literals": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.14.5.tgz", - "integrity": "sha512-WkNXxH1VXVTKarWFqmso83xl+2V3Eo28YY5utIkbsmXoItO8Q3aZxN4BTS2k0hz9dGUloHK26mJMyQEYfkn/+Q==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.16.7.tgz", + "integrity": "sha512-mBruRMbktKQwbxaJof32LT9KLy2f3gH+27a5XSuXo6h7R3vqltl0PgZ80C8ZMKw98Bf8bqt6BEVi3svOh2PzMw==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.14.5" + "@babel/helper-plugin-utils": "^7.16.7" } }, "@babel/plugin-transform-modules-amd": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.14.5.tgz", - "integrity": "sha512-3lpOU8Vxmp3roC4vzFpSdEpGUWSMsHFreTWOMMLzel2gNGfHE5UWIh/LN6ghHs2xurUp4jRFYMUIZhuFbody1g==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.16.7.tgz", + "integrity": "sha512-KaaEtgBL7FKYwjJ/teH63oAmE3lP34N3kshz8mm4VMAw7U3PxjVwwUmxEFksbgsNUaO3wId9R2AVQYSEGRa2+g==", "dev": true, "requires": { - "@babel/helper-module-transforms": "^7.14.5", - "@babel/helper-plugin-utils": "^7.14.5", + "@babel/helper-module-transforms": "^7.16.7", + "@babel/helper-plugin-utils": "^7.16.7", "babel-plugin-dynamic-import-node": "^2.3.3" } }, "@babel/plugin-transform-modules-commonjs": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.14.5.tgz", - "integrity": "sha512-en8GfBtgnydoao2PS+87mKyw62k02k7kJ9ltbKe0fXTHrQmG6QZZflYuGI1VVG7sVpx4E1n7KBpNlPb8m78J+A==", + "version": "7.16.8", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.16.8.tgz", + "integrity": "sha512-oflKPvsLT2+uKQopesJt3ApiaIS2HW+hzHFcwRNtyDGieAeC/dIHZX8buJQ2J2X1rxGPy4eRcUijm3qcSPjYcA==", "dev": true, "requires": { - "@babel/helper-module-transforms": "^7.14.5", - "@babel/helper-plugin-utils": "^7.14.5", - "@babel/helper-simple-access": "^7.14.5", + "@babel/helper-module-transforms": "^7.16.7", + "@babel/helper-plugin-utils": "^7.16.7", + "@babel/helper-simple-access": "^7.16.7", "babel-plugin-dynamic-import-node": "^2.3.3" } }, "@babel/plugin-transform-modules-systemjs": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.14.5.tgz", - "integrity": "sha512-mNMQdvBEE5DcMQaL5LbzXFMANrQjd2W7FPzg34Y4yEz7dBgdaC+9B84dSO+/1Wba98zoDbInctCDo4JGxz1VYA==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.16.7.tgz", + "integrity": "sha512-DuK5E3k+QQmnOqBR9UkusByy5WZWGRxfzV529s9nPra1GE7olmxfqO2FHobEOYSPIjPBTr4p66YDcjQnt8cBmw==", "dev": true, "requires": { - "@babel/helper-hoist-variables": "^7.14.5", - "@babel/helper-module-transforms": "^7.14.5", - "@babel/helper-plugin-utils": "^7.14.5", - "@babel/helper-validator-identifier": "^7.14.5", + "@babel/helper-hoist-variables": "^7.16.7", + "@babel/helper-module-transforms": "^7.16.7", + "@babel/helper-plugin-utils": "^7.16.7", + "@babel/helper-validator-identifier": "^7.16.7", "babel-plugin-dynamic-import-node": "^2.3.3" } }, "@babel/plugin-transform-modules-umd": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.14.5.tgz", - "integrity": "sha512-RfPGoagSngC06LsGUYyM9QWSXZ8MysEjDJTAea1lqRjNECE3y0qIJF/qbvJxc4oA4s99HumIMdXOrd+TdKaAAA==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.16.7.tgz", + "integrity": "sha512-EMh7uolsC8O4xhudF2F6wedbSHm1HHZ0C6aJ7K67zcDNidMzVcxWdGr+htW9n21klm+bOn+Rx4CBsAntZd3rEQ==", "dev": true, "requires": { - "@babel/helper-module-transforms": "^7.14.5", - "@babel/helper-plugin-utils": "^7.14.5" + "@babel/helper-module-transforms": "^7.16.7", + "@babel/helper-plugin-utils": "^7.16.7" } }, "@babel/plugin-transform-named-capturing-groups-regex": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.14.5.tgz", - "integrity": "sha512-+Xe5+6MWFo311U8SchgeX5c1+lJM+eZDBZgD+tvXu9VVQPXwwVzeManMMjYX6xw2HczngfOSZjoFYKwdeB/Jvw==", + "version": "7.16.8", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.16.8.tgz", + "integrity": "sha512-j3Jw+n5PvpmhRR+mrgIh04puSANCk/T/UA3m3P1MjJkhlK906+ApHhDIqBQDdOgL/r1UYpz4GNclTXxyZrYGSw==", "dev": true, "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.14.5" + "@babel/helper-create-regexp-features-plugin": "^7.16.7" } }, "@babel/plugin-transform-new-target": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.14.5.tgz", - "integrity": "sha512-Nx054zovz6IIRWEB49RDRuXGI4Gy0GMgqG0cII9L3MxqgXz/+rgII+RU58qpo4g7tNEx1jG7rRVH4ihZoP4esQ==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.16.7.tgz", + "integrity": "sha512-xiLDzWNMfKoGOpc6t3U+etCE2yRnn3SM09BXqWPIZOBpL2gvVrBWUKnsJx0K/ADi5F5YC5f8APFfWrz25TdlGg==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.14.5" + "@babel/helper-plugin-utils": "^7.16.7" } }, "@babel/plugin-transform-object-super": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.14.5.tgz", - "integrity": "sha512-MKfOBWzK0pZIrav9z/hkRqIk/2bTv9qvxHzPQc12RcVkMOzpIKnFCNYJip00ssKWYkd8Sf5g0Wr7pqJ+cmtuFg==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.16.7.tgz", + "integrity": "sha512-14J1feiQVWaGvRxj2WjyMuXS2jsBkgB3MdSN5HuC2G5nRspa5RK9COcs82Pwy5BuGcjb+fYaUj94mYcOj7rCvw==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.14.5", - "@babel/helper-replace-supers": "^7.14.5" + "@babel/helper-plugin-utils": "^7.16.7", + "@babel/helper-replace-supers": "^7.16.7" } }, "@babel/plugin-transform-parameters": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.14.5.tgz", - "integrity": "sha512-Tl7LWdr6HUxTmzQtzuU14SqbgrSKmaR77M0OKyq4njZLQTPfOvzblNKyNkGwOfEFCEx7KeYHQHDI0P3F02IVkA==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.16.7.tgz", + "integrity": "sha512-AT3MufQ7zZEhU2hwOA11axBnExW0Lszu4RL/tAlUJBuNoRak+wehQW8h6KcXOcgjY42fHtDxswuMhMjFEuv/aw==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.14.5" + "@babel/helper-plugin-utils": "^7.16.7" } }, "@babel/plugin-transform-property-literals": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.14.5.tgz", - "integrity": "sha512-r1uilDthkgXW8Z1vJz2dKYLV1tuw2xsbrp3MrZmD99Wh9vsfKoob+JTgri5VUb/JqyKRXotlOtwgu4stIYCmnw==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.16.7.tgz", + "integrity": "sha512-z4FGr9NMGdoIl1RqavCqGG+ZuYjfZ/hkCIeuH6Do7tXmSm0ls11nYVSJqFEUOSJbDab5wC6lRE/w6YjVcr6Hqw==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.14.5" + "@babel/helper-plugin-utils": "^7.16.7" } }, "@babel/plugin-transform-regenerator": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.14.5.tgz", - "integrity": "sha512-NVIY1W3ITDP5xQl50NgTKlZ0GrotKtLna08/uGY6ErQt6VEQZXla86x/CTddm5gZdcr+5GSsvMeTmWA5Ii6pkg==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.16.7.tgz", + "integrity": "sha512-mF7jOgGYCkSJagJ6XCujSQg+6xC1M77/03K2oBmVJWoFGNUtnVJO4WHKJk3dnPC8HCcj4xBQP1Egm8DWh3Pb3Q==", "dev": true, "requires": { "regenerator-transform": "^0.14.2" } }, "@babel/plugin-transform-reserved-words": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.14.5.tgz", - "integrity": "sha512-cv4F2rv1nD4qdexOGsRQXJrOcyb5CrgjUH9PKrrtyhSDBNWGxd0UIitjyJiWagS+EbUGjG++22mGH1Pub8D6Vg==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.16.7.tgz", + "integrity": "sha512-KQzzDnZ9hWQBjwi5lpY5v9shmm6IVG0U9pB18zvMu2i4H90xpT4gmqwPYsn8rObiadYe2M0gmgsiOIF5A/2rtg==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.14.5" + "@babel/helper-plugin-utils": "^7.16.7" } }, "@babel/plugin-transform-shorthand-properties": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.14.5.tgz", - "integrity": "sha512-xLucks6T1VmGsTB+GWK5Pl9Jl5+nRXD1uoFdA5TSO6xtiNjtXTjKkmPdFXVLGlK5A2/or/wQMKfmQ2Y0XJfn5g==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.16.7.tgz", + "integrity": "sha512-hah2+FEnoRoATdIb05IOXf+4GzXYTq75TVhIn1PewihbpyrNWUt2JbudKQOETWw6QpLe+AIUpJ5MVLYTQbeeUg==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.14.5" + "@babel/helper-plugin-utils": "^7.16.7" } }, "@babel/plugin-transform-spread": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.14.5.tgz", - "integrity": "sha512-/3iqoQdiWergnShZYl0xACb4ADeYCJ7X/RgmwtXshn6cIvautRPAFzhd58frQlokLO6Jb4/3JXvmm6WNTPtiTw==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.16.7.tgz", + "integrity": "sha512-+pjJpgAngb53L0iaA5gU/1MLXJIfXcYepLgXB3esVRf4fqmj8f2cxM3/FKaHsZms08hFQJkFccEWuIpm429TXg==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.14.5", - "@babel/helper-skip-transparent-expression-wrappers": "^7.14.5" + "@babel/helper-plugin-utils": "^7.16.7", + "@babel/helper-skip-transparent-expression-wrappers": "^7.16.0" } }, "@babel/plugin-transform-sticky-regex": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.14.5.tgz", - "integrity": "sha512-Z7F7GyvEMzIIbwnziAZmnSNpdijdr4dWt+FJNBnBLz5mwDFkqIXU9wmBcWWad3QeJF5hMTkRe4dAq2sUZiG+8A==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.16.7.tgz", + "integrity": "sha512-NJa0Bd/87QV5NZZzTuZG5BPJjLYadeSZ9fO6oOUoL4iQx+9EEuw/eEM92SrsT19Yc2jgB1u1hsjqDtH02c3Drw==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.14.5" + "@babel/helper-plugin-utils": "^7.16.7" } }, "@babel/plugin-transform-template-literals": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.14.5.tgz", - "integrity": "sha512-22btZeURqiepOfuy/VkFr+zStqlujWaarpMErvay7goJS6BWwdd6BY9zQyDLDa4x2S3VugxFb162IZ4m/S/+Gg==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.16.7.tgz", + "integrity": "sha512-VwbkDDUeenlIjmfNeDX/V0aWrQH2QiVyJtwymVQSzItFDTpxfyJh3EVaQiS0rIN/CqbLGr0VcGmuwyTdZtdIsA==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.14.5" + "@babel/helper-plugin-utils": "^7.16.7" } }, "@babel/plugin-transform-typeof-symbol": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.14.5.tgz", - "integrity": "sha512-lXzLD30ffCWseTbMQzrvDWqljvZlHkXU+CnseMhkMNqU1sASnCsz3tSzAaH3vCUXb9PHeUb90ZT1BdFTm1xxJw==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.16.7.tgz", + "integrity": "sha512-p2rOixCKRJzpg9JB4gjnG4gjWkWa89ZoYUnl9snJ1cWIcTH/hvxZqfO+WjG6T8DRBpctEol5jw1O5rA8gkCokQ==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.14.5" + "@babel/helper-plugin-utils": "^7.16.7" } }, "@babel/plugin-transform-unicode-escapes": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.14.5.tgz", - "integrity": "sha512-crTo4jATEOjxj7bt9lbYXcBAM3LZaUrbP2uUdxb6WIorLmjNKSpHfIybgY4B8SRpbf8tEVIWH3Vtm7ayCrKocA==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.16.7.tgz", + "integrity": "sha512-TAV5IGahIz3yZ9/Hfv35TV2xEm+kaBDaZQCn2S/hG9/CZ0DktxJv9eKfPc7yYCvOYR4JGx1h8C+jcSOvgaaI/Q==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.14.5" + "@babel/helper-plugin-utils": "^7.16.7" } }, "@babel/plugin-transform-unicode-regex": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.14.5.tgz", - "integrity": "sha512-UygduJpC5kHeCiRw/xDVzC+wj8VaYSoKl5JNVmbP7MadpNinAm3SvZCxZ42H37KZBKztz46YC73i9yV34d0Tzw==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.16.7.tgz", + "integrity": "sha512-oC5tYYKw56HO75KZVLQ+R/Nl3Hro9kf8iG0hXoaHP7tjAyCpvqBiSNe6vGrZni1Z6MggmUOC6A7VP7AVmw225Q==", "dev": true, "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.14.5", - "@babel/helper-plugin-utils": "^7.14.5" + "@babel/helper-create-regexp-features-plugin": "^7.16.7", + "@babel/helper-plugin-utils": "^7.16.7" } }, "@babel/preset-env": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.14.5.tgz", - "integrity": "sha512-ci6TsS0bjrdPpWGnQ+m4f+JSSzDKlckqKIJJt9UZ/+g7Zz9k0N8lYU8IeLg/01o2h8LyNZDMLGgRLDTxpudLsA==", - "dev": true, - "requires": { - "@babel/compat-data": "^7.14.5", - "@babel/helper-compilation-targets": "^7.14.5", - "@babel/helper-plugin-utils": "^7.14.5", - "@babel/helper-validator-option": "^7.14.5", - "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.14.5", - "@babel/plugin-proposal-async-generator-functions": "^7.14.5", - "@babel/plugin-proposal-class-properties": "^7.14.5", - "@babel/plugin-proposal-class-static-block": "^7.14.5", - "@babel/plugin-proposal-dynamic-import": "^7.14.5", - "@babel/plugin-proposal-export-namespace-from": "^7.14.5", - "@babel/plugin-proposal-json-strings": "^7.14.5", - "@babel/plugin-proposal-logical-assignment-operators": "^7.14.5", - "@babel/plugin-proposal-nullish-coalescing-operator": "^7.14.5", - "@babel/plugin-proposal-numeric-separator": "^7.14.5", - "@babel/plugin-proposal-object-rest-spread": "^7.14.5", - "@babel/plugin-proposal-optional-catch-binding": "^7.14.5", - "@babel/plugin-proposal-optional-chaining": "^7.14.5", - "@babel/plugin-proposal-private-methods": "^7.14.5", - "@babel/plugin-proposal-private-property-in-object": "^7.14.5", - "@babel/plugin-proposal-unicode-property-regex": "^7.14.5", + "version": "7.16.8", + "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.16.8.tgz", + "integrity": "sha512-9rNKgVCdwHb3z1IlbMyft6yIXIeP3xz6vWvGaLHrJThuEIqWfHb0DNBH9VuTgnDfdbUDhkmkvMZS/YMCtP7Elg==", + "dev": true, + "requires": { + "@babel/compat-data": "^7.16.8", + "@babel/helper-compilation-targets": "^7.16.7", + "@babel/helper-plugin-utils": "^7.16.7", + "@babel/helper-validator-option": "^7.16.7", + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.16.7", + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.16.7", + "@babel/plugin-proposal-async-generator-functions": "^7.16.8", + "@babel/plugin-proposal-class-properties": "^7.16.7", + "@babel/plugin-proposal-class-static-block": "^7.16.7", + "@babel/plugin-proposal-dynamic-import": "^7.16.7", + "@babel/plugin-proposal-export-namespace-from": "^7.16.7", + "@babel/plugin-proposal-json-strings": "^7.16.7", + "@babel/plugin-proposal-logical-assignment-operators": "^7.16.7", + "@babel/plugin-proposal-nullish-coalescing-operator": "^7.16.7", + "@babel/plugin-proposal-numeric-separator": "^7.16.7", + "@babel/plugin-proposal-object-rest-spread": "^7.16.7", + "@babel/plugin-proposal-optional-catch-binding": "^7.16.7", + "@babel/plugin-proposal-optional-chaining": "^7.16.7", + "@babel/plugin-proposal-private-methods": "^7.16.7", + "@babel/plugin-proposal-private-property-in-object": "^7.16.7", + "@babel/plugin-proposal-unicode-property-regex": "^7.16.7", "@babel/plugin-syntax-async-generators": "^7.8.4", "@babel/plugin-syntax-class-properties": "^7.12.13", "@babel/plugin-syntax-class-static-block": "^7.14.5", @@ -5839,59 +5978,51 @@ "@babel/plugin-syntax-optional-chaining": "^7.8.3", "@babel/plugin-syntax-private-property-in-object": "^7.14.5", "@babel/plugin-syntax-top-level-await": "^7.14.5", - "@babel/plugin-transform-arrow-functions": "^7.14.5", - "@babel/plugin-transform-async-to-generator": "^7.14.5", - "@babel/plugin-transform-block-scoped-functions": "^7.14.5", - "@babel/plugin-transform-block-scoping": "^7.14.5", - "@babel/plugin-transform-classes": "^7.14.5", - "@babel/plugin-transform-computed-properties": "^7.14.5", - "@babel/plugin-transform-destructuring": "^7.14.5", - "@babel/plugin-transform-dotall-regex": "^7.14.5", - "@babel/plugin-transform-duplicate-keys": "^7.14.5", - "@babel/plugin-transform-exponentiation-operator": "^7.14.5", - "@babel/plugin-transform-for-of": "^7.14.5", - "@babel/plugin-transform-function-name": "^7.14.5", - "@babel/plugin-transform-literals": "^7.14.5", - "@babel/plugin-transform-member-expression-literals": "^7.14.5", - "@babel/plugin-transform-modules-amd": "^7.14.5", - "@babel/plugin-transform-modules-commonjs": "^7.14.5", - "@babel/plugin-transform-modules-systemjs": "^7.14.5", - "@babel/plugin-transform-modules-umd": "^7.14.5", - "@babel/plugin-transform-named-capturing-groups-regex": "^7.14.5", - "@babel/plugin-transform-new-target": "^7.14.5", - "@babel/plugin-transform-object-super": "^7.14.5", - "@babel/plugin-transform-parameters": "^7.14.5", - "@babel/plugin-transform-property-literals": "^7.14.5", - "@babel/plugin-transform-regenerator": "^7.14.5", - "@babel/plugin-transform-reserved-words": "^7.14.5", - "@babel/plugin-transform-shorthand-properties": "^7.14.5", - "@babel/plugin-transform-spread": "^7.14.5", - "@babel/plugin-transform-sticky-regex": "^7.14.5", - "@babel/plugin-transform-template-literals": "^7.14.5", - "@babel/plugin-transform-typeof-symbol": "^7.14.5", - "@babel/plugin-transform-unicode-escapes": "^7.14.5", - "@babel/plugin-transform-unicode-regex": "^7.14.5", - "@babel/preset-modules": "^0.1.4", - "@babel/types": "^7.14.5", - "babel-plugin-polyfill-corejs2": "^0.2.2", - "babel-plugin-polyfill-corejs3": "^0.2.2", - "babel-plugin-polyfill-regenerator": "^0.2.2", - "core-js-compat": "^3.14.0", + "@babel/plugin-transform-arrow-functions": "^7.16.7", + "@babel/plugin-transform-async-to-generator": "^7.16.8", + "@babel/plugin-transform-block-scoped-functions": "^7.16.7", + "@babel/plugin-transform-block-scoping": "^7.16.7", + "@babel/plugin-transform-classes": "^7.16.7", + "@babel/plugin-transform-computed-properties": "^7.16.7", + "@babel/plugin-transform-destructuring": "^7.16.7", + "@babel/plugin-transform-dotall-regex": "^7.16.7", + "@babel/plugin-transform-duplicate-keys": "^7.16.7", + "@babel/plugin-transform-exponentiation-operator": "^7.16.7", + "@babel/plugin-transform-for-of": "^7.16.7", + "@babel/plugin-transform-function-name": "^7.16.7", + "@babel/plugin-transform-literals": "^7.16.7", + "@babel/plugin-transform-member-expression-literals": "^7.16.7", + "@babel/plugin-transform-modules-amd": "^7.16.7", + "@babel/plugin-transform-modules-commonjs": "^7.16.8", + "@babel/plugin-transform-modules-systemjs": "^7.16.7", + "@babel/plugin-transform-modules-umd": "^7.16.7", + "@babel/plugin-transform-named-capturing-groups-regex": "^7.16.8", + "@babel/plugin-transform-new-target": "^7.16.7", + "@babel/plugin-transform-object-super": "^7.16.7", + "@babel/plugin-transform-parameters": "^7.16.7", + "@babel/plugin-transform-property-literals": "^7.16.7", + "@babel/plugin-transform-regenerator": "^7.16.7", + "@babel/plugin-transform-reserved-words": "^7.16.7", + "@babel/plugin-transform-shorthand-properties": "^7.16.7", + "@babel/plugin-transform-spread": "^7.16.7", + "@babel/plugin-transform-sticky-regex": "^7.16.7", + "@babel/plugin-transform-template-literals": "^7.16.7", + "@babel/plugin-transform-typeof-symbol": "^7.16.7", + "@babel/plugin-transform-unicode-escapes": "^7.16.7", + "@babel/plugin-transform-unicode-regex": "^7.16.7", + "@babel/preset-modules": "^0.1.5", + "@babel/types": "^7.16.8", + "babel-plugin-polyfill-corejs2": "^0.3.0", + "babel-plugin-polyfill-corejs3": "^0.5.0", + "babel-plugin-polyfill-regenerator": "^0.3.0", + "core-js-compat": "^3.20.2", "semver": "^6.3.0" - }, - "dependencies": { - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true - } } }, "@babel/preset-modules": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.4.tgz", - "integrity": "sha512-J36NhwnfdzpmH41M1DrnkkgAqhZaqr/NBdPfQ677mLzlaXo+oDiv1deyCDtgAhz8p328otdob0Du7+xgHGZbKg==", + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.5.tgz", + "integrity": "sha512-A57th6YRG7oR3cq/yt/Y84MvGgE0eJG2F1JLhKuyG+jFxEgrd/HAMJatiFtmOiZurz+0DkrvbheCLaV5f2JfjA==", "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.0.0", @@ -5902,62 +6033,63 @@ } }, "@babel/runtime": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.14.5.tgz", - "integrity": "sha512-121rumjddw9c3NCQ55KGkyE1h/nzWhU/owjhw0l4mQrkzz4x9SGS1X8gFLraHwX7td3Yo4QTL+qj0NcIzN87BA==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.16.7.tgz", + "integrity": "sha512-9E9FJowqAsytyOY6LG+1KuueckRL+aQW+mKvXRXnuFGyRAyepJPmEo9vgMfXUA6O9u3IeEdv9MAkppFcaQwogQ==", "dev": true, "requires": { "regenerator-runtime": "^0.13.4" } }, "@babel/template": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.14.5.tgz", - "integrity": "sha512-6Z3Po85sfxRGachLULUhOmvAaOo7xCvqGQtxINai2mEGPFm6pQ4z5QInFnUrRpfoSV60BnjyF5F3c+15fxFV1g==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.16.7.tgz", + "integrity": "sha512-I8j/x8kHUrbYRTUxXrrMbfCa7jxkE7tZre39x3kjr9hvI82cK1FfqLygotcWN5kdPGWcLdWMHpSBavse5tWw3w==", "dev": true, "requires": { - "@babel/code-frame": "^7.14.5", - "@babel/parser": "^7.14.5", - "@babel/types": "^7.14.5" + "@babel/code-frame": "^7.16.7", + "@babel/parser": "^7.16.7", + "@babel/types": "^7.16.7" } }, "@babel/traverse": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.14.5.tgz", - "integrity": "sha512-G3BiS15vevepdmFqmUc9X+64y0viZYygubAMO8SvBmKARuF6CPSZtH4Ng9vi/lrWlZFGe3FWdXNy835akH8Glg==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.14.5", - "@babel/generator": "^7.14.5", - "@babel/helper-function-name": "^7.14.5", - "@babel/helper-hoist-variables": "^7.14.5", - "@babel/helper-split-export-declaration": "^7.14.5", - "@babel/parser": "^7.14.5", - "@babel/types": "^7.14.5", + "version": "7.16.8", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.16.8.tgz", + "integrity": "sha512-xe+H7JlvKsDQwXRsBhSnq1/+9c+LlQcCK3Tn/l5sbx02HYns/cn7ibp9+RV1sIUqu7hKg91NWsgHurO9dowITQ==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.16.7", + "@babel/generator": "^7.16.8", + "@babel/helper-environment-visitor": "^7.16.7", + "@babel/helper-function-name": "^7.16.7", + "@babel/helper-hoist-variables": "^7.16.7", + "@babel/helper-split-export-declaration": "^7.16.7", + "@babel/parser": "^7.16.8", + "@babel/types": "^7.16.8", "debug": "^4.1.0", "globals": "^11.1.0" } }, "@babel/types": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.14.5.tgz", - "integrity": "sha512-M/NzBpEL95I5Hh4dwhin5JlE7EzO5PHMAuzjxss3tiOBD46KfQvVedN/3jEPZvdRvtsK2222XfdHogNIttFgcg==", + "version": "7.16.8", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.16.8.tgz", + "integrity": "sha512-smN2DQc5s4M7fntyjGtyIPbRJv6wW4rU/94fmYJ7PKQuZkC0qGMHXJbg6sNGt12JmVr4k5YaptI/XtiLJBnmIg==", "dev": true, "requires": { - "@babel/helper-validator-identifier": "^7.14.5", + "@babel/helper-validator-identifier": "^7.16.7", "to-fast-properties": "^2.0.0" } }, "@discoveryjs/json-ext": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/@discoveryjs/json-ext/-/json-ext-0.5.2.tgz", - "integrity": "sha512-HyYEUDeIj5rRQU2Hk5HTB2uHsbRQpF70nvMhVzi+VJR0X+xNEhjPui4/kBf3VeH/wqD28PT4sVOm8qqLjBrSZg==", + "version": "0.5.6", + "resolved": "https://registry.npmjs.org/@discoveryjs/json-ext/-/json-ext-0.5.6.tgz", + "integrity": "sha512-ws57AidsDvREKrZKYffXddNkyaF14iHNHm8VQnZH6t99E8gczjNN0GpvcGny0imC80yQ0tHz1xVUKk/KFQSUyA==", "dev": true }, "@types/eslint": { - "version": "7.2.4", - "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-7.2.4.tgz", - "integrity": "sha512-YCY4kzHMsHoyKspQH+nwSe+70Kep7Vjt2X+dZe5Vs2vkRudqtoFoUIv1RlJmZB8Hbp7McneupoZij4PadxsK5Q==", + "version": "8.2.2", + "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.2.2.tgz", + "integrity": "sha512-nQxgB8/Sg+QKhnV8e0WzPpxjIGT3tuJDDzybkDi8ItE/IgTlHo07U0shaIjzhcvQxlq9SDRE42lsJ23uvEgJ2A==", "dev": true, "requires": { "@types/estree": "*", @@ -5965,9 +6097,9 @@ } }, "@types/eslint-scope": { - "version": "3.7.0", - "resolved": "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.0.tgz", - "integrity": "sha512-O/ql2+rrCUe2W2rs7wMR+GqPRcgB6UiqN5RhrR5xruFlY7l9YLMn0ZkDzjoHLeiFkR8MCQZVudUuuvQ2BLC9Qw==", + "version": "3.7.3", + "resolved": "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.3.tgz", + "integrity": "sha512-PB3ldyrcnAicT35TWPs5IcwKD8S333HMaa2VVv4+wdvebJkjWuW/xESoB8IwRcog8HYVYamb1g/R31Qv5Bx03g==", "dev": true, "requires": { "@types/eslint": "*", @@ -5975,189 +6107,189 @@ } }, "@types/estree": { - "version": "0.0.47", - "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.47.tgz", - "integrity": "sha512-c5ciR06jK8u9BstrmJyO97m+klJrrhCf9u3rLu3DEAJBirxRqSCvDQoYKmxuYwQI5SZChAWu+tq9oVlGRuzPAg==", + "version": "0.0.50", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.50.tgz", + "integrity": "sha512-C6N5s2ZFtuZRj54k2/zyRhNDjJwwcViAM3Nbm8zjBpbqAdZ00mr0CFxvSKeO8Y/e03WVFLpQMdHYVfUd6SB+Hw==", "dev": true }, "@types/json-schema": { - "version": "7.0.5", - "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.5.tgz", - "integrity": "sha512-7+2BITlgjgDhH0vvwZU/HZJVyk+2XUlvxXe8dFMedNX/aMkaOq++rMAFXc0tM7ij15QaWlbdQASBR9dihi+bDQ==", + "version": "7.0.9", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.9.tgz", + "integrity": "sha512-qcUXuemtEu+E5wZSJHNxUXeCZhAfXKQ41D+duX+VYPde7xyEVZci+/oXKJL13tnRs9lR2pr4fod59GT6/X1/yQ==", "dev": true }, "@types/node": { - "version": "15.12.2", - "resolved": "https://registry.npmjs.org/@types/node/-/node-15.12.2.tgz", - "integrity": "sha512-zjQ69G564OCIWIOHSXyQEEDpdpGl+G348RAKY0XXy9Z5kU9Vzv1GMNnkar/ZJ8dzXB3COzD9Mo9NtRZ4xfgUww==", + "version": "17.0.9", + "resolved": "https://registry.npmjs.org/@types/node/-/node-17.0.9.tgz", + "integrity": "sha512-5dNBXu/FOER+EXnyah7rn8xlNrfMOQb/qXnw4NQgLkCygKBKhdmF/CA5oXVOKZLBEahw8s2WP9LxIcN/oDDRgQ==", "dev": true }, "@webassemblyjs/ast": { - "version": "1.11.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.11.0.tgz", - "integrity": "sha512-kX2W49LWsbthrmIRMbQZuQDhGtjyqXfEmmHyEi4XWnSZtPmxY0+3anPIzsnRb45VH/J55zlOfWvZuY47aJZTJg==", + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.11.1.tgz", + "integrity": "sha512-ukBh14qFLjxTQNTXocdyksN5QdM28S1CxHt2rdskFyL+xFV7VremuBLVbmCePj+URalXBENx/9Lm7lnhihtCSw==", "dev": true, "requires": { - "@webassemblyjs/helper-numbers": "1.11.0", - "@webassemblyjs/helper-wasm-bytecode": "1.11.0" + "@webassemblyjs/helper-numbers": "1.11.1", + "@webassemblyjs/helper-wasm-bytecode": "1.11.1" } }, "@webassemblyjs/floating-point-hex-parser": { - "version": "1.11.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.0.tgz", - "integrity": "sha512-Q/aVYs/VnPDVYvsCBL/gSgwmfjeCb4LW8+TMrO3cSzJImgv8lxxEPM2JA5jMrivE7LSz3V+PFqtMbls3m1exDA==", + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.1.tgz", + "integrity": "sha512-iGRfyc5Bq+NnNuX8b5hwBrRjzf0ocrJPI6GWFodBFzmFnyvrQ83SHKhmilCU/8Jv67i4GJZBMhEzltxzcNagtQ==", "dev": true }, "@webassemblyjs/helper-api-error": { - "version": "1.11.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.0.tgz", - "integrity": "sha512-baT/va95eXiXb2QflSx95QGT5ClzWpGaa8L7JnJbgzoYeaA27FCvuBXU758l+KXWRndEmUXjP0Q5fibhavIn8w==", + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.1.tgz", + "integrity": "sha512-RlhS8CBCXfRUR/cwo2ho9bkheSXG0+NwooXcc3PAILALf2QLdFyj7KGsKRbVc95hZnhnERon4kW/D3SZpp6Tcg==", "dev": true }, "@webassemblyjs/helper-buffer": { - "version": "1.11.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.0.tgz", - "integrity": "sha512-u9HPBEl4DS+vA8qLQdEQ6N/eJQ7gT7aNvMIo8AAWvAl/xMrcOSiI2M0MAnMCy3jIFke7bEee/JwdX1nUpCtdyA==", + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.1.tgz", + "integrity": "sha512-gwikF65aDNeeXa8JxXa2BAk+REjSyhrNC9ZwdT0f8jc4dQQeDQ7G4m0f2QCLPJiMTTO6wfDmRmj/pW0PsUvIcA==", "dev": true }, "@webassemblyjs/helper-numbers": { - "version": "1.11.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.0.tgz", - "integrity": "sha512-DhRQKelIj01s5IgdsOJMKLppI+4zpmcMQ3XboFPLwCpSNH6Hqo1ritgHgD0nqHeSYqofA6aBN/NmXuGjM1jEfQ==", + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.1.tgz", + "integrity": "sha512-vDkbxiB8zfnPdNK9Rajcey5C0w+QJugEglN0of+kmO8l7lDb77AnlKYQF7aarZuCrv+l0UvqL+68gSDr3k9LPQ==", "dev": true, "requires": { - "@webassemblyjs/floating-point-hex-parser": "1.11.0", - "@webassemblyjs/helper-api-error": "1.11.0", + "@webassemblyjs/floating-point-hex-parser": "1.11.1", + "@webassemblyjs/helper-api-error": "1.11.1", "@xtuc/long": "4.2.2" } }, "@webassemblyjs/helper-wasm-bytecode": { - "version": "1.11.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.0.tgz", - "integrity": "sha512-MbmhvxXExm542tWREgSFnOVo07fDpsBJg3sIl6fSp9xuu75eGz5lz31q7wTLffwL3Za7XNRCMZy210+tnsUSEA==", + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.1.tgz", + "integrity": "sha512-PvpoOGiJwXeTrSf/qfudJhwlvDQxFgelbMqtq52WWiXC6Xgg1IREdngmPN3bs4RoO83PnL/nFrxucXj1+BX62Q==", "dev": true }, "@webassemblyjs/helper-wasm-section": { - "version": "1.11.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.0.tgz", - "integrity": "sha512-3Eb88hcbfY/FCukrg6i3EH8H2UsD7x8Vy47iVJrP967A9JGqgBVL9aH71SETPx1JrGsOUVLo0c7vMCN22ytJew==", + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.1.tgz", + "integrity": "sha512-10P9No29rYX1j7F3EVPX3JvGPQPae+AomuSTPiF9eBQeChHI6iqjMIwR9JmOJXwpnn/oVGDk7I5IlskuMwU/pg==", "dev": true, "requires": { - "@webassemblyjs/ast": "1.11.0", - "@webassemblyjs/helper-buffer": "1.11.0", - "@webassemblyjs/helper-wasm-bytecode": "1.11.0", - "@webassemblyjs/wasm-gen": "1.11.0" + "@webassemblyjs/ast": "1.11.1", + "@webassemblyjs/helper-buffer": "1.11.1", + "@webassemblyjs/helper-wasm-bytecode": "1.11.1", + "@webassemblyjs/wasm-gen": "1.11.1" } }, "@webassemblyjs/ieee754": { - "version": "1.11.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.11.0.tgz", - "integrity": "sha512-KXzOqpcYQwAfeQ6WbF6HXo+0udBNmw0iXDmEK5sFlmQdmND+tr773Ti8/5T/M6Tl/413ArSJErATd8In3B+WBA==", + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.11.1.tgz", + "integrity": "sha512-hJ87QIPtAMKbFq6CGTkZYJivEwZDbQUgYd3qKSadTNOhVY7p+gfP6Sr0lLRVTaG1JjFj+r3YchoqRYxNH3M0GQ==", "dev": true, "requires": { "@xtuc/ieee754": "^1.2.0" } }, "@webassemblyjs/leb128": { - "version": "1.11.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.11.0.tgz", - "integrity": "sha512-aqbsHa1mSQAbeeNcl38un6qVY++hh8OpCOzxhixSYgbRfNWcxJNJQwe2rezK9XEcssJbbWIkblaJRwGMS9zp+g==", + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.11.1.tgz", + "integrity": "sha512-BJ2P0hNZ0u+Th1YZXJpzW6miwqQUGcIHT1G/sf72gLVD9DZ5AdYTqPNbHZh6K1M5VmKvFXwGSWZADz+qBWxeRw==", "dev": true, "requires": { "@xtuc/long": "4.2.2" } }, "@webassemblyjs/utf8": { - "version": "1.11.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.11.0.tgz", - "integrity": "sha512-A/lclGxH6SpSLSyFowMzO/+aDEPU4hvEiooCMXQPcQFPPJaYcPQNKGOCLUySJsYJ4trbpr+Fs08n4jelkVTGVw==", + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.11.1.tgz", + "integrity": "sha512-9kqcxAEdMhiwQkHpkNiorZzqpGrodQQ2IGrHHxCy+Ozng0ofyMA0lTqiLkVs1uzTRejX+/O0EOT7KxqVPuXosQ==", "dev": true }, "@webassemblyjs/wasm-edit": { - "version": "1.11.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.0.tgz", - "integrity": "sha512-JHQ0damXy0G6J9ucyKVXO2j08JVJ2ntkdJlq1UTiUrIgfGMmA7Ik5VdC/L8hBK46kVJgujkBIoMtT8yVr+yVOQ==", + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.1.tgz", + "integrity": "sha512-g+RsupUC1aTHfR8CDgnsVRVZFJqdkFHpsHMfJuWQzWU3tvnLC07UqHICfP+4XyL2tnr1amvl1Sdp06TnYCmVkA==", "dev": true, "requires": { - "@webassemblyjs/ast": "1.11.0", - "@webassemblyjs/helper-buffer": "1.11.0", - "@webassemblyjs/helper-wasm-bytecode": "1.11.0", - "@webassemblyjs/helper-wasm-section": "1.11.0", - "@webassemblyjs/wasm-gen": "1.11.0", - "@webassemblyjs/wasm-opt": "1.11.0", - "@webassemblyjs/wasm-parser": "1.11.0", - "@webassemblyjs/wast-printer": "1.11.0" + "@webassemblyjs/ast": "1.11.1", + "@webassemblyjs/helper-buffer": "1.11.1", + "@webassemblyjs/helper-wasm-bytecode": "1.11.1", + "@webassemblyjs/helper-wasm-section": "1.11.1", + "@webassemblyjs/wasm-gen": "1.11.1", + "@webassemblyjs/wasm-opt": "1.11.1", + "@webassemblyjs/wasm-parser": "1.11.1", + "@webassemblyjs/wast-printer": "1.11.1" } }, "@webassemblyjs/wasm-gen": { - "version": "1.11.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.0.tgz", - "integrity": "sha512-BEUv1aj0WptCZ9kIS30th5ILASUnAPEvE3tVMTrItnZRT9tXCLW2LEXT8ezLw59rqPP9klh9LPmpU+WmRQmCPQ==", + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.1.tgz", + "integrity": "sha512-F7QqKXwwNlMmsulj6+O7r4mmtAlCWfO/0HdgOxSklZfQcDu0TpLiD1mRt/zF25Bk59FIjEuGAIyn5ei4yMfLhA==", "dev": true, "requires": { - "@webassemblyjs/ast": "1.11.0", - "@webassemblyjs/helper-wasm-bytecode": "1.11.0", - "@webassemblyjs/ieee754": "1.11.0", - "@webassemblyjs/leb128": "1.11.0", - "@webassemblyjs/utf8": "1.11.0" + "@webassemblyjs/ast": "1.11.1", + "@webassemblyjs/helper-wasm-bytecode": "1.11.1", + "@webassemblyjs/ieee754": "1.11.1", + "@webassemblyjs/leb128": "1.11.1", + "@webassemblyjs/utf8": "1.11.1" } }, "@webassemblyjs/wasm-opt": { - "version": "1.11.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.0.tgz", - "integrity": "sha512-tHUSP5F4ywyh3hZ0+fDQuWxKx3mJiPeFufg+9gwTpYp324mPCQgnuVKwzLTZVqj0duRDovnPaZqDwoyhIO8kYg==", + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.1.tgz", + "integrity": "sha512-VqnkNqnZlU5EB64pp1l7hdm3hmQw7Vgqa0KF/KCNO9sIpI6Fk6brDEiX+iCOYrvMuBWDws0NkTOxYEb85XQHHw==", "dev": true, "requires": { - "@webassemblyjs/ast": "1.11.0", - "@webassemblyjs/helper-buffer": "1.11.0", - "@webassemblyjs/wasm-gen": "1.11.0", - "@webassemblyjs/wasm-parser": "1.11.0" + "@webassemblyjs/ast": "1.11.1", + "@webassemblyjs/helper-buffer": "1.11.1", + "@webassemblyjs/wasm-gen": "1.11.1", + "@webassemblyjs/wasm-parser": "1.11.1" } }, "@webassemblyjs/wasm-parser": { - "version": "1.11.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.0.tgz", - "integrity": "sha512-6L285Sgu9gphrcpDXINvm0M9BskznnzJTE7gYkjDbxET28shDqp27wpruyx3C2S/dvEwiigBwLA1cz7lNUi0kw==", + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.1.tgz", + "integrity": "sha512-rrBujw+dJu32gYB7/Lup6UhdkPx9S9SnobZzRVL7VcBH9Bt9bCBLEuX/YXOOtBsOZ4NQrRykKhffRWHvigQvOA==", "dev": true, "requires": { - "@webassemblyjs/ast": "1.11.0", - "@webassemblyjs/helper-api-error": "1.11.0", - "@webassemblyjs/helper-wasm-bytecode": "1.11.0", - "@webassemblyjs/ieee754": "1.11.0", - "@webassemblyjs/leb128": "1.11.0", - "@webassemblyjs/utf8": "1.11.0" + "@webassemblyjs/ast": "1.11.1", + "@webassemblyjs/helper-api-error": "1.11.1", + "@webassemblyjs/helper-wasm-bytecode": "1.11.1", + "@webassemblyjs/ieee754": "1.11.1", + "@webassemblyjs/leb128": "1.11.1", + "@webassemblyjs/utf8": "1.11.1" } }, "@webassemblyjs/wast-printer": { - "version": "1.11.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.11.0.tgz", - "integrity": "sha512-Fg5OX46pRdTgB7rKIUojkh9vXaVN6sGYCnEiJN1GYkb0RPwShZXp6KTDqmoMdQPKhcroOXh3fEzmkWmCYaKYhQ==", + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.11.1.tgz", + "integrity": "sha512-IQboUWM4eKzWW+N/jij2sRatKMh99QEelo3Eb2q0qXkvPRISAj8Qxtmw5itwqK+TTkBuUIE45AxYPToqPtL5gg==", "dev": true, "requires": { - "@webassemblyjs/ast": "1.11.0", + "@webassemblyjs/ast": "1.11.1", "@xtuc/long": "4.2.2" } }, "@webpack-cli/configtest": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/@webpack-cli/configtest/-/configtest-1.0.4.tgz", - "integrity": "sha512-cs3XLy+UcxiP6bj0A6u7MLLuwdXJ1c3Dtc0RkKg+wiI1g/Ti1om8+/2hc2A2B60NbBNAbMgyBMHvyymWm/j4wQ==", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@webpack-cli/configtest/-/configtest-1.1.0.tgz", + "integrity": "sha512-ttOkEkoalEHa7RaFYpM0ErK1xc4twg3Am9hfHhL7MVqlHebnkYd2wuI/ZqTDj0cVzZho6PdinY0phFZV3O0Mzg==", "dev": true, "requires": {} }, "@webpack-cli/info": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/@webpack-cli/info/-/info-1.3.0.tgz", - "integrity": "sha512-ASiVB3t9LOKHs5DyVUcxpraBXDOKubYu/ihHhU+t1UPpxsivg6Od2E2qU4gJCekfEddzRBzHhzA/Acyw/mlK/w==", + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/@webpack-cli/info/-/info-1.4.0.tgz", + "integrity": "sha512-F6b+Man0rwE4n0409FyAJHStYA5OIZERxmnUfLVwv0mc0V1wLad3V7jqRlMkgKBeAq07jUvglacNaa6g9lOpuw==", "dev": true, "requires": { "envinfo": "^7.7.3" } }, "@webpack-cli/serve": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/@webpack-cli/serve/-/serve-1.5.1.tgz", - "integrity": "sha512-4vSVUiOPJLmr45S8rMGy7WDvpWxfFxfP/Qx/cxZFCfvoypTYpPPL1X8VIZMe0WTA+Jr7blUxwUSEZNkjoMTgSw==", + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/@webpack-cli/serve/-/serve-1.6.0.tgz", + "integrity": "sha512-ZkVeqEmRpBV2GHvjjUZqEai2PpUbuq8Bqd//vEYsp63J8WyexI8ppCqVS3Zs0QADf6aWuPdU+0XsPI647PVlQA==", "dev": true, "requires": {} }, @@ -6174,11 +6306,18 @@ "dev": true }, "acorn": { - "version": "8.3.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.3.0.tgz", - "integrity": "sha512-tqPKHZ5CaBJw0Xmy0ZZvLs1qTV+BNFSyvn77ASXkpBNfIRk8ev26fKrD9iLGwGA9zedPao52GSHzq8lyZG0NUw==", + "version": "8.7.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.7.0.tgz", + "integrity": "sha512-V/LGr1APy+PXIwKebEWrkZPwoeoF+w1jiOBUmuxuiUIaOHtob8Qc9BTrYo7VuI5fR8tqsy+buA2WFooR5olqvQ==", "dev": true }, + "acorn-import-assertions": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/acorn-import-assertions/-/acorn-import-assertions-1.8.0.tgz", + "integrity": "sha512-m7VZ3jwz4eK6A4Vtt8Ew1/mNbP24u0FhdyfA7fSvnJR6LMdfOYnmuIrrJAgrYfYJ10F/otaHTtrtrtmHdMNzEw==", + "dev": true, + "requires": {} + }, "ajv": { "version": "6.12.6", "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", @@ -6192,15 +6331,16 @@ } }, "ajv-keywords": { - "version": "3.4.1", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.4.1.tgz", - "integrity": "sha512-RO1ibKvd27e6FEShVFfPALuHI3WjSVNeK5FIsmme/LYRNxjKuNj+Dt7bucLa6NdSv3JcVTyMlm9kGR84z1XpaQ==", - "dev": true + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", + "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", + "dev": true, + "requires": {} }, "ansi-regex": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", - "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", "dev": true }, "ansi-styles": { @@ -6221,56 +6361,34 @@ "sprintf-js": "~1.0.2" } }, - "array-filter": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/array-filter/-/array-filter-1.0.0.tgz", - "integrity": "sha1-uveeYubvTCpMC4MSMtr/7CUfnYM=", - "dev": true - }, - "available-typed-arrays": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.2.tgz", - "integrity": "sha512-XWX3OX8Onv97LMk/ftVyBibpGwY5a8SmuxZPzeOxqmuEqUCOM9ZE+uIaD1VNJ5QnvU2UQusvmKbuM1FR8QWGfQ==", + "array.prototype.every": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/array.prototype.every/-/array.prototype.every-1.1.3.tgz", + "integrity": "sha512-vWnriJI//SOMOWtXbU/VXhJ/InfnNHPF6BLKn5WfY8xXy+NWql0fUy20GO3sdqBhCAO+qw8S/E5nJiZX+QFdCA==", "dev": true, "requires": { - "array-filter": "^1.0.0" + "call-bind": "^1.0.2", + "define-properties": "^1.1.3", + "es-abstract": "^1.19.0", + "is-string": "^1.0.7" } }, + "available-typed-arrays": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz", + "integrity": "sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==", + "dev": true + }, "babel-loader": { - "version": "8.2.2", - "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-8.2.2.tgz", - "integrity": "sha512-JvTd0/D889PQBtUXJ2PXaKU/pjZDMtHA9V2ecm+eNRmmBCMR09a+fmpGTNwnJtFmFl5Ei7Vy47LjBb+L0wQ99g==", + "version": "8.2.3", + "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-8.2.3.tgz", + "integrity": "sha512-n4Zeta8NC3QAsuyiizu0GkmRcQ6clkV9WFUnUf1iXP//IeSKbWjofW3UHyZVwlOB4y039YQKefawyTn64Zwbuw==", "dev": true, "requires": { "find-cache-dir": "^3.3.1", "loader-utils": "^1.4.0", "make-dir": "^3.1.0", "schema-utils": "^2.6.5" - }, - "dependencies": { - "ajv": { - "version": "6.12.4", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.4.tgz", - "integrity": "sha512-eienB2c9qVQs2KWexhkrdMLVDoIQCz5KSeLxwg9Lzk4DOfBtIK9PQwwufcsn1jjGuf9WZmqPMbGxOzfcuphJCQ==", - "dev": true, - "requires": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - } - }, - "schema-utils": { - "version": "2.7.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.0.tgz", - "integrity": "sha512-0ilKFI6QQF5nxDZLFn2dMjvc4hjg/Wkg7rHd3jK6/A4a1Hl9VFdQWvgB1UMGoU94pad1P/8N7fMcEnLnSiju8A==", - "dev": true, - "requires": { - "@types/json-schema": "^7.0.4", - "ajv": "^6.12.2", - "ajv-keywords": "^3.4.1" - } - } } }, "babel-plugin-dynamic-import-node": { @@ -6283,47 +6401,39 @@ } }, "babel-plugin-polyfill-corejs2": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.2.2.tgz", - "integrity": "sha512-kISrENsJ0z5dNPq5eRvcctITNHYXWOA4DUZRFYCz3jYCcvTb/A546LIddmoGNMVYg2U38OyFeNosQwI9ENTqIQ==", + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.3.1.tgz", + "integrity": "sha512-v7/T6EQcNfVLfcN2X8Lulb7DjprieyLWJK/zOWH5DUYcAgex9sP3h25Q+DLsX9TloXe3y1O8l2q2Jv9q8UVB9w==", "dev": true, "requires": { "@babel/compat-data": "^7.13.11", - "@babel/helper-define-polyfill-provider": "^0.2.2", + "@babel/helper-define-polyfill-provider": "^0.3.1", "semver": "^6.1.1" - }, - "dependencies": { - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true - } } }, "babel-plugin-polyfill-corejs3": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.2.2.tgz", - "integrity": "sha512-l1Cf8PKk12eEk5QP/NQ6TH8A1pee6wWDJ96WjxrMXFLHLOBFzYM4moG80HFgduVhTqAFez4alnZKEhP/bYHg0A==", + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.5.1.tgz", + "integrity": "sha512-TihqEe4sQcb/QcPJvxe94/9RZuLQuF1+To4WqQcRvc+3J3gLCPIPgDKzGLG6zmQLfH3nn25heRuDNkS2KR4I8A==", "dev": true, "requires": { - "@babel/helper-define-polyfill-provider": "^0.2.2", - "core-js-compat": "^3.9.1" + "@babel/helper-define-polyfill-provider": "^0.3.1", + "core-js-compat": "^3.20.0" } }, "babel-plugin-polyfill-regenerator": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.2.2.tgz", - "integrity": "sha512-Goy5ghsc21HgPDFtzRkSirpZVW35meGoTmTOb2bxqdl60ghub4xOidgNTHaZfQ2FaxQsKmwvXtOAkcIS4SMBWg==", + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.3.1.tgz", + "integrity": "sha512-Y2B06tvgHYt1x0yz17jGkGeeMr5FeKUu+ASJ+N6nB5lQ8Dapfg42i0OVrf8PNGJ3zKL4A23snMi1IRwrqqND7A==", "dev": true, "requires": { - "@babel/helper-define-polyfill-provider": "^0.2.2" + "@babel/helper-define-polyfill-provider": "^0.3.1" } }, "balanced-match": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", - "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", "dev": true }, "big.js": { @@ -6333,9 +6443,9 @@ "dev": true }, "brace-expansion": { - "version": "1.1.8", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.8.tgz", - "integrity": "sha1-wHshHHyVLsH479Uad+8NHTmQopI=", + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", "dev": true, "requires": { "balanced-match": "^1.0.0", @@ -6343,22 +6453,22 @@ } }, "browserslist": { - "version": "4.16.6", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.16.6.tgz", - "integrity": "sha512-Wspk/PqO+4W9qp5iUTJsa1B/QrYn1keNCcEP5OvP7WBwT4KaDly0uONYmC6Xa3Z5IqnUgS0KcgLYu1l74x0ZXQ==", + "version": "4.19.1", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.19.1.tgz", + "integrity": "sha512-u2tbbG5PdKRTUoctO3NBD8FQ5HdPh1ZXPHzp1rwaa5jTc+RV9/+RlWiAIKmjRPQF+xbGM9Kklj5bZQFa2s/38A==", "dev": true, "requires": { - "caniuse-lite": "^1.0.30001219", - "colorette": "^1.2.2", - "electron-to-chromium": "^1.3.723", + "caniuse-lite": "^1.0.30001286", + "electron-to-chromium": "^1.4.17", "escalade": "^3.1.1", - "node-releases": "^1.1.71" + "node-releases": "^2.0.1", + "picocolors": "^1.0.0" } }, "buffer-from": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz", - "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==", + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", + "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", "dev": true }, "builtin-modules": { @@ -6378,9 +6488,9 @@ } }, "caniuse-lite": { - "version": "1.0.30001236", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001236.tgz", - "integrity": "sha512-o0PRQSrSCGJKCPZcgMzl5fUaj5xHe8qA2m4QRvnyY4e1lITqoNkr7q/Oh1NcpGSy0Th97UZ35yoKcINPoq7YOQ==", + "version": "1.0.30001300", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001300.tgz", + "integrity": "sha512-cVjiJHWGcNlJi8TZVKNMnvMid3Z3TTdDHmLDzlOdIiZq138Exvo0G+G0wTdVYolxKb4AYwC+38pxodiInVtJSA==", "dev": true }, "chalk": { @@ -6395,13 +6505,10 @@ } }, "chrome-trace-event": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.2.tgz", - "integrity": "sha512-9e/zx1jw7B4CO+c/RXoCsfg/x1AfUBioy4owYH0bJprEYAx5hRFLRhWBqHAG57D0ZM4H7vxbP7bPe0VwhQRYDQ==", - "dev": true, - "requires": { - "tslib": "^1.9.0" - } + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz", + "integrity": "sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg==", + "dev": true }, "cliui": { "version": "7.0.4", @@ -6441,15 +6548,15 @@ "dev": true }, "colorette": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/colorette/-/colorette-1.2.2.tgz", - "integrity": "sha512-MKGMzyfeuutC/ZJ1cba9NqcNpfeqMUcYmyF1ZFY6/Cn7CNSAKx6a+s48sqLqyAiZuaP2TcqMhoo+dlwFnVxT9w==", + "version": "2.0.16", + "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.16.tgz", + "integrity": "sha512-hUewv7oMjCp+wkBv5Rm0v87eJhq4woh5rSR+42YSQJKecCqgIqNkZ6lAlQms/BwHPJA5NKMRlpxPRv0n8HQW6g==", "dev": true }, "commander": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz", - "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==" + "version": "8.3.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-8.3.0.tgz", + "integrity": "sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==" }, "commondir": { "version": "1.0.1", @@ -6464,9 +6571,9 @@ "dev": true }, "convert-source-map": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.7.0.tgz", - "integrity": "sha512-4FJkXzKXEDB1snCFZlLP4gpC3JILicCpGbzG9f9G7tGqGCzETQ2hWPrcinA9oU4wtf2biUaEH5065UnMeR33oA==", + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.8.0.tgz", + "integrity": "sha512-+OQdjP49zViI/6i7nIJpA8rAl4sV/JdPfU9nZs3VqOwGIgizICvuN2ru6fMd+4llL0tar18UYJXfZ/TWtmhUjA==", "dev": true, "requires": { "safe-buffer": "~5.1.1" @@ -6485,23 +6592,15 @@ "through2": "^2.0.1", "untildify": "^4.0.0", "yargs": "^16.1.0" - }, - "dependencies": { - "mkdirp": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", - "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", - "dev": true - } } }, "core-js-compat": { - "version": "3.14.0", - "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.14.0.tgz", - "integrity": "sha512-R4NS2eupxtiJU+VwgkF9WTpnSfZW4pogwKHd8bclWU2sp93Pr5S1uYJI84cMOubJRou7bcfL0vmwtLslWN5p3A==", + "version": "3.20.3", + "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.20.3.tgz", + "integrity": "sha512-c8M5h0IkNZ+I92QhIpuSijOxGAcj3lgpsWdkCqmUTZNwidujF4r3pi6x1DCN+Vcs5qTS2XWWMfWSuCqyupX8gw==", "dev": true, "requires": { - "browserslist": "^4.16.6", + "browserslist": "^4.19.1", "semver": "7.0.0" }, "dependencies": { @@ -6514,9 +6613,9 @@ } }, "core-util-is": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", - "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=", + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", + "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==", "dev": true }, "cross-spawn": { @@ -6531,9 +6630,9 @@ } }, "debug": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", - "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", + "version": "4.3.3", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.3.tgz", + "integrity": "sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q==", "dev": true, "requires": { "ms": "2.1.2" @@ -6601,9 +6700,9 @@ } }, "electron-to-chromium": { - "version": "1.3.752", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.752.tgz", - "integrity": "sha512-2Tg+7jSl3oPxgsBsWKh5H83QazTkmWG/cnNwJplmyZc7KcN61+I10oUgaXSVk/NwfvN3BdkKDR4FYuRBQQ2v0A==", + "version": "1.4.47", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.47.tgz", + "integrity": "sha512-ZHc8i3/cgeCRK/vC7W2htAG6JqUmOUgDNn/f9yY9J8UjfLjwzwOVEt4MWmgJAdvmxyrsR5KIFA/6+kUHGY0eUA==", "dev": true }, "emoji-regex": { @@ -6619,9 +6718,9 @@ "dev": true }, "enhanced-resolve": { - "version": "5.8.0", - "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.8.0.tgz", - "integrity": "sha512-Sl3KRpJA8OpprrtaIswVki3cWPiPKxXuFxJXBp+zNb6s6VwNWwFRUdtmzd2ReUut8n+sCPx7QCtQ7w5wfJhSgQ==", + "version": "5.8.3", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.8.3.tgz", + "integrity": "sha512-EGAbGvH7j7Xt2nc0E7D99La1OiEs8LnyimkRgwExpUMScN6O+3x9tIWs7PLQZVNx4YD+00skHXPXi1yQHpAmZA==", "dev": true, "requires": { "graceful-fs": "^4.2.4", @@ -6635,27 +6734,31 @@ "dev": true }, "es-abstract": { - "version": "1.18.0", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.18.0.tgz", - "integrity": "sha512-LJzK7MrQa8TS0ja2w3YNLzUgJCGPdPOV1yVvezjNnS89D+VR08+Szt2mz3YB2Dck/+w5tfIq/RoUAFqJJGM2yw==", + "version": "1.19.1", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.19.1.tgz", + "integrity": "sha512-2vJ6tjA/UfqLm2MPs7jxVybLoB8i1t1Jd9R3kISld20sIxPcTbLuggQOUxeWeAvIUkduv/CfMjuh4WmiXr2v9w==", "dev": true, "requires": { "call-bind": "^1.0.2", "es-to-primitive": "^1.2.1", "function-bind": "^1.1.1", "get-intrinsic": "^1.1.1", + "get-symbol-description": "^1.0.0", "has": "^1.0.3", "has-symbols": "^1.0.2", - "is-callable": "^1.2.3", + "internal-slot": "^1.0.3", + "is-callable": "^1.2.4", "is-negative-zero": "^2.0.1", - "is-regex": "^1.1.2", - "is-string": "^1.0.5", - "object-inspect": "^1.9.0", + "is-regex": "^1.1.4", + "is-shared-array-buffer": "^1.0.1", + "is-string": "^1.0.7", + "is-weakref": "^1.0.1", + "object-inspect": "^1.11.0", "object-keys": "^1.1.1", "object.assign": "^4.1.2", "string.prototype.trimend": "^1.0.4", "string.prototype.trimstart": "^1.0.4", - "unbox-primitive": "^1.0.0" + "unbox-primitive": "^1.0.1" } }, "es-get-iterator": { @@ -6683,9 +6786,9 @@ } }, "es-module-lexer": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-0.4.1.tgz", - "integrity": "sha512-ooYciCUtfw6/d2w56UVeqHPcoCFAiJdz5XOkYpv/Txl1HMUozpXjz/2RIQgqwKdXNDPSF1W7mJCFse3G+HDyAA==", + "version": "0.9.3", + "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-0.9.3.tgz", + "integrity": "sha512-1HQ2M2sPtxwnvOvT1ZClHyQDiggdNjURWpY2we6aMKCQiUVxTmVs2UYPLIrD84sS+kMdUwfBSylbJPwNnBrnHQ==", "dev": true }, "es-to-primitive": { @@ -6742,9 +6845,9 @@ }, "dependencies": { "estraverse": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.2.0.tgz", - "integrity": "sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==", + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", "dev": true } } @@ -6762,15 +6865,15 @@ "dev": true }, "events": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/events/-/events-3.2.0.tgz", - "integrity": "sha512-/46HWwbfCX2xTawVfkKLGxMifJYQBWMwY1mjywRtb4c9x8l5NP3KoJtnIOiL1hfdRkIuYhETxQlo62IF8tcnlg==", + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", + "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==", "dev": true }, "execa": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/execa/-/execa-5.0.0.tgz", - "integrity": "sha512-ov6w/2LCiuyO4RLYGdpFGjkcs0wMTgGE8PrkTHikeUy5iJekXyPIKUjifk5CsE0pt7sMCrMZ3YNqoCj6idQOnQ==", + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", + "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", "dev": true, "requires": { "cross-spawn": "^7.0.3", @@ -6785,9 +6888,9 @@ } }, "fast-deep-equal": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.1.tgz", - "integrity": "sha512-8UEa58QDLauDNfpbrX55Q9jrGHThw2ZMdOky5Gl1CDtVeJDPVrG4Jxx1N8jw2gkWaff5UUuX1KJd+9zGe2B+ZA==", + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", "dev": true }, "fast-json-stable-stringify": { @@ -6803,9 +6906,9 @@ "dev": true }, "find-cache-dir": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.1.tgz", - "integrity": "sha512-t2GDMt3oGC/v+BMwzmllWDuJF/xcDtE5j/fCGbqDD7OLuJkj0cfh1YSA5VKPvwMeLFLNDBkwOKZ2X85jGLVftQ==", + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.2.tgz", + "integrity": "sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig==", "dev": true, "requires": { "commondir": "^1.0.1", @@ -6873,16 +6976,32 @@ "has-symbols": "^1.0.1" } }, + "get-package-type": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/get-package-type/-/get-package-type-0.1.0.tgz", + "integrity": "sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==", + "dev": true + }, "get-stream": { "version": "6.0.1", "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", "dev": true }, + "get-symbol-description": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.0.tgz", + "integrity": "sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.1.1" + } + }, "glob": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz", - "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==", + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz", + "integrity": "sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==", "dev": true, "requires": { "fs.realpath": "^1.0.0", @@ -6906,9 +7025,9 @@ "dev": true }, "graceful-fs": { - "version": "4.2.4", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.4.tgz", - "integrity": "sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw==", + "version": "4.2.9", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.9.tgz", + "integrity": "sha512-NtNxqUcXgpW2iMrfqSfR73Glt39K+BLwWsPs94yR63v45T0Wbej7eRmL5cWfwEgqXnmjQp3zaJTshdRW/qC2ZQ==", "dev": true }, "has": { @@ -6926,6 +7045,16 @@ "integrity": "sha512-LSBS2LjbNBTf6287JEbEzvJgftkF5qFkmCo9hDRpAzKhUOlJ+hx8dd4USs00SgsUNwc4617J9ki5YtEClM2ffA==", "dev": true }, + "has-dynamic-import": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/has-dynamic-import/-/has-dynamic-import-2.0.1.tgz", + "integrity": "sha512-X3fbtsZmwb6W7fJGR9o7x65fZoodygCrZ3TVycvghP62yYQfS0t4RS0Qcz+j5tQYUKeSWS09tHkWW6WhFV3XhQ==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.1.1" + } + }, "has-flag": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", @@ -6938,6 +7067,15 @@ "integrity": "sha512-chXa79rL/UC2KlX17jo3vRGz0azaWEx5tGqZg5pO3NUyEJVB17dMruQlzCCOfUvElghKcm5194+BCRvi2Rv/Gw==", "dev": true }, + "has-tostringtag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz", + "integrity": "sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==", + "dev": true, + "requires": { + "has-symbols": "^1.0.2" + } + }, "human-signals": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", @@ -6945,9 +7083,9 @@ "dev": true }, "import-local": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.0.2.tgz", - "integrity": "sha512-vjL3+w0oulAVZ0hBHnxa/Nm5TAurf9YLQJDhqRZyqb+VKGOB6LU8t9H1Nr5CIo16vh9XfJTOoHwU0B71S557gA==", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.1.0.tgz", + "integrity": "sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg==", "dev": true, "requires": { "pkg-dir": "^4.2.0", @@ -6965,11 +7103,22 @@ } }, "inherits": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", - "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", "dev": true }, + "internal-slot": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.3.tgz", + "integrity": "sha512-O0DB1JC/sPyZl7cIo78n5dR7eUSwwpYPiXRhTzNxZVAMUuB8vlnRFyLxdrVToks6XPLVnFfbzaVd5WLjhgg+vA==", + "dev": true, + "requires": { + "get-intrinsic": "^1.1.0", + "has": "^1.0.3", + "side-channel": "^1.0.4" + } + }, "interpret": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/interpret/-/interpret-2.2.0.tgz", @@ -6977,49 +7126,57 @@ "dev": true }, "is-arguments": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.1.0.tgz", - "integrity": "sha512-1Ij4lOMPl/xB5kBDn7I+b2ttPMKa8szhEIrXDuXQD/oe3HJLTLhqhgGspwgyGd6MOywBUqVvYicF72lkgDnIHg==", + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.1.1.tgz", + "integrity": "sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA==", "dev": true, "requires": { - "call-bind": "^1.0.0" + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" } }, "is-bigint": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.1.tgz", - "integrity": "sha512-J0ELF4yHFxHy0cmSxZuheDOz2luOdVvqjwmEcj8H/L1JHeuEDSDbeRP+Dk9kFVk5RTFzbucJ2Kb9F7ixY2QaCg==", - "dev": true + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz", + "integrity": "sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==", + "dev": true, + "requires": { + "has-bigints": "^1.0.1" + } }, "is-boolean-object": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.0.tgz", - "integrity": "sha512-a7Uprx8UtD+HWdyYwnD1+ExtTgqQtD2k/1yJgtXP6wnMm8byhkoTZRl+95LLThpzNZJ5aEvi46cdH+ayMFRwmA==", + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz", + "integrity": "sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==", "dev": true, "requires": { - "call-bind": "^1.0.0" + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" } }, "is-callable": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.3.tgz", - "integrity": "sha512-J1DcMe8UYTBSrKezuIUTUwjXsho29693unXM2YhJUTR2txK/eG47bvNa/wipPFmZFgr/N6f1GA66dv0mEyTIyQ==", + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.4.tgz", + "integrity": "sha512-nsuwtxZfMX67Oryl9LCQ+upnC0Z0BgpwntpS89m1H/TLF0zNfzfLMV/9Wa/6MZsj0acpEjAO0KF1xT6ZdLl95w==", "dev": true }, "is-core-module": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.2.0.tgz", - "integrity": "sha512-XRAfAdyyY5F5cOXn7hYQDqh2Xmii+DEfIcQGxK/uNwMHhIkPWO0g8msXcbzLe+MpGoR951MlqM/2iIlU4vKDdQ==", + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.8.1.tgz", + "integrity": "sha512-SdNCUs284hr40hFTFP6l0IfZ/RSrMXF3qgoRHd3/79unUTvrFO/JoXwkGm+5J/Oe3E/b5GsnG330uUNgRpu1PA==", "dev": true, "requires": { "has": "^1.0.3" } }, "is-date-object": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.2.tgz", - "integrity": "sha512-USlDT524woQ08aoZFzh3/Z6ch9Y/EWXEHQ/AaRN0SkKq4t2Jw2R2339tSXmwuVoY7LLlBCbOIlx2myP/L5zk0g==", - "dev": true + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz", + "integrity": "sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==", + "dev": true, + "requires": { + "has-tostringtag": "^1.0.0" + } }, "is-fullwidth-code-point": { "version": "3.0.0", @@ -7034,16 +7191,19 @@ "dev": true }, "is-negative-zero": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.1.tgz", - "integrity": "sha512-2z6JzQvZRa9A2Y7xC6dQQm4FSTSTNWjKIYYTt4246eMTJmIo0Q+ZyOsU66X8lxK1AbB92dFeglPLrhwpeRKO6w==", + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.2.tgz", + "integrity": "sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==", "dev": true }, "is-number-object": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.4.tgz", - "integrity": "sha512-zohwelOAur+5uXtk8O3GPQ1eAcu4ZX3UwxQhUlfFFMNpUd83gXgjbhJh6HmB6LUNV/ieOLQuDwJO3dWJosUeMw==", - "dev": true + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.6.tgz", + "integrity": "sha512-bEVOqiRcvo3zO1+G2lVMy+gkkEm9Yh7cDMRusKKu5ZJKPUYSJwICTKZrNKHA2EbSP0Tu0+6B/emsYNHZyn6K8g==", + "dev": true, + "requires": { + "has-tostringtag": "^1.0.0" + } }, "is-plain-object": { "version": "2.0.4", @@ -7055,13 +7215,13 @@ } }, "is-regex": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.2.tgz", - "integrity": "sha512-axvdhb5pdhEVThqJzYXwMlVuZwC+FF2DpcOhTS+y/8jVq4trxyPgfcwIxIKiyeuLlSQYKkmUaPQJ8ZE4yNKXDg==", + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz", + "integrity": "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==", "dev": true, "requires": { "call-bind": "^1.0.2", - "has-symbols": "^1.0.1" + "has-tostringtag": "^1.0.0" } }, "is-set": { @@ -7070,38 +7230,47 @@ "integrity": "sha512-+2cnTEZeY5z/iXGbLhPrOAaK/Mau5k5eXq9j14CpRTftq0pAJu2MwVRSZhyZWBzx3o6X795Lz6Bpb6R0GKf37g==", "dev": true }, + "is-shared-array-buffer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.1.tgz", + "integrity": "sha512-IU0NmyknYZN0rChcKhRO1X8LYz5Isj/Fsqh8NJOSf+N/hCOTwy29F32Ik7a+QszE63IdvmwdTPDd6cZ5pg4cwA==", + "dev": true + }, "is-stream": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.0.tgz", - "integrity": "sha512-XCoy+WlUr7d1+Z8GgSuXmpuUFC9fOhRXglJMx+dwLKTkL44Cjd4W1Z5P+BQZpr+cR93aGP4S/s7Ftw6Nd/kiEw==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", + "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", "dev": true }, "is-string": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.5.tgz", - "integrity": "sha512-buY6VNRjhQMiF1qWDouloZlQbRhDPCebwxSjxMjxgemYT46YMd2NR0/H+fBhEfWX4A/w9TBJ+ol+okqJKFE6vQ==", - "dev": true + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz", + "integrity": "sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==", + "dev": true, + "requires": { + "has-tostringtag": "^1.0.0" + } }, "is-symbol": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.3.tgz", - "integrity": "sha512-OwijhaRSgqvhm/0ZdAcXNZt9lYdKFpcRDT5ULUuYXPoT794UNOdU+gpT6Rzo7b4V2HUl/op6GqY894AZwv9faQ==", + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz", + "integrity": "sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==", "dev": true, "requires": { - "has-symbols": "^1.0.1" + "has-symbols": "^1.0.2" } }, "is-typed-array": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.5.tgz", - "integrity": "sha512-S+GRDgJlR3PyEbsX/Fobd9cqpZBuvUS+8asRqYDMLCb2qMzt1oz5m5oxQCxOgUDxiWsOVNi4yaF+/uvdlHlYug==", + "version": "1.1.8", + "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.8.tgz", + "integrity": "sha512-HqH41TNZq2fgtGT8WHVFVJhBVGuY3AnP3Q36K8JKXUxSxRgk/d+7NjmwG2vo2mYmXK8UYZKu0qH8bVP5gEisjA==", "dev": true, "requires": { - "available-typed-arrays": "^1.0.2", + "available-typed-arrays": "^1.0.5", "call-bind": "^1.0.2", - "es-abstract": "^1.18.0-next.2", + "es-abstract": "^1.18.5", "foreach": "^2.0.5", - "has-symbols": "^1.0.1" + "has-tostringtag": "^1.0.0" } }, "is-weakmap": { @@ -7110,11 +7279,24 @@ "integrity": "sha512-NSBR4kH5oVj1Uwvv970ruUkCV7O1mzgVFO4/rev2cLRda9Tm9HrL70ZPut4rOHgY0FNrUu9BCbXA2sdQ+x0chA==", "dev": true }, + "is-weakref": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.2.tgz", + "integrity": "sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==", + "dev": true, + "requires": { + "call-bind": "^1.0.2" + } + }, "is-weakset": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-weakset/-/is-weakset-2.0.1.tgz", - "integrity": "sha512-pi4vhbhVHGLxohUw7PhGsueT4vRGFoXhP7+RGN0jKIv9+8PWYCQTqtADngrxOm2g46hoH0+g8uZZBzMrvVGDmw==", - "dev": true + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/is-weakset/-/is-weakset-2.0.2.tgz", + "integrity": "sha512-t2yVvttHkQktwnNNmBQ98AhENLdPUTDTE21uPqAQ0ARwQfGeQKRVS0NNurH7bTf7RrvcVn1OOge45CnBeHCSmg==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.1.1" + } }, "isarray": { "version": "0.0.1", @@ -7135,9 +7317,9 @@ "dev": true }, "jest-worker": { - "version": "27.0.2", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.0.2.tgz", - "integrity": "sha512-EoBdilOTTyOgmHXtw/cPc+ZrCA0KJMrkXzkrPGNwLmnvvlN1nj7MPrxpT7m+otSv2e1TLaVffzDnE/LB14zJMg==", + "version": "27.4.6", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.4.6.tgz", + "integrity": "sha512-gHWJF/6Xi5CTG5QCvROr6GcmpIqNYpDJyc8A1h/DyXqH1tD6SnRCM0d3U5msV31D2LB/U+E0M+W4oyvKV44oNw==", "dev": true, "requires": { "@types/node": "*", @@ -7169,9 +7351,9 @@ "dev": true }, "js-yaml": { - "version": "3.13.1", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.13.1.tgz", - "integrity": "sha512-YfbcO7jXDdyj0DGxYVSlSeQNHbD7XPWvrVWeVUujrQEoZzWJIRrCPoyk6kL6IAjAG2IolMK4T0hNUe0HOUs5Jw==", + "version": "3.14.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", + "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", "dev": true, "requires": { "argparse": "^1.0.7", @@ -7197,12 +7379,12 @@ "dev": true }, "json5": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", - "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.0.tgz", + "integrity": "sha512-f+8cldu7X/y7RAJurMEJmdoKXGB/X550w2Nr3tTbezL6RwEE/iMcm+tZnXeoZtKuOq6ft8+CqzEkrIgx1fPoQA==", "dev": true, "requires": { - "minimist": "^1.2.0" + "minimist": "^1.2.5" } }, "kind-of": { @@ -7226,6 +7408,17 @@ "big.js": "^5.2.2", "emojis-list": "^3.0.0", "json5": "^1.0.1" + }, + "dependencies": { + "json5": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", + "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", + "dev": true, + "requires": { + "minimist": "^1.2.0" + } + } } }, "locate-path": { @@ -7250,14 +7443,6 @@ "dev": true, "requires": { "semver": "^6.0.0" - }, - "dependencies": { - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true - } } }, "merge-stream": { @@ -7267,23 +7452,23 @@ "dev": true }, "mhchemparser": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/mhchemparser/-/mhchemparser-4.1.0.tgz", - "integrity": "sha512-rFj6nGMLJQQ0WcDw3j4LY/kWCq1EftcsarQWnDg38U47XMR36Tlda19WsN4spHr0Qc9Wn4oj6YtvXuwVnOKC/g==" + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/mhchemparser/-/mhchemparser-4.1.1.tgz", + "integrity": "sha512-R75CUN6O6e1t8bgailrF1qPq+HhVeFTM3XQ0uzI+mXTybmphy3b6h4NbLOYhemViQ3lUs+6CKRkC3Ws1TlYREA==" }, "mime-db": { - "version": "1.44.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.44.0.tgz", - "integrity": "sha512-/NOTfLrsPBVeH7YtFPgsVWveuL+4SjjYxaQ1xtM1KMFj7HdxlBlxeyNLzhyJVx7r4rZGJAZ/6lkKCitSc/Nmpg==", + "version": "1.51.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.51.0.tgz", + "integrity": "sha512-5y8A56jg7XVQx2mbv1lu49NR4dokRnhZYTtL+KGfaa27uq4pSTXkwQkFJl4pkRMyNFz/EtYDSkiiEHx3F7UN6g==", "dev": true }, "mime-types": { - "version": "2.1.27", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.27.tgz", - "integrity": "sha512-JIhqnCasI9yD+SsmkquHBxTSEuZdQX5BuQnS2Vc7puQQQ+8yiP5AY5uWhpdv4YL4VM5c6iliiYWPgJ/nJQLp7w==", + "version": "2.1.34", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.34.tgz", + "integrity": "sha512-6cP692WwGIs9XXdOO4++N+7qjqv0rqxxVvJ3VHPh/Sc9mVZcQP+ZGhkKiTvWMQRr2tbHkJP/Yn7Y0npb3ZBs4A==", "dev": true, "requires": { - "mime-db": "1.44.0" + "mime-db": "1.51.0" } }, "mimic-fn": { @@ -7313,13 +7498,10 @@ "integrity": "sha512-7NO5s6n10TIV96d4g2uDpG7ZDpIhMh0QNfGdJw/W47JswFcosz457wqz/b5sAKvl12sxINGFCn80NZHKwxQEXA==" }, "mkdirp": { - "version": "0.5.5", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", - "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==", - "dev": true, - "requires": { - "minimist": "^1.2.5" - } + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", + "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", + "dev": true }, "ms": { "version": "2.1.2", @@ -7334,9 +7516,9 @@ "dev": true }, "node-releases": { - "version": "1.1.71", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.71.tgz", - "integrity": "sha512-zR6HoT6LrLCRBwukmrVbHv0EpEQjksO6GmFcZQQuCAy139BEsoVKPYnf3jongYW83fAa1torLGYwxxky/p28sg==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.1.tgz", + "integrity": "sha512-CqyzN6z7Q6aMeF/ktcMVTzhAHCEpf8SOarwpzpf8pNBY2k5/oM34UHldUwp8VKI7uxct2HxSRdJjBaZeESzcxA==", "dev": true }, "noms": { @@ -7359,9 +7541,9 @@ } }, "object-inspect": { - "version": "1.10.2", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.10.2.tgz", - "integrity": "sha512-gz58rdPpadwztRrPjZE9DZLOABUpTGdcANUgOwBFO1C+HZZhePoP83M65WGDmbpwFYJSWqavbl4SgDn4k8RYTA==", + "version": "1.12.0", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.0.tgz", + "integrity": "sha512-Ho2z80bVIvJloH+YzRmpZVQe87+qASmBUKZDWgx9cu+KDrX2ZDH/3tMy+gXbZETVGs2M8YdxObOh7XAtim9Y0g==", "dev": true }, "object-is": { @@ -7453,9 +7635,15 @@ "dev": true }, "path-parse": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz", - "integrity": "sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==", + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", + "dev": true + }, + "picocolors": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", + "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==", "dev": true }, "pkg-dir": { @@ -7501,9 +7689,9 @@ } }, "rechoir": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.7.0.tgz", - "integrity": "sha512-ADsDEH2bvbjltXEP+hTIAmeFekTFK0V2BTxMkok6qILyAJEXV0AFfoWcAq4yfll5VdIMd/RVXq0lR+wQi5ZU3Q==", + "version": "0.7.1", + "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.7.1.tgz", + "integrity": "sha512-/njmZ8s1wVeR6pjTZ+0nCnv8SpZNRMT2D1RLOJQESlYFDBvwpTA4KWJpZ+sBJ4+vhjILRcK7JIFdGCdxEAAitg==", "dev": true, "requires": { "resolve": "^1.9.0" @@ -7516,18 +7704,18 @@ "dev": true }, "regenerate-unicode-properties": { - "version": "8.2.0", - "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-8.2.0.tgz", - "integrity": "sha512-F9DjY1vKLo/tPePDycuH3dn9H1OTPIkVD9Kz4LODu+F2C75mgjAJ7x/gwy6ZcSNRAAkhNlJSOHRe8k3p+K9WhA==", + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-9.0.0.tgz", + "integrity": "sha512-3E12UeNSPfjrgwjkR81m5J7Aw/T55Tu7nUyZVQYCKEOs+2dkxEY+DpPtZzO4YruuiPb7NkYLVcyJC4+zCbk5pA==", "dev": true, "requires": { - "regenerate": "^1.4.0" + "regenerate": "^1.4.2" } }, "regenerator-runtime": { - "version": "0.13.7", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.7.tgz", - "integrity": "sha512-a54FxoJDIr27pgf7IgeQGxmqUNYrcV338lf/6gH456HZ/PhX+5BcwHXG9ajESmwe6WRO0tAzRUrRmNONWgkrew==", + "version": "0.13.9", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.9.tgz", + "integrity": "sha512-p3VT+cOEgxFsRRA9X4lkI1E+k2/CtnKtU4gcxyaCUreilL/vqI6CdZ3wxVUx3UOUg+gnUOQQcRI7BmSI656MYA==", "dev": true }, "regenerator-transform": { @@ -7540,9 +7728,9 @@ } }, "regexp.prototype.flags": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.3.1.tgz", - "integrity": "sha512-JiBdRBq91WlY7uRJ0ds7R+dU02i6LKi8r3BuQhNXn+kmeLN+EfHhfjqMRis1zJxnlu88hq/4dx0P2OP3APRTOA==", + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.4.1.tgz", + "integrity": "sha512-pMR7hBVUUGI7PMA37m2ofIdQCsomVnas+Jn5UPGAHQ+/LlwKm/aTLJHdasmHRzlfeZwHiAOaRSo2rbBDm3nNUQ==", "dev": true, "requires": { "call-bind": "^1.0.2", @@ -7550,17 +7738,17 @@ } }, "regexpu-core": { - "version": "4.7.1", - "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-4.7.1.tgz", - "integrity": "sha512-ywH2VUraA44DZQuRKzARmw6S66mr48pQVva4LBeRhcOltJ6hExvWly5ZjFLYo67xbIxb6W1q4bAGtgfEl20zfQ==", + "version": "4.8.0", + "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-4.8.0.tgz", + "integrity": "sha512-1F6bYsoYiz6is+oz70NWur2Vlh9KWtswuRuzJOfeYUrfPX2o8n74AnUVaOGDbUqVGO9fNHu48/pjJO4sNVwsOg==", "dev": true, "requires": { - "regenerate": "^1.4.0", - "regenerate-unicode-properties": "^8.2.0", - "regjsgen": "^0.5.1", - "regjsparser": "^0.6.4", - "unicode-match-property-ecmascript": "^1.0.4", - "unicode-match-property-value-ecmascript": "^1.2.0" + "regenerate": "^1.4.2", + "regenerate-unicode-properties": "^9.0.0", + "regjsgen": "^0.5.2", + "regjsparser": "^0.7.0", + "unicode-match-property-ecmascript": "^2.0.0", + "unicode-match-property-value-ecmascript": "^2.0.0" } }, "regjsgen": { @@ -7570,9 +7758,9 @@ "dev": true }, "regjsparser": { - "version": "0.6.9", - "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.6.9.tgz", - "integrity": "sha512-ZqbNRz1SNjLAiYuwY0zoXW8Ne675IX5q+YHioAGbCw4X96Mjl2+dcX9B2ciaeyYjViDAfvIjFpQjJgLttTEERQ==", + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.7.0.tgz", + "integrity": "sha512-A4pcaORqmNMDVwUjWoTzuhwMGpP+NykpfqAsEgI1FSH/EzC7lrN5TMd+kN8YCovX+jMpu8eaqXgXPCa0g8FQNQ==", "dev": true, "requires": { "jsesc": "~0.5.0" @@ -7593,13 +7781,14 @@ "dev": true }, "resolve": { - "version": "1.20.0", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.20.0.tgz", - "integrity": "sha512-wENBPt4ySzg4ybFQW2TT1zMQucPK95HSh/nq2CFTZVOGut2+pQvSsgtda4d26YrYcr067wjbmzOG8byDPBX63A==", + "version": "1.21.0", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.21.0.tgz", + "integrity": "sha512-3wCbTpk5WJlyE4mSOtDLhqQmGFi0/TD9VPwmiolnk8U0wRgMEktqCXd3vy5buTO3tljvalNvKrjHEfrd2WpEKA==", "dev": true, "requires": { - "is-core-module": "^2.2.0", - "path-parse": "^1.0.6" + "is-core-module": "^2.8.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" } }, "resolve-cwd": { @@ -7633,22 +7822,6 @@ "dev": true, "requires": { "glob": "^7.1.3" - }, - "dependencies": { - "glob": { - "version": "7.1.6", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", - "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", - "dev": true, - "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - } - } } }, "safe-buffer": { @@ -7658,40 +7831,26 @@ "dev": true }, "schema-utils": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.0.0.tgz", - "integrity": "sha512-6D82/xSzO094ajanoOSbe4YvXWMfn2A//8Y1+MUqFAJul5Bs+yn36xbK9OtNDcRVSBJ9jjeoXftM6CfztsjOAA==", + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.1.tgz", + "integrity": "sha512-SHiNtMOUGWBQJwzISiVYKu82GiV4QYGePp3odlY1tuKO7gPtphAT5R/py0fA6xtbgLL/RvtJZnU9b8s0F1q0Xg==", "dev": true, "requires": { - "@types/json-schema": "^7.0.6", - "ajv": "^6.12.5", + "@types/json-schema": "^7.0.5", + "ajv": "^6.12.4", "ajv-keywords": "^3.5.2" - }, - "dependencies": { - "@types/json-schema": { - "version": "7.0.6", - "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.6.tgz", - "integrity": "sha512-3c+yGKvVP5Y9TYBEibGNR+kLtijnj7mYrXRg+WpFb2X9xm04g/DXYkfg4hmzJQosc9snFNUPkbYIhu+KAm6jJw==", - "dev": true - }, - "ajv-keywords": { - "version": "3.5.2", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", - "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", - "dev": true - } } }, "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", "dev": true }, "serialize-javascript": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-5.0.1.tgz", - "integrity": "sha512-SaaNal9imEO737H2c05Og0/8LUXG7EnsZyMa8MzkmuHoELfT6txuj0cMqRj6zfPKnmQ1yasR4PCJc8x+M4JSPA==", + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.0.tgz", + "integrity": "sha512-Qr3TosvguFt8ePWqsvRfrKyQXIiW+nGbYpy8XK24NQHE83caxWt+mIymTT19DGFbNWNLfEwsrkSmN64lVWB9ag==", "dev": true, "requires": { "randombytes": "^2.1.0" @@ -7733,15 +7892,9 @@ } }, "signal-exit": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.3.tgz", - "integrity": "sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA==", - "dev": true - }, - "source-list-map": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/source-list-map/-/source-list-map-2.0.1.tgz", - "integrity": "sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw==", + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.6.tgz", + "integrity": "sha512-sDl4qMFpijcGw22U5w63KmD3cZJfBuFlVNbVMKje2keoKML7X2UzWbc4XrmEbDwg0NXJc3yv4/ox7b+JWb57kQ==", "dev": true }, "source-map": { @@ -7751,9 +7904,9 @@ "dev": true }, "source-map-support": { - "version": "0.5.19", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.19.tgz", - "integrity": "sha512-Wonm7zOCIJzBGQdB+thsPar0kYuCIzYvxZwlBa87yi/Mdjv7Tip2cyVbLj5o0cFPN4EVkuTwb3GDDyUx2DGnGw==", + "version": "0.5.21", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", + "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", "dev": true, "requires": { "buffer-from": "^1.0.0", @@ -7769,13 +7922,13 @@ } }, "speech-rule-engine": { - "version": "3.3.3", - "resolved": "https://registry.npmjs.org/speech-rule-engine/-/speech-rule-engine-3.3.3.tgz", - "integrity": "sha512-0exWw+0XauLjat+f/aFeo5T8SiDsO1JtwpY3qgJE4cWt+yL/Stl0WP4VNDWdh7lzGkubUD9lWP4J1ASnORXfyQ==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/speech-rule-engine/-/speech-rule-engine-4.0.0.tgz", + "integrity": "sha512-OffLj/HyLC9/6X4+aUig8+U3wpCyc4g7DkBD7nPsSg7qdNYhSiyV0u00AQvtZnqzrNLeWwO1/8UQmp1xIY+Juw==", "requires": { - "commander": ">=7.0.0", - "wicked-good-xpath": "^1.3.0", - "xmldom-sre": "^0.1.31" + "commander": "8.3.0", + "wicked-good-xpath": "1.3.0", + "xmldom-sre": "0.1.31" } }, "sprintf-js": { @@ -7791,25 +7944,25 @@ "dev": true }, "string-width": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.2.tgz", - "integrity": "sha512-XBJbT3N4JhVumXE0eoLU9DCjcaF92KLNqTmFCnG1pf8duUxFGwtP6AD6nkjw9a3IdiRtL3E2w3JDiE/xi3vOeA==", + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", "dev": true, "requires": { "emoji-regex": "^8.0.0", "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.0" + "strip-ansi": "^6.0.1" } }, "string.prototype.trim": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.4.tgz", - "integrity": "sha512-hWCk/iqf7lp0/AgTF7/ddO1IWtSNPASjlzCicV5irAVdE1grjsneK26YG6xACMBEdCvO8fUST0UzDMh/2Qy+9Q==", + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.5.tgz", + "integrity": "sha512-Lnh17webJVsD6ECeovpVN17RlAKjmz4rF9S+8Y45CkMc/ufVpTkU3vZIyIC7sllQ1FCvObZnnCdNs/HXTUOTlg==", "dev": true, "requires": { "call-bind": "^1.0.2", "define-properties": "^1.1.3", - "es-abstract": "^1.18.0-next.2" + "es-abstract": "^1.19.1" } }, "string.prototype.trimend": { @@ -7833,12 +7986,12 @@ } }, "strip-ansi": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", - "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", "dev": true, "requires": { - "ansi-regex": "^5.0.0" + "ansi-regex": "^5.0.1" } }, "strip-final-newline": { @@ -7856,57 +8009,47 @@ "has-flag": "^3.0.0" } }, + "supports-preserve-symlinks-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", + "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", + "dev": true + }, "tapable": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.0.tgz", - "integrity": "sha512-FBk4IesMV1rBxX2tfiK8RAmogtWn53puLOQlvO8XuwlgxcYbP4mVPS9Ph4aeamSyyVjOl24aYWAuc8U5kCVwMw==", + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz", + "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==", "dev": true }, "tape": { - "version": "5.2.2", - "resolved": "https://registry.npmjs.org/tape/-/tape-5.2.2.tgz", - "integrity": "sha512-grXrzPC1ly2kyTMKdqxh5GiLpb0BpNctCuecTB0psHX4Gu0nc+uxWR4xKjTh/4CfQlH4zhvTM2/EXmHXp6v/uA==", + "version": "5.4.1", + "resolved": "https://registry.npmjs.org/tape/-/tape-5.4.1.tgz", + "integrity": "sha512-7bGaJ3WnQ/CX3xOWzlR+9lNptEWoD+11gyREP8k+SYrDu2a20EifKpTmZndXn25ZRxesYHSuNtE7Fb+THcjfGA==", "dev": true, "requires": { + "array.prototype.every": "^1.1.3", "call-bind": "^1.0.2", "deep-equal": "^2.0.5", "defined": "^1.0.0", "dotignore": "^0.1.2", "for-each": "^0.3.3", - "glob": "^7.1.6", + "get-package-type": "^0.1.0", + "glob": "^7.2.0", "has": "^1.0.3", + "has-dynamic-import": "^2.0.1", "inherits": "^2.0.4", - "is-regex": "^1.1.2", + "is-regex": "^1.1.4", "minimist": "^1.2.5", - "object-inspect": "^1.9.0", + "object-inspect": "^1.12.0", "object-is": "^1.1.5", + "object-keys": "^1.1.1", "object.assign": "^4.1.2", "resolve": "^2.0.0-next.3", "resumer": "^0.0.0", - "string.prototype.trim": "^1.2.4", + "string.prototype.trim": "^1.2.5", "through": "^2.3.8" }, "dependencies": { - "glob": { - "version": "7.1.6", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", - "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", - "dev": true, - "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - } - }, - "inherits": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", - "dev": true - }, "resolve": { "version": "2.0.0-next.3", "resolved": "https://registry.npmjs.org/resolve/-/resolve-2.0.0-next.3.tgz", @@ -7920,14 +8063,14 @@ } }, "terser": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/terser/-/terser-5.7.0.tgz", - "integrity": "sha512-HP5/9hp2UaZt5fYkuhNBR8YyRcT8juw8+uFbAme53iN9hblvKnLUTKkmwJG6ocWpIKf8UK4DoeWG4ty0J6S6/g==", + "version": "5.10.0", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.10.0.tgz", + "integrity": "sha512-AMmF99DMfEDiRJfxfY5jj5wNH/bYO09cniSqhfoyxc8sFoYIgkJy86G04UoZU5VjlpnplVu0K6Tx6E9b5+DlHA==", "dev": true, "requires": { "commander": "^2.20.0", "source-map": "~0.7.2", - "source-map-support": "~0.5.19" + "source-map-support": "~0.5.20" }, "dependencies": { "commander": { @@ -7945,26 +8088,27 @@ } }, "terser-webpack-plugin": { - "version": "5.1.3", - "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.1.3.tgz", - "integrity": "sha512-cxGbMqr6+A2hrIB5ehFIF+F/iST5ZOxvOmy9zih9ySbP1C2oEWQSOUS+2SNBTjzx5xLKO4xnod9eywdfq1Nb9A==", + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.0.tgz", + "integrity": "sha512-LPIisi3Ol4chwAaPP8toUJ3L4qCM1G0wao7L3qNv57Drezxj6+VEyySpPw4B1HSO2Eg/hDY/MNF5XihCAoqnsQ==", "dev": true, "requires": { - "jest-worker": "^27.0.2", - "p-limit": "^3.1.0", - "schema-utils": "^3.0.0", - "serialize-javascript": "^5.0.1", + "jest-worker": "^27.4.1", + "schema-utils": "^3.1.1", + "serialize-javascript": "^6.0.0", "source-map": "^0.6.1", - "terser": "^5.7.0" + "terser": "^5.7.2" }, "dependencies": { - "p-limit": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", - "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "schema-utils": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz", + "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==", "dev": true, "requires": { - "yocto-queue": "^0.1.0" + "@types/json-schema": "^7.0.8", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" } }, "source-map": { @@ -8030,9 +8174,9 @@ "dev": true }, "tslib": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.11.1.tgz", - "integrity": "sha512-aZW88SY8kQbU7gpV19lN24LtXh/yD4ZZg6qieAJDDg+YBsJcSmLGK9QpnUjAKVG/xefmvJGd1WUmfpT/g6AJGA==", + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", "dev": true }, "tslint": { @@ -8068,10 +8212,19 @@ "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==", "dev": true }, - "tslib": { - "version": "1.13.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.13.0.tgz", - "integrity": "sha512-i/6DQjL8Xf3be4K/E6Wgpekn5Qasl1usyw++dAA35Ue5orEn65VIxOA+YvNNl9HV3qv70T7CNwjODHZrLwvd1Q==", + "mkdirp": { + "version": "0.5.5", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", + "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==", + "dev": true, + "requires": { + "minimist": "^1.2.5" + } + }, + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", "dev": true } } @@ -8097,6 +8250,21 @@ "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==", "dev": true }, + "mkdirp": { + "version": "0.5.5", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", + "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==", + "dev": true, + "requires": { + "minimist": "^1.2.5" + } + }, + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true + }, "tslint": { "version": "5.20.1", "resolved": "https://registry.npmjs.org/tslint/-/tslint-5.20.1.tgz", @@ -8141,6 +8309,21 @@ "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==", "dev": true }, + "mkdirp": { + "version": "0.5.5", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", + "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==", + "dev": true, + "requires": { + "minimist": "^1.2.5" + } + }, + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true + }, "tslint": { "version": "5.20.1", "resolved": "https://registry.npmjs.org/tslint/-/tslint-5.20.1.tgz", @@ -8174,9 +8357,9 @@ } }, "typescript": { - "version": "4.3.2", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.3.2.tgz", - "integrity": "sha512-zZ4hShnmnoVnAHpVHWpTcxdv7dWP60S2FsydQLV8V5PbS3FifjWFFRiHSWpDJahly88PRyV5teTSLoq4eG7mKw==", + "version": "4.5.4", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.5.4.tgz", + "integrity": "sha512-VgYs2A2QIRuGphtzFV7aQJduJ2gyfTljngLzjpfW9FoYZF6xuw1W0vW9ghCKLfcWrCFxK81CSGRAvS1pn4fIUg==", "dev": true }, "typescript-tools": { @@ -8198,31 +8381,31 @@ } }, "unicode-canonical-property-names-ecmascript": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-1.0.4.tgz", - "integrity": "sha512-jDrNnXWHd4oHiTZnx/ZG7gtUTVp+gCcTTKr8L0HjlwphROEW3+Him+IpvC+xcJEFegapiMZyZe02CyuOnRmbnQ==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.0.tgz", + "integrity": "sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ==", "dev": true }, "unicode-match-property-ecmascript": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-1.0.4.tgz", - "integrity": "sha512-L4Qoh15vTfntsn4P1zqnHulG0LdXgjSO035fEpdtp6YxXhMT51Q6vgM5lYdG/5X3MjS+k/Y9Xw4SFCY9IkR0rg==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-2.0.0.tgz", + "integrity": "sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==", "dev": true, "requires": { - "unicode-canonical-property-names-ecmascript": "^1.0.4", - "unicode-property-aliases-ecmascript": "^1.0.4" + "unicode-canonical-property-names-ecmascript": "^2.0.0", + "unicode-property-aliases-ecmascript": "^2.0.0" } }, "unicode-match-property-value-ecmascript": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-1.2.0.tgz", - "integrity": "sha512-wjuQHGQVofmSJv1uVISKLE5zO2rNGzM/KCYZch/QQvez7C1hUhBIuZ701fYXExuufJFMPhv2SyL8CyoIfMLbIQ==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.0.0.tgz", + "integrity": "sha512-7Yhkc0Ye+t4PNYzOGKedDhXbYIBe1XEQYQxOPyhcXNMJ0WCABqqj6ckydd6pWRZTHV4GuCPKdBAUiMc60tsKVw==", "dev": true }, "unicode-property-aliases-ecmascript": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-1.1.0.tgz", - "integrity": "sha512-PqSoPh/pWetQ2phoj5RLiaqIk4kCNwoV3CI+LfGmWLKI3rE3kl1h59XpX2BjgDrmbxD9ARtQobPGU1SguCYuQg==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.0.0.tgz", + "integrity": "sha512-5Zfuy9q/DFr4tfO7ZPeVXb1aPoeQSdeFMLpYuFebehDAhbuevLs5yxSZmIFN1tP5F9Wl4IpJrYojg85/zgyZHQ==", "dev": true }, "untildify": { @@ -8232,9 +8415,9 @@ "dev": true }, "uri-js": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.2.2.tgz", - "integrity": "sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ==", + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", "dev": true, "requires": { "punycode": "^2.1.0" @@ -8246,16 +8429,10 @@ "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", "dev": true }, - "v8-compile-cache": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.2.0.tgz", - "integrity": "sha512-gTpR5XQNKFwOd4clxfnhaqvfqMpqEwr4tOtCyz4MtYZX2JYhfr1JvBFKdS+7K/9rfpZR3VLX+YWBbKoxCgS43Q==", - "dev": true - }, "watchpack": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.2.0.tgz", - "integrity": "sha512-up4YAn/XHgZHIxFBVCdlMiWDj6WaLKpwVeGQk2I5thdYxF/KmF0aaz6TfJZ/hfl1h/XlcDr7k1KH7ThDagpFaA==", + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.3.1.tgz", + "integrity": "sha512-x0t0JuydIo8qCNctdDrn1OzH/qDzk2+rdCOC3YzumZ42fiMqmQ7T3xQurykYMhYfHaPHTp4ZxAx2NfUo1K6QaA==", "dev": true, "requires": { "glob-to-regexp": "^0.4.1", @@ -8263,61 +8440,82 @@ } }, "webpack": { - "version": "5.38.1", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.38.1.tgz", - "integrity": "sha512-OqRmYD1OJbHZph6RUMD93GcCZy4Z4wC0ele4FXyYF0J6AxO1vOSuIlU1hkS/lDlR9CDYBz64MZRmdbdnFFoT2g==", + "version": "5.66.0", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.66.0.tgz", + "integrity": "sha512-NJNtGT7IKpGzdW7Iwpn/09OXz9inIkeIQ/ibY6B+MdV1x6+uReqz/5z1L89ezWnpPDWpXF0TY5PCYKQdWVn8Vg==", "dev": true, "requires": { "@types/eslint-scope": "^3.7.0", - "@types/estree": "^0.0.47", - "@webassemblyjs/ast": "1.11.0", - "@webassemblyjs/wasm-edit": "1.11.0", - "@webassemblyjs/wasm-parser": "1.11.0", - "acorn": "^8.2.1", + "@types/estree": "^0.0.50", + "@webassemblyjs/ast": "1.11.1", + "@webassemblyjs/wasm-edit": "1.11.1", + "@webassemblyjs/wasm-parser": "1.11.1", + "acorn": "^8.4.1", + "acorn-import-assertions": "^1.7.6", "browserslist": "^4.14.5", "chrome-trace-event": "^1.0.2", - "enhanced-resolve": "^5.8.0", - "es-module-lexer": "^0.4.0", + "enhanced-resolve": "^5.8.3", + "es-module-lexer": "^0.9.0", "eslint-scope": "5.1.1", "events": "^3.2.0", "glob-to-regexp": "^0.4.1", - "graceful-fs": "^4.2.4", + "graceful-fs": "^4.2.9", "json-parse-better-errors": "^1.0.2", "loader-runner": "^4.2.0", "mime-types": "^2.1.27", "neo-async": "^2.6.2", - "schema-utils": "^3.0.0", + "schema-utils": "^3.1.0", "tapable": "^2.1.1", - "terser-webpack-plugin": "^5.1.1", - "watchpack": "^2.2.0", - "webpack-sources": "^2.3.0" + "terser-webpack-plugin": "^5.1.3", + "watchpack": "^2.3.1", + "webpack-sources": "^3.2.2" + }, + "dependencies": { + "schema-utils": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz", + "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==", + "dev": true, + "requires": { + "@types/json-schema": "^7.0.8", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" + } + } } }, "webpack-cli": { - "version": "4.7.2", - "resolved": "https://registry.npmjs.org/webpack-cli/-/webpack-cli-4.7.2.tgz", - "integrity": "sha512-mEoLmnmOIZQNiRl0ebnjzQ74Hk0iKS5SiEEnpq3dRezoyR3yPaeQZCMCe+db4524pj1Pd5ghZXjT41KLzIhSLw==", + "version": "4.9.1", + "resolved": "https://registry.npmjs.org/webpack-cli/-/webpack-cli-4.9.1.tgz", + "integrity": "sha512-JYRFVuyFpzDxMDB+v/nanUdQYcZtqFPGzmlW4s+UkPMFhSpfRNmf1z4AwYcHJVdvEFAM7FFCQdNTpsBYhDLusQ==", "dev": true, "requires": { "@discoveryjs/json-ext": "^0.5.0", - "@webpack-cli/configtest": "^1.0.4", - "@webpack-cli/info": "^1.3.0", - "@webpack-cli/serve": "^1.5.1", - "colorette": "^1.2.1", + "@webpack-cli/configtest": "^1.1.0", + "@webpack-cli/info": "^1.4.0", + "@webpack-cli/serve": "^1.6.0", + "colorette": "^2.0.14", "commander": "^7.0.0", "execa": "^5.0.0", "fastest-levenshtein": "^1.0.12", "import-local": "^3.0.2", "interpret": "^2.2.0", "rechoir": "^0.7.0", - "v8-compile-cache": "^2.2.0", "webpack-merge": "^5.7.3" + }, + "dependencies": { + "commander": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz", + "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==", + "dev": true + } } }, "webpack-merge": { - "version": "5.7.3", - "resolved": "https://registry.npmjs.org/webpack-merge/-/webpack-merge-5.7.3.tgz", - "integrity": "sha512-6/JUQv0ELQ1igjGDzHkXbVDRxkfA57Zw7PfiupdLFJYrgFqY5ZP8xxbpp2lU3EPwYx89ht5Z/aDkD40hFCm5AA==", + "version": "5.8.0", + "resolved": "https://registry.npmjs.org/webpack-merge/-/webpack-merge-5.8.0.tgz", + "integrity": "sha512-/SaI7xY0831XwP6kzuwhKWVKDP9t1QY1h65lAFLbZqMPIuYcD9QAW4u9STIbU9kaJbPBB/geU/gLr1wDjOhQ+Q==", "dev": true, "requires": { "clone-deep": "^4.0.1", @@ -8325,22 +8523,10 @@ } }, "webpack-sources": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-2.3.0.tgz", - "integrity": "sha512-WyOdtwSvOML1kbgtXbTDnEW0jkJ7hZr/bDByIwszhWd/4XX1A3XMkrbFMsuH4+/MfLlZCUzlAdg4r7jaGKEIgQ==", - "dev": true, - "requires": { - "source-list-map": "^2.0.1", - "source-map": "^0.6.1" - }, - "dependencies": { - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - } - } + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.3.tgz", + "integrity": "sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==", + "dev": true }, "which": { "version": "2.0.2", @@ -8377,18 +8563,17 @@ } }, "which-typed-array": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.4.tgz", - "integrity": "sha512-49E0SpUe90cjpoc7BOJwyPHRqSAd12c10Qm2amdEZrJPCY2NDxaW01zHITrem+rnETY3dwrbH3UUrUwagfCYDA==", + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.7.tgz", + "integrity": "sha512-vjxaB4nfDqwKI0ws7wZpxIlde1XrLX5uB0ZjpfshgmapJMD7jJWhZI+yToJTqaFByF0eNBcYxbjmCzoRP7CfEw==", "dev": true, "requires": { - "available-typed-arrays": "^1.0.2", - "call-bind": "^1.0.0", - "es-abstract": "^1.18.0-next.1", + "available-typed-arrays": "^1.0.5", + "call-bind": "^1.0.2", + "es-abstract": "^1.18.5", "foreach": "^2.0.5", - "function-bind": "^1.1.1", - "has-symbols": "^1.0.1", - "is-typed-array": "^1.1.3" + "has-tostringtag": "^1.0.0", + "is-typed-array": "^1.1.7" } }, "wicked-good-xpath": { @@ -8478,15 +8663,9 @@ } }, "yargs-parser": { - "version": "20.2.7", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.7.tgz", - "integrity": "sha512-FiNkvbeHzB/syOjIUxFDCnhSfzAL8R5vs40MgLFBorXACCOAEaWu0gRZl14vG8MR9AOJIZbmkjhusqBYZ3HTHw==", - "dev": true - }, - "yocto-queue": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", - "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", + "version": "20.2.9", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz", + "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==", "dev": true } } diff --git a/package.json b/package.json index 7e4e977af..87d8cd3c7 100644 --- a/package.json +++ b/package.json @@ -65,6 +65,6 @@ "esm": "^3.2.25", "mhchemparser": "^4.1.0", "mj-context-menu": "^0.6.1", - "speech-rule-engine": "^3.3.3" + "speech-rule-engine": "^4.0.0" } } diff --git a/ts/a11y/sre.ts b/ts/a11y/sre.ts index f9f8f5ff1..1dbdf1848 100644 --- a/ts/a11y/sre.ts +++ b/ts/a11y/sre.ts @@ -50,7 +50,7 @@ export {Walker} from 'speech-rule-engine/js/walker/walker.js'; export * as WalkerFactory from 'speech-rule-engine/js/walker/walker_factory.js'; export {SpeechGenerator} from 'speech-rule-engine/js/speech_generator/speech_generator.js'; export * as SpeechGeneratorFactory from 'speech-rule-engine/js/speech_generator/speech_generator_factory.js'; -export {EngineConst} from 'speech-rule-engine/js/common/engine.js'; +export * as EngineConst from 'speech-rule-engine/js/common/engine_const.js'; export {ClearspeakPreferences} from 'speech-rule-engine/js/speech_rules/clearspeak_preferences.js'; export {Highlighter} from 'speech-rule-engine/js/highlighter/highlighter.js'; export * as HighlighterFactory from 'speech-rule-engine/js/highlighter/highlighter_factory.js'; diff --git a/tsconfig.json b/tsconfig.json index eebe0311d..0db24713b 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -13,7 +13,7 @@ "baseUrl": ".", "paths": { "mj-context-menu": ["node_modules/mj-context-menu"], - "sre-rule-engine": ["speech-rule-engine"] + "sre-rule-engine": ["node_modules/speech-rule-engine"] }, "lib": ["es6", "dom", "es2020"], "noLib": false, From f0136ef6319d96fc01f71a0026d21aa7ec400673 Mon Sep 17 00:00:00 2001 From: zorkow Date: Tue, 18 Jan 2022 13:55:19 +0100 Subject: [PATCH 022/118] Removes obsolete copy file. --- components/src/node-main/copy.json | 6 ------ 1 file changed, 6 deletions(-) delete mode 100644 components/src/node-main/copy.json diff --git a/components/src/node-main/copy.json b/components/src/node-main/copy.json deleted file mode 100644 index 0354133c2..000000000 --- a/components/src/node-main/copy.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "to": "../../../es5/sre", - "from": "../../../js/a11y", - "copy": [ - ] -} From 2ec8b772e8c4ba6ef2c1c57a0cb1ce093d83cf9c Mon Sep 17 00:00:00 2001 From: "Davide P. Cervone" Date: Tue, 18 Jan 2022 08:06:30 -0500 Subject: [PATCH 023/118] Fix typo in \DeclarePairedDelimiter and related macros, and allow argument substitution in pre and post sections as well as body. (mathjax/MathJax#2816, mathjax/MathJax#2758) --- ts/input/tex/mathtools/MathtoolsMappings.ts | 13 ++++++++++--- ts/input/tex/mathtools/MathtoolsMethods.ts | 14 ++++++++------ 2 files changed, 18 insertions(+), 9 deletions(-) diff --git a/ts/input/tex/mathtools/MathtoolsMappings.ts b/ts/input/tex/mathtools/MathtoolsMappings.ts index b1a276dbb..f72c40a46 100644 --- a/ts/input/tex/mathtools/MathtoolsMappings.ts +++ b/ts/input/tex/mathtools/MathtoolsMappings.ts @@ -94,9 +94,16 @@ new CommandMap('mathtools-macros', { MTFlushSpaceAbove: 'FlushSpaceAbove', MTFlushSpaceBelow: 'FlushSpaceBelow', - DeclarePairedDelimiters: 'DeclarePairedDelimiters', - DeclarePairedDelimitersX: 'DeclarePairedDelimitersX', - DeclarePairedDelimitersXPP: 'DeclarePairedDelimitersXPP', + DeclarePairedDelimiter: 'DeclarePairedDelimiter', + DeclarePairedDelimiterX: 'DeclarePairedDelimiterX', + DeclarePairedDelimiterXPP: 'DeclarePairedDelimiterXPP', + + // + // Typos from initial release -- kept for backward compatibility for now + // + DeclarePairedDelimiters: 'DeclarePairedDelimiter', + DeclarePairedDelimitersX: 'DeclarePairedDelimiterX', + DeclarePairedDelimitersXPP: 'DeclarePairedDelimiterXPP', centercolon: ['CenterColon', true, true], ordinarycolon: ['CenterColon', false], diff --git a/ts/input/tex/mathtools/MathtoolsMethods.ts b/ts/input/tex/mathtools/MathtoolsMethods.ts index 91f8ee980..f19b134ca 100644 --- a/ts/input/tex/mathtools/MathtoolsMethods.ts +++ b/ts/input/tex/mathtools/MathtoolsMethods.ts @@ -480,7 +480,9 @@ export const MathtoolsMethods: Record = { for (let i = args.length; i < n; i++) { args.push(parser.GetArgument(name)); } + pre = ParseUtil.substituteArgs(parser, args, pre); body = ParseUtil.substituteArgs(parser, args, body); + post = ParseUtil.substituteArgs(parser, args, post); } body = body.replace(/\\delimsize/g, delim); parser.string = [pre, left, open, body, right, close, post, parser.string.substr(parser.i)] @@ -490,12 +492,12 @@ export const MathtoolsMethods: Record = { }, /** - * Implements \DeclarePairedDelimiters. + * Implements \DeclarePairedDelimiter. * * @param {TexParser} parser The calling parser. * @param {string} name The macro name. */ - DeclarePairedDelimiters(parser: TexParser, name: string) { + DeclarePairedDelimiter(parser: TexParser, name: string) { const cs = NewcommandUtil.GetCsNameArgument(parser, name); const open = parser.GetArgument(name); const close = parser.GetArgument(name); @@ -503,12 +505,12 @@ export const MathtoolsMethods: Record = { }, /** - * Implements \DeclarePairedDelimitersX. + * Implements \DeclarePairedDelimiterX. * * @param {TexParser} parser The calling parser. * @param {string} name The macro name. */ - DeclarePairedDelimitersX(parser: TexParser, name: string) { + DeclarePairedDelimiterX(parser: TexParser, name: string) { const cs = NewcommandUtil.GetCsNameArgument(parser, name); const n = NewcommandUtil.GetArgCount(parser, name); const open = parser.GetArgument(name); @@ -518,12 +520,12 @@ export const MathtoolsMethods: Record = { }, /** - * Implements \DeclarePairedDelimitersXPP. + * Implements \DeclarePairedDelimiterXPP. * * @param {TexParser} parser The calling parser. * @param {string} name The macro name. */ - DeclarePairedDelimitersXPP(parser: TexParser, name: string) { + DeclarePairedDelimiterXPP(parser: TexParser, name: string) { const cs = NewcommandUtil.GetCsNameArgument(parser, name); const n = NewcommandUtil.GetArgCount(parser, name); const pre = parser.GetArgument(name); From ecb740e31464cb968b99186c83ed0075bf4d81c0 Mon Sep 17 00:00:00 2001 From: "Davide P. Cervone" Date: Tue, 18 Jan 2022 08:33:16 -0500 Subject: [PATCH 024/118] Make sure explicit attributes added by \mmlToken are not removed, even if they equal the defaults. (mathjax/MathJax#2806) --- ts/input/tex/FilterUtil.ts | 4 +++- ts/input/tex/base/BaseMethods.ts | 5 +++++ 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/ts/input/tex/FilterUtil.ts b/ts/input/tex/FilterUtil.ts index 8a7337d61..4b0131090 100644 --- a/ts/input/tex/FilterUtil.ts +++ b/ts/input/tex/FilterUtil.ts @@ -71,8 +71,10 @@ namespace FilterUtil { if (!attribs) { return; } + const keep = new Set((attribs.get('mjx-keep-attrs') || '').split(/ /)); + delete (attribs.getAllAttributes())['mjx-keep-attrs']; for (const key of attribs.getExplicitNames()) { - if (attribs.attributes[key] === mml.attributes.getInherited(key)) { + if (!keep.has(key) && attribs.attributes[key] === mml.attributes.getInherited(key)) { delete attribs.attributes[key]; } } diff --git a/ts/input/tex/base/BaseMethods.ts b/ts/input/tex/base/BaseMethods.ts index 9cb0651a0..3e8838668 100644 --- a/ts/input/tex/base/BaseMethods.ts +++ b/ts/input/tex/base/BaseMethods.ts @@ -706,6 +706,7 @@ BaseMethods.MmlToken = function(parser: TexParser, name: string) { let attr = parser.GetBrackets(name, '').replace(/^\s+/, ''); const text = parser.GetArgument(name); const def: EnvList = {}; + const keep: string[] = []; let node: MmlNode; try { node = parser.create('node', kind); @@ -738,9 +739,13 @@ BaseMethods.MmlToken = function(parser: TexParser, name: string) { value = false; } def[match[1]] = value; + keep.push(match[1]); } attr = attr.substr(match[0].length); } + if (keep.length) { + def['mjx-keep-attrs'] = keep.join(' '); + } const textNode = parser.create('text', text); node.appendChild(textNode); NodeUtil.setProperties(node, def); From 8f3993cd64677905086550190af6d8a45d6bcd9b Mon Sep 17 00:00:00 2001 From: "Davide P. Cervone" Date: Tue, 18 Jan 2022 09:12:43 -0500 Subject: [PATCH 025/118] Handle document created by parsing in XHTML. (mathjax/MathJax#2788) --- ts/adaptors/HTMLAdaptor.ts | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/ts/adaptors/HTMLAdaptor.ts b/ts/adaptors/HTMLAdaptor.ts index 3f577780a..0f7e905f2 100644 --- a/ts/adaptors/HTMLAdaptor.ts +++ b/ts/adaptors/HTMLAdaptor.ts @@ -227,21 +227,21 @@ AbstractDOMAdaptor implements MinHTMLAdaptor { * @override */ public head(doc: D) { - return doc.head; + return doc.head || (doc as any as N); } /** * @override */ public body(doc: D) { - return doc.body; + return doc.body || (doc as any as N); } /** * @override */ public root(doc: D) { - return doc.documentElement; + return doc.documentElement || (doc as any as N); } /** From 36984d12d4dd3ea14d07654933d3d37bf3440861 Mon Sep 17 00:00:00 2001 From: "Davide P. Cervone" Date: Tue, 18 Jan 2022 09:20:32 -0500 Subject: [PATCH 026/118] Trim MathML string before parsing it. (mathjax/MathJax#2805) --- ts/input/mathml.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ts/input/mathml.ts b/ts/input/mathml.ts index 9319c1594..a4664cc32 100644 --- a/ts/input/mathml.ts +++ b/ts/input/mathml.ts @@ -136,7 +136,7 @@ export class MathML extends AbstractInputJax { public compile(math: MathItem, document: MathDocument) { let mml = math.start.node; if (!mml || !math.end.node || this.options['forceReparse'] || this.adaptor.kind(mml) === '#text') { - let mathml = this.executeFilters(this.preFilters, math, document, math.math || ''); + let mathml = this.executeFilters(this.preFilters, math, document, (math.math || '').trim()); let doc = this.checkForErrors(this.adaptor.parse(mathml, 'text/' + this.options['parseAs'])); let body = this.adaptor.body(doc); if (this.adaptor.childNodes(body).length !== 1) { From 378e66322c16d387ecf2495f643ffe0ded208537 Mon Sep 17 00:00:00 2001 From: zorkow Date: Wed, 19 Jan 2022 12:18:50 +0100 Subject: [PATCH 027/118] Adds sre component for webpacking. --- components/src/a11y/complexity/build.json | 3 ++- components/src/a11y/explorer/build.json | 2 +- components/src/a11y/sre/build.json | 5 +++++ components/src/a11y/sre/sre.js | 1 + components/src/a11y/sre/webpack.config.js | 12 ++++++++++++ components/src/source.js | 2 +- ts/a11y/sre.ts | 1 + 7 files changed, 23 insertions(+), 3 deletions(-) create mode 100644 components/src/a11y/sre/build.json create mode 100644 components/src/a11y/sre/sre.js create mode 100644 components/src/a11y/sre/webpack.config.js diff --git a/components/src/a11y/complexity/build.json b/components/src/a11y/complexity/build.json index c26a9b745..3c2d75f2a 100644 --- a/components/src/a11y/complexity/build.json +++ b/components/src/a11y/complexity/build.json @@ -3,6 +3,7 @@ "targets": [ "a11y/complexity.ts", "a11y/complexity", - "a11y/semantic-enrich.ts" + "a11y/semantic-enrich.ts", + "a11y/sre.ts" ] } diff --git a/components/src/a11y/explorer/build.json b/components/src/a11y/explorer/build.json index 9ebcdc5a1..3a86275ab 100644 --- a/components/src/a11y/explorer/build.json +++ b/components/src/a11y/explorer/build.json @@ -1,4 +1,4 @@ { "component": "a11y/explorer", - "targets": ["a11y/explorer.ts", "a11y/explorer"] + "targets": ["a11y/explorer.ts", "a11y/sre.ts", "a11y/explorer"] } diff --git a/components/src/a11y/sre/build.json b/components/src/a11y/sre/build.json new file mode 100644 index 000000000..fe6b7dd84 --- /dev/null +++ b/components/src/a11y/sre/build.json @@ -0,0 +1,5 @@ +{ + "component": "a11y/sre", + "targets": ["a11y/sre.ts"] +} + diff --git a/components/src/a11y/sre/sre.js b/components/src/a11y/sre/sre.js new file mode 100644 index 000000000..48f70a83c --- /dev/null +++ b/components/src/a11y/sre/sre.js @@ -0,0 +1 @@ +import './lib/sre.js'; diff --git a/components/src/a11y/sre/webpack.config.js b/components/src/a11y/sre/webpack.config.js new file mode 100644 index 000000000..6fecebf11 --- /dev/null +++ b/components/src/a11y/sre/webpack.config.js @@ -0,0 +1,12 @@ +const PACKAGE = require('../../../webpack.common.js'); + +module.exports = PACKAGE( + 'a11y/sre', // the package to build + '../../../../js', // location of the MathJax js library + [ // packages to link to + 'components/src/input/mml/lib', + 'components/src/core/lib', + 'node_modules/speech-rule-engine/js' + ], + __dirname // our directory +); diff --git a/components/src/source.js b/components/src/source.js index 502772285..a53e8f35b 100644 --- a/components/src/source.js +++ b/components/src/source.js @@ -66,7 +66,7 @@ export const source = { 'a11y/semantic-enrich': `${src}/a11y/semantic-enrich/semantic-enrich.js`, 'a11y/complexity': `${src}/a11y/complexity/complexity.js`, 'a11y/explorer': `${src}/a11y/explorer/explorer.js`, - 'a11y/sre': `${src}/../../js/a11y/sre.js`, + 'a11y/sre': `${src}/a11y/sre/sre.js`, '[sre]': `${src}/../../es5/sre`, 'ui/lazy': `${src}/ui/lazy/lazy.js`, 'ui/menu': `${src}/ui/menu/menu.js`, diff --git a/ts/a11y/sre.ts b/ts/a11y/sre.ts index 1dbdf1848..ab9ae8ef5 100644 --- a/ts/a11y/sre.ts +++ b/ts/a11y/sre.ts @@ -38,6 +38,7 @@ declare namespace global { // the distribution. (() => { if (typeof window !== 'undefined') { + console.log(MJGlobal.config.loader.source); window.SREfeature = {json: MJGlobal.config.loader.source['[sre]'] + '/mathmaps'}; } else { // TODO: This is does not yet work correctly! From 8504f198e819aabca1e4d540ed5635c4b8744b26 Mon Sep 17 00:00:00 2001 From: zorkow Date: Thu, 20 Jan 2022 15:54:37 +0100 Subject: [PATCH 028/118] Changes to resolvePath. --- ts/a11y/sre.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/ts/a11y/sre.ts b/ts/a11y/sre.ts index ab9ae8ef5..7aa2f0d9a 100644 --- a/ts/a11y/sre.ts +++ b/ts/a11y/sre.ts @@ -23,6 +23,7 @@ */ import {MathJax as MJGlobal} from '../components/global.js'; +import {Package} from '../components/package.js'; declare namespace window { let SREfeature: {[key: string]: any}; @@ -38,8 +39,7 @@ declare namespace global { // the distribution. (() => { if (typeof window !== 'undefined') { - console.log(MJGlobal.config.loader.source); - window.SREfeature = {json: MJGlobal.config.loader.source['[sre]'] + '/mathmaps'}; + window.SREfeature = {json: Package.resolvePath(['[sre]'], false) + '/mathmaps'}; } else { // TODO: This is does not yet work correctly! global.SREfeature = {json: MJGlobal.config.loader.paths.mathjax + '/sre/mathmaps'}; From 9fb814e803a22964e49ac972f1f2c8ec568b561e Mon Sep 17 00:00:00 2001 From: zorkow Date: Thu, 20 Jan 2022 16:22:15 +0100 Subject: [PATCH 029/118] Changes to resolvePath. --- ts/a11y/sre.ts | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/ts/a11y/sre.ts b/ts/a11y/sre.ts index 7aa2f0d9a..cdc9c145b 100644 --- a/ts/a11y/sre.ts +++ b/ts/a11y/sre.ts @@ -24,6 +24,7 @@ import {MathJax as MJGlobal} from '../components/global.js'; import {Package} from '../components/package.js'; +import {SpeechGenerator as SG} from 'speech-rule-engine/js/speech_generator/speech_generator.js'; declare namespace window { let SREfeature: {[key: string]: any}; @@ -39,7 +40,7 @@ declare namespace global { // the distribution. (() => { if (typeof window !== 'undefined') { - window.SREfeature = {json: Package.resolvePath(['[sre]'], false) + '/mathmaps'}; + window.SREfeature = {json: Package.resolvePath('[sre]', false) + '/mathmaps'}; } else { // TODO: This is does not yet work correctly! global.SREfeature = {json: MJGlobal.config.loader.paths.mathjax + '/sre/mathmaps'}; @@ -49,7 +50,6 @@ declare namespace global { export {engineReady as sreReady, setupEngine, engineSetup, toEnriched} from 'speech-rule-engine/js/common/system.js'; export {Walker} from 'speech-rule-engine/js/walker/walker.js'; export * as WalkerFactory from 'speech-rule-engine/js/walker/walker_factory.js'; -export {SpeechGenerator} from 'speech-rule-engine/js/speech_generator/speech_generator.js'; export * as SpeechGeneratorFactory from 'speech-rule-engine/js/speech_generator/speech_generator_factory.js'; export * as EngineConst from 'speech-rule-engine/js/common/engine_const.js'; export {ClearspeakPreferences} from 'speech-rule-engine/js/speech_rules/clearspeak_preferences.js'; @@ -58,4 +58,5 @@ export * as HighlighterFactory from 'speech-rule-engine/js/highlighter/highlight import {Variables} from 'speech-rule-engine/js/common/variables.js'; +export type SpeechGenerator = SG; export const Locales = Variables.LOCALES; From 4b484d3419e7410a1a6573144166a0763d2a18f8 Mon Sep 17 00:00:00 2001 From: "Davide P. Cervone" Date: Thu, 20 Jan 2022 13:25:48 -0500 Subject: [PATCH 030/118] Update component files for changes to sre component --- components/src/a11y/complexity/build.json | 3 +-- components/src/a11y/explorer/build.json | 2 +- components/src/a11y/explorer/webpack.config.js | 1 + components/src/a11y/semantic-enrich/build.json | 2 +- components/src/a11y/semantic-enrich/webpack.config.js | 2 +- components/src/a11y/sre/webpack.config.js | 3 +-- 6 files changed, 6 insertions(+), 7 deletions(-) diff --git a/components/src/a11y/complexity/build.json b/components/src/a11y/complexity/build.json index 3c2d75f2a..c26a9b745 100644 --- a/components/src/a11y/complexity/build.json +++ b/components/src/a11y/complexity/build.json @@ -3,7 +3,6 @@ "targets": [ "a11y/complexity.ts", "a11y/complexity", - "a11y/semantic-enrich.ts", - "a11y/sre.ts" + "a11y/semantic-enrich.ts" ] } diff --git a/components/src/a11y/explorer/build.json b/components/src/a11y/explorer/build.json index 3a86275ab..9ebcdc5a1 100644 --- a/components/src/a11y/explorer/build.json +++ b/components/src/a11y/explorer/build.json @@ -1,4 +1,4 @@ { "component": "a11y/explorer", - "targets": ["a11y/explorer.ts", "a11y/sre.ts", "a11y/explorer"] + "targets": ["a11y/explorer.ts", "a11y/explorer"] } diff --git a/components/src/a11y/explorer/webpack.config.js b/components/src/a11y/explorer/webpack.config.js index 1b63c2811..b44c45e70 100644 --- a/components/src/a11y/explorer/webpack.config.js +++ b/components/src/a11y/explorer/webpack.config.js @@ -6,6 +6,7 @@ module.exports = PACKAGE( [ // packages to link to 'components/src/ui/menu/lib', 'components/src/a11y/semantic-enrich/lib', + 'components/src/a11y/sre/lib', 'components/src/input/mml/lib', 'components/src/core/lib' ], diff --git a/components/src/a11y/semantic-enrich/build.json b/components/src/a11y/semantic-enrich/build.json index edf410899..c6f85eacb 100644 --- a/components/src/a11y/semantic-enrich/build.json +++ b/components/src/a11y/semantic-enrich/build.json @@ -1,5 +1,5 @@ { "component": "a11y/semantic-enrich", - "targets": ["a11y/semantic-enrich.ts", "a11y/sre.ts"] + "targets": ["a11y/semantic-enrich.ts"] } diff --git a/components/src/a11y/semantic-enrich/webpack.config.js b/components/src/a11y/semantic-enrich/webpack.config.js index 912c88ef0..8de3e025f 100644 --- a/components/src/a11y/semantic-enrich/webpack.config.js +++ b/components/src/a11y/semantic-enrich/webpack.config.js @@ -6,7 +6,7 @@ module.exports = PACKAGE( [ // packages to link to 'components/src/input/mml/lib', 'components/src/core/lib', - 'node_modules/speech-rule-engine/js' + 'components/src/a11y/sre/lib' ], __dirname // our directory ); diff --git a/components/src/a11y/sre/webpack.config.js b/components/src/a11y/sre/webpack.config.js index 6fecebf11..02741e9d9 100644 --- a/components/src/a11y/sre/webpack.config.js +++ b/components/src/a11y/sre/webpack.config.js @@ -5,8 +5,7 @@ module.exports = PACKAGE( '../../../../js', // location of the MathJax js library [ // packages to link to 'components/src/input/mml/lib', - 'components/src/core/lib', - 'node_modules/speech-rule-engine/js' + 'components/src/core/lib' ], __dirname // our directory ); From 74df16688b1234252dc16d86ca314d4dc060b264 Mon Sep 17 00:00:00 2001 From: zorkow Date: Thu, 20 Jan 2022 20:06:54 +0100 Subject: [PATCH 031/118] Cleaner export and import of SRE namespace. --- .../a11y/semantic-enrich/semantic-enrich.js | 4 +- ts/a11y/explorer.ts | 12 ++-- ts/a11y/explorer/Explorer.ts | 10 +-- ts/a11y/explorer/KeyExplorer.ts | 20 +++--- ts/a11y/explorer/Region.ts | 20 +++--- ts/a11y/explorer/TreeExplorer.ts | 4 +- ts/a11y/semantic-enrich.ts | 2 +- ts/a11y/sre.ts | 64 ++++++++++++++----- ts/ui/menu/Menu.ts | 2 +- 9 files changed, 86 insertions(+), 52 deletions(-) diff --git a/components/src/a11y/semantic-enrich/semantic-enrich.js b/components/src/a11y/semantic-enrich/semantic-enrich.js index 8c9ed26d6..2491174dc 100644 --- a/components/src/a11y/semantic-enrich/semantic-enrich.js +++ b/components/src/a11y/semantic-enrich/semantic-enrich.js @@ -1,12 +1,12 @@ import './lib/semantic-enrich.js'; import {combineDefaults} from '../../../../js/components/global.js'; -import {sreReady} from '../../../../js/a11y/sre.js'; +import Sre from '../../../../js/a11y/sre.js'; import {EnrichHandler} from '../../../../js/a11y/semantic-enrich.js'; import {MathML} from '../../../../js/input/mathml.js'; if (MathJax.loader) { - combineDefaults(MathJax.config.loader, 'a11y/semantic-enrich', {checkReady: () => sreReady()}); + combineDefaults(MathJax.config.loader, 'a11y/semantic-enrich', {checkReady: () => Sre.sreReady()}); } if (MathJax.startup) { diff --git a/ts/a11y/explorer.ts b/ts/a11y/explorer.ts index 76ed72103..cd81f782e 100644 --- a/ts/a11y/explorer.ts +++ b/ts/a11y/explorer.ts @@ -39,7 +39,7 @@ import {LiveRegion, ToolTip, HoverRegion} from './explorer/Region.js'; import {Submenu} from 'mj-context-menu/js/item_submenu.js'; -import * as Sre from './sre.js'; +import Sre from './sre.js'; /** * Generic constructor for Mixins @@ -551,8 +551,8 @@ let csPrefsVariables = function(menu: MJContextMenu, prefs: string[]) { csPrefsSetting[pref] = value; srVariable.setValue( 'clearspeak-' + - Sre.ClearspeakPreferences.addPreference( - Sre.EngineConst.DOMAIN_TO_STYLES['clearspeak'], pref, value) + Sre.clearspeakPreferences.addPreference( + Sre.clearspeakStyle(), pref, value) ); }, getter: () => { return csPrefsSetting[pref] || 'Auto'; } @@ -566,7 +566,7 @@ let csPrefsVariables = function(menu: MJContextMenu, prefs: string[]) { * @param {string} locale The current locale. */ let csSelectionBox = function(menu: MJContextMenu, locale: string) { - let prefs = Sre.ClearspeakPreferences.getLocalePreferences(); + let prefs = Sre.clearspeakPreferences.getLocalePreferences(); let props = prefs[locale]; if (!props) { let csEntry = menu.findID('Accessibility', 'Speech', 'Clearspeak'); @@ -607,7 +607,7 @@ let csMenu = function(menu: MJContextMenu, sub: Submenu) { const box = csSelectionBox(menu, locale); let items: Object[] = []; try { - items = Sre.ClearspeakPreferences.smartPreferences( + items = Sre.clearspeakPreferences.smartPreferences( menu.mathItem, locale); } catch (e) { console.log(e); @@ -644,7 +644,7 @@ const iso: {[locale: string]: string} = { let language = function(menu: MJContextMenu, sub: Submenu) { let radios: {type: string, id: string, content: string, variable: string}[] = []; - for (let lang of Sre.Locales) { + for (let lang of Sre.locales) { if (lang === 'nemeth') continue; radios.push({type: 'radio', id: lang, content: iso[lang] || lang, variable: 'locale'}); diff --git a/ts/a11y/explorer/Explorer.ts b/ts/a11y/explorer/Explorer.ts index 53a209afe..ce1bc3415 100644 --- a/ts/a11y/explorer/Explorer.ts +++ b/ts/a11y/explorer/Explorer.ts @@ -24,7 +24,7 @@ import {A11yDocument, Region} from './Region.js'; -import * as Sre from '../sre.js'; +import Sre from '../sre.js'; /** * A11y explorers. @@ -112,9 +112,9 @@ export class AbstractExplorer implements Explorer { /** * The Sre highlighter associated with the walker. - * @type {Sre.Highlighter} + * @type {Sre.highlighter} */ - protected highlighter: Sre.Highlighter = this.getHighlighter(); + protected highlighter: Sre.highlighter = this.getHighlighter(); /** * Flag if explorer is active. @@ -258,13 +258,13 @@ export class AbstractExplorer implements Explorer { /** * @return {Sre.Highlighter} A highlighter for the explorer. */ - protected getHighlighter(): Sre.Highlighter { + protected getHighlighter(): Sre.highlighter { let opts = this.document.options.a11y; let foreground = {color: opts.foregroundColor.toLowerCase(), alpha: opts.foregroundOpacity / 100}; let background = {color: opts.backgroundColor.toLowerCase(), alpha: opts.backgroundOpacity / 100}; - return Sre.HighlighterFactory.highlighter( + return Sre.getHighlighter( background, foreground, {renderer: this.document.outputJax.name, browser: 'v3'}); } diff --git a/ts/a11y/explorer/KeyExplorer.ts b/ts/a11y/explorer/KeyExplorer.ts index 23b6bac1c..362547b97 100644 --- a/ts/a11y/explorer/KeyExplorer.ts +++ b/ts/a11y/explorer/KeyExplorer.ts @@ -25,7 +25,7 @@ import {A11yDocument, Region} from './Region.js'; import {Explorer, AbstractExplorer} from './Explorer.js'; -import * as Sre from '../sre.js'; +import Sre from '../sre.js'; /** @@ -73,7 +73,7 @@ export abstract class AbstractKeyExplorer extends AbstractExplorer impleme * The attached Sre walker. * @type {Walker} */ - protected walker: Sre.Walker; + protected walker: Sre.walker; private eventsAttached: boolean = false; @@ -184,7 +184,7 @@ export class SpeechExplorer extends AbstractKeyExplorer { * The Sre speech generator associated with the walker. * @type {SpeechGenerator} */ - public speechGenerator: Sre.SpeechGenerator; + public speechGenerator: Sre.speechGenerator; /** * The name of the option used to control when this is being shown @@ -240,9 +240,9 @@ export class SpeechExplorer extends AbstractKeyExplorer { return; } super.Start(); - this.speechGenerator = Sre.SpeechGeneratorFactory.generator('Direct'); + this.speechGenerator = Sre.getSpeechGenerator('Direct'); this.speechGenerator.setOptions(options); - this.walker = Sre.WalkerFactory.walker( + this.walker = Sre.getWalker( 'table', this.node, this.speechGenerator, this.highlighter, this.mml); this.walker.activate(); this.Update(); @@ -284,7 +284,7 @@ export class SpeechExplorer extends AbstractKeyExplorer { * Computes the speech for the current expression once Sre is ready. * @param {Walker} walker The sre walker. */ - public Speech(walker: Sre.Walker) { + public Speech(walker: Sre.walker) { SpeechExplorer.updatePromise.then(() => { walker.speech(); this.node.setAttribute('hasspeech', 'true'); @@ -350,8 +350,8 @@ export class SpeechExplorer extends AbstractKeyExplorer { * Initialises the Sre walker. */ private initWalker() { - this.speechGenerator = Sre.SpeechGeneratorFactory.generator('Tree'); - let dummy = Sre.WalkerFactory.walker( + this.speechGenerator = Sre.getSpeechGenerator('Tree'); + let dummy = Sre.getWalker( 'dummy', this.node, this.speechGenerator, this.highlighter, this.mml); this.walker = dummy; } @@ -395,8 +395,8 @@ export class Magnifier extends AbstractKeyExplorer { protected node: HTMLElement, private mml: string) { super(document, region, node); - this.walker = Sre.WalkerFactory.walker( - 'table', this.node, Sre.SpeechGeneratorFactory.generator('Dummy'), + this.walker = Sre.getWalker( + 'table', this.node, Sre.getSpeechGenerator('Dummy'), this.highlighter, this.mml); } diff --git a/ts/a11y/explorer/Region.ts b/ts/a11y/explorer/Region.ts index 12a036fd6..113abc922 100644 --- a/ts/a11y/explorer/Region.ts +++ b/ts/a11y/explorer/Region.ts @@ -25,7 +25,7 @@ import {MathDocument} from '../../core/MathDocument.js'; import {CssStyles} from '../../util/StyleList.js'; -import * as Sre from '../sre.js'; +import Sre from '../sre.js'; export type A11yDocument = MathDocument; @@ -44,9 +44,9 @@ export interface Region { /** * Shows the live region in the document. * @param {HTMLElement} node - * @param {Sre.Highlighter} highlighter + * @param {Sre.highlighter} highlighter */ - Show(node: HTMLElement, highlighter: Sre.Highlighter): void; + Show(node: HTMLElement, highlighter: Sre.highlighter): void; /** * Takes the element out of the document flow. @@ -151,7 +151,7 @@ export abstract class AbstractRegion implements Region { /** * @override */ - public Show(node: HTMLElement, highlighter: Sre.Highlighter) { + public Show(node: HTMLElement, highlighter: Sre.highlighter) { this.position(node); this.highlight(highlighter); this.div.classList.add(this.CLASS.className + '_Show'); @@ -167,9 +167,9 @@ export abstract class AbstractRegion implements Region { /** * Highlights the region. - * @param {Sre.Highlighter} highlighter The Sre highlighter. + * @param {Sre.highlighter} highlighter The Sre highlighter. */ - protected abstract highlight(highlighter: Sre.Highlighter): void; + protected abstract highlight(highlighter: Sre.highlighter): void; /** @@ -258,7 +258,7 @@ export class DummyRegion extends AbstractRegion { /** * @override */ - public highlight(_highlighter: Sre.Highlighter) {} + public highlight(_highlighter: Sre.highlighter) {} } @@ -293,7 +293,7 @@ export class StringRegion extends AbstractRegion { /** * @override */ - protected highlight(highlighter: Sre.Highlighter) { + protected highlight(highlighter: Sre.highlighter) { const color = highlighter.colorString(); this.inner.style.backgroundColor = color.background; this.inner.style.color = color.foreground; @@ -437,7 +437,7 @@ export class HoverRegion extends AbstractRegion { /** * @override */ - protected highlight(highlighter: Sre.Highlighter) { + protected highlight(highlighter: Sre.highlighter) { // TODO Do this with styles to avoid the interaction of SVG/CHTML. if (this.inner.firstChild && !(this.inner.firstChild as HTMLElement).hasAttribute('sre-highlight')) { @@ -451,7 +451,7 @@ export class HoverRegion extends AbstractRegion { /** * @override */ - public Show(node: HTMLElement, highlighter: Sre.Highlighter) { + public Show(node: HTMLElement, highlighter: Sre.highlighter) { this.div.style.fontSize = this.document.options.a11y.magnify; this.Update(node); super.Show(node, highlighter); diff --git a/ts/a11y/explorer/TreeExplorer.ts b/ts/a11y/explorer/TreeExplorer.ts index ab439cadc..75cb742d8 100644 --- a/ts/a11y/explorer/TreeExplorer.ts +++ b/ts/a11y/explorer/TreeExplorer.ts @@ -26,7 +26,7 @@ import {A11yDocument, Region} from './Region.js'; import {Explorer, AbstractExplorer} from './Explorer.js'; -import * as Sre from '../sre.js'; +import Sre from '../sre.js'; export interface TreeExplorer extends Explorer { @@ -102,7 +102,7 @@ export class TreeColorer extends AbstractTreeExplorer { public Start() { if (this.active) return; this.active = true; - let generator = Sre.SpeechGeneratorFactory.generator('Color'); + let generator = Sre.getSpeechGenerator('Color'); if (!this.node.hasAttribute('hasforegroundcolor')) { generator.generateSpeech(this.node, this.mml); this.node.setAttribute('hasforegroundcolor', 'true'); diff --git a/ts/a11y/semantic-enrich.ts b/ts/a11y/semantic-enrich.ts index fe1d06ca3..ad37fe44a 100644 --- a/ts/a11y/semantic-enrich.ts +++ b/ts/a11y/semantic-enrich.ts @@ -29,7 +29,7 @@ import {MmlNode} from '../core/MmlTree/MmlNode.js'; import {MathML} from '../input/mathml.js'; import {SerializedMmlVisitor} from '../core/MmlTree/SerializedMmlVisitor.js'; import {OptionList, expandable} from '../util/Options.js'; -import * as Sre from './sre.js'; +import Sre from './sre.js'; /*==========================================================================*/ diff --git a/ts/a11y/sre.ts b/ts/a11y/sre.ts index cdc9c145b..a4b093730 100644 --- a/ts/a11y/sre.ts +++ b/ts/a11y/sre.ts @@ -22,9 +22,18 @@ * @author v.sorge@mathjax.org (Volker Sorge) */ -import {MathJax as MJGlobal} from '../components/global.js'; +import * as Api from 'speech-rule-engine/js/common/system.js'; +import {Walker} from 'speech-rule-engine/js/walker/walker.js'; +import * as WalkerFactory from 'speech-rule-engine/js/walker/walker_factory.js'; +import * as SpeechGeneratorFactory from 'speech-rule-engine/js/speech_generator/speech_generator_factory.js'; +import * as EngineConst from 'speech-rule-engine/js/common/engine_const.js'; +import {ClearspeakPreferences} from 'speech-rule-engine/js/speech_rules/clearspeak_preferences.js'; +import {Highlighter} from 'speech-rule-engine/js/highlighter/highlighter.js'; +import * as HighlighterFactory from 'speech-rule-engine/js/highlighter/highlighter_factory.js'; +import {SpeechGenerator} from 'speech-rule-engine/js/speech_generator/speech_generator.js'; +import {Variables} from 'speech-rule-engine/js/common/variables.js'; + import {Package} from '../components/package.js'; -import {SpeechGenerator as SG} from 'speech-rule-engine/js/speech_generator/speech_generator.js'; declare namespace window { let SREfeature: {[key: string]: any}; @@ -39,24 +48,49 @@ declare namespace global { // We could also use a custom method for loading locales that are webpacked into // the distribution. (() => { + let path = Package.resolvePath('[sre]', false) + '/mathmaps'; + console.log(path); if (typeof window !== 'undefined') { - window.SREfeature = {json: Package.resolvePath('[sre]', false) + '/mathmaps'}; + window.SREfeature = {json: path}; } else { // TODO: This is does not yet work correctly! - global.SREfeature = {json: MJGlobal.config.loader.paths.mathjax + '/sre/mathmaps'}; + global.SREfeature = {json: path}; } })(); -export {engineReady as sreReady, setupEngine, engineSetup, toEnriched} from 'speech-rule-engine/js/common/system.js'; -export {Walker} from 'speech-rule-engine/js/walker/walker.js'; -export * as WalkerFactory from 'speech-rule-engine/js/walker/walker_factory.js'; -export * as SpeechGeneratorFactory from 'speech-rule-engine/js/speech_generator/speech_generator_factory.js'; -export * as EngineConst from 'speech-rule-engine/js/common/engine_const.js'; -export {ClearspeakPreferences} from 'speech-rule-engine/js/speech_rules/clearspeak_preferences.js'; -export {Highlighter} from 'speech-rule-engine/js/highlighter/highlighter.js'; -export * as HighlighterFactory from 'speech-rule-engine/js/highlighter/highlighter_factory.js'; -import {Variables} from 'speech-rule-engine/js/common/variables.js'; +export namespace Sre { + + export type highlighter = Highlighter; + + export type speechGenerator = SpeechGenerator; + + export type walker = Walker; + + + export const locales = Variables.LOCALES; + + export const sreReady = Api.engineReady; + + export const setupEngine = Api.setupEngine; + + export const engineSetup = Api.engineSetup; + + export const toEnriched = Api.toEnriched; + + export const clearspeakPreferences = ClearspeakPreferences; + + export const getHighlighter = HighlighterFactory.highlighter; + + export const getSpeechGenerator = SpeechGeneratorFactory.generator; + + export const getWalker = WalkerFactory.walker; + + export const clearspeakStyle = () => { + return EngineConst.DOMAIN_TO_STYLES['clearspeak']; + }; + +} + -export type SpeechGenerator = SG; -export const Locales = Variables.LOCALES; +export default Sre; diff --git a/ts/ui/menu/Menu.ts b/ts/ui/menu/Menu.ts index ea9206822..0268f238f 100644 --- a/ts/ui/menu/Menu.ts +++ b/ts/ui/menu/Menu.ts @@ -41,7 +41,7 @@ import {Rule} from 'mj-context-menu/js/item_rule.js'; import {CssStyles} from 'mj-context-menu/js/css_util.js'; import {Submenu} from 'mj-context-menu/js/item_submenu.js'; -import * as Sre from '../../a11y/sre.js'; +import Sre from '../../a11y/sre.js'; /*==========================================================================*/ From 158076d67e23f33d382117b47387896c59db38e4 Mon Sep 17 00:00:00 2001 From: "Davide P. Cervone" Date: Mon, 24 Jan 2022 16:44:03 -0500 Subject: [PATCH 032/118] Separate adding of paths, etc, to a separate startup init file, so that they can be added before other imports, and so that the combined components work with SRE4. Also, fix sre webpack libs. --- components/src/a11y/sre/webpack.config.js | 3 ++- components/src/mml-chtml/mml-chtml.js | 2 +- components/src/mml-svg/mml-svg.js | 2 +- components/src/node-main/node-main.js | 6 +----- components/src/startup/startup.js | 10 +--------- components/src/tex-chtml-full/tex-chtml-full.js | 2 +- components/src/tex-chtml/tex-chtml.js | 2 +- components/src/tex-mml-chtml/tex-mml-chtml.js | 2 +- components/src/tex-mml-svg/tex-mml-svg.js | 2 +- components/src/tex-svg-full/tex-svg-full.js | 2 +- components/src/tex-svg/tex-svg.js | 2 +- ts/a11y/sre.ts | 14 ++++++-------- 12 files changed, 18 insertions(+), 31 deletions(-) diff --git a/components/src/a11y/sre/webpack.config.js b/components/src/a11y/sre/webpack.config.js index 02741e9d9..c89adb4b7 100644 --- a/components/src/a11y/sre/webpack.config.js +++ b/components/src/a11y/sre/webpack.config.js @@ -5,7 +5,8 @@ module.exports = PACKAGE( '../../../../js', // location of the MathJax js library [ // packages to link to 'components/src/input/mml/lib', - 'components/src/core/lib' + 'components/src/core/lib', + 'components/src/startup/lib' ], __dirname // our directory ); diff --git a/components/src/mml-chtml/mml-chtml.js b/components/src/mml-chtml/mml-chtml.js index c0bd18ee1..dbaaf98f0 100644 --- a/components/src/mml-chtml/mml-chtml.js +++ b/components/src/mml-chtml/mml-chtml.js @@ -1,4 +1,4 @@ -import '../startup/lib/startup.js'; +import '../startup/init.js'; import './preload.js'; import '../core/core.js'; import '../input/mml/mml.js'; diff --git a/components/src/mml-svg/mml-svg.js b/components/src/mml-svg/mml-svg.js index 172b24336..34cef63b2 100644 --- a/components/src/mml-svg/mml-svg.js +++ b/components/src/mml-svg/mml-svg.js @@ -1,4 +1,4 @@ -import '../startup/lib/startup.js'; +import '../startup/init.js'; import './preload.js'; import '../core/core.js'; import '../input/mml/mml.js'; diff --git a/components/src/node-main/node-main.js b/components/src/node-main/node-main.js index 574570c44..13679e369 100644 --- a/components/src/node-main/node-main.js +++ b/components/src/node-main/node-main.js @@ -20,10 +20,9 @@ const path = eval("require('path')"); // use actual node version, not webpack's /* * Load the needed MathJax components */ -require('../startup/lib/startup.js'); +require('../startup/init.js'); const {Loader, CONFIG} = require('../../../js/components/loader.js'); const {combineDefaults, combineConfig} = require('../../../js/components/global.js'); -const {dependencies, paths, provides} = require('../dependencies.js'); /* * Set up the initial configuration @@ -32,9 +31,6 @@ combineDefaults(MathJax.config, 'loader', { require: eval('require'), // use node's require() to load files failed: (err) => {throw err} // pass on error message to init()'s catch function }); -combineDefaults(MathJax.config.loader, 'dependencies', dependencies); -combineDefaults(MathJax.config.loader, 'paths', paths); -combineDefaults(MathJax.config.loader, 'provides', provides); /* * Preload core and liteDOM adaptor (needed for node) diff --git a/components/src/startup/startup.js b/components/src/startup/startup.js index 7472aafb5..2a6dad2ad 100644 --- a/components/src/startup/startup.js +++ b/components/src/startup/startup.js @@ -1,13 +1,5 @@ -import './lib/startup.js'; - +import './init.js'; import {Loader, CONFIG} from '../../../js/components/loader.js'; -import {combineDefaults} from '../../../js/components/global.js'; -import {dependencies, paths, provides, compatibility} from '../dependencies.js'; - -combineDefaults(MathJax.config.loader, 'dependencies', dependencies); -combineDefaults(MathJax.config.loader, 'paths', paths); -combineDefaults(MathJax.config.loader, 'provides', provides); -combineDefaults(MathJax.config.loader, 'source', compatibility); Loader.preLoad('loader'); diff --git a/components/src/tex-chtml-full/tex-chtml-full.js b/components/src/tex-chtml-full/tex-chtml-full.js index 12291be99..79cd25af1 100644 --- a/components/src/tex-chtml-full/tex-chtml-full.js +++ b/components/src/tex-chtml-full/tex-chtml-full.js @@ -1,4 +1,4 @@ -import '../startup/lib/startup.js'; +import '../startup/init.js'; import './preload.js'; import '../core/core.js'; import '../input/tex-full/tex-full.js'; diff --git a/components/src/tex-chtml/tex-chtml.js b/components/src/tex-chtml/tex-chtml.js index 8d98865e7..0bea55b57 100644 --- a/components/src/tex-chtml/tex-chtml.js +++ b/components/src/tex-chtml/tex-chtml.js @@ -1,4 +1,4 @@ -import '../startup/lib/startup.js'; +import '../startup/init.js'; import './preload.js'; import '../core/core.js'; import '../input/tex/tex.js'; diff --git a/components/src/tex-mml-chtml/tex-mml-chtml.js b/components/src/tex-mml-chtml/tex-mml-chtml.js index 4167bd59e..9a1d1ecb1 100644 --- a/components/src/tex-mml-chtml/tex-mml-chtml.js +++ b/components/src/tex-mml-chtml/tex-mml-chtml.js @@ -1,4 +1,4 @@ -import '../startup/lib/startup.js'; +import '../startup/init.js'; import './preload.js'; import '../core/core.js'; import '../input/tex/tex.js'; diff --git a/components/src/tex-mml-svg/tex-mml-svg.js b/components/src/tex-mml-svg/tex-mml-svg.js index acff78dd1..631bf8c8e 100644 --- a/components/src/tex-mml-svg/tex-mml-svg.js +++ b/components/src/tex-mml-svg/tex-mml-svg.js @@ -1,4 +1,4 @@ -import '../startup/lib/startup.js'; +import '../startup/init.js'; import './preload.js'; import '../core/core.js'; import '../input/tex/tex.js'; diff --git a/components/src/tex-svg-full/tex-svg-full.js b/components/src/tex-svg-full/tex-svg-full.js index 55ce32f24..188f52620 100644 --- a/components/src/tex-svg-full/tex-svg-full.js +++ b/components/src/tex-svg-full/tex-svg-full.js @@ -1,4 +1,4 @@ -import '../startup/lib/startup.js'; +import '../startup/init.js'; import './preload.js'; import '../core/core.js'; import '../input/tex-full/tex-full.js'; diff --git a/components/src/tex-svg/tex-svg.js b/components/src/tex-svg/tex-svg.js index f4ce644ee..8225eb1fd 100644 --- a/components/src/tex-svg/tex-svg.js +++ b/components/src/tex-svg/tex-svg.js @@ -1,4 +1,4 @@ -import '../startup/lib/startup.js'; +import '../startup/init.js'; import './preload.js'; import '../core/core.js'; import '../input/tex/tex.js'; diff --git a/ts/a11y/sre.ts b/ts/a11y/sre.ts index cdc9c145b..9d166b7ce 100644 --- a/ts/a11y/sre.ts +++ b/ts/a11y/sre.ts @@ -38,14 +38,12 @@ declare namespace global { // // We could also use a custom method for loading locales that are webpacked into // the distribution. -(() => { - if (typeof window !== 'undefined') { - window.SREfeature = {json: Package.resolvePath('[sre]', false) + '/mathmaps'}; - } else { - // TODO: This is does not yet work correctly! - global.SREfeature = {json: MJGlobal.config.loader.paths.mathjax + '/sre/mathmaps'}; - } -})(); +if (typeof window !== 'undefined') { + window.SREfeature = {json: Package.resolvePath('[sre]', false) + '/mathmaps'}; +} else { + // TODO: This is does not yet work correctly! + global.SREfeature = {json: MJGlobal.config.loader.paths.mathjax + '/sre/mathmaps'}; +} export {engineReady as sreReady, setupEngine, engineSetup, toEnriched} from 'speech-rule-engine/js/common/system.js'; export {Walker} from 'speech-rule-engine/js/walker/walker.js'; From 749a5603540de268b7f88ee954a36b9cd7550075 Mon Sep 17 00:00:00 2001 From: "Davide P. Cervone" Date: Tue, 25 Jan 2022 09:41:39 -0500 Subject: [PATCH 033/118] Add init.js left out of previous commit --- components/src/startup/init.js | 9 +++++++++ 1 file changed, 9 insertions(+) create mode 100644 components/src/startup/init.js diff --git a/components/src/startup/init.js b/components/src/startup/init.js new file mode 100644 index 000000000..ccbe1b412 --- /dev/null +++ b/components/src/startup/init.js @@ -0,0 +1,9 @@ +import './lib/startup.js'; + +import {combineDefaults} from '../../../js/components/global.js'; +import {dependencies, paths, provides, compatibility} from '../dependencies.js'; + +combineDefaults(MathJax.config.loader, 'dependencies', dependencies); +combineDefaults(MathJax.config.loader, 'paths', paths); +combineDefaults(MathJax.config.loader, 'provides', provides); +combineDefaults(MathJax.config.loader, 'source', compatibility); From 7dc7d0a1bb8e8e4587c08598e18e43744b1a2f52 Mon Sep 17 00:00:00 2001 From: "Davide P. Cervone" Date: Tue, 25 Jan 2022 10:53:44 -0500 Subject: [PATCH 034/118] Mark mo as not accent if used in \overset and friends. (mathjax/MathJax#2800) --- ts/input/tex/base/BaseMethods.ts | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/ts/input/tex/base/BaseMethods.ts b/ts/input/tex/base/BaseMethods.ts index 9cb0651a0..77d2e0bc3 100644 --- a/ts/input/tex/base/BaseMethods.ts +++ b/ts/input/tex/base/BaseMethods.ts @@ -626,6 +626,9 @@ BaseMethods.Overset = function(parser: TexParser, name: string) { const top = parser.ParseArg(name); const base = parser.ParseArg(name); ParseUtil.checkMovableLimits(base); + if (top.isKind('mo')) { + NodeUtil.setAttribute(top, 'accent', false); + } const node = parser.create('node', 'mover', [base, top]); parser.Push(node); }; @@ -641,7 +644,10 @@ BaseMethods.Underset = function(parser: TexParser, name: string) { const bot = parser.ParseArg(name); const base = parser.ParseArg(name); ParseUtil.checkMovableLimits(base); - const node = parser.create('node', 'munder', [base, bot]); + if (bot.isKind('mo')) { + NodeUtil.setAttribute(bot, 'accent', false); + } + const node = parser.create('node', 'munder', [base, bot], {underaccent: false}); parser.Push(node); }; @@ -656,7 +662,13 @@ BaseMethods.Overunderset = function(parser: TexParser, name: string) { const bot = parser.ParseArg(name); const base = parser.ParseArg(name); ParseUtil.checkMovableLimits(base); - const node = parser.create('node', 'munderover', [base, bot, top]); + if (top.isKind('mo')) { + NodeUtil.setAttribute(top, 'accent', false); + } + if (bot.isKind('mo')) { + NodeUtil.setAttribute(bot, 'accent', false); + } + const node = parser.create('node', 'munderover', [base, bot, top], {accent: false, underaccent: false}); parser.Push(node); }; From be3bb351097df18fa5a9d77bda7f9cb63264e4e0 Mon Sep 17 00:00:00 2001 From: "Davide P. Cervone" Date: Tue, 25 Jan 2022 13:19:52 -0500 Subject: [PATCH 035/118] Only process MJX-TeXAtom classes on mrow elements. (mathjax/MathJax#2822) --- ts/input/mathml/MathMLCompile.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ts/input/mathml/MathMLCompile.ts b/ts/input/mathml/MathMLCompile.ts index ea89be1be..26af55b13 100644 --- a/ts/input/mathml/MathMLCompile.ts +++ b/ts/input/mathml/MathMLCompile.ts @@ -118,7 +118,7 @@ export class MathMLCompile { } let type = texClass && kind === 'mrow' ? 'TeXAtom' : kind; for (const name of this.filterClassList(adaptor.allClasses(node))) { - if (name.match(/^MJX-TeXAtom-/)) { + if (name.match(/^MJX-TeXAtom-/) && kind === 'mrow') { texClass = name.substr(12); type = 'TeXAtom'; } else if (name === 'MJX-fixedlimits') { From 118a1c1447097157d6632ec7342b62cb7e156ff0 Mon Sep 17 00:00:00 2001 From: "Davide P. Cervone" Date: Sun, 30 Jan 2022 08:19:05 -0500 Subject: [PATCH 036/118] Move mml3 filter to an mmlFilter so that forceReparse isn't needed. (mathjax/MathJax#2718) --- ts/input/mathml.ts | 2 +- ts/input/mathml/mml3/mml3-node.ts | 25 ++++++++++----- ts/input/mathml/mml3/mml3.ts | 52 +++++++++++++++++++------------ 3 files changed, 50 insertions(+), 29 deletions(-) diff --git a/ts/input/mathml.ts b/ts/input/mathml.ts index 9319c1594..8979e5998 100644 --- a/ts/input/mathml.ts +++ b/ts/input/mathml.ts @@ -76,7 +76,7 @@ export class MathML extends AbstractInputJax { /** * A list of functions to call on the parsed MathML DOM before conversion to internal structure */ - protected mmlFilters: FunctionList; + public mmlFilters: FunctionList; /** * @override diff --git a/ts/input/mathml/mml3/mml3-node.ts b/ts/input/mathml/mml3/mml3-node.ts index c8cf064ff..e5520a8f5 100644 --- a/ts/input/mathml/mml3/mml3-node.ts +++ b/ts/input/mathml/mml3/mml3-node.ts @@ -22,13 +22,19 @@ * @author dpvc@mathjax.org (Davide Cervone) */ +import {MathDocument} from '../../../core/MathDocument.js'; + /** * Create the transform function that uses Saxon-js to perform the * xslt transformation. * - * @return {(mml: string) => string)} The transformation function + * @template N The HTMLElement node class + * @template T The Text node class + * @template D The Document class + * + * @return {(node: N, doc: MathDocument) => N)} The transformation function */ -export function createTransform(): (mml: string) => string { +export function createTransform(): (node: N, doc: MathDocument) => N { /* tslint:disable-next-line:no-eval */ const nodeRequire = eval('require'); // get the actual require from node. /* tslint:disable-next-line:no-eval */ @@ -43,24 +49,27 @@ export function createTransform(): (mml: string) => string { const fs = nodeRequire('fs'); // use the real version from node. const xsltFile = path.resolve(dirname, 'mml3.sef.json'); // load the preprocessed stylesheet. const xslt = JSON.parse(fs.readFileSync(xsltFile)); // and parse it. - return (mml: string) => { + return (node: N, doc: MathDocument) => { + const adaptor = doc.adaptor; + let mml = adaptor.outerHTML(node); // // Make sure the namespace is present // if (!mml.match(/ xmlns[=:]/)) { - mml = mml.replace(/<(?:(\w+)(:))?math/, '<$1$2math xmlns$2$1="http://www.w3.org/1998/Math/MathML"'); + mml = mml.replace(/<(?:(\w+)(:))?math/, '<$1$2math xmlns$2$1="http://www.w3.org/1998/Math/MathML"'); } - let result; // // Try to run the transform, and if it fails, return the original MathML + // + let result; try { - result = Saxon.transform({ + result = adaptor.firstChild(adaptor.body(adaptor.parse(Saxon.transform({ stylesheetInternal: xslt, sourceText: mml, destination: 'serialized' - }).principalResult; + }).principalResult))) as N; } catch (err) { - result = mml; + result = node; } return result; }; diff --git a/ts/input/mathml/mml3/mml3.ts b/ts/input/mathml/mml3/mml3.ts index 7afda0b28..d3e48c7b4 100644 --- a/ts/input/mathml/mml3/mml3.ts +++ b/ts/input/mathml/mml3/mml3.ts @@ -27,12 +27,17 @@ import {MathDocument} from '../../../core/MathDocument.js'; import {Handler} from '../../../core/Handler.js'; import {OptionList} from '../../../util/Options.js'; import {createTransform} from './mml3-node.js'; +import {MathML} from '../../mathml.js'; /** * The data for a MathML prefilter. + * + * @template N The HTMLElement node class + * @template T The Text node class + * @template D The Document class */ -export type FILTERDATA = {math: MathItem, document: MathDocument, data: string}; +export type FILTERDATA = {math: MathItem, document: MathDocument, data: N}; /** * Class that handles XSLT transform for MathML3 elementary math tags. @@ -48,7 +53,7 @@ export class Mml3 { * The function to convert serialized MathML using the XSLT. * (Different for browser and node environments.) */ - protected transform: (xml: string) => string; + protected transform: (node: N, doc: MathDocument) => N; /** * @param {MathDocument} document The MathDocument for the transformation @@ -67,22 +72,23 @@ export class Mml3 { const processor = new XSLTProcessor(); const parsed = document.adaptor.parse(Mml3.XSLT, 'text/xml') as any as Node; processor.importStylesheet(parsed); - this.transform = (mml: string) => { - const adaptor = document.adaptor; - const parsed = adaptor.parse(mml) as any as Node; - const xml = processor.transformToDocument(parsed) as any as D; - return adaptor.serializeXML(adaptor.body(xml)); + this.transform = (node: N) => { + const div = document.adaptor.node('div', {}, [document.adaptor.clone(node)]); + const mml = processor.transformToDocument(div as any as Node) as any as N; + return document.adaptor.firstChild(mml) as N; }; } } /** - * The prefilter for the MathML input jax + * The mathml filter for the MathML input jax * * @param {FILTERDATA} args The data from the pre-filter chain. */ - public preFilter(args: FILTERDATA) { - args.data = this.transform(args.data); + public mmlFilter(args: FILTERDATA) { + if (args.document.options.enableMml3) { + args.data = this.transform(args.data, args.document); + } } } @@ -92,6 +98,15 @@ export class Mml3 { */ export function Mml3Handler(handler: Handler): Handler { handler.documentClass = class extends handler.documentClass { + + /** + * @override + */ + public static OPTIONS: OptionList = { + ...handler.documentClass.OPTIONS, + enableMml3: true, + }; + /** * Add a prefilter to the MathML input jax, if there is one. * @@ -100,17 +115,14 @@ export function Mml3Handler(handler: Handler): Handler).mmlFilters.add(mml3.mmlFilter.bind(mml3)); + jax.options._mml3 = true; } + break; } } } From 3ea32e4c4a76f399556b7fa087e0db79e07bbb7c Mon Sep 17 00:00:00 2001 From: "Davide P. Cervone" Date: Mon, 31 Jan 2022 08:47:53 -0500 Subject: [PATCH 037/118] Make sure all character data is included when adaptiveCSS is false. (mathjax/MathJax#2724) --- ts/output/chtml/FontData.ts | 35 ++++++++++++++++++++++++++++++++++- 1 file changed, 34 insertions(+), 1 deletion(-) diff --git a/ts/output/chtml/FontData.ts b/ts/output/chtml/FontData.ts index 1e45a48ff..dfa4b1146 100644 --- a/ts/output/chtml/FontData.ts +++ b/ts/output/chtml/FontData.ts @@ -185,7 +185,11 @@ export class CHTMLFontData extends FontData Date: Mon, 31 Jan 2022 14:04:30 -0500 Subject: [PATCH 038/118] Add a minimum height for accented characters. (mathjax/MathJax#2766) --- ts/output/chtml/Wrappers/munderover.ts | 2 ++ ts/output/chtml/Wrappers/scriptbase.ts | 14 ++++++++++++++ ts/output/common/Wrappers/munderover.ts | 6 ++++++ 3 files changed, 22 insertions(+) diff --git a/ts/output/chtml/Wrappers/munderover.ts b/ts/output/chtml/Wrappers/munderover.ts index 333320bc1..fa9749a56 100644 --- a/ts/output/chtml/Wrappers/munderover.ts +++ b/ts/output/chtml/Wrappers/munderover.ts @@ -142,6 +142,7 @@ CommonMoverMixin, Constructor, Constructor, CHTMLConstructor Date: Mon, 31 Jan 2022 14:28:29 -0500 Subject: [PATCH 039/118] Make safe extension properly handle scriptlevel of 0. (mathjax/MathJax#2745) --- ts/ui/safe/SafeMethods.ts | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/ts/ui/safe/SafeMethods.ts b/ts/ui/safe/SafeMethods.ts index 4e7380fdc..f7175e92d 100644 --- a/ts/ui/safe/SafeMethods.ts +++ b/ts/ui/safe/SafeMethods.ts @@ -242,15 +242,15 @@ export const SafeMethods: {[name: string]: FilterFunction} = { * * @param {Safe} safe The Safe object being used * @param {string} size The script size multiplier to test - * @return {number} The sanitized size + * @return {string} The sanitized size * * @template N The HTMLElement node class * @template T The Text node class * @template D The Document class */ - filterSizeMultiplier(safe: Safe, size: string): number { + filterSizeMultiplier(safe: Safe, size: string): string { const [m, M] = safe.options.scriptsizemultiplierRange || [-Infinity, Infinity]; - return Math.min(M, Math.max(m, parseFloat(size))); + return Math.min(M, Math.max(m, parseFloat(size))).toString(); }, /** @@ -258,15 +258,15 @@ export const SafeMethods: {[name: string]: FilterFunction} = { * * @param {Safe} safe The Safe object being used * @param {string} size The scriptlevel to test - * @return {number|null} The sanitized scriptlevel or null + * @return {string|null} The sanitized scriptlevel or null * * @template N The HTMLElement node class * @template T The Text node class * @template D The Document class */ - filterScriptLevel(safe: Safe, level: string): number | null { + filterScriptLevel(safe: Safe, level: string): string | null { const [m, M] = safe.options.scriptlevelRange || [-Infinity, Infinity]; - return Math.min(M, Math.max(m, parseInt(level))); + return Math.min(M, Math.max(m, parseInt(level))).toString(); }, /** From 694b0ff7b5f89d05e9076a9302c1a64bfe8c568a Mon Sep 17 00:00:00 2001 From: "Davide P. Cervone" Date: Wed, 2 Feb 2022 10:48:26 -0500 Subject: [PATCH 040/118] Fix problem where some menu items aren't sticky (mathjax/MathJax#2786) --- ts/ui/menu/Menu.ts | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/ts/ui/menu/Menu.ts b/ts/ui/menu/Menu.ts index 7553aafc3..a28694b0d 100644 --- a/ts/ui/menu/Menu.ts +++ b/ts/ui/menu/Menu.ts @@ -371,6 +371,7 @@ export class Menu { this.initSettings(); this.mergeUserSettings(); this.initMenu(); + this.applySettings(); } /** @@ -670,6 +671,18 @@ export class Menu { /*======================================================================*/ + /** + * Do what is needed to apply the initial user settings + */ + protected applySettings() { + this.setTabOrder(this.settings.inTabOrder); + this.document.options.enableAssistiveMml = this.settings.assistiveMml; + this.document.outputJax.options.scale = parseFloat(this.settings.scale); + if (this.settings.renderer !== this.defaultSettings.renderer) { + this.setRenderer(this.settings.renderer); + } + } + /** * @param {string} scale The new scaling value */ @@ -765,7 +778,7 @@ export class Menu { if (percent.match(/^\s*\d+(\.\d*)?\s*%?\s*$/)) { const scale = parseFloat(percent) / 100; if (scale) { - this.setScale(String(scale)); + this.menu.pool.lookup('scale').setValue(String(scale)); } else { alert('The scale should not be zero'); } From 195838b47d3d8e75deb271fd29f43c83d8ef403e Mon Sep 17 00:00:00 2001 From: "Davide P. Cervone" Date: Wed, 2 Feb 2022 11:07:13 -0500 Subject: [PATCH 041/118] Make variables local in legacy code. (mathjax/MathJax#2748) --- ts/input/asciimath/mathjax2/legacy/jax/element/MmlNode.js | 2 +- .../asciimath/mathjax2/legacy/jax/input/AsciiMath/jax.js | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/ts/input/asciimath/mathjax2/legacy/jax/element/MmlNode.js b/ts/input/asciimath/mathjax2/legacy/jax/element/MmlNode.js index 8f3b4cbf3..cab6e13b0 100644 --- a/ts/input/asciimath/mathjax2/legacy/jax/element/MmlNode.js +++ b/ts/input/asciimath/mathjax2/legacy/jax/element/MmlNode.js @@ -56,7 +56,7 @@ } for (var i = 0, m = names.length; i < m; i++) { if (copy[names[i]] === 1 && !defaults.hasOwnProperty(names[i])) continue; - value = (this.attr||{})[names[i]]; + var value = (this.attr||{})[names[i]]; if (value == null) value = this[names[i]]; if (value === 'true' || value === 'false') value = (value === 'true'); if (value != null) node.attributes.set(names[i],value); diff --git a/ts/input/asciimath/mathjax2/legacy/jax/input/AsciiMath/jax.js b/ts/input/asciimath/mathjax2/legacy/jax/input/AsciiMath/jax.js index 7556ee1d2..05981f7ce 100644 --- a/ts/input/asciimath/mathjax2/legacy/jax/input/AsciiMath/jax.js +++ b/ts/input/asciimath/mathjax2/legacy/jax/input/AsciiMath/jax.js @@ -1391,10 +1391,10 @@ asciimath.translate = translate; * ******************************************************************/ -showasciiformulaonhover = false; -mathfontfamily = ""; -mathcolor = ""; -mathfontsize = ""; +var showasciiformulaonhover = false; +var mathfontfamily = ""; +var mathcolor = ""; +var mathfontsize = ""; // // Remove remapping of mathvariants to plane1 (MathJax handles that) From f89b180f0f09a656a6312d64e01dd51b1675f7da Mon Sep 17 00:00:00 2001 From: "Davide P. Cervone" Date: Wed, 2 Feb 2022 14:59:22 -0500 Subject: [PATCH 042/118] Make sure math-in-text forms an ORD atom with textmacros. (mathjax/MathJax#28282) --- ts/input/tex/textmacros/TextParser.ts | 3 +++ 1 file changed, 3 insertions(+) diff --git a/ts/input/tex/textmacros/TextParser.ts b/ts/input/tex/textmacros/TextParser.ts index e4fec1cb6..6778fe809 100644 --- a/ts/input/tex/textmacros/TextParser.ts +++ b/ts/input/tex/textmacros/TextParser.ts @@ -141,6 +141,9 @@ export class TextParser extends TexParser { */ public PushMath(mml: MmlNode) { const env = this.stack.env; + if (!mml.isKind('TeXAtom')) { + mml = this.create('node', 'TeXAtom', [mml]); // make sure the math is an ORD + } for (const name of ['mathsize', 'mathcolor']) { if (env[name] && !mml.attributes.getExplicit(name)) { if (!mml.isToken && !mml.isKind('mstyle')) { From a4a18f3054cc3fa254037223b62acb560769454e Mon Sep 17 00:00:00 2001 From: "Davide P. Cervone" Date: Thu, 3 Feb 2022 18:56:18 -0500 Subject: [PATCH 043/118] Fix typo in accentunder in #763. --- ts/input/tex/base/BaseMethods.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/ts/input/tex/base/BaseMethods.ts b/ts/input/tex/base/BaseMethods.ts index 77d2e0bc3..2d0290d87 100644 --- a/ts/input/tex/base/BaseMethods.ts +++ b/ts/input/tex/base/BaseMethods.ts @@ -647,7 +647,7 @@ BaseMethods.Underset = function(parser: TexParser, name: string) { if (bot.isKind('mo')) { NodeUtil.setAttribute(bot, 'accent', false); } - const node = parser.create('node', 'munder', [base, bot], {underaccent: false}); + const node = parser.create('node', 'munder', [base, bot], {accentunder: false}); parser.Push(node); }; @@ -668,7 +668,7 @@ BaseMethods.Overunderset = function(parser: TexParser, name: string) { if (bot.isKind('mo')) { NodeUtil.setAttribute(bot, 'accent', false); } - const node = parser.create('node', 'munderover', [base, bot, top], {accent: false, underaccent: false}); + const node = parser.create('node', 'munderover', [base, bot, top], {accent: false, accentunder: false}); parser.Push(node); }; From 75360175487631e7514fbe75e70e2ce2a5bdcabb Mon Sep 17 00:00:00 2001 From: zorkow Date: Sun, 6 Feb 2022 08:12:14 +0100 Subject: [PATCH 044/118] Cleaner export and correct order for SRE. --- components/src/a11y/sre/sre.js | 17 ++++ package-lock.json | 141 +++++++++++++++++++-------------- package.json | 3 +- ts/a11y/sre.ts | 35 +++++--- tsconfig.json | 4 +- 5 files changed, 124 insertions(+), 76 deletions(-) diff --git a/components/src/a11y/sre/sre.js b/components/src/a11y/sre/sre.js index 48f70a83c..c3d92fba9 100644 --- a/components/src/a11y/sre/sre.js +++ b/components/src/a11y/sre/sre.js @@ -1 +1,18 @@ import './lib/sre.js'; + +import {Package} from '../../../../js/components/package.js'; + +if (MathJax.startup) { + console.log('Bundled Path!'); + let path = Package.resolvePath('[sre]', false) + '/mathmaps'; + console.log(path); + if (typeof window !== 'undefined') { + console.log(2); + window.SREfeature = {json: path}; + } else { + console.log(3); + // TODO: This is does not yet work correctly! + global.SREfeature = {json: path}; + } +} + diff --git a/package-lock.json b/package-lock.json index 749040fa3..715b93154 100644 --- a/package-lock.json +++ b/package-lock.json @@ -12,7 +12,8 @@ "esm": "^3.2.25", "mhchemparser": "^4.1.0", "mj-context-menu": "^0.6.1", - "speech-rule-engine": "^4.0.0" + "speech-rule-engine": "^4.0.0", + "yargs": "^17.3.1" }, "devDependencies": { "@babel/core": "^7.14.5", @@ -1879,7 +1880,6 @@ "version": "5.0.1", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "dev": true, "engines": { "node": ">=8" } @@ -2115,7 +2115,6 @@ "version": "7.0.4", "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", - "dev": true, "dependencies": { "string-width": "^4.2.0", "strip-ansi": "^6.0.0", @@ -2205,6 +2204,33 @@ "copyup": "copyfiles" } }, + "node_modules/copyfiles/node_modules/yargs": { + "version": "16.2.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", + "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", + "dev": true, + "dependencies": { + "cliui": "^7.0.2", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.0", + "y18n": "^5.0.5", + "yargs-parser": "^20.2.2" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/copyfiles/node_modules/yargs-parser": { + "version": "20.2.9", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz", + "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==", + "dev": true, + "engines": { + "node": ">=10" + } + }, "node_modules/core-js-compat": { "version": "3.20.3", "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.20.3.tgz", @@ -2345,8 +2371,7 @@ "node_modules/emoji-regex": { "version": "8.0.0", "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", - "dev": true + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" }, "node_modules/emojis-list": { "version": "3.0.0", @@ -2468,7 +2493,6 @@ "version": "3.1.1", "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", - "dev": true, "engines": { "node": ">=6" } @@ -2675,7 +2699,6 @@ "version": "2.0.5", "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", - "dev": true, "engines": { "node": "6.* || 8.* || >= 10.*" } @@ -2996,7 +3019,6 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", - "dev": true, "engines": { "node": ">=8" } @@ -3796,7 +3818,6 @@ "version": "2.1.1", "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=", - "dev": true, "engines": { "node": ">=0.10.0" } @@ -4015,7 +4036,6 @@ "version": "4.2.3", "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "dev": true, "dependencies": { "emoji-regex": "^8.0.0", "is-fullwidth-code-point": "^3.0.0", @@ -4072,7 +4092,6 @@ "version": "6.0.1", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "dev": true, "dependencies": { "ansi-regex": "^5.0.1" }, @@ -4892,7 +4911,6 @@ "version": "7.0.0", "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", - "dev": true, "dependencies": { "ansi-styles": "^4.0.0", "string-width": "^4.1.0", @@ -4909,7 +4927,6 @@ "version": "4.3.0", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, "dependencies": { "color-convert": "^2.0.1" }, @@ -4924,7 +4941,6 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, "dependencies": { "color-name": "~1.1.4" }, @@ -4935,8 +4951,7 @@ "node_modules/wrap-ansi/node_modules/color-name": { "version": "1.1.4", "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" }, "node_modules/wrappy": { "version": "1.0.2", @@ -4965,36 +4980,33 @@ "version": "5.0.8", "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", - "dev": true, "engines": { "node": ">=10" } }, "node_modules/yargs": { - "version": "16.2.0", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", - "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", - "dev": true, + "version": "17.3.1", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.3.1.tgz", + "integrity": "sha512-WUANQeVgjLbNsEmGk20f+nlHgOqzRFpiGWVaBrYGYIGANIIu3lWjoyi0fNlFmJkvfhCZ6BXINe7/W2O2bV4iaA==", "dependencies": { "cliui": "^7.0.2", "escalade": "^3.1.1", "get-caller-file": "^2.0.5", "require-directory": "^2.1.1", - "string-width": "^4.2.0", + "string-width": "^4.2.3", "y18n": "^5.0.5", - "yargs-parser": "^20.2.2" + "yargs-parser": "^21.0.0" }, "engines": { - "node": ">=10" + "node": ">=12" } }, "node_modules/yargs-parser": { - "version": "20.2.9", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz", - "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==", - "dev": true, + "version": "21.0.0", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.0.0.tgz", + "integrity": "sha512-z9kApYUOCwoeZ78rfRYYWdiU/iNL6mwwYlkkZfJoyMR1xps+NEBX5X7XmRpxkZHhXJ6+Ey00IwKxBBSW9FIjyA==", "engines": { - "node": ">=10" + "node": ">=12" } } }, @@ -6340,8 +6352,7 @@ "ansi-regex": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "dev": true + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==" }, "ansi-styles": { "version": "3.2.1", @@ -6514,7 +6525,6 @@ "version": "7.0.4", "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", - "dev": true, "requires": { "string-width": "^4.2.0", "strip-ansi": "^6.0.0", @@ -6592,6 +6602,29 @@ "through2": "^2.0.1", "untildify": "^4.0.0", "yargs": "^16.1.0" + }, + "dependencies": { + "yargs": { + "version": "16.2.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", + "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", + "dev": true, + "requires": { + "cliui": "^7.0.2", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.0", + "y18n": "^5.0.5", + "yargs-parser": "^20.2.2" + } + }, + "yargs-parser": { + "version": "20.2.9", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz", + "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==", + "dev": true + } } }, "core-js-compat": { @@ -6708,8 +6741,7 @@ "emoji-regex": { "version": "8.0.0", "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", - "dev": true + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" }, "emojis-list": { "version": "3.0.0", @@ -6805,8 +6837,7 @@ "escalade": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", - "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", - "dev": true + "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==" }, "escape-string-regexp": { "version": "1.0.5", @@ -6962,8 +6993,7 @@ "get-caller-file": { "version": "2.0.5", "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", - "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", - "dev": true + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==" }, "get-intrinsic": { "version": "1.1.1", @@ -7181,8 +7211,7 @@ "is-fullwidth-code-point": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", - "dev": true + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==" }, "is-map": { "version": "2.0.2", @@ -7777,8 +7806,7 @@ "require-directory": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", - "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=", - "dev": true + "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=" }, "resolve": { "version": "1.21.0", @@ -7947,7 +7975,6 @@ "version": "4.2.3", "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "dev": true, "requires": { "emoji-regex": "^8.0.0", "is-fullwidth-code-point": "^3.0.0", @@ -7989,7 +8016,6 @@ "version": "6.0.1", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "dev": true, "requires": { "ansi-regex": "^5.0.1" } @@ -8591,7 +8617,6 @@ "version": "7.0.0", "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", - "dev": true, "requires": { "ansi-styles": "^4.0.0", "string-width": "^4.1.0", @@ -8602,7 +8627,6 @@ "version": "4.3.0", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, "requires": { "color-convert": "^2.0.1" } @@ -8611,7 +8635,6 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, "requires": { "color-name": "~1.1.4" } @@ -8619,8 +8642,7 @@ "color-name": { "version": "1.1.4", "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" } } }, @@ -8644,29 +8666,26 @@ "y18n": { "version": "5.0.8", "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", - "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", - "dev": true + "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==" }, "yargs": { - "version": "16.2.0", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", - "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", - "dev": true, + "version": "17.3.1", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.3.1.tgz", + "integrity": "sha512-WUANQeVgjLbNsEmGk20f+nlHgOqzRFpiGWVaBrYGYIGANIIu3lWjoyi0fNlFmJkvfhCZ6BXINe7/W2O2bV4iaA==", "requires": { "cliui": "^7.0.2", "escalade": "^3.1.1", "get-caller-file": "^2.0.5", "require-directory": "^2.1.1", - "string-width": "^4.2.0", + "string-width": "^4.2.3", "y18n": "^5.0.5", - "yargs-parser": "^20.2.2" + "yargs-parser": "^21.0.0" } }, "yargs-parser": { - "version": "20.2.9", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz", - "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==", - "dev": true + "version": "21.0.0", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.0.0.tgz", + "integrity": "sha512-z9kApYUOCwoeZ78rfRYYWdiU/iNL6mwwYlkkZfJoyMR1xps+NEBX5X7XmRpxkZHhXJ6+Ey00IwKxBBSW9FIjyA==" } } } diff --git a/package.json b/package.json index 87d8cd3c7..f1ce0a412 100644 --- a/package.json +++ b/package.json @@ -65,6 +65,7 @@ "esm": "^3.2.25", "mhchemparser": "^4.1.0", "mj-context-menu": "^0.6.1", - "speech-rule-engine": "^4.0.0" + "speech-rule-engine": "^4.0.0", + "yargs": "^17.3.1" } } diff --git a/ts/a11y/sre.ts b/ts/a11y/sre.ts index a4b093730..fb88936d0 100644 --- a/ts/a11y/sre.ts +++ b/ts/a11y/sre.ts @@ -22,18 +22,8 @@ * @author v.sorge@mathjax.org (Volker Sorge) */ -import * as Api from 'speech-rule-engine/js/common/system.js'; -import {Walker} from 'speech-rule-engine/js/walker/walker.js'; -import * as WalkerFactory from 'speech-rule-engine/js/walker/walker_factory.js'; -import * as SpeechGeneratorFactory from 'speech-rule-engine/js/speech_generator/speech_generator_factory.js'; -import * as EngineConst from 'speech-rule-engine/js/common/engine_const.js'; -import {ClearspeakPreferences} from 'speech-rule-engine/js/speech_rules/clearspeak_preferences.js'; -import {Highlighter} from 'speech-rule-engine/js/highlighter/highlighter.js'; -import * as HighlighterFactory from 'speech-rule-engine/js/highlighter/highlighter_factory.js'; -import {SpeechGenerator} from 'speech-rule-engine/js/speech_generator/speech_generator.js'; -import {Variables} from 'speech-rule-engine/js/common/variables.js'; - import {Package} from '../components/package.js'; +import MathMaps from './mathmaps.js'; declare namespace window { let SREfeature: {[key: string]: any}; @@ -48,17 +38,36 @@ declare namespace global { // We could also use a custom method for loading locales that are webpacked into // the distribution. (() => { + console.log('Typescript path'); let path = Package.resolvePath('[sre]', false) + '/mathmaps'; console.log(path); if (typeof window !== 'undefined') { - window.SREfeature = {json: path}; + console.log(6); + console.log(MathMaps); + console.log((window as any)['SRE']); + window.SREfeature = {json: path, delay: true}; + // window.SREfeature = { + // json: path + // }; } else { + console.log(7); // TODO: This is does not yet work correctly! - global.SREfeature = {json: path}; + global.SREfeature = {json: path, delay: true}; } })(); +import * as Api from 'speech-rule-engine/js/common/system.js'; +import {Walker} from 'speech-rule-engine/js/walker/walker.js'; +import * as WalkerFactory from 'speech-rule-engine/js/walker/walker_factory.js'; +import * as SpeechGeneratorFactory from 'speech-rule-engine/js/speech_generator/speech_generator_factory.js'; +import * as EngineConst from 'speech-rule-engine/js/common/engine_const.js'; +import {ClearspeakPreferences} from 'speech-rule-engine/js/speech_rules/clearspeak_preferences.js'; +import {Highlighter} from 'speech-rule-engine/js/highlighter/highlighter.js'; +import * as HighlighterFactory from 'speech-rule-engine/js/highlighter/highlighter_factory.js'; +import {SpeechGenerator} from 'speech-rule-engine/js/speech_generator/speech_generator.js'; +import {Variables} from 'speech-rule-engine/js/common/variables.js'; + export namespace Sre { export type highlighter = Highlighter; diff --git a/tsconfig.json b/tsconfig.json index 0db24713b..b44e6fef9 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -10,10 +10,12 @@ "noUnusedLocals": true, "noUnusedParameters": true, "removeComments": true, + "resolveJsonModule" : true, + "esModuleInterop": true , "baseUrl": ".", "paths": { "mj-context-menu": ["node_modules/mj-context-menu"], - "sre-rule-engine": ["node_modules/speech-rule-engine"] + "speech-rule-engine": ["node_modules/speech-rule-engine"] }, "lib": ["es6", "dom", "es2020"], "noLib": false, From 52c03bbf3cc683f702a87e3c7f63bd1286bcac0b Mon Sep 17 00:00:00 2001 From: "Davide P. Cervone" Date: Mon, 7 Feb 2022 11:50:47 -0500 Subject: [PATCH 045/118] Have physics package match nested parentheses, fix spacing issues for fences and some vector operators. (mathjax/MathJax#2760, mathjax/MathJax#2831) --- ts/input/tex/physics/PhysicsConfiguration.ts | 3 +- ts/input/tex/physics/PhysicsItems.ts | 46 ++++++++++++++++---- ts/input/tex/physics/PhysicsMappings.ts | 7 ++- 3 files changed, 45 insertions(+), 11 deletions(-) diff --git a/ts/input/tex/physics/PhysicsConfiguration.ts b/ts/input/tex/physics/PhysicsConfiguration.ts index 533dedc65..0cf4724f5 100644 --- a/ts/input/tex/physics/PhysicsConfiguration.ts +++ b/ts/input/tex/physics/PhysicsConfiguration.ts @@ -33,7 +33,8 @@ export const PhysicsConfiguration = Configuration.create( macro: [ 'Physics-automatic-bracing-macros', 'Physics-vector-macros', - 'Physics-vector-chars', + 'Physics-vector-mo', + 'Physics-vector-mi', 'Physics-derivative-macros', 'Physics-expressions-macros', 'Physics-quick-quad-macros', diff --git a/ts/input/tex/physics/PhysicsItems.ts b/ts/input/tex/physics/PhysicsItems.ts index 07c0c90f7..e5ed55bc0 100644 --- a/ts/input/tex/physics/PhysicsItems.ts +++ b/ts/input/tex/physics/PhysicsItems.ts @@ -25,11 +25,25 @@ import {CheckType, BaseItem, StackItem} from '../StackItem.js'; import ParseUtil from '../ParseUtil.js'; +import NodeUtil from '../NodeUtil.js'; import TexParser from '../TexParser.js'; - +import {AbstractMmlTokenNode} from '../../../core/MmlTree/MmlNode.js'; export class AutoOpen extends BaseItem { + /** + * @override + */ + protected static errors = Object.assign(Object.create(BaseItem.errors), { + 'stop': ['ExtraOrMissingDelims', 'Extra open or missing close delimiter'] + }); + + /** + * The number of unpaired open delimiters that need to be matched before + * a close delimiter will close this item. (#2831) + */ + protected openCount: number = 0; + /** * @override */ @@ -64,20 +78,36 @@ export class AutoOpen extends BaseItem { this.Push(new TexParser(right, parser.stack.env, parser.configuration).mml()); } - let mml = super.toMml(); - return ParseUtil.fenced(this.factory.configuration, - this.getProperty('open') as string, - mml, - this.getProperty('close') as string, - this.getProperty('big') as string); + let mml = ParseUtil.fenced( + this.factory.configuration, + this.getProperty('open') as string, + super.toMml(), + this.getProperty('close') as string, + this.getProperty('big') as string + ); + // + // Remove fence markers so it is treated as a regular mrow when + // setting the tex class, so it is not class INNER (#2760) + // + NodeUtil.removeProperties(mml, 'open', 'close', 'texClass'); + return mml; } /** * @override */ public checkItem(item: StackItem): CheckType { + // + // Check for nested open delimiters (#2831) + // + if (item.isKind('mml') && item.Size() === 1) { + const mml = item.toMml(); + if (mml.isKind('mo') && (mml as AbstractMmlTokenNode).getText() === this.getProperty('open')) { + this.openCount++; + } + } let close = item.getProperty('autoclose'); - if (close && close === this.getProperty('close')) { + if (close && close === this.getProperty('close') && !this.openCount--) { if (this.getProperty('ignore')) { this.Clear(); return [[], true]; diff --git a/ts/input/tex/physics/PhysicsMappings.ts b/ts/input/tex/physics/PhysicsMappings.ts index 6629ecd42..f0e62e087 100644 --- a/ts/input/tex/physics/PhysicsMappings.ts +++ b/ts/input/tex/physics/PhysicsMappings.ts @@ -58,14 +58,17 @@ new CommandMap('Physics-automatic-bracing-macros', { /** * Macros for physics package (section 2.2). */ -new CharacterMap('Physics-vector-chars', ParseMethods.mathchar0mi, { +new CharacterMap('Physics-vector-mo', ParseMethods.mathchar0mo, { dotproduct: ['\u22C5', {mathvariant: TexConstant.Variant.BOLD}], vdot: ['\u22C5', {mathvariant: TexConstant.Variant.BOLD}], crossproduct: '\u00D7', cross: '\u00D7', cp: '\u00D7', // This is auxiliary! - gradientnabla: ['\u2207', {mathvariant: TexConstant.Variant.BOLD}], + gradientnabla: ['\u2207', {mathvariant: TexConstant.Variant.BOLD}] +}); + +new CharacterMap('Physics-vector-mi', ParseMethods.mathchar0mi, { real: ['\u211C', {mathvariant: TexConstant.Variant.NORMAL}], imaginary: ['\u2111', {mathvariant: TexConstant.Variant.NORMAL}] }); From 288cb4bb223571178c816afd967fb58438ec80b9 Mon Sep 17 00:00:00 2001 From: "Davide P. Cervone" Date: Tue, 8 Feb 2022 09:34:38 -0500 Subject: [PATCH 046/118] Add a linkedom adaptor (mathjax/MathJax#2833) --- ts/adaptors/linkedomAdaptor.ts | 148 +++++++++++++++++++++++++++++++++ 1 file changed, 148 insertions(+) create mode 100644 ts/adaptors/linkedomAdaptor.ts diff --git a/ts/adaptors/linkedomAdaptor.ts b/ts/adaptors/linkedomAdaptor.ts new file mode 100644 index 000000000..e1f58a046 --- /dev/null +++ b/ts/adaptors/linkedomAdaptor.ts @@ -0,0 +1,148 @@ +/************************************************************* + * + * Copyright (c) 2022 The MathJax Consortium + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +/** + * @fileoverview Implements the linkedom DOM adaptor + * + * @author dpvc@mathjax.org (Davide Cervone) + */ + +import {HTMLAdaptor} from './HTMLAdaptor.js'; +import {userOptions, defaultOptions, OptionList} from '../util/Options.js'; + +export class LinkedomAdaptor extends HTMLAdaptor { + + /** + * The default options + */ + public static OPTIONS: OptionList = { + fontSize: 16, // We can't compute the font size, so always use this + fontFamily: 'Times', // We can't compute the font family, so always use this + cjkCharWidth: 1, // Width (in em units) of full width characters + unknownCharWidth: .6, // Width (in em units) of unknown (non-full-width) characters + unknownCharHeight: .8, // Height (in em units) of unknown characters + }; + + /** + * Pattern to identify CJK (i.e., full-width) characters + */ + public static cjkPattern = new RegExp([ + '[', + '\u1100-\u115F', // Hangul Jamo + '\u2329\u232A', // LEFT-POINTING ANGLE BRACKET, RIGHT-POINTING ANGLE BRACKET + '\u2E80-\u303E', // CJK Radicals Supplement ... CJK Symbols and Punctuation + '\u3040-\u3247', // Hiragana ... Enclosed CJK Letters and Months + '\u3250-\u4DBF', // Enclosed CJK Letters and Months ... CJK Unified Ideographs Extension A + '\u4E00-\uA4C6', // CJK Unified Ideographs ... Yi Radicals + '\uA960-\uA97C', // Hangul Jamo Extended-A + '\uAC00-\uD7A3', // Hangul Syllables + '\uF900-\uFAFF', // CJK Compatibility Ideographs + '\uFE10-\uFE19', // Vertical Forms + '\uFE30-\uFE6B', // CJK Compatibility Forms ... Small Form Variants + '\uFF01-\uFF60\uFFE0-\uFFE6', // Halfwidth and Fullwidth Forms + '\u{1B000}-\u{1B001}', // Kana Supplement + '\u{1F200}-\u{1F251}', // Enclosed Ideographic Supplement + '\u{20000}-\u{3FFFD}', // CJK Unified Ideographs Extension B ... Tertiary Ideographic Plane + ']' + ].join(''), 'gu'); + + /** + * The options for the instance + */ + public options: OptionList; + + /** + * @param {Window} window The window to work with + * @param {OptionList} options The options for the jsdom adaptor + * @constructor + */ + constructor(window: Window, options: OptionList = null) { + super(window); + window.constructor.prototype.HTMLCollection = class {}; // add fake class for missing HTMLCollecton + let CLASS = this.constructor as typeof LinkedomAdaptor; + this.options = userOptions(defaultOptions({}, CLASS.OPTIONS), options); + } + + /** + * @override + */ + public parse(text: string, format: string = 'text/html') { + if (!text.match(/^(?:\s|\n)*' + text + ''; + return this.parser.parseFromString(text, format); + } + + /** + * @override + * + * This will do an HTML serialization, which may be good enough, but + * won't necessarily close some tags properly. + */ + public serializeXML(node: HTMLElement) { + return this.outerHTML(node); + } + + /** + * Linkedom doesn't implement getComputedStyle(), so just + * use the default value (unfortunately). + * + * @override + */ + public fontSize(_node: HTMLElement) { + return this.options.fontSize; + } + + /** + * Linkedom doesn't implement getComputedStyle(), so just + * use the default value (unfortunately). + * + * @override + */ + public fontFamily(_node: HTMLElement) { + return this.options.fontFamily; + } + + /** + * @override + */ + public nodeSize(node: HTMLElement, _em: number = 1, _local: boolean = null) { + const text = this.textContent(node); + const non = Array.from(text.replace(LinkedomAdaptor.cjkPattern, '')).length; // # of non-CJK chars + const CJK = Array.from(text).length - non; // # of cjk chars + return [ + CJK * this.options.cjkCharWidth + non * this.options.unknownCharWidth, + this.options.unknownCharHeight + ] as [number, number]; + } + + /** + * @override + */ + public nodeBBox(_node: HTMLElement) { + return {left: 0, right: 0, top: 0, bottom: 0}; + } + +} + +/** + * Function for creating an HTML adaptor using jsdom + * + * @param {any} parseHTML The linkedom HTML parser to use for this adaptor + * @return {HTMLAdaptor} The newly created adaptor + */ +export function linkedomAdaptor(parseHTML: any, options: OptionList = null): HTMLAdaptor { + return new LinkedomAdaptor(parseHTML(''), options); +} From a0a960af45d8f3d341d18c30e23a63856b0ab6c6 Mon Sep 17 00:00:00 2001 From: "Davide P. Cervone" Date: Wed, 9 Feb 2022 09:43:02 -0500 Subject: [PATCH 047/118] Re-implement \sideset using mmultiscripts, and add support for how the scripts are aligned in mmultiscripts. (mathjax/MathJax#1217) --- ts/core/MmlTree/SerializedMmlVisitor.ts | 2 + ts/input/mathml/MathMLCompile.ts | 19 +++++++--- ts/input/tex/ams/AmsMappings.ts | 3 +- ts/input/tex/ams/AmsMethods.ts | 45 +++++++++++++++++++++++ ts/output/chtml/Wrappers/mmultiscripts.ts | 26 +++++++++++-- ts/output/svg/Wrappers/mmultiscripts.ts | 37 ++++++++++++++++--- 6 files changed, 115 insertions(+), 17 deletions(-) diff --git a/ts/core/MmlTree/SerializedMmlVisitor.ts b/ts/core/MmlTree/SerializedMmlVisitor.ts index 0b5abc245..747ffcbf8 100644 --- a/ts/core/MmlTree/SerializedMmlVisitor.ts +++ b/ts/core/MmlTree/SerializedMmlVisitor.ts @@ -203,6 +203,8 @@ export class SerializedMmlVisitor extends MmlVisitor { node.getProperty('variantForm') && this.setDataAttribute(data, 'alternate', '1'); node.getProperty('pseudoscript') && this.setDataAttribute(data, 'pseudoscript', 'true'); node.getProperty('autoOP') === false && this.setDataAttribute(data, 'auto-op', 'false'); + const scriptalign = node.getProperty('scriptalign') as string; + scriptalign && this.setDataAttribute(data, 'script-align', scriptalign); const texclass = node.getProperty('texClass') as number; if (texclass !== undefined) { let setclass = true; diff --git a/ts/input/mathml/MathMLCompile.ts b/ts/input/mathml/MathMLCompile.ts index 26af55b13..687b5a082 100644 --- a/ts/input/mathml/MathMLCompile.ts +++ b/ts/input/mathml/MathMLCompile.ts @@ -156,18 +156,27 @@ export class MathMLCompile { continue; } if (name.substr(0, 9) === 'data-mjx-') { - if (name === 'data-mjx-alternate') { + switch (name.substr(9)) { + case 'alternate': mml.setProperty('variantForm', true); - } else if (name === 'data-mjx-variant') { + break; + case 'variant': mml.attributes.set('mathvariant', value); ignoreVariant = true; - } else if (name === 'data-mjx-smallmatrix') { + break; + case 'smallmatrix': mml.setProperty('scriptlevel', 1); mml.setProperty('useHeight', false); - } else if (name === 'data-mjx-accent') { + break; + case 'accent': mml.setProperty('mathaccent', value === 'true'); - } else if (name === 'data-mjx-auto-op') { + break; + case 'auto-op': mml.setProperty('autoOP', value === 'true'); + break; + case 'script-align': + mml.setProperty('scriptalign', value); + break; } } else if (name !== 'class') { let val = value.toLowerCase(); diff --git a/ts/input/tex/ams/AmsMappings.ts b/ts/input/tex/ams/AmsMappings.ts index 974929baf..ee6c5b257 100644 --- a/ts/input/tex/ams/AmsMappings.ts +++ b/ts/input/tex/ams/AmsMappings.ts @@ -54,8 +54,7 @@ new sm.CommandMap('AMSmath-macros', { dddot: ['Accent', '20DB'], ddddot: ['Accent', '20DC'], - sideset: ['Macro', '\\mathop{\\mathop{\\rlap{\\phantom{#3}}}\\nolimits#1' + - '\\!\\mathop{#3}\\nolimits#2}', 3], + sideset: 'SideSet', boxed: ['Macro', '\\fbox{$\\displaystyle{#1}$}', 1], diff --git a/ts/input/tex/ams/AmsMethods.ts b/ts/input/tex/ams/AmsMethods.ts index dfaa98e79..dbe7ea5ff 100644 --- a/ts/input/tex/ams/AmsMethods.ts +++ b/ts/input/tex/ams/AmsMethods.ts @@ -37,6 +37,7 @@ import {FlalignItem} from './AmsItems.js'; import BaseMethods from '../base/BaseMethods.js'; import {TEXCLASS} from '../../../core/MmlTree/MmlNode.js'; import {MmlMunderover} from '../../../core/MmlTree/MmlNodes/munderover.js'; +import {MmlNode, AbstractMmlTokenNode} from '../../../core/MmlTree/MmlNode.js'; // Namespace @@ -233,6 +234,50 @@ AmsMethods.HandleOperatorName = function(parser: TexParser, name: string) { parser.i = 0; }; +/** + * Handle sideset. + * @param {TexParser} parser The calling parser. + * @param {string} name The macro name. + */ +AmsMethods.SideSet = function (parser: TexParser, name: string) { + const pre = parser.ParseArg(name); + const post = parser.ParseArg(name); + const base = parser.ParseArg(name); + if (!checkSideSet(pre) || !checkSideSet(post)) { + throw new TexError('SideSetArgs', 'First two arguments to %1 must consist only of super- and subscripts', name); + } + const mml = parser.create('node', 'mmultiscripts', [base]); + if (!post.isInferred) { + NodeUtil.appendChildren(mml, [ + NodeUtil.getChildAt(post, 1) || parser.create('node', 'none'), + NodeUtil.getChildAt(post, 2) || parser.create('node', 'none') + ]); + } + if (!pre.isInferred) { + NodeUtil.setProperty(mml, 'scriptalign', 'left'); + NodeUtil.appendChildren(mml, [ + parser.create('node', 'mprescripts'), + NodeUtil.getChildAt(pre, 1) || parser.create('node', 'none'), + NodeUtil.getChildAt(pre, 2) || parser.create('node', 'none') + ]); + } + parser.Push(mml); +}; + +/** + * Utility for checking the pre- and postscript arguments for validity. + * @param {MmlNode} mml The node to check. + * @return {boolean} True if scripts are OK, false otherwise. + */ +function checkSideSet(mml: MmlNode): boolean { + if (!mml) return false; + if (mml.isInferred && mml.childNodes.length === 0) return true; + if (!mml.isKind('msubsup')) return false; + const base = mml.childNodes[0]; + if (!(base && base.isKind('mi') && (base as AbstractMmlTokenNode).getText() === '')) return false; + return true; +} + /** * Handle SkipLimits. diff --git a/ts/output/chtml/Wrappers/mmultiscripts.ts b/ts/output/chtml/Wrappers/mmultiscripts.ts index aeaa7be5a..ee8c2ad04 100644 --- a/ts/output/chtml/Wrappers/mmultiscripts.ts +++ b/ts/output/chtml/Wrappers/mmultiscripts.ts @@ -27,6 +27,7 @@ import {CommonMmultiscriptsMixin} from '../../common/Wrappers/mmultiscripts.js'; import {MmlMmultiscripts} from '../../../core/MmlTree/MmlNodes/mmultiscripts.js'; import {BBox} from '../../../util/BBox.js'; import {StyleList} from '../../../util/StyleList.js'; +import {split} from '../../../util/string.js'; /*****************************************************************/ /** @@ -59,6 +60,15 @@ CommonMmultiscriptsMixin, Constructor mjx-row > mjx-cell': { 'text-align': 'right' + }, + '[script-align="left"] > mjx-row > mjx-cell': { + 'text-align': 'left' + }, + '[script-align="center"] > mjx-row > mjx-cell': { + 'text-align': 'center' + }, + '[script-align="right"] > mjx-row > mjx-cell': { + 'text-align': 'right' } }; @@ -71,6 +81,11 @@ CommonMmultiscriptsMixin, Constructor, Constructor, Constructor, Constructor number; + +/** + * Get the function for aligning scripts horizontally (left, center, right( + */ +export function AlignX(align: string) { + return ({ + left: (_w, _W) => 0, + center: (w, W) => (W - w) / 2, + right: (w, W) => W - w + } as {[name: string]: AlignFunction})[align] || ((_w, _W) => 0) as AlignFunction; +} /*****************************************************************/ /** @@ -50,6 +69,11 @@ CommonMmultiscriptsMixin, Constructor, Constructor, Constructor, Constructor Date: Wed, 9 Feb 2022 14:44:59 -0500 Subject: [PATCH 048/118] Update lazy typesetting to handle printing better. (mathjax/MathJax#2711) --- ts/ui/lazy/LazyHandler.ts | 86 +++++++++++++++++++++++++++++++++++++-- 1 file changed, 83 insertions(+), 3 deletions(-) diff --git a/ts/ui/lazy/LazyHandler.ts b/ts/ui/lazy/LazyHandler.ts index 7f2a73b94..d865879f4 100644 --- a/ts/ui/lazy/LazyHandler.ts +++ b/ts/ui/lazy/LazyHandler.ts @@ -33,6 +33,10 @@ import {handleRetriesFor} from '../../util/Retries.js'; */ declare const window: { requestIdleCallback: (callback: () => void) => void; + addEventListener: ((type: string, handler: (event: Event) => void) => void); + matchMedia: (type: string) => { + addListener: (handler: (event: Event) => void) => void; + }; }; /** @@ -279,6 +283,11 @@ export interface LazyMathDocument extends HTMLDocument { */ lazyList: LazyList; + /** + * A function that will typeset all the remaining expressions (e.g., for printing) + */ + lazyTypesetAll(): Promise; + } /** @@ -346,9 +355,80 @@ B extends MathDocumentConstructor>>( this.lazyObserver = new IntersectionObserver(this.lazyObserve.bind(this)); this.lazyList = new LazyList(); const callback = this.lazyHandleSet.bind(this); - this.lazyProcessSet = (typeof window !== 'undefined' && window.requestIdleCallback ? - () => window.requestIdleCallback(callback) : - () => setTimeout(callback, 10)); + this.lazyProcessSet = (window && window.requestIdleCallback ? + () => window.requestIdleCallback(callback) : + () => setTimeout(callback, 10)); + // + // Install print listeners to typeset the rest of the document before printing + // + if (window) { + let done = false; + const handler = () => { + !done && this.lazyTypesetAll(); + done = true; + }; + window.matchMedia('print').addListener(handler); // for Safari + window.addEventListener('beforeprint', handler); // for everyone else + } + } + + /** + * Function to typeset all remaining expressions (for printing, etc.) + * + * @return {Promise} Promise that is resolved after the typesetting completes. + */ + public async lazyTypesetAll(): Promise { + // + // The state we need to go back to (COMPILED or TYPESET). + // + let state = STATE.LAST; + // + // Loop through all the math... + // + for (const item of this.math) { + const math = item as LazyMathItem; + // + // If it is not laxy compile or typeset, skip it. + // + if (!math.lazyCompile && !math.lazyTypeset) continue; + // + // Mark the state that we need to start at. + // + if (math.lazyCompile) { + math.state(STATE.COMPILED - 1); + state = STATE.COMPILED; + } else { + math.state(STATE.TYPESET - 1); + if (STATE.TYPESET < state) state = STATE.TYPESET; + } + // + // Mark it as not lazy and remove it from the observer. + // + math.lazyCompile = math.lazyTypeset = false; + math.lazyMarker && this.lazyObserver.unobserve(math.lazyMarker as any as Element); + } + // + // If something needs updating + // + if (state === STATE.LAST) return Promise.resolve(); + // + // Reset the document state to the starting state that we need. + // + this.state(state - 1, null); + // + // Save the SVG font cache and set it to "none" temporarily + // (needed by Firefox, which doesn't seem to process the + // xlinks otherwise). + // + const fontCache = this.outputJax.options.fontCache; + if (fontCache) this.outputJax.options.fontCache = 'none'; + // + // Typeset the math and put back the font cache when done. + // + this.reset(); + return handleRetriesFor(() => this.render()).then(() => { + if (fontCache) this.outputJax.options.fontCache = fontCache; + }); } /** From 50a70b88c019b4e3a3ace313ad53d310ae67e30c Mon Sep 17 00:00:00 2001 From: "Davide P. Cervone" Date: Wed, 9 Feb 2022 15:05:31 -0500 Subject: [PATCH 049/118] Add an option to set the observer margin for lazy typesetting. --- ts/ui/lazy/LazyHandler.ts | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/ts/ui/lazy/LazyHandler.ts b/ts/ui/lazy/LazyHandler.ts index d865879f4..3c5b0426b 100644 --- a/ts/ui/lazy/LazyHandler.ts +++ b/ts/ui/lazy/LazyHandler.ts @@ -27,6 +27,7 @@ import {HTMLMathItem} from '../../handlers/html/HTMLMathItem.js'; import {HTMLDocument} from '../../handlers/html/HTMLDocument.js'; import {HTMLHandler} from '../../handlers/html/HTMLHandler.js'; import {handleRetriesFor} from '../../util/Retries.js'; +import {OptionList} from '../../util/Options.js'; /** * Add the needed function to the window object. @@ -308,6 +309,14 @@ B extends MathDocumentConstructor>>( return class BaseClass extends BaseDocument { + /** + * @override + */ + public static OPTIONS: OptionList = { + ...BaseDocument.OPTIONS, + lazyMargin: '200px' + }; + /** * The Intersection Observer used to track the appearance of the expression markers */ @@ -352,7 +361,7 @@ B extends MathDocumentConstructor>>( super(...args); this.options.MathItem = LazyMathItemMixin>>(this.options.MathItem); - this.lazyObserver = new IntersectionObserver(this.lazyObserve.bind(this)); + this.lazyObserver = new IntersectionObserver(this.lazyObserve.bind(this), {rootMargin: this.options.lazyMargin}); this.lazyList = new LazyList(); const callback = this.lazyHandleSet.bind(this); this.lazyProcessSet = (window && window.requestIdleCallback ? From c1d7036dbde5dfab63d0d95de83f0b240353b8ae Mon Sep 17 00:00:00 2001 From: "Davide P. Cervone" Date: Thu, 10 Feb 2022 14:56:20 -0500 Subject: [PATCH 050/118] Allow lazy extension to force some expressions to be typeset even if not on screen. (mathjax/MathJax#2720) --- ts/core/DOMAdaptor.ts | 2 +- ts/core/MathDocument.ts | 9 --- ts/ui/lazy/LazyHandler.ts | 121 ++++++++++++++++++++++++++++++++++---- 3 files changed, 109 insertions(+), 23 deletions(-) diff --git a/ts/core/DOMAdaptor.ts b/ts/core/DOMAdaptor.ts index 97c421dc4..e439cd1be 100644 --- a/ts/core/DOMAdaptor.ts +++ b/ts/core/DOMAdaptor.ts @@ -121,7 +121,7 @@ export interface DOMAdaptor { getElements(nodes: (string | N | N[])[], document: D): N[]; /** - * Determine if a container node contains a given node is somewhere in its DOM tree + * Determine if a container node contains a given node somewhere in its DOM tree * * @param {N} container The container to search * @param {N|T} node The node to look for diff --git a/ts/core/MathDocument.ts b/ts/core/MathDocument.ts index a9dcd03b7..b5f998393 100644 --- a/ts/core/MathDocument.ts +++ b/ts/core/MathDocument.ts @@ -436,15 +436,6 @@ export interface MathDocument { */ state(state: number, restore?: boolean): MathDocument; - /** - * Rerender the MathItems on the page - * - * @param {number=} start The state to start rerendering at - * @param {number=} end The state to end rerendering at - * @return {MathDocument} The math document instance - */ - rerender(start?: number, end?: number): MathDocument; - /** * Clear the processed values so that the document can be reprocessed * diff --git a/ts/ui/lazy/LazyHandler.ts b/ts/ui/lazy/LazyHandler.ts index 3c5b0426b..699f1288d 100644 --- a/ts/ui/lazy/LazyHandler.ts +++ b/ts/ui/lazy/LazyHandler.ts @@ -22,7 +22,7 @@ */ import {MathDocumentConstructor, ContainerList} from '../../core/MathDocument.js'; -import {MathItem, STATE} from '../../core/MathItem.js'; +import {MathItem, STATE, newState} from '../../core/MathItem.js'; import {HTMLMathItem} from '../../handlers/html/HTMLMathItem.js'; import {HTMLDocument} from '../../handlers/html/HTMLDocument.js'; import {HTMLHandler} from '../../handlers/html/HTMLHandler.js'; @@ -102,6 +102,8 @@ export class LazyList { /*==========================================================================*/ +newState('LAZYALWAYS', STATE.FINDMATH + 3); + /** * The attribute to use for the ID on the marker node */ @@ -249,16 +251,6 @@ export function LazyMathItemMixin extends HTMLDocument { */ lazyList: LazyList; + /** + * The containers whose contents should always be typeset + */ + lazyAlwaysContainers: N[]; + /** * A function that will typeset all the remaining expressions (e.g., for printing) */ lazyTypesetAll(): Promise; + /** + * Mark the math items that are to be always typeset + */ + lazyAlways(): void; + } /** @@ -314,7 +316,12 @@ B extends MathDocumentConstructor>>( */ public static OPTIONS: OptionList = { ...BaseDocument.OPTIONS, - lazyMargin: '200px' + lazyMargin: '200px', + lazyAlwaysTypeset: null, + renderActions: { + ...BaseDocument.OPTIONS.renderActions, + lazyAlways: [STATE.LAZYALWAYS, 'lazyAlways', '', false] + } }; /** @@ -327,6 +334,16 @@ B extends MathDocumentConstructor>>( */ public lazyList: LazyList; + /** + * The containers whose contents should always be typeset + */ + public lazyAlwaysContainers: N[] = null; + + /** + * Index of last container where math was found in lazyAlwaysContainers + */ + public lazyAlwaysIndex: number = 0; + /** * A promise to make sure our compiling/typesetting is sequential */ @@ -352,15 +369,27 @@ B extends MathDocumentConstructor>>( * Augment the MathItem class used for this MathDocument, * then create the intersection observer and lazy list, * and bind the lazyProcessSet function to this instance - * so it can be used as a callback more easily. + * so it can be used as a callback more easily. Add the + * event listeners to typeset everytihng before printing. * * @override * @constructor */ constructor(...args: any[]) { super(...args); + // + // Use the LazyMathItem for math items + // this.options.MathItem = LazyMathItemMixin>>(this.options.MathItem); + // + // Allocate a process bit for lazyAlways + // + const ProcessBits = (this.constructor as typeof HTMLDocument).ProcessBits; + !ProcessBits.has('lazyAlways') && ProcessBits.allocate('lazyAlways'); + // + // Set up the lazy observer and other needed data + // this.lazyObserver = new IntersectionObserver(this.lazyObserve.bind(this), {rootMargin: this.options.lazyMargin}); this.lazyList = new LazyList(); const callback = this.lazyHandleSet.bind(this); @@ -381,6 +410,57 @@ B extends MathDocumentConstructor>>( } } + /** + * Check all math items for those that should always be typeset + */ + public lazyAlways() { + if (!this.lazyAlwaysContainers || this.processed.isSet('lazyAlways')) return; + for (const item of this.math) { + const math = item as LazyMathItem; + if (math.lazyTypeset && this.lazyIsAlways(math)) { + math.lazyCompile = math.lazyTypeset = false; + } + } + this.processed.set('lazyAlways'); + } + + /** + * Check if the MathItem is in one of the containers to always typeset. + * (start looking using the last container where math was found, + * in case the next math is in the same container). + * + * @param {LazyMathItem} math The MathItem to test + * @return {boolean} True if one of the document's containers holds the MathItem + */ + protected lazyIsAlways(math: LazyMathItem): boolean { + if (math.state() < STATE.LAZYALWAYS) { + math.state(STATE.LAZYALWAYS); + const node = math.start.node; + const adaptor = this.adaptor; + const start = this.lazyAlwaysIndex; + const end = this.lazyAlwaysContainers.length; + do { + const container = this.lazyAlwaysContainers[this.lazyAlwaysIndex]; + if (adaptor.contains(container, node)) return true; + if (++this.lazyAlwaysIndex >= end) { + this.lazyAlwaysIndex = 0; + } + } while (this.lazyAlwaysIndex !== start); + } + return false; + } + + /** + * @override + */ + public state(state: number, restore: boolean = false) { + super.state(state, restore); + if (state < STATE.LAZYALWAYS) { + this.processed.clear('lazyAlways'); + } + return this; + } + /** * Function to typeset all remaining expressions (for printing, etc.) * @@ -584,6 +664,21 @@ B extends MathDocumentConstructor>>( return items; } + /** + * @override + */ + public render() { + // + // Get the containers whose content should always be typeset + // + const always = this.options.lazyAlwaysTypeset; + this.lazyAlwaysContainers = !always ? null : + this.adaptor.getElements(Array.isArray(always) ? always : [always], this.document); + this.lazyAlwaysIndex = 0; + super.render(); + return this; + } + }; } From a93fff1998d5c627d2f451644d114ffd12da439a Mon Sep 17 00:00:00 2001 From: "Davide P. Cervone" Date: Fri, 11 Feb 2022 10:39:54 -0500 Subject: [PATCH 051/118] Add support for mglyph use of fontfamily/index. (mathjax/MathJax#2298) --- ts/core/MmlTree/MmlNodes/mglyph.ts | 13 ++++++++++ ts/output/chtml/Wrappers/mglyph.ts | 5 ++++ ts/output/common/Wrappers/mglyph.ts | 38 +++++++++++++++++++++++------ ts/output/svg/Wrappers/mglyph.ts | 5 ++++ 4 files changed, 54 insertions(+), 7 deletions(-) diff --git a/ts/core/MmlTree/MmlNodes/mglyph.ts b/ts/core/MmlTree/MmlNodes/mglyph.ts index f9874a144..d4b76e766 100644 --- a/ts/core/MmlTree/MmlNodes/mglyph.ts +++ b/ts/core/MmlTree/MmlNodes/mglyph.ts @@ -38,6 +38,7 @@ export class MmlMglyph extends AbstractMmlTokenNode { ...AbstractMmlTokenNode.defaults, alt: '', src: '', + index: '', width: 'auto', height: 'auto', valign: '0em' @@ -55,4 +56,16 @@ export class MmlMglyph extends AbstractMmlTokenNode { return 'mglyph'; } + /** + * @override + */ + public verifyAttributes(options: PropertyList) { + const {src, fontfamily, index} = this.attributes.getList('src', 'fontfamily', 'index'); + if (src === '' && (fontfamily === '' || index === '')) { + this.mError('mglyph must have either src or fontfamily and index attributes', options, true); + } else { + super.verifyAttributes(options); + } + } + } diff --git a/ts/output/chtml/Wrappers/mglyph.ts b/ts/output/chtml/Wrappers/mglyph.ts index 707385f34..3b74dd444 100644 --- a/ts/output/chtml/Wrappers/mglyph.ts +++ b/ts/output/chtml/Wrappers/mglyph.ts @@ -24,6 +24,7 @@ import {CHTMLWrapper, CHTMLConstructor} from '../Wrapper.js'; import {CommonMglyphMixin} from '../../common/Wrappers/mglyph.js'; import {MmlMglyph} from '../../../core/MmlTree/MmlNodes/mglyph.js'; +import {CHTMLTextNode} from './TextNode.js'; import {StyleList, StyleData} from '../../../util/StyleList.js'; /*****************************************************************/ @@ -59,6 +60,10 @@ CommonMglyphMixin>(CHTMLWrapper) { */ public toCHTML(parent: N) { const chtml = this.standardCHTMLnode(parent); + if (this.charWrapper) { + (this.charWrapper as CHTMLTextNode).toCHTML(chtml); + return; + } const {src, alt} = this.node.attributes.getList('src', 'alt'); const styles: StyleData = { width: this.em(this.width), diff --git a/ts/output/common/Wrappers/mglyph.ts b/ts/output/common/Wrappers/mglyph.ts index 8cc537e33..6d737c666 100644 --- a/ts/output/common/Wrappers/mglyph.ts +++ b/ts/output/common/Wrappers/mglyph.ts @@ -22,6 +22,8 @@ */ import {AnyWrapper, WrapperConstructor, Constructor} from '../Wrapper.js'; +import {CommonTextNode} from './TextNode.js'; +import {TextNode} from '../../../core/MmlTree/MmlNodes/TextNode.js'; import {BBox} from '../../../util/BBox.js'; /*****************************************************************/ @@ -36,6 +38,11 @@ export interface CommonMglyph extends AnyWrapper { height: number; valign: number; + /** + * TextNode used for deprecated fontfamily/index use case + */ + charWrapper: CommonTextNode; + /** * Obtain the width, height, and valign. */ @@ -70,6 +77,11 @@ export function CommonMglyphMixin(Base: T): Mglyph */ public valign: number; + /** + * TextNode used for deprecated fontfamily/index use case + */ + public charWrapper: CommonTextNode; + /** * @override * @constructor @@ -87,19 +99,31 @@ export function CommonMglyphMixin(Base: T): Mglyph * perhaps as a post-filter on the MathML input jax that adds the needed dimensions */ public getParameters() { - const {width, height, valign} = this.node.attributes.getList('width', 'height', 'valign'); - this.width = (width === 'auto' ? 1 : this.length2em(width)); - this.height = (height === 'auto' ? 1 : this.length2em(height)); - this.valign = this.length2em(valign || '0'); + const {width, height, valign, src, index} = + this.node.attributes.getList('width', 'height', 'valign', 'src', 'index'); + if (src) { + this.width = (width === 'auto' ? 1 : this.length2em(width)); + this.height = (height === 'auto' ? 1 : this.length2em(height)); + this.valign = this.length2em(valign || '0'); + } else { + const text = String.fromCodePoint(parseInt(index as string)); + const mmlFactory = this.node.factory; + this.charWrapper = this.wrap((mmlFactory.create('text') as TextNode).setText(text)); + this.charWrapper.parent = this as any as AnyWrapper; + } } /** * @override */ public computeBBox(bbox: BBox, _recompute: boolean = false) { - bbox.w = this.width; - bbox.h = this.height + this.valign; - bbox.d = -this.valign; + if (this.charWrapper) { + bbox.updateFrom(this.charWrapper.getBBox()); + } else { + bbox.w = this.width; + bbox.h = this.height + this.valign; + bbox.d = -this.valign; + } } }; diff --git a/ts/output/svg/Wrappers/mglyph.ts b/ts/output/svg/Wrappers/mglyph.ts index e45835a4e..19ec0d63e 100644 --- a/ts/output/svg/Wrappers/mglyph.ts +++ b/ts/output/svg/Wrappers/mglyph.ts @@ -24,6 +24,7 @@ import {SVGWrapper, SVGConstructor} from '../Wrapper.js'; import {CommonMglyphMixin} from '../../common/Wrappers/mglyph.js'; import {MmlMglyph} from '../../../core/MmlTree/MmlNodes/mglyph.js'; +import {SVGTextNode} from './TextNode.js'; import {OptionList} from '../../../util/Options.js'; /*****************************************************************/ @@ -48,6 +49,10 @@ CommonMglyphMixin>(SVGWrapper) { */ public toSVG(parent: N) { const svg = this.standardSVGnode(parent); + if (this.charWrapper) { + (this.charWrapper as SVGTextNode).toSVG(svg); + return; + } const {src, alt} = this.node.attributes.getList('src', 'alt'); const h = this.fixed(this.height); const w = this.fixed(this.width); From 097a042eefa0391f75d252b7b957fde937dc41bc Mon Sep 17 00:00:00 2001 From: "Davide P. Cervone" Date: Fri, 11 Feb 2022 14:11:07 -0500 Subject: [PATCH 052/118] Fix problems with verification and repair of malformed mtables. --- ts/core/MmlTree/MmlNode.ts | 11 ++++++++--- ts/core/MmlTree/MmlNodes/mtable.ts | 16 ++++++++++++---- ts/core/MmlTree/MmlNodes/mtr.ts | 11 ++++++----- 3 files changed, 26 insertions(+), 12 deletions(-) diff --git a/ts/core/MmlTree/MmlNode.ts b/ts/core/MmlTree/MmlNode.ts index 01d29fb09..49f45c4e9 100644 --- a/ts/core/MmlTree/MmlNode.ts +++ b/ts/core/MmlTree/MmlNode.ts @@ -193,8 +193,9 @@ export interface MmlNode extends Node { * @param {string} message The error message to use * @param {PropertyList} options The options telling how much to verify * @param {boolean} short True means use just the kind if not using full errors + * @return {MmlNode} The construted merror */ - mError(message: string, options: PropertyList, short?: boolean): void; + mError(message: string, options: PropertyList, short?: boolean): MmlNode; /** * Check integrity of MathML structure @@ -797,12 +798,14 @@ export abstract class AbstractMmlNode extends AbstractNode implements MmlNode { * @param {string} message The error message to use * @param {PropertyList} options The options telling how much to verify * @param {boolean} short True means use just the kind if not using full errors + * @return {MmlNode} The constructed merror */ - public mError(message: string, options: PropertyList, short: boolean = false) { + public mError(message: string, options: PropertyList, short: boolean = false): MmlNode { if (this.parent && this.parent.isKind('merror')) { return null; } let merror = this.factory.create('merror'); + merror.attributes.set('data-mjx-message', message); if (options['fullErrors'] || short) { let mtext = this.factory.create('mtext'); let text = this.factory.create('text') as TextNode; @@ -1189,7 +1192,9 @@ export abstract class AbstractMmlEmptyNode extends AbstractEmptyNode implements /** * @override */ - public mError(_message: string, _options: PropertyList, _short: boolean = false) {} + public mError(_message: string, _options: PropertyList, _short: boolean = false) { + return null as MmlNode; + } } diff --git a/ts/core/MmlTree/MmlNodes/mtable.ts b/ts/core/MmlTree/MmlNodes/mtable.ts index ed41b0508..7b66d3edd 100644 --- a/ts/core/MmlTree/MmlNodes/mtable.ts +++ b/ts/core/MmlTree/MmlNodes/mtable.ts @@ -137,10 +137,18 @@ export class MmlMtable extends AbstractMmlNode { * @override */ protected verifyChildren(options: PropertyList) { - if (!options['fixMtables']) { - for (const child of this.childNodes) { - if (!child.isKind('mtr')) { - this.mError('Children of ' + this.kind + ' must be mtr or mlabeledtr', options); + for (const child of this.childNodes) { + if (!child.isKind('mtr')) { + const isMtd = child.isKind('mtd'); + const factory = this.factory; + let mtr = this.replaceChild(factory.create('mtr'), child) as MmlNode; + mtr.appendChild(isMtd ? child : factory.create('mtd', {}, [child])); + if (!options['fixMtables']) { + child.parent.childNodes = []; // remove the child from the parent... + child.parent = this; // ... and make it think it is a child of the table again + isMtd && mtr.appendChild(factory.create('mtd')); // child will be replaced, so make sure there is an mtd + const merror = child.mError('Children of ' + this.kind + ' must be mtr or mlabeledtr', options, isMtd); + mtr.childNodes[0].appendChild(merror); // append the error to the mtd in the mtr } } } diff --git a/ts/core/MmlTree/MmlNodes/mtr.ts b/ts/core/MmlTree/MmlNodes/mtr.ts index 57c43e54a..df39336cf 100644 --- a/ts/core/MmlTree/MmlNodes/mtr.ts +++ b/ts/core/MmlTree/MmlNodes/mtr.ts @@ -94,11 +94,12 @@ export class MmlMtr extends AbstractMmlNode { this.mError(this.kind + ' can only be a child of an mtable', options, true); return; } - if (!options['fixMtables']) { - for (const child of this.childNodes) { - if (!child.isKind('mtd')) { - let mtr = this.replaceChild(this.factory.create('mtr'), child) as MmlNode; - mtr.mError('Children of ' + this.kind + ' must be mtd', options, true); + for (const child of this.childNodes) { + if (!child.isKind('mtd')) { + let mtd = this.replaceChild(this.factory.create('mtd'), child) as MmlNode; + mtd.appendChild(child); + if (!options['fixMtables']) { + child.mError('Children of ' + this.kind + ' must be mtd', options); } } } From 3bee210d39729e080d3d6d00aa26f5b325841781 Mon Sep 17 00:00:00 2001 From: "Davide P. Cervone" Date: Fri, 11 Feb 2022 15:48:52 -0500 Subject: [PATCH 053/118] Add ability for TeX input to force normal variant for CJK input. (mathjax/MathJax#2744) --- ts/core/MmlTree/OperatorDictionary.ts | 16 +++++++++------- ts/input/tex/base/BaseConfiguration.ts | 1 + 2 files changed, 10 insertions(+), 7 deletions(-) diff --git a/ts/core/MmlTree/OperatorDictionary.ts b/ts/core/MmlTree/OperatorDictionary.ts index 99561c21c..dc52e719c 100644 --- a/ts/core/MmlTree/OperatorDictionary.ts +++ b/ts/core/MmlTree/OperatorDictionary.ts @@ -29,7 +29,7 @@ import {TEXCLASS} from './MmlNode.js'; */ export type OperatorDef = [number, number, number, PropertyList]; export type OperatorList = {[name: string]: OperatorDef}; -export type RangeDef = [number, number, number, string]; +export type RangeDef = [number, number, number, string, string?]; /** * @param {number} lspace The operator's MathML left-hand spacing @@ -108,18 +108,20 @@ export const RANGES: RangeDef[] = [ [0x2B50, 0x2BFF, TEXCLASS.ORD, 'mo'], // Rest of above [0x2C00, 0x2DE0, TEXCLASS.ORD, 'mi'], // Glagolitic (through) Ethipoc Extended [0x2E00, 0x2E7F, TEXCLASS.ORD, 'mo'], // Supplemental Punctuation - [0x2E80, 0x2FDF, TEXCLASS.ORD, 'mi'], // CJK Radicals Supplement (through) Kangxi Radicals + [0x2E80, 0x2FDF, TEXCLASS.ORD, 'mi', 'normal'], // CJK Radicals Supplement (through) Kangxi Radicals [0x2FF0, 0x303F, TEXCLASS.ORD, 'mo'], // Ideographic Desc. Characters, CJK Symbols and Punctuation - [0x3040, 0xA82F, TEXCLASS.ORD, 'mi'], // Hiragana (through) Syloti Nagri + [0x3040, 0xA49F, TEXCLASS.ORD, 'mi', 'normal'], // Hiragana (through) Yi Radicals + [0xA4D0, 0xA82F, TEXCLASS.ORD, 'mi'], // Lisu (through) Syloti Nagri [0xA830, 0xA83F, TEXCLASS.ORD, 'mn'], // Common Indic Number FormsArabic Presentation Forms-A [0xA840, 0xD7FF, TEXCLASS.ORD, 'mi'], // Phags-pa (though) Hangul Jamo Extended-B - [0xF900, 0xFDFF, TEXCLASS.ORD, 'mi'], // CJK Compatibility Ideographs (though) Arabic Presentation Forms-A + [0xF900, 0xFAFF, TEXCLASS.ORD, 'mi', 'normal'], // CJK Compatibility Ideographs + [0xFB00, 0xFDFF, TEXCLASS.ORD, 'mi'], // Alphabetic Presentation Forms (though) Arabic Presentation Forms-A [0xFE00, 0xFE6F, TEXCLASS.ORD, 'mo'], // Variation Selector (through) Small Form Variants [0xFE70, 0x100FF, TEXCLASS.ORD, 'mi'], // Arabic Presentation Forms-B (through) Linear B Ideograms [0x10100, 0x1018F, TEXCLASS.ORD, 'mn'], // Aegean Numbers, Ancient Greek Numbers - [0x10190, 0x123FF, TEXCLASS.ORD, 'mi'], // Ancient Symbols (through) Cuneiform + [0x10190, 0x123FF, TEXCLASS.ORD, 'mi', 'normal'], // Ancient Symbols (through) Cuneiform [0x12400, 0x1247F, TEXCLASS.ORD, 'mn'], // Cuneiform Numbers and Punctuation - [0x12480, 0x1BC9F, TEXCLASS.ORD, 'mi'], // Early Dynastic Cuneiform (through) Duployan + [0x12480, 0x1BC9F, TEXCLASS.ORD, 'mi', 'normal'], // Early Dynastic Cuneiform (through) Duployan [0x1BCA0, 0x1D25F, TEXCLASS.ORD, 'mo'], // Shorthand Format Controls (through) TaiXuan Jing Symbols [0x1D360, 0x1D37F, TEXCLASS.ORD, 'mn'], // Counting Rod Numerals [0x1D400, 0x1D7CD, TEXCLASS.ORD, 'mi'], // Math Alphanumeric Symbols @@ -127,7 +129,7 @@ export const RANGES: RangeDef[] = [ [0x1DF00, 0x1F7FF, TEXCLASS.ORD, 'mo'], // Mahjong Tiles (through) Geometric Shapes Extended [0x1F800, 0x1F8FF, TEXCLASS.REL, 'mo'], // Supplemental Arrows-C [0x1F900, 0x1F9FF, TEXCLASS.ORD, 'mo'], // Supplemental Symbols and Pictographs - [0x20000, 0x2FA1F, TEXCLASS.ORD, 'mi'], // CJK Unified Ideographs Ext. B (through) CJK Sompatibility Ideographs Supp. + [0x20000, 0x2FA1F, TEXCLASS.ORD, 'mi', 'normnal'], // CJK Unified Ideographs Ext. B (through) CJK Sompatibility Ideographs Supp. ]; /** diff --git a/ts/input/tex/base/BaseConfiguration.ts b/ts/input/tex/base/BaseConfiguration.ts index 590ef1da6..7644965e3 100644 --- a/ts/input/tex/base/BaseConfiguration.ts +++ b/ts/input/tex/base/BaseConfiguration.ts @@ -61,6 +61,7 @@ export function Other(parser: TexParser, char: string) { // @test Other // @test Other Remap let mo = parser.create('token', type, def, (remap ? remap.char : char)); + range[4] && mo.attributes.set('mathvariant', range[4]); if (type === 'mo') { NodeUtil.setProperty(mo, 'fixStretchy', true); parser.configuration.addNode('fixStretchy', mo); From e8dd6edf5dfe6780d3ab1c936e27dd605e7e2186 Mon Sep 17 00:00:00 2001 From: "Davide P. Cervone" Date: Fri, 18 Feb 2022 15:46:57 -0500 Subject: [PATCH 054/118] Update XSLT to produce better results in mml3 extension --- package.json | 2 +- ts/input/mathml/mml3/mml3.sef.json | 2 +- ts/input/mathml/mml3/mml3.ts | 30 +++++++++++++++++++++--------- 3 files changed, 23 insertions(+), 11 deletions(-) diff --git a/package.json b/package.json index 7e4e977af..b3691d70f 100644 --- a/package.json +++ b/package.json @@ -42,7 +42,7 @@ "make-components": "cd components && node bin/makeAll src | grep --line-buffered 'Building\\|Webpacking\\|Copying\\|npx'", "premake-mml3-xslt": "cd ts/input/mathml/mml3 && grep '^\\s*\\(<\\|or\\|xmlns\\|excl\\|\">\\)' mml3.ts > mml3.xsl", "make-mml3-xslt": "cd ts/input/mathml/mml3 && npx xslt3 -t -xsl:mml3.xsl -export:mml3.sef.json -nogo", - "postmake-mml3-xslt": "rpx rimraf ts/input/mathml/mml3/mml3.xsl" + "postmake-mml3-xslt": "npx rimraf ts/input/mathml/mml3/mml3.xsl" }, "devDependencies": { "@babel/core": "^7.14.5", diff --git a/ts/input/mathml/mml3/mml3.sef.json b/ts/input/mathml/mml3/mml3.sef.json index b6677f476..eeb147d3d 100644 --- a/ts/input/mathml/mml3/mml3.sef.json +++ b/ts/input/mathml/mml3/mml3.sef.json @@ -1 +1 @@ -{"N":"package","version":"10","packageVersion":"1","saxonVersion":"Saxon-JS 2.2","target":"JS","targetVersion":"2","name":"TOP-LEVEL","relocatable":"true","buildDateTime":"2021-05-15T07:04:31.151-04:00","ns":"xml=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common","C":[{"N":"co","id":"0","binds":"0 3 2 1","C":[{"N":"mode","onNo":"TC","flags":"","patternSlots":"0","prec":"","C":[{"N":"templateRule","rank":"0","prec":"0","seq":"52","ns":"xml=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common","minImp":"0","flags":"s","baseUri":"file:///Users/dpvc/Desktop/Tumlook/Data/Code/JavaScript/MathJax/Code/Git/mathjax/MathJax-src/ts/input/mathml/mml3/mml3.xsl","slots":"200","line":"514","module":"mml3.xsl","match":"m:mlongdiv","prio":"11","matches":"NE nQ{http://www.w3.org/1998/Math/MathML}mlongdiv","C":[{"N":"p.nodeTest","role":"match","test":"NE nQ{http://www.w3.org/1998/Math/MathML}mlongdiv","sType":"1NE nQ{http://www.w3.org/1998/Math/MathML}mlongdiv","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common "},{"N":"let","var":"Q{}ms","slot":"0","sType":"* ","line":"515","role":"action","C":[{"N":"doc","sType":"1ND ","base":"file:///Users/dpvc/Desktop/Tumlook/Data/Code/JavaScript/MathJax/Code/Git/mathjax/MathJax-src/ts/input/mathml/mml3/mml3.xsl","role":"select","C":[{"N":"elem","name":"m:mstack","sType":"1NE nQ{http://www.w3.org/1998/Math/MathML}mstack ","nsuri":"http://www.w3.org/1998/Math/MathML","namespaces":"","line":"516","C":[{"N":"sequence","sType":"*N ","C":[{"N":"copyOf","flags":"c","ns":"xml=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ex=http://ns.saxonica.com/xslt/export","line":"517","sType":"?NA nQ{}decimalpoint","C":[{"N":"lastOf","sType":"?NA nQ{}decimalpoint","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","role":"select","line":"517","C":[{"N":"docOrder","C":[{"N":"slash","op":"/","C":[{"N":"fn","name":"reverse","C":[{"N":"axis","name":"ancestor-or-self","nodeTest":"*NE"}]},{"N":"axis","name":"attribute","nodeTest":"*NA nQ{}decimalpoint"}]}]}]}]},{"N":"choose","sType":"*N ","type":"item()*","line":"518","C":[{"N":"gc10","op":"=","comp":"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint","card":"1:1","sType":"1AB","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","line":"519","C":[{"N":"axis","name":"attribute","nodeTest":"*NA nQ{}longdivstyle"},{"N":"str","val":"left)(right"}]},{"N":"elem","name":"m:msrow","sType":"1NE nQ{http://www.w3.org/1998/Math/MathML}msrow ","nsuri":"http://www.w3.org/1998/Math/MathML","namespaces":"","line":"520","C":[{"N":"sequence","sType":"*NE ","C":[{"N":"elem","name":"m:mrow","sType":"1NE nQ{http://www.w3.org/1998/Math/MathML}mrow ","nsuri":"http://www.w3.org/1998/Math/MathML","namespaces":"","line":"521","C":[{"N":"copyOf","flags":"c","ns":"xml=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ex=http://ns.saxonica.com/xslt/export","sType":"?NE","C":[{"N":"first","sType":"?NE","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","role":"select","line":"9","C":[{"N":"axis","name":"child","nodeTest":"*NE"}]}]}]},{"N":"elem","name":"m:mo","sType":"1NE nQ{http://www.w3.org/1998/Math/MathML}mo ","nsuri":"http://www.w3.org/1998/Math/MathML","namespaces":"","line":"522","C":[{"N":"valueOf","sType":"1NT ","C":[{"N":"str","sType":"1AS ","val":")"}]}]},{"N":"copyOf","flags":"c","ns":"xml=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ex=http://ns.saxonica.com/xslt/export","line":"523","sType":"?NE","C":[{"N":"subscript","flags":"p","sType":"?NE","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","role":"select","line":"523","C":[{"N":"axis","name":"child","nodeTest":"*NE"},{"N":"int","val":"3"}]}]},{"N":"elem","name":"m:mo","sType":"1NE nQ{http://www.w3.org/1998/Math/MathML}mo ","nsuri":"http://www.w3.org/1998/Math/MathML","namespaces":"","line":"524","C":[{"N":"valueOf","sType":"1NT ","C":[{"N":"str","sType":"1AS ","val":"("}]}]},{"N":"copyOf","flags":"c","ns":"xml=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ex=http://ns.saxonica.com/xslt/export","line":"525","sType":"?NE","C":[{"N":"subscript","flags":"p","sType":"?NE","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","role":"select","line":"525","C":[{"N":"axis","name":"child","nodeTest":"*NE"},{"N":"int","val":"2"}]}]}]}]},{"N":"gc10","op":"=","comp":"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint","card":"1:1","sType":"1AB","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","line":"528","C":[{"N":"axis","name":"attribute","nodeTest":"*NA nQ{}longdivstyle"},{"N":"str","val":"left/\\right"}]},{"N":"elem","name":"m:msrow","sType":"1NE nQ{http://www.w3.org/1998/Math/MathML}msrow ","nsuri":"http://www.w3.org/1998/Math/MathML","namespaces":"","line":"529","C":[{"N":"sequence","sType":"*NE ","C":[{"N":"elem","name":"m:mrow","sType":"1NE nQ{http://www.w3.org/1998/Math/MathML}mrow ","nsuri":"http://www.w3.org/1998/Math/MathML","namespaces":"","line":"530","C":[{"N":"copyOf","flags":"c","ns":"xml=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ex=http://ns.saxonica.com/xslt/export","sType":"?NE","C":[{"N":"first","sType":"?NE","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","role":"select","line":"17","C":[{"N":"axis","name":"child","nodeTest":"*NE"}]}]}]},{"N":"elem","name":"m:mo","sType":"1NE nQ{http://www.w3.org/1998/Math/MathML}mo ","nsuri":"http://www.w3.org/1998/Math/MathML","namespaces":"","line":"531","C":[{"N":"valueOf","sType":"1NT ","C":[{"N":"str","sType":"1AS ","val":"/"}]}]},{"N":"copyOf","flags":"c","ns":"xml=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ex=http://ns.saxonica.com/xslt/export","line":"532","sType":"?NE","C":[{"N":"subscript","flags":"p","sType":"?NE","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","role":"select","line":"532","C":[{"N":"axis","name":"child","nodeTest":"*NE"},{"N":"int","val":"3"}]}]},{"N":"elem","name":"m:mo","sType":"1NE nQ{http://www.w3.org/1998/Math/MathML}mo ","nsuri":"http://www.w3.org/1998/Math/MathML","namespaces":"","line":"533","C":[{"N":"valueOf","sType":"1NT ","C":[{"N":"str","sType":"1AS ","val":"\\"}]}]},{"N":"copyOf","flags":"c","ns":"xml=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ex=http://ns.saxonica.com/xslt/export","line":"534","sType":"?NE","C":[{"N":"subscript","flags":"p","sType":"?NE","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","role":"select","line":"534","C":[{"N":"axis","name":"child","nodeTest":"*NE"},{"N":"int","val":"2"}]}]}]}]},{"N":"gc10","op":"=","comp":"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint","card":"1:1","sType":"1AB","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","line":"537","C":[{"N":"axis","name":"attribute","nodeTest":"*NA nQ{}longdivstyle"},{"N":"str","val":":right=right"}]},{"N":"elem","name":"m:msrow","sType":"1NE nQ{http://www.w3.org/1998/Math/MathML}msrow ","nsuri":"http://www.w3.org/1998/Math/MathML","namespaces":"","line":"538","C":[{"N":"sequence","sType":"*NE ","C":[{"N":"copyOf","flags":"c","ns":"xml=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ex=http://ns.saxonica.com/xslt/export","line":"539","sType":"?NE","C":[{"N":"subscript","flags":"p","sType":"?NE","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","role":"select","line":"539","C":[{"N":"axis","name":"child","nodeTest":"*NE"},{"N":"int","val":"3"}]}]},{"N":"elem","name":"m:mo","sType":"1NE nQ{http://www.w3.org/1998/Math/MathML}mo ","nsuri":"http://www.w3.org/1998/Math/MathML","namespaces":"","line":"540","C":[{"N":"valueOf","sType":"1NT ","C":[{"N":"str","sType":"1AS ","val":":"}]}]},{"N":"copyOf","flags":"c","ns":"xml=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ex=http://ns.saxonica.com/xslt/export","line":"541","sType":"?NE","C":[{"N":"first","sType":"?NE","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","role":"select","line":"541","C":[{"N":"axis","name":"child","nodeTest":"*NE"}]}]},{"N":"elem","name":"m:mo","sType":"1NE nQ{http://www.w3.org/1998/Math/MathML}mo ","nsuri":"http://www.w3.org/1998/Math/MathML","namespaces":"","line":"542","C":[{"N":"valueOf","sType":"1NT ","C":[{"N":"str","sType":"1AS ","val":"="}]}]},{"N":"copyOf","flags":"c","ns":"xml=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ex=http://ns.saxonica.com/xslt/export","line":"543","sType":"?NE","C":[{"N":"subscript","flags":"p","sType":"?NE","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","role":"select","line":"543","C":[{"N":"axis","name":"child","nodeTest":"*NE"},{"N":"int","val":"2"}]}]}]}]},{"N":"or","sType":"1AB","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","line":"550","C":[{"N":"or","C":[{"N":"or","C":[{"N":"gc10","op":"=","comp":"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint","card":"1:1","C":[{"N":"axis","name":"attribute","nodeTest":"*NA nQ{}longdivstyle"},{"N":"str","val":"stackedrightright"}]},{"N":"gc10","op":"=","comp":"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint","card":"1:1","C":[{"N":"axis","name":"attribute","nodeTest":"*NA nQ{}longdivstyle"},{"N":"str","val":"mediumstackedrightright"}]}]},{"N":"gc10","op":"=","comp":"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint","card":"1:1","C":[{"N":"axis","name":"attribute","nodeTest":"*NA nQ{}longdivstyle"},{"N":"str","val":"shortstackedrightright"}]}]},{"N":"gc10","op":"=","comp":"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint","card":"1:1","C":[{"N":"axis","name":"attribute","nodeTest":"*NA nQ{}longdivstyle"},{"N":"str","val":"stackedleftleft"}]}]},{"N":"sequence","sType":"*N ","C":[{"N":"att","name":"align","sType":"1NA ","line":"551","C":[{"N":"fn","name":"string-join","role":"select","C":[{"N":"first","C":[{"N":"forEach","sType":"*AS ","C":[{"N":"data","sType":"*A ","C":[{"N":"mergeAdj","C":[{"N":"valueOf","sType":"1NT ","C":[{"N":"str","sType":"1AS ","val":"top"}]}]}]},{"N":"fn","name":"string","sType":"1AS ","C":[{"N":"dot"}]}]}]},{"N":"str","sType":"1AS ","val":""}]}]},{"N":"copyOf","flags":"c","ns":"xml=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ex=http://ns.saxonica.com/xslt/export","line":"552","sType":"?NE","C":[{"N":"subscript","flags":"p","sType":"?NE","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","role":"select","line":"552","C":[{"N":"axis","name":"child","nodeTest":"*NE"},{"N":"int","val":"3"}]}]}]},{"N":"gc10","op":"=","comp":"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint","card":"1:1","sType":"1AB","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","line":"554","C":[{"N":"axis","name":"attribute","nodeTest":"*NA nQ{}longdivstyle"},{"N":"str","val":"stackedleftlinetop"}]},{"N":"sequence","sType":"*NE ","C":[{"N":"copyOf","flags":"c","ns":"xml=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ex=http://ns.saxonica.com/xslt/export","line":"555","sType":"?NE","C":[{"N":"subscript","flags":"p","sType":"?NE","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","role":"select","line":"555","C":[{"N":"axis","name":"child","nodeTest":"*NE"},{"N":"int","val":"2"}]}]},{"N":"elem","name":"m:msline","sType":"1NE nQ{http://www.w3.org/1998/Math/MathML}msline ","nsuri":"http://www.w3.org/1998/Math/MathML","namespaces":"","line":"556","C":[{"N":"att","name":"length","nsuri":"","sType":"1NA ","C":[{"N":"fn","name":"string-join","sType":"1AS ","C":[{"N":"first","C":[{"N":"convert","type":"AS*","from":"AZ","to":"AS","C":[{"N":"data","C":[{"N":"mergeAdj","sType":"1AO","C":[{"N":"arith10","op":"-","calc":"d-d","sType":"1AO","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","line":"556","C":[{"N":"fn","name":"string-length","C":[{"N":"fn","name":"string","C":[{"N":"subscript","flags":"p","C":[{"N":"axis","name":"child","nodeTest":"*NE"},{"N":"int","val":"3"}]}]}]},{"N":"int","val":"1"}]}]}]}]}]},{"N":"str","sType":"1AS ","val":" "}]}]}]},{"N":"elem","name":"m:msrow","sType":"1NE nQ{http://www.w3.org/1998/Math/MathML}msrow ","nsuri":"http://www.w3.org/1998/Math/MathML","namespaces":"","line":"557","C":[{"N":"sequence","sType":"*NE ","C":[{"N":"elem","name":"m:mrow","sType":"1NE nQ{http://www.w3.org/1998/Math/MathML}mrow ","nsuri":"http://www.w3.org/1998/Math/MathML","namespaces":"","line":"558","C":[{"N":"elem","name":"m:menclose","sType":"1NE nQ{http://www.w3.org/1998/Math/MathML}menclose ","nsuri":"http://www.w3.org/1998/Math/MathML","namespaces":"","line":"559","C":[{"N":"sequence","sType":"*N ","C":[{"N":"att","name":"notation","nsuri":"","sType":"1NA ","C":[{"N":"str","sType":"1AS ","val":"bottom right"}]},{"N":"copyOf","flags":"c","ns":"xml=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ex=http://ns.saxonica.com/xslt/export","line":"560","sType":"?NE","C":[{"N":"first","sType":"?NE","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","role":"select","line":"560","C":[{"N":"axis","name":"child","nodeTest":"*NE"}]}]}]}]}]},{"N":"copyOf","flags":"c","ns":"xml=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ex=http://ns.saxonica.com/xslt/export","line":"563","sType":"?NE","C":[{"N":"subscript","flags":"p","sType":"?NE","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","role":"select","line":"563","C":[{"N":"axis","name":"child","nodeTest":"*NE"},{"N":"int","val":"3"}]}]}]}]}]},{"N":"gc10","op":"=","comp":"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint","card":"1:1","sType":"1AB","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","line":"566","C":[{"N":"axis","name":"attribute","nodeTest":"*NA nQ{}longdivstyle"},{"N":"str","val":"righttop"}]},{"N":"sequence","sType":"*NE ","C":[{"N":"copyOf","flags":"c","ns":"xml=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ex=http://ns.saxonica.com/xslt/export","line":"567","sType":"?NE","C":[{"N":"subscript","flags":"p","sType":"?NE","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","role":"select","line":"567","C":[{"N":"axis","name":"child","nodeTest":"*NE"},{"N":"int","val":"2"}]}]},{"N":"elem","name":"m:msline","sType":"1NE nQ{http://www.w3.org/1998/Math/MathML}msline ","nsuri":"http://www.w3.org/1998/Math/MathML","namespaces":"","line":"568","C":[{"N":"att","name":"length","nsuri":"","sType":"1NA ","C":[{"N":"fn","name":"string-join","sType":"1AS ","C":[{"N":"first","C":[{"N":"convert","type":"AS*","from":"AZ","to":"AS","C":[{"N":"data","C":[{"N":"mergeAdj","sType":"1ADI","C":[{"N":"fn","name":"string-length","sType":"1ADI","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","line":"568","C":[{"N":"fn","name":"string","C":[{"N":"subscript","flags":"p","C":[{"N":"axis","name":"child","nodeTest":"*NE"},{"N":"int","val":"3"}]}]}]}]}]}]}]},{"N":"str","sType":"1AS ","val":" "}]}]}]},{"N":"elem","name":"m:msrow","sType":"1NE nQ{http://www.w3.org/1998/Math/MathML}msrow ","nsuri":"http://www.w3.org/1998/Math/MathML","namespaces":"","line":"569","C":[{"N":"sequence","sType":"*NE ","C":[{"N":"copyOf","flags":"c","ns":"xml=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ex=http://ns.saxonica.com/xslt/export","line":"570","sType":"?NE","C":[{"N":"subscript","flags":"p","sType":"?NE","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","role":"select","line":"570","C":[{"N":"axis","name":"child","nodeTest":"*NE"},{"N":"int","val":"3"}]}]},{"N":"elem","name":"m:menclose","sType":"1NE nQ{http://www.w3.org/1998/Math/MathML}menclose ","nsuri":"http://www.w3.org/1998/Math/MathML","namespaces":"","line":"571","C":[{"N":"sequence","sType":"*N ","C":[{"N":"att","name":"notation","nsuri":"","sType":"1NA ","C":[{"N":"str","sType":"1AS ","val":"top left bottom"}]},{"N":"copyOf","flags":"c","ns":"xml=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ex=http://ns.saxonica.com/xslt/export","line":"572","sType":"?NE","C":[{"N":"first","sType":"?NE","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","role":"select","line":"572","C":[{"N":"axis","name":"child","nodeTest":"*NE"}]}]}]}]}]}]}]},{"N":"true"},{"N":"sequence","sType":"*NE ","C":[{"N":"copyOf","flags":"c","ns":"xml=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ex=http://ns.saxonica.com/xslt/export","line":"576","sType":"?NE","C":[{"N":"subscript","flags":"p","sType":"?NE","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","role":"select","line":"576","C":[{"N":"axis","name":"child","nodeTest":"*NE"},{"N":"int","val":"2"}]}]},{"N":"elem","name":"m:msline","sType":"1NE nQ{http://www.w3.org/1998/Math/MathML}msline ","nsuri":"http://www.w3.org/1998/Math/MathML","namespaces":"","line":"577","C":[{"N":"att","name":"length","nsuri":"","sType":"1NA ","C":[{"N":"fn","name":"string-join","sType":"1AS ","C":[{"N":"first","C":[{"N":"convert","type":"AS*","from":"AZ","to":"AS","C":[{"N":"data","C":[{"N":"mergeAdj","sType":"1ADI","C":[{"N":"fn","name":"string-length","sType":"1ADI","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","line":"577","C":[{"N":"fn","name":"string","C":[{"N":"subscript","flags":"p","C":[{"N":"axis","name":"child","nodeTest":"*NE"},{"N":"int","val":"3"}]}]}]}]}]}]}]},{"N":"str","sType":"1AS ","val":" "}]}]}]},{"N":"elem","name":"m:msrow","sType":"1NE nQ{http://www.w3.org/1998/Math/MathML}msrow ","nsuri":"http://www.w3.org/1998/Math/MathML","namespaces":"","line":"578","C":[{"N":"sequence","sType":"*NE ","C":[{"N":"elem","name":"m:mrow","sType":"1NE nQ{http://www.w3.org/1998/Math/MathML}mrow ","nsuri":"http://www.w3.org/1998/Math/MathML","namespaces":"","line":"579","C":[{"N":"copyOf","flags":"c","ns":"xml=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ex=http://ns.saxonica.com/xslt/export","sType":"?NE","C":[{"N":"first","sType":"?NE","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","role":"select","line":"52","C":[{"N":"axis","name":"child","nodeTest":"*NE"}]}]}]},{"N":"elem","name":"m:mo","sType":"1NE nQ{http://www.w3.org/1998/Math/MathML}mo ","nsuri":"http://www.w3.org/1998/Math/MathML","namespaces":"","line":"580","C":[{"N":"valueOf","sType":"1NT ","C":[{"N":"str","sType":"1AS ","val":")"}]}]},{"N":"copyOf","flags":"c","ns":"xml=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ex=http://ns.saxonica.com/xslt/export","line":"581","sType":"?NE","C":[{"N":"subscript","flags":"p","sType":"?NE","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","role":"select","line":"581","C":[{"N":"axis","name":"child","nodeTest":"*NE"},{"N":"int","val":"3"}]}]}]}]}]}]},{"N":"copyOf","flags":"c","ns":"xml=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ex=http://ns.saxonica.com/xslt/export","line":"585","sType":"*NE","C":[{"N":"filter","flags":"p","sType":"*NE","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","role":"select","line":"585","C":[{"N":"axis","name":"child","nodeTest":"*NE"},{"N":"gc10","op":">","comp":"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint","card":"1:1","C":[{"N":"fn","name":"position"},{"N":"int","val":"3"}]}]}]}]}]}]},{"N":"choose","sType":"* ","type":"item()*","line":"588","C":[{"N":"gc10","op":"=","comp":"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint","card":"1:1","sType":"1AB","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","line":"589","C":[{"N":"axis","name":"attribute","nodeTest":"*NA nQ{}longdivstyle"},{"N":"str","val":"stackedrightright"}]},{"N":"sequence","sType":"*NE ","C":[{"N":"elem","name":"m:menclose","sType":"1NE nQ{http://www.w3.org/1998/Math/MathML}menclose ","nsuri":"http://www.w3.org/1998/Math/MathML","namespaces":"","line":"590","C":[{"N":"sequence","sType":"* ","C":[{"N":"att","name":"notation","nsuri":"","sType":"1NA ","C":[{"N":"str","sType":"1AS ","val":"right"}]},{"N":"applyT","sType":"* ","line":"591","mode":"#unnamed","bSlot":"0","C":[{"N":"varRef","name":"Q{}ms","slot":"0","sType":"*","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","role":"select","line":"591"}]}]}]},{"N":"elem","name":"m:mtable","sType":"1NE nQ{http://www.w3.org/1998/Math/MathML}mtable ","nsuri":"http://www.w3.org/1998/Math/MathML","namespaces":"","line":"593","C":[{"N":"sequence","sType":"*N ","C":[{"N":"att","name":"align","nsuri":"","sType":"1NA ","C":[{"N":"str","sType":"1AS ","val":"top"}]},{"N":"elem","name":"m:mtr","sType":"1NE nQ{http://www.w3.org/1998/Math/MathML}mtr ","nsuri":"http://www.w3.org/1998/Math/MathML","namespaces":"","line":"594","C":[{"N":"elem","name":"m:menclose","sType":"1NE nQ{http://www.w3.org/1998/Math/MathML}menclose ","nsuri":"http://www.w3.org/1998/Math/MathML","namespaces":"","line":"595","C":[{"N":"sequence","sType":"*N ","C":[{"N":"att","name":"notation","nsuri":"","sType":"1NA ","C":[{"N":"str","sType":"1AS ","val":"bottom"}]},{"N":"copyOf","flags":"c","ns":"xml=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ex=http://ns.saxonica.com/xslt/export","line":"596","sType":"?NE","C":[{"N":"first","sType":"?NE","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","role":"select","line":"596","C":[{"N":"axis","name":"child","nodeTest":"*NE"}]}]}]}]}]},{"N":"elem","name":"m:mtr","sType":"1NE nQ{http://www.w3.org/1998/Math/MathML}mtr ","nsuri":"http://www.w3.org/1998/Math/MathML","namespaces":"","line":"599","C":[{"N":"elem","name":"mtd","sType":"1NE nQ{}mtd ","nsuri":"","namespaces":"","line":"600","C":[{"N":"copyOf","flags":"c","ns":"xml=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ex=http://ns.saxonica.com/xslt/export","sType":"?NE","C":[{"N":"subscript","flags":"p","sType":"?NE","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","role":"select","line":"66","C":[{"N":"axis","name":"child","nodeTest":"*NE"},{"N":"int","val":"2"}]}]}]}]}]}]}]},{"N":"gc10","op":"=","comp":"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint","card":"1:1","sType":"1AB","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","line":"604","C":[{"N":"axis","name":"attribute","nodeTest":"*NA nQ{}longdivstyle"},{"N":"str","val":"mediumstackedrightright"}]},{"N":"sequence","sType":"* ","C":[{"N":"applyT","sType":"* ","line":"605","mode":"#unnamed","bSlot":"0","C":[{"N":"varRef","name":"Q{}ms","slot":"0","sType":"*","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","role":"select","line":"605"}]},{"N":"elem","name":"m:menclose","sType":"1NE nQ{http://www.w3.org/1998/Math/MathML}menclose ","nsuri":"http://www.w3.org/1998/Math/MathML","namespaces":"","line":"606","C":[{"N":"sequence","sType":"*N ","C":[{"N":"att","name":"notation","nsuri":"","sType":"1NA ","C":[{"N":"str","sType":"1AS ","val":"left"}]},{"N":"elem","name":"m:mtable","sType":"1NE nQ{http://www.w3.org/1998/Math/MathML}mtable ","nsuri":"http://www.w3.org/1998/Math/MathML","namespaces":"","line":"607","C":[{"N":"sequence","sType":"*N ","C":[{"N":"att","name":"align","nsuri":"","sType":"1NA ","C":[{"N":"str","sType":"1AS ","val":"top"}]},{"N":"elem","name":"m:mtr","sType":"1NE nQ{http://www.w3.org/1998/Math/MathML}mtr ","nsuri":"http://www.w3.org/1998/Math/MathML","namespaces":"","line":"608","C":[{"N":"elem","name":"m:menclose","sType":"1NE nQ{http://www.w3.org/1998/Math/MathML}menclose ","nsuri":"http://www.w3.org/1998/Math/MathML","namespaces":"","line":"609","C":[{"N":"sequence","sType":"*N ","C":[{"N":"att","name":"notation","nsuri":"","sType":"1NA ","C":[{"N":"str","sType":"1AS ","val":"bottom"}]},{"N":"copyOf","flags":"c","ns":"xml=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ex=http://ns.saxonica.com/xslt/export","line":"610","sType":"?NE","C":[{"N":"first","sType":"?NE","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","role":"select","line":"610","C":[{"N":"axis","name":"child","nodeTest":"*NE"}]}]}]}]}]},{"N":"elem","name":"m:mtr","sType":"1NE nQ{http://www.w3.org/1998/Math/MathML}mtr ","nsuri":"http://www.w3.org/1998/Math/MathML","namespaces":"","line":"613","C":[{"N":"elem","name":"mtd","sType":"1NE nQ{}mtd ","nsuri":"","namespaces":"","line":"614","C":[{"N":"copyOf","flags":"c","ns":"xml=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ex=http://ns.saxonica.com/xslt/export","sType":"?NE","C":[{"N":"subscript","flags":"p","sType":"?NE","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","role":"select","line":"76","C":[{"N":"axis","name":"child","nodeTest":"*NE"},{"N":"int","val":"2"}]}]}]}]}]}]}]}]}]},{"N":"gc10","op":"=","comp":"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint","card":"1:1","sType":"1AB","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","line":"619","C":[{"N":"axis","name":"attribute","nodeTest":"*NA nQ{}longdivstyle"},{"N":"str","val":"shortstackedrightright"}]},{"N":"sequence","sType":"* ","C":[{"N":"applyT","sType":"* ","line":"620","mode":"#unnamed","bSlot":"0","C":[{"N":"varRef","name":"Q{}ms","slot":"0","sType":"*","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","role":"select","line":"620"}]},{"N":"elem","name":"m:mtable","sType":"1NE nQ{http://www.w3.org/1998/Math/MathML}mtable ","nsuri":"http://www.w3.org/1998/Math/MathML","namespaces":"","line":"621","C":[{"N":"sequence","sType":"*N ","C":[{"N":"att","name":"align","nsuri":"","sType":"1NA ","C":[{"N":"str","sType":"1AS ","val":"top"}]},{"N":"elem","name":"m:mtr","sType":"1NE nQ{http://www.w3.org/1998/Math/MathML}mtr ","nsuri":"http://www.w3.org/1998/Math/MathML","namespaces":"","line":"622","C":[{"N":"elem","name":"m:menclose","sType":"1NE nQ{http://www.w3.org/1998/Math/MathML}menclose ","nsuri":"http://www.w3.org/1998/Math/MathML","namespaces":"","line":"623","C":[{"N":"sequence","sType":"*N ","C":[{"N":"att","name":"notation","nsuri":"","sType":"1NA ","C":[{"N":"str","sType":"1AS ","val":"left bottom"}]},{"N":"copyOf","flags":"c","ns":"xml=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ex=http://ns.saxonica.com/xslt/export","line":"624","sType":"?NE","C":[{"N":"first","sType":"?NE","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","role":"select","line":"624","C":[{"N":"axis","name":"child","nodeTest":"*NE"}]}]}]}]}]},{"N":"elem","name":"m:mtr","sType":"1NE nQ{http://www.w3.org/1998/Math/MathML}mtr ","nsuri":"http://www.w3.org/1998/Math/MathML","namespaces":"","line":"627","C":[{"N":"elem","name":"mtd","sType":"1NE nQ{}mtd ","nsuri":"","namespaces":"","line":"628","C":[{"N":"copyOf","flags":"c","ns":"xml=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ex=http://ns.saxonica.com/xslt/export","sType":"?NE","C":[{"N":"subscript","flags":"p","sType":"?NE","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","role":"select","line":"85","C":[{"N":"axis","name":"child","nodeTest":"*NE"},{"N":"int","val":"2"}]}]}]}]}]}]}]},{"N":"gc10","op":"=","comp":"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint","card":"1:1","sType":"1AB","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","line":"632","C":[{"N":"axis","name":"attribute","nodeTest":"*NA nQ{}longdivstyle"},{"N":"str","val":"stackedleftleft"}]},{"N":"sequence","sType":"*NE ","C":[{"N":"elem","name":"m:mtable","sType":"1NE nQ{http://www.w3.org/1998/Math/MathML}mtable ","nsuri":"http://www.w3.org/1998/Math/MathML","namespaces":"","line":"633","C":[{"N":"sequence","sType":"*N ","C":[{"N":"att","name":"align","nsuri":"","sType":"1NA ","C":[{"N":"str","sType":"1AS ","val":"top"}]},{"N":"elem","name":"m:mtr","sType":"1NE nQ{http://www.w3.org/1998/Math/MathML}mtr ","nsuri":"http://www.w3.org/1998/Math/MathML","namespaces":"","line":"634","C":[{"N":"elem","name":"m:menclose","sType":"1NE nQ{http://www.w3.org/1998/Math/MathML}menclose ","nsuri":"http://www.w3.org/1998/Math/MathML","namespaces":"","line":"635","C":[{"N":"sequence","sType":"*N ","C":[{"N":"att","name":"notation","nsuri":"","sType":"1NA ","C":[{"N":"str","sType":"1AS ","val":"bottom"}]},{"N":"copyOf","flags":"c","ns":"xml=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ex=http://ns.saxonica.com/xslt/export","line":"636","sType":"?NE","C":[{"N":"first","sType":"?NE","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","role":"select","line":"636","C":[{"N":"axis","name":"child","nodeTest":"*NE"}]}]}]}]}]},{"N":"elem","name":"m:mtr","sType":"1NE nQ{http://www.w3.org/1998/Math/MathML}mtr ","nsuri":"http://www.w3.org/1998/Math/MathML","namespaces":"","line":"639","C":[{"N":"elem","name":"mtd","sType":"1NE nQ{}mtd ","nsuri":"","namespaces":"","line":"640","C":[{"N":"copyOf","flags":"c","ns":"xml=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ex=http://ns.saxonica.com/xslt/export","sType":"?NE","C":[{"N":"subscript","flags":"p","sType":"?NE","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","role":"select","line":"93","C":[{"N":"axis","name":"child","nodeTest":"*NE"},{"N":"int","val":"2"}]}]}]}]}]}]},{"N":"elem","name":"m:menclose","sType":"1NE nQ{http://www.w3.org/1998/Math/MathML}menclose ","nsuri":"http://www.w3.org/1998/Math/MathML","namespaces":"","line":"643","C":[{"N":"sequence","sType":"* ","C":[{"N":"att","name":"notation","nsuri":"","sType":"1NA ","C":[{"N":"str","sType":"1AS ","val":"left"}]},{"N":"applyT","sType":"* ","line":"644","mode":"#unnamed","bSlot":"0","C":[{"N":"varRef","name":"Q{}ms","slot":"0","sType":"*","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","role":"select","line":"644"}]}]}]}]},{"N":"true"},{"N":"applyT","sType":"* ","line":"648","mode":"#unnamed","bSlot":"0","C":[{"N":"varRef","name":"Q{}ms","slot":"0","sType":"*","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","role":"select","line":"648"}]}]}]}]},{"N":"templateRule","rank":"1","prec":"0","seq":"38","ns":"xml=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common","minImp":"0","flags":"s","baseUri":"file:///Users/dpvc/Desktop/Tumlook/Data/Code/JavaScript/MathJax/Code/Git/mathjax/MathJax-src/ts/input/mathml/mml3/mml3.xsl","slots":"200","line":"171","module":"mml3.xsl","match":"m:mstack","prio":"11","matches":"NE nQ{http://www.w3.org/1998/Math/MathML}mstack","C":[{"N":"p.nodeTest","role":"match","test":"NE nQ{http://www.w3.org/1998/Math/MathML}mstack","sType":"1NE nQ{http://www.w3.org/1998/Math/MathML}mstack","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common "},{"N":"let","var":"Q{}m","slot":"0","sType":"* ","line":"172","role":"action","C":[{"N":"doc","sType":"1ND ","base":"file:///Users/dpvc/Desktop/Tumlook/Data/Code/JavaScript/MathJax/Code/Git/mathjax/MathJax-src/ts/input/mathml/mml3/mml3.xsl","role":"select","C":[{"N":"elem","name":"m:mtable","sType":"1NE nQ{http://www.w3.org/1998/Math/MathML}mtable ","nsuri":"http://www.w3.org/1998/Math/MathML","namespaces":"","line":"173","C":[{"N":"sequence","sType":"*N ","C":[{"N":"att","name":"columnspacing","nsuri":"","sType":"1NA ","C":[{"N":"str","sType":"1AS ","val":"0em"}]},{"N":"att","name":"rowspacing","nsuri":"","sType":"1NA ","C":[{"N":"str","sType":"1AS ","val":"0em"}]},{"N":"copyOf","flags":"c","ns":"xml=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ex=http://ns.saxonica.com/xslt/export","line":"174","sType":"*NA nQ{}align","C":[{"N":"axis","name":"attribute","nodeTest":"*NA nQ{}align","sType":"*NA nQ{}align","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","role":"select","line":"174"}]},{"N":"let","var":"Q{}t","slot":"0","sType":"*N ","line":"175","C":[{"N":"doc","sType":"1ND ","base":"file:///Users/dpvc/Desktop/Tumlook/Data/Code/JavaScript/MathJax/Code/Git/mathjax/MathJax-src/ts/input/mathml/mml3/mml3.xsl","role":"select","C":[{"N":"applyT","sType":"* ","line":"176","mode":"Q{}mstack1","bSlot":"1","C":[{"N":"axis","name":"child","nodeTest":"*NE","sType":"*NE","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","role":"select","line":"176"},{"N":"withParam","name":"Q{}p","slot":"0","sType":"1ADI","C":[{"N":"int","val":"0","sType":"1ADI","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","role":"select","line":"177"}]}]}]},{"N":"let","var":"Q{}maxl","slot":"1","sType":"*N ","line":"180","C":[{"N":"doc","sType":"1ND ","base":"file:///Users/dpvc/Desktop/Tumlook/Data/Code/JavaScript/MathJax/Code/Git/mathjax/MathJax-src/ts/input/mathml/mml3/mml3.xsl","role":"select","C":[{"N":"forEach","sType":"* ","line":"181","C":[{"N":"sort","sType":"*NA nQ{}l","C":[{"N":"docOrder","sType":"*NA nQ{}l","role":"select","line":"181","C":[{"N":"docOrder","sType":"*NA nQ{}l","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","C":[{"N":"slash","op":"/","C":[{"N":"slash","op":"/","C":[{"N":"treat","as":"N","diag":"1|0|XPTY0019|slash","C":[{"N":"varRef","name":"Q{}t","slot":"0"}]},{"N":"axis","name":"child","nodeTest":"*NE"}]},{"N":"axis","name":"attribute","nodeTest":"*NA nQ{}l"}]}]}]},{"N":"sortKey","sType":"*A ","C":[{"N":"data","sType":"*A ","role":"select","C":[{"N":"dot","sType":"1NA nQ{}l ","role":"select"}]},{"N":"str","sType":"1AS ","val":"descending","role":"order"},{"N":"str","sType":"1AS ","val":"en","role":"lang"},{"N":"str","sType":"1AS ","val":"#default","role":"caseOrder"},{"N":"str","sType":"1AS ","val":"true","role":"stable"},{"N":"str","sType":"1AS ","val":"number","role":"dataType"}]}]},{"N":"choose","sType":"? ","line":"183","C":[{"N":"gc10","op":"=","comp":"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint","card":"1:1","sType":"1AB","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","line":"183","C":[{"N":"fn","name":"position"},{"N":"int","val":"1"}]},{"N":"valueOf","flags":"l","sType":"1NT ","line":"184","C":[{"N":"fn","name":"string-join","role":"select","C":[{"N":"first","C":[{"N":"forEach","sType":"*AS ","C":[{"N":"data","sType":"*A ","C":[{"N":"mergeAdj","C":[{"N":"dot","sType":"1NA nQ{}l","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","role":"select","line":"184"}]}]},{"N":"fn","name":"string","sType":"1AS ","C":[{"N":"dot"}]}]}]},{"N":"str","sType":"1AS ","val":" "}]}]},{"N":"true"},{"N":"empty","sType":"0 "}]}]}]},{"N":"forEach","sType":"*N ","line":"188","C":[{"N":"docOrder","sType":"*NE","role":"select","line":"188","C":[{"N":"docOrder","sType":"*NE","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","C":[{"N":"slash","op":"/","C":[{"N":"treat","as":"N","diag":"1|0|XPTY0019|slash","C":[{"N":"varRef","name":"Q{}t","slot":"0"}]},{"N":"filter","flags":"p","C":[{"N":"axis","name":"child","nodeTest":"*NE"},{"N":"or","C":[{"N":"fn","name":"not","C":[{"N":"gc10","op":"=","comp":"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint","card":"1:1","C":[{"N":"axis","name":"attribute","nodeTest":"*NA nQ{}class"},{"N":"str","val":"mscarries"}]}]},{"N":"gc10","op":"=","comp":"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint","card":"1:1","C":[{"N":"slash","op":"/","C":[{"N":"first","C":[{"N":"axis","name":"following-sibling","nodeTest":"*NE"}]},{"N":"axis","name":"attribute","nodeTest":"*NA nQ{}class"}]},{"N":"str","val":"mscarries"}]}]}]}]}]}]},{"N":"let","var":"Q{}c","slot":"2","sType":"*N ","line":"189","C":[{"N":"fn","name":"reverse","sType":"?NE","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","role":"select","line":"189","C":[{"N":"filter","C":[{"N":"first","C":[{"N":"axis","name":"preceding-sibling","nodeTest":"*NE"}]},{"N":"gc10","op":"=","comp":"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint","card":"1:1","C":[{"N":"axis","name":"attribute","nodeTest":"*NA nQ{}class"},{"N":"str","val":"mscarries"}]}]}]},{"N":"sequence","sType":"?N ","C":[{"N":"valueOf","sType":"1NT ","C":[{"N":"str","sType":"1AS ","val":"\n"}]},{"N":"elem","name":"m:mtr","sType":"1NE nQ{http://www.w3.org/1998/Math/MathML}mtr ","nsuri":"http://www.w3.org/1998/Math/MathML","namespaces":"","line":"191","C":[{"N":"sequence","sType":"* ","C":[{"N":"copyOf","flags":"c","ns":"xml=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ex=http://ns.saxonica.com/xslt/export","line":"192","sType":"*NA nQ{}class","C":[{"N":"filter","sType":"*NA nQ{}class","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","role":"select","line":"192","C":[{"N":"axis","name":"attribute","nodeTest":"*NA nQ{}class"},{"N":"gc10","op":"=","comp":"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint","card":"1:1","C":[{"N":"dot"},{"N":"str","val":"msline"}]}]}]},{"N":"let","var":"Q{}offset","slot":"3","sType":"* ","line":"193","C":[{"N":"arith10","op":"-","calc":"d-d","sType":"?AO","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","role":"select","line":"193","C":[{"N":"atomSing","diag":"1|0||arith","card":"?","C":[{"N":"first","C":[{"N":"varRef","name":"Q{}maxl","slot":"1"}]}]},{"N":"atomSing","diag":"1|1||arith","card":"?","C":[{"N":"first","C":[{"N":"axis","name":"attribute","nodeTest":"*NA nQ{}l"}]}]}]},{"N":"choose","sType":"* ","type":"item()*","line":"194","C":[{"N":"and","sType":"1AB","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","line":"195","C":[{"N":"gc10","op":"=","comp":"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint","card":"1:1","C":[{"N":"axis","name":"attribute","nodeTest":"*NA nQ{}class"},{"N":"str","val":"msline"}]},{"N":"gc10","op":"=","comp":"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint","card":"1:1","C":[{"N":"axis","name":"attribute","nodeTest":"*NA nQ{}l"},{"N":"str","val":"*"}]}]},{"N":"let","var":"Q{}msl","slot":"4","sType":"* ","line":"196","C":[{"N":"first","sType":"?NE","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","role":"select","line":"196","C":[{"N":"axis","name":"child","nodeTest":"*NE"}]},{"N":"forEach","sType":"*","line":"197","C":[{"N":"filter","flags":"p","sType":"*N","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","role":"select","line":"197","C":[{"N":"slash","op":"/","C":[{"N":"root"},{"N":"axis","name":"descendant","nodeTest":"*N u[NT,NP,NC,NE]"}]},{"N":"gc10","op":"<=","comp":"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint","card":"1:1","C":[{"N":"fn","name":"position"},{"N":"varRef","name":"Q{}maxl","slot":"1"}]}]},{"N":"copyOf","flags":"c","ns":"xml=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ex=http://ns.saxonica.com/xslt/export","line":"198","sType":"*","C":[{"N":"varRef","name":"Q{}msl","slot":"4","sType":"*","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","role":"select","line":"198"}]}]}]},{"N":"varRef","name":"Q{}c","slot":"2","sType":"*","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","line":"201"},{"N":"let","var":"Q{}ldiff","slot":"4","sType":"*NE ","line":"202","C":[{"N":"arith10","op":"-","calc":"d-d","sType":"?AO","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","role":"select","line":"202","C":[{"N":"atomSing","diag":"1|0||arith","card":"?","C":[{"N":"first","C":[{"N":"docOrder","C":[{"N":"slash","op":"/","C":[{"N":"treat","as":"N","diag":"1|0|XPTY0019|slash","C":[{"N":"varRef","name":"Q{}c","slot":"2"}]},{"N":"axis","name":"attribute","nodeTest":"*NA nQ{}l"}]}]}]}]},{"N":"atomSing","diag":"1|1||arith","card":"?","C":[{"N":"first","C":[{"N":"axis","name":"attribute","nodeTest":"*NA nQ{}l"}]}]}]},{"N":"let","var":"Q{}loffset","slot":"5","sType":"*NE ","line":"203","C":[{"N":"arith10","op":"-","calc":"d-d","sType":"?AO","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","role":"select","line":"203","C":[{"N":"atomSing","diag":"1|0||arith","card":"?","C":[{"N":"first","C":[{"N":"varRef","name":"Q{}maxl","slot":"1"}]}]},{"N":"atomSing","diag":"1|1||arith","card":"?","C":[{"N":"first","C":[{"N":"docOrder","C":[{"N":"slash","op":"/","C":[{"N":"treat","as":"N","diag":"1|0|XPTY0019|slash","C":[{"N":"varRef","name":"Q{}c","slot":"2"}]},{"N":"axis","name":"attribute","nodeTest":"*NA nQ{}l"}]}]}]}]}]},{"N":"sequence","sType":"*NE ","C":[{"N":"forEach","sType":"*NE ","line":"204","C":[{"N":"filter","flags":"p","sType":"*NE","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","role":"select","line":"204","C":[{"N":"slash","op":"/","C":[{"N":"root"},{"N":"axis","name":"descendant","nodeTest":"*NE"}]},{"N":"gc10","op":"<=","comp":"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint","card":"1:1","C":[{"N":"fn","name":"position"},{"N":"varRef","name":"Q{}offset","slot":"3"}]}]},{"N":"let","var":"Q{}pn","slot":"6","sType":"*NE ","line":"205","C":[{"N":"fn","name":"position","sType":"1ADI","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","role":"select","line":"205"},{"N":"let","var":"Q{}cy","slot":"7","sType":"*NE ","line":"206","C":[{"N":"docOrder","sType":"*NE","role":"select","line":"206","C":[{"N":"docOrder","sType":"*NE","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","C":[{"N":"slash","op":"/","C":[{"N":"treat","as":"N","diag":"1|0|XPTY0019|slash","C":[{"N":"varRef","name":"Q{}c","slot":"2"}]},{"N":"filter","flags":"p","C":[{"N":"axis","name":"child","nodeTest":"*NE"},{"N":"gc10","op":"=","comp":"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint","card":"1:1","C":[{"N":"fn","name":"position"},{"N":"arith10","op":"-","calc":"d-d","C":[{"N":"atomSing","diag":"1|0||arith","card":"?","C":[{"N":"first","C":[{"N":"varRef","name":"Q{}pn","slot":"6"}]}]},{"N":"atomSing","diag":"1|1||arith","card":"?","C":[{"N":"first","C":[{"N":"varRef","name":"Q{}loffset","slot":"5"}]}]}]}]}]}]}]}]},{"N":"elem","name":"m:mtd","sType":"1NE nQ{http://www.w3.org/1998/Math/MathML}mtd ","nsuri":"http://www.w3.org/1998/Math/MathML","namespaces":"","line":"207","C":[{"N":"choose","sType":"? ","line":"208","C":[{"N":"docOrder","sType":"*NE","line":"208","C":[{"N":"docOrder","sType":"*NE","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","C":[{"N":"slash","op":"/","C":[{"N":"treat","as":"N","diag":"1|0|XPTY0019|slash","C":[{"N":"varRef","name":"Q{}cy","slot":"7"}]},{"N":"axis","name":"child","nodeTest":"*NE"}]}]}]},{"N":"elem","name":"m:mover","sType":"1NE nQ{http://www.w3.org/1998/Math/MathML}mover ","nsuri":"http://www.w3.org/1998/Math/MathML","namespaces":"","line":"209","C":[{"N":"sequence","sType":"*NE ","C":[{"N":"elem","name":"m:mphantom","sType":"1NE nQ{http://www.w3.org/1998/Math/MathML}mphantom ","nsuri":"http://www.w3.org/1998/Math/MathML","namespaces":"","C":[{"N":"elem","name":"m:mn","sType":"1NE nQ{http://www.w3.org/1998/Math/MathML}mn ","nsuri":"http://www.w3.org/1998/Math/MathML","namespaces":"","C":[{"N":"valueOf","sType":"1NT ","C":[{"N":"str","sType":"1AS ","val":"0"}]}]}]},{"N":"elem","name":"m:mpadded","sType":"1NE nQ{http://www.w3.org/1998/Math/MathML}mpadded ","nsuri":"http://www.w3.org/1998/Math/MathML","namespaces":"","C":[{"N":"sequence","sType":"*N ","C":[{"N":"att","name":"width","nsuri":"","sType":"1NA ","C":[{"N":"str","sType":"1AS ","val":"0em"}]},{"N":"att","name":"lspace","nsuri":"","sType":"1NA ","C":[{"N":"str","sType":"1AS ","val":"-0.5width"}]},{"N":"copyOf","flags":"c","ns":"xml=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ex=http://ns.saxonica.com/xslt/export","line":"210","sType":"*NE","C":[{"N":"docOrder","sType":"*NE","role":"select","line":"210","C":[{"N":"docOrder","sType":"*NE","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","C":[{"N":"slash","op":"/","C":[{"N":"treat","as":"N","diag":"1|0|XPTY0019|slash","C":[{"N":"varRef","name":"Q{}cy","slot":"7"}]},{"N":"axis","name":"child","nodeTest":"*NE"}]}]}]}]}]}]}]}]},{"N":"true"},{"N":"empty","sType":"0 "}]}]}]}]}]},{"N":"forEach","sType":"*NE ","line":"214","C":[{"N":"axis","name":"child","nodeTest":"*NE","sType":"*NE","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","role":"select","line":"214"},{"N":"let","var":"Q{}pn","slot":"6","sType":"*NE ","line":"215","C":[{"N":"fn","name":"position","sType":"1ADI","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","role":"select","line":"215"},{"N":"let","var":"Q{}cy","slot":"7","sType":"*NE ","line":"216","C":[{"N":"docOrder","sType":"*NE","role":"select","line":"216","C":[{"N":"docOrder","sType":"*NE","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","C":[{"N":"slash","op":"/","C":[{"N":"treat","as":"N","diag":"1|0|XPTY0019|slash","C":[{"N":"varRef","name":"Q{}c","slot":"2"}]},{"N":"filter","flags":"p","C":[{"N":"axis","name":"child","nodeTest":"*NE"},{"N":"gc10","op":"=","comp":"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint","card":"1:1","C":[{"N":"fn","name":"position"},{"N":"arith10","op":"+","calc":"d+d","C":[{"N":"atomSing","diag":"1|0||arith","card":"?","C":[{"N":"first","C":[{"N":"varRef","name":"Q{}pn","slot":"6"}]}]},{"N":"atomSing","diag":"1|1||arith","card":"?","C":[{"N":"first","C":[{"N":"varRef","name":"Q{}ldiff","slot":"4"}]}]}]}]}]}]}]}]},{"N":"copy","sType":"1NE ","flags":"cin","line":"217","C":[{"N":"sequence","sType":"* ","C":[{"N":"copyOf","flags":"c","ns":"xml=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ex=http://ns.saxonica.com/xslt/export","line":"218","sType":"*NA","C":[{"N":"axis","name":"attribute","nodeTest":"*NA","sType":"*NA","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","role":"select","line":"218"}]},{"N":"let","var":"Q{}b","slot":"8","sType":"* ","line":"219","C":[{"N":"doc","sType":"1ND ","base":"file:///Users/dpvc/Desktop/Tumlook/Data/Code/JavaScript/MathJax/Code/Git/mathjax/MathJax-src/ts/input/mathml/mml3/mml3.xsl","role":"select","C":[{"N":"choose","sType":"*NE ","type":"item()*","line":"220","C":[{"N":"fn","name":"not","sType":"1AB","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","line":"221","C":[{"N":"or","C":[{"N":"fn","name":"string","C":[{"N":"first","C":[{"N":"docOrder","C":[{"N":"slash","op":"/","C":[{"N":"treat","as":"N","diag":"1|0|XPTY0019|slash","C":[{"N":"varRef","name":"Q{}cy","slot":"7"}]},{"N":"axis","name":"attribute","nodeTest":"*NA nQ{}crossout"}]}]}]}]},{"N":"gc10","op":"=","comp":"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint","card":"1:1","C":[{"N":"docOrder","C":[{"N":"slash","op":"/","C":[{"N":"treat","as":"N","diag":"1|0|XPTY0019|slash","C":[{"N":"varRef","name":"Q{}cy","slot":"7"}]},{"N":"axis","name":"attribute","nodeTest":"*NA nQ{}crossout"}]}]},{"N":"str","val":"none"}]}]}]},{"N":"copyOf","flags":"c","ns":"xml=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ex=http://ns.saxonica.com/xslt/export","sType":"*NE","C":[{"N":"axis","name":"child","nodeTest":"*NE","sType":"*NE","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","role":"select","line":"45"}]},{"N":"true"},{"N":"elem","name":"m:menclose","sType":"1NE nQ{http://www.w3.org/1998/Math/MathML}menclose ","nsuri":"http://www.w3.org/1998/Math/MathML","namespaces":"","line":"223","C":[{"N":"sequence","sType":"*N ","C":[{"N":"att","name":"notation","nsuri":"","sType":"1NA ","C":[{"N":"fn","name":"string-join","sType":"1AS ","C":[{"N":"first","C":[{"N":"convert","type":"AS*","from":"AZ","to":"AS","C":[{"N":"data","C":[{"N":"mergeAdj","sType":"*NA nQ{}crossout","C":[{"N":"docOrder","sType":"*NA nQ{}crossout","line":"223","C":[{"N":"docOrder","sType":"*NA nQ{}crossout","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","C":[{"N":"slash","op":"/","C":[{"N":"treat","as":"N","diag":"1|0|XPTY0019|slash","C":[{"N":"varRef","name":"Q{}cy","slot":"7"}]},{"N":"axis","name":"attribute","nodeTest":"*NA nQ{}crossout"}]}]}]}]}]}]}]},{"N":"str","sType":"1AS ","val":" "}]}]},{"N":"copyOf","flags":"c","ns":"xml=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ex=http://ns.saxonica.com/xslt/export","sType":"*NE","C":[{"N":"axis","name":"child","nodeTest":"*NE","sType":"*NE","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","role":"select","line":"48"}]}]}]}]}]},{"N":"choose","sType":"* ","type":"item()*","line":"227","C":[{"N":"or","sType":"1AB","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","line":"228","C":[{"N":"docOrder","C":[{"N":"slash","op":"/","C":[{"N":"treat","as":"N","diag":"1|0|XPTY0019|slash","C":[{"N":"varRef","name":"Q{}cy","slot":"7"}]},{"N":"axis","name":"child","nodeTest":"*NE nQ{http://www.w3.org/1998/Math/MathML}none"}]}]},{"N":"fn","name":"not","C":[{"N":"docOrder","C":[{"N":"slash","op":"/","C":[{"N":"treat","as":"N","diag":"1|0|XPTY0019|slash","C":[{"N":"varRef","name":"Q{}cy","slot":"7"}]},{"N":"axis","name":"child","nodeTest":"*NE"}]}]}]}]},{"N":"copyOf","flags":"c","ns":"xml=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ex=http://ns.saxonica.com/xslt/export","sType":"*","C":[{"N":"varRef","name":"Q{}b","slot":"8","sType":"*","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","role":"select","line":"51"}]},{"N":"or","sType":"1AB","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","line":"229","C":[{"N":"fn","name":"not","C":[{"N":"fn","name":"string","C":[{"N":"first","C":[{"N":"docOrder","C":[{"N":"slash","op":"/","C":[{"N":"treat","as":"N","diag":"1|0|XPTY0019|slash","C":[{"N":"varRef","name":"Q{}cy","slot":"7"}]},{"N":"axis","name":"attribute","nodeTest":"*NA nQ{}location"}]}]}]}]}]},{"N":"gc10","op":"=","comp":"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint","card":"1:1","C":[{"N":"docOrder","C":[{"N":"slash","op":"/","C":[{"N":"treat","as":"N","diag":"1|0|XPTY0019|slash","C":[{"N":"varRef","name":"Q{}cy","slot":"7"}]},{"N":"axis","name":"attribute","nodeTest":"*NA nQ{}location"}]}]},{"N":"str","val":"n"}]}]},{"N":"elem","name":"m:mover","sType":"1NE nQ{http://www.w3.org/1998/Math/MathML}mover ","nsuri":"http://www.w3.org/1998/Math/MathML","namespaces":"","line":"230","C":[{"N":"sequence","sType":"* ","C":[{"N":"copyOf","flags":"c","ns":"xml=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ex=http://ns.saxonica.com/xslt/export","line":"231","sType":"*","C":[{"N":"varRef","name":"Q{}b","slot":"8","sType":"*","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","role":"select","line":"231"}]},{"N":"elem","name":"m:mpadded","sType":"1NE nQ{http://www.w3.org/1998/Math/MathML}mpadded ","nsuri":"http://www.w3.org/1998/Math/MathML","namespaces":"","line":"231","C":[{"N":"sequence","sType":"*N ","C":[{"N":"att","name":"width","nsuri":"","sType":"1NA ","C":[{"N":"str","sType":"1AS ","val":"0em"}]},{"N":"att","name":"lspace","nsuri":"","sType":"1NA ","C":[{"N":"str","sType":"1AS ","val":"-0.5width"}]},{"N":"copyOf","flags":"c","ns":"xml=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ex=http://ns.saxonica.com/xslt/export","line":"232","sType":"*NE","C":[{"N":"docOrder","sType":"*NE","role":"select","line":"232","C":[{"N":"docOrder","sType":"*NE","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","C":[{"N":"slash","op":"/","C":[{"N":"treat","as":"N","diag":"1|0|XPTY0019|slash","C":[{"N":"varRef","name":"Q{}cy","slot":"7"}]},{"N":"axis","name":"child","nodeTest":"*NE"}]}]}]}]}]}]}]}]},{"N":"gc10","op":"=","comp":"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint","card":"1:1","sType":"1AB","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","line":"236","C":[{"N":"docOrder","C":[{"N":"slash","op":"/","C":[{"N":"treat","as":"N","diag":"1|0|XPTY0019|slash","C":[{"N":"varRef","name":"Q{}cy","slot":"7"}]},{"N":"axis","name":"attribute","nodeTest":"*NA nQ{}location"}]}]},{"N":"str","val":"nw"}]},{"N":"elem","name":"m:mmultiscripts","sType":"1NE nQ{http://www.w3.org/1998/Math/MathML}mmultiscripts ","nsuri":"http://www.w3.org/1998/Math/MathML","namespaces":"","line":"237","C":[{"N":"sequence","sType":"* ","C":[{"N":"copyOf","flags":"c","ns":"xml=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ex=http://ns.saxonica.com/xslt/export","sType":"*","C":[{"N":"varRef","name":"Q{}b","slot":"8","sType":"*","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","role":"select","line":"59"}]},{"N":"elem","name":"m:mprescripts","sType":"1NE nQ{http://www.w3.org/1998/Math/MathML}mprescripts ","nsuri":"http://www.w3.org/1998/Math/MathML","namespaces":"","C":[{"N":"empty","sType":"0 "}]},{"N":"elem","name":"m:none","sType":"1NE nQ{http://www.w3.org/1998/Math/MathML}none ","nsuri":"http://www.w3.org/1998/Math/MathML","namespaces":"","C":[{"N":"empty","sType":"0 "}]},{"N":"elem","name":"m:mpadded","sType":"1NE nQ{http://www.w3.org/1998/Math/MathML}mpadded ","nsuri":"http://www.w3.org/1998/Math/MathML","namespaces":"","C":[{"N":"sequence","sType":"*N ","C":[{"N":"att","name":"lspace","nsuri":"","sType":"1NA ","C":[{"N":"str","sType":"1AS ","val":"-1width"}]},{"N":"att","name":"width","nsuri":"","sType":"1NA ","C":[{"N":"str","sType":"1AS ","val":"0em"}]},{"N":"copyOf","flags":"c","ns":"xml=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ex=http://ns.saxonica.com/xslt/export","sType":"*NE","C":[{"N":"docOrder","sType":"*NE","role":"select","line":"63","C":[{"N":"docOrder","sType":"*NE","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","C":[{"N":"slash","op":"/","C":[{"N":"treat","as":"N","diag":"1|0|XPTY0019|slash","C":[{"N":"varRef","name":"Q{}cy","slot":"7"}]},{"N":"axis","name":"child","nodeTest":"*NE"}]}]}]}]}]}]}]}]},{"N":"gc10","op":"=","comp":"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint","card":"1:1","sType":"1AB","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","line":"239","C":[{"N":"docOrder","C":[{"N":"slash","op":"/","C":[{"N":"treat","as":"N","diag":"1|0|XPTY0019|slash","C":[{"N":"varRef","name":"Q{}cy","slot":"7"}]},{"N":"axis","name":"attribute","nodeTest":"*NA nQ{}location"}]}]},{"N":"str","val":"s"}]},{"N":"elem","name":"m:munder","sType":"1NE nQ{http://www.w3.org/1998/Math/MathML}munder ","nsuri":"http://www.w3.org/1998/Math/MathML","namespaces":"","line":"240","C":[{"N":"sequence","sType":"* ","C":[{"N":"copyOf","flags":"c","ns":"xml=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ex=http://ns.saxonica.com/xslt/export","sType":"*","C":[{"N":"varRef","name":"Q{}b","slot":"8","sType":"*","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","role":"select","line":"66"}]},{"N":"elem","name":"m:mpadded","sType":"1NE nQ{http://www.w3.org/1998/Math/MathML}mpadded ","nsuri":"http://www.w3.org/1998/Math/MathML","namespaces":"","C":[{"N":"sequence","sType":"*N ","C":[{"N":"att","name":"width","nsuri":"","sType":"1NA ","C":[{"N":"str","sType":"1AS ","val":"0em"}]},{"N":"att","name":"lspace","nsuri":"","sType":"1NA ","C":[{"N":"str","sType":"1AS ","val":"-0.5width"}]},{"N":"copyOf","flags":"c","ns":"xml=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ex=http://ns.saxonica.com/xslt/export","sType":"*NE","C":[{"N":"docOrder","sType":"*NE","role":"select","line":"68","C":[{"N":"docOrder","sType":"*NE","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","C":[{"N":"slash","op":"/","C":[{"N":"treat","as":"N","diag":"1|0|XPTY0019|slash","C":[{"N":"varRef","name":"Q{}cy","slot":"7"}]},{"N":"axis","name":"child","nodeTest":"*NE"}]}]}]}]}]}]}]}]},{"N":"gc10","op":"=","comp":"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint","card":"1:1","sType":"1AB","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","line":"242","C":[{"N":"docOrder","C":[{"N":"slash","op":"/","C":[{"N":"treat","as":"N","diag":"1|0|XPTY0019|slash","C":[{"N":"varRef","name":"Q{}cy","slot":"7"}]},{"N":"axis","name":"attribute","nodeTest":"*NA nQ{}location"}]}]},{"N":"str","val":"sw"}]},{"N":"elem","name":"m:mmultiscripts","sType":"1NE nQ{http://www.w3.org/1998/Math/MathML}mmultiscripts ","nsuri":"http://www.w3.org/1998/Math/MathML","namespaces":"","line":"243","C":[{"N":"sequence","sType":"* ","C":[{"N":"copyOf","flags":"c","ns":"xml=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ex=http://ns.saxonica.com/xslt/export","sType":"*","C":[{"N":"varRef","name":"Q{}b","slot":"8","sType":"*","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","role":"select","line":"71"}]},{"N":"elem","name":"m:mprescripts","sType":"1NE nQ{http://www.w3.org/1998/Math/MathML}mprescripts ","nsuri":"http://www.w3.org/1998/Math/MathML","namespaces":"","C":[{"N":"empty","sType":"0 "}]},{"N":"elem","name":"m:mpadded","sType":"1NE nQ{http://www.w3.org/1998/Math/MathML}mpadded ","nsuri":"http://www.w3.org/1998/Math/MathML","namespaces":"","C":[{"N":"sequence","sType":"*N ","C":[{"N":"att","name":"lspace","nsuri":"","sType":"1NA ","C":[{"N":"str","sType":"1AS ","val":"-1width"}]},{"N":"att","name":"width","nsuri":"","sType":"1NA ","C":[{"N":"str","sType":"1AS ","val":"0em"}]},{"N":"copyOf","flags":"c","ns":"xml=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ex=http://ns.saxonica.com/xslt/export","sType":"*NE","C":[{"N":"docOrder","sType":"*NE","role":"select","line":"74","C":[{"N":"docOrder","sType":"*NE","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","C":[{"N":"slash","op":"/","C":[{"N":"treat","as":"N","diag":"1|0|XPTY0019|slash","C":[{"N":"varRef","name":"Q{}cy","slot":"7"}]},{"N":"axis","name":"child","nodeTest":"*NE"}]}]}]}]}]}]},{"N":"elem","name":"m:none","sType":"1NE nQ{http://www.w3.org/1998/Math/MathML}none ","nsuri":"http://www.w3.org/1998/Math/MathML","namespaces":"","C":[{"N":"empty","sType":"0 "}]}]}]},{"N":"gc10","op":"=","comp":"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint","card":"1:1","sType":"1AB","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","line":"245","C":[{"N":"docOrder","C":[{"N":"slash","op":"/","C":[{"N":"treat","as":"N","diag":"1|0|XPTY0019|slash","C":[{"N":"varRef","name":"Q{}cy","slot":"7"}]},{"N":"axis","name":"attribute","nodeTest":"*NA nQ{}location"}]}]},{"N":"str","val":"ne"}]},{"N":"elem","name":"m:msup","sType":"1NE nQ{http://www.w3.org/1998/Math/MathML}msup ","nsuri":"http://www.w3.org/1998/Math/MathML","namespaces":"","line":"246","C":[{"N":"sequence","sType":"* ","C":[{"N":"copyOf","flags":"c","ns":"xml=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ex=http://ns.saxonica.com/xslt/export","sType":"*","C":[{"N":"varRef","name":"Q{}b","slot":"8","sType":"*","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","role":"select","line":"78"}]},{"N":"elem","name":"m:mpadded","sType":"1NE nQ{http://www.w3.org/1998/Math/MathML}mpadded ","nsuri":"http://www.w3.org/1998/Math/MathML","namespaces":"","C":[{"N":"sequence","sType":"*N ","C":[{"N":"att","name":"width","nsuri":"","sType":"1NA ","C":[{"N":"str","sType":"1AS ","val":"0em"}]},{"N":"copyOf","flags":"c","ns":"xml=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ex=http://ns.saxonica.com/xslt/export","sType":"*NE","C":[{"N":"docOrder","sType":"*NE","role":"select","line":"80","C":[{"N":"docOrder","sType":"*NE","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","C":[{"N":"slash","op":"/","C":[{"N":"treat","as":"N","diag":"1|0|XPTY0019|slash","C":[{"N":"varRef","name":"Q{}cy","slot":"7"}]},{"N":"axis","name":"child","nodeTest":"*NE"}]}]}]}]}]}]}]}]},{"N":"gc10","op":"=","comp":"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint","card":"1:1","sType":"1AB","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","line":"248","C":[{"N":"docOrder","C":[{"N":"slash","op":"/","C":[{"N":"treat","as":"N","diag":"1|0|XPTY0019|slash","C":[{"N":"varRef","name":"Q{}cy","slot":"7"}]},{"N":"axis","name":"attribute","nodeTest":"*NA nQ{}location"}]}]},{"N":"str","val":"se"}]},{"N":"elem","name":"m:msub","sType":"1NE nQ{http://www.w3.org/1998/Math/MathML}msub ","nsuri":"http://www.w3.org/1998/Math/MathML","namespaces":"","line":"249","C":[{"N":"sequence","sType":"* ","C":[{"N":"copyOf","flags":"c","ns":"xml=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ex=http://ns.saxonica.com/xslt/export","sType":"*","C":[{"N":"varRef","name":"Q{}b","slot":"8","sType":"*","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","role":"select","line":"83"}]},{"N":"elem","name":"m:mpadded","sType":"1NE nQ{http://www.w3.org/1998/Math/MathML}mpadded ","nsuri":"http://www.w3.org/1998/Math/MathML","namespaces":"","C":[{"N":"sequence","sType":"*N ","C":[{"N":"att","name":"width","nsuri":"","sType":"1NA ","C":[{"N":"str","sType":"1AS ","val":"0em"}]},{"N":"copyOf","flags":"c","ns":"xml=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ex=http://ns.saxonica.com/xslt/export","sType":"*NE","C":[{"N":"docOrder","sType":"*NE","role":"select","line":"85","C":[{"N":"docOrder","sType":"*NE","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","C":[{"N":"slash","op":"/","C":[{"N":"treat","as":"N","diag":"1|0|XPTY0019|slash","C":[{"N":"varRef","name":"Q{}cy","slot":"7"}]},{"N":"axis","name":"child","nodeTest":"*NE"}]}]}]}]}]}]}]}]},{"N":"gc10","op":"=","comp":"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint","card":"1:1","sType":"1AB","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","line":"251","C":[{"N":"docOrder","C":[{"N":"slash","op":"/","C":[{"N":"treat","as":"N","diag":"1|0|XPTY0019|slash","C":[{"N":"varRef","name":"Q{}cy","slot":"7"}]},{"N":"axis","name":"attribute","nodeTest":"*NA nQ{}location"}]}]},{"N":"str","val":"w"}]},{"N":"sequence","sType":"* ","C":[{"N":"elem","name":"m:msup","sType":"1NE nQ{http://www.w3.org/1998/Math/MathML}msup ","nsuri":"http://www.w3.org/1998/Math/MathML","namespaces":"","line":"252","C":[{"N":"sequence","sType":"*NE ","C":[{"N":"elem","name":"m:mrow","sType":"1NE nQ{http://www.w3.org/1998/Math/MathML}mrow ","nsuri":"http://www.w3.org/1998/Math/MathML","namespaces":"","C":[{"N":"empty","sType":"0 "}]},{"N":"elem","name":"m:mpadded","sType":"1NE nQ{http://www.w3.org/1998/Math/MathML}mpadded ","nsuri":"http://www.w3.org/1998/Math/MathML","namespaces":"","C":[{"N":"sequence","sType":"*N ","C":[{"N":"att","name":"lspace","nsuri":"","sType":"1NA ","C":[{"N":"str","sType":"1AS ","val":"-1width"}]},{"N":"att","name":"width","nsuri":"","sType":"1NA ","C":[{"N":"str","sType":"1AS ","val":"0em"}]},{"N":"copyOf","flags":"c","ns":"xml=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ex=http://ns.saxonica.com/xslt/export","sType":"*NE","C":[{"N":"docOrder","sType":"*NE","role":"select","line":"90","C":[{"N":"docOrder","sType":"*NE","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","C":[{"N":"slash","op":"/","C":[{"N":"treat","as":"N","diag":"1|0|XPTY0019|slash","C":[{"N":"varRef","name":"Q{}cy","slot":"7"}]},{"N":"axis","name":"child","nodeTest":"*NE"}]}]}]}]}]}]}]}]},{"N":"copyOf","flags":"c","ns":"xml=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ex=http://ns.saxonica.com/xslt/export","line":"253","sType":"*","C":[{"N":"varRef","name":"Q{}b","slot":"8","sType":"*","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","role":"select","line":"253"}]}]},{"N":"gc10","op":"=","comp":"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint","card":"1:1","sType":"1AB","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","line":"255","C":[{"N":"docOrder","C":[{"N":"slash","op":"/","C":[{"N":"treat","as":"N","diag":"1|0|XPTY0019|slash","C":[{"N":"varRef","name":"Q{}cy","slot":"7"}]},{"N":"axis","name":"attribute","nodeTest":"*NA nQ{}location"}]}]},{"N":"str","val":"e"}]},{"N":"sequence","sType":"* ","C":[{"N":"copyOf","flags":"c","ns":"xml=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ex=http://ns.saxonica.com/xslt/export","line":"256","sType":"*","C":[{"N":"varRef","name":"Q{}b","slot":"8","sType":"*","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","role":"select","line":"256"}]},{"N":"elem","name":"m:msup","sType":"1NE nQ{http://www.w3.org/1998/Math/MathML}msup ","nsuri":"http://www.w3.org/1998/Math/MathML","namespaces":"","line":"257","C":[{"N":"sequence","sType":"*NE ","C":[{"N":"elem","name":"m:mrow","sType":"1NE nQ{http://www.w3.org/1998/Math/MathML}mrow ","nsuri":"http://www.w3.org/1998/Math/MathML","namespaces":"","C":[{"N":"empty","sType":"0 "}]},{"N":"elem","name":"m:mpadded","sType":"1NE nQ{http://www.w3.org/1998/Math/MathML}mpadded ","nsuri":"http://www.w3.org/1998/Math/MathML","namespaces":"","C":[{"N":"sequence","sType":"*N ","C":[{"N":"att","name":"width","nsuri":"","sType":"1NA ","C":[{"N":"str","sType":"1AS ","val":"0em"}]},{"N":"copyOf","flags":"c","ns":"xml=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ex=http://ns.saxonica.com/xslt/export","sType":"*NE","C":[{"N":"docOrder","sType":"*NE","role":"select","line":"97","C":[{"N":"docOrder","sType":"*NE","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","C":[{"N":"slash","op":"/","C":[{"N":"treat","as":"N","diag":"1|0|XPTY0019|slash","C":[{"N":"varRef","name":"Q{}cy","slot":"7"}]},{"N":"axis","name":"child","nodeTest":"*NE"}]}]}]}]}]}]}]}]}]},{"N":"true"},{"N":"copyOf","flags":"c","ns":"xml=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ex=http://ns.saxonica.com/xslt/export","line":"260","sType":"*","C":[{"N":"varRef","name":"Q{}b","slot":"8","sType":"*","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","role":"select","line":"260"}]}]}]}]}]}]}]}]}]}]}]},{"N":"true"},{"N":"sequence","sType":"*NE ","C":[{"N":"forEach","sType":"*NE nQ{http://www.w3.org/1998/Math/MathML}mtd ","line":"267","C":[{"N":"filter","flags":"p","sType":"*NE","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","role":"select","line":"267","C":[{"N":"slash","op":"/","C":[{"N":"root"},{"N":"axis","name":"descendant","nodeTest":"*NE"}]},{"N":"gc10","op":"<=","comp":"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint","card":"1:1","C":[{"N":"fn","name":"position"},{"N":"varRef","name":"Q{}offset","slot":"3"}]}]},{"N":"elem","name":"m:mtd","sType":"1NE nQ{http://www.w3.org/1998/Math/MathML}mtd ","nsuri":"http://www.w3.org/1998/Math/MathML","namespaces":"","C":[{"N":"empty","sType":"0 "}]}]},{"N":"copyOf","flags":"c","ns":"xml=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ex=http://ns.saxonica.com/xslt/export","line":"268","sType":"*NE","C":[{"N":"axis","name":"child","nodeTest":"*NE","sType":"*NE","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","role":"select","line":"268"}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"N":"applyT","sType":"* ","line":"275","mode":"Q{}ml","bSlot":"2","C":[{"N":"varRef","name":"Q{}m","slot":"0","sType":"*","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","role":"select","line":"275"}]}]}]},{"N":"templateRule","rank":"2","prec":"0","seq":"1","ns":"xml=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common","minImp":"0","flags":"s","baseUri":"file:///Users/dpvc/Desktop/Tumlook/Data/Code/JavaScript/MathJax/Code/Git/mathjax/MathJax-src/ts/input/mathml/mml3/mml3.xsl","slots":"200","line":"13","module":"mml3.xsl","match":"m:*[@dir='rtl']","prio":"10","matches":"NE nQ{http://www.w3.org/1998/Math/MathML}*","C":[{"N":"p.withPredicate","role":"match","sType":"1NE nQ{http://www.w3.org/1998/Math/MathML}*","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","C":[{"N":"p.nodeTest","test":"NE nQ{http://www.w3.org/1998/Math/MathML}*"},{"N":"gc","op":"=","comp":"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint","card":"1:1","C":[{"N":"attVal","name":"Q{}dir"},{"N":"str","val":"rtl"}]}]},{"N":"applyT","sType":"* ","line":"14","mode":"Q{}rtl","role":"action","bSlot":"3","C":[{"N":"dot","sType":"1NE nQ{http://www.w3.org/1998/Math/MathML}*","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","role":"select","line":"14"}]}]},{"N":"templateRule","rank":"3","prec":"0","seq":"0","ns":"xml=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common","minImp":"0","flags":"s","baseUri":"file:///Users/dpvc/Desktop/Tumlook/Data/Code/JavaScript/MathJax/Code/Git/mathjax/MathJax-src/ts/input/mathml/mml3/mml3.xsl","slots":"200","line":"7","module":"mml3.xsl","match":"*","prio":"-0.5","matches":"NE","C":[{"N":"p.nodeTest","role":"match","test":"NE","sType":"1NE","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common "},{"N":"copy","sType":"1NE ","flags":"cin","role":"action","line":"8","C":[{"N":"sequence","sType":"* ","C":[{"N":"copyOf","flags":"c","ns":"xml=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ex=http://ns.saxonica.com/xslt/export","line":"9","sType":"*NA","C":[{"N":"axis","name":"attribute","nodeTest":"*NA","sType":"*NA","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","role":"select","line":"9"}]},{"N":"applyT","sType":"* ","line":"10","mode":"#unnamed","bSlot":"0","C":[{"N":"axis","name":"child","nodeTest":"*N u[NT,NP,NC,NE]","sType":"*N u[NT,NP,NC,NE]","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","role":"select","line":"10"}]}]}]}]}]}]},{"N":"co","id":"1","binds":"1 0","C":[{"N":"mode","onNo":"TC","flags":"","patternSlots":"0","name":"Q{}rtl","prec":"","C":[{"N":"templateRule","rank":"0","prec":"0","seq":"27","ns":"xml=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common","minImp":"0","flags":"s","baseUri":"file:///Users/dpvc/Desktop/Tumlook/Data/Code/JavaScript/MathJax/Code/Git/mathjax/MathJax-src/ts/input/mathml/mml3/mml3.xsl","slots":"200","line":"144","module":"mml3.xsl","match":"m:mmultiscripts[not(m:mprescripts)]","prio":"3","matches":"NE nQ{http://www.w3.org/1998/Math/MathML}mmultiscripts","C":[{"N":"p.withPredicate","role":"match","sType":"1NE nQ{http://www.w3.org/1998/Math/MathML}mmultiscripts","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","C":[{"N":"p.nodeTest","test":"NE nQ{http://www.w3.org/1998/Math/MathML}mmultiscripts"},{"N":"fn","name":"not","C":[{"N":"axis","name":"child","nodeTest":"*NE nQ{http://www.w3.org/1998/Math/MathML}mprescripts"}]}]},{"N":"elem","name":"m:mmultiscripts","sType":"1NE nQ{http://www.w3.org/1998/Math/MathML}mmultiscripts ","nsuri":"http://www.w3.org/1998/Math/MathML","namespaces":"","role":"action","line":"145","C":[{"N":"sequence","sType":"* ","C":[{"N":"applyT","sType":"* ","line":"146","mode":"Q{}rtl","bSlot":"0","C":[{"N":"first","sType":"?NE","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","role":"select","line":"146","C":[{"N":"axis","name":"child","nodeTest":"*NE"}]}]},{"N":"elem","name":"m:mprescripts","sType":"1NE nQ{http://www.w3.org/1998/Math/MathML}mprescripts ","nsuri":"http://www.w3.org/1998/Math/MathML","namespaces":"","line":"147","C":[{"N":"empty","sType":"0 "}]},{"N":"forEach","sType":"* ","line":"148","C":[{"N":"sort","sType":"*NE","C":[{"N":"filter","flags":"p","sType":"*NE","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","role":"select","line":"148","C":[{"N":"axis","name":"child","nodeTest":"*NE"},{"N":"gc10","op":"=","comp":"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint","card":"1:1","C":[{"N":"arith10","op":"mod","calc":"d%d","C":[{"N":"fn","name":"position"},{"N":"int","val":"2"}]},{"N":"int","val":"0"}]}]},{"N":"sortKey","sType":"?ADI ","C":[{"N":"first","role":"select","sType":"?ADI ","C":[{"N":"fn","name":"position","sType":"1ADI","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","role":"select","line":"149"}]},{"N":"str","sType":"1AS ","val":"descending","role":"order"},{"N":"str","sType":"1AS ","val":"en","role":"lang"},{"N":"str","sType":"1AS ","val":"#default","role":"caseOrder"},{"N":"str","sType":"1AS ","val":"true","role":"stable"},{"N":"str","sType":"1AS ","val":"number","role":"dataType"}]}]},{"N":"sequence","sType":"* ","C":[{"N":"applyT","sType":"* ","line":"150","mode":"Q{}rtl","bSlot":"0","C":[{"N":"dot","sType":"1NE","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","role":"select","line":"150"}]},{"N":"applyT","sType":"* ","line":"151","mode":"Q{}rtl","bSlot":"0","C":[{"N":"first","sType":"?NE","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","role":"select","line":"151","C":[{"N":"axis","name":"following-sibling","nodeTest":"*NE"}]}]}]}]}]}]}]},{"N":"templateRule","rank":"1","prec":"0","seq":"26","ns":"xml=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common","minImp":"0","flags":"s","baseUri":"file:///Users/dpvc/Desktop/Tumlook/Data/Code/JavaScript/MathJax/Code/Git/mathjax/MathJax-src/ts/input/mathml/mml3/mml3.xsl","slots":"200","line":"128","module":"mml3.xsl","match":"m:mmultiscripts","prio":"2","matches":"NE nQ{http://www.w3.org/1998/Math/MathML}mmultiscripts","C":[{"N":"p.nodeTest","role":"match","test":"NE nQ{http://www.w3.org/1998/Math/MathML}mmultiscripts","sType":"1NE nQ{http://www.w3.org/1998/Math/MathML}mmultiscripts","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common "},{"N":"elem","name":"m:mmultiscripts","sType":"1NE nQ{http://www.w3.org/1998/Math/MathML}mmultiscripts ","nsuri":"http://www.w3.org/1998/Math/MathML","namespaces":"","role":"action","line":"129","C":[{"N":"sequence","sType":"* ","C":[{"N":"applyT","sType":"* ","line":"130","mode":"Q{}rtl","bSlot":"0","C":[{"N":"first","sType":"?NE","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","role":"select","line":"130","C":[{"N":"axis","name":"child","nodeTest":"*NE"}]}]},{"N":"forEach","sType":"* ","line":"131","C":[{"N":"sort","sType":"*NE","C":[{"N":"docOrder","sType":"*NE","role":"select","line":"131","C":[{"N":"docOrder","sType":"*NE","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","C":[{"N":"slash","op":"/","C":[{"N":"axis","name":"child","nodeTest":"*NE nQ{http://www.w3.org/1998/Math/MathML}mprescripts"},{"N":"filter","flags":"p","C":[{"N":"axis","name":"following-sibling","nodeTest":"*NE"},{"N":"gc10","op":"=","comp":"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint","card":"1:1","C":[{"N":"arith10","op":"mod","calc":"d%d","C":[{"N":"fn","name":"position"},{"N":"int","val":"2"}]},{"N":"int","val":"1"}]}]}]}]}]},{"N":"sortKey","sType":"?ADI ","C":[{"N":"first","role":"select","sType":"?ADI ","C":[{"N":"fn","name":"position","sType":"1ADI","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","role":"select","line":"132"}]},{"N":"str","sType":"1AS ","val":"descending","role":"order"},{"N":"str","sType":"1AS ","val":"en","role":"lang"},{"N":"str","sType":"1AS ","val":"#default","role":"caseOrder"},{"N":"str","sType":"1AS ","val":"true","role":"stable"},{"N":"str","sType":"1AS ","val":"number","role":"dataType"}]}]},{"N":"sequence","sType":"* ","C":[{"N":"applyT","sType":"* ","line":"133","mode":"Q{}rtl","bSlot":"0","C":[{"N":"dot","sType":"1NE","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","role":"select","line":"133"}]},{"N":"applyT","sType":"* ","line":"134","mode":"Q{}rtl","bSlot":"0","C":[{"N":"first","sType":"?NE","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","role":"select","line":"134","C":[{"N":"axis","name":"following-sibling","nodeTest":"*NE"}]}]}]}]},{"N":"elem","name":"m:mprescripts","sType":"1NE nQ{http://www.w3.org/1998/Math/MathML}mprescripts ","nsuri":"http://www.w3.org/1998/Math/MathML","namespaces":"","line":"136","C":[{"N":"empty","sType":"0 "}]},{"N":"forEach","sType":"* ","line":"137","C":[{"N":"sort","sType":"*NE","C":[{"N":"docOrder","sType":"*NE","role":"select","line":"137","C":[{"N":"docOrder","sType":"*NE","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","C":[{"N":"slash","op":"/","C":[{"N":"axis","name":"child","nodeTest":"*NE nQ{http://www.w3.org/1998/Math/MathML}mprescripts"},{"N":"fn","name":"reverse","C":[{"N":"filter","flags":"p","C":[{"N":"filter","flags":"p","C":[{"N":"axis","name":"preceding-sibling","nodeTest":"*NE"},{"N":"gc10","op":"!=","comp":"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint","card":"1:1","C":[{"N":"fn","name":"position"},{"N":"fn","name":"last"}]}]},{"N":"gc10","op":"=","comp":"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint","card":"1:1","C":[{"N":"arith10","op":"mod","calc":"d%d","C":[{"N":"fn","name":"position"},{"N":"int","val":"2"}]},{"N":"int","val":"0"}]}]}]}]}]}]},{"N":"sortKey","sType":"?ADI ","C":[{"N":"first","role":"select","sType":"?ADI ","C":[{"N":"fn","name":"position","sType":"1ADI","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","role":"select","line":"138"}]},{"N":"str","sType":"1AS ","val":"descending","role":"order"},{"N":"str","sType":"1AS ","val":"en","role":"lang"},{"N":"str","sType":"1AS ","val":"#default","role":"caseOrder"},{"N":"str","sType":"1AS ","val":"true","role":"stable"},{"N":"str","sType":"1AS ","val":"number","role":"dataType"}]}]},{"N":"sequence","sType":"* ","C":[{"N":"applyT","sType":"* ","line":"139","mode":"Q{}rtl","bSlot":"0","C":[{"N":"dot","sType":"1NE","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","role":"select","line":"139"}]},{"N":"applyT","sType":"* ","line":"140","mode":"Q{}rtl","bSlot":"0","C":[{"N":"first","sType":"?NE","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","role":"select","line":"140","C":[{"N":"axis","name":"following-sibling","nodeTest":"*NE"}]}]}]}]}]}]}]},{"N":"templateRule","rank":"2","prec":"0","seq":"25","ns":"xml=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common","minImp":"0","flags":"s","baseUri":"file:///Users/dpvc/Desktop/Tumlook/Data/Code/JavaScript/MathJax/Code/Git/mathjax/MathJax-src/ts/input/mathml/mml3/mml3.xsl","slots":"200","line":"120","module":"mml3.xsl","match":"m:msubsup","prio":"2","matches":"NE nQ{http://www.w3.org/1998/Math/MathML}msubsup","C":[{"N":"p.nodeTest","role":"match","test":"NE nQ{http://www.w3.org/1998/Math/MathML}msubsup","sType":"1NE nQ{http://www.w3.org/1998/Math/MathML}msubsup","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common "},{"N":"elem","name":"m:mmultiscripts","sType":"1NE nQ{http://www.w3.org/1998/Math/MathML}mmultiscripts ","nsuri":"http://www.w3.org/1998/Math/MathML","namespaces":"","role":"action","line":"121","C":[{"N":"sequence","sType":"* ","C":[{"N":"applyT","sType":"* ","line":"122","mode":"Q{}rtl","bSlot":"0","C":[{"N":"first","sType":"?NE","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","role":"select","line":"122","C":[{"N":"axis","name":"child","nodeTest":"*NE"}]}]},{"N":"elem","name":"m:mprescripts","sType":"1NE nQ{http://www.w3.org/1998/Math/MathML}mprescripts ","nsuri":"http://www.w3.org/1998/Math/MathML","namespaces":"","line":"123","C":[{"N":"empty","sType":"0 "}]},{"N":"applyT","sType":"* ","line":"124","mode":"Q{}rtl","bSlot":"0","C":[{"N":"subscript","flags":"p","sType":"?NE","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","role":"select","line":"124","C":[{"N":"axis","name":"child","nodeTest":"*NE"},{"N":"int","val":"2"}]}]},{"N":"applyT","sType":"* ","line":"125","mode":"Q{}rtl","bSlot":"0","C":[{"N":"subscript","flags":"p","sType":"?NE","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","role":"select","line":"125","C":[{"N":"axis","name":"child","nodeTest":"*NE"},{"N":"int","val":"3"}]}]}]}]}]},{"N":"templateRule","rank":"3","prec":"0","seq":"24","ns":"xml=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common","minImp":"0","flags":"s","baseUri":"file:///Users/dpvc/Desktop/Tumlook/Data/Code/JavaScript/MathJax/Code/Git/mathjax/MathJax-src/ts/input/mathml/mml3/mml3.xsl","slots":"200","line":"112","module":"mml3.xsl","match":"m:msub","prio":"2","matches":"NE nQ{http://www.w3.org/1998/Math/MathML}msub","C":[{"N":"p.nodeTest","role":"match","test":"NE nQ{http://www.w3.org/1998/Math/MathML}msub","sType":"1NE nQ{http://www.w3.org/1998/Math/MathML}msub","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common "},{"N":"elem","name":"m:mmultiscripts","sType":"1NE nQ{http://www.w3.org/1998/Math/MathML}mmultiscripts ","nsuri":"http://www.w3.org/1998/Math/MathML","namespaces":"","role":"action","line":"113","C":[{"N":"sequence","sType":"* ","C":[{"N":"applyT","sType":"* ","line":"114","mode":"Q{}rtl","bSlot":"0","C":[{"N":"first","sType":"?NE","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","role":"select","line":"114","C":[{"N":"axis","name":"child","nodeTest":"*NE"}]}]},{"N":"elem","name":"m:mprescripts","sType":"1NE nQ{http://www.w3.org/1998/Math/MathML}mprescripts ","nsuri":"http://www.w3.org/1998/Math/MathML","namespaces":"","line":"115","C":[{"N":"empty","sType":"0 "}]},{"N":"applyT","sType":"* ","line":"116","mode":"Q{}rtl","bSlot":"0","C":[{"N":"subscript","flags":"p","sType":"?NE","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","role":"select","line":"116","C":[{"N":"axis","name":"child","nodeTest":"*NE"},{"N":"int","val":"2"}]}]},{"N":"elem","name":"m:none","sType":"1NE nQ{http://www.w3.org/1998/Math/MathML}none ","nsuri":"http://www.w3.org/1998/Math/MathML","namespaces":"","line":"117","C":[{"N":"empty","sType":"0 "}]}]}]}]},{"N":"templateRule","rank":"4","prec":"0","seq":"23","ns":"xml=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common","minImp":"0","flags":"s","baseUri":"file:///Users/dpvc/Desktop/Tumlook/Data/Code/JavaScript/MathJax/Code/Git/mathjax/MathJax-src/ts/input/mathml/mml3/mml3.xsl","slots":"200","line":"104","module":"mml3.xsl","match":"m:msup","prio":"2","matches":"NE nQ{http://www.w3.org/1998/Math/MathML}msup","C":[{"N":"p.nodeTest","role":"match","test":"NE nQ{http://www.w3.org/1998/Math/MathML}msup","sType":"1NE nQ{http://www.w3.org/1998/Math/MathML}msup","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common "},{"N":"elem","name":"m:mmultiscripts","sType":"1NE nQ{http://www.w3.org/1998/Math/MathML}mmultiscripts ","nsuri":"http://www.w3.org/1998/Math/MathML","namespaces":"","role":"action","line":"105","C":[{"N":"sequence","sType":"* ","C":[{"N":"applyT","sType":"* ","line":"106","mode":"Q{}rtl","bSlot":"0","C":[{"N":"first","sType":"?NE","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","role":"select","line":"106","C":[{"N":"axis","name":"child","nodeTest":"*NE"}]}]},{"N":"elem","name":"m:mprescripts","sType":"1NE nQ{http://www.w3.org/1998/Math/MathML}mprescripts ","nsuri":"http://www.w3.org/1998/Math/MathML","namespaces":"","line":"107","C":[{"N":"empty","sType":"0 "}]},{"N":"elem","name":"m:none","sType":"1NE nQ{http://www.w3.org/1998/Math/MathML}none ","nsuri":"http://www.w3.org/1998/Math/MathML","namespaces":"","line":"108","C":[{"N":"empty","sType":"0 "}]},{"N":"applyT","sType":"* ","line":"109","mode":"Q{}rtl","bSlot":"0","C":[{"N":"subscript","flags":"p","sType":"?NE","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","role":"select","line":"109","C":[{"N":"axis","name":"child","nodeTest":"*NE"},{"N":"int","val":"2"}]}]}]}]}]},{"N":"templateRule","rank":"5","prec":"0","seq":"22","ns":"xml=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common","minImp":"0","flags":"s","baseUri":"file:///Users/dpvc/Desktop/Tumlook/Data/Code/JavaScript/MathJax/Code/Git/mathjax/MathJax-src/ts/input/mathml/mml3/mml3.xsl","slots":"200","line":"97","module":"mml3.xsl","match":"m:mtable|m:munder|m:mover|m:munderover","prio":"2","matches":"NE u[NE u[NE u[NE nQ{http://www.w3.org/1998/Math/MathML}mtable,NE nQ{http://www.w3.org/1998/Math/MathML}munder],NE nQ{http://www.w3.org/1998/Math/MathML}mover],NE nQ{http://www.w3.org/1998/Math/MathML}munderover]","C":[{"N":"p.venn","role":"match","op":"union","sType":"1NE u[NE u[NE u[NE nQ{http://www.w3.org/1998/Math/MathML}mtable,NE nQ{http://www.w3.org/1998/Math/MathML}munder],NE nQ{http://www.w3.org/1998/Math/MathML}mover],NE nQ{http://www.w3.org/1998/Math/MathML}munderover]","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","C":[{"N":"p.venn","op":"union","C":[{"N":"p.venn","op":"union","C":[{"N":"p.nodeTest","test":"NE nQ{http://www.w3.org/1998/Math/MathML}mtable"},{"N":"p.nodeTest","test":"NE nQ{http://www.w3.org/1998/Math/MathML}munder"}]},{"N":"p.nodeTest","test":"NE nQ{http://www.w3.org/1998/Math/MathML}mover"}]},{"N":"p.nodeTest","test":"NE nQ{http://www.w3.org/1998/Math/MathML}munderover"}]},{"N":"copy","sType":"1NE u[1NE u[1NE u[1NE nQ{http://www.w3.org/1998/Math/MathML}mtable ,1NE nQ{http://www.w3.org/1998/Math/MathML}munder ] ,1NE nQ{http://www.w3.org/1998/Math/MathML}mover ] ,1NE nQ{http://www.w3.org/1998/Math/MathML}munderover ] ","flags":"cin","role":"action","line":"98","C":[{"N":"sequence","sType":"* ","C":[{"N":"applyT","sType":"* ","line":"99","mode":"Q{}rtl","bSlot":"0","C":[{"N":"axis","name":"attribute","nodeTest":"*NA","sType":"*NA","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","role":"select","line":"99"}]},{"N":"applyT","sType":"* ","line":"100","mode":"Q{}rtl","bSlot":"0","C":[{"N":"axis","name":"child","nodeTest":"*N u[NT,NP,NC,NE]","sType":"*N u[NT,NP,NC,NE]","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","role":"select","line":"100"}]}]}]}]},{"N":"templateRule","rank":"6","prec":"0","seq":"53","ns":"xml=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common","minImp":"0","flags":"s","baseUri":"file:///Users/dpvc/Desktop/Tumlook/Data/Code/JavaScript/MathJax/Code/Git/mathjax/MathJax-src/ts/input/mathml/mml3/mml3.xsl","slots":"200","line":"652","module":"mml3.xsl","match":"m:menclose[@notation='madruwb']","prio":"0.5","matches":"NE nQ{http://www.w3.org/1998/Math/MathML}menclose","C":[{"N":"p.withPredicate","role":"match","sType":"1NE nQ{http://www.w3.org/1998/Math/MathML}menclose","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","C":[{"N":"p.nodeTest","test":"NE nQ{http://www.w3.org/1998/Math/MathML}menclose"},{"N":"gc","op":"=","comp":"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint","card":"1:1","C":[{"N":"attVal","name":"Q{}notation"},{"N":"str","val":"madruwb"}]}]},{"N":"elem","name":"m:menclose","sType":"1NE nQ{http://www.w3.org/1998/Math/MathML}menclose ","nsuri":"http://www.w3.org/1998/Math/MathML","namespaces":"","role":"action","line":"653","C":[{"N":"sequence","sType":"* ","C":[{"N":"att","name":"notation","nsuri":"","sType":"1NA ","C":[{"N":"str","sType":"1AS ","val":"bottom right"}]},{"N":"applyT","sType":"* ","line":"654","mode":"Q{}rtl","bSlot":"0","C":[{"N":"axis","name":"child","nodeTest":"*N u[NT,NP,NC,NE]","sType":"*N u[NT,NP,NC,NE]","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","role":"select","line":"654"}]}]}]}]},{"N":"templateRule","rank":"7","prec":"0","seq":"36","ns":"xml=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common","minImp":"0","flags":"s","baseUri":"file:///Users/dpvc/Desktop/Tumlook/Data/Code/JavaScript/MathJax/Code/Git/mathjax/MathJax-src/ts/input/mathml/mml3/mml3.xsl","slots":"200","line":"163","module":"mml3.xsl","match":"@notation[.='radical']","prio":"0.5","matches":"NA nQ{}notation","C":[{"N":"p.withPredicate","role":"match","sType":"1NA nQ{}notation","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","C":[{"N":"p.nodeTest","test":"NA nQ{}notation"},{"N":"gc","op":"=","comp":"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint","card":"1:1","C":[{"N":"atomSing","diag":"1|0||gc","card":"?","C":[{"N":"dot"}]},{"N":"str","val":"radical"}]}]},{"N":"att","name":"notation","sType":"1NA ","role":"action","line":"164","C":[{"N":"fn","name":"string-join","role":"select","C":[{"N":"first","C":[{"N":"forEach","sType":"*AS ","C":[{"N":"data","sType":"*A ","C":[{"N":"mergeAdj","C":[{"N":"valueOf","sType":"1NT ","C":[{"N":"str","sType":"1AS ","val":"top right"}]}]}]},{"N":"fn","name":"string","sType":"1AS ","C":[{"N":"dot"}]}]}]},{"N":"str","sType":"1AS ","val":""}]}]}]},{"N":"templateRule","rank":"8","prec":"0","seq":"35","ns":"xml=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common","minImp":"0","flags":"s","baseUri":"file:///Users/dpvc/Desktop/Tumlook/Data/Code/JavaScript/MathJax/Code/Git/mathjax/MathJax-src/ts/input/mathml/mml3/mml3.xsl","slots":"200","line":"162","module":"mml3.xsl","match":"text()[.='∋']","prio":"0.5","matches":"NT","C":[{"N":"p.withPredicate","role":"match","sType":"1NT","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","C":[{"N":"p.nodeTest","test":"NT"},{"N":"gc","op":"=","comp":"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint","card":"1:1","C":[{"N":"atomSing","diag":"1|0||gc","card":"?","C":[{"N":"dot"}]},{"N":"str","val":"∋"}]}]},{"N":"valueOf","sType":"1NT ","role":"action","C":[{"N":"str","sType":"1AS ","val":"∈"}]}]},{"N":"templateRule","rank":"9","prec":"0","seq":"34","ns":"xml=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common","minImp":"0","flags":"s","baseUri":"file:///Users/dpvc/Desktop/Tumlook/Data/Code/JavaScript/MathJax/Code/Git/mathjax/MathJax-src/ts/input/mathml/mml3/mml3.xsl","slots":"200","line":"161","module":"mml3.xsl","match":"text()[.='∈']","prio":"0.5","matches":"NT","C":[{"N":"p.withPredicate","role":"match","sType":"1NT","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","C":[{"N":"p.nodeTest","test":"NT"},{"N":"gc","op":"=","comp":"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint","card":"1:1","C":[{"N":"atomSing","diag":"1|0||gc","card":"?","C":[{"N":"dot"}]},{"N":"str","val":"∈"}]}]},{"N":"valueOf","sType":"1NT ","role":"action","C":[{"N":"str","sType":"1AS ","val":"∋"}]}]},{"N":"templateRule","rank":"10","prec":"0","seq":"33","ns":"xml=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common","minImp":"0","flags":"s","baseUri":"file:///Users/dpvc/Desktop/Tumlook/Data/Code/JavaScript/MathJax/Code/Git/mathjax/MathJax-src/ts/input/mathml/mml3/mml3.xsl","slots":"200","line":"160","module":"mml3.xsl","match":"text()[.='>']","prio":"0.5","matches":"NT","C":[{"N":"p.withPredicate","role":"match","sType":"1NT","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","C":[{"N":"p.nodeTest","test":"NT"},{"N":"gc","op":"=","comp":"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint","card":"1:1","C":[{"N":"atomSing","diag":"1|0||gc","card":"?","C":[{"N":"dot"}]},{"N":"str","val":">"}]}]},{"N":"valueOf","sType":"1NT ","role":"action","C":[{"N":"str","sType":"1AS ","val":"<"}]}]},{"N":"templateRule","rank":"11","prec":"0","seq":"32","ns":"xml=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common","minImp":"0","flags":"s","baseUri":"file:///Users/dpvc/Desktop/Tumlook/Data/Code/JavaScript/MathJax/Code/Git/mathjax/MathJax-src/ts/input/mathml/mml3/mml3.xsl","slots":"200","line":"159","module":"mml3.xsl","match":"text()[.='<']","prio":"0.5","matches":"NT","C":[{"N":"p.withPredicate","role":"match","sType":"1NT","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","C":[{"N":"p.nodeTest","test":"NT"},{"N":"gc","op":"=","comp":"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint","card":"1:1","C":[{"N":"atomSing","diag":"1|0||gc","card":"?","C":[{"N":"dot"}]},{"N":"str","val":"<"}]}]},{"N":"valueOf","sType":"1NT ","role":"action","C":[{"N":"str","sType":"1AS ","val":">"}]}]},{"N":"templateRule","rank":"12","prec":"0","seq":"31","ns":"xml=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common","minImp":"0","flags":"s","baseUri":"file:///Users/dpvc/Desktop/Tumlook/Data/Code/JavaScript/MathJax/Code/Git/mathjax/MathJax-src/ts/input/mathml/mml3/mml3.xsl","slots":"200","line":"158","module":"mml3.xsl","match":"text()[.='}']","prio":"0.5","matches":"NT","C":[{"N":"p.withPredicate","role":"match","sType":"1NT","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","C":[{"N":"p.nodeTest","test":"NT"},{"N":"gc","op":"=","comp":"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint","card":"1:1","C":[{"N":"atomSing","diag":"1|0||gc","card":"?","C":[{"N":"dot"}]},{"N":"str","val":"}"}]}]},{"N":"valueOf","sType":"1NT ","role":"action","C":[{"N":"str","sType":"1AS ","val":"{"}]}]},{"N":"templateRule","rank":"13","prec":"0","seq":"30","ns":"xml=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common","minImp":"0","flags":"s","baseUri":"file:///Users/dpvc/Desktop/Tumlook/Data/Code/JavaScript/MathJax/Code/Git/mathjax/MathJax-src/ts/input/mathml/mml3/mml3.xsl","slots":"200","line":"157","module":"mml3.xsl","match":"text()[.='{']","prio":"0.5","matches":"NT","C":[{"N":"p.withPredicate","role":"match","sType":"1NT","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","C":[{"N":"p.nodeTest","test":"NT"},{"N":"gc","op":"=","comp":"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint","card":"1:1","C":[{"N":"atomSing","diag":"1|0||gc","card":"?","C":[{"N":"dot"}]},{"N":"str","val":"{"}]}]},{"N":"valueOf","sType":"1NT ","role":"action","C":[{"N":"str","sType":"1AS ","val":"}"}]}]},{"N":"templateRule","rank":"14","prec":"0","seq":"29","ns":"xml=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common","minImp":"0","flags":"s","baseUri":"file:///Users/dpvc/Desktop/Tumlook/Data/Code/JavaScript/MathJax/Code/Git/mathjax/MathJax-src/ts/input/mathml/mml3/mml3.xsl","slots":"200","line":"156","module":"mml3.xsl","match":"text()[.=')']","prio":"0.5","matches":"NT","C":[{"N":"p.withPredicate","role":"match","sType":"1NT","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","C":[{"N":"p.nodeTest","test":"NT"},{"N":"gc","op":"=","comp":"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint","card":"1:1","C":[{"N":"atomSing","diag":"1|0||gc","card":"?","C":[{"N":"dot"}]},{"N":"str","val":")"}]}]},{"N":"valueOf","sType":"1NT ","role":"action","C":[{"N":"str","sType":"1AS ","val":"("}]}]},{"N":"templateRule","rank":"15","prec":"0","seq":"28","ns":"xml=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common","minImp":"0","flags":"s","baseUri":"file:///Users/dpvc/Desktop/Tumlook/Data/Code/JavaScript/MathJax/Code/Git/mathjax/MathJax-src/ts/input/mathml/mml3/mml3.xsl","slots":"200","line":"155","module":"mml3.xsl","match":"text()[.='(']","prio":"0.5","matches":"NT","C":[{"N":"p.withPredicate","role":"match","sType":"1NT","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","C":[{"N":"p.nodeTest","test":"NT"},{"N":"gc","op":"=","comp":"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint","card":"1:1","C":[{"N":"atomSing","diag":"1|0||gc","card":"?","C":[{"N":"dot"}]},{"N":"str","val":"("}]}]},{"N":"valueOf","sType":"1NT ","role":"action","C":[{"N":"str","sType":"1AS ","val":")"}]}]},{"N":"templateRule","rank":"16","prec":"0","seq":"18","ns":"xml=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common","minImp":"0","flags":"s","baseUri":"file:///Users/dpvc/Desktop/Tumlook/Data/Code/JavaScript/MathJax/Code/Git/mathjax/MathJax-src/ts/input/mathml/mml3/mml3.xsl","slots":"200","line":"72","module":"mml3.xsl","match":"m:mfrac[@bevelled='true']","prio":"0.5","matches":"NE nQ{http://www.w3.org/1998/Math/MathML}mfrac","C":[{"N":"p.withPredicate","role":"match","sType":"1NE nQ{http://www.w3.org/1998/Math/MathML}mfrac","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","C":[{"N":"p.nodeTest","test":"NE nQ{http://www.w3.org/1998/Math/MathML}mfrac"},{"N":"gc","op":"=","comp":"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint","card":"1:1","C":[{"N":"attVal","name":"Q{}bevelled"},{"N":"str","val":"true"}]}]},{"N":"elem","name":"m:mrow","sType":"1NE nQ{http://www.w3.org/1998/Math/MathML}mrow ","nsuri":"http://www.w3.org/1998/Math/MathML","namespaces":"","role":"action","line":"73","C":[{"N":"sequence","sType":"*NE ","C":[{"N":"elem","name":"m:msub","sType":"1NE nQ{http://www.w3.org/1998/Math/MathML}msub ","nsuri":"http://www.w3.org/1998/Math/MathML","namespaces":"","line":"74","C":[{"N":"sequence","sType":"* ","C":[{"N":"elem","name":"m:mi","sType":"1NE nQ{http://www.w3.org/1998/Math/MathML}mi ","nsuri":"http://www.w3.org/1998/Math/MathML","namespaces":"","C":[{"N":"empty","sType":"0 "}]},{"N":"applyT","sType":"* ","mode":"Q{}rtl","bSlot":"0","C":[{"N":"subscript","flags":"p","sType":"?NE","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","role":"select","line":"5","C":[{"N":"axis","name":"child","nodeTest":"*NE"},{"N":"int","val":"2"}]}]}]}]},{"N":"elem","name":"m:mo","sType":"1NE nQ{http://www.w3.org/1998/Math/MathML}mo ","nsuri":"http://www.w3.org/1998/Math/MathML","namespaces":"","line":"75","C":[{"N":"valueOf","sType":"1NT ","C":[{"N":"str","sType":"1AS ","val":"\\"}]}]},{"N":"elem","name":"m:msup","sType":"1NE nQ{http://www.w3.org/1998/Math/MathML}msup ","nsuri":"http://www.w3.org/1998/Math/MathML","namespaces":"","line":"76","C":[{"N":"sequence","sType":"* ","C":[{"N":"elem","name":"m:mi","sType":"1NE nQ{http://www.w3.org/1998/Math/MathML}mi ","nsuri":"http://www.w3.org/1998/Math/MathML","namespaces":"","C":[{"N":"empty","sType":"0 "}]},{"N":"applyT","sType":"* ","mode":"Q{}rtl","bSlot":"0","C":[{"N":"first","sType":"?NE","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","role":"select","line":"9","C":[{"N":"axis","name":"child","nodeTest":"*NE"}]}]}]}]}]}]}]},{"N":"templateRule","rank":"17","prec":"0","seq":"17","ns":"xml=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common","minImp":"0","flags":"s","baseUri":"file:///Users/dpvc/Desktop/Tumlook/Data/Code/JavaScript/MathJax/Code/Git/mathjax/MathJax-src/ts/input/mathml/mml3/mml3.xsl","slots":"200","line":"69","module":"mml3.xsl","match":"@close[.='}']","prio":"0.5","matches":"NA nQ{}close","C":[{"N":"p.withPredicate","role":"match","sType":"1NA nQ{}close","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","C":[{"N":"p.nodeTest","test":"NA nQ{}close"},{"N":"gc","op":"=","comp":"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint","card":"1:1","C":[{"N":"atomSing","diag":"1|0||gc","card":"?","C":[{"N":"dot"}]},{"N":"str","val":"}"}]}]},{"N":"att","name":"open","sType":"1NA ","role":"action","line":"70","C":[{"N":"fn","name":"string-join","role":"select","C":[{"N":"first","C":[{"N":"forEach","sType":"*AS ","C":[{"N":"data","sType":"*A ","C":[{"N":"mergeAdj","C":[{"N":"valueOf","sType":"1NT ","C":[{"N":"str","sType":"1AS ","val":"{"}]}]}]},{"N":"fn","name":"string","sType":"1AS ","C":[{"N":"dot"}]}]}]},{"N":"str","sType":"1AS ","val":""}]}]}]},{"N":"templateRule","rank":"18","prec":"0","seq":"16","ns":"xml=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common","minImp":"0","flags":"s","baseUri":"file:///Users/dpvc/Desktop/Tumlook/Data/Code/JavaScript/MathJax/Code/Git/mathjax/MathJax-src/ts/input/mathml/mml3/mml3.xsl","slots":"200","line":"66","module":"mml3.xsl","match":"@close[.='{']","prio":"0.5","matches":"NA nQ{}close","C":[{"N":"p.withPredicate","role":"match","sType":"1NA nQ{}close","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","C":[{"N":"p.nodeTest","test":"NA nQ{}close"},{"N":"gc","op":"=","comp":"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint","card":"1:1","C":[{"N":"atomSing","diag":"1|0||gc","card":"?","C":[{"N":"dot"}]},{"N":"str","val":"{"}]}]},{"N":"att","name":"open","sType":"1NA ","role":"action","line":"67","C":[{"N":"fn","name":"string-join","role":"select","C":[{"N":"first","C":[{"N":"forEach","sType":"*AS ","C":[{"N":"data","sType":"*A ","C":[{"N":"mergeAdj","C":[{"N":"valueOf","sType":"1NT ","C":[{"N":"str","sType":"1AS ","val":"}"}]}]}]},{"N":"fn","name":"string","sType":"1AS ","C":[{"N":"dot"}]}]}]},{"N":"str","sType":"1AS ","val":""}]}]}]},{"N":"templateRule","rank":"19","prec":"0","seq":"15","ns":"xml=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common","minImp":"0","flags":"s","baseUri":"file:///Users/dpvc/Desktop/Tumlook/Data/Code/JavaScript/MathJax/Code/Git/mathjax/MathJax-src/ts/input/mathml/mml3/mml3.xsl","slots":"200","line":"63","module":"mml3.xsl","match":"@close[.=']']","prio":"0.5","matches":"NA nQ{}close","C":[{"N":"p.withPredicate","role":"match","sType":"1NA nQ{}close","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","C":[{"N":"p.nodeTest","test":"NA nQ{}close"},{"N":"gc","op":"=","comp":"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint","card":"1:1","C":[{"N":"atomSing","diag":"1|0||gc","card":"?","C":[{"N":"dot"}]},{"N":"str","val":"]"}]}]},{"N":"att","name":"open","sType":"1NA ","role":"action","line":"64","C":[{"N":"fn","name":"string-join","role":"select","C":[{"N":"first","C":[{"N":"forEach","sType":"*AS ","C":[{"N":"data","sType":"*A ","C":[{"N":"mergeAdj","C":[{"N":"valueOf","sType":"1NT ","C":[{"N":"str","sType":"1AS ","val":"["}]}]}]},{"N":"fn","name":"string","sType":"1AS ","C":[{"N":"dot"}]}]}]},{"N":"str","sType":"1AS ","val":""}]}]}]},{"N":"templateRule","rank":"20","prec":"0","seq":"14","ns":"xml=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common","minImp":"0","flags":"s","baseUri":"file:///Users/dpvc/Desktop/Tumlook/Data/Code/JavaScript/MathJax/Code/Git/mathjax/MathJax-src/ts/input/mathml/mml3/mml3.xsl","slots":"200","line":"60","module":"mml3.xsl","match":"@close[.='[']","prio":"0.5","matches":"NA nQ{}close","C":[{"N":"p.withPredicate","role":"match","sType":"1NA nQ{}close","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","C":[{"N":"p.nodeTest","test":"NA nQ{}close"},{"N":"gc","op":"=","comp":"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint","card":"1:1","C":[{"N":"atomSing","diag":"1|0||gc","card":"?","C":[{"N":"dot"}]},{"N":"str","val":"["}]}]},{"N":"att","name":"open","sType":"1NA ","role":"action","line":"61","C":[{"N":"fn","name":"string-join","role":"select","C":[{"N":"first","C":[{"N":"forEach","sType":"*AS ","C":[{"N":"data","sType":"*A ","C":[{"N":"mergeAdj","C":[{"N":"valueOf","sType":"1NT ","C":[{"N":"str","sType":"1AS ","val":"]"}]}]}]},{"N":"fn","name":"string","sType":"1AS ","C":[{"N":"dot"}]}]}]},{"N":"str","sType":"1AS ","val":""}]}]}]},{"N":"templateRule","rank":"21","prec":"0","seq":"13","ns":"xml=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common","minImp":"0","flags":"s","baseUri":"file:///Users/dpvc/Desktop/Tumlook/Data/Code/JavaScript/MathJax/Code/Git/mathjax/MathJax-src/ts/input/mathml/mml3/mml3.xsl","slots":"200","line":"57","module":"mml3.xsl","match":"@close[.=')']","prio":"0.5","matches":"NA nQ{}close","C":[{"N":"p.withPredicate","role":"match","sType":"1NA nQ{}close","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","C":[{"N":"p.nodeTest","test":"NA nQ{}close"},{"N":"gc","op":"=","comp":"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint","card":"1:1","C":[{"N":"atomSing","diag":"1|0||gc","card":"?","C":[{"N":"dot"}]},{"N":"str","val":")"}]}]},{"N":"att","name":"open","sType":"1NA ","role":"action","line":"58","C":[{"N":"fn","name":"string-join","role":"select","C":[{"N":"first","C":[{"N":"forEach","sType":"*AS ","C":[{"N":"data","sType":"*A ","C":[{"N":"mergeAdj","C":[{"N":"valueOf","sType":"1NT ","C":[{"N":"str","sType":"1AS ","val":"("}]}]}]},{"N":"fn","name":"string","sType":"1AS ","C":[{"N":"dot"}]}]}]},{"N":"str","sType":"1AS ","val":""}]}]}]},{"N":"templateRule","rank":"22","prec":"0","seq":"12","ns":"xml=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common","minImp":"0","flags":"s","baseUri":"file:///Users/dpvc/Desktop/Tumlook/Data/Code/JavaScript/MathJax/Code/Git/mathjax/MathJax-src/ts/input/mathml/mml3/mml3.xsl","slots":"200","line":"54","module":"mml3.xsl","match":"@close[.='(']","prio":"0.5","matches":"NA nQ{}close","C":[{"N":"p.withPredicate","role":"match","sType":"1NA nQ{}close","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","C":[{"N":"p.nodeTest","test":"NA nQ{}close"},{"N":"gc","op":"=","comp":"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint","card":"1:1","C":[{"N":"atomSing","diag":"1|0||gc","card":"?","C":[{"N":"dot"}]},{"N":"str","val":"("}]}]},{"N":"att","name":"open","sType":"1NA ","role":"action","line":"55","C":[{"N":"fn","name":"string-join","role":"select","C":[{"N":"first","C":[{"N":"forEach","sType":"*AS ","C":[{"N":"data","sType":"*A ","C":[{"N":"mergeAdj","C":[{"N":"valueOf","sType":"1NT ","C":[{"N":"str","sType":"1AS ","val":")"}]}]}]},{"N":"fn","name":"string","sType":"1AS ","C":[{"N":"dot"}]}]}]},{"N":"str","sType":"1AS ","val":""}]}]}]},{"N":"templateRule","rank":"23","prec":"0","seq":"10","ns":"xml=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common","minImp":"0","flags":"s","baseUri":"file:///Users/dpvc/Desktop/Tumlook/Data/Code/JavaScript/MathJax/Code/Git/mathjax/MathJax-src/ts/input/mathml/mml3/mml3.xsl","slots":"200","line":"48","module":"mml3.xsl","match":"@open[.='}']","prio":"0.5","matches":"NA nQ{}open","C":[{"N":"p.withPredicate","role":"match","sType":"1NA nQ{}open","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","C":[{"N":"p.nodeTest","test":"NA nQ{}open"},{"N":"gc","op":"=","comp":"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint","card":"1:1","C":[{"N":"atomSing","diag":"1|0||gc","card":"?","C":[{"N":"dot"}]},{"N":"str","val":"}"}]}]},{"N":"att","name":"close","sType":"1NA ","role":"action","line":"49","C":[{"N":"fn","name":"string-join","role":"select","C":[{"N":"first","C":[{"N":"forEach","sType":"*AS ","C":[{"N":"data","sType":"*A ","C":[{"N":"mergeAdj","C":[{"N":"valueOf","sType":"1NT ","C":[{"N":"str","sType":"1AS ","val":"{"}]}]}]},{"N":"fn","name":"string","sType":"1AS ","C":[{"N":"dot"}]}]}]},{"N":"str","sType":"1AS ","val":""}]}]}]},{"N":"templateRule","rank":"24","prec":"0","seq":"9","ns":"xml=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common","minImp":"0","flags":"s","baseUri":"file:///Users/dpvc/Desktop/Tumlook/Data/Code/JavaScript/MathJax/Code/Git/mathjax/MathJax-src/ts/input/mathml/mml3/mml3.xsl","slots":"200","line":"45","module":"mml3.xsl","match":"@open[.='{']","prio":"0.5","matches":"NA nQ{}open","C":[{"N":"p.withPredicate","role":"match","sType":"1NA nQ{}open","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","C":[{"N":"p.nodeTest","test":"NA nQ{}open"},{"N":"gc","op":"=","comp":"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint","card":"1:1","C":[{"N":"atomSing","diag":"1|0||gc","card":"?","C":[{"N":"dot"}]},{"N":"str","val":"{"}]}]},{"N":"att","name":"close","sType":"1NA ","role":"action","line":"46","C":[{"N":"fn","name":"string-join","role":"select","C":[{"N":"first","C":[{"N":"forEach","sType":"*AS ","C":[{"N":"data","sType":"*A ","C":[{"N":"mergeAdj","C":[{"N":"valueOf","sType":"1NT ","C":[{"N":"str","sType":"1AS ","val":"}"}]}]}]},{"N":"fn","name":"string","sType":"1AS ","C":[{"N":"dot"}]}]}]},{"N":"str","sType":"1AS ","val":""}]}]}]},{"N":"templateRule","rank":"25","prec":"0","seq":"8","ns":"xml=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common","minImp":"0","flags":"s","baseUri":"file:///Users/dpvc/Desktop/Tumlook/Data/Code/JavaScript/MathJax/Code/Git/mathjax/MathJax-src/ts/input/mathml/mml3/mml3.xsl","slots":"200","line":"42","module":"mml3.xsl","match":"@open[.=']']","prio":"0.5","matches":"NA nQ{}open","C":[{"N":"p.withPredicate","role":"match","sType":"1NA nQ{}open","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","C":[{"N":"p.nodeTest","test":"NA nQ{}open"},{"N":"gc","op":"=","comp":"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint","card":"1:1","C":[{"N":"atomSing","diag":"1|0||gc","card":"?","C":[{"N":"dot"}]},{"N":"str","val":"]"}]}]},{"N":"att","name":"close","sType":"1NA ","role":"action","line":"43","C":[{"N":"fn","name":"string-join","role":"select","C":[{"N":"first","C":[{"N":"forEach","sType":"*AS ","C":[{"N":"data","sType":"*A ","C":[{"N":"mergeAdj","C":[{"N":"valueOf","sType":"1NT ","C":[{"N":"str","sType":"1AS ","val":"["}]}]}]},{"N":"fn","name":"string","sType":"1AS ","C":[{"N":"dot"}]}]}]},{"N":"str","sType":"1AS ","val":""}]}]}]},{"N":"templateRule","rank":"26","prec":"0","seq":"7","ns":"xml=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common","minImp":"0","flags":"s","baseUri":"file:///Users/dpvc/Desktop/Tumlook/Data/Code/JavaScript/MathJax/Code/Git/mathjax/MathJax-src/ts/input/mathml/mml3/mml3.xsl","slots":"200","line":"39","module":"mml3.xsl","match":"@open[.='[']","prio":"0.5","matches":"NA nQ{}open","C":[{"N":"p.withPredicate","role":"match","sType":"1NA nQ{}open","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","C":[{"N":"p.nodeTest","test":"NA nQ{}open"},{"N":"gc","op":"=","comp":"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint","card":"1:1","C":[{"N":"atomSing","diag":"1|0||gc","card":"?","C":[{"N":"dot"}]},{"N":"str","val":"["}]}]},{"N":"att","name":"close","sType":"1NA ","role":"action","line":"40","C":[{"N":"fn","name":"string-join","role":"select","C":[{"N":"first","C":[{"N":"forEach","sType":"*AS ","C":[{"N":"data","sType":"*A ","C":[{"N":"mergeAdj","C":[{"N":"valueOf","sType":"1NT ","C":[{"N":"str","sType":"1AS ","val":"]"}]}]}]},{"N":"fn","name":"string","sType":"1AS ","C":[{"N":"dot"}]}]}]},{"N":"str","sType":"1AS ","val":""}]}]}]},{"N":"templateRule","rank":"27","prec":"0","seq":"6","ns":"xml=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common","minImp":"0","flags":"s","baseUri":"file:///Users/dpvc/Desktop/Tumlook/Data/Code/JavaScript/MathJax/Code/Git/mathjax/MathJax-src/ts/input/mathml/mml3/mml3.xsl","slots":"200","line":"36","module":"mml3.xsl","match":"@open[.=')']","prio":"0.5","matches":"NA nQ{}open","C":[{"N":"p.withPredicate","role":"match","sType":"1NA nQ{}open","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","C":[{"N":"p.nodeTest","test":"NA nQ{}open"},{"N":"gc","op":"=","comp":"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint","card":"1:1","C":[{"N":"atomSing","diag":"1|0||gc","card":"?","C":[{"N":"dot"}]},{"N":"str","val":")"}]}]},{"N":"att","name":"close","sType":"1NA ","role":"action","line":"37","C":[{"N":"fn","name":"string-join","role":"select","C":[{"N":"first","C":[{"N":"forEach","sType":"*AS ","C":[{"N":"data","sType":"*A ","C":[{"N":"mergeAdj","C":[{"N":"valueOf","sType":"1NT ","C":[{"N":"str","sType":"1AS ","val":"("}]}]}]},{"N":"fn","name":"string","sType":"1AS ","C":[{"N":"dot"}]}]}]},{"N":"str","sType":"1AS ","val":""}]}]}]},{"N":"templateRule","rank":"28","prec":"0","seq":"5","ns":"xml=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common","minImp":"0","flags":"s","baseUri":"file:///Users/dpvc/Desktop/Tumlook/Data/Code/JavaScript/MathJax/Code/Git/mathjax/MathJax-src/ts/input/mathml/mml3/mml3.xsl","slots":"200","line":"33","module":"mml3.xsl","match":"@open[.='(']","prio":"0.5","matches":"NA nQ{}open","C":[{"N":"p.withPredicate","role":"match","sType":"1NA nQ{}open","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","C":[{"N":"p.nodeTest","test":"NA nQ{}open"},{"N":"gc","op":"=","comp":"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint","card":"1:1","C":[{"N":"atomSing","diag":"1|0||gc","card":"?","C":[{"N":"dot"}]},{"N":"str","val":"("}]}]},{"N":"att","name":"close","sType":"1NA ","role":"action","line":"34","C":[{"N":"fn","name":"string-join","role":"select","C":[{"N":"first","C":[{"N":"forEach","sType":"*AS ","C":[{"N":"data","sType":"*A ","C":[{"N":"mergeAdj","C":[{"N":"valueOf","sType":"1NT ","C":[{"N":"str","sType":"1AS ","val":")"}]}]}]},{"N":"fn","name":"string","sType":"1AS ","C":[{"N":"dot"}]}]}]},{"N":"str","sType":"1AS ","val":""}]}]}]},{"N":"templateRule","rank":"29","prec":"0","seq":"37","ns":"xml=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common","minImp":"0","flags":"s","baseUri":"file:///Users/dpvc/Desktop/Tumlook/Data/Code/JavaScript/MathJax/Code/Git/mathjax/MathJax-src/ts/input/mathml/mml3/mml3.xsl","slots":"200","line":"166","module":"mml3.xsl","match":"m:mlongdiv|m:mstack","prio":"0","matches":"NE nQ{http://www.w3.org/1998/Math/MathML}mlongdiv","C":[{"N":"p.nodeTest","role":"match","test":"NE nQ{http://www.w3.org/1998/Math/MathML}mlongdiv","sType":"1NE nQ{http://www.w3.org/1998/Math/MathML}mlongdiv"},{"N":"elem","name":"m:mrow","sType":"1NE nQ{http://www.w3.org/1998/Math/MathML}mrow ","nsuri":"http://www.w3.org/1998/Math/MathML","namespaces":"","role":"action","line":"167","C":[{"N":"sequence","sType":"* ","C":[{"N":"att","name":"dir","nsuri":"","sType":"1NA ","C":[{"N":"str","sType":"1AS ","val":"ltr"}]},{"N":"applyT","sType":"* ","line":"168","mode":"#unnamed","bSlot":"1","C":[{"N":"dot","sType":"1NE nQ{http://www.w3.org/1998/Math/MathML}mlongdiv","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","role":"select","line":"168"}]}]}]}]},{"N":"templateRule","rank":"30","prec":"0","seq":"37","ns":"xml=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common","minImp":"0","flags":"s","baseUri":"file:///Users/dpvc/Desktop/Tumlook/Data/Code/JavaScript/MathJax/Code/Git/mathjax/MathJax-src/ts/input/mathml/mml3/mml3.xsl","slots":"200","line":"166","module":"mml3.xsl","match":"m:mlongdiv|m:mstack","prio":"0","matches":"NE nQ{http://www.w3.org/1998/Math/MathML}mstack","C":[{"N":"p.nodeTest","role":"match","test":"NE nQ{http://www.w3.org/1998/Math/MathML}mstack","sType":"1NE nQ{http://www.w3.org/1998/Math/MathML}mstack"},{"N":"elem","name":"m:mrow","sType":"1NE nQ{http://www.w3.org/1998/Math/MathML}mrow ","nsuri":"http://www.w3.org/1998/Math/MathML","namespaces":"","role":"action","line":"167","C":[{"N":"sequence","sType":"* ","C":[{"N":"att","name":"dir","nsuri":"","sType":"1NA ","C":[{"N":"str","sType":"1AS ","val":"ltr"}]},{"N":"applyT","sType":"* ","line":"168","mode":"#unnamed","bSlot":"1","C":[{"N":"dot","sType":"1NE nQ{http://www.w3.org/1998/Math/MathML}mstack","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","role":"select","line":"168"}]}]}]}]},{"N":"templateRule","rank":"31","prec":"0","seq":"21","ns":"xml=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common","minImp":"0","flags":"s","baseUri":"file:///Users/dpvc/Desktop/Tumlook/Data/Code/JavaScript/MathJax/Code/Git/mathjax/MathJax-src/ts/input/mathml/mml3/mml3.xsl","slots":"200","line":"92","module":"mml3.xsl","match":"m:msqrt","prio":"0","matches":"NE nQ{http://www.w3.org/1998/Math/MathML}msqrt","C":[{"N":"p.nodeTest","role":"match","test":"NE nQ{http://www.w3.org/1998/Math/MathML}msqrt","sType":"1NE nQ{http://www.w3.org/1998/Math/MathML}msqrt","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common "},{"N":"elem","name":"m:menclose","sType":"1NE nQ{http://www.w3.org/1998/Math/MathML}menclose ","nsuri":"http://www.w3.org/1998/Math/MathML","namespaces":"","role":"action","line":"93","C":[{"N":"sequence","sType":"* ","C":[{"N":"att","name":"notation","nsuri":"","sType":"1NA ","C":[{"N":"str","sType":"1AS ","val":"top right"}]},{"N":"applyT","sType":"* ","line":"94","mode":"Q{}rtl","bSlot":"0","C":[{"N":"docOrder","sType":"*N u[NA,NE]","role":"select","line":"94","C":[{"N":"union","op":"|","sType":"*N u[NA,NE]","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","C":[{"N":"axis","name":"attribute","nodeTest":"*NA"},{"N":"first","C":[{"N":"axis","name":"child","nodeTest":"*NE"}]}]}]}]}]}]}]},{"N":"templateRule","rank":"32","prec":"0","seq":"20","ns":"xml=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common","minImp":"0","flags":"s","baseUri":"file:///Users/dpvc/Desktop/Tumlook/Data/Code/JavaScript/MathJax/Code/Git/mathjax/MathJax-src/ts/input/mathml/mml3/mml3.xsl","slots":"200","line":"84","module":"mml3.xsl","match":"m:mroot","prio":"0","matches":"NE nQ{http://www.w3.org/1998/Math/MathML}mroot","C":[{"N":"p.nodeTest","role":"match","test":"NE nQ{http://www.w3.org/1998/Math/MathML}mroot","sType":"1NE nQ{http://www.w3.org/1998/Math/MathML}mroot","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common "},{"N":"elem","name":"m:msup","sType":"1NE nQ{http://www.w3.org/1998/Math/MathML}msup ","nsuri":"http://www.w3.org/1998/Math/MathML","namespaces":"","role":"action","line":"85","C":[{"N":"sequence","sType":"* ","C":[{"N":"elem","name":"m:menclose","sType":"1NE nQ{http://www.w3.org/1998/Math/MathML}menclose ","nsuri":"http://www.w3.org/1998/Math/MathML","namespaces":"","line":"86","C":[{"N":"sequence","sType":"* ","C":[{"N":"att","name":"notation","nsuri":"","sType":"1NA ","C":[{"N":"str","sType":"1AS ","val":"top right"}]},{"N":"applyT","sType":"* ","line":"87","mode":"Q{}rtl","bSlot":"0","C":[{"N":"docOrder","sType":"*N u[NA,NE]","role":"select","line":"87","C":[{"N":"union","op":"|","sType":"*N u[NA,NE]","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","C":[{"N":"axis","name":"attribute","nodeTest":"*NA"},{"N":"first","C":[{"N":"axis","name":"child","nodeTest":"*NE"}]}]}]}]}]}]},{"N":"applyT","sType":"* ","line":"89","mode":"Q{}rtl","bSlot":"0","C":[{"N":"subscript","flags":"p","sType":"?NE","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","role":"select","line":"89","C":[{"N":"axis","name":"child","nodeTest":"*NE"},{"N":"int","val":"2"}]}]}]}]}]},{"N":"templateRule","rank":"33","prec":"0","seq":"19","ns":"xml=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common","minImp":"0","flags":"s","baseUri":"file:///Users/dpvc/Desktop/Tumlook/Data/Code/JavaScript/MathJax/Code/Git/mathjax/MathJax-src/ts/input/mathml/mml3/mml3.xsl","slots":"200","line":"79","module":"mml3.xsl","match":"m:mfrac","prio":"0","matches":"NE nQ{http://www.w3.org/1998/Math/MathML}mfrac","C":[{"N":"p.nodeTest","role":"match","test":"NE nQ{http://www.w3.org/1998/Math/MathML}mfrac","sType":"1NE nQ{http://www.w3.org/1998/Math/MathML}mfrac","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common "},{"N":"copy","sType":"1NE nQ{http://www.w3.org/1998/Math/MathML}mfrac ","flags":"cin","role":"action","line":"80","C":[{"N":"applyT","sType":"* ","line":"81","mode":"Q{}rtl","bSlot":"0","C":[{"N":"docOrder","sType":"*N u[NA,NE]","role":"select","line":"81","C":[{"N":"union","op":"|","sType":"*N u[NA,NE]","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","C":[{"N":"axis","name":"attribute","nodeTest":"*NA"},{"N":"axis","name":"child","nodeTest":"*NE"}]}]}]}]}]},{"N":"templateRule","rank":"34","prec":"0","seq":"11","ns":"xml=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common","minImp":"0","flags":"s","baseUri":"file:///Users/dpvc/Desktop/Tumlook/Data/Code/JavaScript/MathJax/Code/Git/mathjax/MathJax-src/ts/input/mathml/mml3/mml3.xsl","slots":"200","line":"51","module":"mml3.xsl","match":"@close","prio":"0","matches":"NA nQ{}close","C":[{"N":"p.nodeTest","role":"match","test":"NA nQ{}close","sType":"1NA nQ{}close","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common "},{"N":"att","name":"open","sType":"1NA ","role":"action","line":"52","C":[{"N":"fn","name":"string-join","role":"select","C":[{"N":"first","C":[{"N":"forEach","sType":"*AS ","C":[{"N":"data","sType":"*A ","C":[{"N":"mergeAdj","C":[{"N":"valueOf","sType":"1NT ","flags":"l","C":[{"N":"fn","name":"string-join","role":"select","C":[{"N":"first","C":[{"N":"forEach","sType":"*AS ","C":[{"N":"data","sType":"*A ","C":[{"N":"mergeAdj","C":[{"N":"dot","sType":"1NA nQ{}close","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","role":"select","line":"3"}]}]},{"N":"fn","name":"string","sType":"1AS ","C":[{"N":"dot"}]}]}]},{"N":"str","sType":"1AS ","val":" "}]}]}]}]},{"N":"fn","name":"string","sType":"1AS ","C":[{"N":"dot"}]}]}]},{"N":"str","sType":"1AS ","val":""}]}]}]},{"N":"templateRule","rank":"35","prec":"0","seq":"4","ns":"xml=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common","minImp":"0","flags":"s","baseUri":"file:///Users/dpvc/Desktop/Tumlook/Data/Code/JavaScript/MathJax/Code/Git/mathjax/MathJax-src/ts/input/mathml/mml3/mml3.xsl","slots":"200","line":"30","module":"mml3.xsl","match":"@open","prio":"0","matches":"NA nQ{}open","C":[{"N":"p.nodeTest","role":"match","test":"NA nQ{}open","sType":"1NA nQ{}open","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common "},{"N":"att","name":"close","sType":"1NA ","role":"action","line":"31","C":[{"N":"fn","name":"string-join","role":"select","C":[{"N":"first","C":[{"N":"forEach","sType":"*AS ","C":[{"N":"data","sType":"*A ","C":[{"N":"mergeAdj","C":[{"N":"valueOf","sType":"1NT ","flags":"l","C":[{"N":"fn","name":"string-join","role":"select","C":[{"N":"first","C":[{"N":"forEach","sType":"*AS ","C":[{"N":"data","sType":"*A ","C":[{"N":"mergeAdj","C":[{"N":"dot","sType":"1NA nQ{}open","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","role":"select","line":"3"}]}]},{"N":"fn","name":"string","sType":"1AS ","C":[{"N":"dot"}]}]}]},{"N":"str","sType":"1AS ","val":" "}]}]}]}]},{"N":"fn","name":"string","sType":"1AS ","C":[{"N":"dot"}]}]}]},{"N":"str","sType":"1AS ","val":""}]}]}]},{"N":"templateRule","rank":"36","prec":"0","seq":"3","ns":"xml=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common","minImp":"0","flags":"s","baseUri":"file:///Users/dpvc/Desktop/Tumlook/Data/Code/JavaScript/MathJax/Code/Git/mathjax/MathJax-src/ts/input/mathml/mml3/mml3.xsl","slots":"200","line":"20","module":"mml3.xsl","match":"*","prio":"-0.5","matches":"NE","C":[{"N":"p.nodeTest","role":"match","test":"NE","sType":"1NE","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common "},{"N":"copy","sType":"1NE ","flags":"cin","role":"action","line":"21","C":[{"N":"sequence","sType":"* ","C":[{"N":"applyT","sType":"* ","line":"22","mode":"Q{}rtl","bSlot":"0","C":[{"N":"axis","name":"attribute","nodeTest":"*NA","sType":"*NA","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","role":"select","line":"22"}]},{"N":"forEach","sType":"* ","line":"23","C":[{"N":"sort","sType":"*N u[NT,NP,NC,NE]","C":[{"N":"axis","name":"child","nodeTest":"*N u[NT,NP,NC,NE]","sType":"*N u[NT,NP,NC,NE]","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","role":"select","line":"23"},{"N":"sortKey","sType":"?ADI ","C":[{"N":"first","role":"select","sType":"?ADI ","C":[{"N":"fn","name":"position","sType":"1ADI","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","role":"select","line":"24"}]},{"N":"str","sType":"1AS ","val":"descending","role":"order"},{"N":"str","sType":"1AS ","val":"en","role":"lang"},{"N":"str","sType":"1AS ","val":"#default","role":"caseOrder"},{"N":"str","sType":"1AS ","val":"true","role":"stable"},{"N":"str","sType":"1AS ","val":"number","role":"dataType"}]}]},{"N":"sequence","sType":"* ","C":[{"N":"valueOf","sType":"1NT ","C":[{"N":"str","sType":"1AS ","val":" "}]},{"N":"applyT","sType":"* ","line":"26","mode":"Q{}rtl","bSlot":"0","C":[{"N":"dot","sType":"1N u[N u[N u[NT,NP],NC],NE]","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","role":"select","line":"26"}]}]}]}]}]}]},{"N":"templateRule","rank":"37","prec":"0","seq":"2","ns":"xml=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common","minImp":"0","flags":"s","baseUri":"file:///Users/dpvc/Desktop/Tumlook/Data/Code/JavaScript/MathJax/Code/Git/mathjax/MathJax-src/ts/input/mathml/mml3/mml3.xsl","slots":"200","line":"16","module":"mml3.xsl","match":"@*","prio":"-0.5","matches":"NA","C":[{"N":"p.nodeTest","role":"match","test":"NA","sType":"1NA","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common "},{"N":"sequence","role":"action","sType":"*NA ","C":[{"N":"copyOf","flags":"c","ns":"xml=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ex=http://ns.saxonica.com/xslt/export","line":"17","sType":"1NA","C":[{"N":"dot","sType":"1NA","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","role":"select","line":"17"}]},{"N":"att","name":"dir","sType":"1NA ","line":"18","C":[{"N":"fn","name":"string-join","role":"select","C":[{"N":"first","C":[{"N":"forEach","sType":"*AS ","C":[{"N":"data","sType":"*A ","C":[{"N":"mergeAdj","C":[{"N":"valueOf","sType":"1NT ","C":[{"N":"str","sType":"1AS ","val":"ltr"}]}]}]},{"N":"fn","name":"string","sType":"1AS ","C":[{"N":"dot"}]}]}]},{"N":"str","sType":"1AS ","val":""}]}]}]}]}]}]},{"N":"co","id":"2","binds":"2","C":[{"N":"mode","onNo":"TC","flags":"","patternSlots":"0","name":"Q{}ml","prec":"","C":[{"N":"templateRule","rank":"0","prec":"0","seq":"42","ns":"xml=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common","minImp":"0","flags":"s","baseUri":"file:///Users/dpvc/Desktop/Tumlook/Data/Code/JavaScript/MathJax/Code/Git/mathjax/MathJax-src/ts/input/mathml/mml3/mml3.xsl","slots":"200","line":"310","module":"mml3.xsl","match":"m:mtr[not(preceding-sibling::*)][@class='msline']","prio":"3","matches":"NE nQ{http://www.w3.org/1998/Math/MathML}mtr","C":[{"N":"p.withPredicate","role":"match","sType":"1NE nQ{http://www.w3.org/1998/Math/MathML}mtr","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","C":[{"N":"p.withPredicate","C":[{"N":"p.nodeTest","test":"NE nQ{http://www.w3.org/1998/Math/MathML}mtr"},{"N":"fn","name":"not","C":[{"N":"fn","name":"reverse","C":[{"N":"axis","name":"preceding-sibling","nodeTest":"*NE"}]}]}]},{"N":"gc","op":"=","comp":"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint","card":"1:1","C":[{"N":"attVal","name":"Q{}class"},{"N":"str","val":"msline"}]}]},{"N":"elem","name":"m:mtr","sType":"1NE nQ{http://www.w3.org/1998/Math/MathML}mtr ","nsuri":"http://www.w3.org/1998/Math/MathML","namespaces":"","role":"action","line":"311","C":[{"N":"sequence","sType":"*N ","C":[{"N":"copyOf","flags":"c","ns":"xml=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ex=http://ns.saxonica.com/xslt/export","line":"312","sType":"*NA","C":[{"N":"axis","name":"attribute","nodeTest":"*NA","sType":"*NA","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","role":"select","line":"312"}]},{"N":"forEach","sType":"*NE nQ{http://www.w3.org/1998/Math/MathML}mtd ","line":"313","C":[{"N":"axis","name":"child","nodeTest":"*NE nQ{http://www.w3.org/1998/Math/MathML}mtd","sType":"*NE nQ{http://www.w3.org/1998/Math/MathML}mtd","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","role":"select","line":"313"},{"N":"elem","name":"m:mtd","sType":"1NE nQ{http://www.w3.org/1998/Math/MathML}mtd ","nsuri":"http://www.w3.org/1998/Math/MathML","namespaces":"","line":"314","C":[{"N":"sequence","sType":"* ","C":[{"N":"copyOf","flags":"c","ns":"xml=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ex=http://ns.saxonica.com/xslt/export","line":"315","sType":"*NA","C":[{"N":"axis","name":"attribute","nodeTest":"*NA","sType":"*NA","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","role":"select","line":"315"}]},{"N":"choose","sType":"? ","line":"316","C":[{"N":"axis","name":"child","nodeTest":"*NE nQ{http://www.w3.org/1998/Math/MathML}mpadded","sType":"*NE nQ{http://www.w3.org/1998/Math/MathML}mpadded","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","line":"316"},{"N":"elem","name":"m:menclose","sType":"1NE nQ{http://www.w3.org/1998/Math/MathML}menclose ","nsuri":"http://www.w3.org/1998/Math/MathML","namespaces":"","line":"317","C":[{"N":"sequence","sType":"*N ","C":[{"N":"att","name":"notation","nsuri":"","sType":"1NA ","C":[{"N":"str","sType":"1AS ","val":"bottom"}]},{"N":"elem","name":"m:mpadded","sType":"1NE nQ{http://www.w3.org/1998/Math/MathML}mpadded ","nsuri":"http://www.w3.org/1998/Math/MathML","namespaces":"","line":"318","C":[{"N":"sequence","sType":"*N ","C":[{"N":"att","name":"depth","nsuri":"","sType":"1NA ","C":[{"N":"str","sType":"1AS ","val":".1em"}]},{"N":"att","name":"height","nsuri":"","sType":"1NA ","C":[{"N":"str","sType":"1AS ","val":"1em"}]},{"N":"att","name":"width","nsuri":"","sType":"1NA ","C":[{"N":"str","sType":"1AS ","val":".5em"}]},{"N":"elem","name":"m:mspace","sType":"1NE nQ{http://www.w3.org/1998/Math/MathML}mspace ","nsuri":"http://www.w3.org/1998/Math/MathML","namespaces":"","line":"319","C":[{"N":"att","name":"width","nsuri":"","sType":"1NA ","C":[{"N":"str","sType":"1AS ","val":".2em"}]}]}]}]}]}]},{"N":"true"},{"N":"empty","sType":"0 "}]}]}]}]}]}]}]},{"N":"templateRule","rank":"1","prec":"0","seq":"43","ns":"xml=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common","minImp":"0","flags":"s","baseUri":"file:///Users/dpvc/Desktop/Tumlook/Data/Code/JavaScript/MathJax/Code/Git/mathjax/MathJax-src/ts/input/mathml/mml3/mml3.xsl","slots":"200","line":"327","module":"mml3.xsl","match":"m:mtr[@class='msline']","prio":"2","matches":"NE nQ{http://www.w3.org/1998/Math/MathML}mtr","C":[{"N":"p.withPredicate","role":"match","sType":"1NE nQ{http://www.w3.org/1998/Math/MathML}mtr","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","C":[{"N":"p.nodeTest","test":"NE nQ{http://www.w3.org/1998/Math/MathML}mtr"},{"N":"gc","op":"=","comp":"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint","card":"1:1","C":[{"N":"attVal","name":"Q{}class"},{"N":"str","val":"msline"}]}]},{"N":"empty","sType":"0 ","role":"action"}]},{"N":"templateRule","rank":"2","prec":"0","seq":"41","ns":"xml=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common","minImp":"0","flags":"s","baseUri":"file:///Users/dpvc/Desktop/Tumlook/Data/Code/JavaScript/MathJax/Code/Git/mathjax/MathJax-src/ts/input/mathml/mml3/mml3.xsl","slots":"200","line":"286","module":"mml3.xsl","match":"m:mtr[following-sibling::*[1][@class='msline']]","prio":"0.5","matches":"NE nQ{http://www.w3.org/1998/Math/MathML}mtr","C":[{"N":"p.withPredicate","role":"match","sType":"1NE nQ{http://www.w3.org/1998/Math/MathML}mtr","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","C":[{"N":"p.nodeTest","test":"NE nQ{http://www.w3.org/1998/Math/MathML}mtr"},{"N":"filter","C":[{"N":"first","C":[{"N":"axis","name":"following-sibling","nodeTest":"*NE"}]},{"N":"gc","op":"=","comp":"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint","card":"1:1","C":[{"N":"attVal","name":"Q{}class"},{"N":"str","val":"msline"}]}]}]},{"N":"elem","name":"m:mtr","sType":"1NE nQ{http://www.w3.org/1998/Math/MathML}mtr ","nsuri":"http://www.w3.org/1998/Math/MathML","namespaces":"","role":"action","line":"287","C":[{"N":"sequence","sType":"*N ","C":[{"N":"copyOf","flags":"c","ns":"xml=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ex=http://ns.saxonica.com/xslt/export","line":"288","sType":"*NA","C":[{"N":"axis","name":"attribute","nodeTest":"*NA","sType":"*NA","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","role":"select","line":"288"}]},{"N":"let","var":"Q{}m","slot":"0","sType":"*NE ","line":"289","C":[{"N":"docOrder","sType":"*NE nQ{http://www.w3.org/1998/Math/MathML}mtd","role":"select","line":"289","C":[{"N":"slash","op":"/","sType":"*NE nQ{http://www.w3.org/1998/Math/MathML}mtd","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","C":[{"N":"first","C":[{"N":"axis","name":"following-sibling","nodeTest":"*NE"}]},{"N":"axis","name":"child","nodeTest":"*NE nQ{http://www.w3.org/1998/Math/MathML}mtd"}]}]},{"N":"forEach","sType":"*NE ","line":"290","C":[{"N":"axis","name":"child","nodeTest":"*NE nQ{http://www.w3.org/1998/Math/MathML}mtd","sType":"*NE nQ{http://www.w3.org/1998/Math/MathML}mtd","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","role":"select","line":"290"},{"N":"let","var":"Q{}p","slot":"1","sType":"*NE ","line":"291","C":[{"N":"fn","name":"position","sType":"1ADI","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","role":"select","line":"291"},{"N":"elem","name":"m:mtd","sType":"1NE nQ{http://www.w3.org/1998/Math/MathML}mtd ","nsuri":"http://www.w3.org/1998/Math/MathML","namespaces":"","line":"292","C":[{"N":"sequence","sType":"*N ","C":[{"N":"copyOf","flags":"c","ns":"xml=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ex=http://ns.saxonica.com/xslt/export","line":"293","sType":"*NA","C":[{"N":"axis","name":"attribute","nodeTest":"*NA","sType":"*NA","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","role":"select","line":"293"}]},{"N":"choose","sType":"*NE ","type":"item()*","line":"294","C":[{"N":"docOrder","sType":"*NE nQ{http://www.w3.org/1998/Math/MathML}mpadded","line":"295","C":[{"N":"docOrder","sType":"*NE nQ{http://www.w3.org/1998/Math/MathML}mpadded","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","C":[{"N":"slash","op":"/","C":[{"N":"treat","as":"N","diag":"1|0|XPTY0019|slash","C":[{"N":"filter","flags":"i","C":[{"N":"varRef","name":"Q{}m","slot":"0"},{"N":"varRef","name":"Q{}p","slot":"1"}]}]},{"N":"axis","name":"child","nodeTest":"*NE nQ{http://www.w3.org/1998/Math/MathML}mpadded"}]}]}]},{"N":"elem","name":"m:menclose","sType":"1NE nQ{http://www.w3.org/1998/Math/MathML}menclose ","nsuri":"http://www.w3.org/1998/Math/MathML","namespaces":"","line":"296","C":[{"N":"sequence","sType":"*N ","C":[{"N":"att","name":"notation","nsuri":"","sType":"1NA ","C":[{"N":"str","sType":"1AS ","val":"bottom"}]},{"N":"elem","name":"m:mpadded","sType":"1NE nQ{http://www.w3.org/1998/Math/MathML}mpadded ","nsuri":"http://www.w3.org/1998/Math/MathML","namespaces":"","line":"297","C":[{"N":"sequence","sType":"*N ","C":[{"N":"att","name":"depth","nsuri":"","sType":"1NA ","C":[{"N":"str","sType":"1AS ","val":".1em"}]},{"N":"att","name":"height","nsuri":"","sType":"1NA ","C":[{"N":"str","sType":"1AS ","val":"1em"}]},{"N":"att","name":"width","nsuri":"","sType":"1NA ","C":[{"N":"str","sType":"1AS ","val":".5em"}]},{"N":"copyOf","flags":"c","ns":"xml=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ex=http://ns.saxonica.com/xslt/export","line":"298","sType":"*NE","C":[{"N":"axis","name":"child","nodeTest":"*NE","sType":"*NE","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","role":"select","line":"298"}]}]}]}]}]},{"N":"true"},{"N":"copyOf","flags":"c","ns":"xml=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ex=http://ns.saxonica.com/xslt/export","line":"303","sType":"*NE","C":[{"N":"axis","name":"child","nodeTest":"*NE","sType":"*NE","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","role":"select","line":"303"}]}]}]}]}]}]}]}]}]}]},{"N":"templateRule","rank":"3","prec":"0","seq":"39","ns":"xml=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common","minImp":"0","flags":"s","baseUri":"file:///Users/dpvc/Desktop/Tumlook/Data/Code/JavaScript/MathJax/Code/Git/mathjax/MathJax-src/ts/input/mathml/mml3/mml3.xsl","slots":"200","line":"277","module":"mml3.xsl","match":"m:none","prio":"0","matches":"NE nQ{http://www.w3.org/1998/Math/MathML}none","C":[{"N":"p.nodeTest","role":"match","test":"NE nQ{http://www.w3.org/1998/Math/MathML}none","sType":"1NE nQ{http://www.w3.org/1998/Math/MathML}none","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common "},{"N":"elem","name":"m:mrow","sType":"1NE nQ{http://www.w3.org/1998/Math/MathML}mrow ","nsuri":"http://www.w3.org/1998/Math/MathML","namespaces":"","role":"action","line":"278","C":[{"N":"empty","sType":"0 "}]}]},{"N":"templateRule","rank":"4","prec":"0","seq":"40","ns":"xml=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common","minImp":"0","flags":"s","baseUri":"file:///Users/dpvc/Desktop/Tumlook/Data/Code/JavaScript/MathJax/Code/Git/mathjax/MathJax-src/ts/input/mathml/mml3/mml3.xsl","slots":"200","line":"280","module":"mml3.xsl","match":"*","prio":"-0.5","matches":"NE","C":[{"N":"p.nodeTest","role":"match","test":"NE","sType":"1NE","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common "},{"N":"copy","sType":"1NE ","flags":"cin","role":"action","line":"281","C":[{"N":"sequence","sType":"* ","C":[{"N":"copyOf","flags":"c","ns":"xml=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ex=http://ns.saxonica.com/xslt/export","line":"282","sType":"*NA","C":[{"N":"axis","name":"attribute","nodeTest":"*NA","sType":"*NA","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","role":"select","line":"282"}]},{"N":"applyT","sType":"* ","line":"283","mode":"Q{}ml","bSlot":"0","C":[{"N":"axis","name":"child","nodeTest":"*N u[NT,NP,NC,NE]","sType":"*N u[NT,NP,NC,NE]","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","role":"select","line":"283"}]}]}]}]}]}]},{"N":"co","id":"3","binds":"4 3 0","C":[{"N":"mode","onNo":"TC","flags":"","patternSlots":"0","name":"Q{}mstack1","prec":"","C":[{"N":"templateRule","rank":"0","prec":"0","seq":"49","ns":"xml=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common","minImp":"0","flags":"s","baseUri":"file:///Users/dpvc/Desktop/Tumlook/Data/Code/JavaScript/MathJax/Code/Git/mathjax/MathJax-src/ts/input/mathml/mml3/mml3.xsl","slots":"200","line":"471","module":"mml3.xsl","match":"m:mscarries","prio":"0","matches":"NE nQ{http://www.w3.org/1998/Math/MathML}mscarries","C":[{"N":"p.nodeTest","role":"match","test":"NE nQ{http://www.w3.org/1998/Math/MathML}mscarries","sType":"1NE nQ{http://www.w3.org/1998/Math/MathML}mscarries","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common "},{"N":"sequence","role":"action","sType":"* ","C":[{"N":"param","name":"Q{}p","slot":"0","sType":"* ","as":"* ","flags":"","line":"472","C":[{"N":"str","sType":"1AS ","val":"","role":"select"},{"N":"supplied","role":"conversion","slot":"0","sType":"* "}]},{"N":"let","var":"Q{}align1","slot":"1","sType":"*NE ","line":"473","C":[{"N":"docOrder","sType":"*NA nQ{}stackalign","role":"select","line":"473","C":[{"N":"slash","op":"/","sType":"*NA nQ{}stackalign","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","C":[{"N":"fn","name":"reverse","C":[{"N":"first","C":[{"N":"axis","name":"ancestor","nodeTest":"*NE nQ{http://www.w3.org/1998/Math/MathML}mstack"}]}]},{"N":"axis","name":"attribute","nodeTest":"*NA nQ{}stackalign"}]}]},{"N":"let","var":"Q{}l1","slot":"2","sType":"*NE ","line":"474","C":[{"N":"doc","sType":"1ND ","base":"file:///Users/dpvc/Desktop/Tumlook/Data/Code/JavaScript/MathJax/Code/Git/mathjax/MathJax-src/ts/input/mathml/mml3/mml3.xsl","role":"select","C":[{"N":"choose","sType":"?NT ","type":"item()*","line":"475","C":[{"N":"gc10","op":"=","comp":"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint","card":"1:1","sType":"1AB","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","line":"476","C":[{"N":"fn","name":"string","C":[{"N":"first","C":[{"N":"varRef","name":"Q{}align1","slot":"1"}]}]},{"N":"str","val":"left"}]},{"N":"valueOf","sType":"1NT ","C":[{"N":"str","sType":"1AS ","val":"0"}]},{"N":"true"},{"N":"valueOf","flags":"l","sType":"1NT ","C":[{"N":"fn","name":"string-join","role":"select","C":[{"N":"first","C":[{"N":"forEach","sType":"*AS ","C":[{"N":"data","sType":"*A ","C":[{"N":"mergeAdj","C":[{"N":"fn","sType":"1ADI","name":"count","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","role":"select","line":"8","C":[{"N":"axis","name":"child","nodeTest":"*NE"}]}]}]},{"N":"fn","name":"string","sType":"1AS ","C":[{"N":"dot"}]}]}]},{"N":"str","sType":"1AS ","val":" "}]}]}]}]},{"N":"elem","name":"m:mtr","sType":"1NE nQ{http://www.w3.org/1998/Math/MathML}mtr ","nsuri":"http://www.w3.org/1998/Math/MathML","namespaces":"","line":"480","C":[{"N":"sequence","sType":"* ","C":[{"N":"att","name":"class","nsuri":"","sType":"1NA ","C":[{"N":"str","sType":"1AS ","val":"mscarries"}]},{"N":"att","name":"l","nsuri":"","sType":"1NA ","C":[{"N":"fn","name":"string-join","sType":"1AS ","C":[{"N":"first","C":[{"N":"convert","type":"AS*","from":"AZ","to":"AS","C":[{"N":"data","C":[{"N":"mergeAdj","sType":"?AO","C":[{"N":"arith10","op":"+","calc":"d+d","sType":"?AO","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","line":"480","C":[{"N":"arith10","op":"+","calc":"d+d","C":[{"N":"atomSing","diag":"1|0||arith","card":"?","C":[{"N":"first","C":[{"N":"varRef","name":"Q{}p","slot":"0"}]}]},{"N":"atomSing","diag":"1|1||arith","card":"?","C":[{"N":"first","C":[{"N":"varRef","name":"Q{}l1","slot":"2"}]}]}]},{"N":"fn","name":"sum","C":[{"N":"attVal","name":"Q{}position"}]}]}]}]}]}]},{"N":"str","sType":"1AS ","val":" "}]}]},{"N":"applyT","sType":"* ","line":"481","mode":"Q{}msc","bSlot":"0","C":[{"N":"axis","name":"child","nodeTest":"*NE","sType":"*NE","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","role":"select","line":"481"}]}]}]}]}]}]}]},{"N":"templateRule","rank":"1","prec":"0","seq":"48","ns":"xml=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common","minImp":"0","flags":"s","baseUri":"file:///Users/dpvc/Desktop/Tumlook/Data/Code/JavaScript/MathJax/Code/Git/mathjax/MathJax-src/ts/input/mathml/mml3/mml3.xsl","slots":"200","line":"418","module":"mml3.xsl","match":"m:msline","prio":"0","matches":"NE nQ{http://www.w3.org/1998/Math/MathML}msline","C":[{"N":"p.nodeTest","role":"match","test":"NE nQ{http://www.w3.org/1998/Math/MathML}msline","sType":"1NE nQ{http://www.w3.org/1998/Math/MathML}msline","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common "},{"N":"sequence","role":"action","sType":"* ","C":[{"N":"param","name":"Q{}p","slot":"0","sType":"* ","as":"* ","flags":"","line":"419","C":[{"N":"str","sType":"1AS ","val":"","role":"select"},{"N":"supplied","role":"conversion","slot":"0","sType":"* "}]},{"N":"let","var":"Q{}align1","slot":"1","sType":"*NE ","line":"420","C":[{"N":"docOrder","sType":"*NA nQ{}stackalign","role":"select","line":"420","C":[{"N":"slash","op":"/","sType":"*NA nQ{}stackalign","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","C":[{"N":"fn","name":"reverse","C":[{"N":"first","C":[{"N":"axis","name":"ancestor","nodeTest":"*NE nQ{http://www.w3.org/1998/Math/MathML}mstack"}]}]},{"N":"axis","name":"attribute","nodeTest":"*NA nQ{}stackalign"}]}]},{"N":"let","var":"Q{}align","slot":"2","sType":"*NE ","line":"421","C":[{"N":"doc","sType":"1ND ","base":"file:///Users/dpvc/Desktop/Tumlook/Data/Code/JavaScript/MathJax/Code/Git/mathjax/MathJax-src/ts/input/mathml/mml3/mml3.xsl","role":"select","C":[{"N":"choose","sType":"?NT ","type":"item()*","line":"422","C":[{"N":"gc10","op":"=","comp":"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint","card":"1:1","sType":"1AB","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","line":"423","C":[{"N":"fn","name":"string","C":[{"N":"first","C":[{"N":"varRef","name":"Q{}align1","slot":"1"}]}]},{"N":"str","val":""}]},{"N":"valueOf","sType":"1NT ","C":[{"N":"str","sType":"1AS ","val":"decimalpoint"}]},{"N":"true"},{"N":"valueOf","flags":"l","sType":"1NT ","C":[{"N":"fn","name":"string-join","role":"select","C":[{"N":"first","C":[{"N":"forEach","sType":"*AS ","C":[{"N":"data","sType":"*A ","C":[{"N":"mergeAdj","C":[{"N":"varRef","sType":"*","name":"Q{}align1","slot":"1","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","role":"select","line":"8"}]}]},{"N":"fn","name":"string","sType":"1AS ","C":[{"N":"dot"}]}]}]},{"N":"str","sType":"1AS ","val":" "}]}]}]}]},{"N":"elem","name":"m:mtr","sType":"1NE nQ{http://www.w3.org/1998/Math/MathML}mtr ","nsuri":"http://www.w3.org/1998/Math/MathML","namespaces":"","line":"427","C":[{"N":"sequence","sType":"*N ","C":[{"N":"att","name":"class","nsuri":"","sType":"1NA ","C":[{"N":"str","sType":"1AS ","val":"msline"}]},{"N":"att","name":"l","sType":"1NA ","line":"428","C":[{"N":"fn","name":"string-join","role":"select","C":[{"N":"first","C":[{"N":"forEach","sType":"*AS ","C":[{"N":"data","sType":"*A ","C":[{"N":"mergeAdj","C":[{"N":"choose","sType":"?NT ","type":"item()*","line":"429","C":[{"N":"or","sType":"1AB","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","line":"430","C":[{"N":"fn","name":"not","C":[{"N":"fn","name":"string","C":[{"N":"first","C":[{"N":"axis","name":"attribute","nodeTest":"*NA nQ{}length"}]}]}]},{"N":"gc10","op":"=","comp":"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint","card":"1:1","C":[{"N":"axis","name":"attribute","nodeTest":"*NA nQ{}length"},{"N":"int","val":"0"}]}]},{"N":"valueOf","sType":"1NT ","C":[{"N":"str","sType":"1AS ","val":"*"}]},{"N":"or","sType":"1AB","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","line":"431","C":[{"N":"gc10","op":"=","comp":"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint","card":"1:1","C":[{"N":"fn","name":"string","C":[{"N":"first","C":[{"N":"varRef","name":"Q{}align","slot":"2"}]}]},{"N":"str","val":"right"}]},{"N":"gc10","op":"=","comp":"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint","card":"1:1","C":[{"N":"fn","name":"string","C":[{"N":"first","C":[{"N":"varRef","name":"Q{}align","slot":"2"}]}]},{"N":"str","val":"decimalpoint"}]}]},{"N":"valueOf","flags":"l","sType":"1NT ","C":[{"N":"fn","name":"string-join","role":"select","C":[{"N":"first","C":[{"N":"forEach","sType":"*AS ","C":[{"N":"data","sType":"*A ","C":[{"N":"mergeAdj","C":[{"N":"arith10","sType":"?AO","op":"+","calc":"d+d","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","role":"select","line":"14","C":[{"N":"atomSing","diag":"1|0||arith","card":"?","C":[{"N":"first","C":[{"N":"varRef","name":"Q{}p","slot":"0"}]}]},{"N":"atomSing","diag":"1|1||arith","card":"?","C":[{"N":"first","C":[{"N":"axis","name":"attribute","nodeTest":"*NA nQ{}length"}]}]}]}]}]},{"N":"fn","name":"string","sType":"1AS ","C":[{"N":"dot"}]}]}]},{"N":"str","sType":"1AS ","val":" "}]}]},{"N":"true"},{"N":"valueOf","flags":"l","sType":"1NT ","C":[{"N":"fn","name":"string-join","role":"select","C":[{"N":"first","C":[{"N":"forEach","sType":"*AS ","C":[{"N":"data","sType":"*A ","C":[{"N":"mergeAdj","C":[{"N":"varRef","sType":"*","name":"Q{}p","slot":"0","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","role":"select","line":"16"}]}]},{"N":"fn","name":"string","sType":"1AS ","C":[{"N":"dot"}]}]}]},{"N":"str","sType":"1AS ","val":" "}]}]}]}]}]},{"N":"fn","name":"string","sType":"1AS ","C":[{"N":"dot"}]}]}]},{"N":"str","sType":"1AS ","val":""}]}]},{"N":"let","var":"Q{}w","slot":"3","sType":"*NE ","line":"435","C":[{"N":"doc","sType":"1ND ","base":"file:///Users/dpvc/Desktop/Tumlook/Data/Code/JavaScript/MathJax/Code/Git/mathjax/MathJax-src/ts/input/mathml/mml3/mml3.xsl","role":"select","C":[{"N":"choose","sType":"?NT ","type":"item()*","line":"436","C":[{"N":"gc10","op":"=","comp":"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint","card":"1:1","sType":"1AB","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","line":"437","C":[{"N":"axis","name":"attribute","nodeTest":"*NA nQ{}mslinethickness"},{"N":"str","val":"thin"}]},{"N":"valueOf","sType":"1NT ","C":[{"N":"str","sType":"1AS ","val":"0.1em"}]},{"N":"gc10","op":"=","comp":"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint","card":"1:1","sType":"1AB","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","line":"438","C":[{"N":"axis","name":"attribute","nodeTest":"*NA nQ{}mslinethickness"},{"N":"str","val":"medium"}]},{"N":"valueOf","sType":"1NT ","C":[{"N":"str","sType":"1AS ","val":"0.15em"}]},{"N":"gc10","op":"=","comp":"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint","card":"1:1","sType":"1AB","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","line":"439","C":[{"N":"axis","name":"attribute","nodeTest":"*NA nQ{}mslinethickness"},{"N":"str","val":"thick"}]},{"N":"valueOf","sType":"1NT ","C":[{"N":"str","sType":"1AS ","val":"0.2em"}]},{"N":"axis","name":"attribute","nodeTest":"*NA nQ{}mslinethickness","sType":"*NA nQ{}mslinethickness","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","line":"440"},{"N":"valueOf","flags":"l","sType":"1NT ","C":[{"N":"fn","name":"string-join","role":"select","C":[{"N":"first","C":[{"N":"forEach","sType":"*AS ","C":[{"N":"data","sType":"*A ","C":[{"N":"mergeAdj","C":[{"N":"axis","sType":"*NA nQ{}mslinethickness","name":"attribute","nodeTest":"*NA nQ{}mslinethickness","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","role":"select","line":"23"}]}]},{"N":"fn","name":"string","sType":"1AS ","C":[{"N":"dot"}]}]}]},{"N":"str","sType":"1AS ","val":" "}]}]},{"N":"true"},{"N":"valueOf","sType":"1NT ","C":[{"N":"str","sType":"1AS ","val":"0.15em"}]}]}]},{"N":"choose","sType":"*NE ","type":"item()*","line":"444","C":[{"N":"or","sType":"1AB","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","line":"445","C":[{"N":"fn","name":"not","C":[{"N":"fn","name":"string","C":[{"N":"first","C":[{"N":"axis","name":"attribute","nodeTest":"*NA nQ{}length"}]}]}]},{"N":"gc10","op":"=","comp":"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint","card":"1:1","C":[{"N":"axis","name":"attribute","nodeTest":"*NA nQ{}length"},{"N":"int","val":"0"}]}]},{"N":"elem","name":"m:mtd","sType":"1NE nQ{http://www.w3.org/1998/Math/MathML}mtd ","nsuri":"http://www.w3.org/1998/Math/MathML","namespaces":"","line":"446","C":[{"N":"sequence","sType":"*N ","C":[{"N":"att","name":"class","nsuri":"","sType":"1NA ","C":[{"N":"str","sType":"1AS ","val":"mslinemax"}]},{"N":"elem","name":"m:mpadded","sType":"1NE nQ{http://www.w3.org/1998/Math/MathML}mpadded ","nsuri":"http://www.w3.org/1998/Math/MathML","namespaces":"","line":"447","C":[{"N":"sequence","sType":"*N ","C":[{"N":"att","name":"lspace","nsuri":"","sType":"1NA ","C":[{"N":"str","sType":"1AS ","val":"-0.2em"}]},{"N":"att","name":"width","nsuri":"","sType":"1NA ","C":[{"N":"str","sType":"1AS ","val":"0em"}]},{"N":"att","name":"height","nsuri":"","sType":"1NA ","C":[{"N":"str","sType":"1AS ","val":"0em"}]},{"N":"elem","name":"m:mfrac","sType":"1NE nQ{http://www.w3.org/1998/Math/MathML}mfrac ","nsuri":"http://www.w3.org/1998/Math/MathML","namespaces":"","line":"448","C":[{"N":"sequence","sType":"*N ","C":[{"N":"att","name":"linethickness","nsuri":"","sType":"1NA ","C":[{"N":"fn","name":"string-join","sType":"1AS ","C":[{"N":"first","C":[{"N":"convert","type":"AS*","from":"AZ","to":"AS","C":[{"N":"data","C":[{"N":"mergeAdj","sType":"*","C":[{"N":"varRef","name":"Q{}w","slot":"3","sType":"*","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","line":"448"}]}]}]}]},{"N":"str","sType":"1AS ","val":" "}]}]},{"N":"elem","name":"m:mspace","sType":"1NE nQ{http://www.w3.org/1998/Math/MathML}mspace ","nsuri":"http://www.w3.org/1998/Math/MathML","namespaces":"","line":"449","C":[{"N":"att","name":"width","nsuri":"","sType":"1NA ","C":[{"N":"str","sType":"1AS ","val":".5em"}]}]},{"N":"elem","name":"m:mrow","sType":"1NE nQ{http://www.w3.org/1998/Math/MathML}mrow ","nsuri":"http://www.w3.org/1998/Math/MathML","namespaces":"","line":"450","C":[{"N":"empty","sType":"0 "}]}]}]}]}]}]}]},{"N":"true"},{"N":"let","var":"Q{}l","slot":"4","sType":"*NE ","line":"456","C":[{"N":"axis","name":"attribute","nodeTest":"*NA nQ{}length","sType":"*NA nQ{}length","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","role":"select","line":"456"},{"N":"forEach","sType":"*NE nQ{http://www.w3.org/1998/Math/MathML}mtd ","line":"457","C":[{"N":"filter","flags":"p","sType":"*N","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","role":"select","line":"457","C":[{"N":"slash","op":"/","C":[{"N":"root"},{"N":"axis","name":"descendant","nodeTest":"*N u[NT,NP,NC,NE]"}]},{"N":"gc10","op":"<=","comp":"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint","card":"1:1","C":[{"N":"fn","name":"position"},{"N":"varRef","name":"Q{}l","slot":"4"}]}]},{"N":"elem","name":"m:mtd","sType":"1NE nQ{http://www.w3.org/1998/Math/MathML}mtd ","nsuri":"http://www.w3.org/1998/Math/MathML","namespaces":"","line":"458","C":[{"N":"sequence","sType":"*N ","C":[{"N":"att","name":"class","nsuri":"","sType":"1NA ","C":[{"N":"str","sType":"1AS ","val":"msline"}]},{"N":"elem","name":"m:mpadded","sType":"1NE nQ{http://www.w3.org/1998/Math/MathML}mpadded ","nsuri":"http://www.w3.org/1998/Math/MathML","namespaces":"","line":"459","C":[{"N":"sequence","sType":"*N ","C":[{"N":"att","name":"lspace","nsuri":"","sType":"1NA ","C":[{"N":"str","sType":"1AS ","val":"-0.2em"}]},{"N":"att","name":"width","nsuri":"","sType":"1NA ","C":[{"N":"str","sType":"1AS ","val":"0em"}]},{"N":"att","name":"height","nsuri":"","sType":"1NA ","C":[{"N":"str","sType":"1AS ","val":"0em"}]},{"N":"elem","name":"m:mfrac","sType":"1NE nQ{http://www.w3.org/1998/Math/MathML}mfrac ","nsuri":"http://www.w3.org/1998/Math/MathML","namespaces":"","line":"460","C":[{"N":"sequence","sType":"*N ","C":[{"N":"att","name":"linethickness","nsuri":"","sType":"1NA ","C":[{"N":"fn","name":"string-join","sType":"1AS ","C":[{"N":"first","C":[{"N":"convert","type":"AS*","from":"AZ","to":"AS","C":[{"N":"data","C":[{"N":"mergeAdj","sType":"*","C":[{"N":"varRef","name":"Q{}w","slot":"3","sType":"*","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","line":"460"}]}]}]}]},{"N":"str","sType":"1AS ","val":" "}]}]},{"N":"elem","name":"m:mspace","sType":"1NE nQ{http://www.w3.org/1998/Math/MathML}mspace ","nsuri":"http://www.w3.org/1998/Math/MathML","namespaces":"","line":"461","C":[{"N":"att","name":"width","nsuri":"","sType":"1NA ","C":[{"N":"str","sType":"1AS ","val":".5em"}]}]},{"N":"elem","name":"m:mrow","sType":"1NE nQ{http://www.w3.org/1998/Math/MathML}mrow ","nsuri":"http://www.w3.org/1998/Math/MathML","namespaces":"","line":"462","C":[{"N":"empty","sType":"0 "}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"N":"templateRule","rank":"2","prec":"0","seq":"47","ns":"xml=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common","minImp":"0","flags":"s","baseUri":"file:///Users/dpvc/Desktop/Tumlook/Data/Code/JavaScript/MathJax/Code/Git/mathjax/MathJax-src/ts/input/mathml/mml3/mml3.xsl","slots":"200","line":"408","module":"mml3.xsl","match":"m:msgroup","prio":"0","matches":"NE nQ{http://www.w3.org/1998/Math/MathML}msgroup","C":[{"N":"p.nodeTest","role":"match","test":"NE nQ{http://www.w3.org/1998/Math/MathML}msgroup","sType":"1NE nQ{http://www.w3.org/1998/Math/MathML}msgroup","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common "},{"N":"sequence","role":"action","sType":"* ","C":[{"N":"param","name":"Q{}p","slot":"0","sType":"* ","as":"* ","flags":"","line":"409","C":[{"N":"str","sType":"1AS ","val":"","role":"select"},{"N":"supplied","role":"conversion","slot":"0","sType":"* "}]},{"N":"let","var":"Q{}s","slot":"1","sType":"* ","line":"410","C":[{"N":"fn","name":"number","sType":"1AO","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","role":"select","line":"410","C":[{"N":"fn","name":"sum","C":[{"N":"attVal","name":"Q{}shift"}]}]},{"N":"let","var":"Q{}thisp","slot":"2","sType":"* ","line":"411","C":[{"N":"fn","name":"number","sType":"1AO","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","role":"select","line":"411","C":[{"N":"fn","name":"sum","C":[{"N":"attVal","name":"Q{}position"}]}]},{"N":"forEach","sType":"* ","line":"412","C":[{"N":"axis","name":"child","nodeTest":"*NE","sType":"*NE","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","role":"select","line":"412"},{"N":"applyT","sType":"* ","line":"413","mode":"Q{}mstack1","bSlot":"1","C":[{"N":"dot","sType":"1NE","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","role":"select","line":"413"},{"N":"withParam","name":"Q{}p","slot":"0","sType":"1AO","C":[{"N":"arith10","op":"+","calc":"d+d","sType":"1AO","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","role":"select","line":"414","C":[{"N":"arith10","op":"+","calc":"d+d","C":[{"N":"fn","name":"number","C":[{"N":"atomSing","diag":"0|0||number","card":"?","C":[{"N":"first","C":[{"N":"varRef","name":"Q{}p","slot":"0"}]}]}]},{"N":"atomSing","diag":"1|1||arith","card":"?","C":[{"N":"first","C":[{"N":"varRef","name":"Q{}thisp","slot":"2"}]}]}]},{"N":"arith10","op":"*","calc":"d*d","C":[{"N":"arith10","op":"-","calc":"d-d","C":[{"N":"fn","name":"position"},{"N":"int","val":"1"}]},{"N":"atomSing","diag":"1|1||arith","card":"?","C":[{"N":"first","C":[{"N":"varRef","name":"Q{}s","slot":"1"}]}]}]}]}]}]}]}]}]}]}]},{"N":"templateRule","rank":"3","prec":"0","seq":"46","ns":"xml=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common","minImp":"0","flags":"s","baseUri":"file:///Users/dpvc/Desktop/Tumlook/Data/Code/JavaScript/MathJax/Code/Git/mathjax/MathJax-src/ts/input/mathml/mml3/mml3.xsl","slots":"200","line":"373","module":"mml3.xsl","match":"m:mn","prio":"0","matches":"NE nQ{http://www.w3.org/1998/Math/MathML}mn","C":[{"N":"p.nodeTest","role":"match","test":"NE nQ{http://www.w3.org/1998/Math/MathML}mn","sType":"1NE nQ{http://www.w3.org/1998/Math/MathML}mn","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common "},{"N":"sequence","role":"action","sType":"* ","C":[{"N":"param","name":"Q{}p","slot":"0","sType":"* ","as":"* ","flags":"","line":"374","C":[{"N":"str","sType":"1AS ","val":"","role":"select"},{"N":"supplied","role":"conversion","slot":"0","sType":"* "}]},{"N":"let","var":"Q{}align1","slot":"1","sType":"*NE ","line":"375","C":[{"N":"docOrder","sType":"*NA nQ{}stackalign","role":"select","line":"375","C":[{"N":"slash","op":"/","sType":"*NA nQ{}stackalign","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","C":[{"N":"fn","name":"reverse","C":[{"N":"first","C":[{"N":"axis","name":"ancestor","nodeTest":"*NE nQ{http://www.w3.org/1998/Math/MathML}mstack"}]}]},{"N":"axis","name":"attribute","nodeTest":"*NA nQ{}stackalign"}]}]},{"N":"let","var":"Q{}dp1","slot":"2","sType":"*NE ","line":"376","C":[{"N":"docOrder","sType":"*NA nQ{}decimalpoint","role":"select","line":"376","C":[{"N":"slash","op":"/","sType":"*NA nQ{}decimalpoint","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","C":[{"N":"fn","name":"reverse","C":[{"N":"first","C":[{"N":"filter","C":[{"N":"axis","name":"ancestor","nodeTest":"*NE"},{"N":"axis","name":"attribute","nodeTest":"*NA nQ{}decimalpoint"}]}]}]},{"N":"axis","name":"attribute","nodeTest":"*NA nQ{}decimalpoint"}]}]},{"N":"let","var":"Q{}align","slot":"3","sType":"*NE ","line":"377","C":[{"N":"doc","sType":"1ND ","base":"file:///Users/dpvc/Desktop/Tumlook/Data/Code/JavaScript/MathJax/Code/Git/mathjax/MathJax-src/ts/input/mathml/mml3/mml3.xsl","role":"select","C":[{"N":"choose","sType":"?NT ","type":"item()*","line":"378","C":[{"N":"gc10","op":"=","comp":"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint","card":"1:1","sType":"1AB","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","line":"379","C":[{"N":"fn","name":"string","C":[{"N":"first","C":[{"N":"varRef","name":"Q{}align1","slot":"1"}]}]},{"N":"str","val":""}]},{"N":"valueOf","sType":"1NT ","C":[{"N":"str","sType":"1AS ","val":"decimalpoint"}]},{"N":"true"},{"N":"valueOf","flags":"l","sType":"1NT ","C":[{"N":"fn","name":"string-join","role":"select","C":[{"N":"first","C":[{"N":"forEach","sType":"*AS ","C":[{"N":"data","sType":"*A ","C":[{"N":"mergeAdj","C":[{"N":"varRef","sType":"*","name":"Q{}align1","slot":"1","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","role":"select","line":"9"}]}]},{"N":"fn","name":"string","sType":"1AS ","C":[{"N":"dot"}]}]}]},{"N":"str","sType":"1AS ","val":" "}]}]}]}]},{"N":"let","var":"Q{}dp","slot":"4","sType":"*NE ","line":"383","C":[{"N":"doc","sType":"1ND ","base":"file:///Users/dpvc/Desktop/Tumlook/Data/Code/JavaScript/MathJax/Code/Git/mathjax/MathJax-src/ts/input/mathml/mml3/mml3.xsl","role":"select","C":[{"N":"choose","sType":"?NT ","type":"item()*","line":"384","C":[{"N":"gc10","op":"=","comp":"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint","card":"1:1","sType":"1AB","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","line":"385","C":[{"N":"fn","name":"string","C":[{"N":"first","C":[{"N":"varRef","name":"Q{}dp1","slot":"2"}]}]},{"N":"str","val":""}]},{"N":"valueOf","sType":"1NT ","C":[{"N":"str","sType":"1AS ","val":"."}]},{"N":"true"},{"N":"valueOf","flags":"l","sType":"1NT ","C":[{"N":"fn","name":"string-join","role":"select","C":[{"N":"first","C":[{"N":"forEach","sType":"*AS ","C":[{"N":"data","sType":"*A ","C":[{"N":"mergeAdj","C":[{"N":"varRef","sType":"*","name":"Q{}dp1","slot":"2","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","role":"select","line":"14"}]}]},{"N":"fn","name":"string","sType":"1AS ","C":[{"N":"dot"}]}]}]},{"N":"str","sType":"1AS ","val":" "}]}]}]}]},{"N":"elem","name":"m:mtr","sType":"1NE nQ{http://www.w3.org/1998/Math/MathML}mtr ","nsuri":"http://www.w3.org/1998/Math/MathML","namespaces":"","line":"389","C":[{"N":"sequence","sType":"* ","C":[{"N":"att","name":"l","nsuri":"","sType":"1NA ","C":[{"N":"str","sType":"1AS ","val":"$p"}]},{"N":"let","var":"Q{}mn","slot":"5","sType":"* ","line":"390","C":[{"N":"fn","name":"normalize-space","sType":"1AS","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","role":"select","line":"390","C":[{"N":"fn","name":"string","C":[{"N":"dot"}]}]},{"N":"let","var":"Q{}len","slot":"6","sType":"* ","line":"391","C":[{"N":"fn","name":"string-length","sType":"1ADI","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","role":"select","line":"391","C":[{"N":"fn","name":"string","C":[{"N":"first","C":[{"N":"varRef","name":"Q{}mn","slot":"5"}]}]}]},{"N":"sequence","sType":"* ","C":[{"N":"choose","sType":"? ","type":"item()*","line":"392","C":[{"N":"or","sType":"1AB","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","line":"393","C":[{"N":"gc10","op":"=","comp":"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint","card":"1:1","C":[{"N":"varRef","name":"Q{}align","slot":"3"},{"N":"str","val":"right"}]},{"N":"and","C":[{"N":"gc10","op":"=","comp":"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint","card":"1:1","C":[{"N":"varRef","name":"Q{}align","slot":"3"},{"N":"str","val":"decimalpoint"}]},{"N":"fn","name":"not","C":[{"N":"fn","name":"contains","C":[{"N":"fn","name":"string","C":[{"N":"first","C":[{"N":"varRef","name":"Q{}mn","slot":"5"}]}]},{"N":"fn","name":"string","C":[{"N":"first","C":[{"N":"varRef","name":"Q{}dp","slot":"4"}]}]},{"N":"str","val":"http://www.w3.org/2005/xpath-functions/collation/codepoint"}]}]}]}]},{"N":"att","name":"l","sType":"1NA ","line":"394","C":[{"N":"fn","name":"string-join","role":"select","C":[{"N":"first","C":[{"N":"forEach","sType":"*AS ","C":[{"N":"data","sType":"*A ","C":[{"N":"mergeAdj","C":[{"N":"valueOf","sType":"1NT ","flags":"l","C":[{"N":"fn","name":"string-join","role":"select","C":[{"N":"first","C":[{"N":"forEach","sType":"*AS ","C":[{"N":"data","sType":"*A ","C":[{"N":"mergeAdj","C":[{"N":"arith10","sType":"?AO","op":"+","calc":"d+d","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","role":"select","line":"21","C":[{"N":"atomSing","diag":"1|0||arith","card":"?","C":[{"N":"first","C":[{"N":"varRef","name":"Q{}p","slot":"0"}]}]},{"N":"atomSing","diag":"1|1||arith","card":"?","C":[{"N":"first","C":[{"N":"varRef","name":"Q{}len","slot":"6"}]}]}]}]}]},{"N":"fn","name":"string","sType":"1AS ","C":[{"N":"dot"}]}]}]},{"N":"str","sType":"1AS ","val":" "}]}]}]}]},{"N":"fn","name":"string","sType":"1AS ","C":[{"N":"dot"}]}]}]},{"N":"str","sType":"1AS ","val":""}]}]},{"N":"gc10","op":"=","comp":"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint","card":"1:1","sType":"1AB","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","line":"396","C":[{"N":"varRef","name":"Q{}align","slot":"3"},{"N":"str","val":"center"}]},{"N":"att","name":"l","sType":"1NA ","line":"397","C":[{"N":"fn","name":"string-join","role":"select","C":[{"N":"first","C":[{"N":"forEach","sType":"*AS ","C":[{"N":"data","sType":"*A ","C":[{"N":"mergeAdj","C":[{"N":"valueOf","sType":"1NT ","flags":"l","C":[{"N":"fn","name":"string-join","role":"select","C":[{"N":"first","C":[{"N":"forEach","sType":"*AS ","C":[{"N":"data","sType":"*A ","C":[{"N":"mergeAdj","C":[{"N":"fn","sType":"?A m[AO,AD,AF]","name":"round","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","role":"select","line":"24","C":[{"N":"arith10","op":"div","calc":"d/d","C":[{"N":"arith10","op":"+","calc":"d+d","C":[{"N":"atomSing","diag":"1|0||arith","card":"?","C":[{"N":"first","C":[{"N":"varRef","name":"Q{}p","slot":"0"}]}]},{"N":"atomSing","diag":"1|1||arith","card":"?","C":[{"N":"first","C":[{"N":"varRef","name":"Q{}len","slot":"6"}]}]}]},{"N":"int","val":"2"}]}]}]}]},{"N":"fn","name":"string","sType":"1AS ","C":[{"N":"dot"}]}]}]},{"N":"str","sType":"1AS ","val":" "}]}]}]}]},{"N":"fn","name":"string","sType":"1AS ","C":[{"N":"dot"}]}]}]},{"N":"str","sType":"1AS ","val":""}]}]},{"N":"gc10","op":"=","comp":"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint","card":"1:1","sType":"1AB","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","line":"399","C":[{"N":"varRef","name":"Q{}align","slot":"3"},{"N":"str","val":"decimalpoint"}]},{"N":"att","name":"l","sType":"1NA ","line":"400","C":[{"N":"fn","name":"string-join","role":"select","C":[{"N":"first","C":[{"N":"forEach","sType":"*AS ","C":[{"N":"data","sType":"*A ","C":[{"N":"mergeAdj","C":[{"N":"valueOf","sType":"1NT ","flags":"l","C":[{"N":"fn","name":"string-join","role":"select","C":[{"N":"first","C":[{"N":"forEach","sType":"*AS ","C":[{"N":"data","sType":"*A ","C":[{"N":"mergeAdj","C":[{"N":"arith10","sType":"?AO","op":"+","calc":"d+d","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","role":"select","line":"27","C":[{"N":"atomSing","diag":"1|0||arith","card":"?","C":[{"N":"first","C":[{"N":"varRef","name":"Q{}p","slot":"0"}]}]},{"N":"fn","name":"string-length","C":[{"N":"fn","name":"substring-before","C":[{"N":"fn","name":"string","C":[{"N":"first","C":[{"N":"varRef","name":"Q{}mn","slot":"5"}]}]},{"N":"fn","name":"string","C":[{"N":"first","C":[{"N":"varRef","name":"Q{}dp","slot":"4"}]}]},{"N":"str","val":"http://www.w3.org/2005/xpath-functions/collation/codepoint"}]}]}]}]}]},{"N":"fn","name":"string","sType":"1AS ","C":[{"N":"dot"}]}]}]},{"N":"str","sType":"1AS ","val":" "}]}]}]}]},{"N":"fn","name":"string","sType":"1AS ","C":[{"N":"dot"}]}]}]},{"N":"str","sType":"1AS ","val":""}]}]},{"N":"true"},{"N":"empty","sType":"0 "}]},{"N":"forEach","sType":"*NE ","line":"402","C":[{"N":"filter","flags":"p","sType":"*N","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","role":"select","line":"402","C":[{"N":"slash","op":"/","C":[{"N":"root"},{"N":"axis","name":"descendant","nodeTest":"*N u[NT,NP,NC,NE]"}]},{"N":"gc10","op":"<=","comp":"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint","card":"1:1","C":[{"N":"fn","name":"position"},{"N":"varRef","name":"Q{}len","slot":"6"}]}]},{"N":"let","var":"Q{}pos","slot":"7","sType":"*NE ","line":"403","C":[{"N":"fn","name":"position","sType":"1ADI","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","role":"select","line":"403"},{"N":"elem","name":"m:mtd","sType":"1NE nQ{http://www.w3.org/1998/Math/MathML}mtd ","nsuri":"http://www.w3.org/1998/Math/MathML","namespaces":"","line":"404","C":[{"N":"elem","name":"m:mn","sType":"1NE nQ{http://www.w3.org/1998/Math/MathML}mn ","nsuri":"http://www.w3.org/1998/Math/MathML","namespaces":"","C":[{"N":"valueOf","flags":"l","sType":"1NT ","C":[{"N":"fn","name":"string-join","role":"select","C":[{"N":"first","C":[{"N":"fn","name":"substring","sType":"1AS","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","role":"select","line":"32","C":[{"N":"fn","name":"string","C":[{"N":"first","C":[{"N":"varRef","name":"Q{}mn","slot":"5"}]}]},{"N":"fn","name":"number","C":[{"N":"first","C":[{"N":"varRef","name":"Q{}pos","slot":"7"}]}]},{"N":"fn","name":"number","C":[{"N":"int","val":"1"}]}]}]},{"N":"str","sType":"1AS ","val":" "}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"N":"templateRule","rank":"4","prec":"0","seq":"45","ns":"xml=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common","minImp":"0","flags":"s","baseUri":"file:///Users/dpvc/Desktop/Tumlook/Data/Code/JavaScript/MathJax/Code/Git/mathjax/MathJax-src/ts/input/mathml/mml3/mml3.xsl","slots":"200","line":"338","module":"mml3.xsl","match":"m:msrow","prio":"0","matches":"NE nQ{http://www.w3.org/1998/Math/MathML}msrow","C":[{"N":"p.nodeTest","role":"match","test":"NE nQ{http://www.w3.org/1998/Math/MathML}msrow","sType":"1NE nQ{http://www.w3.org/1998/Math/MathML}msrow","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common "},{"N":"sequence","role":"action","sType":"* ","C":[{"N":"param","name":"Q{}p","slot":"0","sType":"* ","as":"* ","flags":"","line":"339","C":[{"N":"str","sType":"1AS ","val":"","role":"select"},{"N":"supplied","role":"conversion","slot":"0","sType":"* "}]},{"N":"param","name":"Q{}maxl","slot":"1","sType":"* ","as":"* ","flags":"","line":"340","C":[{"N":"int","val":"0","sType":"1ADI","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","role":"select","line":"340"},{"N":"supplied","role":"conversion","slot":"1","sType":"* "}]},{"N":"let","var":"Q{}align1","slot":"2","sType":"*N ","line":"341","C":[{"N":"docOrder","sType":"*NA nQ{}stackalign","role":"select","line":"341","C":[{"N":"slash","op":"/","sType":"*NA nQ{}stackalign","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","C":[{"N":"fn","name":"reverse","C":[{"N":"first","C":[{"N":"axis","name":"ancestor","nodeTest":"*NE nQ{http://www.w3.org/1998/Math/MathML}mstack"}]}]},{"N":"axis","name":"attribute","nodeTest":"*NA nQ{}stackalign"}]}]},{"N":"let","var":"Q{}align","slot":"3","sType":"*N ","line":"342","C":[{"N":"doc","sType":"1ND ","base":"file:///Users/dpvc/Desktop/Tumlook/Data/Code/JavaScript/MathJax/Code/Git/mathjax/MathJax-src/ts/input/mathml/mml3/mml3.xsl","role":"select","C":[{"N":"choose","sType":"?NT ","type":"item()*","line":"343","C":[{"N":"gc10","op":"=","comp":"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint","card":"1:1","sType":"1AB","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","line":"344","C":[{"N":"fn","name":"string","C":[{"N":"first","C":[{"N":"varRef","name":"Q{}align1","slot":"2"}]}]},{"N":"str","val":""}]},{"N":"valueOf","sType":"1NT ","C":[{"N":"str","sType":"1AS ","val":"decimalpoint"}]},{"N":"true"},{"N":"valueOf","flags":"l","sType":"1NT ","C":[{"N":"fn","name":"string-join","role":"select","C":[{"N":"first","C":[{"N":"forEach","sType":"*AS ","C":[{"N":"data","sType":"*A ","C":[{"N":"mergeAdj","C":[{"N":"varRef","sType":"*","name":"Q{}align1","slot":"2","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","role":"select","line":"9"}]}]},{"N":"fn","name":"string","sType":"1AS ","C":[{"N":"dot"}]}]}]},{"N":"str","sType":"1AS ","val":" "}]}]}]}]},{"N":"let","var":"Q{}row","slot":"4","sType":"*N ","line":"348","C":[{"N":"doc","sType":"1ND ","base":"file:///Users/dpvc/Desktop/Tumlook/Data/Code/JavaScript/MathJax/Code/Git/mathjax/MathJax-src/ts/input/mathml/mml3/mml3.xsl","role":"select","C":[{"N":"applyT","sType":"* ","line":"349","mode":"Q{}mstack1","bSlot":"1","C":[{"N":"axis","name":"child","nodeTest":"*NE","sType":"*NE","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","role":"select","line":"349"},{"N":"withParam","name":"Q{}p","slot":"0","sType":"1ADI","C":[{"N":"int","val":"0","sType":"1ADI","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","role":"select","line":"350"}]}]}]},{"N":"sequence","sType":"*N ","C":[{"N":"valueOf","sType":"1NT ","C":[{"N":"str","sType":"1AS ","val":"\n"}]},{"N":"let","var":"Q{}l1","slot":"5","sType":"*NE ","line":"354","C":[{"N":"doc","sType":"1ND ","base":"file:///Users/dpvc/Desktop/Tumlook/Data/Code/JavaScript/MathJax/Code/Git/mathjax/MathJax-src/ts/input/mathml/mml3/mml3.xsl","role":"select","C":[{"N":"choose","sType":"*NT ","type":"item()*","line":"355","C":[{"N":"and","sType":"1AB","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","line":"356","C":[{"N":"gc10","op":"=","comp":"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint","card":"1:1","C":[{"N":"varRef","name":"Q{}align","slot":"3"},{"N":"str","val":"decimalpoint"}]},{"N":"axis","name":"child","nodeTest":"*NE nQ{http://www.w3.org/1998/Math/MathML}mn"}]},{"N":"forEach","sType":"*NT ","line":"357","C":[{"N":"docOrder","sType":"*NE nQ{http://www.w3.org/1998/Math/MathML}mtr","role":"select","line":"357","C":[{"N":"docOrder","sType":"*NE nQ{http://www.w3.org/1998/Math/MathML}mtr","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","C":[{"N":"slash","op":"/","C":[{"N":"treat","as":"N","diag":"1|0|XPTY0019|slash","C":[{"N":"varRef","name":"Q{}row","slot":"4"}]},{"N":"first","C":[{"N":"filter","C":[{"N":"axis","name":"child","nodeTest":"*NE nQ{http://www.w3.org/1998/Math/MathML}mtr"},{"N":"slash","op":"/","C":[{"N":"axis","name":"child","nodeTest":"*NE nQ{http://www.w3.org/1998/Math/MathML}mtd"},{"N":"axis","name":"child","nodeTest":"*NE nQ{http://www.w3.org/1998/Math/MathML}mn"}]}]}]}]}]}]},{"N":"valueOf","flags":"l","sType":"1NT ","line":"358","C":[{"N":"fn","name":"string-join","role":"select","C":[{"N":"first","C":[{"N":"forEach","sType":"*AS ","C":[{"N":"data","sType":"*A ","C":[{"N":"mergeAdj","C":[{"N":"arith10","sType":"1AO","op":"+","calc":"d+d","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","role":"select","line":"358","C":[{"N":"fn","name":"number","C":[{"N":"fn","name":"sum","C":[{"N":"attVal","name":"Q{}l"}]}]},{"N":"fn","name":"count","C":[{"N":"docOrder","C":[{"N":"slash","op":"/","C":[{"N":"fn","name":"reverse","C":[{"N":"axis","name":"preceding-sibling","nodeTest":"*NE"}]},{"N":"axis","name":"attribute","nodeTest":"*NA nQ{}l"}]}]}]}]}]}]},{"N":"fn","name":"string","sType":"1AS ","C":[{"N":"dot"}]}]}]},{"N":"str","sType":"1AS ","val":" "}]}]}]},{"N":"or","sType":"1AB","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","line":"361","C":[{"N":"gc10","op":"=","comp":"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint","card":"1:1","C":[{"N":"varRef","name":"Q{}align","slot":"3"},{"N":"str","val":"right"}]},{"N":"gc10","op":"=","comp":"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint","card":"1:1","C":[{"N":"varRef","name":"Q{}align","slot":"3"},{"N":"str","val":"decimalpoint"}]}]},{"N":"valueOf","flags":"l","sType":"1NT ","line":"362","C":[{"N":"fn","name":"string-join","role":"select","C":[{"N":"first","C":[{"N":"forEach","sType":"*AS ","C":[{"N":"data","sType":"*A ","C":[{"N":"mergeAdj","C":[{"N":"fn","sType":"1ADI","name":"count","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","role":"select","line":"362","C":[{"N":"docOrder","C":[{"N":"slash","op":"/","C":[{"N":"slash","op":"/","C":[{"N":"treat","as":"N","diag":"1|0|XPTY0019|slash","C":[{"N":"varRef","name":"Q{}row","slot":"4"}]},{"N":"axis","name":"child","nodeTest":"*NE nQ{http://www.w3.org/1998/Math/MathML}mtr"}]},{"N":"axis","name":"child","nodeTest":"*NE nQ{http://www.w3.org/1998/Math/MathML}mtd"}]}]}]}]}]},{"N":"fn","name":"string","sType":"1AS ","C":[{"N":"dot"}]}]}]},{"N":"str","sType":"1AS ","val":" "}]}]},{"N":"true"},{"N":"valueOf","flags":"l","sType":"1NT ","line":"365","C":[{"N":"fn","name":"string-join","role":"select","C":[{"N":"first","C":[{"N":"forEach","sType":"*AS ","C":[{"N":"data","sType":"*A ","C":[{"N":"mergeAdj","C":[{"N":"int","sType":"1ADI","val":"0","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","role":"select","line":"365"}]}]},{"N":"fn","name":"string","sType":"1AS ","C":[{"N":"dot"}]}]}]},{"N":"str","sType":"1AS ","val":" "}]}]}]}]},{"N":"elem","name":"m:mtr","sType":"1NE nQ{http://www.w3.org/1998/Math/MathML}mtr ","nsuri":"http://www.w3.org/1998/Math/MathML","namespaces":"","line":"369","C":[{"N":"sequence","sType":"*N ","C":[{"N":"att","name":"class","nsuri":"","sType":"1NA ","C":[{"N":"str","sType":"1AS ","val":"msrow"}]},{"N":"att","name":"l","nsuri":"","sType":"1NA ","C":[{"N":"fn","name":"string-join","sType":"1AS ","C":[{"N":"first","C":[{"N":"convert","type":"AS*","from":"AZ","to":"AS","C":[{"N":"data","C":[{"N":"mergeAdj","sType":"1AO","C":[{"N":"arith10","op":"+","calc":"d+d","sType":"1AO","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","line":"369","C":[{"N":"arith10","op":"+","calc":"d+d","C":[{"N":"fn","name":"number","C":[{"N":"atomSing","diag":"0|0||number","card":"?","C":[{"N":"first","C":[{"N":"varRef","name":"Q{}l1","slot":"5"}]}]}]},{"N":"fn","name":"number","C":[{"N":"fn","name":"sum","C":[{"N":"attVal","name":"Q{}position"}]}]}]},{"N":"atomSing","diag":"1|1||arith","card":"?","C":[{"N":"first","C":[{"N":"varRef","name":"Q{}p","slot":"0"}]}]}]}]}]}]}]},{"N":"str","sType":"1AS ","val":" "}]}]},{"N":"copyOf","flags":"c","ns":"xml=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ex=http://ns.saxonica.com/xslt/export","line":"370","sType":"*NE","C":[{"N":"docOrder","sType":"*NE","role":"select","line":"370","C":[{"N":"docOrder","sType":"*NE","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","C":[{"N":"slash","op":"/","C":[{"N":"slash","op":"/","C":[{"N":"treat","as":"N","diag":"1|0|XPTY0019|slash","C":[{"N":"varRef","name":"Q{}row","slot":"4"}]},{"N":"axis","name":"child","nodeTest":"*NE nQ{http://www.w3.org/1998/Math/MathML}mtr"}]},{"N":"axis","name":"child","nodeTest":"*NE"}]}]}]}]}]}]}]}]}]}]}]}]}]},{"N":"templateRule","rank":"5","prec":"0","seq":"44","ns":"xml=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common","minImp":"0","flags":"s","baseUri":"file:///Users/dpvc/Desktop/Tumlook/Data/Code/JavaScript/MathJax/Code/Git/mathjax/MathJax-src/ts/input/mathml/mml3/mml3.xsl","slots":"200","line":"328","module":"mml3.xsl","match":"*","prio":"-0.5","matches":"NE","C":[{"N":"p.nodeTest","role":"match","test":"NE","sType":"1NE","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common "},{"N":"sequence","role":"action","sType":"* ","C":[{"N":"param","name":"Q{}p","slot":"0","sType":"* ","as":"* ","flags":"","line":"329","C":[{"N":"str","sType":"1AS ","val":"","role":"select"},{"N":"supplied","role":"conversion","slot":"0","sType":"* "}]},{"N":"param","name":"Q{}maxl","slot":"1","sType":"* ","as":"* ","flags":"","line":"330","C":[{"N":"int","val":"0","sType":"1ADI","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","role":"select","line":"330"},{"N":"supplied","role":"conversion","slot":"1","sType":"* "}]},{"N":"elem","name":"m:mtr","sType":"1NE nQ{http://www.w3.org/1998/Math/MathML}mtr ","nsuri":"http://www.w3.org/1998/Math/MathML","namespaces":"","line":"331","C":[{"N":"sequence","sType":"* ","C":[{"N":"att","name":"l","nsuri":"","sType":"1NA ","C":[{"N":"fn","name":"string-join","sType":"1AS ","C":[{"N":"first","C":[{"N":"convert","type":"AS*","from":"AZ","to":"AS","C":[{"N":"data","C":[{"N":"mergeAdj","sType":"1AO","C":[{"N":"arith10","op":"+","calc":"d+d","sType":"1AO","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","line":"331","C":[{"N":"int","val":"1"},{"N":"atomSing","diag":"1|1||arith","card":"?","C":[{"N":"first","C":[{"N":"varRef","name":"Q{}p","slot":"0"}]}]}]}]}]}]}]},{"N":"str","sType":"1AS ","val":" "}]}]},{"N":"choose","sType":"? ","line":"332","C":[{"N":"gc10","op":"=","comp":"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint","card":"1:1","sType":"1AB","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","line":"332","C":[{"N":"slash","op":"/","C":[{"N":"fn","name":"reverse","C":[{"N":"first","C":[{"N":"axis","name":"ancestor","nodeTest":"*NE nQ{}mstack"}]}]},{"N":"axis","name":"attribute","nodeTest":"*NA nQ{}stackalign"}]},{"N":"str","val":"left"}]},{"N":"att","name":"l","sType":"1NA ","line":"333","C":[{"N":"fn","name":"string-join","role":"select","C":[{"N":"first","C":[{"N":"forEach","sType":"*AS ","C":[{"N":"data","sType":"*A ","C":[{"N":"mergeAdj","C":[{"N":"valueOf","sType":"1NT ","flags":"l","C":[{"N":"fn","name":"string-join","role":"select","C":[{"N":"first","C":[{"N":"forEach","sType":"*AS ","C":[{"N":"data","sType":"*A ","C":[{"N":"mergeAdj","C":[{"N":"varRef","sType":"*","name":"Q{}p","slot":"0","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","role":"select","line":"7"}]}]},{"N":"fn","name":"string","sType":"1AS ","C":[{"N":"dot"}]}]}]},{"N":"str","sType":"1AS ","val":" "}]}]}]}]},{"N":"fn","name":"string","sType":"1AS ","C":[{"N":"dot"}]}]}]},{"N":"str","sType":"1AS ","val":""}]}]},{"N":"true"},{"N":"empty","sType":"0 "}]},{"N":"elem","name":"m:mtd","sType":"1NE nQ{http://www.w3.org/1998/Math/MathML}mtd ","nsuri":"http://www.w3.org/1998/Math/MathML","namespaces":"","line":"335","C":[{"N":"applyT","sType":"* ","mode":"#unnamed","bSlot":"2","C":[{"N":"dot","sType":"1NE","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","role":"select","line":"9"}]}]}]}]}]}]}]}]},{"N":"co","id":"4","binds":"0","C":[{"N":"mode","onNo":"TC","flags":"","patternSlots":"0","name":"Q{}msc","prec":"","C":[{"N":"templateRule","rank":"0","prec":"0","seq":"51","ns":"xml=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common","minImp":"0","flags":"s","baseUri":"file:///Users/dpvc/Desktop/Tumlook/Data/Code/JavaScript/MathJax/Code/Git/mathjax/MathJax-src/ts/input/mathml/mml3/mml3.xsl","slots":"200","line":"499","module":"mml3.xsl","match":"m:mscarry","prio":"0","matches":"NE nQ{http://www.w3.org/1998/Math/MathML}mscarry","C":[{"N":"p.nodeTest","role":"match","test":"NE nQ{http://www.w3.org/1998/Math/MathML}mscarry","sType":"1NE nQ{http://www.w3.org/1998/Math/MathML}mscarry","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common "},{"N":"elem","name":"m:mtd","sType":"1NE nQ{http://www.w3.org/1998/Math/MathML}mtd ","nsuri":"http://www.w3.org/1998/Math/MathML","namespaces":"","role":"action","line":"500","C":[{"N":"sequence","sType":"* ","C":[{"N":"copyOf","flags":"c","ns":"xml=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ex=http://ns.saxonica.com/xslt/export","line":"501","sType":"*NA u[NA nQ{}location,NA nQ{}crossout]","C":[{"N":"docOrder","sType":"*NA u[NA nQ{}location,NA nQ{}crossout]","role":"select","line":"501","C":[{"N":"union","op":"|","sType":"*NA u[NA nQ{}location,NA nQ{}crossout]","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","C":[{"N":"axis","name":"attribute","nodeTest":"*NA nQ{}location"},{"N":"axis","name":"attribute","nodeTest":"*NA nQ{}crossout"}]}]}]},{"N":"choose","sType":"* ","type":"item()*","line":"502","C":[{"N":"docOrder","sType":"*NA nQ{}scriptsizemultiplier","line":"503","C":[{"N":"slash","op":"/","sType":"*NA nQ{}scriptsizemultiplier","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","C":[{"N":"axis","name":"parent","nodeTest":"?N"},{"N":"axis","name":"attribute","nodeTest":"*NA nQ{}scriptsizemultiplier"}]}]},{"N":"elem","name":"m:mstyle","sType":"1NE nQ{http://www.w3.org/1998/Math/MathML}mstyle ","nsuri":"http://www.w3.org/1998/Math/MathML","namespaces":"","line":"504","C":[{"N":"sequence","sType":"* ","C":[{"N":"att","name":"mathsize","nsuri":"","sType":"1NA ","C":[{"N":"fn","name":"concat","sType":"1AS ","C":[{"N":"fn","name":"string-join","sType":"1AS ","C":[{"N":"first","C":[{"N":"convert","type":"AS*","from":"AZ","to":"AS","C":[{"N":"data","C":[{"N":"mergeAdj","sType":"?A m[AO,AD,AF]","C":[{"N":"fn","name":"round","sType":"?A m[AO,AD,AF]","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","line":"504","C":[{"N":"arith10","op":"div","calc":"d/d","C":[{"N":"atomSing","diag":"1|0||arith","card":"?","C":[{"N":"first","C":[{"N":"slash","op":"/","C":[{"N":"axis","name":"parent","nodeTest":"?N"},{"N":"axis","name":"attribute","nodeTest":"*NA nQ{}scriptsizemultiplier"}]}]}]},{"N":"dec","val":"0.007"}]}]}]}]}]}]},{"N":"str","sType":"1AS ","val":" "}]},{"N":"str","sType":"1AS ","val":"%"},{"N":"str","sType":"1AS ","val":""}]}]},{"N":"applyT","sType":"* ","line":"505","mode":"#unnamed","bSlot":"0","C":[{"N":"axis","name":"child","nodeTest":"*N u[NT,NP,NC,NE]","sType":"*N u[NT,NP,NC,NE]","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","role":"select","line":"505"}]}]}]},{"N":"true"},{"N":"applyT","sType":"* ","line":"509","mode":"#unnamed","bSlot":"0","C":[{"N":"axis","name":"child","nodeTest":"*N u[NT,NP,NC,NE]","sType":"*N u[NT,NP,NC,NE]","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","role":"select","line":"509"}]}]}]}]}]},{"N":"templateRule","rank":"1","prec":"0","seq":"50","ns":"xml=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common","minImp":"0","flags":"s","baseUri":"file:///Users/dpvc/Desktop/Tumlook/Data/Code/JavaScript/MathJax/Code/Git/mathjax/MathJax-src/ts/input/mathml/mml3/mml3.xsl","slots":"200","line":"484","module":"mml3.xsl","match":"*","prio":"-0.5","matches":"NE","C":[{"N":"p.nodeTest","role":"match","test":"NE","sType":"1NE","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common "},{"N":"elem","name":"m:mtd","sType":"1NE nQ{http://www.w3.org/1998/Math/MathML}mtd ","nsuri":"http://www.w3.org/1998/Math/MathML","namespaces":"","role":"action","line":"485","C":[{"N":"sequence","sType":"* ","C":[{"N":"copyOf","flags":"c","ns":"xml=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ex=http://ns.saxonica.com/xslt/export","line":"486","sType":"*NA u[NA nQ{}location,NA nQ{}crossout]","C":[{"N":"docOrder","sType":"*NA u[NA nQ{}location,NA nQ{}crossout]","role":"select","line":"486","C":[{"N":"union","op":"|","sType":"*NA u[NA nQ{}location,NA nQ{}crossout]","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","C":[{"N":"slash","op":"/","C":[{"N":"axis","name":"parent","nodeTest":"?N"},{"N":"axis","name":"attribute","nodeTest":"*NA nQ{}location"}]},{"N":"slash","op":"/","C":[{"N":"axis","name":"parent","nodeTest":"?N"},{"N":"axis","name":"attribute","nodeTest":"*NA nQ{}crossout"}]}]}]}]},{"N":"choose","sType":"* ","type":"item()*","line":"487","C":[{"N":"docOrder","sType":"*NA nQ{}scriptsizemultiplier","line":"488","C":[{"N":"slash","op":"/","sType":"*NA nQ{}scriptsizemultiplier","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","C":[{"N":"axis","name":"parent","nodeTest":"?N"},{"N":"axis","name":"attribute","nodeTest":"*NA nQ{}scriptsizemultiplier"}]}]},{"N":"elem","name":"m:mstyle","sType":"1NE nQ{http://www.w3.org/1998/Math/MathML}mstyle ","nsuri":"http://www.w3.org/1998/Math/MathML","namespaces":"","line":"489","C":[{"N":"sequence","sType":"* ","C":[{"N":"att","name":"mathsize","nsuri":"","sType":"1NA ","C":[{"N":"fn","name":"concat","sType":"1AS ","C":[{"N":"fn","name":"string-join","sType":"1AS ","C":[{"N":"first","C":[{"N":"convert","type":"AS*","from":"AZ","to":"AS","C":[{"N":"data","C":[{"N":"mergeAdj","sType":"?A m[AO,AD,AF]","C":[{"N":"fn","name":"round","sType":"?A m[AO,AD,AF]","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","line":"489","C":[{"N":"arith10","op":"div","calc":"d/d","C":[{"N":"atomSing","diag":"1|0||arith","card":"?","C":[{"N":"first","C":[{"N":"slash","op":"/","C":[{"N":"axis","name":"parent","nodeTest":"?N"},{"N":"axis","name":"attribute","nodeTest":"*NA nQ{}scriptsizemultiplier"}]}]}]},{"N":"dec","val":"0.007"}]}]}]}]}]}]},{"N":"str","sType":"1AS ","val":" "}]},{"N":"str","sType":"1AS ","val":"%"},{"N":"str","sType":"1AS ","val":""}]}]},{"N":"applyT","sType":"* ","line":"490","mode":"#unnamed","bSlot":"0","C":[{"N":"dot","sType":"1NE","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","role":"select","line":"490"}]}]}]},{"N":"true"},{"N":"applyT","sType":"* ","line":"494","mode":"#unnamed","bSlot":"0","C":[{"N":"dot","sType":"1NE","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","role":"select","line":"494"}]}]}]}]}]}]}]},{"N":"overridden"},{"N":"output","C":[{"N":"property","name":"Q{http://saxon.sf.net/}stylesheet-version","value":"10"},{"N":"property","name":"indent","value":"yes"},{"N":"property","name":"omit-xml-declaration","value":"yes"}]},{"N":"decimalFormat"}],"Σ":"810a2741"} \ No newline at end of file +{"N":"package","version":"10","packageVersion":"1","saxonVersion":"Saxon-JS 2.3","target":"JS","targetVersion":"2","name":"TOP-LEVEL","relocatable":"true","buildDateTime":"2022-02-18T15:46:36.585-05:00","ns":"xml=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common","C":[{"N":"co","id":"0","binds":"0 3 2 1","C":[{"N":"mode","onNo":"TC","flags":"","patternSlots":"0","prec":"","C":[{"N":"templateRule","rank":"0","prec":"0","seq":"52","ns":"xml=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common","minImp":"0","flags":"s","baseUri":"file:///Users/dpvc/Desktop/Folders/Tumlook/Data/Code/JavaScript/MathJax/Code/Git/mathjax/MathJax-src/ts/input/mathml/mml3/mml3.xsl","slots":"200","line":"524","module":"mml3.xsl","expand-text":"false","match":"m:mlongdiv","prio":"11","matches":"NE nQ{http://www.w3.org/1998/Math/MathML}mlongdiv","C":[{"N":"p.nodeTest","role":"match","test":"NE nQ{http://www.w3.org/1998/Math/MathML}mlongdiv","sType":"1NE nQ{http://www.w3.org/1998/Math/MathML}mlongdiv","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common "},{"N":"let","var":"Q{}ms","slot":"0","sType":"* ","line":"525","role":"action","C":[{"N":"doc","sType":"1ND ","base":"file:///Users/dpvc/Desktop/Folders/Tumlook/Data/Code/JavaScript/MathJax/Code/Git/mathjax/MathJax-src/ts/input/mathml/mml3/mml3.xsl","role":"select","C":[{"N":"elem","name":"m:mstack","sType":"1NE nQ{http://www.w3.org/1998/Math/MathML}mstack ","nsuri":"http://www.w3.org/1998/Math/MathML","namespaces":"","line":"526","C":[{"N":"sequence","sType":"*N ","C":[{"N":"copyOf","flags":"c","ns":"xml=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ex=http://ns.saxonica.com/xslt/export","line":"527","sType":"?NA nQ{}decimalpoint","C":[{"N":"lastOf","sType":"?NA nQ{}decimalpoint","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","role":"select","line":"527","C":[{"N":"docOrder","C":[{"N":"slash","op":"/","C":[{"N":"fn","name":"reverse","C":[{"N":"axis","name":"ancestor-or-self","nodeTest":"*NE"}]},{"N":"axis","name":"attribute","nodeTest":"*NA nQ{}decimalpoint"}]}]}]}]},{"N":"choose","sType":"*N ","type":"item()*","line":"528","C":[{"N":"gc10","op":"=","comp":"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint","card":"1:1","sType":"1AB","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","line":"529","C":[{"N":"axis","name":"attribute","nodeTest":"*NA nQ{}longdivstyle"},{"N":"str","val":"left)(right"}]},{"N":"elem","name":"m:msrow","sType":"1NE nQ{http://www.w3.org/1998/Math/MathML}msrow ","nsuri":"http://www.w3.org/1998/Math/MathML","namespaces":"","line":"530","C":[{"N":"sequence","sType":"*NE ","C":[{"N":"elem","name":"m:mrow","sType":"1NE nQ{http://www.w3.org/1998/Math/MathML}mrow ","nsuri":"http://www.w3.org/1998/Math/MathML","namespaces":"","line":"531","C":[{"N":"copyOf","flags":"c","ns":"xml=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ex=http://ns.saxonica.com/xslt/export","sType":"?NE","C":[{"N":"first","sType":"?NE","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","role":"select","line":"9","C":[{"N":"axis","name":"child","nodeTest":"*NE"}]}]}]},{"N":"elem","name":"m:mo","sType":"1NE nQ{http://www.w3.org/1998/Math/MathML}mo ","nsuri":"http://www.w3.org/1998/Math/MathML","namespaces":"","line":"532","C":[{"N":"valueOf","sType":"1NT ","C":[{"N":"str","sType":"1AS ","val":")"}]}]},{"N":"copyOf","flags":"c","ns":"xml=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ex=http://ns.saxonica.com/xslt/export","line":"533","sType":"?NE","C":[{"N":"subscript","flags":"p","sType":"?NE","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","role":"select","line":"533","C":[{"N":"axis","name":"child","nodeTest":"*NE"},{"N":"int","val":"3"}]}]},{"N":"elem","name":"m:mo","sType":"1NE nQ{http://www.w3.org/1998/Math/MathML}mo ","nsuri":"http://www.w3.org/1998/Math/MathML","namespaces":"","line":"534","C":[{"N":"valueOf","sType":"1NT ","C":[{"N":"str","sType":"1AS ","val":"("}]}]},{"N":"copyOf","flags":"c","ns":"xml=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ex=http://ns.saxonica.com/xslt/export","line":"535","sType":"?NE","C":[{"N":"subscript","flags":"p","sType":"?NE","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","role":"select","line":"535","C":[{"N":"axis","name":"child","nodeTest":"*NE"},{"N":"int","val":"2"}]}]}]}]},{"N":"gc10","op":"=","comp":"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint","card":"1:1","sType":"1AB","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","line":"538","C":[{"N":"axis","name":"attribute","nodeTest":"*NA nQ{}longdivstyle"},{"N":"str","val":"left/\\right"}]},{"N":"elem","name":"m:msrow","sType":"1NE nQ{http://www.w3.org/1998/Math/MathML}msrow ","nsuri":"http://www.w3.org/1998/Math/MathML","namespaces":"","line":"539","C":[{"N":"sequence","sType":"*NE ","C":[{"N":"elem","name":"m:mrow","sType":"1NE nQ{http://www.w3.org/1998/Math/MathML}mrow ","nsuri":"http://www.w3.org/1998/Math/MathML","namespaces":"","line":"540","C":[{"N":"copyOf","flags":"c","ns":"xml=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ex=http://ns.saxonica.com/xslt/export","sType":"?NE","C":[{"N":"first","sType":"?NE","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","role":"select","line":"17","C":[{"N":"axis","name":"child","nodeTest":"*NE"}]}]}]},{"N":"elem","name":"m:mo","sType":"1NE nQ{http://www.w3.org/1998/Math/MathML}mo ","nsuri":"http://www.w3.org/1998/Math/MathML","namespaces":"","line":"541","C":[{"N":"valueOf","sType":"1NT ","C":[{"N":"str","sType":"1AS ","val":"/"}]}]},{"N":"copyOf","flags":"c","ns":"xml=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ex=http://ns.saxonica.com/xslt/export","line":"542","sType":"?NE","C":[{"N":"subscript","flags":"p","sType":"?NE","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","role":"select","line":"542","C":[{"N":"axis","name":"child","nodeTest":"*NE"},{"N":"int","val":"3"}]}]},{"N":"elem","name":"m:mo","sType":"1NE nQ{http://www.w3.org/1998/Math/MathML}mo ","nsuri":"http://www.w3.org/1998/Math/MathML","namespaces":"","line":"543","C":[{"N":"valueOf","sType":"1NT ","C":[{"N":"str","sType":"1AS ","val":"\\"}]}]},{"N":"copyOf","flags":"c","ns":"xml=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ex=http://ns.saxonica.com/xslt/export","line":"544","sType":"?NE","C":[{"N":"subscript","flags":"p","sType":"?NE","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","role":"select","line":"544","C":[{"N":"axis","name":"child","nodeTest":"*NE"},{"N":"int","val":"2"}]}]}]}]},{"N":"gc10","op":"=","comp":"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint","card":"1:1","sType":"1AB","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","line":"547","C":[{"N":"axis","name":"attribute","nodeTest":"*NA nQ{}longdivstyle"},{"N":"str","val":":right=right"}]},{"N":"elem","name":"m:msrow","sType":"1NE nQ{http://www.w3.org/1998/Math/MathML}msrow ","nsuri":"http://www.w3.org/1998/Math/MathML","namespaces":"","line":"548","C":[{"N":"sequence","sType":"*NE ","C":[{"N":"copyOf","flags":"c","ns":"xml=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ex=http://ns.saxonica.com/xslt/export","line":"549","sType":"?NE","C":[{"N":"subscript","flags":"p","sType":"?NE","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","role":"select","line":"549","C":[{"N":"axis","name":"child","nodeTest":"*NE"},{"N":"int","val":"3"}]}]},{"N":"elem","name":"m:mo","sType":"1NE nQ{http://www.w3.org/1998/Math/MathML}mo ","nsuri":"http://www.w3.org/1998/Math/MathML","namespaces":"","line":"550","C":[{"N":"valueOf","sType":"1NT ","C":[{"N":"str","sType":"1AS ","val":":"}]}]},{"N":"copyOf","flags":"c","ns":"xml=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ex=http://ns.saxonica.com/xslt/export","line":"551","sType":"?NE","C":[{"N":"first","sType":"?NE","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","role":"select","line":"551","C":[{"N":"axis","name":"child","nodeTest":"*NE"}]}]},{"N":"elem","name":"m:mo","sType":"1NE nQ{http://www.w3.org/1998/Math/MathML}mo ","nsuri":"http://www.w3.org/1998/Math/MathML","namespaces":"","line":"552","C":[{"N":"valueOf","sType":"1NT ","C":[{"N":"str","sType":"1AS ","val":"="}]}]},{"N":"copyOf","flags":"c","ns":"xml=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ex=http://ns.saxonica.com/xslt/export","line":"553","sType":"?NE","C":[{"N":"subscript","flags":"p","sType":"?NE","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","role":"select","line":"553","C":[{"N":"axis","name":"child","nodeTest":"*NE"},{"N":"int","val":"2"}]}]}]}]},{"N":"or","sType":"1AB","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","line":"560","C":[{"N":"or","C":[{"N":"or","C":[{"N":"gc10","op":"=","comp":"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint","card":"1:1","C":[{"N":"axis","name":"attribute","nodeTest":"*NA nQ{}longdivstyle"},{"N":"str","val":"stackedrightright"}]},{"N":"gc10","op":"=","comp":"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint","card":"1:1","C":[{"N":"axis","name":"attribute","nodeTest":"*NA nQ{}longdivstyle"},{"N":"str","val":"mediumstackedrightright"}]}]},{"N":"gc10","op":"=","comp":"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint","card":"1:1","C":[{"N":"axis","name":"attribute","nodeTest":"*NA nQ{}longdivstyle"},{"N":"str","val":"shortstackedrightright"}]}]},{"N":"gc10","op":"=","comp":"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint","card":"1:1","C":[{"N":"axis","name":"attribute","nodeTest":"*NA nQ{}longdivstyle"},{"N":"str","val":"stackedleftleft"}]}]},{"N":"sequence","sType":"*N ","C":[{"N":"att","name":"align","sType":"1NA ","line":"561","C":[{"N":"fn","name":"string-join","role":"select","C":[{"N":"first","C":[{"N":"forEach","sType":"*AS ","C":[{"N":"data","sType":"*A ","C":[{"N":"mergeAdj","C":[{"N":"valueOf","sType":"1NT ","C":[{"N":"str","sType":"1AS ","val":"top"}]}]}]},{"N":"fn","name":"string","sType":"1AS ","C":[{"N":"dot"}]}]}]},{"N":"str","sType":"1AS ","val":""}]}]},{"N":"copyOf","flags":"c","ns":"xml=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ex=http://ns.saxonica.com/xslt/export","line":"562","sType":"?NE","C":[{"N":"subscript","flags":"p","sType":"?NE","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","role":"select","line":"562","C":[{"N":"axis","name":"child","nodeTest":"*NE"},{"N":"int","val":"3"}]}]}]},{"N":"gc10","op":"=","comp":"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint","card":"1:1","sType":"1AB","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","line":"564","C":[{"N":"axis","name":"attribute","nodeTest":"*NA nQ{}longdivstyle"},{"N":"str","val":"stackedleftlinetop"}]},{"N":"sequence","sType":"*NE ","C":[{"N":"copyOf","flags":"c","ns":"xml=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ex=http://ns.saxonica.com/xslt/export","line":"565","sType":"?NE","C":[{"N":"subscript","flags":"p","sType":"?NE","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","role":"select","line":"565","C":[{"N":"axis","name":"child","nodeTest":"*NE"},{"N":"int","val":"2"}]}]},{"N":"elem","name":"m:msline","sType":"1NE nQ{http://www.w3.org/1998/Math/MathML}msline ","nsuri":"http://www.w3.org/1998/Math/MathML","namespaces":"","line":"566","C":[{"N":"att","name":"length","nsuri":"","sType":"1NA ","C":[{"N":"fn","name":"string-join","sType":"1AS ","C":[{"N":"first","C":[{"N":"convert","type":"AS*","from":"AZ","to":"AS","C":[{"N":"data","C":[{"N":"mergeAdj","sType":"1ADI","C":[{"N":"fn","name":"string-length","sType":"1ADI","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","line":"566","C":[{"N":"fn","name":"string","C":[{"N":"subscript","flags":"p","C":[{"N":"axis","name":"child","nodeTest":"*NE"},{"N":"int","val":"3"}]}]}]}]}]}]}]},{"N":"str","sType":"1AS ","val":" "}]}]}]},{"N":"elem","name":"m:msrow","sType":"1NE nQ{http://www.w3.org/1998/Math/MathML}msrow ","nsuri":"http://www.w3.org/1998/Math/MathML","namespaces":"","line":"567","C":[{"N":"sequence","sType":"*NE ","C":[{"N":"elem","name":"m:mrow","sType":"1NE nQ{http://www.w3.org/1998/Math/MathML}mrow ","nsuri":"http://www.w3.org/1998/Math/MathML","namespaces":"","line":"568","C":[{"N":"elem","name":"m:menclose","sType":"1NE nQ{http://www.w3.org/1998/Math/MathML}menclose ","nsuri":"http://www.w3.org/1998/Math/MathML","namespaces":"","line":"569","C":[{"N":"sequence","sType":"*N ","C":[{"N":"att","name":"notation","nsuri":"","sType":"1NA ","C":[{"N":"str","sType":"1AS ","val":"bottom right"}]},{"N":"copyOf","flags":"c","ns":"xml=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ex=http://ns.saxonica.com/xslt/export","line":"570","sType":"?NE","C":[{"N":"first","sType":"?NE","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","role":"select","line":"570","C":[{"N":"axis","name":"child","nodeTest":"*NE"}]}]}]}]}]},{"N":"copyOf","flags":"c","ns":"xml=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ex=http://ns.saxonica.com/xslt/export","line":"573","sType":"?NE","C":[{"N":"subscript","flags":"p","sType":"?NE","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","role":"select","line":"573","C":[{"N":"axis","name":"child","nodeTest":"*NE"},{"N":"int","val":"3"}]}]}]}]}]},{"N":"gc10","op":"=","comp":"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint","card":"1:1","sType":"1AB","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","line":"576","C":[{"N":"axis","name":"attribute","nodeTest":"*NA nQ{}longdivstyle"},{"N":"str","val":"righttop"}]},{"N":"sequence","sType":"*NE ","C":[{"N":"copyOf","flags":"c","ns":"xml=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ex=http://ns.saxonica.com/xslt/export","line":"577","sType":"?NE","C":[{"N":"subscript","flags":"p","sType":"?NE","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","role":"select","line":"577","C":[{"N":"axis","name":"child","nodeTest":"*NE"},{"N":"int","val":"2"}]}]},{"N":"elem","name":"m:msline","sType":"1NE nQ{http://www.w3.org/1998/Math/MathML}msline ","nsuri":"http://www.w3.org/1998/Math/MathML","namespaces":"","line":"578","C":[{"N":"att","name":"length","nsuri":"","sType":"1NA ","C":[{"N":"fn","name":"string-join","sType":"1AS ","C":[{"N":"first","C":[{"N":"convert","type":"AS*","from":"AZ","to":"AS","C":[{"N":"data","C":[{"N":"mergeAdj","sType":"1ADI","C":[{"N":"fn","name":"string-length","sType":"1ADI","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","line":"578","C":[{"N":"fn","name":"string","C":[{"N":"subscript","flags":"p","C":[{"N":"axis","name":"child","nodeTest":"*NE"},{"N":"int","val":"3"}]}]}]}]}]}]}]},{"N":"str","sType":"1AS ","val":" "}]}]}]},{"N":"elem","name":"m:msrow","sType":"1NE nQ{http://www.w3.org/1998/Math/MathML}msrow ","nsuri":"http://www.w3.org/1998/Math/MathML","namespaces":"","line":"579","C":[{"N":"sequence","sType":"*NE ","C":[{"N":"copyOf","flags":"c","ns":"xml=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ex=http://ns.saxonica.com/xslt/export","line":"580","sType":"?NE","C":[{"N":"subscript","flags":"p","sType":"?NE","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","role":"select","line":"580","C":[{"N":"axis","name":"child","nodeTest":"*NE"},{"N":"int","val":"3"}]}]},{"N":"elem","name":"m:menclose","sType":"1NE nQ{http://www.w3.org/1998/Math/MathML}menclose ","nsuri":"http://www.w3.org/1998/Math/MathML","namespaces":"","line":"581","C":[{"N":"sequence","sType":"*N ","C":[{"N":"att","name":"notation","nsuri":"","sType":"1NA ","C":[{"N":"str","sType":"1AS ","val":"top left bottom"}]},{"N":"copyOf","flags":"c","ns":"xml=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ex=http://ns.saxonica.com/xslt/export","line":"582","sType":"?NE","C":[{"N":"first","sType":"?NE","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","role":"select","line":"582","C":[{"N":"axis","name":"child","nodeTest":"*NE"}]}]}]}]}]}]}]},{"N":"true"},{"N":"sequence","sType":"*NE ","C":[{"N":"copyOf","flags":"c","ns":"xml=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ex=http://ns.saxonica.com/xslt/export","line":"586","sType":"?NE","C":[{"N":"subscript","flags":"p","sType":"?NE","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","role":"select","line":"586","C":[{"N":"axis","name":"child","nodeTest":"*NE"},{"N":"int","val":"2"}]}]},{"N":"elem","name":"m:msline","sType":"1NE nQ{http://www.w3.org/1998/Math/MathML}msline ","nsuri":"http://www.w3.org/1998/Math/MathML","namespaces":"","line":"587","C":[{"N":"att","name":"length","nsuri":"","sType":"1NA ","C":[{"N":"fn","name":"string-join","sType":"1AS ","C":[{"N":"first","C":[{"N":"convert","type":"AS*","from":"AZ","to":"AS","C":[{"N":"data","C":[{"N":"mergeAdj","sType":"1AO","C":[{"N":"arith10","op":"+","calc":"d+d","sType":"1AO","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","line":"587","C":[{"N":"fn","name":"string-length","C":[{"N":"fn","name":"string","C":[{"N":"subscript","flags":"p","C":[{"N":"axis","name":"child","nodeTest":"*NE"},{"N":"int","val":"3"}]}]}]},{"N":"int","val":"1"}]}]}]}]}]},{"N":"str","sType":"1AS ","val":" "}]}]}]},{"N":"elem","name":"m:msrow","sType":"1NE nQ{http://www.w3.org/1998/Math/MathML}msrow ","nsuri":"http://www.w3.org/1998/Math/MathML","namespaces":"","line":"588","C":[{"N":"sequence","sType":"*NE ","C":[{"N":"elem","name":"m:mrow","sType":"1NE nQ{http://www.w3.org/1998/Math/MathML}mrow ","nsuri":"http://www.w3.org/1998/Math/MathML","namespaces":"","line":"589","C":[{"N":"sequence","sType":"*NE ","C":[{"N":"copyOf","flags":"c","ns":"xml=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ex=http://ns.saxonica.com/xslt/export","sType":"?NE","C":[{"N":"first","sType":"?NE","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","role":"select","line":"52","C":[{"N":"axis","name":"child","nodeTest":"*NE"}]}]},{"N":"elem","name":"m:mspace","sType":"1NE nQ{http://www.w3.org/1998/Math/MathML}mspace ","nsuri":"http://www.w3.org/1998/Math/MathML","namespaces":"","C":[{"N":"att","name":"width","nsuri":"","sType":"1NA ","C":[{"N":"str","sType":"1AS ","val":".2em"}]}]}]}]},{"N":"elem","name":"m:mpadded","sType":"1NE nQ{http://www.w3.org/1998/Math/MathML}mpadded ","nsuri":"http://www.w3.org/1998/Math/MathML","namespaces":"","line":"590","C":[{"N":"sequence","sType":"*N ","C":[{"N":"att","name":"voffset","nsuri":"","sType":"1NA ","C":[{"N":"str","sType":"1AS ","val":".1em"}]},{"N":"att","name":"lspace","nsuri":"","sType":"1NA ","C":[{"N":"str","sType":"1AS ","val":"-.15em"}]},{"N":"att","name":"depth","nsuri":"","sType":"1NA ","C":[{"N":"str","sType":"1AS ","val":"-.2em"}]},{"N":"att","name":"height","nsuri":"","sType":"1NA ","C":[{"N":"str","sType":"1AS ","val":"-.2em"}]},{"N":"elem","name":"m:mo","sType":"1NE nQ{http://www.w3.org/1998/Math/MathML}mo ","nsuri":"http://www.w3.org/1998/Math/MathML","namespaces":"","line":"591","C":[{"N":"sequence","sType":"*N ","C":[{"N":"att","name":"minsize","nsuri":"","sType":"1NA ","C":[{"N":"str","sType":"1AS ","val":"1.2em"}]},{"N":"valueOf","sType":"1NT ","C":[{"N":"str","sType":"1AS ","val":")"}]}]}]}]}]},{"N":"copyOf","flags":"c","ns":"xml=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ex=http://ns.saxonica.com/xslt/export","line":"593","sType":"?NE","C":[{"N":"subscript","flags":"p","sType":"?NE","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","role":"select","line":"593","C":[{"N":"axis","name":"child","nodeTest":"*NE"},{"N":"int","val":"3"}]}]}]}]}]}]},{"N":"copyOf","flags":"c","ns":"xml=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ex=http://ns.saxonica.com/xslt/export","line":"597","sType":"*NE","C":[{"N":"filter","flags":"p","sType":"*NE","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","role":"select","line":"597","C":[{"N":"axis","name":"child","nodeTest":"*NE"},{"N":"gc10","op":">","comp":"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint","card":"1:1","C":[{"N":"fn","name":"position"},{"N":"int","val":"3"}]}]}]}]}]}]},{"N":"choose","sType":"* ","type":"item()*","line":"600","C":[{"N":"gc10","op":"=","comp":"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint","card":"1:1","sType":"1AB","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","line":"601","C":[{"N":"axis","name":"attribute","nodeTest":"*NA nQ{}longdivstyle"},{"N":"str","val":"stackedrightright"}]},{"N":"sequence","sType":"*NE ","C":[{"N":"elem","name":"m:menclose","sType":"1NE nQ{http://www.w3.org/1998/Math/MathML}menclose ","nsuri":"http://www.w3.org/1998/Math/MathML","namespaces":"","line":"602","C":[{"N":"sequence","sType":"* ","C":[{"N":"att","name":"notation","nsuri":"","sType":"1NA ","C":[{"N":"str","sType":"1AS ","val":"right"}]},{"N":"applyT","sType":"* ","line":"603","mode":"#unnamed","bSlot":"0","C":[{"N":"varRef","name":"Q{}ms","slot":"0","sType":"*","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","role":"select","line":"603"}]}]}]},{"N":"elem","name":"m:mtable","sType":"1NE nQ{http://www.w3.org/1998/Math/MathML}mtable ","nsuri":"http://www.w3.org/1998/Math/MathML","namespaces":"","line":"605","C":[{"N":"sequence","sType":"*N ","C":[{"N":"att","name":"align","nsuri":"","sType":"1NA ","C":[{"N":"str","sType":"1AS ","val":"top"}]},{"N":"elem","name":"m:mtr","sType":"1NE nQ{http://www.w3.org/1998/Math/MathML}mtr ","nsuri":"http://www.w3.org/1998/Math/MathML","namespaces":"","line":"606","C":[{"N":"elem","name":"m:menclose","sType":"1NE nQ{http://www.w3.org/1998/Math/MathML}menclose ","nsuri":"http://www.w3.org/1998/Math/MathML","namespaces":"","line":"607","C":[{"N":"sequence","sType":"*N ","C":[{"N":"att","name":"notation","nsuri":"","sType":"1NA ","C":[{"N":"str","sType":"1AS ","val":"bottom"}]},{"N":"copyOf","flags":"c","ns":"xml=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ex=http://ns.saxonica.com/xslt/export","line":"608","sType":"?NE","C":[{"N":"first","sType":"?NE","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","role":"select","line":"608","C":[{"N":"axis","name":"child","nodeTest":"*NE"}]}]}]}]}]},{"N":"elem","name":"m:mtr","sType":"1NE nQ{http://www.w3.org/1998/Math/MathML}mtr ","nsuri":"http://www.w3.org/1998/Math/MathML","namespaces":"","line":"611","C":[{"N":"elem","name":"mtd","sType":"1NE nQ{}mtd ","nsuri":"","namespaces":"","line":"612","C":[{"N":"copyOf","flags":"c","ns":"xml=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ex=http://ns.saxonica.com/xslt/export","sType":"?NE","C":[{"N":"subscript","flags":"p","sType":"?NE","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","role":"select","line":"68","C":[{"N":"axis","name":"child","nodeTest":"*NE"},{"N":"int","val":"2"}]}]}]}]}]}]}]},{"N":"gc10","op":"=","comp":"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint","card":"1:1","sType":"1AB","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","line":"616","C":[{"N":"axis","name":"attribute","nodeTest":"*NA nQ{}longdivstyle"},{"N":"str","val":"mediumstackedrightright"}]},{"N":"sequence","sType":"* ","C":[{"N":"applyT","sType":"* ","line":"617","mode":"#unnamed","bSlot":"0","C":[{"N":"varRef","name":"Q{}ms","slot":"0","sType":"*","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","role":"select","line":"617"}]},{"N":"elem","name":"m:menclose","sType":"1NE nQ{http://www.w3.org/1998/Math/MathML}menclose ","nsuri":"http://www.w3.org/1998/Math/MathML","namespaces":"","line":"618","C":[{"N":"sequence","sType":"*N ","C":[{"N":"att","name":"notation","nsuri":"","sType":"1NA ","C":[{"N":"str","sType":"1AS ","val":"left"}]},{"N":"elem","name":"m:mtable","sType":"1NE nQ{http://www.w3.org/1998/Math/MathML}mtable ","nsuri":"http://www.w3.org/1998/Math/MathML","namespaces":"","line":"619","C":[{"N":"sequence","sType":"*N ","C":[{"N":"att","name":"align","nsuri":"","sType":"1NA ","C":[{"N":"str","sType":"1AS ","val":"top"}]},{"N":"elem","name":"m:mtr","sType":"1NE nQ{http://www.w3.org/1998/Math/MathML}mtr ","nsuri":"http://www.w3.org/1998/Math/MathML","namespaces":"","line":"620","C":[{"N":"elem","name":"m:menclose","sType":"1NE nQ{http://www.w3.org/1998/Math/MathML}menclose ","nsuri":"http://www.w3.org/1998/Math/MathML","namespaces":"","line":"621","C":[{"N":"sequence","sType":"*N ","C":[{"N":"att","name":"notation","nsuri":"","sType":"1NA ","C":[{"N":"str","sType":"1AS ","val":"bottom"}]},{"N":"copyOf","flags":"c","ns":"xml=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ex=http://ns.saxonica.com/xslt/export","line":"622","sType":"?NE","C":[{"N":"first","sType":"?NE","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","role":"select","line":"622","C":[{"N":"axis","name":"child","nodeTest":"*NE"}]}]}]}]}]},{"N":"elem","name":"m:mtr","sType":"1NE nQ{http://www.w3.org/1998/Math/MathML}mtr ","nsuri":"http://www.w3.org/1998/Math/MathML","namespaces":"","line":"625","C":[{"N":"elem","name":"mtd","sType":"1NE nQ{}mtd ","nsuri":"","namespaces":"","line":"626","C":[{"N":"copyOf","flags":"c","ns":"xml=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ex=http://ns.saxonica.com/xslt/export","sType":"?NE","C":[{"N":"subscript","flags":"p","sType":"?NE","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","role":"select","line":"78","C":[{"N":"axis","name":"child","nodeTest":"*NE"},{"N":"int","val":"2"}]}]}]}]}]}]}]}]}]},{"N":"gc10","op":"=","comp":"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint","card":"1:1","sType":"1AB","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","line":"631","C":[{"N":"axis","name":"attribute","nodeTest":"*NA nQ{}longdivstyle"},{"N":"str","val":"shortstackedrightright"}]},{"N":"sequence","sType":"* ","C":[{"N":"applyT","sType":"* ","line":"632","mode":"#unnamed","bSlot":"0","C":[{"N":"varRef","name":"Q{}ms","slot":"0","sType":"*","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","role":"select","line":"632"}]},{"N":"elem","name":"m:mtable","sType":"1NE nQ{http://www.w3.org/1998/Math/MathML}mtable ","nsuri":"http://www.w3.org/1998/Math/MathML","namespaces":"","line":"633","C":[{"N":"sequence","sType":"*N ","C":[{"N":"att","name":"align","nsuri":"","sType":"1NA ","C":[{"N":"str","sType":"1AS ","val":"top"}]},{"N":"elem","name":"m:mtr","sType":"1NE nQ{http://www.w3.org/1998/Math/MathML}mtr ","nsuri":"http://www.w3.org/1998/Math/MathML","namespaces":"","line":"634","C":[{"N":"elem","name":"m:menclose","sType":"1NE nQ{http://www.w3.org/1998/Math/MathML}menclose ","nsuri":"http://www.w3.org/1998/Math/MathML","namespaces":"","line":"635","C":[{"N":"sequence","sType":"*N ","C":[{"N":"att","name":"notation","nsuri":"","sType":"1NA ","C":[{"N":"str","sType":"1AS ","val":"left bottom"}]},{"N":"copyOf","flags":"c","ns":"xml=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ex=http://ns.saxonica.com/xslt/export","line":"636","sType":"?NE","C":[{"N":"first","sType":"?NE","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","role":"select","line":"636","C":[{"N":"axis","name":"child","nodeTest":"*NE"}]}]}]}]}]},{"N":"elem","name":"m:mtr","sType":"1NE nQ{http://www.w3.org/1998/Math/MathML}mtr ","nsuri":"http://www.w3.org/1998/Math/MathML","namespaces":"","line":"639","C":[{"N":"elem","name":"mtd","sType":"1NE nQ{}mtd ","nsuri":"","namespaces":"","line":"640","C":[{"N":"copyOf","flags":"c","ns":"xml=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ex=http://ns.saxonica.com/xslt/export","sType":"?NE","C":[{"N":"subscript","flags":"p","sType":"?NE","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","role":"select","line":"87","C":[{"N":"axis","name":"child","nodeTest":"*NE"},{"N":"int","val":"2"}]}]}]}]}]}]}]},{"N":"gc10","op":"=","comp":"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint","card":"1:1","sType":"1AB","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","line":"644","C":[{"N":"axis","name":"attribute","nodeTest":"*NA nQ{}longdivstyle"},{"N":"str","val":"stackedleftleft"}]},{"N":"sequence","sType":"*NE ","C":[{"N":"elem","name":"m:mtable","sType":"1NE nQ{http://www.w3.org/1998/Math/MathML}mtable ","nsuri":"http://www.w3.org/1998/Math/MathML","namespaces":"","line":"645","C":[{"N":"sequence","sType":"*N ","C":[{"N":"att","name":"align","nsuri":"","sType":"1NA ","C":[{"N":"str","sType":"1AS ","val":"top"}]},{"N":"elem","name":"m:mtr","sType":"1NE nQ{http://www.w3.org/1998/Math/MathML}mtr ","nsuri":"http://www.w3.org/1998/Math/MathML","namespaces":"","line":"646","C":[{"N":"elem","name":"m:menclose","sType":"1NE nQ{http://www.w3.org/1998/Math/MathML}menclose ","nsuri":"http://www.w3.org/1998/Math/MathML","namespaces":"","line":"647","C":[{"N":"sequence","sType":"*N ","C":[{"N":"att","name":"notation","nsuri":"","sType":"1NA ","C":[{"N":"str","sType":"1AS ","val":"bottom"}]},{"N":"copyOf","flags":"c","ns":"xml=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ex=http://ns.saxonica.com/xslt/export","line":"648","sType":"?NE","C":[{"N":"first","sType":"?NE","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","role":"select","line":"648","C":[{"N":"axis","name":"child","nodeTest":"*NE"}]}]}]}]}]},{"N":"elem","name":"m:mtr","sType":"1NE nQ{http://www.w3.org/1998/Math/MathML}mtr ","nsuri":"http://www.w3.org/1998/Math/MathML","namespaces":"","line":"651","C":[{"N":"elem","name":"mtd","sType":"1NE nQ{}mtd ","nsuri":"","namespaces":"","line":"652","C":[{"N":"copyOf","flags":"c","ns":"xml=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ex=http://ns.saxonica.com/xslt/export","sType":"?NE","C":[{"N":"subscript","flags":"p","sType":"?NE","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","role":"select","line":"95","C":[{"N":"axis","name":"child","nodeTest":"*NE"},{"N":"int","val":"2"}]}]}]}]}]}]},{"N":"elem","name":"m:menclose","sType":"1NE nQ{http://www.w3.org/1998/Math/MathML}menclose ","nsuri":"http://www.w3.org/1998/Math/MathML","namespaces":"","line":"655","C":[{"N":"sequence","sType":"* ","C":[{"N":"att","name":"notation","nsuri":"","sType":"1NA ","C":[{"N":"str","sType":"1AS ","val":"left"}]},{"N":"applyT","sType":"* ","line":"656","mode":"#unnamed","bSlot":"0","C":[{"N":"varRef","name":"Q{}ms","slot":"0","sType":"*","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","role":"select","line":"656"}]}]}]}]},{"N":"true"},{"N":"applyT","sType":"* ","line":"660","mode":"#unnamed","bSlot":"0","C":[{"N":"varRef","name":"Q{}ms","slot":"0","sType":"*","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","role":"select","line":"660"}]}]}]}]},{"N":"templateRule","rank":"1","prec":"0","seq":"38","ns":"xml=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common","minImp":"0","flags":"s","baseUri":"file:///Users/dpvc/Desktop/Folders/Tumlook/Data/Code/JavaScript/MathJax/Code/Git/mathjax/MathJax-src/ts/input/mathml/mml3/mml3.xsl","slots":"200","line":"171","module":"mml3.xsl","expand-text":"false","match":"m:mstack","prio":"11","matches":"NE nQ{http://www.w3.org/1998/Math/MathML}mstack","C":[{"N":"p.nodeTest","role":"match","test":"NE nQ{http://www.w3.org/1998/Math/MathML}mstack","sType":"1NE nQ{http://www.w3.org/1998/Math/MathML}mstack","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common "},{"N":"let","var":"Q{}m","slot":"0","sType":"* ","line":"172","role":"action","C":[{"N":"doc","sType":"1ND ","base":"file:///Users/dpvc/Desktop/Folders/Tumlook/Data/Code/JavaScript/MathJax/Code/Git/mathjax/MathJax-src/ts/input/mathml/mml3/mml3.xsl","role":"select","C":[{"N":"elem","name":"m:mtable","sType":"1NE nQ{http://www.w3.org/1998/Math/MathML}mtable ","nsuri":"http://www.w3.org/1998/Math/MathML","namespaces":"","line":"173","C":[{"N":"sequence","sType":"*N ","C":[{"N":"att","name":"columnspacing","nsuri":"","sType":"1NA ","C":[{"N":"str","sType":"1AS ","val":"0em"}]},{"N":"att","name":"rowspacing","nsuri":"","sType":"1NA ","C":[{"N":"str","sType":"1AS ","val":"0em"}]},{"N":"copyOf","flags":"c","ns":"xml=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ex=http://ns.saxonica.com/xslt/export","line":"174","sType":"*NA nQ{}align","C":[{"N":"axis","name":"attribute","nodeTest":"*NA nQ{}align","sType":"*NA nQ{}align","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","role":"select","line":"174"}]},{"N":"let","var":"Q{}t","slot":"0","sType":"*N ","line":"175","C":[{"N":"doc","sType":"1ND ","base":"file:///Users/dpvc/Desktop/Folders/Tumlook/Data/Code/JavaScript/MathJax/Code/Git/mathjax/MathJax-src/ts/input/mathml/mml3/mml3.xsl","role":"select","C":[{"N":"applyT","sType":"* ","line":"176","mode":"Q{}mstack1","bSlot":"1","C":[{"N":"axis","name":"child","nodeTest":"*NE","sType":"*NE","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","role":"select","line":"176"},{"N":"withParam","name":"Q{}p","slot":"0","sType":"1ADI","C":[{"N":"int","val":"0","sType":"1ADI","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","role":"select","line":"177"}]}]}]},{"N":"let","var":"Q{}maxl","slot":"1","sType":"*N ","line":"180","C":[{"N":"doc","sType":"1ND ","base":"file:///Users/dpvc/Desktop/Folders/Tumlook/Data/Code/JavaScript/MathJax/Code/Git/mathjax/MathJax-src/ts/input/mathml/mml3/mml3.xsl","role":"select","C":[{"N":"forEach","sType":"* ","line":"181","C":[{"N":"sort","sType":"*NA nQ{}l","C":[{"N":"docOrder","sType":"*NA nQ{}l","role":"select","line":"181","C":[{"N":"docOrder","sType":"*NA nQ{}l","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","C":[{"N":"slash","op":"/","C":[{"N":"slash","op":"/","C":[{"N":"treat","as":"N","diag":"1|0|XPTY0019|slash","C":[{"N":"varRef","name":"Q{}t","slot":"0"}]},{"N":"axis","name":"child","nodeTest":"*NE"}]},{"N":"axis","name":"attribute","nodeTest":"*NA nQ{}l"}]}]}]},{"N":"sortKey","sType":"*A ","C":[{"N":"data","sType":"*A ","role":"select","C":[{"N":"dot","sType":"1NA nQ{}l ","role":"select"}]},{"N":"str","sType":"1AS ","val":"descending","role":"order"},{"N":"str","sType":"1AS ","val":"en","role":"lang"},{"N":"str","sType":"1AS ","val":"#default","role":"caseOrder"},{"N":"str","sType":"1AS ","val":"true","role":"stable"},{"N":"str","sType":"1AS ","val":"number","role":"dataType"}]}]},{"N":"choose","sType":"? ","line":"183","C":[{"N":"gc10","op":"=","comp":"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint","card":"1:1","sType":"1AB","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","line":"183","C":[{"N":"fn","name":"position"},{"N":"int","val":"1"}]},{"N":"valueOf","flags":"l","sType":"1NT ","line":"184","C":[{"N":"fn","name":"string-join","role":"select","C":[{"N":"first","C":[{"N":"forEach","sType":"*AS ","C":[{"N":"data","sType":"*A ","C":[{"N":"mergeAdj","C":[{"N":"dot","sType":"1NA nQ{}l","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","role":"select","line":"184"}]}]},{"N":"fn","name":"string","sType":"1AS ","C":[{"N":"dot"}]}]}]},{"N":"str","sType":"1AS ","val":" "}]}]},{"N":"true"},{"N":"empty","sType":"0 "}]}]}]},{"N":"forEach","sType":"*N ","line":"188","C":[{"N":"docOrder","sType":"*NE","role":"select","line":"188","C":[{"N":"docOrder","sType":"*NE","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","C":[{"N":"slash","op":"/","C":[{"N":"treat","as":"N","diag":"1|0|XPTY0019|slash","C":[{"N":"varRef","name":"Q{}t","slot":"0"}]},{"N":"filter","flags":"p","C":[{"N":"axis","name":"child","nodeTest":"*NE"},{"N":"or","C":[{"N":"fn","name":"not","C":[{"N":"gc10","op":"=","comp":"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint","card":"1:1","C":[{"N":"axis","name":"attribute","nodeTest":"*NA nQ{}class"},{"N":"str","val":"mscarries"}]}]},{"N":"gc10","op":"=","comp":"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint","card":"1:1","C":[{"N":"slash","op":"/","C":[{"N":"first","C":[{"N":"axis","name":"following-sibling","nodeTest":"*NE"}]},{"N":"axis","name":"attribute","nodeTest":"*NA nQ{}class"}]},{"N":"str","val":"mscarries"}]}]}]}]}]}]},{"N":"let","var":"Q{}c","slot":"2","sType":"*N ","line":"189","C":[{"N":"fn","name":"reverse","sType":"?NE","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","role":"select","line":"189","C":[{"N":"filter","C":[{"N":"first","C":[{"N":"axis","name":"preceding-sibling","nodeTest":"*NE"}]},{"N":"gc10","op":"=","comp":"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint","card":"1:1","C":[{"N":"axis","name":"attribute","nodeTest":"*NA nQ{}class"},{"N":"str","val":"mscarries"}]}]}]},{"N":"sequence","sType":"?N ","C":[{"N":"valueOf","sType":"1NT ","C":[{"N":"str","sType":"1AS ","val":"\n"}]},{"N":"elem","name":"m:mtr","sType":"1NE nQ{http://www.w3.org/1998/Math/MathML}mtr ","nsuri":"http://www.w3.org/1998/Math/MathML","namespaces":"","line":"191","C":[{"N":"sequence","sType":"* ","C":[{"N":"copyOf","flags":"c","ns":"xml=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ex=http://ns.saxonica.com/xslt/export","line":"192","sType":"*NA nQ{}class","C":[{"N":"filter","sType":"*NA nQ{}class","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","role":"select","line":"192","C":[{"N":"axis","name":"attribute","nodeTest":"*NA nQ{}class"},{"N":"gc10","op":"=","comp":"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint","card":"1:1","C":[{"N":"dot"},{"N":"str","val":"msline"}]}]}]},{"N":"let","var":"Q{}offset","slot":"3","sType":"* ","line":"193","C":[{"N":"arith10","op":"-","calc":"d-d","sType":"?AO","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","role":"select","line":"193","C":[{"N":"atomSing","diag":"1|0||arith","card":"?","C":[{"N":"first","C":[{"N":"varRef","name":"Q{}maxl","slot":"1"}]}]},{"N":"atomSing","diag":"1|1||arith","card":"?","C":[{"N":"first","C":[{"N":"axis","name":"attribute","nodeTest":"*NA nQ{}l"}]}]}]},{"N":"choose","sType":"* ","type":"item()*","line":"194","C":[{"N":"and","sType":"1AB","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","line":"195","C":[{"N":"gc10","op":"=","comp":"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint","card":"1:1","C":[{"N":"axis","name":"attribute","nodeTest":"*NA nQ{}class"},{"N":"str","val":"msline"}]},{"N":"gc10","op":"=","comp":"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint","card":"1:1","C":[{"N":"axis","name":"attribute","nodeTest":"*NA nQ{}l"},{"N":"str","val":"*"}]}]},{"N":"let","var":"Q{}msl","slot":"4","sType":"* ","line":"196","C":[{"N":"first","sType":"?NE","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","role":"select","line":"196","C":[{"N":"axis","name":"child","nodeTest":"*NE"}]},{"N":"forEach","sType":"*","line":"197","C":[{"N":"filter","flags":"p","sType":"*N","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","role":"select","line":"197","C":[{"N":"slash","op":"/","C":[{"N":"root"},{"N":"axis","name":"descendant","nodeTest":"*N u[NT,NP,NC,NE]"}]},{"N":"gc10","op":"<=","comp":"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint","card":"1:1","C":[{"N":"fn","name":"position"},{"N":"varRef","name":"Q{}maxl","slot":"1"}]}]},{"N":"copyOf","flags":"c","ns":"xml=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ex=http://ns.saxonica.com/xslt/export","line":"198","sType":"*","C":[{"N":"varRef","name":"Q{}msl","slot":"4","sType":"*","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","role":"select","line":"198"}]}]}]},{"N":"varRef","name":"Q{}c","slot":"2","sType":"*","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","line":"201"},{"N":"let","var":"Q{}ldiff","slot":"4","sType":"*NE ","line":"202","C":[{"N":"arith10","op":"-","calc":"d-d","sType":"?AO","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","role":"select","line":"202","C":[{"N":"atomSing","diag":"1|0||arith","card":"?","C":[{"N":"first","C":[{"N":"docOrder","C":[{"N":"slash","op":"/","C":[{"N":"treat","as":"N","diag":"1|0|XPTY0019|slash","C":[{"N":"varRef","name":"Q{}c","slot":"2"}]},{"N":"axis","name":"attribute","nodeTest":"*NA nQ{}l"}]}]}]}]},{"N":"atomSing","diag":"1|1||arith","card":"?","C":[{"N":"first","C":[{"N":"axis","name":"attribute","nodeTest":"*NA nQ{}l"}]}]}]},{"N":"let","var":"Q{}loffset","slot":"5","sType":"*NE ","line":"203","C":[{"N":"arith10","op":"-","calc":"d-d","sType":"?AO","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","role":"select","line":"203","C":[{"N":"atomSing","diag":"1|0||arith","card":"?","C":[{"N":"first","C":[{"N":"varRef","name":"Q{}maxl","slot":"1"}]}]},{"N":"atomSing","diag":"1|1||arith","card":"?","C":[{"N":"first","C":[{"N":"docOrder","C":[{"N":"slash","op":"/","C":[{"N":"treat","as":"N","diag":"1|0|XPTY0019|slash","C":[{"N":"varRef","name":"Q{}c","slot":"2"}]},{"N":"axis","name":"attribute","nodeTest":"*NA nQ{}l"}]}]}]}]}]},{"N":"sequence","sType":"*NE ","C":[{"N":"forEach","sType":"*NE ","line":"204","C":[{"N":"filter","flags":"p","sType":"*NE","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","role":"select","line":"204","C":[{"N":"slash","op":"/","C":[{"N":"root"},{"N":"axis","name":"descendant","nodeTest":"*NE"}]},{"N":"gc10","op":"<=","comp":"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint","card":"1:1","C":[{"N":"fn","name":"position"},{"N":"varRef","name":"Q{}offset","slot":"3"}]}]},{"N":"let","var":"Q{}pn","slot":"6","sType":"*NE ","line":"205","C":[{"N":"fn","name":"position","sType":"1ADI","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","role":"select","line":"205"},{"N":"let","var":"Q{}cy","slot":"7","sType":"*NE ","line":"206","C":[{"N":"docOrder","sType":"*NE","role":"select","line":"206","C":[{"N":"docOrder","sType":"*NE","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","C":[{"N":"slash","op":"/","C":[{"N":"treat","as":"N","diag":"1|0|XPTY0019|slash","C":[{"N":"varRef","name":"Q{}c","slot":"2"}]},{"N":"filter","flags":"p","C":[{"N":"axis","name":"child","nodeTest":"*NE"},{"N":"gc10","op":"=","comp":"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint","card":"1:1","C":[{"N":"fn","name":"position"},{"N":"arith10","op":"-","calc":"d-d","C":[{"N":"atomSing","diag":"1|0||arith","card":"?","C":[{"N":"first","C":[{"N":"varRef","name":"Q{}pn","slot":"6"}]}]},{"N":"atomSing","diag":"1|1||arith","card":"?","C":[{"N":"first","C":[{"N":"varRef","name":"Q{}loffset","slot":"5"}]}]}]}]}]}]}]}]},{"N":"elem","name":"m:mtd","sType":"1NE nQ{http://www.w3.org/1998/Math/MathML}mtd ","nsuri":"http://www.w3.org/1998/Math/MathML","namespaces":"","line":"207","C":[{"N":"choose","sType":"? ","line":"208","C":[{"N":"docOrder","sType":"*NE","line":"208","C":[{"N":"docOrder","sType":"*NE","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","C":[{"N":"slash","op":"/","C":[{"N":"treat","as":"N","diag":"1|0|XPTY0019|slash","C":[{"N":"varRef","name":"Q{}cy","slot":"7"}]},{"N":"axis","name":"child","nodeTest":"*NE"}]}]}]},{"N":"elem","name":"m:mover","sType":"1NE nQ{http://www.w3.org/1998/Math/MathML}mover ","nsuri":"http://www.w3.org/1998/Math/MathML","namespaces":"","line":"209","C":[{"N":"sequence","sType":"*NE ","C":[{"N":"elem","name":"m:mphantom","sType":"1NE nQ{http://www.w3.org/1998/Math/MathML}mphantom ","nsuri":"http://www.w3.org/1998/Math/MathML","namespaces":"","C":[{"N":"elem","name":"m:mn","sType":"1NE nQ{http://www.w3.org/1998/Math/MathML}mn ","nsuri":"http://www.w3.org/1998/Math/MathML","namespaces":"","C":[{"N":"valueOf","sType":"1NT ","C":[{"N":"str","sType":"1AS ","val":"0"}]}]}]},{"N":"elem","name":"m:mpadded","sType":"1NE nQ{http://www.w3.org/1998/Math/MathML}mpadded ","nsuri":"http://www.w3.org/1998/Math/MathML","namespaces":"","C":[{"N":"sequence","sType":"*N ","C":[{"N":"att","name":"width","nsuri":"","sType":"1NA ","C":[{"N":"str","sType":"1AS ","val":"0em"}]},{"N":"att","name":"lspace","nsuri":"","sType":"1NA ","C":[{"N":"str","sType":"1AS ","val":"-0.5width"}]},{"N":"copyOf","flags":"c","ns":"xml=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ex=http://ns.saxonica.com/xslt/export","line":"210","sType":"*NE","C":[{"N":"docOrder","sType":"*NE","role":"select","line":"210","C":[{"N":"docOrder","sType":"*NE","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","C":[{"N":"slash","op":"/","C":[{"N":"treat","as":"N","diag":"1|0|XPTY0019|slash","C":[{"N":"varRef","name":"Q{}cy","slot":"7"}]},{"N":"axis","name":"child","nodeTest":"*NE"}]}]}]}]}]}]}]}]},{"N":"true"},{"N":"empty","sType":"0 "}]}]}]}]}]},{"N":"forEach","sType":"*NE ","line":"214","C":[{"N":"axis","name":"child","nodeTest":"*NE","sType":"*NE","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","role":"select","line":"214"},{"N":"let","var":"Q{}pn","slot":"6","sType":"*NE ","line":"215","C":[{"N":"fn","name":"position","sType":"1ADI","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","role":"select","line":"215"},{"N":"let","var":"Q{}cy","slot":"7","sType":"*NE ","line":"216","C":[{"N":"docOrder","sType":"*NE","role":"select","line":"216","C":[{"N":"docOrder","sType":"*NE","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","C":[{"N":"slash","op":"/","C":[{"N":"treat","as":"N","diag":"1|0|XPTY0019|slash","C":[{"N":"varRef","name":"Q{}c","slot":"2"}]},{"N":"filter","flags":"p","C":[{"N":"axis","name":"child","nodeTest":"*NE"},{"N":"gc10","op":"=","comp":"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint","card":"1:1","C":[{"N":"fn","name":"position"},{"N":"arith10","op":"+","calc":"d+d","C":[{"N":"atomSing","diag":"1|0||arith","card":"?","C":[{"N":"first","C":[{"N":"varRef","name":"Q{}pn","slot":"6"}]}]},{"N":"atomSing","diag":"1|1||arith","card":"?","C":[{"N":"first","C":[{"N":"varRef","name":"Q{}ldiff","slot":"4"}]}]}]}]}]}]}]}]},{"N":"copy","sType":"1NE ","flags":"cin","line":"217","C":[{"N":"sequence","sType":"* ","C":[{"N":"copyOf","flags":"c","ns":"xml=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ex=http://ns.saxonica.com/xslt/export","line":"218","sType":"*NA","C":[{"N":"axis","name":"attribute","nodeTest":"*NA","sType":"*NA","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","role":"select","line":"218"}]},{"N":"let","var":"Q{}b","slot":"8","sType":"* ","line":"219","C":[{"N":"doc","sType":"1ND ","base":"file:///Users/dpvc/Desktop/Folders/Tumlook/Data/Code/JavaScript/MathJax/Code/Git/mathjax/MathJax-src/ts/input/mathml/mml3/mml3.xsl","role":"select","C":[{"N":"choose","sType":"*NE ","type":"item()*","line":"220","C":[{"N":"fn","name":"not","sType":"1AB","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","line":"221","C":[{"N":"or","C":[{"N":"fn","name":"string","C":[{"N":"first","C":[{"N":"docOrder","C":[{"N":"slash","op":"/","C":[{"N":"treat","as":"N","diag":"1|0|XPTY0019|slash","C":[{"N":"varRef","name":"Q{}cy","slot":"7"}]},{"N":"axis","name":"attribute","nodeTest":"*NA nQ{}crossout"}]}]}]}]},{"N":"gc10","op":"=","comp":"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint","card":"1:1","C":[{"N":"docOrder","C":[{"N":"slash","op":"/","C":[{"N":"treat","as":"N","diag":"1|0|XPTY0019|slash","C":[{"N":"varRef","name":"Q{}cy","slot":"7"}]},{"N":"axis","name":"attribute","nodeTest":"*NA nQ{}crossout"}]}]},{"N":"str","val":"none"}]}]}]},{"N":"copyOf","flags":"c","ns":"xml=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ex=http://ns.saxonica.com/xslt/export","sType":"*NE","C":[{"N":"axis","name":"child","nodeTest":"*NE","sType":"*NE","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","role":"select","line":"45"}]},{"N":"true"},{"N":"elem","name":"m:menclose","sType":"1NE nQ{http://www.w3.org/1998/Math/MathML}menclose ","nsuri":"http://www.w3.org/1998/Math/MathML","namespaces":"","line":"223","C":[{"N":"sequence","sType":"*N ","C":[{"N":"att","name":"notation","nsuri":"","sType":"1NA ","C":[{"N":"fn","name":"string-join","sType":"1AS ","C":[{"N":"first","C":[{"N":"convert","type":"AS*","from":"AZ","to":"AS","C":[{"N":"data","C":[{"N":"mergeAdj","sType":"*NA nQ{}crossout","C":[{"N":"docOrder","sType":"*NA nQ{}crossout","line":"223","C":[{"N":"docOrder","sType":"*NA nQ{}crossout","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","C":[{"N":"slash","op":"/","C":[{"N":"treat","as":"N","diag":"1|0|XPTY0019|slash","C":[{"N":"varRef","name":"Q{}cy","slot":"7"}]},{"N":"axis","name":"attribute","nodeTest":"*NA nQ{}crossout"}]}]}]}]}]}]}]},{"N":"str","sType":"1AS ","val":" "}]}]},{"N":"copyOf","flags":"c","ns":"xml=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ex=http://ns.saxonica.com/xslt/export","sType":"*NE","C":[{"N":"axis","name":"child","nodeTest":"*NE","sType":"*NE","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","role":"select","line":"48"}]}]}]}]}]},{"N":"choose","sType":"* ","type":"item()*","line":"227","C":[{"N":"or","sType":"1AB","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","line":"228","C":[{"N":"docOrder","C":[{"N":"slash","op":"/","C":[{"N":"treat","as":"N","diag":"1|0|XPTY0019|slash","C":[{"N":"varRef","name":"Q{}cy","slot":"7"}]},{"N":"axis","name":"child","nodeTest":"*NE nQ{http://www.w3.org/1998/Math/MathML}none"}]}]},{"N":"fn","name":"not","C":[{"N":"docOrder","C":[{"N":"slash","op":"/","C":[{"N":"treat","as":"N","diag":"1|0|XPTY0019|slash","C":[{"N":"varRef","name":"Q{}cy","slot":"7"}]},{"N":"axis","name":"child","nodeTest":"*NE"}]}]}]}]},{"N":"copyOf","flags":"c","ns":"xml=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ex=http://ns.saxonica.com/xslt/export","sType":"*","C":[{"N":"varRef","name":"Q{}b","slot":"8","sType":"*","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","role":"select","line":"51"}]},{"N":"or","sType":"1AB","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","line":"229","C":[{"N":"fn","name":"not","C":[{"N":"fn","name":"string","C":[{"N":"first","C":[{"N":"docOrder","C":[{"N":"slash","op":"/","C":[{"N":"treat","as":"N","diag":"1|0|XPTY0019|slash","C":[{"N":"varRef","name":"Q{}cy","slot":"7"}]},{"N":"axis","name":"attribute","nodeTest":"*NA nQ{}location"}]}]}]}]}]},{"N":"gc10","op":"=","comp":"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint","card":"1:1","C":[{"N":"docOrder","C":[{"N":"slash","op":"/","C":[{"N":"treat","as":"N","diag":"1|0|XPTY0019|slash","C":[{"N":"varRef","name":"Q{}cy","slot":"7"}]},{"N":"axis","name":"attribute","nodeTest":"*NA nQ{}location"}]}]},{"N":"str","val":"n"}]}]},{"N":"elem","name":"m:mover","sType":"1NE nQ{http://www.w3.org/1998/Math/MathML}mover ","nsuri":"http://www.w3.org/1998/Math/MathML","namespaces":"","line":"230","C":[{"N":"sequence","sType":"* ","C":[{"N":"copyOf","flags":"c","ns":"xml=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ex=http://ns.saxonica.com/xslt/export","line":"231","sType":"*","C":[{"N":"varRef","name":"Q{}b","slot":"8","sType":"*","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","role":"select","line":"231"}]},{"N":"elem","name":"m:mpadded","sType":"1NE nQ{http://www.w3.org/1998/Math/MathML}mpadded ","nsuri":"http://www.w3.org/1998/Math/MathML","namespaces":"","line":"231","C":[{"N":"sequence","sType":"*N ","C":[{"N":"att","name":"width","nsuri":"","sType":"1NA ","C":[{"N":"str","sType":"1AS ","val":"0em"}]},{"N":"att","name":"lspace","nsuri":"","sType":"1NA ","C":[{"N":"str","sType":"1AS ","val":"-0.5width"}]},{"N":"copyOf","flags":"c","ns":"xml=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ex=http://ns.saxonica.com/xslt/export","line":"232","sType":"*NE","C":[{"N":"docOrder","sType":"*NE","role":"select","line":"232","C":[{"N":"docOrder","sType":"*NE","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","C":[{"N":"slash","op":"/","C":[{"N":"treat","as":"N","diag":"1|0|XPTY0019|slash","C":[{"N":"varRef","name":"Q{}cy","slot":"7"}]},{"N":"axis","name":"child","nodeTest":"*NE"}]}]}]}]}]}]}]}]},{"N":"gc10","op":"=","comp":"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint","card":"1:1","sType":"1AB","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","line":"236","C":[{"N":"docOrder","C":[{"N":"slash","op":"/","C":[{"N":"treat","as":"N","diag":"1|0|XPTY0019|slash","C":[{"N":"varRef","name":"Q{}cy","slot":"7"}]},{"N":"axis","name":"attribute","nodeTest":"*NA nQ{}location"}]}]},{"N":"str","val":"nw"}]},{"N":"elem","name":"m:mmultiscripts","sType":"1NE nQ{http://www.w3.org/1998/Math/MathML}mmultiscripts ","nsuri":"http://www.w3.org/1998/Math/MathML","namespaces":"","line":"237","C":[{"N":"sequence","sType":"* ","C":[{"N":"copyOf","flags":"c","ns":"xml=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ex=http://ns.saxonica.com/xslt/export","sType":"*","C":[{"N":"varRef","name":"Q{}b","slot":"8","sType":"*","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","role":"select","line":"59"}]},{"N":"elem","name":"m:mprescripts","sType":"1NE nQ{http://www.w3.org/1998/Math/MathML}mprescripts ","nsuri":"http://www.w3.org/1998/Math/MathML","namespaces":"","C":[{"N":"empty","sType":"0 "}]},{"N":"elem","name":"m:none","sType":"1NE nQ{http://www.w3.org/1998/Math/MathML}none ","nsuri":"http://www.w3.org/1998/Math/MathML","namespaces":"","C":[{"N":"empty","sType":"0 "}]},{"N":"elem","name":"m:mpadded","sType":"1NE nQ{http://www.w3.org/1998/Math/MathML}mpadded ","nsuri":"http://www.w3.org/1998/Math/MathML","namespaces":"","C":[{"N":"sequence","sType":"*N ","C":[{"N":"att","name":"lspace","nsuri":"","sType":"1NA ","C":[{"N":"str","sType":"1AS ","val":"-1width"}]},{"N":"att","name":"width","nsuri":"","sType":"1NA ","C":[{"N":"str","sType":"1AS ","val":"0em"}]},{"N":"copyOf","flags":"c","ns":"xml=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ex=http://ns.saxonica.com/xslt/export","sType":"*NE","C":[{"N":"docOrder","sType":"*NE","role":"select","line":"63","C":[{"N":"docOrder","sType":"*NE","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","C":[{"N":"slash","op":"/","C":[{"N":"treat","as":"N","diag":"1|0|XPTY0019|slash","C":[{"N":"varRef","name":"Q{}cy","slot":"7"}]},{"N":"axis","name":"child","nodeTest":"*NE"}]}]}]}]}]}]}]}]},{"N":"gc10","op":"=","comp":"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint","card":"1:1","sType":"1AB","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","line":"239","C":[{"N":"docOrder","C":[{"N":"slash","op":"/","C":[{"N":"treat","as":"N","diag":"1|0|XPTY0019|slash","C":[{"N":"varRef","name":"Q{}cy","slot":"7"}]},{"N":"axis","name":"attribute","nodeTest":"*NA nQ{}location"}]}]},{"N":"str","val":"s"}]},{"N":"elem","name":"m:munder","sType":"1NE nQ{http://www.w3.org/1998/Math/MathML}munder ","nsuri":"http://www.w3.org/1998/Math/MathML","namespaces":"","line":"240","C":[{"N":"sequence","sType":"* ","C":[{"N":"copyOf","flags":"c","ns":"xml=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ex=http://ns.saxonica.com/xslt/export","sType":"*","C":[{"N":"varRef","name":"Q{}b","slot":"8","sType":"*","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","role":"select","line":"66"}]},{"N":"elem","name":"m:mpadded","sType":"1NE nQ{http://www.w3.org/1998/Math/MathML}mpadded ","nsuri":"http://www.w3.org/1998/Math/MathML","namespaces":"","C":[{"N":"sequence","sType":"*N ","C":[{"N":"att","name":"width","nsuri":"","sType":"1NA ","C":[{"N":"str","sType":"1AS ","val":"0em"}]},{"N":"att","name":"lspace","nsuri":"","sType":"1NA ","C":[{"N":"str","sType":"1AS ","val":"-0.5width"}]},{"N":"copyOf","flags":"c","ns":"xml=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ex=http://ns.saxonica.com/xslt/export","sType":"*NE","C":[{"N":"docOrder","sType":"*NE","role":"select","line":"68","C":[{"N":"docOrder","sType":"*NE","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","C":[{"N":"slash","op":"/","C":[{"N":"treat","as":"N","diag":"1|0|XPTY0019|slash","C":[{"N":"varRef","name":"Q{}cy","slot":"7"}]},{"N":"axis","name":"child","nodeTest":"*NE"}]}]}]}]}]}]}]}]},{"N":"gc10","op":"=","comp":"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint","card":"1:1","sType":"1AB","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","line":"242","C":[{"N":"docOrder","C":[{"N":"slash","op":"/","C":[{"N":"treat","as":"N","diag":"1|0|XPTY0019|slash","C":[{"N":"varRef","name":"Q{}cy","slot":"7"}]},{"N":"axis","name":"attribute","nodeTest":"*NA nQ{}location"}]}]},{"N":"str","val":"sw"}]},{"N":"elem","name":"m:mmultiscripts","sType":"1NE nQ{http://www.w3.org/1998/Math/MathML}mmultiscripts ","nsuri":"http://www.w3.org/1998/Math/MathML","namespaces":"","line":"243","C":[{"N":"sequence","sType":"* ","C":[{"N":"copyOf","flags":"c","ns":"xml=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ex=http://ns.saxonica.com/xslt/export","sType":"*","C":[{"N":"varRef","name":"Q{}b","slot":"8","sType":"*","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","role":"select","line":"71"}]},{"N":"elem","name":"m:mprescripts","sType":"1NE nQ{http://www.w3.org/1998/Math/MathML}mprescripts ","nsuri":"http://www.w3.org/1998/Math/MathML","namespaces":"","C":[{"N":"empty","sType":"0 "}]},{"N":"elem","name":"m:mpadded","sType":"1NE nQ{http://www.w3.org/1998/Math/MathML}mpadded ","nsuri":"http://www.w3.org/1998/Math/MathML","namespaces":"","C":[{"N":"sequence","sType":"*N ","C":[{"N":"att","name":"lspace","nsuri":"","sType":"1NA ","C":[{"N":"str","sType":"1AS ","val":"-1width"}]},{"N":"att","name":"width","nsuri":"","sType":"1NA ","C":[{"N":"str","sType":"1AS ","val":"0em"}]},{"N":"copyOf","flags":"c","ns":"xml=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ex=http://ns.saxonica.com/xslt/export","sType":"*NE","C":[{"N":"docOrder","sType":"*NE","role":"select","line":"74","C":[{"N":"docOrder","sType":"*NE","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","C":[{"N":"slash","op":"/","C":[{"N":"treat","as":"N","diag":"1|0|XPTY0019|slash","C":[{"N":"varRef","name":"Q{}cy","slot":"7"}]},{"N":"axis","name":"child","nodeTest":"*NE"}]}]}]}]}]}]},{"N":"elem","name":"m:none","sType":"1NE nQ{http://www.w3.org/1998/Math/MathML}none ","nsuri":"http://www.w3.org/1998/Math/MathML","namespaces":"","C":[{"N":"empty","sType":"0 "}]}]}]},{"N":"gc10","op":"=","comp":"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint","card":"1:1","sType":"1AB","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","line":"245","C":[{"N":"docOrder","C":[{"N":"slash","op":"/","C":[{"N":"treat","as":"N","diag":"1|0|XPTY0019|slash","C":[{"N":"varRef","name":"Q{}cy","slot":"7"}]},{"N":"axis","name":"attribute","nodeTest":"*NA nQ{}location"}]}]},{"N":"str","val":"ne"}]},{"N":"elem","name":"m:msup","sType":"1NE nQ{http://www.w3.org/1998/Math/MathML}msup ","nsuri":"http://www.w3.org/1998/Math/MathML","namespaces":"","line":"246","C":[{"N":"sequence","sType":"* ","C":[{"N":"copyOf","flags":"c","ns":"xml=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ex=http://ns.saxonica.com/xslt/export","sType":"*","C":[{"N":"varRef","name":"Q{}b","slot":"8","sType":"*","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","role":"select","line":"78"}]},{"N":"elem","name":"m:mpadded","sType":"1NE nQ{http://www.w3.org/1998/Math/MathML}mpadded ","nsuri":"http://www.w3.org/1998/Math/MathML","namespaces":"","C":[{"N":"sequence","sType":"*N ","C":[{"N":"att","name":"width","nsuri":"","sType":"1NA ","C":[{"N":"str","sType":"1AS ","val":"0em"}]},{"N":"copyOf","flags":"c","ns":"xml=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ex=http://ns.saxonica.com/xslt/export","sType":"*NE","C":[{"N":"docOrder","sType":"*NE","role":"select","line":"80","C":[{"N":"docOrder","sType":"*NE","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","C":[{"N":"slash","op":"/","C":[{"N":"treat","as":"N","diag":"1|0|XPTY0019|slash","C":[{"N":"varRef","name":"Q{}cy","slot":"7"}]},{"N":"axis","name":"child","nodeTest":"*NE"}]}]}]}]}]}]}]}]},{"N":"gc10","op":"=","comp":"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint","card":"1:1","sType":"1AB","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","line":"248","C":[{"N":"docOrder","C":[{"N":"slash","op":"/","C":[{"N":"treat","as":"N","diag":"1|0|XPTY0019|slash","C":[{"N":"varRef","name":"Q{}cy","slot":"7"}]},{"N":"axis","name":"attribute","nodeTest":"*NA nQ{}location"}]}]},{"N":"str","val":"se"}]},{"N":"elem","name":"m:msub","sType":"1NE nQ{http://www.w3.org/1998/Math/MathML}msub ","nsuri":"http://www.w3.org/1998/Math/MathML","namespaces":"","line":"249","C":[{"N":"sequence","sType":"* ","C":[{"N":"copyOf","flags":"c","ns":"xml=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ex=http://ns.saxonica.com/xslt/export","sType":"*","C":[{"N":"varRef","name":"Q{}b","slot":"8","sType":"*","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","role":"select","line":"83"}]},{"N":"elem","name":"m:mpadded","sType":"1NE nQ{http://www.w3.org/1998/Math/MathML}mpadded ","nsuri":"http://www.w3.org/1998/Math/MathML","namespaces":"","C":[{"N":"sequence","sType":"*N ","C":[{"N":"att","name":"width","nsuri":"","sType":"1NA ","C":[{"N":"str","sType":"1AS ","val":"0em"}]},{"N":"copyOf","flags":"c","ns":"xml=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ex=http://ns.saxonica.com/xslt/export","sType":"*NE","C":[{"N":"docOrder","sType":"*NE","role":"select","line":"85","C":[{"N":"docOrder","sType":"*NE","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","C":[{"N":"slash","op":"/","C":[{"N":"treat","as":"N","diag":"1|0|XPTY0019|slash","C":[{"N":"varRef","name":"Q{}cy","slot":"7"}]},{"N":"axis","name":"child","nodeTest":"*NE"}]}]}]}]}]}]}]}]},{"N":"gc10","op":"=","comp":"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint","card":"1:1","sType":"1AB","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","line":"251","C":[{"N":"docOrder","C":[{"N":"slash","op":"/","C":[{"N":"treat","as":"N","diag":"1|0|XPTY0019|slash","C":[{"N":"varRef","name":"Q{}cy","slot":"7"}]},{"N":"axis","name":"attribute","nodeTest":"*NA nQ{}location"}]}]},{"N":"str","val":"w"}]},{"N":"sequence","sType":"* ","C":[{"N":"elem","name":"m:msup","sType":"1NE nQ{http://www.w3.org/1998/Math/MathML}msup ","nsuri":"http://www.w3.org/1998/Math/MathML","namespaces":"","line":"252","C":[{"N":"sequence","sType":"*NE ","C":[{"N":"elem","name":"m:mrow","sType":"1NE nQ{http://www.w3.org/1998/Math/MathML}mrow ","nsuri":"http://www.w3.org/1998/Math/MathML","namespaces":"","C":[{"N":"empty","sType":"0 "}]},{"N":"elem","name":"m:mpadded","sType":"1NE nQ{http://www.w3.org/1998/Math/MathML}mpadded ","nsuri":"http://www.w3.org/1998/Math/MathML","namespaces":"","C":[{"N":"sequence","sType":"*N ","C":[{"N":"att","name":"lspace","nsuri":"","sType":"1NA ","C":[{"N":"str","sType":"1AS ","val":"-1width"}]},{"N":"att","name":"width","nsuri":"","sType":"1NA ","C":[{"N":"str","sType":"1AS ","val":"0em"}]},{"N":"copyOf","flags":"c","ns":"xml=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ex=http://ns.saxonica.com/xslt/export","sType":"*NE","C":[{"N":"docOrder","sType":"*NE","role":"select","line":"90","C":[{"N":"docOrder","sType":"*NE","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","C":[{"N":"slash","op":"/","C":[{"N":"treat","as":"N","diag":"1|0|XPTY0019|slash","C":[{"N":"varRef","name":"Q{}cy","slot":"7"}]},{"N":"axis","name":"child","nodeTest":"*NE"}]}]}]}]}]}]}]}]},{"N":"copyOf","flags":"c","ns":"xml=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ex=http://ns.saxonica.com/xslt/export","line":"253","sType":"*","C":[{"N":"varRef","name":"Q{}b","slot":"8","sType":"*","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","role":"select","line":"253"}]}]},{"N":"gc10","op":"=","comp":"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint","card":"1:1","sType":"1AB","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","line":"255","C":[{"N":"docOrder","C":[{"N":"slash","op":"/","C":[{"N":"treat","as":"N","diag":"1|0|XPTY0019|slash","C":[{"N":"varRef","name":"Q{}cy","slot":"7"}]},{"N":"axis","name":"attribute","nodeTest":"*NA nQ{}location"}]}]},{"N":"str","val":"e"}]},{"N":"sequence","sType":"* ","C":[{"N":"copyOf","flags":"c","ns":"xml=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ex=http://ns.saxonica.com/xslt/export","line":"256","sType":"*","C":[{"N":"varRef","name":"Q{}b","slot":"8","sType":"*","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","role":"select","line":"256"}]},{"N":"elem","name":"m:msup","sType":"1NE nQ{http://www.w3.org/1998/Math/MathML}msup ","nsuri":"http://www.w3.org/1998/Math/MathML","namespaces":"","line":"257","C":[{"N":"sequence","sType":"*NE ","C":[{"N":"elem","name":"m:mrow","sType":"1NE nQ{http://www.w3.org/1998/Math/MathML}mrow ","nsuri":"http://www.w3.org/1998/Math/MathML","namespaces":"","C":[{"N":"empty","sType":"0 "}]},{"N":"elem","name":"m:mpadded","sType":"1NE nQ{http://www.w3.org/1998/Math/MathML}mpadded ","nsuri":"http://www.w3.org/1998/Math/MathML","namespaces":"","C":[{"N":"sequence","sType":"*N ","C":[{"N":"att","name":"width","nsuri":"","sType":"1NA ","C":[{"N":"str","sType":"1AS ","val":"0em"}]},{"N":"copyOf","flags":"c","ns":"xml=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ex=http://ns.saxonica.com/xslt/export","sType":"*NE","C":[{"N":"docOrder","sType":"*NE","role":"select","line":"97","C":[{"N":"docOrder","sType":"*NE","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","C":[{"N":"slash","op":"/","C":[{"N":"treat","as":"N","diag":"1|0|XPTY0019|slash","C":[{"N":"varRef","name":"Q{}cy","slot":"7"}]},{"N":"axis","name":"child","nodeTest":"*NE"}]}]}]}]}]}]}]}]}]},{"N":"true"},{"N":"copyOf","flags":"c","ns":"xml=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ex=http://ns.saxonica.com/xslt/export","line":"260","sType":"*","C":[{"N":"varRef","name":"Q{}b","slot":"8","sType":"*","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","role":"select","line":"260"}]}]}]}]}]}]}]}]}]}]}]},{"N":"true"},{"N":"sequence","sType":"*NE ","C":[{"N":"forEach","sType":"*NE nQ{http://www.w3.org/1998/Math/MathML}mtd ","line":"267","C":[{"N":"filter","flags":"p","sType":"*NE","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","role":"select","line":"267","C":[{"N":"slash","op":"/","C":[{"N":"root"},{"N":"axis","name":"descendant","nodeTest":"*NE"}]},{"N":"gc10","op":"<=","comp":"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint","card":"1:1","C":[{"N":"fn","name":"position"},{"N":"varRef","name":"Q{}offset","slot":"3"}]}]},{"N":"elem","name":"m:mtd","sType":"1NE nQ{http://www.w3.org/1998/Math/MathML}mtd ","nsuri":"http://www.w3.org/1998/Math/MathML","namespaces":"","C":[{"N":"empty","sType":"0 "}]}]},{"N":"copyOf","flags":"c","ns":"xml=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ex=http://ns.saxonica.com/xslt/export","line":"268","sType":"*NE","C":[{"N":"axis","name":"child","nodeTest":"*NE","sType":"*NE","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","role":"select","line":"268"}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"N":"applyT","sType":"* ","line":"275","mode":"Q{}ml","bSlot":"2","C":[{"N":"varRef","name":"Q{}m","slot":"0","sType":"*","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","role":"select","line":"275"}]}]}]},{"N":"templateRule","rank":"2","prec":"0","seq":"1","ns":"xml=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common","minImp":"0","flags":"s","baseUri":"file:///Users/dpvc/Desktop/Folders/Tumlook/Data/Code/JavaScript/MathJax/Code/Git/mathjax/MathJax-src/ts/input/mathml/mml3/mml3.xsl","slots":"200","line":"13","module":"mml3.xsl","expand-text":"false","match":"m:*[@dir='rtl']","prio":"10","matches":"NE nQ{http://www.w3.org/1998/Math/MathML}*","C":[{"N":"p.withPredicate","role":"match","sType":"1NE nQ{http://www.w3.org/1998/Math/MathML}*","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","C":[{"N":"p.nodeTest","test":"NE nQ{http://www.w3.org/1998/Math/MathML}*"},{"N":"gc","op":"=","comp":"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint","card":"1:1","C":[{"N":"attVal","name":"Q{}dir"},{"N":"str","val":"rtl"}]}]},{"N":"applyT","sType":"* ","line":"14","mode":"Q{}rtl","role":"action","bSlot":"3","C":[{"N":"dot","sType":"1NE nQ{http://www.w3.org/1998/Math/MathML}*","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","role":"select","line":"14"}]}]},{"N":"templateRule","rank":"3","prec":"0","seq":"0","ns":"xml=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common","minImp":"0","flags":"s","baseUri":"file:///Users/dpvc/Desktop/Folders/Tumlook/Data/Code/JavaScript/MathJax/Code/Git/mathjax/MathJax-src/ts/input/mathml/mml3/mml3.xsl","slots":"200","line":"7","module":"mml3.xsl","expand-text":"false","match":"*","prio":"-0.5","matches":"NE","C":[{"N":"p.nodeTest","role":"match","test":"NE","sType":"1NE","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common "},{"N":"copy","sType":"1NE ","flags":"cin","role":"action","line":"8","C":[{"N":"sequence","sType":"* ","C":[{"N":"copyOf","flags":"c","ns":"xml=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ex=http://ns.saxonica.com/xslt/export","line":"9","sType":"*NA","C":[{"N":"axis","name":"attribute","nodeTest":"*NA","sType":"*NA","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","role":"select","line":"9"}]},{"N":"applyT","sType":"* ","line":"10","mode":"#unnamed","bSlot":"0","C":[{"N":"axis","name":"child","nodeTest":"*N u[NT,NP,NC,NE]","sType":"*N u[NT,NP,NC,NE]","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","role":"select","line":"10"}]}]}]}]}]}]},{"N":"co","id":"1","binds":"1 0","C":[{"N":"mode","onNo":"TC","flags":"","patternSlots":"0","name":"Q{}rtl","prec":"","C":[{"N":"templateRule","rank":"0","prec":"0","seq":"27","ns":"xml=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common","minImp":"0","flags":"s","baseUri":"file:///Users/dpvc/Desktop/Folders/Tumlook/Data/Code/JavaScript/MathJax/Code/Git/mathjax/MathJax-src/ts/input/mathml/mml3/mml3.xsl","slots":"200","line":"144","module":"mml3.xsl","expand-text":"false","match":"m:mmultiscripts[not(m:mprescripts)]","prio":"3","matches":"NE nQ{http://www.w3.org/1998/Math/MathML}mmultiscripts","C":[{"N":"p.withPredicate","role":"match","sType":"1NE nQ{http://www.w3.org/1998/Math/MathML}mmultiscripts","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","C":[{"N":"p.nodeTest","test":"NE nQ{http://www.w3.org/1998/Math/MathML}mmultiscripts"},{"N":"fn","name":"not","C":[{"N":"axis","name":"child","nodeTest":"*NE nQ{http://www.w3.org/1998/Math/MathML}mprescripts"}]}]},{"N":"elem","name":"m:mmultiscripts","sType":"1NE nQ{http://www.w3.org/1998/Math/MathML}mmultiscripts ","nsuri":"http://www.w3.org/1998/Math/MathML","namespaces":"","role":"action","line":"145","C":[{"N":"sequence","sType":"* ","C":[{"N":"applyT","sType":"* ","line":"146","mode":"Q{}rtl","bSlot":"0","C":[{"N":"first","sType":"?NE","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","role":"select","line":"146","C":[{"N":"axis","name":"child","nodeTest":"*NE"}]}]},{"N":"elem","name":"m:mprescripts","sType":"1NE nQ{http://www.w3.org/1998/Math/MathML}mprescripts ","nsuri":"http://www.w3.org/1998/Math/MathML","namespaces":"","line":"147","C":[{"N":"empty","sType":"0 "}]},{"N":"forEach","sType":"* ","line":"148","C":[{"N":"sort","sType":"*NE","C":[{"N":"filter","flags":"p","sType":"*NE","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","role":"select","line":"148","C":[{"N":"axis","name":"child","nodeTest":"*NE"},{"N":"gc10","op":"=","comp":"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint","card":"1:1","C":[{"N":"arith10","op":"mod","calc":"d%d","C":[{"N":"fn","name":"position"},{"N":"int","val":"2"}]},{"N":"int","val":"0"}]}]},{"N":"sortKey","sType":"?ADI ","C":[{"N":"first","role":"select","sType":"?ADI ","C":[{"N":"fn","name":"position","sType":"1ADI","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","role":"select","line":"149"}]},{"N":"str","sType":"1AS ","val":"descending","role":"order"},{"N":"str","sType":"1AS ","val":"en","role":"lang"},{"N":"str","sType":"1AS ","val":"#default","role":"caseOrder"},{"N":"str","sType":"1AS ","val":"true","role":"stable"},{"N":"str","sType":"1AS ","val":"number","role":"dataType"}]}]},{"N":"sequence","sType":"* ","C":[{"N":"applyT","sType":"* ","line":"150","mode":"Q{}rtl","bSlot":"0","C":[{"N":"dot","sType":"1NE","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","role":"select","line":"150"}]},{"N":"applyT","sType":"* ","line":"151","mode":"Q{}rtl","bSlot":"0","C":[{"N":"first","sType":"?NE","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","role":"select","line":"151","C":[{"N":"axis","name":"following-sibling","nodeTest":"*NE"}]}]}]}]}]}]}]},{"N":"templateRule","rank":"1","prec":"0","seq":"26","ns":"xml=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common","minImp":"0","flags":"s","baseUri":"file:///Users/dpvc/Desktop/Folders/Tumlook/Data/Code/JavaScript/MathJax/Code/Git/mathjax/MathJax-src/ts/input/mathml/mml3/mml3.xsl","slots":"200","line":"128","module":"mml3.xsl","expand-text":"false","match":"m:mmultiscripts","prio":"2","matches":"NE nQ{http://www.w3.org/1998/Math/MathML}mmultiscripts","C":[{"N":"p.nodeTest","role":"match","test":"NE nQ{http://www.w3.org/1998/Math/MathML}mmultiscripts","sType":"1NE nQ{http://www.w3.org/1998/Math/MathML}mmultiscripts","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common "},{"N":"elem","name":"m:mmultiscripts","sType":"1NE nQ{http://www.w3.org/1998/Math/MathML}mmultiscripts ","nsuri":"http://www.w3.org/1998/Math/MathML","namespaces":"","role":"action","line":"129","C":[{"N":"sequence","sType":"* ","C":[{"N":"applyT","sType":"* ","line":"130","mode":"Q{}rtl","bSlot":"0","C":[{"N":"first","sType":"?NE","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","role":"select","line":"130","C":[{"N":"axis","name":"child","nodeTest":"*NE"}]}]},{"N":"forEach","sType":"* ","line":"131","C":[{"N":"sort","sType":"*NE","C":[{"N":"docOrder","sType":"*NE","role":"select","line":"131","C":[{"N":"docOrder","sType":"*NE","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","C":[{"N":"slash","op":"/","C":[{"N":"axis","name":"child","nodeTest":"*NE nQ{http://www.w3.org/1998/Math/MathML}mprescripts"},{"N":"filter","flags":"p","C":[{"N":"axis","name":"following-sibling","nodeTest":"*NE"},{"N":"gc10","op":"=","comp":"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint","card":"1:1","C":[{"N":"arith10","op":"mod","calc":"d%d","C":[{"N":"fn","name":"position"},{"N":"int","val":"2"}]},{"N":"int","val":"1"}]}]}]}]}]},{"N":"sortKey","sType":"?ADI ","C":[{"N":"first","role":"select","sType":"?ADI ","C":[{"N":"fn","name":"position","sType":"1ADI","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","role":"select","line":"132"}]},{"N":"str","sType":"1AS ","val":"descending","role":"order"},{"N":"str","sType":"1AS ","val":"en","role":"lang"},{"N":"str","sType":"1AS ","val":"#default","role":"caseOrder"},{"N":"str","sType":"1AS ","val":"true","role":"stable"},{"N":"str","sType":"1AS ","val":"number","role":"dataType"}]}]},{"N":"sequence","sType":"* ","C":[{"N":"applyT","sType":"* ","line":"133","mode":"Q{}rtl","bSlot":"0","C":[{"N":"dot","sType":"1NE","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","role":"select","line":"133"}]},{"N":"applyT","sType":"* ","line":"134","mode":"Q{}rtl","bSlot":"0","C":[{"N":"first","sType":"?NE","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","role":"select","line":"134","C":[{"N":"axis","name":"following-sibling","nodeTest":"*NE"}]}]}]}]},{"N":"elem","name":"m:mprescripts","sType":"1NE nQ{http://www.w3.org/1998/Math/MathML}mprescripts ","nsuri":"http://www.w3.org/1998/Math/MathML","namespaces":"","line":"136","C":[{"N":"empty","sType":"0 "}]},{"N":"forEach","sType":"* ","line":"137","C":[{"N":"sort","sType":"*NE","C":[{"N":"docOrder","sType":"*NE","role":"select","line":"137","C":[{"N":"docOrder","sType":"*NE","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","C":[{"N":"slash","op":"/","C":[{"N":"axis","name":"child","nodeTest":"*NE nQ{http://www.w3.org/1998/Math/MathML}mprescripts"},{"N":"fn","name":"reverse","C":[{"N":"filter","flags":"p","C":[{"N":"filter","flags":"p","C":[{"N":"axis","name":"preceding-sibling","nodeTest":"*NE"},{"N":"gc10","op":"!=","comp":"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint","card":"1:1","C":[{"N":"fn","name":"position"},{"N":"fn","name":"last"}]}]},{"N":"gc10","op":"=","comp":"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint","card":"1:1","C":[{"N":"arith10","op":"mod","calc":"d%d","C":[{"N":"fn","name":"position"},{"N":"int","val":"2"}]},{"N":"int","val":"0"}]}]}]}]}]}]},{"N":"sortKey","sType":"?ADI ","C":[{"N":"first","role":"select","sType":"?ADI ","C":[{"N":"fn","name":"position","sType":"1ADI","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","role":"select","line":"138"}]},{"N":"str","sType":"1AS ","val":"descending","role":"order"},{"N":"str","sType":"1AS ","val":"en","role":"lang"},{"N":"str","sType":"1AS ","val":"#default","role":"caseOrder"},{"N":"str","sType":"1AS ","val":"true","role":"stable"},{"N":"str","sType":"1AS ","val":"number","role":"dataType"}]}]},{"N":"sequence","sType":"* ","C":[{"N":"applyT","sType":"* ","line":"139","mode":"Q{}rtl","bSlot":"0","C":[{"N":"dot","sType":"1NE","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","role":"select","line":"139"}]},{"N":"applyT","sType":"* ","line":"140","mode":"Q{}rtl","bSlot":"0","C":[{"N":"first","sType":"?NE","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","role":"select","line":"140","C":[{"N":"axis","name":"following-sibling","nodeTest":"*NE"}]}]}]}]}]}]}]},{"N":"templateRule","rank":"2","prec":"0","seq":"25","ns":"xml=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common","minImp":"0","flags":"s","baseUri":"file:///Users/dpvc/Desktop/Folders/Tumlook/Data/Code/JavaScript/MathJax/Code/Git/mathjax/MathJax-src/ts/input/mathml/mml3/mml3.xsl","slots":"200","line":"120","module":"mml3.xsl","expand-text":"false","match":"m:msubsup","prio":"2","matches":"NE nQ{http://www.w3.org/1998/Math/MathML}msubsup","C":[{"N":"p.nodeTest","role":"match","test":"NE nQ{http://www.w3.org/1998/Math/MathML}msubsup","sType":"1NE nQ{http://www.w3.org/1998/Math/MathML}msubsup","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common "},{"N":"elem","name":"m:mmultiscripts","sType":"1NE nQ{http://www.w3.org/1998/Math/MathML}mmultiscripts ","nsuri":"http://www.w3.org/1998/Math/MathML","namespaces":"","role":"action","line":"121","C":[{"N":"sequence","sType":"* ","C":[{"N":"applyT","sType":"* ","line":"122","mode":"Q{}rtl","bSlot":"0","C":[{"N":"first","sType":"?NE","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","role":"select","line":"122","C":[{"N":"axis","name":"child","nodeTest":"*NE"}]}]},{"N":"elem","name":"m:mprescripts","sType":"1NE nQ{http://www.w3.org/1998/Math/MathML}mprescripts ","nsuri":"http://www.w3.org/1998/Math/MathML","namespaces":"","line":"123","C":[{"N":"empty","sType":"0 "}]},{"N":"applyT","sType":"* ","line":"124","mode":"Q{}rtl","bSlot":"0","C":[{"N":"subscript","flags":"p","sType":"?NE","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","role":"select","line":"124","C":[{"N":"axis","name":"child","nodeTest":"*NE"},{"N":"int","val":"2"}]}]},{"N":"applyT","sType":"* ","line":"125","mode":"Q{}rtl","bSlot":"0","C":[{"N":"subscript","flags":"p","sType":"?NE","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","role":"select","line":"125","C":[{"N":"axis","name":"child","nodeTest":"*NE"},{"N":"int","val":"3"}]}]}]}]}]},{"N":"templateRule","rank":"3","prec":"0","seq":"24","ns":"xml=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common","minImp":"0","flags":"s","baseUri":"file:///Users/dpvc/Desktop/Folders/Tumlook/Data/Code/JavaScript/MathJax/Code/Git/mathjax/MathJax-src/ts/input/mathml/mml3/mml3.xsl","slots":"200","line":"112","module":"mml3.xsl","expand-text":"false","match":"m:msub","prio":"2","matches":"NE nQ{http://www.w3.org/1998/Math/MathML}msub","C":[{"N":"p.nodeTest","role":"match","test":"NE nQ{http://www.w3.org/1998/Math/MathML}msub","sType":"1NE nQ{http://www.w3.org/1998/Math/MathML}msub","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common "},{"N":"elem","name":"m:mmultiscripts","sType":"1NE nQ{http://www.w3.org/1998/Math/MathML}mmultiscripts ","nsuri":"http://www.w3.org/1998/Math/MathML","namespaces":"","role":"action","line":"113","C":[{"N":"sequence","sType":"* ","C":[{"N":"applyT","sType":"* ","line":"114","mode":"Q{}rtl","bSlot":"0","C":[{"N":"first","sType":"?NE","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","role":"select","line":"114","C":[{"N":"axis","name":"child","nodeTest":"*NE"}]}]},{"N":"elem","name":"m:mprescripts","sType":"1NE nQ{http://www.w3.org/1998/Math/MathML}mprescripts ","nsuri":"http://www.w3.org/1998/Math/MathML","namespaces":"","line":"115","C":[{"N":"empty","sType":"0 "}]},{"N":"applyT","sType":"* ","line":"116","mode":"Q{}rtl","bSlot":"0","C":[{"N":"subscript","flags":"p","sType":"?NE","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","role":"select","line":"116","C":[{"N":"axis","name":"child","nodeTest":"*NE"},{"N":"int","val":"2"}]}]},{"N":"elem","name":"m:none","sType":"1NE nQ{http://www.w3.org/1998/Math/MathML}none ","nsuri":"http://www.w3.org/1998/Math/MathML","namespaces":"","line":"117","C":[{"N":"empty","sType":"0 "}]}]}]}]},{"N":"templateRule","rank":"4","prec":"0","seq":"23","ns":"xml=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common","minImp":"0","flags":"s","baseUri":"file:///Users/dpvc/Desktop/Folders/Tumlook/Data/Code/JavaScript/MathJax/Code/Git/mathjax/MathJax-src/ts/input/mathml/mml3/mml3.xsl","slots":"200","line":"104","module":"mml3.xsl","expand-text":"false","match":"m:msup","prio":"2","matches":"NE nQ{http://www.w3.org/1998/Math/MathML}msup","C":[{"N":"p.nodeTest","role":"match","test":"NE nQ{http://www.w3.org/1998/Math/MathML}msup","sType":"1NE nQ{http://www.w3.org/1998/Math/MathML}msup","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common "},{"N":"elem","name":"m:mmultiscripts","sType":"1NE nQ{http://www.w3.org/1998/Math/MathML}mmultiscripts ","nsuri":"http://www.w3.org/1998/Math/MathML","namespaces":"","role":"action","line":"105","C":[{"N":"sequence","sType":"* ","C":[{"N":"applyT","sType":"* ","line":"106","mode":"Q{}rtl","bSlot":"0","C":[{"N":"first","sType":"?NE","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","role":"select","line":"106","C":[{"N":"axis","name":"child","nodeTest":"*NE"}]}]},{"N":"elem","name":"m:mprescripts","sType":"1NE nQ{http://www.w3.org/1998/Math/MathML}mprescripts ","nsuri":"http://www.w3.org/1998/Math/MathML","namespaces":"","line":"107","C":[{"N":"empty","sType":"0 "}]},{"N":"elem","name":"m:none","sType":"1NE nQ{http://www.w3.org/1998/Math/MathML}none ","nsuri":"http://www.w3.org/1998/Math/MathML","namespaces":"","line":"108","C":[{"N":"empty","sType":"0 "}]},{"N":"applyT","sType":"* ","line":"109","mode":"Q{}rtl","bSlot":"0","C":[{"N":"subscript","flags":"p","sType":"?NE","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","role":"select","line":"109","C":[{"N":"axis","name":"child","nodeTest":"*NE"},{"N":"int","val":"2"}]}]}]}]}]},{"N":"templateRule","rank":"5","prec":"0","seq":"22","ns":"xml=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common","minImp":"0","flags":"s","baseUri":"file:///Users/dpvc/Desktop/Folders/Tumlook/Data/Code/JavaScript/MathJax/Code/Git/mathjax/MathJax-src/ts/input/mathml/mml3/mml3.xsl","slots":"200","line":"97","module":"mml3.xsl","expand-text":"false","match":"m:mtable|m:munder|m:mover|m:munderover","prio":"2","matches":"NE u[NE u[NE u[NE nQ{http://www.w3.org/1998/Math/MathML}mtable,NE nQ{http://www.w3.org/1998/Math/MathML}munder],NE nQ{http://www.w3.org/1998/Math/MathML}mover],NE nQ{http://www.w3.org/1998/Math/MathML}munderover]","C":[{"N":"p.venn","role":"match","op":"union","sType":"1NE u[NE u[NE u[NE nQ{http://www.w3.org/1998/Math/MathML}mtable,NE nQ{http://www.w3.org/1998/Math/MathML}munder],NE nQ{http://www.w3.org/1998/Math/MathML}mover],NE nQ{http://www.w3.org/1998/Math/MathML}munderover]","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","C":[{"N":"p.venn","op":"union","C":[{"N":"p.venn","op":"union","C":[{"N":"p.nodeTest","test":"NE nQ{http://www.w3.org/1998/Math/MathML}mtable"},{"N":"p.nodeTest","test":"NE nQ{http://www.w3.org/1998/Math/MathML}munder"}]},{"N":"p.nodeTest","test":"NE nQ{http://www.w3.org/1998/Math/MathML}mover"}]},{"N":"p.nodeTest","test":"NE nQ{http://www.w3.org/1998/Math/MathML}munderover"}]},{"N":"copy","sType":"1NE u[1NE u[1NE u[1NE nQ{http://www.w3.org/1998/Math/MathML}mtable ,1NE nQ{http://www.w3.org/1998/Math/MathML}munder ] ,1NE nQ{http://www.w3.org/1998/Math/MathML}mover ] ,1NE nQ{http://www.w3.org/1998/Math/MathML}munderover ] ","flags":"cin","role":"action","line":"98","C":[{"N":"sequence","sType":"* ","C":[{"N":"applyT","sType":"* ","line":"99","mode":"Q{}rtl","bSlot":"0","C":[{"N":"axis","name":"attribute","nodeTest":"*NA","sType":"*NA","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","role":"select","line":"99"}]},{"N":"applyT","sType":"* ","line":"100","mode":"Q{}rtl","bSlot":"0","C":[{"N":"axis","name":"child","nodeTest":"*N u[NT,NP,NC,NE]","sType":"*N u[NT,NP,NC,NE]","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","role":"select","line":"100"}]}]}]}]},{"N":"templateRule","rank":"6","prec":"0","seq":"53","ns":"xml=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common","minImp":"0","flags":"s","baseUri":"file:///Users/dpvc/Desktop/Folders/Tumlook/Data/Code/JavaScript/MathJax/Code/Git/mathjax/MathJax-src/ts/input/mathml/mml3/mml3.xsl","slots":"200","line":"664","module":"mml3.xsl","expand-text":"false","match":"m:menclose[@notation='madruwb']","prio":"0.5","matches":"NE nQ{http://www.w3.org/1998/Math/MathML}menclose","C":[{"N":"p.withPredicate","role":"match","sType":"1NE nQ{http://www.w3.org/1998/Math/MathML}menclose","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","C":[{"N":"p.nodeTest","test":"NE nQ{http://www.w3.org/1998/Math/MathML}menclose"},{"N":"gc","op":"=","comp":"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint","card":"1:1","C":[{"N":"attVal","name":"Q{}notation"},{"N":"str","val":"madruwb"}]}]},{"N":"elem","name":"m:menclose","sType":"1NE nQ{http://www.w3.org/1998/Math/MathML}menclose ","nsuri":"http://www.w3.org/1998/Math/MathML","namespaces":"","role":"action","line":"665","C":[{"N":"sequence","sType":"* ","C":[{"N":"att","name":"notation","nsuri":"","sType":"1NA ","C":[{"N":"str","sType":"1AS ","val":"bottom right"}]},{"N":"applyT","sType":"* ","line":"666","mode":"Q{}rtl","bSlot":"0","C":[{"N":"axis","name":"child","nodeTest":"*N u[NT,NP,NC,NE]","sType":"*N u[NT,NP,NC,NE]","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","role":"select","line":"666"}]}]}]}]},{"N":"templateRule","rank":"7","prec":"0","seq":"36","ns":"xml=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common","minImp":"0","flags":"s","baseUri":"file:///Users/dpvc/Desktop/Folders/Tumlook/Data/Code/JavaScript/MathJax/Code/Git/mathjax/MathJax-src/ts/input/mathml/mml3/mml3.xsl","slots":"200","line":"163","module":"mml3.xsl","expand-text":"false","match":"@notation[.='radical']","prio":"0.5","matches":"NA nQ{}notation","C":[{"N":"p.withPredicate","role":"match","sType":"1NA nQ{}notation","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","C":[{"N":"p.nodeTest","test":"NA nQ{}notation"},{"N":"gc","op":"=","comp":"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint","card":"1:1","C":[{"N":"atomSing","diag":"1|0||gc","card":"?","C":[{"N":"dot"}]},{"N":"str","val":"radical"}]}]},{"N":"att","name":"notation","sType":"1NA ","role":"action","line":"164","C":[{"N":"fn","name":"string-join","role":"select","C":[{"N":"first","C":[{"N":"forEach","sType":"*AS ","C":[{"N":"data","sType":"*A ","C":[{"N":"mergeAdj","C":[{"N":"valueOf","sType":"1NT ","C":[{"N":"str","sType":"1AS ","val":"top right"}]}]}]},{"N":"fn","name":"string","sType":"1AS ","C":[{"N":"dot"}]}]}]},{"N":"str","sType":"1AS ","val":""}]}]}]},{"N":"templateRule","rank":"8","prec":"0","seq":"35","ns":"xml=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common","minImp":"0","flags":"s","baseUri":"file:///Users/dpvc/Desktop/Folders/Tumlook/Data/Code/JavaScript/MathJax/Code/Git/mathjax/MathJax-src/ts/input/mathml/mml3/mml3.xsl","slots":"200","line":"162","module":"mml3.xsl","expand-text":"false","match":"text()[.='∋']","prio":"0.5","matches":"NT","C":[{"N":"p.withPredicate","role":"match","sType":"1NT","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","C":[{"N":"p.nodeTest","test":"NT"},{"N":"gc","op":"=","comp":"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint","card":"1:1","C":[{"N":"atomSing","diag":"1|0||gc","card":"?","C":[{"N":"dot"}]},{"N":"str","val":"∋"}]}]},{"N":"valueOf","sType":"1NT ","role":"action","C":[{"N":"str","sType":"1AS ","val":"∈"}]}]},{"N":"templateRule","rank":"9","prec":"0","seq":"34","ns":"xml=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common","minImp":"0","flags":"s","baseUri":"file:///Users/dpvc/Desktop/Folders/Tumlook/Data/Code/JavaScript/MathJax/Code/Git/mathjax/MathJax-src/ts/input/mathml/mml3/mml3.xsl","slots":"200","line":"161","module":"mml3.xsl","expand-text":"false","match":"text()[.='∈']","prio":"0.5","matches":"NT","C":[{"N":"p.withPredicate","role":"match","sType":"1NT","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","C":[{"N":"p.nodeTest","test":"NT"},{"N":"gc","op":"=","comp":"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint","card":"1:1","C":[{"N":"atomSing","diag":"1|0||gc","card":"?","C":[{"N":"dot"}]},{"N":"str","val":"∈"}]}]},{"N":"valueOf","sType":"1NT ","role":"action","C":[{"N":"str","sType":"1AS ","val":"∋"}]}]},{"N":"templateRule","rank":"10","prec":"0","seq":"33","ns":"xml=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common","minImp":"0","flags":"s","baseUri":"file:///Users/dpvc/Desktop/Folders/Tumlook/Data/Code/JavaScript/MathJax/Code/Git/mathjax/MathJax-src/ts/input/mathml/mml3/mml3.xsl","slots":"200","line":"160","module":"mml3.xsl","expand-text":"false","match":"text()[.='>']","prio":"0.5","matches":"NT","C":[{"N":"p.withPredicate","role":"match","sType":"1NT","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","C":[{"N":"p.nodeTest","test":"NT"},{"N":"gc","op":"=","comp":"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint","card":"1:1","C":[{"N":"atomSing","diag":"1|0||gc","card":"?","C":[{"N":"dot"}]},{"N":"str","val":">"}]}]},{"N":"valueOf","sType":"1NT ","role":"action","C":[{"N":"str","sType":"1AS ","val":"<"}]}]},{"N":"templateRule","rank":"11","prec":"0","seq":"32","ns":"xml=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common","minImp":"0","flags":"s","baseUri":"file:///Users/dpvc/Desktop/Folders/Tumlook/Data/Code/JavaScript/MathJax/Code/Git/mathjax/MathJax-src/ts/input/mathml/mml3/mml3.xsl","slots":"200","line":"159","module":"mml3.xsl","expand-text":"false","match":"text()[.='<']","prio":"0.5","matches":"NT","C":[{"N":"p.withPredicate","role":"match","sType":"1NT","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","C":[{"N":"p.nodeTest","test":"NT"},{"N":"gc","op":"=","comp":"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint","card":"1:1","C":[{"N":"atomSing","diag":"1|0||gc","card":"?","C":[{"N":"dot"}]},{"N":"str","val":"<"}]}]},{"N":"valueOf","sType":"1NT ","role":"action","C":[{"N":"str","sType":"1AS ","val":">"}]}]},{"N":"templateRule","rank":"12","prec":"0","seq":"31","ns":"xml=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common","minImp":"0","flags":"s","baseUri":"file:///Users/dpvc/Desktop/Folders/Tumlook/Data/Code/JavaScript/MathJax/Code/Git/mathjax/MathJax-src/ts/input/mathml/mml3/mml3.xsl","slots":"200","line":"158","module":"mml3.xsl","expand-text":"false","match":"text()[.='}']","prio":"0.5","matches":"NT","C":[{"N":"p.withPredicate","role":"match","sType":"1NT","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","C":[{"N":"p.nodeTest","test":"NT"},{"N":"gc","op":"=","comp":"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint","card":"1:1","C":[{"N":"atomSing","diag":"1|0||gc","card":"?","C":[{"N":"dot"}]},{"N":"str","val":"}"}]}]},{"N":"valueOf","sType":"1NT ","role":"action","C":[{"N":"str","sType":"1AS ","val":"{"}]}]},{"N":"templateRule","rank":"13","prec":"0","seq":"30","ns":"xml=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common","minImp":"0","flags":"s","baseUri":"file:///Users/dpvc/Desktop/Folders/Tumlook/Data/Code/JavaScript/MathJax/Code/Git/mathjax/MathJax-src/ts/input/mathml/mml3/mml3.xsl","slots":"200","line":"157","module":"mml3.xsl","expand-text":"false","match":"text()[.='{']","prio":"0.5","matches":"NT","C":[{"N":"p.withPredicate","role":"match","sType":"1NT","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","C":[{"N":"p.nodeTest","test":"NT"},{"N":"gc","op":"=","comp":"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint","card":"1:1","C":[{"N":"atomSing","diag":"1|0||gc","card":"?","C":[{"N":"dot"}]},{"N":"str","val":"{"}]}]},{"N":"valueOf","sType":"1NT ","role":"action","C":[{"N":"str","sType":"1AS ","val":"}"}]}]},{"N":"templateRule","rank":"14","prec":"0","seq":"29","ns":"xml=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common","minImp":"0","flags":"s","baseUri":"file:///Users/dpvc/Desktop/Folders/Tumlook/Data/Code/JavaScript/MathJax/Code/Git/mathjax/MathJax-src/ts/input/mathml/mml3/mml3.xsl","slots":"200","line":"156","module":"mml3.xsl","expand-text":"false","match":"text()[.=')']","prio":"0.5","matches":"NT","C":[{"N":"p.withPredicate","role":"match","sType":"1NT","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","C":[{"N":"p.nodeTest","test":"NT"},{"N":"gc","op":"=","comp":"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint","card":"1:1","C":[{"N":"atomSing","diag":"1|0||gc","card":"?","C":[{"N":"dot"}]},{"N":"str","val":")"}]}]},{"N":"valueOf","sType":"1NT ","role":"action","C":[{"N":"str","sType":"1AS ","val":"("}]}]},{"N":"templateRule","rank":"15","prec":"0","seq":"28","ns":"xml=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common","minImp":"0","flags":"s","baseUri":"file:///Users/dpvc/Desktop/Folders/Tumlook/Data/Code/JavaScript/MathJax/Code/Git/mathjax/MathJax-src/ts/input/mathml/mml3/mml3.xsl","slots":"200","line":"155","module":"mml3.xsl","expand-text":"false","match":"text()[.='(']","prio":"0.5","matches":"NT","C":[{"N":"p.withPredicate","role":"match","sType":"1NT","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","C":[{"N":"p.nodeTest","test":"NT"},{"N":"gc","op":"=","comp":"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint","card":"1:1","C":[{"N":"atomSing","diag":"1|0||gc","card":"?","C":[{"N":"dot"}]},{"N":"str","val":"("}]}]},{"N":"valueOf","sType":"1NT ","role":"action","C":[{"N":"str","sType":"1AS ","val":")"}]}]},{"N":"templateRule","rank":"16","prec":"0","seq":"18","ns":"xml=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common","minImp":"0","flags":"s","baseUri":"file:///Users/dpvc/Desktop/Folders/Tumlook/Data/Code/JavaScript/MathJax/Code/Git/mathjax/MathJax-src/ts/input/mathml/mml3/mml3.xsl","slots":"200","line":"72","module":"mml3.xsl","expand-text":"false","match":"m:mfrac[@bevelled='true']","prio":"0.5","matches":"NE nQ{http://www.w3.org/1998/Math/MathML}mfrac","C":[{"N":"p.withPredicate","role":"match","sType":"1NE nQ{http://www.w3.org/1998/Math/MathML}mfrac","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","C":[{"N":"p.nodeTest","test":"NE nQ{http://www.w3.org/1998/Math/MathML}mfrac"},{"N":"gc","op":"=","comp":"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint","card":"1:1","C":[{"N":"attVal","name":"Q{}bevelled"},{"N":"str","val":"true"}]}]},{"N":"elem","name":"m:mrow","sType":"1NE nQ{http://www.w3.org/1998/Math/MathML}mrow ","nsuri":"http://www.w3.org/1998/Math/MathML","namespaces":"","role":"action","line":"73","C":[{"N":"sequence","sType":"*NE ","C":[{"N":"elem","name":"m:msub","sType":"1NE nQ{http://www.w3.org/1998/Math/MathML}msub ","nsuri":"http://www.w3.org/1998/Math/MathML","namespaces":"","line":"74","C":[{"N":"sequence","sType":"* ","C":[{"N":"elem","name":"m:mi","sType":"1NE nQ{http://www.w3.org/1998/Math/MathML}mi ","nsuri":"http://www.w3.org/1998/Math/MathML","namespaces":"","C":[{"N":"empty","sType":"0 "}]},{"N":"applyT","sType":"* ","mode":"Q{}rtl","bSlot":"0","C":[{"N":"subscript","flags":"p","sType":"?NE","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","role":"select","line":"5","C":[{"N":"axis","name":"child","nodeTest":"*NE"},{"N":"int","val":"2"}]}]}]}]},{"N":"elem","name":"m:mo","sType":"1NE nQ{http://www.w3.org/1998/Math/MathML}mo ","nsuri":"http://www.w3.org/1998/Math/MathML","namespaces":"","line":"75","C":[{"N":"valueOf","sType":"1NT ","C":[{"N":"str","sType":"1AS ","val":"\\"}]}]},{"N":"elem","name":"m:msup","sType":"1NE nQ{http://www.w3.org/1998/Math/MathML}msup ","nsuri":"http://www.w3.org/1998/Math/MathML","namespaces":"","line":"76","C":[{"N":"sequence","sType":"* ","C":[{"N":"elem","name":"m:mi","sType":"1NE nQ{http://www.w3.org/1998/Math/MathML}mi ","nsuri":"http://www.w3.org/1998/Math/MathML","namespaces":"","C":[{"N":"empty","sType":"0 "}]},{"N":"applyT","sType":"* ","mode":"Q{}rtl","bSlot":"0","C":[{"N":"first","sType":"?NE","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","role":"select","line":"9","C":[{"N":"axis","name":"child","nodeTest":"*NE"}]}]}]}]}]}]}]},{"N":"templateRule","rank":"17","prec":"0","seq":"17","ns":"xml=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common","minImp":"0","flags":"s","baseUri":"file:///Users/dpvc/Desktop/Folders/Tumlook/Data/Code/JavaScript/MathJax/Code/Git/mathjax/MathJax-src/ts/input/mathml/mml3/mml3.xsl","slots":"200","line":"69","module":"mml3.xsl","expand-text":"false","match":"@close[.='}']","prio":"0.5","matches":"NA nQ{}close","C":[{"N":"p.withPredicate","role":"match","sType":"1NA nQ{}close","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","C":[{"N":"p.nodeTest","test":"NA nQ{}close"},{"N":"gc","op":"=","comp":"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint","card":"1:1","C":[{"N":"atomSing","diag":"1|0||gc","card":"?","C":[{"N":"dot"}]},{"N":"str","val":"}"}]}]},{"N":"att","name":"open","sType":"1NA ","role":"action","line":"70","C":[{"N":"fn","name":"string-join","role":"select","C":[{"N":"first","C":[{"N":"forEach","sType":"*AS ","C":[{"N":"data","sType":"*A ","C":[{"N":"mergeAdj","C":[{"N":"valueOf","sType":"1NT ","C":[{"N":"str","sType":"1AS ","val":"{"}]}]}]},{"N":"fn","name":"string","sType":"1AS ","C":[{"N":"dot"}]}]}]},{"N":"str","sType":"1AS ","val":""}]}]}]},{"N":"templateRule","rank":"18","prec":"0","seq":"16","ns":"xml=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common","minImp":"0","flags":"s","baseUri":"file:///Users/dpvc/Desktop/Folders/Tumlook/Data/Code/JavaScript/MathJax/Code/Git/mathjax/MathJax-src/ts/input/mathml/mml3/mml3.xsl","slots":"200","line":"66","module":"mml3.xsl","expand-text":"false","match":"@close[.='{']","prio":"0.5","matches":"NA nQ{}close","C":[{"N":"p.withPredicate","role":"match","sType":"1NA nQ{}close","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","C":[{"N":"p.nodeTest","test":"NA nQ{}close"},{"N":"gc","op":"=","comp":"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint","card":"1:1","C":[{"N":"atomSing","diag":"1|0||gc","card":"?","C":[{"N":"dot"}]},{"N":"str","val":"{"}]}]},{"N":"att","name":"open","sType":"1NA ","role":"action","line":"67","C":[{"N":"fn","name":"string-join","role":"select","C":[{"N":"first","C":[{"N":"forEach","sType":"*AS ","C":[{"N":"data","sType":"*A ","C":[{"N":"mergeAdj","C":[{"N":"valueOf","sType":"1NT ","C":[{"N":"str","sType":"1AS ","val":"}"}]}]}]},{"N":"fn","name":"string","sType":"1AS ","C":[{"N":"dot"}]}]}]},{"N":"str","sType":"1AS ","val":""}]}]}]},{"N":"templateRule","rank":"19","prec":"0","seq":"15","ns":"xml=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common","minImp":"0","flags":"s","baseUri":"file:///Users/dpvc/Desktop/Folders/Tumlook/Data/Code/JavaScript/MathJax/Code/Git/mathjax/MathJax-src/ts/input/mathml/mml3/mml3.xsl","slots":"200","line":"63","module":"mml3.xsl","expand-text":"false","match":"@close[.=']']","prio":"0.5","matches":"NA nQ{}close","C":[{"N":"p.withPredicate","role":"match","sType":"1NA nQ{}close","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","C":[{"N":"p.nodeTest","test":"NA nQ{}close"},{"N":"gc","op":"=","comp":"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint","card":"1:1","C":[{"N":"atomSing","diag":"1|0||gc","card":"?","C":[{"N":"dot"}]},{"N":"str","val":"]"}]}]},{"N":"att","name":"open","sType":"1NA ","role":"action","line":"64","C":[{"N":"fn","name":"string-join","role":"select","C":[{"N":"first","C":[{"N":"forEach","sType":"*AS ","C":[{"N":"data","sType":"*A ","C":[{"N":"mergeAdj","C":[{"N":"valueOf","sType":"1NT ","C":[{"N":"str","sType":"1AS ","val":"["}]}]}]},{"N":"fn","name":"string","sType":"1AS ","C":[{"N":"dot"}]}]}]},{"N":"str","sType":"1AS ","val":""}]}]}]},{"N":"templateRule","rank":"20","prec":"0","seq":"14","ns":"xml=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common","minImp":"0","flags":"s","baseUri":"file:///Users/dpvc/Desktop/Folders/Tumlook/Data/Code/JavaScript/MathJax/Code/Git/mathjax/MathJax-src/ts/input/mathml/mml3/mml3.xsl","slots":"200","line":"60","module":"mml3.xsl","expand-text":"false","match":"@close[.='[']","prio":"0.5","matches":"NA nQ{}close","C":[{"N":"p.withPredicate","role":"match","sType":"1NA nQ{}close","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","C":[{"N":"p.nodeTest","test":"NA nQ{}close"},{"N":"gc","op":"=","comp":"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint","card":"1:1","C":[{"N":"atomSing","diag":"1|0||gc","card":"?","C":[{"N":"dot"}]},{"N":"str","val":"["}]}]},{"N":"att","name":"open","sType":"1NA ","role":"action","line":"61","C":[{"N":"fn","name":"string-join","role":"select","C":[{"N":"first","C":[{"N":"forEach","sType":"*AS ","C":[{"N":"data","sType":"*A ","C":[{"N":"mergeAdj","C":[{"N":"valueOf","sType":"1NT ","C":[{"N":"str","sType":"1AS ","val":"]"}]}]}]},{"N":"fn","name":"string","sType":"1AS ","C":[{"N":"dot"}]}]}]},{"N":"str","sType":"1AS ","val":""}]}]}]},{"N":"templateRule","rank":"21","prec":"0","seq":"13","ns":"xml=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common","minImp":"0","flags":"s","baseUri":"file:///Users/dpvc/Desktop/Folders/Tumlook/Data/Code/JavaScript/MathJax/Code/Git/mathjax/MathJax-src/ts/input/mathml/mml3/mml3.xsl","slots":"200","line":"57","module":"mml3.xsl","expand-text":"false","match":"@close[.=')']","prio":"0.5","matches":"NA nQ{}close","C":[{"N":"p.withPredicate","role":"match","sType":"1NA nQ{}close","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","C":[{"N":"p.nodeTest","test":"NA nQ{}close"},{"N":"gc","op":"=","comp":"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint","card":"1:1","C":[{"N":"atomSing","diag":"1|0||gc","card":"?","C":[{"N":"dot"}]},{"N":"str","val":")"}]}]},{"N":"att","name":"open","sType":"1NA ","role":"action","line":"58","C":[{"N":"fn","name":"string-join","role":"select","C":[{"N":"first","C":[{"N":"forEach","sType":"*AS ","C":[{"N":"data","sType":"*A ","C":[{"N":"mergeAdj","C":[{"N":"valueOf","sType":"1NT ","C":[{"N":"str","sType":"1AS ","val":"("}]}]}]},{"N":"fn","name":"string","sType":"1AS ","C":[{"N":"dot"}]}]}]},{"N":"str","sType":"1AS ","val":""}]}]}]},{"N":"templateRule","rank":"22","prec":"0","seq":"12","ns":"xml=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common","minImp":"0","flags":"s","baseUri":"file:///Users/dpvc/Desktop/Folders/Tumlook/Data/Code/JavaScript/MathJax/Code/Git/mathjax/MathJax-src/ts/input/mathml/mml3/mml3.xsl","slots":"200","line":"54","module":"mml3.xsl","expand-text":"false","match":"@close[.='(']","prio":"0.5","matches":"NA nQ{}close","C":[{"N":"p.withPredicate","role":"match","sType":"1NA nQ{}close","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","C":[{"N":"p.nodeTest","test":"NA nQ{}close"},{"N":"gc","op":"=","comp":"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint","card":"1:1","C":[{"N":"atomSing","diag":"1|0||gc","card":"?","C":[{"N":"dot"}]},{"N":"str","val":"("}]}]},{"N":"att","name":"open","sType":"1NA ","role":"action","line":"55","C":[{"N":"fn","name":"string-join","role":"select","C":[{"N":"first","C":[{"N":"forEach","sType":"*AS ","C":[{"N":"data","sType":"*A ","C":[{"N":"mergeAdj","C":[{"N":"valueOf","sType":"1NT ","C":[{"N":"str","sType":"1AS ","val":")"}]}]}]},{"N":"fn","name":"string","sType":"1AS ","C":[{"N":"dot"}]}]}]},{"N":"str","sType":"1AS ","val":""}]}]}]},{"N":"templateRule","rank":"23","prec":"0","seq":"10","ns":"xml=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common","minImp":"0","flags":"s","baseUri":"file:///Users/dpvc/Desktop/Folders/Tumlook/Data/Code/JavaScript/MathJax/Code/Git/mathjax/MathJax-src/ts/input/mathml/mml3/mml3.xsl","slots":"200","line":"48","module":"mml3.xsl","expand-text":"false","match":"@open[.='}']","prio":"0.5","matches":"NA nQ{}open","C":[{"N":"p.withPredicate","role":"match","sType":"1NA nQ{}open","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","C":[{"N":"p.nodeTest","test":"NA nQ{}open"},{"N":"gc","op":"=","comp":"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint","card":"1:1","C":[{"N":"atomSing","diag":"1|0||gc","card":"?","C":[{"N":"dot"}]},{"N":"str","val":"}"}]}]},{"N":"att","name":"close","sType":"1NA ","role":"action","line":"49","C":[{"N":"fn","name":"string-join","role":"select","C":[{"N":"first","C":[{"N":"forEach","sType":"*AS ","C":[{"N":"data","sType":"*A ","C":[{"N":"mergeAdj","C":[{"N":"valueOf","sType":"1NT ","C":[{"N":"str","sType":"1AS ","val":"{"}]}]}]},{"N":"fn","name":"string","sType":"1AS ","C":[{"N":"dot"}]}]}]},{"N":"str","sType":"1AS ","val":""}]}]}]},{"N":"templateRule","rank":"24","prec":"0","seq":"9","ns":"xml=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common","minImp":"0","flags":"s","baseUri":"file:///Users/dpvc/Desktop/Folders/Tumlook/Data/Code/JavaScript/MathJax/Code/Git/mathjax/MathJax-src/ts/input/mathml/mml3/mml3.xsl","slots":"200","line":"45","module":"mml3.xsl","expand-text":"false","match":"@open[.='{']","prio":"0.5","matches":"NA nQ{}open","C":[{"N":"p.withPredicate","role":"match","sType":"1NA nQ{}open","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","C":[{"N":"p.nodeTest","test":"NA nQ{}open"},{"N":"gc","op":"=","comp":"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint","card":"1:1","C":[{"N":"atomSing","diag":"1|0||gc","card":"?","C":[{"N":"dot"}]},{"N":"str","val":"{"}]}]},{"N":"att","name":"close","sType":"1NA ","role":"action","line":"46","C":[{"N":"fn","name":"string-join","role":"select","C":[{"N":"first","C":[{"N":"forEach","sType":"*AS ","C":[{"N":"data","sType":"*A ","C":[{"N":"mergeAdj","C":[{"N":"valueOf","sType":"1NT ","C":[{"N":"str","sType":"1AS ","val":"}"}]}]}]},{"N":"fn","name":"string","sType":"1AS ","C":[{"N":"dot"}]}]}]},{"N":"str","sType":"1AS ","val":""}]}]}]},{"N":"templateRule","rank":"25","prec":"0","seq":"8","ns":"xml=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common","minImp":"0","flags":"s","baseUri":"file:///Users/dpvc/Desktop/Folders/Tumlook/Data/Code/JavaScript/MathJax/Code/Git/mathjax/MathJax-src/ts/input/mathml/mml3/mml3.xsl","slots":"200","line":"42","module":"mml3.xsl","expand-text":"false","match":"@open[.=']']","prio":"0.5","matches":"NA nQ{}open","C":[{"N":"p.withPredicate","role":"match","sType":"1NA nQ{}open","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","C":[{"N":"p.nodeTest","test":"NA nQ{}open"},{"N":"gc","op":"=","comp":"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint","card":"1:1","C":[{"N":"atomSing","diag":"1|0||gc","card":"?","C":[{"N":"dot"}]},{"N":"str","val":"]"}]}]},{"N":"att","name":"close","sType":"1NA ","role":"action","line":"43","C":[{"N":"fn","name":"string-join","role":"select","C":[{"N":"first","C":[{"N":"forEach","sType":"*AS ","C":[{"N":"data","sType":"*A ","C":[{"N":"mergeAdj","C":[{"N":"valueOf","sType":"1NT ","C":[{"N":"str","sType":"1AS ","val":"["}]}]}]},{"N":"fn","name":"string","sType":"1AS ","C":[{"N":"dot"}]}]}]},{"N":"str","sType":"1AS ","val":""}]}]}]},{"N":"templateRule","rank":"26","prec":"0","seq":"7","ns":"xml=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common","minImp":"0","flags":"s","baseUri":"file:///Users/dpvc/Desktop/Folders/Tumlook/Data/Code/JavaScript/MathJax/Code/Git/mathjax/MathJax-src/ts/input/mathml/mml3/mml3.xsl","slots":"200","line":"39","module":"mml3.xsl","expand-text":"false","match":"@open[.='[']","prio":"0.5","matches":"NA nQ{}open","C":[{"N":"p.withPredicate","role":"match","sType":"1NA nQ{}open","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","C":[{"N":"p.nodeTest","test":"NA nQ{}open"},{"N":"gc","op":"=","comp":"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint","card":"1:1","C":[{"N":"atomSing","diag":"1|0||gc","card":"?","C":[{"N":"dot"}]},{"N":"str","val":"["}]}]},{"N":"att","name":"close","sType":"1NA ","role":"action","line":"40","C":[{"N":"fn","name":"string-join","role":"select","C":[{"N":"first","C":[{"N":"forEach","sType":"*AS ","C":[{"N":"data","sType":"*A ","C":[{"N":"mergeAdj","C":[{"N":"valueOf","sType":"1NT ","C":[{"N":"str","sType":"1AS ","val":"]"}]}]}]},{"N":"fn","name":"string","sType":"1AS ","C":[{"N":"dot"}]}]}]},{"N":"str","sType":"1AS ","val":""}]}]}]},{"N":"templateRule","rank":"27","prec":"0","seq":"6","ns":"xml=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common","minImp":"0","flags":"s","baseUri":"file:///Users/dpvc/Desktop/Folders/Tumlook/Data/Code/JavaScript/MathJax/Code/Git/mathjax/MathJax-src/ts/input/mathml/mml3/mml3.xsl","slots":"200","line":"36","module":"mml3.xsl","expand-text":"false","match":"@open[.=')']","prio":"0.5","matches":"NA nQ{}open","C":[{"N":"p.withPredicate","role":"match","sType":"1NA nQ{}open","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","C":[{"N":"p.nodeTest","test":"NA nQ{}open"},{"N":"gc","op":"=","comp":"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint","card":"1:1","C":[{"N":"atomSing","diag":"1|0||gc","card":"?","C":[{"N":"dot"}]},{"N":"str","val":")"}]}]},{"N":"att","name":"close","sType":"1NA ","role":"action","line":"37","C":[{"N":"fn","name":"string-join","role":"select","C":[{"N":"first","C":[{"N":"forEach","sType":"*AS ","C":[{"N":"data","sType":"*A ","C":[{"N":"mergeAdj","C":[{"N":"valueOf","sType":"1NT ","C":[{"N":"str","sType":"1AS ","val":"("}]}]}]},{"N":"fn","name":"string","sType":"1AS ","C":[{"N":"dot"}]}]}]},{"N":"str","sType":"1AS ","val":""}]}]}]},{"N":"templateRule","rank":"28","prec":"0","seq":"5","ns":"xml=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common","minImp":"0","flags":"s","baseUri":"file:///Users/dpvc/Desktop/Folders/Tumlook/Data/Code/JavaScript/MathJax/Code/Git/mathjax/MathJax-src/ts/input/mathml/mml3/mml3.xsl","slots":"200","line":"33","module":"mml3.xsl","expand-text":"false","match":"@open[.='(']","prio":"0.5","matches":"NA nQ{}open","C":[{"N":"p.withPredicate","role":"match","sType":"1NA nQ{}open","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","C":[{"N":"p.nodeTest","test":"NA nQ{}open"},{"N":"gc","op":"=","comp":"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint","card":"1:1","C":[{"N":"atomSing","diag":"1|0||gc","card":"?","C":[{"N":"dot"}]},{"N":"str","val":"("}]}]},{"N":"att","name":"close","sType":"1NA ","role":"action","line":"34","C":[{"N":"fn","name":"string-join","role":"select","C":[{"N":"first","C":[{"N":"forEach","sType":"*AS ","C":[{"N":"data","sType":"*A ","C":[{"N":"mergeAdj","C":[{"N":"valueOf","sType":"1NT ","C":[{"N":"str","sType":"1AS ","val":")"}]}]}]},{"N":"fn","name":"string","sType":"1AS ","C":[{"N":"dot"}]}]}]},{"N":"str","sType":"1AS ","val":""}]}]}]},{"N":"templateRule","rank":"29","prec":"0","seq":"37","ns":"xml=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common","minImp":"0","flags":"s","baseUri":"file:///Users/dpvc/Desktop/Folders/Tumlook/Data/Code/JavaScript/MathJax/Code/Git/mathjax/MathJax-src/ts/input/mathml/mml3/mml3.xsl","slots":"200","line":"166","module":"mml3.xsl","expand-text":"false","match":"m:mlongdiv|m:mstack","prio":"0","matches":"NE nQ{http://www.w3.org/1998/Math/MathML}mlongdiv","C":[{"N":"p.nodeTest","role":"match","test":"NE nQ{http://www.w3.org/1998/Math/MathML}mlongdiv","sType":"1NE nQ{http://www.w3.org/1998/Math/MathML}mlongdiv"},{"N":"elem","name":"m:mrow","sType":"1NE nQ{http://www.w3.org/1998/Math/MathML}mrow ","nsuri":"http://www.w3.org/1998/Math/MathML","namespaces":"","role":"action","line":"167","C":[{"N":"sequence","sType":"* ","C":[{"N":"att","name":"dir","nsuri":"","sType":"1NA ","C":[{"N":"str","sType":"1AS ","val":"ltr"}]},{"N":"applyT","sType":"* ","line":"168","mode":"#unnamed","bSlot":"1","C":[{"N":"dot","sType":"1NE nQ{http://www.w3.org/1998/Math/MathML}mlongdiv","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","role":"select","line":"168"}]}]}]}]},{"N":"templateRule","rank":"30","prec":"0","seq":"37","ns":"xml=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common","minImp":"0","flags":"s","baseUri":"file:///Users/dpvc/Desktop/Folders/Tumlook/Data/Code/JavaScript/MathJax/Code/Git/mathjax/MathJax-src/ts/input/mathml/mml3/mml3.xsl","slots":"200","line":"166","module":"mml3.xsl","expand-text":"false","match":"m:mlongdiv|m:mstack","prio":"0","matches":"NE nQ{http://www.w3.org/1998/Math/MathML}mstack","C":[{"N":"p.nodeTest","role":"match","test":"NE nQ{http://www.w3.org/1998/Math/MathML}mstack","sType":"1NE nQ{http://www.w3.org/1998/Math/MathML}mstack"},{"N":"elem","name":"m:mrow","sType":"1NE nQ{http://www.w3.org/1998/Math/MathML}mrow ","nsuri":"http://www.w3.org/1998/Math/MathML","namespaces":"","role":"action","line":"167","C":[{"N":"sequence","sType":"* ","C":[{"N":"att","name":"dir","nsuri":"","sType":"1NA ","C":[{"N":"str","sType":"1AS ","val":"ltr"}]},{"N":"applyT","sType":"* ","line":"168","mode":"#unnamed","bSlot":"1","C":[{"N":"dot","sType":"1NE nQ{http://www.w3.org/1998/Math/MathML}mstack","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","role":"select","line":"168"}]}]}]}]},{"N":"templateRule","rank":"31","prec":"0","seq":"21","ns":"xml=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common","minImp":"0","flags":"s","baseUri":"file:///Users/dpvc/Desktop/Folders/Tumlook/Data/Code/JavaScript/MathJax/Code/Git/mathjax/MathJax-src/ts/input/mathml/mml3/mml3.xsl","slots":"200","line":"92","module":"mml3.xsl","expand-text":"false","match":"m:msqrt","prio":"0","matches":"NE nQ{http://www.w3.org/1998/Math/MathML}msqrt","C":[{"N":"p.nodeTest","role":"match","test":"NE nQ{http://www.w3.org/1998/Math/MathML}msqrt","sType":"1NE nQ{http://www.w3.org/1998/Math/MathML}msqrt","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common "},{"N":"elem","name":"m:menclose","sType":"1NE nQ{http://www.w3.org/1998/Math/MathML}menclose ","nsuri":"http://www.w3.org/1998/Math/MathML","namespaces":"","role":"action","line":"93","C":[{"N":"sequence","sType":"* ","C":[{"N":"att","name":"notation","nsuri":"","sType":"1NA ","C":[{"N":"str","sType":"1AS ","val":"top right"}]},{"N":"applyT","sType":"* ","line":"94","mode":"Q{}rtl","bSlot":"0","C":[{"N":"docOrder","sType":"*N u[NA,NE]","role":"select","line":"94","C":[{"N":"union","op":"|","sType":"*N u[NA,NE]","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","C":[{"N":"axis","name":"attribute","nodeTest":"*NA"},{"N":"first","C":[{"N":"axis","name":"child","nodeTest":"*NE"}]}]}]}]}]}]}]},{"N":"templateRule","rank":"32","prec":"0","seq":"20","ns":"xml=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common","minImp":"0","flags":"s","baseUri":"file:///Users/dpvc/Desktop/Folders/Tumlook/Data/Code/JavaScript/MathJax/Code/Git/mathjax/MathJax-src/ts/input/mathml/mml3/mml3.xsl","slots":"200","line":"84","module":"mml3.xsl","expand-text":"false","match":"m:mroot","prio":"0","matches":"NE nQ{http://www.w3.org/1998/Math/MathML}mroot","C":[{"N":"p.nodeTest","role":"match","test":"NE nQ{http://www.w3.org/1998/Math/MathML}mroot","sType":"1NE nQ{http://www.w3.org/1998/Math/MathML}mroot","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common "},{"N":"elem","name":"m:msup","sType":"1NE nQ{http://www.w3.org/1998/Math/MathML}msup ","nsuri":"http://www.w3.org/1998/Math/MathML","namespaces":"","role":"action","line":"85","C":[{"N":"sequence","sType":"* ","C":[{"N":"elem","name":"m:menclose","sType":"1NE nQ{http://www.w3.org/1998/Math/MathML}menclose ","nsuri":"http://www.w3.org/1998/Math/MathML","namespaces":"","line":"86","C":[{"N":"sequence","sType":"* ","C":[{"N":"att","name":"notation","nsuri":"","sType":"1NA ","C":[{"N":"str","sType":"1AS ","val":"top right"}]},{"N":"applyT","sType":"* ","line":"87","mode":"Q{}rtl","bSlot":"0","C":[{"N":"docOrder","sType":"*N u[NA,NE]","role":"select","line":"87","C":[{"N":"union","op":"|","sType":"*N u[NA,NE]","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","C":[{"N":"axis","name":"attribute","nodeTest":"*NA"},{"N":"first","C":[{"N":"axis","name":"child","nodeTest":"*NE"}]}]}]}]}]}]},{"N":"applyT","sType":"* ","line":"89","mode":"Q{}rtl","bSlot":"0","C":[{"N":"subscript","flags":"p","sType":"?NE","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","role":"select","line":"89","C":[{"N":"axis","name":"child","nodeTest":"*NE"},{"N":"int","val":"2"}]}]}]}]}]},{"N":"templateRule","rank":"33","prec":"0","seq":"19","ns":"xml=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common","minImp":"0","flags":"s","baseUri":"file:///Users/dpvc/Desktop/Folders/Tumlook/Data/Code/JavaScript/MathJax/Code/Git/mathjax/MathJax-src/ts/input/mathml/mml3/mml3.xsl","slots":"200","line":"79","module":"mml3.xsl","expand-text":"false","match":"m:mfrac","prio":"0","matches":"NE nQ{http://www.w3.org/1998/Math/MathML}mfrac","C":[{"N":"p.nodeTest","role":"match","test":"NE nQ{http://www.w3.org/1998/Math/MathML}mfrac","sType":"1NE nQ{http://www.w3.org/1998/Math/MathML}mfrac","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common "},{"N":"copy","sType":"1NE nQ{http://www.w3.org/1998/Math/MathML}mfrac ","flags":"cin","role":"action","line":"80","C":[{"N":"applyT","sType":"* ","line":"81","mode":"Q{}rtl","bSlot":"0","C":[{"N":"docOrder","sType":"*N u[NA,NE]","role":"select","line":"81","C":[{"N":"union","op":"|","sType":"*N u[NA,NE]","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","C":[{"N":"axis","name":"attribute","nodeTest":"*NA"},{"N":"axis","name":"child","nodeTest":"*NE"}]}]}]}]}]},{"N":"templateRule","rank":"34","prec":"0","seq":"11","ns":"xml=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common","minImp":"0","flags":"s","baseUri":"file:///Users/dpvc/Desktop/Folders/Tumlook/Data/Code/JavaScript/MathJax/Code/Git/mathjax/MathJax-src/ts/input/mathml/mml3/mml3.xsl","slots":"200","line":"51","module":"mml3.xsl","expand-text":"false","match":"@close","prio":"0","matches":"NA nQ{}close","C":[{"N":"p.nodeTest","role":"match","test":"NA nQ{}close","sType":"1NA nQ{}close","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common "},{"N":"att","name":"open","sType":"1NA ","role":"action","line":"52","C":[{"N":"fn","name":"string-join","role":"select","C":[{"N":"first","C":[{"N":"forEach","sType":"*AS ","C":[{"N":"data","sType":"*A ","C":[{"N":"mergeAdj","C":[{"N":"valueOf","sType":"1NT ","flags":"l","C":[{"N":"fn","name":"string-join","role":"select","C":[{"N":"first","C":[{"N":"forEach","sType":"*AS ","C":[{"N":"data","sType":"*A ","C":[{"N":"mergeAdj","C":[{"N":"dot","sType":"1NA nQ{}close","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","role":"select","line":"3"}]}]},{"N":"fn","name":"string","sType":"1AS ","C":[{"N":"dot"}]}]}]},{"N":"str","sType":"1AS ","val":" "}]}]}]}]},{"N":"fn","name":"string","sType":"1AS ","C":[{"N":"dot"}]}]}]},{"N":"str","sType":"1AS ","val":""}]}]}]},{"N":"templateRule","rank":"35","prec":"0","seq":"4","ns":"xml=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common","minImp":"0","flags":"s","baseUri":"file:///Users/dpvc/Desktop/Folders/Tumlook/Data/Code/JavaScript/MathJax/Code/Git/mathjax/MathJax-src/ts/input/mathml/mml3/mml3.xsl","slots":"200","line":"30","module":"mml3.xsl","expand-text":"false","match":"@open","prio":"0","matches":"NA nQ{}open","C":[{"N":"p.nodeTest","role":"match","test":"NA nQ{}open","sType":"1NA nQ{}open","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common "},{"N":"att","name":"close","sType":"1NA ","role":"action","line":"31","C":[{"N":"fn","name":"string-join","role":"select","C":[{"N":"first","C":[{"N":"forEach","sType":"*AS ","C":[{"N":"data","sType":"*A ","C":[{"N":"mergeAdj","C":[{"N":"valueOf","sType":"1NT ","flags":"l","C":[{"N":"fn","name":"string-join","role":"select","C":[{"N":"first","C":[{"N":"forEach","sType":"*AS ","C":[{"N":"data","sType":"*A ","C":[{"N":"mergeAdj","C":[{"N":"dot","sType":"1NA nQ{}open","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","role":"select","line":"3"}]}]},{"N":"fn","name":"string","sType":"1AS ","C":[{"N":"dot"}]}]}]},{"N":"str","sType":"1AS ","val":" "}]}]}]}]},{"N":"fn","name":"string","sType":"1AS ","C":[{"N":"dot"}]}]}]},{"N":"str","sType":"1AS ","val":""}]}]}]},{"N":"templateRule","rank":"36","prec":"0","seq":"3","ns":"xml=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common","minImp":"0","flags":"s","baseUri":"file:///Users/dpvc/Desktop/Folders/Tumlook/Data/Code/JavaScript/MathJax/Code/Git/mathjax/MathJax-src/ts/input/mathml/mml3/mml3.xsl","slots":"200","line":"20","module":"mml3.xsl","expand-text":"false","match":"*","prio":"-0.5","matches":"NE","C":[{"N":"p.nodeTest","role":"match","test":"NE","sType":"1NE","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common "},{"N":"copy","sType":"1NE ","flags":"cin","role":"action","line":"21","C":[{"N":"sequence","sType":"* ","C":[{"N":"applyT","sType":"* ","line":"22","mode":"Q{}rtl","bSlot":"0","C":[{"N":"axis","name":"attribute","nodeTest":"*NA","sType":"*NA","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","role":"select","line":"22"}]},{"N":"forEach","sType":"* ","line":"23","C":[{"N":"sort","sType":"*N u[NT,NP,NC,NE]","C":[{"N":"axis","name":"child","nodeTest":"*N u[NT,NP,NC,NE]","sType":"*N u[NT,NP,NC,NE]","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","role":"select","line":"23"},{"N":"sortKey","sType":"?ADI ","C":[{"N":"first","role":"select","sType":"?ADI ","C":[{"N":"fn","name":"position","sType":"1ADI","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","role":"select","line":"24"}]},{"N":"str","sType":"1AS ","val":"descending","role":"order"},{"N":"str","sType":"1AS ","val":"en","role":"lang"},{"N":"str","sType":"1AS ","val":"#default","role":"caseOrder"},{"N":"str","sType":"1AS ","val":"true","role":"stable"},{"N":"str","sType":"1AS ","val":"number","role":"dataType"}]}]},{"N":"sequence","sType":"* ","C":[{"N":"valueOf","sType":"1NT ","C":[{"N":"str","sType":"1AS ","val":" "}]},{"N":"applyT","sType":"* ","line":"26","mode":"Q{}rtl","bSlot":"0","C":[{"N":"dot","sType":"1N u[N u[N u[NT,NP],NC],NE]","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","role":"select","line":"26"}]}]}]}]}]}]},{"N":"templateRule","rank":"37","prec":"0","seq":"2","ns":"xml=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common","minImp":"0","flags":"s","baseUri":"file:///Users/dpvc/Desktop/Folders/Tumlook/Data/Code/JavaScript/MathJax/Code/Git/mathjax/MathJax-src/ts/input/mathml/mml3/mml3.xsl","slots":"200","line":"16","module":"mml3.xsl","expand-text":"false","match":"@*","prio":"-0.5","matches":"NA","C":[{"N":"p.nodeTest","role":"match","test":"NA","sType":"1NA","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common "},{"N":"sequence","role":"action","sType":"*NA ","C":[{"N":"copyOf","flags":"c","ns":"xml=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ex=http://ns.saxonica.com/xslt/export","line":"17","sType":"1NA","C":[{"N":"dot","sType":"1NA","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","role":"select","line":"17"}]},{"N":"att","name":"dir","sType":"1NA ","line":"18","C":[{"N":"fn","name":"string-join","role":"select","C":[{"N":"first","C":[{"N":"forEach","sType":"*AS ","C":[{"N":"data","sType":"*A ","C":[{"N":"mergeAdj","C":[{"N":"valueOf","sType":"1NT ","C":[{"N":"str","sType":"1AS ","val":"ltr"}]}]}]},{"N":"fn","name":"string","sType":"1AS ","C":[{"N":"dot"}]}]}]},{"N":"str","sType":"1AS ","val":""}]}]}]}]}]}]},{"N":"co","id":"2","binds":"2","C":[{"N":"mode","onNo":"TC","flags":"","patternSlots":"0","name":"Q{}ml","prec":"","C":[{"N":"templateRule","rank":"0","prec":"0","seq":"42","ns":"xml=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common","minImp":"0","flags":"s","baseUri":"file:///Users/dpvc/Desktop/Folders/Tumlook/Data/Code/JavaScript/MathJax/Code/Git/mathjax/MathJax-src/ts/input/mathml/mml3/mml3.xsl","slots":"200","line":"313","module":"mml3.xsl","expand-text":"false","match":"m:mtr[not(preceding-sibling::*)][@class='msline']","prio":"3","matches":"NE nQ{http://www.w3.org/1998/Math/MathML}mtr","C":[{"N":"p.withPredicate","role":"match","sType":"1NE nQ{http://www.w3.org/1998/Math/MathML}mtr","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","C":[{"N":"p.withPredicate","C":[{"N":"p.nodeTest","test":"NE nQ{http://www.w3.org/1998/Math/MathML}mtr"},{"N":"fn","name":"not","C":[{"N":"fn","name":"reverse","C":[{"N":"axis","name":"preceding-sibling","nodeTest":"*NE"}]}]}]},{"N":"gc","op":"=","comp":"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint","card":"1:1","C":[{"N":"attVal","name":"Q{}class"},{"N":"str","val":"msline"}]}]},{"N":"elem","name":"m:mtr","sType":"1NE nQ{http://www.w3.org/1998/Math/MathML}mtr ","nsuri":"http://www.w3.org/1998/Math/MathML","namespaces":"","role":"action","line":"314","C":[{"N":"sequence","sType":"*N ","C":[{"N":"copyOf","flags":"c","ns":"xml=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ex=http://ns.saxonica.com/xslt/export","line":"315","sType":"*NA","C":[{"N":"axis","name":"attribute","nodeTest":"*NA","sType":"*NA","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","role":"select","line":"315"}]},{"N":"forEach","sType":"*NE nQ{http://www.w3.org/1998/Math/MathML}mtd ","line":"316","C":[{"N":"axis","name":"child","nodeTest":"*NE nQ{http://www.w3.org/1998/Math/MathML}mtd","sType":"*NE nQ{http://www.w3.org/1998/Math/MathML}mtd","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","role":"select","line":"316"},{"N":"elem","name":"m:mtd","sType":"1NE nQ{http://www.w3.org/1998/Math/MathML}mtd ","nsuri":"http://www.w3.org/1998/Math/MathML","namespaces":"","line":"317","C":[{"N":"sequence","sType":"* ","C":[{"N":"copyOf","flags":"c","ns":"xml=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ex=http://ns.saxonica.com/xslt/export","line":"318","sType":"*NA","C":[{"N":"axis","name":"attribute","nodeTest":"*NA","sType":"*NA","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","role":"select","line":"318"}]},{"N":"choose","sType":"? ","line":"319","C":[{"N":"axis","name":"child","nodeTest":"*NE nQ{http://www.w3.org/1998/Math/MathML}mpadded","sType":"*NE nQ{http://www.w3.org/1998/Math/MathML}mpadded","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","line":"319"},{"N":"elem","name":"m:menclose","sType":"1NE nQ{http://www.w3.org/1998/Math/MathML}menclose ","nsuri":"http://www.w3.org/1998/Math/MathML","namespaces":"","line":"320","C":[{"N":"sequence","sType":"*N ","C":[{"N":"att","name":"notation","nsuri":"","sType":"1NA ","C":[{"N":"str","sType":"1AS ","val":"bottom"}]},{"N":"elem","name":"m:mpadded","sType":"1NE nQ{http://www.w3.org/1998/Math/MathML}mpadded ","nsuri":"http://www.w3.org/1998/Math/MathML","namespaces":"","line":"321","C":[{"N":"sequence","sType":"*N ","C":[{"N":"att","name":"depth","nsuri":"","sType":"1NA ","C":[{"N":"str","sType":"1AS ","val":".1em"}]},{"N":"att","name":"height","nsuri":"","sType":"1NA ","C":[{"N":"str","sType":"1AS ","val":"1em"}]},{"N":"att","name":"width","nsuri":"","sType":"1NA ","C":[{"N":"str","sType":"1AS ","val":".5em"}]},{"N":"elem","name":"m:mspace","sType":"1NE nQ{http://www.w3.org/1998/Math/MathML}mspace ","nsuri":"http://www.w3.org/1998/Math/MathML","namespaces":"","line":"322","C":[{"N":"att","name":"width","nsuri":"","sType":"1NA ","C":[{"N":"str","sType":"1AS ","val":".2em"}]}]}]}]}]}]},{"N":"true"},{"N":"empty","sType":"0 "}]}]}]}]}]}]}]},{"N":"templateRule","rank":"1","prec":"0","seq":"43","ns":"xml=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common","minImp":"0","flags":"s","baseUri":"file:///Users/dpvc/Desktop/Folders/Tumlook/Data/Code/JavaScript/MathJax/Code/Git/mathjax/MathJax-src/ts/input/mathml/mml3/mml3.xsl","slots":"200","line":"330","module":"mml3.xsl","expand-text":"false","match":"m:mtr[@class='msline']","prio":"2","matches":"NE nQ{http://www.w3.org/1998/Math/MathML}mtr","C":[{"N":"p.withPredicate","role":"match","sType":"1NE nQ{http://www.w3.org/1998/Math/MathML}mtr","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","C":[{"N":"p.nodeTest","test":"NE nQ{http://www.w3.org/1998/Math/MathML}mtr"},{"N":"gc","op":"=","comp":"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint","card":"1:1","C":[{"N":"attVal","name":"Q{}class"},{"N":"str","val":"msline"}]}]},{"N":"empty","sType":"0 ","role":"action"}]},{"N":"templateRule","rank":"2","prec":"0","seq":"41","ns":"xml=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common","minImp":"0","flags":"s","baseUri":"file:///Users/dpvc/Desktop/Folders/Tumlook/Data/Code/JavaScript/MathJax/Code/Git/mathjax/MathJax-src/ts/input/mathml/mml3/mml3.xsl","slots":"200","line":"286","module":"mml3.xsl","expand-text":"false","match":"m:mtr[following-sibling::*[1][@class='msline']]","prio":"0.5","matches":"NE nQ{http://www.w3.org/1998/Math/MathML}mtr","C":[{"N":"p.withPredicate","role":"match","sType":"1NE nQ{http://www.w3.org/1998/Math/MathML}mtr","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","C":[{"N":"p.nodeTest","test":"NE nQ{http://www.w3.org/1998/Math/MathML}mtr"},{"N":"filter","C":[{"N":"first","C":[{"N":"axis","name":"following-sibling","nodeTest":"*NE"}]},{"N":"gc","op":"=","comp":"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint","card":"1:1","C":[{"N":"attVal","name":"Q{}class"},{"N":"str","val":"msline"}]}]}]},{"N":"elem","name":"m:mtr","sType":"1NE nQ{http://www.w3.org/1998/Math/MathML}mtr ","nsuri":"http://www.w3.org/1998/Math/MathML","namespaces":"","role":"action","line":"287","C":[{"N":"sequence","sType":"*N ","C":[{"N":"copyOf","flags":"c","ns":"xml=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ex=http://ns.saxonica.com/xslt/export","line":"288","sType":"*NA","C":[{"N":"axis","name":"attribute","nodeTest":"*NA","sType":"*NA","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","role":"select","line":"288"}]},{"N":"let","var":"Q{}m","slot":"0","sType":"*NE ","line":"289","C":[{"N":"docOrder","sType":"*NE nQ{http://www.w3.org/1998/Math/MathML}mtd","role":"select","line":"289","C":[{"N":"slash","op":"/","sType":"*NE nQ{http://www.w3.org/1998/Math/MathML}mtd","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","C":[{"N":"first","C":[{"N":"axis","name":"following-sibling","nodeTest":"*NE"}]},{"N":"axis","name":"child","nodeTest":"*NE nQ{http://www.w3.org/1998/Math/MathML}mtd"}]}]},{"N":"forEach","sType":"*NE ","line":"290","C":[{"N":"axis","name":"child","nodeTest":"*NE nQ{http://www.w3.org/1998/Math/MathML}mtd","sType":"*NE nQ{http://www.w3.org/1998/Math/MathML}mtd","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","role":"select","line":"290"},{"N":"let","var":"Q{}p","slot":"1","sType":"*NE ","line":"291","C":[{"N":"fn","name":"position","sType":"1ADI","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","role":"select","line":"291"},{"N":"elem","name":"m:mtd","sType":"1NE nQ{http://www.w3.org/1998/Math/MathML}mtd ","nsuri":"http://www.w3.org/1998/Math/MathML","namespaces":"","line":"292","C":[{"N":"sequence","sType":"*N ","C":[{"N":"copyOf","flags":"c","ns":"xml=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ex=http://ns.saxonica.com/xslt/export","line":"293","sType":"*NA","C":[{"N":"axis","name":"attribute","nodeTest":"*NA","sType":"*NA","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","role":"select","line":"293"}]},{"N":"choose","sType":"*NE ","type":"item()*","line":"294","C":[{"N":"docOrder","sType":"*NE nQ{http://www.w3.org/1998/Math/MathML}mpadded","line":"295","C":[{"N":"docOrder","sType":"*NE nQ{http://www.w3.org/1998/Math/MathML}mpadded","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","C":[{"N":"slash","op":"/","C":[{"N":"treat","as":"N","diag":"1|0|XPTY0019|slash","C":[{"N":"filter","flags":"i","C":[{"N":"varRef","name":"Q{}m","slot":"0"},{"N":"varRef","name":"Q{}p","slot":"1"}]}]},{"N":"axis","name":"child","nodeTest":"*NE nQ{http://www.w3.org/1998/Math/MathML}mpadded"}]}]}]},{"N":"elem","name":"m:mpadded","sType":"1NE nQ{http://www.w3.org/1998/Math/MathML}mpadded ","nsuri":"http://www.w3.org/1998/Math/MathML","namespaces":"","line":"296","C":[{"N":"sequence","sType":"*N ","C":[{"N":"att","name":"depth","nsuri":"","sType":"1NA ","C":[{"N":"str","sType":"1AS ","val":"+.2em"}]},{"N":"elem","name":"m:menclose","sType":"1NE nQ{http://www.w3.org/1998/Math/MathML}menclose ","nsuri":"http://www.w3.org/1998/Math/MathML","namespaces":"","line":"297","C":[{"N":"sequence","sType":"*N ","C":[{"N":"att","name":"notation","nsuri":"","sType":"1NA ","C":[{"N":"str","sType":"1AS ","val":"bottom"}]},{"N":"elem","name":"m:mpadded","sType":"1NE nQ{http://www.w3.org/1998/Math/MathML}mpadded ","nsuri":"http://www.w3.org/1998/Math/MathML","namespaces":"","line":"298","C":[{"N":"sequence","sType":"*N ","C":[{"N":"att","name":"depth","nsuri":"","sType":"1NA ","C":[{"N":"str","sType":"1AS ","val":".1em"}]},{"N":"att","name":"height","nsuri":"","sType":"1NA ","C":[{"N":"str","sType":"1AS ","val":".8em"}]},{"N":"att","name":"width","nsuri":"","sType":"1NA ","C":[{"N":"str","sType":"1AS ","val":".8em"}]},{"N":"elem","name":"m:mspace","sType":"1NE nQ{http://www.w3.org/1998/Math/MathML}mspace ","nsuri":"http://www.w3.org/1998/Math/MathML","namespaces":"","line":"299","C":[{"N":"att","name":"width","nsuri":"","sType":"1NA ","C":[{"N":"str","sType":"1AS ","val":".15em"}]}]},{"N":"copyOf","flags":"c","ns":"xml=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ex=http://ns.saxonica.com/xslt/export","line":"300","sType":"*NE","C":[{"N":"axis","name":"child","nodeTest":"*NE","sType":"*NE","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","role":"select","line":"300"}]}]}]}]}]}]}]},{"N":"true"},{"N":"copyOf","flags":"c","ns":"xml=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ex=http://ns.saxonica.com/xslt/export","line":"306","sType":"*NE","C":[{"N":"axis","name":"child","nodeTest":"*NE","sType":"*NE","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","role":"select","line":"306"}]}]}]}]}]}]}]}]}]}]},{"N":"templateRule","rank":"3","prec":"0","seq":"39","ns":"xml=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common","minImp":"0","flags":"s","baseUri":"file:///Users/dpvc/Desktop/Folders/Tumlook/Data/Code/JavaScript/MathJax/Code/Git/mathjax/MathJax-src/ts/input/mathml/mml3/mml3.xsl","slots":"200","line":"277","module":"mml3.xsl","expand-text":"false","match":"m:none","prio":"0","matches":"NE nQ{http://www.w3.org/1998/Math/MathML}none","C":[{"N":"p.nodeTest","role":"match","test":"NE nQ{http://www.w3.org/1998/Math/MathML}none","sType":"1NE nQ{http://www.w3.org/1998/Math/MathML}none","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common "},{"N":"elem","name":"m:mrow","sType":"1NE nQ{http://www.w3.org/1998/Math/MathML}mrow ","nsuri":"http://www.w3.org/1998/Math/MathML","namespaces":"","role":"action","line":"278","C":[{"N":"empty","sType":"0 "}]}]},{"N":"templateRule","rank":"4","prec":"0","seq":"40","ns":"xml=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common","minImp":"0","flags":"s","baseUri":"file:///Users/dpvc/Desktop/Folders/Tumlook/Data/Code/JavaScript/MathJax/Code/Git/mathjax/MathJax-src/ts/input/mathml/mml3/mml3.xsl","slots":"200","line":"280","module":"mml3.xsl","expand-text":"false","match":"*","prio":"-0.5","matches":"NE","C":[{"N":"p.nodeTest","role":"match","test":"NE","sType":"1NE","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common "},{"N":"copy","sType":"1NE ","flags":"cin","role":"action","line":"281","C":[{"N":"sequence","sType":"* ","C":[{"N":"copyOf","flags":"c","ns":"xml=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ex=http://ns.saxonica.com/xslt/export","line":"282","sType":"*NA","C":[{"N":"axis","name":"attribute","nodeTest":"*NA","sType":"*NA","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","role":"select","line":"282"}]},{"N":"applyT","sType":"* ","line":"283","mode":"Q{}ml","bSlot":"0","C":[{"N":"axis","name":"child","nodeTest":"*N u[NT,NP,NC,NE]","sType":"*N u[NT,NP,NC,NE]","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","role":"select","line":"283"}]}]}]}]}]}]},{"N":"co","id":"3","binds":"4 3 0","C":[{"N":"mode","onNo":"TC","flags":"","patternSlots":"0","name":"Q{}mstack1","prec":"","C":[{"N":"templateRule","rank":"0","prec":"0","seq":"49","ns":"xml=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common","minImp":"0","flags":"s","baseUri":"file:///Users/dpvc/Desktop/Folders/Tumlook/Data/Code/JavaScript/MathJax/Code/Git/mathjax/MathJax-src/ts/input/mathml/mml3/mml3.xsl","slots":"200","line":"481","module":"mml3.xsl","expand-text":"false","match":"m:mscarries","prio":"0","matches":"NE nQ{http://www.w3.org/1998/Math/MathML}mscarries","C":[{"N":"p.nodeTest","role":"match","test":"NE nQ{http://www.w3.org/1998/Math/MathML}mscarries","sType":"1NE nQ{http://www.w3.org/1998/Math/MathML}mscarries","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common "},{"N":"sequence","role":"action","sType":"* ","C":[{"N":"param","name":"Q{}p","slot":"0","sType":"* ","as":"* ","flags":"","line":"482","C":[{"N":"str","sType":"1AS ","val":"","role":"select"},{"N":"supplied","role":"conversion","slot":"0","sType":"* "}]},{"N":"let","var":"Q{}align1","slot":"1","sType":"*NE ","line":"483","C":[{"N":"docOrder","sType":"*NA nQ{}stackalign","role":"select","line":"483","C":[{"N":"slash","op":"/","sType":"*NA nQ{}stackalign","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","C":[{"N":"fn","name":"reverse","C":[{"N":"first","C":[{"N":"axis","name":"ancestor","nodeTest":"*NE nQ{http://www.w3.org/1998/Math/MathML}mstack"}]}]},{"N":"axis","name":"attribute","nodeTest":"*NA nQ{}stackalign"}]}]},{"N":"let","var":"Q{}l1","slot":"2","sType":"*NE ","line":"484","C":[{"N":"doc","sType":"1ND ","base":"file:///Users/dpvc/Desktop/Folders/Tumlook/Data/Code/JavaScript/MathJax/Code/Git/mathjax/MathJax-src/ts/input/mathml/mml3/mml3.xsl","role":"select","C":[{"N":"choose","sType":"?NT ","type":"item()*","line":"485","C":[{"N":"gc10","op":"=","comp":"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint","card":"1:1","sType":"1AB","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","line":"486","C":[{"N":"fn","name":"string","C":[{"N":"first","C":[{"N":"varRef","name":"Q{}align1","slot":"1"}]}]},{"N":"str","val":"left"}]},{"N":"valueOf","sType":"1NT ","C":[{"N":"str","sType":"1AS ","val":"0"}]},{"N":"true"},{"N":"valueOf","flags":"l","sType":"1NT ","C":[{"N":"fn","name":"string-join","role":"select","C":[{"N":"first","C":[{"N":"forEach","sType":"*AS ","C":[{"N":"data","sType":"*A ","C":[{"N":"mergeAdj","C":[{"N":"fn","sType":"1ADI","name":"count","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","role":"select","line":"8","C":[{"N":"axis","name":"child","nodeTest":"*NE"}]}]}]},{"N":"fn","name":"string","sType":"1AS ","C":[{"N":"dot"}]}]}]},{"N":"str","sType":"1AS ","val":" "}]}]}]}]},{"N":"elem","name":"m:mtr","sType":"1NE nQ{http://www.w3.org/1998/Math/MathML}mtr ","nsuri":"http://www.w3.org/1998/Math/MathML","namespaces":"","line":"490","C":[{"N":"sequence","sType":"* ","C":[{"N":"att","name":"class","nsuri":"","sType":"1NA ","C":[{"N":"str","sType":"1AS ","val":"mscarries"}]},{"N":"att","name":"l","nsuri":"","sType":"1NA ","C":[{"N":"fn","name":"string-join","sType":"1AS ","C":[{"N":"first","C":[{"N":"convert","type":"AS*","from":"AZ","to":"AS","C":[{"N":"data","C":[{"N":"mergeAdj","sType":"?AO","C":[{"N":"arith10","op":"+","calc":"d+d","sType":"?AO","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","line":"490","C":[{"N":"arith10","op":"+","calc":"d+d","C":[{"N":"atomSing","diag":"1|0||arith","card":"?","C":[{"N":"first","C":[{"N":"varRef","name":"Q{}p","slot":"0"}]}]},{"N":"atomSing","diag":"1|1||arith","card":"?","C":[{"N":"first","C":[{"N":"varRef","name":"Q{}l1","slot":"2"}]}]}]},{"N":"fn","name":"sum","C":[{"N":"attVal","name":"Q{}position"}]}]}]}]}]}]},{"N":"str","sType":"1AS ","val":" "}]}]},{"N":"applyT","sType":"* ","line":"491","mode":"Q{}msc","bSlot":"0","C":[{"N":"axis","name":"child","nodeTest":"*NE","sType":"*NE","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","role":"select","line":"491"}]}]}]}]}]}]}]},{"N":"templateRule","rank":"1","prec":"0","seq":"48","ns":"xml=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common","minImp":"0","flags":"s","baseUri":"file:///Users/dpvc/Desktop/Folders/Tumlook/Data/Code/JavaScript/MathJax/Code/Git/mathjax/MathJax-src/ts/input/mathml/mml3/mml3.xsl","slots":"200","line":"428","module":"mml3.xsl","expand-text":"false","match":"m:msline","prio":"0","matches":"NE nQ{http://www.w3.org/1998/Math/MathML}msline","C":[{"N":"p.nodeTest","role":"match","test":"NE nQ{http://www.w3.org/1998/Math/MathML}msline","sType":"1NE nQ{http://www.w3.org/1998/Math/MathML}msline","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common "},{"N":"sequence","role":"action","sType":"* ","C":[{"N":"param","name":"Q{}p","slot":"0","sType":"* ","as":"* ","flags":"","line":"429","C":[{"N":"str","sType":"1AS ","val":"","role":"select"},{"N":"supplied","role":"conversion","slot":"0","sType":"* "}]},{"N":"let","var":"Q{}align1","slot":"1","sType":"*NE ","line":"430","C":[{"N":"docOrder","sType":"*NA nQ{}stackalign","role":"select","line":"430","C":[{"N":"slash","op":"/","sType":"*NA nQ{}stackalign","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","C":[{"N":"fn","name":"reverse","C":[{"N":"first","C":[{"N":"axis","name":"ancestor","nodeTest":"*NE nQ{http://www.w3.org/1998/Math/MathML}mstack"}]}]},{"N":"axis","name":"attribute","nodeTest":"*NA nQ{}stackalign"}]}]},{"N":"let","var":"Q{}align","slot":"2","sType":"*NE ","line":"431","C":[{"N":"doc","sType":"1ND ","base":"file:///Users/dpvc/Desktop/Folders/Tumlook/Data/Code/JavaScript/MathJax/Code/Git/mathjax/MathJax-src/ts/input/mathml/mml3/mml3.xsl","role":"select","C":[{"N":"choose","sType":"?NT ","type":"item()*","line":"432","C":[{"N":"gc10","op":"=","comp":"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint","card":"1:1","sType":"1AB","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","line":"433","C":[{"N":"fn","name":"string","C":[{"N":"first","C":[{"N":"varRef","name":"Q{}align1","slot":"1"}]}]},{"N":"str","val":""}]},{"N":"valueOf","sType":"1NT ","C":[{"N":"str","sType":"1AS ","val":"decimalpoint"}]},{"N":"true"},{"N":"valueOf","flags":"l","sType":"1NT ","C":[{"N":"fn","name":"string-join","role":"select","C":[{"N":"first","C":[{"N":"forEach","sType":"*AS ","C":[{"N":"data","sType":"*A ","C":[{"N":"mergeAdj","C":[{"N":"varRef","sType":"*","name":"Q{}align1","slot":"1","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","role":"select","line":"8"}]}]},{"N":"fn","name":"string","sType":"1AS ","C":[{"N":"dot"}]}]}]},{"N":"str","sType":"1AS ","val":" "}]}]}]}]},{"N":"elem","name":"m:mtr","sType":"1NE nQ{http://www.w3.org/1998/Math/MathML}mtr ","nsuri":"http://www.w3.org/1998/Math/MathML","namespaces":"","line":"437","C":[{"N":"sequence","sType":"*N ","C":[{"N":"att","name":"class","nsuri":"","sType":"1NA ","C":[{"N":"str","sType":"1AS ","val":"msline"}]},{"N":"att","name":"l","sType":"1NA ","line":"438","C":[{"N":"fn","name":"string-join","role":"select","C":[{"N":"first","C":[{"N":"forEach","sType":"*AS ","C":[{"N":"data","sType":"*A ","C":[{"N":"mergeAdj","C":[{"N":"choose","sType":"?NT ","type":"item()*","line":"439","C":[{"N":"or","sType":"1AB","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","line":"440","C":[{"N":"fn","name":"not","C":[{"N":"fn","name":"string","C":[{"N":"first","C":[{"N":"axis","name":"attribute","nodeTest":"*NA nQ{}length"}]}]}]},{"N":"gc10","op":"=","comp":"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint","card":"1:1","C":[{"N":"axis","name":"attribute","nodeTest":"*NA nQ{}length"},{"N":"int","val":"0"}]}]},{"N":"valueOf","sType":"1NT ","C":[{"N":"str","sType":"1AS ","val":"*"}]},{"N":"or","sType":"1AB","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","line":"441","C":[{"N":"gc10","op":"=","comp":"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint","card":"1:1","C":[{"N":"fn","name":"string","C":[{"N":"first","C":[{"N":"varRef","name":"Q{}align","slot":"2"}]}]},{"N":"str","val":"right"}]},{"N":"gc10","op":"=","comp":"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint","card":"1:1","C":[{"N":"fn","name":"string","C":[{"N":"first","C":[{"N":"varRef","name":"Q{}align","slot":"2"}]}]},{"N":"str","val":"decimalpoint"}]}]},{"N":"valueOf","flags":"l","sType":"1NT ","C":[{"N":"fn","name":"string-join","role":"select","C":[{"N":"first","C":[{"N":"forEach","sType":"*AS ","C":[{"N":"data","sType":"*A ","C":[{"N":"mergeAdj","C":[{"N":"arith10","sType":"?AO","op":"+","calc":"d+d","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","role":"select","line":"14","C":[{"N":"atomSing","diag":"1|0||arith","card":"?","C":[{"N":"first","C":[{"N":"varRef","name":"Q{}p","slot":"0"}]}]},{"N":"atomSing","diag":"1|1||arith","card":"?","C":[{"N":"first","C":[{"N":"axis","name":"attribute","nodeTest":"*NA nQ{}length"}]}]}]}]}]},{"N":"fn","name":"string","sType":"1AS ","C":[{"N":"dot"}]}]}]},{"N":"str","sType":"1AS ","val":" "}]}]},{"N":"true"},{"N":"valueOf","flags":"l","sType":"1NT ","C":[{"N":"fn","name":"string-join","role":"select","C":[{"N":"first","C":[{"N":"forEach","sType":"*AS ","C":[{"N":"data","sType":"*A ","C":[{"N":"mergeAdj","C":[{"N":"varRef","sType":"*","name":"Q{}p","slot":"0","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","role":"select","line":"16"}]}]},{"N":"fn","name":"string","sType":"1AS ","C":[{"N":"dot"}]}]}]},{"N":"str","sType":"1AS ","val":" "}]}]}]}]}]},{"N":"fn","name":"string","sType":"1AS ","C":[{"N":"dot"}]}]}]},{"N":"str","sType":"1AS ","val":""}]}]},{"N":"let","var":"Q{}w","slot":"3","sType":"*NE ","line":"445","C":[{"N":"doc","sType":"1ND ","base":"file:///Users/dpvc/Desktop/Folders/Tumlook/Data/Code/JavaScript/MathJax/Code/Git/mathjax/MathJax-src/ts/input/mathml/mml3/mml3.xsl","role":"select","C":[{"N":"choose","sType":"?NT ","type":"item()*","line":"446","C":[{"N":"gc10","op":"=","comp":"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint","card":"1:1","sType":"1AB","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","line":"447","C":[{"N":"axis","name":"attribute","nodeTest":"*NA nQ{}mslinethickness"},{"N":"str","val":"thin"}]},{"N":"valueOf","sType":"1NT ","C":[{"N":"str","sType":"1AS ","val":"0.1em"}]},{"N":"gc10","op":"=","comp":"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint","card":"1:1","sType":"1AB","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","line":"448","C":[{"N":"axis","name":"attribute","nodeTest":"*NA nQ{}mslinethickness"},{"N":"str","val":"medium"}]},{"N":"valueOf","sType":"1NT ","C":[{"N":"str","sType":"1AS ","val":"0.15em"}]},{"N":"gc10","op":"=","comp":"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint","card":"1:1","sType":"1AB","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","line":"449","C":[{"N":"axis","name":"attribute","nodeTest":"*NA nQ{}mslinethickness"},{"N":"str","val":"thick"}]},{"N":"valueOf","sType":"1NT ","C":[{"N":"str","sType":"1AS ","val":"0.2em"}]},{"N":"axis","name":"attribute","nodeTest":"*NA nQ{}mslinethickness","sType":"*NA nQ{}mslinethickness","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","line":"450"},{"N":"valueOf","flags":"l","sType":"1NT ","C":[{"N":"fn","name":"string-join","role":"select","C":[{"N":"first","C":[{"N":"forEach","sType":"*AS ","C":[{"N":"data","sType":"*A ","C":[{"N":"mergeAdj","C":[{"N":"axis","sType":"*NA nQ{}mslinethickness","name":"attribute","nodeTest":"*NA nQ{}mslinethickness","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","role":"select","line":"23"}]}]},{"N":"fn","name":"string","sType":"1AS ","C":[{"N":"dot"}]}]}]},{"N":"str","sType":"1AS ","val":" "}]}]},{"N":"true"},{"N":"valueOf","sType":"1NT ","C":[{"N":"str","sType":"1AS ","val":"0.15em"}]}]}]},{"N":"choose","sType":"*NE ","type":"item()*","line":"454","C":[{"N":"or","sType":"1AB","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","line":"455","C":[{"N":"fn","name":"not","C":[{"N":"fn","name":"string","C":[{"N":"first","C":[{"N":"axis","name":"attribute","nodeTest":"*NA nQ{}length"}]}]}]},{"N":"gc10","op":"=","comp":"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint","card":"1:1","C":[{"N":"axis","name":"attribute","nodeTest":"*NA nQ{}length"},{"N":"int","val":"0"}]}]},{"N":"elem","name":"m:mtd","sType":"1NE nQ{http://www.w3.org/1998/Math/MathML}mtd ","nsuri":"http://www.w3.org/1998/Math/MathML","namespaces":"","line":"456","C":[{"N":"sequence","sType":"*N ","C":[{"N":"att","name":"class","nsuri":"","sType":"1NA ","C":[{"N":"str","sType":"1AS ","val":"mslinemax"}]},{"N":"elem","name":"m:mpadded","sType":"1NE nQ{http://www.w3.org/1998/Math/MathML}mpadded ","nsuri":"http://www.w3.org/1998/Math/MathML","namespaces":"","line":"457","C":[{"N":"sequence","sType":"*N ","C":[{"N":"att","name":"lspace","nsuri":"","sType":"1NA ","C":[{"N":"str","sType":"1AS ","val":"-0.2em"}]},{"N":"att","name":"width","nsuri":"","sType":"1NA ","C":[{"N":"str","sType":"1AS ","val":"0em"}]},{"N":"att","name":"height","nsuri":"","sType":"1NA ","C":[{"N":"str","sType":"1AS ","val":"0em"}]},{"N":"elem","name":"m:mfrac","sType":"1NE nQ{http://www.w3.org/1998/Math/MathML}mfrac ","nsuri":"http://www.w3.org/1998/Math/MathML","namespaces":"","line":"458","C":[{"N":"sequence","sType":"*N ","C":[{"N":"att","name":"linethickness","nsuri":"","sType":"1NA ","C":[{"N":"fn","name":"string-join","sType":"1AS ","C":[{"N":"first","C":[{"N":"convert","type":"AS*","from":"AZ","to":"AS","C":[{"N":"data","C":[{"N":"mergeAdj","sType":"*","C":[{"N":"varRef","name":"Q{}w","slot":"3","sType":"*","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","line":"458"}]}]}]}]},{"N":"str","sType":"1AS ","val":" "}]}]},{"N":"elem","name":"m:mspace","sType":"1NE nQ{http://www.w3.org/1998/Math/MathML}mspace ","nsuri":"http://www.w3.org/1998/Math/MathML","namespaces":"","line":"459","C":[{"N":"att","name":"width","nsuri":"","sType":"1NA ","C":[{"N":"str","sType":"1AS ","val":".5em"}]}]},{"N":"elem","name":"m:mrow","sType":"1NE nQ{http://www.w3.org/1998/Math/MathML}mrow ","nsuri":"http://www.w3.org/1998/Math/MathML","namespaces":"","line":"460","C":[{"N":"empty","sType":"0 "}]}]}]}]}]}]}]},{"N":"true"},{"N":"let","var":"Q{}l","slot":"4","sType":"*NE ","line":"466","C":[{"N":"axis","name":"attribute","nodeTest":"*NA nQ{}length","sType":"*NA nQ{}length","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","role":"select","line":"466"},{"N":"forEach","sType":"*NE nQ{http://www.w3.org/1998/Math/MathML}mtd ","line":"467","C":[{"N":"filter","flags":"p","sType":"*N","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","role":"select","line":"467","C":[{"N":"slash","op":"/","C":[{"N":"root"},{"N":"axis","name":"descendant","nodeTest":"*N u[NT,NP,NC,NE]"}]},{"N":"gc10","op":"<=","comp":"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint","card":"1:1","C":[{"N":"fn","name":"position"},{"N":"varRef","name":"Q{}l","slot":"4"}]}]},{"N":"elem","name":"m:mtd","sType":"1NE nQ{http://www.w3.org/1998/Math/MathML}mtd ","nsuri":"http://www.w3.org/1998/Math/MathML","namespaces":"","line":"468","C":[{"N":"sequence","sType":"*N ","C":[{"N":"att","name":"class","nsuri":"","sType":"1NA ","C":[{"N":"str","sType":"1AS ","val":"msline"}]},{"N":"elem","name":"m:mpadded","sType":"1NE nQ{http://www.w3.org/1998/Math/MathML}mpadded ","nsuri":"http://www.w3.org/1998/Math/MathML","namespaces":"","line":"469","C":[{"N":"sequence","sType":"*N ","C":[{"N":"att","name":"lspace","nsuri":"","sType":"1NA ","C":[{"N":"str","sType":"1AS ","val":"-0.2em"}]},{"N":"att","name":"width","nsuri":"","sType":"1NA ","C":[{"N":"str","sType":"1AS ","val":"0em"}]},{"N":"att","name":"height","nsuri":"","sType":"1NA ","C":[{"N":"str","sType":"1AS ","val":"0em"}]},{"N":"elem","name":"m:mfrac","sType":"1NE nQ{http://www.w3.org/1998/Math/MathML}mfrac ","nsuri":"http://www.w3.org/1998/Math/MathML","namespaces":"","line":"470","C":[{"N":"sequence","sType":"*N ","C":[{"N":"att","name":"linethickness","nsuri":"","sType":"1NA ","C":[{"N":"fn","name":"string-join","sType":"1AS ","C":[{"N":"first","C":[{"N":"convert","type":"AS*","from":"AZ","to":"AS","C":[{"N":"data","C":[{"N":"mergeAdj","sType":"*","C":[{"N":"varRef","name":"Q{}w","slot":"3","sType":"*","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","line":"470"}]}]}]}]},{"N":"str","sType":"1AS ","val":" "}]}]},{"N":"elem","name":"m:mspace","sType":"1NE nQ{http://www.w3.org/1998/Math/MathML}mspace ","nsuri":"http://www.w3.org/1998/Math/MathML","namespaces":"","line":"471","C":[{"N":"att","name":"width","nsuri":"","sType":"1NA ","C":[{"N":"str","sType":"1AS ","val":".5em"}]}]},{"N":"elem","name":"m:mrow","sType":"1NE nQ{http://www.w3.org/1998/Math/MathML}mrow ","nsuri":"http://www.w3.org/1998/Math/MathML","namespaces":"","line":"472","C":[{"N":"empty","sType":"0 "}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"N":"templateRule","rank":"2","prec":"0","seq":"47","ns":"xml=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common","minImp":"0","flags":"s","baseUri":"file:///Users/dpvc/Desktop/Folders/Tumlook/Data/Code/JavaScript/MathJax/Code/Git/mathjax/MathJax-src/ts/input/mathml/mml3/mml3.xsl","slots":"200","line":"418","module":"mml3.xsl","expand-text":"false","match":"m:msgroup","prio":"0","matches":"NE nQ{http://www.w3.org/1998/Math/MathML}msgroup","C":[{"N":"p.nodeTest","role":"match","test":"NE nQ{http://www.w3.org/1998/Math/MathML}msgroup","sType":"1NE nQ{http://www.w3.org/1998/Math/MathML}msgroup","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common "},{"N":"sequence","role":"action","sType":"* ","C":[{"N":"param","name":"Q{}p","slot":"0","sType":"* ","as":"* ","flags":"","line":"419","C":[{"N":"str","sType":"1AS ","val":"","role":"select"},{"N":"supplied","role":"conversion","slot":"0","sType":"* "}]},{"N":"let","var":"Q{}s","slot":"1","sType":"* ","line":"420","C":[{"N":"fn","name":"number","sType":"1AO","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","role":"select","line":"420","C":[{"N":"fn","name":"sum","C":[{"N":"attVal","name":"Q{}shift"}]}]},{"N":"let","var":"Q{}thisp","slot":"2","sType":"* ","line":"421","C":[{"N":"fn","name":"number","sType":"1AO","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","role":"select","line":"421","C":[{"N":"fn","name":"sum","C":[{"N":"attVal","name":"Q{}position"}]}]},{"N":"forEach","sType":"* ","line":"422","C":[{"N":"axis","name":"child","nodeTest":"*NE","sType":"*NE","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","role":"select","line":"422"},{"N":"applyT","sType":"* ","line":"423","mode":"Q{}mstack1","bSlot":"1","C":[{"N":"dot","sType":"1NE","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","role":"select","line":"423"},{"N":"withParam","name":"Q{}p","slot":"0","sType":"1AO","C":[{"N":"arith10","op":"+","calc":"d+d","sType":"1AO","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","role":"select","line":"424","C":[{"N":"arith10","op":"+","calc":"d+d","C":[{"N":"fn","name":"number","C":[{"N":"atomSing","diag":"0|0||number","card":"?","C":[{"N":"first","C":[{"N":"varRef","name":"Q{}p","slot":"0"}]}]}]},{"N":"atomSing","diag":"1|1||arith","card":"?","C":[{"N":"first","C":[{"N":"varRef","name":"Q{}thisp","slot":"2"}]}]}]},{"N":"arith10","op":"*","calc":"d*d","C":[{"N":"arith10","op":"-","calc":"d-d","C":[{"N":"fn","name":"position"},{"N":"int","val":"1"}]},{"N":"atomSing","diag":"1|1||arith","card":"?","C":[{"N":"first","C":[{"N":"varRef","name":"Q{}s","slot":"1"}]}]}]}]}]}]}]}]}]}]}]},{"N":"templateRule","rank":"3","prec":"0","seq":"46","ns":"xml=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common","minImp":"0","flags":"s","baseUri":"file:///Users/dpvc/Desktop/Folders/Tumlook/Data/Code/JavaScript/MathJax/Code/Git/mathjax/MathJax-src/ts/input/mathml/mml3/mml3.xsl","slots":"200","line":"376","module":"mml3.xsl","expand-text":"false","match":"m:mn","prio":"0","matches":"NE nQ{http://www.w3.org/1998/Math/MathML}mn","C":[{"N":"p.nodeTest","role":"match","test":"NE nQ{http://www.w3.org/1998/Math/MathML}mn","sType":"1NE nQ{http://www.w3.org/1998/Math/MathML}mn","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common "},{"N":"sequence","role":"action","sType":"* ","C":[{"N":"param","name":"Q{}p","slot":"0","sType":"* ","as":"* ","flags":"","line":"377","C":[{"N":"str","sType":"1AS ","val":"","role":"select"},{"N":"supplied","role":"conversion","slot":"0","sType":"* "}]},{"N":"let","var":"Q{}align1","slot":"1","sType":"*NE ","line":"378","C":[{"N":"docOrder","sType":"*NA nQ{}stackalign","role":"select","line":"378","C":[{"N":"slash","op":"/","sType":"*NA nQ{}stackalign","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","C":[{"N":"fn","name":"reverse","C":[{"N":"first","C":[{"N":"axis","name":"ancestor","nodeTest":"*NE nQ{http://www.w3.org/1998/Math/MathML}mstack"}]}]},{"N":"axis","name":"attribute","nodeTest":"*NA nQ{}stackalign"}]}]},{"N":"let","var":"Q{}dp1","slot":"2","sType":"*NE ","line":"379","C":[{"N":"docOrder","sType":"*NA nQ{}decimalpoint","role":"select","line":"379","C":[{"N":"slash","op":"/","sType":"*NA nQ{}decimalpoint","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","C":[{"N":"fn","name":"reverse","C":[{"N":"first","C":[{"N":"filter","C":[{"N":"axis","name":"ancestor","nodeTest":"*NE"},{"N":"axis","name":"attribute","nodeTest":"*NA nQ{}decimalpoint"}]}]}]},{"N":"axis","name":"attribute","nodeTest":"*NA nQ{}decimalpoint"}]}]},{"N":"let","var":"Q{}align","slot":"3","sType":"*NE ","line":"380","C":[{"N":"doc","sType":"1ND ","base":"file:///Users/dpvc/Desktop/Folders/Tumlook/Data/Code/JavaScript/MathJax/Code/Git/mathjax/MathJax-src/ts/input/mathml/mml3/mml3.xsl","role":"select","C":[{"N":"choose","sType":"?NT ","type":"item()*","line":"381","C":[{"N":"gc10","op":"=","comp":"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint","card":"1:1","sType":"1AB","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","line":"382","C":[{"N":"fn","name":"string","C":[{"N":"first","C":[{"N":"varRef","name":"Q{}align1","slot":"1"}]}]},{"N":"str","val":""}]},{"N":"valueOf","sType":"1NT ","C":[{"N":"str","sType":"1AS ","val":"decimalpoint"}]},{"N":"true"},{"N":"valueOf","flags":"l","sType":"1NT ","C":[{"N":"fn","name":"string-join","role":"select","C":[{"N":"first","C":[{"N":"forEach","sType":"*AS ","C":[{"N":"data","sType":"*A ","C":[{"N":"mergeAdj","C":[{"N":"varRef","sType":"*","name":"Q{}align1","slot":"1","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","role":"select","line":"9"}]}]},{"N":"fn","name":"string","sType":"1AS ","C":[{"N":"dot"}]}]}]},{"N":"str","sType":"1AS ","val":" "}]}]}]}]},{"N":"let","var":"Q{}dp","slot":"4","sType":"*NE ","line":"386","C":[{"N":"doc","sType":"1ND ","base":"file:///Users/dpvc/Desktop/Folders/Tumlook/Data/Code/JavaScript/MathJax/Code/Git/mathjax/MathJax-src/ts/input/mathml/mml3/mml3.xsl","role":"select","C":[{"N":"choose","sType":"?NT ","type":"item()*","line":"387","C":[{"N":"gc10","op":"=","comp":"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint","card":"1:1","sType":"1AB","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","line":"388","C":[{"N":"fn","name":"string","C":[{"N":"first","C":[{"N":"varRef","name":"Q{}dp1","slot":"2"}]}]},{"N":"str","val":""}]},{"N":"valueOf","sType":"1NT ","C":[{"N":"str","sType":"1AS ","val":"."}]},{"N":"true"},{"N":"valueOf","flags":"l","sType":"1NT ","C":[{"N":"fn","name":"string-join","role":"select","C":[{"N":"first","C":[{"N":"forEach","sType":"*AS ","C":[{"N":"data","sType":"*A ","C":[{"N":"mergeAdj","C":[{"N":"varRef","sType":"*","name":"Q{}dp1","slot":"2","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","role":"select","line":"14"}]}]},{"N":"fn","name":"string","sType":"1AS ","C":[{"N":"dot"}]}]}]},{"N":"str","sType":"1AS ","val":" "}]}]}]}]},{"N":"elem","name":"m:mtr","sType":"1NE nQ{http://www.w3.org/1998/Math/MathML}mtr ","nsuri":"http://www.w3.org/1998/Math/MathML","namespaces":"","line":"392","C":[{"N":"sequence","sType":"* ","C":[{"N":"att","name":"l","nsuri":"","sType":"1NA ","C":[{"N":"str","sType":"1AS ","val":"$p"}]},{"N":"let","var":"Q{}mn","slot":"5","sType":"* ","line":"393","C":[{"N":"fn","name":"normalize-space","sType":"1AS","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","role":"select","line":"393","C":[{"N":"fn","name":"string","C":[{"N":"dot"}]}]},{"N":"let","var":"Q{}len","slot":"6","sType":"* ","line":"394","C":[{"N":"fn","name":"string-length","sType":"1ADI","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","role":"select","line":"394","C":[{"N":"fn","name":"string","C":[{"N":"first","C":[{"N":"varRef","name":"Q{}mn","slot":"5"}]}]}]},{"N":"sequence","sType":"* ","C":[{"N":"choose","sType":"? ","type":"item()*","line":"395","C":[{"N":"or","sType":"1AB","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","line":"396","C":[{"N":"gc10","op":"=","comp":"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint","card":"1:1","C":[{"N":"varRef","name":"Q{}align","slot":"3"},{"N":"str","val":"right"}]},{"N":"and","C":[{"N":"gc10","op":"=","comp":"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint","card":"1:1","C":[{"N":"varRef","name":"Q{}align","slot":"3"},{"N":"str","val":"decimalpoint"}]},{"N":"fn","name":"not","C":[{"N":"fn","name":"contains","C":[{"N":"fn","name":"string","C":[{"N":"first","C":[{"N":"varRef","name":"Q{}mn","slot":"5"}]}]},{"N":"fn","name":"string","C":[{"N":"first","C":[{"N":"varRef","name":"Q{}dp","slot":"4"}]}]},{"N":"str","val":"http://www.w3.org/2005/xpath-functions/collation/codepoint"}]}]}]}]},{"N":"att","name":"l","sType":"1NA ","line":"397","C":[{"N":"fn","name":"string-join","role":"select","C":[{"N":"first","C":[{"N":"forEach","sType":"*AS ","C":[{"N":"data","sType":"*A ","C":[{"N":"mergeAdj","C":[{"N":"valueOf","sType":"1NT ","flags":"l","C":[{"N":"fn","name":"string-join","role":"select","C":[{"N":"first","C":[{"N":"forEach","sType":"*AS ","C":[{"N":"data","sType":"*A ","C":[{"N":"mergeAdj","C":[{"N":"arith10","sType":"?AO","op":"+","calc":"d+d","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","role":"select","line":"21","C":[{"N":"atomSing","diag":"1|0||arith","card":"?","C":[{"N":"first","C":[{"N":"varRef","name":"Q{}p","slot":"0"}]}]},{"N":"atomSing","diag":"1|1||arith","card":"?","C":[{"N":"first","C":[{"N":"varRef","name":"Q{}len","slot":"6"}]}]}]}]}]},{"N":"fn","name":"string","sType":"1AS ","C":[{"N":"dot"}]}]}]},{"N":"str","sType":"1AS ","val":" "}]}]}]}]},{"N":"fn","name":"string","sType":"1AS ","C":[{"N":"dot"}]}]}]},{"N":"str","sType":"1AS ","val":""}]}]},{"N":"gc10","op":"=","comp":"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint","card":"1:1","sType":"1AB","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","line":"399","C":[{"N":"varRef","name":"Q{}align","slot":"3"},{"N":"str","val":"center"}]},{"N":"att","name":"l","sType":"1NA ","line":"400","C":[{"N":"fn","name":"string-join","role":"select","C":[{"N":"first","C":[{"N":"forEach","sType":"*AS ","C":[{"N":"data","sType":"*A ","C":[{"N":"mergeAdj","C":[{"N":"valueOf","sType":"1NT ","flags":"l","C":[{"N":"fn","name":"string-join","role":"select","C":[{"N":"first","C":[{"N":"forEach","sType":"*AS ","C":[{"N":"data","sType":"*A ","C":[{"N":"mergeAdj","C":[{"N":"fn","sType":"?A m[AO,AD,AF]","name":"round","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","role":"select","line":"24","C":[{"N":"arith10","op":"div","calc":"d/d","C":[{"N":"arith10","op":"+","calc":"d+d","C":[{"N":"atomSing","diag":"1|0||arith","card":"?","C":[{"N":"first","C":[{"N":"varRef","name":"Q{}p","slot":"0"}]}]},{"N":"atomSing","diag":"1|1||arith","card":"?","C":[{"N":"first","C":[{"N":"varRef","name":"Q{}len","slot":"6"}]}]}]},{"N":"int","val":"2"}]}]}]}]},{"N":"fn","name":"string","sType":"1AS ","C":[{"N":"dot"}]}]}]},{"N":"str","sType":"1AS ","val":" "}]}]}]}]},{"N":"fn","name":"string","sType":"1AS ","C":[{"N":"dot"}]}]}]},{"N":"str","sType":"1AS ","val":""}]}]},{"N":"gc10","op":"=","comp":"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint","card":"1:1","sType":"1AB","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","line":"402","C":[{"N":"varRef","name":"Q{}align","slot":"3"},{"N":"str","val":"decimalpoint"}]},{"N":"att","name":"l","sType":"1NA ","line":"403","C":[{"N":"fn","name":"string-join","role":"select","C":[{"N":"first","C":[{"N":"forEach","sType":"*AS ","C":[{"N":"data","sType":"*A ","C":[{"N":"mergeAdj","C":[{"N":"valueOf","sType":"1NT ","flags":"l","C":[{"N":"fn","name":"string-join","role":"select","C":[{"N":"first","C":[{"N":"forEach","sType":"*AS ","C":[{"N":"data","sType":"*A ","C":[{"N":"mergeAdj","C":[{"N":"arith10","sType":"?AO","op":"+","calc":"d+d","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","role":"select","line":"27","C":[{"N":"atomSing","diag":"1|0||arith","card":"?","C":[{"N":"first","C":[{"N":"varRef","name":"Q{}p","slot":"0"}]}]},{"N":"fn","name":"string-length","C":[{"N":"fn","name":"substring-before","C":[{"N":"fn","name":"string","C":[{"N":"first","C":[{"N":"varRef","name":"Q{}mn","slot":"5"}]}]},{"N":"fn","name":"string","C":[{"N":"first","C":[{"N":"varRef","name":"Q{}dp","slot":"4"}]}]},{"N":"str","val":"http://www.w3.org/2005/xpath-functions/collation/codepoint"}]}]}]}]}]},{"N":"fn","name":"string","sType":"1AS ","C":[{"N":"dot"}]}]}]},{"N":"str","sType":"1AS ","val":" "}]}]}]}]},{"N":"fn","name":"string","sType":"1AS ","C":[{"N":"dot"}]}]}]},{"N":"str","sType":"1AS ","val":""}]}]},{"N":"true"},{"N":"empty","sType":"0 "}]},{"N":"forEach","sType":"*NE ","line":"406","C":[{"N":"filter","flags":"p","sType":"*N","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","role":"select","line":"406","C":[{"N":"slash","op":"/","C":[{"N":"root"},{"N":"axis","name":"descendant","nodeTest":"*N u[NT,NP,NC,NE]"}]},{"N":"gc10","op":"<=","comp":"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint","card":"1:1","C":[{"N":"fn","name":"position"},{"N":"varRef","name":"Q{}len","slot":"6"}]}]},{"N":"let","var":"Q{}pos","slot":"7","sType":"*NE ","line":"407","C":[{"N":"fn","name":"position","sType":"1ADI","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","role":"select","line":"407"},{"N":"let","var":"Q{}digit","slot":"8","sType":"*NE ","line":"408","C":[{"N":"fn","name":"substring","sType":"1AS","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","role":"select","line":"408","C":[{"N":"fn","name":"string","C":[{"N":"first","C":[{"N":"varRef","name":"Q{}mn","slot":"5"}]}]},{"N":"fn","name":"number","C":[{"N":"first","C":[{"N":"varRef","name":"Q{}pos","slot":"7"}]}]},{"N":"fn","name":"number","C":[{"N":"int","val":"1"}]}]},{"N":"elem","name":"m:mtd","sType":"1NE nQ{http://www.w3.org/1998/Math/MathML}mtd ","nsuri":"http://www.w3.org/1998/Math/MathML","namespaces":"","line":"409","C":[{"N":"sequence","sType":"* ","C":[{"N":"choose","sType":"? ","line":"410","C":[{"N":"or","sType":"1AB","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","line":"410","C":[{"N":"gc10","op":"=","comp":"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint","card":"1:1","C":[{"N":"varRef","name":"Q{}digit","slot":"8"},{"N":"str","val":"."}]},{"N":"gc10","op":"=","comp":"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint","card":"1:1","C":[{"N":"varRef","name":"Q{}digit","slot":"8"},{"N":"str","val":","}]}]},{"N":"elem","name":"m:mspace","sType":"1NE nQ{http://www.w3.org/1998/Math/MathML}mspace ","nsuri":"http://www.w3.org/1998/Math/MathML","namespaces":"","line":"411","C":[{"N":"att","name":"width","nsuri":"","sType":"1NA ","C":[{"N":"str","sType":"1AS ","val":".15em"}]}]},{"N":"true"},{"N":"empty","sType":"0 "}]},{"N":"elem","name":"m:mn","sType":"1NE nQ{http://www.w3.org/1998/Math/MathML}mn ","nsuri":"http://www.w3.org/1998/Math/MathML","namespaces":"","line":"413","C":[{"N":"valueOf","flags":"l","sType":"1NT ","C":[{"N":"fn","name":"string-join","role":"select","C":[{"N":"first","C":[{"N":"forEach","sType":"*AS ","C":[{"N":"data","sType":"*A ","C":[{"N":"mergeAdj","C":[{"N":"varRef","sType":"*","name":"Q{}digit","slot":"8","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","role":"select","line":"35"}]}]},{"N":"fn","name":"string","sType":"1AS ","C":[{"N":"dot"}]}]}]},{"N":"str","sType":"1AS ","val":" "}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"N":"templateRule","rank":"4","prec":"0","seq":"45","ns":"xml=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common","minImp":"0","flags":"s","baseUri":"file:///Users/dpvc/Desktop/Folders/Tumlook/Data/Code/JavaScript/MathJax/Code/Git/mathjax/MathJax-src/ts/input/mathml/mml3/mml3.xsl","slots":"200","line":"341","module":"mml3.xsl","expand-text":"false","match":"m:msrow","prio":"0","matches":"NE nQ{http://www.w3.org/1998/Math/MathML}msrow","C":[{"N":"p.nodeTest","role":"match","test":"NE nQ{http://www.w3.org/1998/Math/MathML}msrow","sType":"1NE nQ{http://www.w3.org/1998/Math/MathML}msrow","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common "},{"N":"sequence","role":"action","sType":"* ","C":[{"N":"param","name":"Q{}p","slot":"0","sType":"* ","as":"* ","flags":"","line":"342","C":[{"N":"str","sType":"1AS ","val":"","role":"select"},{"N":"supplied","role":"conversion","slot":"0","sType":"* "}]},{"N":"param","name":"Q{}maxl","slot":"1","sType":"* ","as":"* ","flags":"","line":"343","C":[{"N":"int","val":"0","sType":"1ADI","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","role":"select","line":"343"},{"N":"supplied","role":"conversion","slot":"1","sType":"* "}]},{"N":"let","var":"Q{}align1","slot":"2","sType":"*N ","line":"344","C":[{"N":"docOrder","sType":"*NA nQ{}stackalign","role":"select","line":"344","C":[{"N":"slash","op":"/","sType":"*NA nQ{}stackalign","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","C":[{"N":"fn","name":"reverse","C":[{"N":"first","C":[{"N":"axis","name":"ancestor","nodeTest":"*NE nQ{http://www.w3.org/1998/Math/MathML}mstack"}]}]},{"N":"axis","name":"attribute","nodeTest":"*NA nQ{}stackalign"}]}]},{"N":"let","var":"Q{}align","slot":"3","sType":"*N ","line":"345","C":[{"N":"doc","sType":"1ND ","base":"file:///Users/dpvc/Desktop/Folders/Tumlook/Data/Code/JavaScript/MathJax/Code/Git/mathjax/MathJax-src/ts/input/mathml/mml3/mml3.xsl","role":"select","C":[{"N":"choose","sType":"?NT ","type":"item()*","line":"346","C":[{"N":"gc10","op":"=","comp":"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint","card":"1:1","sType":"1AB","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","line":"347","C":[{"N":"fn","name":"string","C":[{"N":"first","C":[{"N":"varRef","name":"Q{}align1","slot":"2"}]}]},{"N":"str","val":""}]},{"N":"valueOf","sType":"1NT ","C":[{"N":"str","sType":"1AS ","val":"decimalpoint"}]},{"N":"true"},{"N":"valueOf","flags":"l","sType":"1NT ","C":[{"N":"fn","name":"string-join","role":"select","C":[{"N":"first","C":[{"N":"forEach","sType":"*AS ","C":[{"N":"data","sType":"*A ","C":[{"N":"mergeAdj","C":[{"N":"varRef","sType":"*","name":"Q{}align1","slot":"2","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","role":"select","line":"9"}]}]},{"N":"fn","name":"string","sType":"1AS ","C":[{"N":"dot"}]}]}]},{"N":"str","sType":"1AS ","val":" "}]}]}]}]},{"N":"let","var":"Q{}row","slot":"4","sType":"*N ","line":"351","C":[{"N":"doc","sType":"1ND ","base":"file:///Users/dpvc/Desktop/Folders/Tumlook/Data/Code/JavaScript/MathJax/Code/Git/mathjax/MathJax-src/ts/input/mathml/mml3/mml3.xsl","role":"select","C":[{"N":"applyT","sType":"* ","line":"352","mode":"Q{}mstack1","bSlot":"1","C":[{"N":"axis","name":"child","nodeTest":"*NE","sType":"*NE","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","role":"select","line":"352"},{"N":"withParam","name":"Q{}p","slot":"0","sType":"1ADI","C":[{"N":"int","val":"0","sType":"1ADI","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","role":"select","line":"353"}]}]}]},{"N":"sequence","sType":"*N ","C":[{"N":"valueOf","sType":"1NT ","C":[{"N":"str","sType":"1AS ","val":"\n"}]},{"N":"let","var":"Q{}l1","slot":"5","sType":"*NE ","line":"357","C":[{"N":"doc","sType":"1ND ","base":"file:///Users/dpvc/Desktop/Folders/Tumlook/Data/Code/JavaScript/MathJax/Code/Git/mathjax/MathJax-src/ts/input/mathml/mml3/mml3.xsl","role":"select","C":[{"N":"choose","sType":"*NT ","type":"item()*","line":"358","C":[{"N":"and","sType":"1AB","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","line":"359","C":[{"N":"gc10","op":"=","comp":"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint","card":"1:1","C":[{"N":"varRef","name":"Q{}align","slot":"3"},{"N":"str","val":"decimalpoint"}]},{"N":"axis","name":"child","nodeTest":"*NE nQ{http://www.w3.org/1998/Math/MathML}mn"}]},{"N":"forEach","sType":"*NT ","line":"360","C":[{"N":"docOrder","sType":"*NE nQ{http://www.w3.org/1998/Math/MathML}mtr","role":"select","line":"360","C":[{"N":"docOrder","sType":"*NE nQ{http://www.w3.org/1998/Math/MathML}mtr","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","C":[{"N":"slash","op":"/","C":[{"N":"treat","as":"N","diag":"1|0|XPTY0019|slash","C":[{"N":"varRef","name":"Q{}row","slot":"4"}]},{"N":"first","C":[{"N":"filter","C":[{"N":"axis","name":"child","nodeTest":"*NE nQ{http://www.w3.org/1998/Math/MathML}mtr"},{"N":"slash","op":"/","C":[{"N":"axis","name":"child","nodeTest":"*NE nQ{http://www.w3.org/1998/Math/MathML}mtd"},{"N":"axis","name":"child","nodeTest":"*NE nQ{http://www.w3.org/1998/Math/MathML}mn"}]}]}]}]}]}]},{"N":"valueOf","flags":"l","sType":"1NT ","line":"361","C":[{"N":"fn","name":"string-join","role":"select","C":[{"N":"first","C":[{"N":"forEach","sType":"*AS ","C":[{"N":"data","sType":"*A ","C":[{"N":"mergeAdj","C":[{"N":"arith10","sType":"1AO","op":"+","calc":"d+d","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","role":"select","line":"361","C":[{"N":"fn","name":"number","C":[{"N":"fn","name":"sum","C":[{"N":"attVal","name":"Q{}l"}]}]},{"N":"fn","name":"count","C":[{"N":"docOrder","C":[{"N":"slash","op":"/","C":[{"N":"fn","name":"reverse","C":[{"N":"axis","name":"preceding-sibling","nodeTest":"*NE"}]},{"N":"axis","name":"attribute","nodeTest":"*NA nQ{}l"}]}]}]}]}]}]},{"N":"fn","name":"string","sType":"1AS ","C":[{"N":"dot"}]}]}]},{"N":"str","sType":"1AS ","val":" "}]}]}]},{"N":"or","sType":"1AB","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","line":"364","C":[{"N":"gc10","op":"=","comp":"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint","card":"1:1","C":[{"N":"varRef","name":"Q{}align","slot":"3"},{"N":"str","val":"right"}]},{"N":"gc10","op":"=","comp":"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint","card":"1:1","C":[{"N":"varRef","name":"Q{}align","slot":"3"},{"N":"str","val":"decimalpoint"}]}]},{"N":"valueOf","flags":"l","sType":"1NT ","line":"365","C":[{"N":"fn","name":"string-join","role":"select","C":[{"N":"first","C":[{"N":"forEach","sType":"*AS ","C":[{"N":"data","sType":"*A ","C":[{"N":"mergeAdj","C":[{"N":"fn","sType":"1ADI","name":"count","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","role":"select","line":"365","C":[{"N":"docOrder","C":[{"N":"slash","op":"/","C":[{"N":"slash","op":"/","C":[{"N":"treat","as":"N","diag":"1|0|XPTY0019|slash","C":[{"N":"varRef","name":"Q{}row","slot":"4"}]},{"N":"axis","name":"child","nodeTest":"*NE nQ{http://www.w3.org/1998/Math/MathML}mtr"}]},{"N":"axis","name":"child","nodeTest":"*NE nQ{http://www.w3.org/1998/Math/MathML}mtd"}]}]}]}]}]},{"N":"fn","name":"string","sType":"1AS ","C":[{"N":"dot"}]}]}]},{"N":"str","sType":"1AS ","val":" "}]}]},{"N":"true"},{"N":"valueOf","flags":"l","sType":"1NT ","line":"368","C":[{"N":"fn","name":"string-join","role":"select","C":[{"N":"first","C":[{"N":"forEach","sType":"*AS ","C":[{"N":"data","sType":"*A ","C":[{"N":"mergeAdj","C":[{"N":"int","sType":"1ADI","val":"0","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","role":"select","line":"368"}]}]},{"N":"fn","name":"string","sType":"1AS ","C":[{"N":"dot"}]}]}]},{"N":"str","sType":"1AS ","val":" "}]}]}]}]},{"N":"elem","name":"m:mtr","sType":"1NE nQ{http://www.w3.org/1998/Math/MathML}mtr ","nsuri":"http://www.w3.org/1998/Math/MathML","namespaces":"","line":"372","C":[{"N":"sequence","sType":"*N ","C":[{"N":"att","name":"class","nsuri":"","sType":"1NA ","C":[{"N":"str","sType":"1AS ","val":"msrow"}]},{"N":"att","name":"l","nsuri":"","sType":"1NA ","C":[{"N":"fn","name":"string-join","sType":"1AS ","C":[{"N":"first","C":[{"N":"convert","type":"AS*","from":"AZ","to":"AS","C":[{"N":"data","C":[{"N":"mergeAdj","sType":"1AO","C":[{"N":"arith10","op":"+","calc":"d+d","sType":"1AO","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","line":"372","C":[{"N":"arith10","op":"+","calc":"d+d","C":[{"N":"fn","name":"number","C":[{"N":"atomSing","diag":"0|0||number","card":"?","C":[{"N":"first","C":[{"N":"varRef","name":"Q{}l1","slot":"5"}]}]}]},{"N":"fn","name":"number","C":[{"N":"fn","name":"sum","C":[{"N":"attVal","name":"Q{}position"}]}]}]},{"N":"atomSing","diag":"1|1||arith","card":"?","C":[{"N":"first","C":[{"N":"varRef","name":"Q{}p","slot":"0"}]}]}]}]}]}]}]},{"N":"str","sType":"1AS ","val":" "}]}]},{"N":"copyOf","flags":"c","ns":"xml=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ex=http://ns.saxonica.com/xslt/export","line":"373","sType":"*NE","C":[{"N":"docOrder","sType":"*NE","role":"select","line":"373","C":[{"N":"docOrder","sType":"*NE","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","C":[{"N":"slash","op":"/","C":[{"N":"slash","op":"/","C":[{"N":"treat","as":"N","diag":"1|0|XPTY0019|slash","C":[{"N":"varRef","name":"Q{}row","slot":"4"}]},{"N":"axis","name":"child","nodeTest":"*NE nQ{http://www.w3.org/1998/Math/MathML}mtr"}]},{"N":"axis","name":"child","nodeTest":"*NE"}]}]}]}]}]}]}]}]}]}]}]}]}]},{"N":"templateRule","rank":"5","prec":"0","seq":"44","ns":"xml=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common","minImp":"0","flags":"s","baseUri":"file:///Users/dpvc/Desktop/Folders/Tumlook/Data/Code/JavaScript/MathJax/Code/Git/mathjax/MathJax-src/ts/input/mathml/mml3/mml3.xsl","slots":"200","line":"331","module":"mml3.xsl","expand-text":"false","match":"*","prio":"-0.5","matches":"NE","C":[{"N":"p.nodeTest","role":"match","test":"NE","sType":"1NE","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common "},{"N":"sequence","role":"action","sType":"* ","C":[{"N":"param","name":"Q{}p","slot":"0","sType":"* ","as":"* ","flags":"","line":"332","C":[{"N":"str","sType":"1AS ","val":"","role":"select"},{"N":"supplied","role":"conversion","slot":"0","sType":"* "}]},{"N":"param","name":"Q{}maxl","slot":"1","sType":"* ","as":"* ","flags":"","line":"333","C":[{"N":"int","val":"0","sType":"1ADI","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","role":"select","line":"333"},{"N":"supplied","role":"conversion","slot":"1","sType":"* "}]},{"N":"elem","name":"m:mtr","sType":"1NE nQ{http://www.w3.org/1998/Math/MathML}mtr ","nsuri":"http://www.w3.org/1998/Math/MathML","namespaces":"","line":"334","C":[{"N":"sequence","sType":"* ","C":[{"N":"att","name":"l","nsuri":"","sType":"1NA ","C":[{"N":"fn","name":"string-join","sType":"1AS ","C":[{"N":"first","C":[{"N":"convert","type":"AS*","from":"AZ","to":"AS","C":[{"N":"data","C":[{"N":"mergeAdj","sType":"1AO","C":[{"N":"arith10","op":"+","calc":"d+d","sType":"1AO","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","line":"334","C":[{"N":"int","val":"1"},{"N":"atomSing","diag":"1|1||arith","card":"?","C":[{"N":"first","C":[{"N":"varRef","name":"Q{}p","slot":"0"}]}]}]}]}]}]}]},{"N":"str","sType":"1AS ","val":" "}]}]},{"N":"choose","sType":"? ","line":"335","C":[{"N":"gc10","op":"=","comp":"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint","card":"1:1","sType":"1AB","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","line":"335","C":[{"N":"slash","op":"/","C":[{"N":"fn","name":"reverse","C":[{"N":"first","C":[{"N":"axis","name":"ancestor","nodeTest":"*NE nQ{}mstack"}]}]},{"N":"axis","name":"attribute","nodeTest":"*NA nQ{}stackalign"}]},{"N":"str","val":"left"}]},{"N":"att","name":"l","sType":"1NA ","line":"336","C":[{"N":"fn","name":"string-join","role":"select","C":[{"N":"first","C":[{"N":"forEach","sType":"*AS ","C":[{"N":"data","sType":"*A ","C":[{"N":"mergeAdj","C":[{"N":"valueOf","sType":"1NT ","flags":"l","C":[{"N":"fn","name":"string-join","role":"select","C":[{"N":"first","C":[{"N":"forEach","sType":"*AS ","C":[{"N":"data","sType":"*A ","C":[{"N":"mergeAdj","C":[{"N":"varRef","sType":"*","name":"Q{}p","slot":"0","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","role":"select","line":"7"}]}]},{"N":"fn","name":"string","sType":"1AS ","C":[{"N":"dot"}]}]}]},{"N":"str","sType":"1AS ","val":" "}]}]}]}]},{"N":"fn","name":"string","sType":"1AS ","C":[{"N":"dot"}]}]}]},{"N":"str","sType":"1AS ","val":""}]}]},{"N":"true"},{"N":"empty","sType":"0 "}]},{"N":"elem","name":"m:mtd","sType":"1NE nQ{http://www.w3.org/1998/Math/MathML}mtd ","nsuri":"http://www.w3.org/1998/Math/MathML","namespaces":"","line":"338","C":[{"N":"applyT","sType":"* ","mode":"#unnamed","bSlot":"2","C":[{"N":"dot","sType":"1NE","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","role":"select","line":"9"}]}]}]}]}]}]}]}]},{"N":"co","id":"4","binds":"0","C":[{"N":"mode","onNo":"TC","flags":"","patternSlots":"0","name":"Q{}msc","prec":"","C":[{"N":"templateRule","rank":"0","prec":"0","seq":"51","ns":"xml=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common","minImp":"0","flags":"s","baseUri":"file:///Users/dpvc/Desktop/Folders/Tumlook/Data/Code/JavaScript/MathJax/Code/Git/mathjax/MathJax-src/ts/input/mathml/mml3/mml3.xsl","slots":"200","line":"509","module":"mml3.xsl","expand-text":"false","match":"m:mscarry","prio":"0","matches":"NE nQ{http://www.w3.org/1998/Math/MathML}mscarry","C":[{"N":"p.nodeTest","role":"match","test":"NE nQ{http://www.w3.org/1998/Math/MathML}mscarry","sType":"1NE nQ{http://www.w3.org/1998/Math/MathML}mscarry","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common "},{"N":"elem","name":"m:mtd","sType":"1NE nQ{http://www.w3.org/1998/Math/MathML}mtd ","nsuri":"http://www.w3.org/1998/Math/MathML","namespaces":"","role":"action","line":"510","C":[{"N":"sequence","sType":"* ","C":[{"N":"copyOf","flags":"c","ns":"xml=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ex=http://ns.saxonica.com/xslt/export","line":"511","sType":"*NA u[NA nQ{}location,NA nQ{}crossout]","C":[{"N":"docOrder","sType":"*NA u[NA nQ{}location,NA nQ{}crossout]","role":"select","line":"511","C":[{"N":"union","op":"|","sType":"*NA u[NA nQ{}location,NA nQ{}crossout]","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","C":[{"N":"axis","name":"attribute","nodeTest":"*NA nQ{}location"},{"N":"axis","name":"attribute","nodeTest":"*NA nQ{}crossout"}]}]}]},{"N":"choose","sType":"* ","type":"item()*","line":"512","C":[{"N":"docOrder","sType":"*NA nQ{}scriptsizemultiplier","line":"513","C":[{"N":"slash","op":"/","sType":"*NA nQ{}scriptsizemultiplier","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","C":[{"N":"axis","name":"parent","nodeTest":"?N"},{"N":"axis","name":"attribute","nodeTest":"*NA nQ{}scriptsizemultiplier"}]}]},{"N":"elem","name":"m:mstyle","sType":"1NE nQ{http://www.w3.org/1998/Math/MathML}mstyle ","nsuri":"http://www.w3.org/1998/Math/MathML","namespaces":"","line":"514","C":[{"N":"sequence","sType":"* ","C":[{"N":"att","name":"mathsize","nsuri":"","sType":"1NA ","C":[{"N":"fn","name":"concat","sType":"1AS ","C":[{"N":"fn","name":"string-join","sType":"1AS ","C":[{"N":"first","C":[{"N":"convert","type":"AS*","from":"AZ","to":"AS","C":[{"N":"data","C":[{"N":"mergeAdj","sType":"?A m[AO,AD,AF]","C":[{"N":"fn","name":"round","sType":"?A m[AO,AD,AF]","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","line":"514","C":[{"N":"arith10","op":"div","calc":"d/d","C":[{"N":"atomSing","diag":"1|0||arith","card":"?","C":[{"N":"first","C":[{"N":"slash","op":"/","C":[{"N":"axis","name":"parent","nodeTest":"?N"},{"N":"axis","name":"attribute","nodeTest":"*NA nQ{}scriptsizemultiplier"}]}]}]},{"N":"dec","val":"0.007"}]}]}]}]}]}]},{"N":"str","sType":"1AS ","val":" "}]},{"N":"str","sType":"1AS ","val":"%"},{"N":"str","sType":"1AS ","val":""}]}]},{"N":"applyT","sType":"* ","line":"515","mode":"#unnamed","bSlot":"0","C":[{"N":"axis","name":"child","nodeTest":"*N u[NT,NP,NC,NE]","sType":"*N u[NT,NP,NC,NE]","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","role":"select","line":"515"}]}]}]},{"N":"true"},{"N":"applyT","sType":"* ","line":"519","mode":"#unnamed","bSlot":"0","C":[{"N":"axis","name":"child","nodeTest":"*N u[NT,NP,NC,NE]","sType":"*N u[NT,NP,NC,NE]","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","role":"select","line":"519"}]}]}]}]}]},{"N":"templateRule","rank":"1","prec":"0","seq":"50","ns":"xml=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common","minImp":"0","flags":"s","baseUri":"file:///Users/dpvc/Desktop/Folders/Tumlook/Data/Code/JavaScript/MathJax/Code/Git/mathjax/MathJax-src/ts/input/mathml/mml3/mml3.xsl","slots":"200","line":"494","module":"mml3.xsl","expand-text":"false","match":"*","prio":"-0.5","matches":"NE","C":[{"N":"p.nodeTest","role":"match","test":"NE","sType":"1NE","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common "},{"N":"elem","name":"m:mtd","sType":"1NE nQ{http://www.w3.org/1998/Math/MathML}mtd ","nsuri":"http://www.w3.org/1998/Math/MathML","namespaces":"","role":"action","line":"495","C":[{"N":"sequence","sType":"* ","C":[{"N":"copyOf","flags":"c","ns":"xml=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ex=http://ns.saxonica.com/xslt/export","line":"496","sType":"*NA u[NA nQ{}location,NA nQ{}crossout]","C":[{"N":"docOrder","sType":"*NA u[NA nQ{}location,NA nQ{}crossout]","role":"select","line":"496","C":[{"N":"union","op":"|","sType":"*NA u[NA nQ{}location,NA nQ{}crossout]","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","C":[{"N":"slash","op":"/","C":[{"N":"axis","name":"parent","nodeTest":"?N"},{"N":"axis","name":"attribute","nodeTest":"*NA nQ{}location"}]},{"N":"slash","op":"/","C":[{"N":"axis","name":"parent","nodeTest":"?N"},{"N":"axis","name":"attribute","nodeTest":"*NA nQ{}crossout"}]}]}]}]},{"N":"choose","sType":"* ","type":"item()*","line":"497","C":[{"N":"docOrder","sType":"*NA nQ{}scriptsizemultiplier","line":"498","C":[{"N":"slash","op":"/","sType":"*NA nQ{}scriptsizemultiplier","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","C":[{"N":"axis","name":"parent","nodeTest":"?N"},{"N":"axis","name":"attribute","nodeTest":"*NA nQ{}scriptsizemultiplier"}]}]},{"N":"elem","name":"m:mstyle","sType":"1NE nQ{http://www.w3.org/1998/Math/MathML}mstyle ","nsuri":"http://www.w3.org/1998/Math/MathML","namespaces":"","line":"499","C":[{"N":"sequence","sType":"* ","C":[{"N":"att","name":"mathsize","nsuri":"","sType":"1NA ","C":[{"N":"fn","name":"concat","sType":"1AS ","C":[{"N":"fn","name":"string-join","sType":"1AS ","C":[{"N":"first","C":[{"N":"convert","type":"AS*","from":"AZ","to":"AS","C":[{"N":"data","C":[{"N":"mergeAdj","sType":"?A m[AO,AD,AF]","C":[{"N":"fn","name":"round","sType":"?A m[AO,AD,AF]","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","line":"499","C":[{"N":"arith10","op":"div","calc":"d/d","C":[{"N":"atomSing","diag":"1|0||arith","card":"?","C":[{"N":"first","C":[{"N":"slash","op":"/","C":[{"N":"axis","name":"parent","nodeTest":"?N"},{"N":"axis","name":"attribute","nodeTest":"*NA nQ{}scriptsizemultiplier"}]}]}]},{"N":"dec","val":"0.007"}]}]}]}]}]}]},{"N":"str","sType":"1AS ","val":" "}]},{"N":"str","sType":"1AS ","val":"%"},{"N":"str","sType":"1AS ","val":""}]}]},{"N":"applyT","sType":"* ","line":"500","mode":"#unnamed","bSlot":"0","C":[{"N":"dot","sType":"1NE","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","role":"select","line":"500"}]}]}]},{"N":"true"},{"N":"applyT","sType":"* ","line":"504","mode":"#unnamed","bSlot":"0","C":[{"N":"dot","sType":"1NE","ns":"= xml=~ fn=~ xsl=~ m=http://www.w3.org/1998/Math/MathML c=http://exslt.org/common ","role":"select","line":"504"}]}]}]}]}]}]}]},{"N":"overridden"},{"N":"output","C":[{"N":"property","name":"Q{http://saxon.sf.net/}stylesheet-version","value":"10"},{"N":"property","name":"indent","value":"yes"},{"N":"property","name":"omit-xml-declaration","value":"yes"}]},{"N":"decimalFormat"}],"Σ":"9a493c8"} \ No newline at end of file diff --git a/ts/input/mathml/mml3/mml3.ts b/ts/input/mathml/mml3/mml3.ts index d3e48c7b4..590035669 100644 --- a/ts/input/mathml/mml3/mml3.ts +++ b/ts/input/mathml/mml3/mml3.ts @@ -429,11 +429,14 @@ Mml3.XSLT = ` + - - + + + + @@ -466,7 +469,7 @@ Mml3.XSLT = ` - + @@ -535,9 +538,16 @@ Mml3.XSLT = ` - + + - + + + + + + + @@ -689,7 +699,7 @@ Mml3.XSLT = ` - + @@ -710,10 +720,12 @@ Mml3.XSLT = ` - + - - ) + + + ) + From e4528dedfcdb03396bed1ce9c5bfc0ff00685283 Mon Sep 17 00:00:00 2001 From: "Davide P. Cervone" Date: Fri, 18 Feb 2022 19:12:34 -0500 Subject: [PATCH 055/118] Fix problem where errors during mhchem argument collection are not properly handled. (mathjax/MathJax#2835) --- ts/input/tex/mhchem/MhchemConfiguration.ts | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/ts/input/tex/mhchem/MhchemConfiguration.ts b/ts/input/tex/mhchem/MhchemConfiguration.ts index d45edb066..f23c2ac83 100644 --- a/ts/input/tex/mhchem/MhchemConfiguration.ts +++ b/ts/input/tex/mhchem/MhchemConfiguration.ts @@ -43,14 +43,15 @@ MhchemMethods.xArrow = AmsMethods.xArrow; * @param{string} machine The name of the fininte-state machine to use */ MhchemMethods.Machine = function(parser: TexParser, name: string, machine: 'tex' | 'ce' | 'pu') { + let arg = parser.GetArgument(name); + let tex; try { - let arg = parser.GetArgument(name); - let tex = mhchemParser.toTex(arg, machine); - parser.string = tex + parser.string.substr(parser.i); - parser.i = 0; + tex = mhchemParser.toTex(arg, machine); } catch (err) { - throw new TexError(err[0], err[1], err.slice(2)); + throw new TexError(err[0], err[1]); } + parser.string = tex + parser.string.substr(parser.i); + parser.i = 0; }; new CommandMap( From 778220bf6ceb41b7eb3c09632da34df95cd2774c Mon Sep 17 00:00:00 2001 From: "Davide P. Cervone" Date: Sat, 19 Feb 2022 14:09:10 -0500 Subject: [PATCH 056/118] Place super- and subscripts properly around \vcenter elements. --- ts/core/MmlTree/MmlNodes/mo.ts | 4 +++- ts/output/common/Wrappers/scriptbase.ts | 4 +++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/ts/core/MmlTree/MmlNodes/mo.ts b/ts/core/MmlTree/MmlNodes/mo.ts index b307583a3..5c5968919 100644 --- a/ts/core/MmlTree/MmlNodes/mo.ts +++ b/ts/core/MmlTree/MmlNodes/mo.ts @@ -227,7 +227,9 @@ export class MmlMo extends AbstractMmlTokenNode { if (parent.isEmbellished) { return (parent.coreMO() as MmlMo).getText(); } - while ((((parent.isKind('mrow') || parent.isKind('TeXAtom') || parent.isKind('mstyle') || + while ((((parent.isKind('mrow') || + (parent.isKind('TeXAtom') && parent.texClass !== TEXCLASS.VCENTER) || + parent.isKind('mstyle') || parent.isKind('mphantom')) && parent.childNodes.length === 1) || parent.isKind('munderover')) && parent.childNodes[0]) { parent = parent.childNodes[0] as MmlNode; diff --git a/ts/output/common/Wrappers/scriptbase.ts b/ts/output/common/Wrappers/scriptbase.ts index d077ee286..a59f3f266 100644 --- a/ts/output/common/Wrappers/scriptbase.ts +++ b/ts/output/common/Wrappers/scriptbase.ts @@ -27,6 +27,7 @@ import {AnyWrapper, WrapperConstructor, Constructor, AnyWrapperClass} from '../Wrapper.js'; import {CommonMo} from './mo.js'; import {CommonMunderover} from './munderover.js'; +import {TEXCLASS} from '../../../core/MmlTree/MmlNode.js'; import {MmlMsubsup} from '../../../core/MmlTree/MmlNodes/msubsup.js'; import {MmlMo} from '../../../core/MmlTree/MmlNodes/mo.js'; import {BBox} from '../../../util/BBox.js'; @@ -368,7 +369,8 @@ export function CommonScriptbaseMixin< let core = this.getSemanticBase() || this.childNodes[0]; while (core && ((core.childNodes.length === 1 && - (core.node.isKind('mrow') || core.node.isKind('TeXAtom') || + (core.node.isKind('mrow') || + (core.node.isKind('TeXAtom') && core.node.texClass !== TEXCLASS.VCENTER) || core.node.isKind('mstyle') || core.node.isKind('mpadded') || core.node.isKind('mphantom') || core.node.isKind('semantics'))) || (core.node.isKind('munderover') && core.isMathAccent))) { From 61ada234ddde0f71e008301ac85ad8d0eba264d2 Mon Sep 17 00:00:00 2001 From: "Davide P. Cervone" Date: Mon, 21 Feb 2022 13:54:40 -0500 Subject: [PATCH 057/118] Fix typos in comments --- ts/adaptors/linkedomAdaptor.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/ts/adaptors/linkedomAdaptor.ts b/ts/adaptors/linkedomAdaptor.ts index e1f58a046..fb022af9e 100644 --- a/ts/adaptors/linkedomAdaptor.ts +++ b/ts/adaptors/linkedomAdaptor.ts @@ -67,7 +67,7 @@ export class LinkedomAdaptor extends HTMLAdaptor { /** * @param {Window} window The window to work with - * @param {OptionList} options The options for the jsdom adaptor + * @param {OptionList} options The options for the linkedom adaptor * @constructor */ constructor(window: Window, options: OptionList = null) { @@ -138,7 +138,7 @@ export class LinkedomAdaptor extends HTMLAdaptor { } /** - * Function for creating an HTML adaptor using jsdom + * Function for creating an HTML adaptor using linkedom * * @param {any} parseHTML The linkedom HTML parser to use for this adaptor * @return {HTMLAdaptor} The newly created adaptor From 8fa76f10878cc4b7062be598675f248f2c784907 Mon Sep 17 00:00:00 2001 From: "Davide P. Cervone" Date: Tue, 8 Feb 2022 14:39:05 -0500 Subject: [PATCH 058/118] Make a mixin for node DOM adaptors so that the size computations don't need to be repeated in each adaptor. Use the mixin for the jsdom, linkedom, and liteDOM adaptors --- ts/adaptors/NodeMixin.ts | 160 +++++++++++++++++++++++++++++++++ ts/adaptors/jsdomAdaptor.ts | 111 +++-------------------- ts/adaptors/linkedomAdaptor.ts | 115 ++++-------------------- ts/adaptors/liteAdaptor.ts | 85 ++++++------------ 4 files changed, 216 insertions(+), 255 deletions(-) create mode 100644 ts/adaptors/NodeMixin.ts diff --git a/ts/adaptors/NodeMixin.ts b/ts/adaptors/NodeMixin.ts new file mode 100644 index 000000000..cc811b74b --- /dev/null +++ b/ts/adaptors/NodeMixin.ts @@ -0,0 +1,160 @@ +/************************************************************* + * + * Copyright (c) 2022 The MathJax Consortium + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +/** + * @fileoverview Implements a mixin for node-based adaptors that overrides + * the methods that obtain DOM node sizes, when those aren't + * available from the DOM itself. + * + * @author dpvc@mathjax.org (Davide Cervone) + */ + +import {DOMAdaptor} from '../core/DOMAdaptor.js'; +import {userOptions, defaultOptions, OptionList} from '../util/Options.js'; + +/** + * A constructor for a given class + * + * @template T The class to construct + */ +export type Constructor = (new(...args: any[]) => T); + +/** + * The type of an Adaptor class + */ +export type AdaptorConstructor = Constructor>; + +/** + * The options to the NodeMixin + */ +export const NodeMixinOptions: OptionList = { + badCSS: true, // getComputedStyles() is not implemented in the DOM + badSizes: true, // element sizes (e.g., ClientWidth, etc.) are not implemented in the DOM +}; + +/** + * @template N The HTMLElement node class + * @template T The Text node class + * @template D The Document class + */ +export function NodeMixin>( + Base: A, + options: typeof NodeMixinOptions = {} +): A { + + options = userOptions(defaultOptions({}, NodeMixinOptions), options); + + return class NodeAdaptor extends Base { + + /** + * The default options + */ + public static OPTIONS: OptionList = { + ...(options.badCSS ? { + fontSize: 16, // We can't compute the font size, so always use this + fontFamily: 'Times', // We can't compute the font family, so always use this + } : {}), + ...(options.badSizes ? { + cjkCharWidth: 1, // Width (in em units) of full width characters + unknownCharWidth: .6, // Width (in em units) of unknown (non-full-width) characters + unknownCharHeight: .8, // Height (in em units) of unknown characters + } : {}) + }; + + /** + * Pattern to identify CJK (i.e., full-width) characters + */ + public static cjkPattern = new RegExp([ + '[', + '\u1100-\u115F', // Hangul Jamo + '\u2329\u232A', // LEFT-POINTING ANGLE BRACKET, RIGHT-POINTING ANGLE BRACKET + '\u2E80-\u303E', // CJK Radicals Supplement ... CJK Symbols and Punctuation + '\u3040-\u3247', // Hiragana ... Enclosed CJK Letters and Months + '\u3250-\u4DBF', // Enclosed CJK Letters and Months ... CJK Unified Ideographs Extension A + '\u4E00-\uA4C6', // CJK Unified Ideographs ... Yi Radicals + '\uA960-\uA97C', // Hangul Jamo Extended-A + '\uAC00-\uD7A3', // Hangul Syllables + '\uF900-\uFAFF', // CJK Compatibility Ideographs + '\uFE10-\uFE19', // Vertical Forms + '\uFE30-\uFE6B', // CJK Compatibility Forms ... Small Form Variants + '\uFF01-\uFF60\uFFE0-\uFFE6', // Halfwidth and Fullwidth Forms + '\u{1B000}-\u{1B001}', // Kana Supplement + '\u{1F200}-\u{1F251}', // Enclosed Ideographic Supplement + '\u{20000}-\u{3FFFD}', // CJK Unified Ideographs Extension B ... Tertiary Ideographic Plane + ']' + ].join(''), 'gu'); + + /** + * The options for the instance + */ + public options: OptionList; + + /** + * @param {any} window The window to work with + * @param {OptionList} options The options for the adaptor + * @constructor + */ + constructor(...args: any[]) { + super(args[0]); + let CLASS = this.constructor as typeof NodeAdaptor; + this.options = userOptions(defaultOptions({}, CLASS.OPTIONS), args[1]); + } + + /** + * For DOMs that don't handle CSS well, use the font size from the options + * + * @override + */ + public fontSize(node: N) { + return (options.badCSS ? this.options.fontSize : super.fontSize(node)); + } + + /** + * For DOMs that don't handle CSS well, use the font family from the options + * + * @override + */ + public fontFamily(node: N) { + return (options.badCSS ? this.options.fontFamily : super.fontFamily(node)); + } + + /** + * @override + */ + public nodeSize(node: N, em: number = 1, local: boolean = null) { + if (!options.badSizes) { + return super.nodeSize(node, em, local); + } + const text = this.textContent(node); + const non = Array.from(text.replace(NodeAdaptor.cjkPattern, '')).length; // # of non-CJK chars + const CJK = Array.from(text).length - non; // # of cjk chars + return [ + CJK * this.options.cjkCharWidth + non * this.options.unknownCharWidth, + this.options.unknownCharHeight + ] as [number, number]; + } + + /** + * @override + */ + public nodeBBox(node: N) { + return (options.badSizes ? {left: 0, right: 0, top: 0, bottom: 0} : super.nodeBBox(node)); + } + + }; + +} diff --git a/ts/adaptors/jsdomAdaptor.ts b/ts/adaptors/jsdomAdaptor.ts index ce7253811..45e7ddbc0 100644 --- a/ts/adaptors/jsdomAdaptor.ts +++ b/ts/adaptors/jsdomAdaptor.ts @@ -22,107 +22,18 @@ */ import {HTMLAdaptor} from './HTMLAdaptor.js'; -import {userOptions, defaultOptions, OptionList} from '../util/Options.js'; +import {NodeMixin, Constructor} from './NodeMixin.js'; +import {OptionList} from '../util/Options.js'; -export class JsdomAdaptor extends HTMLAdaptor { - - /** - * The default options - */ - public static OPTIONS: OptionList = { - fontSize: 16, // We can't compute the font size, so always use this - fontFamily: 'Times', // We can't compute the font family, so always use this - cjkCharWidth: 1, // Width (in em units) of full width characters - unknownCharWidth: .6, // Width (in em units) of unknown (non-full-width) characters - unknownCharHeight: .8, // Height (in em units) of unknown characters - }; - - /** - * Pattern to identify CJK (i.e., full-width) characters - */ - public static cjkPattern = new RegExp([ - '[', - '\u1100-\u115F', // Hangul Jamo - '\u2329\u232A', // LEFT-POINTING ANGLE BRACKET, RIGHT-POINTING ANGLE BRACKET - '\u2E80-\u303E', // CJK Radicals Supplement ... CJK Symbols and Punctuation - '\u3040-\u3247', // Hiragana ... Enclosed CJK Letters and Months - '\u3250-\u4DBF', // Enclosed CJK Letters and Months ... CJK Unified Ideographs Extension A - '\u4E00-\uA4C6', // CJK Unified Ideographs ... Yi Radicals - '\uA960-\uA97C', // Hangul Jamo Extended-A - '\uAC00-\uD7A3', // Hangul Syllables - '\uF900-\uFAFF', // CJK Compatibility Ideographs - '\uFE10-\uFE19', // Vertical Forms - '\uFE30-\uFE6B', // CJK Compatibility Forms ... Small Form Variants - '\uFF01-\uFF60\uFFE0-\uFFE6', // Halfwidth and Fullwidth Forms - '\u{1B000}-\u{1B001}', // Kana Supplement - '\u{1F200}-\u{1F251}', // Enclosed Ideographic Supplement - '\u{20000}-\u{3FFFD}', // CJK Unified Ideographs Extension B ... Tertiary Ideographic Plane - ']' - ].join(''), 'gu'); - - /** - * The options for the instance - */ - public options: OptionList; - - /** - * @param {Window} window The window to work with - * @param {OptionList} options The options for the jsdom adaptor - * @constructor - */ - constructor(window: Window, options: OptionList = null) { - super(window); - let CLASS = this.constructor as typeof JsdomAdaptor; - this.options = userOptions(defaultOptions({}, CLASS.OPTIONS), options); - } - - /** - * JSDOM's getComputedStyle() implementation is badly broken, and only - * return the styles explicitly set on the given node, not the - * inherited values frmo the cascading style sheets (so it is pretty - * useless). This is somethig we can't really work around, so use - * the default value given in the options instead. Sigh - * - * @override - */ - public fontSize(_node: HTMLElement) { - return this.options.fontSize; - } - - /** - * JSDOM's getComputedStyle() implementation is badly broken, and only - * return the styles explicitly set on the given node, not the - * inherited values frmo the cascading style sheets (so it is pretty - * useless). This is somethig we can't really work around, so use - * the default value given in the options instead. Sigh - * - * @override - */ - public fontFamily(_node: HTMLElement) { - return this.options.fontFamily; - } - - /** - * @override - */ - public nodeSize(node: HTMLElement, _em: number = 1, _local: boolean = null) { - const text = this.textContent(node); - const non = Array.from(text.replace(JsdomAdaptor.cjkPattern, '')).length; // # of non-CJK chars - const CJK = Array.from(text).length - non; // # of cjk chars - return [ - CJK * this.options.cjkCharWidth + non * this.options.unknownCharWidth, - this.options.unknownCharHeight - ] as [number, number]; - } - - /** - * @override - */ - public nodeBBox(_node: HTMLElement) { - return {left: 0, right: 0, top: 0, bottom: 0}; - } +/** + * The constructor for an HTMLAdaptor + */ +export type HTMLAdaptorConstructor = Constructor>; -} +/** + * The JsdomAdaptor class + */ +export class JsdomAdaptor extends NodeMixin(HTMLAdaptor) {} /** * Function for creating an HTML adaptor using jsdom @@ -130,6 +41,6 @@ export class JsdomAdaptor extends HTMLAdaptor { * @param {any} JSDOM The jsdom object to use for this adaptor * @return {HTMLAdaptor} The newly created adaptor */ -export function jsdomAdaptor(JSDOM: any, options: OptionList = null): HTMLAdaptor { +export function jsdomAdaptor(JSDOM: any, options: OptionList = null): JsdomAdaptor { return new JsdomAdaptor(new JSDOM().window, options); } diff --git a/ts/adaptors/linkedomAdaptor.ts b/ts/adaptors/linkedomAdaptor.ts index fb022af9e..53463bd6c 100644 --- a/ts/adaptors/linkedomAdaptor.ts +++ b/ts/adaptors/linkedomAdaptor.ts @@ -22,65 +22,26 @@ */ import {HTMLAdaptor} from './HTMLAdaptor.js'; -import {userOptions, defaultOptions, OptionList} from '../util/Options.js'; +import {NodeMixin, Constructor} from './NodeMixin.js'; +import {OptionList} from '../util/Options.js'; -export class LinkedomAdaptor extends HTMLAdaptor { - - /** - * The default options - */ - public static OPTIONS: OptionList = { - fontSize: 16, // We can't compute the font size, so always use this - fontFamily: 'Times', // We can't compute the font family, so always use this - cjkCharWidth: 1, // Width (in em units) of full width characters - unknownCharWidth: .6, // Width (in em units) of unknown (non-full-width) characters - unknownCharHeight: .8, // Height (in em units) of unknown characters - }; - - /** - * Pattern to identify CJK (i.e., full-width) characters - */ - public static cjkPattern = new RegExp([ - '[', - '\u1100-\u115F', // Hangul Jamo - '\u2329\u232A', // LEFT-POINTING ANGLE BRACKET, RIGHT-POINTING ANGLE BRACKET - '\u2E80-\u303E', // CJK Radicals Supplement ... CJK Symbols and Punctuation - '\u3040-\u3247', // Hiragana ... Enclosed CJK Letters and Months - '\u3250-\u4DBF', // Enclosed CJK Letters and Months ... CJK Unified Ideographs Extension A - '\u4E00-\uA4C6', // CJK Unified Ideographs ... Yi Radicals - '\uA960-\uA97C', // Hangul Jamo Extended-A - '\uAC00-\uD7A3', // Hangul Syllables - '\uF900-\uFAFF', // CJK Compatibility Ideographs - '\uFE10-\uFE19', // Vertical Forms - '\uFE30-\uFE6B', // CJK Compatibility Forms ... Small Form Variants - '\uFF01-\uFF60\uFFE0-\uFFE6', // Halfwidth and Fullwidth Forms - '\u{1B000}-\u{1B001}', // Kana Supplement - '\u{1F200}-\u{1F251}', // Enclosed Ideographic Supplement - '\u{20000}-\u{3FFFD}', // CJK Unified Ideographs Extension B ... Tertiary Ideographic Plane - ']' - ].join(''), 'gu'); - - /** - * The options for the instance - */ - public options: OptionList; +/** + * The constructor for an HTMLAdaptor + */ +export type HTMLAdaptorConstructor = Constructor>; - /** - * @param {Window} window The window to work with - * @param {OptionList} options The options for the linkedom adaptor - * @constructor - */ - constructor(window: Window, options: OptionList = null) { - super(window); - window.constructor.prototype.HTMLCollection = class {}; // add fake class for missing HTMLCollecton - let CLASS = this.constructor as typeof LinkedomAdaptor; - this.options = userOptions(defaultOptions({}, CLASS.OPTIONS), options); - } +/** + * The LinkedomAdaptor class + */ +export class LinkedomAdaptor extends NodeMixin(HTMLAdaptor) { /** * @override */ public parse(text: string, format: string = 'text/html') { + // + // Make sure the text string has nodes (in particular, it can't be empty) + // if (!text.match(/^(?:\s|\n)*' + text + ''; return this.parser.parseFromString(text, format); } @@ -95,54 +56,16 @@ export class LinkedomAdaptor extends HTMLAdaptor { return this.outerHTML(node); } - /** - * Linkedom doesn't implement getComputedStyle(), so just - * use the default value (unfortunately). - * - * @override - */ - public fontSize(_node: HTMLElement) { - return this.options.fontSize; - } - - /** - * Linkedom doesn't implement getComputedStyle(), so just - * use the default value (unfortunately). - * - * @override - */ - public fontFamily(_node: HTMLElement) { - return this.options.fontFamily; - } - - /** - * @override - */ - public nodeSize(node: HTMLElement, _em: number = 1, _local: boolean = null) { - const text = this.textContent(node); - const non = Array.from(text.replace(LinkedomAdaptor.cjkPattern, '')).length; // # of non-CJK chars - const CJK = Array.from(text).length - non; // # of cjk chars - return [ - CJK * this.options.cjkCharWidth + non * this.options.unknownCharWidth, - this.options.unknownCharHeight - ] as [number, number]; - } - - /** - * @override - */ - public nodeBBox(_node: HTMLElement) { - return {left: 0, right: 0, top: 0, bottom: 0}; - } - } /** * Function for creating an HTML adaptor using linkedom * - * @param {any} parseHTML The linkedom HTML parser to use for this adaptor - * @return {HTMLAdaptor} The newly created adaptor + * @param {any} parseHTML The linkedom HTML parser to use for this adaptor + * @return {LinkeddomAdaptor} The newly created adaptor */ -export function linkedomAdaptor(parseHTML: any, options: OptionList = null): HTMLAdaptor { - return new LinkedomAdaptor(parseHTML(''), options); +export function linkedomAdaptor(parseHTML: any, options: OptionList = null): LinkedomAdaptor { + const window = parseHTML(''); + window.constructor.prototype.HTMLCollection = class {}; // add fake class for missing HTMLCollecton + return new LinkedomAdaptor(window, options); } diff --git a/ts/adaptors/liteAdaptor.ts b/ts/adaptors/liteAdaptor.ts index 7df1cf1bf..b267b1fec 100644 --- a/ts/adaptors/liteAdaptor.ts +++ b/ts/adaptors/liteAdaptor.ts @@ -22,6 +22,7 @@ */ import {AbstractDOMAdaptor} from '../core/DOMAdaptor.js'; +import {NodeMixin, Constructor} from './NodeMixin.js'; import {LiteDocument} from './lite/Document.js'; import {LiteElement, LiteNode} from './lite/Element.js'; import {LiteText, LiteComment} from './lite/Text.js'; @@ -29,52 +30,15 @@ import {LiteList} from './lite/List.js'; import {LiteWindow} from './lite/Window.js'; import {LiteParser} from './lite/Parser.js'; import {Styles} from '../util/Styles.js'; -import {userOptions, defaultOptions, OptionList} from '../util/Options.js'; +import {OptionList} from '../util/Options.js'; /************************************************************/ + + /** * Implements a lightweight DOMAdaptor on liteweight HTML elements */ -export class LiteAdaptor extends AbstractDOMAdaptor { - /** - * The default options - */ - public static OPTIONS: OptionList = { - fontSize: 16, // We can't compute the font size, so always use this - fontFamily: 'Times', // We can't compute the font family, so always use this - cjkCharWidth: 1, // Width (in em units) of full width characters - unknownCharWidth: .6, // Width (in em units) of unknown (non-full-width) characters - unknownCharHeight: .8, // Height (in em units) of unknown characters - }; - - /** - * Pattern to identify CJK (.i.e., full-width) characters - */ - public static cjkPattern = new RegExp([ - '[', - '\u1100-\u115F', // Hangul Jamo - '\u2329\u232A', // LEFT-POINTING ANGLE BRACKET, RIGHT-POINTING ANGLE BRACKET - '\u2E80-\u303E', // CJK Radicals Supplement ... CJK Symbols and Punctuation - '\u3040-\u3247', // Hiragana ... Enclosed CJK Letters and Months - '\u3250-\u4DBF', // Enclosed CJK Letters and Months ... CJK Unified Ideographs Extension A - '\u4E00-\uA4C6', // CJK Unified Ideographs ... Yi Radicals - '\uA960-\uA97C', // Hangul Jamo Extended-A - '\uAC00-\uD7A3', // Hangul Syllables - '\uF900-\uFAFF', // CJK Compatibility Ideographs - '\uFE10-\uFE19', // Vertical Forms - '\uFE30-\uFE6B', // CJK Compatibility Forms ... Small Form Variants - '\uFF01-\uFF60\uFFE0-\uFFE6', // Halfwidth and Fullwidth Forms - '\u{1B000}-\u{1B001}', // Kana Supplement - '\u{1F200}-\u{1F251}', // Enclosed Ideographic Supplement - '\u{20000}-\u{3FFFD}', // CJK Unified Ideographs Extension B ... Tertiary Ideographic Plane - ']' - ].join(''), 'gu'); - - /** - * The options for the instance - */ - public options: OptionList; - +export class LiteBase extends AbstractDOMAdaptor { /** * The document in which the HTML nodes will be created */ @@ -94,10 +58,8 @@ export class LiteAdaptor extends AbstractDOMAdaptor>(LiteBase) {} + /************************************************************/ /** * The function to call to obtain a LiteAdaptor @@ -632,5 +599,5 @@ export class LiteAdaptor extends AbstractDOMAdaptor Date: Tue, 22 Feb 2022 11:26:36 -0500 Subject: [PATCH 059/118] Fix typo in comments --- ts/components/version.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ts/components/version.ts b/ts/components/version.ts index 30c6e8234..98a20ba3b 100644 --- a/ts/components/version.ts +++ b/ts/components/version.ts @@ -16,7 +16,7 @@ */ /** - * @fileoverview The version of MathJax (iused to tell what version a component + * @fileoverview The version of MathJax (used to tell what version a component * was compiled against). * * @author dpvc@mathjax.org (Davide Cervone) From e8420dc9f22eeab23eda9a398e32c1660ce6b96a Mon Sep 17 00:00:00 2001 From: "Davide P. Cervone" Date: Tue, 22 Feb 2022 13:51:10 -0500 Subject: [PATCH 060/118] Update ts/ui/lazy/LazyHandler.ts Co-authored-by: Volker Sorge --- ts/ui/lazy/LazyHandler.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ts/ui/lazy/LazyHandler.ts b/ts/ui/lazy/LazyHandler.ts index 699f1288d..80fd07af2 100644 --- a/ts/ui/lazy/LazyHandler.ts +++ b/ts/ui/lazy/LazyHandler.ts @@ -370,7 +370,7 @@ B extends MathDocumentConstructor>>( * then create the intersection observer and lazy list, * and bind the lazyProcessSet function to this instance * so it can be used as a callback more easily. Add the - * event listeners to typeset everytihng before printing. + * event listeners to typeset everything before printing. * * @override * @constructor From a422353f1d9e23ee4111472d4ea506615501a2b6 Mon Sep 17 00:00:00 2001 From: "Davide P. Cervone" Date: Tue, 22 Feb 2022 13:51:16 -0500 Subject: [PATCH 061/118] Update ts/ui/lazy/LazyHandler.ts Co-authored-by: Volker Sorge --- ts/ui/lazy/LazyHandler.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ts/ui/lazy/LazyHandler.ts b/ts/ui/lazy/LazyHandler.ts index 80fd07af2..138e44722 100644 --- a/ts/ui/lazy/LazyHandler.ts +++ b/ts/ui/lazy/LazyHandler.ts @@ -477,7 +477,7 @@ B extends MathDocumentConstructor>>( for (const item of this.math) { const math = item as LazyMathItem; // - // If it is not laxy compile or typeset, skip it. + // If it is not lazy compile or typeset, skip it. // if (!math.lazyCompile && !math.lazyTypeset) continue; // From 2cca3872e57676c32ea10074d16907e72df70c41 Mon Sep 17 00:00:00 2001 From: "Davide P. Cervone" Date: Tue, 22 Feb 2022 15:44:30 -0500 Subject: [PATCH 062/118] Make consecutive non-mtr children of mtable into a single mtr (rather than multiple mtr), as requested by Volker. Also, add a removeChild() method to the Node class. --- ts/core/MmlTree/MmlNodes/mtable.ts | 27 ++++++++++++++++++++------- ts/core/Tree/Node.ts | 19 +++++++++++++++++++ 2 files changed, 39 insertions(+), 7 deletions(-) diff --git a/ts/core/MmlTree/MmlNodes/mtable.ts b/ts/core/MmlTree/MmlNodes/mtable.ts index 7b66d3edd..b41c351b6 100644 --- a/ts/core/MmlTree/MmlNodes/mtable.ts +++ b/ts/core/MmlTree/MmlNodes/mtable.ts @@ -137,15 +137,28 @@ export class MmlMtable extends AbstractMmlNode { * @override */ protected verifyChildren(options: PropertyList) { - for (const child of this.childNodes) { - if (!child.isKind('mtr')) { + let mtr: MmlNode = null; // all consecutive non-mtr elements are collected into one mtr + const factory = this.factory; + for (let i = 0; i < this.childNodes.length; i++) { + const child = this.childNodes[i]; + if (child.isKind('mtr')) { + mtr = null; // start a new row if there are non-mtr children + } else { const isMtd = child.isKind('mtd'); - const factory = this.factory; - let mtr = this.replaceChild(factory.create('mtr'), child) as MmlNode; - mtr.appendChild(isMtd ? child : factory.create('mtd', {}, [child])); + // + // If there is already an mtr for previous children, just remove the child + // otherwise repalce the child with a new mtr + // + if (mtr) { + this.removeChild(child); + i--; // there is one fewer child now + } else { + mtr = this.replaceChild(factory.create('mtr'), child) as MmlNode; + } + mtr.appendChild(isMtd ? child : factory.create('mtd', {}, [child])); // Move the child into the mtr if (!options['fixMtables']) { - child.parent.childNodes = []; // remove the child from the parent... - child.parent = this; // ... and make it think it is a child of the table again + child.parent.removeChild(child); // remove the child from its mtd or mtr + child.parent = this; // ... and make it think it is a child of the table again isMtd && mtr.appendChild(factory.create('mtd')); // child will be replaced, so make sure there is an mtd const merror = child.mError('Children of ' + this.kind + ' must be mtr or mlabeledtr', options, isMtd); mtr.childNodes[0].appendChild(merror); // append the error to the mtd in the mtr diff --git a/ts/core/Tree/Node.ts b/ts/core/Tree/Node.ts index 3ce209720..5c94a3e18 100644 --- a/ts/core/Tree/Node.ts +++ b/ts/core/Tree/Node.ts @@ -96,6 +96,12 @@ export interface Node { */ replaceChild(newChild: Node, oldChild: Node): Node; + /** + * @param {Node} child Child node to be removed + * @return {Node} The old child node that was removed + */ + removeChild(child: Node): Node; + /** * @param {Node} child A child node whose index in childNodes is desired * @return {number} The index of the child in childNodes, or null if not found @@ -255,10 +261,23 @@ export abstract class AbstractNode implements Node { if (i !== null) { this.childNodes[i] = newChild; newChild.parent = this; + oldChild.parent = null; } return newChild; } + /** + * @override + */ + public removeChild(child: Node) { + const i = this.childIndex(child); + if (i !== null) { + this.childNodes.splice(i, 1); + child.parent = null; + } + return child; + } + /** * @override From 2267a760e01252c4f02fe8abc98d018ab4dc92c1 Mon Sep 17 00:00:00 2001 From: "Davide P. Cervone" Date: Tue, 22 Feb 2022 15:50:16 -0500 Subject: [PATCH 063/118] Make sure error nodes go into the correct mtd --- ts/core/MmlTree/MmlNodes/mtable.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ts/core/MmlTree/MmlNodes/mtable.ts b/ts/core/MmlTree/MmlNodes/mtable.ts index b41c351b6..eda0c2da0 100644 --- a/ts/core/MmlTree/MmlNodes/mtable.ts +++ b/ts/core/MmlTree/MmlNodes/mtable.ts @@ -161,7 +161,7 @@ export class MmlMtable extends AbstractMmlNode { child.parent = this; // ... and make it think it is a child of the table again isMtd && mtr.appendChild(factory.create('mtd')); // child will be replaced, so make sure there is an mtd const merror = child.mError('Children of ' + this.kind + ' must be mtr or mlabeledtr', options, isMtd); - mtr.childNodes[0].appendChild(merror); // append the error to the mtd in the mtr + mtr.childNodes[mtr.childNodes.length - 1].appendChild(merror); // append the error to the mtd in the mtr } } } From 7b55b88a7c7ebded888a1cff3e5244031af619da Mon Sep 17 00:00:00 2001 From: "Davide P. Cervone" Date: Tue, 22 Feb 2022 15:52:36 -0500 Subject: [PATCH 064/118] Update ts/output/svg/Wrappers/mmultiscripts.ts Co-authored-by: Volker Sorge --- ts/output/svg/Wrappers/mmultiscripts.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ts/output/svg/Wrappers/mmultiscripts.ts b/ts/output/svg/Wrappers/mmultiscripts.ts index 6b1b016b1..8134da45f 100644 --- a/ts/output/svg/Wrappers/mmultiscripts.ts +++ b/ts/output/svg/Wrappers/mmultiscripts.ts @@ -35,7 +35,7 @@ import {split} from '../../../util/string.js'; export type AlignFunction = (w: number, W: number) => number; /** - * Get the function for aligning scripts horizontally (left, center, right( + * Get the function for aligning scripts horizontally (left, center, right) */ export function AlignX(align: string) { return ({ From f648a9ceb1a7b9c800b5557945072c4e94ea8e13 Mon Sep 17 00:00:00 2001 From: "Davide P. Cervone" Date: Wed, 23 Feb 2022 08:29:46 -0500 Subject: [PATCH 065/118] Allow material other than just scripts in \sideset arguments, like actual LaTeX does --- ts/input/tex/ams/AmsMethods.ts | 111 +++++++++++++++++++++++++-------- 1 file changed, 86 insertions(+), 25 deletions(-) diff --git a/ts/input/tex/ams/AmsMethods.ts b/ts/input/tex/ams/AmsMethods.ts index dbe7ea5ff..86019c8fa 100644 --- a/ts/input/tex/ams/AmsMethods.ts +++ b/ts/input/tex/ams/AmsMethods.ts @@ -240,42 +240,103 @@ AmsMethods.HandleOperatorName = function(parser: TexParser, name: string) { * @param {string} name The macro name. */ AmsMethods.SideSet = function (parser: TexParser, name: string) { - const pre = parser.ParseArg(name); - const post = parser.ParseArg(name); + // + // Get the pre- and post-scripts, and any extra material from the arguments + // + const [preScripts, preRest] = splitSideSet(parser.ParseArg(name)); + const [postScripts, postRest] = splitSideSet(parser.ParseArg(name)); const base = parser.ParseArg(name); - if (!checkSideSet(pre) || !checkSideSet(post)) { - throw new TexError('SideSetArgs', 'First two arguments to %1 must consist only of super- and subscripts', name); + let mml = base; + // + // If there are pre-scripts... + // + if (preScripts) { + // + // If there is other material... + // + if (preRest) { + // + // Replace the empty base of the prescripts with a phantom element of the + // original base, with width 0 (so of the correct height and depth). + // so the scripts will be at the right heights. + // + preScripts.replaceChild( + parser.create('node', 'mphantom', [ + parser.create('node', 'mpadded', [base.copy()], {width: 0}) + ]), + NodeUtil.getChildAt(preScripts, 0) + ); + } else { + // + // If there is no extra meterial, make a mmultiscripts element + // + mml = parser.create('node', 'mmultiscripts', [base]); + // + // Add any postscripts + // + if (postScripts) { + NodeUtil.appendChildren(mml, [ + NodeUtil.getChildAt(postScripts, 1) || parser.create('node', 'none'), + NodeUtil.getChildAt(postScripts, 2) || parser.create('node', 'none') + ]); + } + // + // Add the prescripts (left aligned) + // + NodeUtil.setProperty(mml, 'scriptalign', 'left'); + NodeUtil.appendChildren(mml, [ + parser.create('node', 'mprescripts'), + NodeUtil.getChildAt(preScripts, 1) || parser.create('node', 'none'), + NodeUtil.getChildAt(preScripts, 2) || parser.create('node', 'none') + ]); + } } - const mml = parser.create('node', 'mmultiscripts', [base]); - if (!post.isInferred) { - NodeUtil.appendChildren(mml, [ - NodeUtil.getChildAt(post, 1) || parser.create('node', 'none'), - NodeUtil.getChildAt(post, 2) || parser.create('node', 'none') - ]); + // + // If there are postscripts and we didn't make a mmultiscript element above... + // + if (postScripts && mml === base) { + // + // Replace the emtpy base with actual base, and use that as the mml + // + postScripts.replaceChild(base, NodeUtil.getChildAt(postScripts, 0)); + mml = postScripts; } - if (!pre.isInferred) { - NodeUtil.setProperty(mml, 'scriptalign', 'left'); - NodeUtil.appendChildren(mml, [ - parser.create('node', 'mprescripts'), - NodeUtil.getChildAt(pre, 1) || parser.create('node', 'none'), - NodeUtil.getChildAt(pre, 2) || parser.create('node', 'none') - ]); + // + // Push the needed pieces onto the stack. + // Note that the postScripts are in the mml element, + // either as part of the mmultiscripts node, or the + // msubsup with the base inserted into it. + // + if (preRest) { + preScripts && parser.Push(preScripts); + parser.Push(preRest); } parser.Push(mml); + postRest && parser.Push(postRest); }; /** - * Utility for checking the pre- and postscript arguments for validity. + * Utility for breaking the \sideset scripts from any other material. + * @param {MmlNode} mml The node to check. + * @return {[MmlNode, MmlNode]} The msubsup with the scripts together with any extra nodes. + */ +function splitSideSet(mml: MmlNode): [MmlNode, MmlNode] { + if (!mml || (mml.isInferred && mml.childNodes.length === 0)) return [null, null]; + if (mml.isKind('msubsup') && checkSideSetBase(mml)) return [mml, null]; + const child = NodeUtil.getChildAt(mml, 0); + if (!(mml.isInferred && child && checkSideSetBase(child))) return [null, mml]; + mml.childNodes.splice(0, 1); // remove first child + return [child, mml]; +} + +/** + * Utility for checking if a \setset argument has scripts with an empty base. * @param {MmlNode} mml The node to check. - * @return {boolean} True if scripts are OK, false otherwise. + * @return {boolean} True if the base is not and empty mi element. */ -function checkSideSet(mml: MmlNode): boolean { - if (!mml) return false; - if (mml.isInferred && mml.childNodes.length === 0) return true; - if (!mml.isKind('msubsup')) return false; +function checkSideSetBase(mml: MmlNode): boolean { const base = mml.childNodes[0]; - if (!(base && base.isKind('mi') && (base as AbstractMmlTokenNode).getText() === '')) return false; - return true; + return base && base.isKind('mi') && (base as AbstractMmlTokenNode).getText() === ''; } From 46eb20dfcddc545a94980c3f22c3c3eb08803c96 Mon Sep 17 00:00:00 2001 From: "Davide P. Cervone" Date: Wed, 23 Feb 2022 10:08:05 -0500 Subject: [PATCH 066/118] Use ParseUtil.copyNode() rather than node.copy() so the copy is in the node lists. --- ts/input/tex/ams/AmsMethods.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ts/input/tex/ams/AmsMethods.ts b/ts/input/tex/ams/AmsMethods.ts index 86019c8fa..30eec6fe7 100644 --- a/ts/input/tex/ams/AmsMethods.ts +++ b/ts/input/tex/ams/AmsMethods.ts @@ -262,7 +262,7 @@ AmsMethods.SideSet = function (parser: TexParser, name: string) { // preScripts.replaceChild( parser.create('node', 'mphantom', [ - parser.create('node', 'mpadded', [base.copy()], {width: 0}) + parser.create('node', 'mpadded', [ParseUtil.copyNode(base, parser)], {width: 0}) ]), NodeUtil.getChildAt(preScripts, 0) ); From eaded1bc4016fc6ed2312626e1c9ada61b444c73 Mon Sep 17 00:00:00 2001 From: "Davide P. Cervone" Date: Thu, 24 Feb 2022 09:35:58 -0500 Subject: [PATCH 067/118] make version be read from package.json instead of hard coded, as per Volker --- components/webpack.common.js | 6 +++++- ts/components/version.ts | 21 ++++++++++++++++++++- 2 files changed, 25 insertions(+), 2 deletions(-) diff --git a/components/webpack.common.js b/components/webpack.common.js index 8edfdd893..034b98810 100644 --- a/components/webpack.common.js +++ b/components/webpack.common.js @@ -46,11 +46,15 @@ function quoteRE(string) { const PLUGINS = function (js, dir) { const mjdir = path.resolve(__dirname, '..', 'js'); const jsdir = path.resolve(dir, js); + const package = path.resolve(__dirname, '..', 'package.json'); // // Record the js directory for the pack command // - return [new webpack.DefinePlugin({__JSDIR__: jsdir})]; + return [new webpack.DefinePlugin({ + __JSDIR__: jsdir, + PACKAGE_VERSION: `'${require(package).version}'` + })]; }; /** diff --git a/ts/components/version.ts b/ts/components/version.ts index 98a20ba3b..a96fc8277 100644 --- a/ts/components/version.ts +++ b/ts/components/version.ts @@ -22,4 +22,23 @@ * @author dpvc@mathjax.org (Davide Cervone) */ -export const VERSION = '3.2.0'; +declare const PACKAGE_VERSION: string; // provided by webpack via DefinePlugin + +export const VERSION = ( + typeof PACKAGE_VERSION === 'undefined' ? + // + // This will not be included in the webpack version, so only runs in node + // + (function () { + // + // Look up the version from the package.json file + // + /* tslint:disable-next-line:no-eval */ + const load = eval('require'); + /* tslint:disable-next-line:no-eval */ + const dirname = eval('__dirname'); + const path = load('path'); + return load(path.resolve(dirname, '..', '..', 'package.json')).version; + })() : + PACKAGE_VERSION +); From 4ec193e4132d0d5d504b5ebebf8a536aaf59a5b4 Mon Sep 17 00:00:00 2001 From: "Davide P. Cervone" Date: Fri, 25 Feb 2022 06:59:12 -0500 Subject: [PATCH 068/118] Fix typo in comment Co-authored-by: Volker Sorge --- ts/input/tex/ams/AmsMethods.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ts/input/tex/ams/AmsMethods.ts b/ts/input/tex/ams/AmsMethods.ts index 30eec6fe7..66044e301 100644 --- a/ts/input/tex/ams/AmsMethods.ts +++ b/ts/input/tex/ams/AmsMethods.ts @@ -330,7 +330,7 @@ function splitSideSet(mml: MmlNode): [MmlNode, MmlNode] { } /** - * Utility for checking if a \setset argument has scripts with an empty base. + * Utility for checking if a \sideset argument has scripts with an empty base. * @param {MmlNode} mml The node to check. * @return {boolean} True if the base is not and empty mi element. */ From 094479767265657d2afca771428b472a9e41d6ff Mon Sep 17 00:00:00 2001 From: "Davide P. Cervone" Date: Fri, 25 Feb 2022 07:01:29 -0500 Subject: [PATCH 069/118] Improve wording in comment --- ts/input/tex/ams/AmsMethods.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ts/input/tex/ams/AmsMethods.ts b/ts/input/tex/ams/AmsMethods.ts index 66044e301..ad16c0cf4 100644 --- a/ts/input/tex/ams/AmsMethods.ts +++ b/ts/input/tex/ams/AmsMethods.ts @@ -257,7 +257,7 @@ AmsMethods.SideSet = function (parser: TexParser, name: string) { if (preRest) { // // Replace the empty base of the prescripts with a phantom element of the - // original base, with width 0 (so of the correct height and depth). + // original base, with width 0 (but still of the correct height and depth). // so the scripts will be at the right heights. // preScripts.replaceChild( From 7ff21fe6d27bee80d1376cbe15336a46b7fa4a2d Mon Sep 17 00:00:00 2001 From: "Davide P. Cervone" Date: Thu, 10 Mar 2022 09:28:00 -0500 Subject: [PATCH 070/118] Update comment as requested by Volker. --- ts/input/tex/physics/PhysicsItems.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/ts/input/tex/physics/PhysicsItems.ts b/ts/input/tex/physics/PhysicsItems.ts index e5ed55bc0..a7793cf8e 100644 --- a/ts/input/tex/physics/PhysicsItems.ts +++ b/ts/input/tex/physics/PhysicsItems.ts @@ -86,8 +86,8 @@ export class AutoOpen extends BaseItem { this.getProperty('big') as string ); // - // Remove fence markers so it is treated as a regular mrow when - // setting the tex class, so it is not class INNER (#2760) + // Remove fence markers that would cause it to be TeX class INNER, + // so it is treated as a regular mrow when setting the tex class (#2760) // NodeUtil.removeProperties(mml, 'open', 'close', 'texClass'); return mml; From ef9d566cb113cc46758aa1e0fa60e03a61ec2f88 Mon Sep 17 00:00:00 2001 From: "Davide P. Cervone" Date: Mon, 14 Mar 2022 15:24:47 -0400 Subject: [PATCH 071/118] Add \textup and \textnormal to allowed textmacros. (mathjax/MathJax#2846) --- ts/input/tex/textmacros/TextMacrosMappings.ts | 2 ++ 1 file changed, 2 insertions(+) diff --git a/ts/input/tex/textmacros/TextMacrosMappings.ts b/ts/input/tex/textmacros/TextMacrosMappings.ts index 1f0fc8623..c871c0d6c 100644 --- a/ts/input/tex/textmacros/TextMacrosMappings.ts +++ b/ts/input/tex/textmacros/TextMacrosMappings.ts @@ -102,6 +102,8 @@ new CommandMap('text-macros', { Huge: ['SetSize', 2.49], Bbb: ['Macro', '{\\bbFont #1}', 1], + textnormal: ['Macro', '{\\rm #1}', 1], + textup: ['Macro', '{\\rm #1}', 1], textrm: ['Macro', '{\\rm #1}', 1], textit: ['Macro', '{\\it #1}', 1], textbf: ['Macro', '{\\bf #1}', 1], From 8ac3e24c4a6e54bc7c991bbfc4edd37eba420fef Mon Sep 17 00:00:00 2001 From: "Davide P. Cervone" Date: Wed, 6 Apr 2022 14:21:22 -0400 Subject: [PATCH 072/118] Fix override comments as per review --- ts/output/common/Wrappers/mglyph.ts | 28 +++++++++++++++++----------- 1 file changed, 17 insertions(+), 11 deletions(-) diff --git a/ts/output/common/Wrappers/mglyph.ts b/ts/output/common/Wrappers/mglyph.ts index 6d737c666..ea092fb99 100644 --- a/ts/output/common/Wrappers/mglyph.ts +++ b/ts/output/common/Wrappers/mglyph.ts @@ -23,7 +23,7 @@ import {AnyWrapper, WrapperConstructor, Constructor} from '../Wrapper.js'; import {CommonTextNode} from './TextNode.js'; -import {TextNode} from '../../../core/MmlTree/MmlNodes/TextNode.js'; +import {TextNode} from '../../../core/MmlTree/MmlNode.js'; import {BBox} from '../../../util/BBox.js'; /*****************************************************************/ @@ -32,10 +32,16 @@ import {BBox} from '../../../util/BBox.js'; */ export interface CommonMglyph extends AnyWrapper { /** - * The image's width, height, and valign values converted to em's + * The image's width converted to em's */ width: number; + /** + * The image's height converted to em's + */ height: number; + /* + * The image's valign values converted to em's + */ valign: number; /** @@ -45,6 +51,10 @@ export interface CommonMglyph extends AnyWrapper { /** * Obtain the width, height, and valign. + * Note: Currently, the width and height must be specified explicitly, or they default to 1em + * Since loading the image may be asynchronous, it would require a restart. + * A future extension could implement this either by subclassing this object, or + * perhaps as a post-filter on the MathML input jax that adds the needed dimensions */ getParameters(): void; } @@ -65,20 +75,20 @@ export function CommonMglyphMixin(Base: T): Mglyph return class extends Base { /** - * The image's width converted to em's + * @override */ public width: number; /** - * The image's height converted to em's + * @override */ public height: number; /** - * The image's valign values converted to em's + * @override */ public valign: number; /** - * TextNode used for deprecated fontfamily/index use case + * @override */ public charWrapper: CommonTextNode; @@ -92,11 +102,7 @@ export function CommonMglyphMixin(Base: T): Mglyph } /** - * Obtain the width, height, and valign. - * Note: Currently, the width and height must be specified explicitly, or they default to 1em - * Since loading the image may be asynchronous, it would require a restart. - * A future extension could implement this either by subclassing this object, or - * perhaps as a post-filter on the MathML input jax that adds the needed dimensions + * @override */ public getParameters() { const {width, height, valign, src, index} = From 0b9f3f8864219f9c60da0af6b24c2fec11fc7cf0 Mon Sep 17 00:00:00 2001 From: "Davide P. Cervone" Date: Wed, 6 Apr 2022 14:24:12 -0400 Subject: [PATCH 073/118] Fix typo in comment --- ts/core/MmlTree/MmlNodes/mtable.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ts/core/MmlTree/MmlNodes/mtable.ts b/ts/core/MmlTree/MmlNodes/mtable.ts index eda0c2da0..6fab80058 100644 --- a/ts/core/MmlTree/MmlNodes/mtable.ts +++ b/ts/core/MmlTree/MmlNodes/mtable.ts @@ -147,7 +147,7 @@ export class MmlMtable extends AbstractMmlNode { const isMtd = child.isKind('mtd'); // // If there is already an mtr for previous children, just remove the child - // otherwise repalce the child with a new mtr + // otherwise replace the child with a new mtr // if (mtr) { this.removeChild(child); From d303c448679498a0509567a367f9e839e7793d34 Mon Sep 17 00:00:00 2001 From: zorkow Date: Sun, 10 Apr 2022 23:38:28 +0200 Subject: [PATCH 074/118] Integrates mathmaps in the code base. --- components/src/a11y/sre/sre.js | 26 +++++++++++------------ package-lock.json | 14 ++++++------- package.json | 2 +- ts/a11y/sre.ts | 38 ++++++++++++++++++++++------------ 4 files changed, 46 insertions(+), 34 deletions(-) diff --git a/components/src/a11y/sre/sre.js b/components/src/a11y/sre/sre.js index c3d92fba9..5bf18d7e2 100644 --- a/components/src/a11y/sre/sre.js +++ b/components/src/a11y/sre/sre.js @@ -2,17 +2,17 @@ import './lib/sre.js'; import {Package} from '../../../../js/components/package.js'; -if (MathJax.startup) { - console.log('Bundled Path!'); - let path = Package.resolvePath('[sre]', false) + '/mathmaps'; - console.log(path); - if (typeof window !== 'undefined') { - console.log(2); - window.SREfeature = {json: path}; - } else { - console.log(3); - // TODO: This is does not yet work correctly! - global.SREfeature = {json: path}; - } -} +// if (MathJax.startup) { +// console.log('Bundled Path!'); +// let path = Package.resolvePath('[sre]', false) + '/mathmaps'; +// console.log(path); +// if (typeof window !== 'undefined') { +// console.log(2); +// window.SREfeature = {json: path}; +// } else { +// console.log(3); +// // TODO: This is does not yet work correctly! +// global.SREfeature = {json: path}; +// } +// } diff --git a/package-lock.json b/package-lock.json index 715b93154..00861d734 100644 --- a/package-lock.json +++ b/package-lock.json @@ -12,7 +12,7 @@ "esm": "^3.2.25", "mhchemparser": "^4.1.0", "mj-context-menu": "^0.6.1", - "speech-rule-engine": "^4.0.0", + "speech-rule-engine": "^4.0.2", "yargs": "^17.3.1" }, "devDependencies": { @@ -4008,9 +4008,9 @@ } }, "node_modules/speech-rule-engine": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/speech-rule-engine/-/speech-rule-engine-4.0.0.tgz", - "integrity": "sha512-OffLj/HyLC9/6X4+aUig8+U3wpCyc4g7DkBD7nPsSg7qdNYhSiyV0u00AQvtZnqzrNLeWwO1/8UQmp1xIY+Juw==", + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/speech-rule-engine/-/speech-rule-engine-4.0.2.tgz", + "integrity": "sha512-cBljZNhGOClkl1+V3u5zQdfRtZ5bnImXtTe4Ua8FzxjExLrm7JapHWzIFbXOoAN4A9VWF6OHym6MxJd9Fy6fWQ==", "dependencies": { "commander": "8.3.0", "wicked-good-xpath": "1.3.0", @@ -7950,9 +7950,9 @@ } }, "speech-rule-engine": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/speech-rule-engine/-/speech-rule-engine-4.0.0.tgz", - "integrity": "sha512-OffLj/HyLC9/6X4+aUig8+U3wpCyc4g7DkBD7nPsSg7qdNYhSiyV0u00AQvtZnqzrNLeWwO1/8UQmp1xIY+Juw==", + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/speech-rule-engine/-/speech-rule-engine-4.0.2.tgz", + "integrity": "sha512-cBljZNhGOClkl1+V3u5zQdfRtZ5bnImXtTe4Ua8FzxjExLrm7JapHWzIFbXOoAN4A9VWF6OHym6MxJd9Fy6fWQ==", "requires": { "commander": "8.3.0", "wicked-good-xpath": "1.3.0", diff --git a/package.json b/package.json index f1ce0a412..c094666d1 100644 --- a/package.json +++ b/package.json @@ -65,7 +65,7 @@ "esm": "^3.2.25", "mhchemparser": "^4.1.0", "mj-context-menu": "^0.6.1", - "speech-rule-engine": "^4.0.0", + "speech-rule-engine": "^4.0.2", "yargs": "^17.3.1" } } diff --git a/ts/a11y/sre.ts b/ts/a11y/sre.ts index 36b5856ce..25e2006d2 100644 --- a/ts/a11y/sre.ts +++ b/ts/a11y/sre.ts @@ -24,7 +24,7 @@ import {Package} from '../components/package.js'; import {MathJax as MJGlobal} from '../components/global.js'; -// import MathMaps from './mathmaps.js'; +import MathMaps from './mathmaps.js'; declare namespace window { let SREfeature: {[key: string]: any}; @@ -34,18 +34,6 @@ declare namespace global { let SREfeature: {[key: string]: any}; } -// This sets up the correct link to the mathmaps files. -// -// We could also use a custom method for loading locales that are webpacked into -// the distribution. -if (typeof window !== 'undefined') { - window.SREfeature = {json: Package.resolvePath('[sre]', false) + '/mathmaps'}; -} else { - // TODO: This is does not yet work correctly! - global.SREfeature = {json: MJGlobal.config.loader.paths.mathjax + '/sre/mathmaps'}; -} - - import * as Api from 'speech-rule-engine/js/common/system.js'; import {Walker} from 'speech-rule-engine/js/walker/walker.js'; import * as WalkerFactory from 'speech-rule-engine/js/walker/walker_factory.js'; @@ -91,4 +79,28 @@ export namespace Sre { } +/** + * Loads locales that are already included in the imported MathMaps. + */ +const loadPreloadedLocales = async function(locale: string) { + let json = MathMaps[locale]; + return json ? new Promise((res, _rej) => res(JSON.stringify(json))) : Api.localeLoader()(locale); +}; + +// This sets up the correct link to the mathmaps files. +// +// We could also use a custom method for loading locales that are webpacked into +// the distribution. +if (typeof window !== 'undefined') { + window.SREfeature = {json: Package.resolvePath('[sre]', false) + '/mathmaps', + // delay: true, + custom: (loc: string) => loadPreloadedLocales(loc) + }; +} else { + // TODO: This is does not yet work correctly! + global.SREfeature = {json: MJGlobal.config.loader.paths.mathjax + '/sre/mathmaps'}; +} + + + export default Sre; From 2dcdd4f14072989daeb6e113c4b2d3cf74aba8c2 Mon Sep 17 00:00:00 2001 From: zorkow Date: Mon, 11 Apr 2022 00:21:35 +0200 Subject: [PATCH 075/118] Integrates mathmaps for node. --- ts/a11y/sre.ts | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/ts/a11y/sre.ts b/ts/a11y/sre.ts index 25e2006d2..c48feb96e 100644 --- a/ts/a11y/sre.ts +++ b/ts/a11y/sre.ts @@ -98,7 +98,10 @@ if (typeof window !== 'undefined') { }; } else { // TODO: This is does not yet work correctly! - global.SREfeature = {json: MJGlobal.config.loader.paths.mathjax + '/sre/mathmaps'}; + global.SREfeature = {json: MJGlobal.config.loader.paths.mathjax + '/sre/mathmaps', + delay: true, + custom: (loc: string) => loadPreloadedLocales(loc) + }; } From 74d844604f5bec02449d57105409c05b0ffbf0d8 Mon Sep 17 00:00:00 2001 From: zorkow Date: Tue, 12 Apr 2022 19:43:11 +0200 Subject: [PATCH 076/118] Adds missing mathmaps file. --- ts/a11y/mathmaps.ts | 36 ++++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) create mode 100644 ts/a11y/mathmaps.ts diff --git a/ts/a11y/mathmaps.ts b/ts/a11y/mathmaps.ts new file mode 100644 index 000000000..8968bc72f --- /dev/null +++ b/ts/a11y/mathmaps.ts @@ -0,0 +1,36 @@ +/************************************************************* + * + * Copyright (c) 2018-2021 The MathJax Consortium + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +/** + * @fileoverview Base imports of sre locales. + * + * @author dpvc@mathjax.org (Davide Cervone) + * @author v.sorge@mathjax.org (Volker Sorge) + */ + +import base from 'speech-rule-engine/lib/mathmaps/base.json'; +import en from 'speech-rule-engine/lib/mathmaps/en.json'; +import nemeth from 'speech-rule-engine/lib/mathmaps/nemeth.json'; + +const MathMaps: {[locale: string]: {[path: string]: any}} = { + base: base, + en: en, + nemeth: nemeth +} + + +export default MathMaps; From 34af95a647e003e13dbb90386cac06fcdc6feaae Mon Sep 17 00:00:00 2001 From: zorkow Date: Tue, 12 Apr 2022 22:44:32 +0200 Subject: [PATCH 077/118] Components loading for web works. --- components/src/a11y/sre/sre.js | 43 +++++++++++++++++++++--------- ts/a11y/mathmaps.ts | 11 +------- ts/a11y/sre.ts | 48 +++++++--------------------------- 3 files changed, 41 insertions(+), 61 deletions(-) diff --git a/components/src/a11y/sre/sre.js b/components/src/a11y/sre/sre.js index 5bf18d7e2..6c4eda474 100644 --- a/components/src/a11y/sre/sre.js +++ b/components/src/a11y/sre/sre.js @@ -2,17 +2,34 @@ import './lib/sre.js'; import {Package} from '../../../../js/components/package.js'; -// if (MathJax.startup) { -// console.log('Bundled Path!'); -// let path = Package.resolvePath('[sre]', false) + '/mathmaps'; -// console.log(path); -// if (typeof window !== 'undefined') { -// console.log(2); -// window.SREfeature = {json: path}; -// } else { -// console.log(3); -// // TODO: This is does not yet work correctly! -// global.SREfeature = {json: path}; -// } -// } +import Sre from '../../../../js/a11y/sre.js'; +import MathMaps from '../../../../js/a11y/mathmaps.js'; +import base from 'speech-rule-engine/lib/mathmaps/base.json'; +import en from 'speech-rule-engine/lib/mathmaps/en.json'; +import nemeth from 'speech-rule-engine/lib/mathmaps/nemeth.json'; +MathMaps['base'] = base; +MathMaps['en'] = en; +MathMaps['nemeth'] = nemeth; + + +// This sets up the correct link to the mathmaps files. +// +// We could also use a custom method for loading locales that are webpacked into +// the distribution. +if (MathJax.startup) { + + const path = Package.resolvePath('[sre]', false) + '/mathmaps'; + + if (typeof window !== 'undefined') { + window.SREfeature = {json: path, + custom: (loc) => Sre.preloadLocales(loc) + }; + } else { + // TODO: This is does not yet work correctly! + global.SREfeature = {json: path, + // delay: true, + custom: (loc) => Sre.preloadLocales(loc) + }; + } +} diff --git a/ts/a11y/mathmaps.ts b/ts/a11y/mathmaps.ts index 8968bc72f..10b1e281d 100644 --- a/ts/a11y/mathmaps.ts +++ b/ts/a11y/mathmaps.ts @@ -22,15 +22,6 @@ * @author v.sorge@mathjax.org (Volker Sorge) */ -import base from 'speech-rule-engine/lib/mathmaps/base.json'; -import en from 'speech-rule-engine/lib/mathmaps/en.json'; -import nemeth from 'speech-rule-engine/lib/mathmaps/nemeth.json'; - -const MathMaps: {[locale: string]: {[path: string]: any}} = { - base: base, - en: en, - nemeth: nemeth -} - +const MathMaps: {[locale: string]: {[path: string]: any}} = {} export default MathMaps; diff --git a/ts/a11y/sre.ts b/ts/a11y/sre.ts index c48feb96e..020b3e173 100644 --- a/ts/a11y/sre.ts +++ b/ts/a11y/sre.ts @@ -22,18 +22,6 @@ * @author v.sorge@mathjax.org (Volker Sorge) */ -import {Package} from '../components/package.js'; -import {MathJax as MJGlobal} from '../components/global.js'; -import MathMaps from './mathmaps.js'; - -declare namespace window { - let SREfeature: {[key: string]: any}; -} - -declare namespace global { - let SREfeature: {[key: string]: any}; -} - import * as Api from 'speech-rule-engine/js/common/system.js'; import {Walker} from 'speech-rule-engine/js/walker/walker.js'; import * as WalkerFactory from 'speech-rule-engine/js/walker/walker_factory.js'; @@ -44,6 +32,7 @@ import {Highlighter} from 'speech-rule-engine/js/highlighter/highlighter.js'; import * as HighlighterFactory from 'speech-rule-engine/js/highlighter/highlighter_factory.js'; import {SpeechGenerator} from 'speech-rule-engine/js/speech_generator/speech_generator.js'; import {Variables} from 'speech-rule-engine/js/common/variables.js'; +import MathMaps from './mathmaps.js'; export namespace Sre { @@ -76,34 +65,17 @@ export namespace Sre { return EngineConst.DOMAIN_TO_STYLES['clearspeak']; }; -} - + /** + * Loads locales that are already included in the imported MathMaps. Defaults + * to standard loading if a locale is not yet preloaded. + */ + export const preloadLocales = async function(locale: string) { + const json = MathMaps[locale]; + return json ? new Promise((res, _rej) => res(JSON.stringify(json))) : + Api.localeLoader()(locale); + }; -/** - * Loads locales that are already included in the imported MathMaps. - */ -const loadPreloadedLocales = async function(locale: string) { - let json = MathMaps[locale]; - return json ? new Promise((res, _rej) => res(JSON.stringify(json))) : Api.localeLoader()(locale); -}; - -// This sets up the correct link to the mathmaps files. -// -// We could also use a custom method for loading locales that are webpacked into -// the distribution. -if (typeof window !== 'undefined') { - window.SREfeature = {json: Package.resolvePath('[sre]', false) + '/mathmaps', - // delay: true, - custom: (loc: string) => loadPreloadedLocales(loc) - }; -} else { - // TODO: This is does not yet work correctly! - global.SREfeature = {json: MJGlobal.config.loader.paths.mathjax + '/sre/mathmaps', - delay: true, - custom: (loc: string) => loadPreloadedLocales(loc) - }; } - export default Sre; From c57d004929ccbe98ee2f4e482c93d6587e814507 Mon Sep 17 00:00:00 2001 From: zorkow Date: Wed, 13 Apr 2022 11:26:29 +0200 Subject: [PATCH 078/118] Using maps. --- components/src/a11y/sre/sre.js | 7 +++---- ts/a11y/mathmaps.ts | 2 +- ts/a11y/sre.ts | 2 +- 3 files changed, 5 insertions(+), 6 deletions(-) diff --git a/components/src/a11y/sre/sre.js b/components/src/a11y/sre/sre.js index 6c4eda474..21ec65e75 100644 --- a/components/src/a11y/sre/sre.js +++ b/components/src/a11y/sre/sre.js @@ -8,10 +8,9 @@ import base from 'speech-rule-engine/lib/mathmaps/base.json'; import en from 'speech-rule-engine/lib/mathmaps/en.json'; import nemeth from 'speech-rule-engine/lib/mathmaps/nemeth.json'; -MathMaps['base'] = base; -MathMaps['en'] = en; -MathMaps['nemeth'] = nemeth; - +MathMaps.set('base', base); +MathMaps.set('en', en); +MathMaps.set('nemeth', nemeth); // This sets up the correct link to the mathmaps files. // diff --git a/ts/a11y/mathmaps.ts b/ts/a11y/mathmaps.ts index 10b1e281d..f9562e7fd 100644 --- a/ts/a11y/mathmaps.ts +++ b/ts/a11y/mathmaps.ts @@ -22,6 +22,6 @@ * @author v.sorge@mathjax.org (Volker Sorge) */ -const MathMaps: {[locale: string]: {[path: string]: any}} = {} +const MathMaps: Map = new Map(); export default MathMaps; diff --git a/ts/a11y/sre.ts b/ts/a11y/sre.ts index 020b3e173..5d078dd08 100644 --- a/ts/a11y/sre.ts +++ b/ts/a11y/sre.ts @@ -70,7 +70,7 @@ export namespace Sre { * to standard loading if a locale is not yet preloaded. */ export const preloadLocales = async function(locale: string) { - const json = MathMaps[locale]; + const json = MathMaps.get(locale); return json ? new Promise((res, _rej) => res(JSON.stringify(json))) : Api.localeLoader()(locale); }; From 15821166c24230db01b2ec0524e8feded7feb592 Mon Sep 17 00:00:00 2001 From: zorkow Date: Wed, 13 Apr 2022 13:23:59 +0200 Subject: [PATCH 079/118] Moves preloading of locales from sre to a example combined component --- components/src/a11y/sre/sre.js | 8 -------- .../src/tex-chtml-full-speech/preload.js | 9 +++++++++ .../tex-chtml-full-speech.js | 19 +++++++++++++++++++ .../tex-chtml-full-speech/webpack.config.js | 9 +++++++++ 4 files changed, 37 insertions(+), 8 deletions(-) create mode 100644 components/src/tex-chtml-full-speech/preload.js create mode 100644 components/src/tex-chtml-full-speech/tex-chtml-full-speech.js create mode 100644 components/src/tex-chtml-full-speech/webpack.config.js diff --git a/components/src/a11y/sre/sre.js b/components/src/a11y/sre/sre.js index 21ec65e75..7fe066d1b 100644 --- a/components/src/a11y/sre/sre.js +++ b/components/src/a11y/sre/sre.js @@ -3,14 +3,6 @@ import './lib/sre.js'; import {Package} from '../../../../js/components/package.js'; import Sre from '../../../../js/a11y/sre.js'; -import MathMaps from '../../../../js/a11y/mathmaps.js'; -import base from 'speech-rule-engine/lib/mathmaps/base.json'; -import en from 'speech-rule-engine/lib/mathmaps/en.json'; -import nemeth from 'speech-rule-engine/lib/mathmaps/nemeth.json'; - -MathMaps.set('base', base); -MathMaps.set('en', en); -MathMaps.set('nemeth', nemeth); // This sets up the correct link to the mathmaps files. // diff --git a/components/src/tex-chtml-full-speech/preload.js b/components/src/tex-chtml-full-speech/preload.js new file mode 100644 index 000000000..8957d1b09 --- /dev/null +++ b/components/src/tex-chtml-full-speech/preload.js @@ -0,0 +1,9 @@ +import {Loader} from '../../../js/components/loader.js'; + +Loader.preLoad( + 'loader', 'startup', + 'core', + 'input/tex-full', + 'output/chtml', 'output/chtml/fonts/tex.js', + 'ui/menu', 'a11y/assistive-mml', 'a11y/sre' +); diff --git a/components/src/tex-chtml-full-speech/tex-chtml-full-speech.js b/components/src/tex-chtml-full-speech/tex-chtml-full-speech.js new file mode 100644 index 000000000..1af76d25f --- /dev/null +++ b/components/src/tex-chtml-full-speech/tex-chtml-full-speech.js @@ -0,0 +1,19 @@ +import '../startup/init.js'; +import './preload.js'; +import '../core/core.js'; +import '../input/tex-full/tex-full.js'; +import '../output/chtml/chtml.js'; +import '../output/chtml/fonts/tex/tex.js'; +import '../ui/menu/menu.js'; +import '../a11y/assistive-mml/assistive-mml.js'; +import '../a11y/sre/sre.js'; +import MathMaps from '../../../js/a11y/mathmaps.js'; +import base from 'speech-rule-engine/lib/mathmaps/base.json'; +import en from 'speech-rule-engine/lib/mathmaps/en.json'; +import nemeth from 'speech-rule-engine/lib/mathmaps/nemeth.json'; + +MathMaps.set('base', base); +MathMaps.set('en', en); +MathMaps.set('nemeth', nemeth); + +import '../startup/startup.js'; diff --git a/components/src/tex-chtml-full-speech/webpack.config.js b/components/src/tex-chtml-full-speech/webpack.config.js new file mode 100644 index 000000000..1c12fdedd --- /dev/null +++ b/components/src/tex-chtml-full-speech/webpack.config.js @@ -0,0 +1,9 @@ +const PACKAGE = require('../../webpack.common.js'); + +module.exports = PACKAGE( + 'tex-chtml-full-speech', // the package to build + '../../../js', // location of the MathJax js library + [ // packages to link to + ], + __dirname // our directory +); From dbf22bf3e7980b262fbdbd45128db61771925c78 Mon Sep 17 00:00:00 2001 From: "Davide P. Cervone" Date: Tue, 19 Apr 2022 10:50:43 -0400 Subject: [PATCH 080/118] Prevent CHTML adaptice CSS from adding character CSS multiple times --- ts/output/chtml/Usage.ts | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/ts/output/chtml/Usage.ts b/ts/output/chtml/Usage.ts index 3f53a6e26..1a4cc92b5 100644 --- a/ts/output/chtml/Usage.ts +++ b/ts/output/chtml/Usage.ts @@ -23,14 +23,13 @@ /** * Class used for tracking usage of font characters or wrappers - * (should extend Set, but that doesn't work for compiling to ES2015). */ export class Usage { /** * The used items. */ - protected used: Set = new Set(); + protected used: Set = new Set(); /** * The items marked as used since last update. @@ -41,10 +40,11 @@ export class Usage { * @param {T} item The item that has been used */ public add(item: T) { - if (!this.used.has(item)) { + const name = JSON.stringify(item); + if (!this.used.has(name)) { this.needsUpdate.push(item); } - this.used.add(item); + this.used.add(name); } /** @@ -52,7 +52,7 @@ export class Usage { * @return {boolean} True if the item has been used */ public has(item: T): boolean { - return this.used.has(item); + return this.used.has(JSON.stringify(item)); } /** From 292bd0e31d0849395776aac85c0cfe8e136e4e93 Mon Sep 17 00:00:00 2001 From: "Davide P. Cervone" Date: Tue, 19 Apr 2022 18:11:55 -0400 Subject: [PATCH 081/118] Include CSS to reset border-collapse in CHTML output. (mathjax/MathJax#2861) --- ts/output/chtml/Wrappers/math.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/ts/output/chtml/Wrappers/math.ts b/ts/output/chtml/Wrappers/math.ts index 5f44937f8..7f9465ec0 100644 --- a/ts/output/chtml/Wrappers/math.ts +++ b/ts/output/chtml/Wrappers/math.ts @@ -57,6 +57,7 @@ CommonMathMixin>(CHTMLWrapper) { 'font-size': '100%', 'font-size-adjust': 'none', 'letter-spacing': 'normal', + 'border-collapse': 'collapse', 'word-wrap': 'normal', 'word-spacing': 'normal', 'white-space': 'nowrap', From 2923a935781584e9ab9763cfd8461d651b820819 Mon Sep 17 00:00:00 2001 From: "Davide P. Cervone" Date: Wed, 16 Feb 2022 16:14:31 -0500 Subject: [PATCH 082/118] Refactor usage of all packages to reduce redundant code --- components/src/dependencies.js | 37 +++---------------- components/src/input/tex-full/tex-full.js | 18 ++++----- .../extensions/all-packages/all-packages.js | 14 ++----- components/src/input/tex/register.js | 9 +++-- 4 files changed, 21 insertions(+), 57 deletions(-) diff --git a/components/src/dependencies.js b/components/src/dependencies.js index f9be6f93e..0bf5054a3 100644 --- a/components/src/dependencies.js +++ b/components/src/dependencies.js @@ -61,38 +61,11 @@ export const paths = { sre: '[mathjax]/sre/' + (typeof window === 'undefined' ? 'sre-node' : 'sre_browser') }; -const allPackages = [ - '[tex]/action', - '[tex]/ams', - '[tex]/amscd', - '[tex]/bbox', - '[tex]/boldsymbol', - '[tex]/braket', - '[tex]/bussproofs', - '[tex]/cancel', - '[tex]/centernot', - '[tex]/color', - '[tex]/colortbl', - '[tex]/configmacros', - '[tex]/enclose', - '[tex]/extpfeil', - '[tex]/html', - '[tex]/mathtools', - '[tex]/mhchem', - '[tex]/newcommand', - '[tex]/noerrors', - '[tex]/noundefined', - '[tex]/physics', - '[tex]/require', - '[tex]/setoptions', - '[tex]/tagformat', - '[tex]/textcomp', - '[tex]/textmacros', - '[tex]/unicode', - '[tex]/verb', - '[tex]/cases', - '[tex]/empheq' -]; +const allPackages = Array.from(Object.keys(dependencies)) + .filter(name => name.substr(0,5) === '[tex]' && + name !== '[tex]/autoload' && + name !== '[tex]/colorv2' && + name !== '[tex]/all-packages'); export const provides = { 'startup': ['loader'], diff --git a/components/src/input/tex-full/tex-full.js b/components/src/input/tex-full/tex-full.js index 5a5ebd06d..af10939e1 100644 --- a/components/src/input/tex-full/tex-full.js +++ b/components/src/input/tex-full/tex-full.js @@ -1,14 +1,12 @@ import './lib/tex-full.js'; - +import '../tex/extensions/all-packages/all-packages.js'; import {registerTeX} from '../tex/register.js'; -import {Loader} from '../../../../js/components/loader.js'; -import {AllPackages} from '../../../../js/input/tex/AllPackages.js'; -import '../../../../js/input/tex/require/RequireConfiguration.js'; -Loader.preLoad( - 'input/tex-base', - '[tex]/all-packages', - '[tex]/require' -); +if (MathJax.loader) { + MathJax.loader.preLoad( + 'input/tex-base', + '[tex]/all-packages' + ); +} -registerTeX(['require',...AllPackages]); +registerTeX(); diff --git a/components/src/input/tex/extensions/all-packages/all-packages.js b/components/src/input/tex/extensions/all-packages/all-packages.js index aada51062..982db5caf 100644 --- a/components/src/input/tex/extensions/all-packages/all-packages.js +++ b/components/src/input/tex/extensions/all-packages/all-packages.js @@ -3,18 +3,10 @@ import './lib/all-packages.js'; import {AllPackages} from '../../../../../../js/input/tex/AllPackages.js'; import '../../../../../../js/input/tex/autoload/AutoloadConfiguration.js'; import '../../../../../../js/input/tex/require/RequireConfiguration.js'; -import {insert} from '../../../../../../js/util/Options.js'; +import {registerTeX} from '../../register.js'; if (MathJax.loader) { MathJax.loader.preLoad('[tex]/autoload', '[tex]/require'); } -if (MathJax.startup) { - if (!MathJax.config.tex) { - MathJax.config.tex = {}; - } - let packages = MathJax.config.tex.packages; - MathJax.config.tex.packages = ['autoload', 'require', ...AllPackages]; - if (packages) { - insert(MathJax.config.tex, {packages}); - } -} + +registerTeX(['require', ...AllPackages], false); diff --git a/components/src/input/tex/register.js b/components/src/input/tex/register.js index 81a0bc043..32a298277 100644 --- a/components/src/input/tex/register.js +++ b/components/src/input/tex/register.js @@ -1,10 +1,11 @@ -import {TeX} from '../../../../js/input/tex.js'; import {insert} from '../../../../js/util/Options.js'; -export function registerTeX(packageList) { +export function registerTeX(packageList = [], tex = true) { if (MathJax.startup) { - MathJax.startup.registerConstructor('tex', TeX); - MathJax.startup.useInput('tex'); + if (tex) { + MathJax.startup.registerConstructor('tex', MathJax._.input.tex_ts.TeX); + MathJax.startup.useInput('tex'); + } if (!MathJax.config.tex) { MathJax.config.tex = {}; } From 2cd7f7cc8d8b60bfb940938fb014e04be404fb01 Mon Sep 17 00:00:00 2001 From: "Davide P. Cervone" Date: Wed, 23 Feb 2022 12:49:22 -0500 Subject: [PATCH 083/118] Update \operatorname to work more like in LaTeX. (mathjax/MathJax#2830) --- ts/input/tex/ParseMethods.ts | 7 ++-- ts/input/tex/StackItem.ts | 2 +- ts/input/tex/ams/AmsConfiguration.ts | 1 + ts/input/tex/ams/AmsMappings.ts | 5 ++- ts/input/tex/ams/AmsMethods.ts | 56 ++++++++++++++++++---------- ts/input/tex/base/BaseMethods.ts | 3 +- 6 files changed, 49 insertions(+), 25 deletions(-) diff --git a/ts/input/tex/ParseMethods.ts b/ts/input/tex/ParseMethods.ts index ec87d6b57..1055e371b 100644 --- a/ts/input/tex/ParseMethods.ts +++ b/ts/input/tex/ParseMethods.ts @@ -40,10 +40,11 @@ namespace ParseMethods { export function variable(parser: TexParser, c: string) { // @test Identifier Font const def = ParseUtil.getFontDef(parser); - if (parser.stack.env.multiLetterIdentifiers && parser.stack.env.font !== '') { - c = parser.string.substr(parser.i - 1).match(/^[a-z]+/i)[0]; + const env = parser.stack.env; + if (env.multiLetterIdentifiers && env.font !== '') { + c = parser.string.substr(parser.i - 1).match(env.multiLetterIdentifiers as RegExp)[0]; parser.i += c.length - 1; - if (def.mathvariant === TexConstant.Variant.NORMAL) { + if (def.mathvariant === TexConstant.Variant.NORMAL && env.noAutoOP && c.length > 1) { def.autoOP = false; } } diff --git a/ts/input/tex/StackItem.ts b/ts/input/tex/StackItem.ts index f6d01417c..2175f9d4b 100644 --- a/ts/input/tex/StackItem.ts +++ b/ts/input/tex/StackItem.ts @@ -28,7 +28,7 @@ import TexError from './TexError.js'; import StackItemFactory from './StackItemFactory.js'; // Union types for abbreviation. -export type EnvProp = string | number | boolean; +export type EnvProp = string | number | boolean | RegExp; export type EnvList = {[key: string]: EnvProp}; diff --git a/ts/input/tex/ams/AmsConfiguration.ts b/ts/input/tex/ams/AmsConfiguration.ts index 0fd4f7ce2..31d2c3d41 100644 --- a/ts/input/tex/ams/AmsConfiguration.ts +++ b/ts/input/tex/ams/AmsConfiguration.ts @@ -51,6 +51,7 @@ let init = function(config: ParserConfiguration) { export const AmsConfiguration = Configuration.create( 'ams', { handler: { + character: ['AMSmath-operatorLetter'], delimiter: ['AMSsymbols-delimiter', 'AMSmath-delimiter'], macro: ['AMSsymbols-mathchar0mi', 'AMSsymbols-mathchar0mo', 'AMSsymbols-delimiter', 'AMSsymbols-macros', diff --git a/ts/input/tex/ams/AmsMappings.ts b/ts/input/tex/ams/AmsMappings.ts index ee6c5b257..157c58fd2 100644 --- a/ts/input/tex/ams/AmsMappings.ts +++ b/ts/input/tex/ams/AmsMappings.ts @@ -39,6 +39,10 @@ new sm.CharacterMap('AMSmath-mathchar0mo', ParseMethods.mathchar0mo, { iiiint: ['\u2A0C', {texClass: TEXCLASS.OP}] }); +/** + * Extra characters that are letters in \operatorname + */ +new sm.RegExpMap('AMSmath-operatorLetter', AmsMethods.operatorLetter, /[-*]/i); /** * Macros from the AMS Math package. @@ -73,7 +77,6 @@ new sm.CommandMap('AMSmath-macros', { DeclareMathOperator: 'HandleDeclareOp', operatorname: 'HandleOperatorName', - SkipLimits: 'SkipLimits', genfrac: 'Genfrac', frac: ['Genfrac', '', '', '', ''], diff --git a/ts/input/tex/ams/AmsMethods.ts b/ts/input/tex/ams/AmsMethods.ts index ad16c0cf4..5e387e7f4 100644 --- a/ts/input/tex/ams/AmsMethods.ts +++ b/ts/input/tex/ams/AmsMethods.ts @@ -26,6 +26,7 @@ import {StackItem} from '../StackItem.js'; import {ParseMethod} from '../Types.js'; import ParseUtil from '../ParseUtil.js'; +import ParseMethods from '../ParseMethods.js'; import NodeUtil from '../NodeUtil.js'; import {TexConstant} from '../TexConstants.js'; import TexParser from '../TexParser.js'; @@ -203,17 +204,14 @@ export const NEW_OPS = 'ams-declare-ops'; * @param {string} name The macro name. */ AmsMethods.HandleDeclareOp = function (parser: TexParser, name: string) { - let limits = (parser.GetStar() ? '' : '\\nolimits\\SkipLimits'); + let star = (parser.GetStar() ? '*' : ''); let cs = ParseUtil.trimSpaces(parser.GetArgument(name)); if (cs.charAt(0) === '\\') { cs = cs.substr(1); } let op = parser.GetArgument(name); - if (!op.match(/\\text/)) { - op = op.replace(/\*/g, '\\text{*}').replace(/-/g, '\\text{-}'); - } (parser.configuration.handlers.retrieve(NEW_OPS) as CommandMap). - add(cs, new Macro(cs, AmsMethods.Macro, ['\\mathop{\\rm ' + op + '}' + limits])); + add(cs, new Macro(cs, AmsMethods.Macro, [`\\operatorname${star}{${op}}`])); }; @@ -224,14 +222,38 @@ AmsMethods.HandleDeclareOp = function (parser: TexParser, name: string) { */ AmsMethods.HandleOperatorName = function(parser: TexParser, name: string) { // @test Operatorname - const limits = (parser.GetStar() ? '' : '\\nolimits\\SkipLimits'); + const star = parser.GetStar(); + // + // Parse the argument using operator letters and grouping multiple letters. + // let op = ParseUtil.trimSpaces(parser.GetArgument(name)); - if (!op.match(/\\text/)) { - op = op.replace(/\*/g, '\\text{*}').replace(/-/g, '\\text{-}'); + let mml = new TexParser(op, { + ...parser.stack.env, + font: TexConstant.Variant.NORMAL, + multiLetterIdentifiers: /^[-*a-z]+/i, + operatorLetters: true + }, parser.configuration).mml(); + // + // If we get something other than a single mi, wrap in a TeXAtom. + // + if (!mml.isKind('mi')) { + mml = parser.create('node', 'TeXAtom', [mml]); } - parser.string = '\\mathop{\\rm ' + op + '}' + limits + ' ' + - parser.string.slice(parser.i); - parser.i = 0; + // + // Mark the limit properties and the TeX class. + // + NodeUtil.setProperties(mml, {movesupsub: star, movablelimits: true, texClass: TEXCLASS.OP}); + // + // Skip a following \limits macro if not a starred operator + // + if (!star) { + const c = parser.GetNext(), i = parser.i; + if (c === '\\' && ++parser.i && parser.GetCS() !== 'limits') { + parser.i = i; + } + } + // + parser.Push(mml); }; /** @@ -341,16 +363,12 @@ function checkSideSetBase(mml: MmlNode): boolean { /** - * Handle SkipLimits. + * Handle extra letters in \operatorname (- and *), default to normal otherwise. * @param {TexParser} parser The calling parser. - * @param {string} name The macro name. + * @param {string} c The letter being checked */ -AmsMethods.SkipLimits = function(parser: TexParser, _name: string) { - // @test Operatorname - const c = parser.GetNext(), i = parser.i; - if (c === '\\' && ++parser.i && parser.GetCS() !== 'limits') { - parser.i = i; - } +AmsMethods.operatorLetter = function (parser: TexParser, c: string) { + return parser.stack.env.operatorLetters ? ParseMethods.variable(parser, c) : false; }; diff --git a/ts/input/tex/base/BaseMethods.ts b/ts/input/tex/base/BaseMethods.ts index cf629cdb6..e8e93d70b 100644 --- a/ts/input/tex/base/BaseMethods.ts +++ b/ts/input/tex/base/BaseMethods.ts @@ -282,7 +282,8 @@ BaseMethods.MathFont = function(parser: TexParser, name: string, variant: string let mml = new TexParser(text, { ...parser.stack.env, font: variant, - multiLetterIdentifiers: true + multiLetterIdentifiers: /^[a-z]+/i, + noAutoOP: true }, parser.configuration).mml(); parser.Push(parser.create('node', 'TeXAtom', [mml])); }; From ad925670b70392f4f85f02cc449f8c86c04c6c47 Mon Sep 17 00:00:00 2001 From: "Davide P. Cervone" Date: Mon, 18 Apr 2022 17:49:20 -0400 Subject: [PATCH 084/118] Spell out regular expression, as per Volker's request --- ts/input/tex/base/BaseMethods.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ts/input/tex/base/BaseMethods.ts b/ts/input/tex/base/BaseMethods.ts index e8e93d70b..a92a092e4 100644 --- a/ts/input/tex/base/BaseMethods.ts +++ b/ts/input/tex/base/BaseMethods.ts @@ -282,7 +282,7 @@ BaseMethods.MathFont = function(parser: TexParser, name: string, variant: string let mml = new TexParser(text, { ...parser.stack.env, font: variant, - multiLetterIdentifiers: /^[a-z]+/i, + multiLetterIdentifiers: /^[a-zA-Z]+/, noAutoOP: true }, parser.configuration).mml(); parser.Push(parser.create('node', 'TeXAtom', [mml])); From d671f3ef7d1258c87f61153d6183022dc4e99394 Mon Sep 17 00:00:00 2001 From: "Davide P. Cervone" Date: Wed, 20 Apr 2022 11:44:40 -0400 Subject: [PATCH 085/118] Remove RegExp from EnvProps, and use any type when passing RegExps to avoid type errors when EnvProprs are used in setAttribute, etc. --- ts/input/tex/ParseMethods.ts | 2 +- ts/input/tex/StackItem.ts | 2 +- ts/input/tex/ams/AmsMethods.ts | 2 +- ts/input/tex/base/BaseMethods.ts | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/ts/input/tex/ParseMethods.ts b/ts/input/tex/ParseMethods.ts index 1055e371b..c2b12dc6c 100644 --- a/ts/input/tex/ParseMethods.ts +++ b/ts/input/tex/ParseMethods.ts @@ -42,7 +42,7 @@ namespace ParseMethods { const def = ParseUtil.getFontDef(parser); const env = parser.stack.env; if (env.multiLetterIdentifiers && env.font !== '') { - c = parser.string.substr(parser.i - 1).match(env.multiLetterIdentifiers as RegExp)[0]; + c = parser.string.substr(parser.i - 1).match(env.multiLetterIdentifiers as any as RegExp)[0]; parser.i += c.length - 1; if (def.mathvariant === TexConstant.Variant.NORMAL && env.noAutoOP && c.length > 1) { def.autoOP = false; diff --git a/ts/input/tex/StackItem.ts b/ts/input/tex/StackItem.ts index 2175f9d4b..f6d01417c 100644 --- a/ts/input/tex/StackItem.ts +++ b/ts/input/tex/StackItem.ts @@ -28,7 +28,7 @@ import TexError from './TexError.js'; import StackItemFactory from './StackItemFactory.js'; // Union types for abbreviation. -export type EnvProp = string | number | boolean | RegExp; +export type EnvProp = string | number | boolean; export type EnvList = {[key: string]: EnvProp}; diff --git a/ts/input/tex/ams/AmsMethods.ts b/ts/input/tex/ams/AmsMethods.ts index 5e387e7f4..9348d6bba 100644 --- a/ts/input/tex/ams/AmsMethods.ts +++ b/ts/input/tex/ams/AmsMethods.ts @@ -230,7 +230,7 @@ AmsMethods.HandleOperatorName = function(parser: TexParser, name: string) { let mml = new TexParser(op, { ...parser.stack.env, font: TexConstant.Variant.NORMAL, - multiLetterIdentifiers: /^[-*a-z]+/i, + multiLetterIdentifiers: /^[-*a-z]+/i as any, operatorLetters: true }, parser.configuration).mml(); // diff --git a/ts/input/tex/base/BaseMethods.ts b/ts/input/tex/base/BaseMethods.ts index a92a092e4..54799e272 100644 --- a/ts/input/tex/base/BaseMethods.ts +++ b/ts/input/tex/base/BaseMethods.ts @@ -282,7 +282,7 @@ BaseMethods.MathFont = function(parser: TexParser, name: string, variant: string let mml = new TexParser(text, { ...parser.stack.env, font: variant, - multiLetterIdentifiers: /^[a-zA-Z]+/, + multiLetterIdentifiers: /^[a-zA-Z]+/ as any, noAutoOP: true }, parser.configuration).mml(); parser.Push(parser.create('node', 'TeXAtom', [mml])); From 503a28b87e212b5bd3aca1f7aa36ae25e9b3049f Mon Sep 17 00:00:00 2001 From: "Davide P. Cervone" Date: Wed, 20 Apr 2022 11:15:22 -0400 Subject: [PATCH 086/118] Update svg output to properly handle token elements with multiple child nodes. (mathjax/MathJax#2836) --- ts/output/chtml/Wrappers/TextNode.ts | 1 + ts/output/svg/Wrappers/TextNode.ts | 7 +++++-- ts/output/svg/Wrappers/mtext.ts | 2 +- 3 files changed, 7 insertions(+), 3 deletions(-) diff --git a/ts/output/chtml/Wrappers/TextNode.ts b/ts/output/chtml/Wrappers/TextNode.ts index 603849374..41aa39f94 100644 --- a/ts/output/chtml/Wrappers/TextNode.ts +++ b/ts/output/chtml/Wrappers/TextNode.ts @@ -69,6 +69,7 @@ CommonTextNodeMixin>(CHTMLWrapper) { const adaptor = this.adaptor; const variant = this.parent.variant; const text = (this.node as TextNode).getText(); + if (text.length === 0) return; if (variant === '-explicitFont') { adaptor.append(parent, this.jax.unknownText(text, variant, this.getBBox().w)); } else { diff --git a/ts/output/svg/Wrappers/TextNode.ts b/ts/output/svg/Wrappers/TextNode.ts index 01c2755db..3b94b63a8 100644 --- a/ts/output/svg/Wrappers/TextNode.ts +++ b/ts/output/svg/Wrappers/TextNode.ts @@ -58,16 +58,19 @@ CommonTextNodeMixin>(SVGWrapper) { public toSVG(parent: N) { const text = (this.node as TextNode).getText(); const variant = this.parent.variant; + if (text.length === 0) return; if (variant === '-explicitFont') { - this.adaptor.append(parent, this.jax.unknownText(text, variant)); + this.element = this.adaptor.append(parent, this.jax.unknownText(text, variant)); } else { const chars = this.remappedText(text, variant); + if (this.parent.childNodes.length > 1) { + parent = this.element = this.adaptor.append(parent, this.svg('g', {'data-mml-node': 'text'})); + } let x = 0; for (const n of chars) { x += this.placeChar(n, x, 0, parent, variant); } } - this.element = this.adaptor.lastChild(parent); } } diff --git a/ts/output/svg/Wrappers/mtext.ts b/ts/output/svg/Wrappers/mtext.ts index 0bca1523a..e1fe6253f 100644 --- a/ts/output/svg/Wrappers/mtext.ts +++ b/ts/output/svg/Wrappers/mtext.ts @@ -38,7 +38,7 @@ export class SVGmtext extends CommonMtextMixin>(SVGWrapper) { /** - * The mtet wrapper + * The mtext wrapper */ public static kind = MmlMtext.prototype.kind; From 5f6cc8a78092f6b7b0849deb0e57002a61e7953d Mon Sep 17 00:00:00 2001 From: "Davide P. Cervone" Date: Thu, 21 Apr 2022 08:24:59 -0400 Subject: [PATCH 087/118] Handle border and padding CSS in CHTML and SVG output --- ts/output/chtml/Wrappers/math.ts | 2 +- ts/output/chtml/Wrappers/msqrt.ts | 2 +- ts/output/chtml/Wrappers/munderover.ts | 14 +-- ts/output/common/OutputJax.ts | 2 +- ts/output/common/Wrapper.ts | 24 ++++- ts/output/common/Wrappers/maction.ts | 2 +- ts/output/common/Wrappers/mfenced.ts | 2 +- ts/output/common/Wrappers/mfrac.ts | 16 +-- ts/output/common/Wrappers/mmultiscripts.ts | 2 +- ts/output/common/Wrappers/mroot.ts | 4 +- ts/output/common/Wrappers/mrow.ts | 2 +- ts/output/common/Wrappers/msqrt.ts | 4 +- ts/output/common/Wrappers/msubsup.ts | 10 +- ts/output/common/Wrappers/munderover.ts | 14 +-- ts/output/common/Wrappers/scriptbase.ts | 24 ++--- ts/output/svg.ts | 2 +- ts/output/svg/Wrapper.ts | 119 ++++++++++++++++++++- ts/output/svg/Wrappers/math.ts | 2 +- ts/output/svg/Wrappers/mfrac.ts | 10 +- ts/output/svg/Wrappers/mmultiscripts.ts | 4 +- ts/output/svg/Wrappers/mroot.ts | 2 +- ts/output/svg/Wrappers/msqrt.ts | 2 +- ts/output/svg/Wrappers/munderover.ts | 6 +- ts/util/BBox.ts | 28 ++--- 24 files changed, 215 insertions(+), 84 deletions(-) diff --git a/ts/output/chtml/Wrappers/math.ts b/ts/output/chtml/Wrappers/math.ts index 5f44937f8..7ab6fa160 100644 --- a/ts/output/chtml/Wrappers/math.ts +++ b/ts/output/chtml/Wrappers/math.ts @@ -112,7 +112,7 @@ CommonMathMixin>(CHTMLWrapper) { if (this.bbox.pwidth === BBox.fullWidth) { adaptor.setAttribute(parent, 'width', 'full'); if (this.jax.table) { - let {L, w, R} = this.jax.table.getBBox(); + let {L, w, R} = this.jax.table.getOuterBBox(); if (align === 'right') { R = Math.max(R || -shift, -shift); } else if (align === 'left') { diff --git a/ts/output/chtml/Wrappers/msqrt.ts b/ts/output/chtml/Wrappers/msqrt.ts index 1f85bb175..484d4d778 100644 --- a/ts/output/chtml/Wrappers/msqrt.ts +++ b/ts/output/chtml/Wrappers/msqrt.ts @@ -78,7 +78,7 @@ export class CHTMLmsqrt extends CommonMsqrtMixin, Constructor, Constructor, Constructor(); - let bbox = this.factory.wrap(math.root).getBBox(); + let bbox = this.factory.wrap(math.root).getOuterBBox(); this.nodeMap = null; return bbox; } diff --git a/ts/output/common/Wrapper.ts b/ts/output/common/Wrapper.ts index 72c5493f5..6d93c38d5 100644 --- a/ts/output/common/Wrapper.ts +++ b/ts/output/common/Wrapper.ts @@ -314,6 +314,26 @@ export class CommonWrapper< return bbox; } + /** + * Return the wrapped node's bounding box that includes borders and padding + * + * @param {boolean} save Whether to cache the bbox or not (used for stretchy elements) + * @return {BBox} The computed bounding box + */ + public getOuterBBox(save: boolean = true): BBox { + const bbox = this.getBBox(save); + if (!this.styles) return bbox; + const obox = new BBox(); + Object.assign(obox, bbox); + for (const [name, side] of BBox.StyleAdjust) { + const x = this.styles.get(name); + if (x) { + (obox as any)[side] += this.length2em(this.styles.get(name), 1, obox.rscale); + } + } + return obox; + } + /** * @param {BBox} bbox The bounding box to modify (either this.bbox, or an empty one) * @param {boolean} recompute True if we are recomputing due to changes in children that have percentage widths @@ -321,7 +341,7 @@ export class CommonWrapper< protected computeBBox(bbox: BBox, recompute: boolean = false) { bbox.empty(); for (const child of this.childNodes) { - bbox.append(child.getBBox()); + bbox.append(child.getOuterBBox()); } bbox.clean(); if (this.fixesPWidth && this.setChildPWidths(recompute)) { @@ -348,7 +368,7 @@ export class CommonWrapper< } let changed = false; for (const child of this.childNodes) { - const cbox = child.getBBox(); + const cbox = child.getOuterBBox(); if (cbox.pwidth && child.setChildPWidths(recompute, w === null ? cbox.w : w, clear)) { changed = true; } diff --git a/ts/output/common/Wrappers/maction.ts b/ts/output/common/Wrappers/maction.ts index 913d1d281..8dcc75a8c 100644 --- a/ts/output/common/Wrappers/maction.ts +++ b/ts/output/common/Wrappers/maction.ts @@ -184,7 +184,7 @@ export function CommonMactionMixin< * @override */ public computeBBox(bbox: BBox, recompute: boolean = false) { - bbox.updateFrom(this.selected.getBBox()); + bbox.updateFrom(this.selected.getOuterBBox()); this.selected.setChildPWidths(recompute); } diff --git a/ts/output/common/Wrappers/mfenced.ts b/ts/output/common/Wrappers/mfenced.ts index e4294427d..36a7ad56e 100644 --- a/ts/output/common/Wrappers/mfenced.ts +++ b/ts/output/common/Wrappers/mfenced.ts @@ -135,7 +135,7 @@ export function CommonMfencedMixin(Base: T): Mfenc * @override */ public computeBBox(bbox: BBox, recompute: boolean = false) { - bbox.updateFrom(this.mrow.getBBox()); + bbox.updateFrom(this.mrow.getOuterBBox()); this.setChildPWidths(recompute); } diff --git a/ts/output/common/Wrappers/mfrac.ts b/ts/output/common/Wrappers/mfrac.ts index fde6a0fa4..a4ab0aa21 100644 --- a/ts/output/common/Wrappers/mfrac.ts +++ b/ts/output/common/Wrappers/mfrac.ts @@ -159,8 +159,8 @@ export function CommonMfracMixin(Base: T): MfracCo * @param {number} t The thickness of the line */ public getFractionBBox(bbox: BBox, display: boolean, t: number) { - const nbox = this.childNodes[0].getBBox(); - const dbox = this.childNodes[1].getBBox(); + const nbox = this.childNodes[0].getOuterBBox(); + const dbox = this.childNodes[1].getOuterBBox(); const tex = this.font.params; const a = tex.axis_height; const {T, u, v} = this.getTUV(display, t); @@ -204,8 +204,8 @@ export function CommonMfracMixin(Base: T): MfracCo * the separation between the two, and the bboxes themselves. */ public getUVQ(display: boolean): {u: number, v: number, q: number, nbox: BBox, dbox: BBox} { - const nbox = this.childNodes[0].getBBox() as BBox; - const dbox = this.childNodes[1].getBBox() as BBox; + const nbox = this.childNodes[0].getOuterBBox(); + const dbox = this.childNodes[1].getOuterBBox(); const tex = this.font.params; // // Initial offsets (u, v) @@ -234,7 +234,7 @@ export function CommonMfracMixin(Base: T): MfracCo */ public getBevelledBBox(bbox: BBox, display: boolean) { const {u, v, delta, nbox, dbox} = this.getBevelData(display); - const lbox = this.bevel.getBBox(); + const lbox = this.bevel.getOuterBBox(); bbox.combine(nbox, 0, u); bbox.combine(lbox, bbox.w - delta / 2, 0); bbox.combine(dbox, bbox.w - delta / 2, v); @@ -249,8 +249,8 @@ export function CommonMfracMixin(Base: T): MfracCo public getBevelData(display: boolean): { H: number, delta: number, u: number, v: number, nbox: BBox, dbox: BBox } { - const nbox = this.childNodes[0].getBBox() as BBox; - const dbox = this.childNodes[1].getBBox() as BBox; + const nbox = this.childNodes[0].getOuterBBox(); + const dbox = this.childNodes[1].getOuterBBox(); const delta = (display ? .4 : .15); const H = Math.max(nbox.scale * (nbox.h + nbox.d), dbox.scale * (dbox.h + dbox.d)) + 2 * delta; const a = this.font.params.axis_height; @@ -282,7 +282,7 @@ export function CommonMfracMixin(Base: T): MfracCo public getWrapWidth(i: number) { const attributes = this.node.attributes; if (attributes.get('bevelled')) { - return this.childNodes[i].getBBox().w; + return this.childNodes[i].getOuterBBox().w; } const w = this.getBBox().w; const thickness = this.length2em(attributes.get('linethickness')); diff --git a/ts/output/common/Wrappers/mmultiscripts.ts b/ts/output/common/Wrappers/mmultiscripts.ts index 891865286..4937b8f98 100644 --- a/ts/output/common/Wrappers/mmultiscripts.ts +++ b/ts/output/common/Wrappers/mmultiscripts.ts @@ -254,7 +254,7 @@ export function CommonMmultiscriptsMixin< if (child.node.isKind('mprescripts')) { script = 'psubList'; } else { - lists[script].push(child.getBBox()); + lists[script].push(child.getOuterBBox()); script = NextScript[script]; } } diff --git a/ts/output/common/Wrappers/mroot.ts b/ts/output/common/Wrappers/mroot.ts index 9e5e4df97..635c8e951 100644 --- a/ts/output/common/Wrappers/mroot.ts +++ b/ts/output/common/Wrappers/mroot.ts @@ -66,7 +66,7 @@ export function CommonMrootMixin(Base: T): MrootCons * @override */ public combineRootBBox(BBOX: BBox, sbox: BBox, H: number) { - const bbox = this.childNodes[this.root].getBBox(); + const bbox = this.childNodes[this.root].getOuterBBox(); const h = this.getRootDimens(sbox, H)[1]; BBOX.combine(bbox, 0, h); } @@ -76,7 +76,7 @@ export function CommonMrootMixin(Base: T): MrootCons */ public getRootDimens(sbox: BBox, H: number) { const surd = this.childNodes[this.surd] as CommonMo; - const bbox = this.childNodes[this.root].getBBox(); + const bbox = this.childNodes[this.root].getOuterBBox(); const offset = (surd.size < 0 ? .5 : .6) * sbox.w; const {w, rscale} = bbox; const W = Math.max(w, offset / rscale); diff --git a/ts/output/common/Wrappers/mrow.ts b/ts/output/common/Wrappers/mrow.ts index 0fe436b89..b936fa38b 100644 --- a/ts/output/common/Wrappers/mrow.ts +++ b/ts/output/common/Wrappers/mrow.ts @@ -102,7 +102,7 @@ export function CommonMrowMixin(Base: T): MrowCons for (const child of this.childNodes) { const noStretch = (child.stretch.dir === DIRECTION.None); if (all || noStretch) { - let {h, d, rscale} = child.getBBox(noStretch); + let {h, d, rscale} = child.getOuterBBox(noStretch); h *= rscale; d *= rscale; if (h > H) H = h; diff --git a/ts/output/common/Wrappers/msqrt.ts b/ts/output/common/Wrappers/msqrt.ts index 46c779b77..b53ca81a4 100644 --- a/ts/output/common/Wrappers/msqrt.ts +++ b/ts/output/common/Wrappers/msqrt.ts @@ -125,7 +125,7 @@ export function CommonMsqrtMixin(Base: T): MsqrtCo super(...args); const surd = this.createMo('\u221A'); surd.canStretch(DIRECTION.Vertical); - const {h, d} = this.childNodes[this.base].getBBox(); + const {h, d} = this.childNodes[this.base].getOuterBBox(); const t = this.font.params.rule_thickness; const p = (this.node.attributes.get('displaystyle') ? this.font.params.x_height : t); this.surdH = h + d + 2 * t + p / 4; @@ -146,7 +146,7 @@ export function CommonMsqrtMixin(Base: T): MsqrtCo */ public computeBBox(bbox: BBox, recompute: boolean = false) { const surdbox = this.childNodes[this.surd].getBBox(); - const basebox = new BBox(this.childNodes[this.base].getBBox()); + const basebox = new BBox(this.childNodes[this.base].getOuterBBox()); const q = this.getPQ(surdbox)[1]; const t = this.font.params.rule_thickness; const H = basebox.h + q + t; diff --git a/ts/output/common/Wrappers/msubsup.ts b/ts/output/common/Wrappers/msubsup.ts index 555bbcea9..34f7bbe3a 100644 --- a/ts/output/common/Wrappers/msubsup.ts +++ b/ts/output/common/Wrappers/msubsup.ts @@ -217,8 +217,8 @@ export function CommonMsubsupMixin< * @override */ public computeBBox(bbox: BBox, recompute: boolean = false) { - const basebox = this.baseChild.getBBox(); - const [subbox, supbox] = [this.subChild.getBBox(), this.supChild.getBBox()]; + const basebox = this.baseChild.getOuterBBox(); + const [subbox, supbox] = [this.subChild.getOuterBBox(), this.supChild.getOuterBBox()]; bbox.empty(); bbox.append(basebox); const w = this.getBaseWidth(); @@ -239,10 +239,10 @@ export function CommonMsubsupMixin< * @return {number[]} The vertical offsets for super and subscripts, and the space between them */ public getUVQ( - subbox: BBox = this.subChild.getBBox(), - supbox: BBox = this.supChild.getBBox() + subbox: BBox = this.subChild.getOuterBBox(), + supbox: BBox = this.supChild.getOuterBBox() ): number[] { - const basebox = this.baseCore.getBBox(); + const basebox = this.baseCore.getOuterBBox(); if (this.UVQ) return this.UVQ; const tex = this.font.params; const t = 3 * tex.rule_thickness; diff --git a/ts/output/common/Wrappers/munderover.ts b/ts/output/common/Wrappers/munderover.ts index 86e4ff092..8bb72fa35 100644 --- a/ts/output/common/Wrappers/munderover.ts +++ b/ts/output/common/Wrappers/munderover.ts @@ -82,8 +82,8 @@ export function CommonMunderMixin< return; } bbox.empty(); - const basebox = this.baseChild.getBBox(); - const underbox = this.scriptChild.getBBox(); + const basebox = this.baseChild.getOuterBBox(); + const underbox = this.scriptChild.getOuterBBox(); const v = this.getUnderKV(basebox, underbox)[1]; const delta = (this.isLineBelow ? 0 : this.getDelta(true)); const [bw, uw] = this.getDeltaW([basebox, underbox], [0, -delta]); @@ -153,8 +153,8 @@ export function CommonMoverMixin< return; } bbox.empty(); - const basebox = this.baseChild.getBBox(); - const overbox = this.scriptChild.getBBox(); + const basebox = this.baseChild.getOuterBBox(); + const overbox = this.scriptChild.getOuterBBox(); if (this.node.attributes.get('accent')) { basebox.h = Math.max(basebox.h, this.font.params.x_height * basebox.scale); } @@ -262,9 +262,9 @@ export function CommonMunderoverMixin< return; } bbox.empty(); - const overbox = this.overChild.getBBox(); - const basebox = this.baseChild.getBBox(); - const underbox = this.underChild.getBBox(); + const overbox = this.overChild.getOuterBBox(); + const basebox = this.baseChild.getOuterBBox(); + const underbox = this.underChild.getOuterBBox(); if (this.node.attributes.get('accent')) { basebox.h = Math.max(basebox.h, this.font.params.x_height * basebox.scale); } diff --git a/ts/output/common/Wrappers/scriptbase.ts b/ts/output/common/Wrappers/scriptbase.ts index a59f3f266..7bc015af7 100644 --- a/ts/output/common/Wrappers/scriptbase.ts +++ b/ts/output/common/Wrappers/scriptbase.ts @@ -435,7 +435,7 @@ export function CommonScriptbaseMixin< let child = this.baseCore as any; let scale = 1; while (child && child !== this) { - const bbox = child.getBBox(); + const bbox = child.getOuterBBox(); scale *= bbox.rscale; child = child.parent; } @@ -446,14 +446,14 @@ export function CommonScriptbaseMixin< * The base's italic correction (properly scaled) */ public getBaseIc(): number { - return this.baseCore.getBBox().ic * this.baseScale; + return this.baseCore.getOuterBBox().ic * this.baseScale; } /** * An adjusted italic correction (for slightly better results) */ public getAdjustedIc(): number { - const bbox = this.baseCore.getBBox(); + const bbox = this.baseCore.getOuterBBox(); return (bbox.ic ? 1.05 * bbox.ic + .05 : 0) * this.baseScale; } @@ -501,7 +501,7 @@ export function CommonScriptbaseMixin< * @return {number} The base child's width without the base italic correction (if not needed) */ public getBaseWidth(): number { - const bbox = this.baseChild.getBBox(); + const bbox = this.baseChild.getOuterBBox(); return bbox.w * bbox.rscale - (this.baseRemoveIc ? this.baseIc : 0) + this.font.params.extra_ic; } @@ -514,8 +514,8 @@ export function CommonScriptbaseMixin< public computeBBox(bbox: BBox, recompute: boolean = false) { const w = this.getBaseWidth(); const [x, y] = this.getOffset(); - bbox.append(this.baseChild.getBBox()); - bbox.combine(this.scriptChild.getBBox(), w + x, y); + bbox.append(this.baseChild.getOuterBBox()); + bbox.combine(this.scriptChild.getOuterBBox(), w + x, y); bbox.w += this.font.params.scriptspace; bbox.clean(); this.setChildPWidths(recompute); @@ -546,8 +546,8 @@ export function CommonScriptbaseMixin< * @return {number} The vertical offset for the script */ public getV(): number { - const bbox = this.baseCore.getBBox(); - const sbox = this.scriptChild.getBBox(); + const bbox = this.baseCore.getOuterBBox(); + const sbox = this.scriptChild.getOuterBBox(); const tex = this.font.params; const subscriptshift = this.length2em(this.node.attributes.get('subscriptshift'), tex.sub1); return Math.max( @@ -563,8 +563,8 @@ export function CommonScriptbaseMixin< * @return {number} The vertical offset for the script */ public getU(): number { - const bbox = this.baseCore.getBBox(); - const sbox = this.scriptChild.getBBox(); + const bbox = this.baseCore.getOuterBBox(); + const sbox = this.scriptChild.getOuterBBox(); const tex = this.font.params; const attr = this.node.attributes.getList('displaystyle', 'superscriptshift'); const prime = this.node.getProperty('texprimestyle'); @@ -661,7 +661,7 @@ export function CommonScriptbaseMixin< */ public getDelta(noskew: boolean = false): number { const accent = this.node.attributes.get('accent'); - const {sk, ic} = this.baseCore.getBBox(); + const {sk, ic} = this.baseCore.getOuterBBox(); return ((accent && !noskew ? sk : 0) + this.font.skewIcFactor * ic) * this.baseScale; } @@ -691,7 +691,7 @@ export function CommonScriptbaseMixin< for (const child of this.childNodes) { const noStretch = (child.stretch.dir === DIRECTION.None); if (all || noStretch) { - const {w, rscale} = child.getBBox(noStretch); + const {w, rscale} = child.getOuterBBox(noStretch); if (w * rscale > W) W = w * rscale; } } diff --git a/ts/output/svg.ts b/ts/output/svg.ts index 525cceab4..b9f32e18d 100644 --- a/ts/output/svg.ts +++ b/ts/output/svg.ts @@ -237,7 +237,7 @@ CommonOutputJax, SVGWrapperFactory, SVGFon * @return {[N, N]} The svg and g nodes for the math */ protected createRoot(wrapper: SVGWrapper): [N, N] { - const {w, h, d, pwidth} = wrapper.getBBox(); + const {w, h, d, pwidth} = wrapper.getOuterBBox(); const px = wrapper.metrics.em / 1000; const W = Math.max(w, px); // make sure we are at least one px wide (needed for e.g. \llap) const H = Math.max(h + d, px); // make sure we are at least one px tall (needed for e.g., \smash) diff --git a/ts/output/svg/Wrapper.ts b/ts/output/svg/Wrapper.ts index e6881c128..68b51d35a 100644 --- a/ts/output/svg/Wrapper.ts +++ b/ts/output/svg/Wrapper.ts @@ -22,6 +22,7 @@ */ import {OptionList} from '../../util/Options.js'; +import {BBox} from '../../util/BBox.js'; import {CommonWrapper, AnyWrapperClass, Constructor} from '../common/Wrapper.js'; import {SVG, XLINKNS} from '../svg.js'; import {SVGWrapperFactory} from './WrapperFactory.js'; @@ -70,6 +71,11 @@ CommonWrapper< */ public static kind: string = 'unknown'; + /** + * A fuzz factor for borders to avoid anti-alias problems at the edges + */ + public static borderFuzz = 0.005; + /** * The factory used to create more SVGWrappers */ @@ -89,6 +95,11 @@ CommonWrapper< */ public element: N = null; + /** + * Offset due to border/padding + */ + public dx: number = 0; + /** * @override */ @@ -131,6 +142,7 @@ CommonWrapper< const svg = this.createSVGnode(parent); this.handleStyles(); this.handleScale(); + this.handleBorder(); this.handleColor(); this.handleAttributes(); return svg; @@ -164,6 +176,13 @@ CommonWrapper< if (styles) { this.adaptor.setAttribute(this.element, 'style', styles); } + BBox.StyleAdjust.forEach(([name, , lr]) => { + if (lr !== 0) return; + const x = this.styles.get(name); + if (x) { + this.dx += this.length2em(x, 1, this.bbox.rscale); + } + }); } /** @@ -188,15 +207,16 @@ CommonWrapper< const color = attributes.getExplicit('color') as string; const mathbackground = attributes.getExplicit('mathbackground') as string; const background = attributes.getExplicit('background') as string; + const bgcolor = (this.styles?.get('background-color') || ''); if (mathcolor || color) { adaptor.setAttribute(this.element, 'fill', mathcolor || color); adaptor.setAttribute(this.element, 'stroke', mathcolor || color); } - if (mathbackground || background) { - let {h, d, w} = this.getBBox(); + if (mathbackground || background || bgcolor) { + let {h, d, w} = this.getOuterBBox(); let rect = this.svg('rect', { - fill: mathbackground || background, - x: 0, y: this.fixed(-d), + fill: mathbackground || background || bgcolor, + x: this.fixed(-this.dx), y: this.fixed(-d), width: this.fixed(w), height: this.fixed(h + d), 'data-bgcolor': true @@ -210,6 +230,96 @@ CommonWrapper< } } + /** + * Create the borders, if any are requested. + */ + protected handleBorder() { + if (!this.styles) return; + const width = Array(4).fill(0); + const style = Array(4); + const color = Array(4); + for (const [name, i] of [['Top', 0], ['Right', 1], ['Bottom', 2], ['Left', 3]] as [string, number][]) { + const key = 'border' + name; + const w = this.styles.get(key + 'Width'); + if (!w) continue; + width[i] = Math.max(0, this.length2em(w, 1, this.bbox.rscale)); + style[i] = this.styles.get(key + 'Style') || 'solid'; + color[i] = this.styles.get(key + 'Color') || 'currentColor'; + } + const f = SVGWrapper.borderFuzz; + const bbox = this.getOuterBBox(); + const [h, d, w] = [bbox.h + f, bbox.d + f, bbox.w + f]; + const paths: [number, number][][] = [ + [[-f, h], [w, h], [w - width[1], h - width[0]], [-f + width[3], h - width[0]]], + [[w, h], [w, -d], [w - width[1], -d + width[2]], [w - width[1], h - width[0]]], + [[w, -d], [-f, -d], [-f + width[3], -d + width[2]], [w - width[1], -d + width[2]]], + [[-f, -d], [-f, h], [-f + width[3], h - width[0]], [-f + width[3], -d + width[2]]] + ]; + const adaptor = this.adaptor; + const child = adaptor.firstChild(this.element) as N; + for (const i of [0, 1, 2, 3]) { + if (!width[i]) continue; + const path = paths[i]; + if (style[i] === 'dashed' || style[i] === 'dotted') { + this.addBorderBroken(path, color[i], style[i], width[i], !!(i % 2)); + } else { + this.addBorderSolid(path, color[i], child); + } + } + } + + /** + * Create a solid border piece with the given color + * + * @param {[number, number][]} path The points for the border segment + * @param {string} color The color to use + * @param {N} child Insert the border before this child, if any + */ + protected addBorderSolid(path: [number, number][], color: string, child: N) { + const border = this.svg('polygon', { + points: path.map(([x, y]) => `${this.fixed(x - this.dx)},${this.fixed(y)}`).join(' '), + stroke: 'none', + fill: color + }); + if (child) { + this.adaptor.insert(border, child); + } else { + this.adaptor.append(this.element, border); + } + } + + /** + * Create a dashed or dotted border line with the given width and color + * + * @param {[number, number][]} path The points for the border segment + * @param {string} color The color to use + * @param {string} style Either 'dotted' or 'dashed' + * @param {number} t The thickness for the border line + * @param {boolean} vertical True if the line is vertical, false for horizontal + */ + protected addBorderBroken(path: [number, number][], color: string, style: string, t: number, vertical: boolean) { + const dot = (style === 'dotted'); + const [A, B, C, D] = path; + const x1 = (A[0] + D[0]) / 2 - this.dx, y1 = (A[1] + D[1]) / 2; + const x2 = (B[0] + C[0]) / 2 - this.dx, y2 = (B[1] + C[1]) / 2; + const W = Math.abs(vertical ? y2 - y1 : x2 - x1); + const n = (dot ? Math.ceil(W / (2 * t)) : Math.ceil((W - t) / (4 * t))); + const m = W / (4 * n + 1); + const line = this.svg('line', { + x1: this.fixed(x1), y1: this.fixed(y1), + x2: this.fixed(x2), y2: this.fixed(y2), + 'stroke-width': this.fixed(t), stroke: color, 'stroke-linecap': dot ? 'round' : 'square', + 'stroke-dasharray': dot ? [1, this.fixed(W / n - .002)].join(' ') : [this.fixed(m), this.fixed(3 * m)].join(' ') + }); + const adaptor = this.adaptor; + const child = adaptor.firstChild(this.element); + if (child) { + adaptor.insert(line, child); + } else { + adaptor.append(this.element, line); + } + } + /** * Copy RDFa, aria, and other tags from the MathML to the SVG output nodes. * Don't copy those in the skipAttributes list, or anything that already exists @@ -243,6 +353,7 @@ CommonWrapper< * @param {N} element The element to be placed */ public place(x: number, y: number, element: N = null) { + x += this.dx; if (!(x || y)) return; if (!element) { element = this.element; diff --git a/ts/output/svg/Wrappers/math.ts b/ts/output/svg/Wrappers/math.ts index 3e61225e0..b2326baef 100644 --- a/ts/output/svg/Wrappers/math.ts +++ b/ts/output/svg/Wrappers/math.ts @@ -92,7 +92,7 @@ CommonMathMixin>(SVGWrapper) { if (this.bbox.pwidth === BBox.fullWidth) { this.adaptor.setAttribute(this.jax.container, 'width', 'full'); if (this.jax.table) { - let {L, w, R} = this.jax.table.getBBox(); + let {L, w, R} = this.jax.table.getOuterBBox(); if (align === 'right') { R = Math.max(R || -shift, -shift); } else if (align === 'left') { diff --git a/ts/output/svg/Wrappers/mfrac.ts b/ts/output/svg/Wrappers/mfrac.ts index 3802377c4..db86266e1 100644 --- a/ts/output/svg/Wrappers/mfrac.ts +++ b/ts/output/svg/Wrappers/mfrac.ts @@ -77,8 +77,8 @@ export class SVGmfrac extends CommonMfracMixin extends CommonMfracMixin extends CommonMfracMixin, Constructor, Constructor extends CommonMrootMixin, sbox: BBox, H: number) { root.toSVG(ROOT); const [x, h, dx] = this.getRootDimens(sbox, H); - const bbox = root.getBBox(); + const bbox = root.getOuterBBox(); root.place(dx * bbox.rscale, h); this.dx = x; } diff --git a/ts/output/svg/Wrappers/msqrt.ts b/ts/output/svg/Wrappers/msqrt.ts index bb7e2f3ba..38f7f2f1e 100644 --- a/ts/output/svg/Wrappers/msqrt.ts +++ b/ts/output/svg/Wrappers/msqrt.ts @@ -57,7 +57,7 @@ export class SVGmsqrt extends CommonMsqrtMixin, Constructor> const svg = this.standardSVGnode(parent); const [base, script] = [this.baseChild, this.scriptChild]; - const [bbox, sbox] = [base.getBBox(), script.getBBox()]; + const [bbox, sbox] = [base.getOuterBBox(), script.getOuterBBox()]; base.toSVG(svg); script.toSVG(svg); @@ -99,7 +99,7 @@ CommonMoverMixin, Constructor>> } const svg = this.standardSVGnode(parent); const [base, script] = [this.baseChild, this.scriptChild]; - const [bbox, sbox] = [base.getBBox(), script.getBBox()]; + const [bbox, sbox] = [base.getOuterBBox(), script.getOuterBBox()]; base.toSVG(svg); script.toSVG(svg); @@ -141,7 +141,7 @@ CommonMunderoverMixin, Constructor Date: Thu, 21 Apr 2022 10:03:47 -0400 Subject: [PATCH 088/118] Fix placement of hit boxes and placement in rows --- ts/output/svg/Wrapper.ts | 7 ++++--- ts/output/svg/Wrappers/maction.ts | 6 +++++- 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/ts/output/svg/Wrapper.ts b/ts/output/svg/Wrapper.ts index 68b51d35a..56c026cca 100644 --- a/ts/output/svg/Wrapper.ts +++ b/ts/output/svg/Wrapper.ts @@ -123,10 +123,11 @@ CommonWrapper< let x = 0; for (const child of this.childNodes) { child.toSVG(parent); + const bbox = child.getOuterBBox(); if (child.element) { - child.place(x + child.bbox.L * child.bbox.rscale, 0); + child.place(x + bbox.L * bbox.rscale, 0); } - x += (child.bbox.L + child.bbox.w + child.bbox.R) * child.bbox.rscale; + x += (bbox.L + bbox.w + bbox.R) * bbox.rscale; } } @@ -157,7 +158,7 @@ CommonWrapper< const href = this.node.attributes.get('href'); if (href) { parent = this.adaptor.append(parent, this.svg('a', {href: href})) as N; - const {h, d, w} = this.getBBox(); + const {h, d, w} = this.getOuterBBox(); this.adaptor.append(this.element, this.svg('rect', { 'data-hitbox': true, fill: 'none', stroke: 'none', 'pointer-events': 'all', width: this.fixed(w), height: this.fixed(h + d), y: this.fixed(-d) diff --git a/ts/output/svg/Wrappers/maction.ts b/ts/output/svg/Wrappers/maction.ts index 05e0eb3ba..90bf4e69e 100644 --- a/ts/output/svg/Wrappers/maction.ts +++ b/ts/output/svg/Wrappers/maction.ts @@ -205,12 +205,16 @@ CommonMactionMixin, SVGConstructor>(SVG public toSVG(parent: N) { const svg = this.standardSVGnode(parent); const child = this.selected; - const {h, d, w} = child.getBBox(); + const {h, d, w} = child.getOuterBBox(); this.adaptor.append(this.element, this.svg('rect', { width: this.fixed(w), height: this.fixed(h + d), y: this.fixed(-d), fill: 'none', 'pointer-events': 'all' })); child.toSVG(svg); + const bbox = child.getOuterBBox(); + if (child.element) { + child.place(bbox.L * bbox.rscale, 0); + } this.action(this, this.data); } From 1a1caeffeda94769a05a3d5fa910268392a3ba16 Mon Sep 17 00:00:00 2001 From: "Davide P. Cervone" Date: Thu, 21 Apr 2022 10:26:22 -0400 Subject: [PATCH 089/118] Handle missing or different sized dashed and dotten borders better --- ts/output/svg/Wrapper.ts | 20 +++++++++++--------- 1 file changed, 11 insertions(+), 9 deletions(-) diff --git a/ts/output/svg/Wrapper.ts b/ts/output/svg/Wrapper.ts index 56c026cca..c103de99b 100644 --- a/ts/output/svg/Wrapper.ts +++ b/ts/output/svg/Wrapper.ts @@ -252,8 +252,8 @@ CommonWrapper< const [h, d, w] = [bbox.h + f, bbox.d + f, bbox.w + f]; const paths: [number, number][][] = [ [[-f, h], [w, h], [w - width[1], h - width[0]], [-f + width[3], h - width[0]]], - [[w, h], [w, -d], [w - width[1], -d + width[2]], [w - width[1], h - width[0]]], - [[w, -d], [-f, -d], [-f + width[3], -d + width[2]], [w - width[1], -d + width[2]]], + [[w, -d], [w, h], [w - width[1], h - width[0]], [w - width[1], -d + width[2]]], + [[-f, -d], [w, -d], [w - width[1], -d + width[2]], [-f + width[3], -d + width[2]]], [[-f, -d], [-f, h], [-f + width[3], h - width[0]], [-f + width[3], -d + width[2]]] ]; const adaptor = this.adaptor; @@ -262,7 +262,7 @@ CommonWrapper< if (!width[i]) continue; const path = paths[i]; if (style[i] === 'dashed' || style[i] === 'dotted') { - this.addBorderBroken(path, color[i], style[i], width[i], !!(i % 2)); + this.addBorderBroken(path, color[i], style[i], width[i], i); } else { this.addBorderSolid(path, color[i], child); } @@ -296,14 +296,16 @@ CommonWrapper< * @param {string} color The color to use * @param {string} style Either 'dotted' or 'dashed' * @param {number} t The thickness for the border line - * @param {boolean} vertical True if the line is vertical, false for horizontal + * @param {number} i The side being drawn */ - protected addBorderBroken(path: [number, number][], color: string, style: string, t: number, vertical: boolean) { + protected addBorderBroken(path: [number, number][], color: string, style: string, t: number, i: number) { const dot = (style === 'dotted'); - const [A, B, C, D] = path; - const x1 = (A[0] + D[0]) / 2 - this.dx, y1 = (A[1] + D[1]) / 2; - const x2 = (B[0] + C[0]) / 2 - this.dx, y2 = (B[1] + C[1]) / 2; - const W = Math.abs(vertical ? y2 - y1 : x2 - x1); + const t2 = t / 2; + const [tx1, ty1, tx2, ty2] = [[t2, -t2, -t2, -t2], [-t2, t2, -t2, -t2], [t2, t2, -t2, t2], [t2, t2, t2, -t2]][i]; + const [A, B] = path; + const x1 = A[0] + tx1 - this.dx, y1 = A[1] + ty1; + const x2 = B[0] + tx2 - this.dx, y2 = B[1] + ty2; + const W = Math.abs(i % 2 ? y2 - y1 : x2 - x1); const n = (dot ? Math.ceil(W / (2 * t)) : Math.ceil((W - t) / (4 * t))); const m = W / (4 * n + 1); const line = this.svg('line', { From eee43fb6a4bd7770c1f01210cdfe3e1a8fe0ed48 Mon Sep 17 00:00:00 2001 From: zorkow Date: Mon, 25 Apr 2022 16:13:42 +0200 Subject: [PATCH 090/118] Introduces separate config component for SRE. --- components/src/a11y/sre/sre.js | 27 ++++++--------------------- components/src/a11y/sre/sre_config.js | 22 ++++++++++++++++++++++ 2 files changed, 28 insertions(+), 21 deletions(-) create mode 100644 components/src/a11y/sre/sre_config.js diff --git a/components/src/a11y/sre/sre.js b/components/src/a11y/sre/sre.js index 7fe066d1b..a5e60366a 100644 --- a/components/src/a11y/sre/sre.js +++ b/components/src/a11y/sre/sre.js @@ -1,26 +1,11 @@ import './lib/sre.js'; - -import {Package} from '../../../../js/components/package.js'; - +import './sre_config.js'; import Sre from '../../../../js/a11y/sre.js'; -// This sets up the correct link to the mathmaps files. -// -// We could also use a custom method for loading locales that are webpacked into -// the distribution. if (MathJax.startup) { - - const path = Package.resolvePath('[sre]', false) + '/mathmaps'; - - if (typeof window !== 'undefined') { - window.SREfeature = {json: path, - custom: (loc) => Sre.preloadLocales(loc) - }; - } else { - // TODO: This is does not yet work correctly! - global.SREfeature = {json: path, - // delay: true, - custom: (loc) => Sre.preloadLocales(loc) - }; - } + console.log(3); + ((typeof window !== 'undefined') ? window : global). + SREfeature.custom = (loc) => Sre.preloadLocales(loc); + console.log(((typeof window !== 'undefined') ? window : global).SREfeature); } + diff --git a/components/src/a11y/sre/sre_config.js b/components/src/a11y/sre/sre_config.js new file mode 100644 index 000000000..0bccaf951 --- /dev/null +++ b/components/src/a11y/sre/sre_config.js @@ -0,0 +1,22 @@ +import {Package} from '../../../../js/components/package.js'; + +// This sets up the correct link to the mathmaps files. +// +// We could also use a custom method for loading locales that are webpacked into +// the distribution. +if (MathJax.startup) { + + const path = Package.resolvePath('[sre]', false) + '/mathmaps'; + + console.log(path); + console.log(0); + if (typeof window !== 'undefined') { + console.log(1); + window.SREfeature = {json: path}; + } else { + // TODO: This is does not yet work correctly! + console.log(2); + global.SREfeature = {json: path}; + } +} + From 2eeb346097ec7f4f6e10afe1240014a135635459 Mon Sep 17 00:00:00 2001 From: zorkow Date: Tue, 26 Apr 2022 01:58:43 +0200 Subject: [PATCH 091/118] Cleanup of SRE integration. --- components/src/a11y/sre/sre.js | 2 -- package-lock.json | 26 +++++++++++++------------- package.json | 2 +- ts/a11y/sre.ts | 5 +++++ 4 files changed, 19 insertions(+), 16 deletions(-) diff --git a/components/src/a11y/sre/sre.js b/components/src/a11y/sre/sre.js index a5e60366a..0327644d9 100644 --- a/components/src/a11y/sre/sre.js +++ b/components/src/a11y/sre/sre.js @@ -3,9 +3,7 @@ import './sre_config.js'; import Sre from '../../../../js/a11y/sre.js'; if (MathJax.startup) { - console.log(3); ((typeof window !== 'undefined') ? window : global). SREfeature.custom = (loc) => Sre.preloadLocales(loc); - console.log(((typeof window !== 'undefined') ? window : global).SREfeature); } diff --git a/package-lock.json b/package-lock.json index 00861d734..6b2556e04 100644 --- a/package-lock.json +++ b/package-lock.json @@ -12,7 +12,7 @@ "esm": "^3.2.25", "mhchemparser": "^4.1.0", "mj-context-menu": "^0.6.1", - "speech-rule-engine": "^4.0.2", + "speech-rule-engine": "^4.0.4", "yargs": "^17.3.1" }, "devDependencies": { @@ -3448,9 +3448,9 @@ } }, "node_modules/minimist": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", - "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==", + "version": "1.2.6", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.6.tgz", + "integrity": "sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==", "dev": true }, "node_modules/mj-context-menu": { @@ -4008,9 +4008,9 @@ } }, "node_modules/speech-rule-engine": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/speech-rule-engine/-/speech-rule-engine-4.0.2.tgz", - "integrity": "sha512-cBljZNhGOClkl1+V3u5zQdfRtZ5bnImXtTe4Ua8FzxjExLrm7JapHWzIFbXOoAN4A9VWF6OHym6MxJd9Fy6fWQ==", + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/speech-rule-engine/-/speech-rule-engine-4.0.4.tgz", + "integrity": "sha512-WX1tV2+3NkGCTpKdXGupZKzmfigg4pXFxBqHyQwq59NqoezJQhbZnH8PU/ZSSIsbB4WlhHl3ssW1ZKbgq5Okng==", "dependencies": { "commander": "8.3.0", "wicked-good-xpath": "1.3.0", @@ -7516,9 +7516,9 @@ } }, "minimist": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", - "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==", + "version": "1.2.6", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.6.tgz", + "integrity": "sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==", "dev": true }, "mj-context-menu": { @@ -7950,9 +7950,9 @@ } }, "speech-rule-engine": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/speech-rule-engine/-/speech-rule-engine-4.0.2.tgz", - "integrity": "sha512-cBljZNhGOClkl1+V3u5zQdfRtZ5bnImXtTe4Ua8FzxjExLrm7JapHWzIFbXOoAN4A9VWF6OHym6MxJd9Fy6fWQ==", + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/speech-rule-engine/-/speech-rule-engine-4.0.4.tgz", + "integrity": "sha512-WX1tV2+3NkGCTpKdXGupZKzmfigg4pXFxBqHyQwq59NqoezJQhbZnH8PU/ZSSIsbB4WlhHl3ssW1ZKbgq5Okng==", "requires": { "commander": "8.3.0", "wicked-good-xpath": "1.3.0", diff --git a/package.json b/package.json index c094666d1..71ae53de5 100644 --- a/package.json +++ b/package.json @@ -65,7 +65,7 @@ "esm": "^3.2.25", "mhchemparser": "^4.1.0", "mj-context-menu": "^0.6.1", - "speech-rule-engine": "^4.0.2", + "speech-rule-engine": "^4.0.4", "yargs": "^17.3.1" } } diff --git a/ts/a11y/sre.ts b/ts/a11y/sre.ts index 5d078dd08..71184ffa8 100644 --- a/ts/a11y/sre.ts +++ b/ts/a11y/sre.ts @@ -27,6 +27,7 @@ import {Walker} from 'speech-rule-engine/js/walker/walker.js'; import * as WalkerFactory from 'speech-rule-engine/js/walker/walker_factory.js'; import * as SpeechGeneratorFactory from 'speech-rule-engine/js/speech_generator/speech_generator_factory.js'; import * as EngineConst from 'speech-rule-engine/js/common/engine_const.js'; +import Engine from 'speech-rule-engine/js/common/engine.js'; import {ClearspeakPreferences} from 'speech-rule-engine/js/speech_rules/clearspeak_preferences.js'; import {Highlighter} from 'speech-rule-engine/js/highlighter/highlighter.js'; import * as HighlighterFactory from 'speech-rule-engine/js/highlighter/highlighter_factory.js'; @@ -77,5 +78,9 @@ export namespace Sre { } +// Setting delay stops SRE from setting itself up (and loading locales) when it +// is not actually being used. As we are not yet sure in which environment we +// are (browser, node) we can not use a configuration vector. +Engine.getInstance().delay = true; export default Sre; From f739499a31d54b9b67fa551b6a037c159a88f916 Mon Sep 17 00:00:00 2001 From: zorkow Date: Tue, 26 Apr 2022 11:06:09 +0200 Subject: [PATCH 092/118] Name the remaining languages. --- ts/a11y/explorer.ts | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/ts/a11y/explorer.ts b/ts/a11y/explorer.ts index cd81f782e..858a6d900 100644 --- a/ts/a11y/explorer.ts +++ b/ts/a11y/explorer.ts @@ -628,12 +628,17 @@ MJContextMenu.DynamicSubmenus.set('Clearspeak', csMenu); * @type {{[locale: string]: string}} */ const iso: {[locale: string]: string} = { + 'ca': 'Catalan', + 'da': 'Danish', 'de': 'German', 'en': 'English', 'es': 'Spanish', 'fr': 'French', 'hi': 'Hindi', - 'it': 'Italian' + 'it': 'Italian', + 'nb': 'Bokmål', + 'nn': 'Nynorsk', + 'sv': 'Swedish' }; /** From f71d5142c70ecf4f0e3be027bab7a32f7b681e56 Mon Sep 17 00:00:00 2001 From: zorkow Date: Tue, 26 Apr 2022 11:18:14 +0200 Subject: [PATCH 093/118] Removes unused compiler option. --- tsconfig.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tsconfig.json b/tsconfig.json index b44e6fef9..1c85b28be 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -17,7 +17,7 @@ "mj-context-menu": ["node_modules/mj-context-menu"], "speech-rule-engine": ["node_modules/speech-rule-engine"] }, - "lib": ["es6", "dom", "es2020"], + "lib": ["es6", "dom"], "noLib": false, "sourceMap": true, "outDir": "js", From bcf3c30f7fee3a6e8fdc74f1d47aaaa19641d9c7 Mon Sep 17 00:00:00 2001 From: zorkow Date: Tue, 26 Apr 2022 11:20:24 +0200 Subject: [PATCH 094/118] Cleanup components files. --- components/src/a11y/sre/sre_config.js | 8 -------- 1 file changed, 8 deletions(-) diff --git a/components/src/a11y/sre/sre_config.js b/components/src/a11y/sre/sre_config.js index 0bccaf951..d1eaa14cb 100644 --- a/components/src/a11y/sre/sre_config.js +++ b/components/src/a11y/sre/sre_config.js @@ -1,21 +1,13 @@ import {Package} from '../../../../js/components/package.js'; // This sets up the correct link to the mathmaps files. -// -// We could also use a custom method for loading locales that are webpacked into -// the distribution. if (MathJax.startup) { const path = Package.resolvePath('[sre]', false) + '/mathmaps'; - console.log(path); - console.log(0); if (typeof window !== 'undefined') { - console.log(1); window.SREfeature = {json: path}; } else { - // TODO: This is does not yet work correctly! - console.log(2); global.SREfeature = {json: path}; } } From 112b44baff63de476fa352b4f8967ab0851a187c Mon Sep 17 00:00:00 2001 From: zorkow Date: Tue, 26 Apr 2022 11:20:24 +0200 Subject: [PATCH 095/118] Cleanup components files. --- components/src/a11y/sre/sre_config.js | 8 --- package-lock.json | 95 +++++++++++---------------- package.json | 3 +- 3 files changed, 40 insertions(+), 66 deletions(-) diff --git a/components/src/a11y/sre/sre_config.js b/components/src/a11y/sre/sre_config.js index 0bccaf951..d1eaa14cb 100644 --- a/components/src/a11y/sre/sre_config.js +++ b/components/src/a11y/sre/sre_config.js @@ -1,21 +1,13 @@ import {Package} from '../../../../js/components/package.js'; // This sets up the correct link to the mathmaps files. -// -// We could also use a custom method for loading locales that are webpacked into -// the distribution. if (MathJax.startup) { const path = Package.resolvePath('[sre]', false) + '/mathmaps'; - console.log(path); - console.log(0); if (typeof window !== 'undefined') { - console.log(1); window.SREfeature = {json: path}; } else { - // TODO: This is does not yet work correctly! - console.log(2); global.SREfeature = {json: path}; } } diff --git a/package-lock.json b/package-lock.json index 6b2556e04..5b9387436 100644 --- a/package-lock.json +++ b/package-lock.json @@ -12,8 +12,7 @@ "esm": "^3.2.25", "mhchemparser": "^4.1.0", "mj-context-menu": "^0.6.1", - "speech-rule-engine": "^4.0.4", - "yargs": "^17.3.1" + "speech-rule-engine": "^4.0.4" }, "devDependencies": { "@babel/core": "^7.14.5", @@ -1880,6 +1879,7 @@ "version": "5.0.1", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true, "engines": { "node": ">=8" } @@ -2115,6 +2115,7 @@ "version": "7.0.4", "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", + "dev": true, "dependencies": { "string-width": "^4.2.0", "strip-ansi": "^6.0.0", @@ -2371,7 +2372,8 @@ "node_modules/emoji-regex": { "version": "8.0.0", "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true }, "node_modules/emojis-list": { "version": "3.0.0", @@ -2493,6 +2495,7 @@ "version": "3.1.1", "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", + "dev": true, "engines": { "node": ">=6" } @@ -2699,6 +2702,7 @@ "version": "2.0.5", "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", + "dev": true, "engines": { "node": "6.* || 8.* || >= 10.*" } @@ -3019,6 +3023,7 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true, "engines": { "node": ">=8" } @@ -3818,6 +3823,7 @@ "version": "2.1.1", "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=", + "dev": true, "engines": { "node": ">=0.10.0" } @@ -4036,6 +4042,7 @@ "version": "4.2.3", "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, "dependencies": { "emoji-regex": "^8.0.0", "is-fullwidth-code-point": "^3.0.0", @@ -4092,6 +4099,7 @@ "version": "6.0.1", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, "dependencies": { "ansi-regex": "^5.0.1" }, @@ -4911,6 +4919,7 @@ "version": "7.0.0", "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, "dependencies": { "ansi-styles": "^4.0.0", "string-width": "^4.1.0", @@ -4927,6 +4936,7 @@ "version": "4.3.0", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, "dependencies": { "color-convert": "^2.0.1" }, @@ -4941,6 +4951,7 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, "dependencies": { "color-name": "~1.1.4" }, @@ -4951,7 +4962,8 @@ "node_modules/wrap-ansi/node_modules/color-name": { "version": "1.1.4", "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true }, "node_modules/wrappy": { "version": "1.0.2", @@ -4980,34 +4992,10 @@ "version": "5.0.8", "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", + "dev": true, "engines": { "node": ">=10" } - }, - "node_modules/yargs": { - "version": "17.3.1", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.3.1.tgz", - "integrity": "sha512-WUANQeVgjLbNsEmGk20f+nlHgOqzRFpiGWVaBrYGYIGANIIu3lWjoyi0fNlFmJkvfhCZ6BXINe7/W2O2bV4iaA==", - "dependencies": { - "cliui": "^7.0.2", - "escalade": "^3.1.1", - "get-caller-file": "^2.0.5", - "require-directory": "^2.1.1", - "string-width": "^4.2.3", - "y18n": "^5.0.5", - "yargs-parser": "^21.0.0" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/yargs-parser": { - "version": "21.0.0", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.0.0.tgz", - "integrity": "sha512-z9kApYUOCwoeZ78rfRYYWdiU/iNL6mwwYlkkZfJoyMR1xps+NEBX5X7XmRpxkZHhXJ6+Ey00IwKxBBSW9FIjyA==", - "engines": { - "node": ">=12" - } } }, "dependencies": { @@ -6352,7 +6340,8 @@ "ansi-regex": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==" + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true }, "ansi-styles": { "version": "3.2.1", @@ -6525,6 +6514,7 @@ "version": "7.0.4", "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", + "dev": true, "requires": { "string-width": "^4.2.0", "strip-ansi": "^6.0.0", @@ -6741,7 +6731,8 @@ "emoji-regex": { "version": "8.0.0", "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true }, "emojis-list": { "version": "3.0.0", @@ -6837,7 +6828,8 @@ "escalade": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", - "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==" + "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", + "dev": true }, "escape-string-regexp": { "version": "1.0.5", @@ -6993,7 +6985,8 @@ "get-caller-file": { "version": "2.0.5", "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", - "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==" + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", + "dev": true }, "get-intrinsic": { "version": "1.1.1", @@ -7211,7 +7204,8 @@ "is-fullwidth-code-point": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==" + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true }, "is-map": { "version": "2.0.2", @@ -7806,7 +7800,8 @@ "require-directory": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", - "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=" + "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=", + "dev": true }, "resolve": { "version": "1.21.0", @@ -7975,6 +7970,7 @@ "version": "4.2.3", "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, "requires": { "emoji-regex": "^8.0.0", "is-fullwidth-code-point": "^3.0.0", @@ -8016,6 +8012,7 @@ "version": "6.0.1", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, "requires": { "ansi-regex": "^5.0.1" } @@ -8617,6 +8614,7 @@ "version": "7.0.0", "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, "requires": { "ansi-styles": "^4.0.0", "string-width": "^4.1.0", @@ -8627,6 +8625,7 @@ "version": "4.3.0", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, "requires": { "color-convert": "^2.0.1" } @@ -8635,6 +8634,7 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, "requires": { "color-name": "~1.1.4" } @@ -8642,7 +8642,8 @@ "color-name": { "version": "1.1.4", "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true } } }, @@ -8666,26 +8667,8 @@ "y18n": { "version": "5.0.8", "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", - "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==" - }, - "yargs": { - "version": "17.3.1", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.3.1.tgz", - "integrity": "sha512-WUANQeVgjLbNsEmGk20f+nlHgOqzRFpiGWVaBrYGYIGANIIu3lWjoyi0fNlFmJkvfhCZ6BXINe7/W2O2bV4iaA==", - "requires": { - "cliui": "^7.0.2", - "escalade": "^3.1.1", - "get-caller-file": "^2.0.5", - "require-directory": "^2.1.1", - "string-width": "^4.2.3", - "y18n": "^5.0.5", - "yargs-parser": "^21.0.0" - } - }, - "yargs-parser": { - "version": "21.0.0", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.0.0.tgz", - "integrity": "sha512-z9kApYUOCwoeZ78rfRYYWdiU/iNL6mwwYlkkZfJoyMR1xps+NEBX5X7XmRpxkZHhXJ6+Ey00IwKxBBSW9FIjyA==" + "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", + "dev": true } } } diff --git a/package.json b/package.json index 167db11ff..a94817e8f 100644 --- a/package.json +++ b/package.json @@ -65,7 +65,6 @@ "esm": "^3.2.25", "mhchemparser": "^4.1.0", "mj-context-menu": "^0.6.1", - "speech-rule-engine": "^4.0.4", - "yargs": "^17.3.1" + "speech-rule-engine": "^4.0.4" } } From 422688be6217e84d22f277ff99b67000672b89e4 Mon Sep 17 00:00:00 2001 From: zorkow Date: Fri, 29 Apr 2022 16:18:17 +0200 Subject: [PATCH 096/118] Adds correct computation of absolute mathmaps path in node. --- components/src/a11y/sre/sre_config.js | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/components/src/a11y/sre/sre_config.js b/components/src/a11y/sre/sre_config.js index d1eaa14cb..285149f34 100644 --- a/components/src/a11y/sre/sre_config.js +++ b/components/src/a11y/sre/sre_config.js @@ -1,13 +1,21 @@ +import {combineDefaults} from '../../../../js/components/global.js'; import {Package} from '../../../../js/components/package.js'; // This sets up the correct link to the mathmaps files. if (MathJax.startup) { - const path = Package.resolvePath('[sre]', false) + '/mathmaps'; + // Combine path with user defined path and resolve it wrt. MathJax path. + combineDefaults(MathJax.config.loader, 'paths', {sre: '[mathjax]/sre'}); + let path = Package.resolvePath('[sre]', false) + '/mathmaps'; if (typeof window !== 'undefined') { window.SREfeature = {json: path}; } else { + // In Node get the absolute path to the mathmaps directory. + try { + path = MathJax.config.loader.require.resolve( + path + '/base.json').replace(/\/base\.json$/, ''); + } catch(_err) { } global.SREfeature = {json: path}; } } From 5979969248c1f116a85b10adc9979092a130d39d Mon Sep 17 00:00:00 2001 From: "Davide P. Cervone" Date: Sun, 1 May 2022 09:31:22 -0400 Subject: [PATCH 097/118] Updates requeste by Volker's review --- ts/output/common/Wrapper.ts | 2 +- ts/output/svg/Wrapper.ts | 22 +++++++++++++++------- 2 files changed, 16 insertions(+), 8 deletions(-) diff --git a/ts/output/common/Wrapper.ts b/ts/output/common/Wrapper.ts index 6d93c38d5..8ea122935 100644 --- a/ts/output/common/Wrapper.ts +++ b/ts/output/common/Wrapper.ts @@ -328,7 +328,7 @@ export class CommonWrapper< for (const [name, side] of BBox.StyleAdjust) { const x = this.styles.get(name); if (x) { - (obox as any)[side] += this.length2em(this.styles.get(name), 1, obox.rscale); + (obox as any)[side] += this.length2em(x, 1, obox.rscale); } } return obox; diff --git a/ts/output/svg/Wrapper.ts b/ts/output/svg/Wrapper.ts index c103de99b..989698e53 100644 --- a/ts/output/svg/Wrapper.ts +++ b/ts/output/svg/Wrapper.ts @@ -250,11 +250,19 @@ CommonWrapper< const f = SVGWrapper.borderFuzz; const bbox = this.getOuterBBox(); const [h, d, w] = [bbox.h + f, bbox.d + f, bbox.w + f]; - const paths: [number, number][][] = [ - [[-f, h], [w, h], [w - width[1], h - width[0]], [-f + width[3], h - width[0]]], - [[w, -d], [w, h], [w - width[1], h - width[0]], [w - width[1], -d + width[2]]], - [[-f, -d], [w, -d], [w - width[1], -d + width[2]], [-f + width[3], -d + width[2]]], - [[-f, -d], [-f, h], [-f + width[3], h - width[0]], [-f + width[3], -d + width[2]]] + const outerRT = [w, h]; + const outerLT = [-f, h]; + const outerRB = [w, -d]; + const outerLB = [-f, -d]; + const innerRT = [w - width[1], h - width[0]]; + const innerLT = [-f + width[3], h - width[0]]; + const innerRB = [w - width[1], -d + width[2]]; + const innerLB = [-f + width[3],-d + width[2]]; + const paths: number[][][] = [ + [outerLT, outerRT, innerRT, innerLT], + [outerRB, outerRT, innerRT, innerRB], + [outerLB, outerRB, innerRB, innerLB], + [outerLB, outerLT, innerLT, innerLB] ]; const adaptor = this.adaptor; const child = adaptor.firstChild(this.element) as N; @@ -276,7 +284,7 @@ CommonWrapper< * @param {string} color The color to use * @param {N} child Insert the border before this child, if any */ - protected addBorderSolid(path: [number, number][], color: string, child: N) { + protected addBorderSolid(path: number[][], color: string, child: N) { const border = this.svg('polygon', { points: path.map(([x, y]) => `${this.fixed(x - this.dx)},${this.fixed(y)}`).join(' '), stroke: 'none', @@ -298,7 +306,7 @@ CommonWrapper< * @param {number} t The thickness for the border line * @param {number} i The side being drawn */ - protected addBorderBroken(path: [number, number][], color: string, style: string, t: number, i: number) { + protected addBorderBroken(path: number[][], color: string, style: string, t: number, i: number) { const dot = (style === 'dotted'); const t2 = t / 2; const [tx1, ty1, tx2, ty2] = [[t2, -t2, -t2, -t2], [-t2, t2, -t2, -t2], [t2, t2, -t2, t2], [t2, t2, t2, -t2]][i]; From 56f197ef0a3782c80cc97b8f5723dd9ccacea1a9 Mon Sep 17 00:00:00 2001 From: "Davide P. Cervone" Date: Sun, 1 May 2022 12:57:16 -0400 Subject: [PATCH 098/118] Fix spacing for tslint --- ts/output/svg/Wrapper.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ts/output/svg/Wrapper.ts b/ts/output/svg/Wrapper.ts index 989698e53..54f1f3de4 100644 --- a/ts/output/svg/Wrapper.ts +++ b/ts/output/svg/Wrapper.ts @@ -257,7 +257,7 @@ CommonWrapper< const innerRT = [w - width[1], h - width[0]]; const innerLT = [-f + width[3], h - width[0]]; const innerRB = [w - width[1], -d + width[2]]; - const innerLB = [-f + width[3],-d + width[2]]; + const innerLB = [-f + width[3], -d + width[2]]; const paths: number[][][] = [ [outerLT, outerRT, innerRT, innerLT], [outerRB, outerRT, innerRT, innerRB], From bd01e97678e98ebb5d7de6fa0e6e92574ed4c497 Mon Sep 17 00:00:00 2001 From: "Davide P. Cervone" Date: Sun, 1 May 2022 16:55:46 -0400 Subject: [PATCH 099/118] Remove old compensation for not handling borders propoerly (no longer needed since border support has been added) --- ts/input/tex/mathtools/MathtoolsMethods.ts | 25 ++++++---------------- 1 file changed, 7 insertions(+), 18 deletions(-) diff --git a/ts/input/tex/mathtools/MathtoolsMethods.ts b/ts/input/tex/mathtools/MathtoolsMethods.ts index f19b134ca..55e7aef54 100644 --- a/ts/input/tex/mathtools/MathtoolsMethods.ts +++ b/ts/input/tex/mathtools/MathtoolsMethods.ts @@ -282,10 +282,6 @@ export const MathtoolsMethods: Record = { /** * Implements \underbacket and \overbracket. - * (Currently only works in CHTML, since we don't yet handle styles properly in SVG. - * This includes a workaround oin CHTML to the fact that the border size is not - * part of MathJax's bbox computations yet. That will need to be removed when - * we handle borders properly.) * * @param {TexParser} parser The calling parser. * @param {string} name The macro name. @@ -294,27 +290,20 @@ export const MathtoolsMethods: Record = { const thickness = length2em(parser.GetBrackets(name, '.1em'), .1); const height = parser.GetBrackets(name, '.2em'); const arg = parser.GetArgument(name); - const [pos, accent, border, side] = ( + const [pos, accent, border] = ( name.charAt(1) === 'o' ? - ['over', 'accent', 'bottom', 'height'] : - ['under', 'accentunder', 'top', 'depth'] + ['over', 'accent', 'bottom'] : + ['under', 'accentunder', 'top'] ); const t = em(thickness); - const t2 = em(2 * thickness); const base = new TexParser(arg, parser.stack.env, parser.configuration).mml(); const copy = new TexParser(arg, parser.stack.env, parser.configuration).mml(); const script = parser.create('node', 'mpadded', [ - parser.create('node', 'mpadded', [ - parser.create('node', 'mphantom', [copy]) - ], { - style: `border: ${t} solid; border-${border}: none`, - width: `-${t2}`, - height: height, - depth: 0 - }) + parser.create('node', 'mphantom', [copy]) ], { - width: `+${t2}`, - [side]: `+${t}` + style: `border: ${t} solid; border-${border}: none`, + height: height, + depth: 0 }); const node = ParseUtil.underOver(parser, base, script, pos, true); const munderover = NodeUtil.getChildAt(NodeUtil.getChildAt(node, 0), 0); // TeXAtom.inferredMrow child 0 From f810c23add1e99e72a493a58ace405978c6420e9 Mon Sep 17 00:00:00 2001 From: zorkow Date: Fri, 6 May 2022 12:50:55 +0200 Subject: [PATCH 100/118] Incorporate review suggestions. --- components/src/a11y/sre/sre_config.js | 5 ++- components/src/dependencies.js | 2 +- components/src/source.js | 1 - ts/a11y/explorer/KeyExplorer.ts | 50 ++++++++++++--------------- ts/a11y/sre.ts | 12 +++++++ 5 files changed, 37 insertions(+), 33 deletions(-) diff --git a/components/src/a11y/sre/sre_config.js b/components/src/a11y/sre/sre_config.js index 285149f34..ed6fb0be1 100644 --- a/components/src/a11y/sre/sre_config.js +++ b/components/src/a11y/sre/sre_config.js @@ -5,8 +5,8 @@ import {Package} from '../../../../js/components/package.js'; if (MathJax.startup) { // Combine path with user defined path and resolve it wrt. MathJax path. - combineDefaults(MathJax.config.loader, 'paths', {sre: '[mathjax]/sre'}); - let path = Package.resolvePath('[sre]', false) + '/mathmaps'; + combineDefaults(MathJax.config.loader, 'paths', {}); + let path = Package.resolvePath('[sre]', false); if (typeof window !== 'undefined') { window.SREfeature = {json: path}; @@ -19,4 +19,3 @@ if (MathJax.startup) { global.SREfeature = {json: path}; } } - diff --git a/components/src/dependencies.js b/components/src/dependencies.js index f3ff979a7..6a33e9e72 100644 --- a/components/src/dependencies.js +++ b/components/src/dependencies.js @@ -58,7 +58,7 @@ export const dependencies = { export const paths = { tex: '[mathjax]/input/tex/extensions', mml: '[mathjax]/input/mml/extensions', - sre: '[mathjax]/sre' + sre: '[mathjax]/sre/mathmaps' }; const allPackages = Array.from(Object.keys(dependencies)) diff --git a/components/src/source.js b/components/src/source.js index a53e8f35b..59d30bf1f 100644 --- a/components/src/source.js +++ b/components/src/source.js @@ -67,7 +67,6 @@ export const source = { 'a11y/complexity': `${src}/a11y/complexity/complexity.js`, 'a11y/explorer': `${src}/a11y/explorer/explorer.js`, 'a11y/sre': `${src}/a11y/sre/sre.js`, - '[sre]': `${src}/../../es5/sre`, 'ui/lazy': `${src}/ui/lazy/lazy.js`, 'ui/menu': `${src}/ui/menu/menu.js`, 'ui/safe': `${src}/ui/safe/safe.js`, diff --git a/ts/a11y/explorer/KeyExplorer.ts b/ts/a11y/explorer/KeyExplorer.ts index 362547b97..54795a84a 100644 --- a/ts/a11y/explorer/KeyExplorer.ts +++ b/ts/a11y/explorer/KeyExplorer.ts @@ -223,18 +223,15 @@ export class SpeechExplorer extends AbstractKeyExplorer { let options = this.getOptions(); if (!this.init) { this.init = true; - SpeechExplorer.updatePromise.then(() => { - SpeechExplorer.updatePromise = new Promise((res) => { - Sre.sreReady() - .then(() => Sre.setupEngine({locale: options.locale})) - .then(() => { - // Important that both are in the same block so speech explorers - // are restarted sequentially. - this.Speech(this.walker); - this.Start(); - }) - .then(() => res()); - }); + SpeechExplorer.updatePromise = SpeechExplorer.updatePromise.then(async () => { + return Sre.sreReady() + .then(() => Sre.setupEngine({locale: options.locale})) + .then(() => { + // Important that both are in the same block so speech explorers + // are restarted sequentially. + this.Speech(this.walker); + this.Start(); + }); }) .catch((error: Error) => console.log(error.message)); return; @@ -260,22 +257,19 @@ export class SpeechExplorer extends AbstractKeyExplorer { public Update(force: boolean = false) { super.Update(force); let options = this.speechGenerator.getOptions(); - SpeechExplorer.updatePromise.then(() => { - SpeechExplorer.updatePromise = new Promise((res) => { - Sre.sreReady() - .then(() => Sre.setupEngine({modality: options.modality, - locale: options.locale})) - .then(() => this.region.Update(this.walker.speech())) - .then(() => res()); - }); - // This is a necessary in case speech options have changed via keypress - // during walking. - if (options.modality === 'speech') { - this.document.options.sre.domain = options.domain; - this.document.options.sre.style = options.style; - this.document.options.a11y.speechRules = - options.domain + '-' + options.style; - } + // This is a necessary in case speech options have changed via keypress + // during walking. + if (options.modality === 'speech') { + this.document.options.sre.domain = options.domain; + this.document.options.sre.style = options.style; + this.document.options.a11y.speechRules = + options.domain + '-' + options.style; + } + SpeechExplorer.updatePromise = SpeechExplorer.updatePromise.then(async () => { + return Sre.sreReady() + .then(() => Sre.setupEngine({modality: options.modality, + locale: options.locale})) + .then(() => this.region.Update(this.walker.speech())); }); } diff --git a/ts/a11y/sre.ts b/ts/a11y/sre.ts index 71184ffa8..648b3cbde 100644 --- a/ts/a11y/sre.ts +++ b/ts/a11y/sre.ts @@ -78,6 +78,18 @@ export namespace Sre { } +/** + * A promise that resolves when SRE is loaded and ready, and rejects if + * SRE can't be loaded, or does not become ready within the timout period. + * + * @deprecated + */ +export const sreReady = function() { + return new Promise((resolve, reject) => + Sre.sreReady().then(() => resolve()) + .catch((error: Error) => reject(error.message || error))); +}; + // Setting delay stops SRE from setting itself up (and loading locales) when it // is not actually being used. As we are not yet sure in which environment we // are (browser, node) we can not use a configuration vector. From 37372eff1bbd1f2653454708d50862fc65752c07 Mon Sep 17 00:00:00 2001 From: zorkow Date: Fri, 6 May 2022 16:19:40 +0200 Subject: [PATCH 101/118] Final changes. --- components/src/a11y/sre/sre_config.js | 2 -- ts/a11y/sre.ts | 6 +----- 2 files changed, 1 insertion(+), 7 deletions(-) diff --git a/components/src/a11y/sre/sre_config.js b/components/src/a11y/sre/sre_config.js index ed6fb0be1..0dd3ae3e0 100644 --- a/components/src/a11y/sre/sre_config.js +++ b/components/src/a11y/sre/sre_config.js @@ -4,8 +4,6 @@ import {Package} from '../../../../js/components/package.js'; // This sets up the correct link to the mathmaps files. if (MathJax.startup) { - // Combine path with user defined path and resolve it wrt. MathJax path. - combineDefaults(MathJax.config.loader, 'paths', {}); let path = Package.resolvePath('[sre]', false); if (typeof window !== 'undefined') { diff --git a/ts/a11y/sre.ts b/ts/a11y/sre.ts index 648b3cbde..c5a5c6bca 100644 --- a/ts/a11y/sre.ts +++ b/ts/a11y/sre.ts @@ -84,11 +84,7 @@ export namespace Sre { * * @deprecated */ -export const sreReady = function() { - return new Promise((resolve, reject) => - Sre.sreReady().then(() => resolve()) - .catch((error: Error) => reject(error.message || error))); -}; +export const sreReady = Sre.sreReady; // Setting delay stops SRE from setting itself up (and loading locales) when it // is not actually being used. As we are not yet sure in which environment we From b19359d0bb2df33cf6aac1fb1dc9d22019054c12 Mon Sep 17 00:00:00 2001 From: zorkow Date: Tue, 10 May 2022 15:16:13 +0200 Subject: [PATCH 102/118] Ignores bad locale option. --- ts/a11y/explorer.ts | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/ts/a11y/explorer.ts b/ts/a11y/explorer.ts index 858a6d900..e30fdff76 100644 --- a/ts/a11y/explorer.ts +++ b/ts/a11y/explorer.ts @@ -398,6 +398,12 @@ let allExplorers: {[options: string]: ExplorerInit} = { explorer.speechGenerator.setOptions({ locale: doc.options.sre.locale, domain: doc.options.sre.domain, style: doc.options.sre.style, modality: 'speech'}); + // This weeds out the case of providing a non-existent locale option. + let locale = explorer.speechGenerator.getOptions().locale; + if (locale !== Sre.engineSetup().locale) { + doc.options.sre.locale = Sre.engineSetup().locale; + explorer.speechGenerator.setOptions({locale: doc.options.sre.locale}); + } explorer.showRegion = 'subtitles'; return explorer; }, From 87a1e9b18912029e26f2a1dfb1880d452c33ce3e Mon Sep 17 00:00:00 2001 From: zorkow Date: Tue, 10 May 2022 15:49:57 +0200 Subject: [PATCH 103/118] Adapts menu handling to new SRE locale mapping. --- ts/a11y/explorer.ts | 22 ++-------------------- 1 file changed, 2 insertions(+), 20 deletions(-) diff --git a/ts/a11y/explorer.ts b/ts/a11y/explorer.ts index e30fdff76..de9c8e478 100644 --- a/ts/a11y/explorer.ts +++ b/ts/a11y/explorer.ts @@ -629,24 +629,6 @@ let csMenu = function(menu: MJContextMenu, sub: Submenu) { MJContextMenu.DynamicSubmenus.set('Clearspeak', csMenu); -/** - * Locale mapping to language names. - * @type {{[locale: string]: string}} - */ -const iso: {[locale: string]: string} = { - 'ca': 'Catalan', - 'da': 'Danish', - 'de': 'German', - 'en': 'English', - 'es': 'Spanish', - 'fr': 'French', - 'hi': 'Hindi', - 'it': 'Italian', - 'nb': 'Bokmål', - 'nn': 'Nynorsk', - 'sv': 'Swedish' -}; - /** * Creates dynamic locale menu. * @param {MJContextMenu} menu The context menu. @@ -655,10 +637,10 @@ const iso: {[locale: string]: string} = { let language = function(menu: MJContextMenu, sub: Submenu) { let radios: {type: string, id: string, content: string, variable: string}[] = []; - for (let lang of Sre.locales) { + for (let lang of Sre.locales.keys()) { if (lang === 'nemeth') continue; radios.push({type: 'radio', id: lang, - content: iso[lang] || lang, variable: 'locale'}); + content: Sre.locales.get(lang) || lang, variable: 'locale'}); } radios.sort((x, y) => x.content.localeCompare(y.content, 'en')); return menu.factory.get('subMenu')(menu.factory, { From b4c6569381be6d94d24788d6f4852652d63eb9db Mon Sep 17 00:00:00 2001 From: zorkow Date: Wed, 11 May 2022 13:49:36 +0200 Subject: [PATCH 104/118] Updates SRE to latest version. --- package-lock.json | 32 ++++++++++++++++---------------- package.json | 2 +- 2 files changed, 17 insertions(+), 17 deletions(-) diff --git a/package-lock.json b/package-lock.json index 5b9387436..0d660f637 100644 --- a/package-lock.json +++ b/package-lock.json @@ -12,7 +12,7 @@ "esm": "^3.2.25", "mhchemparser": "^4.1.0", "mj-context-menu": "^0.6.1", - "speech-rule-engine": "^4.0.4" + "speech-rule-engine": "^4.0.5" }, "devDependencies": { "@babel/core": "^7.14.5", @@ -2158,11 +2158,11 @@ "dev": true }, "node_modules/commander": { - "version": "8.3.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-8.3.0.tgz", - "integrity": "sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==", + "version": "9.2.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-9.2.0.tgz", + "integrity": "sha512-e2i4wANQiSXgnrBlIatyHtP1odfUp0BbV5Y5nEGbxtIrStkEOAAzCUirvLBNXHLr7kwLvJl6V+4V3XV9x7Wd9w==", "engines": { - "node": ">= 12" + "node": "^12.20.0 || >=14" } }, "node_modules/commondir": { @@ -4014,11 +4014,11 @@ } }, "node_modules/speech-rule-engine": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/speech-rule-engine/-/speech-rule-engine-4.0.4.tgz", - "integrity": "sha512-WX1tV2+3NkGCTpKdXGupZKzmfigg4pXFxBqHyQwq59NqoezJQhbZnH8PU/ZSSIsbB4WlhHl3ssW1ZKbgq5Okng==", + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/speech-rule-engine/-/speech-rule-engine-4.0.5.tgz", + "integrity": "sha512-1ZfPUkwErbAxJ+96RjOs57AGVTgHwQDBk2nTXL7q5T9KxGkDDrO1Am6QXhpxZev8AoO8aglbRQxxh8OSj6gM3A==", "dependencies": { - "commander": "8.3.0", + "commander": "9.2.0", "wicked-good-xpath": "1.3.0", "xmldom-sre": "0.1.31" }, @@ -6554,9 +6554,9 @@ "dev": true }, "commander": { - "version": "8.3.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-8.3.0.tgz", - "integrity": "sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==" + "version": "9.2.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-9.2.0.tgz", + "integrity": "sha512-e2i4wANQiSXgnrBlIatyHtP1odfUp0BbV5Y5nEGbxtIrStkEOAAzCUirvLBNXHLr7kwLvJl6V+4V3XV9x7Wd9w==" }, "commondir": { "version": "1.0.1", @@ -7945,11 +7945,11 @@ } }, "speech-rule-engine": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/speech-rule-engine/-/speech-rule-engine-4.0.4.tgz", - "integrity": "sha512-WX1tV2+3NkGCTpKdXGupZKzmfigg4pXFxBqHyQwq59NqoezJQhbZnH8PU/ZSSIsbB4WlhHl3ssW1ZKbgq5Okng==", + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/speech-rule-engine/-/speech-rule-engine-4.0.5.tgz", + "integrity": "sha512-1ZfPUkwErbAxJ+96RjOs57AGVTgHwQDBk2nTXL7q5T9KxGkDDrO1Am6QXhpxZev8AoO8aglbRQxxh8OSj6gM3A==", "requires": { - "commander": "8.3.0", + "commander": "9.2.0", "wicked-good-xpath": "1.3.0", "xmldom-sre": "0.1.31" } diff --git a/package.json b/package.json index a94817e8f..a5bfe0107 100644 --- a/package.json +++ b/package.json @@ -65,6 +65,6 @@ "esm": "^3.2.25", "mhchemparser": "^4.1.0", "mj-context-menu": "^0.6.1", - "speech-rule-engine": "^4.0.4" + "speech-rule-engine": "^4.0.5" } } From 0fc3af0a1bf5f88d4e2110c78391ebd297466c86 Mon Sep 17 00:00:00 2001 From: "Davide P. Cervone" Date: Wed, 11 May 2022 15:31:15 -0400 Subject: [PATCH 105/118] Allow return value of false to be used in SymbolMap parsers to continue the lookup process. --- ts/input/tex/SymbolMap.ts | 20 +++++++++++--------- 1 file changed, 11 insertions(+), 9 deletions(-) diff --git a/ts/input/tex/SymbolMap.ts b/ts/input/tex/SymbolMap.ts index 1c9f10231..aec266531 100644 --- a/ts/input/tex/SymbolMap.ts +++ b/ts/input/tex/SymbolMap.ts @@ -70,6 +70,13 @@ export interface SymbolMap { } +/** + * @param {ParseResult} result The result to check + * @return {ParseResult} True if result was void, result otherwise + */ +export function parseResult(result: ParseResult): ParseResult { + return result === void 0 ? true : result; +} /** * Abstract implementation of symbol maps. @@ -116,8 +123,7 @@ export abstract class AbstractSymbolMap implements SymbolMap { public parse([env, symbol]: ParseInput) { let parser = this.parserFor(symbol); let mapped = this.lookup(symbol); - return (parser && mapped) ? - parser(env, mapped as any) || true as ParseResult : null; + return (parser && mapped) ? parseResult(parser(env, mapped as any)) : null; } @@ -311,7 +317,7 @@ export class MacroMap extends AbstractParseMap { if (!macro || !parser) { return null; } - return parser(env, macro.symbol, ...macro.args) || true as ParseResult; + return parseResult(parser(env, macro.symbol, ...macro.args)); } } @@ -334,14 +340,11 @@ export class CommandMap extends MacroMap { if (!macro || !parser) { return null; } - if (!parser) { - return null; - } let saveCommand = env.currentCS; env.currentCS = '\\' + symbol; let result = parser(env, '\\' + macro.symbol, ...macro.args); env.currentCS = saveCommand; - return result || true as ParseResult; + return parseResult(result); } } @@ -383,8 +386,7 @@ export class EnvironmentMap extends MacroMap { if (!macro || !envParser) { return null; } - this.parser(env, macro.symbol, envParser, macro.args); - return true; + return parseResult(this.parser(env, macro.symbol, envParser, macro.args)); } } From 8290e3865341b13276b8d62b9a7a48a6a370a299 Mon Sep 17 00:00:00 2001 From: "Davide P. Cervone" Date: Thu, 12 May 2022 08:45:26 -0400 Subject: [PATCH 106/118] Make U+2061 through U+2064 have TeX class NONE so they don't affect spacing. --- ts/core/MmlTree/OperatorDictionary.ts | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/ts/core/MmlTree/OperatorDictionary.ts b/ts/core/MmlTree/OperatorDictionary.ts index dc52e719c..0ca5618c4 100644 --- a/ts/core/MmlTree/OperatorDictionary.ts +++ b/ts/core/MmlTree/OperatorDictionary.ts @@ -52,6 +52,7 @@ export const MO = { ORD21: OPDEF(2, 1, TEXCLASS.ORD), ORD02: OPDEF(0, 2, TEXCLASS.ORD), ORD55: OPDEF(5, 5, TEXCLASS.ORD), + NONE: OPDEF(0, 0, TEXCLASS.NONE), OP: OPDEF(1, 2, TEXCLASS.OP, {largeop: true, movablelimits: true, symmetric: true}), OPFIXED: OPDEF(1, 2, TEXCLASS.OP, {largeop: true, movablelimits: true}), INTEGRAL: OPDEF(0, 1, TEXCLASS.OP, {largeop: true, symmetric: true}), @@ -456,10 +457,10 @@ export const OPTABLE: {[form: string]: OperatorList} = { '\u2026': MO.INNER, // horizontal ellipsis '\u2043': MO.BIN4, // hyphen bullet '\u2044': MO.TALLBIN, // fraction slash - '\u2061': MO.ORD, // function application - '\u2062': MO.ORD, // invisible times - '\u2063': [0, 0, TEXCLASS.ORD, {linebreakstyle: 'after', separator: true}], // invisible separator - '\u2064': MO.ORD, // invisible plus + '\u2061': MO.NONE, // function application + '\u2062': MO.NONE, // invisible times + '\u2063': [0, 0, TEXCLASS.NONE, {linebreakstyle: 'after', separator: true}], // invisible separator + '\u2064': MO.NONE, // invisible plus '\u20D7': MO.ACCENT, // \vec '\u2111': MO.ORD, // \Im '\u2113': MO.ORD, // \ell From c75fa06f3cdf1aba88aab239f435d7dff913c79a Mon Sep 17 00:00:00 2001 From: "Davide P. Cervone" Date: Fri, 13 May 2022 08:33:13 -0400 Subject: [PATCH 107/118] Remove movablelimits property if the accent base has it set (e.g., if it comes from \operatorname). --- ts/input/tex/base/BaseMethods.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ts/input/tex/base/BaseMethods.ts b/ts/input/tex/base/BaseMethods.ts index 54799e272..1678b3381 100644 --- a/ts/input/tex/base/BaseMethods.ts +++ b/ts/input/tex/base/BaseMethods.ts @@ -587,7 +587,7 @@ BaseMethods.Accent = function(parser: TexParser, name: string, accent: string, s NodeUtil.setAttribute(mml, 'stretchy', stretchy ? true : false); // @test Vector Op, Vector const mo = (NodeUtil.isEmbellished(c) ? NodeUtil.getCoreMO(c) : c); - if (NodeUtil.isType(mo, 'mo')) { + if (NodeUtil.isType(mo, 'mo') || NodeUtil.getProperty(mo, 'movablelimits')) { // @test Vector Op NodeUtil.setProperties(mo, {'movablelimits': false}); } From 5db81b900c5a78ecb0bd439d7257322240122623 Mon Sep 17 00:00:00 2001 From: "Davide P. Cervone" Date: Mon, 16 May 2022 08:37:07 -0400 Subject: [PATCH 108/118] Wrap sideset in an TeXAtom of class OP (so following _ and ^ work as expected) --- ts/input/tex/ams/AmsMethods.ts | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/ts/input/tex/ams/AmsMethods.ts b/ts/input/tex/ams/AmsMethods.ts index 9348d6bba..b1132c5f6 100644 --- a/ts/input/tex/ams/AmsMethods.ts +++ b/ts/input/tex/ams/AmsMethods.ts @@ -324,17 +324,19 @@ AmsMethods.SideSet = function (parser: TexParser, name: string) { mml = postScripts; } // - // Push the needed pieces onto the stack. + // Put the needed pieces into a TeXAtom of class OP. // Note that the postScripts are in the mml element, // either as part of the mmultiscripts node, or the // msubsup with the base inserted into it. // + const mrow = parser.create('node', 'TeXAtom', [], {texClass: TEXCLASS.OP, movesupsub: true, movablelimits: true}); if (preRest) { - preScripts && parser.Push(preScripts); - parser.Push(preRest); + preScripts && mrow.appendChild(preScripts); + mrow.appendChild(preRest); } - parser.Push(mml); - postRest && parser.Push(postRest); + mrow.appendChild(mml); + postRest && mrow.appendChild(postRest); + parser.Push(mrow); }; /** From dc83b66e508803f8e027bebd522564db5c43b50f Mon Sep 17 00:00:00 2001 From: "Davide P. Cervone" Date: Mon, 16 May 2022 09:38:32 -0400 Subject: [PATCH 109/118] Fix relative width in mpadded, and correct indentation --- ts/input/tex/amscd/AmsCdMethods.ts | 38 +++++++++++++++--------------- 1 file changed, 19 insertions(+), 19 deletions(-) diff --git a/ts/input/tex/amscd/AmsCdMethods.ts b/ts/input/tex/amscd/AmsCdMethods.ts index 78cadddee..8c7d0693a 100644 --- a/ts/input/tex/amscd/AmsCdMethods.ts +++ b/ts/input/tex/amscd/AmsCdMethods.ts @@ -116,7 +116,7 @@ AmsCdMethods.arrow = function(parser: TexParser, name: string) { a = '\\kern ' + top.getProperty('minw'); } // minsize needs work if (a || b) { - let pad: EnvList = {width: '.67em', lspace: '.33em'}; + let pad: EnvList = {width: '+.67em', lspace: '.33em'}; mml = parser.create('node', 'munderover', [mml]) as MmlMunderover; if (a) { let nodeA = new TexParser(a, parser.stack.env, parser.configuration).mml(); @@ -128,28 +128,28 @@ AmsCdMethods.arrow = function(parser: TexParser, name: string) { let nodeB = new TexParser(b, parser.stack.env, parser.configuration).mml(); NodeUtil.setChild(mml, mml.under, parser.create('node', 'mpadded', [nodeB], pad)); } - if (parser.configuration.options.amscd.hideHorizontalLabels) { - mml = parser.create('node', 'mpadded', mml, {depth: 0, height: '.67em'}); - } + if (parser.configuration.options.amscd.hideHorizontalLabels) { + mml = parser.create('node', 'mpadded', mml, {depth: 0, height: '.67em'}); } - } else { + } + } else { // // Lay out vertical arrows with mrow if there are labels // - let arrowNode = parser.create('token', 'mo', vdef, arrow); - mml = arrowNode; - if (a || b) { - mml = parser.create('node', 'mrow'); - if (a) { - NodeUtil.appendChildren( - mml, [new TexParser('\\scriptstyle\\llap{' + a + '}', parser.stack.env, parser.configuration).mml()]); - } - arrowNode.texClass = TEXCLASS.ORD; - NodeUtil.appendChildren(mml, [arrowNode]); - if (b) { - NodeUtil.appendChildren(mml, [new TexParser('\\scriptstyle\\rlap{' + b + '}', - parser.stack.env, parser.configuration).mml()]); - } + let arrowNode = parser.create('token', 'mo', vdef, arrow); + mml = arrowNode; + if (a || b) { + mml = parser.create('node', 'mrow'); + if (a) { + NodeUtil.appendChildren( + mml, [new TexParser('\\scriptstyle\\llap{' + a + '}', parser.stack.env, parser.configuration).mml()]); + } + arrowNode.texClass = TEXCLASS.ORD; + NodeUtil.appendChildren(mml, [arrowNode]); + if (b) { + NodeUtil.appendChildren(mml, [new TexParser('\\scriptstyle\\rlap{' + b + '}', + parser.stack.env, parser.configuration).mml()]); + } } } } From 74a8e413e45b40cab5e94e498392936090fd89ee Mon Sep 17 00:00:00 2001 From: zorkow Date: Mon, 16 May 2022 18:04:58 +0200 Subject: [PATCH 110/118] Exposes SRE's `toSpeech` API method. --- ts/a11y/sre.ts | 2 ++ 1 file changed, 2 insertions(+) diff --git a/ts/a11y/sre.ts b/ts/a11y/sre.ts index c5a5c6bca..f99def4ed 100644 --- a/ts/a11y/sre.ts +++ b/ts/a11y/sre.ts @@ -54,6 +54,8 @@ export namespace Sre { export const toEnriched = Api.toEnriched; + export const toSpeech = Api.toSpeech; + export const clearspeakPreferences = ClearspeakPreferences; export const getHighlighter = HighlighterFactory.highlighter; From bf23b28cc0c8639e2947b25d64d2861a974a34fd Mon Sep 17 00:00:00 2001 From: "Davide P. Cervone" Date: Wed, 18 May 2022 10:39:22 -0400 Subject: [PATCH 111/118] Properly set parent for newly created mtd --- ts/input/tex/ParseUtil.ts | 2 +- ts/input/tex/empheq/EmpheqUtil.ts | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/ts/input/tex/ParseUtil.ts b/ts/input/tex/ParseUtil.ts index 9bd3427c0..48a9d8b8f 100644 --- a/ts/input/tex/ParseUtil.ts +++ b/ts/input/tex/ParseUtil.ts @@ -549,7 +549,7 @@ namespace ParseUtil { options.addNode(n.kind, n); const lists = (n.getProperty('in-lists') as string || '').split(/,/); for (const list of lists) { - options.addNode(list, n); + list && options.addNode(list, n); } }); return tree; diff --git a/ts/input/tex/empheq/EmpheqUtil.ts b/ts/input/tex/empheq/EmpheqUtil.ts index c4f42270b..4a37e5f30 100644 --- a/ts/input/tex/empheq/EmpheqUtil.ts +++ b/ts/input/tex/empheq/EmpheqUtil.ts @@ -152,7 +152,7 @@ export const EmpheqUtil = { for (const row of table.childNodes.slice(0).reverse()) { mtd = parser.create('node', 'mtd'); row.childNodes.unshift(mtd); - row.replaceChild(mtd, mtd); // make sure parent is set + mtd.parent = row; if (row.isKind('mlabeledtr')) { row.childNodes[0] = row.childNodes[1]; row.childNodes[1] = mtd; From ebef93bf05f1be265f889602a7aabfc53a587a01 Mon Sep 17 00:00:00 2001 From: zorkow Date: Thu, 19 May 2022 11:00:25 +0200 Subject: [PATCH 112/118] Makes sure that MathJax waits for the correct promise. --- ts/a11y/semantic-enrich.ts | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/ts/a11y/semantic-enrich.ts b/ts/a11y/semantic-enrich.ts index ad37fe44a..cdee6b12d 100644 --- a/ts/a11y/semantic-enrich.ts +++ b/ts/a11y/semantic-enrich.ts @@ -129,7 +129,9 @@ export function EnrichedMathItemMixin Sre.sreReady())); } const math = new document.options.MathItem('', MmlJax); try { From 3e72d839c852fefcd345ac897c0bd6b0d0eca91e Mon Sep 17 00:00:00 2001 From: "Davide P. Cervone" Date: Thu, 19 May 2022 10:09:56 -0400 Subject: [PATCH 113/118] Fix typo in README --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 177da95f6..9b4ac4057 100644 --- a/README.md +++ b/README.md @@ -101,7 +101,7 @@ require('mathjax').init({ }).catch((err) => console.log(err.message)); ``` -**Note:** this technique is for node-based application only, not for +**Note:** this technique is for node-based applications only, not for browser applications. This method sets up an alternative DOM implementation, which you don't need in the browser, and tells MathJax to use node's `require()` command to load external modules. This From a5ae9485cb7441fdd5ea59645cfbd1c12b7d53e1 Mon Sep 17 00:00:00 2001 From: "Davide P. Cervone" Date: Thu, 19 May 2022 10:31:39 -0400 Subject: [PATCH 114/118] Update copyright years --- ts/a11y/assistive-mml.ts | 2 +- ts/a11y/complexity.ts | 2 +- ts/a11y/complexity/collapse.ts | 2 +- ts/a11y/complexity/visitor.ts | 2 +- ts/a11y/explorer.ts | 2 +- ts/a11y/explorer/Explorer.ts | 2 +- ts/a11y/explorer/KeyExplorer.ts | 2 +- ts/a11y/explorer/MouseExplorer.ts | 2 +- ts/a11y/explorer/Region.ts | 2 +- ts/a11y/explorer/TreeExplorer.ts | 2 +- ts/a11y/mathmaps.ts | 2 +- ts/a11y/semantic-enrich.ts | 2 +- ts/a11y/sre.ts | 2 +- ts/adaptors/HTMLAdaptor.ts | 2 +- ts/adaptors/NodeMixin.ts | 2 +- ts/adaptors/browserAdaptor.ts | 2 +- ts/adaptors/chooseAdaptor.ts | 2 +- ts/adaptors/jsdomAdaptor.ts | 2 +- ts/adaptors/linkedomAdaptor.ts | 2 +- ts/adaptors/lite/Document.ts | 2 +- ts/adaptors/lite/Element.ts | 2 +- ts/adaptors/lite/List.ts | 2 +- ts/adaptors/lite/Parser.ts | 2 +- ts/adaptors/lite/Text.ts | 2 +- ts/adaptors/lite/Window.ts | 2 +- ts/adaptors/liteAdaptor.ts | 2 +- ts/components/global.ts | 2 +- ts/components/latest.ts | 2 +- ts/components/loader.ts | 2 +- ts/components/package.ts | 2 +- ts/components/startup.ts | 2 +- ts/components/version.ts | 2 +- ts/core/DOMAdaptor.ts | 2 +- ts/core/FindMath.ts | 2 +- ts/core/Handler.ts | 2 +- ts/core/HandlerList.ts | 2 +- ts/core/InputJax.ts | 2 +- ts/core/MathDocument.ts | 2 +- ts/core/MathItem.ts | 2 +- ts/core/MathList.ts | 2 +- ts/core/MmlTree/Attributes.ts | 2 +- ts/core/MmlTree/JsonMmlVisitor.ts | 2 +- ts/core/MmlTree/LegacyMmlVisitor.ts | 2 +- ts/core/MmlTree/MML.ts | 2 +- ts/core/MmlTree/MathMLVisitor.ts | 2 +- ts/core/MmlTree/MmlFactory.ts | 2 +- ts/core/MmlTree/MmlNode.ts | 2 +- ts/core/MmlTree/MmlNodes/TeXAtom.ts | 2 +- ts/core/MmlTree/MmlNodes/maction.ts | 2 +- ts/core/MmlTree/MmlNodes/maligngroup.ts | 2 +- ts/core/MmlTree/MmlNodes/malignmark.ts | 2 +- ts/core/MmlTree/MmlNodes/math.ts | 2 +- ts/core/MmlTree/MmlNodes/mathchoice.ts | 2 +- ts/core/MmlTree/MmlNodes/menclose.ts | 2 +- ts/core/MmlTree/MmlNodes/merror.ts | 2 +- ts/core/MmlTree/MmlNodes/mfenced.ts | 2 +- ts/core/MmlTree/MmlNodes/mfrac.ts | 2 +- ts/core/MmlTree/MmlNodes/mglyph.ts | 2 +- ts/core/MmlTree/MmlNodes/mi.ts | 2 +- ts/core/MmlTree/MmlNodes/mmultiscripts.ts | 2 +- ts/core/MmlTree/MmlNodes/mn.ts | 2 +- ts/core/MmlTree/MmlNodes/mo.ts | 2 +- ts/core/MmlTree/MmlNodes/mpadded.ts | 2 +- ts/core/MmlTree/MmlNodes/mphantom.ts | 2 +- ts/core/MmlTree/MmlNodes/mroot.ts | 2 +- ts/core/MmlTree/MmlNodes/mrow.ts | 2 +- ts/core/MmlTree/MmlNodes/ms.ts | 2 +- ts/core/MmlTree/MmlNodes/mspace.ts | 2 +- ts/core/MmlTree/MmlNodes/msqrt.ts | 2 +- ts/core/MmlTree/MmlNodes/mstyle.ts | 2 +- ts/core/MmlTree/MmlNodes/msubsup.ts | 2 +- ts/core/MmlTree/MmlNodes/mtable.ts | 2 +- ts/core/MmlTree/MmlNodes/mtd.ts | 2 +- ts/core/MmlTree/MmlNodes/mtext.ts | 2 +- ts/core/MmlTree/MmlNodes/mtr.ts | 2 +- ts/core/MmlTree/MmlNodes/munderover.ts | 2 +- ts/core/MmlTree/MmlNodes/semantics.ts | 2 +- ts/core/MmlTree/MmlVisitor.ts | 2 +- ts/core/MmlTree/OperatorDictionary.ts | 2 +- ts/core/MmlTree/SerializedMmlVisitor.ts | 2 +- ts/core/MmlTree/TestMmlVisitor.ts | 2 +- ts/core/OutputJax.ts | 2 +- ts/core/Tree/Factory.ts | 2 +- ts/core/Tree/Node.ts | 2 +- ts/core/Tree/NodeFactory.ts | 2 +- ts/core/Tree/Visitor.ts | 2 +- ts/core/Tree/Wrapper.ts | 2 +- ts/core/Tree/WrapperFactory.ts | 2 +- ts/handlers/html.ts | 2 +- ts/handlers/html/HTMLDocument.ts | 2 +- ts/handlers/html/HTMLDomStrings.ts | 2 +- ts/handlers/html/HTMLHandler.ts | 2 +- ts/handlers/html/HTMLMathItem.ts | 2 +- ts/handlers/html/HTMLMathList.ts | 2 +- ts/input/asciimath.ts | 2 +- ts/input/asciimath/FindAsciiMath.ts | 2 +- ts/input/mathml.ts | 2 +- ts/input/mathml/FindMathML.ts | 2 +- ts/input/mathml/MathMLCompile.ts | 2 +- ts/input/mathml/mml3/mml3-node.ts | 2 +- ts/input/mathml/mml3/mml3.ts | 2 +- ts/input/tex.ts | 2 +- ts/input/tex/AllPackages.ts | 2 +- ts/input/tex/Configuration.ts | 2 +- ts/input/tex/FilterUtil.ts | 2 +- ts/input/tex/FindTeX.ts | 2 +- ts/input/tex/MapHandler.ts | 2 +- ts/input/tex/NodeFactory.ts | 2 +- ts/input/tex/NodeUtil.ts | 2 +- ts/input/tex/ParseMethods.ts | 2 +- ts/input/tex/ParseOptions.ts | 2 +- ts/input/tex/ParseUtil.ts | 2 +- ts/input/tex/Stack.ts | 2 +- ts/input/tex/StackItem.ts | 2 +- ts/input/tex/StackItemFactory.ts | 2 +- ts/input/tex/Symbol.ts | 2 +- ts/input/tex/SymbolMap.ts | 2 +- ts/input/tex/Tags.ts | 2 +- ts/input/tex/TexConstants.ts | 2 +- ts/input/tex/TexError.ts | 2 +- ts/input/tex/TexParser.ts | 2 +- ts/input/tex/Types.ts | 2 +- ts/input/tex/action/ActionConfiguration.ts | 2 +- ts/input/tex/ams/AmsConfiguration.ts | 2 +- ts/input/tex/ams/AmsItems.ts | 2 +- ts/input/tex/ams/AmsMappings.ts | 2 +- ts/input/tex/ams/AmsMethods.ts | 2 +- ts/input/tex/amscd/AmsCdConfiguration.ts | 2 +- ts/input/tex/amscd/AmsCdMappings.ts | 2 +- ts/input/tex/amscd/AmsCdMethods.ts | 2 +- ts/input/tex/autoload/AutoloadConfiguration.ts | 2 +- ts/input/tex/base/BaseConfiguration.ts | 2 +- ts/input/tex/base/BaseItems.ts | 2 +- ts/input/tex/base/BaseMappings.ts | 2 +- ts/input/tex/base/BaseMethods.ts | 2 +- ts/input/tex/bbox/BboxConfiguration.ts | 2 +- ts/input/tex/boldsymbol/BoldsymbolConfiguration.ts | 2 +- ts/input/tex/braket/BraketConfiguration.ts | 2 +- ts/input/tex/braket/BraketItems.ts | 2 +- ts/input/tex/braket/BraketMappings.ts | 2 +- ts/input/tex/braket/BraketMethods.ts | 2 +- ts/input/tex/bussproofs/BussproofsConfiguration.ts | 2 +- ts/input/tex/bussproofs/BussproofsItems.ts | 2 +- ts/input/tex/bussproofs/BussproofsMappings.ts | 2 +- ts/input/tex/bussproofs/BussproofsMethods.ts | 2 +- ts/input/tex/bussproofs/BussproofsUtil.ts | 2 +- ts/input/tex/cancel/CancelConfiguration.ts | 2 +- ts/input/tex/centernot/CenternotConfiguration.ts | 2 +- ts/input/tex/color/ColorConfiguration.ts | 2 +- ts/input/tex/color/ColorConstants.ts | 2 +- ts/input/tex/color/ColorMethods.ts | 2 +- ts/input/tex/color/ColorUtil.ts | 2 +- ts/input/tex/colortbl/ColortblConfiguration.ts | 2 +- ts/input/tex/colorv2/ColorV2Configuration.ts | 2 +- ts/input/tex/configmacros/ConfigMacrosConfiguration.ts | 2 +- ts/input/tex/empheq/EmpheqConfiguration.ts | 2 +- ts/input/tex/empheq/EmpheqUtil.ts | 2 +- ts/input/tex/enclose/EncloseConfiguration.ts | 2 +- ts/input/tex/extpfeil/ExtpfeilConfiguration.ts | 2 +- ts/input/tex/gensymb/GensymbConfiguration.ts | 2 +- ts/input/tex/html/HtmlConfiguration.ts | 2 +- ts/input/tex/html/HtmlMethods.ts | 2 +- ts/input/tex/mathtools/MathtoolsConfiguration.ts | 2 +- ts/input/tex/mathtools/MathtoolsItems.ts | 2 +- ts/input/tex/mathtools/MathtoolsMappings.ts | 2 +- ts/input/tex/mathtools/MathtoolsMethods.ts | 2 +- ts/input/tex/mathtools/MathtoolsTags.ts | 2 +- ts/input/tex/mathtools/MathtoolsUtil.ts | 2 +- ts/input/tex/mhchem/MhchemConfiguration.ts | 2 +- ts/input/tex/newcommand/NewcommandConfiguration.ts | 2 +- ts/input/tex/newcommand/NewcommandItems.ts | 2 +- ts/input/tex/newcommand/NewcommandMappings.ts | 2 +- ts/input/tex/newcommand/NewcommandMethods.ts | 2 +- ts/input/tex/newcommand/NewcommandUtil.ts | 2 +- ts/input/tex/noerrors/NoErrorsConfiguration.ts | 2 +- ts/input/tex/noundefined/NoUndefinedConfiguration.ts | 2 +- ts/input/tex/physics/PhysicsConfiguration.ts | 2 +- ts/input/tex/physics/PhysicsItems.ts | 2 +- ts/input/tex/physics/PhysicsMappings.ts | 2 +- ts/input/tex/physics/PhysicsMethods.ts | 2 +- ts/input/tex/require/RequireConfiguration.ts | 2 +- ts/input/tex/setoptions/SetOptionsConfiguration.ts | 2 +- ts/input/tex/tagformat/TagFormatConfiguration.ts | 2 +- ts/input/tex/textcomp/TextcompConfiguration.ts | 2 +- ts/input/tex/textcomp/TextcompMappings.ts | 2 +- ts/input/tex/textmacros/TextMacrosConfiguration.ts | 2 +- ts/input/tex/textmacros/TextMacrosMappings.ts | 2 +- ts/input/tex/textmacros/TextMacrosMethods.ts | 2 +- ts/input/tex/textmacros/TextParser.ts | 2 +- ts/input/tex/unicode/UnicodeConfiguration.ts | 2 +- ts/input/tex/upgreek/UpgreekConfiguration.ts | 2 +- ts/input/tex/verb/VerbConfiguration.ts | 2 +- ts/mathjax.ts | 2 +- ts/output/chtml.ts | 2 +- ts/output/chtml/FontData.ts | 2 +- ts/output/chtml/Notation.ts | 2 +- ts/output/chtml/Usage.ts | 2 +- ts/output/chtml/Wrapper.ts | 2 +- ts/output/chtml/WrapperFactory.ts | 2 +- ts/output/chtml/Wrappers.ts | 2 +- ts/output/chtml/Wrappers/TeXAtom.ts | 2 +- ts/output/chtml/Wrappers/TextNode.ts | 2 +- ts/output/chtml/Wrappers/maction.ts | 2 +- ts/output/chtml/Wrappers/math.ts | 2 +- ts/output/chtml/Wrappers/menclose.ts | 2 +- ts/output/chtml/Wrappers/mfenced.ts | 2 +- ts/output/chtml/Wrappers/mfrac.ts | 2 +- ts/output/chtml/Wrappers/mglyph.ts | 2 +- ts/output/chtml/Wrappers/mi.ts | 2 +- ts/output/chtml/Wrappers/mmultiscripts.ts | 2 +- ts/output/chtml/Wrappers/mn.ts | 2 +- ts/output/chtml/Wrappers/mo.ts | 2 +- ts/output/chtml/Wrappers/mpadded.ts | 2 +- ts/output/chtml/Wrappers/mroot.ts | 2 +- ts/output/chtml/Wrappers/mrow.ts | 2 +- ts/output/chtml/Wrappers/ms.ts | 2 +- ts/output/chtml/Wrappers/mspace.ts | 2 +- ts/output/chtml/Wrappers/msqrt.ts | 2 +- ts/output/chtml/Wrappers/msubsup.ts | 2 +- ts/output/chtml/Wrappers/mtable.ts | 2 +- ts/output/chtml/Wrappers/mtd.ts | 2 +- ts/output/chtml/Wrappers/mtext.ts | 2 +- ts/output/chtml/Wrappers/mtr.ts | 2 +- ts/output/chtml/Wrappers/munderover.ts | 2 +- ts/output/chtml/Wrappers/scriptbase.ts | 2 +- ts/output/chtml/Wrappers/semantics.ts | 2 +- ts/output/chtml/fonts/tex.ts | 2 +- ts/output/chtml/fonts/tex/bold-italic.ts | 2 +- ts/output/chtml/fonts/tex/bold.ts | 2 +- ts/output/chtml/fonts/tex/double-struck.ts | 2 +- ts/output/chtml/fonts/tex/fraktur-bold.ts | 2 +- ts/output/chtml/fonts/tex/fraktur.ts | 2 +- ts/output/chtml/fonts/tex/italic.ts | 2 +- ts/output/chtml/fonts/tex/largeop.ts | 2 +- ts/output/chtml/fonts/tex/monospace.ts | 2 +- ts/output/chtml/fonts/tex/normal.ts | 2 +- ts/output/chtml/fonts/tex/sans-serif-bold-italic.ts | 2 +- ts/output/chtml/fonts/tex/sans-serif-bold.ts | 2 +- ts/output/chtml/fonts/tex/sans-serif-italic.ts | 2 +- ts/output/chtml/fonts/tex/sans-serif.ts | 2 +- ts/output/chtml/fonts/tex/script-bold.ts | 2 +- ts/output/chtml/fonts/tex/script.ts | 2 +- ts/output/chtml/fonts/tex/smallop.ts | 2 +- ts/output/chtml/fonts/tex/tex-calligraphic-bold.ts | 2 +- ts/output/chtml/fonts/tex/tex-calligraphic.ts | 2 +- ts/output/chtml/fonts/tex/tex-mathit.ts | 2 +- ts/output/chtml/fonts/tex/tex-oldstyle-bold.ts | 2 +- ts/output/chtml/fonts/tex/tex-oldstyle.ts | 2 +- ts/output/chtml/fonts/tex/tex-size3.ts | 2 +- ts/output/chtml/fonts/tex/tex-size4.ts | 2 +- ts/output/chtml/fonts/tex/tex-variant.ts | 2 +- ts/output/common/FontData.ts | 2 +- ts/output/common/Notation.ts | 2 +- ts/output/common/OutputJax.ts | 2 +- ts/output/common/Wrapper.ts | 2 +- ts/output/common/WrapperFactory.ts | 2 +- ts/output/common/Wrappers/TeXAtom.ts | 2 +- ts/output/common/Wrappers/TextNode.ts | 2 +- ts/output/common/Wrappers/maction.ts | 2 +- ts/output/common/Wrappers/math.ts | 2 +- ts/output/common/Wrappers/menclose.ts | 2 +- ts/output/common/Wrappers/mfenced.ts | 2 +- ts/output/common/Wrappers/mfrac.ts | 2 +- ts/output/common/Wrappers/mglyph.ts | 2 +- ts/output/common/Wrappers/mi.ts | 2 +- ts/output/common/Wrappers/mmultiscripts.ts | 2 +- ts/output/common/Wrappers/mn.ts | 2 +- ts/output/common/Wrappers/mo.ts | 2 +- ts/output/common/Wrappers/mpadded.ts | 2 +- ts/output/common/Wrappers/mroot.ts | 2 +- ts/output/common/Wrappers/mrow.ts | 2 +- ts/output/common/Wrappers/ms.ts | 2 +- ts/output/common/Wrappers/mspace.ts | 2 +- ts/output/common/Wrappers/msqrt.ts | 2 +- ts/output/common/Wrappers/msubsup.ts | 2 +- ts/output/common/Wrappers/mtable.ts | 2 +- ts/output/common/Wrappers/mtd.ts | 2 +- ts/output/common/Wrappers/mtext.ts | 2 +- ts/output/common/Wrappers/mtr.ts | 2 +- ts/output/common/Wrappers/munderover.ts | 2 +- ts/output/common/Wrappers/scriptbase.ts | 2 +- ts/output/common/Wrappers/semantics.ts | 2 +- ts/output/common/fonts/tex.ts | 2 +- ts/output/common/fonts/tex/bold-italic.ts | 2 +- ts/output/common/fonts/tex/bold.ts | 2 +- ts/output/common/fonts/tex/delimiters.ts | 2 +- ts/output/common/fonts/tex/double-struck.ts | 2 +- ts/output/common/fonts/tex/fraktur-bold.ts | 2 +- ts/output/common/fonts/tex/fraktur.ts | 2 +- ts/output/common/fonts/tex/italic.ts | 2 +- ts/output/common/fonts/tex/largeop.ts | 2 +- ts/output/common/fonts/tex/monospace.ts | 2 +- ts/output/common/fonts/tex/normal.ts | 2 +- ts/output/common/fonts/tex/sans-serif-bold-italic.ts | 2 +- ts/output/common/fonts/tex/sans-serif-bold.ts | 2 +- ts/output/common/fonts/tex/sans-serif-italic.ts | 2 +- ts/output/common/fonts/tex/sans-serif.ts | 2 +- ts/output/common/fonts/tex/script-bold.ts | 2 +- ts/output/common/fonts/tex/script.ts | 2 +- ts/output/common/fonts/tex/smallop.ts | 2 +- ts/output/common/fonts/tex/tex-calligraphic-bold.ts | 2 +- ts/output/common/fonts/tex/tex-calligraphic.ts | 2 +- ts/output/common/fonts/tex/tex-mathit.ts | 2 +- ts/output/common/fonts/tex/tex-oldstyle-bold.ts | 2 +- ts/output/common/fonts/tex/tex-oldstyle.ts | 2 +- ts/output/common/fonts/tex/tex-size3.ts | 2 +- ts/output/common/fonts/tex/tex-size4.ts | 2 +- ts/output/common/fonts/tex/tex-variant.ts | 2 +- ts/output/svg.ts | 2 +- ts/output/svg/FontCache.ts | 2 +- ts/output/svg/FontData.ts | 2 +- ts/output/svg/Notation.ts | 2 +- ts/output/svg/Wrapper.ts | 2 +- ts/output/svg/WrapperFactory.ts | 2 +- ts/output/svg/Wrappers.ts | 2 +- ts/output/svg/Wrappers/TeXAtom.ts | 2 +- ts/output/svg/Wrappers/TextNode.ts | 2 +- ts/output/svg/Wrappers/maction.ts | 2 +- ts/output/svg/Wrappers/math.ts | 2 +- ts/output/svg/Wrappers/menclose.ts | 2 +- ts/output/svg/Wrappers/merror.ts | 2 +- ts/output/svg/Wrappers/mfenced.ts | 2 +- ts/output/svg/Wrappers/mfrac.ts | 2 +- ts/output/svg/Wrappers/mglyph.ts | 2 +- ts/output/svg/Wrappers/mi.ts | 2 +- ts/output/svg/Wrappers/mmultiscripts.ts | 2 +- ts/output/svg/Wrappers/mn.ts | 2 +- ts/output/svg/Wrappers/mo.ts | 2 +- ts/output/svg/Wrappers/mpadded.ts | 2 +- ts/output/svg/Wrappers/mphantom.ts | 2 +- ts/output/svg/Wrappers/mroot.ts | 2 +- ts/output/svg/Wrappers/mrow.ts | 2 +- ts/output/svg/Wrappers/ms.ts | 2 +- ts/output/svg/Wrappers/mspace.ts | 2 +- ts/output/svg/Wrappers/msqrt.ts | 2 +- ts/output/svg/Wrappers/msubsup.ts | 2 +- ts/output/svg/Wrappers/mtable.ts | 2 +- ts/output/svg/Wrappers/mtd.ts | 2 +- ts/output/svg/Wrappers/mtext.ts | 2 +- ts/output/svg/Wrappers/mtr.ts | 2 +- ts/output/svg/Wrappers/munderover.ts | 2 +- ts/output/svg/Wrappers/scriptbase.ts | 2 +- ts/output/svg/Wrappers/semantics.ts | 2 +- ts/output/svg/fonts/tex.ts | 2 +- ts/output/svg/fonts/tex/bold-italic.ts | 2 +- ts/output/svg/fonts/tex/bold.ts | 2 +- ts/output/svg/fonts/tex/double-struck.ts | 2 +- ts/output/svg/fonts/tex/fraktur-bold.ts | 2 +- ts/output/svg/fonts/tex/fraktur.ts | 2 +- ts/output/svg/fonts/tex/italic.ts | 2 +- ts/output/svg/fonts/tex/largeop.ts | 2 +- ts/output/svg/fonts/tex/monospace.ts | 2 +- ts/output/svg/fonts/tex/normal.ts | 2 +- ts/output/svg/fonts/tex/sans-serif-bold-italic.ts | 2 +- ts/output/svg/fonts/tex/sans-serif-bold.ts | 2 +- ts/output/svg/fonts/tex/sans-serif-italic.ts | 2 +- ts/output/svg/fonts/tex/sans-serif.ts | 2 +- ts/output/svg/fonts/tex/script-bold.ts | 2 +- ts/output/svg/fonts/tex/script.ts | 2 +- ts/output/svg/fonts/tex/smallop.ts | 2 +- ts/output/svg/fonts/tex/tex-calligraphic-bold.ts | 2 +- ts/output/svg/fonts/tex/tex-calligraphic.ts | 2 +- ts/output/svg/fonts/tex/tex-mathit.ts | 2 +- ts/output/svg/fonts/tex/tex-oldstyle-bold.ts | 2 +- ts/output/svg/fonts/tex/tex-oldstyle.ts | 2 +- ts/output/svg/fonts/tex/tex-size3.ts | 2 +- ts/output/svg/fonts/tex/tex-size4.ts | 2 +- ts/output/svg/fonts/tex/tex-variant.ts | 2 +- ts/ui/lazy/LazyHandler.ts | 2 +- ts/ui/menu/MJContextMenu.ts | 2 +- ts/ui/menu/Menu.ts | 2 +- ts/ui/menu/MenuHandler.ts | 2 +- ts/ui/menu/MmlVisitor.ts | 2 +- ts/ui/menu/SelectableInfo.ts | 2 +- ts/ui/safe/SafeHandler.ts | 2 +- ts/ui/safe/SafeMethods.ts | 2 +- ts/ui/safe/safe.ts | 2 +- ts/util/AsyncLoad.ts | 2 +- ts/util/BBox.ts | 2 +- ts/util/BitField.ts | 2 +- ts/util/Entities.ts | 2 +- ts/util/FunctionList.ts | 2 +- ts/util/LinkedList.ts | 2 +- ts/util/Options.ts | 2 +- ts/util/PrioritizedList.ts | 2 +- ts/util/Retries.ts | 2 +- ts/util/StyleList.ts | 2 +- ts/util/Styles.ts | 2 +- ts/util/asyncLoad/node.ts | 2 +- ts/util/asyncLoad/system.ts | 2 +- ts/util/entities/a.ts | 2 +- ts/util/entities/all.ts | 2 +- ts/util/entities/b.ts | 2 +- ts/util/entities/c.ts | 2 +- ts/util/entities/d.ts | 2 +- ts/util/entities/e.ts | 2 +- ts/util/entities/f.ts | 2 +- ts/util/entities/fr.ts | 2 +- ts/util/entities/g.ts | 2 +- ts/util/entities/h.ts | 2 +- ts/util/entities/i.ts | 2 +- ts/util/entities/j.ts | 2 +- ts/util/entities/k.ts | 2 +- ts/util/entities/l.ts | 2 +- ts/util/entities/m.ts | 2 +- ts/util/entities/n.ts | 2 +- ts/util/entities/o.ts | 2 +- ts/util/entities/opf.ts | 2 +- ts/util/entities/p.ts | 2 +- ts/util/entities/q.ts | 2 +- ts/util/entities/r.ts | 2 +- ts/util/entities/s.ts | 2 +- ts/util/entities/scr.ts | 2 +- ts/util/entities/t.ts | 2 +- ts/util/entities/u.ts | 2 +- ts/util/entities/v.ts | 2 +- ts/util/entities/w.ts | 2 +- ts/util/entities/x.ts | 2 +- ts/util/entities/y.ts | 2 +- ts/util/entities/z.ts | 2 +- ts/util/lengths.ts | 2 +- ts/util/numeric.ts | 2 +- ts/util/string.ts | 2 +- 423 files changed, 423 insertions(+), 423 deletions(-) diff --git a/ts/a11y/assistive-mml.ts b/ts/a11y/assistive-mml.ts index 9be8a6209..349cfe4c9 100644 --- a/ts/a11y/assistive-mml.ts +++ b/ts/a11y/assistive-mml.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2019-2021 The MathJax Consortium + * Copyright (c) 2019-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/a11y/complexity.ts b/ts/a11y/complexity.ts index cf2193741..7635a0e33 100644 --- a/ts/a11y/complexity.ts +++ b/ts/a11y/complexity.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2018-2021 The MathJax Consortium + * Copyright (c) 2018-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/a11y/complexity/collapse.ts b/ts/a11y/complexity/collapse.ts index 2eb30c42b..c9befe58c 100644 --- a/ts/a11y/complexity/collapse.ts +++ b/ts/a11y/complexity/collapse.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2018-2021 The MathJax Consortium + * Copyright (c) 2018-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/a11y/complexity/visitor.ts b/ts/a11y/complexity/visitor.ts index 688f29a01..1e755fdd1 100644 --- a/ts/a11y/complexity/visitor.ts +++ b/ts/a11y/complexity/visitor.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2018-2021 The MathJax Consortium + * Copyright (c) 2018-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/a11y/explorer.ts b/ts/a11y/explorer.ts index de9c8e478..b170edb0b 100644 --- a/ts/a11y/explorer.ts +++ b/ts/a11y/explorer.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2018-2021 The MathJax Consortium + * Copyright (c) 2018-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/a11y/explorer/Explorer.ts b/ts/a11y/explorer/Explorer.ts index ce1bc3415..d94833364 100644 --- a/ts/a11y/explorer/Explorer.ts +++ b/ts/a11y/explorer/Explorer.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2009-2021 The MathJax Consortium + * Copyright (c) 2009-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/a11y/explorer/KeyExplorer.ts b/ts/a11y/explorer/KeyExplorer.ts index 54795a84a..3d42e2b3e 100644 --- a/ts/a11y/explorer/KeyExplorer.ts +++ b/ts/a11y/explorer/KeyExplorer.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2009-2021 The MathJax Consortium + * Copyright (c) 2009-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/a11y/explorer/MouseExplorer.ts b/ts/a11y/explorer/MouseExplorer.ts index ff980c60a..715723ef3 100644 --- a/ts/a11y/explorer/MouseExplorer.ts +++ b/ts/a11y/explorer/MouseExplorer.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2009-2021 The MathJax Consortium + * Copyright (c) 2009-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/a11y/explorer/Region.ts b/ts/a11y/explorer/Region.ts index 113abc922..e34fb1dba 100644 --- a/ts/a11y/explorer/Region.ts +++ b/ts/a11y/explorer/Region.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2009-2021 The MathJax Consortium + * Copyright (c) 2009-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/a11y/explorer/TreeExplorer.ts b/ts/a11y/explorer/TreeExplorer.ts index 75cb742d8..aa6838156 100644 --- a/ts/a11y/explorer/TreeExplorer.ts +++ b/ts/a11y/explorer/TreeExplorer.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2009-2021 The MathJax Consortium + * Copyright (c) 2009-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/a11y/mathmaps.ts b/ts/a11y/mathmaps.ts index f9562e7fd..7778aa8e0 100644 --- a/ts/a11y/mathmaps.ts +++ b/ts/a11y/mathmaps.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2018-2021 The MathJax Consortium + * Copyright (c) 2018-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/a11y/semantic-enrich.ts b/ts/a11y/semantic-enrich.ts index cdee6b12d..48bb6086a 100644 --- a/ts/a11y/semantic-enrich.ts +++ b/ts/a11y/semantic-enrich.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2018-2021 The MathJax Consortium + * Copyright (c) 2018-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/a11y/sre.ts b/ts/a11y/sre.ts index f99def4ed..0192a53e5 100644 --- a/ts/a11y/sre.ts +++ b/ts/a11y/sre.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2018-2021 The MathJax Consortium + * Copyright (c) 2018-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/adaptors/HTMLAdaptor.ts b/ts/adaptors/HTMLAdaptor.ts index 0f7e905f2..9737ec642 100644 --- a/ts/adaptors/HTMLAdaptor.ts +++ b/ts/adaptors/HTMLAdaptor.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2018-2021 The MathJax Consortium + * Copyright (c) 2018-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/adaptors/NodeMixin.ts b/ts/adaptors/NodeMixin.ts index cc811b74b..86d9a0e0e 100644 --- a/ts/adaptors/NodeMixin.ts +++ b/ts/adaptors/NodeMixin.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2022 The MathJax Consortium + * Copyright (c) 2022-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/adaptors/browserAdaptor.ts b/ts/adaptors/browserAdaptor.ts index eb6079995..91ef3450b 100644 --- a/ts/adaptors/browserAdaptor.ts +++ b/ts/adaptors/browserAdaptor.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2018-2021 The MathJax Consortium + * Copyright (c) 2018-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/adaptors/chooseAdaptor.ts b/ts/adaptors/chooseAdaptor.ts index 3283adfd9..4ab15ae16 100644 --- a/ts/adaptors/chooseAdaptor.ts +++ b/ts/adaptors/chooseAdaptor.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2018-2021 The MathJax Consortium + * Copyright (c) 2018-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/adaptors/jsdomAdaptor.ts b/ts/adaptors/jsdomAdaptor.ts index 45e7ddbc0..02aa21eb9 100644 --- a/ts/adaptors/jsdomAdaptor.ts +++ b/ts/adaptors/jsdomAdaptor.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2018-2021 The MathJax Consortium + * Copyright (c) 2018-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/adaptors/linkedomAdaptor.ts b/ts/adaptors/linkedomAdaptor.ts index 53463bd6c..1d88f8ca6 100644 --- a/ts/adaptors/linkedomAdaptor.ts +++ b/ts/adaptors/linkedomAdaptor.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2022 The MathJax Consortium + * Copyright (c) 2022-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/adaptors/lite/Document.ts b/ts/adaptors/lite/Document.ts index 4ccf75043..902afddfb 100644 --- a/ts/adaptors/lite/Document.ts +++ b/ts/adaptors/lite/Document.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2018-2021 The MathJax Consortium + * Copyright (c) 2018-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/adaptors/lite/Element.ts b/ts/adaptors/lite/Element.ts index 80ea482c2..e7a332e67 100644 --- a/ts/adaptors/lite/Element.ts +++ b/ts/adaptors/lite/Element.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2018-2021 The MathJax Consortium + * Copyright (c) 2018-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/adaptors/lite/List.ts b/ts/adaptors/lite/List.ts index f0c5bac4b..03f3a7691 100644 --- a/ts/adaptors/lite/List.ts +++ b/ts/adaptors/lite/List.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2018-2021 The MathJax Consortium + * Copyright (c) 2018-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/adaptors/lite/Parser.ts b/ts/adaptors/lite/Parser.ts index ef6f2d3a1..4fe0bbb72 100644 --- a/ts/adaptors/lite/Parser.ts +++ b/ts/adaptors/lite/Parser.ts @@ -1,7 +1,7 @@ /************************************************************* * - * Copyright (c) 2018-2021 The MathJax Consortium + * Copyright (c) 2018-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/adaptors/lite/Text.ts b/ts/adaptors/lite/Text.ts index 7828a1d81..82c9044c8 100644 --- a/ts/adaptors/lite/Text.ts +++ b/ts/adaptors/lite/Text.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2018-2021 The MathJax Consortium + * Copyright (c) 2018-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/adaptors/lite/Window.ts b/ts/adaptors/lite/Window.ts index 0e3e907b7..58954a913 100644 --- a/ts/adaptors/lite/Window.ts +++ b/ts/adaptors/lite/Window.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2018-2021 The MathJax Consortium + * Copyright (c) 2018-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/adaptors/liteAdaptor.ts b/ts/adaptors/liteAdaptor.ts index b267b1fec..e5dfc7b7a 100644 --- a/ts/adaptors/liteAdaptor.ts +++ b/ts/adaptors/liteAdaptor.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2018-2021 The MathJax Consortium + * Copyright (c) 2018-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/components/global.ts b/ts/components/global.ts index d0fee7690..9ef413fd4 100644 --- a/ts/components/global.ts +++ b/ts/components/global.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2018-2021 The MathJax Consortium + * Copyright (c) 2018-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/components/latest.ts b/ts/components/latest.ts index 684c5c0bd..3a02752dd 100644 --- a/ts/components/latest.ts +++ b/ts/components/latest.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2019-2021 The MathJax Consortium + * Copyright (c) 2019-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/components/loader.ts b/ts/components/loader.ts index bf4d1f19c..7e10e6b20 100644 --- a/ts/components/loader.ts +++ b/ts/components/loader.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2018-2021 The MathJax Consortium + * Copyright (c) 2018-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/components/package.ts b/ts/components/package.ts index 4446cf6a6..b5f41bb16 100644 --- a/ts/components/package.ts +++ b/ts/components/package.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2018-2021 The MathJax Consortium + * Copyright (c) 2018-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/components/startup.ts b/ts/components/startup.ts index ad7a987cf..8c3677ec8 100644 --- a/ts/components/startup.ts +++ b/ts/components/startup.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2018-2021 The MathJax Consortium + * Copyright (c) 2018-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/components/version.ts b/ts/components/version.ts index a96fc8277..7a3b2e873 100644 --- a/ts/components/version.ts +++ b/ts/components/version.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2018-2021 The MathJax Consortium + * Copyright (c) 2018-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/core/DOMAdaptor.ts b/ts/core/DOMAdaptor.ts index e439cd1be..511c4d7ee 100644 --- a/ts/core/DOMAdaptor.ts +++ b/ts/core/DOMAdaptor.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2018-2021 The MathJax Consortium + * Copyright (c) 2018-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/core/FindMath.ts b/ts/core/FindMath.ts index e0051ebfe..59e1ca2f3 100644 --- a/ts/core/FindMath.ts +++ b/ts/core/FindMath.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2017-2021 The MathJax Consortium + * Copyright (c) 2017-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/core/Handler.ts b/ts/core/Handler.ts index dc3997551..b15c1ff6c 100644 --- a/ts/core/Handler.ts +++ b/ts/core/Handler.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2017-2021 The MathJax Consortium + * Copyright (c) 2017-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/core/HandlerList.ts b/ts/core/HandlerList.ts index 325d71742..0af1e2917 100644 --- a/ts/core/HandlerList.ts +++ b/ts/core/HandlerList.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2017-2021 The MathJax Consortium + * Copyright (c) 2017-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/core/InputJax.ts b/ts/core/InputJax.ts index a1832459f..fe278accb 100644 --- a/ts/core/InputJax.ts +++ b/ts/core/InputJax.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2017-2021 The MathJax Consortium + * Copyright (c) 2017-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/core/MathDocument.ts b/ts/core/MathDocument.ts index b5f998393..7e64cee39 100644 --- a/ts/core/MathDocument.ts +++ b/ts/core/MathDocument.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2017-2021 The MathJax Consortium + * Copyright (c) 2017-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/core/MathItem.ts b/ts/core/MathItem.ts index 84daf26fc..b4626e88c 100644 --- a/ts/core/MathItem.ts +++ b/ts/core/MathItem.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2017-2021 The MathJax Consortium + * Copyright (c) 2017-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/core/MathList.ts b/ts/core/MathList.ts index fcb41ef34..3bd8f538d 100644 --- a/ts/core/MathList.ts +++ b/ts/core/MathList.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2017-2021 The MathJax Consortium + * Copyright (c) 2017-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/core/MmlTree/Attributes.ts b/ts/core/MmlTree/Attributes.ts index 7207e7eda..1da32a886 100644 --- a/ts/core/MmlTree/Attributes.ts +++ b/ts/core/MmlTree/Attributes.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2017-2021 The MathJax Consortium + * Copyright (c) 2017-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/core/MmlTree/JsonMmlVisitor.ts b/ts/core/MmlTree/JsonMmlVisitor.ts index 4ae729fc5..ec254ca69 100644 --- a/ts/core/MmlTree/JsonMmlVisitor.ts +++ b/ts/core/MmlTree/JsonMmlVisitor.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2017-2021 The MathJax Consortium + * Copyright (c) 2017-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/core/MmlTree/LegacyMmlVisitor.ts b/ts/core/MmlTree/LegacyMmlVisitor.ts index 660f60aeb..b39b528a5 100644 --- a/ts/core/MmlTree/LegacyMmlVisitor.ts +++ b/ts/core/MmlTree/LegacyMmlVisitor.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2017-2021 The MathJax Consortium + * Copyright (c) 2017-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/core/MmlTree/MML.ts b/ts/core/MmlTree/MML.ts index 9b9b1ef18..939398187 100644 --- a/ts/core/MmlTree/MML.ts +++ b/ts/core/MmlTree/MML.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2017-2021 The MathJax Consortium + * Copyright (c) 2017-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/core/MmlTree/MathMLVisitor.ts b/ts/core/MmlTree/MathMLVisitor.ts index a7f502ae4..efc585001 100644 --- a/ts/core/MmlTree/MathMLVisitor.ts +++ b/ts/core/MmlTree/MathMLVisitor.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2017-2021 The MathJax Consortium + * Copyright (c) 2017-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/core/MmlTree/MmlFactory.ts b/ts/core/MmlTree/MmlFactory.ts index a6e3e6e7a..2df52c88f 100644 --- a/ts/core/MmlTree/MmlFactory.ts +++ b/ts/core/MmlTree/MmlFactory.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2017-2021 The MathJax Consortium + * Copyright (c) 2017-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/core/MmlTree/MmlNode.ts b/ts/core/MmlTree/MmlNode.ts index 49f45c4e9..b63f8a0b8 100644 --- a/ts/core/MmlTree/MmlNode.ts +++ b/ts/core/MmlTree/MmlNode.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2017-2021 The MathJax Consortium + * Copyright (c) 2017-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/core/MmlTree/MmlNodes/TeXAtom.ts b/ts/core/MmlTree/MmlNodes/TeXAtom.ts index b92bc8c2e..11e3f3179 100644 --- a/ts/core/MmlTree/MmlNodes/TeXAtom.ts +++ b/ts/core/MmlTree/MmlNodes/TeXAtom.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2017-2021 The MathJax Consortium + * Copyright (c) 2017-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/core/MmlTree/MmlNodes/maction.ts b/ts/core/MmlTree/MmlNodes/maction.ts index 4d047c69a..2c23c8a52 100644 --- a/ts/core/MmlTree/MmlNodes/maction.ts +++ b/ts/core/MmlTree/MmlNodes/maction.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2017-2021 The MathJax Consortium + * Copyright (c) 2017-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/core/MmlTree/MmlNodes/maligngroup.ts b/ts/core/MmlTree/MmlNodes/maligngroup.ts index 8a9d72aa6..cd06ce610 100644 --- a/ts/core/MmlTree/MmlNodes/maligngroup.ts +++ b/ts/core/MmlTree/MmlNodes/maligngroup.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2017-2021 The MathJax Consortium + * Copyright (c) 2017-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/core/MmlTree/MmlNodes/malignmark.ts b/ts/core/MmlTree/MmlNodes/malignmark.ts index 4aa54d4d8..7aeffb3e9 100644 --- a/ts/core/MmlTree/MmlNodes/malignmark.ts +++ b/ts/core/MmlTree/MmlNodes/malignmark.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2017-2021 The MathJax Consortium + * Copyright (c) 2017-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/core/MmlTree/MmlNodes/math.ts b/ts/core/MmlTree/MmlNodes/math.ts index 6a7435da7..04b788b72 100644 --- a/ts/core/MmlTree/MmlNodes/math.ts +++ b/ts/core/MmlTree/MmlNodes/math.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2017-2021 The MathJax Consortium + * Copyright (c) 2017-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/core/MmlTree/MmlNodes/mathchoice.ts b/ts/core/MmlTree/MmlNodes/mathchoice.ts index 527373c02..cd798af54 100644 --- a/ts/core/MmlTree/MmlNodes/mathchoice.ts +++ b/ts/core/MmlTree/MmlNodes/mathchoice.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2018-2021 The MathJax Consortium + * Copyright (c) 2018-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/core/MmlTree/MmlNodes/menclose.ts b/ts/core/MmlTree/MmlNodes/menclose.ts index 933c0ea75..5ac956cff 100644 --- a/ts/core/MmlTree/MmlNodes/menclose.ts +++ b/ts/core/MmlTree/MmlNodes/menclose.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2017-2021 The MathJax Consortium + * Copyright (c) 2017-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/core/MmlTree/MmlNodes/merror.ts b/ts/core/MmlTree/MmlNodes/merror.ts index c191665af..9e1007762 100644 --- a/ts/core/MmlTree/MmlNodes/merror.ts +++ b/ts/core/MmlTree/MmlNodes/merror.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2017-2021 The MathJax Consortium + * Copyright (c) 2017-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/core/MmlTree/MmlNodes/mfenced.ts b/ts/core/MmlTree/MmlNodes/mfenced.ts index 84feadaae..d91eef909 100644 --- a/ts/core/MmlTree/MmlNodes/mfenced.ts +++ b/ts/core/MmlTree/MmlNodes/mfenced.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2017-2021 The MathJax Consortium + * Copyright (c) 2017-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/core/MmlTree/MmlNodes/mfrac.ts b/ts/core/MmlTree/MmlNodes/mfrac.ts index 7a9b3b4f5..5486e99ee 100644 --- a/ts/core/MmlTree/MmlNodes/mfrac.ts +++ b/ts/core/MmlTree/MmlNodes/mfrac.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2017-2021 The MathJax Consortium + * Copyright (c) 2017-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/core/MmlTree/MmlNodes/mglyph.ts b/ts/core/MmlTree/MmlNodes/mglyph.ts index d4b76e766..ead80a576 100644 --- a/ts/core/MmlTree/MmlNodes/mglyph.ts +++ b/ts/core/MmlTree/MmlNodes/mglyph.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2017-2021 The MathJax Consortium + * Copyright (c) 2017-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/core/MmlTree/MmlNodes/mi.ts b/ts/core/MmlTree/MmlNodes/mi.ts index f28dbbab1..3e6fa23d9 100644 --- a/ts/core/MmlTree/MmlNodes/mi.ts +++ b/ts/core/MmlTree/MmlNodes/mi.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2017-2021 The MathJax Consortium + * Copyright (c) 2017-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/core/MmlTree/MmlNodes/mmultiscripts.ts b/ts/core/MmlTree/MmlNodes/mmultiscripts.ts index 1eb06ee65..8d03081e3 100644 --- a/ts/core/MmlTree/MmlNodes/mmultiscripts.ts +++ b/ts/core/MmlTree/MmlNodes/mmultiscripts.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2017-2021 The MathJax Consortium + * Copyright (c) 2017-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/core/MmlTree/MmlNodes/mn.ts b/ts/core/MmlTree/MmlNodes/mn.ts index 5a6505207..ac50952b3 100644 --- a/ts/core/MmlTree/MmlNodes/mn.ts +++ b/ts/core/MmlTree/MmlNodes/mn.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2017-2021 The MathJax Consortium + * Copyright (c) 2017-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/core/MmlTree/MmlNodes/mo.ts b/ts/core/MmlTree/MmlNodes/mo.ts index 5c5968919..02603594c 100644 --- a/ts/core/MmlTree/MmlNodes/mo.ts +++ b/ts/core/MmlTree/MmlNodes/mo.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2017-2021 The MathJax Consortium + * Copyright (c) 2017-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/core/MmlTree/MmlNodes/mpadded.ts b/ts/core/MmlTree/MmlNodes/mpadded.ts index 2a0518bb0..ef6f27315 100644 --- a/ts/core/MmlTree/MmlNodes/mpadded.ts +++ b/ts/core/MmlTree/MmlNodes/mpadded.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2017-2021 The MathJax Consortium + * Copyright (c) 2017-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/core/MmlTree/MmlNodes/mphantom.ts b/ts/core/MmlTree/MmlNodes/mphantom.ts index 0b43634ca..ed9edf4ad 100644 --- a/ts/core/MmlTree/MmlNodes/mphantom.ts +++ b/ts/core/MmlTree/MmlNodes/mphantom.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2017-2021 The MathJax Consortium + * Copyright (c) 2017-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/core/MmlTree/MmlNodes/mroot.ts b/ts/core/MmlTree/MmlNodes/mroot.ts index c130a71c9..0d7ff1ce2 100644 --- a/ts/core/MmlTree/MmlNodes/mroot.ts +++ b/ts/core/MmlTree/MmlNodes/mroot.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2017-2021 The MathJax Consortium + * Copyright (c) 2017-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/core/MmlTree/MmlNodes/mrow.ts b/ts/core/MmlTree/MmlNodes/mrow.ts index b88b0afda..34aacbcb6 100644 --- a/ts/core/MmlTree/MmlNodes/mrow.ts +++ b/ts/core/MmlTree/MmlNodes/mrow.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2017-2021 The MathJax Consortium + * Copyright (c) 2017-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/core/MmlTree/MmlNodes/ms.ts b/ts/core/MmlTree/MmlNodes/ms.ts index 548765fa9..8c63e6d99 100644 --- a/ts/core/MmlTree/MmlNodes/ms.ts +++ b/ts/core/MmlTree/MmlNodes/ms.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2017-2021 The MathJax Consortium + * Copyright (c) 2017-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/core/MmlTree/MmlNodes/mspace.ts b/ts/core/MmlTree/MmlNodes/mspace.ts index af193d936..7b0d0c18a 100644 --- a/ts/core/MmlTree/MmlNodes/mspace.ts +++ b/ts/core/MmlTree/MmlNodes/mspace.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2017-2021 The MathJax Consortium + * Copyright (c) 2017-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/core/MmlTree/MmlNodes/msqrt.ts b/ts/core/MmlTree/MmlNodes/msqrt.ts index 9fe9b1593..e7f289e80 100644 --- a/ts/core/MmlTree/MmlNodes/msqrt.ts +++ b/ts/core/MmlTree/MmlNodes/msqrt.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2017-2021 The MathJax Consortium + * Copyright (c) 2017-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/core/MmlTree/MmlNodes/mstyle.ts b/ts/core/MmlTree/MmlNodes/mstyle.ts index 2e43eaa09..91e836b84 100644 --- a/ts/core/MmlTree/MmlNodes/mstyle.ts +++ b/ts/core/MmlTree/MmlNodes/mstyle.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2017-2021 The MathJax Consortium + * Copyright (c) 2017-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/core/MmlTree/MmlNodes/msubsup.ts b/ts/core/MmlTree/MmlNodes/msubsup.ts index 974c5e80b..e30a534cd 100644 --- a/ts/core/MmlTree/MmlNodes/msubsup.ts +++ b/ts/core/MmlTree/MmlNodes/msubsup.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2017-2021 The MathJax Consortium + * Copyright (c) 2017-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/core/MmlTree/MmlNodes/mtable.ts b/ts/core/MmlTree/MmlNodes/mtable.ts index 6fab80058..fe9bef34f 100644 --- a/ts/core/MmlTree/MmlNodes/mtable.ts +++ b/ts/core/MmlTree/MmlNodes/mtable.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2017-2021 The MathJax Consortium + * Copyright (c) 2017-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/core/MmlTree/MmlNodes/mtd.ts b/ts/core/MmlTree/MmlNodes/mtd.ts index 2295154df..926e448ec 100644 --- a/ts/core/MmlTree/MmlNodes/mtd.ts +++ b/ts/core/MmlTree/MmlNodes/mtd.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2017-2021 The MathJax Consortium + * Copyright (c) 2017-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/core/MmlTree/MmlNodes/mtext.ts b/ts/core/MmlTree/MmlNodes/mtext.ts index ed9f6be3f..1ead09fbe 100644 --- a/ts/core/MmlTree/MmlNodes/mtext.ts +++ b/ts/core/MmlTree/MmlNodes/mtext.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2017-2021 The MathJax Consortium + * Copyright (c) 2017-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/core/MmlTree/MmlNodes/mtr.ts b/ts/core/MmlTree/MmlNodes/mtr.ts index df39336cf..a75061323 100644 --- a/ts/core/MmlTree/MmlNodes/mtr.ts +++ b/ts/core/MmlTree/MmlNodes/mtr.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2017-2021 The MathJax Consortium + * Copyright (c) 2017-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/core/MmlTree/MmlNodes/munderover.ts b/ts/core/MmlTree/MmlNodes/munderover.ts index 6e434081a..074418b44 100644 --- a/ts/core/MmlTree/MmlNodes/munderover.ts +++ b/ts/core/MmlTree/MmlNodes/munderover.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2017-2021 The MathJax Consortium + * Copyright (c) 2017-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/core/MmlTree/MmlNodes/semantics.ts b/ts/core/MmlTree/MmlNodes/semantics.ts index 3034c2d25..a81f5cb85 100644 --- a/ts/core/MmlTree/MmlNodes/semantics.ts +++ b/ts/core/MmlTree/MmlNodes/semantics.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2017-2021 The MathJax Consortium + * Copyright (c) 2017-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/core/MmlTree/MmlVisitor.ts b/ts/core/MmlTree/MmlVisitor.ts index 53a7bf132..3efe2bec8 100644 --- a/ts/core/MmlTree/MmlVisitor.ts +++ b/ts/core/MmlTree/MmlVisitor.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2017-2021 The MathJax Consortium + * Copyright (c) 2017-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/core/MmlTree/OperatorDictionary.ts b/ts/core/MmlTree/OperatorDictionary.ts index 0ca5618c4..25b755150 100644 --- a/ts/core/MmlTree/OperatorDictionary.ts +++ b/ts/core/MmlTree/OperatorDictionary.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2017-2021 The MathJax Consortium + * Copyright (c) 2017-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/core/MmlTree/SerializedMmlVisitor.ts b/ts/core/MmlTree/SerializedMmlVisitor.ts index 747ffcbf8..80ec44807 100644 --- a/ts/core/MmlTree/SerializedMmlVisitor.ts +++ b/ts/core/MmlTree/SerializedMmlVisitor.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2017-2021 The MathJax Consortium + * Copyright (c) 2017-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/core/MmlTree/TestMmlVisitor.ts b/ts/core/MmlTree/TestMmlVisitor.ts index 83418ceeb..829c4da4d 100644 --- a/ts/core/MmlTree/TestMmlVisitor.ts +++ b/ts/core/MmlTree/TestMmlVisitor.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2017-2021 The MathJax Consortium + * Copyright (c) 2017-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/core/OutputJax.ts b/ts/core/OutputJax.ts index d7df433b7..ace5da7d2 100644 --- a/ts/core/OutputJax.ts +++ b/ts/core/OutputJax.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2017-2021 The MathJax Consortium + * Copyright (c) 2017-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/core/Tree/Factory.ts b/ts/core/Tree/Factory.ts index bd8fa158b..e8e6a256f 100644 --- a/ts/core/Tree/Factory.ts +++ b/ts/core/Tree/Factory.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2017-2021 The MathJax Consortium + * Copyright (c) 2017-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/core/Tree/Node.ts b/ts/core/Tree/Node.ts index 5c94a3e18..783aaa301 100644 --- a/ts/core/Tree/Node.ts +++ b/ts/core/Tree/Node.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2017-2021 The MathJax Consortium + * Copyright (c) 2017-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/core/Tree/NodeFactory.ts b/ts/core/Tree/NodeFactory.ts index 466b8c83f..a022c0d77 100644 --- a/ts/core/Tree/NodeFactory.ts +++ b/ts/core/Tree/NodeFactory.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2017-2021 The MathJax Consortium + * Copyright (c) 2017-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/core/Tree/Visitor.ts b/ts/core/Tree/Visitor.ts index aeab5f3e5..f6f3ca77b 100644 --- a/ts/core/Tree/Visitor.ts +++ b/ts/core/Tree/Visitor.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2017-2021 The MathJax Consortium + * Copyright (c) 2017-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/core/Tree/Wrapper.ts b/ts/core/Tree/Wrapper.ts index 945edefd6..5085429b1 100644 --- a/ts/core/Tree/Wrapper.ts +++ b/ts/core/Tree/Wrapper.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2017-2021 The MathJax Consortium + * Copyright (c) 2017-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/core/Tree/WrapperFactory.ts b/ts/core/Tree/WrapperFactory.ts index 4539ba6a1..3e00ca67b 100644 --- a/ts/core/Tree/WrapperFactory.ts +++ b/ts/core/Tree/WrapperFactory.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2017-2021 The MathJax Consortium + * Copyright (c) 2017-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/handlers/html.ts b/ts/handlers/html.ts index 887335de3..0c43663b7 100644 --- a/ts/handlers/html.ts +++ b/ts/handlers/html.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2017-2021 The MathJax Consortium + * Copyright (c) 2017-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/handlers/html/HTMLDocument.ts b/ts/handlers/html/HTMLDocument.ts index bd2f215ee..2791d6bcf 100644 --- a/ts/handlers/html/HTMLDocument.ts +++ b/ts/handlers/html/HTMLDocument.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2017-2021 The MathJax Consortium + * Copyright (c) 2017-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/handlers/html/HTMLDomStrings.ts b/ts/handlers/html/HTMLDomStrings.ts index 33a436953..6fe771b99 100644 --- a/ts/handlers/html/HTMLDomStrings.ts +++ b/ts/handlers/html/HTMLDomStrings.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2017-2021 The MathJax Consortium + * Copyright (c) 2017-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/handlers/html/HTMLHandler.ts b/ts/handlers/html/HTMLHandler.ts index d0067a972..ab7d4d826 100644 --- a/ts/handlers/html/HTMLHandler.ts +++ b/ts/handlers/html/HTMLHandler.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2017-2021 The MathJax Consortium + * Copyright (c) 2017-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/handlers/html/HTMLMathItem.ts b/ts/handlers/html/HTMLMathItem.ts index 53363bb2b..8351f773e 100644 --- a/ts/handlers/html/HTMLMathItem.ts +++ b/ts/handlers/html/HTMLMathItem.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2017-2021 The MathJax Consortium + * Copyright (c) 2017-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/handlers/html/HTMLMathList.ts b/ts/handlers/html/HTMLMathList.ts index 608644c1f..4e26fbbcb 100644 --- a/ts/handlers/html/HTMLMathList.ts +++ b/ts/handlers/html/HTMLMathList.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2017-2021 The MathJax Consortium + * Copyright (c) 2017-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/input/asciimath.ts b/ts/input/asciimath.ts index 8f6b8e2d7..b14222661 100644 --- a/ts/input/asciimath.ts +++ b/ts/input/asciimath.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2017-2021 The MathJax Consortium + * Copyright (c) 2017-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/input/asciimath/FindAsciiMath.ts b/ts/input/asciimath/FindAsciiMath.ts index c7d69e2e0..0cb4f667e 100644 --- a/ts/input/asciimath/FindAsciiMath.ts +++ b/ts/input/asciimath/FindAsciiMath.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2017-2021 The MathJax Consortium + * Copyright (c) 2017-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/input/mathml.ts b/ts/input/mathml.ts index f619a5513..600ec4358 100644 --- a/ts/input/mathml.ts +++ b/ts/input/mathml.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2017-2021 The MathJax Consortium + * Copyright (c) 2017-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/input/mathml/FindMathML.ts b/ts/input/mathml/FindMathML.ts index 0a036fd3e..af366689d 100644 --- a/ts/input/mathml/FindMathML.ts +++ b/ts/input/mathml/FindMathML.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2017-2021 The MathJax Consortium + * Copyright (c) 2017-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/input/mathml/MathMLCompile.ts b/ts/input/mathml/MathMLCompile.ts index 687b5a082..373c924d7 100644 --- a/ts/input/mathml/MathMLCompile.ts +++ b/ts/input/mathml/MathMLCompile.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2017-2021 The MathJax Consortium + * Copyright (c) 2017-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/input/mathml/mml3/mml3-node.ts b/ts/input/mathml/mml3/mml3-node.ts index e5520a8f5..26dc47d5b 100644 --- a/ts/input/mathml/mml3/mml3-node.ts +++ b/ts/input/mathml/mml3/mml3-node.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2021-2021 The MathJax Consortium + * Copyright (c) 2021-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/input/mathml/mml3/mml3.ts b/ts/input/mathml/mml3/mml3.ts index 590035669..418b011de 100644 --- a/ts/input/mathml/mml3/mml3.ts +++ b/ts/input/mathml/mml3/mml3.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2021-2021 The MathJax Consortium + * Copyright (c) 2021-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/input/tex.ts b/ts/input/tex.ts index 2023d053f..98d9dfc46 100644 --- a/ts/input/tex.ts +++ b/ts/input/tex.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2017-2021 The MathJax Consortium + * Copyright (c) 2017-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/input/tex/AllPackages.ts b/ts/input/tex/AllPackages.ts index bc4e9c39d..a934869f3 100644 --- a/ts/input/tex/AllPackages.ts +++ b/ts/input/tex/AllPackages.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2018-2021 The MathJax Consortium + * Copyright (c) 2018-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/input/tex/Configuration.ts b/ts/input/tex/Configuration.ts index d118d06ba..5eb3c23d2 100644 --- a/ts/input/tex/Configuration.ts +++ b/ts/input/tex/Configuration.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2018-2021 The MathJax Consortium + * Copyright (c) 2018-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/input/tex/FilterUtil.ts b/ts/input/tex/FilterUtil.ts index 4b0131090..7844629bc 100644 --- a/ts/input/tex/FilterUtil.ts +++ b/ts/input/tex/FilterUtil.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2017-2021 The MathJax Consortium + * Copyright (c) 2017-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/input/tex/FindTeX.ts b/ts/input/tex/FindTeX.ts index 78ee66103..623604f42 100644 --- a/ts/input/tex/FindTeX.ts +++ b/ts/input/tex/FindTeX.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2017-2021 The MathJax Consortium + * Copyright (c) 2017-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/input/tex/MapHandler.ts b/ts/input/tex/MapHandler.ts index 23bac1bd2..dcd5567de 100644 --- a/ts/input/tex/MapHandler.ts +++ b/ts/input/tex/MapHandler.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2017-2021 The MathJax Consortium + * Copyright (c) 2017-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/input/tex/NodeFactory.ts b/ts/input/tex/NodeFactory.ts index 2a5e6b615..2a7c203e1 100644 --- a/ts/input/tex/NodeFactory.ts +++ b/ts/input/tex/NodeFactory.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2009-2021 The MathJax Consortium + * Copyright (c) 2009-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/input/tex/NodeUtil.ts b/ts/input/tex/NodeUtil.ts index 2e76fbef4..b49402d2c 100644 --- a/ts/input/tex/NodeUtil.ts +++ b/ts/input/tex/NodeUtil.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2009-2021 The MathJax Consortium + * Copyright (c) 2009-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/input/tex/ParseMethods.ts b/ts/input/tex/ParseMethods.ts index c2b12dc6c..e5d77b6e9 100644 --- a/ts/input/tex/ParseMethods.ts +++ b/ts/input/tex/ParseMethods.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2017-2021 The MathJax Consortium + * Copyright (c) 2017-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/input/tex/ParseOptions.ts b/ts/input/tex/ParseOptions.ts index 0240d9341..c90010298 100644 --- a/ts/input/tex/ParseOptions.ts +++ b/ts/input/tex/ParseOptions.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2018-2021 The MathJax Consortium + * Copyright (c) 2018-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/input/tex/ParseUtil.ts b/ts/input/tex/ParseUtil.ts index 48a9d8b8f..6f64ab4b5 100644 --- a/ts/input/tex/ParseUtil.ts +++ b/ts/input/tex/ParseUtil.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2009-2021 The MathJax Consortium + * Copyright (c) 2009-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/input/tex/Stack.ts b/ts/input/tex/Stack.ts index 8eb20ffd1..599985724 100644 --- a/ts/input/tex/Stack.ts +++ b/ts/input/tex/Stack.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2009-2021 The MathJax Consortium + * Copyright (c) 2009-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/input/tex/StackItem.ts b/ts/input/tex/StackItem.ts index f6d01417c..900979ca2 100644 --- a/ts/input/tex/StackItem.ts +++ b/ts/input/tex/StackItem.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2009-2021 The MathJax Consortium + * Copyright (c) 2009-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/input/tex/StackItemFactory.ts b/ts/input/tex/StackItemFactory.ts index eb5b607de..ec34ae8c8 100644 --- a/ts/input/tex/StackItemFactory.ts +++ b/ts/input/tex/StackItemFactory.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2009-2021 The MathJax Consortium + * Copyright (c) 2009-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/input/tex/Symbol.ts b/ts/input/tex/Symbol.ts index 3cafba3db..49de38bfb 100644 --- a/ts/input/tex/Symbol.ts +++ b/ts/input/tex/Symbol.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2017-2021 The MathJax Consortium + * Copyright (c) 2017-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/input/tex/SymbolMap.ts b/ts/input/tex/SymbolMap.ts index aec266531..5415496c4 100644 --- a/ts/input/tex/SymbolMap.ts +++ b/ts/input/tex/SymbolMap.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2017-2021 The MathJax Consortium + * Copyright (c) 2017-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/input/tex/Tags.ts b/ts/input/tex/Tags.ts index 66c8227da..3f1547da8 100644 --- a/ts/input/tex/Tags.ts +++ b/ts/input/tex/Tags.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2018-2021 The MathJax Consortium + * Copyright (c) 2018-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/input/tex/TexConstants.ts b/ts/input/tex/TexConstants.ts index 7472c564d..9d762c544 100644 --- a/ts/input/tex/TexConstants.ts +++ b/ts/input/tex/TexConstants.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2017-2021 The MathJax Consortium + * Copyright (c) 2017-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/input/tex/TexError.ts b/ts/input/tex/TexError.ts index c47080b9f..a8c9df4e1 100644 --- a/ts/input/tex/TexError.ts +++ b/ts/input/tex/TexError.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2009-2021 The MathJax Consortium + * Copyright (c) 2009-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/input/tex/TexParser.ts b/ts/input/tex/TexParser.ts index f8706c57f..d0899712f 100644 --- a/ts/input/tex/TexParser.ts +++ b/ts/input/tex/TexParser.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2017-2021 The MathJax Consortium + * Copyright (c) 2017-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/input/tex/Types.ts b/ts/input/tex/Types.ts index 87a0f64a5..f17a33c7a 100644 --- a/ts/input/tex/Types.ts +++ b/ts/input/tex/Types.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2017-2021 The MathJax Consortium + * Copyright (c) 2017-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/input/tex/action/ActionConfiguration.ts b/ts/input/tex/action/ActionConfiguration.ts index 8e583502d..d8e6c1274 100644 --- a/ts/input/tex/action/ActionConfiguration.ts +++ b/ts/input/tex/action/ActionConfiguration.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2018-2021 The MathJax Consortium + * Copyright (c) 2018-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/input/tex/ams/AmsConfiguration.ts b/ts/input/tex/ams/AmsConfiguration.ts index 31d2c3d41..f3ec5d92f 100644 --- a/ts/input/tex/ams/AmsConfiguration.ts +++ b/ts/input/tex/ams/AmsConfiguration.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2018-2021 The MathJax Consortium + * Copyright (c) 2018-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/input/tex/ams/AmsItems.ts b/ts/input/tex/ams/AmsItems.ts index 8f40ca863..6c0a2fd8b 100644 --- a/ts/input/tex/ams/AmsItems.ts +++ b/ts/input/tex/ams/AmsItems.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2009-2021 The MathJax Consortium + * Copyright (c) 2009-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/input/tex/ams/AmsMappings.ts b/ts/input/tex/ams/AmsMappings.ts index 157c58fd2..b3eaa2beb 100644 --- a/ts/input/tex/ams/AmsMappings.ts +++ b/ts/input/tex/ams/AmsMappings.ts @@ -1,7 +1,7 @@ /************************************************************* * - * Copyright (c) 2017-2021 The MathJax Consortium + * Copyright (c) 2017-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/input/tex/ams/AmsMethods.ts b/ts/input/tex/ams/AmsMethods.ts index b1132c5f6..b68104b65 100644 --- a/ts/input/tex/ams/AmsMethods.ts +++ b/ts/input/tex/ams/AmsMethods.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2018-2021 The MathJax Consortium + * Copyright (c) 2018-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/input/tex/amscd/AmsCdConfiguration.ts b/ts/input/tex/amscd/AmsCdConfiguration.ts index 85e69a47a..b49574190 100644 --- a/ts/input/tex/amscd/AmsCdConfiguration.ts +++ b/ts/input/tex/amscd/AmsCdConfiguration.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2018-2021 The MathJax Consortium + * Copyright (c) 2018-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/input/tex/amscd/AmsCdMappings.ts b/ts/input/tex/amscd/AmsCdMappings.ts index 722c27754..67410364b 100644 --- a/ts/input/tex/amscd/AmsCdMappings.ts +++ b/ts/input/tex/amscd/AmsCdMappings.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2018-2021 The MathJax Consortium + * Copyright (c) 2018-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/input/tex/amscd/AmsCdMethods.ts b/ts/input/tex/amscd/AmsCdMethods.ts index 8c7d0693a..eb4a8ca29 100644 --- a/ts/input/tex/amscd/AmsCdMethods.ts +++ b/ts/input/tex/amscd/AmsCdMethods.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2018-2021 The MathJax Consortium + * Copyright (c) 2018-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/input/tex/autoload/AutoloadConfiguration.ts b/ts/input/tex/autoload/AutoloadConfiguration.ts index aeb7888c1..f7f58ea6e 100644 --- a/ts/input/tex/autoload/AutoloadConfiguration.ts +++ b/ts/input/tex/autoload/AutoloadConfiguration.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2019-2021 The MathJax Consortium + * Copyright (c) 2019-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/input/tex/base/BaseConfiguration.ts b/ts/input/tex/base/BaseConfiguration.ts index 7644965e3..95913ecff 100644 --- a/ts/input/tex/base/BaseConfiguration.ts +++ b/ts/input/tex/base/BaseConfiguration.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2018-2021 The MathJax Consortium + * Copyright (c) 2018-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/input/tex/base/BaseItems.ts b/ts/input/tex/base/BaseItems.ts index 04a751396..58069c1ab 100644 --- a/ts/input/tex/base/BaseItems.ts +++ b/ts/input/tex/base/BaseItems.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2009-2021 The MathJax Consortium + * Copyright (c) 2009-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/input/tex/base/BaseMappings.ts b/ts/input/tex/base/BaseMappings.ts index 6c15c6e2b..44af1d0b5 100644 --- a/ts/input/tex/base/BaseMappings.ts +++ b/ts/input/tex/base/BaseMappings.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2017-2021 The MathJax Consortium + * Copyright (c) 2017-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/input/tex/base/BaseMethods.ts b/ts/input/tex/base/BaseMethods.ts index 1678b3381..95432fd69 100644 --- a/ts/input/tex/base/BaseMethods.ts +++ b/ts/input/tex/base/BaseMethods.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2017-2021 The MathJax Consortium + * Copyright (c) 2017-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/input/tex/bbox/BboxConfiguration.ts b/ts/input/tex/bbox/BboxConfiguration.ts index 9aa2ee69d..a09a86672 100644 --- a/ts/input/tex/bbox/BboxConfiguration.ts +++ b/ts/input/tex/bbox/BboxConfiguration.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2018-2021 The MathJax Consortium + * Copyright (c) 2018-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/input/tex/boldsymbol/BoldsymbolConfiguration.ts b/ts/input/tex/boldsymbol/BoldsymbolConfiguration.ts index 12fefaeb5..3b4176799 100644 --- a/ts/input/tex/boldsymbol/BoldsymbolConfiguration.ts +++ b/ts/input/tex/boldsymbol/BoldsymbolConfiguration.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2018-2021 The MathJax Consortium + * Copyright (c) 2018-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/input/tex/braket/BraketConfiguration.ts b/ts/input/tex/braket/BraketConfiguration.ts index e83e62bfe..44a8d4b3b 100644 --- a/ts/input/tex/braket/BraketConfiguration.ts +++ b/ts/input/tex/braket/BraketConfiguration.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2018-2021 The MathJax Consortium + * Copyright (c) 2018-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/input/tex/braket/BraketItems.ts b/ts/input/tex/braket/BraketItems.ts index ef1271aac..4b097fac1 100644 --- a/ts/input/tex/braket/BraketItems.ts +++ b/ts/input/tex/braket/BraketItems.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2009-2021 The MathJax Consortium + * Copyright (c) 2009-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/input/tex/braket/BraketMappings.ts b/ts/input/tex/braket/BraketMappings.ts index 00a48497a..e1f599ba4 100644 --- a/ts/input/tex/braket/BraketMappings.ts +++ b/ts/input/tex/braket/BraketMappings.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2018-2021 The MathJax Consortium + * Copyright (c) 2018-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/input/tex/braket/BraketMethods.ts b/ts/input/tex/braket/BraketMethods.ts index b719fbbdc..635c848bf 100644 --- a/ts/input/tex/braket/BraketMethods.ts +++ b/ts/input/tex/braket/BraketMethods.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2018-2021 The MathJax Consortium + * Copyright (c) 2018-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/input/tex/bussproofs/BussproofsConfiguration.ts b/ts/input/tex/bussproofs/BussproofsConfiguration.ts index 8b97ac029..e378e4f55 100644 --- a/ts/input/tex/bussproofs/BussproofsConfiguration.ts +++ b/ts/input/tex/bussproofs/BussproofsConfiguration.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2018-2021 The MathJax Consortium + * Copyright (c) 2018-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/input/tex/bussproofs/BussproofsItems.ts b/ts/input/tex/bussproofs/BussproofsItems.ts index 0c44c0e14..74962c733 100644 --- a/ts/input/tex/bussproofs/BussproofsItems.ts +++ b/ts/input/tex/bussproofs/BussproofsItems.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2018-2021 The MathJax Consortium + * Copyright (c) 2018-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/input/tex/bussproofs/BussproofsMappings.ts b/ts/input/tex/bussproofs/BussproofsMappings.ts index 983ecd7dc..d88fdaad2 100644 --- a/ts/input/tex/bussproofs/BussproofsMappings.ts +++ b/ts/input/tex/bussproofs/BussproofsMappings.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2018-2021 The MathJax Consortium + * Copyright (c) 2018-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/input/tex/bussproofs/BussproofsMethods.ts b/ts/input/tex/bussproofs/BussproofsMethods.ts index c8a4ebad1..c6dc0aaad 100644 --- a/ts/input/tex/bussproofs/BussproofsMethods.ts +++ b/ts/input/tex/bussproofs/BussproofsMethods.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2018-2021 The MathJax Consortium + * Copyright (c) 2018-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/input/tex/bussproofs/BussproofsUtil.ts b/ts/input/tex/bussproofs/BussproofsUtil.ts index e572bc4b5..878099bc5 100644 --- a/ts/input/tex/bussproofs/BussproofsUtil.ts +++ b/ts/input/tex/bussproofs/BussproofsUtil.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2018-2021 The MathJax Consortium + * Copyright (c) 2018-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/input/tex/cancel/CancelConfiguration.ts b/ts/input/tex/cancel/CancelConfiguration.ts index 094be3151..f63a64c38 100644 --- a/ts/input/tex/cancel/CancelConfiguration.ts +++ b/ts/input/tex/cancel/CancelConfiguration.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2018-2021 The MathJax Consortium + * Copyright (c) 2018-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/input/tex/centernot/CenternotConfiguration.ts b/ts/input/tex/centernot/CenternotConfiguration.ts index d9b2b3d84..57ff68c7c 100644 --- a/ts/input/tex/centernot/CenternotConfiguration.ts +++ b/ts/input/tex/centernot/CenternotConfiguration.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2021-2021 The MathJax Consortium + * Copyright (c) 2021-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/input/tex/color/ColorConfiguration.ts b/ts/input/tex/color/ColorConfiguration.ts index 5ee1ecd5f..692449713 100644 --- a/ts/input/tex/color/ColorConfiguration.ts +++ b/ts/input/tex/color/ColorConfiguration.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2018-2021 Omar Al-Ithawi and The MathJax Consortium + * Copyright (c) 2018-2022 Omar Al-Ithawi and The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/input/tex/color/ColorConstants.ts b/ts/input/tex/color/ColorConstants.ts index bcb52cc67..4a4f1a205 100644 --- a/ts/input/tex/color/ColorConstants.ts +++ b/ts/input/tex/color/ColorConstants.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2018-2021 Omar Al-Ithawi and The MathJax Consortium + * Copyright (c) 2018-2022 Omar Al-Ithawi and The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/input/tex/color/ColorMethods.ts b/ts/input/tex/color/ColorMethods.ts index ac3783f07..1a6979c5d 100644 --- a/ts/input/tex/color/ColorMethods.ts +++ b/ts/input/tex/color/ColorMethods.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2018-2021 Omar Al-Ithawi and The MathJax Consortium + * Copyright (c) 2018-2022 Omar Al-Ithawi and The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/input/tex/color/ColorUtil.ts b/ts/input/tex/color/ColorUtil.ts index b99c4e5d5..fdeb77ec7 100644 --- a/ts/input/tex/color/ColorUtil.ts +++ b/ts/input/tex/color/ColorUtil.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2018-2021 Omar Al-Ithawi and The MathJax Consortium + * Copyright (c) 2018-2022 Omar Al-Ithawi and The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/input/tex/colortbl/ColortblConfiguration.ts b/ts/input/tex/colortbl/ColortblConfiguration.ts index eef16a3b3..2740e1a19 100644 --- a/ts/input/tex/colortbl/ColortblConfiguration.ts +++ b/ts/input/tex/colortbl/ColortblConfiguration.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2021-2021 The MathJax Consortium + * Copyright (c) 2021-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/input/tex/colorv2/ColorV2Configuration.ts b/ts/input/tex/colorv2/ColorV2Configuration.ts index 8dce6e10a..310cf2d24 100644 --- a/ts/input/tex/colorv2/ColorV2Configuration.ts +++ b/ts/input/tex/colorv2/ColorV2Configuration.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2019-2021 The MathJax Consortium + * Copyright (c) 2019-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/input/tex/configmacros/ConfigMacrosConfiguration.ts b/ts/input/tex/configmacros/ConfigMacrosConfiguration.ts index 0a396c76c..0e9bdec2e 100644 --- a/ts/input/tex/configmacros/ConfigMacrosConfiguration.ts +++ b/ts/input/tex/configmacros/ConfigMacrosConfiguration.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2019-2021 The MathJax Consortium + * Copyright (c) 2019-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/input/tex/empheq/EmpheqConfiguration.ts b/ts/input/tex/empheq/EmpheqConfiguration.ts index ca18e20bb..4feba66bb 100644 --- a/ts/input/tex/empheq/EmpheqConfiguration.ts +++ b/ts/input/tex/empheq/EmpheqConfiguration.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2021-2021 The MathJax Consortium + * Copyright (c) 2021-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/input/tex/empheq/EmpheqUtil.ts b/ts/input/tex/empheq/EmpheqUtil.ts index 4a37e5f30..b20d985e9 100644 --- a/ts/input/tex/empheq/EmpheqUtil.ts +++ b/ts/input/tex/empheq/EmpheqUtil.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2021-2021 The MathJax Consortium + * Copyright (c) 2021-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/input/tex/enclose/EncloseConfiguration.ts b/ts/input/tex/enclose/EncloseConfiguration.ts index 31f55b897..7bc875d2e 100644 --- a/ts/input/tex/enclose/EncloseConfiguration.ts +++ b/ts/input/tex/enclose/EncloseConfiguration.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2018-2021 The MathJax Consortium + * Copyright (c) 2018-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/input/tex/extpfeil/ExtpfeilConfiguration.ts b/ts/input/tex/extpfeil/ExtpfeilConfiguration.ts index 256c4fa08..7ef2233e1 100644 --- a/ts/input/tex/extpfeil/ExtpfeilConfiguration.ts +++ b/ts/input/tex/extpfeil/ExtpfeilConfiguration.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2018-2021 The MathJax Consortium + * Copyright (c) 2018-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/input/tex/gensymb/GensymbConfiguration.ts b/ts/input/tex/gensymb/GensymbConfiguration.ts index 3e979789a..16ba18a4a 100644 --- a/ts/input/tex/gensymb/GensymbConfiguration.ts +++ b/ts/input/tex/gensymb/GensymbConfiguration.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2021-2021 The MathJax Consortium + * Copyright (c) 2021-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/input/tex/html/HtmlConfiguration.ts b/ts/input/tex/html/HtmlConfiguration.ts index 15340802c..217a1c838 100644 --- a/ts/input/tex/html/HtmlConfiguration.ts +++ b/ts/input/tex/html/HtmlConfiguration.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2018-2021 The MathJax Consortium + * Copyright (c) 2018-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/input/tex/html/HtmlMethods.ts b/ts/input/tex/html/HtmlMethods.ts index 859294b05..2047625f9 100644 --- a/ts/input/tex/html/HtmlMethods.ts +++ b/ts/input/tex/html/HtmlMethods.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2018-2021 The MathJax Consortium + * Copyright (c) 2018-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/input/tex/mathtools/MathtoolsConfiguration.ts b/ts/input/tex/mathtools/MathtoolsConfiguration.ts index bc504792a..d0332e10d 100644 --- a/ts/input/tex/mathtools/MathtoolsConfiguration.ts +++ b/ts/input/tex/mathtools/MathtoolsConfiguration.ts @@ -1,5 +1,5 @@ /************************************************************* - * Copyright (c) 2020-2021 MathJax Consortium + * Copyright (c) 2020-2022 MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/input/tex/mathtools/MathtoolsItems.ts b/ts/input/tex/mathtools/MathtoolsItems.ts index 7da4970fe..cc77b3928 100644 --- a/ts/input/tex/mathtools/MathtoolsItems.ts +++ b/ts/input/tex/mathtools/MathtoolsItems.ts @@ -1,5 +1,5 @@ /************************************************************* - * Copyright (c) 2020-2021 MathJax Consortium + * Copyright (c) 2020-2022 MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/input/tex/mathtools/MathtoolsMappings.ts b/ts/input/tex/mathtools/MathtoolsMappings.ts index f72c40a46..b6bb999c2 100644 --- a/ts/input/tex/mathtools/MathtoolsMappings.ts +++ b/ts/input/tex/mathtools/MathtoolsMappings.ts @@ -1,5 +1,5 @@ /************************************************************* - * Copyright (c) 2020-2021 MathJax Consortium + * Copyright (c) 2020-2022 MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/input/tex/mathtools/MathtoolsMethods.ts b/ts/input/tex/mathtools/MathtoolsMethods.ts index 55e7aef54..3e27f36ab 100644 --- a/ts/input/tex/mathtools/MathtoolsMethods.ts +++ b/ts/input/tex/mathtools/MathtoolsMethods.ts @@ -1,5 +1,5 @@ /************************************************************* - * Copyright (c) 2020-2021 MathJax Consortium + * Copyright (c) 2020-2022 MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/input/tex/mathtools/MathtoolsTags.ts b/ts/input/tex/mathtools/MathtoolsTags.ts index bebf669d3..bf41346fa 100644 --- a/ts/input/tex/mathtools/MathtoolsTags.ts +++ b/ts/input/tex/mathtools/MathtoolsTags.ts @@ -1,5 +1,5 @@ /************************************************************* - * Copyright (c) 2021-2021 MathJax Consortium + * Copyright (c) 2021-2022 MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/input/tex/mathtools/MathtoolsUtil.ts b/ts/input/tex/mathtools/MathtoolsUtil.ts index 653009b02..dc85f6b4b 100644 --- a/ts/input/tex/mathtools/MathtoolsUtil.ts +++ b/ts/input/tex/mathtools/MathtoolsUtil.ts @@ -1,5 +1,5 @@ /************************************************************* - * Copyright (c) 2021-2021 MathJax Consortium + * Copyright (c) 2021-2022 MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/input/tex/mhchem/MhchemConfiguration.ts b/ts/input/tex/mhchem/MhchemConfiguration.ts index f23c2ac83..951c21298 100644 --- a/ts/input/tex/mhchem/MhchemConfiguration.ts +++ b/ts/input/tex/mhchem/MhchemConfiguration.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2018-2021 The MathJax Consortium + * Copyright (c) 2018-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/input/tex/newcommand/NewcommandConfiguration.ts b/ts/input/tex/newcommand/NewcommandConfiguration.ts index c9bdad17f..02a8ebcc0 100644 --- a/ts/input/tex/newcommand/NewcommandConfiguration.ts +++ b/ts/input/tex/newcommand/NewcommandConfiguration.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2018-2021 The MathJax Consortium + * Copyright (c) 2018-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/input/tex/newcommand/NewcommandItems.ts b/ts/input/tex/newcommand/NewcommandItems.ts index b605fd764..87035d9a7 100644 --- a/ts/input/tex/newcommand/NewcommandItems.ts +++ b/ts/input/tex/newcommand/NewcommandItems.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2018-2021 The MathJax Consortium + * Copyright (c) 2018-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/input/tex/newcommand/NewcommandMappings.ts b/ts/input/tex/newcommand/NewcommandMappings.ts index 64478fa83..0bf15bf1f 100644 --- a/ts/input/tex/newcommand/NewcommandMappings.ts +++ b/ts/input/tex/newcommand/NewcommandMappings.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2018-2021 The MathJax Consortium + * Copyright (c) 2018-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/input/tex/newcommand/NewcommandMethods.ts b/ts/input/tex/newcommand/NewcommandMethods.ts index 5fda1b7a4..3d9776562 100644 --- a/ts/input/tex/newcommand/NewcommandMethods.ts +++ b/ts/input/tex/newcommand/NewcommandMethods.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2018-2021 The MathJax Consortium + * Copyright (c) 2018-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/input/tex/newcommand/NewcommandUtil.ts b/ts/input/tex/newcommand/NewcommandUtil.ts index 47822ea1c..b36ab3329 100644 --- a/ts/input/tex/newcommand/NewcommandUtil.ts +++ b/ts/input/tex/newcommand/NewcommandUtil.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2009-2021 The MathJax Consortium + * Copyright (c) 2009-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/input/tex/noerrors/NoErrorsConfiguration.ts b/ts/input/tex/noerrors/NoErrorsConfiguration.ts index d289bcffe..bb5a2ff5d 100644 --- a/ts/input/tex/noerrors/NoErrorsConfiguration.ts +++ b/ts/input/tex/noerrors/NoErrorsConfiguration.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2018-2021 The MathJax Consortium + * Copyright (c) 2018-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/input/tex/noundefined/NoUndefinedConfiguration.ts b/ts/input/tex/noundefined/NoUndefinedConfiguration.ts index 351b79867..573d6f503 100644 --- a/ts/input/tex/noundefined/NoUndefinedConfiguration.ts +++ b/ts/input/tex/noundefined/NoUndefinedConfiguration.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2018-2021 The MathJax Consortium + * Copyright (c) 2018-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/input/tex/physics/PhysicsConfiguration.ts b/ts/input/tex/physics/PhysicsConfiguration.ts index 0cf4724f5..af46931ab 100644 --- a/ts/input/tex/physics/PhysicsConfiguration.ts +++ b/ts/input/tex/physics/PhysicsConfiguration.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2018-2021 The MathJax Consortium + * Copyright (c) 2018-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/input/tex/physics/PhysicsItems.ts b/ts/input/tex/physics/PhysicsItems.ts index a7793cf8e..baf5a0a31 100644 --- a/ts/input/tex/physics/PhysicsItems.ts +++ b/ts/input/tex/physics/PhysicsItems.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2009-2021 The MathJax Consortium + * Copyright (c) 2009-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/input/tex/physics/PhysicsMappings.ts b/ts/input/tex/physics/PhysicsMappings.ts index f0e62e087..1652feea9 100644 --- a/ts/input/tex/physics/PhysicsMappings.ts +++ b/ts/input/tex/physics/PhysicsMappings.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2018-2021 The MathJax Consortium + * Copyright (c) 2018-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/input/tex/physics/PhysicsMethods.ts b/ts/input/tex/physics/PhysicsMethods.ts index e94c7b866..8605df343 100644 --- a/ts/input/tex/physics/PhysicsMethods.ts +++ b/ts/input/tex/physics/PhysicsMethods.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2018-2021 The MathJax Consortium + * Copyright (c) 2018-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/input/tex/require/RequireConfiguration.ts b/ts/input/tex/require/RequireConfiguration.ts index 2921a34fb..1660395bd 100644 --- a/ts/input/tex/require/RequireConfiguration.ts +++ b/ts/input/tex/require/RequireConfiguration.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2019-2021 The MathJax Consortium + * Copyright (c) 2019-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/input/tex/setoptions/SetOptionsConfiguration.ts b/ts/input/tex/setoptions/SetOptionsConfiguration.ts index 7af747ffe..73c1a0ec8 100644 --- a/ts/input/tex/setoptions/SetOptionsConfiguration.ts +++ b/ts/input/tex/setoptions/SetOptionsConfiguration.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2021-2021 The MathJax Consortium + * Copyright (c) 2021-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/input/tex/tagformat/TagFormatConfiguration.ts b/ts/input/tex/tagformat/TagFormatConfiguration.ts index 43063bee3..76d60e90c 100644 --- a/ts/input/tex/tagformat/TagFormatConfiguration.ts +++ b/ts/input/tex/tagformat/TagFormatConfiguration.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2019-2021 The MathJax Consortium + * Copyright (c) 2019-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/input/tex/textcomp/TextcompConfiguration.ts b/ts/input/tex/textcomp/TextcompConfiguration.ts index 964af9d0f..5ebb82e1c 100644 --- a/ts/input/tex/textcomp/TextcompConfiguration.ts +++ b/ts/input/tex/textcomp/TextcompConfiguration.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2021-2021 The MathJax Consortium + * Copyright (c) 2021-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/input/tex/textcomp/TextcompMappings.ts b/ts/input/tex/textcomp/TextcompMappings.ts index 6824fb32e..f9dacb006 100644 --- a/ts/input/tex/textcomp/TextcompMappings.ts +++ b/ts/input/tex/textcomp/TextcompMappings.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2021-2021 The MathJax Consortium + * Copyright (c) 2021-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/input/tex/textmacros/TextMacrosConfiguration.ts b/ts/input/tex/textmacros/TextMacrosConfiguration.ts index 44ed89f5c..9be80f398 100644 --- a/ts/input/tex/textmacros/TextMacrosConfiguration.ts +++ b/ts/input/tex/textmacros/TextMacrosConfiguration.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2020-2021 The MathJax Consortium + * Copyright (c) 2020-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/input/tex/textmacros/TextMacrosMappings.ts b/ts/input/tex/textmacros/TextMacrosMappings.ts index c871c0d6c..9fa41c8cd 100644 --- a/ts/input/tex/textmacros/TextMacrosMappings.ts +++ b/ts/input/tex/textmacros/TextMacrosMappings.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2020-2021 The MathJax Consortium + * Copyright (c) 2020-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/input/tex/textmacros/TextMacrosMethods.ts b/ts/input/tex/textmacros/TextMacrosMethods.ts index 9868ccf91..b94b24f91 100644 --- a/ts/input/tex/textmacros/TextMacrosMethods.ts +++ b/ts/input/tex/textmacros/TextMacrosMethods.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2020-2021 The MathJax Consortium + * Copyright (c) 2020-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/input/tex/textmacros/TextParser.ts b/ts/input/tex/textmacros/TextParser.ts index 6778fe809..37c6256d5 100644 --- a/ts/input/tex/textmacros/TextParser.ts +++ b/ts/input/tex/textmacros/TextParser.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2020-2021 The MathJax Consortium + * Copyright (c) 2020-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/input/tex/unicode/UnicodeConfiguration.ts b/ts/input/tex/unicode/UnicodeConfiguration.ts index e3a123ca6..5efb2ac50 100644 --- a/ts/input/tex/unicode/UnicodeConfiguration.ts +++ b/ts/input/tex/unicode/UnicodeConfiguration.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2018-2021 The MathJax Consortium + * Copyright (c) 2018-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/input/tex/upgreek/UpgreekConfiguration.ts b/ts/input/tex/upgreek/UpgreekConfiguration.ts index ae605831d..354aa4b80 100644 --- a/ts/input/tex/upgreek/UpgreekConfiguration.ts +++ b/ts/input/tex/upgreek/UpgreekConfiguration.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2021-2021 The MathJax Consortium + * Copyright (c) 2021-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/input/tex/verb/VerbConfiguration.ts b/ts/input/tex/verb/VerbConfiguration.ts index 5be5da2ac..faf8c8a16 100644 --- a/ts/input/tex/verb/VerbConfiguration.ts +++ b/ts/input/tex/verb/VerbConfiguration.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2018-2021 The MathJax Consortium + * Copyright (c) 2018-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/mathjax.ts b/ts/mathjax.ts index 41c5b5337..c600857b8 100644 --- a/ts/mathjax.ts +++ b/ts/mathjax.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2017-2021 The MathJax Consortium + * Copyright (c) 2017-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/output/chtml.ts b/ts/output/chtml.ts index 8a70598fd..7b151bb26 100644 --- a/ts/output/chtml.ts +++ b/ts/output/chtml.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2017-2021 The MathJax Consortium + * Copyright (c) 2017-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/output/chtml/FontData.ts b/ts/output/chtml/FontData.ts index 80d331239..fa9956575 100644 --- a/ts/output/chtml/FontData.ts +++ b/ts/output/chtml/FontData.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2017-2021 The MathJax Consortium + * Copyright (c) 2017-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/output/chtml/Notation.ts b/ts/output/chtml/Notation.ts index 90f8eaf2b..dc7011869 100644 --- a/ts/output/chtml/Notation.ts +++ b/ts/output/chtml/Notation.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2018-2021 The MathJax Consortium + * Copyright (c) 2018-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/output/chtml/Usage.ts b/ts/output/chtml/Usage.ts index 1a4cc92b5..4746d6bc4 100644 --- a/ts/output/chtml/Usage.ts +++ b/ts/output/chtml/Usage.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2021-2021 The MathJax Consortium + * Copyright (c) 2021-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/output/chtml/Wrapper.ts b/ts/output/chtml/Wrapper.ts index 7972955f9..55938eb3d 100644 --- a/ts/output/chtml/Wrapper.ts +++ b/ts/output/chtml/Wrapper.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2017-2021 The MathJax Consortium + * Copyright (c) 2017-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/output/chtml/WrapperFactory.ts b/ts/output/chtml/WrapperFactory.ts index 527f924fc..f49ab23ae 100644 --- a/ts/output/chtml/WrapperFactory.ts +++ b/ts/output/chtml/WrapperFactory.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2017-2021 The MathJax Consortium + * Copyright (c) 2017-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/output/chtml/Wrappers.ts b/ts/output/chtml/Wrappers.ts index a7546ceda..653db1f89 100644 --- a/ts/output/chtml/Wrappers.ts +++ b/ts/output/chtml/Wrappers.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2017-2021 The MathJax Consortium + * Copyright (c) 2017-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/output/chtml/Wrappers/TeXAtom.ts b/ts/output/chtml/Wrappers/TeXAtom.ts index 62c15ceda..33364ff80 100644 --- a/ts/output/chtml/Wrappers/TeXAtom.ts +++ b/ts/output/chtml/Wrappers/TeXAtom.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2017-2021 The MathJax Consortium + * Copyright (c) 2017-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/output/chtml/Wrappers/TextNode.ts b/ts/output/chtml/Wrappers/TextNode.ts index 41aa39f94..700f16268 100644 --- a/ts/output/chtml/Wrappers/TextNode.ts +++ b/ts/output/chtml/Wrappers/TextNode.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2017-2021 The MathJax Consortium + * Copyright (c) 2017-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/output/chtml/Wrappers/maction.ts b/ts/output/chtml/Wrappers/maction.ts index 8be0cb54d..20e82625d 100644 --- a/ts/output/chtml/Wrappers/maction.ts +++ b/ts/output/chtml/Wrappers/maction.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2018-2021 The MathJax Consortium + * Copyright (c) 2018-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/output/chtml/Wrappers/math.ts b/ts/output/chtml/Wrappers/math.ts index f9b00eee4..61d6111c2 100644 --- a/ts/output/chtml/Wrappers/math.ts +++ b/ts/output/chtml/Wrappers/math.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2017-2021 The MathJax Consortium + * Copyright (c) 2017-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/output/chtml/Wrappers/menclose.ts b/ts/output/chtml/Wrappers/menclose.ts index 9c0403b1c..d0af8c157 100644 --- a/ts/output/chtml/Wrappers/menclose.ts +++ b/ts/output/chtml/Wrappers/menclose.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2018-2021 The MathJax Consortium + * Copyright (c) 2018-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/output/chtml/Wrappers/mfenced.ts b/ts/output/chtml/Wrappers/mfenced.ts index 3db348400..ec1f21fc8 100644 --- a/ts/output/chtml/Wrappers/mfenced.ts +++ b/ts/output/chtml/Wrappers/mfenced.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2018-2021 The MathJax Consortium + * Copyright (c) 2018-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/output/chtml/Wrappers/mfrac.ts b/ts/output/chtml/Wrappers/mfrac.ts index ba1bcaf42..f3220f3a0 100644 --- a/ts/output/chtml/Wrappers/mfrac.ts +++ b/ts/output/chtml/Wrappers/mfrac.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2017-2021 The MathJax Consortium + * Copyright (c) 2017-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/output/chtml/Wrappers/mglyph.ts b/ts/output/chtml/Wrappers/mglyph.ts index 3b74dd444..6834fd606 100644 --- a/ts/output/chtml/Wrappers/mglyph.ts +++ b/ts/output/chtml/Wrappers/mglyph.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2018-2021 The MathJax Consortium + * Copyright (c) 2018-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/output/chtml/Wrappers/mi.ts b/ts/output/chtml/Wrappers/mi.ts index 51174aff7..551f70a44 100644 --- a/ts/output/chtml/Wrappers/mi.ts +++ b/ts/output/chtml/Wrappers/mi.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2017-2021 The MathJax Consortium + * Copyright (c) 2017-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/output/chtml/Wrappers/mmultiscripts.ts b/ts/output/chtml/Wrappers/mmultiscripts.ts index ee8c2ad04..32c67fa94 100644 --- a/ts/output/chtml/Wrappers/mmultiscripts.ts +++ b/ts/output/chtml/Wrappers/mmultiscripts.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2018-2021 The MathJax Consortium + * Copyright (c) 2018-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/output/chtml/Wrappers/mn.ts b/ts/output/chtml/Wrappers/mn.ts index 84bf1913a..ab3c95e83 100644 --- a/ts/output/chtml/Wrappers/mn.ts +++ b/ts/output/chtml/Wrappers/mn.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2018-2021 The MathJax Consortium + * Copyright (c) 2018-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/output/chtml/Wrappers/mo.ts b/ts/output/chtml/Wrappers/mo.ts index 75126a61c..f7fe1de19 100644 --- a/ts/output/chtml/Wrappers/mo.ts +++ b/ts/output/chtml/Wrappers/mo.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2017-2021 The MathJax Consortium + * Copyright (c) 2017-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/output/chtml/Wrappers/mpadded.ts b/ts/output/chtml/Wrappers/mpadded.ts index 170c98dcf..46fe82a3c 100644 --- a/ts/output/chtml/Wrappers/mpadded.ts +++ b/ts/output/chtml/Wrappers/mpadded.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2017-2021 The MathJax Consortium + * Copyright (c) 2017-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/output/chtml/Wrappers/mroot.ts b/ts/output/chtml/Wrappers/mroot.ts index edbfae6f6..c316efc65 100644 --- a/ts/output/chtml/Wrappers/mroot.ts +++ b/ts/output/chtml/Wrappers/mroot.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2017-2021 The MathJax Consortium + * Copyright (c) 2017-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/output/chtml/Wrappers/mrow.ts b/ts/output/chtml/Wrappers/mrow.ts index 9867e03bf..d4af96508 100644 --- a/ts/output/chtml/Wrappers/mrow.ts +++ b/ts/output/chtml/Wrappers/mrow.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2017-2021 The MathJax Consortium + * Copyright (c) 2017-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/output/chtml/Wrappers/ms.ts b/ts/output/chtml/Wrappers/ms.ts index ff8f9dcb5..d5774dcfa 100644 --- a/ts/output/chtml/Wrappers/ms.ts +++ b/ts/output/chtml/Wrappers/ms.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2017-2021 The MathJax Consortium + * Copyright (c) 2017-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/output/chtml/Wrappers/mspace.ts b/ts/output/chtml/Wrappers/mspace.ts index f6f3f43a6..597f6d11b 100644 --- a/ts/output/chtml/Wrappers/mspace.ts +++ b/ts/output/chtml/Wrappers/mspace.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2017-2021 The MathJax Consortium + * Copyright (c) 2017-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/output/chtml/Wrappers/msqrt.ts b/ts/output/chtml/Wrappers/msqrt.ts index 484d4d778..8d52eb647 100644 --- a/ts/output/chtml/Wrappers/msqrt.ts +++ b/ts/output/chtml/Wrappers/msqrt.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2017-2021 The MathJax Consortium + * Copyright (c) 2017-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/output/chtml/Wrappers/msubsup.ts b/ts/output/chtml/Wrappers/msubsup.ts index 96a67fc20..430e49ae4 100644 --- a/ts/output/chtml/Wrappers/msubsup.ts +++ b/ts/output/chtml/Wrappers/msubsup.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2017-2021 The MathJax Consortium + * Copyright (c) 2017-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/output/chtml/Wrappers/mtable.ts b/ts/output/chtml/Wrappers/mtable.ts index 059b00ac0..a56c4edb8 100644 --- a/ts/output/chtml/Wrappers/mtable.ts +++ b/ts/output/chtml/Wrappers/mtable.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2017-2021 The MathJax Consortium + * Copyright (c) 2017-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/output/chtml/Wrappers/mtd.ts b/ts/output/chtml/Wrappers/mtd.ts index 02841313a..6422c0b15 100644 --- a/ts/output/chtml/Wrappers/mtd.ts +++ b/ts/output/chtml/Wrappers/mtd.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2017-2021 The MathJax Consortium + * Copyright (c) 2017-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/output/chtml/Wrappers/mtext.ts b/ts/output/chtml/Wrappers/mtext.ts index d4d38751d..6105f6b4d 100644 --- a/ts/output/chtml/Wrappers/mtext.ts +++ b/ts/output/chtml/Wrappers/mtext.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2019-2021 The MathJax Consortium + * Copyright (c) 2019-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/output/chtml/Wrappers/mtr.ts b/ts/output/chtml/Wrappers/mtr.ts index c115d8a61..7d80f40e4 100644 --- a/ts/output/chtml/Wrappers/mtr.ts +++ b/ts/output/chtml/Wrappers/mtr.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2017-2021 The MathJax Consortium + * Copyright (c) 2017-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/output/chtml/Wrappers/munderover.ts b/ts/output/chtml/Wrappers/munderover.ts index 0014b3d97..165d5ea61 100644 --- a/ts/output/chtml/Wrappers/munderover.ts +++ b/ts/output/chtml/Wrappers/munderover.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2017-2021 The MathJax Consortium + * Copyright (c) 2017-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/output/chtml/Wrappers/scriptbase.ts b/ts/output/chtml/Wrappers/scriptbase.ts index 1079f6ae7..95d48b982 100644 --- a/ts/output/chtml/Wrappers/scriptbase.ts +++ b/ts/output/chtml/Wrappers/scriptbase.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2017-2021 The MathJax Consortium + * Copyright (c) 2017-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/output/chtml/Wrappers/semantics.ts b/ts/output/chtml/Wrappers/semantics.ts index ad78ad8fe..a39fec080 100644 --- a/ts/output/chtml/Wrappers/semantics.ts +++ b/ts/output/chtml/Wrappers/semantics.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2017-2021 The MathJax Consortium + * Copyright (c) 2017-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/output/chtml/fonts/tex.ts b/ts/output/chtml/fonts/tex.ts index 957338211..d1fe88853 100644 --- a/ts/output/chtml/fonts/tex.ts +++ b/ts/output/chtml/fonts/tex.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2017-2021 The MathJax Consortium + * Copyright (c) 2017-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/output/chtml/fonts/tex/bold-italic.ts b/ts/output/chtml/fonts/tex/bold-italic.ts index a2499bdc1..980a32385 100644 --- a/ts/output/chtml/fonts/tex/bold-italic.ts +++ b/ts/output/chtml/fonts/tex/bold-italic.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2018-2021 The MathJax Consortium + * Copyright (c) 2018-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/output/chtml/fonts/tex/bold.ts b/ts/output/chtml/fonts/tex/bold.ts index d2167b1a0..100f9cbb1 100644 --- a/ts/output/chtml/fonts/tex/bold.ts +++ b/ts/output/chtml/fonts/tex/bold.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2018-2021 The MathJax Consortium + * Copyright (c) 2018-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/output/chtml/fonts/tex/double-struck.ts b/ts/output/chtml/fonts/tex/double-struck.ts index 870f166ea..135836877 100644 --- a/ts/output/chtml/fonts/tex/double-struck.ts +++ b/ts/output/chtml/fonts/tex/double-struck.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2018-2021 The MathJax Consortium + * Copyright (c) 2018-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/output/chtml/fonts/tex/fraktur-bold.ts b/ts/output/chtml/fonts/tex/fraktur-bold.ts index 18447ba1b..b434372e3 100644 --- a/ts/output/chtml/fonts/tex/fraktur-bold.ts +++ b/ts/output/chtml/fonts/tex/fraktur-bold.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2018-2021 The MathJax Consortium + * Copyright (c) 2018-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/output/chtml/fonts/tex/fraktur.ts b/ts/output/chtml/fonts/tex/fraktur.ts index 7620b94b0..9d358fd1c 100644 --- a/ts/output/chtml/fonts/tex/fraktur.ts +++ b/ts/output/chtml/fonts/tex/fraktur.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2018-2021 The MathJax Consortium + * Copyright (c) 2018-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/output/chtml/fonts/tex/italic.ts b/ts/output/chtml/fonts/tex/italic.ts index 379128df7..82fae6460 100644 --- a/ts/output/chtml/fonts/tex/italic.ts +++ b/ts/output/chtml/fonts/tex/italic.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2018-2021 The MathJax Consortium + * Copyright (c) 2018-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/output/chtml/fonts/tex/largeop.ts b/ts/output/chtml/fonts/tex/largeop.ts index 256e6dd62..f4fe1b4f4 100644 --- a/ts/output/chtml/fonts/tex/largeop.ts +++ b/ts/output/chtml/fonts/tex/largeop.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2018-2021 The MathJax Consortium + * Copyright (c) 2018-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/output/chtml/fonts/tex/monospace.ts b/ts/output/chtml/fonts/tex/monospace.ts index f1b8af728..09a225fb5 100644 --- a/ts/output/chtml/fonts/tex/monospace.ts +++ b/ts/output/chtml/fonts/tex/monospace.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2018-2021 The MathJax Consortium + * Copyright (c) 2018-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/output/chtml/fonts/tex/normal.ts b/ts/output/chtml/fonts/tex/normal.ts index 33b18384e..d08df8c07 100644 --- a/ts/output/chtml/fonts/tex/normal.ts +++ b/ts/output/chtml/fonts/tex/normal.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2018-2021 The MathJax Consortium + * Copyright (c) 2018-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/output/chtml/fonts/tex/sans-serif-bold-italic.ts b/ts/output/chtml/fonts/tex/sans-serif-bold-italic.ts index 95cbeba3f..c4a99c133 100644 --- a/ts/output/chtml/fonts/tex/sans-serif-bold-italic.ts +++ b/ts/output/chtml/fonts/tex/sans-serif-bold-italic.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2018-2021 The MathJax Consortium + * Copyright (c) 2018-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/output/chtml/fonts/tex/sans-serif-bold.ts b/ts/output/chtml/fonts/tex/sans-serif-bold.ts index 8f1e45557..ecfa79412 100644 --- a/ts/output/chtml/fonts/tex/sans-serif-bold.ts +++ b/ts/output/chtml/fonts/tex/sans-serif-bold.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2018-2021 The MathJax Consortium + * Copyright (c) 2018-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/output/chtml/fonts/tex/sans-serif-italic.ts b/ts/output/chtml/fonts/tex/sans-serif-italic.ts index 56fe9d509..7bb36d483 100644 --- a/ts/output/chtml/fonts/tex/sans-serif-italic.ts +++ b/ts/output/chtml/fonts/tex/sans-serif-italic.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2018-2021 The MathJax Consortium + * Copyright (c) 2018-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/output/chtml/fonts/tex/sans-serif.ts b/ts/output/chtml/fonts/tex/sans-serif.ts index e5f9777d1..658ef6bee 100644 --- a/ts/output/chtml/fonts/tex/sans-serif.ts +++ b/ts/output/chtml/fonts/tex/sans-serif.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2018-2021 The MathJax Consortium + * Copyright (c) 2018-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/output/chtml/fonts/tex/script-bold.ts b/ts/output/chtml/fonts/tex/script-bold.ts index 48a61d723..513e892c0 100644 --- a/ts/output/chtml/fonts/tex/script-bold.ts +++ b/ts/output/chtml/fonts/tex/script-bold.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2018-2021 The MathJax Consortium + * Copyright (c) 2018-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/output/chtml/fonts/tex/script.ts b/ts/output/chtml/fonts/tex/script.ts index 41ff98d61..86606f349 100644 --- a/ts/output/chtml/fonts/tex/script.ts +++ b/ts/output/chtml/fonts/tex/script.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2018-2021 The MathJax Consortium + * Copyright (c) 2018-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/output/chtml/fonts/tex/smallop.ts b/ts/output/chtml/fonts/tex/smallop.ts index 99fba5a75..d84a821b2 100644 --- a/ts/output/chtml/fonts/tex/smallop.ts +++ b/ts/output/chtml/fonts/tex/smallop.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2018-2021 The MathJax Consortium + * Copyright (c) 2018-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/output/chtml/fonts/tex/tex-calligraphic-bold.ts b/ts/output/chtml/fonts/tex/tex-calligraphic-bold.ts index b4f698617..3a3b91cc1 100644 --- a/ts/output/chtml/fonts/tex/tex-calligraphic-bold.ts +++ b/ts/output/chtml/fonts/tex/tex-calligraphic-bold.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2018-2021 The MathJax Consortium + * Copyright (c) 2018-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/output/chtml/fonts/tex/tex-calligraphic.ts b/ts/output/chtml/fonts/tex/tex-calligraphic.ts index 4a7369623..1fe4b224a 100644 --- a/ts/output/chtml/fonts/tex/tex-calligraphic.ts +++ b/ts/output/chtml/fonts/tex/tex-calligraphic.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2018-2021 The MathJax Consortium + * Copyright (c) 2018-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/output/chtml/fonts/tex/tex-mathit.ts b/ts/output/chtml/fonts/tex/tex-mathit.ts index 3128cd6ae..842de7b54 100644 --- a/ts/output/chtml/fonts/tex/tex-mathit.ts +++ b/ts/output/chtml/fonts/tex/tex-mathit.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2018-2021 The MathJax Consortium + * Copyright (c) 2018-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/output/chtml/fonts/tex/tex-oldstyle-bold.ts b/ts/output/chtml/fonts/tex/tex-oldstyle-bold.ts index 4e431f74e..31ac47efb 100644 --- a/ts/output/chtml/fonts/tex/tex-oldstyle-bold.ts +++ b/ts/output/chtml/fonts/tex/tex-oldstyle-bold.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2018-2021 The MathJax Consortium + * Copyright (c) 2018-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/output/chtml/fonts/tex/tex-oldstyle.ts b/ts/output/chtml/fonts/tex/tex-oldstyle.ts index dd0ddba9b..e8cc90ca4 100644 --- a/ts/output/chtml/fonts/tex/tex-oldstyle.ts +++ b/ts/output/chtml/fonts/tex/tex-oldstyle.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2018-2021 The MathJax Consortium + * Copyright (c) 2018-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/output/chtml/fonts/tex/tex-size3.ts b/ts/output/chtml/fonts/tex/tex-size3.ts index 39836f267..183db59a5 100644 --- a/ts/output/chtml/fonts/tex/tex-size3.ts +++ b/ts/output/chtml/fonts/tex/tex-size3.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2018-2021 The MathJax Consortium + * Copyright (c) 2018-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/output/chtml/fonts/tex/tex-size4.ts b/ts/output/chtml/fonts/tex/tex-size4.ts index 94e603ccd..5ea41b2f5 100644 --- a/ts/output/chtml/fonts/tex/tex-size4.ts +++ b/ts/output/chtml/fonts/tex/tex-size4.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2018-2021 The MathJax Consortium + * Copyright (c) 2018-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/output/chtml/fonts/tex/tex-variant.ts b/ts/output/chtml/fonts/tex/tex-variant.ts index d23029bb1..a44ad2ae3 100644 --- a/ts/output/chtml/fonts/tex/tex-variant.ts +++ b/ts/output/chtml/fonts/tex/tex-variant.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2018-2021 The MathJax Consortium + * Copyright (c) 2018-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/output/common/FontData.ts b/ts/output/common/FontData.ts index bf745715c..aa5833c0f 100644 --- a/ts/output/common/FontData.ts +++ b/ts/output/common/FontData.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2017-2021 The MathJax Consortium + * Copyright (c) 2017-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/output/common/Notation.ts b/ts/output/common/Notation.ts index 0da59c00b..ee0881c56 100644 --- a/ts/output/common/Notation.ts +++ b/ts/output/common/Notation.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2018-2021 The MathJax Consortium + * Copyright (c) 2018-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/output/common/OutputJax.ts b/ts/output/common/OutputJax.ts index 54ed8c0de..d2d763eba 100644 --- a/ts/output/common/OutputJax.ts +++ b/ts/output/common/OutputJax.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2017-2021 The MathJax Consortium + * Copyright (c) 2017-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/output/common/Wrapper.ts b/ts/output/common/Wrapper.ts index 8ea122935..571e293e8 100644 --- a/ts/output/common/Wrapper.ts +++ b/ts/output/common/Wrapper.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2017-2021 The MathJax Consortium + * Copyright (c) 2017-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/output/common/WrapperFactory.ts b/ts/output/common/WrapperFactory.ts index 5e8d562a4..98eac8e6f 100644 --- a/ts/output/common/WrapperFactory.ts +++ b/ts/output/common/WrapperFactory.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2017-2021 The MathJax Consortium + * Copyright (c) 2017-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/output/common/Wrappers/TeXAtom.ts b/ts/output/common/Wrappers/TeXAtom.ts index 0d7a41e6e..d0db94110 100644 --- a/ts/output/common/Wrappers/TeXAtom.ts +++ b/ts/output/common/Wrappers/TeXAtom.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2017-2021 The MathJax Consortium + * Copyright (c) 2017-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/output/common/Wrappers/TextNode.ts b/ts/output/common/Wrappers/TextNode.ts index a26dc0151..dac345474 100644 --- a/ts/output/common/Wrappers/TextNode.ts +++ b/ts/output/common/Wrappers/TextNode.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2017-2021 The MathJax Consortium + * Copyright (c) 2017-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/output/common/Wrappers/maction.ts b/ts/output/common/Wrappers/maction.ts index 8dcc75a8c..ae7327b0f 100644 --- a/ts/output/common/Wrappers/maction.ts +++ b/ts/output/common/Wrappers/maction.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2018-2021 The MathJax Consortium + * Copyright (c) 2018-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/output/common/Wrappers/math.ts b/ts/output/common/Wrappers/math.ts index ac864b4dc..9d7fc428d 100644 --- a/ts/output/common/Wrappers/math.ts +++ b/ts/output/common/Wrappers/math.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2018-2021 The MathJax Consortium + * Copyright (c) 2018-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/output/common/Wrappers/menclose.ts b/ts/output/common/Wrappers/menclose.ts index 4a24bb34e..8fae307d7 100644 --- a/ts/output/common/Wrappers/menclose.ts +++ b/ts/output/common/Wrappers/menclose.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2018-2021 The MathJax Consortium + * Copyright (c) 2018-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/output/common/Wrappers/mfenced.ts b/ts/output/common/Wrappers/mfenced.ts index 36a7ad56e..ae34a95ac 100644 --- a/ts/output/common/Wrappers/mfenced.ts +++ b/ts/output/common/Wrappers/mfenced.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2018-2021 The MathJax Consortium + * Copyright (c) 2018-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/output/common/Wrappers/mfrac.ts b/ts/output/common/Wrappers/mfrac.ts index a4ab0aa21..7dc4a3bae 100644 --- a/ts/output/common/Wrappers/mfrac.ts +++ b/ts/output/common/Wrappers/mfrac.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2017-2021 The MathJax Consortium + * Copyright (c) 2017-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/output/common/Wrappers/mglyph.ts b/ts/output/common/Wrappers/mglyph.ts index ea092fb99..e1d4b7dd6 100644 --- a/ts/output/common/Wrappers/mglyph.ts +++ b/ts/output/common/Wrappers/mglyph.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2018-2021 The MathJax Consortium + * Copyright (c) 2018-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/output/common/Wrappers/mi.ts b/ts/output/common/Wrappers/mi.ts index ee944274b..a3f7b9623 100644 --- a/ts/output/common/Wrappers/mi.ts +++ b/ts/output/common/Wrappers/mi.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2017-2021 The MathJax Consortium + * Copyright (c) 2017-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/output/common/Wrappers/mmultiscripts.ts b/ts/output/common/Wrappers/mmultiscripts.ts index 4937b8f98..1ca05903d 100644 --- a/ts/output/common/Wrappers/mmultiscripts.ts +++ b/ts/output/common/Wrappers/mmultiscripts.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2018-2021 The MathJax Consortium + * Copyright (c) 2018-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/output/common/Wrappers/mn.ts b/ts/output/common/Wrappers/mn.ts index c764170bb..a908d45c6 100644 --- a/ts/output/common/Wrappers/mn.ts +++ b/ts/output/common/Wrappers/mn.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2018-2021 The MathJax Consortium + * Copyright (c) 2018-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/output/common/Wrappers/mo.ts b/ts/output/common/Wrappers/mo.ts index d863b84c0..1364f06e2 100644 --- a/ts/output/common/Wrappers/mo.ts +++ b/ts/output/common/Wrappers/mo.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2017-2021 The MathJax Consortium + * Copyright (c) 2017-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/output/common/Wrappers/mpadded.ts b/ts/output/common/Wrappers/mpadded.ts index 2156eadf5..27dc906a9 100644 --- a/ts/output/common/Wrappers/mpadded.ts +++ b/ts/output/common/Wrappers/mpadded.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2017-2021 The MathJax Consortium + * Copyright (c) 2017-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/output/common/Wrappers/mroot.ts b/ts/output/common/Wrappers/mroot.ts index 635c8e951..1f7cfac6d 100644 --- a/ts/output/common/Wrappers/mroot.ts +++ b/ts/output/common/Wrappers/mroot.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2017-2021 The MathJax Consortium + * Copyright (c) 2017-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/output/common/Wrappers/mrow.ts b/ts/output/common/Wrappers/mrow.ts index b936fa38b..2b64c7756 100644 --- a/ts/output/common/Wrappers/mrow.ts +++ b/ts/output/common/Wrappers/mrow.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2017-2021 The MathJax Consortium + * Copyright (c) 2017-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/output/common/Wrappers/ms.ts b/ts/output/common/Wrappers/ms.ts index 585d12f45..08899b57e 100644 --- a/ts/output/common/Wrappers/ms.ts +++ b/ts/output/common/Wrappers/ms.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2017-2021 The MathJax Consortium + * Copyright (c) 2017-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/output/common/Wrappers/mspace.ts b/ts/output/common/Wrappers/mspace.ts index ce340a057..7f6113301 100644 --- a/ts/output/common/Wrappers/mspace.ts +++ b/ts/output/common/Wrappers/mspace.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2017-2021 The MathJax Consortium + * Copyright (c) 2017-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/output/common/Wrappers/msqrt.ts b/ts/output/common/Wrappers/msqrt.ts index b53ca81a4..965aace01 100644 --- a/ts/output/common/Wrappers/msqrt.ts +++ b/ts/output/common/Wrappers/msqrt.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2017-2021 The MathJax Consortium + * Copyright (c) 2017-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/output/common/Wrappers/msubsup.ts b/ts/output/common/Wrappers/msubsup.ts index 34f7bbe3a..1cf72b776 100644 --- a/ts/output/common/Wrappers/msubsup.ts +++ b/ts/output/common/Wrappers/msubsup.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2017-2021 The MathJax Consortium + * Copyright (c) 2017-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/output/common/Wrappers/mtable.ts b/ts/output/common/Wrappers/mtable.ts index 8d26b02e2..d4e95a4f0 100644 --- a/ts/output/common/Wrappers/mtable.ts +++ b/ts/output/common/Wrappers/mtable.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2017-2021 The MathJax Consortium + * Copyright (c) 2017-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/output/common/Wrappers/mtd.ts b/ts/output/common/Wrappers/mtd.ts index 0bd28610a..3ab590f6c 100644 --- a/ts/output/common/Wrappers/mtd.ts +++ b/ts/output/common/Wrappers/mtd.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2018-2021 The MathJax Consortium + * Copyright (c) 2018-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/output/common/Wrappers/mtext.ts b/ts/output/common/Wrappers/mtext.ts index a945b514d..aa3115a71 100644 --- a/ts/output/common/Wrappers/mtext.ts +++ b/ts/output/common/Wrappers/mtext.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2019-2021 The MathJax Consortium + * Copyright (c) 2019-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/output/common/Wrappers/mtr.ts b/ts/output/common/Wrappers/mtr.ts index 0a1b68b80..878284683 100644 --- a/ts/output/common/Wrappers/mtr.ts +++ b/ts/output/common/Wrappers/mtr.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2017-2021 The MathJax Consortium + * Copyright (c) 2017-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/output/common/Wrappers/munderover.ts b/ts/output/common/Wrappers/munderover.ts index 8bb72fa35..4a735d247 100644 --- a/ts/output/common/Wrappers/munderover.ts +++ b/ts/output/common/Wrappers/munderover.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2017-2021 The MathJax Consortium + * Copyright (c) 2017-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/output/common/Wrappers/scriptbase.ts b/ts/output/common/Wrappers/scriptbase.ts index 7bc015af7..c19122a88 100644 --- a/ts/output/common/Wrappers/scriptbase.ts +++ b/ts/output/common/Wrappers/scriptbase.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2017-2021 The MathJax Consortium + * Copyright (c) 2017-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/output/common/Wrappers/semantics.ts b/ts/output/common/Wrappers/semantics.ts index 54c9da33c..c04e7c62d 100644 --- a/ts/output/common/Wrappers/semantics.ts +++ b/ts/output/common/Wrappers/semantics.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2017-2021 The MathJax Consortium + * Copyright (c) 2017-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/output/common/fonts/tex.ts b/ts/output/common/fonts/tex.ts index 90e239b1e..ade1b715f 100644 --- a/ts/output/common/fonts/tex.ts +++ b/ts/output/common/fonts/tex.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2017-2021 The MathJax Consortium + * Copyright (c) 2017-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/output/common/fonts/tex/bold-italic.ts b/ts/output/common/fonts/tex/bold-italic.ts index fccb5bf89..4943787d3 100644 --- a/ts/output/common/fonts/tex/bold-italic.ts +++ b/ts/output/common/fonts/tex/bold-italic.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2018-2021 The MathJax Consortium + * Copyright (c) 2018-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/output/common/fonts/tex/bold.ts b/ts/output/common/fonts/tex/bold.ts index ad87c933d..0cea55f19 100644 --- a/ts/output/common/fonts/tex/bold.ts +++ b/ts/output/common/fonts/tex/bold.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2018-2021 The MathJax Consortium + * Copyright (c) 2018-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/output/common/fonts/tex/delimiters.ts b/ts/output/common/fonts/tex/delimiters.ts index 95551c137..1a11ea0da 100644 --- a/ts/output/common/fonts/tex/delimiters.ts +++ b/ts/output/common/fonts/tex/delimiters.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2018-2021 The MathJax Consortium + * Copyright (c) 2018-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/output/common/fonts/tex/double-struck.ts b/ts/output/common/fonts/tex/double-struck.ts index 2ee5ab8df..e24f3be2a 100644 --- a/ts/output/common/fonts/tex/double-struck.ts +++ b/ts/output/common/fonts/tex/double-struck.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2018-2021 The MathJax Consortium + * Copyright (c) 2018-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/output/common/fonts/tex/fraktur-bold.ts b/ts/output/common/fonts/tex/fraktur-bold.ts index f86b77e4f..0de2d1aee 100644 --- a/ts/output/common/fonts/tex/fraktur-bold.ts +++ b/ts/output/common/fonts/tex/fraktur-bold.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2018-2021 The MathJax Consortium + * Copyright (c) 2018-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/output/common/fonts/tex/fraktur.ts b/ts/output/common/fonts/tex/fraktur.ts index 6666a7bfc..479c75ad9 100644 --- a/ts/output/common/fonts/tex/fraktur.ts +++ b/ts/output/common/fonts/tex/fraktur.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2018-2021 The MathJax Consortium + * Copyright (c) 2018-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/output/common/fonts/tex/italic.ts b/ts/output/common/fonts/tex/italic.ts index bb685ed7d..4640247a0 100644 --- a/ts/output/common/fonts/tex/italic.ts +++ b/ts/output/common/fonts/tex/italic.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2018-2021 The MathJax Consortium + * Copyright (c) 2018-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/output/common/fonts/tex/largeop.ts b/ts/output/common/fonts/tex/largeop.ts index 495eb611f..4970374a8 100644 --- a/ts/output/common/fonts/tex/largeop.ts +++ b/ts/output/common/fonts/tex/largeop.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2018-2021 The MathJax Consortium + * Copyright (c) 2018-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/output/common/fonts/tex/monospace.ts b/ts/output/common/fonts/tex/monospace.ts index 490329f6f..5dadfcd2e 100644 --- a/ts/output/common/fonts/tex/monospace.ts +++ b/ts/output/common/fonts/tex/monospace.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2018-2021 The MathJax Consortium + * Copyright (c) 2018-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/output/common/fonts/tex/normal.ts b/ts/output/common/fonts/tex/normal.ts index 2821dd251..0548b40d7 100644 --- a/ts/output/common/fonts/tex/normal.ts +++ b/ts/output/common/fonts/tex/normal.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2018-2021 The MathJax Consortium + * Copyright (c) 2018-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/output/common/fonts/tex/sans-serif-bold-italic.ts b/ts/output/common/fonts/tex/sans-serif-bold-italic.ts index f26abfdd5..ae6aaec96 100644 --- a/ts/output/common/fonts/tex/sans-serif-bold-italic.ts +++ b/ts/output/common/fonts/tex/sans-serif-bold-italic.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2018-2021 The MathJax Consortium + * Copyright (c) 2018-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/output/common/fonts/tex/sans-serif-bold.ts b/ts/output/common/fonts/tex/sans-serif-bold.ts index 5fce7b22c..a08672e47 100644 --- a/ts/output/common/fonts/tex/sans-serif-bold.ts +++ b/ts/output/common/fonts/tex/sans-serif-bold.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2018-2021 The MathJax Consortium + * Copyright (c) 2018-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/output/common/fonts/tex/sans-serif-italic.ts b/ts/output/common/fonts/tex/sans-serif-italic.ts index cabe2b0a4..dc50298dc 100644 --- a/ts/output/common/fonts/tex/sans-serif-italic.ts +++ b/ts/output/common/fonts/tex/sans-serif-italic.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2018-2021 The MathJax Consortium + * Copyright (c) 2018-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/output/common/fonts/tex/sans-serif.ts b/ts/output/common/fonts/tex/sans-serif.ts index 3754b0c0b..9f5a20bc4 100644 --- a/ts/output/common/fonts/tex/sans-serif.ts +++ b/ts/output/common/fonts/tex/sans-serif.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2018-2021 The MathJax Consortium + * Copyright (c) 2018-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/output/common/fonts/tex/script-bold.ts b/ts/output/common/fonts/tex/script-bold.ts index a60462b1d..49d554e4d 100644 --- a/ts/output/common/fonts/tex/script-bold.ts +++ b/ts/output/common/fonts/tex/script-bold.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2018-2021 The MathJax Consortium + * Copyright (c) 2018-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/output/common/fonts/tex/script.ts b/ts/output/common/fonts/tex/script.ts index ec4430b25..04825ae57 100644 --- a/ts/output/common/fonts/tex/script.ts +++ b/ts/output/common/fonts/tex/script.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2018-2021 The MathJax Consortium + * Copyright (c) 2018-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/output/common/fonts/tex/smallop.ts b/ts/output/common/fonts/tex/smallop.ts index c06dd3e4d..59c656c5a 100644 --- a/ts/output/common/fonts/tex/smallop.ts +++ b/ts/output/common/fonts/tex/smallop.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2018-2021 The MathJax Consortium + * Copyright (c) 2018-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/output/common/fonts/tex/tex-calligraphic-bold.ts b/ts/output/common/fonts/tex/tex-calligraphic-bold.ts index a9c8329c3..05452e709 100644 --- a/ts/output/common/fonts/tex/tex-calligraphic-bold.ts +++ b/ts/output/common/fonts/tex/tex-calligraphic-bold.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2018-2021 The MathJax Consortium + * Copyright (c) 2018-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/output/common/fonts/tex/tex-calligraphic.ts b/ts/output/common/fonts/tex/tex-calligraphic.ts index b194f718a..98a91ef15 100644 --- a/ts/output/common/fonts/tex/tex-calligraphic.ts +++ b/ts/output/common/fonts/tex/tex-calligraphic.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2018-2021 The MathJax Consortium + * Copyright (c) 2018-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/output/common/fonts/tex/tex-mathit.ts b/ts/output/common/fonts/tex/tex-mathit.ts index d6eddf569..7b51522d6 100644 --- a/ts/output/common/fonts/tex/tex-mathit.ts +++ b/ts/output/common/fonts/tex/tex-mathit.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2018-2021 The MathJax Consortium + * Copyright (c) 2018-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/output/common/fonts/tex/tex-oldstyle-bold.ts b/ts/output/common/fonts/tex/tex-oldstyle-bold.ts index 9be63ec91..bb8d918df 100644 --- a/ts/output/common/fonts/tex/tex-oldstyle-bold.ts +++ b/ts/output/common/fonts/tex/tex-oldstyle-bold.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2018-2021 The MathJax Consortium + * Copyright (c) 2018-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/output/common/fonts/tex/tex-oldstyle.ts b/ts/output/common/fonts/tex/tex-oldstyle.ts index e5aaa9ab0..48e1de3bb 100644 --- a/ts/output/common/fonts/tex/tex-oldstyle.ts +++ b/ts/output/common/fonts/tex/tex-oldstyle.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2018-2021 The MathJax Consortium + * Copyright (c) 2018-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/output/common/fonts/tex/tex-size3.ts b/ts/output/common/fonts/tex/tex-size3.ts index 97527cbea..938359284 100644 --- a/ts/output/common/fonts/tex/tex-size3.ts +++ b/ts/output/common/fonts/tex/tex-size3.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2018-2021 The MathJax Consortium + * Copyright (c) 2018-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/output/common/fonts/tex/tex-size4.ts b/ts/output/common/fonts/tex/tex-size4.ts index 6b0bde957..7e8039a67 100644 --- a/ts/output/common/fonts/tex/tex-size4.ts +++ b/ts/output/common/fonts/tex/tex-size4.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2018-2021 The MathJax Consortium + * Copyright (c) 2018-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/output/common/fonts/tex/tex-variant.ts b/ts/output/common/fonts/tex/tex-variant.ts index 2052f616c..18319e2dc 100644 --- a/ts/output/common/fonts/tex/tex-variant.ts +++ b/ts/output/common/fonts/tex/tex-variant.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2018-2021 The MathJax Consortium + * Copyright (c) 2018-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/output/svg.ts b/ts/output/svg.ts index b9f32e18d..922032563 100644 --- a/ts/output/svg.ts +++ b/ts/output/svg.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2018-2021 The MathJax Consortium + * Copyright (c) 2018-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/output/svg/FontCache.ts b/ts/output/svg/FontCache.ts index 8fa04998e..757569a7a 100644 --- a/ts/output/svg/FontCache.ts +++ b/ts/output/svg/FontCache.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2019-2021 The MathJax Consortium + * Copyright (c) 2019-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/output/svg/FontData.ts b/ts/output/svg/FontData.ts index 8a67f4b14..44ea67a47 100644 --- a/ts/output/svg/FontData.ts +++ b/ts/output/svg/FontData.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2017-2021 The MathJax Consortium + * Copyright (c) 2017-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/output/svg/Notation.ts b/ts/output/svg/Notation.ts index 5e5173565..14fe165e2 100644 --- a/ts/output/svg/Notation.ts +++ b/ts/output/svg/Notation.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2018-2021 The MathJax Consortium + * Copyright (c) 2018-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/output/svg/Wrapper.ts b/ts/output/svg/Wrapper.ts index 54f1f3de4..92bfb12fe 100644 --- a/ts/output/svg/Wrapper.ts +++ b/ts/output/svg/Wrapper.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2018-2021 The MathJax Consortium + * Copyright (c) 2018-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/output/svg/WrapperFactory.ts b/ts/output/svg/WrapperFactory.ts index da4a637e4..4cd468ea0 100644 --- a/ts/output/svg/WrapperFactory.ts +++ b/ts/output/svg/WrapperFactory.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2018-2021 The MathJax Consortium + * Copyright (c) 2018-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/output/svg/Wrappers.ts b/ts/output/svg/Wrappers.ts index 8693ed325..741a24f61 100644 --- a/ts/output/svg/Wrappers.ts +++ b/ts/output/svg/Wrappers.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2018-2021 The MathJax Consortium + * Copyright (c) 2018-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/output/svg/Wrappers/TeXAtom.ts b/ts/output/svg/Wrappers/TeXAtom.ts index 7dc3b9987..ff0518a98 100644 --- a/ts/output/svg/Wrappers/TeXAtom.ts +++ b/ts/output/svg/Wrappers/TeXAtom.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2018-2021 The MathJax Consortium + * Copyright (c) 2018-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/output/svg/Wrappers/TextNode.ts b/ts/output/svg/Wrappers/TextNode.ts index 3b94b63a8..556377e81 100644 --- a/ts/output/svg/Wrappers/TextNode.ts +++ b/ts/output/svg/Wrappers/TextNode.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2017-2021 The MathJax Consortium + * Copyright (c) 2017-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/output/svg/Wrappers/maction.ts b/ts/output/svg/Wrappers/maction.ts index 90bf4e69e..d81dd8d2c 100644 --- a/ts/output/svg/Wrappers/maction.ts +++ b/ts/output/svg/Wrappers/maction.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2018-2021 The MathJax Consortium + * Copyright (c) 2018-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/output/svg/Wrappers/math.ts b/ts/output/svg/Wrappers/math.ts index b2326baef..af6ff3bf4 100644 --- a/ts/output/svg/Wrappers/math.ts +++ b/ts/output/svg/Wrappers/math.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2018-2021 The MathJax Consortium + * Copyright (c) 2018-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/output/svg/Wrappers/menclose.ts b/ts/output/svg/Wrappers/menclose.ts index e5811b3f7..aa67b9434 100644 --- a/ts/output/svg/Wrappers/menclose.ts +++ b/ts/output/svg/Wrappers/menclose.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2018-2021 The MathJax Consortium + * Copyright (c) 2018-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/output/svg/Wrappers/merror.ts b/ts/output/svg/Wrappers/merror.ts index dc6054c42..79fbe2f74 100644 --- a/ts/output/svg/Wrappers/merror.ts +++ b/ts/output/svg/Wrappers/merror.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2018-2021 The MathJax Consortium + * Copyright (c) 2018-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/output/svg/Wrappers/mfenced.ts b/ts/output/svg/Wrappers/mfenced.ts index ccd0d7880..90aca698c 100644 --- a/ts/output/svg/Wrappers/mfenced.ts +++ b/ts/output/svg/Wrappers/mfenced.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2018-2021 The MathJax Consortium + * Copyright (c) 2018-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/output/svg/Wrappers/mfrac.ts b/ts/output/svg/Wrappers/mfrac.ts index db86266e1..0d7429bbb 100644 --- a/ts/output/svg/Wrappers/mfrac.ts +++ b/ts/output/svg/Wrappers/mfrac.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2018-2021 The MathJax Consortium + * Copyright (c) 2018-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/output/svg/Wrappers/mglyph.ts b/ts/output/svg/Wrappers/mglyph.ts index 19ec0d63e..893f37179 100644 --- a/ts/output/svg/Wrappers/mglyph.ts +++ b/ts/output/svg/Wrappers/mglyph.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2018-2021 The MathJax Consortium + * Copyright (c) 2018-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/output/svg/Wrappers/mi.ts b/ts/output/svg/Wrappers/mi.ts index 806345a66..6adf4192e 100644 --- a/ts/output/svg/Wrappers/mi.ts +++ b/ts/output/svg/Wrappers/mi.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2018-2021 The MathJax Consortium + * Copyright (c) 2018-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/output/svg/Wrappers/mmultiscripts.ts b/ts/output/svg/Wrappers/mmultiscripts.ts index f2f6883bc..a80bbf34f 100644 --- a/ts/output/svg/Wrappers/mmultiscripts.ts +++ b/ts/output/svg/Wrappers/mmultiscripts.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2018-2021 The MathJax Consortium + * Copyright (c) 2018-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/output/svg/Wrappers/mn.ts b/ts/output/svg/Wrappers/mn.ts index 70221e185..9335a77cd 100644 --- a/ts/output/svg/Wrappers/mn.ts +++ b/ts/output/svg/Wrappers/mn.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2018-2021 The MathJax Consortium + * Copyright (c) 2018-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/output/svg/Wrappers/mo.ts b/ts/output/svg/Wrappers/mo.ts index d3b0b3e48..be98b385e 100644 --- a/ts/output/svg/Wrappers/mo.ts +++ b/ts/output/svg/Wrappers/mo.ts @@ -1,7 +1,7 @@ /************************************************************* * - * Copyright (c) 2018-2021 The MathJax Consortium + * Copyright (c) 2018-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/output/svg/Wrappers/mpadded.ts b/ts/output/svg/Wrappers/mpadded.ts index 7c1673afa..d9694742f 100644 --- a/ts/output/svg/Wrappers/mpadded.ts +++ b/ts/output/svg/Wrappers/mpadded.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2018-2021 The MathJax Consortium + * Copyright (c) 2018-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/output/svg/Wrappers/mphantom.ts b/ts/output/svg/Wrappers/mphantom.ts index 32975c101..c4da99577 100644 --- a/ts/output/svg/Wrappers/mphantom.ts +++ b/ts/output/svg/Wrappers/mphantom.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2018-2021 The MathJax Consortium + * Copyright (c) 2018-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/output/svg/Wrappers/mroot.ts b/ts/output/svg/Wrappers/mroot.ts index a414530e2..2ff4f9ba5 100644 --- a/ts/output/svg/Wrappers/mroot.ts +++ b/ts/output/svg/Wrappers/mroot.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2018-2021 The MathJax Consortium + * Copyright (c) 2018-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/output/svg/Wrappers/mrow.ts b/ts/output/svg/Wrappers/mrow.ts index b98e9c84c..1ffa5cff1 100644 --- a/ts/output/svg/Wrappers/mrow.ts +++ b/ts/output/svg/Wrappers/mrow.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2018-2021 The MathJax Consortium + * Copyright (c) 2018-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/output/svg/Wrappers/ms.ts b/ts/output/svg/Wrappers/ms.ts index 16a14dd7b..b7d1bbfd7 100644 --- a/ts/output/svg/Wrappers/ms.ts +++ b/ts/output/svg/Wrappers/ms.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2018-2021 The MathJax Consortium + * Copyright (c) 2018-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/output/svg/Wrappers/mspace.ts b/ts/output/svg/Wrappers/mspace.ts index da1f5eac4..0e31bfc72 100644 --- a/ts/output/svg/Wrappers/mspace.ts +++ b/ts/output/svg/Wrappers/mspace.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2018-2021 The MathJax Consortium + * Copyright (c) 2018-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/output/svg/Wrappers/msqrt.ts b/ts/output/svg/Wrappers/msqrt.ts index 38f7f2f1e..21264ced1 100644 --- a/ts/output/svg/Wrappers/msqrt.ts +++ b/ts/output/svg/Wrappers/msqrt.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2018-2021 The MathJax Consortium + * Copyright (c) 2018-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/output/svg/Wrappers/msubsup.ts b/ts/output/svg/Wrappers/msubsup.ts index 6e3cdcf48..5193a31ff 100644 --- a/ts/output/svg/Wrappers/msubsup.ts +++ b/ts/output/svg/Wrappers/msubsup.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2018-2021 The MathJax Consortium + * Copyright (c) 2018-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/output/svg/Wrappers/mtable.ts b/ts/output/svg/Wrappers/mtable.ts index 0076749de..38f93f214 100644 --- a/ts/output/svg/Wrappers/mtable.ts +++ b/ts/output/svg/Wrappers/mtable.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2018-2021 The MathJax Consortium + * Copyright (c) 2018-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/output/svg/Wrappers/mtd.ts b/ts/output/svg/Wrappers/mtd.ts index 9aa0ff0e2..ba6fe79d3 100644 --- a/ts/output/svg/Wrappers/mtd.ts +++ b/ts/output/svg/Wrappers/mtd.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2018-2021 The MathJax Consortium + * Copyright (c) 2018-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/output/svg/Wrappers/mtext.ts b/ts/output/svg/Wrappers/mtext.ts index e1fe6253f..38d15c8d6 100644 --- a/ts/output/svg/Wrappers/mtext.ts +++ b/ts/output/svg/Wrappers/mtext.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2019-2021 The MathJax Consortium + * Copyright (c) 2019-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/output/svg/Wrappers/mtr.ts b/ts/output/svg/Wrappers/mtr.ts index 0d640a454..a73d62ca3 100644 --- a/ts/output/svg/Wrappers/mtr.ts +++ b/ts/output/svg/Wrappers/mtr.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2018-2021 The MathJax Consortium + * Copyright (c) 2018-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/output/svg/Wrappers/munderover.ts b/ts/output/svg/Wrappers/munderover.ts index dc48a3d2d..767c680a4 100644 --- a/ts/output/svg/Wrappers/munderover.ts +++ b/ts/output/svg/Wrappers/munderover.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2018-2021 The MathJax Consortium + * Copyright (c) 2018-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/output/svg/Wrappers/scriptbase.ts b/ts/output/svg/Wrappers/scriptbase.ts index 0c011b3d5..d8d96f3b6 100644 --- a/ts/output/svg/Wrappers/scriptbase.ts +++ b/ts/output/svg/Wrappers/scriptbase.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2018-2021 The MathJax Consortium + * Copyright (c) 2018-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/output/svg/Wrappers/semantics.ts b/ts/output/svg/Wrappers/semantics.ts index 41e31ab8c..2533e8d84 100644 --- a/ts/output/svg/Wrappers/semantics.ts +++ b/ts/output/svg/Wrappers/semantics.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2018-2021 The MathJax Consortium + * Copyright (c) 2018-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/output/svg/fonts/tex.ts b/ts/output/svg/fonts/tex.ts index 59fa94fd3..4c4c8f51e 100644 --- a/ts/output/svg/fonts/tex.ts +++ b/ts/output/svg/fonts/tex.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2017-2021 The MathJax Consortium + * Copyright (c) 2017-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/output/svg/fonts/tex/bold-italic.ts b/ts/output/svg/fonts/tex/bold-italic.ts index 2fbcf19d3..1327ba2fd 100644 --- a/ts/output/svg/fonts/tex/bold-italic.ts +++ b/ts/output/svg/fonts/tex/bold-italic.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2018-2021 The MathJax Consortium + * Copyright (c) 2018-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/output/svg/fonts/tex/bold.ts b/ts/output/svg/fonts/tex/bold.ts index fc4662b8d..cd6235bd9 100644 --- a/ts/output/svg/fonts/tex/bold.ts +++ b/ts/output/svg/fonts/tex/bold.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2018-2021 The MathJax Consortium + * Copyright (c) 2018-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/output/svg/fonts/tex/double-struck.ts b/ts/output/svg/fonts/tex/double-struck.ts index 870f166ea..135836877 100644 --- a/ts/output/svg/fonts/tex/double-struck.ts +++ b/ts/output/svg/fonts/tex/double-struck.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2018-2021 The MathJax Consortium + * Copyright (c) 2018-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/output/svg/fonts/tex/fraktur-bold.ts b/ts/output/svg/fonts/tex/fraktur-bold.ts index 6a287641b..89d50c8db 100644 --- a/ts/output/svg/fonts/tex/fraktur-bold.ts +++ b/ts/output/svg/fonts/tex/fraktur-bold.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2018-2021 The MathJax Consortium + * Copyright (c) 2018-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/output/svg/fonts/tex/fraktur.ts b/ts/output/svg/fonts/tex/fraktur.ts index c2d8e89c8..570c3ef8e 100644 --- a/ts/output/svg/fonts/tex/fraktur.ts +++ b/ts/output/svg/fonts/tex/fraktur.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2018-2021 The MathJax Consortium + * Copyright (c) 2018-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/output/svg/fonts/tex/italic.ts b/ts/output/svg/fonts/tex/italic.ts index a8d29c759..914d8c8ed 100644 --- a/ts/output/svg/fonts/tex/italic.ts +++ b/ts/output/svg/fonts/tex/italic.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2018-2021 The MathJax Consortium + * Copyright (c) 2018-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/output/svg/fonts/tex/largeop.ts b/ts/output/svg/fonts/tex/largeop.ts index 8e4c87328..5a486210a 100644 --- a/ts/output/svg/fonts/tex/largeop.ts +++ b/ts/output/svg/fonts/tex/largeop.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2018-2021 The MathJax Consortium + * Copyright (c) 2018-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/output/svg/fonts/tex/monospace.ts b/ts/output/svg/fonts/tex/monospace.ts index e7c4cad04..f8b5a11dc 100644 --- a/ts/output/svg/fonts/tex/monospace.ts +++ b/ts/output/svg/fonts/tex/monospace.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2018-2021 The MathJax Consortium + * Copyright (c) 2018-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/output/svg/fonts/tex/normal.ts b/ts/output/svg/fonts/tex/normal.ts index 5e450f308..3e4227ebd 100644 --- a/ts/output/svg/fonts/tex/normal.ts +++ b/ts/output/svg/fonts/tex/normal.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2018-2021 The MathJax Consortium + * Copyright (c) 2018-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/output/svg/fonts/tex/sans-serif-bold-italic.ts b/ts/output/svg/fonts/tex/sans-serif-bold-italic.ts index a8501b9f3..3bac5b527 100644 --- a/ts/output/svg/fonts/tex/sans-serif-bold-italic.ts +++ b/ts/output/svg/fonts/tex/sans-serif-bold-italic.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2018-2021 The MathJax Consortium + * Copyright (c) 2018-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/output/svg/fonts/tex/sans-serif-bold.ts b/ts/output/svg/fonts/tex/sans-serif-bold.ts index aa6c22925..92d0fdd16 100644 --- a/ts/output/svg/fonts/tex/sans-serif-bold.ts +++ b/ts/output/svg/fonts/tex/sans-serif-bold.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2018-2021 The MathJax Consortium + * Copyright (c) 2018-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/output/svg/fonts/tex/sans-serif-italic.ts b/ts/output/svg/fonts/tex/sans-serif-italic.ts index 1faee159c..1b0501a9b 100644 --- a/ts/output/svg/fonts/tex/sans-serif-italic.ts +++ b/ts/output/svg/fonts/tex/sans-serif-italic.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2018-2021 The MathJax Consortium + * Copyright (c) 2018-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/output/svg/fonts/tex/sans-serif.ts b/ts/output/svg/fonts/tex/sans-serif.ts index 7d825df1f..45c5bcdb1 100644 --- a/ts/output/svg/fonts/tex/sans-serif.ts +++ b/ts/output/svg/fonts/tex/sans-serif.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2018-2021 The MathJax Consortium + * Copyright (c) 2018-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/output/svg/fonts/tex/script-bold.ts b/ts/output/svg/fonts/tex/script-bold.ts index 48a61d723..513e892c0 100644 --- a/ts/output/svg/fonts/tex/script-bold.ts +++ b/ts/output/svg/fonts/tex/script-bold.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2018-2021 The MathJax Consortium + * Copyright (c) 2018-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/output/svg/fonts/tex/script.ts b/ts/output/svg/fonts/tex/script.ts index 41ff98d61..86606f349 100644 --- a/ts/output/svg/fonts/tex/script.ts +++ b/ts/output/svg/fonts/tex/script.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2018-2021 The MathJax Consortium + * Copyright (c) 2018-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/output/svg/fonts/tex/smallop.ts b/ts/output/svg/fonts/tex/smallop.ts index 5f12871c0..bb10f1615 100644 --- a/ts/output/svg/fonts/tex/smallop.ts +++ b/ts/output/svg/fonts/tex/smallop.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2018-2021 The MathJax Consortium + * Copyright (c) 2018-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/output/svg/fonts/tex/tex-calligraphic-bold.ts b/ts/output/svg/fonts/tex/tex-calligraphic-bold.ts index 475b2ea7b..12267fb2b 100644 --- a/ts/output/svg/fonts/tex/tex-calligraphic-bold.ts +++ b/ts/output/svg/fonts/tex/tex-calligraphic-bold.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2018-2021 The MathJax Consortium + * Copyright (c) 2018-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/output/svg/fonts/tex/tex-calligraphic.ts b/ts/output/svg/fonts/tex/tex-calligraphic.ts index d5d4bc715..332b31762 100644 --- a/ts/output/svg/fonts/tex/tex-calligraphic.ts +++ b/ts/output/svg/fonts/tex/tex-calligraphic.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2018-2021 The MathJax Consortium + * Copyright (c) 2018-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/output/svg/fonts/tex/tex-mathit.ts b/ts/output/svg/fonts/tex/tex-mathit.ts index 131f99893..58d3a227b 100644 --- a/ts/output/svg/fonts/tex/tex-mathit.ts +++ b/ts/output/svg/fonts/tex/tex-mathit.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2018-2021 The MathJax Consortium + * Copyright (c) 2018-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/output/svg/fonts/tex/tex-oldstyle-bold.ts b/ts/output/svg/fonts/tex/tex-oldstyle-bold.ts index c8cc6fe7c..a85c7f99b 100644 --- a/ts/output/svg/fonts/tex/tex-oldstyle-bold.ts +++ b/ts/output/svg/fonts/tex/tex-oldstyle-bold.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2018-2021 The MathJax Consortium + * Copyright (c) 2018-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/output/svg/fonts/tex/tex-oldstyle.ts b/ts/output/svg/fonts/tex/tex-oldstyle.ts index b418dec24..9fd7197a3 100644 --- a/ts/output/svg/fonts/tex/tex-oldstyle.ts +++ b/ts/output/svg/fonts/tex/tex-oldstyle.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2018-2021 The MathJax Consortium + * Copyright (c) 2018-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/output/svg/fonts/tex/tex-size3.ts b/ts/output/svg/fonts/tex/tex-size3.ts index fa9dce058..1734cef3d 100644 --- a/ts/output/svg/fonts/tex/tex-size3.ts +++ b/ts/output/svg/fonts/tex/tex-size3.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2018-2021 The MathJax Consortium + * Copyright (c) 2018-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/output/svg/fonts/tex/tex-size4.ts b/ts/output/svg/fonts/tex/tex-size4.ts index ed7d47444..b4724b9d8 100644 --- a/ts/output/svg/fonts/tex/tex-size4.ts +++ b/ts/output/svg/fonts/tex/tex-size4.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2018-2021 The MathJax Consortium + * Copyright (c) 2018-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/output/svg/fonts/tex/tex-variant.ts b/ts/output/svg/fonts/tex/tex-variant.ts index 49ee27a26..7ecffbddb 100644 --- a/ts/output/svg/fonts/tex/tex-variant.ts +++ b/ts/output/svg/fonts/tex/tex-variant.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2018-2021 The MathJax Consortium + * Copyright (c) 2018-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/ui/lazy/LazyHandler.ts b/ts/ui/lazy/LazyHandler.ts index 138e44722..b54699b93 100644 --- a/ts/ui/lazy/LazyHandler.ts +++ b/ts/ui/lazy/LazyHandler.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2021-2021 The MathJax Consortium + * Copyright (c) 2021-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/ui/menu/MJContextMenu.ts b/ts/ui/menu/MJContextMenu.ts index 56712087a..6d4dc108a 100644 --- a/ts/ui/menu/MJContextMenu.ts +++ b/ts/ui/menu/MJContextMenu.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2019-2021 The MathJax Consortium + * Copyright (c) 2019-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/ui/menu/Menu.ts b/ts/ui/menu/Menu.ts index 733cba320..eb2002ac7 100644 --- a/ts/ui/menu/Menu.ts +++ b/ts/ui/menu/Menu.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2019-2021 The MathJax Consortium + * Copyright (c) 2019-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/ui/menu/MenuHandler.ts b/ts/ui/menu/MenuHandler.ts index fe8e4b113..716fd3f4d 100644 --- a/ts/ui/menu/MenuHandler.ts +++ b/ts/ui/menu/MenuHandler.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2019-2021 The MathJax Consortium + * Copyright (c) 2019-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/ui/menu/MmlVisitor.ts b/ts/ui/menu/MmlVisitor.ts index 34097a81e..0a07685ca 100644 --- a/ts/ui/menu/MmlVisitor.ts +++ b/ts/ui/menu/MmlVisitor.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2019-2021 The MathJax Consortium + * Copyright (c) 2019-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/ui/menu/SelectableInfo.ts b/ts/ui/menu/SelectableInfo.ts index 6867a03ec..759a8086a 100644 --- a/ts/ui/menu/SelectableInfo.ts +++ b/ts/ui/menu/SelectableInfo.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2019-2021 The MathJax Consortium + * Copyright (c) 2019-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/ui/safe/SafeHandler.ts b/ts/ui/safe/SafeHandler.ts index 49353e296..c73347ed4 100644 --- a/ts/ui/safe/SafeHandler.ts +++ b/ts/ui/safe/SafeHandler.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2020-2021 The MathJax Consortium + * Copyright (c) 2020-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/ui/safe/SafeMethods.ts b/ts/ui/safe/SafeMethods.ts index f7175e92d..5b873d4ec 100644 --- a/ts/ui/safe/SafeMethods.ts +++ b/ts/ui/safe/SafeMethods.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2020-2021 The MathJax Consortium + * Copyright (c) 2020-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/ui/safe/safe.ts b/ts/ui/safe/safe.ts index fa074eb2c..528de1187 100644 --- a/ts/ui/safe/safe.ts +++ b/ts/ui/safe/safe.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2020-2021 The MathJax Consortium + * Copyright (c) 2020-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/util/AsyncLoad.ts b/ts/util/AsyncLoad.ts index 6d8975d42..b0e2f9e15 100644 --- a/ts/util/AsyncLoad.ts +++ b/ts/util/AsyncLoad.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2017-2021 The MathJax Consortium + * Copyright (c) 2017-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/util/BBox.ts b/ts/util/BBox.ts index d419b240c..e34fef486 100644 --- a/ts/util/BBox.ts +++ b/ts/util/BBox.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2017-2021 The MathJax Consortium + * Copyright (c) 2017-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/util/BitField.ts b/ts/util/BitField.ts index 0f9d66c88..6ef5274cf 100644 --- a/ts/util/BitField.ts +++ b/ts/util/BitField.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2018-2021 The MathJax Consortium + * Copyright (c) 2018-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/util/Entities.ts b/ts/util/Entities.ts index db95ac8bd..da329ad62 100644 --- a/ts/util/Entities.ts +++ b/ts/util/Entities.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2017-2021 The MathJax Consortium + * Copyright (c) 2017-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/util/FunctionList.ts b/ts/util/FunctionList.ts index 2487edba9..314bc9df8 100644 --- a/ts/util/FunctionList.ts +++ b/ts/util/FunctionList.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2017-2021 The MathJax Consortium + * Copyright (c) 2017-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/util/LinkedList.ts b/ts/util/LinkedList.ts index 0e5b18050..5fab8e8ef 100644 --- a/ts/util/LinkedList.ts +++ b/ts/util/LinkedList.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2017-2021 The MathJax Consortium + * Copyright (c) 2017-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/util/Options.ts b/ts/util/Options.ts index e6c98e40e..8356903e5 100644 --- a/ts/util/Options.ts +++ b/ts/util/Options.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2017-2021 The MathJax Consortium + * Copyright (c) 2017-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/util/PrioritizedList.ts b/ts/util/PrioritizedList.ts index a82f3419c..7c678baec 100644 --- a/ts/util/PrioritizedList.ts +++ b/ts/util/PrioritizedList.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2017-2021 The MathJax Consortium + * Copyright (c) 2017-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/util/Retries.ts b/ts/util/Retries.ts index 27c884168..669e8e1ca 100644 --- a/ts/util/Retries.ts +++ b/ts/util/Retries.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2017-2021 The MathJax Consortium + * Copyright (c) 2017-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/util/StyleList.ts b/ts/util/StyleList.ts index 8a5280b0b..1a10f7af8 100644 --- a/ts/util/StyleList.ts +++ b/ts/util/StyleList.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2017-2021 The MathJax Consortium + * Copyright (c) 2017-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/util/Styles.ts b/ts/util/Styles.ts index 1c598ce33..2df496bd5 100644 --- a/ts/util/Styles.ts +++ b/ts/util/Styles.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2018-2021 The MathJax Consortium + * Copyright (c) 2018-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/util/asyncLoad/node.ts b/ts/util/asyncLoad/node.ts index df525f889..4ee777352 100644 --- a/ts/util/asyncLoad/node.ts +++ b/ts/util/asyncLoad/node.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2019-2021 The MathJax Consortium + * Copyright (c) 2019-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/util/asyncLoad/system.ts b/ts/util/asyncLoad/system.ts index 0d236e678..09429ee46 100644 --- a/ts/util/asyncLoad/system.ts +++ b/ts/util/asyncLoad/system.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2019-2021 The MathJax Consortium + * Copyright (c) 2019-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/util/entities/a.ts b/ts/util/entities/a.ts index 4660658db..97be0b33e 100644 --- a/ts/util/entities/a.ts +++ b/ts/util/entities/a.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2017-2021 The MathJax Consortium + * Copyright (c) 2017-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/util/entities/all.ts b/ts/util/entities/all.ts index f03037852..d32089b0a 100644 --- a/ts/util/entities/all.ts +++ b/ts/util/entities/all.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2017-2021 The MathJax Consortium + * Copyright (c) 2017-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/util/entities/b.ts b/ts/util/entities/b.ts index 08f9ab3f4..c05c772db 100644 --- a/ts/util/entities/b.ts +++ b/ts/util/entities/b.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2017-2021 The MathJax Consortium + * Copyright (c) 2017-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/util/entities/c.ts b/ts/util/entities/c.ts index d570a5dde..36fd9fbc9 100644 --- a/ts/util/entities/c.ts +++ b/ts/util/entities/c.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2017-2021 The MathJax Consortium + * Copyright (c) 2017-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/util/entities/d.ts b/ts/util/entities/d.ts index 98f9e6b54..a77e42d77 100644 --- a/ts/util/entities/d.ts +++ b/ts/util/entities/d.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2017-2021 The MathJax Consortium + * Copyright (c) 2017-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/util/entities/e.ts b/ts/util/entities/e.ts index 7ea13cfd9..d60b46806 100644 --- a/ts/util/entities/e.ts +++ b/ts/util/entities/e.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2017-2021 The MathJax Consortium + * Copyright (c) 2017-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/util/entities/f.ts b/ts/util/entities/f.ts index 1b7d73238..b69dcbf93 100644 --- a/ts/util/entities/f.ts +++ b/ts/util/entities/f.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2017-2021 The MathJax Consortium + * Copyright (c) 2017-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/util/entities/fr.ts b/ts/util/entities/fr.ts index b39ef554e..4dbeec263 100644 --- a/ts/util/entities/fr.ts +++ b/ts/util/entities/fr.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2017-2021 The MathJax Consortium + * Copyright (c) 2017-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/util/entities/g.ts b/ts/util/entities/g.ts index 6056859a3..f31b0b1d0 100644 --- a/ts/util/entities/g.ts +++ b/ts/util/entities/g.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2017-2021 The MathJax Consortium + * Copyright (c) 2017-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/util/entities/h.ts b/ts/util/entities/h.ts index 5d9ee5e38..f0fa7466d 100644 --- a/ts/util/entities/h.ts +++ b/ts/util/entities/h.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2017-2021 The MathJax Consortium + * Copyright (c) 2017-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/util/entities/i.ts b/ts/util/entities/i.ts index 0f5feff86..116f35fb7 100644 --- a/ts/util/entities/i.ts +++ b/ts/util/entities/i.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2017-2021 The MathJax Consortium + * Copyright (c) 2017-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/util/entities/j.ts b/ts/util/entities/j.ts index e28e5ed04..1a69029ff 100644 --- a/ts/util/entities/j.ts +++ b/ts/util/entities/j.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2017-2021 The MathJax Consortium + * Copyright (c) 2017-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/util/entities/k.ts b/ts/util/entities/k.ts index a6c31cf08..7f60eeb77 100644 --- a/ts/util/entities/k.ts +++ b/ts/util/entities/k.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2017-2021 The MathJax Consortium + * Copyright (c) 2017-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/util/entities/l.ts b/ts/util/entities/l.ts index 9084662b6..cedb36efc 100644 --- a/ts/util/entities/l.ts +++ b/ts/util/entities/l.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2017-2021 The MathJax Consortium + * Copyright (c) 2017-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/util/entities/m.ts b/ts/util/entities/m.ts index 7a9d33f92..556564320 100644 --- a/ts/util/entities/m.ts +++ b/ts/util/entities/m.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2017-2021 The MathJax Consortium + * Copyright (c) 2017-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/util/entities/n.ts b/ts/util/entities/n.ts index baf57e633..62409e315 100644 --- a/ts/util/entities/n.ts +++ b/ts/util/entities/n.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2017-2021 The MathJax Consortium + * Copyright (c) 2017-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/util/entities/o.ts b/ts/util/entities/o.ts index 3b9af5363..e2d4219ed 100644 --- a/ts/util/entities/o.ts +++ b/ts/util/entities/o.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2017-2021 The MathJax Consortium + * Copyright (c) 2017-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/util/entities/opf.ts b/ts/util/entities/opf.ts index bcb05847d..73e0727ed 100644 --- a/ts/util/entities/opf.ts +++ b/ts/util/entities/opf.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2017-2021 The MathJax Consortium + * Copyright (c) 2017-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/util/entities/p.ts b/ts/util/entities/p.ts index 97c2436bc..5871c2352 100644 --- a/ts/util/entities/p.ts +++ b/ts/util/entities/p.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2017-2021 The MathJax Consortium + * Copyright (c) 2017-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/util/entities/q.ts b/ts/util/entities/q.ts index a809d2446..8e149c2ea 100644 --- a/ts/util/entities/q.ts +++ b/ts/util/entities/q.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2017-2021 The MathJax Consortium + * Copyright (c) 2017-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/util/entities/r.ts b/ts/util/entities/r.ts index 4504fd6a3..cec1b60cd 100644 --- a/ts/util/entities/r.ts +++ b/ts/util/entities/r.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2017-2021 The MathJax Consortium + * Copyright (c) 2017-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/util/entities/s.ts b/ts/util/entities/s.ts index c77628ced..091475d94 100644 --- a/ts/util/entities/s.ts +++ b/ts/util/entities/s.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2017-2021 The MathJax Consortium + * Copyright (c) 2017-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/util/entities/scr.ts b/ts/util/entities/scr.ts index d54e18202..135d25073 100644 --- a/ts/util/entities/scr.ts +++ b/ts/util/entities/scr.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2017-2021 The MathJax Consortium + * Copyright (c) 2017-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/util/entities/t.ts b/ts/util/entities/t.ts index f15648a5d..b858234fd 100644 --- a/ts/util/entities/t.ts +++ b/ts/util/entities/t.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2017-2021 The MathJax Consortium + * Copyright (c) 2017-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/util/entities/u.ts b/ts/util/entities/u.ts index 8721dbe61..d9d67aca5 100644 --- a/ts/util/entities/u.ts +++ b/ts/util/entities/u.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2017-2021 The MathJax Consortium + * Copyright (c) 2017-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/util/entities/v.ts b/ts/util/entities/v.ts index db593f9df..c04cce281 100644 --- a/ts/util/entities/v.ts +++ b/ts/util/entities/v.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2017-2021 The MathJax Consortium + * Copyright (c) 2017-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/util/entities/w.ts b/ts/util/entities/w.ts index 8fa8eb369..b166f9959 100644 --- a/ts/util/entities/w.ts +++ b/ts/util/entities/w.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2017-2021 The MathJax Consortium + * Copyright (c) 2017-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/util/entities/x.ts b/ts/util/entities/x.ts index df1c3b485..8c0290887 100644 --- a/ts/util/entities/x.ts +++ b/ts/util/entities/x.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2017-2021 The MathJax Consortium + * Copyright (c) 2017-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/util/entities/y.ts b/ts/util/entities/y.ts index 274b797d5..5ef8d1102 100644 --- a/ts/util/entities/y.ts +++ b/ts/util/entities/y.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2017-2021 The MathJax Consortium + * Copyright (c) 2017-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/util/entities/z.ts b/ts/util/entities/z.ts index 959f6fd95..99d35b583 100644 --- a/ts/util/entities/z.ts +++ b/ts/util/entities/z.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2017-2021 The MathJax Consortium + * Copyright (c) 2017-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/util/lengths.ts b/ts/util/lengths.ts index dcccb1961..c58d48255 100644 --- a/ts/util/lengths.ts +++ b/ts/util/lengths.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2017-2021 The MathJax Consortium + * Copyright (c) 2017-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/util/numeric.ts b/ts/util/numeric.ts index 4b02be82d..198773137 100644 --- a/ts/util/numeric.ts +++ b/ts/util/numeric.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2018-2021 The MathJax Consortium + * Copyright (c) 2018-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/ts/util/string.ts b/ts/util/string.ts index 7a24b1a14..7e6302c9f 100644 --- a/ts/util/string.ts +++ b/ts/util/string.ts @@ -1,6 +1,6 @@ /************************************************************* * - * Copyright (c) 2017-2021 The MathJax Consortium + * Copyright (c) 2017-2022 The MathJax Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. From 63dff2ed38949a3c09c6896779ee508fb79fc8b3 Mon Sep 17 00:00:00 2001 From: "Davide P. Cervone" Date: Thu, 19 May 2022 10:34:01 -0400 Subject: [PATCH 115/118] Update package version --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index a5bfe0107..9acad723c 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "mathjax-full", - "version": "3.2.0", + "version": "3.2.1", "description": "Beautiful and accessible math in all browsers. MathJax is an open-source JavaScript display engine for LaTeX, MathML, and AsciiMath notation that works in all browsers and in server-side node applications. This package includes the source code as well as the packaged components.", "license": "Apache-2.0", "main": "components/src/node-main/node-main.js", From b217ba7df0c077af0d2c0bc0b5194595509fc989 Mon Sep 17 00:00:00 2001 From: "Davide P. Cervone" Date: Thu, 19 May 2022 10:58:12 -0400 Subject: [PATCH 116/118] Update packages to current versions --- package-lock.json | 1732 ++++++++++++++++++++++++--------------------- package.json | 16 +- 2 files changed, 915 insertions(+), 833 deletions(-) diff --git a/package-lock.json b/package-lock.json index 0d660f637..7668caf51 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "mathjax-full", - "version": "3.2.0", + "version": "3.2.1", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "mathjax-full", - "version": "3.2.0", + "version": "3.2.1", "license": "Apache-2.0", "dependencies": { "esm": "^3.2.25", @@ -15,21 +15,34 @@ "speech-rule-engine": "^4.0.5" }, "devDependencies": { - "@babel/core": "^7.14.5", - "@babel/preset-env": "^7.14.5", - "babel-loader": "^8.2.2", + "@babel/core": "^7.17.12", + "@babel/preset-env": "^7.17.12", + "babel-loader": "^8.2.5", "copyfiles": "^2.4.1", "diff": "^5.0.0", "rimraf": "^3.0.2", - "tape": "^5.2.2", - "terser-webpack-plugin": "^5.1.3", + "tape": "^5.5.3", + "terser-webpack-plugin": "^5.3.1", "tslint": "^6.1.3", "tslint-jsdoc-rules": "^0.2.0", "tslint-unix-formatter": "^0.2.0", - "typescript": "^4.3.2", + "typescript": "^4.6.4", "typescript-tools": "^0.3.1", - "webpack": "^5.38.1", - "webpack-cli": "^4.7.2" + "webpack": "^5.72.1", + "webpack-cli": "^4.9.2" + } + }, + "node_modules/@ampproject/remapping": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.0.tgz", + "integrity": "sha512-qRmjj8nj9qmLTQXXmaR1cck3UXSRMPrbsLJAasZpF+t3riI71BXed5ebIOYwQntykeZuhjsdweEc9BxH5Jc26w==", + "dev": true, + "dependencies": { + "@jridgewell/gen-mapping": "^0.1.0", + "@jridgewell/trace-mapping": "^0.3.9" + }, + "engines": { + "node": ">=6.0.0" } }, "node_modules/@babel/code-frame": { @@ -45,35 +58,35 @@ } }, "node_modules/@babel/compat-data": { - "version": "7.16.8", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.16.8.tgz", - "integrity": "sha512-m7OkX0IdKLKPpBlJtF561YJal5y/jyI5fNfWbPxh2D/nbzzGI4qRyrD8xO2jB24u7l+5I2a43scCG2IrfjC50Q==", + "version": "7.17.10", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.17.10.tgz", + "integrity": "sha512-GZt/TCsG70Ms19gfZO1tM4CVnXsPgEPBCpJu+Qz3L0LUDsY5nZqFZglIoPC1kIYOtNBZlrnFT+klg12vFGZXrw==", "dev": true, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/core": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.16.7.tgz", - "integrity": "sha512-aeLaqcqThRNZYmbMqtulsetOQZ/5gbR/dWruUCJcpas4Qoyy+QeagfDsPdMrqwsPRDNxJvBlRiZxxX7THO7qtA==", + "version": "7.17.12", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.17.12.tgz", + "integrity": "sha512-44ODe6O1IVz9s2oJE3rZ4trNNKTX9O7KpQpfAP4t8QII/zwrVRHL7i2pxhqtcY7tqMLrrKfMlBKnm1QlrRFs5w==", "dev": true, "dependencies": { + "@ampproject/remapping": "^2.1.0", "@babel/code-frame": "^7.16.7", - "@babel/generator": "^7.16.7", - "@babel/helper-compilation-targets": "^7.16.7", - "@babel/helper-module-transforms": "^7.16.7", - "@babel/helpers": "^7.16.7", - "@babel/parser": "^7.16.7", + "@babel/generator": "^7.17.12", + "@babel/helper-compilation-targets": "^7.17.10", + "@babel/helper-module-transforms": "^7.17.12", + "@babel/helpers": "^7.17.9", + "@babel/parser": "^7.17.12", "@babel/template": "^7.16.7", - "@babel/traverse": "^7.16.7", - "@babel/types": "^7.16.7", + "@babel/traverse": "^7.17.12", + "@babel/types": "^7.17.12", "convert-source-map": "^1.7.0", "debug": "^4.1.0", "gensync": "^1.0.0-beta.2", - "json5": "^2.1.2", - "semver": "^6.3.0", - "source-map": "^0.5.0" + "json5": "^2.2.1", + "semver": "^6.3.0" }, "engines": { "node": ">=6.9.0" @@ -84,19 +97,33 @@ } }, "node_modules/@babel/generator": { - "version": "7.16.8", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.16.8.tgz", - "integrity": "sha512-1ojZwE9+lOXzcWdWmO6TbUzDfqLD39CmEhN8+2cX9XkDo5yW1OpgfejfliysR2AWLpMamTiOiAp/mtroaymhpw==", + "version": "7.17.12", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.17.12.tgz", + "integrity": "sha512-V49KtZiiiLjH/CnIW6OjJdrenrGoyh6AmKQ3k2AZFKozC1h846Q4NYlZ5nqAigPDUXfGzC88+LOUuG8yKd2kCw==", "dev": true, "dependencies": { - "@babel/types": "^7.16.8", - "jsesc": "^2.5.1", - "source-map": "^0.5.0" + "@babel/types": "^7.17.12", + "@jridgewell/gen-mapping": "^0.3.0", + "jsesc": "^2.5.1" }, "engines": { "node": ">=6.9.0" } }, + "node_modules/@babel/generator/node_modules/@jridgewell/gen-mapping": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.1.tgz", + "integrity": "sha512-GcHwniMlA2z+WFPWuY8lp3fsza0I8xPFMWL5+n8LYyP6PSvPrXf4+n8stDHZY2DM0zy9sVkRDy1jDI4XGzYVqg==", + "dev": true, + "dependencies": { + "@jridgewell/set-array": "^1.0.0", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.9" + }, + "engines": { + "node": ">=6.0.0" + } + }, "node_modules/@babel/helper-annotate-as-pure": { "version": "7.16.7", "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.16.7.tgz", @@ -123,14 +150,14 @@ } }, "node_modules/@babel/helper-compilation-targets": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.16.7.tgz", - "integrity": "sha512-mGojBwIWcwGD6rfqgRXVlVYmPAv7eOpIemUG3dGnDdCY4Pae70ROij3XmfrH6Fa1h1aiDylpglbZyktfzyo/hA==", + "version": "7.17.10", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.17.10.tgz", + "integrity": "sha512-gh3RxjWbauw/dFiU/7whjd0qN9K6nPJMqe6+Er7rOavFh0CQUSwhAE3IcTho2rywPJFxej6TUUHDkWcYI6gGqQ==", "dev": true, "dependencies": { - "@babel/compat-data": "^7.16.4", + "@babel/compat-data": "^7.17.10", "@babel/helper-validator-option": "^7.16.7", - "browserslist": "^4.17.5", + "browserslist": "^4.20.2", "semver": "^6.3.0" }, "engines": { @@ -141,15 +168,15 @@ } }, "node_modules/@babel/helper-create-class-features-plugin": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.16.7.tgz", - "integrity": "sha512-kIFozAvVfK05DM4EVQYKK+zteWvY85BFdGBRQBytRyY3y+6PX0DkDOn/CZ3lEuczCfrCxEzwt0YtP/87YPTWSw==", + "version": "7.17.12", + "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.17.12.tgz", + "integrity": "sha512-sZoOeUTkFJMyhqCei2+Z+wtH/BehW8NVKQt7IRUQlRiOARuXymJYfN/FCcI8CvVbR0XVyDM6eLFOlR7YtiXnew==", "dev": true, "dependencies": { "@babel/helper-annotate-as-pure": "^7.16.7", "@babel/helper-environment-visitor": "^7.16.7", - "@babel/helper-function-name": "^7.16.7", - "@babel/helper-member-expression-to-functions": "^7.16.7", + "@babel/helper-function-name": "^7.17.9", + "@babel/helper-member-expression-to-functions": "^7.17.7", "@babel/helper-optimise-call-expression": "^7.16.7", "@babel/helper-replace-supers": "^7.16.7", "@babel/helper-split-export-declaration": "^7.16.7" @@ -162,13 +189,13 @@ } }, "node_modules/@babel/helper-create-regexp-features-plugin": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.16.7.tgz", - "integrity": "sha512-fk5A6ymfp+O5+p2yCkXAu5Kyj6v0xh0RBeNcAkYUMDvvAAoxvSKXn+Jb37t/yWFiQVDFK1ELpUTD8/aLhCPu+g==", + "version": "7.17.12", + "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.17.12.tgz", + "integrity": "sha512-b2aZrV4zvutr9AIa6/gA3wsZKRwTKYoDxYiFKcESS3Ug2GTXzwBEvMuuFLhCQpEnRXs1zng4ISAXSUxxKBIcxw==", "dev": true, "dependencies": { "@babel/helper-annotate-as-pure": "^7.16.7", - "regexpu-core": "^4.7.1" + "regexpu-core": "^5.0.1" }, "engines": { "node": ">=6.9.0" @@ -221,26 +248,13 @@ } }, "node_modules/@babel/helper-function-name": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.16.7.tgz", - "integrity": "sha512-QfDfEnIUyyBSR3HtrtGECuZ6DAyCkYFp7GHl75vFtTnn6pjKeK0T1DB5lLkFvBea8MdaiUABx3osbgLyInoejA==", + "version": "7.17.9", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.17.9.tgz", + "integrity": "sha512-7cRisGlVtiVqZ0MW0/yFB4atgpGLWEHUVYnb448hZK4x+vih0YO5UoS11XIYtZYqHd0dIPMdUSv8q5K4LdMnIg==", "dev": true, "dependencies": { - "@babel/helper-get-function-arity": "^7.16.7", "@babel/template": "^7.16.7", - "@babel/types": "^7.16.7" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-get-function-arity": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.16.7.tgz", - "integrity": "sha512-flc+RLSOBXzNzVhcLu6ujeHUrD6tANAOU5ojrRx/as+tbzf8+stUCj7+IfRRoAbEZqj/ahXEMsjhOhgeZsrnTw==", - "dev": true, - "dependencies": { - "@babel/types": "^7.16.7" + "@babel/types": "^7.17.0" }, "engines": { "node": ">=6.9.0" @@ -259,12 +273,12 @@ } }, "node_modules/@babel/helper-member-expression-to-functions": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.16.7.tgz", - "integrity": "sha512-VtJ/65tYiU/6AbMTDwyoXGPKHgTsfRarivm+YbB5uAzKUyuPjgZSgAFeG87FCigc7KNHu2Pegh1XIT3lXjvz3Q==", + "version": "7.17.7", + "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.17.7.tgz", + "integrity": "sha512-thxXgnQ8qQ11W2wVUObIqDL4p148VMxkt5T/qpN5k2fboRyzFGFmKsTGViquyM5QHKUy48OZoca8kw4ajaDPyw==", "dev": true, "dependencies": { - "@babel/types": "^7.16.7" + "@babel/types": "^7.17.0" }, "engines": { "node": ">=6.9.0" @@ -283,19 +297,19 @@ } }, "node_modules/@babel/helper-module-transforms": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.16.7.tgz", - "integrity": "sha512-gaqtLDxJEFCeQbYp9aLAefjhkKdjKcdh6DB7jniIGU3Pz52WAmP268zK0VgPz9hUNkMSYeH976K2/Y6yPadpng==", + "version": "7.17.12", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.17.12.tgz", + "integrity": "sha512-t5s2BeSWIghhFRPh9XMn6EIGmvn8Lmw5RVASJzkIx1mSemubQQBNIZiQD7WzaFmaHIrjAec4x8z9Yx8SjJ1/LA==", "dev": true, "dependencies": { "@babel/helper-environment-visitor": "^7.16.7", "@babel/helper-module-imports": "^7.16.7", - "@babel/helper-simple-access": "^7.16.7", + "@babel/helper-simple-access": "^7.17.7", "@babel/helper-split-export-declaration": "^7.16.7", "@babel/helper-validator-identifier": "^7.16.7", "@babel/template": "^7.16.7", - "@babel/traverse": "^7.16.7", - "@babel/types": "^7.16.7" + "@babel/traverse": "^7.17.12", + "@babel/types": "^7.17.12" }, "engines": { "node": ">=6.9.0" @@ -314,9 +328,9 @@ } }, "node_modules/@babel/helper-plugin-utils": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.16.7.tgz", - "integrity": "sha512-Qg3Nk7ZxpgMrsox6HreY1ZNKdBq7K72tDSliA6dCl5f007jR4ne8iD5UzuNnCJH2xBf2BEEVGr+/OL6Gdp7RxA==", + "version": "7.17.12", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.17.12.tgz", + "integrity": "sha512-JDkf04mqtN3y4iAbO1hv9U2ARpPyPL1zqyWs/2WG1pgSq9llHFjStX5jdxb84himgJm+8Ng+x0oiWF/nw/XQKA==", "dev": true, "engines": { "node": ">=6.9.0" @@ -353,12 +367,12 @@ } }, "node_modules/@babel/helper-simple-access": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.16.7.tgz", - "integrity": "sha512-ZIzHVyoeLMvXMN/vok/a4LWRy8G2v205mNP0XOuf9XRLyX5/u9CnVulUtDgUTama3lT+bf/UqucuZjqiGuTS1g==", + "version": "7.17.7", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.17.7.tgz", + "integrity": "sha512-txyMCGroZ96i+Pxr3Je3lzEJjqwaRC9buMUgtomcrLe5Nd0+fk1h0LLA+ixUF5OW7AhHuQ7Es1WcQJZmZsz2XA==", "dev": true, "dependencies": { - "@babel/types": "^7.16.7" + "@babel/types": "^7.17.0" }, "engines": { "node": ">=6.9.0" @@ -422,14 +436,14 @@ } }, "node_modules/@babel/helpers": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.16.7.tgz", - "integrity": "sha512-9ZDoqtfY7AuEOt3cxchfii6C7GDyyMBffktR5B2jvWv8u2+efwvpnVKXMWzNehqy68tKgAfSwfdw/lWpthS2bw==", + "version": "7.17.9", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.17.9.tgz", + "integrity": "sha512-cPCt915ShDWUEzEp3+UNRktO2n6v49l5RSnG9M5pS24hA+2FAc5si+Pn1i4VVbQQ+jh+bIZhPFQOJOzbrOYY1Q==", "dev": true, "dependencies": { "@babel/template": "^7.16.7", - "@babel/traverse": "^7.16.7", - "@babel/types": "^7.16.7" + "@babel/traverse": "^7.17.9", + "@babel/types": "^7.17.0" }, "engines": { "node": ">=6.9.0" @@ -450,9 +464,9 @@ } }, "node_modules/@babel/parser": { - "version": "7.16.8", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.16.8.tgz", - "integrity": "sha512-i7jDUfrVBWc+7OKcBzEe5n7fbv3i2fWtxKzzCvOjnzSxMfWMigAhtfJ7qzZNGFNMsCCd67+uz553dYKWXPvCKw==", + "version": "7.17.12", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.17.12.tgz", + "integrity": "sha512-FLzHmN9V3AJIrWfOpvRlZCeVg/WLdicSnTMsLur6uDj9TT8ymUlG9XxURdW/XvuygK+2CW0poOJABdA4m/YKxA==", "dev": true, "bin": { "parser": "bin/babel-parser.js" @@ -462,12 +476,12 @@ } }, "node_modules/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.16.7.tgz", - "integrity": "sha512-anv/DObl7waiGEnC24O9zqL0pSuI9hljihqiDuFHC8d7/bjr/4RLGPWuc8rYOff/QPzbEPSkzG8wGG9aDuhHRg==", + "version": "7.17.12", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.17.12.tgz", + "integrity": "sha512-xCJQXl4EeQ3J9C4yOmpTrtVGmzpm2iSzyxbkZHw7UCnZBftHpF/hpII80uWVyVrc40ytIClHjgWGTG1g/yB+aw==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.16.7" + "@babel/helper-plugin-utils": "^7.17.12" }, "engines": { "node": ">=6.9.0" @@ -477,14 +491,14 @@ } }, "node_modules/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.16.7.tgz", - "integrity": "sha512-di8vUHRdf+4aJ7ltXhaDbPoszdkh59AQtJM5soLsuHpQJdFQZOA4uGj0V2u/CZ8bJ/u8ULDL5yq6FO/bCXnKHw==", + "version": "7.17.12", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.17.12.tgz", + "integrity": "sha512-/vt0hpIw0x4b6BLKUkwlvEoiGZYYLNZ96CzyHYPbtG2jZGz6LBe7/V+drYrc/d+ovrF9NBi0pmtvmNb/FsWtRQ==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.16.7", + "@babel/helper-plugin-utils": "^7.17.12", "@babel/helper-skip-transparent-expression-wrappers": "^7.16.0", - "@babel/plugin-proposal-optional-chaining": "^7.16.7" + "@babel/plugin-proposal-optional-chaining": "^7.17.12" }, "engines": { "node": ">=6.9.0" @@ -494,12 +508,12 @@ } }, "node_modules/@babel/plugin-proposal-async-generator-functions": { - "version": "7.16.8", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.16.8.tgz", - "integrity": "sha512-71YHIvMuiuqWJQkebWJtdhQTfd4Q4mF76q2IX37uZPkG9+olBxsX+rH1vkhFto4UeJZ9dPY2s+mDvhDm1u2BGQ==", + "version": "7.17.12", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.17.12.tgz", + "integrity": "sha512-RWVvqD1ooLKP6IqWTA5GyFVX2isGEgC5iFxKzfYOIy/QEFdxYyCybBDtIGjipHpb9bDWHzcqGqFakf+mVmBTdQ==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.16.7", + "@babel/helper-plugin-utils": "^7.17.12", "@babel/helper-remap-async-to-generator": "^7.16.8", "@babel/plugin-syntax-async-generators": "^7.8.4" }, @@ -511,13 +525,13 @@ } }, "node_modules/@babel/plugin-proposal-class-properties": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.16.7.tgz", - "integrity": "sha512-IobU0Xme31ewjYOShSIqd/ZGM/r/cuOz2z0MDbNrhF5FW+ZVgi0f2lyeoj9KFPDOAqsYxmLWZte1WOwlvY9aww==", + "version": "7.17.12", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.17.12.tgz", + "integrity": "sha512-U0mI9q8pW5Q9EaTHFPwSVusPMV/DV9Mm8p7csqROFLtIE9rBF5piLqyrBGigftALrBcsBGu4m38JneAe7ZDLXw==", "dev": true, "dependencies": { - "@babel/helper-create-class-features-plugin": "^7.16.7", - "@babel/helper-plugin-utils": "^7.16.7" + "@babel/helper-create-class-features-plugin": "^7.17.12", + "@babel/helper-plugin-utils": "^7.17.12" }, "engines": { "node": ">=6.9.0" @@ -527,13 +541,13 @@ } }, "node_modules/@babel/plugin-proposal-class-static-block": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-static-block/-/plugin-proposal-class-static-block-7.16.7.tgz", - "integrity": "sha512-dgqJJrcZoG/4CkMopzhPJjGxsIe9A8RlkQLnL/Vhhx8AA9ZuaRwGSlscSh42hazc7WSrya/IK7mTeoF0DP9tEw==", + "version": "7.17.12", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-static-block/-/plugin-proposal-class-static-block-7.17.12.tgz", + "integrity": "sha512-8ILyDG6eL14F8iub97dVc8q35Md0PJYAnA5Kz9NACFOkt6ffCcr0FISyUPKHsvuAy36fkpIitxZ9bVYPFMGQHA==", "dev": true, "dependencies": { - "@babel/helper-create-class-features-plugin": "^7.16.7", - "@babel/helper-plugin-utils": "^7.16.7", + "@babel/helper-create-class-features-plugin": "^7.17.12", + "@babel/helper-plugin-utils": "^7.17.12", "@babel/plugin-syntax-class-static-block": "^7.14.5" }, "engines": { @@ -560,12 +574,12 @@ } }, "node_modules/@babel/plugin-proposal-export-namespace-from": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.16.7.tgz", - "integrity": "sha512-ZxdtqDXLRGBL64ocZcs7ovt71L3jhC1RGSyR996svrCi3PYqHNkb3SwPJCs8RIzD86s+WPpt2S73+EHCGO+NUA==", + "version": "7.17.12", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.17.12.tgz", + "integrity": "sha512-j7Ye5EWdwoXOpRmo5QmRyHPsDIe6+u70ZYZrd7uz+ebPYFKfRcLcNu3Ro0vOlJ5zuv8rU7xa+GttNiRzX56snQ==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.16.7", + "@babel/helper-plugin-utils": "^7.17.12", "@babel/plugin-syntax-export-namespace-from": "^7.8.3" }, "engines": { @@ -576,12 +590,12 @@ } }, "node_modules/@babel/plugin-proposal-json-strings": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.16.7.tgz", - "integrity": "sha512-lNZ3EEggsGY78JavgbHsK9u5P3pQaW7k4axlgFLYkMd7UBsiNahCITShLjNQschPyjtO6dADrL24757IdhBrsQ==", + "version": "7.17.12", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.17.12.tgz", + "integrity": "sha512-rKJ+rKBoXwLnIn7n6o6fulViHMrOThz99ybH+hKHcOZbnN14VuMnH9fo2eHE69C8pO4uX1Q7t2HYYIDmv8VYkg==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.16.7", + "@babel/helper-plugin-utils": "^7.17.12", "@babel/plugin-syntax-json-strings": "^7.8.3" }, "engines": { @@ -592,12 +606,12 @@ } }, "node_modules/@babel/plugin-proposal-logical-assignment-operators": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.16.7.tgz", - "integrity": "sha512-K3XzyZJGQCr00+EtYtrDjmwX7o7PLK6U9bi1nCwkQioRFVUv6dJoxbQjtWVtP+bCPy82bONBKG8NPyQ4+i6yjg==", + "version": "7.17.12", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.17.12.tgz", + "integrity": "sha512-EqFo2s1Z5yy+JeJu7SFfbIUtToJTVlC61/C7WLKDntSw4Sz6JNAIfL7zQ74VvirxpjB5kz/kIx0gCcb+5OEo2Q==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.16.7", + "@babel/helper-plugin-utils": "^7.17.12", "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4" }, "engines": { @@ -608,12 +622,12 @@ } }, "node_modules/@babel/plugin-proposal-nullish-coalescing-operator": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.16.7.tgz", - "integrity": "sha512-aUOrYU3EVtjf62jQrCj63pYZ7k6vns2h/DQvHPWGmsJRYzWXZ6/AsfgpiRy6XiuIDADhJzP2Q9MwSMKauBQ+UQ==", + "version": "7.17.12", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.17.12.tgz", + "integrity": "sha512-ws/g3FSGVzv+VH86+QvgtuJL/kR67xaEIF2x0iPqdDfYW6ra6JF3lKVBkWynRLcNtIC1oCTfDRVxmm2mKzy+ag==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.16.7", + "@babel/helper-plugin-utils": "^7.17.12", "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3" }, "engines": { @@ -640,16 +654,16 @@ } }, "node_modules/@babel/plugin-proposal-object-rest-spread": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.16.7.tgz", - "integrity": "sha512-3O0Y4+dw94HA86qSg9IHfyPktgR7q3gpNVAeiKQd+8jBKFaU5NQS1Yatgo4wY+UFNuLjvxcSmzcsHqrhgTyBUA==", + "version": "7.17.12", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.17.12.tgz", + "integrity": "sha512-6l9cO3YXXRh4yPCPRA776ZyJ3RobG4ZKJZhp7NDRbKIOeV3dBPG8FXCF7ZtiO2RTCIOkQOph1xDDcc01iWVNjQ==", "dev": true, "dependencies": { - "@babel/compat-data": "^7.16.4", - "@babel/helper-compilation-targets": "^7.16.7", - "@babel/helper-plugin-utils": "^7.16.7", + "@babel/compat-data": "^7.17.10", + "@babel/helper-compilation-targets": "^7.17.10", + "@babel/helper-plugin-utils": "^7.17.12", "@babel/plugin-syntax-object-rest-spread": "^7.8.3", - "@babel/plugin-transform-parameters": "^7.16.7" + "@babel/plugin-transform-parameters": "^7.17.12" }, "engines": { "node": ">=6.9.0" @@ -675,12 +689,12 @@ } }, "node_modules/@babel/plugin-proposal-optional-chaining": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.16.7.tgz", - "integrity": "sha512-eC3xy+ZrUcBtP7x+sq62Q/HYd674pPTb/77XZMb5wbDPGWIdUbSr4Agr052+zaUPSb+gGRnjxXfKFvx5iMJ+DA==", + "version": "7.17.12", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.17.12.tgz", + "integrity": "sha512-7wigcOs/Z4YWlK7xxjkvaIw84vGhDv/P1dFGQap0nHkc8gFKY/r+hXc8Qzf5k1gY7CvGIcHqAnOagVKJJ1wVOQ==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.16.7", + "@babel/helper-plugin-utils": "^7.17.12", "@babel/helper-skip-transparent-expression-wrappers": "^7.16.0", "@babel/plugin-syntax-optional-chaining": "^7.8.3" }, @@ -692,13 +706,13 @@ } }, "node_modules/@babel/plugin-proposal-private-methods": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.16.7.tgz", - "integrity": "sha512-7twV3pzhrRxSwHeIvFE6coPgvo+exNDOiGUMg39o2LiLo1Y+4aKpfkcLGcg1UHonzorCt7SNXnoMyCnnIOA8Sw==", + "version": "7.17.12", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.17.12.tgz", + "integrity": "sha512-SllXoxo19HmxhDWm3luPz+cPhtoTSKLJE9PXshsfrOzBqs60QP0r8OaJItrPhAj0d7mZMnNF0Y1UUggCDgMz1A==", "dev": true, "dependencies": { - "@babel/helper-create-class-features-plugin": "^7.16.7", - "@babel/helper-plugin-utils": "^7.16.7" + "@babel/helper-create-class-features-plugin": "^7.17.12", + "@babel/helper-plugin-utils": "^7.17.12" }, "engines": { "node": ">=6.9.0" @@ -708,14 +722,14 @@ } }, "node_modules/@babel/plugin-proposal-private-property-in-object": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.16.7.tgz", - "integrity": "sha512-rMQkjcOFbm+ufe3bTZLyOfsOUOxyvLXZJCTARhJr+8UMSoZmqTe1K1BgkFcrW37rAchWg57yI69ORxiWvUINuQ==", + "version": "7.17.12", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.17.12.tgz", + "integrity": "sha512-/6BtVi57CJfrtDNKfK5b66ydK2J5pXUKBKSPD2G1whamMuEnZWgoOIfO8Vf9F/DoD4izBLD/Au4NMQfruzzykg==", "dev": true, "dependencies": { "@babel/helper-annotate-as-pure": "^7.16.7", - "@babel/helper-create-class-features-plugin": "^7.16.7", - "@babel/helper-plugin-utils": "^7.16.7", + "@babel/helper-create-class-features-plugin": "^7.17.12", + "@babel/helper-plugin-utils": "^7.17.12", "@babel/plugin-syntax-private-property-in-object": "^7.14.5" }, "engines": { @@ -726,13 +740,13 @@ } }, "node_modules/@babel/plugin-proposal-unicode-property-regex": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.16.7.tgz", - "integrity": "sha512-QRK0YI/40VLhNVGIjRNAAQkEHws0cswSdFFjpFyt943YmJIU1da9uW63Iu6NFV6CxTZW5eTDCrwZUstBWgp/Rg==", + "version": "7.17.12", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.17.12.tgz", + "integrity": "sha512-Wb9qLjXf3ZazqXA7IvI7ozqRIXIGPtSo+L5coFmEkhTQK18ao4UDDD0zdTGAarmbLj2urpRwrc6893cu5Bfh0A==", "dev": true, "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.16.7", - "@babel/helper-plugin-utils": "^7.16.7" + "@babel/helper-create-regexp-features-plugin": "^7.17.12", + "@babel/helper-plugin-utils": "^7.17.12" }, "engines": { "node": ">=4" @@ -919,12 +933,12 @@ } }, "node_modules/@babel/plugin-transform-arrow-functions": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.16.7.tgz", - "integrity": "sha512-9ffkFFMbvzTvv+7dTp/66xvZAWASuPD5Tl9LK3Z9vhOmANo6j94rik+5YMBt4CwHVMWLWpMsriIc2zsa3WW3xQ==", + "version": "7.17.12", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.17.12.tgz", + "integrity": "sha512-PHln3CNi/49V+mza4xMwrg+WGYevSF1oaiXaC2EQfdp4HWlSjRsrDXWJiQBKpP7749u6vQ9mcry2uuFOv5CXvA==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.16.7" + "@babel/helper-plugin-utils": "^7.17.12" }, "engines": { "node": ">=6.9.0" @@ -934,13 +948,13 @@ } }, "node_modules/@babel/plugin-transform-async-to-generator": { - "version": "7.16.8", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.16.8.tgz", - "integrity": "sha512-MtmUmTJQHCnyJVrScNzNlofQJ3dLFuobYn3mwOTKHnSCMtbNsqvF71GQmJfFjdrXSsAA7iysFmYWw4bXZ20hOg==", + "version": "7.17.12", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.17.12.tgz", + "integrity": "sha512-J8dbrWIOO3orDzir57NRsjg4uxucvhby0L/KZuGsWDj0g7twWK3g7JhJhOrXtuXiw8MeiSdJ3E0OW9H8LYEzLQ==", "dev": true, "dependencies": { "@babel/helper-module-imports": "^7.16.7", - "@babel/helper-plugin-utils": "^7.16.7", + "@babel/helper-plugin-utils": "^7.17.12", "@babel/helper-remap-async-to-generator": "^7.16.8" }, "engines": { @@ -966,12 +980,12 @@ } }, "node_modules/@babel/plugin-transform-block-scoping": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.16.7.tgz", - "integrity": "sha512-ObZev2nxVAYA4bhyusELdo9hb3H+A56bxH3FZMbEImZFiEDYVHXQSJ1hQKFlDnlt8G9bBrCZ5ZpURZUrV4G5qQ==", + "version": "7.17.12", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.17.12.tgz", + "integrity": "sha512-jw8XW/B1i7Lqwqj2CbrViPcZijSxfguBWZP2aN59NHgxUyO/OcO1mfdCxH13QhN5LbWhPkX+f+brKGhZTiqtZQ==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.16.7" + "@babel/helper-plugin-utils": "^7.17.12" }, "engines": { "node": ">=6.9.0" @@ -981,16 +995,16 @@ } }, "node_modules/@babel/plugin-transform-classes": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.16.7.tgz", - "integrity": "sha512-WY7og38SFAGYRe64BrjKf8OrE6ulEHtr5jEYaZMwox9KebgqPi67Zqz8K53EKk1fFEJgm96r32rkKZ3qA2nCWQ==", + "version": "7.17.12", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.17.12.tgz", + "integrity": "sha512-cvO7lc7pZat6BsvH6l/EGaI8zpl8paICaoGk+7x7guvtfak/TbIf66nYmJOH13EuG0H+Xx3M+9LQDtSvZFKXKw==", "dev": true, "dependencies": { "@babel/helper-annotate-as-pure": "^7.16.7", "@babel/helper-environment-visitor": "^7.16.7", - "@babel/helper-function-name": "^7.16.7", + "@babel/helper-function-name": "^7.17.9", "@babel/helper-optimise-call-expression": "^7.16.7", - "@babel/helper-plugin-utils": "^7.16.7", + "@babel/helper-plugin-utils": "^7.17.12", "@babel/helper-replace-supers": "^7.16.7", "@babel/helper-split-export-declaration": "^7.16.7", "globals": "^11.1.0" @@ -1003,12 +1017,12 @@ } }, "node_modules/@babel/plugin-transform-computed-properties": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.16.7.tgz", - "integrity": "sha512-gN72G9bcmenVILj//sv1zLNaPyYcOzUho2lIJBMh/iakJ9ygCo/hEF9cpGb61SCMEDxbbyBoVQxrt+bWKu5KGw==", + "version": "7.17.12", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.17.12.tgz", + "integrity": "sha512-a7XINeplB5cQUWMg1E/GI1tFz3LfK021IjV1rj1ypE+R7jHm+pIHmHl25VNkZxtx9uuYp7ThGk8fur1HHG7PgQ==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.16.7" + "@babel/helper-plugin-utils": "^7.17.12" }, "engines": { "node": ">=6.9.0" @@ -1018,12 +1032,12 @@ } }, "node_modules/@babel/plugin-transform-destructuring": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.16.7.tgz", - "integrity": "sha512-VqAwhTHBnu5xBVDCvrvqJbtLUa++qZaWC0Fgr2mqokBlulZARGyIvZDoqbPlPaKImQ9dKAcCzbv+ul//uqu70A==", + "version": "7.17.12", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.17.12.tgz", + "integrity": "sha512-P8pt0YiKtX5UMUL5Xzsc9Oyij+pJE6JuC+F1k0/brq/OOGs5jDa1If3OY0LRWGvJsJhI+8tsiecL3nJLc0WTlg==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.16.7" + "@babel/helper-plugin-utils": "^7.17.12" }, "engines": { "node": ">=6.9.0" @@ -1049,12 +1063,12 @@ } }, "node_modules/@babel/plugin-transform-duplicate-keys": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.16.7.tgz", - "integrity": "sha512-03DvpbRfvWIXyK0/6QiR1KMTWeT6OcQ7tbhjrXyFS02kjuX/mu5Bvnh5SDSWHxyawit2g5aWhKwI86EE7GUnTw==", + "version": "7.17.12", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.17.12.tgz", + "integrity": "sha512-EA5eYFUG6xeerdabina/xIoB95jJ17mAkR8ivx6ZSu9frKShBjpOGZPn511MTDTkiCO+zXnzNczvUM69YSf3Zw==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.16.7" + "@babel/helper-plugin-utils": "^7.17.12" }, "engines": { "node": ">=6.9.0" @@ -1080,12 +1094,12 @@ } }, "node_modules/@babel/plugin-transform-for-of": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.16.7.tgz", - "integrity": "sha512-/QZm9W92Ptpw7sjI9Nx1mbcsWz33+l8kuMIQnDwgQBG5s3fAfQvkRjQ7NqXhtNcKOnPkdICmUHyCaWW06HCsqg==", + "version": "7.17.12", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.17.12.tgz", + "integrity": "sha512-76lTwYaCxw8ldT7tNmye4LLwSoKDbRCBzu6n/DcK/P3FOR29+38CIIaVIZfwol9By8W/QHORYEnYSLuvcQKrsg==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.16.7" + "@babel/helper-plugin-utils": "^7.17.12" }, "engines": { "node": ">=6.9.0" @@ -1112,12 +1126,12 @@ } }, "node_modules/@babel/plugin-transform-literals": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.16.7.tgz", - "integrity": "sha512-6tH8RTpTWI0s2sV6uq3e/C9wPo4PTqqZps4uF0kzQ9/xPLFQtipynvmT1g/dOfEJ+0EQsHhkQ/zyRId8J2b8zQ==", + "version": "7.17.12", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.17.12.tgz", + "integrity": "sha512-8iRkvaTjJciWycPIZ9k9duu663FT7VrBdNqNgxnVXEFwOIp55JWcZd23VBRySYbnS3PwQ3rGiabJBBBGj5APmQ==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.16.7" + "@babel/helper-plugin-utils": "^7.17.12" }, "engines": { "node": ">=6.9.0" @@ -1142,13 +1156,13 @@ } }, "node_modules/@babel/plugin-transform-modules-amd": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.16.7.tgz", - "integrity": "sha512-KaaEtgBL7FKYwjJ/teH63oAmE3lP34N3kshz8mm4VMAw7U3PxjVwwUmxEFksbgsNUaO3wId9R2AVQYSEGRa2+g==", + "version": "7.17.12", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.17.12.tgz", + "integrity": "sha512-p5rt9tB5Ndcc2Za7CeNxVf7YAjRcUMR6yi8o8tKjb9KhRkEvXwa+C0hj6DA5bVDkKRxB0NYhMUGbVKoFu4+zEA==", "dev": true, "dependencies": { - "@babel/helper-module-transforms": "^7.16.7", - "@babel/helper-plugin-utils": "^7.16.7", + "@babel/helper-module-transforms": "^7.17.12", + "@babel/helper-plugin-utils": "^7.17.12", "babel-plugin-dynamic-import-node": "^2.3.3" }, "engines": { @@ -1159,14 +1173,14 @@ } }, "node_modules/@babel/plugin-transform-modules-commonjs": { - "version": "7.16.8", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.16.8.tgz", - "integrity": "sha512-oflKPvsLT2+uKQopesJt3ApiaIS2HW+hzHFcwRNtyDGieAeC/dIHZX8buJQ2J2X1rxGPy4eRcUijm3qcSPjYcA==", + "version": "7.17.12", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.17.12.tgz", + "integrity": "sha512-tVPs6MImAJz+DiX8Y1xXEMdTk5Lwxu9jiPjlS+nv5M2A59R7+/d1+9A8C/sbuY0b3QjIxqClkj6KAplEtRvzaA==", "dev": true, "dependencies": { - "@babel/helper-module-transforms": "^7.16.7", - "@babel/helper-plugin-utils": "^7.16.7", - "@babel/helper-simple-access": "^7.16.7", + "@babel/helper-module-transforms": "^7.17.12", + "@babel/helper-plugin-utils": "^7.17.12", + "@babel/helper-simple-access": "^7.17.7", "babel-plugin-dynamic-import-node": "^2.3.3" }, "engines": { @@ -1177,14 +1191,14 @@ } }, "node_modules/@babel/plugin-transform-modules-systemjs": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.16.7.tgz", - "integrity": "sha512-DuK5E3k+QQmnOqBR9UkusByy5WZWGRxfzV529s9nPra1GE7olmxfqO2FHobEOYSPIjPBTr4p66YDcjQnt8cBmw==", + "version": "7.17.12", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.17.12.tgz", + "integrity": "sha512-NVhDb0q00hqZcuLduUf/kMzbOQHiocmPbIxIvk23HLiEqaTKC/l4eRxeC7lO63M72BmACoiKOcb9AkOAJRerpw==", "dev": true, "dependencies": { "@babel/helper-hoist-variables": "^7.16.7", - "@babel/helper-module-transforms": "^7.16.7", - "@babel/helper-plugin-utils": "^7.16.7", + "@babel/helper-module-transforms": "^7.17.12", + "@babel/helper-plugin-utils": "^7.17.12", "@babel/helper-validator-identifier": "^7.16.7", "babel-plugin-dynamic-import-node": "^2.3.3" }, @@ -1196,13 +1210,13 @@ } }, "node_modules/@babel/plugin-transform-modules-umd": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.16.7.tgz", - "integrity": "sha512-EMh7uolsC8O4xhudF2F6wedbSHm1HHZ0C6aJ7K67zcDNidMzVcxWdGr+htW9n21klm+bOn+Rx4CBsAntZd3rEQ==", + "version": "7.17.12", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.17.12.tgz", + "integrity": "sha512-BnsPkrUHsjzZGpnrmJeDFkOMMljWFHPjDc9xDcz71/C+ybF3lfC3V4m3dwXPLZrE5b3bgd4V+3/Pj+3620d7IA==", "dev": true, "dependencies": { - "@babel/helper-module-transforms": "^7.16.7", - "@babel/helper-plugin-utils": "^7.16.7" + "@babel/helper-module-transforms": "^7.17.12", + "@babel/helper-plugin-utils": "^7.17.12" }, "engines": { "node": ">=6.9.0" @@ -1212,12 +1226,13 @@ } }, "node_modules/@babel/plugin-transform-named-capturing-groups-regex": { - "version": "7.16.8", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.16.8.tgz", - "integrity": "sha512-j3Jw+n5PvpmhRR+mrgIh04puSANCk/T/UA3m3P1MjJkhlK906+ApHhDIqBQDdOgL/r1UYpz4GNclTXxyZrYGSw==", + "version": "7.17.12", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.17.12.tgz", + "integrity": "sha512-vWoWFM5CKaTeHrdUJ/3SIOTRV+MBVGybOC9mhJkaprGNt5demMymDW24yC74avb915/mIRe3TgNb/d8idvnCRA==", "dev": true, "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.16.7" + "@babel/helper-create-regexp-features-plugin": "^7.17.12", + "@babel/helper-plugin-utils": "^7.17.12" }, "engines": { "node": ">=6.9.0" @@ -1227,12 +1242,12 @@ } }, "node_modules/@babel/plugin-transform-new-target": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.16.7.tgz", - "integrity": "sha512-xiLDzWNMfKoGOpc6t3U+etCE2yRnn3SM09BXqWPIZOBpL2gvVrBWUKnsJx0K/ADi5F5YC5f8APFfWrz25TdlGg==", + "version": "7.17.12", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.17.12.tgz", + "integrity": "sha512-CaOtzk2fDYisbjAD4Sd1MTKGVIpRtx9bWLyj24Y/k6p4s4gQ3CqDGJauFJxt8M/LEx003d0i3klVqnN73qvK3w==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.16.7" + "@babel/helper-plugin-utils": "^7.17.12" }, "engines": { "node": ">=6.9.0" @@ -1258,12 +1273,12 @@ } }, "node_modules/@babel/plugin-transform-parameters": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.16.7.tgz", - "integrity": "sha512-AT3MufQ7zZEhU2hwOA11axBnExW0Lszu4RL/tAlUJBuNoRak+wehQW8h6KcXOcgjY42fHtDxswuMhMjFEuv/aw==", + "version": "7.17.12", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.17.12.tgz", + "integrity": "sha512-6qW4rWo1cyCdq1FkYri7AHpauchbGLXpdwnYsfxFb+KtddHENfsY5JZb35xUwkK5opOLcJ3BNd2l7PhRYGlwIA==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.16.7" + "@babel/helper-plugin-utils": "^7.17.12" }, "engines": { "node": ">=6.9.0" @@ -1288,12 +1303,12 @@ } }, "node_modules/@babel/plugin-transform-regenerator": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.16.7.tgz", - "integrity": "sha512-mF7jOgGYCkSJagJ6XCujSQg+6xC1M77/03K2oBmVJWoFGNUtnVJO4WHKJk3dnPC8HCcj4xBQP1Egm8DWh3Pb3Q==", + "version": "7.17.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.17.9.tgz", + "integrity": "sha512-Lc2TfbxR1HOyn/c6b4Y/b6NHoTb67n/IoWLxTu4kC7h4KQnWlhCq2S8Tx0t2SVvv5Uu87Hs+6JEJ5kt2tYGylQ==", "dev": true, "dependencies": { - "regenerator-transform": "^0.14.2" + "regenerator-transform": "^0.15.0" }, "engines": { "node": ">=6.9.0" @@ -1303,12 +1318,12 @@ } }, "node_modules/@babel/plugin-transform-reserved-words": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.16.7.tgz", - "integrity": "sha512-KQzzDnZ9hWQBjwi5lpY5v9shmm6IVG0U9pB18zvMu2i4H90xpT4gmqwPYsn8rObiadYe2M0gmgsiOIF5A/2rtg==", + "version": "7.17.12", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.17.12.tgz", + "integrity": "sha512-1KYqwbJV3Co03NIi14uEHW8P50Md6KqFgt0FfpHdK6oyAHQVTosgPuPSiWud1HX0oYJ1hGRRlk0fP87jFpqXZA==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.16.7" + "@babel/helper-plugin-utils": "^7.17.12" }, "engines": { "node": ">=6.9.0" @@ -1333,12 +1348,12 @@ } }, "node_modules/@babel/plugin-transform-spread": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.16.7.tgz", - "integrity": "sha512-+pjJpgAngb53L0iaA5gU/1MLXJIfXcYepLgXB3esVRf4fqmj8f2cxM3/FKaHsZms08hFQJkFccEWuIpm429TXg==", + "version": "7.17.12", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.17.12.tgz", + "integrity": "sha512-9pgmuQAtFi3lpNUstvG9nGfk9DkrdmWNp9KeKPFmuZCpEnxRzYlS8JgwPjYj+1AWDOSvoGN0H30p1cBOmT/Svg==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.16.7", + "@babel/helper-plugin-utils": "^7.17.12", "@babel/helper-skip-transparent-expression-wrappers": "^7.16.0" }, "engines": { @@ -1364,12 +1379,12 @@ } }, "node_modules/@babel/plugin-transform-template-literals": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.16.7.tgz", - "integrity": "sha512-VwbkDDUeenlIjmfNeDX/V0aWrQH2QiVyJtwymVQSzItFDTpxfyJh3EVaQiS0rIN/CqbLGr0VcGmuwyTdZtdIsA==", + "version": "7.17.12", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.17.12.tgz", + "integrity": "sha512-kAKJ7DX1dSRa2s7WN1xUAuaQmkTpN+uig4wCKWivVXIObqGbVTUlSavHyfI2iZvz89GFAMGm9p2DBJ4Y1Tp0hw==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.16.7" + "@babel/helper-plugin-utils": "^7.17.12" }, "engines": { "node": ">=6.9.0" @@ -1379,12 +1394,12 @@ } }, "node_modules/@babel/plugin-transform-typeof-symbol": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.16.7.tgz", - "integrity": "sha512-p2rOixCKRJzpg9JB4gjnG4gjWkWa89ZoYUnl9snJ1cWIcTH/hvxZqfO+WjG6T8DRBpctEol5jw1O5rA8gkCokQ==", + "version": "7.17.12", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.17.12.tgz", + "integrity": "sha512-Q8y+Jp7ZdtSPXCThB6zjQ74N3lj0f6TDh1Hnf5B+sYlzQ8i5Pjp8gW0My79iekSpT4WnI06blqP6DT0OmaXXmw==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.16.7" + "@babel/helper-plugin-utils": "^7.17.12" }, "engines": { "node": ">=6.9.0" @@ -1425,32 +1440,32 @@ } }, "node_modules/@babel/preset-env": { - "version": "7.16.8", - "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.16.8.tgz", - "integrity": "sha512-9rNKgVCdwHb3z1IlbMyft6yIXIeP3xz6vWvGaLHrJThuEIqWfHb0DNBH9VuTgnDfdbUDhkmkvMZS/YMCtP7Elg==", + "version": "7.17.12", + "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.17.12.tgz", + "integrity": "sha512-Kke30Rj3Lmcx97bVs71LO0s8M6FmJ7tUAQI9fNId62rf0cYG1UAWwdNO9/sE0/pLEahAw1MqMorymoD12bj5Fg==", "dev": true, "dependencies": { - "@babel/compat-data": "^7.16.8", - "@babel/helper-compilation-targets": "^7.16.7", - "@babel/helper-plugin-utils": "^7.16.7", + "@babel/compat-data": "^7.17.10", + "@babel/helper-compilation-targets": "^7.17.10", + "@babel/helper-plugin-utils": "^7.17.12", "@babel/helper-validator-option": "^7.16.7", - "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.16.7", - "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.16.7", - "@babel/plugin-proposal-async-generator-functions": "^7.16.8", - "@babel/plugin-proposal-class-properties": "^7.16.7", - "@babel/plugin-proposal-class-static-block": "^7.16.7", + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.17.12", + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.17.12", + "@babel/plugin-proposal-async-generator-functions": "^7.17.12", + "@babel/plugin-proposal-class-properties": "^7.17.12", + "@babel/plugin-proposal-class-static-block": "^7.17.12", "@babel/plugin-proposal-dynamic-import": "^7.16.7", - "@babel/plugin-proposal-export-namespace-from": "^7.16.7", - "@babel/plugin-proposal-json-strings": "^7.16.7", - "@babel/plugin-proposal-logical-assignment-operators": "^7.16.7", - "@babel/plugin-proposal-nullish-coalescing-operator": "^7.16.7", + "@babel/plugin-proposal-export-namespace-from": "^7.17.12", + "@babel/plugin-proposal-json-strings": "^7.17.12", + "@babel/plugin-proposal-logical-assignment-operators": "^7.17.12", + "@babel/plugin-proposal-nullish-coalescing-operator": "^7.17.12", "@babel/plugin-proposal-numeric-separator": "^7.16.7", - "@babel/plugin-proposal-object-rest-spread": "^7.16.7", + "@babel/plugin-proposal-object-rest-spread": "^7.17.12", "@babel/plugin-proposal-optional-catch-binding": "^7.16.7", - "@babel/plugin-proposal-optional-chaining": "^7.16.7", - "@babel/plugin-proposal-private-methods": "^7.16.7", - "@babel/plugin-proposal-private-property-in-object": "^7.16.7", - "@babel/plugin-proposal-unicode-property-regex": "^7.16.7", + "@babel/plugin-proposal-optional-chaining": "^7.17.12", + "@babel/plugin-proposal-private-methods": "^7.17.12", + "@babel/plugin-proposal-private-property-in-object": "^7.17.12", + "@babel/plugin-proposal-unicode-property-regex": "^7.17.12", "@babel/plugin-syntax-async-generators": "^7.8.4", "@babel/plugin-syntax-class-properties": "^7.12.13", "@babel/plugin-syntax-class-static-block": "^7.14.5", @@ -1465,44 +1480,44 @@ "@babel/plugin-syntax-optional-chaining": "^7.8.3", "@babel/plugin-syntax-private-property-in-object": "^7.14.5", "@babel/plugin-syntax-top-level-await": "^7.14.5", - "@babel/plugin-transform-arrow-functions": "^7.16.7", - "@babel/plugin-transform-async-to-generator": "^7.16.8", + "@babel/plugin-transform-arrow-functions": "^7.17.12", + "@babel/plugin-transform-async-to-generator": "^7.17.12", "@babel/plugin-transform-block-scoped-functions": "^7.16.7", - "@babel/plugin-transform-block-scoping": "^7.16.7", - "@babel/plugin-transform-classes": "^7.16.7", - "@babel/plugin-transform-computed-properties": "^7.16.7", - "@babel/plugin-transform-destructuring": "^7.16.7", + "@babel/plugin-transform-block-scoping": "^7.17.12", + "@babel/plugin-transform-classes": "^7.17.12", + "@babel/plugin-transform-computed-properties": "^7.17.12", + "@babel/plugin-transform-destructuring": "^7.17.12", "@babel/plugin-transform-dotall-regex": "^7.16.7", - "@babel/plugin-transform-duplicate-keys": "^7.16.7", + "@babel/plugin-transform-duplicate-keys": "^7.17.12", "@babel/plugin-transform-exponentiation-operator": "^7.16.7", - "@babel/plugin-transform-for-of": "^7.16.7", + "@babel/plugin-transform-for-of": "^7.17.12", "@babel/plugin-transform-function-name": "^7.16.7", - "@babel/plugin-transform-literals": "^7.16.7", + "@babel/plugin-transform-literals": "^7.17.12", "@babel/plugin-transform-member-expression-literals": "^7.16.7", - "@babel/plugin-transform-modules-amd": "^7.16.7", - "@babel/plugin-transform-modules-commonjs": "^7.16.8", - "@babel/plugin-transform-modules-systemjs": "^7.16.7", - "@babel/plugin-transform-modules-umd": "^7.16.7", - "@babel/plugin-transform-named-capturing-groups-regex": "^7.16.8", - "@babel/plugin-transform-new-target": "^7.16.7", + "@babel/plugin-transform-modules-amd": "^7.17.12", + "@babel/plugin-transform-modules-commonjs": "^7.17.12", + "@babel/plugin-transform-modules-systemjs": "^7.17.12", + "@babel/plugin-transform-modules-umd": "^7.17.12", + "@babel/plugin-transform-named-capturing-groups-regex": "^7.17.12", + "@babel/plugin-transform-new-target": "^7.17.12", "@babel/plugin-transform-object-super": "^7.16.7", - "@babel/plugin-transform-parameters": "^7.16.7", + "@babel/plugin-transform-parameters": "^7.17.12", "@babel/plugin-transform-property-literals": "^7.16.7", - "@babel/plugin-transform-regenerator": "^7.16.7", - "@babel/plugin-transform-reserved-words": "^7.16.7", + "@babel/plugin-transform-regenerator": "^7.17.9", + "@babel/plugin-transform-reserved-words": "^7.17.12", "@babel/plugin-transform-shorthand-properties": "^7.16.7", - "@babel/plugin-transform-spread": "^7.16.7", + "@babel/plugin-transform-spread": "^7.17.12", "@babel/plugin-transform-sticky-regex": "^7.16.7", - "@babel/plugin-transform-template-literals": "^7.16.7", - "@babel/plugin-transform-typeof-symbol": "^7.16.7", + "@babel/plugin-transform-template-literals": "^7.17.12", + "@babel/plugin-transform-typeof-symbol": "^7.17.12", "@babel/plugin-transform-unicode-escapes": "^7.16.7", "@babel/plugin-transform-unicode-regex": "^7.16.7", "@babel/preset-modules": "^0.1.5", - "@babel/types": "^7.16.8", + "@babel/types": "^7.17.12", "babel-plugin-polyfill-corejs2": "^0.3.0", "babel-plugin-polyfill-corejs3": "^0.5.0", "babel-plugin-polyfill-regenerator": "^0.3.0", - "core-js-compat": "^3.20.2", + "core-js-compat": "^3.22.1", "semver": "^6.3.0" }, "engines": { @@ -1529,9 +1544,9 @@ } }, "node_modules/@babel/runtime": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.16.7.tgz", - "integrity": "sha512-9E9FJowqAsytyOY6LG+1KuueckRL+aQW+mKvXRXnuFGyRAyepJPmEo9vgMfXUA6O9u3IeEdv9MAkppFcaQwogQ==", + "version": "7.17.9", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.17.9.tgz", + "integrity": "sha512-lSiBBvodq29uShpWGNbgFdKYNiFDo5/HIYsaCEY9ff4sb10x9jizo2+pRrSyF4jKZCXqgzuqBOQKbUm90gQwJg==", "dev": true, "dependencies": { "regenerator-runtime": "^0.13.4" @@ -1555,19 +1570,19 @@ } }, "node_modules/@babel/traverse": { - "version": "7.16.8", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.16.8.tgz", - "integrity": "sha512-xe+H7JlvKsDQwXRsBhSnq1/+9c+LlQcCK3Tn/l5sbx02HYns/cn7ibp9+RV1sIUqu7hKg91NWsgHurO9dowITQ==", + "version": "7.17.12", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.17.12.tgz", + "integrity": "sha512-zULPs+TbCvOkIFd4FrG53xrpxvCBwLIgo6tO0tJorY7YV2IWFxUfS/lXDJbGgfyYt9ery/Gxj2niwttNnB0gIw==", "dev": true, "dependencies": { "@babel/code-frame": "^7.16.7", - "@babel/generator": "^7.16.8", + "@babel/generator": "^7.17.12", "@babel/helper-environment-visitor": "^7.16.7", - "@babel/helper-function-name": "^7.16.7", + "@babel/helper-function-name": "^7.17.9", "@babel/helper-hoist-variables": "^7.16.7", "@babel/helper-split-export-declaration": "^7.16.7", - "@babel/parser": "^7.16.8", - "@babel/types": "^7.16.8", + "@babel/parser": "^7.17.12", + "@babel/types": "^7.17.12", "debug": "^4.1.0", "globals": "^11.1.0" }, @@ -1576,9 +1591,9 @@ } }, "node_modules/@babel/types": { - "version": "7.16.8", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.16.8.tgz", - "integrity": "sha512-smN2DQc5s4M7fntyjGtyIPbRJv6wW4rU/94fmYJ7PKQuZkC0qGMHXJbg6sNGt12JmVr4k5YaptI/XtiLJBnmIg==", + "version": "7.17.12", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.17.12.tgz", + "integrity": "sha512-rH8i29wcZ6x9xjzI5ILHL/yZkbQnCERdHlogKuIb4PUr7do4iT8DPekrTbBLWTnRQm6U0GYABbTMSzijmEqlAg==", "dev": true, "dependencies": { "@babel/helper-validator-identifier": "^7.16.7", @@ -1597,6 +1612,53 @@ "node": ">=10.0.0" } }, + "node_modules/@jridgewell/gen-mapping": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.1.1.tgz", + "integrity": "sha512-sQXCasFk+U8lWYEe66WxRDOE9PjVz4vSM51fTu3Hw+ClTpUSQb718772vH3pyS5pShp6lvQM7SxgIDXXXmOX7w==", + "dev": true, + "dependencies": { + "@jridgewell/set-array": "^1.0.0", + "@jridgewell/sourcemap-codec": "^1.4.10" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/resolve-uri": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.0.7.tgz", + "integrity": "sha512-8cXDaBBHOr2pQ7j77Y6Vp5VDT2sIqWyWQ56TjEq4ih/a4iST3dItRe8Q9fp0rrIl9DoKhWQtUQz/YpOxLkXbNA==", + "dev": true, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/set-array": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.1.tgz", + "integrity": "sha512-Ct5MqZkLGEXTVmQYbGtx9SVqD2fqwvdubdps5D3djjAkgkKwT918VNOz65pEHFaYTeWcukmJmH5SwsA9Tn2ObQ==", + "dev": true, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/sourcemap-codec": { + "version": "1.4.13", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.13.tgz", + "integrity": "sha512-GryiOJmNcWbovBxTfZSF71V/mXbgcV3MewDe3kIMCLyIh5e7SKAeUZs+rMnJ8jkMolZ/4/VsdBmMrw3l+VdZ3w==", + "dev": true + }, + "node_modules/@jridgewell/trace-mapping": { + "version": "0.3.13", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.13.tgz", + "integrity": "sha512-o1xbKhp9qnIAoHJSWd6KlCZfqslL4valSF81H8ImioOAxluWYWOpWkpyktY2vnt4tbrX9XYaxovq6cgowaJp2w==", + "dev": true, + "dependencies": { + "@jridgewell/resolve-uri": "^3.0.3", + "@jridgewell/sourcemap-codec": "^1.4.10" + } + }, "node_modules/@types/eslint": { "version": "8.2.2", "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.2.2.tgz", @@ -1618,9 +1680,9 @@ } }, "node_modules/@types/estree": { - "version": "0.0.50", - "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.50.tgz", - "integrity": "sha512-C6N5s2ZFtuZRj54k2/zyRhNDjJwwcViAM3Nbm8zjBpbqAdZ00mr0CFxvSKeO8Y/e03WVFLpQMdHYVfUd6SB+Hw==", + "version": "0.0.51", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.51.tgz", + "integrity": "sha512-CuPgU6f3eT/XgKKPqKd/gLZV1Xmvf1a2R5POBOGQa6uv82xpls89HU5zKeVoyR8XzHd1RGNOlQlvUe3CFkjWNQ==", "dev": true }, "node_modules/@types/json-schema": { @@ -1782,9 +1844,9 @@ } }, "node_modules/@webpack-cli/configtest": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@webpack-cli/configtest/-/configtest-1.1.0.tgz", - "integrity": "sha512-ttOkEkoalEHa7RaFYpM0ErK1xc4twg3Am9hfHhL7MVqlHebnkYd2wuI/ZqTDj0cVzZho6PdinY0phFZV3O0Mzg==", + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@webpack-cli/configtest/-/configtest-1.1.1.tgz", + "integrity": "sha512-1FBc1f9G4P/AxMqIgfZgeOTuRnwZMten8E7zap5zgpPInnCrP8D4Q81+4CWIch8i/Nf7nXjP0v6CjjbHOrXhKg==", "dev": true, "peerDependencies": { "webpack": "4.x.x || 5.x.x", @@ -1792,9 +1854,9 @@ } }, "node_modules/@webpack-cli/info": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/@webpack-cli/info/-/info-1.4.0.tgz", - "integrity": "sha512-F6b+Man0rwE4n0409FyAJHStYA5OIZERxmnUfLVwv0mc0V1wLad3V7jqRlMkgKBeAq07jUvglacNaa6g9lOpuw==", + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/@webpack-cli/info/-/info-1.4.1.tgz", + "integrity": "sha512-PKVGmazEq3oAo46Q63tpMr4HipI3OPfP7LiNOEJg963RMgT0rqheag28NCML0o3GIzA3DmxP1ZIAv9oTX1CUIA==", "dev": true, "dependencies": { "envinfo": "^7.7.3" @@ -1804,9 +1866,9 @@ } }, "node_modules/@webpack-cli/serve": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/@webpack-cli/serve/-/serve-1.6.0.tgz", - "integrity": "sha512-ZkVeqEmRpBV2GHvjjUZqEai2PpUbuq8Bqd//vEYsp63J8WyexI8ppCqVS3Zs0QADf6aWuPdU+0XsPI647PVlQA==", + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/@webpack-cli/serve/-/serve-1.6.1.tgz", + "integrity": "sha512-gNGTiTrjEVQ0OcVnzsRSqTxaBSr+dmTfm+qJsCDluky8uhdLWep7Gcr62QsAKHTMxjCS/8nEITsmFAhfIx+QSw==", "dev": true, "peerDependencies": { "webpack-cli": "4.x.x" @@ -1936,13 +1998,13 @@ } }, "node_modules/babel-loader": { - "version": "8.2.3", - "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-8.2.3.tgz", - "integrity": "sha512-n4Zeta8NC3QAsuyiizu0GkmRcQ6clkV9WFUnUf1iXP//IeSKbWjofW3UHyZVwlOB4y039YQKefawyTn64Zwbuw==", + "version": "8.2.5", + "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-8.2.5.tgz", + "integrity": "sha512-OSiFfH89LrEMiWd4pLNqGz4CwJDtbs2ZVc+iGu2HrkRfPxId9F2anQj38IxWpmRfsUY0aBZYi1EFcd3mhtRMLQ==", "dev": true, "dependencies": { "find-cache-dir": "^3.3.1", - "loader-utils": "^1.4.0", + "loader-utils": "^2.0.0", "make-dir": "^3.1.0", "schema-utils": "^2.6.5" }, @@ -2028,15 +2090,25 @@ } }, "node_modules/browserslist": { - "version": "4.19.1", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.19.1.tgz", - "integrity": "sha512-u2tbbG5PdKRTUoctO3NBD8FQ5HdPh1ZXPHzp1rwaa5jTc+RV9/+RlWiAIKmjRPQF+xbGM9Kklj5bZQFa2s/38A==", - "dev": true, + "version": "4.20.3", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.20.3.tgz", + "integrity": "sha512-NBhymBQl1zM0Y5dQT/O+xiLP9/rzOIQdKM/eMJBAq7yBgaB6krIYLGejrwVYnSHZdqjscB1SPuAjHwxjvN6Wdg==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + } + ], "dependencies": { - "caniuse-lite": "^1.0.30001286", - "electron-to-chromium": "^1.4.17", + "caniuse-lite": "^1.0.30001332", + "electron-to-chromium": "^1.4.118", "escalade": "^3.1.1", - "node-releases": "^2.0.1", + "node-releases": "^2.0.3", "picocolors": "^1.0.0" }, "bin": { @@ -2044,10 +2116,6 @@ }, "engines": { "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" } }, "node_modules/buffer-from": { @@ -2079,14 +2147,20 @@ } }, "node_modules/caniuse-lite": { - "version": "1.0.30001300", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001300.tgz", - "integrity": "sha512-cVjiJHWGcNlJi8TZVKNMnvMid3Z3TTdDHmLDzlOdIiZq138Exvo0G+G0wTdVYolxKb4AYwC+38pxodiInVtJSA==", - "dev": true, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - } + "version": "1.0.30001341", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001341.tgz", + "integrity": "sha512-2SodVrFFtvGENGCv0ChVJIDQ0KPaS1cg7/qtfMaICgeMolDdo/Z2OD32F0Aq9yl6F4YFwGPBS5AaPqNYiW4PoA==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/caniuse-lite" + } + ] }, "node_modules/chalk": { "version": "2.4.2", @@ -2233,12 +2307,12 @@ } }, "node_modules/core-js-compat": { - "version": "3.20.3", - "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.20.3.tgz", - "integrity": "sha512-c8M5h0IkNZ+I92QhIpuSijOxGAcj3lgpsWdkCqmUTZNwidujF4r3pi6x1DCN+Vcs5qTS2XWWMfWSuCqyupX8gw==", + "version": "3.22.5", + "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.22.5.tgz", + "integrity": "sha512-rEF75n3QtInrYICvJjrAgV03HwKiYvtKHdPtaba1KucG+cNZ4NJnH9isqt979e67KZlhpbCOTwnsvnIr+CVeOg==", "dev": true, "dependencies": { - "browserslist": "^4.19.1", + "browserslist": "^4.20.3", "semver": "7.0.0" }, "funding": { @@ -2364,9 +2438,9 @@ } }, "node_modules/electron-to-chromium": { - "version": "1.4.47", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.47.tgz", - "integrity": "sha512-ZHc8i3/cgeCRK/vC7W2htAG6JqUmOUgDNn/f9yY9J8UjfLjwzwOVEt4MWmgJAdvmxyrsR5KIFA/6+kUHGY0eUA==", + "version": "1.4.137", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.137.tgz", + "integrity": "sha512-0Rcpald12O11BUogJagX3HsCN3FE83DSqWjgXoHo5a72KUKMSfI39XBgJpgNNxS9fuGzytaFjE06kZkiVFy2qA==", "dev": true }, "node_modules/emoji-regex": { @@ -2385,9 +2459,9 @@ } }, "node_modules/enhanced-resolve": { - "version": "5.8.3", - "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.8.3.tgz", - "integrity": "sha512-EGAbGvH7j7Xt2nc0E7D99La1OiEs8LnyimkRgwExpUMScN6O+3x9tIWs7PLQZVNx4YD+00skHXPXi1yQHpAmZA==", + "version": "5.9.3", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.9.3.tgz", + "integrity": "sha512-Bq9VSor+kjvW3f9/MiiR4eE3XYgOl7/rS8lnSxbRbF3kS0B2r+Y9w5krBWxZgDxASVZbdYrn5wT4j/Wb0J9qow==", "dev": true, "dependencies": { "graceful-fs": "^4.2.4", @@ -3295,10 +3369,10 @@ "node": ">=4" } }, - "node_modules/json-parse-better-errors": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz", - "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==", + "node_modules/json-parse-even-better-errors": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", + "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", "dev": true }, "node_modules/json-schema-traverse": { @@ -3308,13 +3382,10 @@ "dev": true }, "node_modules/json5": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.0.tgz", - "integrity": "sha512-f+8cldu7X/y7RAJurMEJmdoKXGB/X550w2Nr3tTbezL6RwEE/iMcm+tZnXeoZtKuOq6ft8+CqzEkrIgx1fPoQA==", + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.1.tgz", + "integrity": "sha512-1hqLFMSrGHRHxav9q9gNjJ5EXznIxGVO09xQRrwplcS8qs28pZ8s8hupZAmqDwZUmVZ2Qb2jnyPOWcDH8m8dlA==", "dev": true, - "dependencies": { - "minimist": "^1.2.5" - }, "bin": { "json5": "lib/cli.js" }, @@ -3341,29 +3412,17 @@ } }, "node_modules/loader-utils": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz", - "integrity": "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==", + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.2.tgz", + "integrity": "sha512-TM57VeHptv569d/GKh6TAYdzKblwDNiumOdkFnejjD0XwTH87K90w3O7AiJRqdQoXygvi1VQTJTLGhJl7WqA7A==", "dev": true, "dependencies": { "big.js": "^5.2.2", "emojis-list": "^3.0.0", - "json5": "^1.0.1" + "json5": "^2.1.2" }, "engines": { - "node": ">=4.0.0" - } - }, - "node_modules/loader-utils/node_modules/json5": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", - "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", - "dev": true, - "dependencies": { - "minimist": "^1.2.0" - }, - "bin": { - "json5": "lib/cli.js" + "node": ">=8.9.0" } }, "node_modules/locate-path": { @@ -3488,9 +3547,9 @@ "dev": true }, "node_modules/node-releases": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.1.tgz", - "integrity": "sha512-CqyzN6z7Q6aMeF/ktcMVTzhAHCEpf8SOarwpzpf8pNBY2k5/oM34UHldUwp8VKI7uxct2HxSRdJjBaZeESzcxA==", + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.4.tgz", + "integrity": "sha512-gbMzqQtTtDz/00jQzZ21PQzdI9PyLYqUSvD0p3naOhX4odFji0ZxYdnVwPTxmSwkmxhcFImpozceidSG+AgoPQ==", "dev": true }, "node_modules/noms": { @@ -3733,9 +3792,9 @@ "dev": true }, "node_modules/regenerate-unicode-properties": { - "version": "9.0.0", - "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-9.0.0.tgz", - "integrity": "sha512-3E12UeNSPfjrgwjkR81m5J7Aw/T55Tu7nUyZVQYCKEOs+2dkxEY+DpPtZzO4YruuiPb7NkYLVcyJC4+zCbk5pA==", + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-10.0.1.tgz", + "integrity": "sha512-vn5DU6yg6h8hP/2OkQo3K7uVILvY4iu0oI4t3HFa81UPkhGJwkRwM10JEc3upjdhHjs/k8GJY1sRBhk5sr69Bw==", "dev": true, "dependencies": { "regenerate": "^1.4.2" @@ -3751,9 +3810,9 @@ "dev": true }, "node_modules/regenerator-transform": { - "version": "0.14.5", - "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.14.5.tgz", - "integrity": "sha512-eOf6vka5IO151Jfsw2NO9WpGX58W6wWmefK3I1zEGr0lOD0u8rwPaNqQL1aRxUaxLeKO3ArNh3VYg1KbaD+FFw==", + "version": "0.15.0", + "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.15.0.tgz", + "integrity": "sha512-LsrGtPmbYg19bcPHwdtmXwbW+TqNvtY4riE3P83foeHRroMbH6/2ddFBfab3t7kbzc7v7p4wbkIecHImqt0QNg==", "dev": true, "dependencies": { "@babel/runtime": "^7.8.4" @@ -3776,15 +3835,15 @@ } }, "node_modules/regexpu-core": { - "version": "4.8.0", - "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-4.8.0.tgz", - "integrity": "sha512-1F6bYsoYiz6is+oz70NWur2Vlh9KWtswuRuzJOfeYUrfPX2o8n74AnUVaOGDbUqVGO9fNHu48/pjJO4sNVwsOg==", + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-5.0.1.tgz", + "integrity": "sha512-CriEZlrKK9VJw/xQGJpQM5rY88BtuL8DM+AEwvcThHilbxiTAy8vq4iJnd2tqq8wLmjbGZzP7ZcKFjbGkmEFrw==", "dev": true, "dependencies": { "regenerate": "^1.4.2", - "regenerate-unicode-properties": "^9.0.0", - "regjsgen": "^0.5.2", - "regjsparser": "^0.7.0", + "regenerate-unicode-properties": "^10.0.1", + "regjsgen": "^0.6.0", + "regjsparser": "^0.8.2", "unicode-match-property-ecmascript": "^2.0.0", "unicode-match-property-value-ecmascript": "^2.0.0" }, @@ -3793,15 +3852,15 @@ } }, "node_modules/regjsgen": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.5.2.tgz", - "integrity": "sha512-OFFT3MfrH90xIW8OOSyUrk6QHD5E9JOTeGodiJeBS3J6IwlgzJMNE/1bZklWz5oTg+9dCMyEetclvCVXOPoN3A==", + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.6.0.tgz", + "integrity": "sha512-ozE883Uigtqj3bx7OhL1KNbCzGyW2NQZPl6Hs09WTvCuZD5sTI4JY58bkbQWa/Y9hxIsvJ3M8Nbf7j54IqeZbA==", "dev": true }, "node_modules/regjsparser": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.7.0.tgz", - "integrity": "sha512-A4pcaORqmNMDVwUjWoTzuhwMGpP+NykpfqAsEgI1FSH/EzC7lrN5TMd+kN8YCovX+jMpu8eaqXgXPCa0g8FQNQ==", + "version": "0.8.4", + "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.8.4.tgz", + "integrity": "sha512-J3LABycON/VNEu3abOviqGHuB/LOtOQj8SKmfP9anY5GfAVw/SPjwzSjxGjbZXIxbGfqTHtJw58C2Li/WkStmA==", "dev": true, "dependencies": { "jsesc": "~0.5.0" @@ -3985,15 +4044,6 @@ "integrity": "sha512-sDl4qMFpijcGw22U5w63KmD3cZJfBuFlVNbVMKje2keoKML7X2UzWbc4XrmEbDwg0NXJc3yv4/ox7b+JWb57kQ==", "dev": true }, - "node_modules/source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/source-map-support": { "version": "0.5.21", "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", @@ -4150,9 +4200,9 @@ } }, "node_modules/tape": { - "version": "5.4.1", - "resolved": "https://registry.npmjs.org/tape/-/tape-5.4.1.tgz", - "integrity": "sha512-7bGaJ3WnQ/CX3xOWzlR+9lNptEWoD+11gyREP8k+SYrDu2a20EifKpTmZndXn25ZRxesYHSuNtE7Fb+THcjfGA==", + "version": "5.5.3", + "resolved": "https://registry.npmjs.org/tape/-/tape-5.5.3.tgz", + "integrity": "sha512-hPBJZBL9S7bH9vECg/KSM24slGYV589jJr4dmtiJrLD71AL66+8o4b9HdZazXZyvnilqA7eE8z5/flKiy0KsBg==", "dev": true, "dependencies": { "array.prototype.every": "^1.1.3", @@ -4167,7 +4217,7 @@ "has-dynamic-import": "^2.0.1", "inherits": "^2.0.4", "is-regex": "^1.1.4", - "minimist": "^1.2.5", + "minimist": "^1.2.6", "object-inspect": "^1.12.0", "object-is": "^1.1.5", "object-keys": "^1.1.1", @@ -4220,12 +4270,12 @@ } }, "node_modules/terser-webpack-plugin": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.0.tgz", - "integrity": "sha512-LPIisi3Ol4chwAaPP8toUJ3L4qCM1G0wao7L3qNv57Drezxj6+VEyySpPw4B1HSO2Eg/hDY/MNF5XihCAoqnsQ==", + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.1.tgz", + "integrity": "sha512-GvlZdT6wPQKbDNW/GDQzZFg/j4vKU96yl2q6mcUkzKOgW4gwf1Z8cZToUCrz31XHlPWH8MVb1r2tFtdDtTGJ7g==", "dev": true, "dependencies": { - "jest-worker": "^27.4.1", + "jest-worker": "^27.4.5", "schema-utils": "^3.1.1", "serialize-javascript": "^6.0.0", "source-map": "^0.6.1", @@ -4586,9 +4636,9 @@ } }, "node_modules/typescript": { - "version": "4.5.4", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.5.4.tgz", - "integrity": "sha512-VgYs2A2QIRuGphtzFV7aQJduJ2gyfTljngLzjpfW9FoYZF6xuw1W0vW9ghCKLfcWrCFxK81CSGRAvS1pn4fIUg==", + "version": "4.6.4", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.6.4.tgz", + "integrity": "sha512-9ia/jWHIEbo49HfjrLGfKbZSuWo9iTMwXO+Ca3pRsSpbsMbc7/IU8NKdCZVRRBafVPGnoJeFL76ZOAA84I9fEg==", "dev": true, "bin": { "tsc": "bin/tsc", @@ -4700,13 +4750,13 @@ } }, "node_modules/webpack": { - "version": "5.66.0", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.66.0.tgz", - "integrity": "sha512-NJNtGT7IKpGzdW7Iwpn/09OXz9inIkeIQ/ibY6B+MdV1x6+uReqz/5z1L89ezWnpPDWpXF0TY5PCYKQdWVn8Vg==", + "version": "5.72.1", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.72.1.tgz", + "integrity": "sha512-dXG5zXCLspQR4krZVR6QgajnZOjW2K/djHvdcRaDQvsjV9z9vaW6+ja5dZOYbqBBjF6kGXka/2ZyxNdc+8Jung==", "dev": true, "dependencies": { - "@types/eslint-scope": "^3.7.0", - "@types/estree": "^0.0.50", + "@types/eslint-scope": "^3.7.3", + "@types/estree": "^0.0.51", "@webassemblyjs/ast": "1.11.1", "@webassemblyjs/wasm-edit": "1.11.1", "@webassemblyjs/wasm-parser": "1.11.1", @@ -4714,13 +4764,13 @@ "acorn-import-assertions": "^1.7.6", "browserslist": "^4.14.5", "chrome-trace-event": "^1.0.2", - "enhanced-resolve": "^5.8.3", + "enhanced-resolve": "^5.9.3", "es-module-lexer": "^0.9.0", "eslint-scope": "5.1.1", "events": "^3.2.0", "glob-to-regexp": "^0.4.1", "graceful-fs": "^4.2.9", - "json-parse-better-errors": "^1.0.2", + "json-parse-even-better-errors": "^2.3.1", "loader-runner": "^4.2.0", "mime-types": "^2.1.27", "neo-async": "^2.6.2", @@ -4728,7 +4778,7 @@ "tapable": "^2.1.1", "terser-webpack-plugin": "^5.1.3", "watchpack": "^2.3.1", - "webpack-sources": "^3.2.2" + "webpack-sources": "^3.2.3" }, "bin": { "webpack": "bin/webpack.js" @@ -4747,15 +4797,15 @@ } }, "node_modules/webpack-cli": { - "version": "4.9.1", - "resolved": "https://registry.npmjs.org/webpack-cli/-/webpack-cli-4.9.1.tgz", - "integrity": "sha512-JYRFVuyFpzDxMDB+v/nanUdQYcZtqFPGzmlW4s+UkPMFhSpfRNmf1z4AwYcHJVdvEFAM7FFCQdNTpsBYhDLusQ==", + "version": "4.9.2", + "resolved": "https://registry.npmjs.org/webpack-cli/-/webpack-cli-4.9.2.tgz", + "integrity": "sha512-m3/AACnBBzK/kMTcxWHcZFPrw/eQuY4Df1TxvIWfWM2x7mRqBQCqKEd96oCUa9jkapLBaFfRce33eGDb4Pr7YQ==", "dev": true, "dependencies": { "@discoveryjs/json-ext": "^0.5.0", - "@webpack-cli/configtest": "^1.1.0", - "@webpack-cli/info": "^1.4.0", - "@webpack-cli/serve": "^1.6.0", + "@webpack-cli/configtest": "^1.1.1", + "@webpack-cli/info": "^1.4.1", + "@webpack-cli/serve": "^1.6.1", "colorette": "^2.0.14", "commander": "^7.0.0", "execa": "^5.0.0", @@ -4999,6 +5049,16 @@ } }, "dependencies": { + "@ampproject/remapping": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.0.tgz", + "integrity": "sha512-qRmjj8nj9qmLTQXXmaR1cck3UXSRMPrbsLJAasZpF+t3riI71BXed5ebIOYwQntykeZuhjsdweEc9BxH5Jc26w==", + "dev": true, + "requires": { + "@jridgewell/gen-mapping": "^0.1.0", + "@jridgewell/trace-mapping": "^0.3.9" + } + }, "@babel/code-frame": { "version": "7.16.7", "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.16.7.tgz", @@ -5009,43 +5069,56 @@ } }, "@babel/compat-data": { - "version": "7.16.8", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.16.8.tgz", - "integrity": "sha512-m7OkX0IdKLKPpBlJtF561YJal5y/jyI5fNfWbPxh2D/nbzzGI4qRyrD8xO2jB24u7l+5I2a43scCG2IrfjC50Q==", + "version": "7.17.10", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.17.10.tgz", + "integrity": "sha512-GZt/TCsG70Ms19gfZO1tM4CVnXsPgEPBCpJu+Qz3L0LUDsY5nZqFZglIoPC1kIYOtNBZlrnFT+klg12vFGZXrw==", "dev": true }, "@babel/core": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.16.7.tgz", - "integrity": "sha512-aeLaqcqThRNZYmbMqtulsetOQZ/5gbR/dWruUCJcpas4Qoyy+QeagfDsPdMrqwsPRDNxJvBlRiZxxX7THO7qtA==", + "version": "7.17.12", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.17.12.tgz", + "integrity": "sha512-44ODe6O1IVz9s2oJE3rZ4trNNKTX9O7KpQpfAP4t8QII/zwrVRHL7i2pxhqtcY7tqMLrrKfMlBKnm1QlrRFs5w==", "dev": true, "requires": { + "@ampproject/remapping": "^2.1.0", "@babel/code-frame": "^7.16.7", - "@babel/generator": "^7.16.7", - "@babel/helper-compilation-targets": "^7.16.7", - "@babel/helper-module-transforms": "^7.16.7", - "@babel/helpers": "^7.16.7", - "@babel/parser": "^7.16.7", + "@babel/generator": "^7.17.12", + "@babel/helper-compilation-targets": "^7.17.10", + "@babel/helper-module-transforms": "^7.17.12", + "@babel/helpers": "^7.17.9", + "@babel/parser": "^7.17.12", "@babel/template": "^7.16.7", - "@babel/traverse": "^7.16.7", - "@babel/types": "^7.16.7", + "@babel/traverse": "^7.17.12", + "@babel/types": "^7.17.12", "convert-source-map": "^1.7.0", "debug": "^4.1.0", "gensync": "^1.0.0-beta.2", - "json5": "^2.1.2", - "semver": "^6.3.0", - "source-map": "^0.5.0" + "json5": "^2.2.1", + "semver": "^6.3.0" } }, "@babel/generator": { - "version": "7.16.8", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.16.8.tgz", - "integrity": "sha512-1ojZwE9+lOXzcWdWmO6TbUzDfqLD39CmEhN8+2cX9XkDo5yW1OpgfejfliysR2AWLpMamTiOiAp/mtroaymhpw==", + "version": "7.17.12", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.17.12.tgz", + "integrity": "sha512-V49KtZiiiLjH/CnIW6OjJdrenrGoyh6AmKQ3k2AZFKozC1h846Q4NYlZ5nqAigPDUXfGzC88+LOUuG8yKd2kCw==", "dev": true, "requires": { - "@babel/types": "^7.16.8", - "jsesc": "^2.5.1", - "source-map": "^0.5.0" + "@babel/types": "^7.17.12", + "@jridgewell/gen-mapping": "^0.3.0", + "jsesc": "^2.5.1" + }, + "dependencies": { + "@jridgewell/gen-mapping": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.1.tgz", + "integrity": "sha512-GcHwniMlA2z+WFPWuY8lp3fsza0I8xPFMWL5+n8LYyP6PSvPrXf4+n8stDHZY2DM0zy9sVkRDy1jDI4XGzYVqg==", + "dev": true, + "requires": { + "@jridgewell/set-array": "^1.0.0", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.9" + } + } } }, "@babel/helper-annotate-as-pure": { @@ -5068,40 +5141,40 @@ } }, "@babel/helper-compilation-targets": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.16.7.tgz", - "integrity": "sha512-mGojBwIWcwGD6rfqgRXVlVYmPAv7eOpIemUG3dGnDdCY4Pae70ROij3XmfrH6Fa1h1aiDylpglbZyktfzyo/hA==", + "version": "7.17.10", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.17.10.tgz", + "integrity": "sha512-gh3RxjWbauw/dFiU/7whjd0qN9K6nPJMqe6+Er7rOavFh0CQUSwhAE3IcTho2rywPJFxej6TUUHDkWcYI6gGqQ==", "dev": true, "requires": { - "@babel/compat-data": "^7.16.4", + "@babel/compat-data": "^7.17.10", "@babel/helper-validator-option": "^7.16.7", - "browserslist": "^4.17.5", + "browserslist": "^4.20.2", "semver": "^6.3.0" } }, "@babel/helper-create-class-features-plugin": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.16.7.tgz", - "integrity": "sha512-kIFozAvVfK05DM4EVQYKK+zteWvY85BFdGBRQBytRyY3y+6PX0DkDOn/CZ3lEuczCfrCxEzwt0YtP/87YPTWSw==", + "version": "7.17.12", + "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.17.12.tgz", + "integrity": "sha512-sZoOeUTkFJMyhqCei2+Z+wtH/BehW8NVKQt7IRUQlRiOARuXymJYfN/FCcI8CvVbR0XVyDM6eLFOlR7YtiXnew==", "dev": true, "requires": { "@babel/helper-annotate-as-pure": "^7.16.7", "@babel/helper-environment-visitor": "^7.16.7", - "@babel/helper-function-name": "^7.16.7", - "@babel/helper-member-expression-to-functions": "^7.16.7", + "@babel/helper-function-name": "^7.17.9", + "@babel/helper-member-expression-to-functions": "^7.17.7", "@babel/helper-optimise-call-expression": "^7.16.7", "@babel/helper-replace-supers": "^7.16.7", "@babel/helper-split-export-declaration": "^7.16.7" } }, "@babel/helper-create-regexp-features-plugin": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.16.7.tgz", - "integrity": "sha512-fk5A6ymfp+O5+p2yCkXAu5Kyj6v0xh0RBeNcAkYUMDvvAAoxvSKXn+Jb37t/yWFiQVDFK1ELpUTD8/aLhCPu+g==", + "version": "7.17.12", + "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.17.12.tgz", + "integrity": "sha512-b2aZrV4zvutr9AIa6/gA3wsZKRwTKYoDxYiFKcESS3Ug2GTXzwBEvMuuFLhCQpEnRXs1zng4ISAXSUxxKBIcxw==", "dev": true, "requires": { "@babel/helper-annotate-as-pure": "^7.16.7", - "regexpu-core": "^4.7.1" + "regexpu-core": "^5.0.1" } }, "@babel/helper-define-polyfill-provider": { @@ -5139,23 +5212,13 @@ } }, "@babel/helper-function-name": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.16.7.tgz", - "integrity": "sha512-QfDfEnIUyyBSR3HtrtGECuZ6DAyCkYFp7GHl75vFtTnn6pjKeK0T1DB5lLkFvBea8MdaiUABx3osbgLyInoejA==", + "version": "7.17.9", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.17.9.tgz", + "integrity": "sha512-7cRisGlVtiVqZ0MW0/yFB4atgpGLWEHUVYnb448hZK4x+vih0YO5UoS11XIYtZYqHd0dIPMdUSv8q5K4LdMnIg==", "dev": true, "requires": { - "@babel/helper-get-function-arity": "^7.16.7", "@babel/template": "^7.16.7", - "@babel/types": "^7.16.7" - } - }, - "@babel/helper-get-function-arity": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.16.7.tgz", - "integrity": "sha512-flc+RLSOBXzNzVhcLu6ujeHUrD6tANAOU5ojrRx/as+tbzf8+stUCj7+IfRRoAbEZqj/ahXEMsjhOhgeZsrnTw==", - "dev": true, - "requires": { - "@babel/types": "^7.16.7" + "@babel/types": "^7.17.0" } }, "@babel/helper-hoist-variables": { @@ -5168,12 +5231,12 @@ } }, "@babel/helper-member-expression-to-functions": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.16.7.tgz", - "integrity": "sha512-VtJ/65tYiU/6AbMTDwyoXGPKHgTsfRarivm+YbB5uAzKUyuPjgZSgAFeG87FCigc7KNHu2Pegh1XIT3lXjvz3Q==", + "version": "7.17.7", + "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.17.7.tgz", + "integrity": "sha512-thxXgnQ8qQ11W2wVUObIqDL4p148VMxkt5T/qpN5k2fboRyzFGFmKsTGViquyM5QHKUy48OZoca8kw4ajaDPyw==", "dev": true, "requires": { - "@babel/types": "^7.16.7" + "@babel/types": "^7.17.0" } }, "@babel/helper-module-imports": { @@ -5186,19 +5249,19 @@ } }, "@babel/helper-module-transforms": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.16.7.tgz", - "integrity": "sha512-gaqtLDxJEFCeQbYp9aLAefjhkKdjKcdh6DB7jniIGU3Pz52WAmP268zK0VgPz9hUNkMSYeH976K2/Y6yPadpng==", + "version": "7.17.12", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.17.12.tgz", + "integrity": "sha512-t5s2BeSWIghhFRPh9XMn6EIGmvn8Lmw5RVASJzkIx1mSemubQQBNIZiQD7WzaFmaHIrjAec4x8z9Yx8SjJ1/LA==", "dev": true, "requires": { "@babel/helper-environment-visitor": "^7.16.7", "@babel/helper-module-imports": "^7.16.7", - "@babel/helper-simple-access": "^7.16.7", + "@babel/helper-simple-access": "^7.17.7", "@babel/helper-split-export-declaration": "^7.16.7", "@babel/helper-validator-identifier": "^7.16.7", "@babel/template": "^7.16.7", - "@babel/traverse": "^7.16.7", - "@babel/types": "^7.16.7" + "@babel/traverse": "^7.17.12", + "@babel/types": "^7.17.12" } }, "@babel/helper-optimise-call-expression": { @@ -5211,9 +5274,9 @@ } }, "@babel/helper-plugin-utils": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.16.7.tgz", - "integrity": "sha512-Qg3Nk7ZxpgMrsox6HreY1ZNKdBq7K72tDSliA6dCl5f007jR4ne8iD5UzuNnCJH2xBf2BEEVGr+/OL6Gdp7RxA==", + "version": "7.17.12", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.17.12.tgz", + "integrity": "sha512-JDkf04mqtN3y4iAbO1hv9U2ARpPyPL1zqyWs/2WG1pgSq9llHFjStX5jdxb84himgJm+8Ng+x0oiWF/nw/XQKA==", "dev": true }, "@babel/helper-remap-async-to-generator": { @@ -5241,12 +5304,12 @@ } }, "@babel/helper-simple-access": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.16.7.tgz", - "integrity": "sha512-ZIzHVyoeLMvXMN/vok/a4LWRy8G2v205mNP0XOuf9XRLyX5/u9CnVulUtDgUTama3lT+bf/UqucuZjqiGuTS1g==", + "version": "7.17.7", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.17.7.tgz", + "integrity": "sha512-txyMCGroZ96i+Pxr3Je3lzEJjqwaRC9buMUgtomcrLe5Nd0+fk1h0LLA+ixUF5OW7AhHuQ7Es1WcQJZmZsz2XA==", "dev": true, "requires": { - "@babel/types": "^7.16.7" + "@babel/types": "^7.17.0" } }, "@babel/helper-skip-transparent-expression-wrappers": { @@ -5292,14 +5355,14 @@ } }, "@babel/helpers": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.16.7.tgz", - "integrity": "sha512-9ZDoqtfY7AuEOt3cxchfii6C7GDyyMBffktR5B2jvWv8u2+efwvpnVKXMWzNehqy68tKgAfSwfdw/lWpthS2bw==", + "version": "7.17.9", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.17.9.tgz", + "integrity": "sha512-cPCt915ShDWUEzEp3+UNRktO2n6v49l5RSnG9M5pS24hA+2FAc5si+Pn1i4VVbQQ+jh+bIZhPFQOJOzbrOYY1Q==", "dev": true, "requires": { "@babel/template": "^7.16.7", - "@babel/traverse": "^7.16.7", - "@babel/types": "^7.16.7" + "@babel/traverse": "^7.17.9", + "@babel/types": "^7.17.0" } }, "@babel/highlight": { @@ -5314,60 +5377,60 @@ } }, "@babel/parser": { - "version": "7.16.8", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.16.8.tgz", - "integrity": "sha512-i7jDUfrVBWc+7OKcBzEe5n7fbv3i2fWtxKzzCvOjnzSxMfWMigAhtfJ7qzZNGFNMsCCd67+uz553dYKWXPvCKw==", + "version": "7.17.12", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.17.12.tgz", + "integrity": "sha512-FLzHmN9V3AJIrWfOpvRlZCeVg/WLdicSnTMsLur6uDj9TT8ymUlG9XxURdW/XvuygK+2CW0poOJABdA4m/YKxA==", "dev": true }, "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.16.7.tgz", - "integrity": "sha512-anv/DObl7waiGEnC24O9zqL0pSuI9hljihqiDuFHC8d7/bjr/4RLGPWuc8rYOff/QPzbEPSkzG8wGG9aDuhHRg==", + "version": "7.17.12", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.17.12.tgz", + "integrity": "sha512-xCJQXl4EeQ3J9C4yOmpTrtVGmzpm2iSzyxbkZHw7UCnZBftHpF/hpII80uWVyVrc40ytIClHjgWGTG1g/yB+aw==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.16.7" + "@babel/helper-plugin-utils": "^7.17.12" } }, "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.16.7.tgz", - "integrity": "sha512-di8vUHRdf+4aJ7ltXhaDbPoszdkh59AQtJM5soLsuHpQJdFQZOA4uGj0V2u/CZ8bJ/u8ULDL5yq6FO/bCXnKHw==", + "version": "7.17.12", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.17.12.tgz", + "integrity": "sha512-/vt0hpIw0x4b6BLKUkwlvEoiGZYYLNZ96CzyHYPbtG2jZGz6LBe7/V+drYrc/d+ovrF9NBi0pmtvmNb/FsWtRQ==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.16.7", + "@babel/helper-plugin-utils": "^7.17.12", "@babel/helper-skip-transparent-expression-wrappers": "^7.16.0", - "@babel/plugin-proposal-optional-chaining": "^7.16.7" + "@babel/plugin-proposal-optional-chaining": "^7.17.12" } }, "@babel/plugin-proposal-async-generator-functions": { - "version": "7.16.8", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.16.8.tgz", - "integrity": "sha512-71YHIvMuiuqWJQkebWJtdhQTfd4Q4mF76q2IX37uZPkG9+olBxsX+rH1vkhFto4UeJZ9dPY2s+mDvhDm1u2BGQ==", + "version": "7.17.12", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.17.12.tgz", + "integrity": "sha512-RWVvqD1ooLKP6IqWTA5GyFVX2isGEgC5iFxKzfYOIy/QEFdxYyCybBDtIGjipHpb9bDWHzcqGqFakf+mVmBTdQ==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.16.7", + "@babel/helper-plugin-utils": "^7.17.12", "@babel/helper-remap-async-to-generator": "^7.16.8", "@babel/plugin-syntax-async-generators": "^7.8.4" } }, "@babel/plugin-proposal-class-properties": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.16.7.tgz", - "integrity": "sha512-IobU0Xme31ewjYOShSIqd/ZGM/r/cuOz2z0MDbNrhF5FW+ZVgi0f2lyeoj9KFPDOAqsYxmLWZte1WOwlvY9aww==", + "version": "7.17.12", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.17.12.tgz", + "integrity": "sha512-U0mI9q8pW5Q9EaTHFPwSVusPMV/DV9Mm8p7csqROFLtIE9rBF5piLqyrBGigftALrBcsBGu4m38JneAe7ZDLXw==", "dev": true, "requires": { - "@babel/helper-create-class-features-plugin": "^7.16.7", - "@babel/helper-plugin-utils": "^7.16.7" + "@babel/helper-create-class-features-plugin": "^7.17.12", + "@babel/helper-plugin-utils": "^7.17.12" } }, "@babel/plugin-proposal-class-static-block": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-static-block/-/plugin-proposal-class-static-block-7.16.7.tgz", - "integrity": "sha512-dgqJJrcZoG/4CkMopzhPJjGxsIe9A8RlkQLnL/Vhhx8AA9ZuaRwGSlscSh42hazc7WSrya/IK7mTeoF0DP9tEw==", + "version": "7.17.12", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-static-block/-/plugin-proposal-class-static-block-7.17.12.tgz", + "integrity": "sha512-8ILyDG6eL14F8iub97dVc8q35Md0PJYAnA5Kz9NACFOkt6ffCcr0FISyUPKHsvuAy36fkpIitxZ9bVYPFMGQHA==", "dev": true, "requires": { - "@babel/helper-create-class-features-plugin": "^7.16.7", - "@babel/helper-plugin-utils": "^7.16.7", + "@babel/helper-create-class-features-plugin": "^7.17.12", + "@babel/helper-plugin-utils": "^7.17.12", "@babel/plugin-syntax-class-static-block": "^7.14.5" } }, @@ -5382,42 +5445,42 @@ } }, "@babel/plugin-proposal-export-namespace-from": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.16.7.tgz", - "integrity": "sha512-ZxdtqDXLRGBL64ocZcs7ovt71L3jhC1RGSyR996svrCi3PYqHNkb3SwPJCs8RIzD86s+WPpt2S73+EHCGO+NUA==", + "version": "7.17.12", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.17.12.tgz", + "integrity": "sha512-j7Ye5EWdwoXOpRmo5QmRyHPsDIe6+u70ZYZrd7uz+ebPYFKfRcLcNu3Ro0vOlJ5zuv8rU7xa+GttNiRzX56snQ==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.16.7", + "@babel/helper-plugin-utils": "^7.17.12", "@babel/plugin-syntax-export-namespace-from": "^7.8.3" } }, "@babel/plugin-proposal-json-strings": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.16.7.tgz", - "integrity": "sha512-lNZ3EEggsGY78JavgbHsK9u5P3pQaW7k4axlgFLYkMd7UBsiNahCITShLjNQschPyjtO6dADrL24757IdhBrsQ==", + "version": "7.17.12", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.17.12.tgz", + "integrity": "sha512-rKJ+rKBoXwLnIn7n6o6fulViHMrOThz99ybH+hKHcOZbnN14VuMnH9fo2eHE69C8pO4uX1Q7t2HYYIDmv8VYkg==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.16.7", + "@babel/helper-plugin-utils": "^7.17.12", "@babel/plugin-syntax-json-strings": "^7.8.3" } }, "@babel/plugin-proposal-logical-assignment-operators": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.16.7.tgz", - "integrity": "sha512-K3XzyZJGQCr00+EtYtrDjmwX7o7PLK6U9bi1nCwkQioRFVUv6dJoxbQjtWVtP+bCPy82bONBKG8NPyQ4+i6yjg==", + "version": "7.17.12", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.17.12.tgz", + "integrity": "sha512-EqFo2s1Z5yy+JeJu7SFfbIUtToJTVlC61/C7WLKDntSw4Sz6JNAIfL7zQ74VvirxpjB5kz/kIx0gCcb+5OEo2Q==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.16.7", + "@babel/helper-plugin-utils": "^7.17.12", "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4" } }, "@babel/plugin-proposal-nullish-coalescing-operator": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.16.7.tgz", - "integrity": "sha512-aUOrYU3EVtjf62jQrCj63pYZ7k6vns2h/DQvHPWGmsJRYzWXZ6/AsfgpiRy6XiuIDADhJzP2Q9MwSMKauBQ+UQ==", + "version": "7.17.12", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.17.12.tgz", + "integrity": "sha512-ws/g3FSGVzv+VH86+QvgtuJL/kR67xaEIF2x0iPqdDfYW6ra6JF3lKVBkWynRLcNtIC1oCTfDRVxmm2mKzy+ag==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.16.7", + "@babel/helper-plugin-utils": "^7.17.12", "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3" } }, @@ -5432,16 +5495,16 @@ } }, "@babel/plugin-proposal-object-rest-spread": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.16.7.tgz", - "integrity": "sha512-3O0Y4+dw94HA86qSg9IHfyPktgR7q3gpNVAeiKQd+8jBKFaU5NQS1Yatgo4wY+UFNuLjvxcSmzcsHqrhgTyBUA==", + "version": "7.17.12", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.17.12.tgz", + "integrity": "sha512-6l9cO3YXXRh4yPCPRA776ZyJ3RobG4ZKJZhp7NDRbKIOeV3dBPG8FXCF7ZtiO2RTCIOkQOph1xDDcc01iWVNjQ==", "dev": true, "requires": { - "@babel/compat-data": "^7.16.4", - "@babel/helper-compilation-targets": "^7.16.7", - "@babel/helper-plugin-utils": "^7.16.7", + "@babel/compat-data": "^7.17.10", + "@babel/helper-compilation-targets": "^7.17.10", + "@babel/helper-plugin-utils": "^7.17.12", "@babel/plugin-syntax-object-rest-spread": "^7.8.3", - "@babel/plugin-transform-parameters": "^7.16.7" + "@babel/plugin-transform-parameters": "^7.17.12" } }, "@babel/plugin-proposal-optional-catch-binding": { @@ -5455,46 +5518,46 @@ } }, "@babel/plugin-proposal-optional-chaining": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.16.7.tgz", - "integrity": "sha512-eC3xy+ZrUcBtP7x+sq62Q/HYd674pPTb/77XZMb5wbDPGWIdUbSr4Agr052+zaUPSb+gGRnjxXfKFvx5iMJ+DA==", + "version": "7.17.12", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.17.12.tgz", + "integrity": "sha512-7wigcOs/Z4YWlK7xxjkvaIw84vGhDv/P1dFGQap0nHkc8gFKY/r+hXc8Qzf5k1gY7CvGIcHqAnOagVKJJ1wVOQ==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.16.7", + "@babel/helper-plugin-utils": "^7.17.12", "@babel/helper-skip-transparent-expression-wrappers": "^7.16.0", "@babel/plugin-syntax-optional-chaining": "^7.8.3" } }, "@babel/plugin-proposal-private-methods": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.16.7.tgz", - "integrity": "sha512-7twV3pzhrRxSwHeIvFE6coPgvo+exNDOiGUMg39o2LiLo1Y+4aKpfkcLGcg1UHonzorCt7SNXnoMyCnnIOA8Sw==", + "version": "7.17.12", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.17.12.tgz", + "integrity": "sha512-SllXoxo19HmxhDWm3luPz+cPhtoTSKLJE9PXshsfrOzBqs60QP0r8OaJItrPhAj0d7mZMnNF0Y1UUggCDgMz1A==", "dev": true, "requires": { - "@babel/helper-create-class-features-plugin": "^7.16.7", - "@babel/helper-plugin-utils": "^7.16.7" + "@babel/helper-create-class-features-plugin": "^7.17.12", + "@babel/helper-plugin-utils": "^7.17.12" } }, "@babel/plugin-proposal-private-property-in-object": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.16.7.tgz", - "integrity": "sha512-rMQkjcOFbm+ufe3bTZLyOfsOUOxyvLXZJCTARhJr+8UMSoZmqTe1K1BgkFcrW37rAchWg57yI69ORxiWvUINuQ==", + "version": "7.17.12", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.17.12.tgz", + "integrity": "sha512-/6BtVi57CJfrtDNKfK5b66ydK2J5pXUKBKSPD2G1whamMuEnZWgoOIfO8Vf9F/DoD4izBLD/Au4NMQfruzzykg==", "dev": true, "requires": { "@babel/helper-annotate-as-pure": "^7.16.7", - "@babel/helper-create-class-features-plugin": "^7.16.7", - "@babel/helper-plugin-utils": "^7.16.7", + "@babel/helper-create-class-features-plugin": "^7.17.12", + "@babel/helper-plugin-utils": "^7.17.12", "@babel/plugin-syntax-private-property-in-object": "^7.14.5" } }, "@babel/plugin-proposal-unicode-property-regex": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.16.7.tgz", - "integrity": "sha512-QRK0YI/40VLhNVGIjRNAAQkEHws0cswSdFFjpFyt943YmJIU1da9uW63Iu6NFV6CxTZW5eTDCrwZUstBWgp/Rg==", + "version": "7.17.12", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.17.12.tgz", + "integrity": "sha512-Wb9qLjXf3ZazqXA7IvI7ozqRIXIGPtSo+L5coFmEkhTQK18ao4UDDD0zdTGAarmbLj2urpRwrc6893cu5Bfh0A==", "dev": true, "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.16.7", - "@babel/helper-plugin-utils": "^7.16.7" + "@babel/helper-create-regexp-features-plugin": "^7.17.12", + "@babel/helper-plugin-utils": "^7.17.12" } }, "@babel/plugin-syntax-async-generators": { @@ -5624,22 +5687,22 @@ } }, "@babel/plugin-transform-arrow-functions": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.16.7.tgz", - "integrity": "sha512-9ffkFFMbvzTvv+7dTp/66xvZAWASuPD5Tl9LK3Z9vhOmANo6j94rik+5YMBt4CwHVMWLWpMsriIc2zsa3WW3xQ==", + "version": "7.17.12", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.17.12.tgz", + "integrity": "sha512-PHln3CNi/49V+mza4xMwrg+WGYevSF1oaiXaC2EQfdp4HWlSjRsrDXWJiQBKpP7749u6vQ9mcry2uuFOv5CXvA==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.16.7" + "@babel/helper-plugin-utils": "^7.17.12" } }, "@babel/plugin-transform-async-to-generator": { - "version": "7.16.8", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.16.8.tgz", - "integrity": "sha512-MtmUmTJQHCnyJVrScNzNlofQJ3dLFuobYn3mwOTKHnSCMtbNsqvF71GQmJfFjdrXSsAA7iysFmYWw4bXZ20hOg==", + "version": "7.17.12", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.17.12.tgz", + "integrity": "sha512-J8dbrWIOO3orDzir57NRsjg4uxucvhby0L/KZuGsWDj0g7twWK3g7JhJhOrXtuXiw8MeiSdJ3E0OW9H8LYEzLQ==", "dev": true, "requires": { "@babel/helper-module-imports": "^7.16.7", - "@babel/helper-plugin-utils": "^7.16.7", + "@babel/helper-plugin-utils": "^7.17.12", "@babel/helper-remap-async-to-generator": "^7.16.8" } }, @@ -5653,46 +5716,46 @@ } }, "@babel/plugin-transform-block-scoping": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.16.7.tgz", - "integrity": "sha512-ObZev2nxVAYA4bhyusELdo9hb3H+A56bxH3FZMbEImZFiEDYVHXQSJ1hQKFlDnlt8G9bBrCZ5ZpURZUrV4G5qQ==", + "version": "7.17.12", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.17.12.tgz", + "integrity": "sha512-jw8XW/B1i7Lqwqj2CbrViPcZijSxfguBWZP2aN59NHgxUyO/OcO1mfdCxH13QhN5LbWhPkX+f+brKGhZTiqtZQ==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.16.7" + "@babel/helper-plugin-utils": "^7.17.12" } }, "@babel/plugin-transform-classes": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.16.7.tgz", - "integrity": "sha512-WY7og38SFAGYRe64BrjKf8OrE6ulEHtr5jEYaZMwox9KebgqPi67Zqz8K53EKk1fFEJgm96r32rkKZ3qA2nCWQ==", + "version": "7.17.12", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.17.12.tgz", + "integrity": "sha512-cvO7lc7pZat6BsvH6l/EGaI8zpl8paICaoGk+7x7guvtfak/TbIf66nYmJOH13EuG0H+Xx3M+9LQDtSvZFKXKw==", "dev": true, "requires": { "@babel/helper-annotate-as-pure": "^7.16.7", "@babel/helper-environment-visitor": "^7.16.7", - "@babel/helper-function-name": "^7.16.7", + "@babel/helper-function-name": "^7.17.9", "@babel/helper-optimise-call-expression": "^7.16.7", - "@babel/helper-plugin-utils": "^7.16.7", + "@babel/helper-plugin-utils": "^7.17.12", "@babel/helper-replace-supers": "^7.16.7", "@babel/helper-split-export-declaration": "^7.16.7", "globals": "^11.1.0" } }, "@babel/plugin-transform-computed-properties": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.16.7.tgz", - "integrity": "sha512-gN72G9bcmenVILj//sv1zLNaPyYcOzUho2lIJBMh/iakJ9ygCo/hEF9cpGb61SCMEDxbbyBoVQxrt+bWKu5KGw==", + "version": "7.17.12", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.17.12.tgz", + "integrity": "sha512-a7XINeplB5cQUWMg1E/GI1tFz3LfK021IjV1rj1ypE+R7jHm+pIHmHl25VNkZxtx9uuYp7ThGk8fur1HHG7PgQ==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.16.7" + "@babel/helper-plugin-utils": "^7.17.12" } }, "@babel/plugin-transform-destructuring": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.16.7.tgz", - "integrity": "sha512-VqAwhTHBnu5xBVDCvrvqJbtLUa++qZaWC0Fgr2mqokBlulZARGyIvZDoqbPlPaKImQ9dKAcCzbv+ul//uqu70A==", + "version": "7.17.12", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.17.12.tgz", + "integrity": "sha512-P8pt0YiKtX5UMUL5Xzsc9Oyij+pJE6JuC+F1k0/brq/OOGs5jDa1If3OY0LRWGvJsJhI+8tsiecL3nJLc0WTlg==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.16.7" + "@babel/helper-plugin-utils": "^7.17.12" } }, "@babel/plugin-transform-dotall-regex": { @@ -5706,12 +5769,12 @@ } }, "@babel/plugin-transform-duplicate-keys": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.16.7.tgz", - "integrity": "sha512-03DvpbRfvWIXyK0/6QiR1KMTWeT6OcQ7tbhjrXyFS02kjuX/mu5Bvnh5SDSWHxyawit2g5aWhKwI86EE7GUnTw==", + "version": "7.17.12", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.17.12.tgz", + "integrity": "sha512-EA5eYFUG6xeerdabina/xIoB95jJ17mAkR8ivx6ZSu9frKShBjpOGZPn511MTDTkiCO+zXnzNczvUM69YSf3Zw==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.16.7" + "@babel/helper-plugin-utils": "^7.17.12" } }, "@babel/plugin-transform-exponentiation-operator": { @@ -5725,12 +5788,12 @@ } }, "@babel/plugin-transform-for-of": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.16.7.tgz", - "integrity": "sha512-/QZm9W92Ptpw7sjI9Nx1mbcsWz33+l8kuMIQnDwgQBG5s3fAfQvkRjQ7NqXhtNcKOnPkdICmUHyCaWW06HCsqg==", + "version": "7.17.12", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.17.12.tgz", + "integrity": "sha512-76lTwYaCxw8ldT7tNmye4LLwSoKDbRCBzu6n/DcK/P3FOR29+38CIIaVIZfwol9By8W/QHORYEnYSLuvcQKrsg==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.16.7" + "@babel/helper-plugin-utils": "^7.17.12" } }, "@babel/plugin-transform-function-name": { @@ -5745,12 +5808,12 @@ } }, "@babel/plugin-transform-literals": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.16.7.tgz", - "integrity": "sha512-6tH8RTpTWI0s2sV6uq3e/C9wPo4PTqqZps4uF0kzQ9/xPLFQtipynvmT1g/dOfEJ+0EQsHhkQ/zyRId8J2b8zQ==", + "version": "7.17.12", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.17.12.tgz", + "integrity": "sha512-8iRkvaTjJciWycPIZ9k9duu663FT7VrBdNqNgxnVXEFwOIp55JWcZd23VBRySYbnS3PwQ3rGiabJBBBGj5APmQ==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.16.7" + "@babel/helper-plugin-utils": "^7.17.12" } }, "@babel/plugin-transform-member-expression-literals": { @@ -5763,67 +5826,68 @@ } }, "@babel/plugin-transform-modules-amd": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.16.7.tgz", - "integrity": "sha512-KaaEtgBL7FKYwjJ/teH63oAmE3lP34N3kshz8mm4VMAw7U3PxjVwwUmxEFksbgsNUaO3wId9R2AVQYSEGRa2+g==", + "version": "7.17.12", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.17.12.tgz", + "integrity": "sha512-p5rt9tB5Ndcc2Za7CeNxVf7YAjRcUMR6yi8o8tKjb9KhRkEvXwa+C0hj6DA5bVDkKRxB0NYhMUGbVKoFu4+zEA==", "dev": true, "requires": { - "@babel/helper-module-transforms": "^7.16.7", - "@babel/helper-plugin-utils": "^7.16.7", + "@babel/helper-module-transforms": "^7.17.12", + "@babel/helper-plugin-utils": "^7.17.12", "babel-plugin-dynamic-import-node": "^2.3.3" } }, "@babel/plugin-transform-modules-commonjs": { - "version": "7.16.8", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.16.8.tgz", - "integrity": "sha512-oflKPvsLT2+uKQopesJt3ApiaIS2HW+hzHFcwRNtyDGieAeC/dIHZX8buJQ2J2X1rxGPy4eRcUijm3qcSPjYcA==", + "version": "7.17.12", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.17.12.tgz", + "integrity": "sha512-tVPs6MImAJz+DiX8Y1xXEMdTk5Lwxu9jiPjlS+nv5M2A59R7+/d1+9A8C/sbuY0b3QjIxqClkj6KAplEtRvzaA==", "dev": true, "requires": { - "@babel/helper-module-transforms": "^7.16.7", - "@babel/helper-plugin-utils": "^7.16.7", - "@babel/helper-simple-access": "^7.16.7", + "@babel/helper-module-transforms": "^7.17.12", + "@babel/helper-plugin-utils": "^7.17.12", + "@babel/helper-simple-access": "^7.17.7", "babel-plugin-dynamic-import-node": "^2.3.3" } }, "@babel/plugin-transform-modules-systemjs": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.16.7.tgz", - "integrity": "sha512-DuK5E3k+QQmnOqBR9UkusByy5WZWGRxfzV529s9nPra1GE7olmxfqO2FHobEOYSPIjPBTr4p66YDcjQnt8cBmw==", + "version": "7.17.12", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.17.12.tgz", + "integrity": "sha512-NVhDb0q00hqZcuLduUf/kMzbOQHiocmPbIxIvk23HLiEqaTKC/l4eRxeC7lO63M72BmACoiKOcb9AkOAJRerpw==", "dev": true, "requires": { "@babel/helper-hoist-variables": "^7.16.7", - "@babel/helper-module-transforms": "^7.16.7", - "@babel/helper-plugin-utils": "^7.16.7", + "@babel/helper-module-transforms": "^7.17.12", + "@babel/helper-plugin-utils": "^7.17.12", "@babel/helper-validator-identifier": "^7.16.7", "babel-plugin-dynamic-import-node": "^2.3.3" } }, "@babel/plugin-transform-modules-umd": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.16.7.tgz", - "integrity": "sha512-EMh7uolsC8O4xhudF2F6wedbSHm1HHZ0C6aJ7K67zcDNidMzVcxWdGr+htW9n21klm+bOn+Rx4CBsAntZd3rEQ==", + "version": "7.17.12", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.17.12.tgz", + "integrity": "sha512-BnsPkrUHsjzZGpnrmJeDFkOMMljWFHPjDc9xDcz71/C+ybF3lfC3V4m3dwXPLZrE5b3bgd4V+3/Pj+3620d7IA==", "dev": true, "requires": { - "@babel/helper-module-transforms": "^7.16.7", - "@babel/helper-plugin-utils": "^7.16.7" + "@babel/helper-module-transforms": "^7.17.12", + "@babel/helper-plugin-utils": "^7.17.12" } }, "@babel/plugin-transform-named-capturing-groups-regex": { - "version": "7.16.8", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.16.8.tgz", - "integrity": "sha512-j3Jw+n5PvpmhRR+mrgIh04puSANCk/T/UA3m3P1MjJkhlK906+ApHhDIqBQDdOgL/r1UYpz4GNclTXxyZrYGSw==", + "version": "7.17.12", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.17.12.tgz", + "integrity": "sha512-vWoWFM5CKaTeHrdUJ/3SIOTRV+MBVGybOC9mhJkaprGNt5demMymDW24yC74avb915/mIRe3TgNb/d8idvnCRA==", "dev": true, "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.16.7" + "@babel/helper-create-regexp-features-plugin": "^7.17.12", + "@babel/helper-plugin-utils": "^7.17.12" } }, "@babel/plugin-transform-new-target": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.16.7.tgz", - "integrity": "sha512-xiLDzWNMfKoGOpc6t3U+etCE2yRnn3SM09BXqWPIZOBpL2gvVrBWUKnsJx0K/ADi5F5YC5f8APFfWrz25TdlGg==", + "version": "7.17.12", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.17.12.tgz", + "integrity": "sha512-CaOtzk2fDYisbjAD4Sd1MTKGVIpRtx9bWLyj24Y/k6p4s4gQ3CqDGJauFJxt8M/LEx003d0i3klVqnN73qvK3w==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.16.7" + "@babel/helper-plugin-utils": "^7.17.12" } }, "@babel/plugin-transform-object-super": { @@ -5837,12 +5901,12 @@ } }, "@babel/plugin-transform-parameters": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.16.7.tgz", - "integrity": "sha512-AT3MufQ7zZEhU2hwOA11axBnExW0Lszu4RL/tAlUJBuNoRak+wehQW8h6KcXOcgjY42fHtDxswuMhMjFEuv/aw==", + "version": "7.17.12", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.17.12.tgz", + "integrity": "sha512-6qW4rWo1cyCdq1FkYri7AHpauchbGLXpdwnYsfxFb+KtddHENfsY5JZb35xUwkK5opOLcJ3BNd2l7PhRYGlwIA==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.16.7" + "@babel/helper-plugin-utils": "^7.17.12" } }, "@babel/plugin-transform-property-literals": { @@ -5855,21 +5919,21 @@ } }, "@babel/plugin-transform-regenerator": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.16.7.tgz", - "integrity": "sha512-mF7jOgGYCkSJagJ6XCujSQg+6xC1M77/03K2oBmVJWoFGNUtnVJO4WHKJk3dnPC8HCcj4xBQP1Egm8DWh3Pb3Q==", + "version": "7.17.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.17.9.tgz", + "integrity": "sha512-Lc2TfbxR1HOyn/c6b4Y/b6NHoTb67n/IoWLxTu4kC7h4KQnWlhCq2S8Tx0t2SVvv5Uu87Hs+6JEJ5kt2tYGylQ==", "dev": true, "requires": { - "regenerator-transform": "^0.14.2" + "regenerator-transform": "^0.15.0" } }, "@babel/plugin-transform-reserved-words": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.16.7.tgz", - "integrity": "sha512-KQzzDnZ9hWQBjwi5lpY5v9shmm6IVG0U9pB18zvMu2i4H90xpT4gmqwPYsn8rObiadYe2M0gmgsiOIF5A/2rtg==", + "version": "7.17.12", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.17.12.tgz", + "integrity": "sha512-1KYqwbJV3Co03NIi14uEHW8P50Md6KqFgt0FfpHdK6oyAHQVTosgPuPSiWud1HX0oYJ1hGRRlk0fP87jFpqXZA==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.16.7" + "@babel/helper-plugin-utils": "^7.17.12" } }, "@babel/plugin-transform-shorthand-properties": { @@ -5882,12 +5946,12 @@ } }, "@babel/plugin-transform-spread": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.16.7.tgz", - "integrity": "sha512-+pjJpgAngb53L0iaA5gU/1MLXJIfXcYepLgXB3esVRf4fqmj8f2cxM3/FKaHsZms08hFQJkFccEWuIpm429TXg==", + "version": "7.17.12", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.17.12.tgz", + "integrity": "sha512-9pgmuQAtFi3lpNUstvG9nGfk9DkrdmWNp9KeKPFmuZCpEnxRzYlS8JgwPjYj+1AWDOSvoGN0H30p1cBOmT/Svg==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.16.7", + "@babel/helper-plugin-utils": "^7.17.12", "@babel/helper-skip-transparent-expression-wrappers": "^7.16.0" } }, @@ -5901,21 +5965,21 @@ } }, "@babel/plugin-transform-template-literals": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.16.7.tgz", - "integrity": "sha512-VwbkDDUeenlIjmfNeDX/V0aWrQH2QiVyJtwymVQSzItFDTpxfyJh3EVaQiS0rIN/CqbLGr0VcGmuwyTdZtdIsA==", + "version": "7.17.12", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.17.12.tgz", + "integrity": "sha512-kAKJ7DX1dSRa2s7WN1xUAuaQmkTpN+uig4wCKWivVXIObqGbVTUlSavHyfI2iZvz89GFAMGm9p2DBJ4Y1Tp0hw==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.16.7" + "@babel/helper-plugin-utils": "^7.17.12" } }, "@babel/plugin-transform-typeof-symbol": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.16.7.tgz", - "integrity": "sha512-p2rOixCKRJzpg9JB4gjnG4gjWkWa89ZoYUnl9snJ1cWIcTH/hvxZqfO+WjG6T8DRBpctEol5jw1O5rA8gkCokQ==", + "version": "7.17.12", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.17.12.tgz", + "integrity": "sha512-Q8y+Jp7ZdtSPXCThB6zjQ74N3lj0f6TDh1Hnf5B+sYlzQ8i5Pjp8gW0My79iekSpT4WnI06blqP6DT0OmaXXmw==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.16.7" + "@babel/helper-plugin-utils": "^7.17.12" } }, "@babel/plugin-transform-unicode-escapes": { @@ -5938,32 +6002,32 @@ } }, "@babel/preset-env": { - "version": "7.16.8", - "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.16.8.tgz", - "integrity": "sha512-9rNKgVCdwHb3z1IlbMyft6yIXIeP3xz6vWvGaLHrJThuEIqWfHb0DNBH9VuTgnDfdbUDhkmkvMZS/YMCtP7Elg==", + "version": "7.17.12", + "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.17.12.tgz", + "integrity": "sha512-Kke30Rj3Lmcx97bVs71LO0s8M6FmJ7tUAQI9fNId62rf0cYG1UAWwdNO9/sE0/pLEahAw1MqMorymoD12bj5Fg==", "dev": true, "requires": { - "@babel/compat-data": "^7.16.8", - "@babel/helper-compilation-targets": "^7.16.7", - "@babel/helper-plugin-utils": "^7.16.7", + "@babel/compat-data": "^7.17.10", + "@babel/helper-compilation-targets": "^7.17.10", + "@babel/helper-plugin-utils": "^7.17.12", "@babel/helper-validator-option": "^7.16.7", - "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.16.7", - "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.16.7", - "@babel/plugin-proposal-async-generator-functions": "^7.16.8", - "@babel/plugin-proposal-class-properties": "^7.16.7", - "@babel/plugin-proposal-class-static-block": "^7.16.7", + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.17.12", + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.17.12", + "@babel/plugin-proposal-async-generator-functions": "^7.17.12", + "@babel/plugin-proposal-class-properties": "^7.17.12", + "@babel/plugin-proposal-class-static-block": "^7.17.12", "@babel/plugin-proposal-dynamic-import": "^7.16.7", - "@babel/plugin-proposal-export-namespace-from": "^7.16.7", - "@babel/plugin-proposal-json-strings": "^7.16.7", - "@babel/plugin-proposal-logical-assignment-operators": "^7.16.7", - "@babel/plugin-proposal-nullish-coalescing-operator": "^7.16.7", + "@babel/plugin-proposal-export-namespace-from": "^7.17.12", + "@babel/plugin-proposal-json-strings": "^7.17.12", + "@babel/plugin-proposal-logical-assignment-operators": "^7.17.12", + "@babel/plugin-proposal-nullish-coalescing-operator": "^7.17.12", "@babel/plugin-proposal-numeric-separator": "^7.16.7", - "@babel/plugin-proposal-object-rest-spread": "^7.16.7", + "@babel/plugin-proposal-object-rest-spread": "^7.17.12", "@babel/plugin-proposal-optional-catch-binding": "^7.16.7", - "@babel/plugin-proposal-optional-chaining": "^7.16.7", - "@babel/plugin-proposal-private-methods": "^7.16.7", - "@babel/plugin-proposal-private-property-in-object": "^7.16.7", - "@babel/plugin-proposal-unicode-property-regex": "^7.16.7", + "@babel/plugin-proposal-optional-chaining": "^7.17.12", + "@babel/plugin-proposal-private-methods": "^7.17.12", + "@babel/plugin-proposal-private-property-in-object": "^7.17.12", + "@babel/plugin-proposal-unicode-property-regex": "^7.17.12", "@babel/plugin-syntax-async-generators": "^7.8.4", "@babel/plugin-syntax-class-properties": "^7.12.13", "@babel/plugin-syntax-class-static-block": "^7.14.5", @@ -5978,44 +6042,44 @@ "@babel/plugin-syntax-optional-chaining": "^7.8.3", "@babel/plugin-syntax-private-property-in-object": "^7.14.5", "@babel/plugin-syntax-top-level-await": "^7.14.5", - "@babel/plugin-transform-arrow-functions": "^7.16.7", - "@babel/plugin-transform-async-to-generator": "^7.16.8", + "@babel/plugin-transform-arrow-functions": "^7.17.12", + "@babel/plugin-transform-async-to-generator": "^7.17.12", "@babel/plugin-transform-block-scoped-functions": "^7.16.7", - "@babel/plugin-transform-block-scoping": "^7.16.7", - "@babel/plugin-transform-classes": "^7.16.7", - "@babel/plugin-transform-computed-properties": "^7.16.7", - "@babel/plugin-transform-destructuring": "^7.16.7", + "@babel/plugin-transform-block-scoping": "^7.17.12", + "@babel/plugin-transform-classes": "^7.17.12", + "@babel/plugin-transform-computed-properties": "^7.17.12", + "@babel/plugin-transform-destructuring": "^7.17.12", "@babel/plugin-transform-dotall-regex": "^7.16.7", - "@babel/plugin-transform-duplicate-keys": "^7.16.7", + "@babel/plugin-transform-duplicate-keys": "^7.17.12", "@babel/plugin-transform-exponentiation-operator": "^7.16.7", - "@babel/plugin-transform-for-of": "^7.16.7", + "@babel/plugin-transform-for-of": "^7.17.12", "@babel/plugin-transform-function-name": "^7.16.7", - "@babel/plugin-transform-literals": "^7.16.7", + "@babel/plugin-transform-literals": "^7.17.12", "@babel/plugin-transform-member-expression-literals": "^7.16.7", - "@babel/plugin-transform-modules-amd": "^7.16.7", - "@babel/plugin-transform-modules-commonjs": "^7.16.8", - "@babel/plugin-transform-modules-systemjs": "^7.16.7", - "@babel/plugin-transform-modules-umd": "^7.16.7", - "@babel/plugin-transform-named-capturing-groups-regex": "^7.16.8", - "@babel/plugin-transform-new-target": "^7.16.7", + "@babel/plugin-transform-modules-amd": "^7.17.12", + "@babel/plugin-transform-modules-commonjs": "^7.17.12", + "@babel/plugin-transform-modules-systemjs": "^7.17.12", + "@babel/plugin-transform-modules-umd": "^7.17.12", + "@babel/plugin-transform-named-capturing-groups-regex": "^7.17.12", + "@babel/plugin-transform-new-target": "^7.17.12", "@babel/plugin-transform-object-super": "^7.16.7", - "@babel/plugin-transform-parameters": "^7.16.7", + "@babel/plugin-transform-parameters": "^7.17.12", "@babel/plugin-transform-property-literals": "^7.16.7", - "@babel/plugin-transform-regenerator": "^7.16.7", - "@babel/plugin-transform-reserved-words": "^7.16.7", + "@babel/plugin-transform-regenerator": "^7.17.9", + "@babel/plugin-transform-reserved-words": "^7.17.12", "@babel/plugin-transform-shorthand-properties": "^7.16.7", - "@babel/plugin-transform-spread": "^7.16.7", + "@babel/plugin-transform-spread": "^7.17.12", "@babel/plugin-transform-sticky-regex": "^7.16.7", - "@babel/plugin-transform-template-literals": "^7.16.7", - "@babel/plugin-transform-typeof-symbol": "^7.16.7", + "@babel/plugin-transform-template-literals": "^7.17.12", + "@babel/plugin-transform-typeof-symbol": "^7.17.12", "@babel/plugin-transform-unicode-escapes": "^7.16.7", "@babel/plugin-transform-unicode-regex": "^7.16.7", "@babel/preset-modules": "^0.1.5", - "@babel/types": "^7.16.8", + "@babel/types": "^7.17.12", "babel-plugin-polyfill-corejs2": "^0.3.0", "babel-plugin-polyfill-corejs3": "^0.5.0", "babel-plugin-polyfill-regenerator": "^0.3.0", - "core-js-compat": "^3.20.2", + "core-js-compat": "^3.22.1", "semver": "^6.3.0" } }, @@ -6033,9 +6097,9 @@ } }, "@babel/runtime": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.16.7.tgz", - "integrity": "sha512-9E9FJowqAsytyOY6LG+1KuueckRL+aQW+mKvXRXnuFGyRAyepJPmEo9vgMfXUA6O9u3IeEdv9MAkppFcaQwogQ==", + "version": "7.17.9", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.17.9.tgz", + "integrity": "sha512-lSiBBvodq29uShpWGNbgFdKYNiFDo5/HIYsaCEY9ff4sb10x9jizo2+pRrSyF4jKZCXqgzuqBOQKbUm90gQwJg==", "dev": true, "requires": { "regenerator-runtime": "^0.13.4" @@ -6053,27 +6117,27 @@ } }, "@babel/traverse": { - "version": "7.16.8", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.16.8.tgz", - "integrity": "sha512-xe+H7JlvKsDQwXRsBhSnq1/+9c+LlQcCK3Tn/l5sbx02HYns/cn7ibp9+RV1sIUqu7hKg91NWsgHurO9dowITQ==", + "version": "7.17.12", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.17.12.tgz", + "integrity": "sha512-zULPs+TbCvOkIFd4FrG53xrpxvCBwLIgo6tO0tJorY7YV2IWFxUfS/lXDJbGgfyYt9ery/Gxj2niwttNnB0gIw==", "dev": true, "requires": { "@babel/code-frame": "^7.16.7", - "@babel/generator": "^7.16.8", + "@babel/generator": "^7.17.12", "@babel/helper-environment-visitor": "^7.16.7", - "@babel/helper-function-name": "^7.16.7", + "@babel/helper-function-name": "^7.17.9", "@babel/helper-hoist-variables": "^7.16.7", "@babel/helper-split-export-declaration": "^7.16.7", - "@babel/parser": "^7.16.8", - "@babel/types": "^7.16.8", + "@babel/parser": "^7.17.12", + "@babel/types": "^7.17.12", "debug": "^4.1.0", "globals": "^11.1.0" } }, "@babel/types": { - "version": "7.16.8", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.16.8.tgz", - "integrity": "sha512-smN2DQc5s4M7fntyjGtyIPbRJv6wW4rU/94fmYJ7PKQuZkC0qGMHXJbg6sNGt12JmVr4k5YaptI/XtiLJBnmIg==", + "version": "7.17.12", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.17.12.tgz", + "integrity": "sha512-rH8i29wcZ6x9xjzI5ILHL/yZkbQnCERdHlogKuIb4PUr7do4iT8DPekrTbBLWTnRQm6U0GYABbTMSzijmEqlAg==", "dev": true, "requires": { "@babel/helper-validator-identifier": "^7.16.7", @@ -6086,6 +6150,44 @@ "integrity": "sha512-ws57AidsDvREKrZKYffXddNkyaF14iHNHm8VQnZH6t99E8gczjNN0GpvcGny0imC80yQ0tHz1xVUKk/KFQSUyA==", "dev": true }, + "@jridgewell/gen-mapping": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.1.1.tgz", + "integrity": "sha512-sQXCasFk+U8lWYEe66WxRDOE9PjVz4vSM51fTu3Hw+ClTpUSQb718772vH3pyS5pShp6lvQM7SxgIDXXXmOX7w==", + "dev": true, + "requires": { + "@jridgewell/set-array": "^1.0.0", + "@jridgewell/sourcemap-codec": "^1.4.10" + } + }, + "@jridgewell/resolve-uri": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.0.7.tgz", + "integrity": "sha512-8cXDaBBHOr2pQ7j77Y6Vp5VDT2sIqWyWQ56TjEq4ih/a4iST3dItRe8Q9fp0rrIl9DoKhWQtUQz/YpOxLkXbNA==", + "dev": true + }, + "@jridgewell/set-array": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.1.tgz", + "integrity": "sha512-Ct5MqZkLGEXTVmQYbGtx9SVqD2fqwvdubdps5D3djjAkgkKwT918VNOz65pEHFaYTeWcukmJmH5SwsA9Tn2ObQ==", + "dev": true + }, + "@jridgewell/sourcemap-codec": { + "version": "1.4.13", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.13.tgz", + "integrity": "sha512-GryiOJmNcWbovBxTfZSF71V/mXbgcV3MewDe3kIMCLyIh5e7SKAeUZs+rMnJ8jkMolZ/4/VsdBmMrw3l+VdZ3w==", + "dev": true + }, + "@jridgewell/trace-mapping": { + "version": "0.3.13", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.13.tgz", + "integrity": "sha512-o1xbKhp9qnIAoHJSWd6KlCZfqslL4valSF81H8ImioOAxluWYWOpWkpyktY2vnt4tbrX9XYaxovq6cgowaJp2w==", + "dev": true, + "requires": { + "@jridgewell/resolve-uri": "^3.0.3", + "@jridgewell/sourcemap-codec": "^1.4.10" + } + }, "@types/eslint": { "version": "8.2.2", "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.2.2.tgz", @@ -6107,9 +6209,9 @@ } }, "@types/estree": { - "version": "0.0.50", - "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.50.tgz", - "integrity": "sha512-C6N5s2ZFtuZRj54k2/zyRhNDjJwwcViAM3Nbm8zjBpbqAdZ00mr0CFxvSKeO8Y/e03WVFLpQMdHYVfUd6SB+Hw==", + "version": "0.0.51", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.51.tgz", + "integrity": "sha512-CuPgU6f3eT/XgKKPqKd/gLZV1Xmvf1a2R5POBOGQa6uv82xpls89HU5zKeVoyR8XzHd1RGNOlQlvUe3CFkjWNQ==", "dev": true }, "@types/json-schema": { @@ -6271,25 +6373,25 @@ } }, "@webpack-cli/configtest": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@webpack-cli/configtest/-/configtest-1.1.0.tgz", - "integrity": "sha512-ttOkEkoalEHa7RaFYpM0ErK1xc4twg3Am9hfHhL7MVqlHebnkYd2wuI/ZqTDj0cVzZho6PdinY0phFZV3O0Mzg==", + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@webpack-cli/configtest/-/configtest-1.1.1.tgz", + "integrity": "sha512-1FBc1f9G4P/AxMqIgfZgeOTuRnwZMten8E7zap5zgpPInnCrP8D4Q81+4CWIch8i/Nf7nXjP0v6CjjbHOrXhKg==", "dev": true, "requires": {} }, "@webpack-cli/info": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/@webpack-cli/info/-/info-1.4.0.tgz", - "integrity": "sha512-F6b+Man0rwE4n0409FyAJHStYA5OIZERxmnUfLVwv0mc0V1wLad3V7jqRlMkgKBeAq07jUvglacNaa6g9lOpuw==", + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/@webpack-cli/info/-/info-1.4.1.tgz", + "integrity": "sha512-PKVGmazEq3oAo46Q63tpMr4HipI3OPfP7LiNOEJg963RMgT0rqheag28NCML0o3GIzA3DmxP1ZIAv9oTX1CUIA==", "dev": true, "requires": { "envinfo": "^7.7.3" } }, "@webpack-cli/serve": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/@webpack-cli/serve/-/serve-1.6.0.tgz", - "integrity": "sha512-ZkVeqEmRpBV2GHvjjUZqEai2PpUbuq8Bqd//vEYsp63J8WyexI8ppCqVS3Zs0QADf6aWuPdU+0XsPI647PVlQA==", + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/@webpack-cli/serve/-/serve-1.6.1.tgz", + "integrity": "sha512-gNGTiTrjEVQ0OcVnzsRSqTxaBSr+dmTfm+qJsCDluky8uhdLWep7Gcr62QsAKHTMxjCS/8nEITsmFAhfIx+QSw==", "dev": true, "requires": {} }, @@ -6380,13 +6482,13 @@ "dev": true }, "babel-loader": { - "version": "8.2.3", - "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-8.2.3.tgz", - "integrity": "sha512-n4Zeta8NC3QAsuyiizu0GkmRcQ6clkV9WFUnUf1iXP//IeSKbWjofW3UHyZVwlOB4y039YQKefawyTn64Zwbuw==", + "version": "8.2.5", + "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-8.2.5.tgz", + "integrity": "sha512-OSiFfH89LrEMiWd4pLNqGz4CwJDtbs2ZVc+iGu2HrkRfPxId9F2anQj38IxWpmRfsUY0aBZYi1EFcd3mhtRMLQ==", "dev": true, "requires": { "find-cache-dir": "^3.3.1", - "loader-utils": "^1.4.0", + "loader-utils": "^2.0.0", "make-dir": "^3.1.0", "schema-utils": "^2.6.5" } @@ -6453,15 +6555,15 @@ } }, "browserslist": { - "version": "4.19.1", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.19.1.tgz", - "integrity": "sha512-u2tbbG5PdKRTUoctO3NBD8FQ5HdPh1ZXPHzp1rwaa5jTc+RV9/+RlWiAIKmjRPQF+xbGM9Kklj5bZQFa2s/38A==", + "version": "4.20.3", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.20.3.tgz", + "integrity": "sha512-NBhymBQl1zM0Y5dQT/O+xiLP9/rzOIQdKM/eMJBAq7yBgaB6krIYLGejrwVYnSHZdqjscB1SPuAjHwxjvN6Wdg==", "dev": true, "requires": { - "caniuse-lite": "^1.0.30001286", - "electron-to-chromium": "^1.4.17", + "caniuse-lite": "^1.0.30001332", + "electron-to-chromium": "^1.4.118", "escalade": "^3.1.1", - "node-releases": "^2.0.1", + "node-releases": "^2.0.3", "picocolors": "^1.0.0" } }, @@ -6488,9 +6590,9 @@ } }, "caniuse-lite": { - "version": "1.0.30001300", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001300.tgz", - "integrity": "sha512-cVjiJHWGcNlJi8TZVKNMnvMid3Z3TTdDHmLDzlOdIiZq138Exvo0G+G0wTdVYolxKb4AYwC+38pxodiInVtJSA==", + "version": "1.0.30001341", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001341.tgz", + "integrity": "sha512-2SodVrFFtvGENGCv0ChVJIDQ0KPaS1cg7/qtfMaICgeMolDdo/Z2OD32F0Aq9yl6F4YFwGPBS5AaPqNYiW4PoA==", "dev": true }, "chalk": { @@ -6618,12 +6720,12 @@ } }, "core-js-compat": { - "version": "3.20.3", - "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.20.3.tgz", - "integrity": "sha512-c8M5h0IkNZ+I92QhIpuSijOxGAcj3lgpsWdkCqmUTZNwidujF4r3pi6x1DCN+Vcs5qTS2XWWMfWSuCqyupX8gw==", + "version": "3.22.5", + "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.22.5.tgz", + "integrity": "sha512-rEF75n3QtInrYICvJjrAgV03HwKiYvtKHdPtaba1KucG+cNZ4NJnH9isqt979e67KZlhpbCOTwnsvnIr+CVeOg==", "dev": true, "requires": { - "browserslist": "^4.19.1", + "browserslist": "^4.20.3", "semver": "7.0.0" }, "dependencies": { @@ -6723,9 +6825,9 @@ } }, "electron-to-chromium": { - "version": "1.4.47", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.47.tgz", - "integrity": "sha512-ZHc8i3/cgeCRK/vC7W2htAG6JqUmOUgDNn/f9yY9J8UjfLjwzwOVEt4MWmgJAdvmxyrsR5KIFA/6+kUHGY0eUA==", + "version": "1.4.137", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.137.tgz", + "integrity": "sha512-0Rcpald12O11BUogJagX3HsCN3FE83DSqWjgXoHo5a72KUKMSfI39XBgJpgNNxS9fuGzytaFjE06kZkiVFy2qA==", "dev": true }, "emoji-regex": { @@ -6741,9 +6843,9 @@ "dev": true }, "enhanced-resolve": { - "version": "5.8.3", - "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.8.3.tgz", - "integrity": "sha512-EGAbGvH7j7Xt2nc0E7D99La1OiEs8LnyimkRgwExpUMScN6O+3x9tIWs7PLQZVNx4YD+00skHXPXi1yQHpAmZA==", + "version": "5.9.3", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.9.3.tgz", + "integrity": "sha512-Bq9VSor+kjvW3f9/MiiR4eE3XYgOl7/rS8lnSxbRbF3kS0B2r+Y9w5krBWxZgDxASVZbdYrn5wT4j/Wb0J9qow==", "dev": true, "requires": { "graceful-fs": "^4.2.4", @@ -7389,10 +7491,10 @@ "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", "dev": true }, - "json-parse-better-errors": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz", - "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==", + "json-parse-even-better-errors": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", + "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", "dev": true }, "json-schema-traverse": { @@ -7402,13 +7504,10 @@ "dev": true }, "json5": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.0.tgz", - "integrity": "sha512-f+8cldu7X/y7RAJurMEJmdoKXGB/X550w2Nr3tTbezL6RwEE/iMcm+tZnXeoZtKuOq6ft8+CqzEkrIgx1fPoQA==", - "dev": true, - "requires": { - "minimist": "^1.2.5" - } + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.1.tgz", + "integrity": "sha512-1hqLFMSrGHRHxav9q9gNjJ5EXznIxGVO09xQRrwplcS8qs28pZ8s8hupZAmqDwZUmVZ2Qb2jnyPOWcDH8m8dlA==", + "dev": true }, "kind-of": { "version": "6.0.3", @@ -7423,25 +7522,14 @@ "dev": true }, "loader-utils": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz", - "integrity": "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==", + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.2.tgz", + "integrity": "sha512-TM57VeHptv569d/GKh6TAYdzKblwDNiumOdkFnejjD0XwTH87K90w3O7AiJRqdQoXygvi1VQTJTLGhJl7WqA7A==", "dev": true, "requires": { "big.js": "^5.2.2", "emojis-list": "^3.0.0", - "json5": "^1.0.1" - }, - "dependencies": { - "json5": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", - "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", - "dev": true, - "requires": { - "minimist": "^1.2.0" - } - } + "json5": "^2.1.2" } }, "locate-path": { @@ -7539,9 +7627,9 @@ "dev": true }, "node-releases": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.1.tgz", - "integrity": "sha512-CqyzN6z7Q6aMeF/ktcMVTzhAHCEpf8SOarwpzpf8pNBY2k5/oM34UHldUwp8VKI7uxct2HxSRdJjBaZeESzcxA==", + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.4.tgz", + "integrity": "sha512-gbMzqQtTtDz/00jQzZ21PQzdI9PyLYqUSvD0p3naOhX4odFji0ZxYdnVwPTxmSwkmxhcFImpozceidSG+AgoPQ==", "dev": true }, "noms": { @@ -7727,9 +7815,9 @@ "dev": true }, "regenerate-unicode-properties": { - "version": "9.0.0", - "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-9.0.0.tgz", - "integrity": "sha512-3E12UeNSPfjrgwjkR81m5J7Aw/T55Tu7nUyZVQYCKEOs+2dkxEY+DpPtZzO4YruuiPb7NkYLVcyJC4+zCbk5pA==", + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-10.0.1.tgz", + "integrity": "sha512-vn5DU6yg6h8hP/2OkQo3K7uVILvY4iu0oI4t3HFa81UPkhGJwkRwM10JEc3upjdhHjs/k8GJY1sRBhk5sr69Bw==", "dev": true, "requires": { "regenerate": "^1.4.2" @@ -7742,9 +7830,9 @@ "dev": true }, "regenerator-transform": { - "version": "0.14.5", - "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.14.5.tgz", - "integrity": "sha512-eOf6vka5IO151Jfsw2NO9WpGX58W6wWmefK3I1zEGr0lOD0u8rwPaNqQL1aRxUaxLeKO3ArNh3VYg1KbaD+FFw==", + "version": "0.15.0", + "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.15.0.tgz", + "integrity": "sha512-LsrGtPmbYg19bcPHwdtmXwbW+TqNvtY4riE3P83foeHRroMbH6/2ddFBfab3t7kbzc7v7p4wbkIecHImqt0QNg==", "dev": true, "requires": { "@babel/runtime": "^7.8.4" @@ -7761,29 +7849,29 @@ } }, "regexpu-core": { - "version": "4.8.0", - "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-4.8.0.tgz", - "integrity": "sha512-1F6bYsoYiz6is+oz70NWur2Vlh9KWtswuRuzJOfeYUrfPX2o8n74AnUVaOGDbUqVGO9fNHu48/pjJO4sNVwsOg==", + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-5.0.1.tgz", + "integrity": "sha512-CriEZlrKK9VJw/xQGJpQM5rY88BtuL8DM+AEwvcThHilbxiTAy8vq4iJnd2tqq8wLmjbGZzP7ZcKFjbGkmEFrw==", "dev": true, "requires": { "regenerate": "^1.4.2", - "regenerate-unicode-properties": "^9.0.0", - "regjsgen": "^0.5.2", - "regjsparser": "^0.7.0", + "regenerate-unicode-properties": "^10.0.1", + "regjsgen": "^0.6.0", + "regjsparser": "^0.8.2", "unicode-match-property-ecmascript": "^2.0.0", "unicode-match-property-value-ecmascript": "^2.0.0" } }, "regjsgen": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.5.2.tgz", - "integrity": "sha512-OFFT3MfrH90xIW8OOSyUrk6QHD5E9JOTeGodiJeBS3J6IwlgzJMNE/1bZklWz5oTg+9dCMyEetclvCVXOPoN3A==", + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.6.0.tgz", + "integrity": "sha512-ozE883Uigtqj3bx7OhL1KNbCzGyW2NQZPl6Hs09WTvCuZD5sTI4JY58bkbQWa/Y9hxIsvJ3M8Nbf7j54IqeZbA==", "dev": true }, "regjsparser": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.7.0.tgz", - "integrity": "sha512-A4pcaORqmNMDVwUjWoTzuhwMGpP+NykpfqAsEgI1FSH/EzC7lrN5TMd+kN8YCovX+jMpu8eaqXgXPCa0g8FQNQ==", + "version": "0.8.4", + "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.8.4.tgz", + "integrity": "sha512-J3LABycON/VNEu3abOviqGHuB/LOtOQj8SKmfP9anY5GfAVw/SPjwzSjxGjbZXIxbGfqTHtJw58C2Li/WkStmA==", "dev": true, "requires": { "jsesc": "~0.5.0" @@ -7920,12 +8008,6 @@ "integrity": "sha512-sDl4qMFpijcGw22U5w63KmD3cZJfBuFlVNbVMKje2keoKML7X2UzWbc4XrmEbDwg0NXJc3yv4/ox7b+JWb57kQ==", "dev": true }, - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "dev": true - }, "source-map-support": { "version": "0.5.21", "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", @@ -8045,9 +8127,9 @@ "dev": true }, "tape": { - "version": "5.4.1", - "resolved": "https://registry.npmjs.org/tape/-/tape-5.4.1.tgz", - "integrity": "sha512-7bGaJ3WnQ/CX3xOWzlR+9lNptEWoD+11gyREP8k+SYrDu2a20EifKpTmZndXn25ZRxesYHSuNtE7Fb+THcjfGA==", + "version": "5.5.3", + "resolved": "https://registry.npmjs.org/tape/-/tape-5.5.3.tgz", + "integrity": "sha512-hPBJZBL9S7bH9vECg/KSM24slGYV589jJr4dmtiJrLD71AL66+8o4b9HdZazXZyvnilqA7eE8z5/flKiy0KsBg==", "dev": true, "requires": { "array.prototype.every": "^1.1.3", @@ -8062,7 +8144,7 @@ "has-dynamic-import": "^2.0.1", "inherits": "^2.0.4", "is-regex": "^1.1.4", - "minimist": "^1.2.5", + "minimist": "^1.2.6", "object-inspect": "^1.12.0", "object-is": "^1.1.5", "object-keys": "^1.1.1", @@ -8111,12 +8193,12 @@ } }, "terser-webpack-plugin": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.0.tgz", - "integrity": "sha512-LPIisi3Ol4chwAaPP8toUJ3L4qCM1G0wao7L3qNv57Drezxj6+VEyySpPw4B1HSO2Eg/hDY/MNF5XihCAoqnsQ==", + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.1.tgz", + "integrity": "sha512-GvlZdT6wPQKbDNW/GDQzZFg/j4vKU96yl2q6mcUkzKOgW4gwf1Z8cZToUCrz31XHlPWH8MVb1r2tFtdDtTGJ7g==", "dev": true, "requires": { - "jest-worker": "^27.4.1", + "jest-worker": "^27.4.5", "schema-utils": "^3.1.1", "serialize-javascript": "^6.0.0", "source-map": "^0.6.1", @@ -8380,9 +8462,9 @@ } }, "typescript": { - "version": "4.5.4", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.5.4.tgz", - "integrity": "sha512-VgYs2A2QIRuGphtzFV7aQJduJ2gyfTljngLzjpfW9FoYZF6xuw1W0vW9ghCKLfcWrCFxK81CSGRAvS1pn4fIUg==", + "version": "4.6.4", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.6.4.tgz", + "integrity": "sha512-9ia/jWHIEbo49HfjrLGfKbZSuWo9iTMwXO+Ca3pRsSpbsMbc7/IU8NKdCZVRRBafVPGnoJeFL76ZOAA84I9fEg==", "dev": true }, "typescript-tools": { @@ -8463,13 +8545,13 @@ } }, "webpack": { - "version": "5.66.0", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.66.0.tgz", - "integrity": "sha512-NJNtGT7IKpGzdW7Iwpn/09OXz9inIkeIQ/ibY6B+MdV1x6+uReqz/5z1L89ezWnpPDWpXF0TY5PCYKQdWVn8Vg==", + "version": "5.72.1", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.72.1.tgz", + "integrity": "sha512-dXG5zXCLspQR4krZVR6QgajnZOjW2K/djHvdcRaDQvsjV9z9vaW6+ja5dZOYbqBBjF6kGXka/2ZyxNdc+8Jung==", "dev": true, "requires": { - "@types/eslint-scope": "^3.7.0", - "@types/estree": "^0.0.50", + "@types/eslint-scope": "^3.7.3", + "@types/estree": "^0.0.51", "@webassemblyjs/ast": "1.11.1", "@webassemblyjs/wasm-edit": "1.11.1", "@webassemblyjs/wasm-parser": "1.11.1", @@ -8477,13 +8559,13 @@ "acorn-import-assertions": "^1.7.6", "browserslist": "^4.14.5", "chrome-trace-event": "^1.0.2", - "enhanced-resolve": "^5.8.3", + "enhanced-resolve": "^5.9.3", "es-module-lexer": "^0.9.0", "eslint-scope": "5.1.1", "events": "^3.2.0", "glob-to-regexp": "^0.4.1", "graceful-fs": "^4.2.9", - "json-parse-better-errors": "^1.0.2", + "json-parse-even-better-errors": "^2.3.1", "loader-runner": "^4.2.0", "mime-types": "^2.1.27", "neo-async": "^2.6.2", @@ -8491,7 +8573,7 @@ "tapable": "^2.1.1", "terser-webpack-plugin": "^5.1.3", "watchpack": "^2.3.1", - "webpack-sources": "^3.2.2" + "webpack-sources": "^3.2.3" }, "dependencies": { "schema-utils": { @@ -8508,15 +8590,15 @@ } }, "webpack-cli": { - "version": "4.9.1", - "resolved": "https://registry.npmjs.org/webpack-cli/-/webpack-cli-4.9.1.tgz", - "integrity": "sha512-JYRFVuyFpzDxMDB+v/nanUdQYcZtqFPGzmlW4s+UkPMFhSpfRNmf1z4AwYcHJVdvEFAM7FFCQdNTpsBYhDLusQ==", + "version": "4.9.2", + "resolved": "https://registry.npmjs.org/webpack-cli/-/webpack-cli-4.9.2.tgz", + "integrity": "sha512-m3/AACnBBzK/kMTcxWHcZFPrw/eQuY4Df1TxvIWfWM2x7mRqBQCqKEd96oCUa9jkapLBaFfRce33eGDb4Pr7YQ==", "dev": true, "requires": { "@discoveryjs/json-ext": "^0.5.0", - "@webpack-cli/configtest": "^1.1.0", - "@webpack-cli/info": "^1.4.0", - "@webpack-cli/serve": "^1.6.0", + "@webpack-cli/configtest": "^1.1.1", + "@webpack-cli/info": "^1.4.1", + "@webpack-cli/serve": "^1.6.1", "colorette": "^2.0.14", "commander": "^7.0.0", "execa": "^5.0.0", diff --git a/package.json b/package.json index 9acad723c..3ec3c3c84 100644 --- a/package.json +++ b/package.json @@ -45,21 +45,21 @@ "postmake-mml3-xslt": "npx rimraf ts/input/mathml/mml3/mml3.xsl" }, "devDependencies": { - "@babel/core": "^7.14.5", - "@babel/preset-env": "^7.14.5", - "babel-loader": "^8.2.2", + "@babel/core": "^7.17.12", + "@babel/preset-env": "^7.17.12", + "babel-loader": "^8.2.5", "copyfiles": "^2.4.1", "diff": "^5.0.0", "rimraf": "^3.0.2", - "tape": "^5.2.2", - "terser-webpack-plugin": "^5.1.3", + "tape": "^5.5.3", + "terser-webpack-plugin": "^5.3.1", "tslint": "^6.1.3", "tslint-jsdoc-rules": "^0.2.0", "tslint-unix-formatter": "^0.2.0", - "typescript": "^4.3.2", + "typescript": "^4.6.4", "typescript-tools": "^0.3.1", - "webpack": "^5.38.1", - "webpack-cli": "^4.7.2" + "webpack": "^5.72.1", + "webpack-cli": "^4.9.2" }, "dependencies": { "esm": "^3.2.25", From c915dc44943345ce2069a026955af6e6942a7d1d Mon Sep 17 00:00:00 2001 From: "Davide P. Cervone" Date: Thu, 19 May 2022 16:16:06 -0400 Subject: [PATCH 117/118] Update SRE to 4.0.6 --- package-lock.json | 14 +++++++------- package.json | 2 +- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/package-lock.json b/package-lock.json index 7668caf51..dedf6ef7b 100644 --- a/package-lock.json +++ b/package-lock.json @@ -12,7 +12,7 @@ "esm": "^3.2.25", "mhchemparser": "^4.1.0", "mj-context-menu": "^0.6.1", - "speech-rule-engine": "^4.0.5" + "speech-rule-engine": "^4.0.6" }, "devDependencies": { "@babel/core": "^7.17.12", @@ -4064,9 +4064,9 @@ } }, "node_modules/speech-rule-engine": { - "version": "4.0.5", - "resolved": "https://registry.npmjs.org/speech-rule-engine/-/speech-rule-engine-4.0.5.tgz", - "integrity": "sha512-1ZfPUkwErbAxJ+96RjOs57AGVTgHwQDBk2nTXL7q5T9KxGkDDrO1Am6QXhpxZev8AoO8aglbRQxxh8OSj6gM3A==", + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/speech-rule-engine/-/speech-rule-engine-4.0.6.tgz", + "integrity": "sha512-Hqa4ywf7d3lX2YsnnE8BeEdqFyaTwPSyyVhVGWZlQw4XVh0NCijyVsMZD3I9HsG5JBuDXyRaMVVNZcGJlKbZxA==", "dependencies": { "commander": "9.2.0", "wicked-good-xpath": "1.3.0", @@ -8027,9 +8027,9 @@ } }, "speech-rule-engine": { - "version": "4.0.5", - "resolved": "https://registry.npmjs.org/speech-rule-engine/-/speech-rule-engine-4.0.5.tgz", - "integrity": "sha512-1ZfPUkwErbAxJ+96RjOs57AGVTgHwQDBk2nTXL7q5T9KxGkDDrO1Am6QXhpxZev8AoO8aglbRQxxh8OSj6gM3A==", + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/speech-rule-engine/-/speech-rule-engine-4.0.6.tgz", + "integrity": "sha512-Hqa4ywf7d3lX2YsnnE8BeEdqFyaTwPSyyVhVGWZlQw4XVh0NCijyVsMZD3I9HsG5JBuDXyRaMVVNZcGJlKbZxA==", "requires": { "commander": "9.2.0", "wicked-good-xpath": "1.3.0", diff --git a/package.json b/package.json index 3ec3c3c84..351f47c41 100644 --- a/package.json +++ b/package.json @@ -65,6 +65,6 @@ "esm": "^3.2.25", "mhchemparser": "^4.1.0", "mj-context-menu": "^0.6.1", - "speech-rule-engine": "^4.0.5" + "speech-rule-engine": "^4.0.6" } } From 3e6df37482b8268b08e185ae8e42a9e424afd145 Mon Sep 17 00:00:00 2001 From: "Davide P. Cervone" Date: Thu, 19 May 2022 16:32:33 -0400 Subject: [PATCH 118/118] Update travis config to use node v17 since stable errors on travis. Remember to revert this when they get it fixed. --- .travis.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index bea50ff78..d69f09761 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,6 +1,6 @@ language: node_js node_js: -- stable +- 17 sudo: false script: - npm install