// Copyright 2014-2018 Volker Sorge // // 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 // // 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. var $jscomp=$jscomp||{};$jscomp.scope={};$jscomp.ASSUME_ES5=!1;$jscomp.ASSUME_NO_NATIVE_MAP=!1;$jscomp.ASSUME_NO_NATIVE_SET=!1;$jscomp.defineProperty=$jscomp.ASSUME_ES5||“function”==typeof Object.defineProperties?Object.defineProperty:function(a,b,c){a!=Array.prototype&&a!=Object.prototype&&(a=c.value)};$jscomp.getGlobal=function(a){return“undefined”!=typeof window&&window===a?a:“undefined”!=typeof global&&null!=global?global:a};$jscomp.global=$jscomp.getGlobal(this);$jscomp.SYMBOL_PREFIX=“jscomp_symbol_”; $jscomp.initSymbol=function(){$jscomp.initSymbol=function(){};$jscomp.global.Symbol||($jscomp.global.Symbol=$jscomp.Symbol)};$jscomp.Symbol=function(){var a=0;return function(b){return $jscomp.SYMBOL_PREFIX+(b||“”)a+
}}(); $jscomp.initSymbolIterator=function(){$jscomp.initSymbol();var a=$jscomp.global.Symbol.iterator;a||(a=$jscomp.global.Symbol.iterator=$jscomp.global.Symbol(“iterator”));“function”!=typeof Array.prototype&&$jscomp.defineProperty(Array.prototype,a,{configurable:!0,writable:!0,value:function(){return $jscomp.arrayIterator(this)}});$jscomp.initSymbolIterator=function(){}};$jscomp.arrayIterator=function(a){var b=0;return $jscomp.iteratorPrototype(function(){return b<a.length?{done:!1,value:a}:{done:!0}})}; $jscomp.iteratorPrototype=function(a){$jscomp.initSymbolIterator();a={next:a};a=function(){return this};return a};$jscomp.iteratorFromArray=function(a,b){$jscomp.initSymbolIterator();a instanceof String&&(a+=“”);var c=0,d={next:function(){if(c<a.length){var e=c++;return{value:b(e,a),done:!1}}d.next=function(){return{done:!0,value:void 0}};return d.next()}};d=function(){return d};return d}; $jscomp.polyfill=function(a,b,c,d){if(b){c=$jscomp.global;a=a.split(“.”);for(d=0;d<a.length-1;d++){var e=a;e in c||(c={});c=c}a=a;d=c;b=b(d);b!=d&&null!=b&&$jscomp.defineProperty(c,a,{configurable:!0,writable:!0,value:b})}}; $jscomp.checkStringArgs=function(a,b,c){if(null==a)throw new TypeError(“The 'this' value for String.prototype.”c
“ must not be null or undefined”);if(b instanceof RegExp)throw new TypeError(“First argument to String.prototype.”c
“ must not be a regular expression”);return a+“”};$jscomp.findInternal=function(a,b,c){a instanceof String&&(a=String(a));for(var d=a.length,e=0;e<d;e++){var f=a;if(b.call(c,f,e,a))return{i:e,v:f}}return{i:-1,v:void 0}};var COMPILED=!0,goog=goog||{};goog.global=this; goog.isDef=function(a){return void 0!==a};goog.isString=function(a){return“string”==typeof a};goog.isBoolean=function(a){return“boolean”==typeof a};goog.isNumber=function(a){return“number”==typeof a};goog.exportPath_=function(a,b,c){a=a.split(“.”);c=c||goog.global;ain c||“undefined”==typeof c.execScript||c.execScript(“var ”+a);for(var d;a.length&&(d=a.shift());)!a.length&&goog.isDef(b)?c=b:c=c&&c!==Object.prototype?c:c={}}; goog.define=function(a,b){if(!COMPILED){var c=goog.global.CLOSURE_UNCOMPILED_DEFINES,d=goog.global.CLOSURE_DEFINES;c&&void 0===c.nodeType&&Object.prototype.hasOwnProperty.call(c,a)?b=c:d&&void 0===d.nodeType&&Object.prototype.hasOwnProperty.call(d,a)&&(b=d)}goog.exportPath_(a,b)};goog.DEBUG=!0;goog.LOCALE=“en”;goog.TRUSTED_SITE=!0;goog.STRICT_MODE_COMPATIBLE=!1;goog.DISALLOW_TEST_ONLY_CODE=COMPILED&&!goog.DEBUG;goog.ENABLE_CHROME_APP_SAFE_SCRIPT_LOADING=!1; goog.provide=function(a){if(goog.isInModuleLoader_())throw Error(“goog.provide cannot be used within a module.”);if(!COMPILED&&goog.isProvided_(a))throw Error('Namespace “'a
'” already declared.');goog.constructNamespace_(a)};goog.constructNamespace_=function(a,b){if(!COMPILED){delete goog.implicitNamespaces_;for(var c=a;(c=c.substring(0,c.lastIndexOf(“.”)))&&!goog.getObjectByName©;)goog.implicitNamespaces_=!0}goog.exportPath_(a,b)}; goog.getScriptNonce=function(){null===goog.cspNonce_&&(goog.cspNonce_=goog.getScriptNonce_(goog.global.document)||“”);return goog.cspNonce_};goog.NONCE_PATTERN_=/^+[=]{0,2}$/;goog.cspNonce_=null;goog.getScriptNonce_=function(a){return(a=a.querySelector(“script”))&&(a=a.nonce||a.getAttribute(“nonce”))&&goog.NONCE_PATTERN_.test(a)?a:null};goog.VALID_MODULE_RE_=/^[a-zA-Z0-9._$]*$/; goog.module=function(a){if(!goog.isString(a)||!a||-1==a.search(goog.VALID_MODULE_RE_))throw Error(“Invalid module identifier”);if(!goog.isInGoogModuleLoader_())throw Error(“Module ”a
“ has been loaded incorrectly. Note, modules cannot be loaded as normal scripts. They require some kind of pre-processing step. You're likely trying to load a module via a script tag or as a part of a concatenated bundle without rewriting the module. For more info see: github.com/google/closure-library/wiki/goog.module:-an-ES6-module-like-alternative-to-goog.provide.”); if(goog.moduleLoaderState_.moduleName)throw Error(“goog.module may only be called once per module.”);goog.moduleLoaderState_.moduleName=a;if(!COMPILED){if(goog.isProvided_(a))throw Error('Namespace “'a
'” already declared.');delete goog.implicitNamespaces_}}; goog.module.get=function(a){if(!COMPILED&&a in goog.loadedModules_){if(goog.loadedModules_.type!=goog.ModuleType.GOOG)throw Error(“Can only goog.module.get for goog.modules.”);if(goog.loadedModules_.moduleId!=a)throw Error(“Cannot goog.module.get by path.”);}return goog.module.getInternal_(a)};goog.module.getInternal_=function(a){if(!COMPILED){if(a in goog.loadedModules_)return goog.loadedModules_.exports;if(!goog.implicitNamespaces_)return a=goog.getObjectByName(a),null!=a?a:null}return null}; goog.ModuleType={ES6:“es6”,GOOG:“goog”};goog.moduleLoaderState_=null;goog.isInModuleLoader_=function(){return goog.isInGoogModuleLoader_()||goog.isInEs6ModuleLoader_()};goog.isInGoogModuleLoader_=function(){return!!goog.moduleLoaderState_&&goog.moduleLoaderState_.type==goog.ModuleType.GOOG}; goog.isInEs6ModuleLoader_=function(){if(goog.moduleLoaderState_&&goog.moduleLoaderState_.type==goog.ModuleType.ES6)return!0;var a=goog.global.$jscomp;return a?“function”!=typeof a.getCurrentModulePath?!1:!!a.getCurrentModulePath():!1};goog.getModulePath_=function(){return goog.moduleLoaderState_&&goog.moduleLoaderState_.path}; goog.module.declareLegacyNamespace=function(){if(!COMPILED&&!goog.isInGoogModuleLoader_())throw Error(“goog.module.declareLegacyNamespace must be called from within a goog.module”);if(!COMPILED&&!goog.moduleLoaderState_.moduleName)throw Error(“goog.module must be called prior to goog.module.declareLegacyNamespace.”);goog.moduleLoaderState_.declareLegacyNamespace=!0}; goog.setTestOnly=function(a){if(goog.DISALLOW_TEST_ONLY_CODE)throw a=a||“”,Error(“Importing test-only code into non-debug environment”+(a?“: ”+a:“.”));};goog.forwardDeclare=function(a){};COMPILED||(goog.isProvided_=function(a){return a in goog.loadedModules_||!goog.implicitNamespaces_&&goog.isDefAndNotNull(goog.getObjectByName(a))},goog.implicitNamespaces_={“goog.module”:!0}); goog.getObjectByName=function(a,b){a=a.split(“.”);b=b||goog.global;for(var c=0;ca
“n;})();n”}; goog.loadModule=function(a,b){var c=goog.moduleLoaderState_;try{goog.moduleLoaderState_={moduleName:“”,declareLegacyNamespace:!1,type:goog.ModuleType.GOOG,path:b};if(goog.isFunction(a))var d=a.call(void 0,{});else if(goog.isString(a))goog.useSafari10Workaround()&&(a=goog.workaroundSafari10EvalBug(a)),d=goog.loadModuleFromSource_.call(void 0,a);else throw Error(“Invalid module definition”);var e=goog.moduleLoaderState_.moduleName;if(goog.isString(e)&&e){goog.moduleLoaderState_.declareLegacyNamespace? goog.constructNamespace_(e,d):goog.SEAL_MODULE_EXPORTS&&Object.seal&&“object”==typeof d&&null!=d&&Object.seal(d);var f={exports:d,type:goog.ModuleType.GOOG,moduleId:goog.moduleLoaderState_.moduleName};goog.loadedModules_=f;b&&(goog.loadedModules_=f)}else throw Error('Invalid module name “'e
'”');}finally{goog.moduleLoaderState_=c}};goog.loadModuleFromSource_=function(a){eval(a);return{}}; goog.normalizePath_=function(a){a=a.split(“/”);for(var b=0;ba
“ does not exist (was base.js loaded more than once?).”);},goog.Dependency.prototype.load=function(a){if(goog.global.CLOSURE_IMPORT_SCRIPT)goog.global.CLOSURE_IMPORT_SCRIPT(this.path)? a.loaded():a.pause();else if(goog.inHtmlDocument_()){var b=goog.global.document;if(“complete”==b.readyState&&!goog.ENABLE_CHROME_APP_SAFE_SCRIPT_LOADING){if(/bdeps.js$/.test(this.path)){a.loaded();return}throw Error('Cannot write “'this.path
'” after document load');}if(!goog.ENABLE_CHROME_APP_SAFE_SCRIPT_LOADING&&goog.isDocumentLoading_()){var c=goog.Dependency.registerCallback_(function(b){goog.DebugLoader_.IS_OLD_IE_&&“complete”!=b.readyState||(goog.Dependency.unregisterCallback_©,a.loaded())}); b.write('<script src=“'this.path
'” '+(goog.DebugLoader_.IS_OLD_IE_?“onreadystatechange”:“onload”)+“="goog.Dependency.callback_('”c
'', this)“ type=”text/javascript“ '+(goog.Dependency.defer_?”defer“:”“)+”>x3c/script>“)}else{var d=b.createElement(”script“);d.defer=goog.Dependency.defer_;d.async=!1;d.type=”text/javascript“;var e=goog.getScriptNonce();e&&(d.nonce=e);goog.DebugLoader_.IS_OLD_IE_?(a.pause(),d.onreadystatechange=function(){if(”loaded“==d.readyState||”complete“==d.readyState)a.loaded(), a.resume()}):d.onload=function(){d.onload=null;a.loaded()};d.src=this.path;b.head.appendChild(d)}}else goog.logToConsole_(”Cannot use default debug loader outside of HTML documents.“),”deps.js“==this.relativePath?(goog.logToConsole_(”Consider setting CLOSURE_IMPORT_SCRIPT before loading base.js, or seting CLOSURE_NO_DEPS to true.“),a.loaded()):a.pause()},goog.Es6ModuleDependency=function(a,b,c,d,e){goog.Dependency.call(this,a,b,c,d,e)},goog.inherits(goog.Es6ModuleDependency,goog.Dependency),goog.Es6ModuleDependency.prototype.load= function(a){function b(a,b){b?d.write('<script type=”module“ crossorigin>'b
”x3c/script>“):d.write('<script type=”module“ crossorigin src=”'a
'“>x3c/script>')}function c(a,b){var c=d.createElement(”script“);c.defer=!0;c.async=!1;c.type=”module“;c.setAttribute(”crossorigin“,!0);var e=goog.getScriptNonce();e&&(c.nonce=e);b?c.textContent=b:c.src=a;d.head.appendChild©}if(goog.global.CLOSURE_IMPORT_SCRIPT)goog.global.CLOSURE_IMPORT_SCRIPT(this.path)?a.loaded():a.pause();else if(goog.inHtmlDocument_()){var d= goog.global.document,e=this;if(goog.isDocumentLoading_()){var f=b;goog.Dependency.defer_=!0}else f=c;var g=goog.Dependency.registerCallback_(function(){goog.Dependency.unregisterCallback_(g);a.setModuleState(e.path,goog.ModuleType.ES6)});f(void 0,'goog.Dependency.callback_(”'g
'“)');f(this.path,void 0);var h=goog.Dependency.registerCallback_(function(b){goog.Dependency.unregisterCallback_(h);a.registerEs6ModuleExports(e.path,b)});f(void 0,'import * as m from ”'this.path
'“; goog.Dependency.callback_(”'+ h+'“, m)');var k=goog.Dependency.registerCallback_(function(){goog.Dependency.unregisterCallback_(k);a.clearModuleState();a.loaded()});f(void 0,'goog.Dependency.callback_(”'k
'“)')}else goog.logToConsole_(”Cannot use default debug loader outside of HTML documents.“),a.pause()},goog.TransformedDependency=function(a,b,c,d,e){goog.Dependency.call(this,a,b,c,d,e);this.contents_=null},goog.inherits(goog.TransformedDependency,goog.Dependency),goog.TransformedDependency.prototype.load=function(a){function b(){e.contents_= goog.loadFileSync_(e.path);e.contents_&&(e.contents_=e.transform(e.contents_),e.contents_&&(e.contents_+=”n//# sourceURL=“+e.path))}function c(){b();if(e.contents_){f&&a.setModuleState(e.path,goog.ModuleType.ES6);try{var c=e.contents_;e.contents_=null;goog.globalEval©}finally{f&&a.clearModuleState()}f&&goog.global.$jscomp.require.ensure(,function(){a.registerEs6ModuleExports(e.path,goog.global.$jscomp.require(e.path))});a.loaded()}}function d(){var a=goog.global.document,b=goog.Dependency.registerCallback_(function(){goog.Dependency.unregisterCallback_(b); c()});a.write('<script type=”text/javascript“>'+goog.protectScriptTag_('goog.Dependency.callback_(”'b
'“);')+”x3c/script>“)}var e=this;if(goog.global.CLOSURE_IMPORT_SCRIPT)b(),this.contents_&&goog.global.CLOSURE_IMPORT_SCRIPT(”“,this.contents_)?(this.contents_=null,a.loaded()):a.pause();else{var f=this.loadFlags.module==goog.ModuleType.ES6;if(1<a.pending().length&&goog.DebugLoader_.IS_OLD_IE_||goog.Dependency.defer_&&goog.isDocumentLoading_())a.defer(function(){c()});else if(f&&goog.inHtmlDocument_()&& goog.isDocumentLoading_()){goog.Dependency.defer_=!0;var g=goog.global.document;a.pause();var h=g.onreadystatechange;g.onreadystatechange=function(){if(g.attachEvent?”complete“==g.readyState:”interactive“==g.readyState)g.onreadystatechange=h,c(),a.resume();goog.isFunction(h)&&h.apply(void 0,arguments)}}else!goog.DebugLoader_.IS_OLD_IE_&&goog.inHtmlDocument_()&&goog.isDocumentLoading_()?d():c()}},goog.TransformedDependency.prototype.transform=function(a){},goog.TranspiledDependency=function(a,b,c, d,e,f){goog.TransformedDependency.call(this,a,b,c,d,e);this.transpiler=f},goog.inherits(goog.TranspiledDependency,goog.TransformedDependency),goog.TranspiledDependency.prototype.transform=function(a){return this.transpiler.transpile(a,this.path)},goog.GoogModuleDependency=function(a,b,c,d,e,f,g){goog.TransformedDependency.call(this,a,b,c,d,e);this.needsTranspile_=f;this.transpiler_=g},goog.inherits(goog.GoogModuleDependency,goog.TransformedDependency),goog.GoogModuleDependency.prototype.transform= function(a){this.needsTranspile_&&(a=this.transpiler_.transpile(a,this.path));return goog.LOAD_MODULE_USING_EVAL&&goog.isDef(goog.global.JSON)?”goog.loadModule(“+goog.global.JSON.stringify(a+”n//# sourceURL=“this.path
”n“)+', ”'this.path
'“);':'goog.loadModule(function(exports) {”use strict“;'a
'n;return exports}, ”'this.path
'“);n//# sourceURL='this.path
”n“},goog.DebugLoader_.IS_OLD_IE_=!(goog.global.atob||!goog.global.document||!goog.global.document.all),goog.DebugLoader_.prototype.addDependency= function(a,b,c,d){b=b||[];a=a.replace(/\/g,”/“);var e=goog.normalizePath_(goog.basePath+a);d&&”boolean“!==typeof d||(d=d?{module:goog.ModuleType.GOOG}:{});c=this.factory_.createDependency(e,a,b,c,d,goog.transpiler_.needsTranspile(d.lang||”es3“,d.module));this.dependencies_=c;for(c=0;csre.Variables.VERSION
”/lib/mathmaps“;sre.Variables.WGXpath=”https://cdnjs.cloudflare.com/ajax/libs/mathjax/“sre.Variables.mathjaxVersion
”/extensions/a11y/wgxpath.install.js“;sre.SystemExternal=function(){};sre.SystemExternal.require=function(a){return”undefined“!==typeof process&&”undefined“!==typeof require?require(a):null};sre.SystemExternal.documentSupported=function(){return”undefined“!=typeof document};sre.SystemExternal.process=sre.SystemExternal.require(”process“);sre.SystemExternal.xmldom=sre.SystemExternal.documentSupported()?window:sre.SystemExternal.require(”xmldom-sre“); sre.SystemExternal.document=sre.SystemExternal.documentSupported()?document:(new sre.SystemExternal.xmldom.DOMImplementation).createDocument(”“,”“,0);sre.SystemExternal.xpath=sre.SystemExternal.documentSupported()?document:function(){var a={document:{}};sre.SystemExternal.require(”wicked-good-xpath“).install(a);a.document.XPathResult=a.XPathResult;return a.document}();sre.SystemExternal.commander=sre.SystemExternal.documentSupported()?null:sre.SystemExternal.require(”commander“); sre.SystemExternal.fs=sre.SystemExternal.documentSupported()?null:sre.SystemExternal.require(”fs“);sre.SystemExternal.xm=sre.SystemExternal.documentSupported()?null:sre.SystemExternal.require(”xml-mapping“);sre.SystemExternal.url=sre.Variables.url;sre.SystemExternal.jsonPath=function(){return(sre.SystemExternal.process&&”undefined“!==typeof global?sre.SystemExternal.process.env.SRE_JSON_PATH||global.SRE_JSON_PATH||sre.SystemExternal.process.cwd():sre.SystemExternal.url)+”/“}(); sre.SystemExternal.WGXpath=sre.Variables.WGXpath;sre.SystemExternal.wgxpath=null;sre.BrowserUtil={};sre.BrowserUtil.detectIE=function(){if(!(”undefined“!==typeof window&&”ActiveXObject“in window&&”clipboardData“in window))return!1;sre.BrowserUtil.loadMapsForIE_();sre.BrowserUtil.loadWGXpath_();return!0};sre.BrowserUtil.detectEdge=function(){if(!(”undefined“!==typeof window&&”MSGestureEvent“in window&&”chrome“in window&&null==window.chrome.loadTimes))return!1;document.evaluate=null;sre.BrowserUtil.loadWGXpath_(!0);return!0};sre.BrowserUtil.mapsForIE=null; sre.BrowserUtil.loadWGXpath_=function(a){sre.BrowserUtil.loadScript(sre.SystemExternal.WGXpath);sre.BrowserUtil.installWGXpath_(a)}; sre.BrowserUtil.installWGXpath_=function(a,b){var c=b||1;”undefined“===typeof wgxpath&&10>c?setTimeout(function(){sre.BrowserUtil.installWGXpath_(a,c++)},200):10<=c||(sre.SystemExternal.wgxpath=wgxpath,a?sre.SystemExternal.wgxpath.install({document:document}):sre.SystemExternal.wgxpath.install(),sre.XpathUtil.xpathEvaluate=document.evaluate,sre.XpathUtil.xpathResult=XPathResult,sre.XpathUtil.createNSResolver=document.createNSResolver)}; sre.BrowserUtil.loadMapsForIE_=function(){sre.BrowserUtil.loadScript(sre.SystemExternal.jsonPath+”mathmaps_ie.js“)};sre.BrowserUtil.loadScript=function(a){var b=sre.SystemExternal.document.createElement(”script“);b.type=”text/javascript“;b.src=a;sre.SystemExternal.document.head?sre.SystemExternal.document.head.appendChild(b):sre.SystemExternal.document.body.appendChild(b)};sre.DynamicProperties=function(a,b){this.properties_=a;this.order_=b||Object.keys(a)};sre.DynamicProperties.prototype.getProperties=function(){return this.properties_};sre.DynamicProperties.prototype.getOrder=function(){return this.order_};sre.DynamicProperties.prototype.getAxes=function(){return this.order_};sre.DynamicProperties.prototype.getProperty=function(a){return this.properties_};sre.DynamicProperties.prototype.updateProperties=function(a){this.properties_=a}; sre.DynamicProperties.prototype.allProperties=function(){var a=[];this.order_.forEach(goog.bind(function(b){a.push(this.getProperty(b))},this));return a};sre.DynamicProperties.prototype.toString=function(){var a=[];this.order_.forEach(goog.bind(function(b){a.push(b+”: “+this.getProperty(b).toString())},this));return a.join(”n“)}; sre.DynamicCstr=function(a,b){this.components_=a;var c={},d;for(d in a){var e=a;c=[e];sre.DynamicCstr.Values_.getInstance().add(d,e)}sre.DynamicProperties.call(this,c,b)};goog.inherits(sre.DynamicCstr,sre.DynamicProperties);sre.DynamicCstr.prototype.getComponents=function(){return this.components_};sre.DynamicCstr.prototype.getValue=function(a){return this.components_}; sre.DynamicCstr.prototype.getValues=function(){var a=[];this.order_.forEach(goog.bind(function(b){a.push(this.getValue(b))},this));return a};sre.DynamicCstr.prototype.toString=function(){return this.getValues().join(”.“)};sre.DynamicCstr.prototype.equal=function(a){var b=a.getAxes();if(this.order_.length!==b.length)return!1;for(var c=0,d;d=b;c++){var e=this.getValue(d);if(!e||a.getValue(d)!==e)return!1}return!0}; sre.DynamicCstr.Axis={DOMAIN:”domain“,STYLE:”style“,LOCALE:”locale“,TOPIC:”topic“,MODALITY:”modality“};sre.DynamicCstr.Values_=function(){this.axisToValues=sre.DynamicCstr.Values_.makeAxisValueObject_()};goog.addSingletonGetter(sre.DynamicCstr.Values_);sre.DynamicCstr.Values_.prototype.add=function(a,b){this.axisToValues[b]=!0};sre.DynamicCstr.Values_.prototype.get=function(){var a={},b=sre.DynamicCstr.Values_.getInstance().axisToValues,c;for(c in b)a=Object.keys(b);return a}; sre.DynamicCstr.Values_.makeAxisValueObject_=function(){var a={},b;for(b in sre.DynamicCstr.Axis)a[sre.DynamicCstr.Axis]={};return a};sre.DynamicCstr.getAxisValues=function(){return sre.DynamicCstr.Values_.getInstance().get()};sre.DynamicCstr.DEFAULT_ORDER=;sre.DynamicCstr.DEFAULT_VALUE=”default“;sre.DynamicCstr.DEFAULT_VALUES={}; sre.DynamicCstr.DEFAULT_VALUES=”en“;sre.DynamicCstr.DEFAULT_VALUES=sre.DynamicCstr.DEFAULT_VALUE;sre.DynamicCstr.DEFAULT_VALUES=sre.DynamicCstr.DEFAULT_VALUE;sre.DynamicCstr.DEFAULT_VALUES=sre.DynamicCstr.DEFAULT_VALUE;sre.DynamicCstr.DEFAULT_VALUES=sre.DynamicCstr.DEFAULT_VALUE;sre.DynamicCstr.Parser=function(a){this.order_=a}; sre.DynamicCstr.Parser.prototype.parse=function(a){a=a.split(”.“);var b={};if(a.length>this.order_.length)throw Error(”Invalid dynamic constraint: “+b);for(var c=0,d;d=this.order_,a.length;c++){var e=a.shift();b=e}return new sre.DynamicCstr(b,this.order_.slice(0,c))};sre.DynamicCstr.Comparator=function(){};sre.DynamicCstr.Comparator.prototype.getReference=function(){};sre.DynamicCstr.Comparator.prototype.setReference=function(a,b){};sre.DynamicCstr.Comparator.prototype.match=function(a){}; sre.DynamicCstr.Comparator.prototype.compare=function(a,b){};sre.DynamicCstr.DefaultComparator=function(a,b){this.reference_=a;this.fallback_=b||new sre.DynamicProperties(a.getProperties(),a.getOrder());this.order_=this.reference_.getOrder()};sre.DynamicCstr.DefaultComparator.prototype.getReference=function(){return this.reference_}; sre.DynamicCstr.DefaultComparator.prototype.setReference=function(a,b){this.reference_=a;this.fallback_=b||new sre.DynamicProperties(a.getProperties(),a.getOrder());this.order_=this.reference_.getOrder()};sre.DynamicCstr.DefaultComparator.prototype.match=function(a){var b=a.getAxes();return b.length===this.reference_.getAxes().length&&b.every(goog.bind(function(b){var c=a.getValue(b);return c===this.reference_.getValue(b)||-1!==this.fallback_.getProperty(b).indexOf©},this))}; sre.DynamicCstr.DefaultComparator.prototype.compare=function(a,b){for(var c=!1,d=0,e;e=this.order_;d++){var f=a.getValue(e),g=b.getValue(e);if(!c){var h=this.reference_.getValue(e);if(h===f&&h!==g)return-1;if(h===g&&h!==f)return 1;if(h===f&&h===g)continue;h!==f&&h!==g&&(c=!0)}e=this.fallback_.getProperty(e);f=e.indexOf(f);g=e.indexOf(g);if(f<g)return-1;if(g<f)return 1}return 0}; sre.DynamicProperties.create=function(a){for(var b=sre.DynamicCstr.DEFAULT_ORDER,c={},d=Array.prototype.slice.call(arguments,0),e=0,f=d.length,g=b.length;ef)
”e-“+f)}};sre.MarkupRenderer.prototype.applyScaleFunction=function(a){return this.scaleFunction_?this.scaleFunction_(a):a};sre.MarkupRenderer.prototype.pause=goog.abstractMethod; sre.MarkupRenderer.prototype.prosodyElement=goog.abstractMethod;sre.AcssRenderer=function(){sre.MarkupRenderer.call(this)};goog.inherits(sre.AcssRenderer,sre.MarkupRenderer); sre.AcssRenderer.prototype.markup=function(a){this.setScaleFunction(-2,2,0,10,0);a=sre.AudioUtil.personalityMarkup(a);for(var b=[],c={open:},d=null,e=!1,f=0,g;g=a;f++)if(sre.AudioUtil.isMarkupElement(g))sre.AudioUtil.mergeMarkup(c,g);else if(sre.AudioUtil.isPauseElement(g))e&&(d=sre.AudioUtil.mergePause(d,g,Math.max));else{g='”'g.string
'“';e=!0;d&&(b.push(this.pause(d)),d=null);var h=this.prosody_©;b.push(h?”(text (“h
”) “g
”)“:g)}return”(exp “+b.join(this.getSeparator())+”)“}; sre.AcssRenderer.prototype.merge=function(a){return”(exp “+a.map(function(a){return a.replace(/^(exp /,”“).replace(/)$/,”“)}).join(” “)+”)“};sre.AcssRenderer.prototype.error=function(a){return'(error ”'a
'“)'};sre.AcssRenderer.prototype.prosody_=function(a){for(var b=a.open,c=[],d=0,e;e=b;d++)c.push(this.prosodyElement(e,a));return c.join(” “)}; sre.AcssRenderer.prototype.prosodyElement=function(a,b){b=this.applyScaleFunction(b);switch(a){case sre.Engine.personalityProps.RATE:return”(richness . “b
”)“;case sre.Engine.personalityProps.PITCH:return”(average-pitch . “b
”)“;case sre.Engine.personalityProps.VOLUME:return”(stress . “b
”)“}return”(value . “b
”)“};sre.AcssRenderer.prototype.pause=function(a){return”(pause . “a[sre.Engine.personalityProps.PAUSE]
”)“};sre.XmlRenderer=function(){sre.MarkupRenderer.call(this)};goog.inherits(sre.XmlRenderer,sre.MarkupRenderer); sre.XmlRenderer.prototype.markup=function(a){this.setScaleFunction(-2,2,-100,100,2);a=sre.AudioUtil.personalityMarkup(a);for(var b=[],c=,d=0,e;e=a;d++)if(e.string)b.push(e.string);else if(sre.AudioUtil.isPauseElement(e))b.push(this.pause(e));else{if(e.close.length)for(var f=0;f<e.close.length;f++){var g=c.pop();if(-1===e.close.indexOf(g))throw Error(”Unknown closing markup element: “+g);b.push(this.closeTag(g))}e.open.length&&sre.AudioUtil.sortClose(e.open.slice(),a.slice(d+1)).forEach(goog.bind(function(a){b.push(this.prosodyElement(a, e));c.push(a)},this))}return b.join(this.getSeparator())};sre.XmlRenderer.prototype.closeTag=goog.abstractMethod;sre.SableRenderer=function(){sre.XmlRenderer.call(this)};goog.inherits(sre.SableRenderer,sre.XmlRenderer);sre.SableRenderer.prototype.pause=function(a){return'<BREAK MSEC=”‘a[sre.Engine.personalityProps.PAUSE]
'“/>'}; sre.SableRenderer.prototype.prosodyElement=function(a,b){b=this.applyScaleFunction(b);switch(a){case sre.Engine.personalityProps.PITCH:return'<PITCH BASE=”'b
'%“>';case sre.Engine.personalityProps.RATE:return'<RATE SPEED=”'b
'%“>';case sre.Engine.personalityProps.VOLUME:return'<VOLUME LEVEL=”'b
'%“>';default:return”<“+a.toUpperCase()+' VALUE=”'b
'“>'}};sre.SableRenderer.prototype.closeTag=function(a){return”</“+a.toUpperCase()+”>“};sre.SsmlRenderer=function(){sre.XmlRenderer.call(this)};goog.inherits(sre.SsmlRenderer,sre.XmlRenderer);sre.SsmlRenderer.prototype.pause=function(a){return'<BREAK TIME=”’a[sre.Engine.personalityProps.PAUSE]
'ms“/>'};sre.SsmlRenderer.prototype.prosodyElement=function(a,b){b=this.applyScaleFunction(b);b=0>b?b.toString():”+“+b;return”<PROSODY “+a.toUpperCase()+'=”'b
(a===sre.Engine.personalityProps.VOLUME?“>”:'%“>')};sre.SsmlRenderer.prototype.closeTag=function(a){return”</PROSODY>“};sre.BaseUtil={};sre.BaseUtil.removeEmpty=function(a){return a.filter(function(a){return a})};sre.BaseUtil.interleaveLists=function(a,b){for(var c=[];a.length||b.length;)a.length&&c.push(a.shift()),b.length&&c.push(b.shift());return c};sre.BaseUtil.setdifference=function(a,b){return a?b?a.filter(function(a){return 0>b.indexOf(a)}):a:[]};sre.BaseUtil.union=function(a,b){return a&&b?a.concat(sre.BaseUtil.setdifference(b,a)):a||b||[]};sre.BaseUtil.makePath=function(a){return a.match(”/$“)?a:a+”/“};sre.StringRenderer=function(){sre.AbstractAudioRenderer.call(this)};goog.inherits(sre.StringRenderer,sre.AbstractAudioRenderer);sre.StringRenderer.prototype.markup=function(a){return sre.BaseUtil.removeEmpty(a.map(function(a){return a.descriptionString()})).join(this.getSeparator())};sre.AuralRendering=function(){};goog.addSingletonGetter(sre.AuralRendering);sre.AuralRendering.prototype.setSeparator=function(a){var b=sre.AuralRendering.rendererMapping_;b&&b.setSeparator(a)};sre.AuralRendering.prototype.getSeparator=function(){var a=sre.AuralRendering.rendererMapping_;return a?a.getSeparator():”“}; sre.AuralRendering.prototype.markup=function(a){var b=sre.AuralRendering.rendererMapping_;return b?b.markup(a):”“};sre.AuralRendering.prototype.merge=function(a){var b=sre.AuralRendering.rendererMapping_;return b?b.merge(a):a.join()};sre.AuralRendering.prototype.error=function(a){var b=sre.AuralRendering.rendererMapping_;return b?b.error(a):”“}; sre.AuralRendering.registerRenderer=function(a,b){sre.AuralRendering.rendererMapping_=b};sre.AuralRendering.rendererMapping_={};sre.AuralRendering.registerRenderer(sre.Engine.Markup.NONE,new sre.StringRenderer);sre.AuralRendering.registerRenderer(sre.Engine.Markup.ACSS,new sre.AcssRenderer);sre.AuralRendering.registerRenderer(sre.Engine.Markup.SABLE,new sre.SableRenderer);sre.AuralRendering.xmlInstance=new sre.SsmlRenderer;sre.AuralRendering.registerRenderer(sre.Engine.Markup.VOICEXML,sre.AuralRendering.xmlInstance); sre.AuralRendering.registerRenderer(sre.Engine.Markup.SSML,sre.AuralRendering.xmlInstance);sre.Debugger=function(){this.isActive_=!1;this.outputFunction_=console.log;this.stream_=null};goog.addSingletonGetter(sre.Debugger);sre.Debugger.prototype.init=function(a){a&&this.startDebugFile_(a);this.isActive_=!0}; sre.Debugger.prototype.startDebugFile_=function(a){this.stream_=sre.SystemExternal.fs.createWriteStream(a);this.outputFunction_=goog.bind(function(a){var b=Array.prototype.slice.call(arguments,0);this.stream_.write(b.join(” “));this.stream_.write(”n“)},this);this.stream_.on(”error“,goog.bind(function(a){console.log(”Invalid log file. Debug information sent to console.“);this.outputFunction_=console.log},this));this.stream_.on(”finish“,function(){console.log(”Finalizing debug file.“)})}; sre.Debugger.prototype.output_=function(a){this.outputFunction_.apply(console.log===this.outputFunction_?console:this.outputFunction_,[”Speech Rule Engine Debugger:“].concat(a))};sre.Debugger.prototype.output=function(a){this.isActive_&&this.output_(Array.prototype.slice.call(arguments,0))};sre.Debugger.prototype.generateOutput=function(a){this.isActive_&&this.output_(a.apply(a,[]))};sre.Debugger.prototype.exit=function(a){this.isActive_&&this.stream_&&this.stream_.end(”“,”“,a||function(){})};sre.XpathUtil={};sre.XpathUtil.xpathSupported=function(){return”undefined“==typeof XPathResult?!1:!0};sre.XpathUtil.currentDocument=null;sre.XpathUtil.xpathEvaluate=sre.XpathUtil.xpathSupported()?document.evaluate:sre.SystemExternal.xpath.evaluate;sre.XpathUtil.xpathResult=sre.XpathUtil.xpathSupported()?XPathResult:sre.SystemExternal.xpath.XPathResult;sre.XpathUtil.createNSResolver=sre.XpathUtil.xpathSupported()?document.createNSResolver:sre.SystemExternal.xpath.createNSResolver; sre.XpathUtil.nameSpaces_={xhtml:”www.w3.org/1999/xhtml“,mathml:”http://www.w3.org/1998/Math/MathML“,svg:”http://www.w3.org/2000/svg“};sre.XpathUtil.resolveNameSpace=function(a){return sre.XpathUtil.nameSpaces_||null};sre.XpathUtil.resolver_=function(){this.lookupNamespaceURI=sre.XpathUtil.resolveNameSpace}; sre.XpathUtil.evaluateXpath_=function(a,b,c){var d=sre.Engine.getInstance();return d.mode!==sre.Engine.Mode.HTTP||d.isIE||d.isEdge?sre.XpathUtil.xpathEvaluate(a,b,new sre.XpathUtil.resolver_,c,null):sre.XpathUtil.currentDocument.evaluate(a,b,sre.XpathUtil.resolveNameSpace,c,null)};sre.XpathUtil.evalXPath=function(a,b){try{var c=sre.XpathUtil.evaluateXpath_(a,b,sre.XpathUtil.xpathResult.ORDERED_NODE_ITERATOR_TYPE)}catch(d){return[]}a=;for(b=c.iterateNext();b;b=c.iterateNext())a.push(b);return a}; sre.XpathUtil.getLeafNodes=function(a){return sre.XpathUtil.evalXPath(”.//[count()=0]“,a)};sre.XpathUtil.evaluateBoolean=function(a,b){try{var c=sre.XpathUtil.evaluateXpath_(a,b,sre.XpathUtil.xpathResult.BOOLEAN_TYPE)}catch(d){return!1}return c.booleanValue};sre.XpathUtil.evaluateString=function(a,b){try{var c=sre.XpathUtil.evaluateXpath_(a,b,sre.XpathUtil.xpathResult.STRING_TYPE)}catch(d){return”“}return c.stringValue};sre.DomUtil={};sre.DomUtil.toArray=function(a){for(var b=[],c=0,d=a.length;cb
”]“)):sre.XpathUtil.evalXPath(”.//*[@“b
”]“,a)};sre.DomUtil.querySelectorAllByAttrValue=function(a,b,c){return a.querySelectorAll?sre.DomUtil.toArray(a.querySelectorAll(”[“b
‘=”’c
‘“]')):sre.XpathUtil.evalXPath(”.//*[@“b
’=”‘c
’“]',a)}; sre.DomUtil.querySelectorAll=function(a,b){return a.querySelectorAll?sre.DomUtil.toArray(a.querySelectorAll(b)):sre.XpathUtil.evalXPath(”.//“+b,a)};sre.DomUtil.tagName=function(a){return a.tagName.toUpperCase()};sre.EnrichCase=function(){};sre.EnrichCase.prototype.getMathml=function(){};sre.AbstractEnrichCase=function(a){this.semantic=a};sre.AbstractEnrichCase.prototype.getMathml=goog.abstractMethod;sre.AbstractEnrichCase.test=goog.abstractMethod;sre.EnrichCaseFactory=function(){};sre.EnrichCaseFactory.getEmbellishedCase=function(a){return new sre.EnrichCaseFactory.embellishedCase(a)};sre.EnrichCaseFactory.cases=[];sre.EnrichCaseFactory.getCase=function(a){for(var b=0,c;c=sre.EnrichCaseFactory.cases;b++)if(c.test(a))return new c.constr(a);return null};sre.SemanticUtil=function(){};sre.SemanticUtil.objectsToKeys=function(a){a=Array.prototype.slice.call(arguments,0);var b=[];return b.concat.apply(b,a.map(Object.keys))};sre.SemanticUtil.objectsToValues=function(a){a=Array.prototype.slice.call(arguments,0);var b=[];a.forEach(function(a){for(var c in a)b.push(a)});return b}; sre.SemanticUtil.unicodeToNumber=function(a){if(!a||2<a.length)return null;if(2==a.length){var b=a.charCodeAt(0);a=a.charCodeAt(1);return 55296<=b&&56319>=b&&!isNaN(a)?1024*(b-55296)+(a-56320)+65536:null}return a.charCodeAt(0)};sre.SemanticUtil.numberToUnicode=function(a){return 65536>a?String.fromCharCode(a):String.fromCharCode((a-65536)/1024+55296,(a-65536)%1024+56320)}; sre.SemanticUtil.splitUnicode=function(a){a=a.split(”“);for(var b=[],c=0,d;d=a;c++)”ud800“<=d&&"\udbff">=d&&a?b.push(d+a):b.push(d);return b};sre.SemanticUtil.LEAFTAGS=;sre.SemanticUtil.IGNORETAGS=”MERROR MPHANTOM MSPACE MALIGNGROUP MALIGNMARK MPRESCRIPTS ANNOTATION ANNOTATION-XML“.split(” “);sre.SemanticUtil.EMPTYTAGS=”MATH MROW MPADDED MACTION NONE MSTYLE SEMANTICS“.split(” “);sre.SemanticUtil.hasMathTag=function(a){return!!a&&”MATH“===sre.DomUtil.tagName(a)}; sre.SemanticUtil.hasIgnoreTag=function(a){return!!a&&-1!==sre.SemanticUtil.IGNORETAGS.indexOf(sre.DomUtil.tagName(a))};sre.SemanticUtil.hasEmptyTag=function(a){return!!a&&-1!==sre.SemanticUtil.EMPTYTAGS.indexOf(sre.DomUtil.tagName(a))};sre.SemanticUtil.purgeNodes=function(a){for(var b=[],c=0,d;d=a;c++){var e=sre.DomUtil.tagName(d);-1!=sre.SemanticUtil.IGNORETAGS.indexOf(e)||-1!=sre.SemanticUtil.EMPTYTAGS.indexOf(e)&&0==d.childNodes.length||b.push(d)}return b}; sre.SemanticUtil.isZeroLength=function(a){return a?-1!==”negativeveryverythinmathspace negativeverythinmathspace negativethinmathspace negativemediummathspace negativethickmathspace negativeverythickmathspace negativeveryverythickmathspace“.split(” “).indexOf(a)?!0:(a=a.match(/+/))?0===parseFloat(a)?!0:!1:!1:!1};sre.SemanticAttr=function(){this.generalPunctuations='!”#%&:;?@\u00a1u00a7u00b6u00bfu2017u2020u2021u2022u2023u2024u2025u2027u2030u2031u2038u203bu203cu203du203eu2041u2042u2043u2047u2048u2049u204bu204cu204du204eu204fu2050u2051u2053u2055u2056u2058u2059u205au205bu205cu205du205eufe10ufe13ufe14ufe15ufe16ufe30ufe45ufe46ufe49ufe4aufe4bufe4cufe50ufe54ufe55ufe56ufe57ufe5fufe60ufe61ufe68ufe6aufe6buff01uff02uff03uff05uff06uff07uff0auff0cuff0fuff1auff1buff1fuff20uff3c'.split(“”); this.invisibleComma_=sre.SemanticUtil.numberToUnicode(8291);this.commas=;this.ellipses=“u2026u22eeu22efu22f0u22f1ufe19”.split(“”);this.fullStops=;this.dashes=“u2012u2013u2014u2015u301cufe31ufe32ufe58”.split(“”);this.primes=“'u2032u2033u2034u2035u2036u2037u2057”.split(“”);this.openClosePairs={“(”:“)”,“[”:“]”,“{”:“}”,“u2045”:“u2046”,“u2329”:“u232a”,“u2768”:“u2769”,“u276a”:“u276b”,“u276c”:“u276d”,“u276e”:“u276f”,“u2770”:“u2771”, “u2772”:“u2773”,“u2774”:“u2775”,“u27c5”:“u27c6”,“u27e6”:“u27e7”,“u27e8”:“u27e9”,“u27ea”:“u27eb”,“u27ec”:“u27ed”,“u27ee”:“u27ef”,“u2983”:“u2984”,“u2985”:“u2986”,“u2987”:“u2988”,“u2989”:“u298a”,“u298b”:“u298c”,“u298d”:“u298e”,“u298f”:“u2990”,“u2991”:“u2992”,“u2993”:“u2994”,“u2995”:“u2996”,“u2997”:“u2998”,“u29d8”:“u29d9”,“u29da”:“u29db”,“u29fc”:“u29fd”,“u2e22”:“u2e23”,“u2e24”:“u2e25”,“u2e26”:“u2e27”,“u2e28”:“u2e29”,“u3008”:“u3009”,“u300a”:“u300b”, “u300c”:“u300d”,“u300e”:“u300f”,“u3010”:“u3011”,“u3014”:“u3015”,“u3016”:“u3017”,“u3018”:“u3019”,“u301a”:“u301b”,“u301d”:“u301e”,“ufd3e”:“ufd3f”,“ufe17”:“ufe18”,“ufe59”:“ufe5a”,“ufe5b”:“ufe5c”,“ufe5d”:“ufe5e”,“uff08”:“uff09”,“uff3b”:“uff3d”,“uff5b”:“uff5d”,“uff5f”:“uff60”,“uff62”:“uff63”,“u2308”:“u2309”,“u230a”:“u230b”,“u230c”:“u230d”,“u230e”:“u230f”,“u231c”:“u231d”,“u231e”:“u231f”,“u239b”:“u239e”,“u239c”:“u239f”,“u239d”:“u23a0”,“u23a1”:“u23a4”, “u23a2”:“u23a5”,“u23a3”:“u23a6”,“u23a7”:“u23ab”,“u23a8”:“u23ac”,“u23a9”:“u23ad”,“u23b0”:“u23b1”,“u23b8”:“u23b9”};this.topBottomPairs={“u23b4”:“u23b5”,“u23dc”:“u23dd”,“u23de”:“u23df”,“u23e0”:“u23e1”,“ufe35”:“ufe36”,“ufe37”:“ufe38”,“ufe39”:“ufe3a”,“ufe3b”:“ufe3c”,“ufe3d”:“ufe3e”,“ufe3f”:“ufe40”,“ufe41”:“ufe42”,“ufe43”:“ufe44”,“ufe47”:“ufe48”};this.leftFences=sre.SemanticUtil.objectsToKeys(this.openClosePairs);this.rightFences=sre.SemanticUtil.objectsToValues(this.openClosePairs); this.rightFences.push(“u301f”);this.topFences=sre.SemanticUtil.objectsToKeys(this.topBottomPairs);this.bottomFences=sre.SemanticUtil.objectsToValues(this.topBottomPairs);this.neutralFences=“|u00a6u2016u2758u2980u2af4uffe4uff5c”.split(“”);this.allFences=this.neutralFences.concat(this.leftFences,this.rightFences,this.topFences,this.bottomFences);this.capitalLatin=“ABCDEFGHIJKLMNOPQRSTUVWXYZ”.split(“”);this.smallLatin=“abcdefghijklmnopqrstuvwxyzu0131u0237”.split(“”);this.capitalLatinFullWidth= “uff21uff22uff23uff24uff25uff26uff27uff28uff29uff2auff2buff2cuff2duff2euff2fuff30uff31uff32uff33uff34uff35uff36uff37uff38uff39uff3a”.split(“”);this.smallLatinFullWidth=“uff41uff42uff43uff44uff45uff46uff47uff48uff49uff4auff4buff4cuff4duff4euff4fuff50uff51uff52uff53uff54uff55uff56uff57uff58uff59uff5a”.split(“”);this.capitalLatinBold=“ud835udc00 ud835udc01 ud835udc02 ud835udc03 ud835udc04 ud835udc05 ud835udc06 ud835udc07 ud835udc08 ud835udc09 ud835udc0a ud835udc0b ud835udc0c ud835udc0d ud835udc0e ud835udc0f ud835udc10 ud835udc11 ud835udc12 ud835udc13 ud835udc14 ud835udc15 ud835udc16 ud835udc17 ud835udc18 ud835udc19”.split(“ ”); this.smallLatinBold=“ud835udc1a ud835udc1b ud835udc1c ud835udc1d ud835udc1e ud835udc1f ud835udc20 ud835udc21 ud835udc22 ud835udc23 ud835udc24 ud835udc25 ud835udc26 ud835udc27 ud835udc28 ud835udc29 ud835udc2a ud835udc2b ud835udc2c ud835udc2d ud835udc2e ud835udc2f ud835udc30 ud835udc31 ud835udc32 ud835udc33”.split(“ ”);this.capitalLatinItalic=“ud835udc34 ud835udc35 ud835udc36 ud835udc37 ud835udc38 ud835udc39 ud835udc3a ud835udc3b ud835udc3c ud835udc3d ud835udc3e ud835udc3f ud835udc40 ud835udc41 ud835udc42 ud835udc43 ud835udc44 ud835udc45 ud835udc46 ud835udc47 ud835udc48 ud835udc49 ud835udc4a ud835udc4b ud835udc4c ud835udc4d”.split(“ ”); this.smallLatinItalic=“ud835udc4e ud835udc4f ud835udc50 ud835udc51 ud835udc52 ud835udc53 ud835udc54 u210e ud835udc56 ud835udc57 ud835udc58 ud835udc59 ud835udc5a ud835udc5b ud835udc5c ud835udc5d ud835udc5e ud835udc5f ud835udc60 ud835udc61 ud835udc62 ud835udc63 ud835udc64 ud835udc65 ud835udc66 ud835udc67 ud835udea4 ud835udea5”.split(“ ”);this.capitalLatinScript=“ud835udc9c u212c ud835udc9e ud835udc9f u2130 u2131 ud835udca2 u210b u2110 ud835udca5 ud835udca6 u2112 u2133 ud835udca9 ud835udcaa ud835udcab ud835udcac u211b ud835udcae ud835udcaf ud835udcb0 ud835udcb1 ud835udcb2 ud835udcb3 ud835udcb4 ud835udcb5 u2118”.split(“ ”); this.smallLatinScript=“ud835udcb6 ud835udcb7 ud835udcb8 ud835udcb9 u212f ud835udcbb u210a ud835udcbd ud835udcbe ud835udcbf ud835udcc0 ud835udcc1 ud835udcc2 ud835udcc3 u2134 ud835udcc5 ud835udcc6 ud835udcc7 ud835udcc8 ud835udcc9 ud835udcca ud835udccb ud835udccc ud835udccd ud835udcce ud835udccf u2113”.split(“ ”);this.capitalLatinBoldScript=“ud835udcd0 ud835udcd1 ud835udcd2 ud835udcd3 ud835udcd4 ud835udcd5 ud835udcd6 ud835udcd7 ud835udcd8 ud835udcd9 ud835udcda ud835udcdb ud835udcdc ud835udcdd ud835udcde ud835udcdf ud835udce0 ud835udce1 ud835udce2 ud835udce3 ud835udce4 ud835udce5 ud835udce6 ud835udce7 ud835udce8 ud835udce9”.split(“ ”); this.smallLatinBoldScript=“ud835udcea ud835udceb ud835udcec ud835udced ud835udcee ud835udcef ud835udcf0 ud835udcf1 ud835udcf2 ud835udcf3 ud835udcf4 ud835udcf5 ud835udcf6 ud835udcf7 ud835udcf8 ud835udcf9 ud835udcfa ud835udcfb ud835udcfc ud835udcfd ud835udcfe ud835udcff ud835udd00 ud835udd01 ud835udd02 ud835udd03”.split(“ ”);this.capitalLatinFraktur=“ud835udd04 ud835udd05 u212d ud835udd07 ud835udd08 ud835udd09 ud835udd0a u210c u2111 ud835udd0d ud835udd0e ud835udd0f ud835udd10 ud835udd11 ud835udd12 ud835udd13 ud835udd14 u211c ud835udd16 ud835udd17 ud835udd18 ud835udd19 ud835udd1a ud835udd1b ud835udd1c u2128”.split(“ ”); this.smallLatinFraktur=“ud835udd1e ud835udd1f ud835udd20 ud835udd21 ud835udd22 ud835udd23 ud835udd24 ud835udd25 ud835udd26 ud835udd27 ud835udd28 ud835udd29 ud835udd2a ud835udd2b ud835udd2c ud835udd2d ud835udd2e ud835udd2f ud835udd30 ud835udd31 ud835udd32 ud835udd33 ud835udd34 ud835udd35 ud835udd36 ud835udd37”.split(“ ”);this.capitalLatinDoubleStruck=“ud835udd38 ud835udd39 u2102 ud835udd3b ud835udd3c ud835udd3d ud835udd3e u210d ud835udd40 ud835udd41 ud835udd42 ud835udd43 ud835udd44 u2115 ud835udd46 u2119 u211a u211d ud835udd4a ud835udd4b ud835udd4c ud835udd4d ud835udd4e ud835udd4f ud835udd50 u2124”.split(“ ”); this.smallLatinDoubleStruck=“ud835udd52 ud835udd53 ud835udd54 ud835udd55 ud835udd56 ud835udd57 ud835udd58 ud835udd59 ud835udd5a ud835udd5b ud835udd5c ud835udd5d ud835udd5e ud835udd5f ud835udd60 ud835udd61 ud835udd62 ud835udd63 ud835udd64 ud835udd65 ud835udd66 ud835udd67 ud835udd68 ud835udd69 ud835udd6a ud835udd6b”.split(“ ”);this.capitalLatinBoldFraktur=“ud835udd6c ud835udd6d ud835udd6e ud835udd6f ud835udd70 ud835udd71 ud835udd72 ud835udd73 ud835udd74 ud835udd75 ud835udd76 ud835udd77 ud835udd78 ud835udd79 ud835udd7a ud835udd7b ud835udd7c ud835udd7d ud835udd7e ud835udd7f ud835udd80 ud835udd81 ud835udd82 ud835udd83 ud835udd84 ud835udd85”.split(“ ”); this.smallLatinBoldFraktur=“ud835udd86 ud835udd87 ud835udd88 ud835udd89 ud835udd8a ud835udd8b ud835udd8c ud835udd8d ud835udd8e ud835udd8f ud835udd90 ud835udd91 ud835udd92 ud835udd93 ud835udd94 ud835udd95 ud835udd96 ud835udd97 ud835udd98 ud835udd99 ud835udd9a ud835udd9b ud835udd9c ud835udd9d ud835udd9e ud835udd9f”.split(“ ”);this.capitalLatinSansSerif=“ud835udda0 ud835udda1 ud835udda2 ud835udda3 ud835udda4 ud835udda5 ud835udda6 ud835udda7 ud835udda8 ud835udda9 ud835uddaa ud835uddab ud835uddac ud835uddad ud835uddae ud835uddaf ud835uddb0 ud835uddb1 ud835uddb2 ud835uddb3 ud835uddb4 ud835uddb5 ud835uddb6 ud835uddb7 ud835uddb8 ud835uddb9”.split(“ ”); this.smallLatinSansSerif=“ud835uddba ud835uddbb ud835uddbc ud835uddbd ud835uddbe ud835uddbf ud835uddc0 ud835uddc1 ud835uddc2 ud835uddc3 ud835uddc4 ud835uddc5 ud835uddc6 ud835uddc7 ud835uddc8 ud835uddc9 ud835uddca ud835uddcb ud835uddcc ud835uddcd ud835uddce ud835uddcf ud835uddd0 ud835uddd1 ud835uddd2 ud835uddd3”.split(“ ”);this.capitalLatinSansSerifBold=“ud835uddd4 ud835uddd5 ud835uddd6 ud835uddd7 ud835uddd8 ud835uddd9 ud835uddda ud835udddb ud835udddc ud835udddd ud835uddde ud835udddf ud835udde0 ud835udde1 ud835udde2 ud835udde3 ud835udde4 ud835udde5 ud835udde6 ud835udde7 ud835udde8 ud835udde9 ud835uddea ud835uddeb ud835uddec ud835udded”.split(“ ”); this.smallLatinSansSerifBold=“ud835uddee ud835uddef ud835uddf0 ud835uddf1 ud835uddf2 ud835uddf3 ud835uddf4 ud835uddf5 ud835uddf6 ud835uddf7 ud835uddf8 ud835uddf9 ud835uddfa ud835uddfb ud835uddfc ud835uddfd ud835uddfe ud835uddff ud835ude00 ud835ude01 ud835ude02 ud835ude03 ud835ude04 ud835ude05 ud835ude06 ud835ude07”.split(“ ”);this.capitalLatinSansSerifItalic=“ud835ude08 ud835ude09 ud835ude0a ud835ude0b ud835ude0c ud835ude0d ud835ude0e ud835ude0f ud835ude10 ud835ude11 ud835ude12 ud835ude13 ud835ude14 ud835ude15 ud835ude16 ud835ude17 ud835ude18 ud835ude19 ud835ude1a ud835ude1b ud835ude1c ud835ude1d ud835ude1e ud835ude1f ud835ude20 ud835ude21”.split(“ ”); this.smallLatinSansSerifItalic=“ud835ude22 ud835ude23 ud835ude24 ud835ude25 ud835ude26 ud835ude27 ud835ude28 ud835ude29 ud835ude2a ud835ude2b ud835ude2c ud835ude2d ud835ude2e ud835ude2f ud835ude30 ud835ude31 ud835ude32 ud835ude33 ud835ude34 ud835ude35 ud835ude36 ud835ude37 ud835ude38 ud835ude39 ud835ude3a ud835ude3b”.split(“ ”);this.capitalLatinMonospace=“ud835ude70 ud835ude71 ud835ude72 ud835ude73 ud835ude74 ud835ude75 ud835ude76 ud835ude77 ud835ude78 ud835ude79 ud835ude7a ud835ude7b ud835ude7c ud835ude7d ud835ude7e ud835ude7f ud835ude80 ud835ude81 ud835ude82 ud835ude83 ud835ude84 ud835ude85 ud835ude86 ud835ude87 ud835ude88 ud835ude89”.split(“ ”); this.smallLatinMonospace=“ud835ude8a ud835ude8b ud835ude8c ud835ude8d ud835ude8e ud835ude8f ud835ude90 ud835ude91 ud835ude92 ud835ude93 ud835ude94 ud835ude95 ud835ude96 ud835ude97 ud835ude98 ud835ude99 ud835ude9a ud835ude9b ud835ude9c ud835ude9d ud835ude9e ud835ude9f ud835udea0 ud835udea1 ud835udea2 ud835udea3”.split(“ ”);this.latinDoubleStruckItalic=;this.capitalGreek=“u0391u0392u0393u0394u0395u0396u0397u0398u0399u039au039bu039cu039du039eu039fu03a0u03a1u03a3u03a4u03a5u03a6u03a7u03a8u03a9”.split(“”); this.smallGreek=“u03b1u03b2u03b3u03b4u03b5u03b6u03b7u03b8u03b9u03bau03bbu03bcu03bdu03beu03bfu03c0u03c1u03c2u03c3u03c4u03c5u03c6u03c7u03c8u03c9”.split(“”);this.capitalGreekBold=“ud835udea8 ud835udea9 ud835udeaa ud835udeab ud835udeac ud835udead ud835udeae ud835udeaf ud835udeb0 ud835udeb1 ud835udeb2 ud835udeb3 ud835udeb4 ud835udeb5 ud835udeb6 ud835udeb7 ud835udeb8 ud835udeba ud835udebb ud835udebc ud835udebd ud835udebe ud835udebf ud835udec0”.split(“ ”); this.smallGreekBold=“ud835udec2 ud835udec3 ud835udec4 ud835udec5 ud835udec6 ud835udec7 ud835udec8 ud835udec9 ud835udeca ud835udecb ud835udecc ud835udecd ud835udece ud835udecf ud835uded0 ud835uded1 ud835uded2 ud835uded3 ud835uded4 ud835uded5 ud835uded6 ud835uded7 ud835uded8 ud835uded9 ud835udeda”.split(“ ”);this.capitalGreekItalic=“ud835udee2 ud835udee3 ud835udee4 ud835udee5 ud835udee6 ud835udee7 ud835udee8 ud835udee9 ud835udeea ud835udeeb ud835udeec ud835udeed ud835udeee ud835udeef ud835udef0 ud835udef1 ud835udef2 ud835udef4 ud835udef5 ud835udef6 ud835udef7 ud835udef8 ud835udef9 ud835udefa”.split(“ ”); this.smallGreekItalic=“ud835udefc ud835udefd ud835udefe ud835udeff ud835udf00 ud835udf01 ud835udf02 ud835udf03 ud835udf04 ud835udf05 ud835udf06 ud835udf07 ud835udf08 ud835udf09 ud835udf0a ud835udf0b ud835udf0c ud835udf0d ud835udf0e ud835udf0f ud835udf10 ud835udf11 ud835udf12 ud835udf13 ud835udf14”.split(“ ”);this.capitalGreekSansSerifBold=“ud835udf56 ud835udf57 ud835udf58 ud835udf59 ud835udf5a ud835udf5b ud835udf5c ud835udf5d ud835udf5e ud835udf5f ud835udf60 ud835udf61 ud835udf62 ud835udf63 ud835udf64 ud835udf65 ud835udf66 ud835udf68 ud835udf69 ud835udf6a ud835udf6b ud835udf6c ud835udf6d ud835udf6e”.split(“ ”); this.smallGreekSansSerifBold=“ud835udf70 ud835udf71 ud835udf72 ud835udf73 ud835udf74 ud835udf75 ud835udf76 ud835udf77 ud835udf78 ud835udf79 ud835udf7a ud835udf7b ud835udf7c ud835udf7d ud835udf7e ud835udf7f ud835udf80 ud835udf81 ud835udf82 ud835udf83 ud835udf84 ud835udf85 ud835udf86 ud835udf87 ud835udf88”.split(“ ”);this.greekDoubleStruck=;this.greekSpecial=“u03d0u03d1u03d5u03d6u03d7u03f0u03f1u03f5u03f6u03f4”.split(“”); this.greekSpecialBold=“ud835udedc ud835udedd ud835udede ud835udedf ud835udee0 ud835udee1”.split(“ ”);this.greekSpecialItalic=“ud835udf16 ud835udf17 ud835udf18 ud835udf19 ud835udf1a ud835udf1b”.split(“ ”);this.greekSpecialSansSerifBold=“ud835udf8a ud835udf8b ud835udf8c ud835udf8d ud835udf8e ud835udf8f”.split(“ ”);this.hebrewLetters=;this.allLetters=this.capitalLatin.concat(this.smallLatin,this.capitalLatinFullWidth,this.smallLatinFullWidth, this.capitalLatinBold,this.smallLatinBold,this.capitalLatinItalic,this.smallLatinItalic,this.capitalLatinScript,this.smallLatinScript,this.capitalLatinBoldScript,this.smallLatinBoldScript,this.capitalLatinFraktur,this.smallLatinFraktur,this.capitalLatinDoubleStruck,this.smallLatinDoubleStruck,this.capitalLatinBoldFraktur,this.smallLatinBoldFraktur,this.capitalLatinSansSerif,this.smallLatinSansSerif,this.capitalLatinSansSerifBold,this.smallLatinSansSerifBold,this.capitalLatinSansSerifItalic,this.smallLatinSansSerifItalic, this.capitalLatinMonospace,this.smallLatinMonospace,this.latinDoubleStruckItalic,this.capitalGreek,this.smallGreek,this.capitalGreekBold,this.smallGreekBold,this.capitalGreekItalic,this.smallGreekItalic,this.capitalGreekSansSerifBold,this.smallGreekSansSerifBold,this.greekDoubleStruck,this.greekSpecial,this.greekSpecialBold,this.greekSpecialItalic,this.greekSpecialSansSerifBold,this.hebrewLetters);this.additions=“+u00b1u2213u2214u2227u2228u2229u222au228cu2293u2294u229du229eu22a4u22a5u22bau22bbu22bcu22c4u22ceu22cfu22d2u22d3u25b3u25b7u25bdu25c1u2a5eu2295”.split(“”); this.invisiblePlus_=sre.SemanticUtil.numberToUnicode(8292);this.additions.push(this.invisiblePlus_);this.multiplications=“u2020u2021u2210u2217u2218u2219u2240u229au229bu22a0u22a1u22c5u22c6u22c7u22c9u22cau22cbu22ccu25cbu00b7*”.split(“”);this.invisibleTimes_=sre.SemanticUtil.numberToUnicode(8290);this.multiplications.push(this.invisibleTimes_);this.subtractions=“-u2052u207bu208bu2212u2216u2238u2242u2296u229fu2796u2a29u2a2au2a2bu2a2cu2a3au2a41u2a6cufe63uff0du2010u2011”.split(“”); this.divisions=“/u00f7u2044u2215u2298u27ccu29bcu2a38”.split(“”);this.functionApplication_=sre.SemanticUtil.numberToUnicode(8289);this.equalities=“=~u207cu208cu223cu223du2243u2245u2248u224au224bu224cu224du224eu2251u2252u2253u2254u2255u2256u2257u2258u2259u225au225bu225cu225du225eu225fu2261u2263u29e4u2a66u2a6eu2a6fu2a70u2a71u2a72u2a73u2a74u2a75u2a76u2a77u2a78u22d5u2a6du2a6au2a6bu2a6cufe66uff1d”.split(“”);this.inequalities=“<>u2241u2242u2244u2246u2247u2249u224fu2250u2260u2262u2264u2265u2266u2267u2268u2269u226au226bu226cu226du226eu226fu2270u2271u2272u2273u2274u2275u2276u2277u2278u2279u227au227bu227cu227du227eu227fu2280u2281u22d6u22d7u22d8u22d9u22dau22dbu22dcu22ddu22deu22dfu22e0u22e1u22e2u22e3u22e4u22e5u22e6u22e7u22e8u22e9u2a79u2a7au2a7bu2a7cu2a7du2a7eu2a7fu2a80u2a81u2a82u2a83u2a84u2a85u2a86u2a87u2a88u2a89u2a8au2a8bu2a8cu2a8du2a8eu2a8fu2a90u2a91u2a92u2a93u2a94u2a95u2a96u2a97u2a98u2a99u2a9au2a9bu2a9cu2a9du2a9eu2a9fu2aa0u2aa1u2aa2u2aa3u2aa4u2aa5u2aa6u2aa7u2aa8u2aa9u2aaau2aabu2aacu2aadu2aaeu2aafu2ab0u2ab1u2ab2u2ab3u2ab4u2ab5u2ab6u2ab7u2ab8u2ab9u2abau2abbu2abcu2af7u2af8u2af9u2afau29c0u29c1ufe64ufe65uff1cuff1e”.split(“”); this.relations=[];this.arrows=“u2190u2191u2192u2193u2194u2195u2196u2197u2198u2199u219au219bu219cu219du219eu219fu21a0u21a1u21a2u21a3u21a4u21a5u21a6u21a7u21a8u21a9u21aau21abu21acu21adu21aeu21afu21b0u21b1u21b2u21b3u21b4u21b5u21b6u21b7u21b8u21b9u21bau21bbu21c4u21c5u21c6u21c7u21c8u21c9u21cau21cdu21ceu21cfu21d0u21d1u21d2u21d3u21d4u21d5u21d6u21d7u21d8u21d9u21dau21dbu21dcu21ddu21deu21dfu21e0u21e1u21e2u21e3u21e4u21e5u21e6u21e7u21e8u21e9u21eau21ebu21ecu21edu21eeu21efu21f0u21f1u21f2u21f3u21f4u21f5u21f6u21f7u21f8u21f9u21fau21fbu21fcu21fdu21feu21ffu2301u2303u2304u2324u238bu2794u2798u2799u279au279bu279cu279du279eu279fu27a0u27a1u27a2u27a3u27a4u27a5u27a6u27a7u27a8u27a9u27aau27abu27acu27adu27aeu27afu27b1u27b2u27b3u27b4u27b5u27b6u27b7u27b8u27b9u27bau27bbu27bcu27bdu27beu27f0u27f1u27f2u27f3u27f4u27f5u27f6u27f7u27f8u27f9u27fau27fbu27fcu27fdu27feu27ffu2900u2901u2902u2903u2904u2905u2906u2907u2908u2909u290au290bu290cu290du290eu290fu2910u2911u2912u2913u2914u2915u2916u2917u2918u2919u291au291bu291cu291du291eu291fu2920u2921u2922u2923u2924u2925u2926u2927u2928u2929u292au292du292eu292fu2930u2931u2932u2933u2934u2935u2936u2937u2938u2939u293au293bu293cu293du293eu293fu2940u2941u2942u2943u2944u2945u2946u2947u2948u2949u2970u2971u2972u2973u2974u2975u2976u2977u2978u2979u297au297bu29b3u29b4u29bdu29eau29ecu29edu2a17u2b00u2b01u2b02u2b03u2b04u2b05u2b06u2b07u2b08u2b09u2b0au2b0bu2b0cu2b0du2b0eu2b0fu2b10u2b11u2b30u2b31u2b32u2b33u2b34u2b35u2b36u2b37u2b38u2b39u2b3au2b3bu2b3cu2b3du2b3eu2b3fu2b40u2b41u2b42u2b43u2b44u2b45u2b46u2b47u2b48u2b49u2b4au2b4bu2b4cuffe9uffeauffebuffecu21bcu21bdu21beu21bfu21c0u21c1u21c2u21c3u21cbu21ccu294au294bu294cu294du294eu294fu2950u2951u2952u2953u2954u2955u2956u2957u2958u2959u295au295bu295cu295du295eu295fu2960u2961u2962u2963u2964u2965u2966u2967u2968u2969u296au296bu296cu296du296eu296fu297cu297du297eu297f”.split(“”); this.sumOps=“u2140u220fu2210u2211u22c0u22c1u22c2u22c3u2a00u2a01u2a02u2a03u2a04u2a05u2a06u2a07u2a08u2a09u2a0au2a0bu2afcu2aff”.split(“”);this.intOps=“u222bu222cu222du222eu222fu2230u2231u2232u2233u2a0cu2a0du2a0eu2a0fu2a10u2a11u2a12u2a13u2a14u2a15u2a16u2a17u2a18u2a19u2a1au2a1bu2a1c”.split(“”);this.prefixOps=“u2200u2203u2206u2207u2202u2201u2204”.split(“”);this.prefixOpsBold=;this.prefixOpsItalic= [“ud835udefb”,“ud835udf15”];this.prefixOpsSansSerifBold=;this.operatorBits=“u2320u2321u23b6u23aau23aeu23afu23b2u23b3u23b7”.split(“”);this.digitsNormal=“0123456789”.split(“”);this.digitsFullWidth=“uff10uff11uff12uff13uff14uff15uff16uff17uff18uff19”.split(“”);this.digitsBold=“ud835udfce ud835udfcf ud835udfd0 ud835udfd1 ud835udfd2 ud835udfd3 ud835udfd4 ud835udfd5 ud835udfd6 ud835udfd7”.split(“ ”);this.digitsDoubleStruck=“ud835udfd8 ud835udfd9 ud835udfda ud835udfdb ud835udfdc ud835udfdd ud835udfde ud835udfdf ud835udfe0 ud835udfe1”.split(“ ”); this.digitsSansSerif=“ud835udfe2 ud835udfe3 ud835udfe4 ud835udfe5 ud835udfe6 ud835udfe7 ud835udfe8 ud835udfe9 ud835udfea ud835udfeb”.split(“ ”);this.digitsSansSerifBold=“ud835udfec ud835udfed ud835udfee ud835udfef ud835udff0 ud835udff1 ud835udff2 ud835udff3 ud835udff4 ud835udff5”.split(“ ”);this.digitsMonospace=“ud835udff6 ud835udff7 ud835udff8 ud835udff9 ud835udffa ud835udffb ud835udffc ud835udffd ud835udffe ud835udfff”.split(“ ”);this.digitsSuperscript= “u00b2u00b3u00b9u2070u2074u2075u2076u2077u2078u2079”.split(“”);this.digitsSubscript=“u2080u2081u2082u2083u2084u2085u2086u2087u2088u2089”.split(“”);this.fractions=“u00bcu00bdu00beu2150u2151u2152u2153u2154u2155u2156u2157u2158u2159u215au215bu215cu215du215eu215fu2189”.split(“”);this.enclosedNumbers=“u2460u2461u2462u2463u2464u2465u2466u2467u2468u2469u246au246bu246cu246du246eu246fu2470u2471u2472u2473u24eau24ebu24ecu24edu24eeu24efu24f0u24f1u24f2u24f3u24f4u24f5u24f6u24f7u24f8u24f9u24fau24fbu24fcu24fdu24feu24ffu2776u2777u2778u2779u277au277bu277cu277du277eu277fu2780u2781u2782u2783u2784u2785u2786u2787u2788u2789u278au278bu278cu278du278eu278fu2790u2791u2792u2793u3248u3249u324au324bu324cu324du324eu324fu3251u3252u3253u3254u3255u3256u3257u3258u3259u325au325bu325cu325du325eu325fu32b1u32b2u32b3u32b4u32b5u32b6u32b7u32b8u32b9u32bau32bbu32bcu32bdu32beu32bf”.split(“”); this.fencedNumbers=“u2474u2475u2476u2477u2478u2479u247au247bu247cu247du247eu247fu2480u2481u2482u2483u2484u2485u2486u2487”.split(“”);this.punctuatedNumbers=“u2488 u2489 u248a u248b u248c u248d u248e u248f u2490 u2491 u2492 u2493 u2494 u2495 u2496 u2497 u2498 u2499 u249a u249b ud83cudd00 ud83cudd01 ud83cudd02 ud83cudd03 ud83cudd04 ud83cudd05 ud83cudd06 ud83cudd07 ud83cudd08 ud83cudd09 ud83cudd0a”.split(“ ”);this.digits=this.digitsNormal.concat(this.digitsFullWidth, this.digitsBold,this.digitsDoubleStruck,this.digitsSansSerif,this.digitsSansSerifBold,this.digitsMonospace);this.numbers=this.fractions.concat(this.digitsSuperscript,this.digitsSubscript,this.enclosedNumbers,this.fencedNumbers,this.punctuatedNumbers);this.allNumbers=this.digits.concat(this.numbers);this.trigonometricFunctions=“cos cot csc sec sin tan arccos arccot arccsc arcsec arcsin arctan”.split(“ ”);this.hyperbolicFunctions=“cosh coth csch sech sinh tanh arcosh arcoth arcsch arsech arsinh artanh arccosh arccoth arccsch arcsech arcsinh arctanh”.split(“ ”); this.algebraicFunctions=“deg det dim hom ker Tr tr”.split(“ ”);this.elementaryFunctions=“log ln lg exp expt gcd gcd arg im re Pr”.split(“ ”);this.prefixFunctions=this.trigonometricFunctions.concat(this.hyperbolicFunctions,this.algebraicFunctions,this.elementaryFunctions);this.limitFunctions=“inf lim liminf limsup max min sup injlim projlim”.split(“ ”);this.infixFunctions=;this.symbolSetToSemantic_=[{set:this.generalPunctuations,type:sre.SemanticAttr.Type.PUNCTUATION,role:sre.SemanticAttr.Role.UNKNOWN}, {set:this.commas,type:sre.SemanticAttr.Type.PUNCTUATION,role:sre.SemanticAttr.Role.COMMA},{set:this.ellipses,type:sre.SemanticAttr.Type.PUNCTUATION,role:sre.SemanticAttr.Role.ELLIPSIS},{set:this.fullStops,type:sre.SemanticAttr.Type.PUNCTUATION,role:sre.SemanticAttr.Role.FULLSTOP},{set:this.dashes,type:sre.SemanticAttr.Type.PUNCTUATION,role:sre.SemanticAttr.Role.DASH},{set:this.primes,type:sre.SemanticAttr.Type.PUNCTUATION,role:sre.SemanticAttr.Role.PRIME},{set:this.leftFences,type:sre.SemanticAttr.Type.FENCE, role:sre.SemanticAttr.Role.OPEN},{set:this.rightFences,type:sre.SemanticAttr.Type.FENCE,role:sre.SemanticAttr.Role.CLOSE},{set:this.topFences,type:sre.SemanticAttr.Type.FENCE,role:sre.SemanticAttr.Role.TOP},{set:this.bottomFences,type:sre.SemanticAttr.Type.FENCE,role:sre.SemanticAttr.Role.BOTTOM},{set:this.neutralFences,type:sre.SemanticAttr.Type.FENCE,role:sre.SemanticAttr.Role.NEUTRAL},{set:this.smallLatin,type:sre.SemanticAttr.Type.IDENTIFIER,role:sre.SemanticAttr.Role.LATINLETTER,font:sre.SemanticAttr.Font.NORMAL}, {set:this.capitalLatin,type:sre.SemanticAttr.Type.IDENTIFIER,role:sre.SemanticAttr.Role.LATINLETTER,font:sre.SemanticAttr.Font.NORMAL},{set:this.smallLatinFullWidth,type:sre.SemanticAttr.Type.IDENTIFIER,role:sre.SemanticAttr.Role.LATINLETTER,font:sre.SemanticAttr.Font.NORMAL},{set:this.capitalLatinFullWidth,type:sre.SemanticAttr.Type.IDENTIFIER,role:sre.SemanticAttr.Role.LATINLETTER,font:sre.SemanticAttr.Font.NORMAL},{set:this.smallLatinBold,type:sre.SemanticAttr.Type.IDENTIFIER,role:sre.SemanticAttr.Role.LATINLETTER, font:sre.SemanticAttr.Font.BOLD},{set:this.capitalLatinBold,type:sre.SemanticAttr.Type.IDENTIFIER,role:sre.SemanticAttr.Role.LATINLETTER,font:sre.SemanticAttr.Font.BOLD},{set:this.smallLatinItalic,type:sre.SemanticAttr.Type.IDENTIFIER,role:sre.SemanticAttr.Role.LATINLETTER,font:sre.SemanticAttr.Font.ITALIC},{set:this.capitalLatinItalic,type:sre.SemanticAttr.Type.IDENTIFIER,role:sre.SemanticAttr.Role.LATINLETTER,font:sre.SemanticAttr.Font.ITALIC},{set:this.smallLatinScript,type:sre.SemanticAttr.Type.IDENTIFIER, role:sre.SemanticAttr.Role.LATINLETTER,font:sre.SemanticAttr.Font.SCRIPT},{set:this.capitalLatinScript,type:sre.SemanticAttr.Type.IDENTIFIER,role:sre.SemanticAttr.Role.LATINLETTER,font:sre.SemanticAttr.Font.SCRIPT},{set:this.smallLatinBoldScript,type:sre.SemanticAttr.Type.IDENTIFIER,role:sre.SemanticAttr.Role.LATINLETTER,font:sre.SemanticAttr.Font.BOLDSCRIPT},{set:this.capitalLatinBoldScript,type:sre.SemanticAttr.Type.IDENTIFIER,role:sre.SemanticAttr.Role.LATINLETTER,font:sre.SemanticAttr.Font.BOLDSCRIPT}, {set:this.smallLatinFraktur,type:sre.SemanticAttr.Type.IDENTIFIER,role:sre.SemanticAttr.Role.LATINLETTER,font:sre.SemanticAttr.Font.FRAKTUR},{set:this.capitalLatinFraktur,type:sre.SemanticAttr.Type.IDENTIFIER,role:sre.SemanticAttr.Role.LATINLETTER,font:sre.SemanticAttr.Font.FRAKTUR},{set:this.smallLatinDoubleStruck,type:sre.SemanticAttr.Type.IDENTIFIER,role:sre.SemanticAttr.Role.LATINLETTER,font:sre.SemanticAttr.Font.DOUBLESTRUCK},{set:this.capitalLatinDoubleStruck,type:sre.SemanticAttr.Type.IDENTIFIER, role:sre.SemanticAttr.Role.LATINLETTER,font:sre.SemanticAttr.Font.DOUBLESTRUCK},{set:this.smallLatinBoldFraktur,type:sre.SemanticAttr.Type.IDENTIFIER,role:sre.SemanticAttr.Role.LATINLETTER,font:sre.SemanticAttr.Font.BOLDFRAKTUR},{set:this.capitalLatinBoldFraktur,type:sre.SemanticAttr.Type.IDENTIFIER,role:sre.SemanticAttr.Role.LATINLETTER,font:sre.SemanticAttr.Font.BOLDFRAKTUR},{set:this.smallLatinSansSerif,type:sre.SemanticAttr.Type.IDENTIFIER,role:sre.SemanticAttr.Role.LATINLETTER,font:sre.SemanticAttr.Font.SANSSERIF}, {set:this.capitalLatinSansSerif,type:sre.SemanticAttr.Type.IDENTIFIER,role:sre.SemanticAttr.Role.LATINLETTER,font:sre.SemanticAttr.Font.SANSSERIF},{set:this.smallLatinSansSerifBold,type:sre.SemanticAttr.Type.IDENTIFIER,role:sre.SemanticAttr.Role.LATINLETTER,font:sre.SemanticAttr.Font.SANSSERIFBOLD},{set:this.capitalLatinSansSerifBold,type:sre.SemanticAttr.Type.IDENTIFIER,role:sre.SemanticAttr.Role.LATINLETTER,font:sre.SemanticAttr.Font.SANSSERIFBOLD},{set:this.smallLatinSansSerifItalic,type:sre.SemanticAttr.Type.IDENTIFIER, role:sre.SemanticAttr.Role.LATINLETTER,font:sre.SemanticAttr.Font.SANSSERIFITALIC},{set:this.capitalLatinSansSerifItalic,type:sre.SemanticAttr.Type.IDENTIFIER,role:sre.SemanticAttr.Role.LATINLETTER,font:sre.SemanticAttr.Font.SANSSERIFITALIC},{set:this.smallLatinMonospace,type:sre.SemanticAttr.Type.IDENTIFIER,role:sre.SemanticAttr.Role.LATINLETTER,font:sre.SemanticAttr.Font.MONOSPACE},{set:this.capitalLatinMonospace,type:sre.SemanticAttr.Type.IDENTIFIER,role:sre.SemanticAttr.Role.LATINLETTER,font:sre.SemanticAttr.Font.MONOSPACE}, {set:this.latinDoubleStruckItalic,type:sre.SemanticAttr.Type.IDENTIFIER,role:sre.SemanticAttr.Role.LATINLETTER,font:sre.SemanticAttr.Font.DOUBLESTRUCKITALIC},{set:this.smallGreek,type:sre.SemanticAttr.Type.IDENTIFIER,role:sre.SemanticAttr.Role.GREEKLETTER,font:sre.SemanticAttr.Font.NORMAL},{set:this.capitalGreek,type:sre.SemanticAttr.Type.IDENTIFIER,role:sre.SemanticAttr.Role.GREEKLETTER,font:sre.SemanticAttr.Font.NORMAL},{set:this.smallGreekBold,type:sre.SemanticAttr.Type.IDENTIFIER,role:sre.SemanticAttr.Role.GREEKLETTER, font:sre.SemanticAttr.Font.BOLD},{set:this.capitalGreekBold,type:sre.SemanticAttr.Type.IDENTIFIER,role:sre.SemanticAttr.Role.GREEKLETTER,font:sre.SemanticAttr.Font.BOLD},{set:this.smallGreekItalic,type:sre.SemanticAttr.Type.IDENTIFIER,role:sre.SemanticAttr.Role.GREEKLETTER,font:sre.SemanticAttr.Font.ITALIC},{set:this.capitalGreekItalic,type:sre.SemanticAttr.Type.IDENTIFIER,role:sre.SemanticAttr.Role.GREEKLETTER,font:sre.SemanticAttr.Font.ITALIC},{set:this.smallGreekSansSerifBold,type:sre.SemanticAttr.Type.IDENTIFIER, role:sre.SemanticAttr.Role.GREEKLETTER,font:sre.SemanticAttr.Font.SANSSERIFBOLD},{set:this.capitalGreekSansSerifBold,type:sre.SemanticAttr.Type.IDENTIFIER,role:sre.SemanticAttr.Role.GREEKLETTER,font:sre.SemanticAttr.Font.SANSSERIFBOLD},{set:this.greekDoubleStruck,type:sre.SemanticAttr.Type.IDENTIFIER,role:sre.SemanticAttr.Role.GREEKLETTER,font:sre.SemanticAttr.Font.DOUBLESTRUCK},{set:this.greekSpecial,type:sre.SemanticAttr.Type.IDENTIFIER,role:sre.SemanticAttr.Role.GREEKLETTER,font:sre.SemanticAttr.Font.NORMAL}, {set:this.greekSpecialBold,type:sre.SemanticAttr.Type.IDENTIFIER,role:sre.SemanticAttr.Role.GREEKLETTER,font:sre.SemanticAttr.Font.BOLD},{set:this.greekSpecialItalic,type:sre.SemanticAttr.Type.IDENTIFIER,role:sre.SemanticAttr.Role.GREEKLETTER,font:sre.SemanticAttr.Font.ITALIC},{set:this.greekSpecialSansSerifBold,type:sre.SemanticAttr.Type.IDENTIFIER,role:sre.SemanticAttr.Role.GREEKLETTER,font:sre.SemanticAttr.Font.SANSSERIFBOLD},{set:this.hebrewLetters,type:sre.SemanticAttr.Type.IDENTIFIER,role:sre.SemanticAttr.Role.OTHERLETTER, font:sre.SemanticAttr.Font.NORMAL},{set:this.digitsNormal,type:sre.SemanticAttr.Type.NUMBER,role:sre.SemanticAttr.Role.INTEGER,font:sre.SemanticAttr.Font.NORMAL},{set:this.digitsFullWidth,type:sre.SemanticAttr.Type.NUMBER,role:sre.SemanticAttr.Role.INTEGER,font:sre.SemanticAttr.Font.NORMAL},{set:this.digitsBold,type:sre.SemanticAttr.Type.NUMBER,role:sre.SemanticAttr.Role.INTEGER,font:sre.SemanticAttr.Font.BOLD},{set:this.digitsDoubleStruck,type:sre.SemanticAttr.Type.NUMBER,role:sre.SemanticAttr.Role.INTEGER, font:sre.SemanticAttr.Font.DOUBLESTRUCK},{set:this.digitsSansSerif,type:sre.SemanticAttr.Type.NUMBER,role:sre.SemanticAttr.Role.INTEGER,font:sre.SemanticAttr.Font.SANSSERIF},{set:this.digitsSansSerifBold,type:sre.SemanticAttr.Type.NUMBER,role:sre.SemanticAttr.Role.INTEGER,font:sre.SemanticAttr.Font.SANSSERIFBOLD},{set:this.digitsMonospace,type:sre.SemanticAttr.Type.NUMBER,role:sre.SemanticAttr.Role.INTEGER,font:sre.SemanticAttr.Font.MONOSPACE},{set:this.numbers,type:sre.SemanticAttr.Type.NUMBER,role:sre.SemanticAttr.Role.FLOAT}, {set:this.additions,type:sre.SemanticAttr.Type.OPERATOR,role:sre.SemanticAttr.Role.ADDITION},{set:this.multiplications,type:sre.SemanticAttr.Type.OPERATOR,role:sre.SemanticAttr.Role.MULTIPLICATION},{set:this.subtractions,type:sre.SemanticAttr.Type.OPERATOR,role:sre.SemanticAttr.Role.SUBTRACTION},{set:this.divisions,type:sre.SemanticAttr.Type.OPERATOR,role:sre.SemanticAttr.Role.DIVISION},{set:this.prefixOps,type:sre.SemanticAttr.Type.PREFIXOP,role:sre.SemanticAttr.Role.PREFIXFUNC},{set:this.prefixOpsBold, type:sre.SemanticAttr.Type.PREFIXOP,role:sre.SemanticAttr.Role.PREFIXFUNC,font:sre.SemanticAttr.Font.BOLD},{set:this.prefixOpsItalic,type:sre.SemanticAttr.Type.PREFIXOP,role:sre.SemanticAttr.Role.PREFIXFUNC,font:sre.SemanticAttr.Font.ITALIC},{set:this.prefixOpsSansSerifBold,type:sre.SemanticAttr.Type.PREFIXOP,role:sre.SemanticAttr.Role.PREFIXFUNC,font:sre.SemanticAttr.Font.SANSSERIFBOLD},{set:this.equalities,type:sre.SemanticAttr.Type.RELATION,role:sre.SemanticAttr.Role.EQUALITY},{set:this.inequalities, type:sre.SemanticAttr.Type.RELATION,role:sre.SemanticAttr.Role.INEQUALITY},{set:this.relations,type:sre.SemanticAttr.Type.RELATION,role:sre.SemanticAttr.Role.UNKNOWN},{set:this.arrows,type:sre.SemanticAttr.Type.RELATION,role:sre.SemanticAttr.Role.ARROW},{set:this.sumOps,type:sre.SemanticAttr.Type.LARGEOP,role:sre.SemanticAttr.Role.SUM},{set:this.intOps,type:sre.SemanticAttr.Type.LARGEOP,role:sre.SemanticAttr.Role.INTEGRAL},{set:this.limitFunctions,type:sre.SemanticAttr.Type.FUNCTION,role:sre.SemanticAttr.Role.LIMFUNC}, {set:this.prefixFunctions,type:sre.SemanticAttr.Type.FUNCTION,role:sre.SemanticAttr.Role.PREFIXFUNC},{set:this.infixFunctions,type:sre.SemanticAttr.Type.OPERATOR,role:sre.SemanticAttr.Role.MULTIPLICATION}];this.meaning_=this.initMeaning_()};goog.addSingletonGetter(sre.SemanticAttr); sre.SemanticAttr.Type={PUNCTUATION:“punctuation”,FENCE:“fence”,NUMBER:“number”,IDENTIFIER:“identifier”,TEXT:“text”,OPERATOR:“operator”,RELATION:“relation”,LARGEOP:“largeop”,FUNCTION:“function”,ACCENT:“accent”,FENCED:“fenced”,FRACTION:“fraction”,PUNCTUATED:“punctuated”,RELSEQ:“relseq”,MULTIREL:“multirel”,INFIXOP:“infixop”,PREFIXOP:“prefixop”,POSTFIXOP:“postfixop”,APPL:“appl”,INTEGRAL:“integral”,BIGOP:“bigop”,SQRT:“sqrt”,ROOT:“root”,LIMUPPER:“limupper”,LIMLOWER:“limlower”,LIMBOTH:“limboth”,SUBSCRIPT:“subscript”, SUPERSCRIPT:“superscript”,UNDERSCORE:“underscore”,OVERSCORE:“overscore”,TENSOR:“tensor”,TABLE:“table”,MULTILINE:“multiline”,MATRIX:“matrix”,VECTOR:“vector”,CASES:“cases”,ROW:“row”,LINE:“line”,CELL:“cell”,ENCLOSE:“enclose”,UNKNOWN:“unknown”,EMPTY:“empty”}; sre.SemanticAttr.Role={COMMA:“comma”,ELLIPSIS:“ellipsis”,FULLSTOP:“fullstop”,DASH:“dash”,PRIME:“prime”,VBAR:“vbar”,OPENFENCE:“openfence”,CLOSEFENCE:“closefence”,APPLICATION:“application”,DUMMY:“dummy”,UNIT:“unit”,LABEL:“label”,OPEN:“open”,CLOSE:“close”,TOP:“top”,BOTTOM:“bottom”,NEUTRAL:“neutral”,LATINLETTER:“latinletter”,GREEKLETTER:“greekletter”,OTHERLETTER:“otherletter”,INTEGER:“integer”,FLOAT:“float”,OTHERNUMBER:“othernumber”,MIXED:“mixed”,MULTIACCENT:“multiaccent”,OVERACCENT:“overaccent”,UNDERACCENT:“underaccent”, UNDEROVER:“underover”,SUBSUP:“subsup”,LEFTSUB:“leftsub”,LEFTSUPER:“leftsuper”,RIGHTSUB:“rightsub”,RIGHTSUPER:“rightsuper”,LEFTRIGHT:“leftright”,ABOVEBELOW:“abovebelow”,STRING:“string”,SEQUENCE:“sequence”,ENDPUNCT:“endpunct”,STARTPUNCT:“startpunct”,TEXT:“text”,NEGATIVE:“negative”,NEGATION:“negation”,MULTIOP:“multiop”,LIMFUNC:“limit function”,INFIXFUNC:“infix function”,PREFIXFUNC:“prefix function”,POSTFIXFUNC:“postfix function”,SIMPLEFUNC:“simple function”,SUM:“sum”,INTEGRAL:“integral”,ADDITION:“addition”, MULTIPLICATION:“multiplication”,SUBTRACTION:“subtraction”,IMPLICIT:“implicit”,DIVISION:“division”,VULGAR:“vulgar”,EQUALITY:“equality”,INEQUALITY:“inequality”,ELEMENT:“element”,ARROW:“arrow”,DETERMINANT:“determinant”,ROWVECTOR:“rowvector”,BINOMIAL:“binomial”,SQUAREMATRIX:“squarematrix”,MULTILINE:“multiline”,MATRIX:“matrix”,VECTOR:“vector”,CASES:“cases”,TABLE:“table”,UNKNOWN:“unknown”,PROTECTED:“protected”}; sre.SemanticAttr.Font={BOLD:“bold”,BOLDFRAKTUR:“bold-fraktur”,BOLDITALIC:“bold-italic”,BOLDSCRIPT:“bold-script”,CALIGRAPHIC:“caligraphic”,CALIGRAPHICBOLD:“caligraphic-bold”,DOUBLESTRUCK:“double-struck”,DOUBLESTRUCKITALIC:“double-struck-italic”,FRAKTUR:“fraktur”,ITALIC:“italic”,MONOSPACE:“monospace”,NORMAL:“normal”,OLDSTYLE:“oldstyle”,OLDSTYLEBOLD:“oldstyle-bold”,SCRIPT:“script”,SANSSERIF:“sans-serif”,SANSSERIFITALIC:“sans-serif-italic”,SANSSERIFBOLD:“sans-serif-bold”,SANSSERIFBOLDITALIC:“sans-serif-bold-italic”, UNKNOWN:“unknown”};sre.SemanticAttr.prototype.lookupType=function(a){return sre.SemanticAttr.Type.UNKNOWN};sre.SemanticAttr.prototype.lookupRole=function(a){return sre.SemanticAttr.Role.UNKNOWN};sre.SemanticAttr.lookupMeaning=function(a){return sre.SemanticAttr.getInstance().lookupMeaning_(a)};sre.SemanticAttr.invisibleTimes=function(){return sre.SemanticAttr.getInstance().invisibleTimes_};sre.SemanticAttr.invisibleComma=function(){return sre.SemanticAttr.getInstance().invisibleComma_}; sre.SemanticAttr.functionApplication=function(){return sre.SemanticAttr.getInstance().functionApplication_};sre.SemanticAttr.isMatchingFenceRole=function(a,b){return a==sre.SemanticAttr.Role.OPEN&&b==sre.SemanticAttr.Role.CLOSE||a==sre.SemanticAttr.Role.NEUTRAL&&b==sre.SemanticAttr.Role.NEUTRAL||a==sre.SemanticAttr.Role.TOP&&b==sre.SemanticAttr.Role.BOTTOM};sre.SemanticAttr.isMatchingFence=function(a,b){return sre.SemanticAttr.getInstance().isMatchingFence_(a,b)}; sre.SemanticAttr.isOpeningFence=function(a){return a==sre.SemanticAttr.Role.OPEN||a==sre.SemanticAttr.Role.NEUTRAL};sre.SemanticAttr.isClosingFence=function(a){return a==sre.SemanticAttr.Role.CLOSE||a==sre.SemanticAttr.Role.NEUTRAL};sre.SemanticAttr.isEmbellishedType=function(a){return a===sre.SemanticAttr.Type.OPERATOR||a===sre.SemanticAttr.Type.RELATION||a===sre.SemanticAttr.Type.FENCE||a===sre.SemanticAttr.Type.PUNCTUATION};sre.SemanticAttr.isCharacterD=function(a){return-1!=“d u2146 uff44 ud835udc1d ud835udc51 ud835udcb9 ud835udced ud835udd21 ud835udd55 ud835udd89 ud835uddbd ud835uddf1 ud835ude25 ud835ude8d”.split(“ ”).indexOf(a)}; sre.SemanticAttr.prototype.isMatchingFence_=function(a,b){return-1!=this.neutralFences.indexOf(a)?a==b:this.openClosePairs==b||this.topBottomPairs==b};sre.SemanticAttr.prototype.initMeaning_=function(){for(var a={},b=0,c;c=this.symbolSetToSemantic_;b++)c.set.forEach(function(b){a={role:c.role||sre.SemanticAttr.Role.UNKNOWN,type:c.type||sre.SemanticAttr.Type.UNKNOWN,font:c.font||sre.SemanticAttr.Font.UNKNOWN}});return a}; sre.SemanticAttr.prototype.lookupMeaning_=function(a){return this.meaning_||{role:sre.SemanticAttr.Role.UNKNOWN,type:sre.SemanticAttr.Type.UNKNOWN,font:sre.SemanticAttr.Font.UNKNOWN}};sre.MathUtil={};sre.MathUtil.isMathmlNodeOfClass_=function(a,b){return-1!=b.indexOf(a.tagName.toUpperCase())};sre.MathUtil.isMathjaxNodeOfClass_=function(a,b){return“SPAN”==a.tagName?a.className.split(“ ”).some(function(a){return-1!=b.indexOf(a.toUpperCase())}):!1};sre.MathUtil.isMathNodeOfClass_=function(a,b){return a.nodeType==sre.DomUtil.NodeType.ELEMENT_NODE&&(sre.MathUtil.isMathmlNodeOfClass_(a,b)||sre.MathUtil.isMathjaxNodeOfClass_(a,b))};sre.MathUtil.TOKEN_LIST=“MI MN MO MTEXT MSPACE MS”.split(“ ”); sre.MathUtil.isToken=function(a){return sre.MathUtil.isMathNodeOfClass_(a,sre.MathUtil.TOKEN_LIST)};sre.MathUtil.LAYOUT_LIST=“MROW MFRAC MSQRT MROOT MSTYLE MERROR MPADDED MPHANTOM MFENCED MENCLOSE”.split(“ ”);sre.MathUtil.isLayout=function(a){return sre.MathUtil.isMathNodeOfClass_(a,sre.MathUtil.LAYOUT_LIST)};sre.MathUtil.SCRIPT_LIST=“MSUB MSUP MSUBSUP MUNDER MOVER MUNDEROVER MMULTISCRIPTS MPRESCRIPTS”.split(“ ”);sre.MathUtil.isScript=function(a){return sre.MathUtil.isMathNodeOfClass_(a,sre.MathUtil.SCRIPT_LIST)}; sre.MathUtil.TABLES_LIST=“MTABLE MLABELEDTR MTR MTD MALIGNGROUP MALIGNMARK”.split(“ ”);sre.MathUtil.isTables=function(a){return sre.MathUtil.isMathNodeOfClass_(a,sre.MathUtil.TABLES_LIST)};sre.MathUtil.ELEMENTARY_LIST=“MSTACK MLONGDIV MSGROUP MSROW MSCARRIES MSCARRY MSLINE”.split(“ ”);sre.MathUtil.isElementary=function(a){return sre.MathUtil.isMathNodeOfClass_(a,sre.MathUtil.ELEMENTARY_LIST)}; sre.MathUtil.MATHML_TAG_LIST=.reduce(function(a,b){return a.concat(b)});sre.MathUtil.isMathmlTag=function(a){return sre.MathUtil.isMathNodeOfClass_(a,sre.MathUtil.MATHML_TAG_LIST)};sre.MathUtil.WHITESPACE_LIST=;sre.MathUtil.isWhitespace=function(a){return sre.MathUtil.isMathNodeOfClass_(a,sre.MathUtil.WHITESPACE_LIST)}; sre.MathUtil.isNotWhitespace=function(a){return sre.MathUtil.isMathmlTag(a)&&!sre.MathUtil.isWhitespace(a)};sre.MathUtil.nextSeparatorFunction=function(a){if(a){if(a.match(/^s+$/))return null;var b=a.replace(/s/g,“”).split(“”).filter(function(a){return a})}else b=;return function(){return 1a.red
“,”a.green
“,”a.blue
“,”a.alpha
“)”};return{background:a(this.background),foreground:a(this.foreground)}}; sre.ColorPicker.prototype.rgb=function(){var a=function(a){return“rgb(”a.red
“,”a.green
“,”a.blue
“)”};return{background:a(this.background),alphaback:this.background.alpha.toString(),foreground:a(this.foreground),alphafore:this.foreground.alpha.toString()}}; sre.ColorPicker.prototype.hex=function(){var a=function(a){return“#”+sre.ColorPicker.toHex_(a.red)+sre.ColorPicker.toHex_(a.green)+sre.ColorPicker.toHex_(a.blue)};return{background:a(this.background),alphaback:this.background.alpha.toString(),foreground:a(this.foreground),alphafore:this.foreground.alpha.toString()}};sre.ColorPicker.toHex_=function(a){a=a.toString(16);return 1===a.length?“0”+a:a};sre.Highlighter=function(){};sre.Highlighter.prototype.highlight=function(a){};sre.Highlighter.prototype.unhighlight=function(){};sre.Highlighter.prototype.highlightAll=function(a){};sre.Highlighter.prototype.unhighlightAll=function(){};sre.Highlighter.prototype.setColor=function(a){};sre.Highlighter.prototype.addEvents=function(a,b){};sre.AbstractHighlighter=function(){this.currentHighlights_=[];this.color=null;this.mactionName=“”;this.state_={}};sre.AbstractHighlighter.prototype.highlight=function(a){this.currentHighlights_.push(a.map(goog.bind(function(a){return this.highlightNode(a)},this)))};sre.AbstractHighlighter.prototype.highlightNode=goog.abstractMethod;sre.AbstractHighlighter.prototype.highlightAll=function(a){a=this.getMactionNodes(a);for(var b=0,c;c=a;b++)this.highlight()}; sre.AbstractHighlighter.prototype.unhighlight=function(){var a=this.currentHighlights_.pop();a&&a.forEach(goog.bind(function(a){return this.unhighlightNode(a)},this))};sre.AbstractHighlighter.prototype.unhighlightNode=goog.abstractMethod;sre.AbstractHighlighter.prototype.unhighlightAll=function(){for(;0<this.currentHighlights_.length;)this.unhighlight()};sre.AbstractHighlighter.prototype.setColor=function(a){this.color=a};sre.AbstractHighlighter.prototype.colorString=function(){return this.color.rgba()}; sre.AbstractHighlighter.prototype.addEvents=function(a,b){a=this.getMactionNodes(a);for(var c=0,d;d=a;c++)for(var e in b)d.addEventListener(e,b)};sre.AbstractHighlighter.prototype.getMactionNodes=function(a){return a.getElementsByClassName(this.mactionName)};sre.AbstractHighlighter.prototype.isMactionNode=function(a){return(a=a.className||a.getAttribute(“class”))?a.match(new RegExp(this.mactionName)):!1};sre.AbstractHighlighter.prototype.resetState=function(a){delete this.state_}; sre.AbstractHighlighter.prototype.setState=function(a,b){this.state_=b};sre.AbstractHighlighter.prototype.getState=function(a){return this.state_};sre.CssHighlighter=function(){sre.AbstractHighlighter.call(this);this.mactionName=“mjx-maction”};goog.inherits(sre.CssHighlighter,sre.AbstractHighlighter);sre.CssHighlighter.prototype.highlightNode=function(a){var b={node:a,background:a.style.backgroundColor,foreground:a.style.color},c=this.colorString();a.style.backgroundColor=c.background;a.style.color=c.foreground;return b};sre.CssHighlighter.prototype.unhighlightNode=function(a){a.node.style.backgroundColor=a.background;a.node.style.color=a.foreground};sre.HtmlHighlighter=function(){sre.AbstractHighlighter.call(this);this.mactionName=“maction”};goog.inherits(sre.HtmlHighlighter,sre.AbstractHighlighter);sre.HtmlHighlighter.prototype.setMode=function(a){this.mode=a}; sre.HtmlHighlighter.prototype.highlightNode=function(a){var b={node:a,foreground:a.style.color,position:a.style.position},c=this.color.rgb();a.style.color=c.foreground;a.style.position=“relative”;var d=a.bbox;if(d&&d.w){var e=document.createElement(“span”),f=parseFloat(a.style.paddingLeft||“0”);e.style.backgroundColor=c.background;e.style.opacity=c.alphaback.toString();e.style.display=“inline-block”;e.style.height=d.h+d.d+.1+“em”;e.style.verticalAlign=-d.d+“em”;e.style.marginTop=e.style.marginBottom= “-0.05em”;e.style.width=d.w+0+“em”;e.style.marginLeft=f-0+“em”;e.style.marginRight=-d.w-f+“em”;a.parentNode.insertBefore(e,a);b.box=e}return b};sre.HtmlHighlighter.prototype.unhighlightNode=function(a){var b=a.node;b.style.color=a.foreground;b.style.position=a.position;a.box&&a.box.parentNode.removeChild(a.box)};sre.MmlCssHighlighter=function(){sre.CssHighlighter.call(this);this.mactionName=“maction”};goog.inherits(sre.MmlCssHighlighter,sre.CssHighlighter);sre.MmlCssHighlighter.prototype.getMactionNodes=function(a){return a.getElementsByTagName(this.mactionName)};sre.MmlCssHighlighter.prototype.isMactionNode=function(a){return a.tagName===this.mactionName};sre.MmlHighlighter=function(){sre.AbstractHighlighter.call(this);this.mactionName=“maction”};goog.inherits(sre.MmlHighlighter,sre.AbstractHighlighter);sre.MmlHighlighter.prototype.highlightNode=function(a){var b=a.getAttribute(“style”);b+=“;background-color: ”+this.colorString().background;b+=“;color: ”+this.colorString().foreground;a.setAttribute(“style”,b);return{node:a}}; sre.MmlHighlighter.prototype.unhighlightNode=function(a){var b=a.node.getAttribute(“style”);b=b.replace(“;background-color: ”+this.colorString().background,“”);b=b.replace(“;color: ”+this.colorString().foreground,“”);a.node.setAttribute(“style”,b)};sre.MmlHighlighter.prototype.colorString=function(){return this.color.rgba()};sre.MmlHighlighter.prototype.getMactionNodes=function(a){return a.getElementsByTagName(this.mactionName)}; sre.MmlHighlighter.prototype.isMactionNode=function(a){return a.tagName===this.mactionName};sre.SvgHighlighter=function(){sre.AbstractHighlighter.call(this);this.mactionName=“mjx-svg-maction”};goog.inherits(sre.SvgHighlighter,sre.AbstractHighlighter); sre.SvgHighlighter.prototype.highlightNode=function(a){if(“svg”===a.tagName){var b={node:a,background:a.style.backgroundColor,foreground:a.style.color};a.style.backgroundColor=this.colorString().background;a.style.color=this.colorString().foreground;return b}b=document.createElementNS(“www.w3.org/2000/svg”,“rect”);if(“use”===a.nodeName){var c=document.createElementNS(“www.w3.org/2000/svg”,“g”);a.parentNode.insertBefore(c,a);c.appendChild(a);var d=c.getBBox();c.parentNode.replaceChild(a, c)}else d=a.getBBox();b.setAttribute(“x”,d.x-40);b.setAttribute(“y”,d.y-40);b.setAttribute(“width”,d.width+80);b.setAttribute(“height”,d.height+80);(d=a.getAttribute(“transform”))&&b.setAttribute(“transform”,d);b.setAttribute(“fill”,this.colorString().background);a.parentNode.insertBefore(b,a);b={node:b,foreground:a.getAttribute(“fill”)};a.setAttribute(“fill”,this.colorString().foreground);return b}; sre.SvgHighlighter.prototype.unhighlightNode=function(a){“background”in a?(a.node.style.backgroundColor=a.background,a.node.style.color=a.foreground):(a.foreground?a.node.nextSibling.setAttribute(“fill”,a.foreground):a.node.nextSibling.removeAttribute(“fill”),a.node.parentNode.removeChild(a.node))};sre.SvgHighlighter.prototype.isMactionNode=function(a){a=a.className||a.getAttribute(“class”);return(a=a.baseVal?a.baseVal:a)?a.match(new RegExp(this.mactionName)):!1};sre.HighlighterFactory={};sre.HighlighterFactory.highlighter=function(a,b,c){a=new sre.ColorPicker(a,b);c=sre.HighlighterFactory.highlighterMapping_;if(!c)return null;c.setColor(a);return c};sre.HighlighterFactory.addEvents=function(a,b,c){(c=sre.HighlighterFactory.highlighterMapping_)&&c.addEvents(a,b)}; sre.HighlighterFactory.highlighterMapping_={SVG:new sre.SvgHighlighter,NativeMML:new sre.MmlHighlighter,“HTML-CSS”:new sre.HtmlHighlighter,“MML-CSS”:new sre.MmlCssHighlighter,CommonHTML:new sre.CssHighlighter};sre.Grammar=function(){this.parameters_={};this.corrections_={};this.preprocessors_={};this.stateStack_=[]};goog.addSingletonGetter(sre.Grammar);sre.Grammar.ATTRIBUTE=“grammar”;sre.Grammar.prototype.clear=function(){this.parameters_={};this.stateStack_=};sre.Grammar.prototype.setParameter=function(a,b){var c=this.parameters_;b?this.parameters_=b:delete this.parameters_;return c};sre.Grammar.prototype.getParameter=function(a){return this.parameters_}; sre.Grammar.prototype.setCorrection=function(a,b){this.corrections_=b};sre.Grammar.prototype.setPreprocessor=function(a,b){this.preprocessors_=b};sre.Grammar.prototype.getCorrection=function(a){return this.corrections_};sre.Grammar.prototype.getState=function(){var a=[],b;for(b in this.parameters_){var c=this.parameters_;a.push(“string”===typeof c?b+“:”+c:b)}return a.join(“ ”)};sre.Grammar.prototype.pushState=function(a){for(var b in a)a=this.setParameter(b,a);this.stateStack_.push(a)}; sre.Grammar.prototype.popState=function(){var a=this.stateStack_.pop(),b;for(b in a)this.setParameter(b,a)};sre.Grammar.prototype.setAttribute=function(a){if(a&&a.nodeType===sre.DomUtil.NodeType.ELEMENT_NODE){var b=this.getState();b&&a.setAttribute(sre.Grammar.ATTRIBUTE,b)}};sre.Grammar.prototype.preprocess=function(a){return this.runProcessors_(a,this.preprocessors_)};sre.Grammar.prototype.correct=function(a){return this.runProcessors_(a,this.corrections_)}; sre.Grammar.prototype.runProcessors_=function(a,b){for(var c in this.parameters_){var d=b;if(d){var e=this.parameters_;a=!0===e?d(a):d(a,e)}}return a};sre.Grammar.translateString_=function(a){var b=sre.Engine.getInstance();return b.evaluator(a,b.dynamicCstr)||a}; sre.Grammar.prototype.apply=function(a,b){b=b||{};a=b.adjust||b.preprocess?sre.Grammar.getInstance().preprocess(a):a;if(this.parameters_.translate||b.translate)a=sre.Grammar.translateString_(a);return a=b.adjust||b.correct?sre.Grammar.getInstance().correct(a):a};sre.Grammar.parseState=function(a){var b={};a=a.split(“ ”);for(var c=0,d=a.length;c<d;c++){var e=a.split(“:”),f=e;b[e]=f?f:!0}return b}; sre.Grammar.parseInput=function(a){var b={};a=a.split(“:”);for(var c=0,d=a.length;c<d;c++){var e=a.split(“=”),f=e.trim();e?b=e.trim():f.match(/^!/)?b=!1:b=!0}return b};sre.Grammar.correctFont_=function(a,b){if(!b||!a)return a;b=sre.L10n.getLocale().FONT||b;b=b.split(/ |-/);b=new RegExp(“^”+b.join(“( |-)”)+“( |-)”);return a.replace(b,“”)};sre.Grammar.addAnnotation_=function(a,b){return a+“:”+b};sre.Grammar.getInstance().setCorrection(“ignoreFont”,sre.Grammar.correctFont_); sre.Grammar.getInstance().setPreprocessor(“annotation”,sre.Grammar.addAnnotation_);sre.Messages={};sre.Messages.MS={START:“”,FRAC_V:“”,FRAC_B:“”,FRAC_S:“”,END:“”,FRAC_OVER:“”,TWICE:“”,NEST_FRAC:“”,ENDFRAC:“”,SUPER:“”,SUB:“”,SUP:“”,SUPERSCRIPT:“”,SUBSCRIPT:“”,BASELINE:“”,BASE:“”,NESTED:“”,NEST_ROOT:“”,STARTROOT:“”,ENDROOT:“”,ROOTINDEX:“”,ROOT:“”,INDEX:“”,UNDER:“”,UNDERSCRIPT:“”,OVER:“”,OVERSCRIPT:“”};sre.Messages.MS_FUNC={FRAC_NEST_DEPTH:function(a){return!1},RADICAL_NEST_DEPTH:function(a){return“”},COMBINE_ROOT_INDEX:function(a,b){return a}};sre.Messages.MS_ROOT_INDEX={}; sre.Messages.FONT={bold:“”,“bold-fraktur”:“”,“bold-italic”:“”,“bold-script”:“”,caligraphic:“”,“caligraphic-bold”:“”,“double-struck”:“”,“double-struck-italic”:“”,fraktur:“”,italic:“”,monospace:“”,normal:“”,oldstyle:“”,“oldstyle-bold”:“”,script:“”,“sans-serif”:“”,“sans-serif-italic”:“”,“sans-serif-bold”:“”,“sans-serif-bold-italic”:“”,unknown:“”}; sre.Messages.ROLE={addition:“”,multiplication:“”,subtraction:“”,division:“”,equality:“”,inequality:“”,element:“”,arrow:“”,determinant:“”,rowvector:“”,binomial:“”,squarematrix:“”,multiline:“”,matrix:“”,vector:“”,cases:“”,table:“”,unknown:“”};sre.Messages.ENCLOSE={longdiv:“”,actuarial:“”,radical:“”,box:“”,roundedbox:“”,circle:“”,left:“”,right:“”,top:“”,bottom:“”,updiagonalstrike:“”,downdiagonalstrike:“”,verticalstrike:“”,horizontalstrike:“”,madruwb:“”,updiagonalarrow:“”,phasorangle:“”,unknown:“”}; sre.Messages.NAVIGATE={COLLAPSIBLE:“”,EXPANDABLE:“”,LEVEL:“”};sre.MathspeakUtil={};sre.MathspeakUtil.spaceoutText=function(a){return a.textContent.split(“”).join(“ ”)};sre.MathspeakUtil.spaceoutNumber=function(a){a=a.textContent.split(“”);for(var b=[],c=new sre.SystemExternal.xmldom.DOMParser,d=0,e;e=a;d++){var f=sre.Semantic.Type.NUMBER,g=e.match(/W/)?sre.Semantic.Role.UNKNOWN:sre.Semantic.Role.PROTECTED;e=c.parseFromString(“<”f
' role=“'g
'”>'e
“</”f
“>”,“text/xml”);b.push(e.documentElement)}return b}; sre.MathspeakUtil.spaceoutIdentifier=function(a){var b=a.textContent;if(!b.match(/+/))return a.setAttribute(“role”,sre.SemanticAttr.Role.PROTECTED),;a=b.split(“”);b=[];for(var c=new sre.SystemExternal.xmldom.DOMParser,d=0,e;e=a;d++){var f=sre.Semantic.Type.IDENTIFIER;e=c.parseFromString(“<”f
' role=“'sre.Semantic.Role.UNKNOWN
'”>'e
“</”f
“>”,“text/xml”);b.push(e.documentElement)}return b}; sre.MathspeakUtil.nestingBarriers=;sre.MathspeakUtil.nestingDepth={}; sre.MathspeakUtil.resetNestingDepth=function(a){sre.MathspeakUtil.nestingDepth={};return}; sre.MathspeakUtil.getNestingDepth=function(a,b,c,d,e,f){d=d||sre.MathspeakUtil.nestingBarriers;e=e||{};f=f||function(a){return!1};var g=(new sre.SystemExternal.xmldom.XMLSerializer).serializeToString(b);sre.MathspeakUtil.nestingDepth||(sre.MathspeakUtil.nestingDepth={});if(sre.MathspeakUtil.nestingDepth[g])return sre.MathspeakUtil.nestingDepth[g];if(f(b)||0>c.indexOf(b.tagName))return 0;b=sre.MathspeakUtil.computeNestingDepth_(b,c,sre.BaseUtil.setdifference(d,c),e,f,0);return sre.MathspeakUtil.nestingDepth[g]= b};sre.MathspeakUtil.containsAttr=function(a,b){if(!a.attributes)return!1;a=sre.DomUtil.toArray(a.attributes);for(var c=0,d;d=a;c++)if(b===d.nodeValue)return!0;return!1}; sre.MathspeakUtil.computeNestingDepth_=function(a,b,c,d,e,f){if(e(a)||-1<c.indexOf(a.tagName)||sre.MathspeakUtil.containsAttr(a,d))return f;-1<b.indexOf(a.tagName)&&f++;if(!a.childNodes||0===a.childNodes.length)return f;a=sre.DomUtil.toArray(a.childNodes);return Math.max.apply(null,a.map(function(a){return sre.MathspeakUtil.computeNestingDepth_(a,b,c,d,e,f)}))}; sre.MathspeakUtil.fractionNestingDepth=function(a){return sre.MathspeakUtil.getNestingDepth(“fraction”,a,,sre.MathspeakUtil.nestingBarriers,{},sre.Messages.MS_FUNC.FRAC_NEST_DEPTH)};sre.MathspeakUtil.openingFractionVerbose=function(a){a=sre.MathspeakUtil.fractionNestingDepth(a);return Array(a+1).join(sre.Messages.MS.START)+sre.Messages.MS.FRAC_V}; sre.MathspeakUtil.closingFractionVerbose=function(a){a=sre.MathspeakUtil.fractionNestingDepth(a);return Array(a+1).join(sre.Messages.MS.END)+sre.Messages.MS.FRAC_V};sre.MathspeakUtil.overFractionVerbose=function(a){a=sre.MathspeakUtil.fractionNestingDepth(a);return Array(a+1).join(sre.Messages.MS.FRAC_OVER).trim()};sre.MathspeakUtil.openingFractionBrief=function(a){a=sre.MathspeakUtil.fractionNestingDepth(a);return Array(a+1).join(sre.Messages.MS.START)+sre.Messages.MS.FRAC_B}; sre.MathspeakUtil.closingFractionBrief=function(a){a=sre.MathspeakUtil.fractionNestingDepth(a);return Array(a+1).join(sre.Messages.MS.END)+sre.Messages.MS.FRAC_B};sre.MathspeakUtil.openingFractionSbrief=function(a){a=sre.MathspeakUtil.fractionNestingDepth(a);return 1===a?sre.Messages.MS.FRAC_S:sre.Messages.MS.NEST_FRAC+sre.Messages.MS_FUNC.RADICAL_NEST_DEPTH(a-1)+sre.Messages.MS.FRAC_S}; sre.MathspeakUtil.closingFractionSbrief=function(a){a=sre.MathspeakUtil.fractionNestingDepth(a);return 1===a?sre.Messages.MS.ENDFRAC:sre.Messages.MS.NEST_FRAC+sre.Messages.MS_FUNC.RADICAL_NEST_DEPTH(a-1)+sre.Messages.MS.ENDFRAC};sre.MathspeakUtil.overFractionSbrief=function(a){a=sre.MathspeakUtil.fractionNestingDepth(a);return 1===a?sre.Messages.MS.FRAC_OVER:sre.Messages.MS.NEST_FRAC+sre.Messages.MS_FUNC.RADICAL_NEST_DEPTH(a-1)+sre.Messages.MS.OVER};sre.MathspeakUtil.onesNumbers=“ one two three four five six seven eight nine ten eleven twelve thirteen fourteen fifteen sixteen seventeen eighteen nineteen”.split(“ ”); sre.MathspeakUtil.tensNumbers=“ twenty thirty forty fifty sixty seventy eighty ninety”.split(“ ”);sre.MathspeakUtil.largeNumbers=“ thousand million billion trillion quadrillion quintillion sextillion septillion octillion nonillion decillion”.split(“ ”); sre.MathspeakUtil.hundredsToWords=function(a){a%=1E3;var b=sre.MathspeakUtil.onesNumbers?sre.MathspeakUtil.onesNumbers+“-hundred”:“”;(a%=100)&&(b=b+(b?“-”:“”)+(sre.MathspeakUtil.onesNumbers||sre.MathspeakUtil.tensNumbers+“-”+sre.MathspeakUtil.onesNumbers));return b}; sre.MathspeakUtil.numberToWords=function(a){if(a>=Math.pow(10,36))return a.toString();for(var b=0,c=“”;0sre.MathspeakUtil.largeNumbers[b]“-”:“”)+c),a=Math.floor(a/1E3),b++;return c}; sre.MathspeakUtil.numberToOrdinal=function(a,b){if(2===a)return b?“halves”:“half”;a=sre.MathspeakUtil.numberToWords(a);a=a.match(/one$/)?a.slice(0,-3)+“first”:a.match(/two$/)?a.slice(0,-3)+“second”:a.match(/three$/)?a.slice(0,-5)+“third”:a.match(/five$/)?a.slice(0,-4)+“fifth”:a.match(/eight$/)?a.slice(0,-5)+“eighth”:a.match(/nine$/)?a.slice(0,-4)+“ninth”:a.match(/twelve$/)?a.slice(0,-6)+“twelfth”:a.match(/ty$/)?a.slice(0,-2)+“tieth”:a+“th”;return b?a+“s”:a}; sre.MathspeakUtil.simpleOrdinal=function(a){var b=a%100,c=a.toString();if(10<b&&20>b)return c+“th”;switch(a%10){case 1:return c+“st”;case 2:return c+“nd”;case 3:return c+“rd”;default:return c+“th”}};sre.MathspeakUtil.ordinalCounter=function(a,b){var c=0;return function(){return sre.MathspeakUtil.simpleOrdinal(+c)
“ ”+b}}; sre.MathspeakUtil.convertVulgarFraction_=function(a){if(!a.childNodes||!a.childNodes||!a.childNodes.childNodes||2>a.childNodes.childNodes.length||a.childNodes.childNodes.tagName!==sre.SemanticAttr.Type.NUMBER||a.childNodes.childNodes.getAttribute(“role”)!==sre.SemanticAttr.Role.INTEGER||a.childNodes.childNodes.tagName!==sre.SemanticAttr.Type.NUMBER||a.childNodes.childNodes.getAttribute(“role”)!==sre.SemanticAttr.Role.INTEGER)return{convertible:!1,content:a.textContent}; var b=a.childNodes.childNodes.textContent;a=a.childNodes.childNodes.textContent;var c=Number(b),d=Number(a);return isNaN©||isNaN(d)?{convertible:!1,content:a+“ ”sre.Messages.MS.FRAC_OVER
“ ”+b}:{convertible:!0,enumerator:d,denominator:c}}; sre.MathspeakUtil.vulgarFraction=function(a){a=sre.MathspeakUtil.convertVulgarFraction_(a);return a.convertible&&a.enumerator&&a.denominator?sre.MathspeakUtil.numberToWords(a.enumerator)+“-”+sre.MathspeakUtil.numberToOrdinal(a.denominator,1!==a.enumerator):a.content||“”};sre.MathspeakUtil.vulgarFractionSmall=function(a){var b=sre.MathspeakUtil.convertVulgarFraction_(a);return b.convertible?(a=b.enumerator,b=b.denominator,0<a&&10>a&&0<b&&100>b):!1}; sre.MathspeakUtil.isSmallVulgarFraction=function(a){return sre.MathspeakUtil.vulgarFractionSmall(a)?:[]}; sre.MathspeakUtil.nestedSubSuper=function(a,b,c){for(;a.parentNode;){var d=a.parentNode,e=d.parentNode,f=a.getAttribute&&a.getAttribute(“role”);if(e.tagName===sre.Semantic.Type.SUBSCRIPT&&a===d.childNodes||e.tagName===sre.Semantic.Type.TENSOR&&f&&(f===sre.Semantic.Role.LEFTSUB||f===sre.Semantic.Role.RIGHTSUB))b=c.sub+“ ”+b;if(e.tagName===sre.Semantic.Type.SUPERSCRIPT&&a===d.childNodes||e.tagName===sre.Semantic.Type.TENSOR&&f&&(f===sre.Semantic.Role.LEFTSUPER||f===sre.Semantic.Role.RIGHTSUPER))b= c.sup+“ ”+b;a=e}return b.trim()};sre.MathspeakUtil.subscriptVerbose=function(a){return sre.MathspeakUtil.nestedSubSuper(a,sre.Messages.MS.SUBSCRIPT,{sup:sre.Messages.MS.SUPER,sub:sre.Messages.MS.SUB})};sre.MathspeakUtil.subscriptBrief=function(a){return sre.MathspeakUtil.nestedSubSuper(a,sre.Messages.MS.SUB,{sup:sre.Messages.MS.SUP,sub:sre.Messages.MS.SUB})}; sre.MathspeakUtil.superscriptVerbose=function(a){return sre.MathspeakUtil.nestedSubSuper(a,sre.Messages.MS.SUPERSCRIPT,{sup:sre.Messages.MS.SUPER,sub:sre.Messages.MS.SUB})};sre.MathspeakUtil.superscriptBrief=function(a){return sre.MathspeakUtil.nestedSubSuper(a,sre.Messages.MS.SUP,{sup:sre.Messages.MS.SUP,sub:sre.Messages.MS.SUB})}; sre.MathspeakUtil.baselineVerbose=function(a){return(a=sre.MathspeakUtil.nestedSubSuper(a,“”,{sup:sre.Messages.MS.SUPER,sub:sre.Messages.MS.SUB}))?a.replace(new RegExp(sre.Messages.MS.SUB+“$”),sre.Messages.MS.SUBSCRIPT).replace(new RegExp(sre.Messages.MS.SUPER+“$”),sre.Messages.MS.SUPERSCRIPT):sre.Messages.MS.BASELINE};sre.MathspeakUtil.baselineBrief=function(a){return sre.MathspeakUtil.nestedSubSuper(a,“”,{sup:sre.Messages.MS.SUP,sub:sre.Messages.MS.SUB})||sre.Messages.MS.BASE}; sre.MathspeakUtil.radicalNestingDepth=function(a){return sre.MathspeakUtil.getNestingDepth(“radical”,a,,sre.MathspeakUtil.nestingBarriers,{})};sre.MathspeakUtil.nestedRadical=function(a,b,c){var d=sre.MathspeakUtil.radicalNestingDepth(a);c=(a=sre.MathspeakUtil.getRootIndex(a))?sre.Messages.MS_FUNC.COMBINE_ROOT_INDEX(c,a):c;return 1===d?c:b+sre.Messages.MS_FUNC.RADICAL_NEST_DEPTH(d-1)+c}; sre.MathspeakUtil.getRootIndex=function(a){a=“sqrt”===a.tagName?“2”:sre.XpathUtil.evalXPath(“children/*”,a).textContent.trim();return sre.Messages.MS_ROOT_INDEX||“”};sre.MathspeakUtil.openingRadicalVerbose=function(a){return sre.MathspeakUtil.nestedRadical(a,sre.Messages.MS.NESTED,sre.Messages.MS.STARTROOT)};sre.MathspeakUtil.closingRadicalVerbose=function(a){return sre.MathspeakUtil.nestedRadical(a,sre.Messages.MS.NESTED,sre.Messages.MS.ENDROOT)}; sre.MathspeakUtil.indexRadicalVerbose=function(a){return sre.MathspeakUtil.nestedRadical(a,sre.Messages.MS.NESTED,sre.Messages.MS.ROOTINDEX)};sre.MathspeakUtil.openingRadicalBrief=function(a){return sre.MathspeakUtil.nestedRadical(a,sre.Messages.MS.NEST_ROOT,sre.Messages.MS.STARTROOT)};sre.MathspeakUtil.closingRadicalBrief=function(a){return sre.MathspeakUtil.nestedRadical(a,sre.Messages.MS.NEST_ROOT,sre.Messages.MS.ENDROOT)}; sre.MathspeakUtil.indexRadicalBrief=function(a){return sre.MathspeakUtil.nestedRadical(a,sre.Messages.MS.NEST_ROOT,sre.Messages.MS.ROOTINDEX)};sre.MathspeakUtil.openingRadicalSbrief=function(a){return sre.MathspeakUtil.nestedRadical(a,sre.Messages.MS.NEST_ROOT,sre.Messages.MS.ROOT)};sre.MathspeakUtil.indexRadicalSbrief=function(a){return sre.MathspeakUtil.nestedRadical(a,sre.Messages.MS.NEST_ROOT,sre.Messages.MS.INDEX)}; sre.MathspeakUtil.underscoreNestingDepth=function(a){return sre.MathspeakUtil.getNestingDepth(“underscore”,a,,sre.MathspeakUtil.nestingBarriers,{},function(a){return a.tagName&&a.tagName===sre.Semantic.Type.UNDERSCORE&&a.childNodes.childNodes.getAttribute(“role”)===sre.Semantic.Role.UNDERACCENT})};sre.MathspeakUtil.nestedUnderscore=function(a){a=sre.MathspeakUtil.underscoreNestingDepth(a);return Array(a).join(sre.Messages.MS.UNDER)+sre.Messages.MS.UNDERSCRIPT}; sre.MathspeakUtil.overscoreNestingDepth=function(a){return sre.MathspeakUtil.getNestingDepth(“overscore”,a,,sre.MathspeakUtil.nestingBarriers,{},function(a){return a.tagName&&a.tagName===sre.Semantic.Type.OVERSCORE&&a.childNodes.childNodes.getAttribute(“role”)===sre.Semantic.Role.OVERACCENT})};sre.MathspeakUtil.nestedOverscore=function(a){a=sre.MathspeakUtil.overscoreNestingDepth(a);return Array(a).join(sre.Messages.MS.OVER)+sre.Messages.MS.OVERSCRIPT}; sre.MathspeakUtil.determinantIsSimple=function(a){if(a.tagName!==sre.Semantic.Type.MATRIX||a.getAttribute(“role”)!==sre.Semantic.Role.DETERMINANT)return[];for(var b=sre.XpathUtil.evalXPath(“children/row/children/cell/children/*”,a),c=0,d;d=b;c++)if(d.tagName!==sre.Semantic.Type.NUMBER){if(d.tagName===sre.Semantic.Type.IDENTIFIER&&(d=d.getAttribute(“role”),d===sre.Semantic.Role.LATINLETTER||d===sre.Semantic.Role.GREEKLETTER||d===sre.Semantic.Role.OTHERLETTER))continue;return[]}return}; sre.MathspeakUtil.generateBaselineConstraint=function(){var a=function(a){return a.map(function(a){return“ancestor::”+a})},b=“not(”+a().join(“ or ”)+“)”,c=a();a=a();for(var d=[],e=0,f;f=a;e++)d=d.concat(c.map(function(a){return f+“/”+a}));c=“not(”+d.join(“ | ”)+“)”;return[“ancestor::/following-sibling::”,b,c].join(“ and ”)}; sre.MathspeakUtil.removeParens=function(a){if(!a.childNodes.length||!a.childNodes.childNodes.length||!a.childNodes.childNodes.childNodes.length)return“”;a=a.childNodes.childNodes.childNodes.textContent;return a.match(/^(.+)$/)?a.slice(1,-1):a};sre.Locale={};sre.Locale.nestingToString=function(a){switch(a){case 1:return“”;case 2:return sre.Messages.MS.TWICE;default:return a.toString()}};sre.Locale.vulgarNestingDepth=function(a){return sre.MathspeakUtil.vulgarFractionSmall(a)};sre.Locale.combinePostfixIndex=function(a,b){return a===sre.Messages.MS.ROOTINDEX||a===sre.Messages.MS.INDEX?a:a+“ ”+b};sre.Locale.localFont=function(a){return sre.Messages.FONT||a};sre.Grammar.getInstance().setCorrection(“localFont”,sre.Locale.localFont); sre.Locale.localRole=function(a){return sre.Messages.ROLE||a};sre.Grammar.getInstance().setCorrection(“localRole”,sre.Locale.localRole);sre.Locale.localEnclose=function(a){return sre.Messages.ENCLOSE||a};sre.Grammar.getInstance().setCorrection(“localEnclose”,sre.Locale.localEnclose);sre.Locale.en={MS:{START:“Start”,FRAC_V:“Fraction”,FRAC_B:“Frac”,FRAC_S:“Frac”,END:“End”,FRAC_OVER:“Over”,TWICE:“Twice”,NEST_FRAC:“Nest”,ENDFRAC:“EndFrac”,SUPER:“Super”,SUB:“Sub”,SUP:“Sup”,SUPERSCRIPT:“Superscript”,SUBSCRIPT:“Subscript”,BASELINE:“Baseline”,BASE:“Base”,NESTED:“Nested”,NEST_ROOT:“Nest”,STARTROOT:“StartRoot”,ENDROOT:“EndRoot”,ROOTINDEX:“RootIndex”,ROOT:“Root”,INDEX:“Index”,UNDER:“Under”,UNDERSCRIPT:“Underscript”,OVER:“Over”,OVERSCRIPT:“Overscript”},MS_FUNC:{FRAC_NEST_DEPTH:sre.Locale.vulgarNestingDepth, RADICAL_NEST_DEPTH:sre.Locale.nestingToString,COMBINE_ROOT_INDEX:function(a,b){return a}},MS_ROOT_INDEX:{},FONT:{},ROLE:{addition:“addition”,multiplication:“multiplication”,subtraction:“subtraction”,division:“division”,equality:“equality”,inequality:“inequality”,element:“element”,arrow:“arrow”,determinant:“determinant”,rowvector:“row vector”,binomial:“binomial”,squarematrix:“square matrix”,multiline:“multiple lines”,matrix:“matrix”,vector:“vector”,cases:“case statement”,table:“table”,unknown:“unknown”}, ENCLOSE:{longdiv:“long division”,actuarial:“actuarial symbol”,radical:“square root”,box:“box”,roundedbox:“rounded box”,circle:“circle”,left:“left vertical-line”,right:“right vertical-line”,top:“overbar”,bottom:“underbar”,updiagonalstrike:“crossout”,downdiagonalstrike:“crossout”,verticalstrike:“vertical strikeout”,horizontalstrike:“crossout”,madruwb:“Arabic factorial symbol”,updiagonalarrow:“diagonal arrow”,phasorangle:“phasor angle”,unknown:“long division”},NAVIGATE:{COLLAPSIBLE:“collapsible”,EXPANDABLE:“expandable”, LEVEL:“Level”}};sre.Locale.es={MS:{START:“empezar ”,FRAC_V:“fracciu00f3n”,FRAC_B:“frac”,FRAC_S:“frac”,END:“finalizar ”,FRAC_OVER:“entre ”,TWICE:“”,NEST_FRAC:“”,ENDFRAC:“”,SUPER:“super”,SUB:“sub”,SUP:“sup”,SUPERSCRIPT:“superu00edndice”,SUBSCRIPT:“subu00edndice”,BASELINE:“lu00ednea base”,BASE:“”,NESTED:“”,NEST_ROOT:“”,STARTROOT:“empezar rau00edz”,ENDROOT:“finalizar rau00edz”,ROOTINDEX:“u00edndice de rau00edz”,ROOT:“rau00edz”,INDEX:“”,UNDER:“bajo”,UNDERSCRIPT:“bajou00edndice”,OVER:“sobre”,OVERSCRIPT:“sobreu00edndice”}, MS_FUNC:{FRAC_NEST_DEPTH:function(a){return!1},RADICAL_NEST_DEPTH:function(a){return“”},COMBINE_ROOT_INDEX:sre.Locale.combinePostfixIndex},MS_ROOT_INDEX:{2:“cuadrada”,3:“cu00fabica”,4:“a la cuarta”,5:“a la quinta”,6:“a la sexta”,7:“a la su00e9ptima”,8:“a la octava”,9:“a la novena”,10:“a la du00e9cima”},FONT:{bold:“negrita”,“bold-fraktur”:“negrita Fraktur”,“bold-italic”:“negrita cursiva”,“bold-script”:“negrita script”,caligraphic:“caligru00e1fica”,“caligraphic-bold”:“caligru00e1fica negrita”, “double-struck”:“negrita de pizarra”,“double-struck-italic”:“negrita de pizarra cursiva”,fraktur:“Fraktur”,italic:“cursiva”,monospace:“monoespacio”,normal:“normal”,oldstyle:“estilo antiguo”,“oldstyle-bold”:“estilo antiguo negrita”,script:“script”,“sans-serif”:“sans-serif”,“sans-serif-italic”:“sans-serif cursiva”,“sans-serif-bold”:“sans-serif negrita”,“sans-serif-bold-italic”:“sans-serif negrita cursiva”,unknown:“desconocida”},ROLE:{addition:“adiciu00f3n”,multiplication:“multiplicaciu00f3n”,subtraction:“resta”, division:“divisiu00f3n”,equality:“igualdad”,inequality:“desigualdad”,element:“elemento”,arrow:“flecha”,determinant:“determinante”,rowvector:“fila vector”,binomial:“binomial”,squarematrix:“matriz cuadrada”,multiline:“lu00edneas mu00faltiples”,matrix:“matriz”,vector:“vector”,cases:“declaraciu00f3n de caso”,table:“mesa”,unknown:“desconocida”},ENCLOSE:{longdiv:“divisiu00f3n larga”,actuarial:“su00edmbolo actuarial”,radical:“rau00edz cuadrada”,box:“caja”,roundedbox:“caja redondeada”,circle:“cu00edrculo”, left:“barra vertical izquierda”,right:“barra vertical derecha”,top:“barra”,bottom:“subbarra”,updiagonalstrike:“tachadura”,downdiagonalstrike:“tachadura”,verticalstrike:“ponchado vertical”,horizontalstrike:“cruce”,madruwb:“su00edmbolo factorial u00e1rabe”,updiagonalarrow:“flecha diagonal”,phasorangle:“u00e1ngulo de fasores”,unknown:“divisiu00f3n larga”},NAVIGATE:{COLLAPSIBLE:“plegable”,EXPANDABLE:“ampliable”,LEVEL:“nivel”}};sre.L10n={};sre.L10n.setLocale=function(){var a=sre.L10n.getLocale();if(a)for(var b in a)sre.Messages=a};sre.L10n.getLocale=function(){return sre.Locale||sre.Locale.en};sre.AuditoryDescription=function(a){this.context=a.context||“”;this.text=a.text||“”;this.userValue=a.userValue||“”;this.annotation=a.annotation||“”;this.personality=a.personality||{}};sre.AuditoryDescription.create=function(a,b){a.text=sre.Grammar.getInstance().apply(a.text,b||{});return new sre.AuditoryDescription(a)};sre.AuditoryDescription.prototype.isEmpty=function(){return 0==this.context.length&&0==this.text.length&&0==this.userValue.length&&0==this.annotation.length}; sre.AuditoryDescription.prototype.clone=function(){if(this.personality){var a={};for(var b in this.personality)a=this.personality}return new sre.AuditoryDescription({context:this.context,text:this.text,userValue:this.userValue,annotation:this.annotation,personality:a})};sre.AuditoryDescription.prototype.toString=function(){return'AuditoryDescription(context=“'this.context
'” text=“'this.text
'” userValue=“'this.userValue
'” annotation=“'this.annotation
'”)'}; sre.AuditoryDescription.prototype.descriptionString=function(){return this.context&&this.text?this.context+“ ”+this.text:this.context||this.text};sre.AuditoryDescription.prototype.equals=function(a){return this.context==a.context&&this.text==a.text&&this.userValue==a.userValue&&this.annotation==a.annotation};sre.SpeechRule=function(a,b,c,d){this.name=a;this.dynamicCstr=b;this.precondition=c;this.action=d};sre.SpeechRule.prototype.toString=function(){return this.name+“ | ”+this.dynamicCstr.toString()+“ | ”+this.precondition.toString()+“ ==> ”+this.action.toString()};sre.SpeechRule.Type={NODE:“NODE”,MULTI:“MULTI”,TEXT:“TEXT”,PERSONALITY:“PERSONALITY”}; sre.SpeechRule.Type.fromString=function(a){switch(a){case “[n]”:return sre.SpeechRule.Type.NODE;case “[m]”:return sre.SpeechRule.Type.MULTI;case “[t]”:return sre.SpeechRule.Type.TEXT;case “[p]”:return sre.SpeechRule.Type.PERSONALITY;default:throw“Parse error: ”+a;}}; sre.SpeechRule.Type.toString=function(a){switch(a){case sre.SpeechRule.Type.NODE:return“”;case sre.SpeechRule.Type.MULTI:return“”;case sre.SpeechRule.Type.TEXT:return“”;case sre.SpeechRule.Type.PERSONALITY:return“”;default:throw“Unknown type error: ”+a;}};sre.SpeechRule.Component=function(a){this.type=a.type;this.content=a.content;this.attributes=a.attributes;this.grammar=a.grammar}; sre.SpeechRule.Component.fromString=function(a){var b={};b.type=sre.SpeechRule.Type.fromString(a.substring(0,3));a=a.slice(3).trim();if(!a)throw new sre.SpeechRule.OutputError(“Missing content.”);switch(b.type){case sre.SpeechRule.Type.TEXT:if(‘“’==a){var c=sre.SpeechRule.splitString_(a,”\(“).trim();if('”'!=c.slice(-1))throw new sre.SpeechRule.OutputError(“Invalid string syntax.”);b.content=c;a=a.slice(c.length).trim();-1==a.indexOf(“(”)&&(a=“”);break}case sre.SpeechRule.Type.NODE:case sre.SpeechRule.Type.MULTI:c= a.indexOf(“ (”),-1==c?(b.content=a.trim(),a=“”):(b.content=a.substring(0,c).trim(),a=a.slice©.trim())}a&&(a=sre.SpeechRule.Component.attributesFromString(a),a.grammar&&(b.grammar=a.grammar,delete a.grammar),Object.keys(a).length&&(b.attributes=a));return b=new sre.SpeechRule.Component(b)};sre.SpeechRule.Component.prototype.toString=function(){var a=“”+sre.SpeechRule.Type.toString(this.type);a+=this.content?“ ”+this.content:“”;var b=this.attributesToString();return a+(b?“ ”+b:“”)}; sre.SpeechRule.Component.grammarFromString=function(a){return sre.Grammar.parseInput(a)};sre.SpeechRule.Component.prototype.grammarToString=function(){return this.getGrammar().join(“:”)};sre.SpeechRule.Component.prototype.getGrammar=function(){var a=[],b;for(b in this.grammar)!0===this.grammar?a.push(b):!1===this.grammar?a.push(“!”+b):a.push(b+“=”+this.grammar);return a}; sre.SpeechRule.Component.attributesFromString=function(a){if(“(”!=a||“)”!=a.slice(-1))throw new sre.SpeechRule.OutputError(“Invalid attribute expression: ”+a);var b={};a=sre.SpeechRule.splitString_(a.slice(1,-1),“,”);for(var c=0,d=a.length;c<d;c++){var e=a,f=e.indexOf(“:”);if(-1==f)b=“true”;else{var g=e.substring(0,f).trim();e=e.slice(f+1).trim();b=“grammar”===g?sre.SpeechRule.Component.grammarFromString(e):b=e}}return b}; sre.SpeechRule.Component.prototype.attributesToString=function(){var a=this.getAttributes(),b=this.grammarToString();b&&a.push(“grammar:”+b);return 0<a.length?“(”+a.join(“, ”)+“)”:“”};sre.SpeechRule.Component.prototype.getAttributes=function(){var a=[],b;for(b in this.attributes){var c=this.attributes;“true”===c?a.push(b):a.push(b+“:”+c)}return a};sre.SpeechRule.Action=function(a){this.components=a}; sre.SpeechRule.Action.fromString=function(a){a=sre.SpeechRule.splitString_(a,“;”).filter(function(a){return a.match(/S/)}).map(function(a){return a.trim()});for(var b=[],c=0,d=a.length;c<d;c++){var e=sre.SpeechRule.Component.fromString(a);e&&b.push(e)}return new sre.SpeechRule.Action(b)};sre.SpeechRule.Action.prototype.toString=function(){return this.components.map(function(a){return a.toString()}).join(“; ”)};sre.SpeechRule.Precondition=function(a,b){this.query=a;this.constraints=b||[]}; sre.SpeechRule.Precondition.prototype.toString=function(){var a=this.constraints.join(“, ”);return this.query+“, ”+a}; sre.SpeechRule.splitString_=function(a,b){for(var c=[],d=“”;“”!=a;){var e=a.search(b);if(-1==e){if(0!=(a.match(/“/g)||[]).length%2)throw new sre.SpeechRule.OutputError(”Invalid string in expression: “+a);c.push(d+a);a=d=”“}else if(0==(a.substring(0,e).match(/”/g)||[]).length%2)c.push(d+a.substring(0,e)),d=“”,a=a.substring(e+1);else{var f=a.substring(e).search('“');if(-1==f)throw new sre.SpeechRule.OutputError(”Invalid string in expression: “+a);d+=a.substring(0,e+f+1);a=a.substring(e+f+1)}}d&&c.push(d); return c};sre.SpeechRule.OutputError=function(a){Error.call(this);this.message=a||”“;this.name=”RuleError“};goog.inherits(sre.SpeechRule.OutputError,Error);sre.SpeechRuleEvaluator=function(){};sre.SpeechRuleEvaluator.prototype.evaluateDefault=goog.abstractMethod;sre.SpeechRuleFunctions=function(){};sre.SpeechRuleFunctions.Store_=function(a,b){this.prefix_=a;this.store_=b};sre.SpeechRuleFunctions.Store_.prototype.add=function(a,b){this.checkCustomFunctionSyntax_(a)&&(this.store_=b)};sre.SpeechRuleFunctions.Store_.prototype.addStore=function(a){for(var b=Object.keys(a.store_),c=0,d;d=b;c++)this.add(d,a.store_)};sre.SpeechRuleFunctions.Store_.prototype.lookup=function(a){return this.store_}; sre.SpeechRuleFunctions.CustomQueries=function(){sre.SpeechRuleFunctions.Store_.call(this,”CQF“,{})};goog.inherits(sre.SpeechRuleFunctions.CustomQueries,sre.SpeechRuleFunctions.Store_);sre.SpeechRuleFunctions.CustomStrings=function(){sre.SpeechRuleFunctions.Store_.call(this,”CSF“,{})};goog.inherits(sre.SpeechRuleFunctions.CustomStrings,sre.SpeechRuleFunctions.Store_);sre.SpeechRuleFunctions.ContextFunctions=function(){sre.SpeechRuleFunctions.Store_.call(this,”CTXF“,{})}; goog.inherits(sre.SpeechRuleFunctions.ContextFunctions,sre.SpeechRuleFunctions.Store_);sre.SpeechRuleFunctions.Store_.prototype.checkCustomFunctionSyntax_=function(a){return a.match(new RegExp(”^“+this.prefix_))?!0:(console.log(”FunctionError: Invalid function name. Expected prefix “+this.prefix_),!1)};sre.SpeechRuleStore=function(){};sre.SpeechRuleStore.prototype.addRule=goog.abstractMethod;sre.SpeechRuleStore.prototype.deleteRule=goog.abstractMethod;sre.SpeechRuleStore.prototype.findRule=goog.abstractMethod;sre.SpeechRuleStore.prototype.findAllRules=goog.abstractMethod;sre.SpeechRuleStore.prototype.lookupRule=goog.abstractMethod;sre.SpeechRuleStore.prototype.defineRule=goog.abstractMethod;sre.TrieNode=function(){};sre.TrieNode.prototype.getConstraint=function(){};sre.TrieNode.prototype.getKind=function(){};sre.TrieNode.prototype.applyTest=function(a){};sre.TrieNode.prototype.addChild=function(a){};sre.TrieNode.prototype.getChild=function(a){};sre.TrieNode.prototype.getChildren=function(){};sre.TrieNode.prototype.findChildren=function(a){};sre.TrieNode.Kind={ROOT:”root“,DYNAMIC:”dynamic“,QUERY:”query“,BOOLEAN:”boolean“,STATIC:”static“};sre.AbstractTrieNode=function(a,b){this.constraint=a;this.test=b;this.children_={};this.kind=sre.TrieNode.Kind.ROOT};sre.AbstractTrieNode.prototype.getConstraint=function(){return this.constraint};sre.AbstractTrieNode.prototype.getKind=function(){return this.kind};sre.AbstractTrieNode.prototype.applyTest=function(a){return this.test(a)};sre.AbstractTrieNode.prototype.addChild=function(a){var b=a.getConstraint(),c=this.children_;this.children_=a;return c}; sre.AbstractTrieNode.prototype.getChild=function(a){return this.children_};sre.AbstractTrieNode.prototype.getChildren=function(){var a=[],b;for(b in this.children_)a.push(this.children_);return a};sre.AbstractTrieNode.prototype.findChildren=function(a){var b=[],c;for(c in this.children_){var d=this.children_;d.applyTest(a)&&b.push(d)}return b};sre.AbstractTrieNode.prototype.toString=function(){return this.constraint}; sre.StaticTrieNode=function(a,b){sre.AbstractTrieNode.call(this,a,b);this.kind=sre.TrieNode.Kind.STATIC;this.rule_=null};goog.inherits(sre.StaticTrieNode,sre.AbstractTrieNode);sre.StaticTrieNode.prototype.getRule=function(){return this.rule_};sre.StaticTrieNode.prototype.setRule=function(a){this.rule_&&sre.Debugger.getInstance().output(”Replacing rule “this.rule_
” with “+a);this.rule_=a}; sre.StaticTrieNode.prototype.toString=function(){return this.getRule()?this.constraint+”n==> “+this.getRule().action:this.constraint};sre.TrieNodeFactory={};sre.TrieNodeFactory.getNode=function(a,b,c){switch(a){case sre.TrieNode.Kind.ROOT:return new sre.RootTrieNode;case sre.TrieNode.Kind.DYNAMIC:return new sre.DynamicTrieNode(b);case sre.TrieNode.Kind.QUERY:return new sre.QueryTrieNode(b,c);case sre.TrieNode.Kind.BOOLEAN:return new sre.BooleanTrieNode(b,c);default:return null}};sre.RootTrieNode=function(){sre.AbstractTrieNode.call(this,”“,function(){return!0});this.kind=sre.TrieNode.Kind.ROOT};goog.inherits(sre.RootTrieNode,sre.AbstractTrieNode); sre.DynamicTrieNode=function(a){sre.AbstractTrieNode.call(this,a,function(b){return b===a});this.kind=sre.TrieNode.Kind.DYNAMIC};goog.inherits(sre.DynamicTrieNode,sre.AbstractTrieNode); sre.TrieNodeFactory.constraintTest_=function(a){if(a.match(/^self::*$/))return function(a){return!0};if(a.match(/^self::w+$/)){var b=a.slice(6).toUpperCase();return function(a){return a.tagName&&sre.DomUtil.tagName(a)===b}}if(a.match(/^self::w+:w+$/)){a=a.split(”:“);var c=sre.XpathUtil.resolveNameSpace(a);if(!c)return null;b=a.toUpperCase();return function(a){return a.localName&&a.localName.toUpperCase()===b&&a.namespaceURI===c}}if(a.match(/^@w+$/)){var d=a.slice(1);return function(a){return a.hasAttribute&& a.hasAttribute(d)}}if(a.match(/^@w+=”[wd ]+“$/)){a=a.split(”=“);d=a.slice(1);var e=a.slice(1,-1);return function(a){return a.hasAttribute&&a.hasAttribute(d)&&a.getAttribute(d)===e}}return a.match(/^@w+!=”[wd ]+“$/)?(a=a.split(”!=“),d=a.slice(1),e=a.slice(1,-1),function(a){return!a.hasAttribute||!a.hasAttribute(d)||a.getAttribute(d)!==e}):a.match(/^contains(s*@grammars*,s*”[wd ]+“s*)$/)?(a=a.split(‘”’),e=a,function(a){return sre.Grammar.getInstance().getParameter(e)}): a.match(/^not(s*contains(s*@grammars*,s*“[wd ]+”s*)s*)$/)?(a=a.split(‘“’),e=a,function(a){return!sre.Grammar.getInstance().getParameter(e)}):null};sre.QueryTrieNode=function(a,b){this.store_=b;sre.StaticTrieNode.call(this,a,sre.TrieNodeFactory.constraintTest_(a));this.kind=sre.TrieNode.Kind.QUERY};goog.inherits(sre.QueryTrieNode,sre.StaticTrieNode);sre.QueryTrieNode.prototype.applyTest=function(a){return this.test?this.test(a):this.store_.applyQuery(a,this.constraint)===a}; sre.BooleanTrieNode=function(a,b){this.store_=b;sre.StaticTrieNode.call(this,a,sre.TrieNodeFactory.constraintTest_(a));this.kind=sre.TrieNode.Kind.BOOLEAN};goog.inherits(sre.BooleanTrieNode,sre.StaticTrieNode);sre.BooleanTrieNode.prototype.applyTest=function(a){return this.test?this.test(a):this.store_.applyConstraint(a,this.constraint)};sre.Trie=function(a){this.store=a;this.root=sre.TrieNodeFactory.getNode(sre.TrieNode.Kind.ROOT,”“,this.store)};sre.Trie.prototype.addRule=function(a){for(var b=this.root,c=a.dynamicCstr.getValues(),d=0,e=c.length;db
”):“,m.message),null;throw m;}this.addRule(l);return l};sre.BaseRuleStore.prototype.addRule=function(a){this.trie.addRule(a);this.speechRules_.unshift(a)}; sre.BaseRuleStore.prototype.deleteRule=function(a){a=this.speechRules_.indexOf(a);-1!=a&&this.speechRules_.splice(a,1)};sre.BaseRuleStore.prototype.findRule=function(a){for(var b=0,c;c=this.speechRules_;b++)if(a©)return c;return null};sre.BaseRuleStore.prototype.findAllRules=function(a){return this.speechRules_.filter(a)};sre.BaseRuleStore.prototype.evaluateDefault=function(a){return}; sre.BaseRuleStore.prototype.debugSpeechRule=function(a,b){a=a.precondition;var c=this.applyQuery(b,a.query);sre.Debugger.getInstance().output(a.query,c?c.toString():c);a.constraints.forEach(goog.bind(function(a){sre.Debugger.getInstance().output(a,this.applyConstraint(b,a))},this))};sre.BaseRuleStore.prototype.initialize=goog.abstractMethod; sre.BaseRuleStore.prototype.removeDuplicates=function(a){for(var b=this.speechRules_.length-1,c;c=this.speechRules_;b–)c!=a&&a.dynamicCstr.equal(c.dynamicCstr)&&sre.BaseRuleStore.comparePreconditions_(c,a)&&this.speechRules_.splice(b,1)};sre.BaseRuleStore.prototype.applyCustomQuery=function(a,b){return(b=this.customQueries.lookup(b))?b(a):null};sre.BaseRuleStore.prototype.applySelector=function(a,b){return this.applyCustomQuery(a,b)||sre.XpathUtil.evalXPath(b,a)}; sre.BaseRuleStore.prototype.applyQuery=function(a,b){a=this.applySelector(a,b);return 0a
” with style “b
” does not exist.“);this.addAlias_(f,c,Array.prototype.slice.call(arguments,3))}; sre.MathStore.prototype.defineRuleAlias=function(a,b,c){var d=this.findRule(function(b){return b.name==a});if(!d)throw new sre.SpeechRule.OutputError(”Rule with named “a
” does not exist.“);this.addAlias_(d,b,Array.prototype.slice.call(arguments,2))}; sre.MathStore.prototype.defineRulesAlias=function(a,b,c){var d=this.findAllRules(function(b){return b.name==a});if(0==d.length)throw new sre.SpeechRule.OutputError(”Rule with name “a
” does not exist.“);var e=Array.prototype.slice.call(arguments,2);d.forEach(goog.bind(function(a){this.addAlias_(a,b,e)},this))};sre.MathStore.prototype.addAlias_=function(a,b,c){b=new sre.SpeechRule.Precondition(b,c);b=new sre.SpeechRule(a.name,a.dynamicCstr,b,a.action);b.name=a.name;this.addRule(b)}; sre.MathStore.prototype.defineSpecialisedRule=function(a,b,c,d){var e=this.parseCstr(b),f=this.findRule(goog.bind(function(b){return b.name==a&&e.equal(b.dynamicCstr)},this));if(!f)throw new sre.SpeechRule.OutputError(”Rule named “a
” with style “b
” does not exist.“);b=this.parseCstr©;d=d?sre.SpeechRule.Action.fromString(d):f.action;f=new sre.SpeechRule(f.name,b,f.precondition,d);this.addRule(f)};sre.MathStore.prototype.evaluateDefault=function(a){return this.evaluateString_(a.textContent)}; sre.MathStore.prototype.evaluateString_=function(a){var b=[];if(a.match(/^s+$/))return b;a=sre.BaseUtil.removeEmpty(a.replace(/s/g,” “).split(” “));for(var c=0,d;d=a;c++)if(1==d.length)b.push(this.evaluate_(d));else if(d.match(/^+$/))b.push(this.evaluate_(d));else for(;d;){var e=d.match(/^((d{1,3})(?=,)(,d{3})*(.d+)?)|^d*.d+|^d+/),f=d.match(/^+/);e?(b.push(this.evaluate_(e)),d=d.substring(e.length)):f?(b.push(this.evaluate_(f)),d=d.substring(f.length)):(e= d.charCodeAt(0),55296<=e&&56319>=e&&1c[d][e]
'“',”self::text()“,'”'===b?“self::text() = '”b
“'”:'self::text() = “'b
'”')}; sre.MathSimpleStore.prototype.lookupRule=function(a,b){a=this.getSpeechRules().filter(function(a){return sre.MathSimpleStore.testDynamicConstraints_(b,a)});return a.length?a.sort(function(a,b){return sre.Engine.getInstance().comparator.compare(a.dynamicCstr,b.dynamicCstr)})[0]:null};sre.MathSimpleStore.testDynamicConstraints_=function(a,b){return sre.Engine.getInstance().strict?b.dynamicCstr.equal(a):sre.Engine.getInstance().comparator.match(b.dynamicCstr)}; sre.MathCompoundStore=function(){this.subStores_={};this.locale=sre.DynamicCstr.DEFAULT_VALUES};goog.addSingletonGetter(sre.MathCompoundStore);sre.MathCompoundStore.prototype.defineRules=function(a,b,c){var d=this.subStores_;d?sre.Debugger.getInstance().output(“Store exists! ”+b):(d=new sre.MathSimpleStore,this.subStores_=d);d.locale=this.locale;d.defineRulesFromMappings(a,b,c)}; sre.MathCompoundStore.prototype.changeLocale_=function(a){if(!a.locale)return!1;this.locale=a.locale;return!0};sre.MathCompoundStore.prototype.addSymbolRules=function(a){if(!this.changeLocale_(a)){var b=sre.MathSimpleStore.parseUnicode_(a.key);this.defineRules(a.key,b,a.mappings)}};sre.MathCompoundStore.prototype.addFunctionRules=function(a){if(!this.changeLocale_(a)){var b=a.names;a=a.mappings;for(var c=0,d;d=b;c++)this.defineRules(d,d,a)}}; sre.MathCompoundStore.prototype.addUnitRules=function(a){if(!this.changeLocale_(a)){var b=a.names;b&&(a.names=b.map(function(a){return a+“:unit”}));this.addFunctionRules(a)}};sre.MathCompoundStore.prototype.lookupRule=function(a,b){return(a=this.subStores_)?a.lookupRule(null,b):null};sre.MathCompoundStore.prototype.lookupString=function(a,b){return(a=this.lookupRule(a,b))?a.action.components.map(function(a){return a.content.slice(1,-1)}).join(“ ”):“”}; sre.MathSimpleStore.parseUnicode_=function(a){a=parseInt(a,16);if(65536>a)return String.fromCharCode(a);a-=65536;return String.fromCharCode((a>>10)+55296,(a&1023)+56320)};sre.MathMap=function(){this.store=sre.MathCompoundStore.getInstance();this.retrieveMaps()};goog.addSingletonGetter(sre.MathMap);sre.MathMap.toFetch_=0;sre.Engine.registerTest(function(){return sre.MathMap.getInstance()&&!sre.MathMap.toFetch_});sre.MathMap.prototype.stringify=function(){return JSON.stringify(this)};sre.MathMap.SYMBOLS_PATH_=“symbols”;sre.MathMap.FUNCTIONS_PATH_=“functions”;sre.MathMap.UNITS_PATH_=“units”;sre.MathMap.SYMBOLS_FILES_=“greek-capital.js greek-small.js greek-scripts.js greek-symbols.js greek-mathfonts-bold.js greek-mathfonts-italic.js greek-mathfonts-sans-serif-bold.js hebrew_letters.js latin-lower-double-accent.js latin-lower-normal.js latin-lower-phonetic.js latin-lower-single-accent.js latin-rest.js latin-upper-double-accent.js latin-upper-normal.js latin-upper-single-accent.js latin-mathfonts-bold-fraktur.js latin-mathfonts-bold.js latin-mathfonts-bold-script.js latin-mathfonts-double-struck.js latin-mathfonts-fraktur.js latin-mathfonts-italic.js latin-mathfonts-monospace.js latin-mathfonts-sans-serif-bold.js latin-mathfonts-sans-serif-italic.js latin-mathfonts-sans-serif.js latin-mathfonts-script.js math_angles.js math_arrows.js math_characters.js math_delimiters.js math_digits.js math_geometry.js math_harpoons.js math_non_characters.js math_symbols.js math_whitespace.js other_stars.js”.split(“ ”); sre.MathMap.FUNCTIONS_FILES_=;sre.MathMap.UNITS_FILES_=“energy.js length.js memory.js other.js speed.js temperature.js time.js volume.js weight.js”.split(“ ”); sre.MathMap.retrieveFiles=function(a,b,c){b=sre.BaseUtil.makePath(sre.SystemExternal.jsonPath+b);switch(sre.Engine.getInstance().mode){case sre.Engine.Mode.ASYNC:sre.MathMap.toFetch_+=a.length;for(var d=0,e;e=a;d++)sre.MathMap.fromFile_(b+e,function(a,b){sre.MathMap.toFetch_–;a||JSON.parse(b).forEach(function(a){c(a)})});break;case sre.Engine.Mode.HTTP:var f=sre.Engine.getInstance().isIE;sre.MathMap.toFetch_+=a.length;for(d=0;e=a;d++)f?sre.MathMap.getJsonIE_(e,c):sre.MathMap.getJsonAjax_(b+ e,c);break;default:sre.MathMap.parseFiles(a.map(function(a){return b+a})).forEach(function(a){c(a)})}}; sre.MathMap.prototype.retrieveMaps=function(){for(var a=0;a<sre.Variables.LOCALES.length;a++){var b=sre.Variables.LOCALES;sre.MathMap.retrieveFiles(sre.MathMap.FUNCTIONS_FILES_,b+“/”+sre.MathMap.FUNCTIONS_PATH_,goog.bind(this.store.addFunctionRules,this.store));sre.MathMap.retrieveFiles(sre.MathMap.SYMBOLS_FILES_,b+“/”+sre.MathMap.SYMBOLS_PATH_,goog.bind(this.store.addSymbolRules,this.store));sre.MathMap.retrieveFiles(sre.MathMap.UNITS_FILES_,b+“/”+sre.MathMap.UNITS_PATH_,goog.bind(this.store.addUnitRules, this.store))}};sre.MathMap.getJsonIE_=function(a,b,c){var d=c||1;if(sre.BrowserUtil.mapsForIE){for(c=0;c<sre.Variables.LOCALES.length;c++){var e=sre.BrowserUtil.mapsForIE[sre.Variables.LOCALES+“/”+a];e&&e.forEach(function(a){b(a)})}sre.MathMap.toFetch_–}else 5>=d?setTimeout(function(){sre.MathMap.getJsonIE_(a,b,d++)},300):sre.MathMap.toFetch_–};sre.MathMap.fromFile_=function(a,b){return sre.SystemExternal.fs.readFile(a,“utf8”,b)}; sre.MathMap.loadFile=function(a){try{return sre.MathMap.readJSON_(a)}catch(b){console.log(“Unable to load file: ”a
“, error: ”+b)}};sre.MathMap.loadFiles=function(a){return a.map(sre.MathMap.loadFile)};sre.MathMap.parseFiles=function(a){a=sre.MathMap.loadFiles(a);return[].concat.apply(,a.map(function(a){return JSON.parse(a)}))};sre.MathMap.readJSON_=function(a){return sre.SystemExternal.fs.readFileSync(a)}; sre.MathMap.getJsonAjax_=function(a,b){var c=new XMLHttpRequest;c.onreadystatechange=function(){4===c.readyState&&(sre.MathMap.toFetch_–,200===c.status&&JSON.parse(c.responseText).forEach(function(a){b(a)}))};c.open(“GET”,a,!0);c.send()};sre.AbstractionRules=function(){sre.MathStore.call(this)};goog.inherits(sre.AbstractionRules,sre.MathStore);goog.addSingletonGetter(sre.AbstractionRules);sre.AbstractionRules.mathStore=sre.AbstractionRules.getInstance();sre.AbstractionRules.defineRule_=goog.bind(sre.AbstractionRules.mathStore.defineRule,sre.AbstractionRules.mathStore);sre.AbstractionRules.defineRuleAlias_=goog.bind(sre.AbstractionRules.mathStore.defineRulesAlias,sre.AbstractionRules.mathStore); sre.AbstractionRules.defineSpecialisedRule_=goog.bind(sre.AbstractionRules.mathStore.defineSpecialisedRule,sre.AbstractionRules.mathStore);sre.AbstractionRules.defineUniqueRuleAlias_=goog.bind(sre.AbstractionRules.mathStore.defineUniqueRuleAlias,sre.AbstractionRules.mathStore); sre.AbstractionRules.initAbstractionRules_=function(){(0,sre.AbstractionRules.defineRule_)(“abstr-collapsed”,“mathspeak.default”,’ “collapsed”; [n] . (grammar:collapsed)',“self::*”,“@alternative”,'not(@alternative=“summary”)','not(contains(@grammar, “collapsed”))‘);(0,sre.AbstractionRules.defineRule_)(“abstr-identifier”,“mathspeak.default”,’ “long identifier”',“self::identifier”,“@alternative”,“self::*”,“self::*”,“self::*”,“self::*”);(0,sre.AbstractionRules.defineRule_)(“abstr-identifier”,“mathspeak.default”, '[t] “identifier”‘,“self::identifier”,’@alternative=“summary”‘,“@alternative”,“self::*”,“self::*”,“self::*”,“self::*”);(0,sre.AbstractionRules.defineRule_)(“abstr-identifier”,“mathspeak.brief”,’ “identifier”‘,“self::identifier”,“@alternative”,“self::*”,“self::*”,“self::*”,“self::*”);(0,sre.AbstractionRules.defineSpecialisedRule_)(“abstr-identifier”,“mathspeak.brief”,“mathspeak.sbrief”);(0,sre.AbstractionRules.defineRule_)(“abstr-number”,“mathspeak.default”,’ “long number”',“self::number”,“@alternative”); (0,sre.AbstractionRules.defineRule_)(“abstr-number”,“mathspeak.default”,‘ “number”’,“self::number”,“@alternative”,‘@alternative=“summary”’);(0,sre.AbstractionRules.defineRule_)(“abstr-number”,“mathspeak.brief”,‘ “number”’,“self::number”,“@alternative”);(0,sre.AbstractionRules.defineSpecialisedRule_)(“abstr-number”,“mathspeak.brief”,“mathspeak.sbrief”);(0,sre.AbstractionRules.defineRule_)(“abstr-mixed-number”,“mathspeak.default”,‘ “long mixed number”',“self::number”,“@alternative”,'@role=“mixed”'); (0,sre.AbstractionRules.defineRule_)(“abstr-mixed-number”,“mathspeak.brief”,’ “mixed number”‘,“self::number”,“@alternative”,’@role=“mixed”‘);(0,sre.AbstractionRules.defineSpecialisedRule_)(“abstr-mixed-number”,“mathspeak.brief”,“mathspeak.sbrief”);(0,sre.AbstractionRules.defineRule_)(“abstr-text”,“mathspeak.default”,’ “text”‘,“self::text”,“@alternative”);(0,sre.AbstractionRules.defineRule_)(“abstr-function”,“mathspeak.default”,’ “functional expression”',“self::function”,“@alternative”,“self::*”); (0,sre.AbstractionRules.defineRule_)(“abstr-function”,“mathspeak.brief”,‘ “function”’,“self::function”,“@alternative”,“self::*”);(0,sre.AbstractionRules.defineSpecialisedRule_)(“abstr-function”,“mathspeak.brief”,“mathspeak.sbrief”);(0,sre.AbstractionRules.defineRule_)(“abstr-lim”,“mathspeak.default”,‘ “limit function”',“self::function”,“@alternative”,'@role=“limit function”’);(0,sre.AbstractionRules.defineRule_)(“abstr-lim”,“mathspeak.brief”,‘ “lim”',“self::function”,“@alternative”,'@role=“limit function”'); (0,sre.AbstractionRules.defineSpecialisedRule_)(“abstr-lim”,“mathspeak.brief”,“mathspeak.sbrief”);(0,sre.AbstractionRules.defineRule_)(“abstr-fraction”,“mathspeak.default”,’ “fraction”‘,“self::fraction”,“@alternative”);(0,sre.AbstractionRules.defineRule_)(“abstr-fraction”,“mathspeak.brief”,’ “frac”',“self::fraction”,“@alternative”);(0,sre.AbstractionRules.defineSpecialisedRule_)(“abstr-fraction”,“mathspeak.brief”,“mathspeak.sbrief”);(0,sre.AbstractionRules.defineRule_)(“abstr-continued-fraction”, “mathspeak.default”,‘ “continued fraction”’,“self::fraction”,“@alternative”,‘children/[2]/descendant-or-self::[@role=“ellipsis”]',“self::*”,“self::*”);(0,sre.AbstractionRules.defineRule_)(“abstr-continued-fraction”,“mathspeak.brief”,’ “continued frac”‘,“self::fraction”,“@alternative”,’children/[2]/descendant-or-self::[@role=“ellipsis”]',“self::*”,“self::*”);(0,sre.AbstractionRules.defineSpecialisedRule_)(“abstr-continued-fraction”,“mathspeak.brief”,“mathspeak.sbrief”);(0,sre.AbstractionRules.defineRule_)(“abstr-sqrt”, “mathspeak.default”,‘ “square root”’,“self::sqrt”,“@alternative”);(0,sre.AbstractionRules.defineSpecialisedRule_)(“abstr-sqrt”,“mathspeak.default”,“mathspeak.brief”);(0,sre.AbstractionRules.defineSpecialisedRule_)(“abstr-sqrt”,“mathspeak.brief”,“mathspeak.sbrief”);(0,sre.AbstractionRules.defineRule_)(“abstr-sqrt-nested”,“mathspeak.default”,‘ “nested square root”',“self::sqrt”,“@alternative”,“children/*/descendant-or-self::sqrt or children/*/descendant-or-self::root”);(0,sre.AbstractionRules.defineSpecialisedRule_)(“abstr-sqrt-nested”, “mathspeak.default”,“mathspeak.brief”);(0,sre.AbstractionRules.defineSpecialisedRule_)(“abstr-sqrt-nested”,“mathspeak.brief”,“mathspeak.sbrief”);(0,sre.AbstractionRules.defineRule_)(“abstr-root”,“mathspeak.default”,’ “root of index”; [n] children/*; [t] “endindex”',“self::root”,“@alternative”,“following-sibling::* or ancestor::/following-sibling::”);(0,sre.AbstractionRules.defineRule_)(“abstr-root”,“mathspeak.brief”,‘ “root”',“self::root”,“@alternative”);(0,sre.AbstractionRules.defineSpecialisedRule_)(“abstr-root”, “mathspeak.brief”,“mathspeak.sbrief”);(0,sre.AbstractionRules.defineRule_)(“abstr-root-nested”,“mathspeak.default”,’ “nested root of index”; [n] children/*',“self::root”,“@alternative”,“children/*/descendant-or-self::sqrt or children/*/descendant-or-self::root”);(0,sre.AbstractionRules.defineRule_)(“abstr-root-nested”,“mathspeak.default”,‘ “nested root of index”; [n] children/*; [t] “endindex”',“self::root”,“@alternative”,“children/*/descendant-or-self::sqrt or children/*/descendant-or-self::root”, “following-sibling::* or ancestor::/following-sibling::”);(0,sre.AbstractionRules.defineRule_)(“abstr-root-nested”,“mathspeak.brief”,’ “nested root”',“self::root”,“@alternative”,“children/*/descendant-or-self::sqrt or children/*/descendant-or-self::root”);(0,sre.AbstractionRules.defineSpecialisedRule_)(“abstr-root-nested”,“mathspeak.brief”,“mathspeak.sbrief”);(0,sre.AbstractionRules.defineRule_)(“abstr-superscript”,“mathspeak.default”,‘ “power”',“self::superscript”,“@alternative”,“self::*”, “self::*”,“self::*”,“self::*”);(0,sre.AbstractionRules.defineSpecialisedRule_)(“abstr-superscript”,“mathspeak.default”,“mathspeak.brief”);(0,sre.AbstractionRules.defineSpecialisedRule_)(“abstr-superscript”,“mathspeak.brief”,“mathspeak.sbrief”);(0,sre.AbstractionRules.defineRule_)(“abstr-subscript”,“mathspeak.default”,’ “subscript”',“self::subscript”,“@alternative”,“self::*”,“self::*”,“self::*”);(0,sre.AbstractionRules.defineSpecialisedRule_)(“abstr-subscript”,“mathspeak.default”,“mathspeak.brief”); (0,sre.AbstractionRules.defineSpecialisedRule_)(“abstr-subscript”,“mathspeak.brief”,“mathspeak.sbrief”);(0,sre.AbstractionRules.defineRule_)(“abstr-subsup”,“mathspeak.default”,‘ “power with subscript”’,“self::superscript”,“@alternative”,‘name(children/*)=“subscript”',“self::*”,“self::*”,“self::*”);(0,sre.AbstractionRules.defineSpecialisedRule_)(“abstr-subsup”,“mathspeak.default”,“mathspeak.brief”);(0,sre.AbstractionRules.defineSpecialisedRule_)(“abstr-subsup”,“mathspeak.brief”,“mathspeak.sbrief”); (0,sre.AbstractionRules.defineRule_)(“abstr-infixop”,“mathspeak.default”,’ @role (grammar:localRole); [t] “with”; [t] count(./children/*); [t] “elements”‘,“self::infixop”,“@alternative”);(0,sre.AbstractionRules.defineRule_)(“abstr-infixop”,“mathspeak.default”,’ @role (grammar:localRole); [t] “with variable number of elements”‘,“self::infixop”,“@alternative”,“count(./children/*)>2”,’./children/punctuation');(0,sre.AbstractionRules.defineRule_)(“abstr-infixop”,“mathspeak.brief”, “[t] @role (grammar:localRole)”,“self::infixop”,“@alternative”);(0,sre.AbstractionRules.defineSpecialisedRule_)(“abstr-infixop”,“mathspeak.brief”,“mathspeak.sbrief”);(0,sre.AbstractionRules.defineRule_)(“abstr-addition”,“mathspeak.default”,‘ “sum with”; [t] count(./children/*); [t] “summands”’,“self::infixop”,“@alternative”,‘@role=“addition”’);(0,sre.AbstractionRules.defineRule_)(“abstr-addition”,“mathspeak.brief”,‘ “sum”',“self::infixop”,“@alternative”,'@role=“addition”');(0,sre.AbstractionRules.defineSpecialisedRule_)(“abstr-addition”, “mathspeak.brief”,“mathspeak.sbrief”);(0,sre.AbstractionRules.defineRule_)(“abstr-var-addition”,“mathspeak.default”,’ “sum with variable number of summands”‘,“self::infixop”,“@alternative”,’@role=“addition”‘,“count(./children/*)>2”,’./children/punctuation');(0,sre.AbstractionRules.defineRule_)(“abstr-multiplication”,“mathspeak.default”,‘ “product with”; [t] count(./children/*); [t] “factors”',“self::infixop”,“@alternative”,'@role=“multiplication”');(0,sre.AbstractionRules.defineRule_)(“abstr-multiplication”, “mathspeak.brief”,’ “product”‘,“self::infixop”,“@alternative”,’@role=“multiplication”‘);(0,sre.AbstractionRules.defineSpecialisedRule_)(“abstr-multiplication”,“mathspeak.brief”,“mathspeak.sbrief”);(0,sre.AbstractionRules.defineRuleAlias_)(“abstr-multiplication”,“self::infixop”,“@alternative”,’@role=“implicit”‘);(0,sre.AbstractionRules.defineRule_)(“abstr-var-multiplication”,“mathspeak.default”,’ “product with variable number of factors”',“self::infixop”,“@alternative”,'@role=“multiplication”', “count(./children/*)>2”,‘./children/punctuation');(0,sre.AbstractionRules.defineRuleAlias_)(“abstr-var-multiplication”,“self::infixop”,“@alternative”,’@role=“implicit”‘,“count(./children/*)>2”,’./children/punctuation');(0,sre.AbstractionRules.defineRule_)(“abstr-vector”,“mathspeak.default”,‘ count(./children/*) ; [t] “dimensional vector”’,“self::vector”,“@alternative”);(0,sre.AbstractionRules.defineRule_)(“abstr-vector”,“mathspeak.brief”,‘ “vector”',“self::vector”, “@alternative”);(0,sre.AbstractionRules.defineSpecialisedRule_)(“abstr-vector”,“mathspeak.brief”,“mathspeak.sbrief”);(0,sre.AbstractionRules.defineRule_)(“abstr-var-vector”,“mathspeak.default”,’ “n dimensional vector”‘,“self::vector”,“@alternative”,’./children/*/children/punctuation');(0,sre.AbstractionRules.defineRule_)(“abstr-binomial”,“mathspeak.default”,‘ “binomial”',“self::vector”,“@alternative”,'@role=“binomial”');(0,sre.AbstractionRules.defineSpecialisedRule_)(“abstr-binomial”, “mathspeak.default”,“mathspeak.brief”);(0,sre.AbstractionRules.defineSpecialisedRule_)(“abstr-binomial”,“mathspeak.default”,“mathspeak.sbrief”);(0,sre.AbstractionRules.defineRule_)(“abstr-determinant”,“mathspeak.default”,’ count(./children/*); [t] “dimensional determinant”‘,“self::matrix”,“@alternative”,’@role=“determinant”‘,“self::*”);(0,sre.AbstractionRules.defineRule_)(“abstr-determinant”,“mathspeak.brief”,’ “determinant”',“self::matrix”,“@alternative”,'@role=“determinant”',“self::*”);(0,sre.AbstractionRules.defineSpecialisedRule_)(“abstr-determinant”, “mathspeak.brief”,“mathspeak.sbrief”);(0,sre.AbstractionRules.defineRule_)(“abstr-var-determinant”,“mathspeak.default”,‘ “n dimensional determinant”’,“self::matrix”,“@alternative”,‘@role=“determinant”’,‘./children//children//children/punctuation');(0,sre.AbstractionRules.defineRule_)(“abstr-squarematrix”,“mathspeak.default”,’ count(./children/*); [t] “dimensional square matrix”',“self::matrix”,“@alternative”,'@role=“squarematrix”');(0,sre.AbstractionRules.defineRule_)(“abstr-squarematrix”, “mathspeak.brief”,‘ “square matrix”’,“self::matrix”,“@alternative”,‘@role=“squarematrix”’);(0,sre.AbstractionRules.defineSpecialisedRule_)(“abstr-squarematrix”,“mathspeak.brief”,“mathspeak.sbrief”);(0,sre.AbstractionRules.defineRule_)(“abstr-rowvector”,“mathspeak.default”,‘ count(./children/row/children/*); [t] “dimensional row vector”’,“self::matrix”,“@alternative”,‘@role=“rowvector”’);(0,sre.AbstractionRules.defineRule_)(“abstr-rowvector”,“mathspeak.brief”,‘ “row vector”',“self::matrix”, “@alternative”,’@role=“rowvector”‘);(0,sre.AbstractionRules.defineSpecialisedRule_)(“abstr-rowvector”,“mathspeak.brief”,“mathspeak.sbrief”);(0,sre.AbstractionRules.defineRule_)(“abstr-var-matrix”,“mathspeak.default”,’ “n dimensional row vector”‘,“self::matrix”,“@alternative”,’@role=“rowvector”‘,’./children//children//children/punctuation');(0,sre.AbstractionRules.defineRule_)(“abstr-matrix”,“mathspeak.default”,‘ count(children/*); [t] “by”; count(children/[1]/children/); [t] “matrix”', “self::matrix”,“@alternative”);(0,sre.AbstractionRules.defineRule_)(“abstr-matrix”,“mathspeak.brief”,’ “matrix”‘,“self::matrix”,“@alternative”);(0,sre.AbstractionRules.defineSpecialisedRule_)(“abstr-matrix”,“mathspeak.brief”,“mathspeak.sbrief”);(0,sre.AbstractionRules.defineRule_)(“abstr-var-matrix”,“mathspeak.default”,’ “n by m dimensional matrix”‘,“self::matrix”,“@alternative”,’./children//children//children/punctuation');(0,sre.AbstractionRules.defineRule_)(“abstr-cases”, “mathspeak.default”,‘ “case statement”; “with”; [t] count(children/*); [t] “cases”’,“self::cases”,“@alternative”);(0,sre.AbstractionRules.defineRule_)(“abstr-cases”,“mathspeak.brief”,‘ “case statement”’,“self::cases”,“@alternative”);(0,sre.AbstractionRules.defineSpecialisedRule_)(“abstr-cases”,“mathspeak.brief”,“mathspeak.sbrief”);(0,sre.AbstractionRules.defineRule_)(“abstr-var-cases”,“mathspeak.default”,‘ “case statement with variable number of cases”’,“self::cases”,“@alternative”,‘./children/row/children/cell/children/punctuationor ./children/line/children/punctuation'); (0,sre.AbstractionRules.defineRule_)(“abstr-punctuated”,“mathspeak.default”,’ content/*; [t] “separated list”; “of length”; [t] count(children/*) - count(content/*)‘,“self::punctuated”,“@alternative”);(0,sre.AbstractionRules.defineRule_)(“abstr-punctuated”,“mathspeak.brief”,’ content/*; [t] “separated list”',“self::punctuated”,“@alternative”);(0,sre.AbstractionRules.defineSpecialisedRule_)(“abstr-punctuated”,“mathspeak.brief”,“mathspeak.sbrief”);(0,sre.AbstractionRules.defineRule_)(“abstr-var-punctuated”, “mathspeak.default”,‘ content/*; [t] “separated list”; “of variable length”’,“self::punctuated”,“@alternative”,‘./children/punctuation');(0,sre.AbstractionRules.defineRule_)(“abstr-bigop”,“mathspeak.default”,“ content/*”,“self::bigop”,“@alternative”,“self::*”);(0,sre.AbstractionRules.defineRule_)(“abstr-integral”,“mathspeak.default”,’ “integral”',“self::*”,“@alternative”,'@role=“integral”');(0,sre.AbstractionRules.defineRule_)(“abstr-relation”,“mathspeak.default”, “[t] @role (grammar:localRole);”,“self::relseq”,“@alternative”,“count(./children/*)=2”);(0,sre.AbstractionRules.defineSpecialisedRule_)(“abstr-relation”,“mathspeak.default”,“mathspeak.brief”);(0,sre.AbstractionRules.defineSpecialisedRule_)(“abstr-relation”,“mathspeak.brief”,“mathspeak.sbrief”);(0,sre.AbstractionRules.defineRule_)(“abstr-relation”,“mathspeak.default”,‘ @role (grammar:localRole); [t] “sequence”; [t] “with”; [t] count(./children/*); [t] “elements”',“self::relseq”,“@alternative”,“count(./children/*)>2”); (0,sre.AbstractionRules.defineRule_)(“abstr-relation”,“mathspeak.brief”,’ @role (grammar:localRole); [t] “sequence”‘,“self::relseq”,“@alternative”,“count(./children/*)>2”);(0,sre.AbstractionRules.defineSpecialisedRule_)(“abstr-relation”,“mathspeak.brief”,“mathspeak.sbrief”);(0,sre.AbstractionRules.defineRule_)(“abstr-var-relation”,“mathspeak.default”,’ @role (grammar:localRole); [t] “sequence”; [t] “with variable number of elements”‘,“self::relseq”,“@alternative”,“count(./children/*)>2”,’./children/punctuation'); (0,sre.AbstractionRules.defineUniqueRuleAlias_)(“abstr-relation”,“mathspeak.default”,“self::multirel”,“@alternative”,'@role!=“unknown”',“count(./children/*)>2”);(0,sre.AbstractionRules.defineUniqueRuleAlias_)(“abstr-relation”,“mathspeak.brief”,“self::multirel”,“@alternative”,'@role!=“unknown”',“count(./children/*)>2”);(0,sre.AbstractionRules.defineSpecialisedRule_)(“abstr-relation”,“mathspeak.brief”,“mathspeak.sbrief”);(0,sre.AbstractionRules.defineRuleAlias_)(“abstr-var-relation”,“self::multirel”, “@alternative”,‘@role!=“unknown”’,“count(./children/*)>2”,‘./children/punctuation');(0,sre.AbstractionRules.defineRule_)(“abstr-multirel”,“mathspeak.default”,’ “relation sequence”; [t] “with”; [t] count(./children/*); [t] “elements”‘,“self::multirel”,“@alternative”,“count(./children/*)>2”);(0,sre.AbstractionRules.defineRule_)(“abstr-multirel”,“mathspeak.brief”,’ “relation sequence”',“self::multirel”,“@alternative”,“count(./children/*)>2”);(0,sre.AbstractionRules.defineSpecialisedRule_)(“abstr-multirel”, “mathspeak.brief”,“mathspeak.sbrief”);(0,sre.AbstractionRules.defineRule_)(“abstr-var-multirel”,“mathspeak.default”,‘ “relation sequence with variable number of elements”’,“self::multirel”,“@alternative”,“count(./children/*)>2”,‘./children/punctuation');(0,sre.AbstractionRules.defineRule_)(“abstr-table”,“mathspeak.default”,’ “table with”; [t] count(children/*); [t] “rows and”; count(children/[1]/children/); [t] “columns”',“self::table”,“@alternative”);(0,sre.AbstractionRules.defineSpecialisedRule_)(“abstr-table”, “mathspeak.default”,“mathspeak.brief”);(0,sre.AbstractionRules.defineSpecialisedRule_)(“abstr-table”,“mathspeak.brief”,“mathspeak.sbrief”);(0,sre.AbstractionRules.defineRule_)(“abstr-line”,“mathspeak.default”,‘ “in”; [t] @role (grammar:localRole);’,“self::line”,“@alternative”);(0,sre.AbstractionRules.defineRule_)(“abstr-row”,“mathspeak.default”,‘ “in”; [t] @role (grammar:localRole); count(preceding-sibling::..); [t] “with”; count(children/*); [t] “columns”',“self::row”,“@alternative”, “*”);(0,sre.AbstractionRules.defineSpecialisedRule_)(“abstr-row”,“mathspeak.default”,“mathspeak.brief”);(0,sre.AbstractionRules.defineSpecialisedRule_)(“abstr-row”,“mathspeak.default”,“mathspeak.sbrief”);(0,sre.AbstractionRules.defineRule_)(“abstr-cell”,“mathspeak.default”,’ “in”; [t] @role (grammar:localRole);',“self::cell”,“@alternative”)};sre.AbstractionRules.getInstance().initializer=;sre.AbstractionSpanish=function(){sre.MathStore.call(this);this.locale=“es”};goog.inherits(sre.AbstractionSpanish,sre.MathStore);goog.addSingletonGetter(sre.AbstractionSpanish);sre.AbstractionSpanish.mathStore=sre.AbstractionSpanish.getInstance();sre.AbstractionSpanish.defineRule_=goog.bind(sre.AbstractionSpanish.mathStore.defineRule,sre.AbstractionSpanish.mathStore);sre.AbstractionSpanish.defineRuleAlias_=goog.bind(sre.AbstractionSpanish.mathStore.defineRulesAlias,sre.AbstractionSpanish.mathStore); sre.AbstractionSpanish.defineSpecialisedRule_=goog.bind(sre.AbstractionSpanish.mathStore.defineSpecialisedRule,sre.AbstractionSpanish.mathStore);sre.AbstractionSpanish.defineUniqueRuleAlias_=goog.bind(sre.AbstractionSpanish.mathStore.defineUniqueRuleAlias,sre.AbstractionSpanish.mathStore); sre.AbstractionSpanish.initAbstractionSpanish_=function(){(0,sre.AbstractionSpanish.defineRule_)(“abstr-collapsed”,“mathspeak.default”,‘ . (grammar:collapsed); [t] “plegado”',“self::*”,“@alternative”,'not(@alternative=“summary”)','not(contains(@grammar, “collapsed”))’);(0,sre.AbstractionSpanish.defineRule_)(“abstr-identifier”,“mathspeak.default”,‘ “identificador largo”',“self::identifier”,“@alternative”,“self::*”,“self::*”,“self::*”,“self::*”);(0,sre.AbstractionSpanish.defineRule_)(“abstr-identifier”, “mathspeak.default”,’ “identificador”‘,“self::identifier”,’@alternative=“summary”‘,“@alternative”,“self::*”,“self::*”,“self::*”,“self::*”);(0,sre.AbstractionSpanish.defineRule_)(“abstr-identifier”,“mathspeak.brief”,’ “identificador”‘,“self::identifier”,“@alternative”,“self::*”,“self::*”,“self::*”,“self::*”);(0,sre.AbstractionSpanish.defineSpecialisedRule_)(“abstr-identifier”,“mathspeak.brief”,“mathspeak.sbrief”);(0,sre.AbstractionSpanish.defineRule_)(“abstr-number”,“mathspeak.default”,’ “nu00famero largo”', “self::number”,“@alternative”);(0,sre.AbstractionSpanish.defineRule_)(“abstr-number”,“mathspeak.default”,‘ “nu00famero”’,“self::number”,“@alternative”,‘@alternative=“summary”’);(0,sre.AbstractionSpanish.defineRule_)(“abstr-number”,“mathspeak.brief”,‘ “nu00famero”’,“self::number”,“@alternative”);(0,sre.AbstractionSpanish.defineSpecialisedRule_)(“abstr-number”,“mathspeak.brief”,“mathspeak.sbrief”);(0,sre.AbstractionSpanish.defineRule_)(“abstr-mixed-number”,“mathspeak.default”,‘ “nu00famero largo mixto”', “self::number”,“@alternative”,’@role=“mixed”‘);(0,sre.AbstractionSpanish.defineRule_)(“abstr-mixed-number”,“mathspeak.brief”,’ “numero mixto”‘,“self::number”,“@alternative”,’@role=“mixed”‘);(0,sre.AbstractionSpanish.defineSpecialisedRule_)(“abstr-mixed-number”,“mathspeak.brief”,“mathspeak.sbrief”);(0,sre.AbstractionSpanish.defineRule_)(“abstr-text”,“mathspeak.default”,’ “texto”‘,“self::text”,“@alternative”);(0,sre.AbstractionSpanish.defineRule_)(“abstr-function”,“mathspeak.default”,’ “expresiu00f3n funcional”', “self::function”,“@alternative”,“self::*”);(0,sre.AbstractionSpanish.defineRule_)(“abstr-function”,“mathspeak.brief”,‘ “funciu00f3n”’,“self::function”,“@alternative”,“self::*”);(0,sre.AbstractionSpanish.defineSpecialisedRule_)(“abstr-function”,“mathspeak.brief”,“mathspeak.sbrief”);(0,sre.AbstractionSpanish.defineRule_)(“abstr-lim”,“mathspeak.default”,‘ “funciu00f3n de lu00edmite”',“self::function”,“@alternative”,'@role=“limit function”');(0,sre.AbstractionSpanish.defineRule_)(“abstr-lim”, “mathspeak.brief”,’ “lu00edmite”',“self::function”,“@alternative”,'@role=“limit function”‘);(0,sre.AbstractionSpanish.defineSpecialisedRule_)(“abstr-lim”,“mathspeak.brief”,“mathspeak.sbrief”);(0,sre.AbstractionSpanish.defineRule_)(“abstr-fraction”,“mathspeak.default”,’ “fracciu00f3n”‘,“self::fraction”,“@alternative”);(0,sre.AbstractionSpanish.defineRule_)(“abstr-fraction”,“mathspeak.brief”,’ “frac”',“self::fraction”,“@alternative”);(0,sre.AbstractionSpanish.defineSpecialisedRule_)(“abstr-fraction”, “mathspeak.brief”,“mathspeak.sbrief”);(0,sre.AbstractionSpanish.defineRule_)(“abstr-continued-fraction”,“mathspeak.default”,‘ “fracciu00f3n continua”’,“self::fraction”,“@alternative”,‘children/[2]/descendant-or-self::[@role=“ellipsis”]',“self::*”,“self::*”);(0,sre.AbstractionSpanish.defineRule_)(“abstr-continued-fraction”,“mathspeak.brief”,’ “frac continua”‘,“self::fraction”,“@alternative”,’children/[2]/descendant-or-self::[@role=“ellipsis”]',“self::*”,“self::*”);(0,sre.AbstractionSpanish.defineSpecialisedRule_)(“abstr-continued-fraction”, “mathspeak.brief”,“mathspeak.sbrief”);(0,sre.AbstractionSpanish.defineRule_)(“abstr-sqrt”,“mathspeak.default”,‘ “rau00edz cuadrada”’,“self::sqrt”,“@alternative”);(0,sre.AbstractionSpanish.defineSpecialisedRule_)(“abstr-sqrt”,“mathspeak.default”,“mathspeak.brief”);(0,sre.AbstractionSpanish.defineSpecialisedRule_)(“abstr-sqrt”,“mathspeak.brief”,“mathspeak.sbrief”);(0,sre.AbstractionSpanish.defineRule_)(“abstr-sqrt-nested”,“mathspeak.default”,‘ “rau00edz cuadrada anidada”',“self::sqrt”,“@alternative”, “children/*/descendant-or-self::sqrt or children/*/descendant-or-self::root”);(0,sre.AbstractionSpanish.defineSpecialisedRule_)(“abstr-sqrt-nested”,“mathspeak.default”,“mathspeak.brief”);(0,sre.AbstractionSpanish.defineSpecialisedRule_)(“abstr-sqrt-nested”,“mathspeak.brief”,“mathspeak.sbrief”);(0,sre.AbstractionSpanish.defineRule_)(“abstr-root”,“mathspeak.default”,’ “rau00edz del u00edndice”; [n] children/*; [t] “finalizar de u00edndice”',“self::root”,“@alternative”,“following-sibling::* or ancestor::/following-sibling::”); (0,sre.AbstractionSpanish.defineRule_)(“abstr-root”,“mathspeak.brief”,‘ “rau00edz”’,“self::root”,“@alternative”);(0,sre.AbstractionSpanish.defineSpecialisedRule_)(“abstr-root”,“mathspeak.brief”,“mathspeak.sbrief”);(0,sre.AbstractionSpanish.defineRule_)(“abstr-root-nested”,“mathspeak.default”,‘ “rau00edz anidada del u00edndice”; [n] children/*',“self::root”,“@alternative”,“children/*/descendant-or-self::sqrt or children/*/descendant-or-self::root”);(0,sre.AbstractionSpanish.defineRule_)(“abstr-root-nested”, “mathspeak.default”,’ “rau00edz anidada del u00edndice”; [n] children/*; [t] “finalizar de u00edndice”',“self::root”,“@alternative”,“children/*/descendant-or-self::sqrt or children/*/descendant-or-self::root”,“following-sibling::* or ancestor::/following-sibling::”);(0,sre.AbstractionSpanish.defineRule_)(“abstr-root-nested”,“mathspeak.brief”,‘ “rau00edz anidada”',“self::root”,“@alternative”,“children/*/descendant-or-self::sqrt or children/*/descendant-or-self::root”);(0,sre.AbstractionSpanish.defineSpecialisedRule_)(“abstr-root-nested”, “mathspeak.brief”,“mathspeak.sbrief”);(0,sre.AbstractionSpanish.defineRule_)(“abstr-superscript”,“mathspeak.default”,’ “potencia”',“self::superscript”,“@alternative”,“self::*”,“self::*”,“self::*”,“self::*”);(0,sre.AbstractionSpanish.defineSpecialisedRule_)(“abstr-superscript”,“mathspeak.default”,“mathspeak.brief”);(0,sre.AbstractionSpanish.defineSpecialisedRule_)(“abstr-superscript”,“mathspeak.brief”,“mathspeak.sbrief”);(0,sre.AbstractionSpanish.defineRule_)(“abstr-subscript”,“mathspeak.default”, '[t] “subu00edndice”‘,“self::subscript”,“@alternative”,“self::*”,“self::*”,“self::*”);(0,sre.AbstractionSpanish.defineSpecialisedRule_)(“abstr-subscript”,“mathspeak.default”,“mathspeak.brief”);(0,sre.AbstractionSpanish.defineSpecialisedRule_)(“abstr-subscript”,“mathspeak.brief”,“mathspeak.sbrief”);(0,sre.AbstractionSpanish.defineRule_)(“abstr-subsup”,“mathspeak.default”,’ “potencia con subu00edndice”‘,“self::superscript”,“@alternative”,’name(children/*)=“subscript”',“self::*”,“self::*”,“self::*”); (0,sre.AbstractionSpanish.defineSpecialisedRule_)(“abstr-subsup”,“mathspeak.default”,“mathspeak.brief”);(0,sre.AbstractionSpanish.defineSpecialisedRule_)(“abstr-subsup”,“mathspeak.brief”,“mathspeak.sbrief”);(0,sre.AbstractionSpanish.defineRule_)(“abstr-infixop”,“mathspeak.default”,‘ @role (grammar:localRole); [t] “con”; [t] count(./children/*); [t] “elementos”’,“self::infixop”,“@alternative”);(0,sre.AbstractionSpanish.defineRule_)(“abstr-infixop”,“mathspeak.default”,‘ @role (grammar:localRole); [t] “con una cantidad variable de elementos”', “self::infixop”,“@alternative”,“count(./children/*)>2”,’./children/punctuation');(0,sre.AbstractionSpanish.defineRule_)(“abstr-infixop”,“mathspeak.brief”,“ @role (grammar:localRole)”,“self::infixop”,“@alternative”);(0,sre.AbstractionSpanish.defineSpecialisedRule_)(“abstr-infixop”,“mathspeak.brief”,“mathspeak.sbrief”);(0,sre.AbstractionSpanish.defineRule_)(“abstr-addition”,“mathspeak.default”,‘ “suma con”; [t] count(./children/*); [t] “sumandos”',“self::infixop”,“@alternative”, '@role=“addition”’);(0,sre.AbstractionSpanish.defineRule_)(“abstr-addition”,“mathspeak.brief”,‘ “suma”’,“self::infixop”,“@alternative”,‘@role=“addition”’);(0,sre.AbstractionSpanish.defineSpecialisedRule_)(“abstr-addition”,“mathspeak.brief”,“mathspeak.sbrief”);(0,sre.AbstractionSpanish.defineRule_)(“abstr-var-addition”,“mathspeak.default”,‘ “suma con nu00famero variable de sumandos”’,“self::infixop”,“@alternative”,‘@role=“addition”’,“count(./children/*)>2”,‘./children/punctuation'); (0,sre.AbstractionSpanish.defineRule_)(“abstr-multiplication”,“mathspeak.default”,’ “producto con”; [t] count(./children/*); [t] “factores”‘,“self::infixop”,“@alternative”,’@role=“multiplication”‘);(0,sre.AbstractionSpanish.defineRule_)(“abstr-multiplication”,“mathspeak.brief”,’ “producto”',“self::infixop”,“@alternative”,'@role=“multiplication”');(0,sre.AbstractionSpanish.defineSpecialisedRule_)(“abstr-multiplication”,“mathspeak.brief”,“mathspeak.sbrief”);(0,sre.AbstractionSpanish.defineRuleAlias_)(“abstr-multiplication”, “self::infixop”,“@alternative”,‘@role=“implicit”’);(0,sre.AbstractionSpanish.defineRule_)(“abstr-var-multiplication”,“mathspeak.default”,‘ “producto con una cantidad variable de factores”’,“self::infixop”,“@alternative”,‘@role=“multiplication”’,“count(./children/*)>2”,‘./children/punctuation');(0,sre.AbstractionSpanish.defineRuleAlias_)(“abstr-var-multiplication”,“self::infixop”,“@alternative”,’@role=“implicit”‘,“count(./children/*)>2”,’./children/punctuation'); (0,sre.AbstractionSpanish.defineRule_)(“abstr-vector”,“mathspeak.default”,‘ “vector de dimensiu00f3n”; [t] count(./children/*)’,“self::vector”,“@alternative”);(0,sre.AbstractionSpanish.defineRule_)(“abstr-vector”,“mathspeak.brief”,‘ “vector”’,“self::vector”,“@alternative”);(0,sre.AbstractionSpanish.defineSpecialisedRule_)(“abstr-vector”,“mathspeak.brief”,“mathspeak.sbrief”);(0,sre.AbstractionSpanish.defineRule_)(“abstr-var-vector”,“mathspeak.default”,‘ “vector de dimensiu00f3n n”',“self::vector”, “@alternative”,’./children/*/children/punctuation');(0,sre.AbstractionSpanish.defineRule_)(“abstr-binomial”,“mathspeak.default”,‘ “binomio”',“self::vector”,“@alternative”,'@role=“binomial”');(0,sre.AbstractionSpanish.defineSpecialisedRule_)(“abstr-binomial”,“mathspeak.default”,“mathspeak.brief”);(0,sre.AbstractionSpanish.defineSpecialisedRule_)(“abstr-binomial”,“mathspeak.default”,“mathspeak.sbrief”);(0,sre.AbstractionSpanish.defineRule_)(“abstr-determinant”,“mathspeak.default”, '[t] “determinante de dimensiu00f3n”; [t] count(./children/*)’,“self::matrix”,“@alternative”,‘@role=“determinant”’,“self::*”);(0,sre.AbstractionSpanish.defineRule_)(“abstr-determinant”,“mathspeak.brief”,‘ “determinante”’,“self::matrix”,“@alternative”,‘@role=“determinant”’,“self::*”);(0,sre.AbstractionSpanish.defineSpecialisedRule_)(“abstr-determinant”,“mathspeak.brief”,“mathspeak.sbrief”);(0,sre.AbstractionSpanish.defineRule_)(“abstr-var-determinant”,“mathspeak.default”,‘ “determinante de dimensiu00f3n n”', “self::matrix”,“@alternative”,’@role=“determinant”‘,’./children//children//children/punctuation');(0,sre.AbstractionSpanish.defineRule_)(“abstr-squarematrix”,“mathspeak.default”,‘ “matriz cuadrada de dimensiu00f3n”; [t] count(./children/*)’,“self::matrix”,“@alternative”,‘@role=“squarematrix”’);(0,sre.AbstractionSpanish.defineRule_)(“abstr-squarematrix”,“mathspeak.brief”,‘ “matriz cuadrada”',“self::matrix”,“@alternative”,'@role=“squarematrix”');(0,sre.AbstractionSpanish.defineSpecialisedRule_)(“abstr-squarematrix”, “mathspeak.brief”,“mathspeak.sbrief”);(0,sre.AbstractionSpanish.defineRule_)(“abstr-rowvector”,“mathspeak.default”,’ “vector fila de dimensiu00f3n”; [t] count(./children/row/children/*) ',“self::matrix”,“@alternative”,‘@role=“rowvector”’);(0,sre.AbstractionSpanish.defineRule_)(“abstr-rowvector”,“mathspeak.brief”,‘ “vector fila”',“self::matrix”,“@alternative”,'@role=“rowvector”');(0,sre.AbstractionSpanish.defineSpecialisedRule_)(“abstr-rowvector”,“mathspeak.brief”,“mathspeak.sbrief”);(0,sre.AbstractionSpanish.defineRule_)(“abstr-var-matrix”, “mathspeak.default”,’ “vector fila de dimensiu00f3n n”‘,“self::matrix”,“@alternative”,’@role=“rowvector”‘,’./children//children//children/punctuation');(0,sre.AbstractionSpanish.defineRule_)(“abstr-matrix”,“mathspeak.default”,‘ count(children/*); [t] “por”; count(children/[1]/children/); [t] “matriz”’,“self::matrix”,“@alternative”);(0,sre.AbstractionSpanish.defineRule_)(“abstr-matrix”,“mathspeak.brief”,‘ “matriz”',“self::matrix”,“@alternative”);(0,sre.AbstractionSpanish.defineSpecialisedRule_)(“abstr-matrix”, “mathspeak.brief”,“mathspeak.sbrief”);(0,sre.AbstractionSpanish.defineRule_)(“abstr-var-matrix”,“mathspeak.default”,’ “matriz de dimensiu00f3n n por m”‘,“self::matrix”,“@alternative”,’./children//children//children/punctuation');(0,sre.AbstractionSpanish.defineRule_)(“abstr-cases”,“mathspeak.default”,‘ “declaraciu00f3n de caso”; “con”; [t] count(children/*); [t] “casos”',“self::cases”,“@alternative”);(0,sre.AbstractionSpanish.defineRule_)(“abstr-cases”,“mathspeak.brief”, '[t] “declaraciu00f3n de caso”’,“self::cases”,“@alternative”);(0,sre.AbstractionSpanish.defineSpecialisedRule_)(“abstr-cases”,“mathspeak.brief”,“mathspeak.sbrief”);(0,sre.AbstractionSpanish.defineRule_)(“abstr-var-cases”,“mathspeak.default”,‘ “declaraciu00f3n de caso con nu00famero variable de casos”’,“self::cases”,“@alternative”,‘./children/row/children/cell/children/punctuationor ./children/line/children/punctuation');(0,sre.AbstractionSpanish.defineRule_)(“abstr-punctuated”, “mathspeak.default”,’ “lista separada por”; [n] content/*; [t] “de longitud”; [t] count(children/*) - count(content/*)‘,“self::punctuated”,“@alternative”);(0,sre.AbstractionSpanish.defineRule_)(“abstr-punctuated”,“mathspeak.brief”,’ “lista separada por”; [n] content/*',“self::punctuated”,“@alternative”);(0,sre.AbstractionSpanish.defineSpecialisedRule_)(“abstr-punctuated”,“mathspeak.brief”,“mathspeak.sbrief”);(0,sre.AbstractionSpanish.defineRule_)(“abstr-var-punctuated”,“mathspeak.default”, '[t] “lista separada por”; [n] content/*','[t] “de longitud variable”‘,“self::punctuated”,“@alternative”,’./children/punctuation');(0,sre.AbstractionSpanish.defineRule_)(“abstr-bigop”,“mathspeak.default”,“ content/*”,“self::bigop”,“@alternative”,“self::*”);(0,sre.AbstractionSpanish.defineRule_)(“abstr-integral”,“mathspeak.default”,‘ “integral”’,“self::*”,“@alternative”,‘@role=“integral”’);(0,sre.AbstractionSpanish.defineRule_)(“abstr-relation”,“mathspeak.default”,“ @role (grammar:localRole);”, “self::relseq”,“@alternative”,“count(./children/*)=2”);(0,sre.AbstractionSpanish.defineSpecialisedRule_)(“abstr-relation”,“mathspeak.default”,“mathspeak.brief”);(0,sre.AbstractionSpanish.defineSpecialisedRule_)(“abstr-relation”,“mathspeak.brief”,“mathspeak.sbrief”);(0,sre.AbstractionSpanish.defineRule_)(“abstr-relation”,“mathspeak.default”,‘ “secuencia de”; [t] @role (grammar:localRole); [t] “con”; [t] count(./children/*); [t] “elementos”',“self::relseq”,“@alternative”,“count(./children/*)>2”); (0,sre.AbstractionSpanish.defineRule_)(“abstr-relation”,“mathspeak.brief”,’ “secuencia de”; [t] @role (grammar:localRole)‘,“self::relseq”,“@alternative”,“count(./children/*)>2”);(0,sre.AbstractionSpanish.defineSpecialisedRule_)(“abstr-relation”,“mathspeak.brief”,“mathspeak.sbrief”);(0,sre.AbstractionSpanish.defineRule_)(“abstr-var-relation”,“mathspeak.default”,’ “secuencia de”; [t] @role (grammar:localRole); [t] “con una cantidad variable de elementos”',“self::relseq”,“@alternative”,“count(./children/*)>2”, './children/punctuation');(0,sre.AbstractionSpanish.defineUniqueRuleAlias_)(“abstr-relation”,“mathspeak.default”,“self::multirel”,“@alternative”,'@role!=“unknown”',“count(./children/*)>2”);(0,sre.AbstractionSpanish.defineUniqueRuleAlias_)(“abstr-relation”,“mathspeak.brief”,“self::multirel”,“@alternative”,'@role!=“unknown”',“count(./children/*)>2”);(0,sre.AbstractionSpanish.defineSpecialisedRule_)(“abstr-relation”,“mathspeak.brief”,“mathspeak.sbrief”);(0,sre.AbstractionSpanish.defineRuleAlias_)(“abstr-var-relation”, “self::multirel”,“@alternative”,‘@role!=“unknown”’,“count(./children/*)>2”,‘./children/punctuation');(0,sre.AbstractionSpanish.defineRule_)(“abstr-multirel”,“mathspeak.default”,’ “secuencia de relaciu00f3n”; [t] “con”; [t] count(./children/*); [t] “elementos”‘,“self::multirel”,“@alternative”,“count(./children/*)>2”);(0,sre.AbstractionSpanish.defineRule_)(“abstr-multirel”,“mathspeak.brief”,’ “secuencia de relaciu00f3n”',“self::multirel”,“@alternative”,“count(./children/*)>2”); (0,sre.AbstractionSpanish.defineSpecialisedRule_)(“abstr-multirel”,“mathspeak.brief”,“mathspeak.sbrief”);(0,sre.AbstractionSpanish.defineRule_)(“abstr-var-multirel”,“mathspeak.default”,‘ “secuencia de relaciu00f3n con nu00famero variable de elementos”’,“self::multirel”,“@alternative”,“count(./children/*)>2”,‘./children/punctuation');(0,sre.AbstractionSpanish.defineRule_)(“abstr-table”,“mathspeak.default”,’ “mesa con”; [t] count(children/*); [t] “filas y”; count(children/[1]/children/); [t] “columnas”', “self::table”,“@alternative”);(0,sre.AbstractionSpanish.defineSpecialisedRule_)(“abstr-table”,“mathspeak.default”,“mathspeak.brief”);(0,sre.AbstractionSpanish.defineSpecialisedRule_)(“abstr-table”,“mathspeak.brief”,“mathspeak.sbrief”);(0,sre.AbstractionSpanish.defineRule_)(“abstr-line”,“mathspeak.default”,‘ “en”; [t] @role (grammar:localRole);’,“self::line”,“@alternative”);(0,sre.AbstractionSpanish.defineRule_)(“abstr-row”,“mathspeak.default”,‘ “en”; [t] @role (grammar:localRole); count(preceding-sibling::..); [t] “con”; count(children/*); [t] “columnas”', “self::row”,“@alternative”,“*”);(0,sre.AbstractionSpanish.defineSpecialisedRule_)(“abstr-row”,“mathspeak.default”,“mathspeak.brief”);(0,sre.AbstractionSpanish.defineSpecialisedRule_)(“abstr-row”,“mathspeak.default”,“mathspeak.sbrief”);(0,sre.AbstractionSpanish.defineRule_)(“abstr-cell”,“mathspeak.default”,’ “en”; [t] @role (grammar:localRole);',“self::cell”,“@alternative”)};sre.AbstractionSpanish.getInstance().initializer=;sre.ClearspeakRules=function(){sre.MathStore.call(this)};goog.inherits(sre.ClearspeakRules,sre.MathStore);goog.addSingletonGetter(sre.ClearspeakRules);sre.ClearspeakRules.mathStore=sre.ClearspeakRules.getInstance();sre.ClearspeakRules.defineRule_=goog.bind(sre.ClearspeakRules.mathStore.defineRule,sre.ClearspeakRules.mathStore); sre.ClearspeakRules.initClearspeakRules_=function(){(0,sre.ClearspeakRules.defineRule_)(“fraction”,“mathspeak.clearspeak”,‘ “the fraction with numerator”; [n] children/*; [p] (pause:300); [t] “and denominator”; [n] children/*; [p] (pause:500)’,“self::fraction”);(0,sre.ClearspeakRules.defineRule_)(“sqrt”,“mathspeak.clearspeak”,‘ “the square root of”; [n] children/*; [p] (pause:500)',“self::sqrt”)};sre.ClearspeakRules.getInstance().initializer=;sre.MathmlStoreUtil={};sre.MathmlStoreUtil.matchMathjaxToMathml=function(a){return sre.Engine.getInstance().alternativeHost.querySelector(“#”+a.id)};sre.MathmlStoreUtil.retrieveMathjaxExtender=function(a){return(a=sre.MathmlStoreUtil.matchMathjaxToMathml(a))?:[]};sre.MathmlStoreUtil.retrieveMathjaxLeaf=function(a){return(a=sre.MathmlStoreUtil.matchMathjaxToMathml(a))?:[]}; sre.MathmlStoreUtil.checkMathjaxTag=function(a,b){return(a=sre.MathmlStoreUtil.matchMathjaxToMathml(a))&&a.tagName.toUpperCase()==b?:[]};sre.MathmlStoreUtil.checkMathjaxMunder=function(a){return sre.MathmlStoreUtil.checkMathjaxTag(a,“MUNDER”)};sre.MathmlStoreUtil.checkMathjaxMover=function(a){return sre.MathmlStoreUtil.checkMathjaxTag(a,“MOVER”)};sre.MathmlStoreUtil.checkMathjaxMsub=function(a){return sre.MathmlStoreUtil.checkMathjaxTag(a,“MSUB”)}; sre.MathmlStoreUtil.checkMathjaxMsup=function(a){return sre.MathmlStoreUtil.checkMathjaxTag(a,“MSUP”)};sre.MathmlStoreUtil.mfencedSeparators=function(a,b){var c=sre.MathUtil.nextSeparatorFunction(b);return function(){return c?:[]}}; sre.MathmlStoreUtil.contentIterator=function(a,b){var c=0sre.MathspeakRules.childNumber_[e]
“]”;if(a&1){var g=sre.MathspeakRules.componentString_;c=“ ”g
“Verbose; [n] ”f
“;”+c;d=“ ”g
“Brief; [n] ”f
“;”+d}else b.unshift(“name(”f
')=“empty”');a>>=1}b.push©;b.push(d);return b}; sre.MathspeakRules.generateMathspeakTensorRules_=function(){for(var a=“11111 11110 11101 11100 10111 10110 10101 10100 01111 01110 01101 01100”.split(“ ”),b=0,c;c=a;b++){var d=“tensor”+c;c=sre.MathspeakRules.generateTensorRuleStrings_©;var e=c.pop(),f=c.pop(),g=.concat©,h=.concat©;sre.MathspeakRules.defineRule_.apply(null,g);sre.MathspeakRules.defineRule_.apply(null,h);(0,sre.MathspeakRules.defineSpecialisedRule_)(d, “mathspeak.brief”,“mathspeak.sbrief”);g=sre.MathspeakRules.componentString_;f+=“; [t]”g
“Verbose”;e+=“; [t]”g
“Brief”;d+=“-baseline”;g=.concat©;h=.concat©;sre.MathspeakRules.defineRule_.apply(null,g);sre.MathspeakRules.defineRule_.apply(null,h);(0,sre.MathspeakRules.defineSpecialisedRule_)(d,“mathspeak.brief”,“mathspeak.sbrief”);d=[d,“self::tensor”,“not(following-sibling::*)”, “ancestor::fraction|ancestor::punctuated|ancestor::fenced|ancestor::root|ancestor::sqrt|ancestor::relseq|ancestor::multirel|@embellished”].concat©;sre.MathspeakRules.defineRuleAlias_.apply(null,d)}};sre.MathspeakRules.getInstance().initializer=;sre.MathspeakSpanishUtil={};sre.MathspeakSpanishUtil.europeanNumber=function(a){return a=a.replace(/,/g,“”).replace(/./g,“,”)};sre.Grammar.getInstance().setCorrection(“euroNum”,sre.MathspeakSpanishUtil.europeanNumber);sre.MathspeakSpanishUtil.onesOrdinals=“primera segunda tercera cuarta quinta sexta su00e9ptima octava novena du00e9cima undu00e9cima duodu00e9cima”.split(“ ”);sre.MathspeakSpanishUtil.tensOrdinals=“du00e9cima vigu00e9sima trigu00e9sima cuadragu00e9sima quincuagu00e9sima sexagu00e9sima septuagu00e9sima octogu00e9sima nonagu00e9sima”.split(“ ”); sre.MathspeakSpanishUtil.hundredsOrdinals=“centu00e9sima ducentu00e9sima tricentu00e9sima cuadringentu00e9sima quingentu00e9sima sexcentu00e9sima septingentu00e9sima octingentu00e9sima noningentu00e9sima”.split(“ ”); sre.MathspeakSpanishUtil.numberToOrdinal=function(a){if(1999<a)return a.toString()+“a”;if(12>=a)return sre.MathspeakSpanishUtil.onesOrdinals;var b=[];1E3<a&&(a-=1E3,b.push(“milu00e9sima”));var c=Math.floor(a/100);0+c)
“ ”+b}};sre.MathspeakSpanishUtil.smallRoot=function(a){if(!a.childNodes||0===a.childNodes.length||!a.childNodes.childNodes)return[];var b=a.childNodes.childNodes.textContent;if(!/^d+$/.test(b))return[];b=parseInt(b,10);return 1=b?:[]}; sre.MathspeakSpanishUtil.unitMultipliers=function(a,b){var c=0;return function(){var b=sre.AuditoryDescription.create({text:sre.MathspeakSpanishUtil.rightMostUnit(a)&&sre.MathspeakSpanishUtil.leftMostUnit(a)?“por”:“”},{});c++;return}};sre.MathspeakSpanishUtil.SCRIPT_ELEMENTS=; sre.MathspeakSpanishUtil.rightMostUnit=function(a){for(;a;){if(“unit”===a.getAttribute(“role”))return!0;var b=a.tagName;a=sre.XpathUtil.evalXPath(“children/*”,a);a=-1!==sre.MathspeakSpanishUtil.SCRIPT_ELEMENTS.indexOf(b)?a:a}return!1};sre.MathspeakSpanishUtil.leftMostUnit=function(a){for(;a;){if(“unit”===a.getAttribute(“role”))return!0;a=sre.XpathUtil.evalXPath(“children/*”,a)}return!1};sre.MathspeakSpanishUtil.makePlural=function(a){return/.*s$/.test(a)?a:a+“s”}; sre.Grammar.getInstance().setCorrection(“plural”,sre.MathspeakSpanishUtil.makePlural);sre.MathspeakSpanishUtil.oneLeft=function(a){for(;a;){if(“number”===a.tagName&&“1”===a.textContent)return;if(“infixop”!==a.tagName||“multiplication”!==a.getAttribute(“role”)&&“implicit”!==a.getAttribute(“role”))break;a=sre.XpathUtil.evalXPath(“children/*”,a)}return[]};sre.MathspeakSpanish=function(){sre.MathStore.call(this);this.locale=“es”};goog.inherits(sre.MathspeakSpanish,sre.MathStore);goog.addSingletonGetter(sre.MathspeakSpanish);sre.MathspeakSpanish.prototype.evaluateDefault=function(a){return};sre.MathspeakSpanish.SPANISH_REGEXP=“a-zA-Zu00e1u00e9u00edu00f3u00fau00f1u00c1u00c9u00cdu00d3u00dau00d1”; sre.MathspeakSpanish.evaluateDefault=function(a){a=a.textContent;for(var b=[],c=new sre.SystemExternal.xmldom.DOMParser,d=new RegExp(“^[”sre.MathspeakSpanish.SPANISH_REGEXP
“]+”),e=new RegExp(“^[^”sre.MathspeakSpanish.SPANISH_REGEXP
“]+”);a;){var f=d.exec(a);if(f)var g=sre.Semantic.Type.TEXT,h=sre.Semantic.Role.PROTECTED;else f=e.exec(a),g=sre.Semantic.Type.UNKNOWN,h=sre.Semantic.Role.TEXT;g=c.parseFromString(“<”g
' role=“’h
‘”>’f[0]
“</”g
“>”,“text/xml”);b.push(g.documentElement);a=a.slice(f.length).trimLeft()}return b}; sre.MathspeakSpanish.mathStore=sre.MathspeakSpanish.getInstance();sre.MathspeakSpanish.defineRule_=goog.bind(sre.MathspeakSpanish.mathStore.defineRule,sre.MathspeakSpanish.mathStore);sre.MathspeakSpanish.defineRuleAlias_=goog.bind(sre.MathspeakSpanish.mathStore.defineRulesAlias,sre.MathspeakSpanish.mathStore);sre.MathspeakSpanish.defineSpecialisedRule_=goog.bind(sre.MathspeakSpanish.mathStore.defineSpecialisedRule,sre.MathspeakSpanish.mathStore); sre.MathspeakSpanish.addContextFunction_=goog.bind(sre.MathspeakSpanish.mathStore.contextFunctions.add,sre.MathspeakSpanish.mathStore.contextFunctions);sre.MathspeakSpanish.addCustomQuery_=goog.bind(sre.MathspeakSpanish.mathStore.customQueries.add,sre.MathspeakSpanish.mathStore.customQueries);sre.MathspeakSpanish.addCustomString_=goog.bind(sre.MathspeakSpanish.mathStore.customStrings.add,sre.MathspeakSpanish.mathStore.customStrings); sre.MathspeakSpanish.initCustomFunctions_=function(){(0,sre.MathspeakSpanish.addCustomQuery_)(“CQFspaceoutNumber”,sre.MathspeakUtil.spaceoutNumber);(0,sre.MathspeakSpanish.addCustomQuery_)(“CQFspaceoutIdentifier”,sre.MathspeakUtil.spaceoutIdentifier);(0,sre.MathspeakSpanish.addCustomString_)(“CSFspaceoutText”,sre.MathspeakUtil.spaceoutText);(0,sre.MathspeakSpanish.addCustomString_)(“CSFopenFracVerbose”,sre.MathspeakUtil.openingFractionVerbose);(0,sre.MathspeakSpanish.addCustomString_)(“CSFcloseFracVerbose”, sre.MathspeakUtil.closingFractionVerbose);(0,sre.MathspeakSpanish.addCustomString_)(“CSFoverFracVerbose”,sre.MathspeakUtil.overFractionVerbose);(0,sre.MathspeakSpanish.addCustomString_)(“CSFopenFracBrief”,sre.MathspeakUtil.openingFractionBrief);(0,sre.MathspeakSpanish.addCustomString_)(“CSFcloseFracBrief”,sre.MathspeakUtil.closingFractionBrief);(0,sre.MathspeakSpanish.addCustomString_)(“CSFopenFracSbrief”,sre.MathspeakUtil.openingFractionSbrief);(0,sre.MathspeakSpanish.addCustomString_)(“CSFcloseFracSbrief”, sre.MathspeakUtil.closingFractionSbrief);(0,sre.MathspeakSpanish.addCustomString_)(“CSFoverFracSbrief”,sre.MathspeakUtil.overFractionSbrief);(0,sre.MathspeakSpanish.addCustomString_)(“CSFopenRadicalVerbose”,sre.MathspeakUtil.openingRadicalVerbose);(0,sre.MathspeakSpanish.addCustomString_)(“CSFcloseRadicalVerbose”,sre.MathspeakUtil.closingRadicalVerbose);(0,sre.MathspeakSpanish.addCustomString_)(“CSFindexRadicalVerbose”,sre.MathspeakUtil.indexRadicalVerbose);(0,sre.MathspeakSpanish.addCustomString_)(“CSFopenRadicalBrief”, sre.MathspeakUtil.openingRadicalBrief);(0,sre.MathspeakSpanish.addCustomString_)(“CSFcloseRadicalBrief”,sre.MathspeakUtil.closingRadicalBrief);(0,sre.MathspeakSpanish.addCustomString_)(“CSFindexRadicalBrief”,sre.MathspeakUtil.indexRadicalBrief);(0,sre.MathspeakSpanish.addCustomString_)(“CSFopenRadicalSbrief”,sre.MathspeakUtil.openingRadicalSbrief);(0,sre.MathspeakSpanish.addCustomString_)(“CSFindexRadicalSbrief”,sre.MathspeakUtil.indexRadicalSbrief);(0,sre.MathspeakSpanish.addCustomQuery_)(“CQFisSmallRoot”, sre.MathspeakSpanishUtil.smallRoot);(0,sre.MathspeakSpanish.addCustomString_)(“CSFsuperscriptVerbose”,sre.MathspeakUtil.superscriptVerbose);(0,sre.MathspeakSpanish.addCustomString_)(“CSFsuperscriptBrief”,sre.MathspeakUtil.superscriptBrief);(0,sre.MathspeakSpanish.addCustomString_)(“CSFsubscriptVerbose”,sre.MathspeakUtil.subscriptVerbose);(0,sre.MathspeakSpanish.addCustomString_)(“CSFsubscriptBrief”,sre.MathspeakUtil.subscriptBrief);(0,sre.MathspeakSpanish.addCustomString_)(“CSFbaselineVerbose”,sre.MathspeakUtil.baselineVerbose); (0,sre.MathspeakSpanish.addCustomString_)(“CSFbaselineBrief”,sre.MathspeakUtil.baselineBrief);(0,sre.MathspeakSpanish.addCustomString_)(“CSFunderscript”,sre.MathspeakUtil.nestedUnderscore);(0,sre.MathspeakSpanish.addCustomString_)(“CSFoverscript”,sre.MathspeakUtil.nestedOverscore);(0,sre.MathspeakSpanish.addContextFunction_)(“CTXFordinalCounterEs”,sre.MathspeakSpanishUtil.ordinalCounter);(0,sre.MathspeakSpanish.addContextFunction_)(“CTXFcontentIterator”,sre.MathmlStoreUtil.contentIterator);(0,sre.MathspeakSpanish.addContextFunction_)(“CTXFunitMultipliers”, sre.MathspeakSpanishUtil.unitMultipliers);(0,sre.MathspeakSpanish.addCustomQuery_)(“CQFdetIsSimple”,sre.MathspeakUtil.determinantIsSimple);(0,sre.MathspeakSpanish.addCustomString_)(“CSFRemoveParens”,sre.MathspeakUtil.removeParens);(0,sre.MathspeakSpanish.addCustomQuery_)(“CQFoneLeft”,sre.MathspeakSpanishUtil.oneLeft);(0,sre.MathspeakSpanish.addCustomQuery_)(“CQFresetNesting”,sre.MathspeakUtil.resetNestingDepth);(0,sre.MathspeakSpanish.addCustomQuery_)(“CQFtextEvaluator”,sre.MathspeakSpanish.evaluateDefault)}; sre.MathspeakSpanish.initMathspeakSpanish_=function(){(0,sre.MathspeakSpanish.defineRule_)(“stree”,“mathspeak.default”,“ ./*[1]”,“self::stree”,“CQFresetNesting”);(0,sre.MathspeakSpanish.defineRule_)(“unknown”,“mathspeak.default”,“ text()”,“self::unknown”);(0,sre.MathspeakSpanish.defineRule_)(“protected”,“mathspeak.default”,“ text()”,“self::*”,‘@role=“protected”’);(0,sre.MathspeakSpanish.defineRule_)(“omit-empty”,“mathspeak.default”,“ (pause:100)”,“self::empty”);(0,sre.MathspeakSpanish.defineRule_)(“blank-empty”, “mathspeak.default”,‘ “espacio”',“self::empty”,“count(../*)=1”,'name(../..)=“cell” or name(../..)=“line”’);(0,sre.MathspeakSpanish.defineRule_)(“font”,“mathspeak.default”,“ @font (grammar:localFont); [n] . (grammar:ignoreFont=@font)”,“self::*”,“@font”,'not(contains(@grammar, “ignoreFont”))‘,’@font!=“normal”‘);(0,sre.MathspeakSpanish.defineRule_)(“font-identifier-short”,“mathspeak.default”,“ @font (grammar:localFont); [n] . (grammar:ignoreFont=@font)”,“self::identifier”,“string-length(text())=1”, “@font”,'not(contains(@grammar, “ignoreFont”))','@font=“normal”','“”=translate(text(), “abcdefghijklmnopqrstuvwxyzu03b1u03b2u03b3u03b4u03b5u03b6u03b7u03b8u03b9u03bau03bbu03bcu03bdu03beu03bfu03c0u03c1u03c2u03c3u03c4u03c5u03c6u03c7u03c8u03c9ABCDEFGHIJKLMNOPQRSTUVWXYZu0391u0392u0393u0394u0395u0396u0397u0398u0399u039au039bu039cu039du039eu039fu03a0u03a1u03a3u03a3u03a4u03a5u03a6u03a7u03a8u03a9”, “”)','@role!=“unit”');(0,sre.MathspeakSpanish.defineRule_)(“font-identifier”, “mathspeak.default”,“ @font (grammar:localFont); [n] . (grammar:ignoreFont=@font)”,“self::identifier”,“string-length(text())=1”,“@font”,'@font=“normal”','not(contains(@grammar, “ignoreFont”))’,‘@role!=“unit”’);(0,sre.MathspeakSpanish.defineRule_)(“omit-font”,“mathspeak.default”,“ . (grammar:ignoreFont=@font)”,“self::identifier”,“string-length(text())=1”,“@font”,'not(contains(@grammar, “ignoreFont”))‘,’@font=“italic”‘);(0,sre.MathspeakSpanish.defineRule_)(“number”,“mathspeak.default”,“ text() (grammar:euroNum)”, “self::number”);(0,sre.MathspeakSpanish.defineRule_)(“mixed-number”,“mathspeak.default”,’ children/*; [t] “mu00e1s”; [n] children/*; ',“self::number”,‘@role=“mixed”’);(0,sre.MathspeakSpanish.defineRule_)(“number-with-chars”,“mathspeak.default”,‘ “nu00famero”; [m] CQFspaceoutNumber',“self::number”,'“” != translate(text(), “0123456789.,”, “”)','text() != translate(text(), “0123456789.,”, “”)');(0,sre.MathspeakSpanish.defineSpecialisedRule_)(“number-with-chars”,“mathspeak.default”,“mathspeak.brief”, '[t] “nu00fam”; [m] CQFspaceoutNumber’);(0,sre.MathspeakSpanish.defineSpecialisedRule_)(“number-with-chars”,“mathspeak.brief”,“mathspeak.sbrief”);(0,sre.MathspeakSpanish.defineRule_)(“number-as-upper-word”,“mathspeak.default”,‘ “mayu00fascula”; [t] CSFspaceoutText',“self::number”,“string-length(text())>1”,'text()=translate(text(), “abcdefghijklmnopqrstuvwxyzu03b1u03b2u03b3u03b4u03b5u03b6u03b7u03b8u03b9u03bau03bbu03bcu03bdu03beu03bfu03c0u03c1u03c2u03c3u03c4u03c5u03c6u03c7u03c8u03c9”, “ABCDEFGHIJKLMNOPQRSTUVWXYZu0391u0392u0393u0394u0395u0396u0397u0398u0399u039au039bu039cu039du039eu039fu03a0u03a1u03a3u03a3u03a4u03a5u03a6u03a7u03a8u03a9”)', '“”=translate(text(), “ABCDEFGHIJKLMNOPQRSTUVWXYZu0391u0392u0393u0394u0395u0396u0397u0398u0399u039au039bu039cu039du039eu039fu03a0u03a1u03a3u03a3u03a4u03a5u03a6u03a7u03a8u03a9”,“”)’);(0,sre.MathspeakSpanish.defineRule_)(“number-baseline”,“mathspeak.default”,‘ “lu00ednea base”; [n] text()',“self::number”,'not(contains(@grammar, “ignoreFont”))’,“preceding-sibling::identifier”,‘preceding-sibling::*[@role=“latinletter” or @role=“greekletter” or @role=“otherletter”]’,‘parent::*/parent::infixop'); (0,sre.MathspeakSpanish.defineSpecialisedRule_)(“number-baseline”,“mathspeak.default”,“mathspeak.brief”,’ “base”; [n] text()‘);(0,sre.MathspeakSpanish.defineSpecialisedRule_)(“number-baseline”,“mathspeak.brief”,“mathspeak.sbrief”);(0,sre.MathspeakSpanish.defineRule_)(“number-baseline-font”,“mathspeak.default”,’ “lu00ednea base”; [t] @font (grammar:localFont); [n] . (grammar:ignoreFont=@font)',“self::number”,“@font”,'not(contains(@grammar, “ignoreFont”))','@font!=“normal”',“preceding-sibling::identifier”, 'preceding-sibling::*[@role=“latinletter” or @role=“greekletter” or @role=“otherletter”]‘,’parent::*/parent::infixop');(0,sre.MathspeakSpanish.defineSpecialisedRule_)(“number-baseline-font”,“mathspeak.default”,“mathspeak.brief”,‘ “base”; [n] text()’);(0,sre.MathspeakSpanish.defineSpecialisedRule_)(“number-baseline-font”,“mathspeak.brief”,“mathspeak.sbrief”);(0,sre.MathspeakSpanish.defineRule_)(“identifier”,“mathspeak.default”,“ CQFspaceoutIdentifier”,“self::identifier”,“string-length(text())>1”, '@role!=“unit”','@role!=“protected”','not(@font) or @font=“normal” or contains(@grammar, “ignoreFont”)‘);(0,sre.MathspeakSpanish.defineRule_)(“identifier”,“mathspeak.default”,“ text()”,“self::identifier”,’@role=“protected”‘);(0,sre.MathspeakSpanish.defineRule_)(“negative”,“mathspeak.default”,’ “menos”; [n] children/*',“self::prefixop”,'@role=“negative”',“children/identifier”);(0,sre.MathspeakSpanish.defineRuleAlias_)(“negative”,“self::prefixop”,'@role=“negative”',“children/number”);(0,sre.MathspeakSpanish.defineRuleAlias_)(“negative”, “self::prefixop”,‘@role=“negative”’,‘children/fraction');(0,sre.MathspeakSpanish.defineRule_)(“negative”,“mathspeak.default”,’ “menos”; [n] children/*',“self::prefixop”,‘@role=“negative”’);(0,sre.MathspeakSpanish.defineRule_)(“prefix”,“mathspeak.default”,“ text(); [n] children/*”,“self::prefixop”);(0,sre.MathspeakSpanish.defineRule_)(“postfix”,“mathspeak.default”,“ children/*; [n] text()”,“self::postfixop”);(0,sre.MathspeakSpanish.defineRule_)(“binary-operation”, “mathspeak.default”,“ children/* (sepFunc:CTXFcontentIterator);”,“self::infixop”);(0,sre.MathspeakSpanish.defineRule_)(“implicit”,“mathspeak.default”,“ children/*”,“self::infixop”,'@role=“implicit”');(0,sre.MathspeakSpanish.defineRuleAlias_)(“implicit”,“self::infixop”,'@role=“leftsuper” or @role=“leftsub” or @role=“rightsuper” or @role=“rightsub”‘);(0,sre.MathspeakSpanish.defineRule_)(“subtraction”,“mathspeak.default”,’ children/* (separator:“menos”);',“self::infixop”,'@role=“subtraction”'); (0,sre.MathspeakSpanish.defineRule_)(“function-unknown”,“mathspeak.default”,“ children/*; [n] children/*”,“self::appl”);(0,sre.MathspeakSpanish.defineRule_)(“function-prefix”,“mathspeak.default”,“ children/*; [n] children/*”,“self::appl”,‘children/*[@role=“prefix function”]’);(0,sre.MathspeakSpanish.defineRule_)(“fences-open-close”,“mathspeak.default”,“ content/*; [n] children/*; [n] content/*”,“self::fenced”,'@role=“leftright”');(0,sre.MathspeakSpanish.defineRule_)(“fences-neutral”, “mathspeak.default”,‘ “empezar valor absoluto”; [n] children/*; [t] “finalizar valor absoluto”’,“self::fenced”,‘@role=“neutral”’,‘content/*[text()]=“|” or content/*[text()]=“u2758” or content/*[text()]=“uff5c”’);(0,sre.MathspeakSpanish.defineSpecialisedRule_)(“fences-neutral”,“mathspeak.default”,“mathspeak.sbrief”,‘ “valor absoluto”; [n] children/*; [t] “finalizar valor absoluto”’);(0,sre.MathspeakSpanish.defineRule_)(“fences-neutral”,“mathspeak.default”,“ content/*; [n] children/*; [n] content/*”, “self::fenced”,‘@role=“neutral”’);(0,sre.MathspeakSpanish.defineRule_)(“fences-set”,“mathspeak.default”,‘ “empezar llave”; [n] children/*; [t] “finalizar llave”’,“self::fenced”,‘@role=“leftright”’,‘content/*[text()]=“{”','content/*[text()]=“}”',“count(children/*)=1”,’not(name(../..)=“appl”)‘);(0,sre.MathspeakSpanish.defineSpecialisedRule_)(“fences-set”,“mathspeak.default”,“mathspeak.sbrief”,’ “llave”; [n] children/*; [t] “finalizar llave”');(0,sre.MathspeakSpanish.defineRule_)(“text”, “mathspeak.default”,“ CQFtextEvaluator”,“self::text”);(0,sre.MathspeakSpanish.defineRule_)(“factorial”,“mathspeak.default”,‘ “factorial”’,“self::punctuation”,‘text()=“!”’,‘name(preceding-sibling::*)!=“text”’);(0,sre.MathspeakSpanish.defineRule_)(“minus”,“mathspeak.default”,‘ “menos”’,“self::operator”,‘text()=“-”’);(0,sre.MathspeakSpanish.defineRule_)(“single-prime”,“mathspeak.default”,‘ “prima”',“self::punctuated”,'@role=“prime”',“count(children/*)=1”);(0,sre.MathspeakSpanish.defineRule_)(“double-prime”, “mathspeak.default”,’ “doble prima”‘,“self::punctuated”,’@role=“prime”‘,“count(children/*)=2”);(0,sre.MathspeakSpanish.defineRule_)(“triple-prime”,“mathspeak.default”,’ “triple prima”‘,“self::punctuated”,’@role=“prime”‘,“count(children/*)=3”);(0,sre.MathspeakSpanish.defineRule_)(“quadruple-prime”,“mathspeak.default”,’ “cuadruplicar prima”‘,“self::punctuated”,’@role=“prime”‘,“count(children/*)=4”);(0,sre.MathspeakSpanish.defineRule_)(“counted-prime”,“mathspeak.default”,’ count(children/*); [t] “prime”', “self::punctuated”,‘@role=“prime”’);(0,sre.MathspeakSpanish.defineRule_)(“fraction”,“mathspeak.default”,“ CSFopenFracVerbose; [n] children/*; [t] CSFoverFracVerbose; [n] children/*; [t] CSFcloseFracVerbose”,“self::fraction”);(0,sre.MathspeakSpanish.defineRule_)(“fraction”,“mathspeak.brief”,“ CSFopenFracBrief; [n] children/*; [t] CSFoverFracVerbose; [n] children/*; [t] CSFcloseFracBrief”,“self::fraction”);(0,sre.MathspeakSpanish.defineRule_)(“fraction”,“mathspeak.sbrief”,“ CSFopenFracSbrief; [n] children/*; [t] CSFoverFracSbrief; [n] children/*; [t] CSFcloseFracSbrief”, “self::fraction”);(0,sre.MathspeakSpanish.defineRule_)(“continued-fraction-outer”,“mathspeak.default”,‘ “fracciu00f3n continua”; [n] children/*;[t] “entre”; [n] children/*',“self::fraction”,“not(ancestor::fraction)”,’children/[2]/descendant-or-self::[@role=“ellipsis” and not(following-sibling::*)]‘);(0,sre.MathspeakSpanish.defineSpecialisedRule_)(“continued-fraction-outer”,“mathspeak.default”,“mathspeak.brief”,’ “frac continua”; [n] children/*;[t] “entre”; [n] children/*');(0,sre.MathspeakSpanish.defineSpecialisedRule_)(“continued-fraction-outer”, “mathspeak.brief”,“mathspeak.sbrief”);(0,sre.MathspeakSpanish.defineRule_)(“continued-fraction-inner”,“mathspeak.default”,‘ “empezar fracciu00f3n”; [n] children/*;[t] “entre”; [n] children/*',“self::fraction”,“ancestor::fraction”,’children/[2]/descendant-or-self::[@role=“ellipsis” and not(following-sibling::*)]‘);(0,sre.MathspeakSpanish.defineSpecialisedRule_)(“continued-fraction-inner”,“mathspeak.default”,“mathspeak.brief”,’ “empezar frac”; [n] children/*;[t] “entre”; [n] children/*'); (0,sre.MathspeakSpanish.defineSpecialisedRule_)(“continued-fraction-inner”,“mathspeak.brief”,“mathspeak.sbrief”,‘ “frac”; [n] children/*;[t] “entre”; [n] children/*');(0,sre.MathspeakSpanish.defineRule_)(“sqrt”,“mathspeak.default”,“ CSFopenRadicalVerbose; [n] children/*; [t] CSFcloseRadicalVerbose”,“self::sqrt”);(0,sre.MathspeakSpanish.defineRule_)(“sqrt”,“mathspeak.brief”,“ CSFopenRadicalBrief; [n] children/*; [t] CSFcloseRadicalBrief”,“self::sqrt”);(0,sre.MathspeakSpanish.defineRule_)(“sqrt”, “mathspeak.sbrief”,“ CSFopenRadicalSbrief; [n] children/*; [t] CSFcloseRadicalBrief”,“self::sqrt”);(0,sre.MathspeakSpanish.defineRule_)(“root-small”,“mathspeak.default”,“ CSFopenRadicalVerbose; [n] children/*; [t] CSFcloseRadicalVerbose”,“self::root”,“CQFisSmallRoot”);(0,sre.MathspeakSpanish.defineRule_)(“root-small”,“mathspeak.brief”,“ CSFopenRadicalBrief; [n] children/*; [t] CSFcloseRadicalBrief”,“self::root”,“CQFisSmallRoot”);(0,sre.MathspeakSpanish.defineRule_)(“root-small”, “mathspeak.sbrief”,“ CSFopenRadicalSbrief; [n] children/*; [t] CSFcloseRadicalBrief”,“self::root”,“CQFisSmallRoot”);(0,sre.MathspeakSpanish.defineRule_)(“root”,“mathspeak.default”,“ CSFindexRadicalVerbose; [n] children/*;[t] CSFopenRadicalVerbose; [n] children/*; [t] CSFcloseRadicalVerbose”,“self::root”);(0,sre.MathspeakSpanish.defineRule_)(“root”,“mathspeak.brief”,“ CSFindexRadicalBrief; [n] children/*;[t] CSFopenRadicalBrief; [n] children/*; [t] CSFcloseRadicalBrief”,“self::root”); (0,sre.MathspeakSpanish.defineRule_)(“root”,“mathspeak.sbrief”,“ CSFindexRadicalSbrief; [n] children/*;[t] CSFopenRadicalSbrief; [n] children/*; [t] CSFcloseRadicalBrief”,“self::root”);(0,sre.MathspeakSpanish.defineRule_)(“limboth”,“mathspeak.default”,“ children/*; [t] CSFunderscript; [n] children/*;[t] CSFoverscript; [n] children/*”,“self::limboth”,'name(../..)=“underscore” or name(../..)=“overscore”','following-sibling::*[@role!=“underaccent” and @role!=“overaccent”]');(0,sre.MathspeakSpanish.defineRule_)(“limlower”, “mathspeak.default”,“ children/*; [t] CSFunderscript; [n] children/*;”,“self::limlower”,'name(../..)=“underscore” or name(../..)=“overscore”','following-sibling::*[@role!=“underaccent” and @role!=“overaccent”]’);(0,sre.MathspeakSpanish.defineRule_)(“limupper”,“mathspeak.default”,“ children/*; [t] CSFoverscript; [n] children/*;”,“self::limupper”,'name(../..)=“underscore” or name(../..)=“overscore”','following-sibling::*[@role!=“underaccent” and @role!=“overaccent”]');(0,sre.MathspeakSpanish.defineRuleAlias_)(“limlower”, “self::underscore”,'@role=“limit function”','name(../..)=“underscore” or name(../..)=“overscore”','following-sibling::*[@role!=“underaccent” and @role!=“overaccent”]‘);(0,sre.MathspeakSpanish.defineRuleAlias_)(“limlower”,“self::underscore”,’children/*[@role!=“underaccent”]','name(../..)=“underscore” or name(../..)=“overscore”','following-sibling::*[@role!=“underaccent” and @role!=“overaccent”]‘);(0,sre.MathspeakSpanish.defineRuleAlias_)(“limupper”,“self::overscore”,’children/*[@role!=“overaccent”]', 'name(../..)=“underscore” or name(../..)=“overscore”','following-sibling::*[@role!=“underaccent” and @role!=“overaccent”]‘);(0,sre.MathspeakSpanish.defineRule_)(“limboth-end”,“mathspeak.default”,’ children/*; [t] CSFunderscript; [n] children/*;[t] CSFoverscript; [n] children/*; [t] “finalizar u00edndices”‘,“self::limboth”);(0,sre.MathspeakSpanish.defineRule_)(“limlower-end”,“mathspeak.default”,’[n] children/*; [t] CSFunderscript; [n] children/*; [t] “finalizar u00edndices”',“self::limlower”); (0,sre.MathspeakSpanish.defineRule_)(“limupper-end”,“mathspeak.default”,‘ children/*; [t] CSFoverscript; [n] children/*; [t] “finalizar u00edndices”',“self::limupper”);(0,sre.MathspeakSpanish.defineRuleAlias_)(“limlower-end”,“self::underscore”,'@role=“limit function”');(0,sre.MathspeakSpanish.defineRuleAlias_)(“limlower-end”,“self::underscore”);(0,sre.MathspeakSpanish.defineRuleAlias_)(“limupper-end”,“self::overscore”);(0,sre.MathspeakSpanish.defineRule_)(“integral”,“mathspeak.default”, “[n] children/*; [n] children/*; [n] children/*;”,“self::integral”);(0,sre.MathspeakSpanish.defineRule_)(“integral”,“mathspeak.default”,’ children/*; [t] “definida”; [t] “subu00edndice”; [n] children/*;[t] “superu00edndice”; [n] children/*; [t] “lu00ednea base”;‘,“self::limboth”,’@role=“integral”‘);(0,sre.MathspeakSpanish.defineSpecialisedRule_)(“integral”,“mathspeak.default”,“mathspeak.brief”,’ children/*; [t] “Sub”; [n] children/*;[t] “Sup”; [n] children/*; [t] “Base”;'); (0,sre.MathspeakSpanish.defineSpecialisedRule_)(“integral”,“mathspeak.brief”,“mathspeak.sbrief”);(0,sre.MathspeakSpanish.defineRule_)(“bigop”,“mathspeak.default”,“ children/*; [n] children/*;”,“self::bigop”);(0,sre.MathspeakSpanish.defineRule_)(“relseq”,“mathspeak.default”,“ children/* (sepFunc:CTXFcontentIterator)”,“self::relseq”);(0,sre.MathspeakSpanish.defineRule_)(“equality”,“mathspeak.default”,“ children/*; [n] content/*; [n] children/*”,“self::relseq”,'@role=“equality”', “count(./children/*)=2”);(0,sre.MathspeakSpanish.defineRule_)(“multi-equality”,“mathspeak.default”,“ children/* (sepFunc:CTXFcontentIterator)”,“self::relseq”,‘@role=“equality”’,“count(./children/*)>2”);(0,sre.MathspeakSpanish.defineRule_)(“multrel”,“mathspeak.default”,“ children/* (sepFunc:CTXFcontentIterator)”,“self::multirel”);(0,sre.MathspeakSpanish.defineRule_)(“subscript”,“mathspeak.default”,“ children/*; [t] CSFsubscriptVerbose; [n] children/*”,“self::subscript”);(0,sre.MathspeakSpanish.defineRule_)(“subscript”, “mathspeak.brief”,“ children/*; [t] CSFsubscriptBrief; [n] children/*”,“self::subscript”);(0,sre.MathspeakSpanish.defineSpecialisedRule_)(“subscript”,“mathspeak.brief”,“mathspeak.sbrief”);(0,sre.MathspeakSpanish.defineRule_)(“subscript-baseline”,“mathspeak.default”,“ children/*; [t] CSFsubscriptVerbose; [n] children/*; [t] CSFbaselineVerbose”,“self::subscript”,“following-sibling::*”,‘not(name(following-sibling::subscript/children/*)=“empty” or (name(following-sibling::infixop/children/*)=“subscript” and name(following-sibling::/children/[1]/children/*)=“empty”)) and @role!=“subsup”', 'not(following-sibling::*[@role=“rightsuper” or @role=“rightsub” or @role=“leftsub” or @role=“leftsub”])’);(0,sre.MathspeakSpanish.defineSpecialisedRule_)(“subscript-baseline”,“mathspeak.default”,“mathspeak.brief”,“ children/*; [t] CSFsubscriptBrief; [n] children/*; [t] CSFbaselineBriefS”);(0,sre.MathspeakSpanish.defineSpecialisedRule_)(“subscript-baseline”,“mathspeak.brief”,“mathspeak.sbrief”);(0,sre.MathspeakSpanish.defineRuleAlias_)(“subscript-baseline”,“self::subscript”,“not(following-sibling::*)”, “ancestor::fenced|ancestor::root|ancestor::sqrt|ancestor::punctuated|ancestor::fraction”,'not(ancestor::punctuated[@role=“leftsuper” or @role=“rightsub” or @role=“rightsuper” or @role=“rightsub”])');(0,sre.MathspeakSpanish.defineRuleAlias_)(“subscript-baseline”,“self::subscript”,“not(following-sibling::*)”,“ancestor::relseq|ancestor::multirel”,sre.MathspeakUtil.generateBaselineConstraint());(0,sre.MathspeakSpanish.defineRuleAlias_)(“subscript-baseline”,“self::subscript”,“not(following-sibling::*)”, “@embellished”);(0,sre.MathspeakSpanish.defineRule_)(“subscript-empty-sup”,“mathspeak.default”,“ children/*; [n] children/*”,“self::subscript”,‘name(children/*)=“infixop”’,‘name(children/*[@role=“implicit”]/children/*)=“superscript”’,‘name(children/[2]/children/[1]/children/*)=“empty”');(0,sre.MathspeakSpanish.defineSpecialisedRule_)(“subscript-empty-sup”,“mathspeak.default”,“mathspeak.brief”);(0,sre.MathspeakSpanish.defineSpecialisedRule_)(“subscript-empty-sup”,“mathspeak.brief”, “mathspeak.sbrief”);(0,sre.MathspeakSpanish.defineRuleAlias_)(“subscript-empty-sup”,“self::subscript”,’name(children/*)=“superscript”‘,’name(children/[2]/children/[1])=“empty”‘);(0,sre.MathspeakSpanish.defineRule_)(“superscript”,“mathspeak.default”,“ children/*; [t] CSFsuperscriptVerbose; [n] children/*”,“self::superscript”);(0,sre.MathspeakSpanish.defineSpecialisedRule_)(“superscript”,“mathspeak.default”,“mathspeak.brief”,“ children/*; [t] CSFsuperscriptBrief; [n] children/*”); (0,sre.MathspeakSpanish.defineSpecialisedRule_)(“superscript”,“mathspeak.brief”,“mathspeak.sbrief”);(0,sre.MathspeakSpanish.defineRule_)(“superscript-baseline”,“mathspeak.default”,“ children/*; [t] CSFsuperscriptVerbose; [n] children/*;[t] CSFbaselineVerbose”,“self::superscript”,“following-sibling::*”,’not(name(following-sibling::superscript/children/*)=“empty” or (name(following-sibling::infixop/children/*)=“superscript” and name(following-sibling::/children/[1]/children/*)=“empty”)) and not(following-sibling::*[@role=“rightsuper” or @role=“rightsub” or @role=“leftsub” or @role=“leftsub”])'); (0,sre.MathspeakSpanish.defineSpecialisedRule_)(“superscript-baseline”,“mathspeak.default”,“mathspeak.brief”,“ children/*; [t] CSFsuperscriptBrief; [n] children/*;[t] CSFbaselineBriefS”);(0,sre.MathspeakSpanish.defineSpecialisedRule_)(“superscript-baseline”,“mathspeak.brief”,“mathspeak.sbrief”);(0,sre.MathspeakSpanish.defineRuleAlias_)(“superscript-baseline”,“self::superscript”,“not(following-sibling::*)”,“ancestor::punctuated”,'ancestor::/following-sibling:: and not(ancestor::punctuated[@role=“leftsuper” or @role=“rightsub” or @role=“rightsuper” or @role=“rightsub”])'); (0,sre.MathspeakSpanish.defineRuleAlias_)(“superscript-baseline”,“self::superscript”,“not(following-sibling::*)”,“ancestor::fraction|ancestor::fenced|ancestor::root|ancestor::sqrt”);(0,sre.MathspeakSpanish.defineRuleAlias_)(“superscript-baseline”,“self::superscript”,“not(following-sibling::*)”,“ancestor::relseq|ancestor::multirel”,“not(@embellished)”,sre.MathspeakUtil.generateBaselineConstraint());(0,sre.MathspeakSpanish.defineRuleAlias_)(“superscript-baseline”,“self::superscript”,“not(following-sibling::*)”, “@embellished”,‘not(children/*[@role=“prime”])’);(0,sre.MathspeakSpanish.defineRule_)(“superscript-empty-sub”,“mathspeak.default”,“ children/*; [n] children/*”,“self::superscript”,‘name(children/*)=“infixop”’,‘name(children/*[@role=“implicit”]/children/*)=“subscript”’,‘name(children/[2]/children/[1]/children/*)=“empty”');(0,sre.MathspeakSpanish.defineSpecialisedRule_)(“superscript-empty-sub”,“mathspeak.default”,“mathspeak.brief”);(0,sre.MathspeakSpanish.defineSpecialisedRule_)(“superscript-empty-sub”, “mathspeak.brief”,“mathspeak.sbrief”);(0,sre.MathspeakSpanish.defineRuleAlias_)(“superscript-empty-sub”,“self::superscript”,’name(children/*)=“subscript”‘,’name(children/[2]/children/[1])=“empty”‘);(0,sre.MathspeakSpanish.defineRule_)(“square”,“mathspeak.default”,’ children/*; [t] “al cuadrado”‘,“self::superscript”,“children/*”,“children/*[text()=2]”,’name(children/*)!=“text” or not(name(children/*)=“text” and (name(../../../punctuated/..)=“stree” or name(..)=“stree”))', 'name(children/*)!=“subscript” or (name(children/*)=“subscript” and name(children/[1]/children/[1])=“identifier” and name(children/[1]/children/[2])=“number” and children/[1]/children/[2][@role!=“mixed”] and children/[1]/children/[2][@role!=“othernumber”])',“not(@embellished)”);(0,sre.MathspeakSpanish.defineSpecialisedRule_)(“square”,“mathspeak.default”,“mathspeak.brief”);(0,sre.MathspeakSpanish.defineSpecialisedRule_)(“square”,“mathspeak.default”,“mathspeak.sbrief”);(0,sre.MathspeakSpanish.defineRule_)(“cube”, “mathspeak.default”,‘ children/*; [t] “al cubo”’,“self::superscript”,“children/*”,“children/*[text()=3]”,‘name(children/*)!=“text” or not(name(children/*)=“text” and (name(../../../punctuated/..)=“stree” or name(..)=“stree”))’,‘name(children/*)!=“subscript” or (name(children/*)=“subscript” and name(children/[1]/children/[1])=“identifier” and name(children/[1]/children/[2])=“number” and children/[1]/children/[2][@role!=“mixed”] and children/[1]/children/[2][@role!=“othernumber”])', “not(@embellished)”);(0,sre.MathspeakSpanish.defineSpecialisedRule_)(“cube”,“mathspeak.default”,“mathspeak.brief”);(0,sre.MathspeakSpanish.defineSpecialisedRule_)(“cube”,“mathspeak.default”,“mathspeak.sbrief”);(0,sre.MathspeakSpanish.defineRule_)(“prime”,“mathspeak.default”,“ children/*; [n] children/*”,“self::superscript”,“children/*”,'children/*[@role=“prime”]');(0,sre.MathspeakSpanish.defineSpecialisedRule_)(“prime”,“mathspeak.default”,“mathspeak.brief”);(0,sre.MathspeakSpanish.defineSpecialisedRule_)(“prime”, “mathspeak.default”,“mathspeak.sbrief”);(0,sre.MathspeakSpanish.defineRule_)(“prime-subscript”,“mathspeak.default”,“ children/[1]/children/[1]; [n] children/*; [t] CSFsubscriptVerbose; [n] children/[1]/children/[2]”,“self::superscript”,’children/*[@role=“prime”]‘,’name(children/*)=“subscript”‘,“not(following-sibling::*)”);(0,sre.MathspeakSpanish.defineSpecialisedRule_)(“prime-subscript”,“mathspeak.default”,“mathspeak.brief”,“ children/[1]/children/[1]; [n] children/*; [t] CSFsubscriptBrief; [n] children/[1]/children/[2]”); (0,sre.MathspeakSpanish.defineSpecialisedRule_)(“prime-subscript”,“mathspeak.brief”,“mathspeak.sbrief”);(0,sre.MathspeakSpanish.defineRule_)(“prime-subscript-baseline”,“mathspeak.default”,“ children/[1]/children/[1]; [n] children/*; [t] CSFsubscriptVerbose; [n] children/[1]/children/[2]; [t] CSFbaselineVerbose”,“self::superscript”,’children/*[@role=“prime”]‘,’name(children/*)=“subscript”',“following-sibling::*”);(0,sre.MathspeakSpanish.defineSpecialisedRule_)(“prime-subscript-baseline”, “mathspeak.default”,“mathspeak.brief”,“ children/[1]/children/[1]; [n] children/*; [t] CSFsubscriptBrief; [n] children/[1]/children/[2]; [t] CSFbaselineBriefS”);(0,sre.MathspeakSpanish.defineSpecialisedRule_)(“prime-subscript-baseline”,“mathspeak.brief”,“mathspeak.sbrief”);(0,sre.MathspeakSpanish.defineRuleAlias_)(“prime-subscript-baseline”,“self::superscript”,‘children/*[@role=“prime”]’,‘name(children/*)=“subscript”',“not(following-sibling::*)”,“@embellished”);(0,sre.MathspeakSpanish.defineRule_)(“overscore”, “mathspeak.default”,’ “modificando superior”; [n] children/*; [t] “con”; [n] children/*',“self::overscore”,‘children/*[@role=“overaccent”]’);(0,sre.MathspeakSpanish.defineSpecialisedRule_)(“overscore”,“mathspeak.default”,“mathspeak.brief”,‘ “mod superior”; [n] children/*; [t] “con”; [n] children/*');(0,sre.MathspeakSpanish.defineSpecialisedRule_)(“overscore”,“mathspeak.brief”,“mathspeak.sbrief”);(0,sre.MathspeakSpanish.defineRule_)(“double-overscore”,“mathspeak.default”,’ “modificando superior superior”; [n] children/*; [t] “con”; [n] children/*', “self::overscore”,‘children/*[@role=“overaccent”]’,‘name(children/*)=“overscore”’,‘children/[1]/children/[2][@role=“overaccent”]’);(0,sre.MathspeakSpanish.defineSpecialisedRule_)(“double-overscore”,“mathspeak.default”,“mathspeak.brief”,‘ “mod superior superior”; [n] children/*; [t] “con”; [n] children/*');(0,sre.MathspeakSpanish.defineSpecialisedRule_)(“double-overscore”,“mathspeak.brief”,“mathspeak.sbrief”);(0,sre.MathspeakSpanish.defineRule_)(“underscore”,“mathspeak.default”,’ “modificando inferior”; [n] children/*; [t] “con”; [n] children/*', “self::underscore”,‘children/*[@role=“underaccent”]’);(0,sre.MathspeakSpanish.defineSpecialisedRule_)(“underscore”,“mathspeak.default”,“mathspeak.brief”,‘ “mod inferior”; [n] children/*; [t] “con”; [n] children/*');(0,sre.MathspeakSpanish.defineSpecialisedRule_)(“underscore”,“mathspeak.brief”,“mathspeak.sbrief”);(0,sre.MathspeakSpanish.defineRule_)(“double-underscore”,“mathspeak.default”,’ “modificando inferior inferior”; [n] children/*; [t] “con”; [n] children/*',“self::underscore”, 'children/*[@role=“underaccent”]‘,’name(children/*)=“underscore”‘,’children/[1]/children/[2][@role=“underaccent”]‘);(0,sre.MathspeakSpanish.defineSpecialisedRule_)(“double-underscore”,“mathspeak.default”,“mathspeak.brief”,’ “mod inferior inferior”; [n] children/*; [t] “con”; [n] children/*');(0,sre.MathspeakSpanish.defineSpecialisedRule_)(“double-underscore”,“mathspeak.brief”,“mathspeak.sbrief”);(0,sre.MathspeakSpanish.defineRule_)(“overbar”,“mathspeak.default”,‘ children/*; [t] “barra”', “self::overscore”,'@role=“latinletter” or @role=“greekletter” or @role=“otherletter”’,‘children/*[@role=“overaccent”]’,‘children/*[text()=“u00af” or text()=“uffe3” or text()=“uff3f” or text()=“_” or text()=“u203e”]’);(0,sre.MathspeakSpanish.defineSpecialisedRule_)(“overbar”,“mathspeak.default”,“mathspeak.brief”,‘ children/*; [t] “barra”');(0,sre.MathspeakSpanish.defineSpecialisedRule_)(“overbar”,“mathspeak.brief”,“mathspeak.sbrief”);(0,sre.MathspeakSpanish.defineRule_)(“underbar”, “mathspeak.default”,’ children/*; [t] “subbarra”',“self::underscore”,'@role=“latinletter” or @role=“greekletter” or @role=“otherletter”‘,’children/*[@role=“underaccent”]‘,’children/*[text()=“u00af” or text()=“uffe3” or text()=“uff3f” or text()=“_” or text()=“u203e”]‘);(0,sre.MathspeakSpanish.defineSpecialisedRule_)(“underbar”,“mathspeak.default”,“mathspeak.brief”,’ children/*; [t] “subbarra”');(0,sre.MathspeakSpanish.defineSpecialisedRule_)(“underbar”,“mathspeak.brief”,“mathspeak.sbrief”); (0,sre.MathspeakSpanish.defineRule_)(“overtilde”,“mathspeak.default”,‘ children/*; [t] “tilde”’,“self::overscore”,‘children/*[@role=“overaccent”]','@role=“latinletter” or @role=“greekletter” or @role=“otherletter”’,‘children/*[text()=“~” or text()=“u02dc” or text()=“u223c” or text()=“uff5e”]’);(0,sre.MathspeakSpanish.defineSpecialisedRule_)(“overtilde”,“mathspeak.default”,“mathspeak.brief”,‘ children/*; [t] “tilde”');(0,sre.MathspeakSpanish.defineSpecialisedRule_)(“overtilde”, “mathspeak.brief”,“mathspeak.sbrief”);(0,sre.MathspeakSpanish.defineRule_)(“undertilde”,“mathspeak.default”,’ children/*; [t] “subtilde”',“self::underscore”,'@role=“latinletter” or @role=“greekletter” or @role=“otherletter”‘,’children/*[@role=“underaccent”]‘,’children/*[text()=“~” or text()=“u02dc” or text()=“u223c” or text()=“uff5e”]‘);(0,sre.MathspeakSpanish.defineSpecialisedRule_)(“undertilde”,“mathspeak.default”,“mathspeak.brief”,’ children/*; [t] “subtilde”');(0,sre.MathspeakSpanish.defineSpecialisedRule_)(“undertilde”, “mathspeak.brief”,“mathspeak.sbrief”);(0,sre.MathspeakSpanish.defineRule_)(“matrix-fence”,“mathspeak.default”,“ children/*;”,“self::fenced”,“count(children/*)=1”,‘name(children/*)=“matrix”’);(0,sre.MathspeakSpanish.defineRule_)(“matrix”,“mathspeak.default”,‘ “empezar matriz”; [t] count(children/*); [t] “por”; count(children/[1]/children/); [m] children/* (ctxtFunc:CTXFordinalCounterEs,context:“fila ”); [t] “finalizar matriz”',“self::matrix”);(0,sre.MathspeakSpanish.defineRule_)(“matrix”, “mathspeak.sbrief”,’ “matriz”; [t] count(children/*); [t] “por”; count(children/[1]/children/); [m] children/* (ctxtFunc:CTXFordinalCounterEs,context:“ ”); [t] “finalizar matriz”‘,“self::matrix”);(0,sre.MathspeakSpanish.defineRuleAlias_)(“matrix”,“self::vector”);(0,sre.MathspeakSpanish.defineRule_)(“matrix-row”,“mathspeak.default”,’ children/* (ctxtFunc:CTXFordinalCounterEs,context:“columna”); (pause: 200)',“self::row”);(0,sre.MathspeakSpanish.defineRule_)(“row-with-label”,“mathspeak.default”, '[t] “con etiqueta”; [n] content/*; [t] “finalizar etiqueta” (pause: 200); [m] children/* (ctxtFunc:CTXFordinalCounterEs,context:“columna”)‘,“self::row”,“content”);(0,sre.MathspeakSpanish.defineRule_)(“row-with-label”,“mathspeak.brief”,’ “etiqueta”; [n] content/*; [m] children/* (ctxtFunc:CTXFordinalCounterEs,context:“columna”)',“self::row”,“content”);(0,sre.MathspeakSpanish.defineSpecialisedRule_)(“row-with-label”,“mathspeak.brief”,“mathspeak.sbrief”);(0,sre.MathspeakSpanish.defineRule_)(“row-with-text-label”, “mathspeak.sbrief”,‘ “etiqueta”; [t] CSFRemoveParens; children/* (ctxtFunc:CTXFordinalCounterEs,context:“columna”)’,“self::row”,“content”,‘name(content/cell/children/*)=“text”’);(0,sre.MathspeakSpanish.defineRule_)(“empty-row”,“mathspeak.default”,‘ “espacio”’,“self::row”,“count(children/*)=0”);(0,sre.MathspeakSpanish.defineRule_)(“matrix-cell”,“mathspeak.default”,“ children/*; [p] (pause: 300)”,“self::cell”);(0,sre.MathspeakSpanish.defineRule_)(“empty-cell”,“mathspeak.default”,‘ “espacio”; [p] (pause: 300)', “self::cell”,“count(children/*)=0”);(0,sre.MathspeakSpanish.defineRule_)(“determinant”,“mathspeak.default”,’ “empezar determinante”; [t] count(children/*); [t] “por”; count(children/[1]/children/); [m] children/* (ctxtFunc:CTXFordinalCounterEs,context:“fila ”); [t] “finalizar determinante”‘,“self::matrix”,’@role=“determinant”‘);(0,sre.MathspeakSpanish.defineSpecialisedRule_)(“determinant”,“mathspeak.default”,“mathspeak.sbrief”,’ “determinante”; [t] count(children/*); [t] “por”; count(children/[1]/children/); [m] children/* (ctxtFunc:CTXFordinalCounterEs,context:“fila ”); [t] “finalizar determinante”'); (0,sre.MathspeakSpanish.defineRule_)(“determinant-simple”,“mathspeak.default”,‘ “empezar determinante”; [t] count(children/*); [t] “por”; count(children/[1]/children/); [m] children/* (ctxtFunc:CTXFordinalCounterEs,context:“fila”,grammar:simpleDet); [t] “finalizar determinante”’,“self::matrix”,‘@role=“determinant”’,“CQFdetIsSimple”);(0,sre.MathspeakSpanish.defineSpecialisedRule_)(“determinant-simple”,“mathspeak.default”,“mathspeak.sbrief”,‘ “determinante”; [t] count(children/*); [t] “por”; count(children/[1]/children/); [m] children/* (ctxtFunc:CTXFordinalCounterEs,context:“fila”,grammar:simpleDet); [t] “finalizar determinante”'); (0,sre.MathspeakSpanish.defineRule_)(“row-simple”,“mathspeak.default”,“ children/*;”,“self::row”,'@role=“determinant”','contains(@grammar, “simpleDet”)’);(0,sre.MathspeakSpanish.defineRule_)(“layout”,“mathspeak.default”,‘ “empezar esquema”; [m] children/* (ctxtFunc:CTXFordinalCounterEs,context:“fila ”); [t] “finalizar esquema”’,“self::table”);(0,sre.MathspeakSpanish.defineRule_)(“layout”,“mathspeak.sbrief”,‘ “esquema”; [m] children/* (ctxtFunc:CTXFordinalCounterEs,context:“fila ”); [t] “finalizar esquema”', “self::table”);(0,sre.MathspeakSpanish.defineRule_)(“binomial”,“mathspeak.default”,’ “empezar binomial”; [n] children/[1]/children/[1]; [t] “en”; [n] children/[2]/children/[1]; [t] “finalizar binomial”‘,“self::vector”,’@role=“binomial”‘);(0,sre.MathspeakSpanish.defineRule_)(“binomial”,“mathspeak.sbrief”,’ “binomial”; [n] children/[1]/children/[1]; [t] “en”; [n] children/[2]/children/[1]; [t] “finalizar binomial”',“self::vector”,'@role=“binomial”');(0,sre.MathspeakSpanish.defineRule_)(“cases”, “mathspeak.default”,‘ “empezar esquema”; [n] content/*; [t] “alargada”; [m] children/* (ctxtFunc:CTXFordinalCounterEs,context:“fila ”); [t] “finalizar esquema”’,“self::cases”);(0,sre.MathspeakSpanish.defineRule_)(“cases”,“mathspeak.sbrief”,‘ “esquema”; [n] content/*; [t] “alargada”; [m] children/* (ctxtFunc:CTXFordinalCounterEs,context:“fila ”); [t] “finalizar esquema”',“self::cases”);(0,sre.MathspeakSpanish.defineRuleAlias_)(“layout”,“self::multiline”);(0,sre.MathspeakSpanish.defineRule_)(“line”, “mathspeak.default”,“ children/*”,“self::line”);(0,sre.MathspeakSpanish.defineRule_)(“line-with-label”,“mathspeak.default”,’ “con etiqueta”; [n] content/*; [t] “finalizar etiqueta” (pause: 200); [m] children/*‘,“self::line”,“content”);(0,sre.MathspeakSpanish.defineSpecialisedRule_)(“line-with-label”,“mathspeak.default”,“mathspeak.brief”,’ “etiqueta”; [n] content/* (pause: 200); [m] children/*');(0,sre.MathspeakSpanish.defineSpecialisedRule_)(“line-with-label”,“mathspeak.brief”,“mathspeak.sbrief”); (0,sre.MathspeakSpanish.defineRule_)(“line-with-text-label”,“mathspeak.sbrief”,‘ “etiqueta”; [t] CSFRemoveParens; [m] children/*’,“self::line”,“content”,‘name(content/cell/children/*)=“text”’);(0,sre.MathspeakSpanish.defineRule_)(“empty-line”,“mathspeak.default”,‘ “espacio”',“self::line”,“count(children/*)=0”,“not(content)”);(0,sre.MathspeakSpanish.defineSpecialisedRule_)(“empty-line”,“mathspeak.default”,“mathspeak.brief”);(0,sre.MathspeakSpanish.defineSpecialisedRule_)(“empty-line”,“mathspeak.brief”, “mathspeak.sbrief”);(0,sre.MathspeakSpanish.defineRule_)(“empty-line-with-label”,“mathspeak.default”,’ “con etiqueta”; [n] content/*; [t] “finalizar etiqueta” (pause: 200); [t] “espacio”‘,“self::line”,“count(children/*)=0”,“content”);(0,sre.MathspeakSpanish.defineSpecialisedRule_)(“empty-line-with-label”,“mathspeak.default”,“mathspeak.brief”,’ “etiqueta”; [n] content/* (pause: 200); [t] “espacio”');(0,sre.MathspeakSpanish.defineSpecialisedRule_)(“empty-line-with-label”,“mathspeak.brief”, “mathspeak.sbrief”);(0,sre.MathspeakSpanish.defineRule_)(“enclose”,“mathspeak.default”,‘ “empezar rodear”; [t] @role (grammar:localEnclose); [n] children/*; [t] “finalizar rodear”’,“self::enclose”);(0,sre.MathspeakSpanish.defineRuleAlias_)(“overbar”,“self::enclose”,‘@role=“top”’);(0,sre.MathspeakSpanish.defineRuleAlias_)(“underbar”,“self::enclose”,‘@role=“bottom”’);(0,sre.MathspeakSpanish.defineRule_)(“leftbar”,“mathspeak.default”,‘ “barra vertical”; [n] children/*',“self::enclose”,'@role=“left”'); (0,sre.MathspeakSpanish.defineRule_)(“rightbar”,“mathspeak.default”,’ children/*; [t] “barra vertical”‘,“self::enclose”,’@role=“right”‘);(0,sre.MathspeakSpanish.defineRule_)(“crossout”,“mathspeak.default”,’ “tachado”; [n] children/*; [t] “finalizar tachado”',“self::enclose”,'@role=“updiagonalstrike” or @role=“downdiagonalstrike” or @role=“horizontalstrike”‘);(0,sre.MathspeakSpanish.defineRule_)(“cancel”,“mathspeak.default”,’ “tachado”; [n] children/[1]/children/[1]; [t] “con”; [n] children/*; [t] “finalizar tachado”', “self::overscore”,'@role=“updiagonalstrike” or @role=“downdiagonalstrike” or @role=“horizontalstrike”');(0,sre.MathspeakSpanish.defineSpecialisedRule_)(“cancel”,“mathspeak.default”,“mathspeak.brief”);(0,sre.MathspeakSpanish.defineSpecialisedRule_)(“cancel”,“mathspeak.default”,“mathspeak.sbrief”);(0,sre.MathspeakSpanish.defineRuleAlias_)(“cancel”,“self::underscore”,'@role=“updiagonalstrike” or @role=“downdiagonalstrike” or @role=“horizontalstrike”');(0,sre.MathspeakSpanish.defineRule_)(“cancel-reverse”, “mathspeak.default”,‘ “tachado”; [n] children/[2]/children/[1]; [t] “con”; [n] children/*; [t] “finalizar tachado”’,“self::overscore”,‘name(children/*)=“enclose”’,‘children/*[@role=“updiagonalstrike” or @role=“downdiagonalstrike” or @role=“horizontalstrike”]');(0,sre.MathspeakSpanish.defineSpecialisedRule_)(“cancel-reverse”,“mathspeak.default”,“mathspeak.brief”);(0,sre.MathspeakSpanish.defineSpecialisedRule_)(“cancel-reverse”,“mathspeak.default”,“mathspeak.sbrief”);(0,sre.MathspeakSpanish.defineRuleAlias_)(“cancel-reverse”, “self::underscore”,’name(children/*)=“enclose”‘,’children/*[@role=“updiagonalstrike” or @role=“downdiagonalstrike” or @role=“horizontalstrike”]‘);(0,sre.MathspeakSpanish.defineRule_)(“end-punct”,“mathspeak.default”,“ children/*”,“self::punctuated”,’@role=“endpunct”‘);(0,sre.MathspeakSpanish.defineRule_)(“start-punct”,“mathspeak.default”,“ content/*; [m] children/*; [n] children/*“,”self::punctuated“,’@role=”integral“‘);(0,sre.MathspeakSpanish.defineRule_)(”punctuated“,”mathspeak.default“,” children/*“,”self::punctuated“);(0,sre.MathspeakSpanish.defineRule_)(”unit“,”mathspeak.default“,’ text() (grammar:annotation=”unit“:translate)‘,”self::identifier“,’@role=”unit“‘);(0,sre.MathspeakSpanish.defineRule_)(”unit“,”mathspeak.default“,’ text() (grammar:annotation=”unit“:translate:plural)',”self::identifier“,'@role=”unit“','not(contains(@grammar, ”singularUnit“))'); (0,sre.MathspeakSpanish.defineRule_)(”unit-square“,”mathspeak.default“,‘ ”square“; [n] children/*',”self::superscript“,’@role=”unit“‘,”children/*[text()=2]“,’name(children/*)=”identifier“‘);(0,sre.MathspeakSpanish.defineRule_)(”unit-cubic“,”mathspeak.default“,’ ”cubic“; [n] children/*',”self::superscript“,‘@role=”unit“’,”children/*[text()=3]“,‘name(children/*)=”identifier“’);(0,sre.MathspeakSpanish.defineRule_)(”reciprocal“,”mathspeak.default“,‘ ”reciprocal“; [n] children/*', ”self::superscript“,’@role=”unit“‘,’name(children/*)=”identifier“‘,’name(children/*)=”prefixop“‘,’children/*[@role=”negative“]‘,”children/[2]/children/[1][text()=1]“,'count(preceding-sibling::*)=0 or preceding-sibling::*');(0,sre.MathspeakSpanish.defineRule_)(”reciprocal“,”mathspeak.default“,’ ”per“; [n] children/*',”self::superscript“,‘@role=”unit“’,‘name(children/*)=”identifier“’,‘name(children/*)=”prefixop“’,‘children/*[@role=”negative“]’,”children/[2]/children/[1][text()=1]“, 'preceding-sibling::*');(0,sre.MathspeakSpanish.defineRule_)(”unit-combine“,”mathspeak.default“,” children/* (sepFunc:CTXFunitMultipliers)“,”self::infixop“,‘@role=”unit“’);(0,sre.MathspeakSpanish.defineRule_)(”unit-combine“,”mathspeak.default“,” children/* (sepFunc:CTXFunitMultipliers);“,”self::infixop“,'@role=”multiplication“ or @role=”implicit“‘,’children/*');(0,sre.MathspeakSpanish.defineRule_)(”unit-combine“,”mathspeak.default“,” . (grammar:singularUnit);“, ”self::infixop“,'@role=”multiplication“ or @role=”implicit“‘,’children/*','not(contains(@grammar, ”singularUnit“))‘,”CQFoneLeft“);(0,sre.MathspeakSpanish.defineRule_)(”unit-divide“,”mathspeak.default“,’ children/*; [t] ”per“; [n] children/*',”self::fraction“,'@role=”unit“')};sre.MathspeakSpanish.componentString_={2:”CSFbaseline“,1:”CSFsubscript“,0:”CSFsuperscript“};sre.MathspeakSpanish.childNumber_={4:2,3:3,2:1,1:4,0:5}; sre.MathspeakSpanish.generateTensorRuleStrings_=function(a){var b=[],c=”“,d=”“;a=parseInt(a,2);for(var e=0;5>e;e++){var f=”children/*[“sre.MathspeakSpanish.childNumber_[e]
”]“;if(a&1){var g=sre.MathspeakSpanish.componentString_;c=” “g
”Verbose; [n] “f
”;“+c;d=” “g
”Brief; [n] “f
”;“+d}else b.unshift(”name(“f
')=”empty“');a>>=1}b.push©;b.push(d);return b}; sre.MathspeakSpanish.generateMathspeakTensorRules_=function(){for(var a=”11111 11110 11101 11100 10111 10110 10101 10100 01111 01110 01101 01100“.split(” “),b=0,c;c=a;b++){var d=”tensor“+c;c=sre.MathspeakSpanish.generateTensorRuleStrings_©;var e=c.pop(),f=c.pop(),g=.concat©,h=.concat©;sre.MathspeakSpanish.defineRule_.apply(null,g);sre.MathspeakSpanish.defineRule_.apply(null,h);(0,sre.MathspeakSpanish.defineSpecialisedRule_)(d, ”mathspeak.brief“,”mathspeak.sbrief“);g=sre.MathspeakSpanish.componentString_;f+=”; [t]“g
”Verbose“;e+=”; [t]“g
”Brief“;d+=”-baseline“;g=.concat©;h=.concat©;sre.MathspeakSpanish.defineRule_.apply(null,g);sre.MathspeakSpanish.defineRule_.apply(null,h);(0,sre.MathspeakSpanish.defineSpecialisedRule_)(d,”mathspeak.brief“,”mathspeak.sbrief“);d=[d,”self::tensor“,”not(following-sibling::*)“, ”ancestor::fraction|ancestor::punctuated|ancestor::fenced|ancestor::root|ancestor::sqrt|ancestor::relseq|ancestor::multirel|@embellished“].concat©;sre.MathspeakSpanish.defineRuleAlias_.apply(null,d)}};sre.MathspeakSpanish.getInstance().initializer=;sre.PrefixRules=function(){sre.MathStore.call(this)};goog.inherits(sre.PrefixRules,sre.MathStore);goog.addSingletonGetter(sre.PrefixRules);sre.PrefixRules.mathStore=sre.PrefixRules.getInstance();sre.PrefixRules.defineRule_=goog.bind(sre.PrefixRules.mathStore.defineRule,sre.PrefixRules.mathStore);sre.PrefixRules.defineRuleAlias_=goog.bind(sre.PrefixRules.mathStore.defineRulesAlias,sre.PrefixRules.mathStore);sre.PrefixRules.addCustomString_=goog.bind(sre.PrefixRules.mathStore.customStrings.add,sre.PrefixRules.mathStore.customStrings); sre.PrefixRules.ordinalPosition=function(a){var b=sre.DomUtil.toArray(a.parentNode.childNodes);return sre.MathspeakUtil.simpleOrdinal(b.indexOf(a)+1).toString()};sre.PrefixRules.initCustomFunctions_=function(){(0,sre.PrefixRules.addCustomString_)(”CSFordinalPosition“,sre.PrefixRules.ordinalPosition)}; sre.PrefixRules.initPrefixRules_=function(){(0,sre.PrefixRules.defineRule_)(”numerator“,”prefix.default“,‘ ”Numerator“; [p] (pause:200)’,”self::*“,‘name(../..)=”fraction“’,”count(preceding-sibling::*)=0“);(0,sre.PrefixRules.defineRule_)(”denominator“,”prefix.default“,‘ ”Denominator“; [p] (pause:200)’,”self::*“,‘name(../..)=”fraction“’,”count(preceding-sibling::*)=1“);(0,sre.PrefixRules.defineRule_)(”base“,”prefix.default“,‘ ”Base“; [p] (pause:200)',”self::*“,'name(../..)=”superscript“ or name(../..)=”subscript“ or name(../..)=”overscore“ or name(../..)=”underscore“ or name(../..)=”tensor“', ”count(preceding-sibling::*)=0“);(0,sre.PrefixRules.defineRule_)(”exponent“,”prefix.default“,’ ”Exponent“; [p] (pause:200)‘,”self::*“,’name(../..)=”superscript“‘,”count(preceding-sibling::*)=1“);(0,sre.PrefixRules.defineRule_)(”subscript“,”prefix.default“,’ ”Subscript“; [p] (pause:200)‘,”self::*“,’name(../..)=”subscript“‘,”count(preceding-sibling::*)=1“);(0,sre.PrefixRules.defineRule_)(”overscript“,”prefix.default“,’ ”Overscript“; [p] (pause:200)',”self::*“,'name(../..)=”overscore“',”count(preceding-sibling::*)=1“); (0,sre.PrefixRules.defineRule_)(”underscript“,”prefix.default“,‘ ”Underscript“; [p] (pause:200)’,”self::*“,‘name(../..)=”underscore“’,”count(preceding-sibling::*)=1“);(0,sre.PrefixRules.defineRule_)(”radicand“,”prefix.default“,‘ ”Radicand“; [p] (pause:200)’,”self::*“,‘name(../..)=”sqrt“’);(0,sre.PrefixRules.defineRule_)(”radicand“,”prefix.default“,‘ ”Radicand“; [p] (pause:200)',”self::*“,'name(../..)=”root“',”count(preceding-sibling::*)=1“);(0,sre.PrefixRules.defineRule_)(”index“,”prefix.default“, '[t] ”Index“; [p] (pause:200)’,”self::*“,‘name(../..)=”root“’,”count(preceding-sibling::*)=0“);(0,sre.PrefixRules.defineRule_)(”leftsub“,”prefix.default“,‘ ”Left Subscript“; [p] (pause:200)’,”self::*“,‘name(../..)=”tensor“’,‘@role=”leftsub“’);(0,sre.PrefixRules.defineRule_)(”leftsub“,”prefix.default“,‘ CSFordinalPosition; [t] ”Left Subscript“; [p] (pause:200)',”self::*“,'name(../..)=”punctuated“','name(../../../..)=”tensor“','../../@role=”leftsub“');(0,sre.PrefixRules.defineRule_)(”leftsuper“, ”prefix.default“,’ ”Left Superscript“; [p] (pause:200)‘,”self::*“,’name(../..)=”tensor“‘,’@role=”leftsuper“‘);(0,sre.PrefixRules.defineRule_)(”leftsuper“,”prefix.default“,’ CSFordinalPosition; [t] ”Left Superscript“; [p] (pause:200)‘,”self::*“,’name(../..)=”punctuated“‘,’name(../../../..)=”tensor“‘,’../../@role=”leftsuper“‘);(0,sre.PrefixRules.defineRule_)(”rightsub“,”prefix.default“,’ ”Right Subscript“; [p] (pause:200)',”self::*“,'name(../..)=”tensor“','@role=”rightsub“');(0,sre.PrefixRules.defineRule_)(”rightsub“, ”prefix.default“,‘ CSFordinalPosition; [t] ”Right Subscript“; [p] (pause:200)’,”self::*“,‘name(../..)=”punctuated“’,‘name(../../../..)=”tensor“’,‘../../@role=”rightsub“’);(0,sre.PrefixRules.defineRule_)(”rightsuper“,”prefix.default“,‘ ”Right Superscript“; [p] (pause:200)’,”self::*“,‘name(../..)=”tensor“’,‘@role=”rightsuper“’);(0,sre.PrefixRules.defineRule_)(”rightsuper“,”prefix.default“,‘ CSFordinalPosition; [t] ”Right Superscript“; [p] (pause:200)',”self::*“,'name(../..)=”punctuated“','name(../../../..)=”tensor“', '../../@role=”rightsuper“’);(0,sre.PrefixRules.defineRule_)(”choice“,”prefix.default“,‘ ”Choice Quantity“; [p] (pause:200)’,”self::line“,‘@role=”binomial“’,”parent::*/parent::vector“,”count(preceding-sibling::*)=0“);(0,sre.PrefixRules.defineRule_)(”select“,”prefix.default“,‘ ”Selection Quantity“; [p] (pause:200)’,”self::line“,‘@role=”binomial“’,”parent::*/parent::vector“,”count(preceding-sibling::*)=1“);(0,sre.PrefixRules.defineRule_)(”row“,”prefix.default“,‘ CSFordinalPosition; [t] ”Row“; [p] (pause:200)', ”self::row“);(0,sre.PrefixRules.defineRuleAlias_)(”row“,”self::line“);(0,sre.PrefixRules.defineRule_)(”cell“,”prefix.default“,’ ../..; [t] CSFordinalPosition; [t] ”Column“; [p] (pause:200)‘,”self::cell“,’contains(@grammar,”depth“)‘);(0,sre.PrefixRules.defineRule_)(”cell“,”prefix.default“,’ CSFordinalPosition; [t] ”Column“; [p] (pause:200)',”self::cell“)};sre.PrefixRules.getInstance().initializer=;sre.PrefixSpanish=function(){sre.MathStore.call(this);this.locale=”es“};goog.inherits(sre.PrefixSpanish,sre.MathStore);goog.addSingletonGetter(sre.PrefixSpanish);sre.PrefixSpanish.mathStore=sre.PrefixSpanish.getInstance();sre.PrefixSpanish.defineRule_=goog.bind(sre.PrefixSpanish.mathStore.defineRule,sre.PrefixSpanish.mathStore);sre.PrefixSpanish.defineRuleAlias_=goog.bind(sre.PrefixSpanish.mathStore.defineRulesAlias,sre.PrefixSpanish.mathStore); sre.PrefixSpanish.addCustomString_=goog.bind(sre.PrefixSpanish.mathStore.customStrings.add,sre.PrefixSpanish.mathStore.customStrings);sre.PrefixSpanish.ordinalPosition=function(a){var b=sre.DomUtil.toArray(a.parentNode.childNodes);return sre.MathspeakUtil.simpleOrdinal(b.indexOf(a)+1).toString()};sre.PrefixSpanish.initCustomFunctions_=function(){(0,sre.PrefixSpanish.addCustomString_)(”CSFordinalPosition“,sre.PrefixSpanish.ordinalPosition)}; sre.PrefixSpanish.initPrefixSpanish_=function(){(0,sre.PrefixSpanish.defineRule_)(”numerator“,”prefix.default“,‘ ”numerador“; [p] (pause:200)’,”self::*“,‘name(../..)=”fraction“’,”count(preceding-sibling::*)=0“);(0,sre.PrefixSpanish.defineRule_)(”denominator“,”prefix.default“,‘ ”denominador“; [p] (pause:200)’,”self::*“,‘name(../..)=”fraction“’,”count(preceding-sibling::*)=1“);(0,sre.PrefixSpanish.defineRule_)(”base“,”prefix.default“,‘ ”base“; [p] (pause:200)',”self::*“,'name(../..)=”superscript“ or name(../..)=”subscript“ or name(../..)=”overscore“ or name(../..)=”underscore“ or name(../..)=”tensor“', ”count(preceding-sibling::*)=0“);(0,sre.PrefixSpanish.defineRule_)(”exponent“,”prefix.default“,’ ”exponente“; [p] (pause:200)‘,”self::*“,’name(../..)=”superscript“‘,”count(preceding-sibling::*)=1“);(0,sre.PrefixSpanish.defineRule_)(”subscript“,”prefix.default“,’ ”subu00edndice“; [p] (pause:200)‘,”self::*“,’name(../..)=”subscript“‘,”count(preceding-sibling::*)=1“);(0,sre.PrefixSpanish.defineRule_)(”overscript“,”prefix.default“,’ ”overscript“; [p] (pause:200)',”self::*“,'name(../..)=”overscore“', ”count(preceding-sibling::*)=1“);(0,sre.PrefixSpanish.defineRule_)(”underscript“,”prefix.default“,‘ ”underscript“; [p] (pause:200)’,”self::*“,‘name(../..)=”underscore“’,”count(preceding-sibling::*)=1“);(0,sre.PrefixSpanish.defineRule_)(”radicand“,”prefix.default“,‘ ”radicand“; [p] (pause:200)’,”self::*“,‘name(../..)=”sqrt“’);(0,sre.PrefixSpanish.defineRule_)(”radicand“,”prefix.default“,‘ ”radicand“; [p] (pause:200)',”self::*“,'name(../..)=”root“',”count(preceding-sibling::*)=1“);(0,sre.PrefixSpanish.defineRule_)(”index“, ”prefix.default“,’ ”u00edndice“; [p] (pause:200)‘,”self::*“,’name(../..)=”root“‘,”count(preceding-sibling::*)=0“);(0,sre.PrefixSpanish.defineRule_)(”leftsub“,”prefix.default“,’ ”subu00edndice izquierdo“; [p] (pause:200)‘,”self::*“,’name(../..)=”tensor“‘,’@role=”leftsub“‘);(0,sre.PrefixSpanish.defineRule_)(”leftsub“,”prefix.default“,’ CSFordinalPosition; [t] ”subu00edndice izquierdo“; [p] (pause:200)',”self::*“,'name(../..)=”punctuated“','name(../../../..)=”tensor“','../../@role=”leftsub“'); (0,sre.PrefixSpanish.defineRule_)(”leftsuper“,”prefix.default“,‘ ”superu00edndice izquierdo“; [p] (pause:200)’,”self::*“,‘name(../..)=”tensor“’,‘@role=”leftsuper“’);(0,sre.PrefixSpanish.defineRule_)(”leftsuper“,”prefix.default“,‘ CSFordinalPosition; [t] ”superu00edndice izquierdo“; [p] (pause:200)’,”self::*“,‘name(../..)=”punctuated“’,‘name(../../../..)=”tensor“’,‘../../@role=”leftsuper“’);(0,sre.PrefixSpanish.defineRule_)(”rightsub“,”prefix.default“,‘ ”derecha subu00edndice“; [p] (pause:200)', ”self::*“,’name(../..)=”tensor“‘,’@role=”rightsub“‘);(0,sre.PrefixSpanish.defineRule_)(”rightsub“,”prefix.default“,’ CSFordinalPosition; [t] ”derecha subu00edndice“; [p] (pause:200)‘,”self::*“,’name(../..)=”punctuated“‘,’name(../../../..)=”tensor“‘,’../../@role=”rightsub“‘);(0,sre.PrefixSpanish.defineRule_)(”rightsuper“,”prefix.default“,’ ”superu00edndice derecho“; [p] (pause:200)',”self::*“,'name(../..)=”tensor“','@role=”rightsuper“');(0,sre.PrefixSpanish.defineRule_)(”rightsuper“,”prefix.default“, '[t] CSFordinalPosition; [t] ”superu00edndice derecho“; [p] (pause:200)‘,”self::*“,’name(../..)=”punctuated“‘,’name(../../../..)=”tensor“‘,’../../@role=”rightsuper“‘);(0,sre.PrefixSpanish.defineRule_)(”choice“,”prefix.default“,’ ”cantidad de elecciu00f3n“; [p] (pause:200)‘,”self::line“,’@role=”binomial“‘,”parent::*/parent::vector“,”count(preceding-sibling::*)=0“);(0,sre.PrefixSpanish.defineRule_)(”select“,”prefix.default“,’ ”cantidad de selecciu00f3n“; [p] (pause:200)',”self::line“,'@role=”binomial“', ”parent::*/parent::vector“,”count(preceding-sibling::*)=1“);(0,sre.PrefixSpanish.defineRule_)(”row“,”prefix.default“,‘ CSFordinalPosition; [t] ”fila“; [p] (pause:200)’,”self::row“);(0,sre.PrefixSpanish.defineRuleAlias_)(”row“,”self::line“);(0,sre.PrefixSpanish.defineRule_)(”cell“,”prefix.default“,‘ ../..; [t] CSFordinalPosition; [t] ”columna“; [p] (pause:200)’,”self::cell“,‘contains(@grammar,”depth“)’);(0,sre.PrefixSpanish.defineRule_)(”cell“,”prefix.default“,‘ CSFordinalPosition; [t] ”columna“; [p] (pause:200)', ”self::cell“)};sre.PrefixSpanish.getInstance().initializer=;sre.SemanticTreeRules=function(){sre.MathStore.call(this)};goog.inherits(sre.SemanticTreeRules,sre.MathStore);goog.addSingletonGetter(sre.SemanticTreeRules);sre.SemanticTreeRules.mathStore=sre.SemanticTreeRules.getInstance();sre.SemanticTreeRules.defineRule_=goog.bind(sre.SemanticTreeRules.mathStore.defineRule,sre.SemanticTreeRules.mathStore);sre.SemanticTreeRules.defineRuleAlias_=goog.bind(sre.SemanticTreeRules.mathStore.defineRuleAlias,sre.SemanticTreeRules.mathStore); sre.SemanticTreeRules.addContextFunction_=goog.bind(sre.SemanticTreeRules.mathStore.contextFunctions.add,sre.SemanticTreeRules.mathStore.contextFunctions);sre.SemanticTreeRules.initCustomFunctions_=function(){(0,sre.SemanticTreeRules.addContextFunction_)(”CTXFnodeCounter“,sre.StoreUtil.nodeCounter);(0,sre.SemanticTreeRules.addContextFunction_)(”CTXFcontentIterator“,sre.MathmlStoreUtil.contentIterator)}; sre.SemanticTreeRules.initSemanticRules_=function(){(0,sre.SemanticTreeRules.defineRule_)(”stree“,”default.default“,” ./*[1]“,”self::stree“);(0,sre.SemanticTreeRules.defineRule_)(”multrel“,”default.default“,’ ”multirelation“; [m] children/* (sepFunc:CTXFcontentIterator)‘,”self::multirel“);(0,sre.SemanticTreeRules.defineRule_)(”variable-equality“,”default.default“,’ ”equation sequence“; [m] children/* (context:”part“,ctxtFunc:CTXFnodeCounter,sepFunc:CTXFcontentIterator)‘,’self::relseq', ”count(./children/*)>2“,‘./children/punctuation');(0,sre.SemanticTreeRules.defineRule_)(”multi-equality“,”default.default“,’ ”equation sequence“; [m] children/* (context:”part“,ctxtFunc:CTXFnodeCounter,sepFunc:CTXFcontentIterator)‘,’self::relseq',”count(./children/*)>2“);(0,sre.SemanticTreeRules.defineRule_)(”multi-equality“,”default.short“,‘ ”equation sequence“; [m] children/* (sepFunc:CTXFcontentIterator)’,‘self::relseq',”count(./children/*)>2“); (0,sre.SemanticTreeRules.defineRule_)(”equality“,”default.default“,” children/*; [p] (pause:200); [n] content/* (pause:200); children/*“,'self::relseq',”count(./children/*)=2“);(0,sre.SemanticTreeRules.defineRule_)(”simple-equality“,”default.default“,” children/*; [p] (pause:200); [n] content/* (pause:200); children/*“,'self::relseq',”count(./children/*)=2“,”./children/identifier or ./children/number“);(0,sre.SemanticTreeRules.defineRule_)(”simple-equality2“, ”default.default“,” children/*; [p] (pause:200); [n] content/* (pause:200); children/*“,'self::relseq',”count(./children/*)=2“,”./children/function or ./children/appl“);(0,sre.SemanticTreeRules.defineRule_)(”relseq“,”default.default“,” children/* (sepFunc:CTXFcontentIterator)“,”self::relseq“);(0,sre.SemanticTreeRules.defineRule_)(”binary-operation“,”default.default“,” children/* (sepFunc:CTXFcontentIterator);“,”self::infixop“);(0,sre.SemanticTreeRules.defineRule_)(”variable-addition“, ”default.default“,’ ”sum with variable number of summands“; (pause:400); [m] children/* (sepFunc:CTXFcontentIterator)‘,’self::infixop',”count(children/*)>2“,‘children/punctuation');(0,sre.SemanticTreeRules.defineRule_)(”multi-addition“,”default.default“,’ ”sum with“; [t] count(./children/*); [t] ”summands“; (pause:400); [m] children/* (sepFunc:CTXFcontentIterator)‘,’self::infixop',”count(./children/*)>2“);(0,sre.SemanticTreeRules.defineRule_)(”prefix“, ”default.default“,‘ ”prefix“; [n] text(); [t] ”of“ (pause 150); children/*',”self::prefixop“);(0,sre.SemanticTreeRules.defineRule_)(”negative“,”default.default“,’ ”negative“; [n] children/*',”self::prefixop“,‘self::prefixop');(0,sre.SemanticTreeRules.defineRule_)(”postfix“,”default.default“,’ children/*; [t] ”postfix“; [n] text() (pause 300)‘,”self::postfixop“);(0,sre.SemanticTreeRules.defineRule_)(”identifier“,”default.default“,” text()“,”self::identifier“); (0,sre.SemanticTreeRules.defineRule_)(”number“,”default.default“,” text()“,”self::number“);(0,sre.SemanticTreeRules.defineRule_)(”mixed-number“,”default.default“,’ children/*; [t] ”and“; [n] children/*; ',”self::number“,‘@role=”mixed“’);(0,sre.SemanticTreeRules.defineRule_)(”font“,”default.default“,” @font; [n] . (grammar:ignoreFont=@font)“,”self::*“,”@font“,'not(contains(@grammar, ”ignoreFont“))','@font!=”normal“');(0,sre.SemanticTreeRules.defineRule_)(”font-identifier-short“,”default.default“, ”[t] @font; [n] . (grammar:ignoreFont=@font)“,”self::identifier“,”string-length(text())=1“,”@font“,'not(contains(@grammar, ”ignoreFont“))','@font=”normal“','”“=translate(text(), ”abcdefghijklmnopqrstuvwxyzu03b1u03b2u03b3u03b4u03b5u03b6u03b7u03b8u03b9u03bau03bbu03bcu03bdu03beu03bfu03c0u03c1u03c2u03c3u03c4u03c5u03c6u03c7u03c8u03c9ABCDEFGHIJKLMNOPQRSTUVWXYZu0391u0392u0393u0394u0395u0396u0397u0398u0399u039au039bu039cu039du039eu039fu03a0u03a1u03a3u03a3u03a4u03a5u03a6u03a7u03a8u03a9“, ”“)', '@role!=”unit“‘);(0,sre.SemanticTreeRules.defineRule_)(”font-identifier“,”default.default“,” @font; [n] . (grammar:ignoreFont=@font)“,”self::identifier“,”string-length(text())=1“,”@font“,'@font=”normal“','not(contains(@grammar, ”ignoreFont“))’,‘@role!=”unit“’);(0,sre.SemanticTreeRules.defineRule_)(”omit-font“,”default.default“,” . (grammar:ignoreFont=@font)“,”self::identifier“,”string-length(text())=1“,”@font“,'not(contains(@grammar, ”ignoreFont“))','@font=”italic“');(0,sre.SemanticTreeRules.defineRule_)(”fraction“, ”default.default“,‘ (pause:250); [n] children/* (rate:0.35); [p] (pause:250); [t] ”divided by“; [n] children/* (rate:-0.35); [p] (pause:400)’,”self::fraction“);(0,sre.SemanticTreeRules.defineRule_)(”superscript“,”default.default“,‘ children/*; [t] ”super“; [n] children/* (pitch:0.35); (pause:300)’,”self::superscript“);(0,sre.SemanticTreeRules.defineRule_)(”subscript“,”default.default“,‘ children/*; [t] ”sub“; [n] children/* (pitch:-0.35); (pause:300)',”self::subscript“); (0,sre.SemanticTreeRules.defineRule_)(”ellipsis“,”default.default“,’ (pause:200); [t] ”ellipsis“; [p] (pause:300)‘,”self::punctuation“,’self::punctuation');(0,sre.SemanticTreeRules.defineRule_)(”fence-single“,”default.default“,” text()“,”self::punctuation“,‘self::punctuation');(0,sre.SemanticTreeRules.defineRuleAlias_)(”fence-single“,”self::punctuation“,’self::punctuation');(0,sre.SemanticTreeRules.defineRuleAlias_)(”fence-single“,”self::punctuation“, 'self::punctuation');(0,sre.SemanticTreeRules.defineRuleAlias_)(”fence-single“,”self::punctuation“,‘self::punctuation');(0,sre.SemanticTreeRules.defineRule_)(”omit-empty“,”default.default“,” (pause:100)“,”self::empty“);(0,sre.SemanticTreeRules.defineRule_)(”fences-open-close“,”default.default“,” (pause:100); [n] content/*; [n] children/*; [n] content/*; [p] (pause:100)“,”self::fenced“,'@role=”leftright“');(0,sre.SemanticTreeRules.defineRule_)(”fences-open-close-in-appl“, ”default.default“,” (pause:200); [n] children/*; [p] (pause:200);“,’self::fenced',”./parent::children/parent::appl“);(0,sre.SemanticTreeRules.defineRule_)(”fences-neutral“,”default.default“,‘ (pause:100); [t] ”absolute value of“; [n] children/*;[p] (pause:350);’,”self::fenced“,‘self::fenced');(0,sre.SemanticTreeRules.defineRule_)(”omit-fences“,”default.default“,” (pause:500); [n] children/*; [p] (pause:200);“,”self::fenced“);(0,sre.SemanticTreeRules.defineRule_)(”matrix“, ”default.default“,’ ”matrix“; [m] children/* (ctxtFunc:CTXFnodeCounter,context:”row“,pause:100)‘,”self::matrix“);(0,sre.SemanticTreeRules.defineRule_)(”matrix-row“,”default.default“,’ children/* (ctxtFunc:CTXFnodeCounter,context:”column“,pause:100)‘,’self::row');(0,sre.SemanticTreeRules.defineRule_)(”matrix-cell“,”default.default“,” children/*“,'self::cell');(0,sre.SemanticTreeRules.defineRule_)(”vector“,”default.default“,‘ ”vector“; [m] children/* (ctxtFunc:CTXFnodeCounter,context:”element“,pause:100)', ”self::vector“);(0,sre.SemanticTreeRules.defineRule_)(”cases“,”default.default“,’ ”case statement“; [m] children/* (ctxtFunc:CTXFnodeCounter,context:”case“,pause:100)‘,”self::cases“);(0,sre.SemanticTreeRules.defineRule_)(”cases-row“,”default.default“,” children/*“,’self::row');(0,sre.SemanticTreeRules.defineRule_)(”cases-cell“,”default.default“,” children/*“,'self::cell');(0,sre.SemanticTreeRules.defineRule_)(”row“,”default.default“,‘ ./* (ctxtFunc:CTXFnodeCounter,context:”column“,pause:100)', ”self::row“);(0,sre.SemanticTreeRules.defineRule_)(”cases-end“,”default.default“,’ ”case statement“; [m] children/* (ctxtFunc:CTXFnodeCounter,context:”case“,pause:100); ”end cases“‘,”self::cases“,”following-sibling::*“);(0,sre.SemanticTreeRules.defineRule_)(”multiline“,”default.default“,’ ”multiline equation“; children/* (ctxtFunc:CTXFnodeCounter,context:”line“,pause:100)‘,”self::multiline“);(0,sre.SemanticTreeRules.defineRule_)(”multiline-ineq“,”default.default“,’ ”multiline inequality“; children/* (ctxtFunc:CTXFnodeCounter,context:”row“,pause:100)', ”self::multiline“,‘@role=”inequality“’);(0,sre.SemanticTreeRules.defineRule_)(”line“,”default.default“,” children/*“,”self::line“);(0,sre.SemanticTreeRules.defineRule_)(”table“,”default.default“,‘ ”multiline equation“; children/* (ctxtFunc:CTXFnodeCounter,context:”row“,pause:200)’,”self::table“);(0,sre.SemanticTreeRules.defineRule_)(”table-ineq“,”default.default“,‘ ”multiline inequality“; children/* (ctxtFunc:CTXFnodeCounter,context:”row“,pause:200)',”self::table“,'@role=”inequality“'); (0,sre.SemanticTreeRules.defineRule_)(”table-row“,”default.default“,” children/* (pause:100)“,’self::row');(0,sre.SemanticTreeRules.defineRuleAlias_)(”cases-cell“,‘self::cell');(0,sre.SemanticTreeRules.defineRule_)(”empty-cell“,”mathspeak.default“,’ ”Blank“‘,”self::cell“,”count(children/*)=0“);(0,sre.SemanticTreeRules.defineRule_)(”end-punct“,”default.default“,” children/*; [p] (pause:300)“,”self::punctuated“,'@role=”endpunct“');(0,sre.SemanticTreeRules.defineRule_)(”start-punct“, ”default.default“,” content/*; [p] (pause:200); [m] self::punctuated”,’@role=“startpunct”‘);(0,sre.SemanticTreeRules.defineRule_)(“integral-punct”,“default.default”,“ children/* (rate:0.2); [n] children/* (rate:0.2)”,“self::punctuated”,’@role=“integral”‘);(0,sre.SemanticTreeRules.defineRule_)(“punctuated”,“default.default”,“ children/* (pause:100)”,“self::punctuated”);(0,sre.SemanticTreeRules.defineRule_)(“function”,“default.default”,“ text()”,“self::function”); (0,sre.SemanticTreeRules.defineRule_)(“appl”,“default.default”,“ children/*; [n] content/*; [n] children/*”,“self::appl”);(0,sre.SemanticTreeRules.defineRule_)(“sum-only”,“default.default”,’ children/*; [t] “from”; [n] children/*; [t] “to”; children/*',“self::limboth”,‘self::limboth');(0,sre.SemanticTreeRules.defineRule_)(“limboth”,“default.default”,’ children/*; [p] (pause 100); [t] “over”; [n] children/*;[t] “under”; [n] children/*; [p] (pause 250);', “self::limboth”);(0,sre.SemanticTreeRules.defineRule_)(“limlower”,“default.default”,‘ children/*; [t] “over”; [n] children/*;',“self::limlower”);(0,sre.SemanticTreeRules.defineRule_)(“limupper”,“default.default”,’ children/*; [t] “under”; [n] children/*;',“self::limupper”);(0,sre.SemanticTreeRules.defineRule_)(“largeop”,“default.default”,“ text()”,“self::largeop”);(0,sre.SemanticTreeRules.defineRule_)(“bigop”,“default.default”,‘ children/*; [p] (pause 100); [t] “over”; [n] children/*;[p] (pause 250);', “self::bigop”);(0,sre.SemanticTreeRules.defineRule_)(“integral”,“default.default”,“ children/*; [p] (pause 100); [n] children/*;[p] (pause 200); [n] children/* (rate:0.35);”,“self::integral”);(0,sre.SemanticTreeRules.defineRule_)(“sqrt”,“default.default”,’ “Square root of”; [n] children/* (rate:0.35); [p] (pause:400)‘,“self::sqrt”);(0,sre.SemanticTreeRules.defineRule_)(“square”,“default.default”,’ children/*; [t] “squared” (pitch:0.35); [p] (pause:300)',“self::superscript”, “children/*[text()=2]”,‘name(./children/*)!=“text”’);(0,sre.SemanticTreeRules.defineRule_)(“cube”,“default.default”,‘ children/*; [t] “cubed” (pitch:0.35); [p] (pause:300)’,“self::superscript”,“children/*[text()=3]”,‘name(./children/*)!=“text”’);(0,sre.SemanticTreeRules.defineRule_)(“root”,“default.default”,‘ “root of order”; [n] children/*;[t] “over”; [n] children/* (rate:0.35); [p] (pause:400)',“self::root”);(0,sre.SemanticTreeRules.defineRule_)(“text”,“default.default”, “[n] text(); [p] (pause:200)”,“self::text”);(0,sre.SemanticTreeRules.defineRule_)(“unit”,“default.default”,’ text() (grammar:annotation=“unit”:translate)‘,“self::identifier”,’@role=“unit”‘);(0,sre.SemanticTreeRules.defineRule_)(“unit-square”,“default.default”,’ “square”; [n] children/*',“self::superscript”,‘@role=“unit”’,“children/*[text()=2]”,‘name(children/*)=“identifier”’);(0,sre.SemanticTreeRules.defineRule_)(“unit-cubic”,“default.default”,‘ “cubic”; [n] children/*',“self::superscript”, '@role=“unit”’,“children/*[text()=3]”,‘name(children/*)=“identifier”’);(0,sre.SemanticTreeRules.defineRule_)(“reciprocal”,“default.default”,‘ “reciprocal”; [n] children/*',“self::superscript”,’@role=“unit”‘,’name(children/*)=“identifier”‘,’name(children/*)=“prefixop”‘,’children/*[@role=“negative”]‘,“children/[2]/children/[1][text()=1]”,'count(preceding-sibling::*)=0 or preceding-sibling::*');(0,sre.SemanticTreeRules.defineRule_)(“reciprocal”,“default.default”, '[t] “per”; [n] children/*',“self::superscript”,’@role=“unit”‘,’name(children/*)=“identifier”‘,’name(children/*)=“prefixop”‘,’children/*[@role=“negative”]‘,“children/[2]/children/[1][text()=1]”,’preceding-sibling::*');(0,sre.SemanticTreeRules.defineRule_)(“unit-combine”,“default.default”,“ children/*”,“self::infixop”,‘@role=“unit”’);(0,sre.SemanticTreeRules.defineRule_)(“unit-divide”,“default.default”,‘ children/* (pitch:0.3); [t] “per”; [n] children/* (pitch:-0.3)', “self::fraction”,'@role=“unit”')};sre.SemanticTreeRules.getInstance().initializer=;sre.SpeechRuleStores={};sre.SpeechRuleStores.RULE_SETS_={MathmlStoreRules:sre.MathmlStoreRules,SemanticTreeRules:sre.SemanticTreeRules,MathspeakRules:sre.MathspeakRules,MathspeakSpanish:sre.MathspeakSpanish,ClearspeakRules:sre.ClearspeakRules,EmacspeakRules:sre.EmacspeakRules,AbstractionRules:sre.AbstractionRules,AbstractionSpanish:sre.AbstractionSpanish,PrefixRules:sre.PrefixRules,PrefixSpanish:sre.PrefixSpanish};sre.SpeechRuleStores.availableSets=function(){return Object.keys(sre.SpeechRuleStores.RULE_SETS_)}; sre.SpeechRuleStores.getConstructor=function(a){return(a=sre.SpeechRuleStores.RULE_SETS_)?a:null};sre.SpeechRuleEngine=function(){this.activeStore_=null;this.cache_={};this.ready_=!0;this.combinedStores_={};sre.Engine.registerTest(goog.bind(function(a){return this.ready_},this))};goog.addSingletonGetter(sre.SpeechRuleEngine);sre.SpeechRuleEngine.prototype.parameterize=function(a){for(var b={},c=0,d=a.length;c<d;c++){var e=a,f=sre.SpeechRuleStores.getConstructor(e);f&&f.getInstance&&(b=f.getInstance())}this.parameterize_(b)}; sre.SpeechRuleEngine.prototype.parameterize_=function(a){try{this.activeStore_=this.combineStores_(a)}catch(b){if(“StoreError”==b.name)console.log(“Store Error:”,b.message);else throw b;}this.updateEngine()};sre.SpeechRuleEngine.prototype.constructString=function(a,b){if(!b)return“”;if('“'==b.charAt(0))return b.slice(1,-1);var c=this.activeStore_.customStrings.lookup(b);return c?c(a):sre.XpathUtil.evaluateString(b,a)};sre.SpeechRuleEngine.prototype.clearCache=function(){this.cache_={}}; sre.SpeechRuleEngine.prototype.forCache=function(a){for(var b in this.cache_)a(b,this.cache_)};sre.SpeechRuleEngine.prototype.getCacheForNode_=function(a){if(!a||!a.getAttribute)return null;a=a.getAttribute(”id“);return”undefined“===a||”“===a?null:this.getCache(a)};sre.SpeechRuleEngine.prototype.getCache=function(a){return(a=this.cache_)?this.cloneCache(a):a};sre.SpeechRuleEngine.prototype.cloneCache=function(a){return a.map(function(a){return a.clone()})}; sre.SpeechRuleEngine.prototype.pushCache_=function(a,b){sre.Engine.getInstance().cache&&a.getAttribute&&(a=a.getAttribute(”id“))&&(this.cache_=this.cloneCache(b))};sre.SpeechRuleEngine.prototype.evaluateNode=function(a){var b=(new Date).getTime();a=this.evaluateNode_(a);var c=(new Date).getTime();sre.Debugger.getInstance().output(”Time:“,c-b);return a};sre.SpeechRuleEngine.prototype.evaluateNode_=function(a){if(!a)return[];this.updateConstraint_();return this.evaluateTree_(a)}; sre.SpeechRuleEngine.prototype.evaluateTree_=function(a){var b=sre.Engine.getInstance();if(b.cache){var c=this.getCacheForNode_(a);if©return c}sre.Grammar.getInstance().setAttribute(a);var d=this.activeStore_.lookupRule(a,b.dynamicCstr);if(!d){if(b.strict)return[];c=this.activeStore_.evaluateDefault(a);this.pushCache_(a,c);return c}sre.Debugger.getInstance().generateOutput(goog.bind(function(){return},this));b=d.action.components;c=[];for(var e=0,f;f= b;e++){var g=[],h=f.content||”“,k=f.attributes||{};f.grammar&&this.processGrammar(a,f.grammar);switch(f.type){case sre.SpeechRule.Type.NODE:(h=this.activeStore_.applyQuery(a,h))&&(g=this.evaluateTree_(h));break;case sre.SpeechRule.Type.MULTI:h=this.activeStore_.applySelector(a,h);0<h.length&&(g=this.evaluateNodeList_(h,k.sepFunc,this.constructString(a,k.separator),k.ctxtFunc,this.constructString(a,k.context)));break;case sre.SpeechRule.Type.TEXT:(h=this.constructString(a,h))&&(g=[sre.AuditoryDescription.create({text:h}, {adjust:!0})]);break;default:g=}g&&f.type!=sre.SpeechRule.Type.MULTI&&(k.context&&(g.context=this.constructString(a,k.context)+(g.context||”“)),k.annotation&&(g.annotation=k.annotation));f.grammar&&sre.Grammar.getInstance().popState();c=c.concat(this.addPersonality_(g,k))}this.pushCache_(a,c);return c}; sre.SpeechRuleEngine.prototype.evaluateNodeList_=function(a,b,c,d,e){if(a==[])return;var f=c||”“,g=e||”“;c=(c=this.activeStore_.contextFunctions.lookup(d))?c(a,g):function(){return g};b=(b=this.activeStore_.contextFunctions.lookup(b))?b(a,f):function(){return sre.AuditoryDescription.create({text:f},{translate:!0})};d=[];e=0;for(var h;h=a;e++)h=this.evaluateTree_(h),0a.id
’“]',b.xml());return c?sre.SpeechRuleEngine.getInstance().runInSetting({domain:”prefix“,style:”default“,strict:!0,cache:!1,speech:!0,rules:},function(){return sre.SpeechRuleEngine.getInstance().evaluateNode©}):[]}; sre.SpeechGeneratorUtil.connectMactions=function(a,b,c){b=sre.DomUtil.querySelectorAll(b,”maction“);for(var d=0,e;e=b;d++){var f=e.getAttribute(”id“);if(f=sre.DomUtil.querySelectorAllByAttrValue(a,”id“,f)){var g=e.childNodes;e=g.getAttribute(sre.EnrichMathml.Attribute.ID);var h=sre.WalkerUtil.getBySemanticId(a,e);h&&”dummy“!==h.getAttribute(sre.EnrichMathml.Attribute.TYPE)||(h=f.childNodes,(f=g.getAttribute(sre.EnrichMathml.Attribute.PARENT))&&h.setAttribute(sre.EnrichMathml.Attribute.PARENT, f),h.setAttribute(sre.EnrichMathml.Attribute.TYPE,”dummy“),h.setAttribute(sre.EnrichMathml.Attribute.ID,e),sre.DomUtil.querySelectorAllByAttrValue(c,”id“,e).setAttribute(”alternative“,e))}}};sre.SpeechGeneratorUtil.connectAllMactions=function(a,b){a=sre.DomUtil.querySelectorAll(a,”maction“);for(var c=0,d;d=a;c++)d=d.childNodes.getAttribute(sre.EnrichMathml.Attribute.ID),sre.DomUtil.querySelectorAllByAttrValue(b,”id“,d).setAttribute(”alternative“,d)};sre.AbstractSpeechGenerator=function(){this.rebuilt_=null};sre.AbstractSpeechGenerator.prototype.getRebuilt=function(){return this.rebuilt_};sre.AbstractSpeechGenerator.prototype.setRebuilt=function(a){this.rebuilt_=a};sre.AbstractSpeechGenerator.prototype.getSpeech=goog.abstractMethod;sre.AbstractSpeechGenerator.prototype.start=function(){};sre.AbstractSpeechGenerator.prototype.end=function(){}; sre.AbstractSpeechGenerator.prototype.generateSpeech=function(a,b){this.rebuilt_||(this.rebuilt_=new sre.RebuildStree(b));a=sre.SpeechGeneratorUtil.computeSpeech(this.getRebuilt().xml);return sre.AuralRendering.getInstance().markup(a)};sre.AdhocSpeechGenerator=function(){sre.AbstractSpeechGenerator.call(this)};goog.inherits(sre.AdhocSpeechGenerator,sre.AbstractSpeechGenerator);sre.AdhocSpeechGenerator.prototype.getSpeech=function(a,b){b=this.generateSpeech(a,b);a.setAttribute(sre.EnrichMathml.Attribute.SPEECH,b);return b};sre.DirectSpeechGenerator=function(){sre.AbstractSpeechGenerator.call(this)};goog.inherits(sre.DirectSpeechGenerator,sre.AbstractSpeechGenerator);sre.DirectSpeechGenerator.prototype.getSpeech=function(a,b){return sre.WalkerUtil.getAttribute(a,sre.EnrichMathml.Attribute.SPEECH)};sre.DummySpeechGenerator=function(){sre.AbstractSpeechGenerator.call(this)};goog.inherits(sre.DummySpeechGenerator,sre.AbstractSpeechGenerator);sre.DummySpeechGenerator.prototype.getSpeech=function(a,b){return”“};sre.TreeSpeechGenerator=function(){};goog.inherits(sre.TreeSpeechGenerator,sre.AbstractSpeechGenerator);sre.TreeSpeechGenerator.prototype.getSpeech=function(a,b){var c=this.generateSpeech(a,b);a.setAttribute(sre.EnrichMathml.Attribute.SPEECH,c);var d=this.getRebuilt().nodeDict,e;for(e in d){var f=d,g=sre.WalkerUtil.getBySemanticId(b,e),h=sre.WalkerUtil.getBySemanticId(a,e);g&&h&&(sre.SpeechGeneratorUtil.addSpeech(h,f),sre.SpeechGeneratorUtil.addPrefix(h,f))}return c};sre.NodeSpeechGenerator=function(){sre.TreeSpeechGenerator.call(this)};goog.inherits(sre.NodeSpeechGenerator,sre.TreeSpeechGenerator);sre.NodeSpeechGenerator.prototype.getSpeech=function(a,b){var c=sre.WalkerUtil.getAttribute(a,sre.EnrichMathml.Attribute.SPEECH);return c?c:sre.NodeSpeechGenerator.superClass_.getSpeech.call(this,a,b)};sre.SummarySpeechGenerator=function(){};goog.inherits(sre.SummarySpeechGenerator,sre.AbstractSpeechGenerator);sre.SummarySpeechGenerator.prototype.getSpeech=function(a,b){sre.SpeechGeneratorUtil.connectAllMactions(b,this.getRebuilt().xml);return this.generateSpeech(a,b)};sre.SpeechGeneratorFactory={};sre.SpeechGeneratorFactory.generator=function(a){return new (sre.SpeechGeneratorFactory.generatorMapping_||sre.SpeechGeneratorFactory.generatorMapping_.Direct)};sre.SpeechGeneratorFactory.generatorMapping_={Adhoc:sre.AdhocSpeechGenerator,Direct:sre.DirectSpeechGenerator,Dummy:sre.DummySpeechGenerator,Node:sre.NodeSpeechGenerator,Summary:sre.SummarySpeechGenerator,Tree:sre.TreeSpeechGenerator};sre.EventUtil={};sre.EventUtil.KeyCode={ENTER:13,ESC:27,SPACE:32,PAGE_UP:33,PAGE_DOWN:34,END:35,HOME:36,LEFT:37,UP:38,RIGHT:39,DOWN:40,TAB:9,0:48,1:49,2:50,3:51,4:52,5:53,6:54,7:55,8:56,9:57,A:65,B:66,C:67,D:68,E:69,F:70,G:71,H:72,I:73,J:74,K:75,L:76,M:77,N:78,O:79,P:80,Q:81,R:82,S:83,T:84,U:85,V:86,W:87,X:88,Y:89,Z:90}; sre.EventUtil.EventType={CLICK:”click“,DBLCLICK:”dblclick“,MOUSEDOWN:”mousedown“,MOUSEUP:”mouseup“,MOUSEOVER:”mouseover“,MOUSEOUT:”mouseout“,MOUSEMOVE:”mousemove“,SELECTSTART:”selectstart“,KEYPRESS:”keypress“,KEYDOWN:”keydown“,KEYUP:”keyup“,TOUCHSTART:”touchstart“,TOUCHMOVE:”touchmove“,TOUCHEND:”touchend“,TOUCHCANCEL:”touchcancel“};sre.EventUtil.Event=function(a,b,c){this.src=a;this.type=b;this.callback=c};sre.EventUtil.Event.prototype.add=function(){this.src.addEventListener(this.type,this.callback)}; sre.EventUtil.Event.prototype.remove=function(){this.src.removeEventListener(this.type,this.callback)};sre.Focus=function(a,b){this.semanticNodes_=a;this.semanticPrimary_=b;this.domNodes_=[];this.domPrimary_=null;this.allNodes_=};sre.Focus.prototype.getSemanticPrimary=function(){return this.semanticPrimary_};sre.Focus.prototype.getSemanticNodes=function(){return this.semanticNodes_};sre.Focus.prototype.getNodes=function(){return this.allNodes_};sre.Focus.prototype.getDomNodes=function(){return this.domNodes_};sre.Focus.prototype.getDomPrimary=function(){return this.domPrimary_}; sre.Focus.prototype.toString=function(){return”Primary:“this.domPrimary_
” Nodes:“+this.domNodes_};sre.Focus.prototype.clone=function(){var a=new sre.Focus(this.semanticNodes_,this.semanticPrimary_);a.domNodes_=this.domNodes_;a.domPrimary_=this.domPrimary_;a.allNodes_=this.allNodes_;return a}; sre.Focus.factory=function(a,b,c,d){var e=function(a){return sre.WalkerUtil.getBySemanticId(d,a)},f=c.nodeDict;c=e(a);e=b.map(e);var g=b.map(function(a){return f});a=new sre.Focus(g,f);a.domNodes_=e;a.domPrimary_=c;a.allNodes_=sre.Focus.generateAllVisibleNodes_(b,e,f,d);return a}; sre.Focus.generateAllVisibleNodes_=function(a,b,c,d){for(var e=function(a){return sre.WalkerUtil.getBySemanticId(d,a)},f=[],g=0,h=a.length;g