-
Notifications
You must be signed in to change notification settings - Fork 3
/
Copy pathmodel.min.js
48 lines (48 loc) · 23.5 KB
/
model.min.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
var boxedString=Object("a"),splitString="a"!=boxedString[0]||!(0 in boxedString),forEach=function(b,d,f){if(Array.prototype.forEach)return b.forEach(d);b=toObject(b);var p=splitString&&"[object String]"==_toString(b)?b.split(""):b,q=-1,g=p.length>>>0;if("[object Function]"!=_toString(d))throw new TypeError;for(;++q<g;)q in p&&d.call(f,p[q],q,b)},filter=function(b,d,f){if(Array.prototype.filter)return b.filter(d);var p=toObject(b);b=splitString&&"[object String]"==_toString(b)?b.split(""):p;var q=
b.length>>>0,g=[],a;if("[object Function]"!=_toString(d))throw new TypeError(d+" is not a function");for(var c=0;c<q;c++)c in b&&(a=b[c],d.call(f,a,c,p)&&g.push(a));return g},every=function(b,d,f){if(Array.prototype.every)return b.every(d,f);var p=toObject(b);b=splitString&&"[object String]"==_toString(b)?b.split(""):p;var q=b.length>>>0;if("[object Function]"!=_toString(d))throw new TypeError(d+" is not a function");for(var g=0;g<q;g++)if(g in b&&!d.call(f,b[g],g,p))return!1;return!0},some=function(b,
d,f){if(Array.prototype.some)return b.some(d,f);var p=toObject(b);b=splitString&&"[object String]"==_toString(b)?b.split(""):p;var q=b.length>>>0;if("[object Function]"!=_toString(d))throw new TypeError(d+" is not a function");for(var g=0;g<q;g++)if(g in b&&d.call(f,b[g],g,p))return!0;return!1},indexOf=function(b,d){var f=arguments[2];if(Array.prototype.indexOf||"string"===typeof b)return b.indexOf(d,f);var p=splitString&&"[object String]"==_toString(b)?b.split(""):toObject(b),q=p.length>>>0;if(!q)return-1;
var g=0;2<arguments.length&&(g=toInteger(f));for(g=0<=g?g:Math.max(0,q+g);g<q;g++)if(g in p&&p[g]===d)return g;return-1},keys=function(b){if(Object.keys)return Object.keys(b);var d=!0,f="toString toLocaleString valueOf hasOwnProperty isPrototypeOf propertyIsEnumerable constructor".split(" "),p=f.length,q;for(q in{toString:null})d=!1;if("object"!=typeof b&&"function"!=typeof b||null===b)throw new TypeError("Object.keys called on a non-object");q=[];for(var g in b)owns(b,g)&&q.push(g);if(d)for(d=0;d<
p;d++)g=f[d],owns(b,g)&&q.push(g);return q},toObject=function(b){if(null==b)throw new TypeError("can't convert "+b+" to object");return Object(b)},prototypeOfObject=Object.prototype,_toString=function(b){return prototypeOfObject.toString.apply(b)},owns=function(b,d){return prototypeOfObject.hasOwnProperty.call(b,d)},create=function(b){if(Object.create)return Object.create(b);var d=function(){};if(1!=arguments.length)throw Error("Object.create implementation only accepts one parameter.");d.prototype=
b;return new d};
"object"!==typeof window||window.JSON||(window.JSON={parse:function(b){return eval("("+b+")")},stringify:function(){var b=Object.prototype.toString,d=Array.isArray||function(g){return"[object Array]"===b.call(g)},f={'"':'\\"',"\\":"\\\\","\b":"\\b","\f":"\\f","\n":"\\n","\r":"\\r","\t":"\\t"},p=function(b){return f[b]||"\\u"+(b.charCodeAt(0)+65536).toString(16).substr(1)},q=/[\\"\u0000-\u001F\u2028\u2029]/g;return function a(c){if(null==c)return"null";if("number"===typeof c)return isFinite(c)?c.toString():
"null";if("boolean"===typeof c)return c.toString();if("object"===typeof c){if("function"===typeof c.toJSON)return a(c.toJSON());if(d(c)){for(var f="[",r=0;r<c.length;r++)f+=(r?", ":"")+a(c[r]);return f+"]"}if("[object Object]"===b.call(c)){f=[];for(r in c)c.hasOwnProperty(r)&&f.push(a(r)+": "+a(c[r]));return"{"+f.join(", ")+"}"}}return'"'+c.toString().replace(q,p)+'"'}}()});var ASSERT=!0,assert=function(){return ASSERT?function(b,d,f){void 0===d&&(d="failed!");if(!b)throw b=Error(d),b.location=f?f:Assert.location,b;}:function(){}}(),message=function(b,d){var f=Assert.messages[b];d&&forEach(d,function(b,d){f=f.replace("%"+(d+1),b)});return b+": "+f},reserveCodeRange=function(b,d,f){assert(b<=d,"Invalid code range");var p=every(Assert.reservedCodes,function(f){return d<f.first||b>f.last});assert(p,"Conflicting request for error code range");Assert.reservedCodes.push({first:b,
last:d,name:f})},setLocation=function(b){Assert.location=b},clearLocation=function(){Assert.location=null},setCounter=function(b,d){Assert.count=b;Assert.countMessage=d?d:"ERROR count exceeded"},checkCounter=function(){var b=Assert.count;"number"!==typeof b||isNaN(b)?assert(!1,"ERROR counter not set"):assert(Assert.count--,Assert.countMessage)},Assert={assert:assert,message:message,messages:{},reserveCodeRange:reserveCodeRange,reservedCodes:[],setLocation:setLocation,clearLocation:clearLocation,setCounter:setCounter,
checkCounter:checkCounter};var TRACE=!1,global=this,trace=function(){return TRACE?function(b){if(global.console&&global.console.log)console.log(b);else if(global.print)print(b);else throw"No trace function defined!";}:function(){}}();var Ast=function(){function b(){}function d(b){void 0===b&&(b=this);return b.op&&b.args}var f=["unused"],p={};b.clearPool=function(){f=["unused"];p={}};b.prototype.create=function g(b,c){var d=g(this);"string"===typeof b?(d.op=b,d.args=c instanceof Array?c:[]):null!==b&&"object"===typeof b&&forEach(keys(b),function(c,g){d[c]=b[c]});return d};b.prototype.arg=function(b){if(!d(this))throw"Malformed node";this.args.push(b);return this};b.prototype.argN=function(b,a){if(!d(this))throw"Malformed node";
if(void 0===a)return this.args[b];this.args[b]=a;return this};b.prototype.args=function(b){if(!d(this))throw"Malformed node";if(void 0===b)return this.args;this.args=b;return this};b.prototype.isNode=d;b.intern=b.prototype.intern=function a(c){this instanceof b&&void 0===c&&d(this)&&(c=this);assert("object"===typeof c,"node not an object");for(var G=c.op,r=c.args.length,ba="",M=[],A=0;A<r;A++)ba="string"===typeof c.args[A]?ba+(M[A]=c.args[A]):ba+(M[A]=a(c.args[A]));c=G+r+ba;r=p[c];void 0===r&&(f.push({op:G,
args:M}),r=f.length-1,p[c]=r);return r};b.node=b.prototype.node=function(b){b=JSON.parse(JSON.stringify(f[b]));for(var c=0;c<b.args.length;c++)"string"!==typeof b.args[c]&&(b.args[c]=this.node(b.args[c]));return b};b.dumpAll=b.prototype.dumpAll=function(){var a="";forEach(f,function(c,d){a+="\n"+d+": "+b.dump(c)});return a};b.dump=b.prototype.dump=function c(b){if("string"===typeof b)var d='"'+b+'"';else if("number"===typeof b)d=b;else{for(var d='{ op: "'+b.op+'", args: [ ',f=0;f<b.args.length;f++)0<
f&&(d+=" , "),d+=c(b.args[f]);d+=" ] }"}return d};return b}();var Model=function(){function b(){}function d(){return!!b.env.Au}b.fn={};b.env=p={};var f=[],p={};b.pushEnv=function(a){f.push(p);b.env=p=a};b.popEnv=function(){assert(0<f.length,"Empty envStack");b.env=p=f.pop()};var q=b.prototype=new Ast;Assert.reserveCodeRange(1E3,1999,"model");Assert.messages[1001]="Invalid syntax. '%1' expected, '%2' found.";Assert.messages[1002]="Only one decimal separator can be specified.";Assert.messages[1003]="Extra characters in input at position: %1, lexeme: %2.";Assert.messages[1004]=
"Invalid character '%1' (%2) in input.";Assert.messages[1005]="Misplaced thousands separator.";Assert.messages[1006]="Unexpected expression: %1";Assert.messages[1007]="Unexpected character: '%1' in '%2'.";Assert.messages[1008]="The same character '%1' is being used as a thousands and decimal separators.";Assert.messages[1009]="Missing argument for '%1' command.";var g=Assert.message;b.create=q.create=function M(a,c){assert(void 0!=a,"Model.create() called with invalid argument "+a);if(a instanceof
b)return c&&(a.location=c),a;var d;if(a instanceof Array)return d=[],forEach(a,function(b){d.push(M(b,c))}),d;if(!(this instanceof b))return(new b).create(a,c);d=M(this);d.location=c;a="string"===typeof a?r(a,b.env).expr():JSON.parse(JSON.stringify(a));forEach(keys(b.fn),function(a,c){q.hasOwnProperty(a)||(q[a]=function(){var c=b.fn[a];if(1<arguments.length&&arguments[1]instanceof b)return c.apply(this,arguments);for(var d=[this],g=0;g<arguments.length;g++)d.push(arguments[g]);return c.apply(this,
d)})});forEach(keys(a),function(b,c){d[b]=a[b]});return d};b.fromLaTex=q.fromLaTex=function(a){assert("string"===typeof a,"Model.prototype.fromLaTex");return this?this.create(a):b.create(a)};q.toLaTex=function(b){return G(b)};var a={ADD:"+",SUB:"-",MUL:"times",DIV:"div",FRAC:"frac",EQL:"=",ATAN2:"atan2",SQRT:"sqrt",VEC:"vec",PM:"pm",SIN:"sin",COS:"cos",TAN:"tan",SEC:"sec",COT:"cot",CSC:"csc",ARCSIN:"arcsin",ARCCOS:"arccos",ARCTAN:"arctan",LOG:"log",LN:"ln",LG:"lg",VAR:"var",NUM:"num",CST:"cst",COMMA:",",
POW:"^",SUBSCRIPT:"_",ABS:"abs",PAREN:"()",HIGHLIGHT:"hi",LT:"lt",LE:"le",GT:"gt",GE:"ge",NE:"ne",APPROX:"approx",INTERVAL:"interval",LIST:"list",EXISTS:"exists",IN:"in",FORALL:"forall",LIM:"lim",EXP:"exp",TO:"to",SUM:"sum",INT:"int",PROD:"prod",PERCENT:"%",M:"M",RIGHTARROW:"->",FACT:"fact",BINOM:"binom",ROW:"row",COL:"col",COLON:"colon",MATRIX:"matrix",FORMAT:"format",OVERSET:"overset",UNDERSET:"underset",OVERLINE:"overline",DEGREE:"degree",BACKSLASH:"backslash",MATHBF:"mathbf",NONE:"none"};forEach(keys(a),
function(c,d){b[c]=a[c]});var c={};c[a.ADD]="+";c[a.SUB]="-";c[a.MUL]="\\times";c[a.DIV]="\\div";c[a.FRAC]="\\frac";c[a.EQL]="=";c[a.ATAN2]="\\atan2";c[a.POW]="^";c[a.SUBSCRIPT]="_";c[a.PM]="\\pm";c[a.SIN]="\\sin";c[a.COS]="\\cos";c[a.TAN]="\\tan";c[a.ARCSIN]="\\arcsin";c[a.ARCCOS]="\\arccos";c[a.ARCTAN]="\\arctan";c[a.SEC]="\\sec";c[a.COT]="\\cot";c[a.CSC]="\\csc";c[a.LN]="\\ln";c[a.COMMA]=",";c[a.M]="\\M";c[a.BINOM]="\\binom";c[a.COLON]="\\colon";b.fold=function A(b,c){var d=[],g;forEach(b.args,
function(b){d.push(A(b,c))});b.args=d;switch(b.op){case a.VAR:if(g=c[b.args[0]])b=g}return b};var G=function jb(b){var d="";if("string"===typeof b)d=b;else if("number"===typeof b)d=b;else if("object"===typeof b){for(var g=[],f=0;f<b.args.length;f++)g[f]=jb(b.args[f]);switch(b.op){case a.VAR:case a.CST:case a.NUM:d=b.args[0];break;case a.SUB:d=1===b.args.length?c[b.op]+" "+g[0]:g[0]+" "+c[b.op]+" "+g[1];break;case a.DIV:case a.PM:case a.EQL:d=g[0]+" "+c[b.op]+" "+g[1];break;case a.POW:var f=b.args[0],
p=b.args[1];if(f.args&&2===f.args.length||p.args&&2===p.args.length)if(f.op===a.ADD||f.op===a.SUB||f.op===a.MUL||f.op===a.DIV||f.op===a.SQRT)g[0]=" ("+g[0]+") ";d="{"+g[0]+"^{"+g[1]+"}}";break;case a.SIN:case a.COS:case a.TAN:case a.ARCSIN:case a.ARCCOS:case a.ARCTAN:case a.SEC:case a.COT:case a.CSC:case a.LN:case a.M:d="{"+c[b.op]+"{"+g[0]+"}}";break;case a.FRAC:d="\\dfrac{"+g[0]+"}{"+g[1]+"}";break;case a.BINOM:d="\\binom{"+g[0]+"}{"+g[1]+"}";break;case a.SQRT:switch(g.length){case 1:d="\\sqrt{"+
g[0]+"}";break;case 2:d="\\sqrt["+g[0]+"]{"+g[1]+"}"}break;case a.VEC:d="\\vec{"+g[0]+"}";break;case a.MUL:var q,d="";forEach(b.args,function(f,p){if(f.args&&2<=f.args.length){if(f.op===a.ADD||f.op===a.SUB)g[p]="("+g[p]+")";0!==p&&"number"===typeof f&&(d+=c[b.op]+" ")}else f.op===a.PAREN||f.op===a.VAR||f.op===a.CST||"number"===typeof q&&"number"!==typeof f||0!==p&&(d+=" "+c[b.op]+" ");d+=g[p];q=f});break;case a.ADD:case a.COMMA:forEach(g,function(a,g){d=0===g?a:d+" "+c[b.op]+" "+a});break;default:assert(!1,
"unimplemented eval operator")}}else assert(!1,"invalid expression type");return d},r=function(c,f){function k(b,a){return{op:b,args:a}}function p(e,a){if(b.option("allowThousandsSeparator")||b.option("setThousandsSeparator")){var d=b.option("setThousandsSeparator");if(!d)return","===e?e:"";if(e===a||!a&&0<=indexOf(d,e))return e}return""}function q(){var e=b.option("setDecimalSeparator"),a=b.option("setThousandsSeparator");if("string"===typeof e)return assert(1===e.length,g(1002)),a instanceof Array&&
0<=indexOf(a,e)?(assert(!1,g(2008,[e])),"."):e;a instanceof Array&&0<=indexOf(a,".")&&assert(!1,g(2008));return"."}function r(e,a,d){var c=b.option("ignoreTrailingZeros"),l=e.toString(),f="",m,k,n,h=0,S="integer",s,t;"."===e&&assert(!1,g(1004,[e,e.charCodeAt(0)]));for(e=0;e<l.length;e++)p(m=l.charAt(e))?((h&&k!==e-4||!h&&4<e)&&assert(!1,g(1005)),k=e,h++):(m===q()?(m=".","decimal"===S&&assert(!1,g(1007,[q(),f+q()])),S="decimal",h&&k!==e-4&&assert(!1,g(1005)),"0"===f&&(s=!0),n=e-1):"decimal"===S&&"0"!==
m&&(n=e-h),f+=m);"decimal"!==S&&k&&k!==e-4&&assert(!1,g(1005));void 0!==n&&(n+1<f.length&&(t=!0),c&&(f=f.substring(0,n+1)));f=new BigDecimal(f);a&&(a=option("decimalPlaces"),!d||f.scale()>a)&&(f=f.setScale(a,BigDecimal.ROUND_HALF_UP));return{op:b.NUM,args:[String(f)],hasThousandsSeparator:0!==h,numberFormat:S,hasLeadingZero:s,hasTrailingZero:t}}function H(e,a){return u(b.MUL,e,a)}function v(b,a){assert(1===a.length,"Wrong number of arguments for unary node");return k(b,a)}function u(b,a,d){assert(1<
a.length,"Too few argument for binary node");var c=[];forEach(a,function(a){d&&a.op===b?c=c.concat(a.args):c.push(a)});return k(b,c)}function w(){return N.lexeme()}function n(b){h=T;T=U;h===U&&(h=N.start(b))}function G(b){T===U&&(T=N.start(b));return T}function s(b,a){var d=h;if(d!==b){var c=String.fromCharCode(b),d=d?String.fromCharCode(d):"EOS";assert(!1,g(1001,[c,d]))}n(a)}function x(){var e,a;switch(a=h){case 65:case 97:case B:e=[w()];n();h===I&&(n({oneCharToken:!0}),e.push(x()));e=k(b.VAR,e);
d()&&h===C&&G()===z&&(s(C),s(z));break;case na:e=r(w());n();break;case ca:case V:var c;s(a);h===J||h===K?(s(a===V?J:K),e=k(b.COMMA,[])):(e=O(),b.option("allowInterval")?s(c=h===J?J:K):s(c=a===V?J:K));e.lbrk=a;e.rbrk=c;!b.option("allowInterval")||2!==e.args.length||a!==V&&a!==ca||c!==J&&c!==K?e.op===b.COMMA&&(e.op=b.LIST):e.op=b.INTERVAL;break;case C:e=t();break;case Za:n();a=t();c=[];for(c.push($a());h===W;)n(),c.push($a());c=k(m[W],c);s(oa);t();0<=indexOf(a.args[0],"matrix")?e=k(b.MATRIX,[c]):assert(!1,
"Unrecognized LaTeX name");break;case E:s(E);a=P();s(E);e=v(b.ABS,[a]);break;case ab:return n(),e=P(),v(b.ABS,[e]);case da:n();e=t();c=t();e=k(b.FRAC,[e,c]);e.isFraction=!0;break;case pa:n();e=t();c=t();a=v(b.FACT,[e]);e=u(b.POW,[u(b.MUL,[v(b.FACT,[c]),v(b.FACT,[u(b.ADD,[e,ea(c)])])]),Q]);e=u(b.MUL,[a,e]);e.isBinomial=!0;break;case qa:n();switch(h){case ca:s(ca);a=O();s(K);e=t();e=k(b.POW,[e,k(b.POW,[a,Q])]);break;case C:e=t();e=k(b.POW,[e,k(b.POW,[k(b.NUM,["2"]),Q])]);break;default:assert(!1,g(1001,
["{ or (",String.fromCharCode(h)]))}break;case ra:n();a=t();e=k(b.VEC,[a]);break;case sa:case ta:case ua:n();for(e=[];h===L;)n({oneCharToken:!0}),e.push(y());1===e.length&&e[0].op===b.NUM&&"-1"===e[0].args[0]?(a="arc"+m[a],e=[]):a=m[a];e.unshift(k(a,[x()]));return 1<e.length?k(b.POW,e):e[0];case va:case wa:case xa:case ya:case za:case Aa:n();for(e=[];h===L;)n({oneCharToken:!0}),e.push(y());e.unshift(k(m[a],[x()]));return 1<e.length?k(b.POW,e):e[0];case Ba:return n(),k(b.LOG,[k(b.VAR,["e"]),x()]);
case Ca:return n(),k(b.LOG,[k(b.NUM,["10"]),x()]);case Da:return n(),e=[],h===I?(n({oneCharToken:!0}),e.push(x())):e.push(k(b.VAR,["e"])),e.push(x()),k(b.LOG,e);case Ea:return n(),e=[],s(I),e.push(x()),e.push(x()),k(m[a],e);case Fa:case Ga:case Ha:return n(),e=[],h===I&&(n({oneCharToken:!0}),e.push(x()),s(L,{oneCharToken:!0}),e.push(x())),e.push(O()),k(m[a],e);case Ia:return n(),k(b.EXISTS,[X()]);case Ja:return n(),k(b.FORALL,[O()]);case Ka:return n(),k(b.EXP,[P()]);case bb:return n(),k(b.M,[La()]);
case Ma:return n(),k(b.FORMAT,[t()]);case Na:return n(),k(b.OVERLINE,[t()]);case Oa:case Pa:return n(),e=t(),c=t(),c.args.push(k(m[a],[e])),c;case Qa:n();e=t();break;default:assert(!1,g(1006,[w()])),e=void 0}return e}function $a(){var b=[];for(b.push(X());h===Y;)n(),b.push(X());return k(m[Y],b)}function t(){var e;s(C);h===z?(s(z),e=k(b.COMMA,[])):(e=O(),s(z));e.lbrk=C;e.rbrk=z;return e}function cb(){var e,a;for(e=[x()];(a=h)===L;){n({oneCharToken:!0});var c;c=e[0];c=c.op!==b.VAR?!1:(c=b.env[c.args[0]])&&
c.name?!0:!1;!c&&!d()||(a=h)!==F&&a!==D?(a=y(),a.op===b.VAR&&"\\circ"===a.args[0]&&(h===B&&"K"===w()||"C"===w()||"F"===w()?(a=H([e.pop(),v(b.VAR,["\\degree "+w()])]),n()):a=H([e.pop(),v(b.VAR,["\\degree"])])),e.push(a)):(n(),e.push(v(m[a],[fa])))}a=1<e.length?k(b.POW,e):e[0];switch(e=h){case db:n();a=k(b.PERCENT,[a]);break;case eb:n();a=k(b.FACT,[a]);break;default:e===B&&"\\degree"===w()?(n(),h!==B||"K"!==w()&&"C"!==w()&&"F"!==w()?a=H([a,v(b.VAR,["\\degree"])]):(a=H([a,v(b.VAR,["\\degree "+w()])]),
n())):!d()||e!==F&&e!==D||G()!==z||(n(),a=v(m[e],[a]))}return a}function y(){var e,a;switch(e=h){case F:n();a=y();break;case D:n();a=ea(y());break;case Z:n();a=y();a=k(m[e],[a]);break;case I:var c=m[e];n({oneCharToken:!0});(e=h)===F||e===D?(n(),a=fa):a=y();a=k(c,[a]);h===L&&(c=m[e],n({oneCharToken:!0}),(e=h)===F||e===D?(n(),a=fa):a=y(),a=k(c,[a]));break;case L:c=m[e];n({oneCharToken:!0});(e=h)===F||e===D?(n(),a=fa):a=y();a=k(c,[a]);break;default:e===B&&"$"===w()?(n(),a=h?H([k(b.VAR,["$"]),cb()]):
k(b.VAR,["$"])):a=cb()}return a}function fb(){var a=[y()];h===I&&(n({oneCharToken:!0}),a.push(y()),d()&&h===C&&(s(C),s(z)));return 1<a.length?k(b.SUBSCRIPT,a):a[0]}function gb(){for(var a=fb();h===Ra;)n(),a=k(b.FRAC,[a,fb()]),a.isFraction=!0;return a}function La(){var a,c,f=!1,g=[];c=gb();for(g=c.op!==b.MUL||c.isBinomial?[c]:c.args;(a=h)&&!hb(a)&&!Sa(a)&&a!==ga&&!Ta(a)&&a!==z&&a!==J&&a!==K&&a!==R&&a!==$&&a!==E&&a!==W&&a!==Y&&a!==oa;){f=!1;if(a===aa||a===ha||a===Ra)n(),f=!0;c=gb();a===ha&&(c=k(b.POW,
[c,Q]));var l;if(l=d())if(l=a===V)l=g[g.length-1],assert(!0,"Internal error in 'isVar()'"),l=l.op!==b.VAR?!1:void 0===l?!0:"M"===l.args[0];if(l)g.pop(),c=v(b.M,[c]);else{if(l=!f)if(l=0<g.length)l=[g[g.length-1],c],l=l[0].lbrk||l[1].lbrk||l[0].op!==b.NUM||l[1].op!==b.FRAC||"integer"!==l[0].numberFormat||l[1].args[0].op!==b.NUM||"integer"!==l[1].args[0].numberFormat||l[1].args[1].op!==b.NUM||"integer"!==l[1].args[1].numberFormat?!1:!0;if(l)a=g.pop(),Ua(a)&&(c=u(b.MUL,[Q,c])),c=u(b.ADD,[a,c]),c.isMixedFraction=
!0;else{if(l=!f)if(l=0<g.length)l=[g[g.length-1],c],l=l[0].lbrk||l[1].lbrk||l[0].op!==b.NUM||"decimal"!==l[0].numberFormat||l[1].op!==b.OVERLINE?!1:!0;if(l)f=g.pop(),c=c.args[0],c=r("."+c.args[0]),c.isRepeating=!0,0<=indexOf(f.args[0],".")&&(l=f.args[0].length-indexOf(f.args[0],".")-1,c=H([c,u(b.POW,[r("10"),r("-"+l)])])),c=u(b.ADD,[f,c]),c.numberFormat="decimal",c.isRepeating=!0;else{if(l=a===aa)if(l=0<g.length)f&&(l=[g[g.length-1],c],1===l.length?f=l[0].op===b.NUM&&(1===l[0].args[0].length||1===
indexOf(l[0].args[0],q()))||l[0].op===b.POW&&l[0].args[0].op===b.NUM&&"10"===l[0].args[0].args[0]&&"integer"===l[0].args[1].numberFormat?!0:!1:2===l.length?(f=l[0],l=l[1],f=f.op!==b.NUM||1!==f.args[0].length&&1!==indexOf(f.args[0],q())||l.op!==b.POW||l.args[0].op!==b.NUM||"10"!==l.args[0].args[0]||"integer"!==l.args[1].numberFormat?!1:!0):f=void 0),l=f;l&&(a=g.pop(),Ua(a)&&(c=u(b.MUL,[Q,c])),c=u(b.MUL,[a,c]),c.isScientific=!0)}}}c.op!==b.MUL||c.isScientific||c.isBinomial?g.push(c):g=g.concat(c.args)}return 1<
g.length?H(g):g[0]}function Ua(e){if("number"===typeof e)return 0>e;if(1===e.args.length)return e.op===a.SUB&&0<e.args[0].args[0]||e.op===b.NUM&&0>+e.args[0];if(2===e.args.length)return e.op===a.MUL&&Ua(e.args[0])}function ea(a){if("number"===typeof a)return-a;if(a.op===b.NUM){if("-"!==a.args[0].charAt(0))return r("-"+a.args[0])}else if(a.op===b.MUL)return a.args.unshift(ea(a.args.shift())),a;return v(b.SUB,[a])}function hb(b){return b===F||b===D||b===Z||b===ia}function P(){for(var a=La(),c;hb(c=
h);){n();var d=La();switch(c){case ia:a=u(b.BACKSLASH,[a,d]);break;case Z:a=u(b.PM,[a,d]);break;case D:d=ea(d);default:a=u(b.ADD,[a,d],!0)}}return a}function Sa(b){return b===$||b===ja||b===ka||b===la||b===Va||b===Wa||b===Xa}function Ta(b){return b===ib||b===ma||b===Ya}function X(){var a;if(Ta(h))a=k(b.VAR,["_"]);else{a=h;for(var c=Sa(a)?k(b.VAR,["_"]):P(),d=[];Sa(a=h);){n();var f=0===h?k(b.VAR,["_"]):P(),c=k(m[a],[c,f]);d.push(c);c=f}a=0===d.length?c:1===d.length?d[0]:k(b.COMMA,d)}for(var g,c=[];Ta(g=
h)||g===R;)n(),d=0===h?k(b.VAR,["_"]):P(),a=k(m[g],[a,d]),c.push(a),a=d;return 0===c.length?a:1===c.length?c[0]:k(b.COMMA,c)}function O(){for(var b=X(),a=[b];h===ga;)n(),a.push(X());return 1<a.length?k(m[ga],a):b}var U=0,F=43,L=94,I=95,ta=261,za=264,Aa=265,da=256,Ra=47,ib=61,Ba=263,C=123,E=124,ca=91,V=40,aa=42,na=48,Z=258,z=125,K=93,J=41,ya=262,sa=259,qa=257,D=45,ua=260,B=97,ga=44,Ca=267,Da=268,$=270,ja=271,ka=272,la=273,Ia=274,Va=275,Ja=276,Ea=277,Ka=278,Wa=279,Fa=280,Ga=281,Ha=282,db=37,bb=283,
R=284,eb=33,pa=285,W=286,Y=287,Za=288,oa=289,Xa=58,ra=290,va=291,wa=292,xa=293,ha=294,Ma=295,Na=296,Oa=297,Pa=298,ia=299,Qa=300,ma=301,Ya=302,ab=303,h=U,T=U,m={};m[Ra]=a.FRAC;m[da]=a.FRAC;m[qa]=a.SQRT;m[ra]=a.VEC;m[F]=a.ADD;m[D]=a.SUB;m[Z]=a.PM;m[L]=a.POW;m[I]=a.SUBSCRIPT;m[aa]=a.MUL;m[ha]=a.DIV;m[sa]=a.SIN;m[ta]=a.COS;m[ua]=a.TAN;m[va]=a.ARCSIN;m[wa]=a.ARCCOS;m[xa]=a.ARCTAN;m[ya]=a.SEC;m[za]=a.COT;m[Aa]=a.CSC;m[Ba]=a.LN;m[Ca]=a.LG;m[Da]=a.LOG;m[ib]=a.EQL;m[ga]=a.COMMA;m[269]=a.TEXT;m[$]=a.LT;m[ja]=
a.LE;m[ka]=a.GT;m[la]=a.GE;m[ma]=a.NE;m[Ya]=a.APPROX;m[Ia]=a.EXISTS;m[Va]=a.IN;m[Ja]=a.FORALL;m[Ea]=a.LIM;m[Ka]=a.EXP;m[Wa]=a.TO;m[Fa]=a.SUM;m[Ga]=a.INT;m[Ha]=a.PROD;m[bb]=a.M;m[R]=a.RIGHTARROW;m[eb]=a.FACT;m[pa]=a.BINOM;m[W]=a.ROW;m[Y]=a.COL;m[Xa]=a.COLON;m[Ma]=a.FORMAT;m[Na]=a.OVERLINE;m[Oa]=a.OVERSET;m[Pa]=a.UNDERSET;m[ia]=a.BACKSLASH;m[Qa]=a.MATHBF;var fa=r("1"),Q=r("-1"),kb=k(b.NONE,[r("0")]),N=function(a){function c(a){return 65<=a&&90>=a||97<=a&&122>=a}function d(a){return 48<=a&&57>=a}function m(b){var d=
String.fromCharCode(b);for(k+=d;c(b)||39===b;){b=a.charCodeAt(l++);var d=String.fromCharCode(b),g=k+d;if(!some(h,function(a){return 0===indexOf(a,g)}))break;k+=d}for(;39===b;)b=a.charCodeAt(l++),d=String.fromCharCode(b),k+=d;l--;return B}var l=0,k="",n={"\\cdot":aa,"\\times":aa,"\\div":ha,"\\dfrac":da,"\\frac":da,"\\sqrt":qa,"\\vec":ra,"\\pm":Z,"\\sin":sa,"\\cos":ta,"\\tan":ua,"\\sec":ya,"\\cot":za,"\\csc":Aa,"\\arcsin":va,"\\arccos":wa,"\\arctan":xa,"\\ln":Ba,"\\lg":Ca,"\\log":Da,"\\left":null,"\\right":null,
"\\big":null,"\\Big":null,"\\bigg":null,"\\Bigg":null,"\\ ":null,"\\quad":null,"\\qquad":null,"\\text":269,"\\textrm":269,"\\textit":269,"\\textbf":269,"\\lt":$,"\\le":ja,"\\gt":ka,"\\ge":la,"\\ne":ma,"\\approx":Ya,"\\exists":Ia,"\\in":Va,"\\forall":Ja,"\\lim":Ea,"\\exp":Ka,"\\to":Wa,"\\sum":Fa,"\\int":Ga,"\\prod":Ha,"\\%":db,"\\rightarrow":R,"\\longrightarrow":R,"\\binom":pa,"\\begin":Za,"\\end":oa,"\\colon":Xa,"\\vert":E,"\\lvert":E,"\\rvert":E,"\\mid":E,"\\format":Ma,"\\overline":Na,"\\overset":Oa,
"\\underset":Pa,"\\backslash":ia,"\\mathbf":Qa,"\\abs":ab},h=keys(f),r;return{start:function(f){f||(f={});var h;for(k="";l<a.length;)switch(h=a.charCodeAt(l++)){case 32:case 9:case 10:case 13:continue;case 38:if(0===indexOf(a.substring(l),"nbsp;")){l+=5;continue}return Y;case 92:k+=String.fromCharCode(h);switch(a.charCodeAt(l)){case 92:return l++,W;case 123:case 124:case 125:return a.charCodeAt(l++)}h=a.charCodeAt(l++);if(36===h)k=String.fromCharCode(h);else if(37===h)k+=String.fromCharCode(h);else if(0<=
indexOf([32,58,59,44,33],h))k="\\ ";else{for(;c(h);)k+=String.fromCharCode(h),h=a.charCodeAt(l++);l--}h=n[k];if(void 0===h)h=B;else if(269===h){for(h=a.charCodeAt(l++);h&&123!==h;)h=a.charCodeAt(l++);k="";for(h=a.charCodeAt(l++);h&&125!==h;)h=String.fromCharCode(h),"&"===h&&0===indexOf(a.substring(l),"nbsp;")?l+=5:" "!==h&&"\t"!==h&&(k+=h),h=a.charCodeAt(l++);assert(""!==k,g(1009,["\\text"]));h=b.option("ignoreText")?null:B}if(null!==h)return h;k="";continue;case 45:if(62===a.charCodeAt(l))return l++,
R;case 33:return 61===a.charCodeAt(l)?(l++,ma):h;case 37:case 40:case 41:case 42:case 43:case 44:case 47:case 58:case 61:case 91:case 93:case 94:case 95:case 123:case 124:case 125:return k+=String.fromCharCode(h),h;case 36:return k+=String.fromCharCode(h),B;case 60:return 61===a.charCodeAt(l)?(l++,ja):$;case 62:return 61===a.charCodeAt(l)?(l++,la):ka;default:if(c(h)||39===h)return m(h);if(String.fromCharCode(h)===q()||d(h)){if(f.oneCharToken)return k+=String.fromCharCode(h),na;for(f=h;d(f)||q()===
String.fromCharCode(f)||(r=p(String.fromCharCode(f),r))&&d(a.charCodeAt(l+1));)k+=String.fromCharCode(f),f=a.charCodeAt(l++),92===f&&32===a.charCodeAt(l)&&(f=32,l++);"."===k&&0===indexOf(a.substring(l),"overline")&&(k="0.");l--;return na}assert(!1,g(1004,[String.fromCharCode(h),h]));return 0}return 0},lexeme:function(){return k},pos:function(){return l}}}(c);return{expr:function(){if(h=N.start(void 0)){var a=O();a.op!==b.COMMA&&a.lbrk===C&&a.rbrk===z&&(a=k(b.COMMA,[a]));assert(!h,g(1003,[N.pos(),
N.lexeme()]));return a}return kb}}};return b}();