From c561c533861654eefec9198f0fa956ff2ec18fe1 Mon Sep 17 00:00:00 2001 From: Krzysztof Budnik <571316+budnix@users.noreply.github.com> Date: Fri, 10 Jan 2020 15:27:10 +0100 Subject: [PATCH 1/2] Bump dependencies (#96) Bump @handsontable/formulajs module which internally bumps bessel package. Also, replace forked jstat module with original one. --- .nvmrc | 1 + package-lock.json | 83 ++++++++++++++++------------------------------- package.json | 4 +-- 3 files changed, 31 insertions(+), 57 deletions(-) create mode 100644 .nvmrc diff --git a/.nvmrc b/.nvmrc new file mode 100644 index 00000000..e338b865 --- /dev/null +++ b/.nvmrc @@ -0,0 +1 @@ +v10 diff --git a/package-lock.json b/package-lock.json index 5e84463e..8b3b2b9f 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "hot-formula-parser", - "version": "3.0.0", + "version": "3.0.1", "lockfileVersion": 1, "requires": true, "dependencies": { @@ -62,19 +62,14 @@ } }, "@handsontable/formulajs": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@handsontable/formulajs/-/formulajs-2.0.1.tgz", - "integrity": "sha512-jTdJO/6ZmuaHoiTdnraGbPkdnA7m0VMrZ54vWXi22WpwnsIKAWbqjWTwvDoSuEpcc7/YHVIVlSDtfXHKmaYhdQ==", + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/@handsontable/formulajs/-/formulajs-2.0.2.tgz", + "integrity": "sha512-maIyMJtYjA5e/R9nyA22Qd7Yw73MBSxClJvle0a8XWAS/5l6shc/OFpQqrmwMy4IXUCmywJ9ER0gOGz/YA720w==", "requires": { - "@handsontable/jstat": "^1.0.0", - "bessel": "^0.2.0" + "bessel": "^1.0.2", + "jstat": "^1.9.2" } }, - "@handsontable/jstat": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@handsontable/jstat/-/jstat-1.0.0.tgz", - "integrity": "sha512-5XxZ9xIk6iSjrc1p5N/yI2dofBXp0IzZVgrkETDC196SxoJCRNOeKgM9fTHMhoxa02wuaZPLp6stojlppNxP/A==" - }, "JSONSelect": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/JSONSelect/-/JSONSelect-0.4.0.tgz", @@ -1079,12 +1074,9 @@ } }, "bessel": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/bessel/-/bessel-0.2.0.tgz", - "integrity": "sha1-E8s5zSkjMhnsLacl4LoMZvtGtvI=", - "requires": { - "voc": "^1.1.0" - } + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/bessel/-/bessel-1.0.2.tgz", + "integrity": "sha512-Al3nHGQGqDYqqinXhQzmwmcRToe/3WyBv4N8aZc5Pef8xw2neZlR9VPi84Sa23JtgWcucu18HxVZrnI0fn2etw==" }, "big.js": { "version": "3.2.0", @@ -3031,8 +3023,7 @@ "ansi-regex": { "version": "2.1.1", "bundled": true, - "dev": true, - "optional": true + "dev": true }, "aproba": { "version": "1.2.0", @@ -3053,14 +3044,12 @@ "balanced-match": { "version": "1.0.0", "bundled": true, - "dev": true, - "optional": true + "dev": true }, "brace-expansion": { "version": "1.1.11", "bundled": true, "dev": true, - "optional": true, "requires": { "balanced-match": "^1.0.0", "concat-map": "0.0.1" @@ -3075,20 +3064,17 @@ "code-point-at": { "version": "1.1.0", "bundled": true, - "dev": true, - "optional": true + "dev": true }, "concat-map": { "version": "0.0.1", "bundled": true, - "dev": true, - "optional": true + "dev": true }, "console-control-strings": { "version": "1.1.0", "bundled": true, - "dev": true, - "optional": true + "dev": true }, "core-util-is": { "version": "1.0.2", @@ -3205,8 +3191,7 @@ "inherits": { "version": "2.0.3", "bundled": true, - "dev": true, - "optional": true + "dev": true }, "ini": { "version": "1.3.5", @@ -3218,7 +3203,6 @@ "version": "1.0.0", "bundled": true, "dev": true, - "optional": true, "requires": { "number-is-nan": "^1.0.0" } @@ -3233,7 +3217,6 @@ "version": "3.0.4", "bundled": true, "dev": true, - "optional": true, "requires": { "brace-expansion": "^1.1.7" } @@ -3241,14 +3224,12 @@ "minimist": { "version": "0.0.8", "bundled": true, - "dev": true, - "optional": true + "dev": true }, "minipass": { "version": "2.2.4", "bundled": true, "dev": true, - "optional": true, "requires": { "safe-buffer": "^5.1.1", "yallist": "^3.0.0" @@ -3267,7 +3248,6 @@ "version": "0.5.1", "bundled": true, "dev": true, - "optional": true, "requires": { "minimist": "0.0.8" } @@ -3348,8 +3328,7 @@ "number-is-nan": { "version": "1.0.1", "bundled": true, - "dev": true, - "optional": true + "dev": true }, "object-assign": { "version": "4.1.1", @@ -3361,7 +3340,6 @@ "version": "1.4.0", "bundled": true, "dev": true, - "optional": true, "requires": { "wrappy": "1" } @@ -3447,8 +3425,7 @@ "safe-buffer": { "version": "5.1.1", "bundled": true, - "dev": true, - "optional": true + "dev": true }, "safer-buffer": { "version": "2.1.2", @@ -3484,7 +3461,6 @@ "version": "1.0.2", "bundled": true, "dev": true, - "optional": true, "requires": { "code-point-at": "^1.0.0", "is-fullwidth-code-point": "^1.0.0", @@ -3504,7 +3480,6 @@ "version": "3.0.1", "bundled": true, "dev": true, - "optional": true, "requires": { "ansi-regex": "^2.0.0" } @@ -3548,14 +3523,12 @@ "wrappy": { "version": "1.0.2", "bundled": true, - "dev": true, - "optional": true + "dev": true }, "yallist": { "version": "3.0.2", "bundled": true, - "dev": true, - "optional": true + "dev": true } } }, @@ -5866,6 +5839,11 @@ "verror": "1.10.0" } }, + "jstat": { + "version": "1.9.2", + "resolved": "https://registry.npmjs.org/jstat/-/jstat-1.9.2.tgz", + "integrity": "sha512-nc3uAadgrWWvJz6RyXUFN0lvTWEXYxMVIrm6ZVoOh4YPLvukLKYpqMofKIE2ReWkL7gFw6hEo6VWZjotYW2Bsw==" + }, "jstransform": { "version": "11.0.3", "resolved": "https://registry.npmjs.org/jstransform/-/jstransform-11.0.3.tgz", @@ -8792,9 +8770,9 @@ } }, "tiny-emitter": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/tiny-emitter/-/tiny-emitter-2.0.2.tgz", - "integrity": "sha512-2NM0auVBGft5tee/OxP4PI3d8WItkDM+fPnaRAVo6xTDI2knbz9eC5ArWGqtGlYqiH3RU5yMpdyTTO7MguC4ow==" + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/tiny-emitter/-/tiny-emitter-2.1.0.tgz", + "integrity": "sha512-NB6Dk1A9xgQPMoGqC5CVXn123gWyte215ONT5Pp5a0yt4nlEoO1ZWeCwpncaekPHXO60i47ihFnZPiRPjRMq4Q==" }, "tmp": { "version": "0.0.33", @@ -9269,11 +9247,6 @@ "indexof": "0.0.1" } }, - "voc": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/voc/-/voc-1.1.0.tgz", - "integrity": "sha512-fthgd8OJLqq8vPcLjElTk6Rcl2e3v5ekcXauImaqEnQqd5yUWKg1+ZOBgS2KTWuVKcuvZMQq4TDptiT1uYddUA==" - }, "vow": { "version": "0.4.18", "resolved": "https://registry.npmjs.org/vow/-/vow-0.4.18.tgz", diff --git a/package.json b/package.json index f831588a..60fcde39 100644 --- a/package.json +++ b/package.json @@ -82,8 +82,8 @@ "webpack": "^3.2.0" }, "dependencies": { - "@handsontable/formulajs": "^2.0.1", - "tiny-emitter": "^2.0.1" + "@handsontable/formulajs": "^2.0.2", + "tiny-emitter": "^2.1.0" }, "jest": { "setupTestFrameworkScriptFile": "./test/index.js", From 6af0d8910fa4e8e934298cae85b14958fbc73871 Mon Sep 17 00:00:00 2001 From: budnix <571316+budnix@users.noreply.github.com> Date: Fri, 10 Jan 2020 15:28:34 +0100 Subject: [PATCH 2/2] 3.0.2 --- dist/formula-parser.js | 792 ++++++++++++++++++++++++++----------- dist/formula-parser.min.js | 2 +- package.json | 2 +- 3 files changed, 563 insertions(+), 233 deletions(-) diff --git a/dist/formula-parser.js b/dist/formula-parser.js index a3ebb468..b67fc280 100644 --- a/dist/formula-parser.js +++ b/dist/formula-parser.js @@ -4712,13 +4712,11 @@ function serial(date) { if (true) { module.exports = factory(); } else if (typeof define === 'function' && define.amd) { - define('jstat', factory); - } else if(typeof exports === 'object') { - exports['jstat'] = factory(); + define(factory); } else { - window['jstat'] = factory(); + window.jStat = factory(); } -})(typeof self !== 'undefined' ? self : this, function () { +})(this, function () { var jStat = (function(Math, undefined) { // For quick reference. @@ -4745,8 +4743,8 @@ function isFunction(arg) { } -function isNumber(arg) { - return typeof arg === 'number' && arg === arg; +function isNumber(num) { + return (typeof num === 'number') ? num - num === 0 : false; } @@ -4769,8 +4767,6 @@ jStat.fn = jStat.prototype; // By separating the initializer from the constructor it's easier to handle // always returning a new instance whether "new" was used or not. jStat._init = function _init(args) { - var i; - // If first argument is an array, must be vector or matrix. if (isArray(args[0])) { // Check if matrix. @@ -4824,6 +4820,14 @@ jStat.utils = { }; +jStat._random_fn = Math.random; +jStat.setRandom = function setRandom(fn) { + if (typeof fn !== 'function') + throw new TypeError('fn is not a function'); + jStat._random_fn = fn; +}; + + // Easily extend the jStat object. // TODO: is this seriously necessary? jStat.extend = function extend(obj) { @@ -4835,7 +4839,7 @@ jStat.extend = function extend(obj) { return this; } - for (var i = 1; i < arguments.length; i++) { + for (i = 1; i < arguments.length; i++) { for (j in arguments[i]) obj[j] = arguments[i][j]; } @@ -4887,7 +4891,7 @@ jStat.rowa = function rowa(arr, i) { // columns jStat.col = function col(arr, index) { if (isArray(index)) { - var submat = jStat.arange(arr.length).map(function(i) { + var submat = jStat.arange(arr.length).map(function() { return new Array(index.length); }); index.forEach(function(ind, i){ @@ -4942,7 +4946,7 @@ jStat.transpose = function transpose(arr) { rows = arr.length; cols = arr[0].length; - for (var i = 0; i < cols; i++) { + for (i = 0; i < cols; i++) { objArr = new Array(rows); for (j = 0; j < rows; j++) objArr[j] = arr[j][i]; @@ -5018,7 +5022,7 @@ jStat.create = function create(rows, cols, func) { cols = rows; } - for (var i = 0; i < rows; i++) { + for (i = 0; i < rows; i++) { res[i] = new Array(cols); for (j = 0; j < cols; j++) res[i][j] = func(i, j); @@ -5054,7 +5058,7 @@ jStat.ones = function ones(rows, cols) { jStat.rand = function rand(rows, cols) { if (!isNumber(cols)) cols = rows; - return jStat.create(rows, cols, Math.random); + return jStat.create(rows, cols, jStat._random_fn); }; @@ -5071,7 +5075,6 @@ jStat.identity = function identity(rows, cols) { // Tests whether a matrix is symmetric jStat.symmetric = function symmetric(arr) { - var issymmetric = true; var size = arr.length; var row, col; @@ -5122,6 +5125,7 @@ jStat.seq = function seq(min, max, length, func) { // arange(5,1,-1) -> [5,4,3,2] jStat.arange = function arange(start, end, step) { var rl = []; + var i; step = step || 1; if (end === undefined) { end = start; @@ -5190,23 +5194,24 @@ jStat.slice = (function(){ } function slice(list, rcSlice) { + var colSlice, rowSlice; rcSlice = rcSlice || {}; if (isNumber(rcSlice.row)) { if (isNumber(rcSlice.col)) return list[rcSlice.row][rcSlice.col]; var row = jStat.rowa(list, rcSlice.row); - var colSlice = rcSlice.col || {}; + colSlice = rcSlice.col || {}; return _slice(row, colSlice.start, colSlice.end, colSlice.step); } if (isNumber(rcSlice.col)) { var col = jStat.cola(list, rcSlice.col); - var rowSlice = rcSlice.row || {}; + rowSlice = rcSlice.row || {}; return _slice(col, rowSlice.start, rowSlice.end, rowSlice.step); } - var rowSlice = rcSlice.row || {}; - var colSlice = rcSlice.col || {}; + rowSlice = rcSlice.row || {}; + colSlice = rcSlice.col || {}; var rows = _slice(list, rowSlice.start, rowSlice.end, rowSlice.step); return rows.map(function(row) { return _slice(row, colSlice.start, colSlice.end, colSlice.step); @@ -5221,6 +5226,7 @@ jStat.slice = (function(){ // sliceAssign(A,{row:{start:1},col:{start:1}},[[0,0],[0,0]]) // A=[[1,2,3],[4,0,0],[7,0,0]] jStat.sliceAssign = function sliceAssign(A, rcSlice, B) { + var nl, ml; if (isNumber(rcSlice.row)) { if (isNumber(rcSlice.col)) return A[rcSlice.row][rcSlice.col] = B; @@ -5228,7 +5234,7 @@ jStat.sliceAssign = function sliceAssign(A, rcSlice, B) { rcSlice.col.start = rcSlice.col.start || 0; rcSlice.col.end = rcSlice.col.end || A[0].length; rcSlice.col.step = rcSlice.col.step || 1; - var nl = jStat.arange(rcSlice.col.start, + nl = jStat.arange(rcSlice.col.start, Math.min(A.length, rcSlice.col.end), rcSlice.col.step); var m = rcSlice.row; @@ -5243,7 +5249,7 @@ jStat.sliceAssign = function sliceAssign(A, rcSlice, B) { rcSlice.row.start = rcSlice.row.start || 0; rcSlice.row.end = rcSlice.row.end || A.length; rcSlice.row.step = rcSlice.row.step || 1; - var ml = jStat.arange(rcSlice.row.start, + ml = jStat.arange(rcSlice.row.start, Math.min(A[0].length, rcSlice.row.end), rcSlice.row.step); var n = rcSlice.col; @@ -5262,10 +5268,10 @@ jStat.sliceAssign = function sliceAssign(A, rcSlice, B) { rcSlice.col.start = rcSlice.col.start || 0; rcSlice.col.end = rcSlice.col.end || A[0].length; rcSlice.col.step = rcSlice.col.step || 1; - var ml = jStat.arange(rcSlice.row.start, + ml = jStat.arange(rcSlice.row.start, Math.min(A.length, rcSlice.row.end), rcSlice.row.step); - var nl = jStat.arange(rcSlice.col.start, + nl = jStat.arange(rcSlice.col.start, Math.min(A[0].length, rcSlice.col.end), rcSlice.col.step); ml.forEach(function(m, i) { @@ -5541,7 +5547,7 @@ jStat.diff = function diff(arr) { var diffs = []; var arrLen = arr.length; var i; - for (var i = 1; i < arrLen; i++) + for (i = 1; i < arrLen; i++) diffs.push(arr[i] - arr[i - 1]); return diffs; }; @@ -5552,13 +5558,14 @@ jStat.rank = function (arr) { var arrlen = arr.length; var sorted = arr.slice().sort(ascNum); var ranks = new Array(arrlen); + var val; for (var i = 0; i < arrlen; i++) { var first = sorted.indexOf(arr[i]); var last = sorted.lastIndexOf(arr[i]); if (first === last) { - var val = first; + val = first; } else { - var val = (first + last) / 2; + val = (first + last) / 2; } ranks[i] = val + 1; } @@ -5578,7 +5585,7 @@ jStat.mode = function mode(arr) { var mode_arr = []; var i; - for (var i = 0; i < arrLen; i++) { + for (i = 0; i < arrLen; i++) { if (_arr[i] === _arr[i + 1]) { count++; } else { @@ -5694,7 +5701,7 @@ jStat.quantiles = function quantiles(arr, quantilesArray, alphap, betap) { if (typeof betap === 'undefined') betap = 3 / 8; - for (var i = 0; i < quantilesArray.length; i++) { + for (i = 0; i < quantilesArray.length; i++) { p = quantilesArray[i]; m = alphap + p * (1 - alphap - betap); aleph = n * p + m; @@ -5706,22 +5713,20 @@ jStat.quantiles = function quantiles(arr, quantilesArray, alphap, betap) { return quantileVals; }; -// Returns the k-th percentile of values in a range, where k is in the -// range 0..1, exclusive. -jStat.percentile = function percentile(arr, k) { +// Return the k-th percentile of values in a range, where k is in the range 0..1, inclusive. +// Passing true for the exclusive parameter excludes both endpoints of the range. +jStat.percentile = function percentile(arr, k, exclusive) { var _arr = arr.slice().sort(ascNum); - var realIndex = k * (_arr.length - 1); + var realIndex = k * (_arr.length + (exclusive ? 1 : -1)) + (exclusive ? 0 : 1); var index = parseInt(realIndex); var frac = realIndex - index; - if (index + 1 < _arr.length) { - return _arr[index] * (1 - frac) + _arr[index + 1] * frac; + return _arr[index - 1] + frac * (_arr[index] - _arr[index - 1]); } else { - return _arr[index]; + return _arr[index - 1]; } } - // The percentile rank of score in a given array. Returns the percentage // of all values in the input array that are less than (kind='strict') or // less or equal than (kind='weak') score. Default is weak. @@ -5734,7 +5739,7 @@ jStat.percentileOfScore = function percentileOfScore(arr, score, kind) { if (kind === 'strict') strict = true; - for (var i = 0; i < len; i++) { + for (i = 0; i < len; i++) { value = arr[i]; if ((strict && value < score) || (!strict && value <= score)) { @@ -5747,17 +5752,17 @@ jStat.percentileOfScore = function percentileOfScore(arr, score, kind) { // Histogram (bin count) data -jStat.histogram = function histogram(arr, bins) { +jStat.histogram = function histogram(arr, binCnt) { + binCnt = binCnt || 4; var first = jStat.min(arr); - var binCnt = bins || 4; var binWidth = (jStat.max(arr) - first) / binCnt; var len = arr.length; var bins = []; var i; - for (var i = 0; i < binCnt; i++) + for (i = 0; i < binCnt; i++) bins[i] = 0; - for (var i = 0; i < len; i++) + for (i = 0; i < len; i++) bins[Math.min(Math.floor(((arr[i] - first) / binWidth)), binCnt - 1)] += 1; return bins; @@ -5772,7 +5777,7 @@ jStat.covariance = function covariance(arr1, arr2) { var sq_dev = new Array(arr1Len); var i; - for (var i = 0; i < arr1Len; i++) + for (i = 0; i < arr1Len; i++) sq_dev[i] = (arr1[i] - u) * (arr2[i] - v); return jStat.sum(sq_dev) / (arr1Len - 1); @@ -5910,11 +5915,12 @@ var jProto = jStat.prototype; var i = 0; var tmpthis = this; var args = Array.prototype.slice.call(arguments); + var callbackFunction; // If the last argument is a function, we assume it's a callback; we // strip the callback out and call the function again. if (isFunction(args[args.length - 1])) { - var callbackFunction = args[args.length - 1]; + callbackFunction = args[args.length - 1]; var argsToPass = args.slice(0, args.length - 1); setTimeout(function() { @@ -5925,7 +5931,7 @@ var jProto = jStat.prototype; // Otherwise we curry the function args and call normally. } else { - var callbackFunction = undefined; + callbackFunction = undefined; var curriedFunction = function curriedFunction(vector) { return jStat[passfunc].apply(tmpthis, [vector].concat(args)); } @@ -5965,6 +5971,45 @@ jStat.gammaln = function gammaln(x) { return Math.log(2.5066282746310005 * ser / xx) - tmp; }; +/* + * log-gamma function to support poisson distribution sampling. The + * algorithm comes from SPECFUN by Shanjie Zhang and Jianming Jin and their + * book "Computation of Special Functions", 1996, John Wiley & Sons, Inc. + */ +jStat.loggam = function loggam(x) { + var x0, x2, xp, gl, gl0; + var k, n; + + var a = [8.333333333333333e-02, -2.777777777777778e-03, + 7.936507936507937e-04, -5.952380952380952e-04, + 8.417508417508418e-04, -1.917526917526918e-03, + 6.410256410256410e-03, -2.955065359477124e-02, + 1.796443723688307e-01, -1.39243221690590e+00]; + x0 = x; + n = 0; + if ((x == 1.0) || (x == 2.0)) { + return 0.0; + } + if (x <= 7.0) { + n = Math.floor(7 - x); + x0 = x + n; + } + x2 = 1.0 / (x0 * x0); + xp = 2 * Math.PI; + gl0 = a[9]; + for (k = 8; k >= 0; k--) { + gl0 *= x2; + gl0 += a[k]; + } + gl = gl0 / x0 + 0.5 * Math.log(xp) + (x0 - 0.5) * Math.log(x0) - x0; + if (x <= 7.0) { + for (k = 1; k <= n; k++) { + gl -= Math.log(x0 - 1.0); + x0 -= 1.0; + } + } + return gl; +} // gamma of x jStat.gammafn = function gammafn(x) { @@ -5980,7 +6025,7 @@ jStat.gammafn = function gammafn(x) { var xden = 0; var xnum = 0; var y = x; - var i, z, yi, res, sum, ysq; + var i, z, yi, res; if (y <= 0) { res = y % 1 + 3.6e-16; if (res) { @@ -5996,7 +6041,7 @@ jStat.gammafn = function gammafn(x) { } else { z = (y -= n = (y | 0) - 1) - 1; } - for (var i = 0; i < 8; ++i) { + for (i = 0; i < 8; ++i) { xnum = (xnum + p[i]) * z; xden = xden * z + q[i]; } @@ -6004,7 +6049,7 @@ jStat.gammafn = function gammafn(x) { if (yi < y) { res /= yi; } else if (yi > y) { - for (var i = 0; i < n; ++i) { + for (i = 0; i < n; ++i) { res *= y; y++; } @@ -6036,7 +6081,7 @@ jStat.lowRegGamma = function lowRegGamma(a, x) { var i = 1; // calculate maximum number of itterations required for a var ITMAX = -~(Math.log((a >= 1) ? a : 1 / a) * 8.5 + a * 0.4 + 17); - var an, endval; + var an; if (x < 0 || a <= 0) { return NaN; @@ -6341,14 +6386,14 @@ jStat.ibeta = function ibeta(x, a, b) { // Returns a normal deviate (mu=0, sigma=1). // If n and m are specified it returns a object of normal deviates. jStat.randn = function randn(n, m) { - var u, v, x, y, q, mat; + var u, v, x, y, q; if (!m) m = n; if (n) return jStat.create(n, m, function() { return jStat.randn(); }); do { - u = Math.random(); - v = 1.7156 * (Math.random() - 0.5); + u = jStat._random_fn(); + v = 1.7156 * (jStat._random_fn() - 0.5); x = u - 0.449871; y = Math.abs(v) + 0.386595; q = x * x + y * (0.19600 * y - 0.25472 * x); @@ -6380,7 +6425,7 @@ jStat.randg = function randg(shape, n, m) { v = 1 + a2 * x; } while(v <= 0); v = v * v * v; - u = Math.random(); + u = jStat._random_fn(); } while(u > 1 - 0.331 * Math.pow(x, 4) && Math.log(u) > 0.5 * x*x + a1 * (1 - v + Math.log(v))); // alpha > 1 @@ -6388,7 +6433,7 @@ jStat.randg = function randg(shape, n, m) { return a1 * v; // alpha < 1 do { - u = Math.random(); + u = jStat._random_fn(); } while(u === 0); return Math.pow(u, 1 / oalph) * a1 * v; }; @@ -6612,11 +6657,11 @@ jStat.extend(jStat.cauchy, { return local + scale * Math.tan(Math.PI * (p - 0.5)); }, - median: function median(local, scale) { + median: function median(local/*, scale*/) { return local; }, - mode: function mode(local, scale) { + mode: function mode(local/*, scale*/) { return local; }, @@ -6694,12 +6739,12 @@ jStat.extend(jStat.exponential, { return (1 / rate) * Math.log(2); }, - mode: function mode(rate) { + mode: function mode(/*rate*/) { return 0; }, sample: function sample(rate) { - return -1 / rate * Math.log(Math.random()); + return -1 / rate * Math.log(jStat._random_fn()); }, variance : function(rate) { @@ -6825,7 +6870,7 @@ jStat.extend(jStat.kumaraswamy, { return Math.pow((alpha - 1) / (alpha * beta - 1), 1 / alpha); }, - variance: function variance(alpha, beta) { + variance: function variance(/*alpha, beta*/) { throw new Error('variance not yet implemented'); // TODO: complete this } @@ -6858,7 +6903,7 @@ jStat.extend(jStat.lognormal, { return Math.exp(mu + sigma * sigma / 2); }, - median: function median(mu, sigma) { + median: function median(mu/*, sigma*/) { return Math.exp(mu); }, @@ -6950,15 +6995,15 @@ jStat.extend(jStat.normal, { return -1.41421356237309505 * std * jStat.erfcinv(2 * p) + mean; }, - mean : function(mean, std) { + mean : function(mean/*, std*/) { return mean; }, - median: function median(mean, std) { + median: function median(mean/*, std*/) { return mean; }, - mode: function (mean, std) { + mode: function (mean/*, std*/) { return mean; }, @@ -7001,7 +7046,7 @@ jStat.extend(jStat.pareto, { return scale * (shape * Math.SQRT2); }, - mode: function mode(scale, shape) { + mode: function mode(scale/*, shape*/) { return scale; }, @@ -7038,11 +7083,11 @@ jStat.extend(jStat.studentt, { return (dof > 1) ? 0 : undefined; }, - median: function median(dof) { + median: function median(/*dof*/) { return 0; }, - mode: function mode(dof) { + mode: function mode(/*dof*/) { return 0; }, @@ -7089,7 +7134,7 @@ jStat.extend(jStat.weibull, { }, sample: function sample(scale, shape) { - return scale * Math.pow(-Math.log(Math.random()), 1 / shape); + return scale * Math.pow(-Math.log(jStat._random_fn()), 1 / shape); }, variance: function variance(scale, shape) { @@ -7126,12 +7171,12 @@ jStat.extend(jStat.uniform, { return jStat.mean(a, b); }, - mode: function mode(a, b) { + mode: function mode(/*a, b*/) { throw new Error('mode is not yet implemented'); }, sample: function sample(a, b) { - return (a / 2 + b / 2) + (b / 2 - a / 2) * (2 * Math.random() - 1); + return (a / 2 + b / 2) + (b / 2 - a / 2) * (2 * jStat._random_fn() - 1); }, variance: function variance(a, b) { @@ -7140,6 +7185,34 @@ jStat.extend(jStat.uniform, { }); +// Got this from http://www.math.ucla.edu/~tom/distributions/binomial.html +function betinc(x, a, b, eps) { + var a0 = 0; + var b0 = 1; + var a1 = 1; + var b1 = 1; + var m9 = 0; + var a2 = 0; + var c9; + + while (Math.abs((a1 - a2) / a1) > eps) { + a2 = a1; + c9 = -(a + m9) * (a + b + m9) * x / (a + 2 * m9) / (a + 2 * m9 + 1); + a0 = a1 + c9 * a0; + b0 = b1 + c9 * b0; + m9 = m9 + 1; + c9 = m9 * (b - m9) * x / (a + 2 * m9 - 1) / (a + 2 * m9); + a1 = a0 + c9 * a1; + b1 = b0 + c9 * b1; + a0 = a0 / b1; + b0 = b0 / b1; + a1 = a1 / b1; + b1 = 1; + } + + return a1 / a; +} + // extend uniform function with static methods jStat.extend(jStat.binomial, { @@ -7150,18 +7223,30 @@ jStat.extend(jStat.binomial, { }, cdf: function cdf(x, n, p) { - var binomarr = [], - k = 0; - if (x < 0) { + var betacdf; + var eps = 1e-10; + + if (x < 0) return 0; - } - if (x < n) { - for (; k <= x; k++) { - binomarr[ k ] = jStat.binomial.pdf(k, n, p); - } - return jStat.sum(binomarr); - } - return 1; + if (x >= n) + return 1; + if (p < 0 || p > 1 || n <= 0) + return NaN; + + x = Math.floor(x); + var z = p; + var a = x + 1; + var b = n - x; + var s = a + b; + var bt = Math.exp(jStat.gammaln(s) - jStat.gammaln(b) - + jStat.gammaln(a) + a * Math.log(z) + b * Math.log(1 - z)); + + if (z < (a + 1) / (s + 2)) + betacdf = bt * betinc(z, a, b, eps); + else + betacdf = 1 - bt * betinc(1 - z, b, a, eps); + + return Math.round((1 - betacdf) * (1 / eps)) / (1 / eps); } }); @@ -7403,13 +7488,51 @@ jStat.extend(jStat.poisson, { return l; }, - sample: function sample(l) { + sampleSmall: function sampleSmall(l) { var p = 1, k = 0, L = Math.exp(-l); do { k++; - p *= Math.random(); + p *= jStat._random_fn(); } while (p > L); return k - 1; + }, + + sampleLarge: function sampleLarge(l) { + var lam = l; + var k; + var U, V, slam, loglam, a, b, invalpha, vr, us; + + slam = Math.sqrt(lam); + loglam = Math.log(lam); + b = 0.931 + 2.53 * slam; + a = -0.059 + 0.02483 * b; + invalpha = 1.1239 + 1.1328 / (b - 3.4); + vr = 0.9277 - 3.6224 / (b - 2); + + while (1) { + U = Math.random() - 0.5; + V = Math.random(); + us = 0.5 - Math.abs(U); + k = Math.floor((2 * a / us + b) * U + lam + 0.43); + if ((us >= 0.07) && (V <= vr)) { + return k; + } + if ((k < 0) || ((us < 0.013) && (V > us))) { + continue; + } + /* log(V) == log(0.0) ok here */ + /* if U==0.0 so that us==0.0, log is ok since always returns */ + if ((Math.log(V) + Math.log(invalpha) - Math.log(a / (us * us) + b)) <= (-lam + k * loglam - jStat.loggam(k + 1))) { + return k; + } + } + }, + + sample: function sample(l) { + if (l < 10) + return this.sampleSmall(l); + else + return this.sampleLarge(l); } }); @@ -7473,7 +7596,7 @@ jStat.extend(jStat.triangular, { }, sample: function sample(a, b, c) { - var u = Math.random(); + var u = jStat._random_fn(); if (u < ((c - a) / (b - a))) return a + Math.sqrt(u * (b - a) * (c - a)) return b - Math.sqrt((1 - u) * (b - a) * (b - c)); @@ -7518,7 +7641,7 @@ jStat.extend(jStat.arcsine, { return (a + b) / 2; }, - mode: function mode(a, b) { + mode: function mode(/*a, b*/) { throw new Error('mode is not yet implemented'); }, @@ -7551,15 +7674,15 @@ jStat.extend(jStat.laplace, { } }, - mean: function(mu, b) { + mean: function(mu/*, b*/) { return mu; }, - median: function(mu, b) { + median: function(mu/*, b*/) { return mu; }, - mode: function(mu, b) { + mode: function(mu/*, b*/) { return mu; }, @@ -7568,7 +7691,7 @@ jStat.extend(jStat.laplace, { }, sample: function sample(mu, b) { - var u = Math.random() - 0.5; + var u = jStat._random_fn() - 0.5; return mu - (b * laplaceSign(u) * Math.log(1 - (2 * Math.abs(u)))); } @@ -8082,10 +8205,11 @@ jStat.extend({ // Note: this function returns a matrix, not a jStat object aug: function aug(a, b) { var newarr = []; - for (var i = 0; i < a.length; i++) { + var i; + for (i = 0; i < a.length; i++) { newarr.push(a[i].slice()); } - for (var i = 0; i < newarr.length; i++) { + for (i = 0; i < newarr.length; i++) { push.apply(newarr[i], b[i]); } return newarr; @@ -8131,7 +8255,7 @@ jStat.extend({ for (; i < alend; i++) { vals[i] = 1; } - for (var i = 0; i < alen; i++) { + for (i = 0; i < alen; i++) { for (j = 0; j < alen; j++) { vals[(mrow < 0) ? mrow + alen : mrow ] *= a[i][j]; vals[(mcol < alen) ? mcol + alen : mcol ] *= a[i][j]; @@ -8141,7 +8265,7 @@ jStat.extend({ mrow = --rowshift - alen + 1; mcol = --colshift; } - for (var i = 0; i < alen; i++) { + for (i = 0; i < alen; i++) { result += vals[i]; } for (; i < alend; i++) { @@ -8161,7 +8285,7 @@ jStat.extend({ maug, pivot, temp, k; a = jStat.aug(a, b); maug = a[0].length; - for(var i = 0; i < n; i++) { + for(i = 0; i < n; i++) { pivot = a[i][i]; j = i; for (k = i + 1; k < m; k++) { @@ -8184,7 +8308,7 @@ jStat.extend({ } } } - for (var i = n - 1; i >= 0; i--) { + for (i = n - 1; i >= 0; i--) { sum = 0; for (j = i + 1; j<= n - 1; j++) { sum = sum + x[j] * a[i][j]; @@ -8195,37 +8319,38 @@ jStat.extend({ }, gauss_jordan: function gauss_jordan(a, b) { - var m = jStat.aug(a, b), - h = m.length, - w = m[0].length; + var m = jStat.aug(a, b); + var h = m.length; + var w = m[0].length; var c = 0; + var x, y, y2; // find max pivot - for (var y = 0; y < h; y++) { + for (y = 0; y < h; y++) { var maxrow = y; - for (var y2 = y+1; y2 < h; y2++) { + for (y2 = y+1; y2 < h; y2++) { if (Math.abs(m[y2][y]) > Math.abs(m[maxrow][y])) maxrow = y2; } var tmp = m[y]; m[y] = m[maxrow]; m[maxrow] = tmp - for (var y2 = y+1; y2 < h; y2++) { + for (y2 = y+1; y2 < h; y2++) { c = m[y2][y] / m[y][y]; - for (var x = y; x < w; x++) { + for (x = y; x < w; x++) { m[y2][x] -= m[y][x] * c; } } } // backsubstitute - for (var y = h-1; y >= 0; y--) { + for (y = h-1; y >= 0; y--) { c = m[y][y]; - for (var y2 = 0; y2 < y; y2++) { - for (var x = w-1; x > y-1; x--) { + for (y2 = 0; y2 < y; y2++) { + for (x = w-1; x > y-1; x--) { m[y2][x] -= m[y][x] * m[y2][y] / c; } } m[y][y] /= c; - for (var x = h; x < w; x++) { + for (x = h; x < w; x++) { m[y][x] /= c; } } @@ -8314,7 +8439,7 @@ jStat.extend({ parts = jStat.arange(l).map(function(jj) { return L[l][jj] * R[jj][j]; }); - R[l][j] = A[i][j] - jStat.sum(parts); + R[l][j] = A[parts.length][j] - jStat.sum(parts); }); }); return [L, R]; @@ -8495,35 +8620,6 @@ jStat.extend({ var sum = jStat.sum; var range = jStat.arange; - function get_Q1(x) { - var size = x.length; - var norm_x = jStat.norm(x, 2); - var e1 = jStat.zeros(1, size)[0]; - e1[0] = 1; - var u = jStat.add(jStat.multiply(jStat.multiply(e1, norm_x), -1), x); - var norm_u = jStat.norm(u, 2); - var v = jStat.divide(u, norm_u); - var Q = jStat.subtract(jStat.identity(size), - jStat.multiply(jStat.outer(v, v), 2)); - return Q; - } - - function qr(A) { - var size = A[0].length; - var QList = []; - jStat.arange(size).forEach(function(i) { - var x = jStat.slice(A, { row: { start: i }, col: i }); - var Q = get_Q1(x); - var Qn = jStat.identity(A.length); - Qn = jStat.sliceAssign(Qn, { row: { start: i }, col: { start: i }}, Q); - A = jStat.multiply(Qn, A); - QList.push(Qn); - }); - var Q = QList.reduce(function(x, y){ return jStat.multiply(x,y) }); - var R = A; - return [Q, R]; - } - function qr2(x) { // quick impletation // https://www.stat.wisc.edu/~larget/math496/qr.html @@ -8531,8 +8627,8 @@ jStat.extend({ var n = x.length; var p = x[0].length; + var r = jStat.zeros(p, p); x = jStat.copy(x); - r = jStat.zeros(p, p); var i,j,k; for(j = 0; j < p; j++){ @@ -8557,7 +8653,7 @@ jStat.extend({ return qr2; }()), - lstsq: (function(A, b) { + lstsq: (function() { // solve least squard problem for Ax=b as QR decomposition way if b is // [[b1],[b2],[b3]] form will return [[x1],[x2],[x3]] array form solution // else b is [b1,b2,b3] form will return [x1,x2,x3] array form solution @@ -8597,17 +8693,17 @@ jStat.extend({ var Q1 = jStat.slice(Q,{col:{end:attrs}}); var R1 = jStat.slice(R,{row:{end:attrs}}); var RI = R_I(R1); - var Q2 = jStat.transpose(Q1); + var Q2 = jStat.transpose(Q1); - if(Q2[0].length === undefined){ - Q2 = [Q2]; // The confusing jStat.multifly implementation threat nature process again. - } + if(Q2[0].length === undefined){ + Q2 = [Q2]; // The confusing jStat.multifly implementation threat nature process again. + } var x = jStat.multiply(jStat.multiply(RI, Q2), b); - if(x.length === undefined){ - x = [[x]]; // The confusing jStat.multifly implementation threat nature process again. - } + if(x.length === undefined){ + x = [[x]]; // The confusing jStat.multifly implementation threat nature process again. + } if (array_mode) @@ -8620,18 +8716,16 @@ jStat.extend({ jacobi: function jacobi(a) { var condition = 1; - var count = 0; var n = a.length; var e = jStat.identity(n, n); var ev = []; var b, i, j, p, q, maxim, theta, s; // condition === 1 only if tolerance is not reached while (condition === 1) { - count++; maxim = a[0][1]; p = 0; q = 1; - for (var i = 0; i < n; i++) { + for (i = 0; i < n; i++) { for (j = 0; j < n; j++) { if (i != j) { if (maxim < Math.abs(a[i][j])) { @@ -8656,7 +8750,7 @@ jStat.extend({ b = jStat.multiply(jStat.multiply(jStat.inv(s), a), s); a = b; condition = 0; - for (var i = 1; i < n; i++) { + for (i = 1; i < n; i++) { for (j = 1; j < n; j++) { if (i != j && Math.abs(a[i][j]) > 0.001) { condition = 1; @@ -8664,7 +8758,7 @@ jStat.extend({ } } } - for (var i = 0; i < n; i++) ev.push(a[i][i]); + for (i = 0; i < n; i++) ev.push(a[i][i]); //returns both the eigenvalue and eigenmatrix return [e, ev]; }, @@ -8700,7 +8794,7 @@ jStat.extend({ var x = []; var h1 = []; var g = []; - var m, a1, j, k, I, d; + var m, a1, j, k, I; while (i < order / 2) { I = f(a); for (j = a, k = 0; j <= b; j = j + h, k++) x[k] = j; @@ -8735,12 +8829,11 @@ jStat.extend({ if (X[i] === x) p = i; return p; } - var n = X.length, - h_min = Math.abs(x - X[pos(X, x) + 1]), - i = 0, - g = [], - h1 = [], - y1, y2, m, a, j; + var h_min = Math.abs(x - X[pos(X, x) + 1]); + var i = 0; + var g = []; + var h1 = []; + var y1, y2, m, a, j; while (h >= h_min) { y1 = pos(X, x + h); y2 = pos(X, x); @@ -8752,7 +8845,7 @@ jStat.extend({ m = 1; while (a != 1) { for (j = 0; j < a - 1; j++) - h1[j] = ((Math.pow(4, m)) * g[j + 1] - g[j]) / (Math.pow(4, m) - 1); + h1[j] = ((Math.pow(4, m)) * g[j + 1] - g[j]) / (Math.pow(4, m) - 1); a = h1.length; g = h1; h1 = []; @@ -8833,11 +8926,11 @@ jStat.extend({ for (; i < n - 1; i++) h[i] = X[i + 1] - X[i]; alpha[0] = 0; - for (var i = 1; i < n - 1; i++) { + for (i = 1; i < n - 1; i++) { alpha[i] = (3 / h[i]) * (F[i + 1] - F[i]) - (3 / h[i-1]) * (F[i] - F[i-1]); } - for (var i = 1; i < n - 1; i++) { + for (i = 1; i < n - 1; i++) { A[i] = []; B[i] = []; A[i][i-1] = h[i-1]; @@ -8865,7 +8958,6 @@ jStat.extend({ PCA: function PCA(X) { var m = X.length; var n = X[0].length; - var flag = false; var i = 0; var j, temp1; var u = []; @@ -8878,17 +8970,17 @@ jStat.extend({ var C = []; var V = []; var Vt = []; - for (var i = 0; i < m; i++) { + for (i = 0; i < m; i++) { u[i] = jStat.sum(X[i]) / n; } - for (var i = 0; i < n; i++) { + for (i = 0; i < n; i++) { B[i] = []; for(j = 0; j < m; j++) { B[i][j] = X[j][i] - u[j]; } } B = jStat.transpose(B); - for (var i = 0; i < m; i++) { + for (i = 0; i < m; i++) { C[i] = []; for (j = 0; j < m; j++) { C[i][j] = (jStat.dot([B[i]], [B[j]])) / (n - 1); @@ -8898,7 +8990,7 @@ jStat.extend({ V = result[0]; D = result[1]; Vt = jStat.transpose(V); - for (var i = 0; i < D.length; i++) { + for (i = 0; i < D.length; i++) { for (j = i; j < D.length; j++) { if(D[i] < D[j]) { temp1 = D[i]; @@ -8911,7 +9003,7 @@ jStat.extend({ } } Bt = jStat.transpose(B); - for (var i = 0; i < m; i++) { + for (i = 0; i < m; i++) { Y[i] = []; for (j = 0; j < Bt.length; j++) { Y[i][j] = jStat.dot([Vt[i]], [Bt[j]]); @@ -9068,30 +9160,26 @@ jStat.extend({ expVar, sample, sampMean, sampSampMean, tmpargs, unexpVar, i, j; if (args.length === 1) { tmpargs = new Array(args[0].length); - for (var i = 0; i < args[0].length; i++) { + for (i = 0; i < args[0].length; i++) { tmpargs[i] = args[0][i]; } args = tmpargs; } - // 2 sample case - if (args.length === 2) { - return jStat.variance(args[0]) / jStat.variance(args[1]); - } // Builds sample array sample = new Array(); - for (var i = 0; i < args.length; i++) { + for (i = 0; i < args.length; i++) { sample = sample.concat(args[i]); } sampMean = jStat.mean(sample); // Computes the explained variance expVar = 0; - for (var i = 0; i < args.length; i++) { + for (i = 0; i < args.length; i++) { expVar = expVar + args[i].length * Math.pow(jStat.mean(args[i]) - sampMean, 2); } expVar /= (args.length - 1); // Computes unexplained variance unexpVar = 0; - for (var i = 0; i < args.length; i++) { + for (i = 0; i < args.length; i++) { sampSampMean = jStat.mean(args[i]); for (j = 0; j < args[i].length; j++) { unexpVar += Math.pow(args[i][j] - sampSampMean, 2); @@ -9110,10 +9198,10 @@ jStat.extend({ if (isNumber(args[0])) { return 1 - jStat.centralF.cdf(args[0], args[1], args[2]); } - anovafscore = jStat.anovafscore(args); + var anovafscore = jStat.anovafscore(args); df1 = args.length - 1; n = 0; - for (var i = 0; i < args.length; i++) { + for (i = 0; i < args.length; i++) { n = n + args[i].length; } df2 = n - df1 - 1; @@ -9133,7 +9221,7 @@ jStat.extend(jStat.fn, { anovaftes: function anovaftes() { var n = 0; var i; - for (var i = 0; i < this.length; i++) { + for (i = 0; i < this.length; i++) { n = n + this[i].length; } return jStat.ftest(this.anovafscore(), this.length - 1, n - this.length); @@ -9286,11 +9374,6 @@ jStat.extend(jStat.fn, { }(jStat, Math)); jStat.models = (function(){ - - function sub_regress(endog, exog) { - return ols(endog, exog); - } - function sub_regress(exog) { var var_count = exog[0].length; var modelList = jStat.arange(var_count).map(function(endog_index) { @@ -9403,6 +9486,215 @@ jStat.models = (function(){ return { ols: ols_wrap }; })(); +//To regress, simply build X matrix +//(append column of 1's) using +//buildxmatrix and build the Y +//matrix using buildymatrix +//(simply the transpose) +//and run regress. + + + +//Regressions + +jStat.extend({ + buildxmatrix: function buildxmatrix(){ + //Parameters will be passed in as such + //(array1,array2,array3,...) + //as (x1,x2,x3,...) + //needs to be (1,x1,x2,x3,...) + var matrixRows = new Array(arguments.length); + for(var i=0;i1){ + result = []; + for (i = 0; i < A.rows(); i++) { + result[i] = []; + for (j = 0; j < B.cols(); j++) { + sum = 0; + for (k = 0; k < A.cols(); k++) { + sum += A.toArray()[i][k] * B.toArray()[k][j]; + } + result[i][j] = sum; + } + } + return jStat(result); + } + result = []; + for (i = 0; i < A.rows(); i++) { + result[i] = []; + for (j = 0; j < B.cols(); j++) { + sum = 0; + for (k = 0; k < A.cols(); k++) { + sum += A.toArray()[i][k] * B.toArray()[j]; + } + result[i][j] = sum; + } + } + return jStat(result); + } + }, + + //regress and regresst to be fixed + + regress: function regress(jMatX,jMatY){ + //print("regressin!"); + //print(jMatX.toArray()); + var innerinv = jStat.xtranspxinv(jMatX); + //print(innerinv); + var xtransp = jMatX.transpose(); + var next = jStat.matrixmult(jStat(innerinv),xtransp); + return jStat.matrixmult(next,jMatY); + + }, + + regresst: function regresst(jMatX,jMatY,sides){ + var beta = jStat.regress(jMatX,jMatY); + + var compile = {}; + compile.anova = {}; + var jMatYBar = jStat.jMatYBar(jMatX, beta); + compile.yBar = jMatYBar; + var yAverage = jMatY.mean(); + compile.anova.residuals = jStat.residuals(jMatY, jMatYBar); + + compile.anova.ssr = jStat.ssr(jMatYBar, yAverage); + compile.anova.msr = compile.anova.ssr / (jMatX[0].length - 1); + + compile.anova.sse = jStat.sse(jMatY, jMatYBar); + compile.anova.mse = + compile.anova.sse / (jMatY.length - (jMatX[0].length - 1) - 1); + + compile.anova.sst = jStat.sst(jMatY, yAverage); + compile.anova.mst = compile.anova.sst / (jMatY.length - 1); + + compile.anova.r2 = 1 - (compile.anova.sse / compile.anova.sst); + if (compile.anova.r2 < 0) compile.anova.r2 = 0; + + compile.anova.fratio = compile.anova.msr / compile.anova.mse; + compile.anova.pvalue = + jStat.anovaftest(compile.anova.fratio, + jMatX[0].length - 1, + jMatY.length - (jMatX[0].length - 1) - 1); + + compile.anova.rmse = Math.sqrt(compile.anova.mse); + + compile.anova.r2adj = 1 - (compile.anova.mse / compile.anova.mst); + if (compile.anova.r2adj < 0) compile.anova.r2adj = 0; + + compile.stats = new Array(jMatX[0].length); + var covar = jStat.xtranspxinv(jMatX); + var sds, ts, ps; + + for(var i=0; i n) { - ret = _bessel_iter(x, n, bessel0(M.abs(x)), bessel1(M.abs(x)),-1); + var ret=0.0; + if(x > n) { + ret = _bessel_iter(x, n, bessel0(x), bessel1(x),-1); } else { - m=2*M.floor((n+M.floor(M.sqrt(40*n)))/2); - jsum=0; - bjp=ret=sum=0.0; - bj=1.0; - for (j=m;j>0;j--) { + var m=2*M.floor((n+M.floor(M.sqrt(40*n)))/2); + var jsum=false; + var bjp=0.0, sum=0.0; + var bj=1.0, bjm = 0.0; + var tox = 2 / x; + for (var j=m;j>0;j--) { bjm=j*tox*bj-bjp; bjp=bj; bj=bjm; @@ -12155,18 +12482,19 @@ var besselj = (function() { sum=2.0*sum-bj; ret /= sum; } - return x < 0 && (n%2) ? -ret : ret; + return ret; }; })(); var bessely = (function() { + var W = 0.636619772; + var b0_a1a = [-2957821389.0, 7062834065.0, -512359803.6, 10879881.29, -86327.92757, 228.4622733].reverse(); var b0_a2a = [40076544269.0, 745249964.8, 7189466.438, 47447.26470, 226.1030244, 1.0].reverse(); var b0_a1b = [1.0, -0.1098628627e-2, 0.2734510407e-4, -0.2073370639e-5, 0.2093887211e-6].reverse(); var b0_a2b = [-0.1562499995e-1, 0.1430488765e-3, -0.6911147651e-5, 0.7621095161e-6, -0.934945152e-7].reverse(); - var W = 0.636619772; function bessel0(x) { - var a, a1, a2, y = x * x, xx = x - 0.785398164; + var a=0, a1=0, a2=0, y = x * x, xx = x - 0.785398164; if(x < 8) { a1 = _horner(b0_a1a, y); a2 = _horner(b0_a2a, y); @@ -12184,8 +12512,9 @@ var bessely = (function() { var b1_a2a = [0.2499580570e14, 0.4244419664e12, 0.3733650367e10, 0.2245904002e8, 0.1020426050e6, 0.3549632885e3, 1].reverse(); var b1_a1b = [1.0, 0.183105e-2, -0.3516396496e-4, 0.2457520174e-5, -0.240337019e-6].reverse(); var b1_a2b = [0.04687499995, -0.2002690873e-3, 0.8449199096e-5, -0.88228987e-6, 0.105787412e-6].reverse(); + function bessel1(x) { - var a, a1, a2, y = x*x, xx = x - 2.356194491; + var a=0, a1=0, a2=0, y = x*x, xx = x - 2.356194491; if(x < 8) { a1 = x*_horner(b1_a1a, y); a2 = _horner(b1_a2a, y); @@ -12204,6 +12533,7 @@ var bessely = (function() { var besseli = (function() { var b0_a = [1.0, 3.5156229, 3.0899424, 1.2067492, 0.2659732, 0.360768e-1, 0.45813e-2].reverse(); var b0_b = [0.39894228, 0.1328592e-1, 0.225319e-2, -0.157565e-2, 0.916281e-2, -0.2057706e-1, 0.2635537e-1, -0.1647633e-1, 0.392377e-2].reverse(); + function bessel0(x) { if(x <= 3.75) return _horner(b0_a, x*x/(3.75*3.75)); return M.exp(M.abs(x))/M.sqrt(M.abs(x))*_horner(b0_b, 3.75/M.abs(x)); @@ -12211,6 +12541,7 @@ var besseli = (function() { var b1_a = [0.5, 0.87890594, 0.51498869, 0.15084934, 0.2658733e-1, 0.301532e-2, 0.32411e-3].reverse(); var b1_b = [0.39894228, -0.3988024e-1, -0.362018e-2, 0.163801e-2, -0.1031555e-1, 0.2282967e-1, -0.2895312e-1, 0.1787654e-1, -0.420059e-2].reverse(); + function bessel1(x) { if(x < 3.75) return x * _horner(b1_a, x*x/(3.75*3.75)); return (x < 0 ? -1 : 1) * M.exp(M.abs(x))/M.sqrt(M.abs(x))*_horner(b1_b, 3.75/M.abs(x)); @@ -12219,14 +12550,13 @@ var besseli = (function() { return function besseli(x, n) { n = Math.round(n); if(n === 0) return bessel0(x); - if(n == 1) return bessel1(x); - if(n < 0) throw 'BESSELI Order (' + n + ') must be nonnegative'; + if(n === 1) return bessel1(x); + if(n < 0) return NaN; if(M.abs(x) === 0) return 0; + if(x == Infinity) return Infinity; - var ret, j, tox = 2 / M.abs(x), m, bip, bi, bim; - m=2*M.round((n+M.round(M.sqrt(40*n)))/2); - bip=ret=0.0; - bi=1.0; + var ret = 0.0, j, tox = 2 / M.abs(x), bip = 0.0, bi=1.0, bim=0.0; + var m=2*M.round((n+M.round(M.sqrt(40*n)))/2); for (j=m;j>0;j--) { bim=j*tox*bi + bip; bip=bi; bi=bim; @@ -12246,27 +12576,27 @@ var besseli = (function() { var besselk = (function() { var b0_a = [-0.57721566, 0.42278420, 0.23069756, 0.3488590e-1, 0.262698e-2, 0.10750e-3, 0.74e-5].reverse(); var b0_b = [1.25331414, -0.7832358e-1, 0.2189568e-1, -0.1062446e-1, 0.587872e-2, -0.251540e-2, 0.53208e-3].reverse(); + function bessel0(x) { - if(x <= 2) return -M.log(x/2)*besseli(x,0) + _horner(b0_a, x*x/4); - return M.exp(-x)/M.sqrt(x)*_horner(b0_b, 2/x); + if(x <= 2) return -M.log(x/2) * besseli(x,0) + _horner(b0_a, x*x/4); + return M.exp(-x) / M.sqrt(x) * _horner(b0_b, 2/x); } var b1_a = [1.0, 0.15443144, -0.67278579, -0.18156897, -0.1919402e-1, -0.110404e-2, -0.4686e-4].reverse(); var b1_b = [1.25331414, 0.23498619, -0.3655620e-1, 0.1504268e-1, -0.780353e-2, 0.325614e-2, -0.68245e-3].reverse(); + function bessel1(x) { - if(x <= 2) return M.log(x/2)*besseli(x,1) + (1/x)*_horner(b1_a, x*x/4); + if(x <= 2) return M.log(x/2) * besseli(x,1) + (1/x) * _horner(b1_a, x*x/4); return M.exp(-x)/M.sqrt(x)*_horner(b1_b, 2/x); } return _bessel_wrap(bessel0, bessel1, 'BESSELK', 2, 1); })(); -if(true) { - exports.besselj = besselj; - exports.bessely = bessely; - exports.besseli = besseli; - exports.besselk = besselk; -} - +BESSEL.besselj = besselj; +BESSEL.bessely = bessely; +BESSEL.besseli = besseli; +BESSEL.besselk = besselk; +})); /***/ }), diff --git a/dist/formula-parser.min.js b/dist/formula-parser.min.js index f3cdd5d4..e1dbf0ce 100644 --- a/dist/formula-parser.min.js +++ b/dist/formula-parser.min.js @@ -1 +1 @@ -!function(r,n){"object"==typeof exports&&"object"==typeof module?module.exports=n():"function"==typeof define&&define.amd?define([],n):"object"==typeof exports?exports.formulaParser=n():r.formulaParser=n()}("undefined"!=typeof self?self:this,function(){return function(r){function n(t){if(e[t])return e[t].exports;var a=e[t]={i:t,l:!1,exports:{}};return r[t].call(a.exports,a,a.exports,n),a.l=!0,a.exports}var e={};return n.m=r,n.c=e,n.d=function(r,e,t){n.o(r,e)||Object.defineProperty(r,e,{configurable:!1,enumerable:!0,get:t})},n.n=function(r){var e=r&&r.__esModule?function(){return r["default"]}:function(){return r};return n.d(e,"a",e),e},n.o=function(r,n){return Object.prototype.hasOwnProperty.call(r,n)},n.p="",n(n.s=15)}([function(r,n){n.nil=Error("#NULL!"),n.div0=Error("#DIV/0!"),n.value=Error("#VALUE!"),n.ref=Error("#REF!"),n.name=Error("#NAME?"),n.num=Error("#NUM!"),n.na=Error("#N/A"),n.error=Error("#ERROR!"),n.data=Error("#GETTING_DATA")},function(r,n,e){var t=e(0);n.flattenShallow=function(r){return r&&r.reduce?r.reduce(function(r,n){var e=Array.isArray(r),t=Array.isArray(n);return e&&t?r.concat(n):e?(r.push(n),r):t?[r].concat(n):[r,n]}):r},n.isFlat=function(r){if(!r)return!1;for(var n=0;r.length>n;++n)if(Array.isArray(r[n]))return!1;return!0},n.flatten=function(){for(var r=n.argsToArray.apply(null,arguments);!n.isFlat(r);)r=n.flattenShallow(r);return r},n.argsToArray=function(r){var e=[];return n.arrayEach(r,function(r){e.push(r)}),e},n.numbers=function(){return this.flatten.apply(null,arguments).filter(function(r){return"number"==typeof r})},n.cleanFloat=function(r){return Math.round(1e14*r)/1e14},n.parseBool=function(r){if("boolean"==typeof r)return r;if(r instanceof Error)return r;if("number"==typeof r)return 0!==r;if("string"==typeof r){var n=r.toUpperCase();if("TRUE"===n)return!0;if("FALSE"===n)return!1}return r instanceof Date&&!isNaN(r)||t.value},n.parseNumber=function(r){return r===undefined||""===r?t.value:isNaN(r)?t.value:parseFloat(r)},n.parseNumberArray=function(r){var e;if(!r||0===(e=r.length))return t.value;for(var a;e--;){if((a=n.parseNumber(r[e]))===t.value)return a;r[e]=a}return r},n.parseMatrix=function(r){if(!r||0===r.length)return t.value;for(var e,a=0;r.length>a;a++)if(e=n.parseNumberArray(r[a]),r[a]=e,e instanceof Error)return e;return r};var a=new Date(Date.UTC(1900,0,1));n.parseDate=function(r){if(!isNaN(r)){if(r instanceof Date)return new Date(r);var n=parseInt(r,10);return 0>n?t.num:n>60?new Date(a.getTime()+864e5*(n-2)):new Date(a.getTime()+864e5*(n-1))}return"string"!=typeof r||(r=new Date(r),isNaN(r))?t.value:r},n.parseDateArray=function(r){for(var n,e=r.length;e--;){if((n=this.parseDate(r[e]))===t.value)return n;r[e]=n}return r},n.anyIsError=function(){for(var r=arguments.length;r--;)if(arguments[r]instanceof Error)return!0;return!1},n.arrayValuesToNumbers=function(r){for(var n,e=r.length;e--;)if("number"!=typeof(n=r[e]))if(!0!==n)if(!1!==n){if("string"==typeof n){var t=this.parseNumber(n);r[e]=t instanceof Error?0:t}}else r[e]=0;else r[e]=1;return r},n.rest=function(r,n){return n=n||1,r&&"function"==typeof r.slice?r.slice(n):r},n.initial=function(r,n){return n=n||1,r&&"function"==typeof r.slice?r.slice(0,r.length-n):r},n.arrayEach=function(r,n){for(var e=-1,t=r.length;++e-1?parseFloat(r):parseInt(r,10)),n}function a(r){return-1*t(r)}n.__esModule=!0,n.toNumber=t,n.invertNumber=a},function(r,n,e){var t=e(1),a=e(0),u=e(5),o=e(8),i=e(7);n.ABS=function(r){return(r=t.parseNumber(r))instanceof Error?r:Math.abs(r)},n.ACOS=function(r){if((r=t.parseNumber(r))instanceof Error)return r;var n=Math.acos(r);return isNaN(n)&&(n=a.num),n},n.ACOSH=function(r){if((r=t.parseNumber(r))instanceof Error)return r;var n=Math.log(r+Math.sqrt(r*r-1));return isNaN(n)&&(n=a.num),n},n.ACOT=function(r){return(r=t.parseNumber(r))instanceof Error?r:Math.atan(1/r)},n.ACOTH=function(r){if((r=t.parseNumber(r))instanceof Error)return r;var n=.5*Math.log((r+1)/(r-1));return isNaN(n)&&(n=a.num),n},n.AGGREGATE=function(r,e,o,i){if(r=t.parseNumber(r),e=t.parseNumber(r),t.anyIsError(r,e))return a.value;switch(r){case 1:return u.AVERAGE(o);case 2:return u.COUNT(o);case 3:return u.COUNTA(o);case 4:return u.MAX(o);case 5:return u.MIN(o);case 6:return n.PRODUCT(o);case 7:return u.STDEV.S(o);case 8:return u.STDEV.P(o);case 9:return n.SUM(o);case 10:return u.VAR.S(o);case 11:return u.VAR.P(o);case 12:return u.MEDIAN(o);case 13:return u.MODE.SNGL(o);case 14:return u.LARGE(o,i);case 15:return u.SMALL(o,i);case 16:return u.PERCENTILE.INC(o,i);case 17:return u.QUARTILE.INC(o,i);case 18:return u.PERCENTILE.EXC(o,i);case 19:return u.QUARTILE.EXC(o,i)}},n.ARABIC=function(r){if(!/^M*(?:D?C{0,3}|C[MD])(?:L?X{0,3}|X[CL])(?:V?I{0,3}|I[XV])$/.test(r))return a.value;var n=0;return r.replace(/[MDLV]|C[MD]?|X[CL]?|I[XV]?/g,function(r){n+={M:1e3,CM:900,D:500,CD:400,C:100,XC:90,L:50,XL:40,X:10,IX:9,V:5,IV:4,I:1}[r]}),n},n.ASIN=function(r){if((r=t.parseNumber(r))instanceof Error)return r;var n=Math.asin(r);return isNaN(n)&&(n=a.num),n},n.ASINH=function(r){return r=t.parseNumber(r),r instanceof Error?r:Math.log(r+Math.sqrt(r*r+1))},n.ATAN=function(r){return r=t.parseNumber(r),r instanceof Error?r:Math.atan(r)},n.ATAN2=function(r,n){return r=t.parseNumber(r),n=t.parseNumber(n),t.anyIsError(r,n)?a.value:Math.atan2(r,n)},n.ATANH=function(r){if((r=t.parseNumber(r))instanceof Error)return r;var n=Math.log((1+r)/(1-r))/2;return isNaN(n)&&(n=a.num),n},n.BASE=function(r,n,e){if(e=e||0,r=t.parseNumber(r),n=t.parseNumber(n),e=t.parseNumber(e),t.anyIsError(r,n,e))return a.value;e=e===undefined?0:e;var u=r.toString(n);return Array(Math.max(e+1-u.length,0)).join("0")+u},n.CEILING=function(r,e,u){if(e=e===undefined?1:Math.abs(e),u=u||0,r=t.parseNumber(r),e=t.parseNumber(e),u=t.parseNumber(u),t.anyIsError(r,e,u))return a.value;if(0===e)return 0;var o=-Math.floor(Math.log(e)/Math.log(10));return 0>r?0===u?-n.ROUND(Math.floor(Math.abs(r)/e)*e,o):-n.ROUND(Math.ceil(Math.abs(r)/e)*e,o):n.ROUND(Math.ceil(r/e)*e,o)},n.CEILING.MATH=n.CEILING,n.CEILING.PRECISE=n.CEILING,n.COMBIN=function(r,e){return r=t.parseNumber(r),e=t.parseNumber(e),t.anyIsError(r,e)?a.value:n.FACT(r)/(n.FACT(e)*n.FACT(r-e))},n.COMBINA=function(r,e){return r=t.parseNumber(r),e=t.parseNumber(e),t.anyIsError(r,e)?a.value:0===r&&0===e?1:n.COMBIN(r+e-1,r-1)},n.COS=function(r){return r=t.parseNumber(r),r instanceof Error?r:Math.cos(r)},n.COSH=function(r){return r=t.parseNumber(r),r instanceof Error?r:(Math.exp(r)+Math.exp(-r))/2},n.COT=function(r){return r=t.parseNumber(r),r instanceof Error?r:1/Math.tan(r)},n.COTH=function(r){if((r=t.parseNumber(r))instanceof Error)return r;var n=Math.exp(2*r);return(n+1)/(n-1)},n.CSC=function(r){return r=t.parseNumber(r),r instanceof Error?r:1/Math.sin(r)},n.CSCH=function(r){return r=t.parseNumber(r),r instanceof Error?r:2/(Math.exp(r)-Math.exp(-r))},n.DECIMAL=function(r,n){return 1>arguments.length?a.value:parseInt(r,n)},n.DEGREES=function(r){return r=t.parseNumber(r),r instanceof Error?r:180*r/Math.PI},n.EVEN=function(r){return r=t.parseNumber(r),r instanceof Error?r:n.CEILING(r,-2,-1)},n.EXP=function(r){return 1>arguments.length?a.na:"number"!=typeof r||arguments.length>1?a.error:r=Math.exp(r)};var f=[];n.FACT=function(r){if((r=t.parseNumber(r))instanceof Error)return r;var e=Math.floor(r);return 0===e||1===e?1:f[e]>0?f[e]:f[e]=n.FACT(e-1)*e},n.FACTDOUBLE=function(r){if((r=t.parseNumber(r))instanceof Error)return r;var e=Math.floor(r);return e>0?e*n.FACTDOUBLE(e-2):1},n.FLOOR=function(r,e){if(r=t.parseNumber(r),e=t.parseNumber(e),t.anyIsError(r,e))return a.value;if(0===e)return 0;if(!(r>0&&e>0||0>r&&0>e))return a.num;e=Math.abs(e);var u=-Math.floor(Math.log(e)/Math.log(10));return 0>r?-n.ROUND(Math.ceil(Math.abs(r)/e),u):n.ROUND(Math.floor(r/e)*e,u)},n.FLOOR.MATH=function(r,e,u){if(e=e===undefined?1:e,u=u===undefined?0:u,r=t.parseNumber(r),e=t.parseNumber(e),u=t.parseNumber(u),t.anyIsError(r,e,u))return a.value;if(0===e)return 0;e=e?Math.abs(e):1;var o=-Math.floor(Math.log(e)/Math.log(10));return 0>r?0===u||u===undefined?-n.ROUND(Math.ceil(Math.abs(r)/e)*e,o):-n.ROUND(Math.floor(Math.abs(r)/e)*e,o):n.ROUND(Math.floor(r/e)*e,o)},n.FLOOR.PRECISE=n.FLOOR.MATH,n.GCD=function(){var r=t.parseNumberArray(t.flatten(arguments));if(r instanceof Error)return r;for(var n=r.length,e=r[0],a=0>e?-e:e,u=1;n>u;u++){for(var o=r[u],i=0>o?-o:o;a&&i;)a>i?a%=i:i%=a;a+=i}return a},n.INT=function(r){return r=t.parseNumber(r),r instanceof Error?r:Math.floor(r)},n.ISO={CEILING:n.CEILING},n.LCM=function(){var r=t.parseNumberArray(t.flatten(arguments));if(r instanceof Error)return r;for(var n,e,a,u,o=1;(a=r.pop())!==undefined;)for(;a>1;){if(a%2){for(n=3,e=Math.floor(Math.sqrt(a));e>=n&&a%n;n+=2);u=n>e?a:n}else u=2;for(a/=u,o*=u,n=r.length;n;r[--n]%u==0&&1==(r[n]/=u)&&r.splice(n,1));}return o},n.LN=function(r){return r=t.parseNumber(r),r instanceof Error?r:Math.log(r)},n.LN10=function(){return Math.log(10)},n.LN2=function(){return Math.log(2)},n.LOG10E=function(){return Math.LOG10E},n.LOG2E=function(){return Math.LOG2E},n.LOG=function(r,n){return r=t.parseNumber(r),n=t.parseNumber(n),t.anyIsError(r,n)?a.value:(n=n===undefined?10:n,Math.log(r)/Math.log(n))},n.LOG10=function(r){return r=t.parseNumber(r),r instanceof Error?r:Math.log(r)/Math.log(10)},n.MOD=function(r,n){if(r=t.parseNumber(r),n=t.parseNumber(n),t.anyIsError(r,n))return a.value;if(0===n)return a.div0;var e=Math.abs(r%n);return n>0?e:-e},n.MROUND=function(r,n){return r=t.parseNumber(r),n=t.parseNumber(n),t.anyIsError(r,n)?a.value:0>r*n?a.num:Math.round(r/n)*n},n.MULTINOMIAL=function(){var r=t.parseNumberArray(t.flatten(arguments));if(r instanceof Error)return r;for(var e=0,a=1,u=0;r.length>u;u++)e+=r[u],a*=n.FACT(r[u]);return n.FACT(e)/a},n.ODD=function(r){if((r=t.parseNumber(r))instanceof Error)return r;var n=Math.ceil(Math.abs(r));return n=1&n?n:n+1,r>0?n:-n},n.PI=function(){return Math.PI},n.E=function(){return Math.E},n.POWER=function(r,n){if(r=t.parseNumber(r),n=t.parseNumber(n),t.anyIsError(r,n))return a.value;var e=Math.pow(r,n);return isNaN(e)?a.num:e},n.PRODUCT=function(){var r=t.parseNumberArray(t.flatten(arguments));if(r instanceof Error)return r;for(var n=1,e=0;r.length>e;e++)n*=r[e];return n},n.QUOTIENT=function(r,n){return r=t.parseNumber(r),n=t.parseNumber(n),t.anyIsError(r,n)?a.value:parseInt(r/n,10)},n.RADIANS=function(r){return r=t.parseNumber(r),r instanceof Error?r:r*Math.PI/180},n.RAND=function(){return Math.random()},n.RANDBETWEEN=function(r,n){return r=t.parseNumber(r),n=t.parseNumber(n),t.anyIsError(r,n)?a.value:r+Math.ceil((n-r+1)*Math.random())-1},n.ROMAN=function(r){if((r=t.parseNumber(r))instanceof Error)return r;for(var n=(r+"").split(""),e=["","C","CC","CCC","CD","D","DC","DCC","DCCC","CM","","X","XX","XXX","XL","L","LX","LXX","LXXX","XC","","I","II","III","IV","V","VI","VII","VIII","IX"],a="",u=3;u--;)a=(e[+n.pop()+10*u]||"")+a;return Array(+n.join("")+1).join("M")+a},n.ROUND=function(r,n){return r=t.parseNumber(r),n=t.parseNumber(n),t.anyIsError(r,n)?a.value:Math.round(r*Math.pow(10,n))/Math.pow(10,n)},n.ROUNDDOWN=function(r,n){return r=t.parseNumber(r),n=t.parseNumber(n),t.anyIsError(r,n)?a.value:(r>0?1:-1)*Math.floor(Math.abs(r)*Math.pow(10,n))/Math.pow(10,n)},n.ROUNDUP=function(r,n){return r=t.parseNumber(r),n=t.parseNumber(n),t.anyIsError(r,n)?a.value:(r>0?1:-1)*Math.ceil(Math.abs(r)*Math.pow(10,n))/Math.pow(10,n)},n.SEC=function(r){return r=t.parseNumber(r),r instanceof Error?r:1/Math.cos(r)},n.SECH=function(r){return r=t.parseNumber(r),r instanceof Error?r:2/(Math.exp(r)+Math.exp(-r))},n.SERIESSUM=function(r,n,e,u){if(r=t.parseNumber(r),n=t.parseNumber(n),e=t.parseNumber(e),u=t.parseNumberArray(u),t.anyIsError(r,n,e,u))return a.value;for(var o=u[0]*Math.pow(r,n),i=1;u.length>i;i++)o+=u[i]*Math.pow(r,n+i*e);return o},n.SIGN=function(r){return r=t.parseNumber(r),r instanceof Error?r:0>r?-1:0===r?0:1},n.SIN=function(r){return r=t.parseNumber(r),r instanceof Error?r:Math.sin(r)},n.SINH=function(r){return r=t.parseNumber(r),r instanceof Error?r:(Math.exp(r)-Math.exp(-r))/2},n.SQRT=function(r){return r=t.parseNumber(r),r instanceof Error?r:0>r?a.num:Math.sqrt(r)},n.SQRTPI=function(r){return r=t.parseNumber(r),r instanceof Error?r:Math.sqrt(r*Math.PI)},n.SQRT1_2=function(){return 1/Math.sqrt(2)},n.SQRT2=function(){return Math.sqrt(2)},n.SUBTOTAL=function(r,e){if((r=t.parseNumber(r))instanceof Error)return r;switch(r){case 1:return u.AVERAGE(e);case 2:return u.COUNT(e);case 3:return u.COUNTA(e);case 4:return u.MAX(e);case 5:return u.MIN(e);case 6:return n.PRODUCT(e);case 7:return u.STDEV.S(e);case 8:return u.STDEV.P(e);case 9:return n.SUM(e);case 10:return u.VAR.S(e);case 11:return u.VAR.P(e);case 101:return u.AVERAGE(e);case 102:return u.COUNT(e);case 103:return u.COUNTA(e);case 104:return u.MAX(e);case 105:return u.MIN(e);case 106:return n.PRODUCT(e);case 107:return u.STDEV.S(e);case 108:return u.STDEV.P(e);case 109:return n.SUM(e);case 110:return u.VAR.S(e);case 111:return u.VAR.P(e)}},n.ADD=function(r,n){return 2!==arguments.length?a.na:(r=t.parseNumber(r),n=t.parseNumber(n),t.anyIsError(r,n)?a.value:r+n)},n.MINUS=function(r,n){return 2!==arguments.length?a.na:(r=t.parseNumber(r),n=t.parseNumber(n),t.anyIsError(r,n)?a.value:r-n)},n.DIVIDE=function(r,n){return 2!==arguments.length?a.na:(r=t.parseNumber(r),n=t.parseNumber(n),t.anyIsError(r,n)?a.value:0===n?a.div0:r/n)},n.MULTIPLY=function(r,n){return 2!==arguments.length?a.na:(r=t.parseNumber(r),n=t.parseNumber(n),t.anyIsError(r,n)?a.value:r*n)},n.GTE=function(r,n){return 2!==arguments.length?a.na:(r=t.parseNumber(r),n=t.parseNumber(n),t.anyIsError(r,n)?a.error:r>=n)},n.LT=function(r,n){return 2!==arguments.length?a.na:(r=t.parseNumber(r),n=t.parseNumber(n),t.anyIsError(r,n)?a.error:n>r)},n.LTE=function(r,n){return 2!==arguments.length?a.na:(r=t.parseNumber(r),n=t.parseNumber(n),t.anyIsError(r,n)?a.error:n>=r)},n.EQ=function(r,n){return 2!==arguments.length?a.na:r===n},n.NE=function(r,n){return 2!==arguments.length?a.na:r!==n},n.POW=function(r,e){return 2!==arguments.length?a.na:(r=t.parseNumber(r),e=t.parseNumber(e),t.anyIsError(r,e)?a.error:n.POWER(r,e))},n.SUM=function(){var r=0;return t.arrayEach(t.argsToArray(arguments),function(e){if("number"==typeof e)r+=e;else if("string"==typeof e){var t=parseFloat(e);!isNaN(t)&&(r+=t)}else Array.isArray(e)&&(r+=n.SUM.apply(null,e))}),r},n.SUMIF=function(r,n){if((r=t.parseNumberArray(t.flatten(r)))instanceof Error)return r;for(var e=0,a=void 0===n||"*"===n,u=a?null:i.parse(n+""),o=0;r.length>o;o++){var f=r[o];if(a)e+=f;else{var s=[i.createToken(f,i.TOKEN_TYPE_LITERAL)].concat(u);e+=i.compute(s)?f:0}}return e},n.SUMIFS=function(){var r=t.argsToArray(arguments),n=t.parseNumberArray(t.flatten(r.shift()));if(n instanceof Error)return n;for(var e=r,a=n.length,u=e.length,o=0,f=0;a>f;f++){for(var s=n[f],l=!1,c=0;u>c;c++){var h=e[c],p=void 0===h||"*"===h,m=!1;if(p)m=!0;else{var E=i.parse(h+""),N=[i.createToken(s,i.TOKEN_TYPE_LITERAL)].concat(E);m=i.compute(N)}if(!m){l=!1;break}l=!0}l&&(o+=s)}return o},n.SUMPRODUCT=function(){if(!arguments||0===arguments.length)return a.value;for(var r,n,e,u,o=arguments.length+1,i=0,f=0;arguments[0].length>f;f++)if(arguments[0][f]instanceof Array)for(var s=0;arguments[0][f].length>s;s++){for(r=1,n=1;o>n;n++){if((u=t.parseNumber(arguments[n-1][f][s]))instanceof Error)return u;r*=u}i+=r}else{for(r=1,n=1;o>n;n++){if((e=t.parseNumber(arguments[n-1][f]))instanceof Error)return e;r*=e}i+=r}return i},n.SUMSQ=function(){var r=t.parseNumberArray(t.flatten(arguments));if(r instanceof Error)return r;for(var n=0,e=r.length,a=0;e>a;a++)n+=o.ISNUMBER(r[a])?r[a]*r[a]:0;return n},n.SUMX2MY2=function(r,n){if(r=t.parseNumberArray(t.flatten(r)),n=t.parseNumberArray(t.flatten(n)),t.anyIsError(r,n))return a.value;for(var e=0,u=0;r.length>u;u++)e+=r[u]*r[u]-n[u]*n[u];return e},n.SUMX2PY2=function(r,n){if(r=t.parseNumberArray(t.flatten(r)),n=t.parseNumberArray(t.flatten(n)),t.anyIsError(r,n))return a.value;var e=0;r=t.parseNumberArray(t.flatten(r)),n=t.parseNumberArray(t.flatten(n));for(var u=0;r.length>u;u++)e+=r[u]*r[u]+n[u]*n[u];return e},n.SUMXMY2=function(r,n){if(r=t.parseNumberArray(t.flatten(r)),n=t.parseNumberArray(t.flatten(n)),t.anyIsError(r,n))return a.value;var e=0;r=t.flatten(r),n=t.flatten(n);for(var u=0;r.length>u;u++)e+=Math.pow(r[u]-n[u],2);return e},n.TAN=function(r){return r=t.parseNumber(r),r instanceof Error?r:Math.tan(r)},n.TANH=function(r){if((r=t.parseNumber(r))instanceof Error)return r;var n=Math.exp(2*r);return(n-1)/(n+1)},n.TRUNC=function(r,n){return n=n===undefined?0:n,r=t.parseNumber(r),n=t.parseNumber(n),t.anyIsError(r,n)?a.value:(r>0?1:-1)*Math.floor(Math.abs(r)*Math.pow(10,n))/Math.pow(10,n)}},function(r,n,e){var t=e(4),a=e(6),u=e(10),o=e(1),i=e(7),f=e(0),s=e(11);n.AVEDEV=function(){var r=o.parseNumberArray(o.flatten(arguments));return r instanceof Error?r:u.sum(u(r).subtract(u.mean(r)).abs()[0])/r.length},n.AVERAGE=function(){for(var r,n=o.numbers(o.flatten(arguments)),e=n.length,t=0,a=0,u=0;e>u;u++)t+=n[u],a+=1;return r=t/a,isNaN(r)&&(r=f.num),r},n.AVERAGEA=function(){for(var r,n=o.flatten(arguments),e=n.length,t=0,a=0,u=0;e>u;u++){var i=n[u];"number"==typeof i&&(t+=i),!0===i&&t++,null!==i&&a++}return r=t/a,isNaN(r)&&(r=f.num),r},n.AVERAGEIF=function(r,n,e){if(1>=arguments.length)return f.na;if(e=e||r,r=o.flatten(r),(e=o.parseNumberArray(o.flatten(e)))instanceof Error)return e;for(var t=0,a=0,u=void 0===n||"*"===n,s=u?null:i.parse(n+""),l=0;r.length>l;l++){var c=r[l];if(u)a+=e[l],t++;else{var h=[i.createToken(c,i.TOKEN_TYPE_LITERAL)].concat(s);i.compute(h)&&(a+=e[l],t++)}}return a/t},n.AVERAGEIFS=function(){for(var r=o.argsToArray(arguments),n=(r.length-1)/2,e=o.flatten(r[0]),t=0,a=0,u=0;e.length>u;u++){for(var f=!1,s=0;n>s;s++){var l=r[2*s+1][u],c=r[2*s+2],h=void 0===c||"*"===c,p=!1;if(h)p=!0;else{var m=i.parse(c+""),E=[i.createToken(l,i.TOKEN_TYPE_LITERAL)].concat(m);p=i.compute(E)}if(!p){f=!1;break}f=!0}f&&(a+=e[u],t++)}var N=a/t;return isNaN(N)?0:N},n.BETA={},n.BETA.DIST=function(r,n,e,t,a,i){return 4>arguments.length?f.value:(a=a===undefined?0:a,i=i===undefined?1:i,r=o.parseNumber(r),n=o.parseNumber(n),e=o.parseNumber(e),a=o.parseNumber(a),i=o.parseNumber(i),o.anyIsError(r,n,e,a,i)?f.value:(r=(r-a)/(i-a),t?u.beta.cdf(r,n,e):u.beta.pdf(r,n,e)))},n.BETA.INV=function(r,n,e,t,a){return t=t===undefined?0:t,a=a===undefined?1:a,r=o.parseNumber(r),n=o.parseNumber(n),e=o.parseNumber(e),t=o.parseNumber(t),a=o.parseNumber(a),o.anyIsError(r,n,e,t,a)?f.value:u.beta.inv(r,n,e)*(a-t)+t},n.BINOM={},n.BINOM.DIST=function(r,n,e,t){return r=o.parseNumber(r),n=o.parseNumber(n),e=o.parseNumber(e),t=o.parseNumber(t),o.anyIsError(r,n,e,t)?f.value:t?u.binomial.cdf(r,n,e):u.binomial.pdf(r,n,e)},n.BINOM.DIST.RANGE=function(r,n,e,a){if(a=a===undefined?e:a,r=o.parseNumber(r),n=o.parseNumber(n),e=o.parseNumber(e),a=o.parseNumber(a),o.anyIsError(r,n,e,a))return f.value;for(var u=0,i=e;a>=i;i++)u+=t.COMBIN(r,i)*Math.pow(n,i)*Math.pow(1-n,r-i);return u},n.BINOM.INV=function(r,n,e){if(r=o.parseNumber(r),n=o.parseNumber(n),e=o.parseNumber(e),o.anyIsError(r,n,e))return f.value;for(var t=0;r>=t;){if(u.binomial.cdf(t,r,n)>=e)return t;t++}},n.CHISQ={},n.CHISQ.DIST=function(r,n,e){return r=o.parseNumber(r),n=o.parseNumber(n),o.anyIsError(r,n)?f.value:e?u.chisquare.cdf(r,n):u.chisquare.pdf(r,n)},n.CHISQ.DIST.RT=function(r,n){return!r|!n?f.na:1>r||n>Math.pow(10,10)?f.num:"number"!=typeof r||"number"!=typeof n?f.value:1-u.chisquare.cdf(r,n)},n.CHISQ.INV=function(r,n){return r=o.parseNumber(r),n=o.parseNumber(n),o.anyIsError(r,n)?f.value:u.chisquare.inv(r,n)},n.CHISQ.INV.RT=function(r,n){return!r|!n?f.na:0>r||r>1||1>n||n>Math.pow(10,10)?f.num:"number"!=typeof r||"number"!=typeof n?f.value:u.chisquare.inv(1-r,n)},n.CHISQ.TEST=function(r,n){if(2!==arguments.length)return f.na;if(!(r instanceof Array&&n instanceof Array))return f.value;if(r.length!==n.length)return f.value;if(r[0]&&n[0]&&r[0].length!==n[0].length)return f.value;var e,t,a,u=r.length;for(t=0;u>t;t++)r[t]instanceof Array||(e=r[t],r[t]=[],r[t].push(e)),n[t]instanceof Array||(e=n[t],n[t]=[],n[t].push(e));var o=r[0].length,i=1===o?u-1:(u-1)*(o-1),s=0,l=Math.PI;for(t=0;u>t;t++)for(a=0;o>a;a++)s+=Math.pow(r[t][a]-n[t][a],2)/n[t][a];return Math.round(1e6*function(r,n){var e=Math.exp(-.5*r);n%2==1&&(e*=Math.sqrt(2*r/l));for(var t=n;t>=2;)e=e*r/t,t-=2;for(var a=e,u=n;a>1e-10*e;)u+=2,a=a*r/u,e+=a;return 1-e}(s,i))/1e6},n.COLUMN=function(r,n){return 2!==arguments.length?f.na:0>n?f.num:r instanceof Array&&"number"==typeof n?0===r.length?undefined:u.col(r,n):f.value},n.COLUMNS=function(r){return 1!==arguments.length?f.na:r instanceof Array?0===r.length?0:u.cols(r):f.value},n.CONFIDENCE={},n.CONFIDENCE.NORM=function(r,n,e){return r=o.parseNumber(r),n=o.parseNumber(n),e=o.parseNumber(e),o.anyIsError(r,n,e)?f.value:u.normalci(1,r,n,e)[1]-1},n.CONFIDENCE.T=function(r,n,e){return r=o.parseNumber(r),n=o.parseNumber(n),e=o.parseNumber(e),o.anyIsError(r,n,e)?f.value:u.tci(1,r,n,e)[1]-1},n.CORREL=function(r,n){return r=o.parseNumberArray(o.flatten(r)),n=o.parseNumberArray(o.flatten(n)),o.anyIsError(r,n)?f.value:u.corrcoeff(r,n)},n.COUNT=function(){return o.numbers(o.flatten(arguments)).length},n.COUNTA=function(){var r=o.flatten(arguments);return r.length-n.COUNTBLANK(r)},n.COUNTIN=function(r,n){var e=0;r=o.flatten(r);for(var t=0;r.length>t;t++)r[t]===n&&e++;return e},n.COUNTBLANK=function(){for(var r,n=o.flatten(arguments),e=0,t=0;n.length>t;t++)null!==(r=n[t])&&""!==r||e++;return e},n.COUNTIF=function(r,n){if(r=o.flatten(r),void 0===n||"*"===n)return r.length;for(var e=0,t=i.parse(n+""),a=0;r.length>a;a++){var u=r[a],f=[i.createToken(u,i.TOKEN_TYPE_LITERAL)].concat(t);i.compute(f)&&e++}return e},n.COUNTIFS=function(){for(var r=o.argsToArray(arguments),n=Array(o.flatten(r[0]).length),e=0;n.length>e;e++)n[e]=!0;for(e=0;r.length>e;e+=2){var t=o.flatten(r[e]),a=r[e+1];if(!(void 0===a||"*"===a))for(var u=i.parse(a+""),f=0;t.length>f;f++){var s=t[f],l=[i.createToken(s,i.TOKEN_TYPE_LITERAL)].concat(u);n[f]=n[f]&&i.compute(l)}}var c=0;for(e=0;n.length>e;e++)n[e]&&c++;return c},n.COUNTUNIQUE=function(){return s.UNIQUE.apply(null,o.flatten(arguments)).length},n.COVARIANCE={},n.COVARIANCE.P=function(r,n){if(r=o.parseNumberArray(o.flatten(r)),n=o.parseNumberArray(o.flatten(n)),o.anyIsError(r,n))return f.value;for(var e=u.mean(r),t=u.mean(n),a=0,i=r.length,s=0;i>s;s++)a+=(r[s]-e)*(n[s]-t);return a/i},n.COVARIANCE.S=function(r,n){return r=o.parseNumberArray(o.flatten(r)),n=o.parseNumberArray(o.flatten(n)),o.anyIsError(r,n)?f.value:u.covariance(r,n)},n.DEVSQ=function(){var r=o.parseNumberArray(o.flatten(arguments));if(r instanceof Error)return r;for(var n=u.mean(r),e=0,t=0;r.length>t;t++)e+=Math.pow(r[t]-n,2);return e},n.EXPON={},n.EXPON.DIST=function(r,n,e){return r=o.parseNumber(r),n=o.parseNumber(n),o.anyIsError(r,n)?f.value:e?u.exponential.cdf(r,n):u.exponential.pdf(r,n)},n.F={},n.F.DIST=function(r,n,e,t){return r=o.parseNumber(r),n=o.parseNumber(n),e=o.parseNumber(e),o.anyIsError(r,n,e)?f.value:t?u.centralF.cdf(r,n,e):u.centralF.pdf(r,n,e)},n.F.DIST.RT=function(r,n,e){return 3!==arguments.length?f.na:0>r||1>n||1>e?f.num:"number"!=typeof r||"number"!=typeof n||"number"!=typeof e?f.value:1-u.centralF.cdf(r,n,e)},n.F.INV=function(r,n,e){return r=o.parseNumber(r),n=o.parseNumber(n),e=o.parseNumber(e),o.anyIsError(r,n,e)?f.value:0>=r||r>1?f.num:u.centralF.inv(r,n,e)},n.F.INV.RT=function(r,n,e){return 3!==arguments.length?f.na:0>r||r>1||1>n||n>Math.pow(10,10)||1>e||e>Math.pow(10,10)?f.num:"number"!=typeof r||"number"!=typeof n||"number"!=typeof e?f.value:u.centralF.inv(1-r,n,e)},n.F.TEST=function(r,n){if(!r||!n)return f.na;if(!(r instanceof Array&&n instanceof Array))return f.na;if(2>r.length||2>n.length)return f.div0;var e=function(r,n){for(var e=0,t=0;r.length>t;t++)e+=Math.pow(r[t]-n,2);return e},a=t.SUM(r)/r.length,u=t.SUM(n)/n.length;return e(r,a)/(r.length-1)/(e(n,u)/(n.length-1))},n.FISHER=function(r){return r=o.parseNumber(r),r instanceof Error?r:Math.log((1+r)/(1-r))/2},n.FISHERINV=function(r){if((r=o.parseNumber(r))instanceof Error)return r;var n=Math.exp(2*r);return(n-1)/(n+1)},n.FORECAST=function(r,n,e){if(r=o.parseNumber(r),n=o.parseNumberArray(o.flatten(n)),e=o.parseNumberArray(o.flatten(e)),o.anyIsError(r,n,e))return f.value;for(var t=u.mean(e),a=u.mean(n),i=e.length,s=0,l=0,c=0;i>c;c++)s+=(e[c]-t)*(n[c]-a),l+=Math.pow(e[c]-t,2);var h=s/l;return a-h*t+h*r},n.FREQUENCY=function(r,n){if(r=o.parseNumberArray(o.flatten(r)),n=o.parseNumberArray(o.flatten(n)),o.anyIsError(r,n))return f.value;for(var e=r.length,t=n.length,a=[],u=0;t>=u;u++){a[u]=0;for(var i=0;e>i;i++)0===u?r[i]>n[0]||(a[0]+=1):t>u?r[i]>n[u-1]&&n[u]>=r[i]&&(a[u]+=1):u===t&&r[i]>n[t-1]&&(a[t]+=1)}return a},n.GAMMA=function(r){return r=o.parseNumber(r),r instanceof Error?r:0===r?f.num:parseInt(r,10)===r&&0>r?f.num:u.gammafn(r)},n.GAMMA.DIST=function(r,n,e,t){return 4!==arguments.length?f.na:r>=0&&n>0&&e>0?"number"!=typeof r||"number"!=typeof n||"number"!=typeof e?f.value:t?u.gamma.cdf(r,n,e,!0):u.gamma.pdf(r,n,e,!1):f.value},n.GAMMA.INV=function(r,n,e){return 3!==arguments.length?f.na:0>r||r>1||0>=n||0>=e?f.num:"number"!=typeof r||"number"!=typeof n||"number"!=typeof e?f.value:u.gamma.inv(r,n,e)},n.GAMMALN=function(r){return r=o.parseNumber(r),r instanceof Error?r:u.gammaln(r)},n.GAMMALN.PRECISE=function(r){return 1!==arguments.length?f.na:r>0?"number"!=typeof r?f.value:u.gammaln(r):f.num},n.GAUSS=function(r){return r=o.parseNumber(r),r instanceof Error?r:u.normal.cdf(r,0,1)-.5},n.GEOMEAN=function(){var r=o.parseNumberArray(o.flatten(arguments));return r instanceof Error?r:u.geomean(r)},n.GROWTH=function(r,n,e,t){if((r=o.parseNumberArray(r))instanceof Error)return r;var a;if(n===undefined)for(n=[],a=1;r.length>=a;a++)n.push(a);if(e===undefined)for(e=[],a=1;r.length>=a;a++)e.push(a);if(n=o.parseNumberArray(n),e=o.parseNumberArray(e),o.anyIsError(n,e))return f.value;t===undefined&&(t=!0);var u=r.length,i=0,s=0,l=0,c=0;for(a=0;u>a;a++){var h=n[a],p=Math.log(r[a]);i+=h,s+=p,l+=h*p,c+=h*h}i/=u,s/=u,l/=u,c/=u;var m,E;t?(m=(l-i*s)/(c-i*i),E=s-m*i):(m=l/c,E=0);var N=[];for(a=0;e.length>a;a++)N.push(Math.exp(E+m*e[a]));return N},n.HARMEAN=function(){var r=o.parseNumberArray(o.flatten(arguments));if(r instanceof Error)return r;for(var n=r.length,e=0,t=0;n>t;t++)e+=1/r[t];return n/e},n.HYPGEOM={},n.HYPGEOM.DIST=function(r,n,e,a,u){function i(r,n,e,a){return t.COMBIN(e,r)*t.COMBIN(a-e,n-r)/t.COMBIN(a,n)}return r=o.parseNumber(r),n=o.parseNumber(n),e=o.parseNumber(e),a=o.parseNumber(a),o.anyIsError(r,n,e,a)?f.value:u?function(r,n,e,t){for(var a=0,u=0;r>=u;u++)a+=i(u,n,e,t);return a}(r,n,e,a):i(r,n,e,a)},n.INTERCEPT=function(r,e){return r=o.parseNumberArray(r),e=o.parseNumberArray(e),o.anyIsError(r,e)?f.value:r.length!==e.length?f.na:n.FORECAST(0,r,e)},n.KURT=function(){var r=o.parseNumberArray(o.flatten(arguments));if(r instanceof Error)return r;for(var n=u.mean(r),e=r.length,t=0,a=0;e>a;a++)t+=Math.pow(r[a]-n,4);return t/=Math.pow(u.stdev(r,!0),4),e*(e+1)/((e-1)*(e-2)*(e-3))*t-3*(e-1)*(e-1)/((e-2)*(e-3))},n.LARGE=function(r,n){return r=o.parseNumberArray(o.flatten(r)),n=o.parseNumber(n),o.anyIsError(r,n)?r:r.sort(function(r,n){return n-r})[n-1]},n.LINEST=function(r,n){if(r=o.parseNumberArray(o.flatten(r)),n=o.parseNumberArray(o.flatten(n)),o.anyIsError(r,n))return f.value;for(var e=u.mean(r),t=u.mean(n),a=n.length,i=0,s=0,l=0;a>l;l++)i+=(n[l]-t)*(r[l]-e),s+=Math.pow(n[l]-t,2);var c=i/s;return[c,e-c*t]},n.LOGEST=function(r,e){if(r=o.parseNumberArray(o.flatten(r)),e=o.parseNumberArray(o.flatten(e)),o.anyIsError(r,e))return f.value;for(var t=0;r.length>t;t++)r[t]=Math.log(r[t]);var a=n.LINEST(r,e);return a[0]=Math.round(1e6*Math.exp(a[0]))/1e6,a[1]=Math.round(1e6*Math.exp(a[1]))/1e6,a},n.LOGNORM={},n.LOGNORM.DIST=function(r,n,e,t){return r=o.parseNumber(r),n=o.parseNumber(n),e=o.parseNumber(e),o.anyIsError(r,n,e)?f.value:t?u.lognormal.cdf(r,n,e):u.lognormal.pdf(r,n,e)},n.LOGNORM.INV=function(r,n,e){return r=o.parseNumber(r),n=o.parseNumber(n),e=o.parseNumber(e),o.anyIsError(r,n,e)?f.value:u.lognormal.inv(r,n,e)},n.MAX=function(){var r=o.numbers(o.flatten(arguments));return 0===r.length?0:Math.max.apply(Math,r)},n.MAXA=function(){var r=o.arrayValuesToNumbers(o.flatten(arguments));return 0===r.length?0:Math.max.apply(Math,r)},n.MEDIAN=function(){var r=o.arrayValuesToNumbers(o.flatten(arguments)),n=u.median(r);return isNaN(n)&&(n=f.num),n},n.MIN=function(){var r=o.numbers(o.flatten(arguments));return 0===r.length?0:Math.min.apply(Math,r)},n.MINA=function(){var r=o.arrayValuesToNumbers(o.flatten(arguments));return 0===r.length?0:Math.min.apply(Math,r)},n.MODE={},n.MODE.MULT=function(){var r=o.parseNumberArray(o.flatten(arguments));if(r instanceof Error)return r;for(var n,e=r.length,t={},a=[],u=0,i=0;e>i;i++)n=r[i],t[n]=t[n]?t[n]+1:1,t[n]>u&&(u=t[n],a=[]),t[n]===u&&(a[a.length]=n);return a},n.MODE.SNGL=function(){var r=o.parseNumberArray(o.flatten(arguments));return r instanceof Error?r:n.MODE.MULT(r).sort(function(r,n){return r-n})[0]},n.NEGBINOM={},n.NEGBINOM.DIST=function(r,n,e,t){return r=o.parseNumber(r),n=o.parseNumber(n),e=o.parseNumber(e),o.anyIsError(r,n,e)?f.value:t?u.negbin.cdf(r,n,e):u.negbin.pdf(r,n,e)},n.NORM={},n.NORM.DIST=function(r,n,e,t){return r=o.parseNumber(r),n=o.parseNumber(n),e=o.parseNumber(e),o.anyIsError(r,n,e)?f.value:e>0?t?u.normal.cdf(r,n,e):u.normal.pdf(r,n,e):f.num},n.NORM.INV=function(r,n,e){return r=o.parseNumber(r),n=o.parseNumber(n),e=o.parseNumber(e),o.anyIsError(r,n,e)?f.value:u.normal.inv(r,n,e)},n.NORM.S={},n.NORM.S.DIST=function(r,n){return r=o.parseNumber(r),r instanceof Error?f.value:n?u.normal.cdf(r,0,1):u.normal.pdf(r,0,1)},n.NORM.S.INV=function(r){return r=o.parseNumber(r),r instanceof Error?f.value:u.normal.inv(r,0,1)},n.PEARSON=function(r,n){if(n=o.parseNumberArray(o.flatten(n)),r=o.parseNumberArray(o.flatten(r)),o.anyIsError(n,r))return f.value;for(var e=u.mean(r),t=u.mean(n),a=r.length,i=0,s=0,l=0,c=0;a>c;c++)i+=(r[c]-e)*(n[c]-t),s+=Math.pow(r[c]-e,2),l+=Math.pow(n[c]-t,2);return i/Math.sqrt(s*l)},n.PERCENTILE={},n.PERCENTILE.EXC=function(r,n){if(r=o.parseNumberArray(o.flatten(r)),n=o.parseNumber(n),o.anyIsError(r,n))return f.value;r=r.sort(function(r,n){return r-n});var e=r.length;if(1/(e+1)>n||n>1-1/(e+1))return f.num;var t=n*(e+1)-1,a=Math.floor(t);return o.cleanFloat(t===a?r[t]:r[a]+(t-a)*(r[a+1]-r[a]))},n.PERCENTILE.INC=function(r,n){if(r=o.parseNumberArray(o.flatten(r)),n=o.parseNumber(n),o.anyIsError(r,n))return f.value;r=r.sort(function(r,n){return r-n});var e=r.length,t=n*(e-1),a=Math.floor(t);return o.cleanFloat(t===a?r[t]:r[a]+(t-a)*(r[a+1]-r[a]))},n.PERCENTRANK={},n.PERCENTRANK.EXC=function(r,n,e){if(e=e===undefined?3:e,r=o.parseNumberArray(o.flatten(r)),n=o.parseNumber(n),e=o.parseNumber(e),o.anyIsError(r,n,e))return f.value;r=r.sort(function(r,n){return r-n});for(var t=s.UNIQUE.apply(null,r),a=r.length,u=t.length,i=Math.pow(10,e),l=0,c=!1,h=0;!c&&u>h;)n===t[h]?(l=(r.indexOf(t[h])+1)/(a+1),c=!0):t[h]>n||n>=t[h+1]&&h!==u-1||(l=(r.indexOf(t[h])+1+(n-t[h])/(t[h+1]-t[h]))/(a+1),c=!0),h++;return Math.floor(l*i)/i},n.PERCENTRANK.INC=function(r,n,e){if(e=e===undefined?3:e,r=o.parseNumberArray(o.flatten(r)),n=o.parseNumber(n),e=o.parseNumber(e),o.anyIsError(r,n,e))return f.value;r=r.sort(function(r,n){return r-n});for(var t=s.UNIQUE.apply(null,r),a=r.length,u=t.length,i=Math.pow(10,e),l=0,c=!1,h=0;!c&&u>h;)n===t[h]?(l=r.indexOf(t[h])/(a-1),c=!0):t[h]>n||n>=t[h+1]&&h!==u-1||(l=(r.indexOf(t[h])+(n-t[h])/(t[h+1]-t[h]))/(a-1),c=!0),h++;return Math.floor(l*i)/i},n.PERMUT=function(r,n){return r=o.parseNumber(r),n=o.parseNumber(n),o.anyIsError(r,n)?f.value:t.FACT(r)/t.FACT(r-n)},n.PERMUTATIONA=function(r,n){return r=o.parseNumber(r),n=o.parseNumber(n),o.anyIsError(r,n)?f.value:Math.pow(r,n)},n.PHI=function(r){return r=o.parseNumber(r),r instanceof Error?f.value:Math.exp(-.5*r*r)/2.5066282746310002},n.POISSON={},n.POISSON.DIST=function(r,n,e){return r=o.parseNumber(r),n=o.parseNumber(n),o.anyIsError(r,n)?f.value:e?u.poisson.cdf(r,n):u.poisson.pdf(r,n)},n.PROB=function(r,n,e,t){if(e===undefined)return 0;if(t=t===undefined?e:t,r=o.parseNumberArray(o.flatten(r)),n=o.parseNumberArray(o.flatten(n)),e=o.parseNumber(e),t=o.parseNumber(t),o.anyIsError(r,n,e,t))return f.value;if(e===t)return 0>r.indexOf(e)?0:n[r.indexOf(e)];for(var a=r.sort(function(r,n){return r-n}),u=a.length,i=0,s=0;u>s;s++)e>a[s]||a[s]>t||(i+=n[r.indexOf(a[s])]);return i},n.QUARTILE={},n.QUARTILE.EXC=function(r,e){if(r=o.parseNumberArray(o.flatten(r)),e=o.parseNumber(e),o.anyIsError(r,e))return f.value;switch(e){case 1:return n.PERCENTILE.EXC(r,.25);case 2:return n.PERCENTILE.EXC(r,.5);case 3:return n.PERCENTILE.EXC(r,.75);default:return f.num}},n.QUARTILE.INC=function(r,e){if(r=o.parseNumberArray(o.flatten(r)),e=o.parseNumber(e),o.anyIsError(r,e))return f.value;switch(e){case 1:return n.PERCENTILE.INC(r,.25);case 2:return n.PERCENTILE.INC(r,.5);case 3:return n.PERCENTILE.INC(r,.75);default:return f.num}},n.RANK={},n.RANK.AVG=function(r,n,e){if(r=o.parseNumber(r),n=o.parseNumberArray(o.flatten(n)),o.anyIsError(r,n))return f.value;n=o.flatten(n),e=e||!1,n=n.sort(e?function(r,n){return r-n}:function(r,n){return n-r});for(var t=n.length,a=0,u=0;t>u;u++)n[u]===r&&a++;return a>1?(2*n.indexOf(r)+a+1)/2:n.indexOf(r)+1},n.RANK.EQ=function(r,n,e){return r=o.parseNumber(r),n=o.parseNumberArray(o.flatten(n)),o.anyIsError(r,n)?f.value:(e=e||!1,n=n.sort(e?function(r,n){return r-n}:function(r,n){return n-r}),n.indexOf(r)+1)},n.ROW=function(r,n){return 2!==arguments.length?f.na:0>n?f.num:r instanceof Array&&"number"==typeof n?0===r.length?undefined:u.row(r,n):f.value},n.ROWS=function(r){return 1!==arguments.length?f.na:r instanceof Array?0===r.length?0:u.rows(r):f.value},n.RSQ=function(r,e){return r=o.parseNumberArray(o.flatten(r)),e=o.parseNumberArray(o.flatten(e)),o.anyIsError(r,e)?f.value:Math.pow(n.PEARSON(r,e),2)},n.SKEW=function(){var r=o.parseNumberArray(o.flatten(arguments));if(r instanceof Error)return r;for(var n=u.mean(r),e=r.length,t=0,a=0;e>a;a++)t+=Math.pow(r[a]-n,3);return e*t/((e-1)*(e-2)*Math.pow(u.stdev(r,!0),3))},n.SKEW.P=function(){var r=o.parseNumberArray(o.flatten(arguments));if(r instanceof Error)return r;for(var n=u.mean(r),e=r.length,t=0,a=0,i=0;e>i;i++)a+=Math.pow(r[i]-n,3),t+=Math.pow(r[i]-n,2);return a/=e,t/=e,a/Math.pow(t,1.5)},n.SLOPE=function(r,n){if(r=o.parseNumberArray(o.flatten(r)),n=o.parseNumberArray(o.flatten(n)),o.anyIsError(r,n))return f.value;for(var e=u.mean(n),t=u.mean(r),a=n.length,i=0,s=0,l=0;a>l;l++)i+=(n[l]-e)*(r[l]-t),s+=Math.pow(n[l]-e,2);return i/s},n.SMALL=function(r,n){return r=o.parseNumberArray(o.flatten(r)),n=o.parseNumber(n),o.anyIsError(r,n)?r:r.sort(function(r,n){return r-n})[n-1]},n.STANDARDIZE=function(r,n,e){return r=o.parseNumber(r),n=o.parseNumber(n),e=o.parseNumber(e),o.anyIsError(r,n,e)?f.value:(r-n)/e},n.STDEV={},n.STDEV.P=function(){var r=n.VAR.P.apply(this,arguments),e=Math.sqrt(r);return isNaN(e)&&(e=f.num),e},n.STDEV.S=function(){var r=n.VAR.S.apply(this,arguments);return Math.sqrt(r)},n.STDEVA=function(){var r=n.VARA.apply(this,arguments);return Math.sqrt(r)},n.STDEVPA=function(){var r=n.VARPA.apply(this,arguments),e=Math.sqrt(r);return isNaN(e)&&(e=f.num),e},n.STEYX=function(r,n){if(r=o.parseNumberArray(o.flatten(r)),n=o.parseNumberArray(o.flatten(n)),o.anyIsError(r,n))return f.value;for(var e=u.mean(n),t=u.mean(r),a=n.length,i=0,s=0,l=0,c=0;a>c;c++)i+=Math.pow(r[c]-t,2),s+=(n[c]-e)*(r[c]-t),l+=Math.pow(n[c]-e,2);return Math.sqrt((i-s*s/l)/(a-2))},n.TRANSPOSE=function(r){return r?u.transpose(r):f.na},n.T=a.T,n.T.DIST=function(r,n,e){return r=o.parseNumber(r),n=o.parseNumber(n),o.anyIsError(r,n)?f.value:e?u.studentt.cdf(r,n):u.studentt.pdf(r,n)},n.T.DIST["2T"]=function(r,n){return 2!==arguments.length?f.na:0>r||1>n?f.num:"number"!=typeof r||"number"!=typeof n?f.value:2*(1-u.studentt.cdf(r,n))},n.T.DIST.RT=function(r,n){return 2!==arguments.length?f.na:0>r||1>n?f.num:"number"!=typeof r||"number"!=typeof n?f.value:1-u.studentt.cdf(r,n)},n.T.INV=function(r,n){return r=o.parseNumber(r),n=o.parseNumber(n),o.anyIsError(r,n)?f.value:u.studentt.inv(r,n)},n.T.INV["2T"]=function(r,n){return r=o.parseNumber(r),n=o.parseNumber(n),0>=r||r>1||1>n?f.num:o.anyIsError(r,n)?f.value:Math.abs(u.studentt.inv(r/2,n))},n.T.TEST=function(r,e){if(r=o.parseNumberArray(o.flatten(r)),e=o.parseNumberArray(o.flatten(e)),o.anyIsError(r,e))return f.value;var t,a=u.mean(r),i=u.mean(e),s=0,l=0;for(t=0;r.length>t;t++)s+=Math.pow(r[t]-a,2);for(t=0;e.length>t;t++)l+=Math.pow(e[t]-i,2);s/=r.length-1,l/=e.length-1;var c=Math.abs(a-i)/Math.sqrt(s/r.length+l/e.length);return n.T.DIST["2T"](c,r.length+e.length-2)},n.TREND=function(r,e,t){if(r=o.parseNumberArray(o.flatten(r)),e=o.parseNumberArray(o.flatten(e)),t=o.parseNumberArray(o.flatten(t)),o.anyIsError(r,e,t))return f.value;var a=n.LINEST(r,e),u=a[0],i=a[1],s=[];return t.forEach(function(r){s.push(u*r+i)}),s},n.TRIMMEAN=function(r,n){if(r=o.parseNumberArray(o.flatten(r)),n=o.parseNumber(n),o.anyIsError(r,n))return f.value;var e=t.FLOOR(r.length*n,2)/2;return u.mean(o.initial(o.rest(r.sort(function(r,n){return r-n}),e),e))},n.VAR={},n.VAR.P=function(){for(var r,e=o.numbers(o.flatten(arguments)),t=e.length,a=0,u=n.AVERAGE(e),i=0;t>i;i++)a+=Math.pow(e[i]-u,2);return r=a/t,isNaN(r)&&(r=f.num),r},n.VAR.S=function(){for(var r=o.numbers(o.flatten(arguments)),e=r.length,t=0,a=n.AVERAGE(r),u=0;e>u;u++)t+=Math.pow(r[u]-a,2);return t/(e-1)},n.VARA=function(){for(var r=o.flatten(arguments),e=r.length,t=0,a=0,u=n.AVERAGEA(r),i=0;e>i;i++){var f=r[i];t+="number"==typeof f?Math.pow(f-u,2):!0===f?Math.pow(1-u,2):Math.pow(0-u,2),null!==f&&a++}return t/(a-1)},n.VARPA=function(){for(var r,e=o.flatten(arguments),t=e.length,a=0,u=0,i=n.AVERAGEA(e),s=0;t>s;s++){var l=e[s];a+="number"==typeof l?Math.pow(l-i,2):!0===l?Math.pow(1-i,2):Math.pow(0-i,2),null!==l&&u++}return r=a/u,isNaN(r)&&(r=f.num),r},n.WEIBULL={},n.WEIBULL.DIST=function(r,n,e,t){return r=o.parseNumber(r),n=o.parseNumber(n),e=o.parseNumber(e),o.anyIsError(r,n,e)?f.value:t?1-Math.exp(-Math.pow(r/e,n)):Math.pow(r,n-1)*Math.exp(-Math.pow(r/e,n))*n/Math.pow(e,n)},n.Z={},n.Z.TEST=function(r,e,t){if(r=o.parseNumberArray(o.flatten(r)),e=o.parseNumber(e),o.anyIsError(r,e))return f.value;t=t||n.STDEV.S(r);var a=r.length;return 1-n.NORM.S.DIST((n.AVERAGE(r)-e)/(t/Math.sqrt(a)),!0)}},function(r,n,e){var t=e(1),a=e(0);n.ASC=function(){throw Error("ASC is not implemented")},n.BAHTTEXT=function(){throw Error("BAHTTEXT is not implemented")},n.CHAR=function(r){return r=t.parseNumber(r),r instanceof Error?r:String.fromCharCode(r)},n.CLEAN=function(r){return r=r||"",r.replace(/[\0-\x1F]/g,"")},n.CODE=function(r){r=r||"";var n=r.charCodeAt(0);return isNaN(n)&&(n=a.na),n},n.CONCATENATE=function(){for(var r=t.flatten(arguments),n=0;(n=r.indexOf(!0))>-1;)r[n]="TRUE";for(var e=0;(e=r.indexOf(!1))>-1;)r[e]="FALSE";return r.join("")},n.DBCS=function(){throw Error("DBCS is not implemented")},n.DOLLAR=function(){throw Error("DOLLAR is not implemented")},n.EXACT=function(r,n){return 2!==arguments.length?a.na:r===n},n.FIND=function(r,n,e){return 2>arguments.length?a.na:(e=e===undefined?0:e,n?n.indexOf(r,e-1)+1:null)},n.FIXED=function(){throw Error("FIXED is not implemented")},n.HTML2TEXT=function(r){var n="";return r&&(r instanceof Array?r.forEach(function(r){""!==n&&(n+="\n"),n+=r.replace(/<(?:.|\n)*?>/gm,"")}):n=r.replace(/<(?:.|\n)*?>/gm,"")),n},n.LEFT=function(r,n){return n=n===undefined?1:n,n=t.parseNumber(n),n instanceof Error||"string"!=typeof r?a.value:r?r.substring(0,n):null},n.LEN=function(r){return 0===arguments.length?a.error:"string"==typeof r?r?r.length:0:r.length?r.length:a.value},n.LOWER=function(r){return"string"!=typeof r?a.value:r?r.toLowerCase():r},n.MID=function(r,n,e){if(n=t.parseNumber(n),e=t.parseNumber(e),t.anyIsError(n,e)||"string"!=typeof r)return e;var a=n-1;return r.substring(a,a+e)},n.NUMBERVALUE=function(r,n,e){return n=void 0===n?".":n,e=void 0===e?",":e,+r.replace(n,".").replace(e,"")},n.PRONETIC=function(){throw Error("PRONETIC is not implemented")},n.PROPER=function(r){return r===undefined||0===r.length?a.value:(!0===r&&(r="TRUE"),!1===r&&(r="FALSE"),isNaN(r)&&"number"==typeof r?a.value:("number"==typeof r&&(r=""+r),r.replace(/\w\S*/g,function(r){return r.charAt(0).toUpperCase()+r.substr(1).toLowerCase()})))},n.REGEXEXTRACT=function(r,n){if(2>arguments.length)return a.na;var e=r.match(RegExp(n));return e?e[e.length>1?e.length-1:0]:null},n.REGEXMATCH=function(r,n,e){if(2>arguments.length)return a.na;var t=r.match(RegExp(n));return e?t:!!t},n.REGEXREPLACE=function(r,n,e){return 3>arguments.length?a.na:r.replace(RegExp(n),e)},n.REPLACE=function(r,n,e,u){return n=t.parseNumber(n),e=t.parseNumber(e),t.anyIsError(n,e)||"string"!=typeof r||"string"!=typeof u?a.value:r.substr(0,n-1)+u+r.substr(n-1+e)},n.REPT=function(r,n){return n=t.parseNumber(n),n instanceof Error?n:Array(n+1).join(r)},n.RIGHT=function(r,n){return n=n===undefined?1:n,n=t.parseNumber(n),n instanceof Error?n:r?r.substring(r.length-n):a.na},n.SEARCH=function(r,n,e){var t;return"string"!=typeof r||"string"!=typeof n?a.value:(e=e===undefined?0:e,t=n.toLowerCase().indexOf(r.toLowerCase(),e-1)+1,0===t?a.value:t)},n.SPLIT=function(r,n){return r.split(n)},n.SUBSTITUTE=function(r,n,e,t){if(2>arguments.length)return a.na;if(!(r&&n&&e))return r;if(t===undefined)return r.replace(RegExp(n,"g"),e);for(var u=0,o=0;r.indexOf(n,u)>0;)if(u=r.indexOf(n,u+1),++o===t)return r.substring(0,u)+e+r.substring(u+n.length)},n.T=function(r){return"string"==typeof r?r:""},n.TEXT=function(){throw Error("TEXT is not implemented")},n.TRIM=function(r){return"string"!=typeof r?a.value:r.replace(/ +/g," ").trim()},n.UNICHAR=n.CHAR,n.UNICODE=n.CODE,n.UPPER=function(r){return"string"!=typeof r?a.value:r.toUpperCase()},n.VALUE=function(){throw Error("VALUE is not implemented")}},function(r,n){function e(r,n){if(-1===h.indexOf(n))throw Error("Unsupported token type: "+n);return{value:r,type:n}}function t(r){return"string"!=typeof r?r:(/^\d+(\.\d+)?$/.test(r)&&(r=-1===r.indexOf(".")?parseInt(r,10):parseFloat(r)),r)}function a(r){for(var n=r.length,e=[],t=0,a="",u="";n>t;){var o=r.charAt(t);switch(o){case">":case"<":case"=":u+=o,a.length>0&&(e.push(a),a="");break;default:u.length>0&&(e.push(u),u=""),a+=o}t++}return a.length>0&&e.push(a),u.length>0&&e.push(u),e}function u(r){for(var n="",a=[],u=0;r.length>u;u++){var o=r[u];0!==u||0>s.indexOf(o)?n+=o:a.push(e(o,l))}return n.length>0&&a.push(e(t(n),c)),a.length>0&&a[0].type!==l&&a.unshift(e(f,l)),a}function o(r){for(var n,e=[],t=0;r.length>t;t++){var a=r[t];switch(a.type){case l:n=a.value;break;case c:e.push(a.value)}}return i(e,n)}function i(r,n){var e=!1;switch(n){case">":e=r[0]>r[1];break;case">=":e=r[0]>=r[1];break;case"<":e=r[1]>r[0];break;case"<=":e=r[1]>=r[0];break;case"=":e=r[0]==r[1];break;case"<>":e=r[0]!=r[1]}return e}var f="=",s=[">",">=","<","<=","=","<>"],l="operator",c="literal",h=[l,c];n.TOKEN_TYPE_OPERATOR=l,n.TOKEN_TYPE_LITERAL=c,n.parse=function(r){return u(a(r))},n.createToken=e,n.compute=o},function(r,n,e){var t=e(0);n.CELL=function(){throw Error("CELL is not implemented")},n.ERROR={},n.ERROR.TYPE=function(r){switch(r){case t.nil:return 1;case t.div0:return 2;case t.value:return 3;case t.ref:return 4;case t.name:return 5;case t.num:return 6;case t.na:return 7;case t.data:return 8}return t.na},n.INFO=function(){throw Error("INFO is not implemented")},n.ISBLANK=function(r){return null===r},n.ISBINARY=function(r){return/^[01]{1,10}$/.test(r)},n.ISERR=function(r){return[t.value,t.ref,t.div0,t.num,t.name,t.nil].indexOf(r)>=0||"number"==typeof r&&(isNaN(r)||!isFinite(r))},n.ISERROR=function(r){return n.ISERR(r)||r===t.na},n.ISEVEN=function(r){return!(1&Math.floor(Math.abs(r)))},n.ISFORMULA=function(){throw Error("ISFORMULA is not implemented")},n.ISLOGICAL=function(r){return!0===r||!1===r},n.ISNA=function(r){return r===t.na},n.ISNONTEXT=function(r){return"string"!=typeof r},n.ISNUMBER=function(r){return"number"==typeof r&&!isNaN(r)&&isFinite(r)},n.ISODD=function(r){return!!(1&Math.floor(Math.abs(r)))},n.ISREF=function(){throw Error("ISREF is not implemented")},n.ISTEXT=function(r){return"string"==typeof r},n.N=function(r){return this.ISNUMBER(r)?r:r instanceof Date?r.getTime():!0===r?1:!1===r?0:this.ISERROR(r)?r:0},n.NA=function(){return t.na},n.SHEET=function(){throw Error("SHEET is not implemented")},n.SHEETS=function(){throw Error("SHEETS is not implemented")},n.TYPE=function(r){return this.ISNUMBER(r)?1:this.ISTEXT(r)?2:this.ISLOGICAL(r)?4:this.ISERROR(r)?16:Array.isArray(r)?64:void 0}},function(r,n,e){function t(r){return 1===new Date(r,1,29).getMonth()}function a(r,n){return Math.ceil((n-r)/1e3/60/60/24)}function u(r){var n=r>-22038912e5?2:1;return Math.ceil((r-f)/864e5)+n}var o=e(0),i=e(1),f=new Date(Date.UTC(1900,0,1)),s=[undefined,0,1,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,1,2,3,4,5,6,0],l=[[],[1,2,3,4,5,6,7],[7,1,2,3,4,5,6],[6,0,1,2,3,4,5],[],[],[],[],[],[],[],[7,1,2,3,4,5,6],[6,7,1,2,3,4,5],[5,6,7,1,2,3,4],[4,5,6,7,1,2,3],[3,4,5,6,7,1,2],[2,3,4,5,6,7,1],[1,2,3,4,5,6,7]],c=[[],[6,0],[0,1],[1,2],[2,3],[3,4],[4,5],[5,6],undefined,undefined,undefined,[0,0],[1,1],[2,2],[3,3],[4,4],[5,5],[6,6]];n.DATE=function(r,n,e){return r=i.parseNumber(r),n=i.parseNumber(n),e=i.parseNumber(e),i.anyIsError(r,n,e)?o.value:0>r||0>n||0>e?o.num:new Date(r,n-1,e)},n.DATEVALUE=function(r){var n,e=2;return"string"!=typeof r?o.value:(n=Date.parse(r),isNaN(n)?o.value:(n>-22038912e5||(e=1),Math.ceil((n-f)/864e5)+e))},n.DAY=function(r){var n=i.parseDate(r);return n instanceof Error?n:n.getDate()},n.DAYS=function(r,n){return r=i.parseDate(r),n=i.parseDate(n),r instanceof Error?r:n instanceof Error?n:u(r)-u(n)},n.DAYS360=function(r,n,e){if(e=i.parseBool(e),r=i.parseDate(r),n=i.parseDate(n),r instanceof Error)return r;if(n instanceof Error)return n;if(e instanceof Error)return e;var t,a,u=r.getMonth(),o=n.getMonth();if(e)t=31===r.getDate()?30:r.getDate(),a=31===n.getDate()?30:n.getDate();else{var f=new Date(r.getFullYear(),u+1,0).getDate(),s=new Date(n.getFullYear(),o+1,0).getDate();t=r.getDate()===f?30:r.getDate(),n.getDate()===s?30>t?(o++,a=1):a=30:a=n.getDate()}return 360*(n.getFullYear()-r.getFullYear())+30*(o-u)+(a-t)},n.EDATE=function(r,n){return(r=i.parseDate(r))instanceof Error?r:isNaN(n)?o.value:(n=parseInt(n,10),r.setMonth(r.getMonth()+n),u(r))},n.EOMONTH=function(r,n){return(r=i.parseDate(r))instanceof Error?r:isNaN(n)?o.value:(n=parseInt(n,10),u(new Date(r.getFullYear(),r.getMonth()+n+1,0)))},n.HOUR=function(r){return r=i.parseDate(r),r instanceof Error?r:r.getHours()},n.INTERVAL=function(r){if("number"!=typeof r&&"string"!=typeof r)return o.value;r=parseInt(r,10);var n=Math.floor(r/94608e4);r%=94608e4;var e=Math.floor(r/2592e3);r%=2592e3;var t=Math.floor(r/86400);r%=86400;var a=Math.floor(r/3600);r%=3600;var u=Math.floor(r/60);r%=60;var i=r;return n=n>0?n+"Y":"",e=e>0?e+"M":"",t=t>0?t+"D":"",a=a>0?a+"H":"",u=u>0?u+"M":"",i=i>0?i+"S":"","P"+n+e+t+"T"+a+u+i},n.ISOWEEKNUM=function(r){if((r=i.parseDate(r))instanceof Error)return r;r.setHours(0,0,0),r.setDate(r.getDate()+4-(r.getDay()||7));var n=new Date(r.getFullYear(),0,1);return Math.ceil(((r-n)/864e5+1)/7)},n.MINUTE=function(r){return r=i.parseDate(r),r instanceof Error?r:r.getMinutes()},n.MONTH=function(r){return r=i.parseDate(r),r instanceof Error?r:r.getMonth()+1},n.NETWORKDAYS=function(r,n,e){return this.NETWORKDAYS.INTL(r,n,1,e)},n.NETWORKDAYS.INTL=function(r,n,e,t){if((r=i.parseDate(r))instanceof Error)return r;if((n=i.parseDate(n))instanceof Error)return n;if(!((e=e===undefined?c[1]:c[e])instanceof Array))return o.value;t===undefined?t=[]:t instanceof Array||(t=[t]);for(var a=0;t.length>a;a++){var u=i.parseDate(t[a]);if(u instanceof Error)return u;t[a]=u}var f=(n-r)/864e5+1,s=f,l=r;for(a=0;f>a;a++){var h=(new Date).getTimezoneOffset()>0?l.getUTCDay():l.getDay(),p=!1;h!==e[0]&&h!==e[1]||(p=!0);for(var m=0;t.length>m;m++){var E=t[m];if(E.getDate()===l.getDate()&&E.getMonth()===l.getMonth()&&E.getFullYear()===l.getFullYear()){p=!0;break}}p&&s--,l.setDate(l.getDate()+1)}return s},n.NOW=function(){return new Date},n.SECOND=function(r){return r=i.parseDate(r),r instanceof Error?r:r.getSeconds()},n.TIME=function(r,n,e){return r=i.parseNumber(r),n=i.parseNumber(n),e=i.parseNumber(e),i.anyIsError(r,n,e)?o.value:0>r||0>n||0>e?o.num:(3600*r+60*n+e)/86400},n.TIMEVALUE=function(r){return r=i.parseDate(r),r instanceof Error?r:(3600*r.getHours()+60*r.getMinutes()+r.getSeconds())/86400},n.TODAY=function(){return new Date},n.WEEKDAY=function(r,n){if((r=i.parseDate(r))instanceof Error)return r;n===undefined&&(n=1);var e=r.getDay();return l[n][e]},n.WEEKNUM=function(r,n){if((r=i.parseDate(r))instanceof Error)return r;if(n===undefined&&(n=1),21===n)return this.ISOWEEKNUM(r);var e=s[n],t=new Date(r.getFullYear(),0,1),a=t.getDay()n)return o.num;if(!((e=e===undefined?c[1]:c[e])instanceof Array))return o.value;t===undefined?t=[]:t instanceof Array||(t=[t]);for(var a=0;t.length>a;a++){var u=i.parseDate(t[a]);if(u instanceof Error)return u;t[a]=u}for(var f=0;n>f;){r.setDate(r.getDate()+1);var s=r.getDay();if(s!==e[0]&&s!==e[1]){for(var l=0;t.length>l;l++){var h=t[l];if(h.getDate()===r.getDate()&&h.getMonth()===r.getMonth()&&h.getFullYear()===r.getFullYear()){f--;break}}f++}}return r},n.YEAR=function(r){return r=i.parseDate(r),r instanceof Error?r:r.getFullYear()},n.YEARFRAC=function(r,n,e){if((r=i.parseDate(r))instanceof Error)return r;if((n=i.parseDate(n))instanceof Error)return n;e=e||0;var u=r.getDate(),o=r.getMonth()+1,f=r.getFullYear(),s=n.getDate(),l=n.getMonth()+1,c=n.getFullYear();switch(e){case 0:return 31===u&&31===s?(u=30,s=30):31===u?u=30:30===u&&31===s&&(s=30),(s+30*l+360*c-(u+30*o+360*f))/360;case 1:var h=365;if(f===c||f+1===c&&(o>l||o===l&&u>=s))return(f===c&&t(f)||function(r,n){var e=r.getFullYear(),a=new Date(e,2,1);if(t(e)&&a>r&&n>=a)return!0;var u=n.getFullYear(),o=new Date(u,2,1);return t(u)&&n>=o&&o>r}(r,n)||1===l&&29===s)&&(h=366),a(r,n)/h;var p=c-f+1,m=(new Date(c+1,0,1)-new Date(f,0,1))/1e3/60/60/24,E=m/p;return a(r,n)/E;case 2:return a(r,n)/360;case 3:return a(r,n)/365;case 4:return(s+30*l+360*c-(u+30*o+360*f))/360}}},function(n,e,t){!function(r,e){n.exports=e()}("undefined"!=typeof self&&self,function(){var n=function(r,n){function e(n,e){var t=n>e?n:e;return r.pow(10,17-~~(r.log(t>0?t:-t)*r.LOG10E))}function t(r){return"[object Function]"===p.call(r)}function a(r){return"number"==typeof r&&r===r}function u(r){return c.apply([],r)}function o(){return new o._init(arguments)}function f(){return 0}function s(){return 1}function l(r,n){return r===n?1:0}var c=Array.prototype.concat,h=Array.prototype.slice,p=Object.prototype.toString,m=Array.isArray||function(r){return"[object Array]"===p.call(r)};o.fn=o.prototype,o._init=function(r){var n;if(m(r[0]))if(m(r[0][0])){t(r[1])&&(r[0]=o.map(r[0],r[1]));for(var n=0;r[0].length>n;n++)this[n]=r[0][n];this.length=r[0].length}else this[0]=t(r[1])?o.map(r[0],r[1]):r[0],this.length=1;else if(a(r[0]))this[0]=o.seq.apply(null,r),this.length=1;else{if(r[0]instanceof o)return o(r[0].toArray());this[0]=[],this.length=1}return this},o._init.prototype=o.prototype,o._init.constructor=o,o.utils={calcRdx:e,isArray:m,isFunction:t,isNumber:a,toVector:u},o.extend=function(r){var n,e;if(1===arguments.length){for(e in r)o[e]=r[e];return this}for(var n=1;arguments.length>n;n++)for(e in arguments[n])r[e]=arguments[n][e];return r},o.rows=function(r){return r.length||1},o.cols=function(r){return r[0].length||1},o.dimensions=function(r){return{rows:o.rows(r),cols:o.cols(r)}},o.row=function(r,n){return m(n)?n.map(function(n){return o.row(r,n)}):r[n]},o.rowa=function(r,n){return o.row(r,n)},o.col=function(r,n){if(m(n)){var e=o.arange(r.length).map(function(r){return Array(n.length)});return n.forEach(function(n,t){o.arange(r.length).forEach(function(a){e[a][t]=r[a][n]})}),e}for(var t=Array(r.length),a=0;r.length>a;a++)t[a]=[r[a][n]];return t},o.cola=function(r,n){return o.col(r,n).map(function(r){return r[0]})},o.diag=function(r){for(var n=o.rows(r),e=Array(n),t=0;n>t;t++)e[t]=[r[t][t]];return e},o.antidiag=function(r){for(var n=o.rows(r)-1,e=Array(n),t=0;n>=0;n--,t++)e[t]=[r[t][n]];return e},o.transpose=function(r){var n,e,t,a,u,o=[];m(r[0])||(r=[r]),e=r.length,t=r[0].length;for(var u=0;t>u;u++){for(n=Array(e),a=0;e>a;a++)n[a]=r[a][u];o.push(n)}return 1===o.length?o[0]:o},o.map=function(r,n,e){var t,a,u,o,i;for(m(r[0])||(r=[r]),a=r.length,u=r[0].length,o=e?r:Array(a),t=0;a>t;t++)for(o[t]||(o[t]=Array(u)),i=0;u>i;i++)o[t][i]=n(r[t][i],t,i);return 1===o.length?o[0]:o},o.cumreduce=function(r,n,e){var t,a,u,o,i;for(m(r[0])||(r=[r]),a=r.length,u=r[0].length,o=e?r:Array(a),t=0;a>t;t++)for(o[t]||(o[t]=Array(u)),u>0&&(o[t][0]=r[t][0]),i=1;u>i;i++)o[t][i]=n(o[t][i-1],r[t][i]);return 1===o.length?o[0]:o},o.alter=function(r,n){return o.map(r,n,!0)},o.create=function(r,n,e){var a,u,o=Array(r);t(n)&&(e=n,n=r);for(var a=0;r>a;a++)for(o[a]=Array(n),u=0;n>u;u++)o[a][u]=e(a,u);return o},o.zeros=function(r,n){return a(n)||(n=r),o.create(r,n,f)},o.ones=function(r,n){return a(n)||(n=r),o.create(r,n,s)},o.rand=function(n,e){return a(e)||(e=n),o.create(n,e,r.random)},o.identity=function(r,n){return a(n)||(n=r),o.create(r,n,l)},o.symmetric=function(r){var n,e,t=r.length;if(r.length!==r[0].length)return!1;for(n=0;t>n;n++)for(e=0;t>e;e++)if(r[e][n]!==r[n][e])return!1;return!0},o.clear=function(r){return o.alter(r,f)},o.seq=function(r,n,a,u){t(u)||(u=!1);var o,i=[],f=e(r,n),s=(n*f-r*f)/((a-1)*f),l=r;for(o=0;n>=l&&a>o;o++,l=(r*f+s*f*o)/f)i.push(u?u(l,o):l);return i},o.arange=function(r,e,t){var a=[];if(t=t||1,e===n&&(e=r,r=0),r===e||0===t)return[];if(e>r&&0>t)return[];if(r>e&&t>0)return[];if(t>0)for(i=r;ie;i+=t)a.push(i);return a},o.slice=function(){function r(r,e,t,a){var u,i=[],f=r.length;if(e===n&&t===n&&a===n)return o.copy(r);if(e=e||0,t=t||r.length,e=0>e?f+e:e,t=0>t?f+t:t,a=a||1,e===t||0===a)return[];if(t>e&&0>a)return[];if(e>t&&a>0)return[];if(a>0)for(u=e;t>u;u+=a)i.push(r[u]);else for(u=e;u>t;u+=a)i.push(r[u]);return i}function e(n,e){if(e=e||{},a(e.row)){if(a(e.col))return n[e.row][e.col];var t=o.rowa(n,e.row),u=e.col||{};return r(t,u.start,u.end,u.step)}if(a(e.col)){var i=o.cola(n,e.col),f=e.row||{};return r(i,f.start,f.end,f.step)}var f=e.row||{},u=e.col||{};return r(n,f.start,f.end,f.step).map(function(n){return r(n,u.start,u.end,u.step)})}return e}(),o.sliceAssign=function(e,t,u){if(a(t.row)){if(a(t.col))return e[t.row][t.col]=u;t.col=t.col||{},t.col.start=t.col.start||0,t.col.end=t.col.end||e[0].length,t.col.step=t.col.step||1;var i=o.arange(t.col.start,r.min(e.length,t.col.end),t.col.step),f=t.row;return i.forEach(function(r,n){e[f][r]=u[n]}),e}if(a(t.col)){t.row=t.row||{},t.row.start=t.row.start||0,t.row.end=t.row.end||e.length,t.row.step=t.row.step||1;var s=o.arange(t.row.start,r.min(e[0].length,t.row.end),t.row.step),l=t.col;return s.forEach(function(r,n){e[r][l]=u[n]}),e}u[0].length===n&&(u=[u]),t.row.start=t.row.start||0,t.row.end=t.row.end||e.length,t.row.step=t.row.step||1,t.col.start=t.col.start||0,t.col.end=t.col.end||e[0].length,t.col.step=t.col.step||1;var s=o.arange(t.row.start,r.min(e.length,t.row.end),t.row.step),i=o.arange(t.col.start,r.min(e[0].length,t.col.end),t.col.step);return s.forEach(function(r,n){i.forEach(function(t,a){e[r][t]=u[n][a]})}),e},o.diagonal=function(r){var n=o.zeros(r.length,r.length);return r.forEach(function(r,e){n[e][e]=r}),n},o.copy=function(r){return r.map(function(r){return a(r)?r:r.map(function(r){return r})})};var E=o.prototype;return E.length=0,E.push=Array.prototype.push,E.sort=Array.prototype.sort,E.splice=Array.prototype.splice,E.slice=Array.prototype.slice,E.toArray=function(){return this.length>1?h.call(this):h.call(this)[0]},E.map=function(r,n){return o(o.map(this,r,n))},E.cumreduce=function(r,n){return o(o.cumreduce(this,r,n))},E.alter=function(r){return o.alter(this,r),this},function(r){for(var n=0;r.length>n;n++)!function(r){E[r]=function(n){var e,t=this;return n?(setTimeout(function(){n.call(t,E[r].call(t))}),this):(e=o[r](this),m(e)?o(e):e)}}(r[n])}("transpose clear symmetric rows cols dimensions diag antidiag".split(" ")),function(r){for(var n=0;r.length>n;n++)!function(r){E[r]=function(n,e){var t=this;return e?(setTimeout(function(){e.call(t,E[r].call(t,n))}),this):o(o[r](this,n))}}(r[n])}("row col".split(" ")),function(r){for(var n=0;r.length>n;n++)!function(r){E[r]=function(){return o(o[r].apply(null,arguments))}}(r[n])}("create zeros ones rand identity".split(" ")),o}(Math);return function(r,n){function e(r,n){return r-n}function t(r,e,t){return n.max(e,n.min(r,t))}var a=r.utils.isFunction;r.sum=function(r){for(var n=0,e=r.length;--e>=0;)n+=r[e];return n},r.sumsqrd=function(r){for(var n=0,e=r.length;--e>=0;)n+=r[e]*r[e];return n},r.sumsqerr=function(n){for(var e,t=r.mean(n),a=0,u=n.length;--u>=0;)e=n[u]-t,a+=e*e;return a},r.sumrow=function(r){for(var n=0,e=r.length;--e>=0;)n+=r[e];return n},r.product=function(r){for(var n=1,e=r.length;--e>=0;)n*=r[e];return n},r.min=function(r){for(var n=r[0],e=0;++er[e]&&(n=r[e]);return n},r.max=function(r){for(var n=r[0],e=0;++en&&(n=r[e]);return n},r.unique=function(r){for(var n={},e=[],t=0;r.length>t;t++)n[r[t]]||(n[r[t]]=!0,e.push(r[t]));return e},r.mean=function(n){return r.sum(n)/n.length},r.meansqerr=function(n){return r.sumsqerr(n)/n.length},r.geomean=function(e){return n.pow(r.product(e),1/e.length)},r.median=function(r){var n=r.length,t=r.slice().sort(e);return 1&n?t[n/2|0]:(t[n/2-1]+t[n/2])/2},r.cumsum=function(n){return r.cumreduce(n,function(r,n){return r+n})},r.cumprod=function(n){return r.cumreduce(n,function(r,n){return r*n})},r.diff=function(r){for(var n,e=[],t=r.length,n=1;t>n;n++)e.push(r[n]-r[n-1]);return e},r.rank=function(r){for(var n=r.length,t=r.slice().sort(e),a=Array(n),u=0;n>u;u++){var o=t.indexOf(r[u]),i=t.lastIndexOf(r[u]);if(o===i)var f=o;else var f=(o+i)/2;a[u]=f+1}return a},r.mode=function(r){for(var n,t=r.length,a=r.slice().sort(e),u=1,o=0,i=0,f=[],n=0;t>n;n++)a[n]===a[n+1]?u++:(u>o?(f=[a[n]],o=u,i=0):u===o&&(f.push(a[n]),i++),u=1);return 0===i?f[0]:f},r.range=function(n){return r.max(n)-r.min(n)},r.variance=function(n,e){return r.sumsqerr(n)/(n.length-(e?1:0))},r.pooledvariance=function(n){return n.reduce(function(n,e){return n+r.sumsqerr(e)},0)/(n.reduce(function(r,n){return r+n.length},0)-n.length)},r.deviation=function(n){for(var e=r.mean(n),t=n.length,a=Array(t),u=0;t>u;u++)a[u]=n[u]-e;return a},r.stdev=function(e,t){return n.sqrt(r.variance(e,t))},r.pooledstdev=function(e){return n.sqrt(r.pooledvariance(e))},r.meandev=function(e){for(var t=r.mean(e),a=[],u=e.length-1;u>=0;u--)a.push(n.abs(e[u]-t));return r.mean(a)},r.meddev=function(e){for(var t=r.median(e),a=[],u=e.length-1;u>=0;u--)a.push(n.abs(e[u]-t));return r.median(a)},r.coeffvar=function(n){return r.stdev(n)/r.mean(n)},r.quartiles=function(r){var t=r.length,a=r.slice().sort(e);return[a[n.round(t/4)-1],a[n.round(t/2)-1],a[n.round(3*t/4)-1]]},r.quantiles=function(r,a,u,o){var i,f,s,l,c,h,p=r.slice().sort(e),m=[a.length],E=r.length;void 0===u&&(u=3/8),void 0===o&&(o=3/8);for(var i=0;a.length>i;i++)f=a[i],s=u+f*(1-u-o),l=E*f+s,c=n.floor(t(l,1,E-1)),h=t(l-c,0,1),m[i]=(1-h)*p[c-1]+h*p[c];return m},r.percentile=function(r,n){var t=r.slice().sort(e),a=n*(t.length-1),u=parseInt(a),o=a-u;return t.length>u+1?t[u]*(1-o)+t[u+1]*o:t[u]},r.percentileOfScore=function(r,n,e){var t,a,u=0,o=r.length,i=!1;"strict"===e&&(i=!0);for(var a=0;o>a;a++)t=r[a],(i&&n>t||!i&&n>=t)&&u++;return u/o},r.histogram=function(e,t){for(var a,u=r.min(e),o=t||4,i=(r.max(e)-u)/o,f=e.length,t=[],a=0;o>a;a++)t[a]=0;for(var a=0;f>a;a++)t[n.min(n.floor((e[a]-u)/i),o-1)]+=1;return t},r.covariance=function(n,e){for(var t,a=r.mean(n),u=r.mean(e),o=n.length,i=Array(o),t=0;o>t;t++)i[t]=(n[t]-a)*(e[t]-u);return r.sum(i)/(o-1)},r.corrcoeff=function(n,e){return r.covariance(n,e)/r.stdev(n,1)/r.stdev(e,1)},r.spearmancoeff=function(n,e){return n=r.rank(n),e=r.rank(e),r.corrcoeff(n,e)},r.stanMoment=function(e,t){for(var a=r.mean(e),u=r.stdev(e),o=e.length,i=0,f=0;o>f;f++)i+=n.pow((e[f]-a)/u,t);return i/e.length},r.skewness=function(n){return r.stanMoment(n,3)},r.kurtosis=function(n){return r.stanMoment(n,4)-3};var u=r.prototype;!function(n){for(var e=0;n.length>e;e++)!function(n){u[n]=function(e,t){var o=[],i=0,f=this;if(a(e)&&(t=e,e=!1),t)return setTimeout(function(){t.call(f,u[n].call(f,e))}),this;if(this.length>1){for(f=!0===e?this:this.transpose();f.length>i;i++)o[i]=r[n](f[i]);return o}return r[n](this[0],e)}}(n[e])}("cumsum cumprod".split(" ")),function(n){for(var e=0;n.length>e;e++)!function(n){u[n]=function(e,t){var o=[],i=0,f=this;if(a(e)&&(t=e,e=!1),t)return setTimeout(function(){t.call(f,u[n].call(f,e))}),this;if(this.length>1){for("sumrow"!==n&&(f=!0===e?this:this.transpose());f.length>i;i++)o[i]=r[n](f[i]);return!0===e?r[n](r.utils.toVector(o)):o}return r[n](this[0],e)}}(n[e])}("sum sumsqrd sumsqerr sumrow product min max unique mean meansqerr geomean median diff rank mode range variance deviation stdev meandev meddev coeffvar quartiles histogram skewness kurtosis".split(" ")),function(n){for(var e=0;n.length>e;e++)!function(n){u[n]=function(){var e=[],t=0,o=this,i=Array.prototype.slice.call(arguments);if(a(i[i.length-1])){var f=i[i.length-1],s=i.slice(0,i.length-1);return setTimeout(function(){f.call(o,u[n].apply(o,s))}),this}var f=undefined,l=function(e){return r[n].apply(o,[e].concat(i))};if(this.length>1){for(o=o.transpose();o.length>t;t++)e[t]=l(o[t]);return e}return l(this[0])}}(n[e])}("quantiles percentileOfScore".split(" "))}(n,Math),function(r,n){r.gammaln=function(r){var e,t,a,u=0,o=[76.18009172947146,-86.50532032941678,24.01409824083091,-1.231739572450155,.001208650973866179,-5395239384953e-18],i=1.000000000190015;for(a=(t=e=r)+5.5,a-=(e+.5)*n.log(a);6>u;u++)i+=o[u]/++t;return n.log(2.5066282746310007*i/e)-a},r.gammafn=function(r){var e,t,a,u,o=[-1.716185138865495,24.76565080557592,-379.80425647094563,629.3311553128184,866.9662027904133,-31451.272968848367,-36144.413418691176,66456.14382024054],i=[-30.8402300119739,315.35062697960416,-1015.1563674902192,-3107.771671572311,22538.11842098015,4755.846277527881,-134659.9598649693,-115132.2596755535],f=!1,s=0,l=0,c=0,h=r;if(0>=h){if(!(u=h%1+3.6e-16))return Infinity;f=(1&h?-1:1)*n.PI/n.sin(n.PI*u),h=1-h}a=h,t=1>h?h++:(h-=s=(0|h)-1)-1;for(var e=0;8>e;++e)c=(c+o[e])*t,l=l*t+i[e];if(u=c/l+1,h>a)u/=a;else if(a>h)for(var e=0;s>e;++e)u*=h,h++;return f&&(u=f/u),u},r.gammap=function(n,e){return r.lowRegGamma(n,e)*r.gammafn(n)},r.lowRegGamma=function(e,t){var a,u=r.gammaln(e),o=e,i=1/e,f=i,s=t+1-e,l=1/1e-30,c=1/s,h=c,p=1,m=-~(8.5*n.log(1>e?1/e:e)+.4*e+17);if(0>t||0>=e)return NaN;if(e+1>t){for(;m>=p;p++)i+=f*=t/++o;return i*n.exp(-t+e*n.log(t)-u)}for(;m>=p;p++)a=-p*(p-e),s+=2,c=a*c+s,l=s+a/l,c=1/c,h*=c*l;return 1-h*n.exp(-t+e*n.log(t)-u)},r.factorialln=function(n){return 0>n?NaN:r.gammaln(n+1)},r.factorial=function(n){return 0>n?NaN:r.gammafn(n+1)},r.combination=function(e,t){return e>170||t>170?n.exp(r.combinationln(e,t)):r.factorial(e)/r.factorial(t)/r.factorial(e-t)},r.combinationln=function(n,e){return r.factorialln(n)-r.factorialln(e)-r.factorialln(n-e)},r.permutation=function(n,e){return r.factorial(n)/r.factorial(n-e)},r.betafn=function(e,t){return e>0&&t>0?e+t>170?n.exp(r.betaln(e,t)):r.gammafn(e)*r.gammafn(t)/r.gammafn(e+t):undefined},r.betaln=function(n,e){return r.gammaln(n)+r.gammaln(e)-r.gammaln(n+e)},r.betacf=function(r,e,t){var a,u,o,i,f=1,s=e+t,l=e+1,c=e-1,h=1,p=1-s*r/l;for(1e-30>n.abs(p)&&(p=1e-30),p=1/p,i=p;100>=f&&(a=2*f,u=f*(t-f)*r/((c+a)*(e+a)),p=1+u*p,1e-30>n.abs(p)&&(p=1e-30),h=1+u/h,1e-30>n.abs(h)&&(h=1e-30),p=1/p,i*=p*h,u=-(e+f)*(s+f)*r/((e+a)*(l+a)),p=1+u*p,1e-30>n.abs(p)&&(p=1e-30),h=1+u/h,1e-30>n.abs(h)&&(h=1e-30),p=1/p,o=p*h,i*=o,3e-7<=n.abs(o-1));f++);return i},r.gammapinv=function(e,t){var a,u,o,i,f,s,l,c=0,h=t-1,p=r.gammaln(t);if(e>=1)return n.max(100,t+100*n.sqrt(t));if(0>=e)return 0;for(t>1?(s=n.log(h),l=n.exp(h*(s-1)-p),f=.5>e?e:1-e,o=n.sqrt(-2*n.log(f)),a=(2.30753+.27061*o)/(1+o*(.99229+.04481*o))-o,.5>e&&(a=-a),a=n.max(.001,t*n.pow(1-1/(9*t)-a/(3*n.sqrt(t)),3))):(o=1-t*(.253+.12*t),a=o>e?n.pow(e/o,1/t):1-n.log(1-(e-o)/(1-o)));12>c;c++){if(0>=a)return 0;if(u=r.lowRegGamma(t,a)-e,o=t>1?l*n.exp(-(a-h)+h*(n.log(a)-s)):n.exp(-a+h*n.log(a)-p),i=u/o,a-=o=i/(1-.5*n.min(1,i*((t-1)/a-1))),a>0||(a=.5*(a+o)),n.abs(o)<1e-8*a)break}return a},r.erf=function(r){var e,t,a,u,o=[-1.3026537197817094,.6419697923564902,.019476473204185836,-.00956151478680863,-.000946595344482036,.000366839497852761,42523324806907e-18,-20278578112534e-18,-1624290004647e-18,130365583558e-17,1.5626441722e-8,-8.5238095915e-8,6.529054439e-9,5.059343495e-9,-9.91364156e-10,-2.27365122e-10,9.6467911e-11,2.394038e-12,-6.886027e-12,8.94487e-13,3.13092e-13,-1.12708e-13,3.81e-16,7.106e-15,-1.523e-15,-9.4e-17,1.21e-16,-2.8e-17],i=27,f=!1,s=0,l=0;for(0>r&&(r=-r,f=!0),e=2/(2+r),t=4*e-2;i>0;i--)a=s,s=t*s-l+o[i],l=a;return u=e*n.exp(-r*r+.5*(o[0]+t*s)-l),f?u-1:1-u},r.erfc=function(n){return 1-r.erf(n)},r.erfcinv=function(e){var t,a,u,o,i=0;if(e>=2)return-100;if(0>=e)return 100;for(o=1>e?e:2-e,u=n.sqrt(-2*n.log(o/2)),t=-.70711*((2.30753+.27061*u)/(1+u*(.99229+.04481*u))-u);2>i;i++)a=r.erfc(t)-o,t+=a/(1.1283791670955126*n.exp(-t*t)-t*a);return 1>e?t:-t},r.ibetainv=function(e,t,a){var u,o,i,f,s,l,c,h,p,m,E,N=t-1,v=a-1,g=0;if(0>=e)return 0;if(e>=1)return 1;for(1>t||1>a?(u=n.log(t/(t+a)),o=n.log(a/(t+a)),f=n.exp(t*u)/t,s=n.exp(a*o)/a,m=f+s,c=f/m>e?n.pow(t*m*e,1/t):1-n.pow(a*m*(1-e),1/a)):(i=.5>e?e:1-e,f=n.sqrt(-2*n.log(i)),c=(2.30753+.27061*f)/(1+f*(.99229+.04481*f))-f,.5>e&&(c=-c),h=(c*c-3)/6,p=2/(1/(2*t-1)+1/(2*a-1)),m=c*n.sqrt(h+p)/p-(1/(2*a-1)-1/(2*t-1))*(h+5/6-2/(3*p)),c=t/(t+a*n.exp(2*m))),E=-r.gammaln(t)-r.gammaln(a)+r.gammaln(t+a);10>g;g++){if(0===c||1===c)return c;if(l=r.ibeta(c,t,a)-e,f=n.exp(N*n.log(c)+v*n.log(1-c)+E),s=l/f,c-=f=s/(1-.5*n.min(1,s*(N/c-v/(1-c)))),c>0||(c=.5*(c+f)),1>c||(c=.5*(c+f+1)),n.abs(f)<1e-8*c&&g>0)break}return c},r.ibeta=function(e,t,a){var u=0===e||1===e?0:n.exp(r.gammaln(t+a)-r.gammaln(t)-r.gammaln(a)+t*n.log(e)+a*n.log(1-e));return e>=0&&1>=e&&((t+1)/(t+a+2)>e?u*r.betacf(e,t,a)/t:1-u*r.betacf(1-e,a,t)/a)},r.randn=function(e,t){var a,u,o,i,f;if(t||(t=e),e)return r.create(e,t,function(){return r.randn()});do{a=n.random(),u=1.7156*(n.random()-.5),o=a-.449871,i=n.abs(u)+.386595,f=o*o+i*(.196*i-.25472*o)}while(f>.27597&&(f>.27846||u*u>-4*n.log(a)*a*a));return u/a},r.randg=function(e,t,a){var u,o,i,f,s,l,c=e;if(a||(a=t),e||(e=1),t)return l=r.zeros(t,a),l.alter(function(){return r.randg(e)}),l;1>e&&(e+=1),u=e-1/3,o=1/n.sqrt(9*u);do{do{s=r.randn(),f=1+o*s}while(0>=f);f*=f*f,i=n.random()}while(i>1-.331*n.pow(s,4)&&n.log(i)>.5*s*s+u*(1-f+n.log(f)));if(e==c)return u*f;do{i=n.random()}while(0===i);return n.pow(i,1/c)*u*f},function(n){for(var e=0;n.length>e;e++)!function(n){r.fn[n]=function(){return r(r.map(this,function(e){return r[n](e)}))}}(n[e])}("gammaln gammafn factorial factorialln".split(" ")),function(n){for(var e=0;n.length>e;e++)!function(n){r.fn[n]=function(){return r(r[n].apply(null,arguments))}}(n[e])}("randn".split(" "))}(n,Math),function(r,n){function e(r){return r/n.abs(r)}function t(e,t,a){var u=[.9815606342467192,.9041172563704749,.7699026741943047,.5873179542866175,.3678314989981802,.1252334085114689],o=[.04717533638651183,.10693932599531843,.16007832854334622,.20316742672306592,.2334925365383548,.24914704581340277],i=.5*e;if(i>=8)return 1;var f=2*r.normal.cdf(i,0,1,1,0)-1;f=f3?2:3;for(var l=i,c=(8-i)/s,h=l+c,p=0,m=a-1,E=1;s>=E;E++){for(var N=0,v=.5*(h+l),g=.5*(h-l),I=1;12>=I;I++){var d,b;I>6?(d=12-I+1,b=u[d-1]):(d=I,b=-u[d-1]);var M=g*b,y=v+M,A=y*y;if(A>60)break;var R=2*r.normal.cdf(y,0,1,1,0),T=2*r.normal.cdf(y,e,1,1,0),O=.5*R-.5*T;On.exp(-30/t)?(f=n.pow(f,t),1>f?f:1):0}function a(r,e,t){var a=.5-.5*r,u=n.sqrt(n.log(1/(a*a))),o=u+((((-453642210148e-16*u-.204231210125)*u-.342242088547)*u-1)*u+.322232421088)/((((.0038560700634*u+.10353775285)*u+.531103462366)*u+.588581570495)*u+.099348462606);120>t&&(o+=(o*o*o+o)/t/4);var i=.8832-.2368*o;return 120>t&&(i+=-1.214/t+1.208*o/t),o*(i*n.log(e-1)+1.4142)}!function(n){for(var e=0;n.length>e;e++)!function(n){r[n]=function(r,n,e){return this instanceof arguments.callee?(this._a=r,this._b=n,this._c=e,this):new arguments.callee(r,n,e)},r.fn[n]=function(e,t,a){var u=r[n](e,t,a);return u.data=this,u},r[n].prototype.sample=function(e){var t=this._a,a=this._b,u=this._c;return e?r.alter(e,function(){return r[n].sample(t,a,u)}):r[n].sample(t,a,u)},function(e){for(var t=0;e.length>t;t++)!function(e){r[n].prototype[e]=function(t){var a=this._a,u=this._b,o=this._c;return t||0===t||(t=this.data),"number"!=typeof t?r.fn.map.call(t,function(t){return r[n][e](t,a,u,o)}):r[n][e](t,a,u,o)}}(e[t])}("pdf cdf inv".split(" ")),function(e){for(var t=0;e.length>t;t++)!function(e){r[n].prototype[e]=function(){return r[n][e](this._a,this._b,this._c)}}(e[t])}("mean median mode variance".split(" "))}(n[e])}("beta centralF cauchy chisquare exponential gamma invgamma kumaraswamy laplace lognormal noncentralt normal pareto studentt weibull uniform binomial negbin hypgeom poisson triangular tukey arcsine".split(" ")),r.extend(r.beta,{pdf:function(e,t,a){return e>1||0>e?0:1==t&&1==a?1:512>t&&512>a?n.pow(e,t-1)*n.pow(1-e,a-1)/r.betafn(t,a):n.exp((t-1)*n.log(e)+(a-1)*n.log(1-e)-r.betaln(t,a))},cdf:function(n,e,t){return n>1||0>n?1*(n>1):r.ibeta(n,e,t)},inv:function(n,e,t){return r.ibetainv(n,e,t)},mean:function(r,n){return r/(r+n)},median:function(n,e){return r.ibetainv(.5,n,e)},mode:function(r,n){return(r-1)/(r+n-2)},sample:function(n,e){var t=r.randg(n);return t/(t+r.randg(e))},variance:function(r,e){return r*e/(n.pow(r+e,2)*(r+e+1))}}),r.extend(r.centralF,{pdf:function(e,t,a){var u,o;return 0>e?0:t>2?(u=t*e/(a+e*t),o=a/(a+e*t),t*o/2*r.binomial.pdf((t-2)/2,(t+a-2)/2,u)):0===e&&2>t?Infinity:0===e&&2===t?1:1/r.betafn(t/2,a/2)*n.pow(t/a,t/2)*n.pow(e,t/2-1)*n.pow(1+t/a*e,-(t+a)/2)},cdf:function(n,e,t){return 0>n?0:r.ibeta(e*n/(e*n+t),e/2,t/2)},inv:function(n,e,t){return t/(e*(1/r.ibetainv(n,e/2,t/2)-1))},mean:function(r,n){return n>2?n/(n-2):undefined},mode:function(r,n){return r>2?n*(r-2)/(r*(n+2)):undefined},sample:function(n,e){return 2*r.randg(n/2)/n/(2*r.randg(e/2)/e)},variance:function(r,n){return n>4?2*n*n*(r+n-2)/(r*(n-2)*(n-2)*(n-4)):undefined}}),r.extend(r.cauchy,{pdf:function(r,e,t){return 0>t?0:t/(n.pow(r-e,2)+n.pow(t,2))/n.PI},cdf:function(r,e,t){return n.atan((r-e)/t)/n.PI+.5},inv:function(r,e,t){return e+t*n.tan(n.PI*(r-.5))},median:function(r,n){return r},mode:function(r,n){return r},sample:function(e,t){return r.randn()*n.sqrt(1/(2*r.randg(.5)))*t+e}}),r.extend(r.chisquare,{pdf:function(e,t){return 0>e?0:0===e&&2===t?.5:n.exp((t/2-1)*n.log(e)-e/2-t/2*n.log(2)-r.gammaln(t/2))},cdf:function(n,e){return 0>n?0:r.lowRegGamma(e/2,n/2)},inv:function(n,e){return 2*r.gammapinv(n,.5*e)},mean:function(r){return r},median:function(r){return r*n.pow(1-2/(9*r),3)},mode:function(r){return r-2>0?r-2:0},sample:function(n){return 2*r.randg(n/2)},variance:function(r){return 2*r}}),r.extend(r.exponential,{pdf:function(r,e){return 0>r?0:e*n.exp(-e*r)},cdf:function(r,e){return 0>r?0:1-n.exp(-e*r)},inv:function(r,e){return-n.log(1-r)/e},mean:function(r){return 1/r},median:function(r){return 1/r*n.log(2)},mode:function(r){return 0},sample:function(r){return-1/r*n.log(n.random())},variance:function(r){return n.pow(r,-2)}}),r.extend(r.gamma,{pdf:function(e,t,a){return 0>e?0:0===e&&1===t?1/a:n.exp((t-1)*n.log(e)-e/a-r.gammaln(t)-t*n.log(a))},cdf:function(n,e,t){return 0>n?0:r.lowRegGamma(e,n/t)},inv:function(n,e,t){return r.gammapinv(n,e)*t},mean:function(r,n){return r*n},mode:function(r,n){return r>1?(r-1)*n:undefined},sample:function(n,e){return r.randg(n)*e},variance:function(r,n){return r*n*n}}),r.extend(r.invgamma,{pdf:function(e,t,a){return e>0?n.exp(-(t+1)*n.log(e)-a/e-r.gammaln(t)+t*n.log(a)):0},cdf:function(n,e,t){return n>0?1-r.lowRegGamma(e,t/n):0},inv:function(n,e,t){return t/r.gammapinv(1-n,e)},mean:function(r,n){return r>1?n/(r-1):undefined},mode:function(r,n){return n/(r+1)},sample:function(n,e){return e/r.randg(n)},variance:function(r,n){return r>2?n*n/((r-1)*(r-1)*(r-2)):undefined}}),r.extend(r.kumaraswamy,{pdf:function(r,e,t){return 0===r&&1===e?t:1===r&&1===t?e:n.exp(n.log(e)+n.log(t)+(e-1)*n.log(r)+(t-1)*n.log(1-n.pow(r,e)))},cdf:function(r,e,t){return 0>r?0:r>1?1:1-n.pow(1-n.pow(r,e),t)},inv:function(r,e,t){return n.pow(1-n.pow(1-r,1/t),1/e)},mean:function(n,e){return e*r.gammafn(1+1/n)*r.gammafn(e)/r.gammafn(1+1/n+e)},median:function(r,e){return n.pow(1-n.pow(2,-1/e),1/r)},mode:function(r,e){return 1>r||1>e||1===r||1===e?undefined:n.pow((r-1)/(r*e-1),1/r)},variance:function(r,n){throw Error("variance not yet implemented")}}),r.extend(r.lognormal,{pdf:function(r,e,t){return r>0?n.exp(-n.log(r)-.5*n.log(2*n.PI)-n.log(t)-n.pow(n.log(r)-e,2)/(2*t*t)):0},cdf:function(e,t,a){return 0>e?0:.5+.5*r.erf((n.log(e)-t)/n.sqrt(2*a*a))},inv:function(e,t,a){return n.exp(-1.4142135623730951*a*r.erfcinv(2*e)+t)},mean:function(r,e){return n.exp(r+e*e/2)},median:function(r,e){return n.exp(r)},mode:function(r,e){return n.exp(r-e*e)},sample:function(e,t){return n.exp(r.randn()*t+e)},variance:function(r,e){return(n.exp(e*e)-1)*n.exp(2*r+e*e)}}),r.extend(r.noncentralt,{pdf:function(e,t,a){return 1e-14>n.abs(a)?r.studentt.pdf(e,t):1e-14>n.abs(e)?n.exp(r.gammaln((t+1)/2)-a*a/2-.5*n.log(n.PI*t)-r.gammaln(t/2)):t/e*(r.noncentralt.cdf(e*n.sqrt(1+2/t),t+2,a)-r.noncentralt.cdf(e,t,a))},cdf:function(e,t,a){if(1e-14>n.abs(a))return r.studentt.cdf(e,t);var u=!1;0>e&&(u=!0,a=-a);for(var o=r.normal.cdf(-a,0,1),i=1e-14+1,f=i,s=e*e/(e*e+t),l=0,c=n.exp(-a*a/2),h=n.exp(-a*a/2-.5*n.log(2)-r.gammaln(1.5))*a;200>l||f>1e-14||i>1e-14;)f=i,l>0&&(c*=a*a/(2*l),h*=a*a/(2*(l+.5))),i=c*r.beta.cdf(s,l+.5,t/2)+h*r.beta.cdf(s,l+1,t/2),o+=.5*i,l++;return u?1-o:o}}),r.extend(r.normal,{pdf:function(r,e,t){return n.exp(-.5*n.log(2*n.PI)-n.log(t)-n.pow(r-e,2)/(2*t*t))},cdf:function(e,t,a){return.5*(1+r.erf((e-t)/n.sqrt(2*a*a)))},inv:function(n,e,t){return-1.4142135623730951*t*r.erfcinv(2*n)+e},mean:function(r,n){return r},median:function(r,n){return r},mode:function(r,n){return r},sample:function(n,e){return r.randn()*e+n},variance:function(r,n){return n*n}}),r.extend(r.pareto,{pdf:function(r,e,t){return e>r?0:t*n.pow(e,t)/n.pow(r,t+1)},cdf:function(r,e,t){return e>r?0:1-n.pow(e/r,t)},inv:function(r,e,t){return e/n.pow(1-r,1/t)},mean:function(r,e){return e>1?e*n.pow(r,e)/(e-1):undefined},median:function(r,e){return r*(e*n.SQRT2)},mode:function(r,n){return r},variance:function(r,e){return e>2?r*r*e/(n.pow(e-1,2)*(e-2)):undefined}}),r.extend(r.studentt,{pdf:function(e,t){return t=t>1e100?1e100:t,1/(n.sqrt(t)*r.betafn(.5,t/2))*n.pow(1+e*e/t,-(t+1)/2)},cdf:function(e,t){var a=t/2;return r.ibeta((e+n.sqrt(e*e+t))/(2*n.sqrt(e*e+t)),a,a)},inv:function(e,t){var a=r.ibetainv(2*n.min(e,1-e),.5*t,.5);return a=n.sqrt(t*(1-a)/a),e>.5?a:-a},mean:function(r){return r>1?0:undefined},median:function(r){return 0},mode:function(r){return 0},sample:function(e){return r.randn()*n.sqrt(e/(2*r.randg(e/2)))},variance:function(r){return r>2?r/(r-2):r>1?Infinity:undefined}}),r.extend(r.weibull,{pdf:function(r,e,t){return 0>r||0>e||0>t?0:t/e*n.pow(r/e,t-1)*n.exp(-n.pow(r/e,t))},cdf:function(r,e,t){return 0>r?0:1-n.exp(-n.pow(r/e,t))},inv:function(r,e,t){return e*n.pow(-n.log(1-r),1/t)},mean:function(n,e){return n*r.gammafn(1+1/e)},median:function(r,e){return r*n.pow(n.log(2),1/e)},mode:function(r,e){return e>1?r*n.pow((e-1)/e,1/e):0},sample:function(r,e){return r*n.pow(-n.log(n.random()),1/e)},variance:function(e,t){return e*e*r.gammafn(1+2/t)-n.pow(r.weibull.mean(e,t),2)}}),r.extend(r.uniform,{pdf:function(r,n,e){return n>r||r>e?0:1/(e-n)},cdf:function(r,n,e){return n>r?0:e>r?(r-n)/(e-n):1},inv:function(r,n,e){return n+r*(e-n)},mean:function(r,n){return.5*(r+n)},median:function(n,e){return r.mean(n,e)},mode:function(r,n){throw Error("mode is not yet implemented")},sample:function(r,e){return r/2+e/2+(e/2-r/2)*(2*n.random()-1)},variance:function(r,e){return n.pow(e-r,2)/12}}),r.extend(r.binomial,{pdf:function(e,t,a){return 0===a||1===a?t*a===e?1:0:r.combination(t,e)*n.pow(a,e)*n.pow(1-a,t-e)},cdf:function(n,e,t){var a=[],u=0;if(0>n)return 0;if(e>n){for(;n>=u;u++)a[u]=r.binomial.pdf(u,e,t);return r.sum(a)}return 1}}),r.extend(r.negbin,{pdf:function(e,t,a){return e===e>>>0&&(0>e?0:r.combination(e+t-1,t-1)*n.pow(1-a,e)*n.pow(a,t))},cdf:function(n,e,t){var a=0,u=0;if(0>n)return 0;for(;n>=u;u++)a+=r.negbin.pdf(u,e,t);return a}}),r.extend(r.hypgeom,{pdf:function(e,t,a,u){if(e!==e|0)return!1;if(0>e||a-(t-u)>e)return 0;if(e>u||e>a)return 0;if(2*a>t)return 2*u>t?r.hypgeom.pdf(t-a-u+e,t,t-a,t-u):r.hypgeom.pdf(u-e,t,t-a,u);if(2*u>t)return r.hypgeom.pdf(a-e,t,a,t-u);if(u>a)return r.hypgeom.pdf(e,t,u,a);for(var o=1,i=0,f=0;e>f;f++){for(;o>1&&u>i;)o*=1-a/(t-i),i++;o*=(u-f)*(a-f)/((f+1)*(t-a-u+f+1))}for(;u>i;i++)o*=1-a/(t-i);return n.min(1,n.max(0,o))},cdf:function(e,t,a,u){if(0>e||a-(t-u)>e)return 0;if(u>e&&a>e){if(2*a>t)return 2*u>t?r.hypgeom.cdf(t-a-u+e,t,t-a,t-u):1-r.hypgeom.cdf(u-e-1,t,t-a,u);if(2*u>t)return 1-r.hypgeom.cdf(a-e-1,t,a,t-u);if(u>a)return r.hypgeom.cdf(e,t,u,a);for(var o=1,i=1,f=0,s=0;e>s;s++){for(;o>1&&u>f;){var l=1-a/(t-f);i*=l,o*=l,f++}i*=(u-s)*(a-s)/((s+1)*(t-a-u+s+1)),o+=i}for(;u>f;f++)o*=1-a/(t-f);return n.min(1,n.max(0,o))}return 1}}),r.extend(r.poisson,{pdf:function(e,t){return 0>t||e%1!=0||0>e?0:n.pow(t,e)*n.exp(-t)/r.factorial(e)},cdf:function(n,e){var t=[],a=0;if(0>n)return 0;for(;n>=a;a++)t.push(r.poisson.pdf(a,e));return r.sum(t)},mean:function(r){return r},variance:function(r){return r},sample:function(r){var e=1,t=0,a=n.exp(-r);do{t++,e*=n.random()}while(e>a);return t-1}}),r.extend(r.triangular,{pdf:function(r,n,e,t){return n>=e||n>t||t>e?NaN:n>r||r>e?0:t>r?2*(r-n)/((e-n)*(t-n)):r===t?2/(e-n):2*(e-r)/((e-n)*(e-t))},cdf:function(r,e,t,a){return e>=t||e>a||a>t?NaN:r>e?t>r?r>a?1-n.pow(t-r,2)/((t-e)*(t-a)):n.pow(r-e,2)/((t-e)*(a-e)):1:0},inv:function(r,e,t,a){return e>=t||e>a||a>t?NaN:r>(a-e)/(t-e)?e+(t-e)*(1-n.sqrt((1-r)*(1-(a-e)/(t-e)))):e+(t-e)*n.sqrt(r*((a-e)/(t-e)))},mean:function(r,n,e){return(r+n+e)/3},median:function(r,e,t){return t>(r+e)/2?t>(r+e)/2?r+n.sqrt((e-r)*(t-r))/n.sqrt(2):void 0:e-n.sqrt((e-r)*(e-t))/n.sqrt(2)},mode:function(r,n,e){return e},sample:function(r,e,t){var a=n.random();return(t-r)/(e-r)>a?r+n.sqrt(a*(e-r)*(t-r)):e-n.sqrt((1-a)*(e-r)*(e-t))},variance:function(r,n,e){return(r*r+n*n+e*e-r*n-r*e-n*e)/18}}),r.extend(r.arcsine,{pdf:function(r,e,t){return t>e?r>e&&t>r?2/n.PI*n.pow(n.pow(t-e,2)-n.pow(2*r-e-t,2),-.5):0:NaN},cdf:function(r,e,t){return e>r?0:t>r?2/n.PI*n.asin(n.sqrt((r-e)/(t-e))):1},inv:function(r,e,t){return e+(.5-.5*n.cos(n.PI*r))*(t-e)},mean:function(r,n){return n>r?(r+n)/2:NaN},median:function(r,n){return n>r?(r+n)/2:NaN},mode:function(r,n){throw Error("mode is not yet implemented")},sample:function(e,t){return(e+t)/2+(t-e)/2*n.sin(2*n.PI*r.uniform.sample(0,1))},variance:function(r,e){return e>r?n.pow(e-r,2)/8:NaN}}),r.extend(r.laplace,{pdf:function(r,e,t){return t>0?n.exp(-n.abs(r-e)/t)/(2*t):0},cdf:function(r,e,t){return t>0?e>r?.5*n.exp((r-e)/t):1-.5*n.exp(-(r-e)/t):0},mean:function(r,n){return r},median:function(r,n){return r},mode:function(r,n){return r},variance:function(r,n){return 2*n*n},sample:function(r,t){var a=n.random()-.5;return r-t*e(a)*n.log(1-2*n.abs(a))}}),r.extend(r.tukey,{cdf:function(e,a,u){var o=a,i=[.9894009349916499,.9445750230732326,.8656312023878318,.755404408355003,.6178762444026438,.45801677765722737,.2816035507792589,.09501250983763744],f=[.027152459411754096,.062253523938647894,.09515851168249279,.12462897125553388,.14959598881657674,.16915651939500254,.18260341504492358,.1894506104550685];if(0>=e)return 0;if(2>u||2>o)return NaN;if(!Number.isFinite(e))return 1;if(u>25e3)return t(e,1,o);var s,l=.5*u,c=l*n.log(u)-u*n.log(2)-r.gammaln(l),h=l-1,p=.25*u;s=u>100?u>800?u>5e3?.125:.25:.5:1,c+=n.log(s);for(var m=0,E=1;50>=E;E++){for(var N=0,v=(2*E-1)*s,g=1;16>=g;g++){var I,d;g>8?(I=g-8-1,d=c+h*n.log(v+i[I]*s)-(i[I]*s+v)*p):(I=g-1,d=c+h*n.log(v-i[I]*s)+(i[I]*s-v)*p);var b;if(d>=-30){b=g>8?e*n.sqrt(.5*(i[I]*s+v)):e*n.sqrt(.5*(-i[I]*s+v));N+=t(b,1,o)*f[I]*n.exp(d)}}if(E*s>=1&&1e-14>=N)break;m+=N}if(N>1e-14)throw Error("tukey.cdf failed to converge");return m>1&&(m=1),m},inv:function(e,t,u){var o=t;if(2>u||2>o)return NaN;if(0>e||e>1)return NaN;if(0===e)return 0;if(1===e)return Infinity;var i,f=a(e,o,u),s=r.tukey.cdf(f,t,u)-e;i=s>0?n.max(0,f-1):f+1;for(var l,c=r.tukey.cdf(i,t,u)-e,h=1;50>h;h++){l=i-c*(i-f)/(c-s),s=c,f=i,0>l&&(l=0,c=-e),c=r.tukey.cdf(l,t,u)-e,i=l;if(1e-4>n.abs(i-f))return l}throw Error("tukey.inv failed to converge")}})}(n,Math),function(n,e){function t(r){return u(r)||r instanceof n}var a=Array.prototype.push,u=n.utils.isArray;n.extend({add:function(r,e){return t(e)?(t(e[0])||(e=[e]),n.map(r,function(r,n,t){return r+e[n][t]})):n.map(r,function(r){return r+e})},subtract:function(r,e){return t(e)?(t(e[0])||(e=[e]),n.map(r,function(r,n,t){return r-e[n][t]||0})):n.map(r,function(r){return r-e})},divide:function(r,e){return t(e)?(t(e[0])||(e=[e]),n.multiply(r,n.inv(e))):n.map(r,function(r){return r/e})},multiply:function(r,e){var a,u,o,i,f,s,l,c;if(r.length===undefined&&e.length===undefined)return r*e;if(f=r.length,s=r[0].length,l=n.zeros(f,o=t(e)?e[0].length:s),c=0,t(e)){for(;o>c;c++)for(a=0;f>a;a++){for(i=0,u=0;s>u;u++)i+=r[a][u]*e[u][c];l[a][c]=i}return 1===f&&1===c?l[0][0]:l}return n.map(r,function(r){return r*e})},outer:function(r,e){return n.multiply(r.map(function(r){return[r]}),[e])},dot:function(r,e){t(r[0])||(r=[r]),t(e[0])||(e=[e]);for(var a,u,o=1===r[0].length&&1!==r.length?n.transpose(r):r,i=1===e[0].length&&1!==e.length?n.transpose(e):e,f=[],s=0,l=o.length,c=o[0].length;l>s;s++){for(f[s]=[],a=0,u=0;c>u;u++)a+=o[s][u]*i[s][u];f[s]=a}return 1===f.length?f[0]:f},pow:function(r,t){return n.map(r,function(r){return e.pow(r,t)})},exp:function(r){return n.map(r,function(r){return e.exp(r)})},log:function(r){return n.map(r,function(r){return e.log(r)})},abs:function(r){return n.map(r,function(r){return e.abs(r)})},norm:function(r,n){var a=0,u=0;for(isNaN(n)&&(n=2),t(r[0])&&(r=r[0]);r.length>u;u++)a+=e.pow(e.abs(r[u]),n);return e.pow(a,1/n)},angle:function(r,t){return e.acos(n.dot(r,t)/(n.norm(r)*n.norm(t)))},aug:function(r,n){for(var e=[],t=0;r.length>t;t++)e.push(r[t].slice());for(var t=0;e.length>t;t++)a.apply(e[t],n[t]);return e},inv:function(r){for(var e,t=r.length,a=r[0].length,u=n.identity(t,a),o=n.gauss_jordan(r,u),i=[],f=0;t>f;f++)for(i[f]=[],e=a;o[0].length>e;e++)i[f][e-a]=o[f][e];return i},det:function(r){var n,e=r.length,t=2*e,a=Array(t),u=e-1,o=t-1,i=u-e+1,f=o,s=0,l=0;if(2===e)return r[0][0]*r[1][1]-r[0][1]*r[1][0];for(;t>s;s++)a[s]=1;for(var s=0;e>s;s++){for(n=0;e>n;n++)a[0>i?i+e:i]*=r[s][n],a[e>f?f+e:f]*=r[s][n],i++,f--;i=--u-e+1,f=--o}for(var s=0;e>s;s++)l+=a[s];for(;t>s;s++)l-=a[s];return l},gauss_elimination:function(r,t){var a,u,o,i,f=0,s=0,l=r.length,c=r[0].length,h=1,p=0,m=[];r=n.aug(r,t),a=r[0].length;for(var f=0;l>f;f++){for(u=r[f][f],s=f,i=f+1;c>i;i++)ui;i++)o=r[f][i],r[f][i]=r[s][i],r[s][i]=o;for(s=f+1;l>s;s++)for(h=r[s][f]/r[f][f],i=f;a>i;i++)r[s][i]=r[s][i]-h*r[f][i]}for(var f=l-1;f>=0;f--){for(p=0,s=f+1;l-1>=s;s++)p+=m[s]*r[f][s];m[f]=(r[f][a-1]-p)/r[f][f]}return m},gauss_jordan:function(r,t){for(var a=n.aug(r,t),u=a.length,o=a[0].length,i=0,f=0;u>f;f++){for(var s=f,l=f+1;u>l;l++)e.abs(a[l][f])>e.abs(a[s][f])&&(s=l);var c=a[f];a[f]=a[s],a[s]=c;for(var l=f+1;u>l;l++){i=a[l][f]/a[f][f];for(var h=f;o>h;h++)a[l][h]-=a[f][h]*i}}for(var f=u-1;f>=0;f--){i=a[f][f];for(var l=0;f>l;l++)for(var h=o-1;h>f-1;h--)a[l][h]-=a[f][h]*a[l][f]/i;a[f][f]/=i;for(var h=u;o>h;h++)a[f][h]/=i}return a},triaUpSolve:function(r,e){var t,a=r[0].length,u=n.zeros(1,a)[0],o=!1;return e[0].length!=undefined&&(e=e.map(function(r){return r[0]}),o=!0),n.arange(a-1,-1,-1).forEach(function(o){t=n.arange(o+1,a).map(function(n){return u[n]*r[o][n]}),u[o]=(e[o]-n.sum(t))/r[o][o]}),o?u.map(function(r){return[r]}):u},triaLowSolve:function(r,e){var t,a=r[0].length,u=n.zeros(1,a)[0],o=!1;return e[0].length!=undefined&&(e=e.map(function(r){return r[0]}),o=!0),n.arange(a).forEach(function(a){t=n.arange(a).map(function(n){return r[a][n]*u[n]}),u[a]=(e[a]-n.sum(t))/r[a][a]}),o?u.map(function(r){return[r]}):u},lu:function(r){var e,t=r.length,a=n.identity(t),u=n.zeros(r.length,r[0].length);return n.arange(t).forEach(function(n){u[0][n]=r[0][n]}),n.arange(1,t).forEach(function(o){n.arange(o).forEach(function(t){e=n.arange(t).map(function(r){return a[o][r]*u[r][t]}),a[o][t]=(r[o][t]-n.sum(e))/u[t][t]}),n.arange(o,t).forEach(function(t){e=n.arange(o).map(function(r){return a[o][r]*u[r][t]}),u[o][t]=r[i][t]-n.sum(e)})}),[a,u]},cholesky:function(r){var t,a=r.length,u=n.zeros(r.length,r[0].length);return n.arange(a).forEach(function(o){t=n.arange(o).map(function(r){return e.pow(u[o][r],2)}),u[o][o]=e.sqrt(r[o][o]-n.sum(t)),n.arange(o+1,a).forEach(function(e){t=n.arange(o).map(function(r){return u[o][r]*u[e][r]}),u[e][o]=(r[o][e]-n.sum(t))/u[o][o]})}),u},gauss_jacobi:function(r,t,a,u){for(var o,i,f,s,l=0,c=0,h=r.length,p=[],m=[],E=[];h>l;l++)for(p[l]=[],m[l]=[],E[l]=[],c=0;h>c;c++)l>c?(p[l][c]=r[l][c],m[l][c]=E[l][c]=0):c>l?(m[l][c]=r[l][c],p[l][c]=E[l][c]=0):(E[l][c]=r[l][c],p[l][c]=m[l][c]=0);for(f=n.multiply(n.multiply(n.inv(E),n.add(p,m)),-1),i=n.multiply(n.inv(E),t),o=a,s=n.add(n.multiply(f,a),i),l=2;e.abs(n.norm(n.subtract(s,o)))>u;)o=s,s=n.add(n.multiply(f,o),i),l++;return s},gauss_seidel:function(r,t,a,u){for(var o,i,f,s,l,c=0,h=r.length,p=[],m=[],E=[];h>c;c++)for(p[c]=[],m[c]=[],E[c]=[],o=0;h>o;o++)c>o?(p[c][o]=r[c][o],m[c][o]=E[c][o]=0):o>c?(m[c][o]=r[c][o],p[c][o]=E[c][o]=0):(E[c][o]=r[c][o],p[c][o]=m[c][o]=0);for(s=n.multiply(n.multiply(n.inv(n.add(E,p)),m),-1),f=n.multiply(n.inv(n.add(E,p)),t),i=a,l=n.add(n.multiply(s,a),f),c=2;e.abs(n.norm(n.subtract(l,i)))>u;)i=l,l=n.add(n.multiply(s,i),f),c+=1;return l},SOR:function(r,t,a,u,o){for(var i,f,s,l,c,h=0,p=r.length,m=[],E=[],N=[];p>h;h++)for(m[h]=[],E[h]=[],N[h]=[],i=0;p>i;i++)h>i?(m[h][i]=r[h][i],E[h][i]=N[h][i]=0):i>h?(E[h][i]=r[h][i],m[h][i]=N[h][i]=0):(N[h][i]=r[h][i],m[h][i]=E[h][i]=0);for(l=n.multiply(n.inv(n.add(N,n.multiply(m,o))),n.subtract(n.multiply(N,1-o),n.multiply(E,o))),s=n.multiply(n.multiply(n.inv(n.add(N,n.multiply(m,o))),t),o),f=a,c=n.add(n.multiply(l,a),s),h=2;e.abs(n.norm(n.subtract(c,f)))>u;)f=c,c=n.add(n.multiply(l,f),s),h++;return c},householder:function(r){for(var t,a,u,o,i,f=r.length,s=r[0].length,l=0,c=[],h=[];f-1>l;l++){for(t=0,o=l+1;s>o;o++)t+=r[o][l]*r[o][l];for(i=r[l+1][l]>0?-1:1,t=i*e.sqrt(t),a=e.sqrt((t*t-r[l+1][l]*t)/2),c=n.zeros(f,1),c[l+1][0]=(r[l+1][l]-t)/(2*a),u=l+2;f>u;u++)c[u][0]=r[u][l]/(2*a);h=n.subtract(n.identity(f,s),n.multiply(n.multiply(c,n.transpose(c)),2)),r=n.multiply(h,n.multiply(r,h))}return r},QR:function(){function t(t){var o=t.length,i=t[0].length;t=n.copy(t),r=n.zeros(i,i);var f,s,l;for(s=0;i>s;s++){for(r[s][s]=e.sqrt(a(u(o).map(function(r){return t[r][s]*t[r][s]}))),f=0;o>f;f++)t[f][s]=t[f][s]/r[s][s];for(l=s+1;i>l;l++)for(r[s][l]=a(u(o).map(function(r){return t[r][s]*t[r][l]})),f=0;o>f;f++)t[f][l]=t[f][l]-t[f][s]*r[s][l]}return[t,r]}var a=n.sum,u=n.arange;return t}(),lstsq:function(r,e){function t(r){r=n.copy(r);var e=r.length,t=n.identity(e);return n.arange(e-1,-1,-1).forEach(function(e){n.sliceAssign(t,{row:e},n.divide(n.slice(t,{row:e}),r[e][e])),n.sliceAssign(r,{row:e},n.divide(n.slice(r,{row:e}),r[e][e])),n.arange(e).forEach(function(a){var u=n.multiply(r[a][e],-1),o=n.slice(r,{row:a}),i=n.multiply(n.slice(r,{row:e}),u);n.sliceAssign(r,{row:a},n.add(o,i));var f=n.slice(t,{row:a}),s=n.multiply(n.slice(t,{row:e}),u);n.sliceAssign(t,{row:a},n.add(f,s))})}),t}function a(r,e){var a=!1;e[0].length===undefined&&(e=e.map(function(r){return[r]}),a=!0);var u=n.QR(r),o=u[0],i=u[1],f=r[0].length,s=n.slice(o,{col:{end:f}}),l=n.slice(i,{row:{end:f}}),c=t(l),h=n.transpose(s);h[0].length===undefined&&(h=[h]);var p=n.multiply(n.multiply(c,h),e);return p.length===undefined&&(p=[[p]]),a?p.map(function(r){return r[0]}):p}return a}(),jacobi:function(r){for(var t,a,u,o,i,f,s,l,c=1,h=0,p=r.length,m=n.identity(p,p),E=[];1===c;){h++,f=r[0][1],o=0,i=1;for(var a=0;p>a;a++)for(u=0;p>u;u++)a!=u&&f0?e.PI/4:-e.PI/4:e.atan(2*r[o][i]/(r[o][o]-r[i][i]))/2,l=n.identity(p,p),l[o][o]=e.cos(s),l[o][i]=-e.sin(s),l[i][o]=e.sin(s),l[i][i]=e.cos(s),m=n.multiply(m,l),t=n.multiply(n.multiply(n.inv(l),r),l),r=t,c=0;for(var a=1;p>a;a++)for(u=1;p>u;u++)a!=u&&e.abs(r[a][u])>.001&&(c=1)}for(var a=0;p>a;a++)E.push(r[a][a]);return[m,E]},rungekutta:function(r,n,e,t,a,u){var o,i,f,s,l;if(2===u)for(;e>=t;)o=n*r(t,a),i=n*r(t+n,a+o),f=a+(o+i)/2,a=f,t+=n;if(4===u)for(;e>=t;)o=n*r(t,a),i=n*r(t+n/2,a+o/2),s=n*r(t+n/2,a+i/2),l=n*r(t+n,a+s),f=a+(o+2*i+2*s+l)/6,a=f,t+=n;return a},romberg:function(r,n,t,a){for(var u,o,i,f,s,l=0,c=(t-n)/2,h=[],p=[],m=[];a/2>l;){for(s=r(n),i=n,f=0;t>=i;i+=c,f++)h[f]=i;for(u=h.length,i=1;u-1>i;i++)s+=(i%2!=0?4:2)*r(h[i]);s=c/3*(s+r(t)),m[l]=s,c/=2,l++}for(o=m.length,u=1;1!==o;){for(i=0;o-1>i;i++)p[i]=(e.pow(4,u)*m[i+1]-m[i])/(e.pow(4,u)-1);o=p.length,m=p,p=[],u++}return m},richardson:function(r,n,t,a){function u(r,n){for(var e,t=0,a=r.length;a>t;t++)r[t]===n&&(e=t);return e}for(var o,i,f,s,l,c=e.abs(t-r[u(r,t)+1]),h=0,p=[],m=[];a>=c;)o=u(r,t+a),i=u(r,t),p[h]=(n[o]-2*n[i]+n[2*i-o])/(a*a),a/=2,h++;for(s=p.length,f=1;1!=s;){for(l=0;s-1>l;l++)m[l]=(e.pow(4,f)*p[l+1]-p[l])/(e.pow(4,f)-1);s=m.length,p=m,m=[],f++}return p},simpson:function(r,n,e,t){for(var a,u=(e-n)/t,o=r(n),i=[],f=n,s=0,l=1;e>=f;f+=u,s++)i[s]=f;for(a=i.length;a-1>l;l++)o+=(l%2!=0?4:2)*r(i[l]);return u/3*(o+r(e))},hermite:function(r,n,e,t){for(var a,u=r.length,o=0,i=0,f=[],s=[],l=[],c=[];u>i;i++){for(f[i]=1,a=0;u>a;a++)i!=a&&(f[i]*=(t-r[a])/(r[i]-r[a]));for(s[i]=0,a=0;u>a;a++)i!=a&&(s[i]+=1/(r[i]-r[a]));l[i]=f[i]*f[i]*(1-2*(t-r[i])*s[i]),c[i]=f[i]*f[i]*(t-r[i]),o+=l[i]*n[i]+c[i]*e[i]}return o},lagrange:function(r,n,e){for(var t,a,u=0,o=0,i=r.length;i>o;o++){for(a=n[o],t=0;i>t;t++)o!=t&&(a*=(e-r[t])/(r[o]-r[t]));u+=a}return u},cubic_spline:function(r,e,t){for(var a,u=r.length,o=0,i=[],f=[],s=[],l=[],c=[],h=[],p=[];u-1>o;o++)c[o]=r[o+1]-r[o];s[0]=0;for(var o=1;u-1>o;o++)s[o]=3/c[o]*(e[o+1]-e[o])-3/c[o-1]*(e[o]-e[o-1]);for(var o=1;u-1>o;o++)i[o]=[],f[o]=[],i[o][o-1]=c[o-1],i[o][o]=2*(c[o-1]+c[o]),i[o][o+1]=c[o],f[o][0]=s[o];for(l=n.multiply(n.inv(i),f),a=0;u-1>a;a++)h[a]=(e[a+1]-e[a])/c[a]-c[a]*(l[a+1][0]+2*l[a][0])/3,p[a]=(l[a+1][0]-l[a][0])/(3*c[a]);for(a=0;u>a&&r[a]<=t;a++);return a-=1,e[a]+(t-r[a])*h[a]+n.sq(t-r[a])*l[a]+(t-r[a])*n.sq(t-r[a])*p[a]},gauss_quadrature:function(){throw Error("gauss_quadrature not yet implemented")},PCA:function(r){for(var e,t,a=r.length,u=r[0].length,o=0,i=[],f=[],s=[],l=[],c=[],h=[],p=[],m=[],E=[],N=[],o=0;a>o;o++)i[o]=n.sum(r[o])/u;for(var o=0;u>o;o++)for(p[o]=[],e=0;a>e;e++)p[o][e]=r[e][o]-i[e];p=n.transpose(p);for(var o=0;a>o;o++)for(m[o]=[],e=0;a>e;e++)m[o][e]=n.dot([p[o]],[p[e]])/(u-1);s=n.jacobi(m),E=s[0],f=s[1],N=n.transpose(E);for(var o=0;f.length>o;o++)for(e=o;f.length>e;e++)f[e]>f[o]&&(t=f[o],f[o]=f[e],f[e]=t,l=N[o],N[o]=N[e],N[e]=l);h=n.transpose(p);for(var o=0;a>o;o++)for(c[o]=[],e=0;h.length>e;e++)c[o][e]=n.dot([N[o]],[h[e]]);return[r,f,N,c]}}),function(r){for(var e=0;r.length>e;e++)!function(r){n.fn[r]=function(e,t){var a=this;return t?(setTimeout(function(){t.call(a,n.fn[r].call(a,e))},15),this):"number"==typeof n[r](this,e)?n[r](this,e):n(n[r](this,e))}}(r[e])}("add divide multiply subtract dot pow exp log abs norm angle".split(" "))}(n,Math),function(r,n){function e(r,e,t,a){if(r>1||t>1||0>=r||0>=t)throw Error("Proportions should be greater than 0 and less than 1");var u=(r*e+t*a)/(e+a);return(r-t)/n.sqrt(u*(1-u)*(1/e+1/a))}var t=[].slice,a=r.utils.isNumber,u=r.utils.isArray;r.extend({zscore:function(){var n=t.call(arguments);return a(n[1])?(n[0]-n[1])/n[2]:(n[0]-r.mean(n[1]))/r.stdev(n[1],n[2])},ztest:function(){var e,a=t.call(arguments);return u(a[1])?(e=r.zscore(a[0],a[1],a[3]),1===a[2]?r.normal.cdf(-n.abs(e),0,1):2*r.normal.cdf(-n.abs(e),0,1)):a.length>2?(e=r.zscore(a[0],a[1],a[2]),1===a[3]?r.normal.cdf(-n.abs(e),0,1):2*r.normal.cdf(-n.abs(e),0,1)):(e=a[0],1===a[1]?r.normal.cdf(-n.abs(e),0,1):2*r.normal.cdf(-n.abs(e),0,1))}}),r.extend(r.fn,{zscore:function(r,n){return(r-this.mean())/this.stdev(n)},ztest:function(e,t,a){var u=n.abs(this.zscore(e,a));return 1===t?r.normal.cdf(-u,0,1):2*r.normal.cdf(-u,0,1)}}),r.extend({tscore:function(){var e=t.call(arguments);return 4===e.length?(e[0]-e[1])/(e[2]/n.sqrt(e[3])):(e[0]-r.mean(e[1]))/(r.stdev(e[1],!0)/n.sqrt(e[1].length))},ttest:function(){var e,u=t.call(arguments);return 5===u.length?(e=n.abs(r.tscore(u[0],u[1],u[2],u[3])),1===u[4]?r.studentt.cdf(-e,u[3]-1):2*r.studentt.cdf(-e,u[3]-1)):a(u[1])?(e=n.abs(u[0]),1==u[2]?r.studentt.cdf(-e,u[1]-1):2*r.studentt.cdf(-e,u[1]-1)):(e=n.abs(r.tscore(u[0],u[1])),1==u[2]?r.studentt.cdf(-e,u[1].length-1):2*r.studentt.cdf(-e,u[1].length-1))}}),r.extend(r.fn,{tscore:function(r){return(r-this.mean())/(this.stdev(!0)/n.sqrt(this.cols()))},ttest:function(e,t){return 1===t?1-r.studentt.cdf(n.abs(this.tscore(e)),this.cols()-1):2*r.studentt.cdf(-n.abs(this.tscore(e)),this.cols()-1)}}),r.extend({anovafscore:function(){var e,a,u,o,i,f,s,l,c=t.call(arguments);if(1===c.length){i=Array(c[0].length);for(var s=0;c[0].length>s;s++)i[s]=c[0][s];c=i}if(2===c.length)return r.variance(c[0])/r.variance(c[1]);a=[];for(var s=0;c.length>s;s++)a=a.concat(c[s]);u=r.mean(a),e=0;for(var s=0;c.length>s;s++)e+=c[s].length*n.pow(r.mean(c[s])-u,2);e/=c.length-1,f=0;for(var s=0;c.length>s;s++)for(o=r.mean(c[s]),l=0;c[s].length>l;l++)f+=n.pow(c[s][l]-o,2);return f/=a.length-c.length,e/f},anovaftest:function(){var n,e,u,o,i=t.call(arguments);if(a(i[0]))return 1-r.centralF.cdf(i[0],i[1],i[2]);anovafscore=r.anovafscore(i),n=i.length-1,u=0;for(var o=0;i.length>o;o++)u+=i[o].length;return e=u-n-1,1-r.centralF.cdf(anovafscore,n,e)},ftest:function(n,e,t){return 1-r.centralF.cdf(n,e,t)}}),r.extend(r.fn,{anovafscore:function(){return r.anovafscore(this.toArray())},anovaftes:function(){for(var n,e=0,n=0;this.length>n;n++)e+=this[n].length;return r.ftest(this.anovafscore(),this.length-1,e-this.length)}}),r.extend({qscore:function(){var e,u,o,i,f,s=t.call(arguments);return a(s[0])?(e=s[0],u=s[1],o=s[2],i=s[3],f=s[4]):(e=r.mean(s[0]),u=r.mean(s[1]),o=s[0].length,i=s[1].length,f=s[2]),n.abs(e-u)/(f*n.sqrt((1/o+1/i)/2))},qtest:function(){var n,e=t.call(arguments);3===e.length?(n=e[0],e=e.slice(1)):7===e.length?(n=r.qscore(e[0],e[1],e[2],e[3],e[4]),e=e.slice(5)):(n=r.qscore(e[0],e[1],e[2]),e=e.slice(3));var a=e[0],u=e[1];return 1-r.tukey.cdf(n,u,a-u)},tukeyhsd:function(n){for(var e=r.pooledstdev(n),t=n.map(function(n){return r.mean(n)}),a=n.reduce(function(r,n){return r+n.length},0),u=[],o=0;n.length>o;++o)for(var i=o+1;n.length>i;++i){var f=r.qtest(t[o],t[i],n[o].length,n[i].length,e,a,n.length);u.push([[o,i],f])}return u}}),r.extend({normalci:function(){var e,a=t.call(arguments),u=Array(2);return e=n.abs(4===a.length?r.normal.inv(a[1]/2,0,1)*a[2]/n.sqrt(a[3]):r.normal.inv(a[1]/2,0,1)*r.stdev(a[2])/n.sqrt(a[2].length)),u[0]=a[0]-e,u[1]=a[0]+e,u},tci:function(){var e,a=t.call(arguments),u=Array(2);return e=n.abs(4===a.length?r.studentt.inv(a[1]/2,a[3]-1)*a[2]/n.sqrt(a[3]):r.studentt.inv(a[1]/2,a[2].length-1)*r.stdev(a[2],!0)/n.sqrt(a[2].length)),u[0]=a[0]-e,u[1]=a[0]+e,u},significant:function(r,n){return n>r}}),r.extend(r.fn,{normalci:function(n,e){return r.normalci(n,e,this.toArray())},tci:function(n,e){return r.tci(n,e,this.toArray())}}),r.extend(r.fn,{oneSidedDifferenceOfProportions:function(n,t,a,u){var o=e(n,t,a,u);return r.ztest(o,1)},twoSidedDifferenceOfProportions:function(n,t,a,u){var o=e(n,t,a,u);return r.ztest(o,2)}})}(n,Math),n.models=function(){function r(r,n){return e(r,n)}function r(r){var t=r[0].length;return n.arange(t).map(function(a){var u=n.arange(t).filter(function(r){return r!==a});return e(n.col(r,a).map(function(r){return r[0]}),n.col(r,u))})}function e(r,e){var t=r.length,a=e[0].length-1,u=t-a-1,o=n.lstsq(e,r),i=n.multiply(e,o.map(function(r){return[r]})).map(function(r){return r[0]}),f=n.subtract(r,i),s=n.mean(r),l=n.sum(i.map(function(r){return Math.pow(r-s,2)})),c=n.sum(r.map(function(r,n){return Math.pow(r-i[n],2)})),h=l+c;return{exog:e,endog:r,nobs:t,df_model:a,df_resid:u,coef:o,predict:i,resid:f,ybar:s,SST:h,SSE:l,SSR:c,R2:l/h}}function t(e){var t=r(e.exog),a=Math.sqrt(e.SSR/e.df_resid),u=t.map(function(r){var n=r.SST,e=r.R2;return a/Math.sqrt(n*(1-e))}),o=e.coef.map(function(r,n){return(r-0)/u[n]}),i=o.map(function(r){var t=n.studentt.cdf(r,e.df_resid);return 2*(t>.5?1-t:t)}),f=n.studentt.inv(.975,e.df_resid),s=e.coef.map(function(r,n){var e=f*u[n];return[r-e,r+e]});return{se:u,t:o,p:i,sigmaHat:a,interval95:s}}function a(r){var e=r.R2/r.df_model/((1-r.R2)/r.df_resid);return{F_statistic:e,pvalue:1-function(r,e,t){return n.beta.cdf(r/(t/e+r),e/2,t/2)}(e,r.df_model,r.df_resid)}}function u(r,n){var u=e(r,n),o=t(u),i=a(u),f=1-(u.nobs-1)/u.df_resid*(1-u.R2);return u.t=o,u.f=i,u.adjust_R2=f,u}return{ols:u}}(),n})},function(r,n,e){var t=e(1),a=e(0);n.UNIQUE=function(){for(var r=[],n=0;arguments.length>n;++n){for(var e=!1,t=arguments[n],a=0;r.length>a&&!(e=r[a]===t);++a);e||r.push(t)}return r},n.FLATTEN=t.flatten,n.ARGS2ARRAY=function(){return Array.prototype.slice.call(arguments,0)},n.REFERENCE=function(r,n){if(!arguments.length)return a.error;try{for(var e=n.split("."),t=r,u=0;e.length>u;++u){var o=e[u];if("]"===o[o.length-1]){var i=o.indexOf("["),f=o.substring(i+1,o.length-1);t=t[o.substring(0,i)][f]}else t=t[o]}return t}catch(a){}},n.JOIN=function(r,n){return r.join(n)},n.NUMBERS=function(){return t.flatten(arguments).filter(function(r){return"number"==typeof r})}},function(r,n,e){function t(r){return/^[01]{1,10}$/.test(r)}var a=e(0),u=e(10),o=e(6),i=e(1),f=e(26);n.BESSELI=function(r,n){return r=i.parseNumber(r),n=i.parseNumber(n),i.anyIsError(r,n)?a.value:f.besseli(r,n)},n.BESSELJ=function(r,n){return r=i.parseNumber(r),n=i.parseNumber(n),i.anyIsError(r,n)?a.value:f.besselj(r,n)},n.BESSELK=function(r,n){return r=i.parseNumber(r),n=i.parseNumber(n),i.anyIsError(r,n)?a.value:f.besselk(r,n)},n.BESSELY=function(r,n){return r=i.parseNumber(r),n=i.parseNumber(n),i.anyIsError(r,n)?a.value:f.bessely(r,n)},n.BIN2DEC=function(r){if(!t(r))return a.num;var n=parseInt(r,2),e=""+r;return 10===e.length&&"1"===e.substring(0,1)?parseInt(e.substring(1),2)-512:n},n.BIN2HEX=function(r,n){if(!t(r))return a.num;var e=""+r;if(10===e.length&&"1"===e.substring(0,1))return(0xfffffffe00+parseInt(e.substring(1),2)).toString(16);var u=parseInt(r,2).toString(16);return n===undefined?u:isNaN(n)?a.value:0>n?a.num:(n=Math.floor(n),u.length>n?a.num:o.REPT("0",n-u.length)+u)},n.BIN2OCT=function(r,n){if(!t(r))return a.num;var e=""+r;if(10===e.length&&"1"===e.substring(0,1))return(1073741312+parseInt(e.substring(1),2)).toString(8);var u=parseInt(r,2).toString(8);return n===undefined?u:isNaN(n)?a.value:0>n?a.num:(n=Math.floor(n),u.length>n?a.num:o.REPT("0",n-u.length)+u)},n.BITAND=function(r,n){return r=i.parseNumber(r),n=i.parseNumber(n),i.anyIsError(r,n)?a.value:0>r||0>n?a.num:Math.floor(r)!==r||Math.floor(n)!==n?a.num:r>0xffffffffffff||n>0xffffffffffff?a.num:r&n},n.BITLSHIFT=function(r,n){return r=i.parseNumber(r),n=i.parseNumber(n),i.anyIsError(r,n)?a.value:0>r?a.num:Math.floor(r)!==r?a.num:r>0xffffffffffff?a.num:Math.abs(n)>53?a.num:0>n?r>>-n:r<r||0>n?a.num:Math.floor(r)!==r||Math.floor(n)!==n?a.num:r>0xffffffffffff||n>0xffffffffffff?a.num:r|n},n.BITRSHIFT=function(r,n){return r=i.parseNumber(r),n=i.parseNumber(n),i.anyIsError(r,n)?a.value:0>r?a.num:Math.floor(r)!==r?a.num:r>0xffffffffffff?a.num:Math.abs(n)>53?a.num:0>n?r<<-n:r>>n},n.BITXOR=function(r,n){return r=i.parseNumber(r),n=i.parseNumber(n),i.anyIsError(r,n)?a.value:0>r||0>n?a.num:Math.floor(r)!==r||Math.floor(n)!==n?a.num:r>0xffffffffffff||n>0xffffffffffff?a.num:r^n},n.COMPLEX=function(r,n,e){return r=i.parseNumber(r),n=i.parseNumber(n),i.anyIsError(r,n)?r:"i"!==(e=e===undefined?"i":e)&&"j"!==e?a.value:0===r&&0===n?0:0===r?1===n?e:""+n+e:0===n?""+r:r+(n>0?"+":"")+(1===n?e:""+n+e)},n.CONVERT=function(r,n,e){if((r=i.parseNumber(r))instanceof Error)return r;for(var t,u=[["a.u. of action","?",null,"action",!1,!1,1.05457168181818e-34],["a.u. of charge","e",null,"electric_charge",!1,!1,1.60217653141414e-19],["a.u. of energy","Eh",null,"energy",!1,!1,4.35974417757576e-18],["a.u. of length","a?",null,"length",!1,!1,5.29177210818182e-11],["a.u. of mass","m?",null,"mass",!1,!1,9.10938261616162e-31],["a.u. of time","?/Eh",null,"time",!1,!1,2.41888432650516e-17],["admiralty knot","admkn",null,"speed",!1,!0,.514773333],["ampere","A",null,"electric_current",!0,!1,1],["ampere per meter","A/m",null,"magnetic_field_intensity",!0,!1,1],["ångström","Å",["ang"],"length",!1,!0,1e-10],["are","ar",null,"area",!1,!0,100],["astronomical unit","ua",null,"length",!1,!1,1.49597870691667e-11],["bar","bar",null,"pressure",!1,!1,1e5],["barn","b",null,"area",!1,!1,1e-28],["becquerel","Bq",null,"radioactivity",!0,!1,1],["bit","bit",["b"],"information",!1,!0,1],["btu","BTU",["btu"],"energy",!1,!0,1055.05585262],["byte","byte",null,"information",!1,!0,8],["candela","cd",null,"luminous_intensity",!0,!1,1],["candela per square metre","cd/m?",null,"luminance",!0,!1,1],["coulomb","C",null,"electric_charge",!0,!1,1],["cubic ångström","ang3",["ang^3"],"volume",!1,!0,1e-30],["cubic foot","ft3",["ft^3"],"volume",!1,!0,.028316846592],["cubic inch","in3",["in^3"],"volume",!1,!0,16387064e-12],["cubic light-year","ly3",["ly^3"],"volume",!1,!0,8.46786664623715e-47],["cubic metre","m?",null,"volume",!0,!0,1],["cubic mile","mi3",["mi^3"],"volume",!1,!0,4168181825.44058],["cubic nautical mile","Nmi3",["Nmi^3"],"volume",!1,!0,6352182208],["cubic Pica","Pica3",["Picapt3","Pica^3","Picapt^3"],"volume",!1,!0,7.58660370370369e-8],["cubic yard","yd3",["yd^3"],"volume",!1,!0,.764554857984],["cup","cup",null,"volume",!1,!0,.0002365882365],["dalton","Da",["u"],"mass",!1,!1,1.66053886282828e-27],["day","d",["day"],"time",!1,!0,86400],["degree","°",null,"angle",!1,!1,.0174532925199433],["degrees Rankine","Rank",null,"temperature",!1,!0,.555555555555556],["dyne","dyn",["dy"],"force",!1,!0,1e-5],["electronvolt","eV",["ev"],"energy",!1,!0,1.60217656514141],["ell","ell",null,"length",!1,!0,1.143],["erg","erg",["e"],"energy",!1,!0,1e-7],["farad","F",null,"electric_capacitance",!0,!1,1],["fluid ounce","oz",null,"volume",!1,!0,295735295625e-16],["foot","ft",null,"length",!1,!0,.3048],["foot-pound","flb",null,"energy",!1,!0,1.3558179483314],["gal","Gal",null,"acceleration",!1,!1,.01],["gallon","gal",null,"volume",!1,!0,.003785411784],["gauss","G",["ga"],"magnetic_flux_density",!1,!0,1],["grain","grain",null,"mass",!1,!0,647989e-10],["gram","g",null,"mass",!1,!0,.001],["gray","Gy",null,"absorbed_dose",!0,!1,1],["gross registered ton","GRT",["regton"],"volume",!1,!0,2.8316846592],["hectare","ha",null,"area",!1,!0,1e4],["henry","H",null,"inductance",!0,!1,1],["hertz","Hz",null,"frequency",!0,!1,1],["horsepower","HP",["h"],"power",!1,!0,745.69987158227],["horsepower-hour","HPh",["hh","hph"],"energy",!1,!0,2684519.538],["hour","h",["hr"],"time",!1,!0,3600],["imperial gallon (U.K.)","uk_gal",null,"volume",!1,!0,.00454609],["imperial hundredweight","lcwt",["uk_cwt","hweight"],"mass",!1,!0,50.802345],["imperial quart (U.K)","uk_qt",null,"volume",!1,!0,.0011365225],["imperial ton","brton",["uk_ton","LTON"],"mass",!1,!0,1016.046909],["inch","in",null,"length",!1,!0,.0254],["international acre","uk_acre",null,"area",!1,!0,4046.8564224],["IT calorie","cal",null,"energy",!1,!0,4.1868],["joule","J",null,"energy",!0,!0,1],["katal","kat",null,"catalytic_activity",!0,!1,1],["kelvin","K",["kel"],"temperature",!0,!0,1],["kilogram","kg",null,"mass",!0,!0,1],["knot","kn",null,"speed",!1,!0,.514444444444444],["light-year","ly",null,"length",!1,!0,9460730472580800],["litre","L",["l","lt"],"volume",!1,!0,.001],["lumen","lm",null,"luminous_flux",!0,!1,1],["lux","lx",null,"illuminance",!0,!1,1],["maxwell","Mx",null,"magnetic_flux",!1,!1,1e-18],["measurement ton","MTON",null,"volume",!1,!0,1.13267386368],["meter per hour","m/h",["m/hr"],"speed",!1,!0,.00027777777777778],["meter per second","m/s",["m/sec"],"speed",!0,!0,1],["meter per second squared","m?s??",null,"acceleration",!0,!1,1],["parsec","pc",["parsec"],"length",!1,!0,0x6da012f958ee1c],["meter squared per second","m?/s",null,"kinematic_viscosity",!0,!1,1],["metre","m",null,"length",!0,!0,1],["miles per hour","mph",null,"speed",!1,!0,.44704],["millimetre of mercury","mmHg",null,"pressure",!1,!1,133.322],["minute","?",null,"angle",!1,!1,.000290888208665722],["minute","min",["mn"],"time",!1,!0,60],["modern teaspoon","tspm",null,"volume",!1,!0,5e-6],["mole","mol",null,"amount_of_substance",!0,!1,1],["morgen","Morgen",null,"area",!1,!0,2500],["n.u. of action","?",null,"action",!1,!1,1.05457168181818e-34],["n.u. of mass","m?",null,"mass",!1,!1,9.10938261616162e-31],["n.u. of speed","c?",null,"speed",!1,!1,299792458],["n.u. of time","?/(me?c??)",null,"time",!1,!1,1.28808866778687e-21],["nautical mile","M",["Nmi"],"length",!1,!0,1852],["newton","N",null,"force",!0,!0,1],["œrsted","Oe ",null,"magnetic_field_intensity",!1,!1,79.5774715459477],["ohm","Ω",null,"electric_resistance",!0,!1,1],["ounce mass","ozm",null,"mass",!1,!0,.028349523125],["pascal","Pa",null,"pressure",!0,!1,1],["pascal second","Pa?s",null,"dynamic_viscosity",!0,!1,1],["pferdestärke","PS",null,"power",!1,!0,735.49875],["phot","ph",null,"illuminance",!1,!1,1e-4],["pica (1/6 inch)","pica",null,"length",!1,!0,.00035277777777778],["pica (1/72 inch)","Pica",["Picapt"],"length",!1,!0,.00423333333333333],["poise","P",null,"dynamic_viscosity",!1,!1,.1],["pond","pond",null,"force",!1,!0,.00980665],["pound force","lbf",null,"force",!1,!0,4.4482216152605],["pound mass","lbm",null,"mass",!1,!0,.45359237],["quart","qt",null,"volume",!1,!0,.000946352946],["radian","rad",null,"angle",!0,!1,1],["second","?",null,"angle",!1,!1,484813681109536e-20],["second","s",["sec"],"time",!0,!0,1],["short hundredweight","cwt",["shweight"],"mass",!1,!0,45.359237],["siemens","S",null,"electrical_conductance",!0,!1,1],["sievert","Sv",null,"equivalent_dose",!0,!1,1],["slug","sg",null,"mass",!1,!0,14.59390294],["square ångström","ang2",["ang^2"],"area",!1,!0,1e-20],["square foot","ft2",["ft^2"],"area",!1,!0,.09290304],["square inch","in2",["in^2"],"area",!1,!0,64516e-8],["square light-year","ly2",["ly^2"],"area",!1,!0,8.95054210748189e31],["square meter","m?",null,"area",!0,!0,1],["square mile","mi2",["mi^2"],"area",!1,!0,2589988.110336],["square nautical mile","Nmi2",["Nmi^2"],"area",!1,!0,3429904],["square Pica","Pica2",["Picapt2","Pica^2","Picapt^2"],"area",!1,!0,1792111111111e-17],["square yard","yd2",["yd^2"],"area",!1,!0,.83612736],["statute mile","mi",null,"length",!1,!0,1609.344],["steradian","sr",null,"solid_angle",!0,!1,1],["stilb","sb",null,"luminance",!1,!1,1e-4],["stokes","St",null,"kinematic_viscosity",!1,!1,1e-4],["stone","stone",null,"mass",!1,!0,6.35029318],["tablespoon","tbs",null,"volume",!1,!0,147868e-10],["teaspoon","tsp",null,"volume",!1,!0,492892e-11],["tesla","T",null,"magnetic_flux_density",!0,!0,1],["thermodynamic calorie","c",null,"energy",!1,!0,4.184],["ton","ton",null,"mass",!1,!0,907.18474],["tonne","t",null,"mass",!1,!1,1e3],["U.K. pint","uk_pt",null,"volume",!1,!0,.00056826125],["U.S. bushel","bushel",null,"volume",!1,!0,.03523907],["U.S. oil barrel","barrel",null,"volume",!1,!0,.158987295],["U.S. pint","pt",["us_pt"],"volume",!1,!0,.000473176473],["U.S. survey mile","survey_mi",null,"length",!1,!0,1609.347219],["U.S. survey/statute acre","us_acre",null,"area",!1,!0,4046.87261],["volt","V",null,"voltage",!0,!1,1],["watt","W",null,"power",!0,!0,1],["watt-hour","Wh",["wh"],"energy",!1,!0,3600],["weber","Wb",null,"magnetic_flux",!0,!1,1],["yard","yd",null,"length",!1,!0,.9144],["year","yr",null,"time",!1,!0,31557600]],o={Yi:["yobi",80,1.2089258196146292e24,"Yi","yotta"],Zi:["zebi",70,0x400000000000000000,"Zi","zetta"],Ei:["exbi",60,0x1000000000000000,"Ei","exa"],Pi:["pebi",50,0x4000000000000,"Pi","peta"],Ti:["tebi",40,1099511627776,"Ti","tera"],Gi:["gibi",30,1073741824,"Gi","giga"],Mi:["mebi",20,1048576,"Mi","mega"],ki:["kibi",10,1024,"ki","kilo"]},f={Y:["yotta",1e24,"Y"],Z:["zetta",1e21,"Z"],E:["exa",1e18,"E"],P:["peta",1e15,"P"],T:["tera",1e12,"T"],G:["giga",1e9,"G"],M:["mega",1e6,"M"],k:["kilo",1e3,"k"],h:["hecto",100,"h"],e:["dekao",10,"e"],d:["deci",.1,"d"],c:["centi",.01,"c"],m:["milli",.001,"m"],u:["micro",1e-6,"u"],n:["nano",1e-9,"n"],p:["pico",1e-12,"p"],f:["femto",1e-15,"f"],a:["atto",1e-18,"a"],z:["zepto",1e-21,"z"],y:["yocto",1e-24,"y"]},s=null,l=null,c=n,h=e,p=1,m=1,E=0;146>E;E++)t=null===u[E][2]?[]:u[E][2],u[E][1]!==c&&0>t.indexOf(c)||(s=u[E]),u[E][1]!==h&&0>t.indexOf(h)||(l=u[E]);if(null===s){var N=o[n.substring(0,2)],v=f[n.substring(0,1)];"da"===n.substring(0,2)&&(v=["dekao",10,"da"]),N?(p=N[2],c=n.substring(2)):v&&(p=v[1],c=n.substring(v[2].length));for(var g=0;146>g;g++)t=null===u[g][2]?[]:u[g][2],u[g][1]!==c&&0>t.indexOf(c)||(s=u[g])}if(null===l){var I=o[e.substring(0,2)],d=f[e.substring(0,1)];"da"===e.substring(0,2)&&(d=["dekao",10,"da"]),I?(m=I[2],h=e.substring(2)):d&&(m=d[1],h=e.substring(d[2].length));for(var b=0;146>b;b++)t=null===u[b][2]?[]:u[b][2],u[b][1]!==h&&0>t.indexOf(h)||(l=u[b])}return null===s||null===l?a.na:s[3]!==l[3]?a.na:r*s[6]*p/(l[6]*m)},n.DEC2BIN=function(r,n){if((r=i.parseNumber(r))instanceof Error)return r;if(!/^-?[0-9]{1,3}$/.test(r)||-512>r||r>511)return a.num;if(0>r)return"1"+o.REPT("0",9-(512+r).toString(2).length)+(512+r).toString(2);var e=parseInt(r,10).toString(2);return void 0===n?e:isNaN(n)?a.value:0>n?a.num:(n=Math.floor(n),e.length>n?a.num:o.REPT("0",n-e.length)+e)},n.DEC2HEX=function(r,n){if((r=i.parseNumber(r))instanceof Error)return r;if(!/^-?[0-9]{1,12}$/.test(r)||-549755813888>r||r>549755813887)return a.num;if(0>r)return(1099511627776+r).toString(16);var e=parseInt(r,10).toString(16);return void 0===n?e:isNaN(n)?a.value:0>n?a.num:(n=Math.floor(n),e.length>n?a.num:o.REPT("0",n-e.length)+e)},n.DEC2OCT=function(r,n){if((r=i.parseNumber(r))instanceof Error)return r;if(!/^-?[0-9]{1,9}$/.test(r)||-536870912>r||r>536870911)return a.num;if(0>r)return(1073741824+r).toString(8);var e=parseInt(r,10).toString(8);return void 0===n?e:isNaN(n)?a.value:0>n?a.num:(n=Math.floor(n),e.length>n?a.num:o.REPT("0",n-e.length)+e)},n.DELTA=function(r,n){return n=n===undefined?0:n,r=i.parseNumber(r),n=i.parseNumber(n),i.anyIsError(r,n)?a.value:r===n?1:0},n.ERF=function(r,n){return n=n===undefined?0:n,r=i.parseNumber(r),n=i.parseNumber(n),i.anyIsError(r,n)?a.value:u.erf(r)},n.ERF.PRECISE=function(){throw Error("ERF.PRECISE is not implemented")},n.ERFC=function(r){return isNaN(r)?a.value:u.erfc(r)},n.ERFC.PRECISE=function(){throw Error("ERFC.PRECISE is not implemented")},n.GESTEP=function(r,n){return n=n||0,r=i.parseNumber(r),i.anyIsError(n,r)?r:n>r?0:1},n.HEX2BIN=function(r,n){if(!/^[0-9A-Fa-f]{1,10}$/.test(r))return a.num;var e=10===r.length&&"f"===r.substring(0,1).toLowerCase(),t=e?parseInt(r,16)-1099511627776:parseInt(r,16);if(-512>t||t>511)return a.num;if(e)return"1"+o.REPT("0",9-(512+t).toString(2).length)+(512+t).toString(2);var u=t.toString(2);return n===undefined?u:isNaN(n)?a.value:0>n?a.num:(n=Math.floor(n),u.length>n?a.num:o.REPT("0",n-u.length)+u)},n.HEX2DEC=function(r){if(!/^[0-9A-Fa-f]{1,10}$/.test(r))return a.num;var n=parseInt(r,16);return 549755813888>n?n:n-1099511627776},n.HEX2OCT=function(r,n){if(!/^[0-9A-Fa-f]{1,10}$/.test(r))return a.num;var e=parseInt(r,16);if(e>536870911&&0xffe0000000>e)return a.num;if(e>=0xffe0000000)return(e-0xffc0000000).toString(8);var t=e.toString(8);return n===undefined?t:isNaN(n)?a.value:0>n?a.num:(n=Math.floor(n),t.length>n?a.num:o.REPT("0",n-t.length)+t)},n.IMABS=function(r){var e=n.IMREAL(r),t=n.IMAGINARY(r);return i.anyIsError(e,t)?a.value:Math.sqrt(Math.pow(e,2)+Math.pow(t,2))},n.IMAGINARY=function(r){if(r===undefined||!0===r||!1===r)return a.value;if(0===r||"0"===r)return 0;if(["i","j"].indexOf(r)>=0)return 1;r=r.replace("+i","+1i").replace("-i","-1i").replace("+j","+1j").replace("-j","-1j");var n=r.indexOf("+"),e=r.indexOf("-");0===n&&(n=r.indexOf("+",1)),0===e&&(e=r.indexOf("-",1));var t=r.substring(r.length-1,r.length),u="i"===t||"j"===t;return 0>n&&0>e?u?isNaN(r.substring(0,r.length-1))?a.num:r.substring(0,r.length-1):isNaN(r)?a.num:0:u?0>n?isNaN(r.substring(0,e))||isNaN(r.substring(e+1,r.length-1))?a.num:-+r.substring(e+1,r.length-1):isNaN(r.substring(0,n))||isNaN(r.substring(n+1,r.length-1))?a.num:+r.substring(n+1,r.length-1):a.num},n.IMARGUMENT=function(r){var e=n.IMREAL(r),t=n.IMAGINARY(r);return i.anyIsError(e,t)?a.value:0===e&&0===t?a.div0:0===e&&t>0?Math.PI/2:0===e&&0>t?-Math.PI/2:0===t&&e>0?0:0===t&&0>e?-Math.PI:e>0?Math.atan(t/e):0>e&&t>=0?Math.atan(t/e)+Math.PI:Math.atan(t/e)-Math.PI},n.IMCONJUGATE=function(r){var e=n.IMREAL(r),t=n.IMAGINARY(r);if(i.anyIsError(e,t))return a.value;var u=r.substring(r.length-1);return u="i"===u||"j"===u?u:"i",0!==t?n.COMPLEX(e,-t,u):r},n.IMCOS=function(r){var e=n.IMREAL(r),t=n.IMAGINARY(r);if(i.anyIsError(e,t))return a.value;var u=r.substring(r.length-1);return u="i"===u||"j"===u?u:"i",n.COMPLEX(Math.cos(e)*(Math.exp(t)+Math.exp(-t))/2,-Math.sin(e)*(Math.exp(t)-Math.exp(-t))/2,u)},n.IMCOSH=function(r){var e=n.IMREAL(r),t=n.IMAGINARY(r);if(i.anyIsError(e,t))return a.value;var u=r.substring(r.length-1);return u="i"===u||"j"===u?u:"i",n.COMPLEX(Math.cos(t)*(Math.exp(e)+Math.exp(-e))/2,Math.sin(t)*(Math.exp(e)-Math.exp(-e))/2,u)},n.IMCOT=function(r){var e=n.IMREAL(r),t=n.IMAGINARY(r);return i.anyIsError(e,t)?a.value:n.IMDIV(n.IMCOS(r),n.IMSIN(r))},n.IMDIV=function(r,e){var t=n.IMREAL(r),u=n.IMAGINARY(r),o=n.IMREAL(e),f=n.IMAGINARY(e);if(i.anyIsError(t,u,o,f))return a.value;var s=r.substring(r.length-1),l=e.substring(e.length-1),c="i";if("j"===s?c="j":"j"===l&&(c="j"),0===o&&0===f)return a.num;var h=o*o+f*f;return n.COMPLEX((t*o+u*f)/h,(u*o-t*f)/h,c)},n.IMEXP=function(r){var e=n.IMREAL(r),t=n.IMAGINARY(r);if(i.anyIsError(e,t))return a.value;var u=r.substring(r.length-1);u="i"===u||"j"===u?u:"i";var o=Math.exp(e);return n.COMPLEX(o*Math.cos(t),o*Math.sin(t),u)},n.IMLN=function(r){var e=n.IMREAL(r),t=n.IMAGINARY(r);if(i.anyIsError(e,t))return a.value;var u=r.substring(r.length-1);return u="i"===u||"j"===u?u:"i",n.COMPLEX(Math.log(Math.sqrt(e*e+t*t)),Math.atan(t/e),u)},n.IMLOG10=function(r){var e=n.IMREAL(r),t=n.IMAGINARY(r);if(i.anyIsError(e,t))return a.value;var u=r.substring(r.length-1);return u="i"===u||"j"===u?u:"i",n.COMPLEX(Math.log(Math.sqrt(e*e+t*t))/Math.log(10),Math.atan(t/e)/Math.log(10),u)},n.IMLOG2=function(r){var e=n.IMREAL(r),t=n.IMAGINARY(r);if(i.anyIsError(e,t))return a.value;var u=r.substring(r.length-1);return u="i"===u||"j"===u?u:"i",n.COMPLEX(Math.log(Math.sqrt(e*e+t*t))/Math.log(2),Math.atan(t/e)/Math.log(2),u)},n.IMPOWER=function(r,e){e=i.parseNumber(e);var t=n.IMREAL(r),u=n.IMAGINARY(r);if(i.anyIsError(e,t,u))return a.value;var o=r.substring(r.length-1);o="i"===o||"j"===o?o:"i";var f=Math.pow(n.IMABS(r),e),s=n.IMARGUMENT(r);return n.COMPLEX(f*Math.cos(e*s),f*Math.sin(e*s),o)},n.IMPRODUCT=function(){var r=arguments[0];if(!arguments.length)return a.value;for(var e=1;arguments.length>e;e++){var t=n.IMREAL(r),u=n.IMAGINARY(r),o=n.IMREAL(arguments[e]),f=n.IMAGINARY(arguments[e]);if(i.anyIsError(t,u,o,f))return a.value;r=n.COMPLEX(t*o-u*f,t*f+u*o)}return r},n.IMREAL=function(r){if(r===undefined||!0===r||!1===r)return a.value;if(0===r||"0"===r)return 0;if(["i","+i","1i","+1i","-i","-1i","j","+j","1j","+1j","-j","-1j"].indexOf(r)>=0)return 0;var n=r.indexOf("+"),e=r.indexOf("-");0===n&&(n=r.indexOf("+",1)),0===e&&(e=r.indexOf("-",1));var t=r.substring(r.length-1,r.length),u="i"===t||"j"===t;return 0>n&&0>e?u?isNaN(r.substring(0,r.length-1))?a.num:0:isNaN(r)?a.num:r:u?0>n?isNaN(r.substring(0,e))||isNaN(r.substring(e+1,r.length-1))?a.num:+r.substring(0,e):isNaN(r.substring(0,n))||isNaN(r.substring(n+1,r.length-1))?a.num:+r.substring(0,n):a.num},n.IMSEC=function(r){if(!0===r||!1===r)return a.value;var e=n.IMREAL(r),t=n.IMAGINARY(r);return i.anyIsError(e,t)?a.value:n.IMDIV("1",n.IMCOS(r))},n.IMSECH=function(r){var e=n.IMREAL(r),t=n.IMAGINARY(r);return i.anyIsError(e,t)?a.value:n.IMDIV("1",n.IMCOSH(r))},n.IMSIN=function(r){var e=n.IMREAL(r),t=n.IMAGINARY(r);if(i.anyIsError(e,t))return a.value;var u=r.substring(r.length-1);return u="i"===u||"j"===u?u:"i",n.COMPLEX(Math.sin(e)*(Math.exp(t)+Math.exp(-t))/2,Math.cos(e)*(Math.exp(t)-Math.exp(-t))/2,u)},n.IMSINH=function(r){var e=n.IMREAL(r),t=n.IMAGINARY(r);if(i.anyIsError(e,t))return a.value;var u=r.substring(r.length-1);return u="i"===u||"j"===u?u:"i",n.COMPLEX(Math.cos(t)*(Math.exp(e)-Math.exp(-e))/2,Math.sin(t)*(Math.exp(e)+Math.exp(-e))/2,u)},n.IMSQRT=function(r){var e=n.IMREAL(r),t=n.IMAGINARY(r);if(i.anyIsError(e,t))return a.value;var u=r.substring(r.length-1);u="i"===u||"j"===u?u:"i";var o=Math.sqrt(n.IMABS(r)),f=n.IMARGUMENT(r);return n.COMPLEX(o*Math.cos(f/2),o*Math.sin(f/2),u)},n.IMCSC=function(r){if(!0===r||!1===r)return a.value;var e=n.IMREAL(r),t=n.IMAGINARY(r);return i.anyIsError(e,t)?a.num:n.IMDIV("1",n.IMSIN(r))},n.IMCSCH=function(r){if(!0===r||!1===r)return a.value;var e=n.IMREAL(r),t=n.IMAGINARY(r);return i.anyIsError(e,t)?a.num:n.IMDIV("1",n.IMSINH(r))},n.IMSUB=function(r,n){var e=this.IMREAL(r),t=this.IMAGINARY(r),u=this.IMREAL(n),o=this.IMAGINARY(n);if(i.anyIsError(e,t,u,o))return a.value;var f=r.substring(r.length-1),s=n.substring(n.length-1),l="i";return"j"===f?l="j":"j"===s&&(l="j"),this.COMPLEX(e-u,t-o,l)},n.IMSUM=function(){if(!arguments.length)return a.value;for(var r=i.flatten(arguments),n=r[0],e=1;r.length>e;e++){var t=this.IMREAL(n),u=this.IMAGINARY(n),o=this.IMREAL(r[e]),f=this.IMAGINARY(r[e]);if(i.anyIsError(t,u,o,f))return a.value;n=this.COMPLEX(t+o,u+f)}return n},n.IMTAN=function(r){if(!0===r||!1===r)return a.value;var e=n.IMREAL(r),t=n.IMAGINARY(r);return i.anyIsError(e,t)?a.value:this.IMDIV(this.IMSIN(r),this.IMCOS(r))},n.OCT2BIN=function(r,n){if(!/^[0-7]{1,10}$/.test(r))return a.num;var e=10===r.length&&"7"===r.substring(0,1),t=e?parseInt(r,8)-1073741824:parseInt(r,8);if(-512>t||t>511)return a.num;if(e)return"1"+o.REPT("0",9-(512+t).toString(2).length)+(512+t).toString(2);var u=t.toString(2);return void 0===n?u:isNaN(n)?a.value:0>n?a.num:(n=Math.floor(n),u.length>n?a.num:o.REPT("0",n-u.length)+u)},n.OCT2DEC=function(r){if(!/^[0-7]{1,10}$/.test(r))return a.num;var n=parseInt(r,8);return 536870912>n?n:n-1073741824},n.OCT2HEX=function(r,n){if(!/^[0-7]{1,10}$/.test(r))return a.num;var e=parseInt(r,8);if(e>=536870912)return"ff"+(e+3221225472).toString(16);var t=e.toString(16);return n===undefined?t:isNaN(n)?a.value:0>n?a.num:(n=Math.floor(n),t.length>n?a.num:o.REPT("0",n-t.length)+t)}},function(r,n,e){"use strict";n.__esModule=!0,n["default"]=["ABS","ACCRINT","ACOS","ACOSH","ACOT","ACOTH","ADD","AGGREGATE","AND","ARABIC","ARGS2ARRAY","ASIN","ASINH","ATAN","ATAN2","ATANH","AVEDEV","AVERAGE","AVERAGEA","AVERAGEIF","AVERAGEIFS","BASE","BESSELI","BESSELJ","BESSELK","BESSELY","BETA.DIST","BETA.INV","BETADIST","BETAINV","BIN2DEC","BIN2HEX","BIN2OCT","BINOM.DIST","BINOM.DIST.RANGE","BINOM.INV","BINOMDIST","BITAND","BITLSHIFT","BITOR","BITRSHIFT","BITXOR","CEILING","CEILINGMATH","CEILINGPRECISE","CHAR","CHISQ.DIST","CHISQ.DIST.RT","CHISQ.INV","CHISQ.INV.RT","CHOOSE","CHOOSE","CLEAN","CODE","COLUMN","COLUMNS","COMBIN","COMBINA","COMPLEX","CONCATENATE","CONFIDENCE","CONFIDENCE.NORM","CONFIDENCE.T","CONVERT","CORREL","COS","COSH","COT","COTH","COUNT","COUNTA","COUNTBLANK","COUNTIF","COUNTIFS","COUNTIN","COUNTUNIQUE","COVARIANCE.P","COVARIANCE.S","CSC","CSCH","CUMIPMT","CUMPRINC","DATE","DATEVALUE","DAY","DAYS","DAYS360","DB","DDB","DEC2BIN","DEC2HEX","DEC2OCT","DECIMAL","DEGREES","DELTA","DEVSQ","DIVIDE","DOLLARDE","DOLLARFR","E","EDATE","EFFECT","EOMONTH","EQ","ERF","ERFC","EVEN","EXACT","EXP","EXPON.DIST","EXPONDIST","F.DIST","F.DIST.RT","F.INV","F.INV.RT","FACT","FACTDOUBLE","FALSE","FDIST","FDISTRT","FIND","FINV","FINVRT","FISHER","FISHERINV","FLATTEN","FLOOR","FORECAST","FREQUENCY","FV","FVSCHEDULE","GAMMA","GAMMA.DIST","GAMMA.INV","GAMMADIST","GAMMAINV","GAMMALN","GAMMALN.PRECISE","GAUSS","GCD","GEOMEAN","GESTEP","GROWTH","GTE","HARMEAN","HEX2BIN","HEX2DEC","HEX2OCT","HOUR","HTML2TEXT","HYPGEOM.DIST","HYPGEOMDIST","IF","IMABS","IMAGINARY","IMARGUMENT","IMCONJUGATE","IMCOS","IMCOSH","IMCOT","IMCSC","IMCSCH","IMDIV","IMEXP","IMLN","IMLOG10","IMLOG2","IMPOWER","IMPRODUCT","IMREAL","IMSEC","IMSECH","IMSIN","IMSINH","IMSQRT","IMSUB","IMSUM","IMTAN","INT","INTERCEPT","INTERVAL","IPMT","IRR","ISBINARY","ISBLANK","ISEVEN","ISLOGICAL","ISNONTEXT","ISNUMBER","ISODD","ISODD","ISOWEEKNUM","ISPMT","ISTEXT","JOIN","KURT","LARGE","LCM","LEFT","LEN","LINEST","LN","LOG","LOG10","LOGEST","LOGNORM.DIST","LOGNORM.INV","LOGNORMDIST","LOGNORMINV","LOWER","LT","LTE","MATCH","MAX","MAXA","MEDIAN","MID","MIN","MINA","MINUS","MINUTE","MIRR","MOD","MODE.MULT","MODE.SNGL","MODEMULT","MODESNGL","MONTH","MROUND","MULTINOMIAL","MULTIPLY","NE","NEGBINOM.DIST","NEGBINOMDIST","NETWORKDAYS","NOMINAL","NORM.DIST","NORM.INV","NORM.S.DIST","NORM.S.INV","NORMDIST","NORMINV","NORMSDIST","NORMSINV","NOT","NOW","NPER","NPV","NUMBERS","OCT2BIN","OCT2DEC","OCT2HEX","ODD","OR","PDURATION","PEARSON","PERCENTILEEXC","PERCENTILEINC","PERCENTRANKEXC","PERCENTRANKINC","PERMUT","PERMUTATIONA","PHI","PI","PMT","POISSON.DIST","POISSONDIST","POW","POWER","PPMT","PROB","PRODUCT","PROPER","PV","QUARTILE.EXC","QUARTILE.INC","QUARTILEEXC","QUARTILEINC","QUOTIENT","RADIANS","RAND","RANDBETWEEN","RANK.AVG","RANK.EQ","RANKAVG","RANKEQ","RATE","REFERENCE","REGEXEXTRACT","REGEXMATCH","REGEXREPLACE","REPLACE","REPT","RIGHT","ROMAN","ROUND","ROUNDDOWN","ROUNDUP","ROW","ROWS","RRI","RSQ","SEARCH","SEC","SECH","SECOND","SERIESSUM","SIGN","SIN","SINH","SKEW","SKEW.P","SKEWP","SLN","SLOPE","SMALL","SPLIT","SPLIT","SQRT","SQRTPI","STANDARDIZE","STDEV.P","STDEV.S","STDEVA","STDEVP","STDEVPA","STDEVS","STEYX","SUBSTITUTE","SUBTOTAL","SUM","SUMIF","SUMIFS","SUMPRODUCT","SUMSQ","SUMX2MY2","SUMX2PY2","SUMXMY2","SWITCH","SYD","T","T.DIST","T.DIST.2T","T.DIST.RT","T.INV","T.INV.2T","TAN","TANH","TBILLEQ","TBILLPRICE","TBILLYIELD","TDIST","TDIST2T","TDISTRT","TIME","TIMEVALUE","TINV","TINV2T","TODAY","TRANSPOSE","TREND","TRIM","TRIMMEAN","TRUE","TRUNC","UNICHAR","UNICODE","UNIQUE","UPPER","VAR.P","VAR.S","VARA","VARP","VARPA","VARS","WEEKDAY","WEEKNUM","WEIBULL.DIST","WEIBULLDIST","WORKDAY","XIRR","XNPV","XOR","YEAR","YEARFRAC"]},function(r,n,e){"use strict";function t(r){var n=parseInt(r,10);return n=isNaN(n)?-1:Math.max(n-1,-1)}function a(r){var n="";return 0>r||(n=""+(r+1)),n}function u(r){var n=0;if("string"==typeof r){r=r.toUpperCase();for(var e=0,t=r.length-1;r.length>e;e+=1,t-=1)n+=Math.pow(l,t)*(s.indexOf(r[e])+1)}return--n}function o(r){for(var n="";r>=0;)n=String.fromCharCode(r%l+97)+n,r=Math.floor(r/l)-1;return n.toUpperCase()}function i(r){if("string"!=typeof r||!c.test(r))return[];var n=r.toUpperCase().match(c),e=n[1],a=n[2],o=n[3],i=n[4];return[{index:t(i),label:i,isAbsolute:"$"===o},{index:u(a),label:a,isAbsolute:"$"===e}]}function f(r,n){var e=(r.isAbsolute?"$":"")+a(r.index);return(n.isAbsolute?"$":"")+o(n.index)+e}n.__esModule=!0,n.rowLabelToIndex=t,n.rowIndexToLabel=a,n.columnLabelToIndex=u,n.columnIndexToLabel=o,n.extractLabel=i,n.toLabel=f;var s="ABCDEFGHIJKLMNOPQRSTUVWXYZ",l=s.length,c=/^([$])?([A-Za-z]+)([$])?([0-9]+)$/},function(r,n,e){"use strict";function t(r){return r&&r.__esModule?r:{"default":r}}n.__esModule=!0,n.rowLabelToIndex=n.rowIndexToLabel=n.columnLabelToIndex=n.columnIndexToLabel=n.toLabel=n.extractLabel=n.error=n.Parser=n.ERROR_VALUE=n.ERROR_REF=n.ERROR_NUM=n.ERROR_NULL=n.ERROR_NOT_AVAILABLE=n.ERROR_NAME=n.ERROR_DIV_ZERO=n.ERROR=n.SUPPORTED_FORMULAS=undefined;var a=e(16),u=t(a),o=e(13),i=t(o),f=e(2),s=t(f),l=e(14);n.SUPPORTED_FORMULAS=i["default"],n.ERROR=f.ERROR,n.ERROR_DIV_ZERO=f.ERROR_DIV_ZERO,n.ERROR_NAME=f.ERROR_NAME,n.ERROR_NOT_AVAILABLE=f.ERROR_NOT_AVAILABLE,n.ERROR_NULL=f.ERROR_NULL,n.ERROR_NUM=f.ERROR_NUM,n.ERROR_REF=f.ERROR_REF,n.ERROR_VALUE=f.ERROR_VALUE,n.Parser=u["default"],n.error=s["default"],n.extractLabel=l.extractLabel,n.toLabel=l.toLabel,n.columnIndexToLabel=l.columnIndexToLabel,n.columnLabelToIndex=l.columnLabelToIndex,n.rowIndexToLabel=l.rowIndexToLabel,n.rowLabelToIndex=l.rowLabelToIndex},function(r,n,e){"use strict";function t(r){return r&&r.__esModule?r:{"default":r}}function a(r,n){if(!(r instanceof n))throw new TypeError("Cannot call a class as a function")}function u(r,n){if(!r)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!n||"object"!=typeof n&&"function"!=typeof n?r:n}function o(r,n){if("function"!=typeof n&&null!==n)throw new TypeError("Super expression must either be null or a function, not "+typeof n);r.prototype=Object.create(n&&n.prototype,{constructor:{value:r,enumerable:!1,writable:!0,configurable:!0}}),n&&(Object.setPrototypeOf?Object.setPrototypeOf(r,n):r.__proto__=n)}n.__esModule=!0;var i=e(17),f=t(i),s=e(18),l=t(s),c=e(39),h=e(40),p=e(3),m=e(2),E=t(m),N=e(14);n["default"]=function(r){function n(){a(this,n);var e=u(this,r.call(this));return e.parser=new c.Parser,e.parser.yy={toNumber:p.toNumber,trimEdges:h.trimEdges,invertNumber:p.invertNumber,throwError:function(r){return e._throwError(r)},callVariable:function(r){return e._callVariable(r)},evaluateByOperator:l["default"],callFunction:function(r,n){return e._callFunction(r,n)},cellValue:function(r){return e._callCellValue(r)},rangeValue:function(r,n){return e._callRangeValue(r,n)}},e.variables=Object.create(null),e.functions=Object.create(null),e.setVariable("TRUE",!0).setVariable("FALSE",!1).setVariable("NULL",null),e}return o(n,r),n.prototype.parse=function(r){var n=null,e=null;try{n=""===r?"":this.parser.parse(r)}catch(a){var t=(0,E["default"])(a.message);e=t||(0,E["default"])(m.ERROR)}return n instanceof Error&&(e=(0,E["default"])(n.message)||(0,E["default"])(m.ERROR),n=null),{error:e,result:n}},n.prototype.setVariable=function(r,n){return this.variables[r]=n,this},n.prototype.getVariable=function(r){return this.variables[r]},n.prototype._callVariable=function(r){var n=this.getVariable(r);if(this.emit("callVariable",r,function(r){void 0!==r&&(n=r)}),void 0===n)throw Error(m.ERROR_NAME);return n},n.prototype.setFunction=function(r,n){return this.functions[r]=n,this},n.prototype.getFunction=function(r){return this.functions[r]},n.prototype._callFunction=function(r){var n=arguments.length>1&&arguments[1]!==undefined?arguments[1]:[],e=this.getFunction(r),t=void 0;return e&&(t=e(n)),this.emit("callFunction",r,n,function(r){void 0!==r&&(t=r)}),void 0===t?(0,l["default"])(r,n):t},n.prototype._callCellValue=function(r){r=r.toUpperCase();var n=(0,N.extractLabel)(r),e=n[0],t=n[1],a=void 0;return this.emit("callCellValue",{label:r,row:e,column:t},function(r){a=r}),a},n.prototype._callRangeValue=function(r,n){r=r.toUpperCase(),n=n.toUpperCase();var e=(0,N.extractLabel)(r),t=e[0],a=e[1],u=(0,N.extractLabel)(n),o=u[0],i=u[1],f={},s={};t.index>o.index?(f.row=o,s.row=t):(f.row=t,s.row=o),a.index>i.index?(f.column=i,s.column=a):(f.column=a,s.column=i),f.label=(0,N.toLabel)(f.row,f.column),s.label=(0,N.toLabel)(s.row,s.column);var l=[];return this.emit("callRangeValue",f,s,function(){var r=arguments.length>0&&arguments[0]!==undefined?arguments[0]:[];l=r}),l},n.prototype._throwError=function(r){if((0,m.isValidStrict)(r))throw Error(r);throw Error(m.ERROR)},n}(f["default"])},function(r,n){function e(){}e.prototype={on:function(r,n,e){var t=this.e||(this.e={});return(t[r]||(t[r]=[])).push({fn:n,ctx:e}),this},once:function(r,n,e){function t(){a.off(r,t),n.apply(e,arguments)}var a=this;return t._=n,this.on(r,t,e)},emit:function(r){var n=[].slice.call(arguments,1),e=((this.e||(this.e={}))[r]||[]).slice(),t=0,a=e.length;for(t;a>t;t++)e[t].fn.apply(e[t].ctx,n);return this},off:function(r,n){var e=this.e||(this.e={}),t=e[r],a=[];if(t&&n)for(var u=0,o=t.length;o>u;u++)t[u].fn!==n&&t[u].fn._!==n&&a.push(t[u]);return a.length?e[r]=a:delete e[r],this}},r.exports=e},function(r,n,e){"use strict";function t(r){return r&&r.__esModule?r:{"default":r}}function a(r){var n=arguments.length>1&&arguments[1]!==undefined?arguments[1]:[];if(r=r.toUpperCase(),!P[r])throw Error(w.ERROR_NAME);return P[r].apply(P,n)}function u(r,n){Array.isArray(r)||(r=[r.toUpperCase()]),r.forEach(function(r){P[r]=n.isFactory?n(r):n})}n.__esModule=!0,n["default"]=a,n.registerOperation=u;var o=e(19),i=t(o),f=e(20),s=t(f),l=e(21),c=t(l),h=e(22),p=t(h),m=e(23),E=t(m),N=e(31),v=t(N),g=e(32),I=t(g),d=e(33),b=t(d),M=e(34),y=t(M),A=e(35),R=t(A),T=e(36),O=t(T),S=e(37),L=t(S),C=e(38),D=t(C),w=e(2),P=Object.create(null);u(i["default"].SYMBOL,i["default"]),u(s["default"].SYMBOL,s["default"]),u(c["default"].SYMBOL,c["default"]),u(p["default"].SYMBOL,p["default"]),u(D["default"].SYMBOL,D["default"]),u(E["default"].SYMBOL,E["default"]),u(v["default"].SYMBOL,v["default"]),u(I["default"].SYMBOL,I["default"]),u(b["default"].SYMBOL,b["default"]),u(y["default"].SYMBOL,y["default"]),u(O["default"].SYMBOL,O["default"]),u(L["default"].SYMBOL,L["default"]),u(R["default"].SYMBOL,R["default"])},function(r,n,e){"use strict";function t(r){for(var n=arguments.length,e=Array(n>1?n-1:0),t=1;n>t;t++)e[t-1]=arguments[t];var o=e.reduce(function(r,n){return r+(0,a.toNumber)(n)},(0,a.toNumber)(r));if(isNaN(o))throw Error(u.ERROR_VALUE);return o}n.__esModule=!0,n.SYMBOL=undefined,n["default"]=t;var a=e(3),u=e(2);t.SYMBOL=n.SYMBOL="+"},function(r,n,e){"use strict";function t(){for(var r=arguments.length,n=Array(r),e=0;r>e;e++)n[e]=arguments[e];return n.reduce(function(r,n){return r+""+n},"")}n.__esModule=!0,n["default"]=t,t.SYMBOL=n.SYMBOL="&"},function(r,n,e){"use strict";function t(r){for(var n=arguments.length,e=Array(n>1?n-1:0),t=1;n>t;t++)e[t-1]=arguments[t];var o=e.reduce(function(r,n){return r/(0,a.toNumber)(n)},(0,a.toNumber)(r));if(o===Infinity)throw Error(u.ERROR_DIV_ZERO);if(isNaN(o))throw Error(u.ERROR_VALUE);return o}n.__esModule=!0,n.SYMBOL=undefined,n["default"]=t;var a=e(3),u=e(2);t.SYMBOL=n.SYMBOL="/"},function(r,n,e){"use strict";function t(r,n){return r===n}n.__esModule=!0,n["default"]=t,t.SYMBOL=n.SYMBOL="="},function(r,n,e){"use strict";function t(r){return function(){r=r.toUpperCase();var n=r.split("."),e=!1,t=void 0;if(1===n.length)u[n[0]]&&(e=!0,t=u[n[0]].apply(u,arguments));else{for(var a=n.length,o=0,i=u;a>o;)if(i=i[n[o]],o++,!i){i=null;break}i&&(e=!0,t=i.apply(undefined,arguments))}if(!e)throw Error(f.ERROR_NAME);return t}}n.__esModule=!0,n.SYMBOL=undefined,n["default"]=t;var a=e(24),u=function(r){if(r&&r.__esModule)return r;var n={};if(null!=r)for(var e in r)Object.prototype.hasOwnProperty.call(r,e)&&(n[e]=r[e]);return n["default"]=r,n}(a),o=e(13),i=function(r){return r&&r.__esModule?r:{"default":r}}(o),f=e(2),s=n.SYMBOL=i["default"];t.isFactory=!0,t.SYMBOL=s},function(r,n,e){var t=[e(25),e(27),e(12),e(28),e(4),e(6),e(9),e(29),e(8),e(30),e(5),e(11)];for(var a in t){var u=t[a];for(var o in u)n[o]=n[o]||u[o]}},function(r,n,e){function t(r,n){if(n)for(var e in n)r[e]=n[e];return r}var a=e(4),u=e(5),o=e(12),i=e(9);n.BETADIST=u.BETA.DIST,n.BETAINV=u.BETA.INV,n.BINOMDIST=u.BINOM.DIST,n.CEILING=n.ISOCEILING=t(a.CEILING.MATH,a.CEILING),n.CEILINGMATH=a.CEILING.MATH,n.CEILINGPRECISE=a.CEILING.PRECISE,n.CHIDIST=u.CHISQ.DIST,n.CHIDISTRT=u.CHISQ.DIST.RT,n.CHIINV=u.CHISQ.INV,n.CHIINVRT=u.CHISQ.INV.RT,n.CHITEST=u.CHISQ.TEST,n.CONFIDENCE=t(u.CONFIDENCE.NORM,u.CONFIDENCE),n.COVAR=u.COVARIANCE.P,n.COVARIANCEP=u.COVARIANCE.P,n.COVARIANCES=u.COVARIANCE.S,n.CRITBINOM=u.BINOM.INV,n.EXPONDIST=u.EXPON.DIST,n.ERFCPRECISE=o.ERFC.PRECISE,n.ERFPRECISE=o.ERF.PRECISE,n.FDIST=u.F.DIST,n.FDISTRT=u.F.DIST.RT,n.FINVRT=u.F.INV.RT,n.FINV=u.F.INV,n.FLOOR=t(a.FLOOR.MATH,a.FLOOR),n.FLOORMATH=a.FLOOR.MATH,n.FLOORPRECISE=a.FLOOR.PRECISE,n.FTEST=u.F.TEST,n.GAMMADIST=u.GAMMA.DIST,n.GAMMAINV=u.GAMMA.INV,n.GAMMALNPRECISE=u.GAMMALN.PRECISE,n.HYPGEOMDIST=u.HYPGEOM.DIST,n.LOGINV=u.LOGNORM.INV,n.LOGNORMINV=u.LOGNORM.INV,n.LOGNORMDIST=u.LOGNORM.DIST,n.MODE=t(u.MODE.SNGL,u.MODE),n.MODEMULT=u.MODE.MULT,n.MODESNGL=u.MODE.SNGL,n.NEGBINOMDIST=u.NEGBINOM.DIST,n.NETWORKDAYSINTL=i.NETWORKDAYS.INTL,n.NORMDIST=u.NORM.DIST,n.NORMINV=u.NORM.INV,n.NORMSDIST=u.NORM.S.DIST,n.NORMSINV=u.NORM.S.INV,n.PERCENTILE=t(u.PERCENTILE.EXC,u.PERCENTILE),n.PERCENTILEEXC=u.PERCENTILE.EXC,n.PERCENTILEINC=u.PERCENTILE.INC,n.PERCENTRANK=t(u.PERCENTRANK.INC,u.PERCENTRANK),n.PERCENTRANKEXC=u.PERCENTRANK.EXC,n.PERCENTRANKINC=u.PERCENTRANK.INC,n.POISSON=t(u.POISSON.DIST,u.POISSON),n.POISSONDIST=u.POISSON.DIST,n.QUARTILE=t(u.QUARTILE.INC,u.QUARTILE),n.QUARTILEEXC=u.QUARTILE.EXC,n.QUARTILEINC=u.QUARTILE.INC,n.RANK=t(u.RANK.EQ,u.RANK),n.RANKAVG=u.RANK.AVG,n.RANKEQ=u.RANK.EQ,n.SKEWP=u.SKEW.P,n.STDEV=t(u.STDEV.S,u.STDEV),n.STDEVP=u.STDEV.P,n.STDEVS=u.STDEV.S,n.TDIST=u.T.DIST,n.TDISTRT=u.T.DIST.RT,n.TINV=u.T.INV,n.TTEST=u.T.TEST,n.VAR=t(u.VAR.S,u.VAR),n.VARP=u.VAR.P,n.VARS=u.VAR.S,n.WEIBULL=t(u.WEIBULL.DIST,u.WEIBULL),n.WEIBULLDIST=u.WEIBULL.DIST,n.WORKDAYINTL=i.WORKDAY.INTL,n.ZTEST=u.Z.TEST},function(r,n,e){function t(r,n){return r.reduce(function(r,e){return n*r+e},0)}function a(r,n,e,t,a){a||(a=-1);var u,o=2/r;if(0===n)return e;if(1===n)return t;for(var i=1;i!=n;++i)u=t*i*o+a*e,e=t,t=u;return t}function u(r,n,e,t,u){return function(o,i){if(0===i)return r(o);if(1===i)return n(o);if(0>i)throw e+": Order ("+i+") must be nonnegative";if(1==t&&0===o)throw e+": Undefined when x == 0";if(2==t&&0>=o)throw e+": Undefined when x <= 0";return a(o,i,r(o),n(o),u)}}var o=Math,i=function(){function r(r){var n,a,l,c=r*r,h=o.abs(r)-.785398164;return 8>o.abs(r)?(a=t(e,c),l=t(u,c),n=a/l):(c=64/c,a=t(i,c),l=t(f,c),n=o.sqrt(s/o.abs(r))*(o.cos(h)*a-o.sin(h)*l*8/o.abs(r))),n}function n(r){var n,e,a,u=r*r,i=o.abs(r)-2.356194491;return 8>Math.abs(r)?(e=r*t(l,u),a=t(c,u),n=e/a):(u=64/u,e=t(h,u),a=t(p,u),n=o.sqrt(s/o.abs(r))*(o.cos(i)*e-o.sin(i)*a*8/o.abs(r)),0>r&&(n=-n)),n}var e=[57568490574,-13362590354,651619640.7,-11214424.18,77392.33017,-184.9052456].reverse(),u=[57568490411,1029532985,9494680.718,59272.64853,267.8532712,1].reverse(),i=[1,-.001098628627,2734510407e-14,-2073370639e-15,2.093887211e-7].reverse(),f=[-.01562499995,.0001430488765,-6911147651e-15,7.621095161e-7,-9.34935152e-8].reverse(),s=.636619772,l=[72362614232,-7895059235,242396853.1,-2972611.439,15704.4826,-30.16036606].reverse(),c=[144725228442,2300535178,18583304.74,99447.43394,376.9991397,1].reverse(),h=[1,.00183105,-3516396496e-14,2457520174e-15,-2.40337019e-7].reverse(),p=[.04687499995,-.0002002690873,8449199096e-15,-8.8228987e-7,1.05787412e-7].reverse();return function(e,t){if(0===(t=Math.round(t)))return r(o.abs(e));if(1===t)return n(o.abs(e));if(0>t)throw"BESSELJ: Order ("+t+") must be nonnegative";if(0===o.abs(e))return 0;var u,i,f,s,l,c,h,p,m=2/o.abs(e);if(o.abs(e)>t)u=a(e,t,r(o.abs(e)),n(o.abs(e)),-1);else{for(f=2*o.floor((t+o.floor(o.sqrt(40*t)))/2),s=0,c=u=l=0,h=1,i=f;i>0;i--)p=i*m*h-c,c=h,h=p,o.abs(h)>1e10&&(h*=1e-10,c*=1e-10,u*=1e-10,l*=1e-10),s&&(l+=h),s=!s,i==t&&(u=c);l=2*l-h,u/=l}return 0>e&&t%2?-u:u}}(),f=function(){function r(r){var n,u,c,h=r*r,p=r-.785398164;return 8>r?(u=t(e,h),c=t(a,h),n=u/c+l*i(r,0)*o.log(r)):(h=64/h,u=t(f,h),c=t(s,h),n=o.sqrt(l/r)*(o.sin(p)*u+o.cos(p)*c*8/r)),n}function n(r){var n,e,a,u=r*r,f=r-2.356194491;return 8>r?(e=r*t(c,u),a=t(h,u),n=e/a+l*(i(r,1)*o.log(r)-1/r)):(u=64/u,e=t(p,u),a=t(m,u),n=o.sqrt(l/r)*(o.sin(f)*e+o.cos(f)*a*8/r)),n}var e=[-2957821389,7062834065,-512359803.6,10879881.29,-86327.92757,228.4622733].reverse(),a=[40076544269,745249964.8,7189466.438,47447.2647,226.1030244,1].reverse(),f=[1,-.001098628627,2734510407e-14,-2073370639e-15,2.093887211e-7].reverse(),s=[-.01562499995,.0001430488765,-6911147651e-15,7.621095161e-7,-9.34945152e-8].reverse(),l=.636619772,c=[-4900604943e3,127527439e4,-51534381390,734926455.1,-4237922.726,8511.937935].reverse(),h=[249958057e5,424441966400,3733650367,22459040.02,102042.605,354.9632885,1].reverse(),p=[1,.00183105,-3516396496e-14,2457520174e-15,-2.40337019e-7].reverse(),m=[.04687499995,-.0002002690873,8449199096e-15,-8.8228987e-7,1.05787412e-7].reverse();return u(r,n,"BESSELY",1,-1)}(),s=function(){function r(r){return r>3.75?o.exp(o.abs(r))/o.sqrt(o.abs(r))*t(a,3.75/o.abs(r)):t(e,r*r/14.0625)}function n(r){return 3.75>r?r*t(u,r*r/14.0625):(0>r?-1:1)*o.exp(o.abs(r))/o.sqrt(o.abs(r))*t(i,3.75/o.abs(r))}var e=[1,3.5156229,3.0899424,1.2067492,.2659732,.0360768,.0045813].reverse(),a=[.39894228,.01328592,.00225319,-.00157565,.00916281,-.02057706,.02635537,-.01647633,.00392377].reverse(),u=[.5,.87890594,.51498869,.15084934,.02658733,.00301532,32411e-8].reverse(),i=[.39894228,-.03988024,-.00362018,.00163801,-.01031555,.02282967,-.02895312,.01787654,-.00420059].reverse();return function f(e,t){if(0===(t=Math.round(t)))return r(e);if(1==t)return n(e);if(0>t)throw"BESSELI Order ("+t+") must be nonnegative";if(0===o.abs(e))return 0;var a,u,i,s,l,c,h=2/o.abs(e);for(i=2*o.round((t+o.round(o.sqrt(40*t)))/2),s=a=0,l=1,u=i;u>0;u--)c=u*h*l+s,s=l,l=c,o.abs(l)>1e10&&(l*=1e-10,s*=1e-10,a*=1e-10),u==t&&(a=s);return a*=f(e,0)/l,0>e&&t%2?-a:a}}(),l=function(){function r(r){return r>2?o.exp(-r)/o.sqrt(r)*t(a,2/r):-o.log(r/2)*s(r,0)+t(e,r*r/4)}function n(r){return r>2?o.exp(-r)/o.sqrt(r)*t(f,2/r):o.log(r/2)*s(r,1)+1/r*t(i,r*r/4)}var e=[-.57721566,.4227842,.23069756,.0348859,.00262698,1075e-7,74e-7].reverse(),a=[1.25331414,-.07832358,.02189568,-.01062446,.00587872,-.0025154,53208e-8].reverse(),i=[1,.15443144,-.67278579,-.18156897,-.01919402,-.00110404,-4686e-8].reverse(),f=[1.25331414,.23498619,-.0365562,.01504268,-.00780353,.00325614,-68245e-8].reverse();return u(r,n,"BESSELK",2,1)}();n.besselj=i,n.bessely=f,n.besseli=s,n.besselk=l},function(r,n,e){function t(r){var n=[];return f.arrayEach(r,function(r){r&&n.push(r)}),n}function a(r,n){for(var e={},t=1;r[0].length>t;++t)e[t]=!0;var a=n[0].length;for(t=1;n.length>t;++t)n[t].length>a&&(a=n[t].length);for(var u=1;r.length>u;++u)for(var o=1;r[u].length>o;++o){for(var i=!1,f=!1,l=0;n.length>l;++l){var c=n[l];if(c.length>=a){var h=c[0];if(r[u][0]===h){f=!0;for(var p=1;c.length>p;++p)if(!i){var m=void 0===c[p]||"*"===c[p];if(m)i=!0;else{var E=s.parse(c[p]+""),N=[s.createToken(r[u][o],s.TOKEN_TYPE_LITERAL)].concat(E);i=s.compute(N)}}}}}f&&(e[o]=e[o]&&i)}for(var v=[],g=0;r[0].length>g;++g)e[g]&&v.push(g-1);return v}var u=e(0),o=e(5),i=e(4),f=e(1),s=e(7);n.FINDFIELD=function(r,n){var e=null;return f.arrayEach(r,function(r,t){if(r[0]===n)return e=t,!1}),null==e?u.value:e},n.DAVERAGE=function(r,e,t){if(isNaN(e)&&"string"!=typeof e)return u.value;var o=a(r,t),i=[];if("string"==typeof e){var s=n.FINDFIELD(r,e);i=f.rest(r[s])}else i=f.rest(r[e]);var l=0;return f.arrayEach(o,function(r){l+=i[r]}),0===o.length?u.div0:l/o.length},n.DCOUNT=function(r,e,t){if(isNaN(e)&&"string"!=typeof e)return u.value;var i=a(r,t),s=[];if("string"==typeof e){var l=n.FINDFIELD(r,e);s=f.rest(r[l])}else s=f.rest(r[e]);var c=[];return f.arrayEach(i,function(r){c.push(s[r])}),o.COUNT(c)},n.DCOUNTA=function(r,e,t){if(isNaN(e)&&"string"!=typeof e)return u.value;var i=a(r,t),s=[];if("string"==typeof e){var l=n.FINDFIELD(r,e);s=f.rest(r[l])}else s=f.rest(r[e]);var c=[];return f.arrayEach(i,function(r){c.push(s[r])}),o.COUNTA(c)},n.DGET=function(r,e,t){if(isNaN(e)&&"string"!=typeof e)return u.value;var o=a(r,t),i=[];if("string"==typeof e){var s=n.FINDFIELD(r,e);i=f.rest(r[s])}else i=f.rest(r[e]);return 0===o.length?u.value:o.length>1?u.num:i[o[0]]},n.DMAX=function(r,e,t){if(isNaN(e)&&"string"!=typeof e)return u.value;var o=a(r,t),i=[];if("string"==typeof e){var s=n.FINDFIELD(r,e);i=f.rest(r[s])}else i=f.rest(r[e]);var l=i[o[0]];return f.arrayEach(o,function(r){i[r]>l&&(l=i[r])}),l},n.DMIN=function(r,e,t){if(isNaN(e)&&"string"!=typeof e)return u.value;var o=a(r,t),i=[];if("string"==typeof e){var s=n.FINDFIELD(r,e);i=f.rest(r[s])}else i=f.rest(r[e]);var l=i[o[0]];return f.arrayEach(o,function(r){l>i[r]&&(l=i[r])}),l},n.DPRODUCT=function(r,e,o){if(isNaN(e)&&"string"!=typeof e)return u.value;var i=a(r,o),s=[];if("string"==typeof e){var l=n.FINDFIELD(r,e);s=f.rest(r[l])}else s=f.rest(r[e]);var c=[];f.arrayEach(i,function(r){c.push(s[r])}),c=t(c);var h=1;return f.arrayEach(c,function(r){h*=r}),h},n.DSTDEV=function(r,e,i){if(isNaN(e)&&"string"!=typeof e)return u.value;var s=a(r,i),l=[];if("string"==typeof e){var c=n.FINDFIELD(r,e);l=f.rest(r[c])}else l=f.rest(r[e]);var h=[];return f.arrayEach(s,function(r){h.push(l[r])}),h=t(h),o.STDEV.S(h)},n.DSTDEVP=function(r,e,i){if(isNaN(e)&&"string"!=typeof e)return u.value;var s=a(r,i),l=[];if("string"==typeof e){var c=n.FINDFIELD(r,e);l=f.rest(r[c])}else l=f.rest(r[e]);var h=[];return f.arrayEach(s,function(r){h.push(l[r])}),h=t(h),o.STDEV.P(h)},n.DSUM=function(r,e,t){if(isNaN(e)&&"string"!=typeof e)return u.value;var o=a(r,t),s=[];if("string"==typeof e){var l=n.FINDFIELD(r,e);s=f.rest(r[l])}else s=f.rest(r[e]);var c=[];return f.arrayEach(o,function(r){c.push(s[r])}),i.SUM(c)},n.DVAR=function(r,e,t){if(isNaN(e)&&"string"!=typeof e)return u.value;var i=a(r,t),s=[];if("string"==typeof e){var l=n.FINDFIELD(r,e);s=f.rest(r[l])}else s=f.rest(r[e]);var c=[];return f.arrayEach(i,function(r){c.push(s[r])}),o.VAR.S(c)},n.DVARP=function(r,e,t){if(isNaN(e)&&"string"!=typeof e)return u.value;var i=a(r,t),s=[];if("string"==typeof e){var l=n.FINDFIELD(r,e);s=f.rest(r[l])}else s=f.rest(r[e]);var c=[];return f.arrayEach(i,function(r){c.push(s[r])}),o.VAR.P(c)}},function(r,n,e){var t=e(0),a=e(1),u=e(8);n.AND=function(){for(var r=a.flatten(arguments),n=!0,e=0;r.length>e;e++)r[e]||(n=!1);return n},n.CHOOSE=function(){if(2>arguments.length)return t.na;var r=arguments[0];return 1>r||r>254?t.value:r+1>arguments.length?t.value:arguments[r]},n.FALSE=function(){return!1},n.IF=function(r,n,e){return r?n:e},n.IFERROR=function(r,n){return u.ISERROR(r)?n:r},n.IFNA=function(r,n){return r===t.na?n:r},n.NOT=function(r){return!r},n.OR=function(){for(var r=a.flatten(arguments),n=!1,e=0;r.length>e;e++)r[e]&&(n=!0);return n},n.TRUE=function(){return!0},n.XOR=function(){for(var r=a.flatten(arguments),n=0,e=0;r.length>e;e++)r[e]&&n++;return!!(1&Math.floor(Math.abs(n)))},n.SWITCH=function(){var r;if(arguments.length>0){var n=arguments[0],e=arguments.length-1,a=Math.floor(e/2),u=!1,o=e%2!=0,i=e%2==0?null:arguments[arguments.length-1];if(a)for(var f=0;a>f;f++)if(n===arguments[2*f+1]){r=arguments[2*f+2],u=!0;break}u||(r=o?i:t.na)}else r=t.value;return r}},function(r,n,e){function t(r){return r&&r.getTime&&!isNaN(r.getTime())}function a(r){return r instanceof Date?r:new Date(r)}var u=e(0),o=e(9),i=e(1);n.ACCRINT=function(r,n,e,i,f,s,l){return r=a(r),n=a(n),e=a(e),t(r)&&t(n)&&t(e)?i>0&&f>0?-1===[1,2,4].indexOf(s)?u.num:-1===[0,1,2,3,4].indexOf(l)?u.num:e>r?(f=f||0,l=l||0,f*i*o.YEARFRAC(r,e,l)):u.num:u.num:u.value},n.ACCRINTM=function(){throw Error("ACCRINTM is not implemented")},n.AMORDEGRC=function(){throw Error("AMORDEGRC is not implemented")},n.AMORLINC=function(){throw Error("AMORLINC is not implemented")},n.COUPDAYBS=function(){throw Error("COUPDAYBS is not implemented")},n.COUPDAYS=function(){throw Error("COUPDAYS is not implemented")},n.COUPDAYSNC=function(){throw Error("COUPDAYSNC is not implemented")},n.COUPNCD=function(){throw Error("COUPNCD is not implemented")},n.COUPNUM=function(){throw Error("COUPNUM is not implemented")},n.COUPPCD=function(){throw Error("COUPPCD is not implemented")},n.CUMIPMT=function(r,e,t,a,o,f){if(r=i.parseNumber(r),e=i.parseNumber(e),t=i.parseNumber(t),i.anyIsError(r,e,t))return u.value;if(0>=r||0>=e||0>=t)return u.num;if(1>a||1>o||a>o)return u.num;if(0!==f&&1!==f)return u.num;var s=n.PMT(r,e,t,0,f),l=0;1===a&&0===f&&(l=-t,a++);for(var c=a;o>=c;c++)l+=1===f?n.FV(r,c-2,s,t,1)-s:n.FV(r,c-1,s,t,0);return l*=r},n.CUMPRINC=function(r,e,t,a,o,f){if(r=i.parseNumber(r),e=i.parseNumber(e),t=i.parseNumber(t),i.anyIsError(r,e,t))return u.value;if(0>=r||0>=e||0>=t)return u.num;if(1>a||1>o||a>o)return u.num;if(0!==f&&1!==f)return u.num;var s=n.PMT(r,e,t,0,f),l=0;1===a&&(l=0===f?s+t*r:s,a++);for(var c=a;o>=c;c++)l+=f>0?s-(n.FV(r,c-2,s,t,1)-s)*r:s-n.FV(r,c-1,s,t,0)*r;return l},n.DB=function(r,n,e,t,a){if(a=a===undefined?12:a,r=i.parseNumber(r),n=i.parseNumber(n),e=i.parseNumber(e),t=i.parseNumber(t),a=i.parseNumber(a),i.anyIsError(r,n,e,t,a))return u.value;if(0>r||0>n||0>e||0>t)return u.num;if(-1===[1,2,3,4,5,6,7,8,9,10,11,12].indexOf(a))return u.num;if(t>e)return u.num;if(n>=r)return 0;for(var o=(1-Math.pow(n/r,1/e)).toFixed(3),f=r*o*a/12,s=f,l=0,c=t===e?e-1:t,h=2;c>=h;h++)l=(r-s)*o,s+=l;return 1===t?f:t===e?(r-s)*o:l},n.DDB=function(r,n,e,t,a){if(a=a===undefined?2:a,r=i.parseNumber(r),n=i.parseNumber(n),e=i.parseNumber(e),t=i.parseNumber(t),a=i.parseNumber(a),i.anyIsError(r,n,e,t,a))return u.value;if(0>r||0>n||0>e||0>t||0>=a)return u.num;if(t>e)return u.num;if(n>=r)return 0;for(var o=0,f=0,s=1;t>=s;s++)f=Math.min(a/e*(r-o),r-n-o),o+=f;return f},n.DISC=function(){throw Error("DISC is not implemented")},n.DOLLARDE=function(r,n){if(r=i.parseNumber(r),n=i.parseNumber(n),i.anyIsError(r,n))return u.value;if(0>n)return u.num;if(n>=0&&1>n)return u.div0;n=parseInt(n,10);var e=parseInt(r,10);e+=r%1*Math.pow(10,Math.ceil(Math.log(n)/Math.LN10))/n;var t=Math.pow(10,Math.ceil(Math.log(n)/Math.LN2)+1);return e=Math.round(e*t)/t},n.DOLLARFR=function(r,n){if(r=i.parseNumber(r),n=i.parseNumber(n),i.anyIsError(r,n))return u.value;if(0>n)return u.num;if(n>=0&&1>n)return u.div0;n=parseInt(n,10);var e=parseInt(r,10);return e+=r%1*Math.pow(10,-Math.ceil(Math.log(n)/Math.LN10))*n},n.DURATION=function(){throw Error("DURATION is not implemented")},n.EFFECT=function(r,n){return r=i.parseNumber(r),n=i.parseNumber(n),i.anyIsError(r,n)?u.value:0>=r||1>n?u.num:(n=parseInt(n,10),Math.pow(1+r/n,n)-1)},n.FV=function(r,n,e,t,a){if(t=t||0,a=a||0,r=i.parseNumber(r),n=i.parseNumber(n),e=i.parseNumber(e),t=i.parseNumber(t),a=i.parseNumber(a),i.anyIsError(r,n,e,t,a))return u.value;var o;if(0===r)o=t+e*n;else{var f=Math.pow(1+r,n);o=1===a?t*f+e*(1+r)*(f-1)/r:t*f+e*(f-1)/r}return-o},n.FVSCHEDULE=function(r,n){if(r=i.parseNumber(r),n=i.parseNumberArray(i.flatten(n)),i.anyIsError(r,n))return u.value;for(var e=n.length,t=r,a=0;e>a;a++)t*=1+n[a];return t},n.INTRATE=function(){throw Error("INTRATE is not implemented")},n.IPMT=function(r,e,t,a,o,f){if(o=o||0,f=f||0,r=i.parseNumber(r),e=i.parseNumber(e),t=i.parseNumber(t),a=i.parseNumber(a),o=i.parseNumber(o),f=i.parseNumber(f),i.anyIsError(r,e,t,a,o,f))return u.value;var s=n.PMT(r,t,a,o,f);return(1===e?1===f?0:-a:1===f?n.FV(r,e-2,s,a,1)-s:n.FV(r,e-1,s,a,0))*r},n.IRR=function(r,n){if(n=n||0,r=i.parseNumberArray(i.flatten(r)),n=i.parseNumber(n),i.anyIsError(r,n))return u.value;for(var e=[],t=!1,a=!1,o=0;r.length>o;o++)e[o]=0===o?0:e[o-1]+365,r[o]>0&&(t=!0),0>r[o]&&(a=!0);if(!t||!a)return u.num;n=n===undefined?.1:n;var f,s,l,c=n,h=!0;do{l=function(r,n,e){for(var t=e+1,a=r[0],u=1;r.length>u;u++)a+=r[u]/Math.pow(t,(n[u]-n[0])/365);return a}(r,e,c),f=c-l/function(r,n,e){for(var t=e+1,a=0,u=1;r.length>u;u++){var o=(n[u]-n[0])/365;a-=o*r[u]/Math.pow(t,o+1)}return a}(r,e,c),s=Math.abs(f-c),c=f,h=s>1e-10&&Math.abs(l)>1e-10}while(h);return c},n.ISPMT=function(r,n,e,t){return r=i.parseNumber(r),n=i.parseNumber(n),e=i.parseNumber(e),t=i.parseNumber(t),i.anyIsError(r,n,e,t)?u.value:t*r*(n/e-1)},n.MDURATION=function(){throw Error("MDURATION is not implemented")},n.MIRR=function(r,e,t){if(r=i.parseNumberArray(i.flatten(r)),e=i.parseNumber(e),t=i.parseNumber(t),i.anyIsError(r,e,t))return u.value;for(var a=r.length,o=[],f=[],s=0;a>s;s++)0>r[s]?o.push(r[s]):f.push(r[s]);var l=-n.NPV(t,f)*Math.pow(1+t,a-1),c=n.NPV(e,o)*(1+e);return Math.pow(l/c,1/(a-1))-1},n.NOMINAL=function(r,n){return r=i.parseNumber(r),n=i.parseNumber(n),i.anyIsError(r,n)?u.value:0>=r||1>n?u.num:(n=parseInt(n,10),(Math.pow(r+1,1/n)-1)*n)},n.NPER=function(r,n,e,t,a){if(a=a===undefined?0:a,t=t===undefined?0:t,r=i.parseNumber(r),n=i.parseNumber(n),e=i.parseNumber(e),t=i.parseNumber(t),a=i.parseNumber(a),i.anyIsError(r,n,e,t,a))return u.value;var o=n*(1+r*a)-t*r,f=e*r+n*(1+r*a);return Math.log(o/f)/Math.log(1+r)},n.NPV=function(){var r=i.parseNumberArray(i.flatten(arguments));if(r instanceof Error)return r;for(var n=r[0],e=0,t=1;r.length>t;t++)e+=r[t]/Math.pow(1+n,t);return e},n.ODDFPRICE=function(){throw Error("ODDFPRICE is not implemented")},n.ODDFYIELD=function(){throw Error("ODDFYIELD is not implemented")},n.ODDLPRICE=function(){throw Error("ODDLPRICE is not implemented")},n.ODDLYIELD=function(){throw Error("ODDLYIELD is not implemented")},n.PDURATION=function(r,n,e){return r=i.parseNumber(r),n=i.parseNumber(n),e=i.parseNumber(e),i.anyIsError(r,n,e)?u.value:r>0?(Math.log(e)-Math.log(n))/Math.log(1+r):u.num},n.PMT=function(r,n,e,t,a){if(t=t||0,a=a||0,r=i.parseNumber(r),n=i.parseNumber(n),e=i.parseNumber(e),t=i.parseNumber(t),a=i.parseNumber(a),i.anyIsError(r,n,e,t,a))return u.value;var o;if(0===r)o=(e+t)/n;else{var f=Math.pow(1+r,n);o=1===a?(t*r/(f-1)+e*r/(1-1/f))/(1+r):t*r/(f-1)+e*r/(1-1/f)}return-o},n.PPMT=function(r,e,t,a,o,f){return o=o||0,f=f||0,r=i.parseNumber(r),t=i.parseNumber(t),a=i.parseNumber(a),o=i.parseNumber(o),f=i.parseNumber(f),i.anyIsError(r,t,a,o,f)?u.value:n.PMT(r,t,a,o,f)-n.IPMT(r,e,t,a,o,f)},n.PRICE=function(){throw Error("PRICE is not implemented")},n.PRICEDISC=function(){throw Error("PRICEDISC is not implemented")},n.PRICEMAT=function(){throw Error("PRICEMAT is not implemented")},n.PV=function(r,n,e,t,a){return t=t||0,a=a||0,r=i.parseNumber(r),n=i.parseNumber(n),e=i.parseNumber(e),t=i.parseNumber(t),a=i.parseNumber(a),i.anyIsError(r,n,e,t,a)?u.value:0===r?-e*n-t:((1-Math.pow(1+r,n))/r*e*(1+r*a)-t)/Math.pow(1+r,n)},n.RATE=function(r,n,e,t,a,o){if(o=o===undefined?.01:o,t=t===undefined?0:t,a=a===undefined?0:a,r=i.parseNumber(r),n=i.parseNumber(n),e=i.parseNumber(e),t=i.parseNumber(t),a=i.parseNumber(a),o=i.parseNumber(o),i.anyIsError(r,n,e,t,a,o))return u.value;var f,s,l,c,h=0,p=0,m=0,E=o;for(1e-10>Math.abs(E)?f=e*(1+r*E)+n*(1+E*a)*r+t:(p=Math.exp(r*Math.log(1+E)),f=e*p+n*(1/E+a)*(p-1)+t),s=e+n*r+t,l=e*p+n*(1/E+a)*(p-1)+t,m=c=0,h=E;Math.abs(s-l)>1e-10&&50>m;)E=(l*c-s*h)/(l-s),c=h,h=E,1e-10>Math.abs(E)?f=e*(1+r*E)+n*(1+E*a)*r+t:(p=Math.exp(r*Math.log(1+E)),f=e*p+n*(1/E+a)*(p-1)+t),s=l,l=f,++m;return E},n.RECEIVED=function(){throw Error("RECEIVED is not implemented")},n.RRI=function(r,n,e){return r=i.parseNumber(r),n=i.parseNumber(n),e=i.parseNumber(e),i.anyIsError(r,n,e)?u.value:0===r||0===n?u.num:Math.pow(e/n,1/r)-1},n.SLN=function(r,n,e){return r=i.parseNumber(r),n=i.parseNumber(n),e=i.parseNumber(e),i.anyIsError(r,n,e)?u.value:0===e?u.num:(r-n)/e},n.SYD=function(r,n,e,t){return r=i.parseNumber(r),n=i.parseNumber(n),e=i.parseNumber(e),t=i.parseNumber(t),i.anyIsError(r,n,e,t)?u.value:0===e?u.num:1>t||t>e?u.num:(t=parseInt(t,10),(r-n)*(e-t+1)*2/(e*(e+1)))},n.TBILLEQ=function(r,n,e){return r=i.parseDate(r),n=i.parseDate(n),e=i.parseNumber(e),i.anyIsError(r,n,e)?u.value:e>0?r>n?u.num:n-r>31536e6?u.num:365*e/(360-e*o.DAYS360(r,n,!1)):u.num},n.TBILLPRICE=function(r,n,e){return r=i.parseDate(r),n=i.parseDate(n),e=i.parseNumber(e),i.anyIsError(r,n,e)?u.value:e>0?r>n?u.num:n-r>31536e6?u.num:100*(1-e*o.DAYS360(r,n,!1)/360):u.num},n.TBILLYIELD=function(r,n,e){return r=i.parseDate(r),n=i.parseDate(n),e=i.parseNumber(e),i.anyIsError(r,n,e)?u.value:e>0?r>n?u.num:n-r>31536e6?u.num:360*(100-e)/(e*o.DAYS360(r,n,!1)):u.num},n.VDB=function(){throw Error("VDB is not implemented")},n.XNPV=function(r,n,e){if(r=i.parseNumber(r),n=i.parseNumberArray(i.flatten(n)),e=i.parseDateArray(i.flatten(e)),i.anyIsError(r,n,e))return u.value;for(var t=0,a=0;n.length>a;a++)t+=n[a]/Math.pow(1+r,o.DAYS(e[a],e[0])/365);return t},n.YIELD=function(){throw Error("YIELD is not implemented")},n.YIELDDISC=function(){throw Error("YIELDDISC is not implemented")},n.YIELDMAT=function(){throw Error("YIELDMAT is not implemented")}},function(r,n,e){var t=e(0),a=e(1);n.MATCH=function(r,n,e){if(!r&&!n)return t.na;if(2===arguments.length&&(e=1),!(n instanceof Array))return t.na;if(-1!==e&&0!==e&&1!==e)return t.na;for(var a,u,o=0;n.length>o;o++)if(1===e){if(n[o]===r)return o+1;r>n[o]&&(u?n[o]>u&&(a=o+1,u=n[o]):(a=o+1,u=n[o]))}else if(0===e){if("string"==typeof r){if(r=r.replace(/\?/g,"."),n[o].toLowerCase().match(r.toLowerCase()))return o+1}else if(n[o]===r)return o+1}else if(-1===e){if(n[o]===r)return o+1;n[o]>r&&(u?u>n[o]&&(a=o+1,u=n[o]):(a=o+1,u=n[o]))}return a||t.na},n.VLOOKUP=function(r,n,e,a){if(!r||!n||!e)return t.na;a=a||!1;for(var u=0;n.length>u;u++){var o=n[u];if(!a&&o[0]===r||o[0]===r||a&&"string"==typeof o[0]&&-1!==o[0].toLowerCase().indexOf(r.toLowerCase()))return o.length+1>e?o[e-1]:t.ref}return t.na},n.HLOOKUP=function(r,n,e,u){if(!r||!n||!e)return t.na;u=u||!1;for(var o=a.transpose(n),i=0;o.length>i;i++){var f=o[i];if(!u&&f[0]===r||f[0]===r||u&&"string"==typeof f[0]&&-1!==f[0].toLowerCase().indexOf(r.toLowerCase()))return f.length+1>e?f[e-1]:t.ref}return t.na}},function(r,n,e){"use strict";function t(r,n){return r>n}n.__esModule=!0,n["default"]=t,t.SYMBOL=n.SYMBOL=">"},function(r,n,e){"use strict";function t(r,n){return r>=n}n.__esModule=!0,n["default"]=t,t.SYMBOL=n.SYMBOL=">="},function(r,n,e){"use strict";function t(r,n){return n>r}n.__esModule=!0,n["default"]=t,t.SYMBOL=n.SYMBOL="<"},function(r,n,e){"use strict";function t(r,n){return n>=r}n.__esModule=!0,n["default"]=t,t.SYMBOL=n.SYMBOL="<="},function(r,n,e){"use strict";function t(r){for(var n=arguments.length,e=Array(n>1?n-1:0),t=1;n>t;t++)e[t-1]=arguments[t];var o=e.reduce(function(r,n){return r-(0,a.toNumber)(n)},(0,a.toNumber)(r));if(isNaN(o))throw Error(u.ERROR_VALUE);return o}n.__esModule=!0,n.SYMBOL=undefined,n["default"]=t;var a=e(3),u=e(2);t.SYMBOL=n.SYMBOL="-"},function(r,n,e){"use strict";function t(r){for(var n=arguments.length,e=Array(n>1?n-1:0),t=1;n>t;t++)e[t-1]=arguments[t];var o=e.reduce(function(r,n){return r*(0,a.toNumber)(n)},(0,a.toNumber)(r));if(isNaN(o))throw Error(u.ERROR_VALUE);return o}n.__esModule=!0,n.SYMBOL=undefined,n["default"]=t;var a=e(3),u=e(2);t.SYMBOL=n.SYMBOL="*"},function(r,n,e){"use strict";function t(r,n){return r!==n}n.__esModule=!0,n["default"]=t,t.SYMBOL=n.SYMBOL="<>"},function(r,n,e){"use strict";function t(r,n){var e=Math.pow((0,a.toNumber)(r),(0,a.toNumber)(n));if(isNaN(e))throw Error(u.ERROR_VALUE);return e}n.__esModule=!0,n.SYMBOL=undefined,n["default"]=t;var a=e(3),u=e(2);t.SYMBOL=n.SYMBOL="^"},function(r,n,e){var t=function(){function r(){this.yy={}}var n=function(r,n,e,t){for(e=e||{},t=r.length;t--;e[r[t]]=n);return e},e=[1,5],t=[1,8],a=[1,6],u=[1,7],o=[1,9],i=[1,14],f=[1,15],s=[1,16],l=[1,12],c=[1,13],h=[1,17],p=[1,19],m=[1,20],E=[1,21],N=[1,22],v=[1,23],g=[1,24],I=[1,25],d=[1,26],b=[1,27],M=[1,28],y=[5,9,10,11,13,14,15,16,17,18,19,20,29,30],A=[5,9,10,11,13,14,15,16,17,18,19,20,29,30,32],R=[5,9,10,11,13,14,15,16,17,18,19,20,29,30,34],T=[5,10,11,13,14,15,16,17,29,30],O=[5,10,13,14,15,16,29,30],S=[5,10,11,13,14,15,16,17,18,19,29,30],L=[13,29,30],C={trace:function(){},yy:{},symbols_:{error:2,expressions:3,expression:4,EOF:5,variableSequence:6,number:7,STRING:8,"&":9,"=":10,"+":11,"(":12,")":13,"<":14,">":15,NOT:16,"-":17,"*":18,"/":19,"^":20,FUNCTION:21,expseq:22,cell:23,ABSOLUTE_CELL:24,RELATIVE_CELL:25,MIXED_CELL:26,":":27,ARRAY:28,";":29,",":30,VARIABLE:31,DECIMAL:32,NUMBER:33,"%":34,ERROR:35,$accept:0,$end:1},terminals_:{5:"EOF",8:"STRING",9:"&",10:"=",11:"+",12:"(",13:")",14:"<",15:">",16:"NOT",17:"-",18:"*",19:"/",20:"^",21:"FUNCTION",24:"ABSOLUTE_CELL",25:"RELATIVE_CELL",26:"MIXED_CELL",27:":",28:"ARRAY",29:";",30:",",31:"VARIABLE",32:"DECIMAL",33:"NUMBER",34:"%",35:"ERROR"},productions_:[0,[3,2],[4,1],[4,1],[4,1],[4,3],[4,3],[4,3],[4,3],[4,4],[4,4],[4,4],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,2],[4,2],[4,3],[4,4],[4,1],[4,1],[4,2],[23,1],[23,1],[23,1],[23,3],[23,3],[23,3],[23,3],[23,3],[23,3],[23,3],[23,3],[23,3],[22,1],[22,1],[22,3],[22,3],[6,1],[6,3],[7,1],[7,3],[7,2],[2,1]],performAction:function(r,n,e,t,a,u,o){var i=u.length-1;switch(a){case 1:return u[i-1];case 2:this.$=t.callVariable(u[i][0]);break;case 3:this.$=t.toNumber(u[i]);break;case 4:this.$=t.trimEdges(u[i]);break;case 5:this.$=t.evaluateByOperator("&",[u[i-2],u[i]]);break;case 6:this.$=t.evaluateByOperator("=",[u[i-2],u[i]]);break;case 7:this.$=t.evaluateByOperator("+",[u[i-2],u[i]]);break;case 8:this.$=u[i-1];break;case 9:this.$=t.evaluateByOperator("<=",[u[i-3],u[i]]);break;case 10:this.$=t.evaluateByOperator(">=",[u[i-3],u[i]]);break;case 11:this.$=t.evaluateByOperator("<>",[u[i-3],u[i]]);break;case 12:this.$=t.evaluateByOperator("NOT",[u[i-2],u[i]]);break;case 13:this.$=t.evaluateByOperator(">",[u[i-2],u[i]]);break;case 14:this.$=t.evaluateByOperator("<",[u[i-2],u[i]]);break;case 15:this.$=t.evaluateByOperator("-",[u[i-2],u[i]]);break;case 16:this.$=t.evaluateByOperator("*",[u[i-2],u[i]]);break;case 17:this.$=t.evaluateByOperator("/",[u[i-2],u[i]]);break;case 18:this.$=t.evaluateByOperator("^",[u[i-2],u[i]]);break;case 19:var f=t.invertNumber(u[i]);this.$=f,isNaN(this.$)&&(this.$=0);break;case 20:var f=t.toNumber(u[i]);this.$=f,isNaN(this.$)&&(this.$=0);break;case 21:this.$=t.callFunction(u[i-2]);break;case 22:this.$=t.callFunction(u[i-3],u[i-1]);break;case 26:case 27:case 28:this.$=t.cellValue(u[i]);break;case 29:case 30:case 31:case 32:case 33:case 34:case 35:case 36:case 37:this.$=t.rangeValue(u[i-2],u[i]);break;case 38:case 42:this.$=[u[i]];break;case 39:this.$=t.trimEdges(r).split(",");break;case 40:case 41:u[i-2].push(u[i]),this.$=u[i-2];break;case 43:this.$=Array.isArray(u[i-2])?u[i-2]:[u[i-2]],this.$.push(u[i]);break;case 44:this.$=u[i];break;case 45:this.$=1*(u[i-2]+"."+u[i]);break;case 46:this.$=.01*u[i-1];break;case 47:this.$=t.throwError(u[i])}},table:[{2:11,3:1,4:2,6:3,7:4,8:e,11:t,12:a,17:u,21:o,23:10,24:i,25:f,26:s,31:l,33:c,35:h},{1:[3]},{5:[1,18],9:p,10:m,11:E,14:N,15:v,16:g,17:I,18:d,19:b,20:M},n(y,[2,2],{32:[1,29]}),n(y,[2,3],{34:[1,30]}),n(y,[2,4]),{2:11,4:31,6:3,7:4,8:e,11:t,12:a,17:u,21:o,23:10,24:i,25:f,26:s,31:l,33:c,35:h},{2:11,4:32,6:3,7:4,8:e,11:t,12:a,17:u,21:o,23:10,24:i,25:f,26:s,31:l,33:c,35:h},{2:11,4:33,6:3,7:4,8:e,11:t,12:a,17:u,21:o,23:10,24:i,25:f,26:s,31:l,33:c,35:h},{12:[1,34]},n(y,[2,23]),n(y,[2,24],{2:35,35:h}),n(A,[2,42]),n(R,[2,44],{32:[1,36]}),n(y,[2,26],{27:[1,37]}),n(y,[2,27],{27:[1,38]}),n(y,[2,28],{27:[1,39]}),n([5,9,10,11,13,14,15,16,17,18,19,20,29,30,35],[2,47]),{1:[2,1]},{2:11,4:40,6:3,7:4,8:e,11:t,12:a,17:u,21:o,23:10,24:i,25:f,26:s,31:l,33:c,35:h},{2:11,4:41,6:3,7:4,8:e,11:t,12:a,17:u,21:o,23:10,24:i,25:f,26:s,31:l,33:c,35:h},{2:11,4:42,6:3,7:4,8:e,11:t,12:a,17:u,21:o,23:10,24:i,25:f,26:s,31:l,33:c,35:h},{2:11,4:45,6:3,7:4,8:e,10:[1,43],11:t,12:a,15:[1,44],17:u,21:o,23:10,24:i,25:f,26:s,31:l,33:c,35:h},{2:11,4:47,6:3,7:4,8:e,10:[1,46],11:t,12:a,17:u,21:o,23:10,24:i,25:f,26:s,31:l,33:c,35:h},{2:11,4:48,6:3,7:4,8:e,11:t,12:a,17:u,21:o,23:10,24:i,25:f,26:s,31:l,33:c,35:h},{2:11,4:49,6:3,7:4,8:e,11:t,12:a,17:u,21:o,23:10,24:i,25:f,26:s,31:l,33:c,35:h},{2:11,4:50,6:3,7:4,8:e,11:t,12:a,17:u,21:o,23:10,24:i,25:f,26:s,31:l,33:c,35:h},{2:11,4:51,6:3,7:4,8:e,11:t,12:a,17:u,21:o,23:10,24:i,25:f,26:s,31:l,33:c,35:h},{2:11,4:52,6:3,7:4,8:e,11:t,12:a,17:u,21:o,23:10,24:i,25:f,26:s,31:l,33:c,35:h},{31:[1,53]},n(R,[2,46]),{9:p,10:m,11:E,13:[1,54],14:N,15:v,16:g,17:I,18:d,19:b,20:M},n(T,[2,19],{9:p,18:d,19:b,20:M}),n(T,[2,20],{9:p,18:d,19:b,20:M}),{2:11,4:57,6:3,7:4,8:e,11:t,12:a,13:[1,55],17:u,21:o,22:56,23:10,24:i,25:f,26:s,28:[1,58],31:l,33:c,35:h},n(y,[2,25]),{33:[1,59]},{24:[1,60],25:[1,61],26:[1,62]},{24:[1,63],25:[1,64],26:[1,65]},{24:[1,66],25:[1,67],26:[1,68]},n(y,[2,5]),n([5,10,13,29,30],[2,6],{9:p,11:E,14:N,15:v,16:g,17:I,18:d,19:b,20:M}),n(T,[2,7],{9:p,18:d,19:b,20:M}),{2:11,4:69,6:3,7:4,8:e,11:t,12:a,17:u,21:o,23:10,24:i,25:f,26:s,31:l,33:c,35:h},{2:11,4:70,6:3,7:4,8:e,11:t,12:a,17:u,21:o,23:10,24:i,25:f,26:s,31:l,33:c,35:h},n(O,[2,14],{9:p,11:E,17:I,18:d,19:b,20:M}),{2:11,4:71,6:3,7:4,8:e,11:t,12:a,17:u,21:o,23:10,24:i,25:f,26:s,31:l,33:c,35:h},n(O,[2,13],{9:p,11:E,17:I,18:d,19:b,20:M}),n([5,10,13,16,29,30],[2,12],{9:p,11:E,14:N,15:v,17:I,18:d,19:b,20:M}),n(T,[2,15],{9:p,18:d,19:b,20:M}),n(S,[2,16],{9:p,20:M}),n(S,[2,17],{9:p,20:M}),n([5,10,11,13,14,15,16,17,18,19,20,29,30],[2,18],{9:p}),n(A,[2,43]),n(y,[2,8]),n(y,[2,21]),{13:[1,72],29:[1,73],30:[1,74]},n(L,[2,38],{9:p,10:m,11:E,14:N,15:v,16:g,17:I,18:d,19:b,20:M}),n(L,[2,39]),n(R,[2,45]),n(y,[2,29]),n(y,[2,30]),n(y,[2,31]),n(y,[2,32]),n(y,[2,33]),n(y,[2,34]),n(y,[2,35]),n(y,[2,36]),n(y,[2,37]),n(O,[2,9],{9:p,11:E,17:I,18:d,19:b,20:M}),n(O,[2,11],{9:p,11:E,17:I,18:d,19:b,20:M}),n(O,[2,10],{9:p,11:E,17:I,18:d,19:b,20:M}),n(y,[2,22]),{2:11,4:75,6:3,7:4,8:e,11:t,12:a,17:u,21:o,23:10,24:i,25:f,26:s,31:l,33:c,35:h},{2:11,4:76,6:3,7:4,8:e,11:t,12:a,17:u,21:o,23:10,24:i,25:f,26:s,31:l,33:c,35:h},n(L,[2,40],{9:p,10:m,11:E,14:N,15:v,16:g,17:I,18:d,19:b,20:M}),n(L,[2,41],{9:p,10:m,11:E,14:N,15:v,16:g,17:I,18:d,19:b,20:M})],defaultActions:{18:[2,1]},parseError:function(r,n){if(!n.recoverable){var e=Error(r);throw e.hash=n,e}this.trace(r)},parse:function(r){function n(r){for(var n=t.length-1,e=0;;){if(""+c in o[r])return e;if(0===r||2>n)return!1;n-=2,r=t[n],++e}}var e=this,t=[0],a=[null],u=[],o=this.table,i="",f=0,s=0,l=0,c=2,h=u.slice.call(arguments,1),p=Object.create(this.lexer),m={yy:{}};for(var E in this.yy)Object.prototype.hasOwnProperty.call(this.yy,E)&&(m.yy[E]=this.yy[E]);p.setInput(r,m.yy),m.yy.lexer=p,m.yy.parser=this,"undefined"==typeof p.yylloc&&(p.yylloc={});var N=p.yylloc;u.push(N);var v=p.options&&p.options.ranges;this.parseError="function"==typeof m.yy.parseError?m.yy.parseError:Object.getPrototypeOf(this).parseError;for(var g,I,d,b,M,y,A,R,T,O=function(){var r;return r=p.lex()||1,"number"!=typeof r&&(r=e.symbols_[r]||r),r},S={};;){if(d=t[t.length-1],this.defaultActions[d]?b=this.defaultActions[d]:(null!==g&&void 0!==g||(g=O()),b=o[d]&&o[d][g]),void 0===b||!b.length||!b[0]){var L,C="";if(l)1!==I&&(L=n(d));else{L=n(d),T=[];for(y in o[d])this.terminals_[y]&&y>c&&T.push("'"+this.terminals_[y]+"'");C=p.showPosition?"Parse error on line "+(f+1)+":\n"+p.showPosition()+"\nExpecting "+T.join(", ")+", got '"+(this.terminals_[g]||g)+"'":"Parse error on line "+(f+1)+": Unexpected "+(1==g?"end of input":"'"+(this.terminals_[g]||g)+"'"),this.parseError(C,{text:p.match,token:this.terminals_[g]||g,line:p.yylineno,loc:N,expected:T,recoverable:!1!==L})}if(3==l){if(1===g||1===I)throw Error(C||"Parsing halted while starting to recover from another error.");s=p.yyleng,i=p.yytext,f=p.yylineno,N=p.yylloc,g=O()}if(!1===L)throw Error(C||"Parsing halted. No suitable error recovery rule available.");!function(r){t.length=t.length-2*r,a.length=a.length-r,u.length=u.length-r}(L),I=g==c?null:g,g=c,d=t[t.length-1],b=o[d]&&o[d][c],l=3}if(b[0]instanceof Array&&b.length>1)throw Error("Parse Error: multiple actions possible at state: "+d+", token: "+g);switch(b[0]){case 1:t.push(g),a.push(p.yytext),u.push(p.yylloc),t.push(b[1]),g=null,I?(g=I,I=null):(s=p.yyleng,i=p.yytext,f=p.yylineno,N=p.yylloc,l>0&&l--);break;case 2:if(A=this.productions_[b[1]][1],S.$=a[a.length-A],S._$={first_line:u[u.length-(A||1)].first_line,last_line:u[u.length-1].last_line,first_column:u[u.length-(A||1)].first_column,last_column:u[u.length-1].last_column},v&&(S._$.range=[u[u.length-(A||1)].range[0],u[u.length-1].range[1]]),void 0!==(M=this.performAction.apply(S,[i,s,f,m.yy,b[1],a,u].concat(h))))return M;A&&(t=t.slice(0,-1*A*2),a=a.slice(0,-1*A),u=u.slice(0,-1*A)),t.push(this.productions_[b[1]][0]),a.push(S.$),u.push(S._$),R=o[t[t.length-2]][t[t.length-1]],t.push(R);break;case 3:return!0}}return!0}};return C.lexer=function(){return{EOF:1,parseError:function(r,n){if(!this.yy.parser)throw Error(r);this.yy.parser.parseError(r,n)},setInput:function(r,n){return this.yy=n||this.yy||{},this._input=r,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var r=this._input[0];return this.yytext+=r,this.yyleng++,this.offset++,this.match+=r,this.matched+=r,r.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),r},unput:function(r){var n=r.length,e=r.split(/(?:\r\n?|\n)/g);this._input=r+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-n),this.offset-=n;var t=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),e.length-1&&(this.yylineno-=e.length-1);var a=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:e?(e.length===t.length?this.yylloc.first_column:0)+t[t.length-e.length].length-e[0].length:this.yylloc.first_column-n},this.options.ranges&&(this.yylloc.range=[a[0],a[0]+this.yyleng-n]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):this.parseError("Lexical error on line "+(this.yylineno+1)+". You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},less:function(r){this.unput(this.match.slice(r))},pastInput:function(){var r=this.matched.substr(0,this.matched.length-this.match.length);return(r.length>20?"...":"")+r.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var r=this.match;return 20>r.length&&(r+=this._input.substr(0,20-r.length)),(r.substr(0,20)+(r.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var r=this.pastInput(),n=Array(r.length+1).join("-");return r+this.upcomingInput()+"\n"+n+"^"},test_match:function(r,n){var e,t,a;if(this.options.backtrack_lexer&&(a={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(a.yylloc.range=this.yylloc.range.slice(0))),t=r[0].match(/(?:\r\n?|\n).*/g),t&&(this.yylineno+=t.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:t?t[t.length-1].length-t[t.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+r[0].length},this.yytext+=r[0],this.match+=r[0],this.matches=r,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(r[0].length),this.matched+=r[0],e=this.performAction.call(this,this.yy,this,n,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),e)return e;if(this._backtrack){for(var u in a)this[u]=a[u];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var r,n,e,t;this._more||(this.yytext="",this.match="");for(var a=this._currentRules(),u=0;a.length>u;u++)if((e=this._input.match(this.rules[a[u]]))&&(!n||e[0].length>n[0].length)){if(n=e,t=u,this.options.backtrack_lexer){if(!1!==(r=this.test_match(e,a[u])))return r;if(this._backtrack){n=!1;continue}return!1}if(!this.options.flex)break}return n?!1!==(r=this.test_match(n,a[t]))&&r:""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+". Unrecognized text.\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var r=this.next();return r||this.lex()},begin:function(r){this.conditionStack.push(r)},popState:function(){return this.conditionStack.length-1>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(r){return r=this.conditionStack.length-1-Math.abs(r||0),0>r?"INITIAL":this.conditionStack[r]},pushState:function(r){this.begin(r)},stateStackSize:function(){return this.conditionStack.length},options:{},performAction:function(r,n,e,t){switch(e){case 0:break;case 1:case 2:return 8;case 3:return 21;case 4:return 35;case 5:return 24;case 6:case 7:return 26;case 8:return 25;case 9:return 21;case 10:case 11:return 31;case 12:return 33;case 13:return 28;case 14:return 9;case 15:return" ";case 16:return 32;case 17:return 27;case 18:return 29;case 19:return 30;case 20:return 18;case 21:return 19;case 22:return 17;case 23:return 11;case 24:return 20;case 25:return 12;case 26:return 13;case 27:return 15;case 28:return 14;case 29:return 16;case 30:return'"';case 31:return"'";case 32:return"!";case 33:return 10;case 34:return 34;case 35:return"#";case 36:return 5}},rules:[/^(?:\s+)/,/^(?:"(\\["]|[^"])*")/,/^(?:'(\\[']|[^'])*')/,/^(?:[A-Za-z]{1,}[A-Za-z_0-9\.]+(?=[(]))/,/^(?:#[A-Z0-9\/]+(!|\?)?)/,/^(?:\$[A-Za-z]+\$[0-9]+)/,/^(?:\$[A-Za-z]+[0-9]+)/,/^(?:[A-Za-z]+\$[0-9]+)/,/^(?:[A-Za-z]+[0-9]+)/,/^(?:[A-Za-z\.]+(?=[(]))/,/^(?:[A-Za-z]{1,}[A-Za-z_0-9]+)/,/^(?:[A-Za-z_]+)/,/^(?:[0-9]+)/,/^(?:\[(.*)?\])/,/^(?:&)/,/^(?: )/,/^(?:[.])/,/^(?::)/,/^(?:;)/,/^(?:,)/,/^(?:\*)/,/^(?:\/)/,/^(?:-)/,/^(?:\+)/,/^(?:\^)/,/^(?:\()/,/^(?:\))/,/^(?:>)/,/^(?:<)/,/^(?:NOT\b)/,/^(?:")/,/^(?:')/,/^(?:!)/,/^(?:=)/,/^(?:%)/,/^(?:[#])/,/^(?:$)/],conditions:{INITIAL:{rules:[0,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],inclusive:!0}}}}(),r.prototype=C,C.Parser=r,new r}();n.parser=t,n.Parser=t.Parser,n.parse=function(){return t.parse.apply(t,arguments)}},function(r,n,e){"use strict";function t(r){var n=arguments.length>1&&arguments[1]!==undefined?arguments[1]:1;return r=r.substring(n,r.length-n)}n.__esModule=!0,n.trimEdges=t}])}); \ No newline at end of file +!function(r,n){"object"==typeof exports&&"object"==typeof module?module.exports=n():"function"==typeof define&&define.amd?define([],n):"object"==typeof exports?exports.formulaParser=n():r.formulaParser=n()}("undefined"!=typeof self?self:this,function(){return function(r){function n(t){if(e[t])return e[t].exports;var a=e[t]={i:t,l:!1,exports:{}};return r[t].call(a.exports,a,a.exports,n),a.l=!0,a.exports}var e={};return n.m=r,n.c=e,n.d=function(r,e,t){n.o(r,e)||Object.defineProperty(r,e,{configurable:!1,enumerable:!0,get:t})},n.n=function(r){var e=r&&r.__esModule?function(){return r["default"]}:function(){return r};return n.d(e,"a",e),e},n.o=function(r,n){return Object.prototype.hasOwnProperty.call(r,n)},n.p="",n(n.s=15)}([function(r,n){n.nil=Error("#NULL!"),n.div0=Error("#DIV/0!"),n.value=Error("#VALUE!"),n.ref=Error("#REF!"),n.name=Error("#NAME?"),n.num=Error("#NUM!"),n.na=Error("#N/A"),n.error=Error("#ERROR!"),n.data=Error("#GETTING_DATA")},function(r,n,e){var t=e(0);n.flattenShallow=function(r){return r&&r.reduce?r.reduce(function(r,n){var e=Array.isArray(r),t=Array.isArray(n);return e&&t?r.concat(n):e?(r.push(n),r):t?[r].concat(n):[r,n]}):r},n.isFlat=function(r){if(!r)return!1;for(var n=0;r.length>n;++n)if(Array.isArray(r[n]))return!1;return!0},n.flatten=function(){for(var r=n.argsToArray.apply(null,arguments);!n.isFlat(r);)r=n.flattenShallow(r);return r},n.argsToArray=function(r){var e=[];return n.arrayEach(r,function(r){e.push(r)}),e},n.numbers=function(){return this.flatten.apply(null,arguments).filter(function(r){return"number"==typeof r})},n.cleanFloat=function(r){return Math.round(1e14*r)/1e14},n.parseBool=function(r){if("boolean"==typeof r)return r;if(r instanceof Error)return r;if("number"==typeof r)return 0!==r;if("string"==typeof r){var n=r.toUpperCase();if("TRUE"===n)return!0;if("FALSE"===n)return!1}return r instanceof Date&&!isNaN(r)||t.value},n.parseNumber=function(r){return r===undefined||""===r?t.value:isNaN(r)?t.value:parseFloat(r)},n.parseNumberArray=function(r){var e;if(!r||0===(e=r.length))return t.value;for(var a;e--;){if((a=n.parseNumber(r[e]))===t.value)return a;r[e]=a}return r},n.parseMatrix=function(r){if(!r||0===r.length)return t.value;for(var e,a=0;r.length>a;a++)if(e=n.parseNumberArray(r[a]),r[a]=e,e instanceof Error)return e;return r};var a=new Date(Date.UTC(1900,0,1));n.parseDate=function(r){if(!isNaN(r)){if(r instanceof Date)return new Date(r);var n=parseInt(r,10);return 0>n?t.num:n>60?new Date(a.getTime()+864e5*(n-2)):new Date(a.getTime()+864e5*(n-1))}return"string"!=typeof r||(r=new Date(r),isNaN(r))?t.value:r},n.parseDateArray=function(r){for(var n,e=r.length;e--;){if((n=this.parseDate(r[e]))===t.value)return n;r[e]=n}return r},n.anyIsError=function(){for(var r=arguments.length;r--;)if(arguments[r]instanceof Error)return!0;return!1},n.arrayValuesToNumbers=function(r){for(var n,e=r.length;e--;)if("number"!=typeof(n=r[e]))if(!0!==n)if(!1!==n){if("string"==typeof n){var t=this.parseNumber(n);r[e]=t instanceof Error?0:t}}else r[e]=0;else r[e]=1;return r},n.rest=function(r,n){return n=n||1,r&&"function"==typeof r.slice?r.slice(n):r},n.initial=function(r,n){return n=n||1,r&&"function"==typeof r.slice?r.slice(0,r.length-n):r},n.arrayEach=function(r,n){for(var e=-1,t=r.length;++e-1?parseFloat(r):parseInt(r,10)),n}function a(r){return-1*t(r)}n.__esModule=!0,n.toNumber=t,n.invertNumber=a},function(r,n,e){var t=e(1),a=e(0),u=e(5),o=e(8),i=e(7);n.ABS=function(r){return(r=t.parseNumber(r))instanceof Error?r:Math.abs(r)},n.ACOS=function(r){if((r=t.parseNumber(r))instanceof Error)return r;var n=Math.acos(r);return isNaN(n)&&(n=a.num),n},n.ACOSH=function(r){if((r=t.parseNumber(r))instanceof Error)return r;var n=Math.log(r+Math.sqrt(r*r-1));return isNaN(n)&&(n=a.num),n},n.ACOT=function(r){return(r=t.parseNumber(r))instanceof Error?r:Math.atan(1/r)},n.ACOTH=function(r){if((r=t.parseNumber(r))instanceof Error)return r;var n=.5*Math.log((r+1)/(r-1));return isNaN(n)&&(n=a.num),n},n.AGGREGATE=function(r,e,o,i){if(r=t.parseNumber(r),e=t.parseNumber(r),t.anyIsError(r,e))return a.value;switch(r){case 1:return u.AVERAGE(o);case 2:return u.COUNT(o);case 3:return u.COUNTA(o);case 4:return u.MAX(o);case 5:return u.MIN(o);case 6:return n.PRODUCT(o);case 7:return u.STDEV.S(o);case 8:return u.STDEV.P(o);case 9:return n.SUM(o);case 10:return u.VAR.S(o);case 11:return u.VAR.P(o);case 12:return u.MEDIAN(o);case 13:return u.MODE.SNGL(o);case 14:return u.LARGE(o,i);case 15:return u.SMALL(o,i);case 16:return u.PERCENTILE.INC(o,i);case 17:return u.QUARTILE.INC(o,i);case 18:return u.PERCENTILE.EXC(o,i);case 19:return u.QUARTILE.EXC(o,i)}},n.ARABIC=function(r){if(!/^M*(?:D?C{0,3}|C[MD])(?:L?X{0,3}|X[CL])(?:V?I{0,3}|I[XV])$/.test(r))return a.value;var n=0;return r.replace(/[MDLV]|C[MD]?|X[CL]?|I[XV]?/g,function(r){n+={M:1e3,CM:900,D:500,CD:400,C:100,XC:90,L:50,XL:40,X:10,IX:9,V:5,IV:4,I:1}[r]}),n},n.ASIN=function(r){if((r=t.parseNumber(r))instanceof Error)return r;var n=Math.asin(r);return isNaN(n)&&(n=a.num),n},n.ASINH=function(r){return r=t.parseNumber(r),r instanceof Error?r:Math.log(r+Math.sqrt(r*r+1))},n.ATAN=function(r){return r=t.parseNumber(r),r instanceof Error?r:Math.atan(r)},n.ATAN2=function(r,n){return r=t.parseNumber(r),n=t.parseNumber(n),t.anyIsError(r,n)?a.value:Math.atan2(r,n)},n.ATANH=function(r){if((r=t.parseNumber(r))instanceof Error)return r;var n=Math.log((1+r)/(1-r))/2;return isNaN(n)&&(n=a.num),n},n.BASE=function(r,n,e){if(e=e||0,r=t.parseNumber(r),n=t.parseNumber(n),e=t.parseNumber(e),t.anyIsError(r,n,e))return a.value;e=e===undefined?0:e;var u=r.toString(n);return Array(Math.max(e+1-u.length,0)).join("0")+u},n.CEILING=function(r,e,u){if(e=e===undefined?1:Math.abs(e),u=u||0,r=t.parseNumber(r),e=t.parseNumber(e),u=t.parseNumber(u),t.anyIsError(r,e,u))return a.value;if(0===e)return 0;var o=-Math.floor(Math.log(e)/Math.log(10));return 0>r?0===u?-n.ROUND(Math.floor(Math.abs(r)/e)*e,o):-n.ROUND(Math.ceil(Math.abs(r)/e)*e,o):n.ROUND(Math.ceil(r/e)*e,o)},n.CEILING.MATH=n.CEILING,n.CEILING.PRECISE=n.CEILING,n.COMBIN=function(r,e){return r=t.parseNumber(r),e=t.parseNumber(e),t.anyIsError(r,e)?a.value:n.FACT(r)/(n.FACT(e)*n.FACT(r-e))},n.COMBINA=function(r,e){return r=t.parseNumber(r),e=t.parseNumber(e),t.anyIsError(r,e)?a.value:0===r&&0===e?1:n.COMBIN(r+e-1,r-1)},n.COS=function(r){return r=t.parseNumber(r),r instanceof Error?r:Math.cos(r)},n.COSH=function(r){return r=t.parseNumber(r),r instanceof Error?r:(Math.exp(r)+Math.exp(-r))/2},n.COT=function(r){return r=t.parseNumber(r),r instanceof Error?r:1/Math.tan(r)},n.COTH=function(r){if((r=t.parseNumber(r))instanceof Error)return r;var n=Math.exp(2*r);return(n+1)/(n-1)},n.CSC=function(r){return r=t.parseNumber(r),r instanceof Error?r:1/Math.sin(r)},n.CSCH=function(r){return r=t.parseNumber(r),r instanceof Error?r:2/(Math.exp(r)-Math.exp(-r))},n.DECIMAL=function(r,n){return 1>arguments.length?a.value:parseInt(r,n)},n.DEGREES=function(r){return r=t.parseNumber(r),r instanceof Error?r:180*r/Math.PI},n.EVEN=function(r){return r=t.parseNumber(r),r instanceof Error?r:n.CEILING(r,-2,-1)},n.EXP=function(r){return 1>arguments.length?a.na:"number"!=typeof r||arguments.length>1?a.error:r=Math.exp(r)};var f=[];n.FACT=function(r){if((r=t.parseNumber(r))instanceof Error)return r;var e=Math.floor(r);return 0===e||1===e?1:f[e]>0?f[e]:f[e]=n.FACT(e-1)*e},n.FACTDOUBLE=function(r){if((r=t.parseNumber(r))instanceof Error)return r;var e=Math.floor(r);return e>0?e*n.FACTDOUBLE(e-2):1},n.FLOOR=function(r,e){if(r=t.parseNumber(r),e=t.parseNumber(e),t.anyIsError(r,e))return a.value;if(0===e)return 0;if(!(r>0&&e>0||0>r&&0>e))return a.num;e=Math.abs(e);var u=-Math.floor(Math.log(e)/Math.log(10));return 0>r?-n.ROUND(Math.ceil(Math.abs(r)/e),u):n.ROUND(Math.floor(r/e)*e,u)},n.FLOOR.MATH=function(r,e,u){if(e=e===undefined?1:e,u=u===undefined?0:u,r=t.parseNumber(r),e=t.parseNumber(e),u=t.parseNumber(u),t.anyIsError(r,e,u))return a.value;if(0===e)return 0;e=e?Math.abs(e):1;var o=-Math.floor(Math.log(e)/Math.log(10));return 0>r?0===u||u===undefined?-n.ROUND(Math.ceil(Math.abs(r)/e)*e,o):-n.ROUND(Math.floor(Math.abs(r)/e)*e,o):n.ROUND(Math.floor(r/e)*e,o)},n.FLOOR.PRECISE=n.FLOOR.MATH,n.GCD=function(){var r=t.parseNumberArray(t.flatten(arguments));if(r instanceof Error)return r;for(var n=r.length,e=r[0],a=0>e?-e:e,u=1;n>u;u++){for(var o=r[u],i=0>o?-o:o;a&&i;)a>i?a%=i:i%=a;a+=i}return a},n.INT=function(r){return r=t.parseNumber(r),r instanceof Error?r:Math.floor(r)},n.ISO={CEILING:n.CEILING},n.LCM=function(){var r=t.parseNumberArray(t.flatten(arguments));if(r instanceof Error)return r;for(var n,e,a,u,o=1;(a=r.pop())!==undefined;)for(;a>1;){if(a%2){for(n=3,e=Math.floor(Math.sqrt(a));e>=n&&a%n;n+=2);u=n>e?a:n}else u=2;for(a/=u,o*=u,n=r.length;n;r[--n]%u==0&&1==(r[n]/=u)&&r.splice(n,1));}return o},n.LN=function(r){return r=t.parseNumber(r),r instanceof Error?r:Math.log(r)},n.LN10=function(){return Math.log(10)},n.LN2=function(){return Math.log(2)},n.LOG10E=function(){return Math.LOG10E},n.LOG2E=function(){return Math.LOG2E},n.LOG=function(r,n){return r=t.parseNumber(r),n=t.parseNumber(n),t.anyIsError(r,n)?a.value:(n=n===undefined?10:n,Math.log(r)/Math.log(n))},n.LOG10=function(r){return r=t.parseNumber(r),r instanceof Error?r:Math.log(r)/Math.log(10)},n.MOD=function(r,n){if(r=t.parseNumber(r),n=t.parseNumber(n),t.anyIsError(r,n))return a.value;if(0===n)return a.div0;var e=Math.abs(r%n);return n>0?e:-e},n.MROUND=function(r,n){return r=t.parseNumber(r),n=t.parseNumber(n),t.anyIsError(r,n)?a.value:0>r*n?a.num:Math.round(r/n)*n},n.MULTINOMIAL=function(){var r=t.parseNumberArray(t.flatten(arguments));if(r instanceof Error)return r;for(var e=0,a=1,u=0;r.length>u;u++)e+=r[u],a*=n.FACT(r[u]);return n.FACT(e)/a},n.ODD=function(r){if((r=t.parseNumber(r))instanceof Error)return r;var n=Math.ceil(Math.abs(r));return n=1&n?n:n+1,r>0?n:-n},n.PI=function(){return Math.PI},n.E=function(){return Math.E},n.POWER=function(r,n){if(r=t.parseNumber(r),n=t.parseNumber(n),t.anyIsError(r,n))return a.value;var e=Math.pow(r,n);return isNaN(e)?a.num:e},n.PRODUCT=function(){var r=t.parseNumberArray(t.flatten(arguments));if(r instanceof Error)return r;for(var n=1,e=0;r.length>e;e++)n*=r[e];return n},n.QUOTIENT=function(r,n){return r=t.parseNumber(r),n=t.parseNumber(n),t.anyIsError(r,n)?a.value:parseInt(r/n,10)},n.RADIANS=function(r){return r=t.parseNumber(r),r instanceof Error?r:r*Math.PI/180},n.RAND=function(){return Math.random()},n.RANDBETWEEN=function(r,n){return r=t.parseNumber(r),n=t.parseNumber(n),t.anyIsError(r,n)?a.value:r+Math.ceil((n-r+1)*Math.random())-1},n.ROMAN=function(r){if((r=t.parseNumber(r))instanceof Error)return r;for(var n=(r+"").split(""),e=["","C","CC","CCC","CD","D","DC","DCC","DCCC","CM","","X","XX","XXX","XL","L","LX","LXX","LXXX","XC","","I","II","III","IV","V","VI","VII","VIII","IX"],a="",u=3;u--;)a=(e[+n.pop()+10*u]||"")+a;return Array(+n.join("")+1).join("M")+a},n.ROUND=function(r,n){return r=t.parseNumber(r),n=t.parseNumber(n),t.anyIsError(r,n)?a.value:Math.round(r*Math.pow(10,n))/Math.pow(10,n)},n.ROUNDDOWN=function(r,n){return r=t.parseNumber(r),n=t.parseNumber(n),t.anyIsError(r,n)?a.value:(r>0?1:-1)*Math.floor(Math.abs(r)*Math.pow(10,n))/Math.pow(10,n)},n.ROUNDUP=function(r,n){return r=t.parseNumber(r),n=t.parseNumber(n),t.anyIsError(r,n)?a.value:(r>0?1:-1)*Math.ceil(Math.abs(r)*Math.pow(10,n))/Math.pow(10,n)},n.SEC=function(r){return r=t.parseNumber(r),r instanceof Error?r:1/Math.cos(r)},n.SECH=function(r){return r=t.parseNumber(r),r instanceof Error?r:2/(Math.exp(r)+Math.exp(-r))},n.SERIESSUM=function(r,n,e,u){if(r=t.parseNumber(r),n=t.parseNumber(n),e=t.parseNumber(e),u=t.parseNumberArray(u),t.anyIsError(r,n,e,u))return a.value;for(var o=u[0]*Math.pow(r,n),i=1;u.length>i;i++)o+=u[i]*Math.pow(r,n+i*e);return o},n.SIGN=function(r){return r=t.parseNumber(r),r instanceof Error?r:0>r?-1:0===r?0:1},n.SIN=function(r){return r=t.parseNumber(r),r instanceof Error?r:Math.sin(r)},n.SINH=function(r){return r=t.parseNumber(r),r instanceof Error?r:(Math.exp(r)-Math.exp(-r))/2},n.SQRT=function(r){return r=t.parseNumber(r),r instanceof Error?r:0>r?a.num:Math.sqrt(r)},n.SQRTPI=function(r){return r=t.parseNumber(r),r instanceof Error?r:Math.sqrt(r*Math.PI)},n.SQRT1_2=function(){return 1/Math.sqrt(2)},n.SQRT2=function(){return Math.sqrt(2)},n.SUBTOTAL=function(r,e){if((r=t.parseNumber(r))instanceof Error)return r;switch(r){case 1:return u.AVERAGE(e);case 2:return u.COUNT(e);case 3:return u.COUNTA(e);case 4:return u.MAX(e);case 5:return u.MIN(e);case 6:return n.PRODUCT(e);case 7:return u.STDEV.S(e);case 8:return u.STDEV.P(e);case 9:return n.SUM(e);case 10:return u.VAR.S(e);case 11:return u.VAR.P(e);case 101:return u.AVERAGE(e);case 102:return u.COUNT(e);case 103:return u.COUNTA(e);case 104:return u.MAX(e);case 105:return u.MIN(e);case 106:return n.PRODUCT(e);case 107:return u.STDEV.S(e);case 108:return u.STDEV.P(e);case 109:return n.SUM(e);case 110:return u.VAR.S(e);case 111:return u.VAR.P(e)}},n.ADD=function(r,n){return 2!==arguments.length?a.na:(r=t.parseNumber(r),n=t.parseNumber(n),t.anyIsError(r,n)?a.value:r+n)},n.MINUS=function(r,n){return 2!==arguments.length?a.na:(r=t.parseNumber(r),n=t.parseNumber(n),t.anyIsError(r,n)?a.value:r-n)},n.DIVIDE=function(r,n){return 2!==arguments.length?a.na:(r=t.parseNumber(r),n=t.parseNumber(n),t.anyIsError(r,n)?a.value:0===n?a.div0:r/n)},n.MULTIPLY=function(r,n){return 2!==arguments.length?a.na:(r=t.parseNumber(r),n=t.parseNumber(n),t.anyIsError(r,n)?a.value:r*n)},n.GTE=function(r,n){return 2!==arguments.length?a.na:(r=t.parseNumber(r),n=t.parseNumber(n),t.anyIsError(r,n)?a.error:r>=n)},n.LT=function(r,n){return 2!==arguments.length?a.na:(r=t.parseNumber(r),n=t.parseNumber(n),t.anyIsError(r,n)?a.error:n>r)},n.LTE=function(r,n){return 2!==arguments.length?a.na:(r=t.parseNumber(r),n=t.parseNumber(n),t.anyIsError(r,n)?a.error:n>=r)},n.EQ=function(r,n){return 2!==arguments.length?a.na:r===n},n.NE=function(r,n){return 2!==arguments.length?a.na:r!==n},n.POW=function(r,e){return 2!==arguments.length?a.na:(r=t.parseNumber(r),e=t.parseNumber(e),t.anyIsError(r,e)?a.error:n.POWER(r,e))},n.SUM=function(){var r=0;return t.arrayEach(t.argsToArray(arguments),function(e){if("number"==typeof e)r+=e;else if("string"==typeof e){var t=parseFloat(e);!isNaN(t)&&(r+=t)}else Array.isArray(e)&&(r+=n.SUM.apply(null,e))}),r},n.SUMIF=function(r,n){if((r=t.parseNumberArray(t.flatten(r)))instanceof Error)return r;for(var e=0,a=void 0===n||"*"===n,u=a?null:i.parse(n+""),o=0;r.length>o;o++){var f=r[o];if(a)e+=f;else{var s=[i.createToken(f,i.TOKEN_TYPE_LITERAL)].concat(u);e+=i.compute(s)?f:0}}return e},n.SUMIFS=function(){var r=t.argsToArray(arguments),n=t.parseNumberArray(t.flatten(r.shift()));if(n instanceof Error)return n;for(var e=r,a=n.length,u=e.length,o=0,f=0;a>f;f++){for(var s=n[f],l=!1,c=0;u>c;c++){var h=e[c],p=void 0===h||"*"===h,m=!1;if(p)m=!0;else{var E=i.parse(h+""),N=[i.createToken(s,i.TOKEN_TYPE_LITERAL)].concat(E);m=i.compute(N)}if(!m){l=!1;break}l=!0}l&&(o+=s)}return o},n.SUMPRODUCT=function(){if(!arguments||0===arguments.length)return a.value;for(var r,n,e,u,o=arguments.length+1,i=0,f=0;arguments[0].length>f;f++)if(arguments[0][f]instanceof Array)for(var s=0;arguments[0][f].length>s;s++){for(r=1,n=1;o>n;n++){if((u=t.parseNumber(arguments[n-1][f][s]))instanceof Error)return u;r*=u}i+=r}else{for(r=1,n=1;o>n;n++){if((e=t.parseNumber(arguments[n-1][f]))instanceof Error)return e;r*=e}i+=r}return i},n.SUMSQ=function(){var r=t.parseNumberArray(t.flatten(arguments));if(r instanceof Error)return r;for(var n=0,e=r.length,a=0;e>a;a++)n+=o.ISNUMBER(r[a])?r[a]*r[a]:0;return n},n.SUMX2MY2=function(r,n){if(r=t.parseNumberArray(t.flatten(r)),n=t.parseNumberArray(t.flatten(n)),t.anyIsError(r,n))return a.value;for(var e=0,u=0;r.length>u;u++)e+=r[u]*r[u]-n[u]*n[u];return e},n.SUMX2PY2=function(r,n){if(r=t.parseNumberArray(t.flatten(r)),n=t.parseNumberArray(t.flatten(n)),t.anyIsError(r,n))return a.value;var e=0;r=t.parseNumberArray(t.flatten(r)),n=t.parseNumberArray(t.flatten(n));for(var u=0;r.length>u;u++)e+=r[u]*r[u]+n[u]*n[u];return e},n.SUMXMY2=function(r,n){if(r=t.parseNumberArray(t.flatten(r)),n=t.parseNumberArray(t.flatten(n)),t.anyIsError(r,n))return a.value;var e=0;r=t.flatten(r),n=t.flatten(n);for(var u=0;r.length>u;u++)e+=Math.pow(r[u]-n[u],2);return e},n.TAN=function(r){return r=t.parseNumber(r),r instanceof Error?r:Math.tan(r)},n.TANH=function(r){if((r=t.parseNumber(r))instanceof Error)return r;var n=Math.exp(2*r);return(n-1)/(n+1)},n.TRUNC=function(r,n){return n=n===undefined?0:n,r=t.parseNumber(r),n=t.parseNumber(n),t.anyIsError(r,n)?a.value:(r>0?1:-1)*Math.floor(Math.abs(r)*Math.pow(10,n))/Math.pow(10,n)}},function(r,n,e){var t=e(4),a=e(6),u=e(10),o=e(1),i=e(7),f=e(0),s=e(11);n.AVEDEV=function(){var r=o.parseNumberArray(o.flatten(arguments));return r instanceof Error?r:u.sum(u(r).subtract(u.mean(r)).abs()[0])/r.length},n.AVERAGE=function(){for(var r,n=o.numbers(o.flatten(arguments)),e=n.length,t=0,a=0,u=0;e>u;u++)t+=n[u],a+=1;return r=t/a,isNaN(r)&&(r=f.num),r},n.AVERAGEA=function(){for(var r,n=o.flatten(arguments),e=n.length,t=0,a=0,u=0;e>u;u++){var i=n[u];"number"==typeof i&&(t+=i),!0===i&&t++,null!==i&&a++}return r=t/a,isNaN(r)&&(r=f.num),r},n.AVERAGEIF=function(r,n,e){if(1>=arguments.length)return f.na;if(e=e||r,r=o.flatten(r),(e=o.parseNumberArray(o.flatten(e)))instanceof Error)return e;for(var t=0,a=0,u=void 0===n||"*"===n,s=u?null:i.parse(n+""),l=0;r.length>l;l++){var c=r[l];if(u)a+=e[l],t++;else{var h=[i.createToken(c,i.TOKEN_TYPE_LITERAL)].concat(s);i.compute(h)&&(a+=e[l],t++)}}return a/t},n.AVERAGEIFS=function(){for(var r=o.argsToArray(arguments),n=(r.length-1)/2,e=o.flatten(r[0]),t=0,a=0,u=0;e.length>u;u++){for(var f=!1,s=0;n>s;s++){var l=r[2*s+1][u],c=r[2*s+2],h=void 0===c||"*"===c,p=!1;if(h)p=!0;else{var m=i.parse(c+""),E=[i.createToken(l,i.TOKEN_TYPE_LITERAL)].concat(m);p=i.compute(E)}if(!p){f=!1;break}f=!0}f&&(a+=e[u],t++)}var N=a/t;return isNaN(N)?0:N},n.BETA={},n.BETA.DIST=function(r,n,e,t,a,i){return 4>arguments.length?f.value:(a=a===undefined?0:a,i=i===undefined?1:i,r=o.parseNumber(r),n=o.parseNumber(n),e=o.parseNumber(e),a=o.parseNumber(a),i=o.parseNumber(i),o.anyIsError(r,n,e,a,i)?f.value:(r=(r-a)/(i-a),t?u.beta.cdf(r,n,e):u.beta.pdf(r,n,e)))},n.BETA.INV=function(r,n,e,t,a){return t=t===undefined?0:t,a=a===undefined?1:a,r=o.parseNumber(r),n=o.parseNumber(n),e=o.parseNumber(e),t=o.parseNumber(t),a=o.parseNumber(a),o.anyIsError(r,n,e,t,a)?f.value:u.beta.inv(r,n,e)*(a-t)+t},n.BINOM={},n.BINOM.DIST=function(r,n,e,t){return r=o.parseNumber(r),n=o.parseNumber(n),e=o.parseNumber(e),t=o.parseNumber(t),o.anyIsError(r,n,e,t)?f.value:t?u.binomial.cdf(r,n,e):u.binomial.pdf(r,n,e)},n.BINOM.DIST.RANGE=function(r,n,e,a){if(a=a===undefined?e:a,r=o.parseNumber(r),n=o.parseNumber(n),e=o.parseNumber(e),a=o.parseNumber(a),o.anyIsError(r,n,e,a))return f.value;for(var u=0,i=e;a>=i;i++)u+=t.COMBIN(r,i)*Math.pow(n,i)*Math.pow(1-n,r-i);return u},n.BINOM.INV=function(r,n,e){if(r=o.parseNumber(r),n=o.parseNumber(n),e=o.parseNumber(e),o.anyIsError(r,n,e))return f.value;for(var t=0;r>=t;){if(u.binomial.cdf(t,r,n)>=e)return t;t++}},n.CHISQ={},n.CHISQ.DIST=function(r,n,e){return r=o.parseNumber(r),n=o.parseNumber(n),o.anyIsError(r,n)?f.value:e?u.chisquare.cdf(r,n):u.chisquare.pdf(r,n)},n.CHISQ.DIST.RT=function(r,n){return!r|!n?f.na:1>r||n>Math.pow(10,10)?f.num:"number"!=typeof r||"number"!=typeof n?f.value:1-u.chisquare.cdf(r,n)},n.CHISQ.INV=function(r,n){return r=o.parseNumber(r),n=o.parseNumber(n),o.anyIsError(r,n)?f.value:u.chisquare.inv(r,n)},n.CHISQ.INV.RT=function(r,n){return!r|!n?f.na:0>r||r>1||1>n||n>Math.pow(10,10)?f.num:"number"!=typeof r||"number"!=typeof n?f.value:u.chisquare.inv(1-r,n)},n.CHISQ.TEST=function(r,n){if(2!==arguments.length)return f.na;if(!(r instanceof Array&&n instanceof Array))return f.value;if(r.length!==n.length)return f.value;if(r[0]&&n[0]&&r[0].length!==n[0].length)return f.value;var e,t,a,u=r.length;for(t=0;u>t;t++)r[t]instanceof Array||(e=r[t],r[t]=[],r[t].push(e)),n[t]instanceof Array||(e=n[t],n[t]=[],n[t].push(e));var o=r[0].length,i=1===o?u-1:(u-1)*(o-1),s=0,l=Math.PI;for(t=0;u>t;t++)for(a=0;o>a;a++)s+=Math.pow(r[t][a]-n[t][a],2)/n[t][a];return Math.round(1e6*function(r,n){var e=Math.exp(-.5*r);n%2==1&&(e*=Math.sqrt(2*r/l));for(var t=n;t>=2;)e=e*r/t,t-=2;for(var a=e,u=n;a>1e-10*e;)u+=2,a=a*r/u,e+=a;return 1-e}(s,i))/1e6},n.COLUMN=function(r,n){return 2!==arguments.length?f.na:0>n?f.num:r instanceof Array&&"number"==typeof n?0===r.length?undefined:u.col(r,n):f.value},n.COLUMNS=function(r){return 1!==arguments.length?f.na:r instanceof Array?0===r.length?0:u.cols(r):f.value},n.CONFIDENCE={},n.CONFIDENCE.NORM=function(r,n,e){return r=o.parseNumber(r),n=o.parseNumber(n),e=o.parseNumber(e),o.anyIsError(r,n,e)?f.value:u.normalci(1,r,n,e)[1]-1},n.CONFIDENCE.T=function(r,n,e){return r=o.parseNumber(r),n=o.parseNumber(n),e=o.parseNumber(e),o.anyIsError(r,n,e)?f.value:u.tci(1,r,n,e)[1]-1},n.CORREL=function(r,n){return r=o.parseNumberArray(o.flatten(r)),n=o.parseNumberArray(o.flatten(n)),o.anyIsError(r,n)?f.value:u.corrcoeff(r,n)},n.COUNT=function(){return o.numbers(o.flatten(arguments)).length},n.COUNTA=function(){var r=o.flatten(arguments);return r.length-n.COUNTBLANK(r)},n.COUNTIN=function(r,n){var e=0;r=o.flatten(r);for(var t=0;r.length>t;t++)r[t]===n&&e++;return e},n.COUNTBLANK=function(){for(var r,n=o.flatten(arguments),e=0,t=0;n.length>t;t++)null!==(r=n[t])&&""!==r||e++;return e},n.COUNTIF=function(r,n){if(r=o.flatten(r),void 0===n||"*"===n)return r.length;for(var e=0,t=i.parse(n+""),a=0;r.length>a;a++){var u=r[a],f=[i.createToken(u,i.TOKEN_TYPE_LITERAL)].concat(t);i.compute(f)&&e++}return e},n.COUNTIFS=function(){for(var r=o.argsToArray(arguments),n=Array(o.flatten(r[0]).length),e=0;n.length>e;e++)n[e]=!0;for(e=0;r.length>e;e+=2){var t=o.flatten(r[e]),a=r[e+1];if(!(void 0===a||"*"===a))for(var u=i.parse(a+""),f=0;t.length>f;f++){var s=t[f],l=[i.createToken(s,i.TOKEN_TYPE_LITERAL)].concat(u);n[f]=n[f]&&i.compute(l)}}var c=0;for(e=0;n.length>e;e++)n[e]&&c++;return c},n.COUNTUNIQUE=function(){return s.UNIQUE.apply(null,o.flatten(arguments)).length},n.COVARIANCE={},n.COVARIANCE.P=function(r,n){if(r=o.parseNumberArray(o.flatten(r)),n=o.parseNumberArray(o.flatten(n)),o.anyIsError(r,n))return f.value;for(var e=u.mean(r),t=u.mean(n),a=0,i=r.length,s=0;i>s;s++)a+=(r[s]-e)*(n[s]-t);return a/i},n.COVARIANCE.S=function(r,n){return r=o.parseNumberArray(o.flatten(r)),n=o.parseNumberArray(o.flatten(n)),o.anyIsError(r,n)?f.value:u.covariance(r,n)},n.DEVSQ=function(){var r=o.parseNumberArray(o.flatten(arguments));if(r instanceof Error)return r;for(var n=u.mean(r),e=0,t=0;r.length>t;t++)e+=Math.pow(r[t]-n,2);return e},n.EXPON={},n.EXPON.DIST=function(r,n,e){return r=o.parseNumber(r),n=o.parseNumber(n),o.anyIsError(r,n)?f.value:e?u.exponential.cdf(r,n):u.exponential.pdf(r,n)},n.F={},n.F.DIST=function(r,n,e,t){return r=o.parseNumber(r),n=o.parseNumber(n),e=o.parseNumber(e),o.anyIsError(r,n,e)?f.value:t?u.centralF.cdf(r,n,e):u.centralF.pdf(r,n,e)},n.F.DIST.RT=function(r,n,e){return 3!==arguments.length?f.na:0>r||1>n||1>e?f.num:"number"!=typeof r||"number"!=typeof n||"number"!=typeof e?f.value:1-u.centralF.cdf(r,n,e)},n.F.INV=function(r,n,e){return r=o.parseNumber(r),n=o.parseNumber(n),e=o.parseNumber(e),o.anyIsError(r,n,e)?f.value:0>=r||r>1?f.num:u.centralF.inv(r,n,e)},n.F.INV.RT=function(r,n,e){return 3!==arguments.length?f.na:0>r||r>1||1>n||n>Math.pow(10,10)||1>e||e>Math.pow(10,10)?f.num:"number"!=typeof r||"number"!=typeof n||"number"!=typeof e?f.value:u.centralF.inv(1-r,n,e)},n.F.TEST=function(r,n){if(!r||!n)return f.na;if(!(r instanceof Array&&n instanceof Array))return f.na;if(2>r.length||2>n.length)return f.div0;var e=function(r,n){for(var e=0,t=0;r.length>t;t++)e+=Math.pow(r[t]-n,2);return e},a=t.SUM(r)/r.length,u=t.SUM(n)/n.length;return e(r,a)/(r.length-1)/(e(n,u)/(n.length-1))},n.FISHER=function(r){return r=o.parseNumber(r),r instanceof Error?r:Math.log((1+r)/(1-r))/2},n.FISHERINV=function(r){if((r=o.parseNumber(r))instanceof Error)return r;var n=Math.exp(2*r);return(n-1)/(n+1)},n.FORECAST=function(r,n,e){if(r=o.parseNumber(r),n=o.parseNumberArray(o.flatten(n)),e=o.parseNumberArray(o.flatten(e)),o.anyIsError(r,n,e))return f.value;for(var t=u.mean(e),a=u.mean(n),i=e.length,s=0,l=0,c=0;i>c;c++)s+=(e[c]-t)*(n[c]-a),l+=Math.pow(e[c]-t,2);var h=s/l;return a-h*t+h*r},n.FREQUENCY=function(r,n){if(r=o.parseNumberArray(o.flatten(r)),n=o.parseNumberArray(o.flatten(n)),o.anyIsError(r,n))return f.value;for(var e=r.length,t=n.length,a=[],u=0;t>=u;u++){a[u]=0;for(var i=0;e>i;i++)0===u?r[i]>n[0]||(a[0]+=1):t>u?r[i]>n[u-1]&&n[u]>=r[i]&&(a[u]+=1):u===t&&r[i]>n[t-1]&&(a[t]+=1)}return a},n.GAMMA=function(r){return r=o.parseNumber(r),r instanceof Error?r:0===r?f.num:parseInt(r,10)===r&&0>r?f.num:u.gammafn(r)},n.GAMMA.DIST=function(r,n,e,t){return 4!==arguments.length?f.na:r>=0&&n>0&&e>0?"number"!=typeof r||"number"!=typeof n||"number"!=typeof e?f.value:t?u.gamma.cdf(r,n,e,!0):u.gamma.pdf(r,n,e,!1):f.value},n.GAMMA.INV=function(r,n,e){return 3!==arguments.length?f.na:0>r||r>1||0>=n||0>=e?f.num:"number"!=typeof r||"number"!=typeof n||"number"!=typeof e?f.value:u.gamma.inv(r,n,e)},n.GAMMALN=function(r){return r=o.parseNumber(r),r instanceof Error?r:u.gammaln(r)},n.GAMMALN.PRECISE=function(r){return 1!==arguments.length?f.na:r>0?"number"!=typeof r?f.value:u.gammaln(r):f.num},n.GAUSS=function(r){return r=o.parseNumber(r),r instanceof Error?r:u.normal.cdf(r,0,1)-.5},n.GEOMEAN=function(){var r=o.parseNumberArray(o.flatten(arguments));return r instanceof Error?r:u.geomean(r)},n.GROWTH=function(r,n,e,t){if((r=o.parseNumberArray(r))instanceof Error)return r;var a;if(n===undefined)for(n=[],a=1;r.length>=a;a++)n.push(a);if(e===undefined)for(e=[],a=1;r.length>=a;a++)e.push(a);if(n=o.parseNumberArray(n),e=o.parseNumberArray(e),o.anyIsError(n,e))return f.value;t===undefined&&(t=!0);var u=r.length,i=0,s=0,l=0,c=0;for(a=0;u>a;a++){var h=n[a],p=Math.log(r[a]);i+=h,s+=p,l+=h*p,c+=h*h}i/=u,s/=u,l/=u,c/=u;var m,E;t?(m=(l-i*s)/(c-i*i),E=s-m*i):(m=l/c,E=0);var N=[];for(a=0;e.length>a;a++)N.push(Math.exp(E+m*e[a]));return N},n.HARMEAN=function(){var r=o.parseNumberArray(o.flatten(arguments));if(r instanceof Error)return r;for(var n=r.length,e=0,t=0;n>t;t++)e+=1/r[t];return n/e},n.HYPGEOM={},n.HYPGEOM.DIST=function(r,n,e,a,u){function i(r,n,e,a){return t.COMBIN(e,r)*t.COMBIN(a-e,n-r)/t.COMBIN(a,n)}return r=o.parseNumber(r),n=o.parseNumber(n),e=o.parseNumber(e),a=o.parseNumber(a),o.anyIsError(r,n,e,a)?f.value:u?function(r,n,e,t){for(var a=0,u=0;r>=u;u++)a+=i(u,n,e,t);return a}(r,n,e,a):i(r,n,e,a)},n.INTERCEPT=function(r,e){return r=o.parseNumberArray(r),e=o.parseNumberArray(e),o.anyIsError(r,e)?f.value:r.length!==e.length?f.na:n.FORECAST(0,r,e)},n.KURT=function(){var r=o.parseNumberArray(o.flatten(arguments));if(r instanceof Error)return r;for(var n=u.mean(r),e=r.length,t=0,a=0;e>a;a++)t+=Math.pow(r[a]-n,4);return t/=Math.pow(u.stdev(r,!0),4),e*(e+1)/((e-1)*(e-2)*(e-3))*t-3*(e-1)*(e-1)/((e-2)*(e-3))},n.LARGE=function(r,n){return r=o.parseNumberArray(o.flatten(r)),n=o.parseNumber(n),o.anyIsError(r,n)?r:r.sort(function(r,n){return n-r})[n-1]},n.LINEST=function(r,n){if(r=o.parseNumberArray(o.flatten(r)),n=o.parseNumberArray(o.flatten(n)),o.anyIsError(r,n))return f.value;for(var e=u.mean(r),t=u.mean(n),a=n.length,i=0,s=0,l=0;a>l;l++)i+=(n[l]-t)*(r[l]-e),s+=Math.pow(n[l]-t,2);var c=i/s;return[c,e-c*t]},n.LOGEST=function(r,e){if(r=o.parseNumberArray(o.flatten(r)),e=o.parseNumberArray(o.flatten(e)),o.anyIsError(r,e))return f.value;for(var t=0;r.length>t;t++)r[t]=Math.log(r[t]);var a=n.LINEST(r,e);return a[0]=Math.round(1e6*Math.exp(a[0]))/1e6,a[1]=Math.round(1e6*Math.exp(a[1]))/1e6,a},n.LOGNORM={},n.LOGNORM.DIST=function(r,n,e,t){return r=o.parseNumber(r),n=o.parseNumber(n),e=o.parseNumber(e),o.anyIsError(r,n,e)?f.value:t?u.lognormal.cdf(r,n,e):u.lognormal.pdf(r,n,e)},n.LOGNORM.INV=function(r,n,e){return r=o.parseNumber(r),n=o.parseNumber(n),e=o.parseNumber(e),o.anyIsError(r,n,e)?f.value:u.lognormal.inv(r,n,e)},n.MAX=function(){var r=o.numbers(o.flatten(arguments));return 0===r.length?0:Math.max.apply(Math,r)},n.MAXA=function(){var r=o.arrayValuesToNumbers(o.flatten(arguments));return 0===r.length?0:Math.max.apply(Math,r)},n.MEDIAN=function(){var r=o.arrayValuesToNumbers(o.flatten(arguments)),n=u.median(r);return isNaN(n)&&(n=f.num),n},n.MIN=function(){var r=o.numbers(o.flatten(arguments));return 0===r.length?0:Math.min.apply(Math,r)},n.MINA=function(){var r=o.arrayValuesToNumbers(o.flatten(arguments));return 0===r.length?0:Math.min.apply(Math,r)},n.MODE={},n.MODE.MULT=function(){var r=o.parseNumberArray(o.flatten(arguments));if(r instanceof Error)return r;for(var n,e=r.length,t={},a=[],u=0,i=0;e>i;i++)n=r[i],t[n]=t[n]?t[n]+1:1,t[n]>u&&(u=t[n],a=[]),t[n]===u&&(a[a.length]=n);return a},n.MODE.SNGL=function(){var r=o.parseNumberArray(o.flatten(arguments));return r instanceof Error?r:n.MODE.MULT(r).sort(function(r,n){return r-n})[0]},n.NEGBINOM={},n.NEGBINOM.DIST=function(r,n,e,t){return r=o.parseNumber(r),n=o.parseNumber(n),e=o.parseNumber(e),o.anyIsError(r,n,e)?f.value:t?u.negbin.cdf(r,n,e):u.negbin.pdf(r,n,e)},n.NORM={},n.NORM.DIST=function(r,n,e,t){return r=o.parseNumber(r),n=o.parseNumber(n),e=o.parseNumber(e),o.anyIsError(r,n,e)?f.value:e>0?t?u.normal.cdf(r,n,e):u.normal.pdf(r,n,e):f.num},n.NORM.INV=function(r,n,e){return r=o.parseNumber(r),n=o.parseNumber(n),e=o.parseNumber(e),o.anyIsError(r,n,e)?f.value:u.normal.inv(r,n,e)},n.NORM.S={},n.NORM.S.DIST=function(r,n){return r=o.parseNumber(r),r instanceof Error?f.value:n?u.normal.cdf(r,0,1):u.normal.pdf(r,0,1)},n.NORM.S.INV=function(r){return r=o.parseNumber(r),r instanceof Error?f.value:u.normal.inv(r,0,1)},n.PEARSON=function(r,n){if(n=o.parseNumberArray(o.flatten(n)),r=o.parseNumberArray(o.flatten(r)),o.anyIsError(n,r))return f.value;for(var e=u.mean(r),t=u.mean(n),a=r.length,i=0,s=0,l=0,c=0;a>c;c++)i+=(r[c]-e)*(n[c]-t),s+=Math.pow(r[c]-e,2),l+=Math.pow(n[c]-t,2);return i/Math.sqrt(s*l)},n.PERCENTILE={},n.PERCENTILE.EXC=function(r,n){if(r=o.parseNumberArray(o.flatten(r)),n=o.parseNumber(n),o.anyIsError(r,n))return f.value;r=r.sort(function(r,n){return r-n});var e=r.length;if(1/(e+1)>n||n>1-1/(e+1))return f.num;var t=n*(e+1)-1,a=Math.floor(t);return o.cleanFloat(t===a?r[t]:r[a]+(t-a)*(r[a+1]-r[a]))},n.PERCENTILE.INC=function(r,n){if(r=o.parseNumberArray(o.flatten(r)),n=o.parseNumber(n),o.anyIsError(r,n))return f.value;r=r.sort(function(r,n){return r-n});var e=r.length,t=n*(e-1),a=Math.floor(t);return o.cleanFloat(t===a?r[t]:r[a]+(t-a)*(r[a+1]-r[a]))},n.PERCENTRANK={},n.PERCENTRANK.EXC=function(r,n,e){if(e=e===undefined?3:e,r=o.parseNumberArray(o.flatten(r)),n=o.parseNumber(n),e=o.parseNumber(e),o.anyIsError(r,n,e))return f.value;r=r.sort(function(r,n){return r-n});for(var t=s.UNIQUE.apply(null,r),a=r.length,u=t.length,i=Math.pow(10,e),l=0,c=!1,h=0;!c&&u>h;)n===t[h]?(l=(r.indexOf(t[h])+1)/(a+1),c=!0):t[h]>n||n>=t[h+1]&&h!==u-1||(l=(r.indexOf(t[h])+1+(n-t[h])/(t[h+1]-t[h]))/(a+1),c=!0),h++;return Math.floor(l*i)/i},n.PERCENTRANK.INC=function(r,n,e){if(e=e===undefined?3:e,r=o.parseNumberArray(o.flatten(r)),n=o.parseNumber(n),e=o.parseNumber(e),o.anyIsError(r,n,e))return f.value;r=r.sort(function(r,n){return r-n});for(var t=s.UNIQUE.apply(null,r),a=r.length,u=t.length,i=Math.pow(10,e),l=0,c=!1,h=0;!c&&u>h;)n===t[h]?(l=r.indexOf(t[h])/(a-1),c=!0):t[h]>n||n>=t[h+1]&&h!==u-1||(l=(r.indexOf(t[h])+(n-t[h])/(t[h+1]-t[h]))/(a-1),c=!0),h++;return Math.floor(l*i)/i},n.PERMUT=function(r,n){return r=o.parseNumber(r),n=o.parseNumber(n),o.anyIsError(r,n)?f.value:t.FACT(r)/t.FACT(r-n)},n.PERMUTATIONA=function(r,n){return r=o.parseNumber(r),n=o.parseNumber(n),o.anyIsError(r,n)?f.value:Math.pow(r,n)},n.PHI=function(r){return r=o.parseNumber(r),r instanceof Error?f.value:Math.exp(-.5*r*r)/2.5066282746310002},n.POISSON={},n.POISSON.DIST=function(r,n,e){return r=o.parseNumber(r),n=o.parseNumber(n),o.anyIsError(r,n)?f.value:e?u.poisson.cdf(r,n):u.poisson.pdf(r,n)},n.PROB=function(r,n,e,t){if(e===undefined)return 0;if(t=t===undefined?e:t,r=o.parseNumberArray(o.flatten(r)),n=o.parseNumberArray(o.flatten(n)),e=o.parseNumber(e),t=o.parseNumber(t),o.anyIsError(r,n,e,t))return f.value;if(e===t)return 0>r.indexOf(e)?0:n[r.indexOf(e)];for(var a=r.sort(function(r,n){return r-n}),u=a.length,i=0,s=0;u>s;s++)e>a[s]||a[s]>t||(i+=n[r.indexOf(a[s])]);return i},n.QUARTILE={},n.QUARTILE.EXC=function(r,e){if(r=o.parseNumberArray(o.flatten(r)),e=o.parseNumber(e),o.anyIsError(r,e))return f.value;switch(e){case 1:return n.PERCENTILE.EXC(r,.25);case 2:return n.PERCENTILE.EXC(r,.5);case 3:return n.PERCENTILE.EXC(r,.75);default:return f.num}},n.QUARTILE.INC=function(r,e){if(r=o.parseNumberArray(o.flatten(r)),e=o.parseNumber(e),o.anyIsError(r,e))return f.value;switch(e){case 1:return n.PERCENTILE.INC(r,.25);case 2:return n.PERCENTILE.INC(r,.5);case 3:return n.PERCENTILE.INC(r,.75);default:return f.num}},n.RANK={},n.RANK.AVG=function(r,n,e){if(r=o.parseNumber(r),n=o.parseNumberArray(o.flatten(n)),o.anyIsError(r,n))return f.value;n=o.flatten(n),e=e||!1,n=n.sort(e?function(r,n){return r-n}:function(r,n){return n-r});for(var t=n.length,a=0,u=0;t>u;u++)n[u]===r&&a++;return a>1?(2*n.indexOf(r)+a+1)/2:n.indexOf(r)+1},n.RANK.EQ=function(r,n,e){return r=o.parseNumber(r),n=o.parseNumberArray(o.flatten(n)),o.anyIsError(r,n)?f.value:(e=e||!1,n=n.sort(e?function(r,n){return r-n}:function(r,n){return n-r}),n.indexOf(r)+1)},n.ROW=function(r,n){return 2!==arguments.length?f.na:0>n?f.num:r instanceof Array&&"number"==typeof n?0===r.length?undefined:u.row(r,n):f.value},n.ROWS=function(r){return 1!==arguments.length?f.na:r instanceof Array?0===r.length?0:u.rows(r):f.value},n.RSQ=function(r,e){return r=o.parseNumberArray(o.flatten(r)),e=o.parseNumberArray(o.flatten(e)),o.anyIsError(r,e)?f.value:Math.pow(n.PEARSON(r,e),2)},n.SKEW=function(){var r=o.parseNumberArray(o.flatten(arguments));if(r instanceof Error)return r;for(var n=u.mean(r),e=r.length,t=0,a=0;e>a;a++)t+=Math.pow(r[a]-n,3);return e*t/((e-1)*(e-2)*Math.pow(u.stdev(r,!0),3))},n.SKEW.P=function(){var r=o.parseNumberArray(o.flatten(arguments));if(r instanceof Error)return r;for(var n=u.mean(r),e=r.length,t=0,a=0,i=0;e>i;i++)a+=Math.pow(r[i]-n,3),t+=Math.pow(r[i]-n,2);return a/=e,t/=e,a/Math.pow(t,1.5)},n.SLOPE=function(r,n){if(r=o.parseNumberArray(o.flatten(r)),n=o.parseNumberArray(o.flatten(n)),o.anyIsError(r,n))return f.value;for(var e=u.mean(n),t=u.mean(r),a=n.length,i=0,s=0,l=0;a>l;l++)i+=(n[l]-e)*(r[l]-t),s+=Math.pow(n[l]-e,2);return i/s},n.SMALL=function(r,n){return r=o.parseNumberArray(o.flatten(r)),n=o.parseNumber(n),o.anyIsError(r,n)?r:r.sort(function(r,n){return r-n})[n-1]},n.STANDARDIZE=function(r,n,e){return r=o.parseNumber(r),n=o.parseNumber(n),e=o.parseNumber(e),o.anyIsError(r,n,e)?f.value:(r-n)/e},n.STDEV={},n.STDEV.P=function(){var r=n.VAR.P.apply(this,arguments),e=Math.sqrt(r);return isNaN(e)&&(e=f.num),e},n.STDEV.S=function(){var r=n.VAR.S.apply(this,arguments);return Math.sqrt(r)},n.STDEVA=function(){var r=n.VARA.apply(this,arguments);return Math.sqrt(r)},n.STDEVPA=function(){var r=n.VARPA.apply(this,arguments),e=Math.sqrt(r);return isNaN(e)&&(e=f.num),e},n.STEYX=function(r,n){if(r=o.parseNumberArray(o.flatten(r)),n=o.parseNumberArray(o.flatten(n)),o.anyIsError(r,n))return f.value;for(var e=u.mean(n),t=u.mean(r),a=n.length,i=0,s=0,l=0,c=0;a>c;c++)i+=Math.pow(r[c]-t,2),s+=(n[c]-e)*(r[c]-t),l+=Math.pow(n[c]-e,2);return Math.sqrt((i-s*s/l)/(a-2))},n.TRANSPOSE=function(r){return r?u.transpose(r):f.na},n.T=a.T,n.T.DIST=function(r,n,e){return r=o.parseNumber(r),n=o.parseNumber(n),o.anyIsError(r,n)?f.value:e?u.studentt.cdf(r,n):u.studentt.pdf(r,n)},n.T.DIST["2T"]=function(r,n){return 2!==arguments.length?f.na:0>r||1>n?f.num:"number"!=typeof r||"number"!=typeof n?f.value:2*(1-u.studentt.cdf(r,n))},n.T.DIST.RT=function(r,n){return 2!==arguments.length?f.na:0>r||1>n?f.num:"number"!=typeof r||"number"!=typeof n?f.value:1-u.studentt.cdf(r,n)},n.T.INV=function(r,n){return r=o.parseNumber(r),n=o.parseNumber(n),o.anyIsError(r,n)?f.value:u.studentt.inv(r,n)},n.T.INV["2T"]=function(r,n){return r=o.parseNumber(r),n=o.parseNumber(n),0>=r||r>1||1>n?f.num:o.anyIsError(r,n)?f.value:Math.abs(u.studentt.inv(r/2,n))},n.T.TEST=function(r,e){if(r=o.parseNumberArray(o.flatten(r)),e=o.parseNumberArray(o.flatten(e)),o.anyIsError(r,e))return f.value;var t,a=u.mean(r),i=u.mean(e),s=0,l=0;for(t=0;r.length>t;t++)s+=Math.pow(r[t]-a,2);for(t=0;e.length>t;t++)l+=Math.pow(e[t]-i,2);s/=r.length-1,l/=e.length-1;var c=Math.abs(a-i)/Math.sqrt(s/r.length+l/e.length);return n.T.DIST["2T"](c,r.length+e.length-2)},n.TREND=function(r,e,t){if(r=o.parseNumberArray(o.flatten(r)),e=o.parseNumberArray(o.flatten(e)),t=o.parseNumberArray(o.flatten(t)),o.anyIsError(r,e,t))return f.value;var a=n.LINEST(r,e),u=a[0],i=a[1],s=[];return t.forEach(function(r){s.push(u*r+i)}),s},n.TRIMMEAN=function(r,n){if(r=o.parseNumberArray(o.flatten(r)),n=o.parseNumber(n),o.anyIsError(r,n))return f.value;var e=t.FLOOR(r.length*n,2)/2;return u.mean(o.initial(o.rest(r.sort(function(r,n){return r-n}),e),e))},n.VAR={},n.VAR.P=function(){for(var r,e=o.numbers(o.flatten(arguments)),t=e.length,a=0,u=n.AVERAGE(e),i=0;t>i;i++)a+=Math.pow(e[i]-u,2);return r=a/t,isNaN(r)&&(r=f.num),r},n.VAR.S=function(){for(var r=o.numbers(o.flatten(arguments)),e=r.length,t=0,a=n.AVERAGE(r),u=0;e>u;u++)t+=Math.pow(r[u]-a,2);return t/(e-1)},n.VARA=function(){for(var r=o.flatten(arguments),e=r.length,t=0,a=0,u=n.AVERAGEA(r),i=0;e>i;i++){var f=r[i];t+="number"==typeof f?Math.pow(f-u,2):!0===f?Math.pow(1-u,2):Math.pow(0-u,2),null!==f&&a++}return t/(a-1)},n.VARPA=function(){for(var r,e=o.flatten(arguments),t=e.length,a=0,u=0,i=n.AVERAGEA(e),s=0;t>s;s++){var l=e[s];a+="number"==typeof l?Math.pow(l-i,2):!0===l?Math.pow(1-i,2):Math.pow(0-i,2),null!==l&&u++}return r=a/u,isNaN(r)&&(r=f.num),r},n.WEIBULL={},n.WEIBULL.DIST=function(r,n,e,t){return r=o.parseNumber(r),n=o.parseNumber(n),e=o.parseNumber(e),o.anyIsError(r,n,e)?f.value:t?1-Math.exp(-Math.pow(r/e,n)):Math.pow(r,n-1)*Math.exp(-Math.pow(r/e,n))*n/Math.pow(e,n)},n.Z={},n.Z.TEST=function(r,e,t){if(r=o.parseNumberArray(o.flatten(r)),e=o.parseNumber(e),o.anyIsError(r,e))return f.value;t=t||n.STDEV.S(r);var a=r.length;return 1-n.NORM.S.DIST((n.AVERAGE(r)-e)/(t/Math.sqrt(a)),!0)}},function(r,n,e){var t=e(1),a=e(0);n.ASC=function(){throw Error("ASC is not implemented")},n.BAHTTEXT=function(){throw Error("BAHTTEXT is not implemented")},n.CHAR=function(r){return r=t.parseNumber(r),r instanceof Error?r:String.fromCharCode(r)},n.CLEAN=function(r){return r=r||"",r.replace(/[\0-\x1F]/g,"")},n.CODE=function(r){r=r||"";var n=r.charCodeAt(0);return isNaN(n)&&(n=a.na),n},n.CONCATENATE=function(){for(var r=t.flatten(arguments),n=0;(n=r.indexOf(!0))>-1;)r[n]="TRUE";for(var e=0;(e=r.indexOf(!1))>-1;)r[e]="FALSE";return r.join("")},n.DBCS=function(){throw Error("DBCS is not implemented")},n.DOLLAR=function(){throw Error("DOLLAR is not implemented")},n.EXACT=function(r,n){return 2!==arguments.length?a.na:r===n},n.FIND=function(r,n,e){return 2>arguments.length?a.na:(e=e===undefined?0:e,n?n.indexOf(r,e-1)+1:null)},n.FIXED=function(){throw Error("FIXED is not implemented")},n.HTML2TEXT=function(r){var n="";return r&&(r instanceof Array?r.forEach(function(r){""!==n&&(n+="\n"),n+=r.replace(/<(?:.|\n)*?>/gm,"")}):n=r.replace(/<(?:.|\n)*?>/gm,"")),n},n.LEFT=function(r,n){return n=n===undefined?1:n,n=t.parseNumber(n),n instanceof Error||"string"!=typeof r?a.value:r?r.substring(0,n):null},n.LEN=function(r){return 0===arguments.length?a.error:"string"==typeof r?r?r.length:0:r.length?r.length:a.value},n.LOWER=function(r){return"string"!=typeof r?a.value:r?r.toLowerCase():r},n.MID=function(r,n,e){if(n=t.parseNumber(n),e=t.parseNumber(e),t.anyIsError(n,e)||"string"!=typeof r)return e;var a=n-1;return r.substring(a,a+e)},n.NUMBERVALUE=function(r,n,e){return n=void 0===n?".":n,e=void 0===e?",":e,+r.replace(n,".").replace(e,"")},n.PRONETIC=function(){throw Error("PRONETIC is not implemented")},n.PROPER=function(r){return r===undefined||0===r.length?a.value:(!0===r&&(r="TRUE"),!1===r&&(r="FALSE"),isNaN(r)&&"number"==typeof r?a.value:("number"==typeof r&&(r=""+r),r.replace(/\w\S*/g,function(r){return r.charAt(0).toUpperCase()+r.substr(1).toLowerCase()})))},n.REGEXEXTRACT=function(r,n){if(2>arguments.length)return a.na;var e=r.match(RegExp(n));return e?e[e.length>1?e.length-1:0]:null},n.REGEXMATCH=function(r,n,e){if(2>arguments.length)return a.na;var t=r.match(RegExp(n));return e?t:!!t},n.REGEXREPLACE=function(r,n,e){return 3>arguments.length?a.na:r.replace(RegExp(n),e)},n.REPLACE=function(r,n,e,u){return n=t.parseNumber(n),e=t.parseNumber(e),t.anyIsError(n,e)||"string"!=typeof r||"string"!=typeof u?a.value:r.substr(0,n-1)+u+r.substr(n-1+e)},n.REPT=function(r,n){return n=t.parseNumber(n),n instanceof Error?n:Array(n+1).join(r)},n.RIGHT=function(r,n){return n=n===undefined?1:n,n=t.parseNumber(n),n instanceof Error?n:r?r.substring(r.length-n):a.na},n.SEARCH=function(r,n,e){var t;return"string"!=typeof r||"string"!=typeof n?a.value:(e=e===undefined?0:e,t=n.toLowerCase().indexOf(r.toLowerCase(),e-1)+1,0===t?a.value:t)},n.SPLIT=function(r,n){return r.split(n)},n.SUBSTITUTE=function(r,n,e,t){if(2>arguments.length)return a.na;if(!(r&&n&&e))return r;if(t===undefined)return r.replace(RegExp(n,"g"),e);for(var u=0,o=0;r.indexOf(n,u)>0;)if(u=r.indexOf(n,u+1),++o===t)return r.substring(0,u)+e+r.substring(u+n.length)},n.T=function(r){return"string"==typeof r?r:""},n.TEXT=function(){throw Error("TEXT is not implemented")},n.TRIM=function(r){return"string"!=typeof r?a.value:r.replace(/ +/g," ").trim()},n.UNICHAR=n.CHAR,n.UNICODE=n.CODE,n.UPPER=function(r){return"string"!=typeof r?a.value:r.toUpperCase()},n.VALUE=function(){throw Error("VALUE is not implemented")}},function(r,n){function e(r,n){if(-1===h.indexOf(n))throw Error("Unsupported token type: "+n);return{value:r,type:n}}function t(r){return"string"!=typeof r?r:(/^\d+(\.\d+)?$/.test(r)&&(r=-1===r.indexOf(".")?parseInt(r,10):parseFloat(r)),r)}function a(r){for(var n=r.length,e=[],t=0,a="",u="";n>t;){var o=r.charAt(t);switch(o){case">":case"<":case"=":u+=o,a.length>0&&(e.push(a),a="");break;default:u.length>0&&(e.push(u),u=""),a+=o}t++}return a.length>0&&e.push(a),u.length>0&&e.push(u),e}function u(r){for(var n="",a=[],u=0;r.length>u;u++){var o=r[u];0!==u||0>s.indexOf(o)?n+=o:a.push(e(o,l))}return n.length>0&&a.push(e(t(n),c)),a.length>0&&a[0].type!==l&&a.unshift(e(f,l)),a}function o(r){for(var n,e=[],t=0;r.length>t;t++){var a=r[t];switch(a.type){case l:n=a.value;break;case c:e.push(a.value)}}return i(e,n)}function i(r,n){var e=!1;switch(n){case">":e=r[0]>r[1];break;case">=":e=r[0]>=r[1];break;case"<":e=r[1]>r[0];break;case"<=":e=r[1]>=r[0];break;case"=":e=r[0]==r[1];break;case"<>":e=r[0]!=r[1]}return e}var f="=",s=[">",">=","<","<=","=","<>"],l="operator",c="literal",h=[l,c];n.TOKEN_TYPE_OPERATOR=l,n.TOKEN_TYPE_LITERAL=c,n.parse=function(r){return u(a(r))},n.createToken=e,n.compute=o},function(r,n,e){var t=e(0);n.CELL=function(){throw Error("CELL is not implemented")},n.ERROR={},n.ERROR.TYPE=function(r){switch(r){case t.nil:return 1;case t.div0:return 2;case t.value:return 3;case t.ref:return 4;case t.name:return 5;case t.num:return 6;case t.na:return 7;case t.data:return 8}return t.na},n.INFO=function(){throw Error("INFO is not implemented")},n.ISBLANK=function(r){return null===r},n.ISBINARY=function(r){return/^[01]{1,10}$/.test(r)},n.ISERR=function(r){return[t.value,t.ref,t.div0,t.num,t.name,t.nil].indexOf(r)>=0||"number"==typeof r&&(isNaN(r)||!isFinite(r))},n.ISERROR=function(r){return n.ISERR(r)||r===t.na},n.ISEVEN=function(r){return!(1&Math.floor(Math.abs(r)))},n.ISFORMULA=function(){throw Error("ISFORMULA is not implemented")},n.ISLOGICAL=function(r){return!0===r||!1===r},n.ISNA=function(r){return r===t.na},n.ISNONTEXT=function(r){return"string"!=typeof r},n.ISNUMBER=function(r){return"number"==typeof r&&!isNaN(r)&&isFinite(r)},n.ISODD=function(r){return!!(1&Math.floor(Math.abs(r)))},n.ISREF=function(){throw Error("ISREF is not implemented")},n.ISTEXT=function(r){return"string"==typeof r},n.N=function(r){return this.ISNUMBER(r)?r:r instanceof Date?r.getTime():!0===r?1:!1===r?0:this.ISERROR(r)?r:0},n.NA=function(){return t.na},n.SHEET=function(){throw Error("SHEET is not implemented")},n.SHEETS=function(){throw Error("SHEETS is not implemented")},n.TYPE=function(r){return this.ISNUMBER(r)?1:this.ISTEXT(r)?2:this.ISLOGICAL(r)?4:this.ISERROR(r)?16:Array.isArray(r)?64:void 0}},function(r,n,e){function t(r){return 1===new Date(r,1,29).getMonth()}function a(r,n){return Math.ceil((n-r)/1e3/60/60/24)}function u(r){var n=r>-22038912e5?2:1;return Math.ceil((r-f)/864e5)+n}var o=e(0),i=e(1),f=new Date(Date.UTC(1900,0,1)),s=[undefined,0,1,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,1,2,3,4,5,6,0],l=[[],[1,2,3,4,5,6,7],[7,1,2,3,4,5,6],[6,0,1,2,3,4,5],[],[],[],[],[],[],[],[7,1,2,3,4,5,6],[6,7,1,2,3,4,5],[5,6,7,1,2,3,4],[4,5,6,7,1,2,3],[3,4,5,6,7,1,2],[2,3,4,5,6,7,1],[1,2,3,4,5,6,7]],c=[[],[6,0],[0,1],[1,2],[2,3],[3,4],[4,5],[5,6],undefined,undefined,undefined,[0,0],[1,1],[2,2],[3,3],[4,4],[5,5],[6,6]];n.DATE=function(r,n,e){return r=i.parseNumber(r),n=i.parseNumber(n),e=i.parseNumber(e),i.anyIsError(r,n,e)?o.value:0>r||0>n||0>e?o.num:new Date(r,n-1,e)},n.DATEVALUE=function(r){var n,e=2;return"string"!=typeof r?o.value:(n=Date.parse(r),isNaN(n)?o.value:(n>-22038912e5||(e=1),Math.ceil((n-f)/864e5)+e))},n.DAY=function(r){var n=i.parseDate(r);return n instanceof Error?n:n.getDate()},n.DAYS=function(r,n){return r=i.parseDate(r),n=i.parseDate(n),r instanceof Error?r:n instanceof Error?n:u(r)-u(n)},n.DAYS360=function(r,n,e){if(e=i.parseBool(e),r=i.parseDate(r),n=i.parseDate(n),r instanceof Error)return r;if(n instanceof Error)return n;if(e instanceof Error)return e;var t,a,u=r.getMonth(),o=n.getMonth();if(e)t=31===r.getDate()?30:r.getDate(),a=31===n.getDate()?30:n.getDate();else{var f=new Date(r.getFullYear(),u+1,0).getDate(),s=new Date(n.getFullYear(),o+1,0).getDate();t=r.getDate()===f?30:r.getDate(),n.getDate()===s?30>t?(o++,a=1):a=30:a=n.getDate()}return 360*(n.getFullYear()-r.getFullYear())+30*(o-u)+(a-t)},n.EDATE=function(r,n){return(r=i.parseDate(r))instanceof Error?r:isNaN(n)?o.value:(n=parseInt(n,10),r.setMonth(r.getMonth()+n),u(r))},n.EOMONTH=function(r,n){return(r=i.parseDate(r))instanceof Error?r:isNaN(n)?o.value:(n=parseInt(n,10),u(new Date(r.getFullYear(),r.getMonth()+n+1,0)))},n.HOUR=function(r){return r=i.parseDate(r),r instanceof Error?r:r.getHours()},n.INTERVAL=function(r){if("number"!=typeof r&&"string"!=typeof r)return o.value;r=parseInt(r,10);var n=Math.floor(r/94608e4);r%=94608e4;var e=Math.floor(r/2592e3);r%=2592e3;var t=Math.floor(r/86400);r%=86400;var a=Math.floor(r/3600);r%=3600;var u=Math.floor(r/60);r%=60;var i=r;return n=n>0?n+"Y":"",e=e>0?e+"M":"",t=t>0?t+"D":"",a=a>0?a+"H":"",u=u>0?u+"M":"",i=i>0?i+"S":"","P"+n+e+t+"T"+a+u+i},n.ISOWEEKNUM=function(r){if((r=i.parseDate(r))instanceof Error)return r;r.setHours(0,0,0),r.setDate(r.getDate()+4-(r.getDay()||7));var n=new Date(r.getFullYear(),0,1);return Math.ceil(((r-n)/864e5+1)/7)},n.MINUTE=function(r){return r=i.parseDate(r),r instanceof Error?r:r.getMinutes()},n.MONTH=function(r){return r=i.parseDate(r),r instanceof Error?r:r.getMonth()+1},n.NETWORKDAYS=function(r,n,e){return this.NETWORKDAYS.INTL(r,n,1,e)},n.NETWORKDAYS.INTL=function(r,n,e,t){if((r=i.parseDate(r))instanceof Error)return r;if((n=i.parseDate(n))instanceof Error)return n;if(!((e=e===undefined?c[1]:c[e])instanceof Array))return o.value;t===undefined?t=[]:t instanceof Array||(t=[t]);for(var a=0;t.length>a;a++){var u=i.parseDate(t[a]);if(u instanceof Error)return u;t[a]=u}var f=(n-r)/864e5+1,s=f,l=r;for(a=0;f>a;a++){var h=(new Date).getTimezoneOffset()>0?l.getUTCDay():l.getDay(),p=!1;h!==e[0]&&h!==e[1]||(p=!0);for(var m=0;t.length>m;m++){var E=t[m];if(E.getDate()===l.getDate()&&E.getMonth()===l.getMonth()&&E.getFullYear()===l.getFullYear()){p=!0;break}}p&&s--,l.setDate(l.getDate()+1)}return s},n.NOW=function(){return new Date},n.SECOND=function(r){return r=i.parseDate(r),r instanceof Error?r:r.getSeconds()},n.TIME=function(r,n,e){return r=i.parseNumber(r),n=i.parseNumber(n),e=i.parseNumber(e),i.anyIsError(r,n,e)?o.value:0>r||0>n||0>e?o.num:(3600*r+60*n+e)/86400},n.TIMEVALUE=function(r){return r=i.parseDate(r),r instanceof Error?r:(3600*r.getHours()+60*r.getMinutes()+r.getSeconds())/86400},n.TODAY=function(){return new Date},n.WEEKDAY=function(r,n){if((r=i.parseDate(r))instanceof Error)return r;n===undefined&&(n=1);var e=r.getDay();return l[n][e]},n.WEEKNUM=function(r,n){if((r=i.parseDate(r))instanceof Error)return r;if(n===undefined&&(n=1),21===n)return this.ISOWEEKNUM(r);var e=s[n],t=new Date(r.getFullYear(),0,1),a=t.getDay()n)return o.num;if(!((e=e===undefined?c[1]:c[e])instanceof Array))return o.value;t===undefined?t=[]:t instanceof Array||(t=[t]);for(var a=0;t.length>a;a++){var u=i.parseDate(t[a]);if(u instanceof Error)return u;t[a]=u}for(var f=0;n>f;){r.setDate(r.getDate()+1);var s=r.getDay();if(s!==e[0]&&s!==e[1]){for(var l=0;t.length>l;l++){var h=t[l];if(h.getDate()===r.getDate()&&h.getMonth()===r.getMonth()&&h.getFullYear()===r.getFullYear()){f--;break}}f++}}return r},n.YEAR=function(r){return r=i.parseDate(r),r instanceof Error?r:r.getFullYear()},n.YEARFRAC=function(r,n,e){if((r=i.parseDate(r))instanceof Error)return r;if((n=i.parseDate(n))instanceof Error)return n;e=e||0;var u=r.getDate(),o=r.getMonth()+1,f=r.getFullYear(),s=n.getDate(),l=n.getMonth()+1,c=n.getFullYear();switch(e){case 0:return 31===u&&31===s?(u=30,s=30):31===u?u=30:30===u&&31===s&&(s=30),(s+30*l+360*c-(u+30*o+360*f))/360;case 1:var h=365;if(f===c||f+1===c&&(o>l||o===l&&u>=s))return(f===c&&t(f)||function(r,n){var e=r.getFullYear(),a=new Date(e,2,1);if(t(e)&&a>r&&n>=a)return!0;var u=n.getFullYear(),o=new Date(u,2,1);return t(u)&&n>=o&&o>r}(r,n)||1===l&&29===s)&&(h=366),a(r,n)/h;var p=c-f+1,m=(new Date(c+1,0,1)-new Date(f,0,1))/1e3/60/60/24,E=m/p;return a(r,n)/E;case 2:return a(r,n)/360;case 3:return a(r,n)/365;case 4:return(s+30*l+360*c-(u+30*o+360*f))/360}}},function(r,n,e){!function(n,e){r.exports=e()}(0,function(){var r=function(r,n){function e(n,e){var t=n>e?n:e;return r.pow(10,17-~~(r.log(t>0?t:-t)*r.LOG10E))}function t(r){return"[object Function]"===h.call(r)}function a(r){return"number"==typeof r&&r-r==0}function u(r){return l.apply([],r)}function o(){return new o._init(arguments)}function i(){return 0}function f(){return 1}function s(r,n){return r===n?1:0}var l=Array.prototype.concat,c=Array.prototype.slice,h=Object.prototype.toString,p=Array.isArray||function(r){return"[object Array]"===h.call(r)};o.fn=o.prototype,o._init=function(r){if(p(r[0]))if(p(r[0][0])){t(r[1])&&(r[0]=o.map(r[0],r[1]));for(var n=0;r[0].length>n;n++)this[n]=r[0][n];this.length=r[0].length}else this[0]=t(r[1])?o.map(r[0],r[1]):r[0],this.length=1;else if(a(r[0]))this[0]=o.seq.apply(null,r),this.length=1;else{if(r[0]instanceof o)return o(r[0].toArray());this[0]=[],this.length=1}return this},o._init.prototype=o.prototype,o._init.constructor=o,o.utils={calcRdx:e,isArray:p,isFunction:t,isNumber:a,toVector:u},o._random_fn=r.random,o.setRandom=function(r){if("function"!=typeof r)throw new TypeError("fn is not a function");o._random_fn=r},o.extend=function(r){var n,e;if(1===arguments.length){for(e in r)o[e]=r[e];return this}for(n=1;arguments.length>n;n++)for(e in arguments[n])r[e]=arguments[n][e];return r},o.rows=function(r){return r.length||1},o.cols=function(r){return r[0].length||1},o.dimensions=function(r){return{rows:o.rows(r),cols:o.cols(r)}},o.row=function(r,n){return p(n)?n.map(function(n){return o.row(r,n)}):r[n]},o.rowa=function(r,n){return o.row(r,n)},o.col=function(r,n){if(p(n)){var e=o.arange(r.length).map(function(){return Array(n.length)});return n.forEach(function(n,t){o.arange(r.length).forEach(function(a){e[a][t]=r[a][n]})}),e}for(var t=Array(r.length),a=0;r.length>a;a++)t[a]=[r[a][n]];return t},o.cola=function(r,n){return o.col(r,n).map(function(r){return r[0]})},o.diag=function(r){for(var n=o.rows(r),e=Array(n),t=0;n>t;t++)e[t]=[r[t][t]];return e},o.antidiag=function(r){for(var n=o.rows(r)-1,e=Array(n),t=0;n>=0;n--,t++)e[t]=[r[t][n]];return e},o.transpose=function(r){var n,e,t,a,u,o=[];for(p(r[0])||(r=[r]),e=r.length,t=r[0].length,u=0;t>u;u++){for(n=Array(e),a=0;e>a;a++)n[a]=r[a][u];o.push(n)}return 1===o.length?o[0]:o},o.map=function(r,n,e){var t,a,u,o,i;for(p(r[0])||(r=[r]),a=r.length,u=r[0].length,o=e?r:Array(a),t=0;a>t;t++)for(o[t]||(o[t]=Array(u)),i=0;u>i;i++)o[t][i]=n(r[t][i],t,i);return 1===o.length?o[0]:o},o.cumreduce=function(r,n,e){var t,a,u,o,i;for(p(r[0])||(r=[r]),a=r.length,u=r[0].length,o=e?r:Array(a),t=0;a>t;t++)for(o[t]||(o[t]=Array(u)),u>0&&(o[t][0]=r[t][0]),i=1;u>i;i++)o[t][i]=n(o[t][i-1],r[t][i]);return 1===o.length?o[0]:o},o.alter=function(r,n){return o.map(r,n,!0)},o.create=function(r,n,e){var a,u,o=Array(r);for(t(n)&&(e=n,n=r),a=0;r>a;a++)for(o[a]=Array(n),u=0;n>u;u++)o[a][u]=e(a,u);return o},o.zeros=function(r,n){return a(n)||(n=r),o.create(r,n,i)},o.ones=function(r,n){return a(n)||(n=r),o.create(r,n,f)},o.rand=function(r,n){return a(n)||(n=r),o.create(r,n,o._random_fn)},o.identity=function(r,n){return a(n)||(n=r),o.create(r,n,s)},o.symmetric=function(r){var n,e,t=r.length;if(r.length!==r[0].length)return!1;for(n=0;t>n;n++)for(e=0;t>e;e++)if(r[e][n]!==r[n][e])return!1;return!0},o.clear=function(r){return o.alter(r,i)},o.seq=function(r,n,a,u){t(u)||(u=!1);var o,i=[],f=e(r,n),s=(n*f-r*f)/((a-1)*f),l=r;for(o=0;n>=l&&a>o;o++,l=(r*f+s*f*o)/f)i.push(u?u(l,o):l);return i},o.arange=function(r,e,t){var a,u=[];if(t=t||1,e===n&&(e=r,r=0),r===e||0===t)return[];if(e>r&&0>t)return[];if(r>e&&t>0)return[];if(t>0)for(a=r;e>a;a+=t)u.push(a);else for(a=r;a>e;a+=t)u.push(a);return u},o.slice=function(){function r(r,e,t,a){var u,i=[],f=r.length;if(e===n&&t===n&&a===n)return o.copy(r);if(e=e||0,t=t||r.length,e=0>e?f+e:e,t=0>t?f+t:t,a=a||1,e===t||0===a)return[];if(t>e&&0>a)return[];if(e>t&&a>0)return[];if(a>0)for(u=e;t>u;u+=a)i.push(r[u]);else for(u=e;u>t;u+=a)i.push(r[u]);return i}function e(n,e){var t,u;if(e=e||{},a(e.row)){if(a(e.col))return n[e.row][e.col];var i=o.rowa(n,e.row);return t=e.col||{},r(i,t.start,t.end,t.step)}if(a(e.col)){var f=o.cola(n,e.col);return u=e.row||{},r(f,u.start,u.end,u.step)}return u=e.row||{},t=e.col||{},r(n,u.start,u.end,u.step).map(function(n){return r(n,t.start,t.end,t.step)})}return e}(),o.sliceAssign=function(e,t,u){var i,f;if(a(t.row)){if(a(t.col))return e[t.row][t.col]=u;t.col=t.col||{},t.col.start=t.col.start||0,t.col.end=t.col.end||e[0].length,t.col.step=t.col.step||1,i=o.arange(t.col.start,r.min(e.length,t.col.end),t.col.step);var s=t.row;return i.forEach(function(r,n){e[s][r]=u[n]}),e}if(a(t.col)){t.row=t.row||{},t.row.start=t.row.start||0,t.row.end=t.row.end||e.length,t.row.step=t.row.step||1,f=o.arange(t.row.start,r.min(e[0].length,t.row.end),t.row.step);var l=t.col;return f.forEach(function(r,n){e[r][l]=u[n]}),e}return u[0].length===n&&(u=[u]),t.row.start=t.row.start||0,t.row.end=t.row.end||e.length,t.row.step=t.row.step||1,t.col.start=t.col.start||0,t.col.end=t.col.end||e[0].length,t.col.step=t.col.step||1,f=o.arange(t.row.start,r.min(e.length,t.row.end),t.row.step),i=o.arange(t.col.start,r.min(e[0].length,t.col.end),t.col.step),f.forEach(function(r,n){i.forEach(function(t,a){e[r][t]=u[n][a]})}),e},o.diagonal=function(r){var n=o.zeros(r.length,r.length);return r.forEach(function(r,e){n[e][e]=r}),n},o.copy=function(r){return r.map(function(r){return a(r)?r:r.map(function(r){return r})})};var m=o.prototype;return m.length=0,m.push=Array.prototype.push,m.sort=Array.prototype.sort,m.splice=Array.prototype.splice,m.slice=Array.prototype.slice,m.toArray=function(){return this.length>1?c.call(this):c.call(this)[0]},m.map=function(r,n){return o(o.map(this,r,n))},m.cumreduce=function(r,n){return o(o.cumreduce(this,r,n))},m.alter=function(r){return o.alter(this,r),this},function(r){for(var n=0;r.length>n;n++)!function(r){m[r]=function(n){var e,t=this;return n?(setTimeout(function(){n.call(t,m[r].call(t))}),this):(e=o[r](this),p(e)?o(e):e)}}(r[n])}("transpose clear symmetric rows cols dimensions diag antidiag".split(" ")),function(r){for(var n=0;r.length>n;n++)!function(r){m[r]=function(n,e){var t=this;return e?(setTimeout(function(){e.call(t,m[r].call(t,n))}),this):o(o[r](this,n))}}(r[n])}("row col".split(" ")),function(r){for(var n=0;r.length>n;n++)!function(r){m[r]=function(){return o(o[r].apply(null,arguments))}}(r[n])}("create zeros ones rand identity".split(" ")),o}(Math);return function(r,n){function e(r,n){return r-n}function t(r,e,t){return n.max(e,n.min(r,t))}var a=r.utils.isFunction;r.sum=function(r){for(var n=0,e=r.length;--e>=0;)n+=r[e];return n},r.sumsqrd=function(r){for(var n=0,e=r.length;--e>=0;)n+=r[e]*r[e];return n},r.sumsqerr=function(n){for(var e,t=r.mean(n),a=0,u=n.length;--u>=0;)e=n[u]-t,a+=e*e;return a},r.sumrow=function(r){for(var n=0,e=r.length;--e>=0;)n+=r[e];return n},r.product=function(r){for(var n=1,e=r.length;--e>=0;)n*=r[e];return n},r.min=function(r){for(var n=r[0],e=0;++er[e]&&(n=r[e]);return n},r.max=function(r){for(var n=r[0],e=0;++en&&(n=r[e]);return n},r.unique=function(r){for(var n={},e=[],t=0;r.length>t;t++)n[r[t]]||(n[r[t]]=!0,e.push(r[t]));return e},r.mean=function(n){return r.sum(n)/n.length},r.meansqerr=function(n){return r.sumsqerr(n)/n.length},r.geomean=function(e){return n.pow(r.product(e),1/e.length)},r.median=function(r){var n=r.length,t=r.slice().sort(e);return 1&n?t[n/2|0]:(t[n/2-1]+t[n/2])/2},r.cumsum=function(n){return r.cumreduce(n,function(r,n){return r+n})},r.cumprod=function(n){return r.cumreduce(n,function(r,n){return r*n})},r.diff=function(r){var n,e=[],t=r.length;for(n=1;t>n;n++)e.push(r[n]-r[n-1]);return e},r.rank=function(r){for(var n,t=r.length,a=r.slice().sort(e),u=Array(t),o=0;t>o;o++){var i=a.indexOf(r[o]),f=a.lastIndexOf(r[o]);n=i===f?i:(i+f)/2,u[o]=n+1}return u},r.mode=function(r){var n,t=r.length,a=r.slice().sort(e),u=1,o=0,i=0,f=[];for(n=0;t>n;n++)a[n]===a[n+1]?u++:(u>o?(f=[a[n]],o=u,i=0):u===o&&(f.push(a[n]),i++),u=1);return 0===i?f[0]:f},r.range=function(n){return r.max(n)-r.min(n)},r.variance=function(n,e){return r.sumsqerr(n)/(n.length-(e?1:0))},r.pooledvariance=function(n){return n.reduce(function(n,e){return n+r.sumsqerr(e)},0)/(n.reduce(function(r,n){return r+n.length},0)-n.length)},r.deviation=function(n){for(var e=r.mean(n),t=n.length,a=Array(t),u=0;t>u;u++)a[u]=n[u]-e;return a},r.stdev=function(e,t){return n.sqrt(r.variance(e,t))},r.pooledstdev=function(e){return n.sqrt(r.pooledvariance(e))},r.meandev=function(e){for(var t=r.mean(e),a=[],u=e.length-1;u>=0;u--)a.push(n.abs(e[u]-t));return r.mean(a)},r.meddev=function(e){for(var t=r.median(e),a=[],u=e.length-1;u>=0;u--)a.push(n.abs(e[u]-t));return r.median(a)},r.coeffvar=function(n){return r.stdev(n)/r.mean(n)},r.quartiles=function(r){var t=r.length,a=r.slice().sort(e);return[a[n.round(t/4)-1],a[n.round(t/2)-1],a[n.round(3*t/4)-1]]},r.quantiles=function(r,a,u,o){var i,f,s,l,c,h,p=r.slice().sort(e),m=[a.length],E=r.length;for(void 0===u&&(u=3/8),void 0===o&&(o=3/8),i=0;a.length>i;i++)f=a[i],s=u+f*(1-u-o),l=E*f+s,c=n.floor(t(l,1,E-1)),h=t(l-c,0,1),m[i]=(1-h)*p[c-1]+h*p[c];return m},r.percentile=function(r,n,t){var a=r.slice().sort(e),u=n*(a.length+(t?1:-1))+(t?0:1),o=parseInt(u),i=u-o;return a.length>o+1?a[o-1]+i*(a[o]-a[o-1]):a[o-1]},r.percentileOfScore=function(r,n,e){var t,a,u=0,o=r.length,i=!1;for("strict"===e&&(i=!0),a=0;o>a;a++)t=r[a],(i&&n>t||!i&&n>=t)&&u++;return u/o},r.histogram=function(e,t){t=t||4;var a,u=r.min(e),o=(r.max(e)-u)/t,i=e.length,f=[];for(a=0;t>a;a++)f[a]=0;for(a=0;i>a;a++)f[n.min(n.floor((e[a]-u)/o),t-1)]+=1;return f},r.covariance=function(n,e){var t,a=r.mean(n),u=r.mean(e),o=n.length,i=Array(o);for(t=0;o>t;t++)i[t]=(n[t]-a)*(e[t]-u);return r.sum(i)/(o-1)},r.corrcoeff=function(n,e){return r.covariance(n,e)/r.stdev(n,1)/r.stdev(e,1)},r.spearmancoeff=function(n,e){return n=r.rank(n),e=r.rank(e),r.corrcoeff(n,e)},r.stanMoment=function(e,t){for(var a=r.mean(e),u=r.stdev(e),o=e.length,i=0,f=0;o>f;f++)i+=n.pow((e[f]-a)/u,t);return i/e.length},r.skewness=function(n){return r.stanMoment(n,3)},r.kurtosis=function(n){return r.stanMoment(n,4)-3};var u=r.prototype;!function(n){for(var e=0;n.length>e;e++)!function(n){u[n]=function(e,t){var o=[],i=0,f=this;if(a(e)&&(t=e,e=!1),t)return setTimeout(function(){t.call(f,u[n].call(f,e))}),this;if(this.length>1){for(f=!0===e?this:this.transpose();f.length>i;i++)o[i]=r[n](f[i]);return o}return r[n](this[0],e)}}(n[e])}("cumsum cumprod".split(" ")),function(n){for(var e=0;n.length>e;e++)!function(n){u[n]=function(e,t){var o=[],i=0,f=this;if(a(e)&&(t=e,e=!1),t)return setTimeout(function(){t.call(f,u[n].call(f,e))}),this;if(this.length>1){for("sumrow"!==n&&(f=!0===e?this:this.transpose());f.length>i;i++)o[i]=r[n](f[i]);return!0===e?r[n](r.utils.toVector(o)):o}return r[n](this[0],e)}}(n[e])}("sum sumsqrd sumsqerr sumrow product min max unique mean meansqerr geomean median diff rank mode range variance deviation stdev meandev meddev coeffvar quartiles histogram skewness kurtosis".split(" ")),function(n){for(var e=0;n.length>e;e++)!function(n){u[n]=function(){var e,t=[],o=0,i=this,f=Array.prototype.slice.call(arguments);if(a(f[f.length-1])){e=f[f.length-1];var s=f.slice(0,f.length-1);return setTimeout(function(){e.call(i,u[n].apply(i,s))}),this}e=undefined;var l=function(e){return r[n].apply(i,[e].concat(f))};if(this.length>1){for(i=i.transpose();i.length>o;o++)t[o]=l(i[o]);return t}return l(this[0])}}(n[e])}("quantiles percentileOfScore".split(" "))}(r,Math),function(r,n){r.gammaln=function(r){var e,t,a,u=0,o=[76.18009172947146,-86.50532032941678,24.01409824083091,-1.231739572450155,.001208650973866179,-5395239384953e-18],i=1.000000000190015;for(a=(t=e=r)+5.5,a-=(e+.5)*n.log(a);6>u;u++)i+=o[u]/++t;return n.log(2.5066282746310007*i/e)-a},r.loggam=function(r){var e,t,a,u,o,i,f,s=[.08333333333333333,-.002777777777777778,.0007936507936507937,-.0005952380952380952,.0008417508417508418,-.001917526917526918,.00641025641025641,-.02955065359477124,.1796443723688307,-1.3924322169059];if(e=r,f=0,1==r||2==r)return 0;for(r>7||(f=n.floor(7-r),e=r+f),t=1/(e*e),a=2*n.PI,o=s[9],i=8;i>=0;i--)o*=t,o+=s[i];if(u=o/e+.5*n.log(a)+(e-.5)*n.log(e)-e,7>=r)for(i=1;f>=i;i++)u-=n.log(e-1),e-=1;return u},r.gammafn=function(r){var e,t,a,u,o=[-1.716185138865495,24.76565080557592,-379.80425647094563,629.3311553128184,866.9662027904133,-31451.272968848367,-36144.413418691176,66456.14382024054],i=[-30.8402300119739,315.35062697960416,-1015.1563674902192,-3107.771671572311,22538.11842098015,4755.846277527881,-134659.9598649693,-115132.2596755535],f=!1,s=0,l=0,c=0,h=r;if(0>=h){if(!(u=h%1+3.6e-16))return Infinity;f=(1&h?-1:1)*n.PI/n.sin(n.PI*u),h=1-h}for(a=h,t=1>h?h++:(h-=s=(0|h)-1)-1,e=0;8>e;++e)c=(c+o[e])*t,l=l*t+i[e];if(u=c/l+1,h>a)u/=a;else if(a>h)for(e=0;s>e;++e)u*=h,h++;return f&&(u=f/u),u},r.gammap=function(n,e){return r.lowRegGamma(n,e)*r.gammafn(n)},r.lowRegGamma=function(e,t){var a,u=r.gammaln(e),o=e,i=1/e,f=i,s=t+1-e,l=1/1e-30,c=1/s,h=c,p=1,m=-~(8.5*n.log(1>e?1/e:e)+.4*e+17);if(0>t||0>=e)return NaN;if(e+1>t){for(;m>=p;p++)i+=f*=t/++o;return i*n.exp(-t+e*n.log(t)-u)}for(;m>=p;p++)a=-p*(p-e),s+=2,c=a*c+s,l=s+a/l,c=1/c,h*=c*l;return 1-h*n.exp(-t+e*n.log(t)-u)},r.factorialln=function(n){return 0>n?NaN:r.gammaln(n+1)},r.factorial=function(n){return 0>n?NaN:r.gammafn(n+1)},r.combination=function(e,t){return e>170||t>170?n.exp(r.combinationln(e,t)):r.factorial(e)/r.factorial(t)/r.factorial(e-t)},r.combinationln=function(n,e){return r.factorialln(n)-r.factorialln(e)-r.factorialln(n-e)},r.permutation=function(n,e){return r.factorial(n)/r.factorial(n-e)},r.betafn=function(e,t){return e>0&&t>0?e+t>170?n.exp(r.betaln(e,t)):r.gammafn(e)*r.gammafn(t)/r.gammafn(e+t):undefined},r.betaln=function(n,e){return r.gammaln(n)+r.gammaln(e)-r.gammaln(n+e)},r.betacf=function(r,e,t){var a,u,o,i,f=1,s=e+t,l=e+1,c=e-1,h=1,p=1-s*r/l;for(1e-30>n.abs(p)&&(p=1e-30),p=1/p,i=p;100>=f&&(a=2*f,u=f*(t-f)*r/((c+a)*(e+a)),p=1+u*p,1e-30>n.abs(p)&&(p=1e-30),h=1+u/h,1e-30>n.abs(h)&&(h=1e-30),p=1/p,i*=p*h,u=-(e+f)*(s+f)*r/((e+a)*(l+a)),p=1+u*p,1e-30>n.abs(p)&&(p=1e-30),h=1+u/h,1e-30>n.abs(h)&&(h=1e-30),p=1/p,o=p*h,i*=o,3e-7<=n.abs(o-1));f++);return i},r.gammapinv=function(e,t){var a,u,o,i,f,s,l,c=0,h=t-1,p=r.gammaln(t);if(e>=1)return n.max(100,t+100*n.sqrt(t));if(0>=e)return 0;for(t>1?(s=n.log(h),l=n.exp(h*(s-1)-p),f=.5>e?e:1-e,o=n.sqrt(-2*n.log(f)),a=(2.30753+.27061*o)/(1+o*(.99229+.04481*o))-o,.5>e&&(a=-a),a=n.max(.001,t*n.pow(1-1/(9*t)-a/(3*n.sqrt(t)),3))):(o=1-t*(.253+.12*t),a=o>e?n.pow(e/o,1/t):1-n.log(1-(e-o)/(1-o)));12>c;c++){if(0>=a)return 0;if(u=r.lowRegGamma(t,a)-e,o=t>1?l*n.exp(-(a-h)+h*(n.log(a)-s)):n.exp(-a+h*n.log(a)-p),i=u/o,a-=o=i/(1-.5*n.min(1,i*((t-1)/a-1))),a>0||(a=.5*(a+o)),n.abs(o)<1e-8*a)break}return a},r.erf=function(r){var e,t,a,u,o=[-1.3026537197817094,.6419697923564902,.019476473204185836,-.00956151478680863,-.000946595344482036,.000366839497852761,42523324806907e-18,-20278578112534e-18,-1624290004647e-18,130365583558e-17,1.5626441722e-8,-8.5238095915e-8,6.529054439e-9,5.059343495e-9,-9.91364156e-10,-2.27365122e-10,9.6467911e-11,2.394038e-12,-6.886027e-12,8.94487e-13,3.13092e-13,-1.12708e-13,3.81e-16,7.106e-15,-1.523e-15,-9.4e-17,1.21e-16,-2.8e-17],i=27,f=!1,s=0,l=0;for(0>r&&(r=-r,f=!0),e=2/(2+r),t=4*e-2;i>0;i--)a=s,s=t*s-l+o[i],l=a;return u=e*n.exp(-r*r+.5*(o[0]+t*s)-l),f?u-1:1-u},r.erfc=function(n){return 1-r.erf(n)},r.erfcinv=function(e){var t,a,u,o,i=0;if(e>=2)return-100;if(0>=e)return 100;for(o=1>e?e:2-e,u=n.sqrt(-2*n.log(o/2)),t=-.70711*((2.30753+.27061*u)/(1+u*(.99229+.04481*u))-u);2>i;i++)a=r.erfc(t)-o,t+=a/(1.1283791670955126*n.exp(-t*t)-t*a);return 1>e?t:-t},r.ibetainv=function(e,t,a){var u,o,i,f,s,l,c,h,p,m,E,N=t-1,g=a-1,v=0;if(0>=e)return 0;if(e>=1)return 1;for(1>t||1>a?(u=n.log(t/(t+a)),o=n.log(a/(t+a)),f=n.exp(t*u)/t,s=n.exp(a*o)/a,m=f+s,c=f/m>e?n.pow(t*m*e,1/t):1-n.pow(a*m*(1-e),1/a)):(i=.5>e?e:1-e,f=n.sqrt(-2*n.log(i)),c=(2.30753+.27061*f)/(1+f*(.99229+.04481*f))-f,.5>e&&(c=-c),h=(c*c-3)/6,p=2/(1/(2*t-1)+1/(2*a-1)),m=c*n.sqrt(h+p)/p-(1/(2*a-1)-1/(2*t-1))*(h+5/6-2/(3*p)),c=t/(t+a*n.exp(2*m))),E=-r.gammaln(t)-r.gammaln(a)+r.gammaln(t+a);10>v;v++){if(0===c||1===c)return c;if(l=r.ibeta(c,t,a)-e,f=n.exp(N*n.log(c)+g*n.log(1-c)+E),s=l/f,c-=f=s/(1-.5*n.min(1,s*(N/c-g/(1-c)))),c>0||(c=.5*(c+f)),1>c||(c=.5*(c+f+1)),n.abs(f)<1e-8*c&&v>0)break}return c},r.ibeta=function(e,t,a){var u=0===e||1===e?0:n.exp(r.gammaln(t+a)-r.gammaln(t)-r.gammaln(a)+t*n.log(e)+a*n.log(1-e));return e>=0&&1>=e&&((t+1)/(t+a+2)>e?u*r.betacf(e,t,a)/t:1-u*r.betacf(1-e,a,t)/a)},r.randn=function(e,t){var a,u,o,i,f;if(t||(t=e),e)return r.create(e,t,function(){return r.randn()});do{a=r._random_fn(),u=1.7156*(r._random_fn()-.5),o=a-.449871,i=n.abs(u)+.386595,f=o*o+i*(.196*i-.25472*o)}while(f>.27597&&(f>.27846||u*u>-4*n.log(a)*a*a));return u/a},r.randg=function(e,t,a){var u,o,i,f,s,l,c=e;if(a||(a=t),e||(e=1),t)return l=r.zeros(t,a),l.alter(function(){return r.randg(e)}),l;1>e&&(e+=1),u=e-1/3,o=1/n.sqrt(9*u);do{do{s=r.randn(),f=1+o*s}while(0>=f);f*=f*f,i=r._random_fn()}while(i>1-.331*n.pow(s,4)&&n.log(i)>.5*s*s+u*(1-f+n.log(f)));if(e==c)return u*f;do{i=r._random_fn()}while(0===i);return n.pow(i,1/c)*u*f},function(n){for(var e=0;n.length>e;e++)!function(n){r.fn[n]=function(){return r(r.map(this,function(e){return r[n](e)}))}}(n[e])}("gammaln gammafn factorial factorialln".split(" ")),function(n){for(var e=0;n.length>e;e++)!function(n){r.fn[n]=function(){return r(r[n].apply(null,arguments))}}(n[e])}("randn".split(" "))}(r,Math),function(r,n){function e(r,e,t,a){for(var u,o=0,i=1,f=1,s=1,l=0,c=0;n.abs((f-c)/f)>a;)c=f,u=-(e+l)*(e+t+l)*r/(e+2*l)/(e+2*l+1),o=f+u*o,i=s+u*i,l+=1,u=l*(t-l)*r/(e+2*l-1)/(e+2*l),f=o+u*f,s=i+u*s,o/=s,i/=s,f/=s,s=1;return f/e}function t(r){return r/n.abs(r)}function a(e,t,a){var u=[.9815606342467192,.9041172563704749,.7699026741943047,.5873179542866175,.3678314989981802,.1252334085114689],o=[.04717533638651183,.10693932599531843,.16007832854334622,.20316742672306592,.2334925365383548,.24914704581340277],i=.5*e;if(i>=8)return 1;var f=2*r.normal.cdf(i,0,1,1,0)-1;f=f3?2:3;for(var l=i,c=(8-i)/s,h=l+c,p=0,m=a-1,E=1;s>=E;E++){for(var N=0,g=.5*(h+l),v=.5*(h-l),I=1;12>=I;I++){var d,b;I>6?(d=12-I+1,b=u[d-1]):(d=I,b=-u[d-1]);var M=v*b,y=g+M,A=y*y;if(A>60)break;var R=2*r.normal.cdf(y,0,1,1,0),T=2*r.normal.cdf(y,e,1,1,0),O=.5*R-.5*T;On.exp(-30/t)?(f=n.pow(f,t),1>f?f:1):0}function u(r,e,t){var a=.5-.5*r,u=n.sqrt(n.log(1/(a*a))),o=u+((((-453642210148e-16*u-.204231210125)*u-.342242088547)*u-1)*u+.322232421088)/((((.0038560700634*u+.10353775285)*u+.531103462366)*u+.588581570495)*u+.099348462606);120>t&&(o+=(o*o*o+o)/t/4);var i=.8832-.2368*o;return 120>t&&(i+=-1.214/t+1.208*o/t),o*(i*n.log(e-1)+1.4142)}!function(n){for(var e=0;n.length>e;e++)!function(n){r[n]=function(r,n,e){return this instanceof arguments.callee?(this._a=r,this._b=n,this._c=e,this):new arguments.callee(r,n,e)},r.fn[n]=function(e,t,a){var u=r[n](e,t,a);return u.data=this,u},r[n].prototype.sample=function(e){var t=this._a,a=this._b,u=this._c;return e?r.alter(e,function(){return r[n].sample(t,a,u)}):r[n].sample(t,a,u)},function(e){for(var t=0;e.length>t;t++)!function(e){r[n].prototype[e]=function(t){var a=this._a,u=this._b,o=this._c;return t||0===t||(t=this.data),"number"!=typeof t?r.fn.map.call(t,function(t){return r[n][e](t,a,u,o)}):r[n][e](t,a,u,o)}}(e[t])}("pdf cdf inv".split(" ")),function(e){for(var t=0;e.length>t;t++)!function(e){r[n].prototype[e]=function(){return r[n][e](this._a,this._b,this._c)}}(e[t])}("mean median mode variance".split(" "))}(n[e])}("beta centralF cauchy chisquare exponential gamma invgamma kumaraswamy laplace lognormal noncentralt normal pareto studentt weibull uniform binomial negbin hypgeom poisson triangular tukey arcsine".split(" ")),r.extend(r.beta,{pdf:function(e,t,a){return e>1||0>e?0:1==t&&1==a?1:512>t&&512>a?n.pow(e,t-1)*n.pow(1-e,a-1)/r.betafn(t,a):n.exp((t-1)*n.log(e)+(a-1)*n.log(1-e)-r.betaln(t,a))},cdf:function(n,e,t){return n>1||0>n?1*(n>1):r.ibeta(n,e,t)},inv:function(n,e,t){return r.ibetainv(n,e,t)},mean:function(r,n){return r/(r+n)},median:function(n,e){return r.ibetainv(.5,n,e)},mode:function(r,n){return(r-1)/(r+n-2)},sample:function(n,e){var t=r.randg(n);return t/(t+r.randg(e))},variance:function(r,e){return r*e/(n.pow(r+e,2)*(r+e+1))}}),r.extend(r.centralF,{pdf:function(e,t,a){var u,o;return 0>e?0:t>2?(u=t*e/(a+e*t),o=a/(a+e*t),t*o/2*r.binomial.pdf((t-2)/2,(t+a-2)/2,u)):0===e&&2>t?Infinity:0===e&&2===t?1:1/r.betafn(t/2,a/2)*n.pow(t/a,t/2)*n.pow(e,t/2-1)*n.pow(1+t/a*e,-(t+a)/2)},cdf:function(n,e,t){return 0>n?0:r.ibeta(e*n/(e*n+t),e/2,t/2)},inv:function(n,e,t){return t/(e*(1/r.ibetainv(n,e/2,t/2)-1))},mean:function(r,n){return n>2?n/(n-2):undefined},mode:function(r,n){return r>2?n*(r-2)/(r*(n+2)):undefined},sample:function(n,e){return 2*r.randg(n/2)/n/(2*r.randg(e/2)/e)},variance:function(r,n){return n>4?2*n*n*(r+n-2)/(r*(n-2)*(n-2)*(n-4)):undefined}}),r.extend(r.cauchy,{pdf:function(r,e,t){return 0>t?0:t/(n.pow(r-e,2)+n.pow(t,2))/n.PI},cdf:function(r,e,t){return n.atan((r-e)/t)/n.PI+.5},inv:function(r,e,t){return e+t*n.tan(n.PI*(r-.5))},median:function(r){return r},mode:function(r){return r},sample:function(e,t){return r.randn()*n.sqrt(1/(2*r.randg(.5)))*t+e}}),r.extend(r.chisquare,{pdf:function(e,t){return 0>e?0:0===e&&2===t?.5:n.exp((t/2-1)*n.log(e)-e/2-t/2*n.log(2)-r.gammaln(t/2))},cdf:function(n,e){return 0>n?0:r.lowRegGamma(e/2,n/2)},inv:function(n,e){return 2*r.gammapinv(n,.5*e)},mean:function(r){return r},median:function(r){return r*n.pow(1-2/(9*r),3)},mode:function(r){return r-2>0?r-2:0},sample:function(n){return 2*r.randg(n/2)},variance:function(r){return 2*r}}),r.extend(r.exponential,{pdf:function(r,e){return 0>r?0:e*n.exp(-e*r)},cdf:function(r,e){return 0>r?0:1-n.exp(-e*r)},inv:function(r,e){return-n.log(1-r)/e},mean:function(r){return 1/r},median:function(r){return 1/r*n.log(2)},mode:function(){return 0},sample:function(e){return-1/e*n.log(r._random_fn())},variance:function(r){return n.pow(r,-2)}}),r.extend(r.gamma,{pdf:function(e,t,a){return 0>e?0:0===e&&1===t?1/a:n.exp((t-1)*n.log(e)-e/a-r.gammaln(t)-t*n.log(a))},cdf:function(n,e,t){return 0>n?0:r.lowRegGamma(e,n/t)},inv:function(n,e,t){return r.gammapinv(n,e)*t},mean:function(r,n){return r*n},mode:function(r,n){return r>1?(r-1)*n:undefined},sample:function(n,e){return r.randg(n)*e},variance:function(r,n){return r*n*n}}),r.extend(r.invgamma,{pdf:function(e,t,a){return e>0?n.exp(-(t+1)*n.log(e)-a/e-r.gammaln(t)+t*n.log(a)):0},cdf:function(n,e,t){return n>0?1-r.lowRegGamma(e,t/n):0},inv:function(n,e,t){return t/r.gammapinv(1-n,e)},mean:function(r,n){return r>1?n/(r-1):undefined},mode:function(r,n){return n/(r+1)},sample:function(n,e){return e/r.randg(n)},variance:function(r,n){return r>2?n*n/((r-1)*(r-1)*(r-2)):undefined}}),r.extend(r.kumaraswamy,{pdf:function(r,e,t){return 0===r&&1===e?t:1===r&&1===t?e:n.exp(n.log(e)+n.log(t)+(e-1)*n.log(r)+(t-1)*n.log(1-n.pow(r,e)))},cdf:function(r,e,t){return 0>r?0:r>1?1:1-n.pow(1-n.pow(r,e),t)},inv:function(r,e,t){return n.pow(1-n.pow(1-r,1/t),1/e)},mean:function(n,e){return e*r.gammafn(1+1/n)*r.gammafn(e)/r.gammafn(1+1/n+e)},median:function(r,e){return n.pow(1-n.pow(2,-1/e),1/r)},mode:function(r,e){return 1>r||1>e||1===r||1===e?undefined:n.pow((r-1)/(r*e-1),1/r)},variance:function(){throw Error("variance not yet implemented")}}),r.extend(r.lognormal,{pdf:function(r,e,t){return r>0?n.exp(-n.log(r)-.5*n.log(2*n.PI)-n.log(t)-n.pow(n.log(r)-e,2)/(2*t*t)):0},cdf:function(e,t,a){return 0>e?0:.5+.5*r.erf((n.log(e)-t)/n.sqrt(2*a*a))},inv:function(e,t,a){return n.exp(-1.4142135623730951*a*r.erfcinv(2*e)+t)},mean:function(r,e){return n.exp(r+e*e/2)},median:function(r){return n.exp(r)},mode:function(r,e){return n.exp(r-e*e)},sample:function(e,t){return n.exp(r.randn()*t+e)},variance:function(r,e){return(n.exp(e*e)-1)*n.exp(2*r+e*e)}}),r.extend(r.noncentralt,{pdf:function(e,t,a){return 1e-14>n.abs(a)?r.studentt.pdf(e,t):1e-14>n.abs(e)?n.exp(r.gammaln((t+1)/2)-a*a/2-.5*n.log(n.PI*t)-r.gammaln(t/2)):t/e*(r.noncentralt.cdf(e*n.sqrt(1+2/t),t+2,a)-r.noncentralt.cdf(e,t,a))},cdf:function(e,t,a){if(1e-14>n.abs(a))return r.studentt.cdf(e,t);var u=!1;0>e&&(u=!0,a=-a);for(var o=r.normal.cdf(-a,0,1),i=1e-14+1,f=i,s=e*e/(e*e+t),l=0,c=n.exp(-a*a/2),h=n.exp(-a*a/2-.5*n.log(2)-r.gammaln(1.5))*a;200>l||f>1e-14||i>1e-14;)f=i,l>0&&(c*=a*a/(2*l),h*=a*a/(2*(l+.5))),i=c*r.beta.cdf(s,l+.5,t/2)+h*r.beta.cdf(s,l+1,t/2),o+=.5*i,l++;return u?1-o:o}}),r.extend(r.normal,{pdf:function(r,e,t){return n.exp(-.5*n.log(2*n.PI)-n.log(t)-n.pow(r-e,2)/(2*t*t))},cdf:function(e,t,a){return.5*(1+r.erf((e-t)/n.sqrt(2*a*a)))},inv:function(n,e,t){return-1.4142135623730951*t*r.erfcinv(2*n)+e},mean:function(r){return r},median:function(r){return r},mode:function(r){return r},sample:function(n,e){return r.randn()*e+n},variance:function(r,n){return n*n}}),r.extend(r.pareto,{pdf:function(r,e,t){return e>r?0:t*n.pow(e,t)/n.pow(r,t+1)},cdf:function(r,e,t){return e>r?0:1-n.pow(e/r,t)},inv:function(r,e,t){return e/n.pow(1-r,1/t)},mean:function(r,e){return e>1?e*n.pow(r,e)/(e-1):undefined},median:function(r,e){return r*(e*n.SQRT2)},mode:function(r){return r},variance:function(r,e){return e>2?r*r*e/(n.pow(e-1,2)*(e-2)):undefined}}),r.extend(r.studentt,{pdf:function(e,t){return t=t>1e100?1e100:t,1/(n.sqrt(t)*r.betafn(.5,t/2))*n.pow(1+e*e/t,-(t+1)/2)},cdf:function(e,t){var a=t/2;return r.ibeta((e+n.sqrt(e*e+t))/(2*n.sqrt(e*e+t)),a,a)},inv:function(e,t){var a=r.ibetainv(2*n.min(e,1-e),.5*t,.5);return a=n.sqrt(t*(1-a)/a),e>.5?a:-a},mean:function(r){return r>1?0:undefined},median:function(){return 0},mode:function(){return 0},sample:function(e){return r.randn()*n.sqrt(e/(2*r.randg(e/2)))},variance:function(r){return r>2?r/(r-2):r>1?Infinity:undefined}}),r.extend(r.weibull,{pdf:function(r,e,t){return 0>r||0>e||0>t?0:t/e*n.pow(r/e,t-1)*n.exp(-n.pow(r/e,t))},cdf:function(r,e,t){return 0>r?0:1-n.exp(-n.pow(r/e,t))},inv:function(r,e,t){return e*n.pow(-n.log(1-r),1/t)},mean:function(n,e){return n*r.gammafn(1+1/e)},median:function(r,e){return r*n.pow(n.log(2),1/e)},mode:function(r,e){return e>1?r*n.pow((e-1)/e,1/e):0},sample:function(e,t){return e*n.pow(-n.log(r._random_fn()),1/t)},variance:function(e,t){return e*e*r.gammafn(1+2/t)-n.pow(r.weibull.mean(e,t),2)}}),r.extend(r.uniform,{pdf:function(r,n,e){return n>r||r>e?0:1/(e-n)},cdf:function(r,n,e){return n>r?0:e>r?(r-n)/(e-n):1},inv:function(r,n,e){return n+r*(e-n)},mean:function(r,n){return.5*(r+n)},median:function(n,e){return r.mean(n,e)},mode:function(){throw Error("mode is not yet implemented")},sample:function(n,e){return n/2+e/2+(e/2-n/2)*(2*r._random_fn()-1)},variance:function(r,e){return n.pow(e-r,2)/12}}),r.extend(r.binomial,{pdf:function(e,t,a){return 0===a||1===a?t*a===e?1:0:r.combination(t,e)*n.pow(a,e)*n.pow(1-a,t-e)},cdf:function(t,a,u){var o;if(0>t)return 0;if(t>=a)return 1;if(0>u||u>1||0>=a)return NaN;t=n.floor(t);var i=u,f=t+1,s=a-t,l=f+s,c=n.exp(r.gammaln(l)-r.gammaln(s)-r.gammaln(f)+f*n.log(i)+s*n.log(1-i));return o=(f+1)/(l+2)>i?c*e(i,f,s,1e-10):1-c*e(1-i,s,f,1e-10),n.round(1e10*(1-o))/1e10}}),r.extend(r.negbin,{pdf:function(e,t,a){return e===e>>>0&&(0>e?0:r.combination(e+t-1,t-1)*n.pow(1-a,e)*n.pow(a,t))},cdf:function(n,e,t){var a=0,u=0;if(0>n)return 0;for(;n>=u;u++)a+=r.negbin.pdf(u,e,t);return a}}),r.extend(r.hypgeom,{pdf:function(e,t,a,u){if(e!==e|0)return!1;if(0>e||a-(t-u)>e)return 0;if(e>u||e>a)return 0;if(2*a>t)return 2*u>t?r.hypgeom.pdf(t-a-u+e,t,t-a,t-u):r.hypgeom.pdf(u-e,t,t-a,u);if(2*u>t)return r.hypgeom.pdf(a-e,t,a,t-u);if(u>a)return r.hypgeom.pdf(e,t,u,a);for(var o=1,i=0,f=0;e>f;f++){for(;o>1&&u>i;)o*=1-a/(t-i),i++;o*=(u-f)*(a-f)/((f+1)*(t-a-u+f+1))}for(;u>i;i++)o*=1-a/(t-i);return n.min(1,n.max(0,o))},cdf:function(e,t,a,u){if(0>e||a-(t-u)>e)return 0;if(u>e&&a>e){if(2*a>t)return 2*u>t?r.hypgeom.cdf(t-a-u+e,t,t-a,t-u):1-r.hypgeom.cdf(u-e-1,t,t-a,u);if(2*u>t)return 1-r.hypgeom.cdf(a-e-1,t,a,t-u);if(u>a)return r.hypgeom.cdf(e,t,u,a);for(var o=1,i=1,f=0,s=0;e>s;s++){for(;o>1&&u>f;){var l=1-a/(t-f);i*=l,o*=l,f++}i*=(u-s)*(a-s)/((s+1)*(t-a-u+s+1)),o+=i}for(;u>f;f++)o*=1-a/(t-f);return n.min(1,n.max(0,o))}return 1}}),r.extend(r.poisson,{pdf:function(e,t){return 0>t||e%1!=0||0>e?0:n.pow(t,e)*n.exp(-t)/r.factorial(e)},cdf:function(n,e){var t=[],a=0;if(0>n)return 0;for(;n>=a;a++)t.push(r.poisson.pdf(a,e));return r.sum(t)},mean:function(r){return r},variance:function(r){return r},sampleSmall:function(e){var t=1,a=0,u=n.exp(-e);do{a++,t*=r._random_fn()}while(t>u);return a-1},sampleLarge:function(e){var t,a,u,o,i,f,s,l,c,h,p=e;for(o=n.sqrt(p),i=n.log(p),s=.931+2.53*o,f=.02483*s-.059,l=1.1239+1.1328/(s-3.4),c=.9277-3.6224/(s-2);;){if(a=n.random()-.5,u=n.random(),h=.5-n.abs(a),t=n.floor((2*f/h+s)*a+p+.43),h>=.07&&c>=u)return t;if(!(0>t||.013>h&&u>h)&&n.log(u)+n.log(l)-n.log(f/(h*h)+s)<=t*i-p-r.loggam(t+1))return t}},sample:function(r){return 10>r?this.sampleSmall(r):this.sampleLarge(r)}}),r.extend(r.triangular,{pdf:function(r,n,e,t){return n>=e||n>t||t>e?NaN:n>r||r>e?0:t>r?2*(r-n)/((e-n)*(t-n)):r===t?2/(e-n):2*(e-r)/((e-n)*(e-t))},cdf:function(r,e,t,a){return e>=t||e>a||a>t?NaN:r>e?t>r?r>a?1-n.pow(t-r,2)/((t-e)*(t-a)):n.pow(r-e,2)/((t-e)*(a-e)):1:0},inv:function(r,e,t,a){return e>=t||e>a||a>t?NaN:r>(a-e)/(t-e)?e+(t-e)*(1-n.sqrt((1-r)*(1-(a-e)/(t-e)))):e+(t-e)*n.sqrt(r*((a-e)/(t-e)))},mean:function(r,n,e){return(r+n+e)/3},median:function(r,e,t){return t>(r+e)/2?t>(r+e)/2?r+n.sqrt((e-r)*(t-r))/n.sqrt(2):void 0:e-n.sqrt((e-r)*(e-t))/n.sqrt(2)},mode:function(r,n,e){return e},sample:function(e,t,a){var u=r._random_fn();return(a-e)/(t-e)>u?e+n.sqrt(u*(t-e)*(a-e)):t-n.sqrt((1-u)*(t-e)*(t-a))},variance:function(r,n,e){return(r*r+n*n+e*e-r*n-r*e-n*e)/18}}),r.extend(r.arcsine,{pdf:function(r,e,t){return t>e?r>e&&t>r?2/n.PI*n.pow(n.pow(t-e,2)-n.pow(2*r-e-t,2),-.5):0:NaN},cdf:function(r,e,t){return e>r?0:t>r?2/n.PI*n.asin(n.sqrt((r-e)/(t-e))):1},inv:function(r,e,t){return e+(.5-.5*n.cos(n.PI*r))*(t-e)},mean:function(r,n){return n>r?(r+n)/2:NaN},median:function(r,n){return n>r?(r+n)/2:NaN},mode:function(){throw Error("mode is not yet implemented")},sample:function(e,t){return(e+t)/2+(t-e)/2*n.sin(2*n.PI*r.uniform.sample(0,1))},variance:function(r,e){return e>r?n.pow(e-r,2)/8:NaN}}),r.extend(r.laplace,{pdf:function(r,e,t){return t>0?n.exp(-n.abs(r-e)/t)/(2*t):0},cdf:function(r,e,t){return t>0?e>r?.5*n.exp((r-e)/t):1-.5*n.exp(-(r-e)/t):0},mean:function(r){return r},median:function(r){return r},mode:function(r){return r},variance:function(r,n){return 2*n*n},sample:function(e,a){var u=r._random_fn()-.5;return e-a*t(u)*n.log(1-2*n.abs(u))}}),r.extend(r.tukey,{cdf:function(e,t,u){var o=t,i=[.9894009349916499,.9445750230732326,.8656312023878318,.755404408355003,.6178762444026438,.45801677765722737,.2816035507792589,.09501250983763744],f=[.027152459411754096,.062253523938647894,.09515851168249279,.12462897125553388,.14959598881657674,.16915651939500254,.18260341504492358,.1894506104550685];if(0>=e)return 0;if(2>u||2>o)return NaN;if(!Number.isFinite(e))return 1;if(u>25e3)return a(e,1,o);var s,l=.5*u,c=l*n.log(u)-u*n.log(2)-r.gammaln(l),h=l-1,p=.25*u;s=u>100?u>800?u>5e3?.125:.25:.5:1,c+=n.log(s);for(var m=0,E=1;50>=E;E++){for(var N=0,g=(2*E-1)*s,v=1;16>=v;v++){var I,d;v>8?(I=v-8-1,d=c+h*n.log(g+i[I]*s)-(i[I]*s+g)*p):(I=v-1,d=c+h*n.log(g-i[I]*s)+(i[I]*s-g)*p);var b;if(d>=-30){b=v>8?e*n.sqrt(.5*(i[I]*s+g)):e*n.sqrt(.5*(-i[I]*s+g));N+=a(b,1,o)*f[I]*n.exp(d)}}if(E*s>=1&&1e-14>=N)break;m+=N}if(N>1e-14)throw Error("tukey.cdf failed to converge");return m>1&&(m=1),m},inv:function(e,t,a){var o=t;if(2>a||2>o)return NaN;if(0>e||e>1)return NaN;if(0===e)return 0;if(1===e)return Infinity;var i,f=u(e,o,a),s=r.tukey.cdf(f,t,a)-e;i=s>0?n.max(0,f-1):f+1;for(var l,c=r.tukey.cdf(i,t,a)-e,h=1;50>h;h++){l=i-c*(i-f)/(c-s),s=c,f=i,0>l&&(l=0,c=-e),c=r.tukey.cdf(l,t,a)-e,i=l;if(1e-4>n.abs(i-f))return l}throw Error("tukey.inv failed to converge")}})}(r,Math),function(r,n){function e(n){return a(n)||n instanceof r}var t=Array.prototype.push,a=r.utils.isArray;r.extend({add:function(n,t){return e(t)?(e(t[0])||(t=[t]),r.map(n,function(r,n,e){return r+t[n][e]})):r.map(n,function(r){return r+t})},subtract:function(n,t){return e(t)?(e(t[0])||(t=[t]),r.map(n,function(r,n,e){return r-t[n][e]||0})):r.map(n,function(r){return r-t})},divide:function(n,t){return e(t)?(e(t[0])||(t=[t]),r.multiply(n,r.inv(t))):r.map(n,function(r){return r/t})},multiply:function(n,t){var a,u,o,i,f,s,l,c;if(n.length===undefined&&t.length===undefined)return n*t;if(f=n.length,s=n[0].length,l=r.zeros(f,o=e(t)?t[0].length:s),c=0,e(t)){for(;o>c;c++)for(a=0;f>a;a++){for(i=0,u=0;s>u;u++)i+=n[a][u]*t[u][c];l[a][c]=i}return 1===f&&1===c?l[0][0]:l}return r.map(n,function(r){return r*t})},outer:function(n,e){return r.multiply(n.map(function(r){return[r]}),[e])},dot:function(n,t){e(n[0])||(n=[n]),e(t[0])||(t=[t]);for(var a,u,o=1===n[0].length&&1!==n.length?r.transpose(n):n,i=1===t[0].length&&1!==t.length?r.transpose(t):t,f=[],s=0,l=o.length,c=o[0].length;l>s;s++){for(f[s]=[],a=0,u=0;c>u;u++)a+=o[s][u]*i[s][u];f[s]=a}return 1===f.length?f[0]:f},pow:function(e,t){return r.map(e,function(r){return n.pow(r,t)})},exp:function(e){return r.map(e,function(r){return n.exp(r)})},log:function(e){return r.map(e,function(r){return n.log(r)})},abs:function(e){return r.map(e,function(r){return n.abs(r)})},norm:function(r,t){var a=0,u=0;for(isNaN(t)&&(t=2),e(r[0])&&(r=r[0]);r.length>u;u++)a+=n.pow(n.abs(r[u]),t);return n.pow(a,1/t)},angle:function(e,t){return n.acos(r.dot(e,t)/(r.norm(e)*r.norm(t)))},aug:function(r,n){var e,a=[];for(e=0;r.length>e;e++)a.push(r[e].slice());for(e=0;a.length>e;e++)t.apply(a[e],n[e]);return a},inv:function(n){for(var e,t=n.length,a=n[0].length,u=r.identity(t,a),o=r.gauss_jordan(n,u),i=[],f=0;t>f;f++)for(i[f]=[],e=a;o[0].length>e;e++)i[f][e-a]=o[f][e];return i},det:function(r){var n,e=r.length,t=2*e,a=Array(t),u=e-1,o=t-1,i=u-e+1,f=o,s=0,l=0;if(2===e)return r[0][0]*r[1][1]-r[0][1]*r[1][0];for(;t>s;s++)a[s]=1;for(s=0;e>s;s++){for(n=0;e>n;n++)a[0>i?i+e:i]*=r[s][n],a[e>f?f+e:f]*=r[s][n],i++,f--;i=--u-e+1,f=--o}for(s=0;e>s;s++)l+=a[s];for(;t>s;s++)l-=a[s];return l},gauss_elimination:function(e,t){var a,u,o,i,f=0,s=0,l=e.length,c=e[0].length,h=1,p=0,m=[];for(e=r.aug(e,t),a=e[0].length,f=0;l>f;f++){for(u=e[f][f],s=f,i=f+1;c>i;i++)ui;i++)o=e[f][i],e[f][i]=e[s][i],e[s][i]=o;for(s=f+1;l>s;s++)for(h=e[s][f]/e[f][f],i=f;a>i;i++)e[s][i]=e[s][i]-h*e[f][i]}for(f=l-1;f>=0;f--){for(p=0,s=f+1;l-1>=s;s++)p+=m[s]*e[f][s];m[f]=(e[f][a-1]-p)/e[f][f]}return m},gauss_jordan:function(e,t){var a,u,o,i=r.aug(e,t),f=i.length,s=i[0].length,l=0;for(u=0;f>u;u++){var c=u;for(o=u+1;f>o;o++)n.abs(i[o][u])>n.abs(i[c][u])&&(c=o);var h=i[u];for(i[u]=i[c],i[c]=h,o=u+1;f>o;o++)for(l=i[o][u]/i[u][u],a=u;s>a;a++)i[o][a]-=i[u][a]*l}for(u=f-1;u>=0;u--){for(l=i[u][u],o=0;u>o;o++)for(a=s-1;a>u-1;a--)i[o][a]-=i[u][a]*i[o][u]/l;for(i[u][u]/=l,a=f;s>a;a++)i[u][a]/=l}return i},triaUpSolve:function(n,e){var t,a=n[0].length,u=r.zeros(1,a)[0],o=!1;return e[0].length!=undefined&&(e=e.map(function(r){return r[0]}),o=!0),r.arange(a-1,-1,-1).forEach(function(o){t=r.arange(o+1,a).map(function(r){return u[r]*n[o][r]}),u[o]=(e[o]-r.sum(t))/n[o][o]}),o?u.map(function(r){return[r]}):u},triaLowSolve:function(n,e){var t,a=n[0].length,u=r.zeros(1,a)[0],o=!1;return e[0].length!=undefined&&(e=e.map(function(r){return r[0]}),o=!0),r.arange(a).forEach(function(a){t=r.arange(a).map(function(r){return n[a][r]*u[r]}),u[a]=(e[a]-r.sum(t))/n[a][a]}),o?u.map(function(r){return[r]}):u},lu:function(n){var e,t=n.length,a=r.identity(t),u=r.zeros(n.length,n[0].length);return r.arange(t).forEach(function(r){u[0][r]=n[0][r]}),r.arange(1,t).forEach(function(o){r.arange(o).forEach(function(t){e=r.arange(t).map(function(r){return a[o][r]*u[r][t]}),a[o][t]=(n[o][t]-r.sum(e))/u[t][t]}),r.arange(o,t).forEach(function(t){e=r.arange(o).map(function(r){return a[o][r]*u[r][t]}),u[o][t]=n[e.length][t]-r.sum(e)})}),[a,u]},cholesky:function(e){var t,a=e.length,u=r.zeros(e.length,e[0].length);return r.arange(a).forEach(function(o){t=r.arange(o).map(function(r){return n.pow(u[o][r],2)}),u[o][o]=n.sqrt(e[o][o]-r.sum(t)),r.arange(o+1,a).forEach(function(n){t=r.arange(o).map(function(r){return u[o][r]*u[n][r]}),u[n][o]=(e[o][n]-r.sum(t))/u[o][o]})}),u},gauss_jacobi:function(e,t,a,u){for(var o,i,f,s,l=0,c=0,h=e.length,p=[],m=[],E=[];h>l;l++)for(p[l]=[],m[l]=[],E[l]=[],c=0;h>c;c++)l>c?(p[l][c]=e[l][c],m[l][c]=E[l][c]=0):c>l?(m[l][c]=e[l][c],p[l][c]=E[l][c]=0):(E[l][c]=e[l][c],p[l][c]=m[l][c]=0);for(f=r.multiply(r.multiply(r.inv(E),r.add(p,m)),-1),i=r.multiply(r.inv(E),t),o=a,s=r.add(r.multiply(f,a),i),l=2;n.abs(r.norm(r.subtract(s,o)))>u;)o=s,s=r.add(r.multiply(f,o),i),l++;return s},gauss_seidel:function(e,t,a,u){for(var o,i,f,s,l,c=0,h=e.length,p=[],m=[],E=[];h>c;c++)for(p[c]=[],m[c]=[],E[c]=[],o=0;h>o;o++)c>o?(p[c][o]=e[c][o],m[c][o]=E[c][o]=0):o>c?(m[c][o]=e[c][o],p[c][o]=E[c][o]=0):(E[c][o]=e[c][o],p[c][o]=m[c][o]=0);for(s=r.multiply(r.multiply(r.inv(r.add(E,p)),m),-1),f=r.multiply(r.inv(r.add(E,p)),t),i=a,l=r.add(r.multiply(s,a),f),c=2;n.abs(r.norm(r.subtract(l,i)))>u;)i=l,l=r.add(r.multiply(s,i),f),c+=1;return l},SOR:function(e,t,a,u,o){for(var i,f,s,l,c,h=0,p=e.length,m=[],E=[],N=[];p>h;h++)for(m[h]=[],E[h]=[],N[h]=[],i=0;p>i;i++)h>i?(m[h][i]=e[h][i],E[h][i]=N[h][i]=0):i>h?(E[h][i]=e[h][i],m[h][i]=N[h][i]=0):(N[h][i]=e[h][i],m[h][i]=E[h][i]=0);for(l=r.multiply(r.inv(r.add(N,r.multiply(m,o))),r.subtract(r.multiply(N,1-o),r.multiply(E,o))),s=r.multiply(r.multiply(r.inv(r.add(N,r.multiply(m,o))),t),o),f=a,c=r.add(r.multiply(l,a),s),h=2;n.abs(r.norm(r.subtract(c,f)))>u;)f=c,c=r.add(r.multiply(l,f),s),h++;return c},householder:function(e){for(var t,a,u,o,i,f=e.length,s=e[0].length,l=0,c=[],h=[];f-1>l;l++){for(t=0,o=l+1;s>o;o++)t+=e[o][l]*e[o][l];for(i=e[l+1][l]>0?-1:1,t=i*n.sqrt(t),a=n.sqrt((t*t-e[l+1][l]*t)/2),c=r.zeros(f,1),c[l+1][0]=(e[l+1][l]-t)/(2*a),u=l+2;f>u;u++)c[u][0]=e[u][l]/(2*a);h=r.subtract(r.identity(f,s),r.multiply(r.multiply(c,r.transpose(c)),2)),e=r.multiply(h,r.multiply(e,h))}return e},QR:function(){function e(e){var u=e.length,o=e[0].length,i=r.zeros(o,o);e=r.copy(e);var f,s,l;for(s=0;o>s;s++){for(i[s][s]=n.sqrt(t(a(u).map(function(r){return e[r][s]*e[r][s]}))),f=0;u>f;f++)e[f][s]=e[f][s]/i[s][s];for(l=s+1;o>l;l++)for(i[s][l]=t(a(u).map(function(r){return e[r][s]*e[r][l]})),f=0;u>f;f++)e[f][l]=e[f][l]-e[f][s]*i[s][l]}return[e,i]}var t=r.sum,a=r.arange;return e}(),lstsq:function(){function n(n){n=r.copy(n);var e=n.length,t=r.identity(e);return r.arange(e-1,-1,-1).forEach(function(e){r.sliceAssign(t,{row:e},r.divide(r.slice(t,{row:e}),n[e][e])),r.sliceAssign(n,{row:e},r.divide(r.slice(n,{row:e}),n[e][e])),r.arange(e).forEach(function(a){var u=r.multiply(n[a][e],-1),o=r.slice(n,{row:a}),i=r.multiply(r.slice(n,{row:e}),u);r.sliceAssign(n,{row:a},r.add(o,i));var f=r.slice(t,{row:a}),s=r.multiply(r.slice(t,{row:e}),u);r.sliceAssign(t,{row:a},r.add(f,s))})}),t}function e(e,t){var a=!1;t[0].length===undefined&&(t=t.map(function(r){return[r]}),a=!0);var u=r.QR(e),o=u[0],i=u[1],f=e[0].length,s=r.slice(o,{col:{end:f}}),l=r.slice(i,{row:{end:f}}),c=n(l),h=r.transpose(s);h[0].length===undefined&&(h=[h]);var p=r.multiply(r.multiply(c,h),t);return p.length===undefined&&(p=[[p]]),a?p.map(function(r){return r[0]}):p}return e}(),jacobi:function(e){for(var t,a,u,o,i,f,s,l,c=1,h=e.length,p=r.identity(h,h),m=[];1===c;){for(f=e[0][1],o=0,i=1,a=0;h>a;a++)for(u=0;h>u;u++)a!=u&&f0?n.PI/4:-n.PI/4:n.atan(2*e[o][i]/(e[o][o]-e[i][i]))/2,l=r.identity(h,h),l[o][o]=n.cos(s),l[o][i]=-n.sin(s),l[i][o]=n.sin(s),l[i][i]=n.cos(s),p=r.multiply(p,l),t=r.multiply(r.multiply(r.inv(l),e),l),e=t,c=0,a=1;h>a;a++)for(u=1;h>u;u++)a!=u&&n.abs(e[a][u])>.001&&(c=1)}for(a=0;h>a;a++)m.push(e[a][a]);return[p,m]},rungekutta:function(r,n,e,t,a,u){var o,i,f,s,l;if(2===u)for(;e>=t;)o=n*r(t,a),i=n*r(t+n,a+o),f=a+(o+i)/2,a=f,t+=n;if(4===u)for(;e>=t;)o=n*r(t,a),i=n*r(t+n/2,a+o/2),s=n*r(t+n/2,a+i/2),l=n*r(t+n,a+s),f=a+(o+2*i+2*s+l)/6,a=f,t+=n;return a},romberg:function(r,e,t,a){for(var u,o,i,f,s,l=0,c=(t-e)/2,h=[],p=[],m=[];a/2>l;){for(s=r(e),i=e,f=0;t>=i;i+=c,f++)h[f]=i;for(u=h.length,i=1;u-1>i;i++)s+=(i%2!=0?4:2)*r(h[i]);s=c/3*(s+r(t)),m[l]=s,c/=2,l++}for(o=m.length,u=1;1!==o;){for(i=0;o-1>i;i++)p[i]=(n.pow(4,u)*m[i+1]-m[i])/(n.pow(4,u)-1);o=p.length,m=p,p=[],u++}return m},richardson:function(r,e,t,a){function u(r,n){for(var e,t=0,a=r.length;a>t;t++)r[t]===n&&(e=t);return e}for(var o,i,f,s,l,c=n.abs(t-r[u(r,t)+1]),h=0,p=[],m=[];a>=c;)o=u(r,t+a),i=u(r,t),p[h]=(e[o]-2*e[i]+e[2*i-o])/(a*a),a/=2,h++;for(s=p.length,f=1;1!=s;){for(l=0;s-1>l;l++)m[l]=(n.pow(4,f)*p[l+1]-p[l])/(n.pow(4,f)-1);s=m.length,p=m,m=[],f++}return p},simpson:function(r,n,e,t){for(var a,u=(e-n)/t,o=r(n),i=[],f=n,s=0,l=1;e>=f;f+=u,s++)i[s]=f;for(a=i.length;a-1>l;l++)o+=(l%2!=0?4:2)*r(i[l]);return u/3*(o+r(e))},hermite:function(r,n,e,t){for(var a,u=r.length,o=0,i=0,f=[],s=[],l=[],c=[];u>i;i++){for(f[i]=1,a=0;u>a;a++)i!=a&&(f[i]*=(t-r[a])/(r[i]-r[a]));for(s[i]=0,a=0;u>a;a++)i!=a&&(s[i]+=1/(r[i]-r[a]));l[i]=f[i]*f[i]*(1-2*(t-r[i])*s[i]),c[i]=f[i]*f[i]*(t-r[i]),o+=l[i]*n[i]+c[i]*e[i]}return o},lagrange:function(r,n,e){for(var t,a,u=0,o=0,i=r.length;i>o;o++){for(a=n[o],t=0;i>t;t++)o!=t&&(a*=(e-r[t])/(r[o]-r[t]));u+=a}return u},cubic_spline:function(n,e,t){for(var a,u=n.length,o=0,i=[],f=[],s=[],l=[],c=[],h=[],p=[];u-1>o;o++)c[o]=n[o+1]-n[o];for(s[0]=0,o=1;u-1>o;o++)s[o]=3/c[o]*(e[o+1]-e[o])-3/c[o-1]*(e[o]-e[o-1]);for(o=1;u-1>o;o++)i[o]=[],f[o]=[],i[o][o-1]=c[o-1],i[o][o]=2*(c[o-1]+c[o]),i[o][o+1]=c[o],f[o][0]=s[o];for(l=r.multiply(r.inv(i),f),a=0;u-1>a;a++)h[a]=(e[a+1]-e[a])/c[a]-c[a]*(l[a+1][0]+2*l[a][0])/3,p[a]=(l[a+1][0]-l[a][0])/(3*c[a]);for(a=0;u>a&&n[a]<=t;a++);return a-=1,e[a]+(t-n[a])*h[a]+r.sq(t-n[a])*l[a]+(t-n[a])*r.sq(t-n[a])*p[a]},gauss_quadrature:function(){throw Error("gauss_quadrature not yet implemented")},PCA:function(n){var e,t,a=n.length,u=n[0].length,o=0,i=[],f=[],s=[],l=[],c=[],h=[],p=[],m=[],E=[],N=[];for(o=0;a>o;o++)i[o]=r.sum(n[o])/u;for(o=0;u>o;o++)for(p[o]=[],e=0;a>e;e++)p[o][e]=n[e][o]-i[e];for(p=r.transpose(p),o=0;a>o;o++)for(m[o]=[],e=0;a>e;e++)m[o][e]=r.dot([p[o]],[p[e]])/(u-1);for(s=r.jacobi(m),E=s[0],f=s[1],N=r.transpose(E),o=0;f.length>o;o++)for(e=o;f.length>e;e++)f[e]>f[o]&&(t=f[o],f[o]=f[e],f[e]=t,l=N[o],N[o]=N[e],N[e]=l);for(h=r.transpose(p),o=0;a>o;o++)for(c[o]=[],e=0;h.length>e;e++)c[o][e]=r.dot([N[o]],[h[e]]);return[n,f,N,c]}}),function(n){for(var e=0;n.length>e;e++)!function(n){r.fn[n]=function(e,t){var a=this;return t?(setTimeout(function(){t.call(a,r.fn[n].call(a,e))},15),this):"number"==typeof r[n](this,e)?r[n](this,e):r(r[n](this,e))}}(n[e])}("add divide multiply subtract dot pow exp log abs norm angle".split(" "))}(r,Math),function(r,n){function e(r,e,t,a){if(r>1||t>1||0>=r||0>=t)throw Error("Proportions should be greater than 0 and less than 1");var u=(r*e+t*a)/(e+a);return(r-t)/n.sqrt(u*(1-u)*(1/e+1/a))}var t=[].slice,a=r.utils.isNumber,u=r.utils.isArray;r.extend({zscore:function(){var n=t.call(arguments);return a(n[1])?(n[0]-n[1])/n[2]:(n[0]-r.mean(n[1]))/r.stdev(n[1],n[2])},ztest:function(){var e,a=t.call(arguments);return u(a[1])?(e=r.zscore(a[0],a[1],a[3]),1===a[2]?r.normal.cdf(-n.abs(e),0,1):2*r.normal.cdf(-n.abs(e),0,1)):a.length>2?(e=r.zscore(a[0],a[1],a[2]),1===a[3]?r.normal.cdf(-n.abs(e),0,1):2*r.normal.cdf(-n.abs(e),0,1)):(e=a[0],1===a[1]?r.normal.cdf(-n.abs(e),0,1):2*r.normal.cdf(-n.abs(e),0,1))}}),r.extend(r.fn,{zscore:function(r,n){return(r-this.mean())/this.stdev(n)},ztest:function(e,t,a){var u=n.abs(this.zscore(e,a));return 1===t?r.normal.cdf(-u,0,1):2*r.normal.cdf(-u,0,1)}}),r.extend({tscore:function(){var e=t.call(arguments);return 4===e.length?(e[0]-e[1])/(e[2]/n.sqrt(e[3])):(e[0]-r.mean(e[1]))/(r.stdev(e[1],!0)/n.sqrt(e[1].length))},ttest:function(){var e,u=t.call(arguments);return 5===u.length?(e=n.abs(r.tscore(u[0],u[1],u[2],u[3])),1===u[4]?r.studentt.cdf(-e,u[3]-1):2*r.studentt.cdf(-e,u[3]-1)):a(u[1])?(e=n.abs(u[0]),1==u[2]?r.studentt.cdf(-e,u[1]-1):2*r.studentt.cdf(-e,u[1]-1)):(e=n.abs(r.tscore(u[0],u[1])),1==u[2]?r.studentt.cdf(-e,u[1].length-1):2*r.studentt.cdf(-e,u[1].length-1))}}),r.extend(r.fn,{tscore:function(r){return(r-this.mean())/(this.stdev(!0)/n.sqrt(this.cols()))},ttest:function(e,t){return 1===t?1-r.studentt.cdf(n.abs(this.tscore(e)),this.cols()-1):2*r.studentt.cdf(-n.abs(this.tscore(e)),this.cols()-1)}}),r.extend({anovafscore:function(){var e,a,u,o,i,f,s,l,c=t.call(arguments);if(1===c.length){for(i=Array(c[0].length),s=0;c[0].length>s;s++)i[s]=c[0][s];c=i}for(a=[],s=0;c.length>s;s++)a=a.concat(c[s]);for(u=r.mean(a),e=0,s=0;c.length>s;s++)e+=c[s].length*n.pow(r.mean(c[s])-u,2);for(e/=c.length-1,f=0,s=0;c.length>s;s++)for(o=r.mean(c[s]),l=0;c[s].length>l;l++)f+=n.pow(c[s][l]-o,2);return f/=a.length-c.length,e/f},anovaftest:function(){var n,e,u,o,i=t.call(arguments);if(a(i[0]))return 1-r.centralF.cdf(i[0],i[1],i[2]);var f=r.anovafscore(i);for(n=i.length-1,u=0,o=0;i.length>o;o++)u+=i[o].length;return e=u-n-1,1-r.centralF.cdf(f,n,e)},ftest:function(n,e,t){return 1-r.centralF.cdf(n,e,t)}}),r.extend(r.fn,{anovafscore:function(){return r.anovafscore(this.toArray())},anovaftes:function(){var n,e=0;for(n=0;this.length>n;n++)e+=this[n].length;return r.ftest(this.anovafscore(),this.length-1,e-this.length)}}),r.extend({qscore:function(){var e,u,o,i,f,s=t.call(arguments);return a(s[0])?(e=s[0],u=s[1],o=s[2],i=s[3],f=s[4]):(e=r.mean(s[0]),u=r.mean(s[1]),o=s[0].length,i=s[1].length,f=s[2]),n.abs(e-u)/(f*n.sqrt((1/o+1/i)/2))},qtest:function(){var n,e=t.call(arguments);3===e.length?(n=e[0],e=e.slice(1)):7===e.length?(n=r.qscore(e[0],e[1],e[2],e[3],e[4]),e=e.slice(5)):(n=r.qscore(e[0],e[1],e[2]),e=e.slice(3));var a=e[0],u=e[1];return 1-r.tukey.cdf(n,u,a-u)},tukeyhsd:function(n){for(var e=r.pooledstdev(n),t=n.map(function(n){return r.mean(n)}),a=n.reduce(function(r,n){return r+n.length},0),u=[],o=0;n.length>o;++o)for(var i=o+1;n.length>i;++i){var f=r.qtest(t[o],t[i],n[o].length,n[i].length,e,a,n.length);u.push([[o,i],f])}return u}}),r.extend({normalci:function(){var e,a=t.call(arguments),u=Array(2);return e=n.abs(4===a.length?r.normal.inv(a[1]/2,0,1)*a[2]/n.sqrt(a[3]):r.normal.inv(a[1]/2,0,1)*r.stdev(a[2])/n.sqrt(a[2].length)),u[0]=a[0]-e,u[1]=a[0]+e,u},tci:function(){var e,a=t.call(arguments),u=Array(2);return e=n.abs(4===a.length?r.studentt.inv(a[1]/2,a[3]-1)*a[2]/n.sqrt(a[3]):r.studentt.inv(a[1]/2,a[2].length-1)*r.stdev(a[2],!0)/n.sqrt(a[2].length)),u[0]=a[0]-e,u[1]=a[0]+e,u},significant:function(r,n){return n>r}}),r.extend(r.fn,{normalci:function(n,e){return r.normalci(n,e,this.toArray())},tci:function(n,e){return r.tci(n,e,this.toArray())}}),r.extend(r.fn,{oneSidedDifferenceOfProportions:function(n,t,a,u){var o=e(n,t,a,u);return r.ztest(o,1)},twoSidedDifferenceOfProportions:function(n,t,a,u){var o=e(n,t,a,u);return r.ztest(o,2)}})}(r,Math),r.models=function(){function n(n){var t=n[0].length;return r.arange(t).map(function(a){var u=r.arange(t).filter(function(r){return r!==a});return e(r.col(n,a).map(function(r){return r[0]}),r.col(n,u))})}function e(n,e){var t=n.length,a=e[0].length-1,u=t-a-1,o=r.lstsq(e,n),i=r.multiply(e,o.map(function(r){return[r]})).map(function(r){return r[0]}),f=r.subtract(n,i),s=r.mean(n),l=r.sum(i.map(function(r){return Math.pow(r-s,2)})),c=r.sum(n.map(function(r,n){return Math.pow(r-i[n],2)})),h=l+c;return{exog:e,endog:n,nobs:t,df_model:a,df_resid:u,coef:o,predict:i,resid:f,ybar:s,SST:h,SSE:l,SSR:c,R2:l/h}}function t(e){var t=n(e.exog),a=Math.sqrt(e.SSR/e.df_resid),u=t.map(function(r){var n=r.SST,e=r.R2;return a/Math.sqrt(n*(1-e))}),o=e.coef.map(function(r,n){return(r-0)/u[n]}),i=o.map(function(n){var t=r.studentt.cdf(n,e.df_resid);return 2*(t>.5?1-t:t)}),f=r.studentt.inv(.975,e.df_resid),s=e.coef.map(function(r,n){var e=f*u[n];return[r-e,r+e]});return{se:u,t:o,p:i,sigmaHat:a,interval95:s}}function a(n){var e=n.R2/n.df_model/((1-n.R2)/n.df_resid);return{F_statistic:e,pvalue:1-function(n,e,t){return r.beta.cdf(n/(t/e+n),e/2,t/2)}(e,n.df_model,n.df_resid)}}function u(r,n){var u=e(r,n),o=t(u),i=a(u),f=1-(u.nobs-1)/u.df_resid*(1-u.R2);return u.t=o,u.f=i,u.adjust_R2=f,u}return{ols:u}}(),r.extend({buildxmatrix:function(){for(var n=Array(arguments.length),e=0;arguments.length>e;e++){n[e]=[1].concat(arguments[e])}return r(n)},builddxmatrix:function(){for(var n=Array(arguments[0].length),e=0;arguments[0].length>e;e++){n[e]=[1].concat(arguments[0][e])}return r(n)},buildjxmatrix:function(n){for(var e=Array(n.length),t=0;n.length>t;t++)e[t]=n[t];return r.builddxmatrix(e)},buildymatrix:function(n){return r(n).transpose()},buildjymatrix:function(r){return r.transpose()},matrixmult:function(n,e){var t,a,u,o,i;if(n.cols()==e.rows()){if(e.rows()>1){for(o=[],t=0;tu.anova.r2&&(u.anova.r2=0),u.anova.fratio=u.anova.msr/u.anova.mse,u.anova.pvalue=r.anovaftest(u.anova.fratio,n[0].length-1,e.length-(n[0].length-1)-1),u.anova.rmse=Math.sqrt(u.anova.mse),u.anova.r2adj=1-u.anova.mse/u.anova.mst,0>u.anova.r2adj&&(u.anova.r2adj=0),u.stats=Array(n[0].length);for(var f,s,l,c=r.xtranspxinv(n),h=0;a.length>h;h++)f=Math.sqrt(u.anova.mse*Math.abs(c[h][h])),s=Math.abs(a[h]/f),l=r.ttest(s,e.length-n[0].length-1,t),u.stats[h]=[a[h],f,s,l];return u.regress=a,u},xtranspx:function(n){return r.matrixmult(n.transpose(),n)},xtranspxinv:function(n){var e=r.matrixmult(n.transpose(),n);return r.inv(e)},jMatYBar:function(n,e){var t=r.matrixmult(n,e);return new r(t)},residuals:function(n,e){return r.matrixsubtract(n,e)},ssr:function(r,n){for(var e=0,t=0;r.length>t;t++)e+=Math.pow(r[t]-n,2);return e},sse:function(r,n){for(var e=0,t=0;r.length>t;t++)e+=Math.pow(r[t]-n[t],2);return e},sst:function(r,n){for(var e=0,t=0;r.length>t;t++)e+=Math.pow(r[t]-n,2);return e},matrixsubtract:function(n,e){for(var t=Array(n.length),a=0;n.length>a;a++){t[a]=Array(n[a].length);for(var u=0;n[a].length>u;u++)t[a][u]=n[a][u]-e[a][u]}return r(t)}}),r.jStat=r,r})},function(r,n,e){var t=e(1),a=e(0);n.UNIQUE=function(){for(var r=[],n=0;arguments.length>n;++n){for(var e=!1,t=arguments[n],a=0;r.length>a&&!(e=r[a]===t);++a);e||r.push(t)}return r},n.FLATTEN=t.flatten,n.ARGS2ARRAY=function(){return Array.prototype.slice.call(arguments,0)},n.REFERENCE=function(r,n){if(!arguments.length)return a.error;try{for(var e=n.split("."),t=r,u=0;e.length>u;++u){var o=e[u];if("]"===o[o.length-1]){var i=o.indexOf("["),f=o.substring(i+1,o.length-1);t=t[o.substring(0,i)][f]}else t=t[o]}return t}catch(a){}},n.JOIN=function(r,n){return r.join(n)},n.NUMBERS=function(){return t.flatten(arguments).filter(function(r){return"number"==typeof r})}},function(r,n,e){function t(r){return/^[01]{1,10}$/.test(r)}var a=e(0),u=e(10),o=e(6),i=e(1),f=e(26);n.BESSELI=function(r,n){return r=i.parseNumber(r),n=i.parseNumber(n),i.anyIsError(r,n)?a.value:f.besseli(r,n)},n.BESSELJ=function(r,n){return r=i.parseNumber(r),n=i.parseNumber(n),i.anyIsError(r,n)?a.value:f.besselj(r,n)},n.BESSELK=function(r,n){return r=i.parseNumber(r),n=i.parseNumber(n),i.anyIsError(r,n)?a.value:f.besselk(r,n)},n.BESSELY=function(r,n){return r=i.parseNumber(r),n=i.parseNumber(n),i.anyIsError(r,n)?a.value:f.bessely(r,n)},n.BIN2DEC=function(r){if(!t(r))return a.num;var n=parseInt(r,2),e=""+r;return 10===e.length&&"1"===e.substring(0,1)?parseInt(e.substring(1),2)-512:n},n.BIN2HEX=function(r,n){if(!t(r))return a.num;var e=""+r;if(10===e.length&&"1"===e.substring(0,1))return(0xfffffffe00+parseInt(e.substring(1),2)).toString(16);var u=parseInt(r,2).toString(16);return n===undefined?u:isNaN(n)?a.value:0>n?a.num:(n=Math.floor(n),u.length>n?a.num:o.REPT("0",n-u.length)+u)},n.BIN2OCT=function(r,n){if(!t(r))return a.num;var e=""+r;if(10===e.length&&"1"===e.substring(0,1))return(1073741312+parseInt(e.substring(1),2)).toString(8);var u=parseInt(r,2).toString(8);return n===undefined?u:isNaN(n)?a.value:0>n?a.num:(n=Math.floor(n),u.length>n?a.num:o.REPT("0",n-u.length)+u)},n.BITAND=function(r,n){return r=i.parseNumber(r),n=i.parseNumber(n),i.anyIsError(r,n)?a.value:0>r||0>n?a.num:Math.floor(r)!==r||Math.floor(n)!==n?a.num:r>0xffffffffffff||n>0xffffffffffff?a.num:r&n},n.BITLSHIFT=function(r,n){return r=i.parseNumber(r),n=i.parseNumber(n),i.anyIsError(r,n)?a.value:0>r?a.num:Math.floor(r)!==r?a.num:r>0xffffffffffff?a.num:Math.abs(n)>53?a.num:0>n?r>>-n:r<r||0>n?a.num:Math.floor(r)!==r||Math.floor(n)!==n?a.num:r>0xffffffffffff||n>0xffffffffffff?a.num:r|n},n.BITRSHIFT=function(r,n){return r=i.parseNumber(r),n=i.parseNumber(n),i.anyIsError(r,n)?a.value:0>r?a.num:Math.floor(r)!==r?a.num:r>0xffffffffffff?a.num:Math.abs(n)>53?a.num:0>n?r<<-n:r>>n},n.BITXOR=function(r,n){return r=i.parseNumber(r),n=i.parseNumber(n),i.anyIsError(r,n)?a.value:0>r||0>n?a.num:Math.floor(r)!==r||Math.floor(n)!==n?a.num:r>0xffffffffffff||n>0xffffffffffff?a.num:r^n},n.COMPLEX=function(r,n,e){return r=i.parseNumber(r),n=i.parseNumber(n),i.anyIsError(r,n)?r:"i"!==(e=e===undefined?"i":e)&&"j"!==e?a.value:0===r&&0===n?0:0===r?1===n?e:""+n+e:0===n?""+r:r+(n>0?"+":"")+(1===n?e:""+n+e)},n.CONVERT=function(r,n,e){if((r=i.parseNumber(r))instanceof Error)return r;for(var t,u=[["a.u. of action","?",null,"action",!1,!1,1.05457168181818e-34],["a.u. of charge","e",null,"electric_charge",!1,!1,1.60217653141414e-19],["a.u. of energy","Eh",null,"energy",!1,!1,4.35974417757576e-18],["a.u. of length","a?",null,"length",!1,!1,5.29177210818182e-11],["a.u. of mass","m?",null,"mass",!1,!1,9.10938261616162e-31],["a.u. of time","?/Eh",null,"time",!1,!1,2.41888432650516e-17],["admiralty knot","admkn",null,"speed",!1,!0,.514773333],["ampere","A",null,"electric_current",!0,!1,1],["ampere per meter","A/m",null,"magnetic_field_intensity",!0,!1,1],["ångström","Å",["ang"],"length",!1,!0,1e-10],["are","ar",null,"area",!1,!0,100],["astronomical unit","ua",null,"length",!1,!1,1.49597870691667e-11],["bar","bar",null,"pressure",!1,!1,1e5],["barn","b",null,"area",!1,!1,1e-28],["becquerel","Bq",null,"radioactivity",!0,!1,1],["bit","bit",["b"],"information",!1,!0,1],["btu","BTU",["btu"],"energy",!1,!0,1055.05585262],["byte","byte",null,"information",!1,!0,8],["candela","cd",null,"luminous_intensity",!0,!1,1],["candela per square metre","cd/m?",null,"luminance",!0,!1,1],["coulomb","C",null,"electric_charge",!0,!1,1],["cubic ångström","ang3",["ang^3"],"volume",!1,!0,1e-30],["cubic foot","ft3",["ft^3"],"volume",!1,!0,.028316846592],["cubic inch","in3",["in^3"],"volume",!1,!0,16387064e-12],["cubic light-year","ly3",["ly^3"],"volume",!1,!0,8.46786664623715e-47],["cubic metre","m?",null,"volume",!0,!0,1],["cubic mile","mi3",["mi^3"],"volume",!1,!0,4168181825.44058],["cubic nautical mile","Nmi3",["Nmi^3"],"volume",!1,!0,6352182208],["cubic Pica","Pica3",["Picapt3","Pica^3","Picapt^3"],"volume",!1,!0,7.58660370370369e-8],["cubic yard","yd3",["yd^3"],"volume",!1,!0,.764554857984],["cup","cup",null,"volume",!1,!0,.0002365882365],["dalton","Da",["u"],"mass",!1,!1,1.66053886282828e-27],["day","d",["day"],"time",!1,!0,86400],["degree","°",null,"angle",!1,!1,.0174532925199433],["degrees Rankine","Rank",null,"temperature",!1,!0,.555555555555556],["dyne","dyn",["dy"],"force",!1,!0,1e-5],["electronvolt","eV",["ev"],"energy",!1,!0,1.60217656514141],["ell","ell",null,"length",!1,!0,1.143],["erg","erg",["e"],"energy",!1,!0,1e-7],["farad","F",null,"electric_capacitance",!0,!1,1],["fluid ounce","oz",null,"volume",!1,!0,295735295625e-16],["foot","ft",null,"length",!1,!0,.3048],["foot-pound","flb",null,"energy",!1,!0,1.3558179483314],["gal","Gal",null,"acceleration",!1,!1,.01],["gallon","gal",null,"volume",!1,!0,.003785411784],["gauss","G",["ga"],"magnetic_flux_density",!1,!0,1],["grain","grain",null,"mass",!1,!0,647989e-10],["gram","g",null,"mass",!1,!0,.001],["gray","Gy",null,"absorbed_dose",!0,!1,1],["gross registered ton","GRT",["regton"],"volume",!1,!0,2.8316846592],["hectare","ha",null,"area",!1,!0,1e4],["henry","H",null,"inductance",!0,!1,1],["hertz","Hz",null,"frequency",!0,!1,1],["horsepower","HP",["h"],"power",!1,!0,745.69987158227],["horsepower-hour","HPh",["hh","hph"],"energy",!1,!0,2684519.538],["hour","h",["hr"],"time",!1,!0,3600],["imperial gallon (U.K.)","uk_gal",null,"volume",!1,!0,.00454609],["imperial hundredweight","lcwt",["uk_cwt","hweight"],"mass",!1,!0,50.802345],["imperial quart (U.K)","uk_qt",null,"volume",!1,!0,.0011365225],["imperial ton","brton",["uk_ton","LTON"],"mass",!1,!0,1016.046909],["inch","in",null,"length",!1,!0,.0254],["international acre","uk_acre",null,"area",!1,!0,4046.8564224],["IT calorie","cal",null,"energy",!1,!0,4.1868],["joule","J",null,"energy",!0,!0,1],["katal","kat",null,"catalytic_activity",!0,!1,1],["kelvin","K",["kel"],"temperature",!0,!0,1],["kilogram","kg",null,"mass",!0,!0,1],["knot","kn",null,"speed",!1,!0,.514444444444444],["light-year","ly",null,"length",!1,!0,9460730472580800],["litre","L",["l","lt"],"volume",!1,!0,.001],["lumen","lm",null,"luminous_flux",!0,!1,1],["lux","lx",null,"illuminance",!0,!1,1],["maxwell","Mx",null,"magnetic_flux",!1,!1,1e-18],["measurement ton","MTON",null,"volume",!1,!0,1.13267386368],["meter per hour","m/h",["m/hr"],"speed",!1,!0,.00027777777777778],["meter per second","m/s",["m/sec"],"speed",!0,!0,1],["meter per second squared","m?s??",null,"acceleration",!0,!1,1],["parsec","pc",["parsec"],"length",!1,!0,0x6da012f958ee1c],["meter squared per second","m?/s",null,"kinematic_viscosity",!0,!1,1],["metre","m",null,"length",!0,!0,1],["miles per hour","mph",null,"speed",!1,!0,.44704],["millimetre of mercury","mmHg",null,"pressure",!1,!1,133.322],["minute","?",null,"angle",!1,!1,.000290888208665722],["minute","min",["mn"],"time",!1,!0,60],["modern teaspoon","tspm",null,"volume",!1,!0,5e-6],["mole","mol",null,"amount_of_substance",!0,!1,1],["morgen","Morgen",null,"area",!1,!0,2500],["n.u. of action","?",null,"action",!1,!1,1.05457168181818e-34],["n.u. of mass","m?",null,"mass",!1,!1,9.10938261616162e-31],["n.u. of speed","c?",null,"speed",!1,!1,299792458],["n.u. of time","?/(me?c??)",null,"time",!1,!1,1.28808866778687e-21],["nautical mile","M",["Nmi"],"length",!1,!0,1852],["newton","N",null,"force",!0,!0,1],["œrsted","Oe ",null,"magnetic_field_intensity",!1,!1,79.5774715459477],["ohm","Ω",null,"electric_resistance",!0,!1,1],["ounce mass","ozm",null,"mass",!1,!0,.028349523125],["pascal","Pa",null,"pressure",!0,!1,1],["pascal second","Pa?s",null,"dynamic_viscosity",!0,!1,1],["pferdestärke","PS",null,"power",!1,!0,735.49875],["phot","ph",null,"illuminance",!1,!1,1e-4],["pica (1/6 inch)","pica",null,"length",!1,!0,.00035277777777778],["pica (1/72 inch)","Pica",["Picapt"],"length",!1,!0,.00423333333333333],["poise","P",null,"dynamic_viscosity",!1,!1,.1],["pond","pond",null,"force",!1,!0,.00980665],["pound force","lbf",null,"force",!1,!0,4.4482216152605],["pound mass","lbm",null,"mass",!1,!0,.45359237],["quart","qt",null,"volume",!1,!0,.000946352946],["radian","rad",null,"angle",!0,!1,1],["second","?",null,"angle",!1,!1,484813681109536e-20],["second","s",["sec"],"time",!0,!0,1],["short hundredweight","cwt",["shweight"],"mass",!1,!0,45.359237],["siemens","S",null,"electrical_conductance",!0,!1,1],["sievert","Sv",null,"equivalent_dose",!0,!1,1],["slug","sg",null,"mass",!1,!0,14.59390294],["square ångström","ang2",["ang^2"],"area",!1,!0,1e-20],["square foot","ft2",["ft^2"],"area",!1,!0,.09290304],["square inch","in2",["in^2"],"area",!1,!0,64516e-8],["square light-year","ly2",["ly^2"],"area",!1,!0,8.95054210748189e31],["square meter","m?",null,"area",!0,!0,1],["square mile","mi2",["mi^2"],"area",!1,!0,2589988.110336],["square nautical mile","Nmi2",["Nmi^2"],"area",!1,!0,3429904],["square Pica","Pica2",["Picapt2","Pica^2","Picapt^2"],"area",!1,!0,1792111111111e-17],["square yard","yd2",["yd^2"],"area",!1,!0,.83612736],["statute mile","mi",null,"length",!1,!0,1609.344],["steradian","sr",null,"solid_angle",!0,!1,1],["stilb","sb",null,"luminance",!1,!1,1e-4],["stokes","St",null,"kinematic_viscosity",!1,!1,1e-4],["stone","stone",null,"mass",!1,!0,6.35029318],["tablespoon","tbs",null,"volume",!1,!0,147868e-10],["teaspoon","tsp",null,"volume",!1,!0,492892e-11],["tesla","T",null,"magnetic_flux_density",!0,!0,1],["thermodynamic calorie","c",null,"energy",!1,!0,4.184],["ton","ton",null,"mass",!1,!0,907.18474],["tonne","t",null,"mass",!1,!1,1e3],["U.K. pint","uk_pt",null,"volume",!1,!0,.00056826125],["U.S. bushel","bushel",null,"volume",!1,!0,.03523907],["U.S. oil barrel","barrel",null,"volume",!1,!0,.158987295],["U.S. pint","pt",["us_pt"],"volume",!1,!0,.000473176473],["U.S. survey mile","survey_mi",null,"length",!1,!0,1609.347219],["U.S. survey/statute acre","us_acre",null,"area",!1,!0,4046.87261],["volt","V",null,"voltage",!0,!1,1],["watt","W",null,"power",!0,!0,1],["watt-hour","Wh",["wh"],"energy",!1,!0,3600],["weber","Wb",null,"magnetic_flux",!0,!1,1],["yard","yd",null,"length",!1,!0,.9144],["year","yr",null,"time",!1,!0,31557600]],o={Yi:["yobi",80,1.2089258196146292e24,"Yi","yotta"],Zi:["zebi",70,0x400000000000000000,"Zi","zetta"],Ei:["exbi",60,0x1000000000000000,"Ei","exa"],Pi:["pebi",50,0x4000000000000,"Pi","peta"],Ti:["tebi",40,1099511627776,"Ti","tera"],Gi:["gibi",30,1073741824,"Gi","giga"],Mi:["mebi",20,1048576,"Mi","mega"],ki:["kibi",10,1024,"ki","kilo"]},f={Y:["yotta",1e24,"Y"],Z:["zetta",1e21,"Z"],E:["exa",1e18,"E"],P:["peta",1e15,"P"],T:["tera",1e12,"T"],G:["giga",1e9,"G"],M:["mega",1e6,"M"],k:["kilo",1e3,"k"],h:["hecto",100,"h"],e:["dekao",10,"e"],d:["deci",.1,"d"],c:["centi",.01,"c"],m:["milli",.001,"m"],u:["micro",1e-6,"u"],n:["nano",1e-9,"n"],p:["pico",1e-12,"p"],f:["femto",1e-15,"f"],a:["atto",1e-18,"a"],z:["zepto",1e-21,"z"],y:["yocto",1e-24,"y"]},s=null,l=null,c=n,h=e,p=1,m=1,E=0;146>E;E++)t=null===u[E][2]?[]:u[E][2],u[E][1]!==c&&0>t.indexOf(c)||(s=u[E]),u[E][1]!==h&&0>t.indexOf(h)||(l=u[E]);if(null===s){var N=o[n.substring(0,2)],g=f[n.substring(0,1)];"da"===n.substring(0,2)&&(g=["dekao",10,"da"]),N?(p=N[2],c=n.substring(2)):g&&(p=g[1],c=n.substring(g[2].length));for(var v=0;146>v;v++)t=null===u[v][2]?[]:u[v][2],u[v][1]!==c&&0>t.indexOf(c)||(s=u[v])}if(null===l){var I=o[e.substring(0,2)],d=f[e.substring(0,1)];"da"===e.substring(0,2)&&(d=["dekao",10,"da"]),I?(m=I[2],h=e.substring(2)):d&&(m=d[1],h=e.substring(d[2].length));for(var b=0;146>b;b++)t=null===u[b][2]?[]:u[b][2],u[b][1]!==h&&0>t.indexOf(h)||(l=u[b])}return null===s||null===l?a.na:s[3]!==l[3]?a.na:r*s[6]*p/(l[6]*m)},n.DEC2BIN=function(r,n){if((r=i.parseNumber(r))instanceof Error)return r;if(!/^-?[0-9]{1,3}$/.test(r)||-512>r||r>511)return a.num;if(0>r)return"1"+o.REPT("0",9-(512+r).toString(2).length)+(512+r).toString(2);var e=parseInt(r,10).toString(2);return void 0===n?e:isNaN(n)?a.value:0>n?a.num:(n=Math.floor(n),e.length>n?a.num:o.REPT("0",n-e.length)+e)},n.DEC2HEX=function(r,n){if((r=i.parseNumber(r))instanceof Error)return r;if(!/^-?[0-9]{1,12}$/.test(r)||-549755813888>r||r>549755813887)return a.num;if(0>r)return(1099511627776+r).toString(16);var e=parseInt(r,10).toString(16);return void 0===n?e:isNaN(n)?a.value:0>n?a.num:(n=Math.floor(n),e.length>n?a.num:o.REPT("0",n-e.length)+e)},n.DEC2OCT=function(r,n){if((r=i.parseNumber(r))instanceof Error)return r;if(!/^-?[0-9]{1,9}$/.test(r)||-536870912>r||r>536870911)return a.num;if(0>r)return(1073741824+r).toString(8);var e=parseInt(r,10).toString(8);return void 0===n?e:isNaN(n)?a.value:0>n?a.num:(n=Math.floor(n),e.length>n?a.num:o.REPT("0",n-e.length)+e)},n.DELTA=function(r,n){return n=n===undefined?0:n,r=i.parseNumber(r),n=i.parseNumber(n),i.anyIsError(r,n)?a.value:r===n?1:0},n.ERF=function(r,n){return n=n===undefined?0:n,r=i.parseNumber(r),n=i.parseNumber(n),i.anyIsError(r,n)?a.value:u.erf(r)},n.ERF.PRECISE=function(){throw Error("ERF.PRECISE is not implemented")},n.ERFC=function(r){return isNaN(r)?a.value:u.erfc(r)},n.ERFC.PRECISE=function(){throw Error("ERFC.PRECISE is not implemented")},n.GESTEP=function(r,n){return n=n||0,r=i.parseNumber(r),i.anyIsError(n,r)?r:n>r?0:1},n.HEX2BIN=function(r,n){if(!/^[0-9A-Fa-f]{1,10}$/.test(r))return a.num;var e=10===r.length&&"f"===r.substring(0,1).toLowerCase(),t=e?parseInt(r,16)-1099511627776:parseInt(r,16);if(-512>t||t>511)return a.num;if(e)return"1"+o.REPT("0",9-(512+t).toString(2).length)+(512+t).toString(2);var u=t.toString(2);return n===undefined?u:isNaN(n)?a.value:0>n?a.num:(n=Math.floor(n),u.length>n?a.num:o.REPT("0",n-u.length)+u)},n.HEX2DEC=function(r){if(!/^[0-9A-Fa-f]{1,10}$/.test(r))return a.num;var n=parseInt(r,16);return 549755813888>n?n:n-1099511627776},n.HEX2OCT=function(r,n){if(!/^[0-9A-Fa-f]{1,10}$/.test(r))return a.num;var e=parseInt(r,16);if(e>536870911&&0xffe0000000>e)return a.num;if(e>=0xffe0000000)return(e-0xffc0000000).toString(8);var t=e.toString(8);return n===undefined?t:isNaN(n)?a.value:0>n?a.num:(n=Math.floor(n),t.length>n?a.num:o.REPT("0",n-t.length)+t)},n.IMABS=function(r){var e=n.IMREAL(r),t=n.IMAGINARY(r);return i.anyIsError(e,t)?a.value:Math.sqrt(Math.pow(e,2)+Math.pow(t,2))},n.IMAGINARY=function(r){if(r===undefined||!0===r||!1===r)return a.value;if(0===r||"0"===r)return 0;if(["i","j"].indexOf(r)>=0)return 1;r=r.replace("+i","+1i").replace("-i","-1i").replace("+j","+1j").replace("-j","-1j");var n=r.indexOf("+"),e=r.indexOf("-");0===n&&(n=r.indexOf("+",1)),0===e&&(e=r.indexOf("-",1));var t=r.substring(r.length-1,r.length),u="i"===t||"j"===t;return 0>n&&0>e?u?isNaN(r.substring(0,r.length-1))?a.num:r.substring(0,r.length-1):isNaN(r)?a.num:0:u?0>n?isNaN(r.substring(0,e))||isNaN(r.substring(e+1,r.length-1))?a.num:-+r.substring(e+1,r.length-1):isNaN(r.substring(0,n))||isNaN(r.substring(n+1,r.length-1))?a.num:+r.substring(n+1,r.length-1):a.num},n.IMARGUMENT=function(r){var e=n.IMREAL(r),t=n.IMAGINARY(r);return i.anyIsError(e,t)?a.value:0===e&&0===t?a.div0:0===e&&t>0?Math.PI/2:0===e&&0>t?-Math.PI/2:0===t&&e>0?0:0===t&&0>e?-Math.PI:e>0?Math.atan(t/e):0>e&&t>=0?Math.atan(t/e)+Math.PI:Math.atan(t/e)-Math.PI},n.IMCONJUGATE=function(r){var e=n.IMREAL(r),t=n.IMAGINARY(r);if(i.anyIsError(e,t))return a.value;var u=r.substring(r.length-1);return u="i"===u||"j"===u?u:"i",0!==t?n.COMPLEX(e,-t,u):r},n.IMCOS=function(r){var e=n.IMREAL(r),t=n.IMAGINARY(r);if(i.anyIsError(e,t))return a.value;var u=r.substring(r.length-1);return u="i"===u||"j"===u?u:"i",n.COMPLEX(Math.cos(e)*(Math.exp(t)+Math.exp(-t))/2,-Math.sin(e)*(Math.exp(t)-Math.exp(-t))/2,u)},n.IMCOSH=function(r){var e=n.IMREAL(r),t=n.IMAGINARY(r);if(i.anyIsError(e,t))return a.value;var u=r.substring(r.length-1);return u="i"===u||"j"===u?u:"i",n.COMPLEX(Math.cos(t)*(Math.exp(e)+Math.exp(-e))/2,Math.sin(t)*(Math.exp(e)-Math.exp(-e))/2,u)},n.IMCOT=function(r){var e=n.IMREAL(r),t=n.IMAGINARY(r);return i.anyIsError(e,t)?a.value:n.IMDIV(n.IMCOS(r),n.IMSIN(r))},n.IMDIV=function(r,e){var t=n.IMREAL(r),u=n.IMAGINARY(r),o=n.IMREAL(e),f=n.IMAGINARY(e);if(i.anyIsError(t,u,o,f))return a.value;var s=r.substring(r.length-1),l=e.substring(e.length-1),c="i";if("j"===s?c="j":"j"===l&&(c="j"),0===o&&0===f)return a.num;var h=o*o+f*f;return n.COMPLEX((t*o+u*f)/h,(u*o-t*f)/h,c)},n.IMEXP=function(r){var e=n.IMREAL(r),t=n.IMAGINARY(r);if(i.anyIsError(e,t))return a.value;var u=r.substring(r.length-1);u="i"===u||"j"===u?u:"i";var o=Math.exp(e);return n.COMPLEX(o*Math.cos(t),o*Math.sin(t),u)},n.IMLN=function(r){var e=n.IMREAL(r),t=n.IMAGINARY(r);if(i.anyIsError(e,t))return a.value;var u=r.substring(r.length-1);return u="i"===u||"j"===u?u:"i",n.COMPLEX(Math.log(Math.sqrt(e*e+t*t)),Math.atan(t/e),u)},n.IMLOG10=function(r){var e=n.IMREAL(r),t=n.IMAGINARY(r);if(i.anyIsError(e,t))return a.value;var u=r.substring(r.length-1);return u="i"===u||"j"===u?u:"i",n.COMPLEX(Math.log(Math.sqrt(e*e+t*t))/Math.log(10),Math.atan(t/e)/Math.log(10),u)},n.IMLOG2=function(r){var e=n.IMREAL(r),t=n.IMAGINARY(r);if(i.anyIsError(e,t))return a.value;var u=r.substring(r.length-1);return u="i"===u||"j"===u?u:"i",n.COMPLEX(Math.log(Math.sqrt(e*e+t*t))/Math.log(2),Math.atan(t/e)/Math.log(2),u)},n.IMPOWER=function(r,e){e=i.parseNumber(e);var t=n.IMREAL(r),u=n.IMAGINARY(r);if(i.anyIsError(e,t,u))return a.value;var o=r.substring(r.length-1);o="i"===o||"j"===o?o:"i";var f=Math.pow(n.IMABS(r),e),s=n.IMARGUMENT(r);return n.COMPLEX(f*Math.cos(e*s),f*Math.sin(e*s),o)},n.IMPRODUCT=function(){var r=arguments[0];if(!arguments.length)return a.value;for(var e=1;arguments.length>e;e++){var t=n.IMREAL(r),u=n.IMAGINARY(r),o=n.IMREAL(arguments[e]),f=n.IMAGINARY(arguments[e]);if(i.anyIsError(t,u,o,f))return a.value;r=n.COMPLEX(t*o-u*f,t*f+u*o)}return r},n.IMREAL=function(r){if(r===undefined||!0===r||!1===r)return a.value;if(0===r||"0"===r)return 0;if(["i","+i","1i","+1i","-i","-1i","j","+j","1j","+1j","-j","-1j"].indexOf(r)>=0)return 0;var n=r.indexOf("+"),e=r.indexOf("-");0===n&&(n=r.indexOf("+",1)),0===e&&(e=r.indexOf("-",1));var t=r.substring(r.length-1,r.length),u="i"===t||"j"===t;return 0>n&&0>e?u?isNaN(r.substring(0,r.length-1))?a.num:0:isNaN(r)?a.num:r:u?0>n?isNaN(r.substring(0,e))||isNaN(r.substring(e+1,r.length-1))?a.num:+r.substring(0,e):isNaN(r.substring(0,n))||isNaN(r.substring(n+1,r.length-1))?a.num:+r.substring(0,n):a.num},n.IMSEC=function(r){if(!0===r||!1===r)return a.value;var e=n.IMREAL(r),t=n.IMAGINARY(r);return i.anyIsError(e,t)?a.value:n.IMDIV("1",n.IMCOS(r))},n.IMSECH=function(r){var e=n.IMREAL(r),t=n.IMAGINARY(r);return i.anyIsError(e,t)?a.value:n.IMDIV("1",n.IMCOSH(r))},n.IMSIN=function(r){var e=n.IMREAL(r),t=n.IMAGINARY(r);if(i.anyIsError(e,t))return a.value;var u=r.substring(r.length-1);return u="i"===u||"j"===u?u:"i",n.COMPLEX(Math.sin(e)*(Math.exp(t)+Math.exp(-t))/2,Math.cos(e)*(Math.exp(t)-Math.exp(-t))/2,u)},n.IMSINH=function(r){var e=n.IMREAL(r),t=n.IMAGINARY(r);if(i.anyIsError(e,t))return a.value;var u=r.substring(r.length-1);return u="i"===u||"j"===u?u:"i",n.COMPLEX(Math.cos(t)*(Math.exp(e)-Math.exp(-e))/2,Math.sin(t)*(Math.exp(e)+Math.exp(-e))/2,u)},n.IMSQRT=function(r){var e=n.IMREAL(r),t=n.IMAGINARY(r);if(i.anyIsError(e,t))return a.value;var u=r.substring(r.length-1);u="i"===u||"j"===u?u:"i";var o=Math.sqrt(n.IMABS(r)),f=n.IMARGUMENT(r);return n.COMPLEX(o*Math.cos(f/2),o*Math.sin(f/2),u)},n.IMCSC=function(r){if(!0===r||!1===r)return a.value;var e=n.IMREAL(r),t=n.IMAGINARY(r);return i.anyIsError(e,t)?a.num:n.IMDIV("1",n.IMSIN(r))},n.IMCSCH=function(r){if(!0===r||!1===r)return a.value;var e=n.IMREAL(r),t=n.IMAGINARY(r);return i.anyIsError(e,t)?a.num:n.IMDIV("1",n.IMSINH(r))},n.IMSUB=function(r,n){var e=this.IMREAL(r),t=this.IMAGINARY(r),u=this.IMREAL(n),o=this.IMAGINARY(n);if(i.anyIsError(e,t,u,o))return a.value;var f=r.substring(r.length-1),s=n.substring(n.length-1),l="i";return"j"===f?l="j":"j"===s&&(l="j"),this.COMPLEX(e-u,t-o,l)},n.IMSUM=function(){if(!arguments.length)return a.value;for(var r=i.flatten(arguments),n=r[0],e=1;r.length>e;e++){var t=this.IMREAL(n),u=this.IMAGINARY(n),o=this.IMREAL(r[e]),f=this.IMAGINARY(r[e]);if(i.anyIsError(t,u,o,f))return a.value;n=this.COMPLEX(t+o,u+f)}return n},n.IMTAN=function(r){if(!0===r||!1===r)return a.value;var e=n.IMREAL(r),t=n.IMAGINARY(r);return i.anyIsError(e,t)?a.value:this.IMDIV(this.IMSIN(r),this.IMCOS(r))},n.OCT2BIN=function(r,n){if(!/^[0-7]{1,10}$/.test(r))return a.num;var e=10===r.length&&"7"===r.substring(0,1),t=e?parseInt(r,8)-1073741824:parseInt(r,8);if(-512>t||t>511)return a.num;if(e)return"1"+o.REPT("0",9-(512+t).toString(2).length)+(512+t).toString(2);var u=t.toString(2);return void 0===n?u:isNaN(n)?a.value:0>n?a.num:(n=Math.floor(n),u.length>n?a.num:o.REPT("0",n-u.length)+u)},n.OCT2DEC=function(r){if(!/^[0-7]{1,10}$/.test(r))return a.num;var n=parseInt(r,8);return 536870912>n?n:n-1073741824},n.OCT2HEX=function(r,n){if(!/^[0-7]{1,10}$/.test(r))return a.num;var e=parseInt(r,8);if(e>=536870912)return"ff"+(e+3221225472).toString(16);var t=e.toString(16);return n===undefined?t:isNaN(n)?a.value:0>n?a.num:(n=Math.floor(n),t.length>n?a.num:o.REPT("0",n-t.length)+t)}},function(r,n,e){"use strict";n.__esModule=!0,n["default"]=["ABS","ACCRINT","ACOS","ACOSH","ACOT","ACOTH","ADD","AGGREGATE","AND","ARABIC","ARGS2ARRAY","ASIN","ASINH","ATAN","ATAN2","ATANH","AVEDEV","AVERAGE","AVERAGEA","AVERAGEIF","AVERAGEIFS","BASE","BESSELI","BESSELJ","BESSELK","BESSELY","BETA.DIST","BETA.INV","BETADIST","BETAINV","BIN2DEC","BIN2HEX","BIN2OCT","BINOM.DIST","BINOM.DIST.RANGE","BINOM.INV","BINOMDIST","BITAND","BITLSHIFT","BITOR","BITRSHIFT","BITXOR","CEILING","CEILINGMATH","CEILINGPRECISE","CHAR","CHISQ.DIST","CHISQ.DIST.RT","CHISQ.INV","CHISQ.INV.RT","CHOOSE","CHOOSE","CLEAN","CODE","COLUMN","COLUMNS","COMBIN","COMBINA","COMPLEX","CONCATENATE","CONFIDENCE","CONFIDENCE.NORM","CONFIDENCE.T","CONVERT","CORREL","COS","COSH","COT","COTH","COUNT","COUNTA","COUNTBLANK","COUNTIF","COUNTIFS","COUNTIN","COUNTUNIQUE","COVARIANCE.P","COVARIANCE.S","CSC","CSCH","CUMIPMT","CUMPRINC","DATE","DATEVALUE","DAY","DAYS","DAYS360","DB","DDB","DEC2BIN","DEC2HEX","DEC2OCT","DECIMAL","DEGREES","DELTA","DEVSQ","DIVIDE","DOLLARDE","DOLLARFR","E","EDATE","EFFECT","EOMONTH","EQ","ERF","ERFC","EVEN","EXACT","EXP","EXPON.DIST","EXPONDIST","F.DIST","F.DIST.RT","F.INV","F.INV.RT","FACT","FACTDOUBLE","FALSE","FDIST","FDISTRT","FIND","FINV","FINVRT","FISHER","FISHERINV","FLATTEN","FLOOR","FORECAST","FREQUENCY","FV","FVSCHEDULE","GAMMA","GAMMA.DIST","GAMMA.INV","GAMMADIST","GAMMAINV","GAMMALN","GAMMALN.PRECISE","GAUSS","GCD","GEOMEAN","GESTEP","GROWTH","GTE","HARMEAN","HEX2BIN","HEX2DEC","HEX2OCT","HOUR","HTML2TEXT","HYPGEOM.DIST","HYPGEOMDIST","IF","IMABS","IMAGINARY","IMARGUMENT","IMCONJUGATE","IMCOS","IMCOSH","IMCOT","IMCSC","IMCSCH","IMDIV","IMEXP","IMLN","IMLOG10","IMLOG2","IMPOWER","IMPRODUCT","IMREAL","IMSEC","IMSECH","IMSIN","IMSINH","IMSQRT","IMSUB","IMSUM","IMTAN","INT","INTERCEPT","INTERVAL","IPMT","IRR","ISBINARY","ISBLANK","ISEVEN","ISLOGICAL","ISNONTEXT","ISNUMBER","ISODD","ISODD","ISOWEEKNUM","ISPMT","ISTEXT","JOIN","KURT","LARGE","LCM","LEFT","LEN","LINEST","LN","LOG","LOG10","LOGEST","LOGNORM.DIST","LOGNORM.INV","LOGNORMDIST","LOGNORMINV","LOWER","LT","LTE","MATCH","MAX","MAXA","MEDIAN","MID","MIN","MINA","MINUS","MINUTE","MIRR","MOD","MODE.MULT","MODE.SNGL","MODEMULT","MODESNGL","MONTH","MROUND","MULTINOMIAL","MULTIPLY","NE","NEGBINOM.DIST","NEGBINOMDIST","NETWORKDAYS","NOMINAL","NORM.DIST","NORM.INV","NORM.S.DIST","NORM.S.INV","NORMDIST","NORMINV","NORMSDIST","NORMSINV","NOT","NOW","NPER","NPV","NUMBERS","OCT2BIN","OCT2DEC","OCT2HEX","ODD","OR","PDURATION","PEARSON","PERCENTILEEXC","PERCENTILEINC","PERCENTRANKEXC","PERCENTRANKINC","PERMUT","PERMUTATIONA","PHI","PI","PMT","POISSON.DIST","POISSONDIST","POW","POWER","PPMT","PROB","PRODUCT","PROPER","PV","QUARTILE.EXC","QUARTILE.INC","QUARTILEEXC","QUARTILEINC","QUOTIENT","RADIANS","RAND","RANDBETWEEN","RANK.AVG","RANK.EQ","RANKAVG","RANKEQ","RATE","REFERENCE","REGEXEXTRACT","REGEXMATCH","REGEXREPLACE","REPLACE","REPT","RIGHT","ROMAN","ROUND","ROUNDDOWN","ROUNDUP","ROW","ROWS","RRI","RSQ","SEARCH","SEC","SECH","SECOND","SERIESSUM","SIGN","SIN","SINH","SKEW","SKEW.P","SKEWP","SLN","SLOPE","SMALL","SPLIT","SPLIT","SQRT","SQRTPI","STANDARDIZE","STDEV.P","STDEV.S","STDEVA","STDEVP","STDEVPA","STDEVS","STEYX","SUBSTITUTE","SUBTOTAL","SUM","SUMIF","SUMIFS","SUMPRODUCT","SUMSQ","SUMX2MY2","SUMX2PY2","SUMXMY2","SWITCH","SYD","T","T.DIST","T.DIST.2T","T.DIST.RT","T.INV","T.INV.2T","TAN","TANH","TBILLEQ","TBILLPRICE","TBILLYIELD","TDIST","TDIST2T","TDISTRT","TIME","TIMEVALUE","TINV","TINV2T","TODAY","TRANSPOSE","TREND","TRIM","TRIMMEAN","TRUE","TRUNC","UNICHAR","UNICODE","UNIQUE","UPPER","VAR.P","VAR.S","VARA","VARP","VARPA","VARS","WEEKDAY","WEEKNUM","WEIBULL.DIST","WEIBULLDIST","WORKDAY","XIRR","XNPV","XOR","YEAR","YEARFRAC"]},function(r,n,e){"use strict";function t(r){var n=parseInt(r,10);return n=isNaN(n)?-1:Math.max(n-1,-1)}function a(r){var n="";return 0>r||(n=""+(r+1)),n}function u(r){var n=0;if("string"==typeof r){r=r.toUpperCase();for(var e=0,t=r.length-1;r.length>e;e+=1,t-=1)n+=Math.pow(l,t)*(s.indexOf(r[e])+1)}return--n}function o(r){for(var n="";r>=0;)n=String.fromCharCode(r%l+97)+n,r=Math.floor(r/l)-1;return n.toUpperCase()}function i(r){if("string"!=typeof r||!c.test(r))return[];var n=r.toUpperCase().match(c),e=n[1],a=n[2],o=n[3],i=n[4];return[{index:t(i),label:i,isAbsolute:"$"===o},{index:u(a),label:a,isAbsolute:"$"===e}]}function f(r,n){var e=(r.isAbsolute?"$":"")+a(r.index);return(n.isAbsolute?"$":"")+o(n.index)+e}n.__esModule=!0,n.rowLabelToIndex=t,n.rowIndexToLabel=a,n.columnLabelToIndex=u,n.columnIndexToLabel=o,n.extractLabel=i,n.toLabel=f;var s="ABCDEFGHIJKLMNOPQRSTUVWXYZ",l=s.length,c=/^([$])?([A-Za-z]+)([$])?([0-9]+)$/},function(r,n,e){"use strict";function t(r){return r&&r.__esModule?r:{"default":r}}n.__esModule=!0,n.rowLabelToIndex=n.rowIndexToLabel=n.columnLabelToIndex=n.columnIndexToLabel=n.toLabel=n.extractLabel=n.error=n.Parser=n.ERROR_VALUE=n.ERROR_REF=n.ERROR_NUM=n.ERROR_NULL=n.ERROR_NOT_AVAILABLE=n.ERROR_NAME=n.ERROR_DIV_ZERO=n.ERROR=n.SUPPORTED_FORMULAS=undefined;var a=e(16),u=t(a),o=e(13),i=t(o),f=e(2),s=t(f),l=e(14);n.SUPPORTED_FORMULAS=i["default"],n.ERROR=f.ERROR,n.ERROR_DIV_ZERO=f.ERROR_DIV_ZERO,n.ERROR_NAME=f.ERROR_NAME,n.ERROR_NOT_AVAILABLE=f.ERROR_NOT_AVAILABLE,n.ERROR_NULL=f.ERROR_NULL,n.ERROR_NUM=f.ERROR_NUM,n.ERROR_REF=f.ERROR_REF,n.ERROR_VALUE=f.ERROR_VALUE,n.Parser=u["default"],n.error=s["default"],n.extractLabel=l.extractLabel,n.toLabel=l.toLabel,n.columnIndexToLabel=l.columnIndexToLabel,n.columnLabelToIndex=l.columnLabelToIndex,n.rowIndexToLabel=l.rowIndexToLabel,n.rowLabelToIndex=l.rowLabelToIndex},function(r,n,e){"use strict";function t(r){return r&&r.__esModule?r:{"default":r}}function a(r,n){if(!(r instanceof n))throw new TypeError("Cannot call a class as a function")}function u(r,n){if(!r)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!n||"object"!=typeof n&&"function"!=typeof n?r:n}function o(r,n){if("function"!=typeof n&&null!==n)throw new TypeError("Super expression must either be null or a function, not "+typeof n);r.prototype=Object.create(n&&n.prototype,{constructor:{value:r,enumerable:!1,writable:!0,configurable:!0}}),n&&(Object.setPrototypeOf?Object.setPrototypeOf(r,n):r.__proto__=n)}n.__esModule=!0;var i=e(17),f=t(i),s=e(18),l=t(s),c=e(39),h=e(40),p=e(3),m=e(2),E=t(m),N=e(14);n["default"]=function(r){function n(){a(this,n);var e=u(this,r.call(this));return e.parser=new c.Parser,e.parser.yy={toNumber:p.toNumber,trimEdges:h.trimEdges,invertNumber:p.invertNumber,throwError:function(r){return e._throwError(r)},callVariable:function(r){return e._callVariable(r)},evaluateByOperator:l["default"],callFunction:function(r,n){return e._callFunction(r,n)},cellValue:function(r){return e._callCellValue(r)},rangeValue:function(r,n){return e._callRangeValue(r,n)}},e.variables=Object.create(null),e.functions=Object.create(null),e.setVariable("TRUE",!0).setVariable("FALSE",!1).setVariable("NULL",null),e}return o(n,r),n.prototype.parse=function(r){var n=null,e=null;try{n=""===r?"":this.parser.parse(r)}catch(a){var t=(0,E["default"])(a.message);e=t||(0,E["default"])(m.ERROR)}return n instanceof Error&&(e=(0,E["default"])(n.message)||(0,E["default"])(m.ERROR),n=null),{error:e,result:n}},n.prototype.setVariable=function(r,n){return this.variables[r]=n,this},n.prototype.getVariable=function(r){return this.variables[r]},n.prototype._callVariable=function(r){var n=this.getVariable(r);if(this.emit("callVariable",r,function(r){void 0!==r&&(n=r)}),void 0===n)throw Error(m.ERROR_NAME);return n},n.prototype.setFunction=function(r,n){return this.functions[r]=n,this},n.prototype.getFunction=function(r){return this.functions[r]},n.prototype._callFunction=function(r){var n=arguments.length>1&&arguments[1]!==undefined?arguments[1]:[],e=this.getFunction(r),t=void 0;return e&&(t=e(n)),this.emit("callFunction",r,n,function(r){void 0!==r&&(t=r)}),void 0===t?(0,l["default"])(r,n):t},n.prototype._callCellValue=function(r){r=r.toUpperCase();var n=(0,N.extractLabel)(r),e=n[0],t=n[1],a=void 0;return this.emit("callCellValue",{label:r,row:e,column:t},function(r){a=r}),a},n.prototype._callRangeValue=function(r,n){r=r.toUpperCase(),n=n.toUpperCase();var e=(0,N.extractLabel)(r),t=e[0],a=e[1],u=(0,N.extractLabel)(n),o=u[0],i=u[1],f={},s={};t.index>o.index?(f.row=o,s.row=t):(f.row=t,s.row=o),a.index>i.index?(f.column=i,s.column=a):(f.column=a,s.column=i),f.label=(0,N.toLabel)(f.row,f.column),s.label=(0,N.toLabel)(s.row,s.column);var l=[];return this.emit("callRangeValue",f,s,function(){var r=arguments.length>0&&arguments[0]!==undefined?arguments[0]:[];l=r}),l},n.prototype._throwError=function(r){if((0,m.isValidStrict)(r))throw Error(r);throw Error(m.ERROR)},n}(f["default"])},function(r,n){function e(){}e.prototype={on:function(r,n,e){var t=this.e||(this.e={});return(t[r]||(t[r]=[])).push({fn:n,ctx:e}),this},once:function(r,n,e){function t(){a.off(r,t),n.apply(e,arguments)}var a=this;return t._=n,this.on(r,t,e)},emit:function(r){var n=[].slice.call(arguments,1),e=((this.e||(this.e={}))[r]||[]).slice(),t=0,a=e.length;for(t;a>t;t++)e[t].fn.apply(e[t].ctx,n);return this},off:function(r,n){var e=this.e||(this.e={}),t=e[r],a=[];if(t&&n)for(var u=0,o=t.length;o>u;u++)t[u].fn!==n&&t[u].fn._!==n&&a.push(t[u]);return a.length?e[r]=a:delete e[r],this}},r.exports=e,r.exports.TinyEmitter=e},function(r,n,e){"use strict";function t(r){return r&&r.__esModule?r:{"default":r}}function a(r){var n=arguments.length>1&&arguments[1]!==undefined?arguments[1]:[];if(r=r.toUpperCase(),!P[r])throw Error(w.ERROR_NAME);return P[r].apply(P,n)}function u(r,n){Array.isArray(r)||(r=[r.toUpperCase()]),r.forEach(function(r){P[r]=n.isFactory?n(r):n})}n.__esModule=!0,n["default"]=a,n.registerOperation=u;var o=e(19),i=t(o),f=e(20),s=t(f),l=e(21),c=t(l),h=e(22),p=t(h),m=e(23),E=t(m),N=e(31),g=t(N),v=e(32),I=t(v),d=e(33),b=t(d),M=e(34),y=t(M),A=e(35),R=t(A),T=e(36),O=t(T),S=e(37),L=t(S),C=e(38),D=t(C),w=e(2),P=Object.create(null);u(i["default"].SYMBOL,i["default"]),u(s["default"].SYMBOL,s["default"]),u(c["default"].SYMBOL,c["default"]),u(p["default"].SYMBOL,p["default"]),u(D["default"].SYMBOL,D["default"]),u(E["default"].SYMBOL,E["default"]),u(g["default"].SYMBOL,g["default"]),u(I["default"].SYMBOL,I["default"]),u(b["default"].SYMBOL,b["default"]),u(y["default"].SYMBOL,y["default"]),u(O["default"].SYMBOL,O["default"]),u(L["default"].SYMBOL,L["default"]),u(R["default"].SYMBOL,R["default"])},function(r,n,e){"use strict";function t(r){for(var n=arguments.length,e=Array(n>1?n-1:0),t=1;n>t;t++)e[t-1]=arguments[t];var o=e.reduce(function(r,n){return r+(0,a.toNumber)(n)},(0,a.toNumber)(r));if(isNaN(o))throw Error(u.ERROR_VALUE);return o}n.__esModule=!0,n.SYMBOL=undefined,n["default"]=t;var a=e(3),u=e(2);t.SYMBOL=n.SYMBOL="+"},function(r,n,e){"use strict";function t(){for(var r=arguments.length,n=Array(r),e=0;r>e;e++)n[e]=arguments[e];return n.reduce(function(r,n){return r+""+n},"")}n.__esModule=!0,n["default"]=t,t.SYMBOL=n.SYMBOL="&"},function(r,n,e){"use strict";function t(r){for(var n=arguments.length,e=Array(n>1?n-1:0),t=1;n>t;t++)e[t-1]=arguments[t];var o=e.reduce(function(r,n){return r/(0,a.toNumber)(n)},(0,a.toNumber)(r));if(o===Infinity)throw Error(u.ERROR_DIV_ZERO);if(isNaN(o))throw Error(u.ERROR_VALUE);return o}n.__esModule=!0,n.SYMBOL=undefined,n["default"]=t;var a=e(3),u=e(2);t.SYMBOL=n.SYMBOL="/"},function(r,n,e){"use strict";function t(r,n){return r===n}n.__esModule=!0,n["default"]=t,t.SYMBOL=n.SYMBOL="="},function(r,n,e){"use strict";function t(r){return function(){r=r.toUpperCase();var n=r.split("."),e=!1,t=void 0;if(1===n.length)u[n[0]]&&(e=!0,t=u[n[0]].apply(u,arguments));else{for(var a=n.length,o=0,i=u;a>o;)if(i=i[n[o]],o++,!i){i=null;break}i&&(e=!0,t=i.apply(undefined,arguments))}if(!e)throw Error(f.ERROR_NAME);return t}}n.__esModule=!0,n.SYMBOL=undefined,n["default"]=t;var a=e(24),u=function(r){if(r&&r.__esModule)return r;var n={};if(null!=r)for(var e in r)Object.prototype.hasOwnProperty.call(r,e)&&(n[e]=r[e]);return n["default"]=r,n}(a),o=e(13),i=function(r){return r&&r.__esModule?r:{"default":r}}(o),f=e(2),s=n.SYMBOL=i["default"];t.isFactory=!0,t.SYMBOL=s},function(r,n,e){var t=[e(25),e(27),e(12),e(28),e(4),e(6),e(9),e(29),e(8),e(30),e(5),e(11)];for(var a in t){var u=t[a];for(var o in u)n[o]=n[o]||u[o]}},function(r,n,e){function t(r,n){if(n)for(var e in n)r[e]=n[e];return r}var a=e(4),u=e(5),o=e(12),i=e(9);n.BETADIST=u.BETA.DIST,n.BETAINV=u.BETA.INV,n.BINOMDIST=u.BINOM.DIST,n.CEILING=n.ISOCEILING=t(a.CEILING.MATH,a.CEILING),n.CEILINGMATH=a.CEILING.MATH,n.CEILINGPRECISE=a.CEILING.PRECISE,n.CHIDIST=u.CHISQ.DIST,n.CHIDISTRT=u.CHISQ.DIST.RT,n.CHIINV=u.CHISQ.INV,n.CHIINVRT=u.CHISQ.INV.RT,n.CHITEST=u.CHISQ.TEST,n.CONFIDENCE=t(u.CONFIDENCE.NORM,u.CONFIDENCE),n.COVAR=u.COVARIANCE.P,n.COVARIANCEP=u.COVARIANCE.P,n.COVARIANCES=u.COVARIANCE.S,n.CRITBINOM=u.BINOM.INV,n.EXPONDIST=u.EXPON.DIST,n.ERFCPRECISE=o.ERFC.PRECISE,n.ERFPRECISE=o.ERF.PRECISE,n.FDIST=u.F.DIST,n.FDISTRT=u.F.DIST.RT,n.FINVRT=u.F.INV.RT,n.FINV=u.F.INV,n.FLOOR=t(a.FLOOR.MATH,a.FLOOR),n.FLOORMATH=a.FLOOR.MATH,n.FLOORPRECISE=a.FLOOR.PRECISE,n.FTEST=u.F.TEST,n.GAMMADIST=u.GAMMA.DIST,n.GAMMAINV=u.GAMMA.INV,n.GAMMALNPRECISE=u.GAMMALN.PRECISE,n.HYPGEOMDIST=u.HYPGEOM.DIST,n.LOGINV=u.LOGNORM.INV,n.LOGNORMINV=u.LOGNORM.INV,n.LOGNORMDIST=u.LOGNORM.DIST,n.MODE=t(u.MODE.SNGL,u.MODE),n.MODEMULT=u.MODE.MULT,n.MODESNGL=u.MODE.SNGL,n.NEGBINOMDIST=u.NEGBINOM.DIST,n.NETWORKDAYSINTL=i.NETWORKDAYS.INTL,n.NORMDIST=u.NORM.DIST,n.NORMINV=u.NORM.INV,n.NORMSDIST=u.NORM.S.DIST,n.NORMSINV=u.NORM.S.INV,n.PERCENTILE=t(u.PERCENTILE.EXC,u.PERCENTILE),n.PERCENTILEEXC=u.PERCENTILE.EXC,n.PERCENTILEINC=u.PERCENTILE.INC,n.PERCENTRANK=t(u.PERCENTRANK.INC,u.PERCENTRANK),n.PERCENTRANKEXC=u.PERCENTRANK.EXC,n.PERCENTRANKINC=u.PERCENTRANK.INC,n.POISSON=t(u.POISSON.DIST,u.POISSON),n.POISSONDIST=u.POISSON.DIST,n.QUARTILE=t(u.QUARTILE.INC,u.QUARTILE),n.QUARTILEEXC=u.QUARTILE.EXC,n.QUARTILEINC=u.QUARTILE.INC,n.RANK=t(u.RANK.EQ,u.RANK),n.RANKAVG=u.RANK.AVG,n.RANKEQ=u.RANK.EQ,n.SKEWP=u.SKEW.P,n.STDEV=t(u.STDEV.S,u.STDEV),n.STDEVP=u.STDEV.P,n.STDEVS=u.STDEV.S,n.TDIST=u.T.DIST,n.TDISTRT=u.T.DIST.RT,n.TINV=u.T.INV,n.TTEST=u.T.TEST,n.VAR=t(u.VAR.S,u.VAR),n.VARP=u.VAR.P,n.VARS=u.VAR.S,n.WEIBULL=t(u.WEIBULL.DIST,u.WEIBULL),n.WEIBULLDIST=u.WEIBULL.DIST,n.WORKDAYINTL=i.WORKDAY.INTL,n.ZTEST=u.Z.TEST},function(r,n,e){var t;!function(r){r("undefined"==typeof DO_NOT_EXPORT_BESSEL?n:t={})}(function(r){function n(r,n){for(var e=0,t=0;r.length>e;++e)t=n*t+r[e];return t}function e(r,n,e,t,a){if(0===n)return e;if(1===n)return t;for(var u=2/r,o=t,i=1;n>i;++i)o=t*i*u+a*e,e=t,t=o;return o}function t(r,n,t,a,u){return function(t,o){if(a){if(0===t)return 1==a?-Infinity:Infinity;if(0>t)return NaN}return 0===o?r(t):1===o?n(t):0>o?NaN:(o|=0,e(t,o,r(t),n(t),u))}}r.version="1.0.2";var a=Math,u=function(){function r(r){var e=0,t=0,l=0,c=r*r;if(8>r)t=n(o,c),l=n(i,c),e=t/l;else{var h=r-.785398164;c=64/c,t=n(f,c),l=n(s,c),e=a.sqrt(u/r)*(a.cos(h)*t-a.sin(h)*l*8/r)}return e}function t(r){var e=0,t=0,o=0,i=r*r,f=a.abs(r)-2.356194491;return 8>Math.abs(r)?(t=r*n(l,i),o=n(c,i),e=t/o):(i=64/i,t=n(h,i),o=n(p,i),e=a.sqrt(u/a.abs(r))*(a.cos(f)*t-a.sin(f)*o*8/a.abs(r)),0>r&&(e=-e)),e}var u=.636619772,o=[57568490574,-13362590354,651619640.7,-11214424.18,77392.33017,-184.9052456].reverse(),i=[57568490411,1029532985,9494680.718,59272.64853,267.8532712,1].reverse(),f=[1,-.001098628627,2734510407e-14,-2073370639e-15,2.093887211e-7].reverse(),s=[-.01562499995,.0001430488765,-6911147651e-15,7.621095161e-7,-9.34935152e-8].reverse(),l=[72362614232,-7895059235,242396853.1,-2972611.439,15704.4826,-30.16036606].reverse(),c=[144725228442,2300535178,18583304.74,99447.43394,376.9991397,1].reverse(),h=[1,.00183105,-3516396496e-14,2457520174e-15,-2.40337019e-7].reverse(),p=[.04687499995,-.0002002690873,8449199096e-15,-8.8228987e-7,1.05787412e-7].reverse();return function m(n,u){if(u=Math.round(u),!isFinite(n))return isNaN(n)?n:0;if(0>u)return(u%2?-1:1)*m(n,-u);if(0>n)return(u%2?-1:1)*m(-n,u);if(0===u)return r(n);if(1===u)return t(n);if(0===n)return 0;var o=0;if(n>u)o=e(n,u,r(n),t(n),-1);else{for(var i=2*a.floor((u+a.floor(a.sqrt(40*u)))/2),f=!1,s=0,l=0,c=1,h=0,p=2/n,E=i;E>0;E--)h=E*p*c-s,s=c,c=h,a.abs(c)>1e10&&(c*=1e-10,s*=1e-10,o*=1e-10,l*=1e-10),f&&(l+=c),f=!f,E==u&&(o=s);l=2*l-c,o/=l}return o}}(),o=function(){function r(r){var e=0,t=0,c=0,h=r*r,p=r-.785398164;return 8>r?(t=n(i,h),c=n(f,h),e=t/c+o*u(r,0)*a.log(r)):(h=64/h,t=n(s,h),c=n(l,h),e=a.sqrt(o/r)*(a.sin(p)*t+a.cos(p)*c*8/r)),e}function e(r){var e=0,t=0,i=0,f=r*r,s=r-2.356194491;return 8>r?(t=r*n(c,f),i=n(h,f),e=t/i+o*(u(r,1)*a.log(r)-1/r)):(f=64/f,t=n(p,f),i=n(m,f),e=a.sqrt(o/r)*(a.sin(s)*t+a.cos(s)*i*8/r)),e}var o=.636619772,i=[-2957821389,7062834065,-512359803.6,10879881.29,-86327.92757,228.4622733].reverse(),f=[40076544269,745249964.8,7189466.438,47447.2647,226.1030244,1].reverse(),s=[1,-.001098628627,2734510407e-14,-2073370639e-15,2.093887211e-7].reverse(),l=[-.01562499995,.0001430488765,-6911147651e-15,7.621095161e-7,-9.34945152e-8].reverse(),c=[-4900604943e3,127527439e4,-51534381390,734926455.1,-4237922.726,8511.937935].reverse(),h=[249958057e5,424441966400,3733650367,22459040.02,102042.605,354.9632885,1].reverse(),p=[1,.00183105,-3516396496e-14,2457520174e-15,-2.40337019e-7].reverse(),m=[.04687499995,-.0002002690873,8449199096e-15,-8.8228987e-7,1.05787412e-7].reverse();return t(r,e,"BESSELY",1,-1)}(),i=function(){function r(r){return r>3.75?a.exp(a.abs(r))/a.sqrt(a.abs(r))*n(u,3.75/a.abs(r)):n(t,r*r/14.0625)}function e(r){return 3.75>r?r*n(o,r*r/14.0625):(0>r?-1:1)*a.exp(a.abs(r))/a.sqrt(a.abs(r))*n(i,3.75/a.abs(r))}var t=[1,3.5156229,3.0899424,1.2067492,.2659732,.0360768,.0045813].reverse(),u=[.39894228,.01328592,.00225319,-.00157565,.00916281,-.02057706,.02635537,-.01647633,.00392377].reverse(),o=[.5,.87890594,.51498869,.15084934,.02658733,.00301532,32411e-8].reverse(),i=[.39894228,-.03988024,-.00362018,.00163801,-.01031555,.02282967,-.02895312,.01787654,-.00420059].reverse();return function f(n,t){if(0===(t=Math.round(t)))return r(n);if(1===t)return e(n);if(0>t)return NaN;if(0===a.abs(n))return 0;if(n==Infinity)return Infinity;var u,o=0,i=2/a.abs(n),s=0,l=1,c=0,h=2*a.round((t+a.round(a.sqrt(40*t)))/2);for(u=h;u>0;u--)c=u*i*l+s,s=l,l=c,a.abs(l)>1e10&&(l*=1e-10,s*=1e-10,o*=1e-10),u==t&&(o=s);return o*=f(n,0)/l,0>n&&t%2?-o:o}}(),f=function(){function r(r){return r>2?a.exp(-r)/a.sqrt(r)*n(o,2/r):-a.log(r/2)*i(r,0)+n(u,r*r/4)}function e(r){return r>2?a.exp(-r)/a.sqrt(r)*n(s,2/r):a.log(r/2)*i(r,1)+1/r*n(f,r*r/4)}var u=[-.57721566,.4227842,.23069756,.0348859,.00262698,1075e-7,74e-7].reverse(),o=[1.25331414,-.07832358,.02189568,-.01062446,.00587872,-.0025154,53208e-8].reverse(),f=[1,.15443144,-.67278579,-.18156897,-.01919402,-.00110404,-4686e-8].reverse(),s=[1.25331414,.23498619,-.0365562,.01504268,-.00780353,.00325614,-68245e-8].reverse();return t(r,e,"BESSELK",2,1)}();r.besselj=u,r.bessely=o,r.besseli=i,r.besselk=f})},function(r,n,e){function t(r){var n=[];return f.arrayEach(r,function(r){r&&n.push(r)}),n}function a(r,n){for(var e={},t=1;r[0].length>t;++t)e[t]=!0;var a=n[0].length;for(t=1;n.length>t;++t)n[t].length>a&&(a=n[t].length);for(var u=1;r.length>u;++u)for(var o=1;r[u].length>o;++o){for(var i=!1,f=!1,l=0;n.length>l;++l){var c=n[l];if(c.length>=a){var h=c[0];if(r[u][0]===h){f=!0;for(var p=1;c.length>p;++p)if(!i){var m=void 0===c[p]||"*"===c[p];if(m)i=!0;else{var E=s.parse(c[p]+""),N=[s.createToken(r[u][o],s.TOKEN_TYPE_LITERAL)].concat(E);i=s.compute(N)}}}}}f&&(e[o]=e[o]&&i)}for(var g=[],v=0;r[0].length>v;++v)e[v]&&g.push(v-1);return g}var u=e(0),o=e(5),i=e(4),f=e(1),s=e(7);n.FINDFIELD=function(r,n){var e=null;return f.arrayEach(r,function(r,t){if(r[0]===n)return e=t,!1}),null==e?u.value:e},n.DAVERAGE=function(r,e,t){if(isNaN(e)&&"string"!=typeof e)return u.value;var o=a(r,t),i=[];if("string"==typeof e){var s=n.FINDFIELD(r,e);i=f.rest(r[s])}else i=f.rest(r[e]);var l=0;return f.arrayEach(o,function(r){l+=i[r]}),0===o.length?u.div0:l/o.length},n.DCOUNT=function(r,e,t){if(isNaN(e)&&"string"!=typeof e)return u.value;var i=a(r,t),s=[];if("string"==typeof e){var l=n.FINDFIELD(r,e);s=f.rest(r[l])}else s=f.rest(r[e]);var c=[];return f.arrayEach(i,function(r){c.push(s[r])}),o.COUNT(c)},n.DCOUNTA=function(r,e,t){if(isNaN(e)&&"string"!=typeof e)return u.value;var i=a(r,t),s=[];if("string"==typeof e){var l=n.FINDFIELD(r,e);s=f.rest(r[l])}else s=f.rest(r[e]);var c=[];return f.arrayEach(i,function(r){c.push(s[r])}),o.COUNTA(c)},n.DGET=function(r,e,t){if(isNaN(e)&&"string"!=typeof e)return u.value;var o=a(r,t),i=[];if("string"==typeof e){var s=n.FINDFIELD(r,e);i=f.rest(r[s])}else i=f.rest(r[e]);return 0===o.length?u.value:o.length>1?u.num:i[o[0]]},n.DMAX=function(r,e,t){if(isNaN(e)&&"string"!=typeof e)return u.value;var o=a(r,t),i=[];if("string"==typeof e){var s=n.FINDFIELD(r,e);i=f.rest(r[s])}else i=f.rest(r[e]);var l=i[o[0]];return f.arrayEach(o,function(r){i[r]>l&&(l=i[r])}),l},n.DMIN=function(r,e,t){if(isNaN(e)&&"string"!=typeof e)return u.value;var o=a(r,t),i=[];if("string"==typeof e){var s=n.FINDFIELD(r,e);i=f.rest(r[s])}else i=f.rest(r[e]);var l=i[o[0]];return f.arrayEach(o,function(r){l>i[r]&&(l=i[r])}),l},n.DPRODUCT=function(r,e,o){if(isNaN(e)&&"string"!=typeof e)return u.value;var i=a(r,o),s=[];if("string"==typeof e){var l=n.FINDFIELD(r,e);s=f.rest(r[l])}else s=f.rest(r[e]);var c=[];f.arrayEach(i,function(r){c.push(s[r])}),c=t(c);var h=1;return f.arrayEach(c,function(r){h*=r}),h},n.DSTDEV=function(r,e,i){if(isNaN(e)&&"string"!=typeof e)return u.value;var s=a(r,i),l=[];if("string"==typeof e){var c=n.FINDFIELD(r,e);l=f.rest(r[c])}else l=f.rest(r[e]);var h=[];return f.arrayEach(s,function(r){h.push(l[r])}),h=t(h),o.STDEV.S(h)},n.DSTDEVP=function(r,e,i){if(isNaN(e)&&"string"!=typeof e)return u.value;var s=a(r,i),l=[];if("string"==typeof e){var c=n.FINDFIELD(r,e);l=f.rest(r[c])}else l=f.rest(r[e]);var h=[];return f.arrayEach(s,function(r){h.push(l[r])}),h=t(h),o.STDEV.P(h)},n.DSUM=function(r,e,t){if(isNaN(e)&&"string"!=typeof e)return u.value;var o=a(r,t),s=[];if("string"==typeof e){var l=n.FINDFIELD(r,e);s=f.rest(r[l])}else s=f.rest(r[e]);var c=[];return f.arrayEach(o,function(r){c.push(s[r])}),i.SUM(c)},n.DVAR=function(r,e,t){if(isNaN(e)&&"string"!=typeof e)return u.value;var i=a(r,t),s=[];if("string"==typeof e){var l=n.FINDFIELD(r,e);s=f.rest(r[l])}else s=f.rest(r[e]);var c=[];return f.arrayEach(i,function(r){c.push(s[r])}),o.VAR.S(c)},n.DVARP=function(r,e,t){if(isNaN(e)&&"string"!=typeof e)return u.value;var i=a(r,t),s=[];if("string"==typeof e){var l=n.FINDFIELD(r,e);s=f.rest(r[l])}else s=f.rest(r[e]);var c=[];return f.arrayEach(i,function(r){c.push(s[r])}),o.VAR.P(c)}},function(r,n,e){var t=e(0),a=e(1),u=e(8);n.AND=function(){for(var r=a.flatten(arguments),n=!0,e=0;r.length>e;e++)r[e]||(n=!1);return n},n.CHOOSE=function(){if(2>arguments.length)return t.na;var r=arguments[0];return 1>r||r>254?t.value:r+1>arguments.length?t.value:arguments[r]},n.FALSE=function(){return!1},n.IF=function(r,n,e){return r?n:e},n.IFERROR=function(r,n){return u.ISERROR(r)?n:r},n.IFNA=function(r,n){return r===t.na?n:r},n.NOT=function(r){return!r},n.OR=function(){for(var r=a.flatten(arguments),n=!1,e=0;r.length>e;e++)r[e]&&(n=!0);return n},n.TRUE=function(){return!0},n.XOR=function(){for(var r=a.flatten(arguments),n=0,e=0;r.length>e;e++)r[e]&&n++;return!!(1&Math.floor(Math.abs(n)))},n.SWITCH=function(){var r;if(arguments.length>0){var n=arguments[0],e=arguments.length-1,a=Math.floor(e/2),u=!1,o=e%2!=0,i=e%2==0?null:arguments[arguments.length-1];if(a)for(var f=0;a>f;f++)if(n===arguments[2*f+1]){r=arguments[2*f+2],u=!0;break}u||(r=o?i:t.na)}else r=t.value;return r}},function(r,n,e){function t(r){return r&&r.getTime&&!isNaN(r.getTime())}function a(r){return r instanceof Date?r:new Date(r)}var u=e(0),o=e(9),i=e(1);n.ACCRINT=function(r,n,e,i,f,s,l){return r=a(r),n=a(n),e=a(e),t(r)&&t(n)&&t(e)?i>0&&f>0?-1===[1,2,4].indexOf(s)?u.num:-1===[0,1,2,3,4].indexOf(l)?u.num:e>r?(f=f||0,l=l||0,f*i*o.YEARFRAC(r,e,l)):u.num:u.num:u.value},n.ACCRINTM=function(){throw Error("ACCRINTM is not implemented")},n.AMORDEGRC=function(){throw Error("AMORDEGRC is not implemented")},n.AMORLINC=function(){throw Error("AMORLINC is not implemented")},n.COUPDAYBS=function(){throw Error("COUPDAYBS is not implemented")},n.COUPDAYS=function(){throw Error("COUPDAYS is not implemented")},n.COUPDAYSNC=function(){throw Error("COUPDAYSNC is not implemented")},n.COUPNCD=function(){throw Error("COUPNCD is not implemented")},n.COUPNUM=function(){throw Error("COUPNUM is not implemented")},n.COUPPCD=function(){throw Error("COUPPCD is not implemented")},n.CUMIPMT=function(r,e,t,a,o,f){if(r=i.parseNumber(r),e=i.parseNumber(e),t=i.parseNumber(t),i.anyIsError(r,e,t))return u.value;if(0>=r||0>=e||0>=t)return u.num;if(1>a||1>o||a>o)return u.num;if(0!==f&&1!==f)return u.num;var s=n.PMT(r,e,t,0,f),l=0;1===a&&0===f&&(l=-t,a++);for(var c=a;o>=c;c++)l+=1===f?n.FV(r,c-2,s,t,1)-s:n.FV(r,c-1,s,t,0);return l*=r},n.CUMPRINC=function(r,e,t,a,o,f){if(r=i.parseNumber(r),e=i.parseNumber(e),t=i.parseNumber(t),i.anyIsError(r,e,t))return u.value;if(0>=r||0>=e||0>=t)return u.num;if(1>a||1>o||a>o)return u.num;if(0!==f&&1!==f)return u.num;var s=n.PMT(r,e,t,0,f),l=0;1===a&&(l=0===f?s+t*r:s,a++);for(var c=a;o>=c;c++)l+=f>0?s-(n.FV(r,c-2,s,t,1)-s)*r:s-n.FV(r,c-1,s,t,0)*r;return l},n.DB=function(r,n,e,t,a){if(a=a===undefined?12:a,r=i.parseNumber(r),n=i.parseNumber(n),e=i.parseNumber(e),t=i.parseNumber(t),a=i.parseNumber(a),i.anyIsError(r,n,e,t,a))return u.value;if(0>r||0>n||0>e||0>t)return u.num;if(-1===[1,2,3,4,5,6,7,8,9,10,11,12].indexOf(a))return u.num;if(t>e)return u.num;if(n>=r)return 0;for(var o=(1-Math.pow(n/r,1/e)).toFixed(3),f=r*o*a/12,s=f,l=0,c=t===e?e-1:t,h=2;c>=h;h++)l=(r-s)*o,s+=l;return 1===t?f:t===e?(r-s)*o:l},n.DDB=function(r,n,e,t,a){if(a=a===undefined?2:a,r=i.parseNumber(r),n=i.parseNumber(n),e=i.parseNumber(e),t=i.parseNumber(t),a=i.parseNumber(a),i.anyIsError(r,n,e,t,a))return u.value;if(0>r||0>n||0>e||0>t||0>=a)return u.num;if(t>e)return u.num;if(n>=r)return 0;for(var o=0,f=0,s=1;t>=s;s++)f=Math.min(a/e*(r-o),r-n-o),o+=f;return f},n.DISC=function(){throw Error("DISC is not implemented")},n.DOLLARDE=function(r,n){if(r=i.parseNumber(r),n=i.parseNumber(n),i.anyIsError(r,n))return u.value;if(0>n)return u.num;if(n>=0&&1>n)return u.div0;n=parseInt(n,10);var e=parseInt(r,10);e+=r%1*Math.pow(10,Math.ceil(Math.log(n)/Math.LN10))/n;var t=Math.pow(10,Math.ceil(Math.log(n)/Math.LN2)+1);return e=Math.round(e*t)/t},n.DOLLARFR=function(r,n){if(r=i.parseNumber(r),n=i.parseNumber(n),i.anyIsError(r,n))return u.value;if(0>n)return u.num;if(n>=0&&1>n)return u.div0;n=parseInt(n,10);var e=parseInt(r,10);return e+=r%1*Math.pow(10,-Math.ceil(Math.log(n)/Math.LN10))*n},n.DURATION=function(){throw Error("DURATION is not implemented")},n.EFFECT=function(r,n){return r=i.parseNumber(r),n=i.parseNumber(n),i.anyIsError(r,n)?u.value:0>=r||1>n?u.num:(n=parseInt(n,10),Math.pow(1+r/n,n)-1)},n.FV=function(r,n,e,t,a){if(t=t||0,a=a||0,r=i.parseNumber(r),n=i.parseNumber(n),e=i.parseNumber(e),t=i.parseNumber(t),a=i.parseNumber(a),i.anyIsError(r,n,e,t,a))return u.value;var o;if(0===r)o=t+e*n;else{var f=Math.pow(1+r,n);o=1===a?t*f+e*(1+r)*(f-1)/r:t*f+e*(f-1)/r}return-o},n.FVSCHEDULE=function(r,n){if(r=i.parseNumber(r),n=i.parseNumberArray(i.flatten(n)),i.anyIsError(r,n))return u.value;for(var e=n.length,t=r,a=0;e>a;a++)t*=1+n[a];return t},n.INTRATE=function(){throw Error("INTRATE is not implemented")},n.IPMT=function(r,e,t,a,o,f){if(o=o||0,f=f||0,r=i.parseNumber(r),e=i.parseNumber(e),t=i.parseNumber(t),a=i.parseNumber(a),o=i.parseNumber(o),f=i.parseNumber(f),i.anyIsError(r,e,t,a,o,f))return u.value;var s=n.PMT(r,t,a,o,f);return(1===e?1===f?0:-a:1===f?n.FV(r,e-2,s,a,1)-s:n.FV(r,e-1,s,a,0))*r},n.IRR=function(r,n){if(n=n||0,r=i.parseNumberArray(i.flatten(r)),n=i.parseNumber(n),i.anyIsError(r,n))return u.value;for(var e=[],t=!1,a=!1,o=0;r.length>o;o++)e[o]=0===o?0:e[o-1]+365,r[o]>0&&(t=!0),0>r[o]&&(a=!0);if(!t||!a)return u.num;n=n===undefined?.1:n;var f,s,l,c=n,h=!0;do{l=function(r,n,e){for(var t=e+1,a=r[0],u=1;r.length>u;u++)a+=r[u]/Math.pow(t,(n[u]-n[0])/365);return a}(r,e,c),f=c-l/function(r,n,e){for(var t=e+1,a=0,u=1;r.length>u;u++){var o=(n[u]-n[0])/365;a-=o*r[u]/Math.pow(t,o+1)}return a}(r,e,c),s=Math.abs(f-c),c=f,h=s>1e-10&&Math.abs(l)>1e-10}while(h);return c},n.ISPMT=function(r,n,e,t){return r=i.parseNumber(r),n=i.parseNumber(n),e=i.parseNumber(e),t=i.parseNumber(t),i.anyIsError(r,n,e,t)?u.value:t*r*(n/e-1)},n.MDURATION=function(){throw Error("MDURATION is not implemented")},n.MIRR=function(r,e,t){if(r=i.parseNumberArray(i.flatten(r)),e=i.parseNumber(e),t=i.parseNumber(t),i.anyIsError(r,e,t))return u.value;for(var a=r.length,o=[],f=[],s=0;a>s;s++)0>r[s]?o.push(r[s]):f.push(r[s]);var l=-n.NPV(t,f)*Math.pow(1+t,a-1),c=n.NPV(e,o)*(1+e);return Math.pow(l/c,1/(a-1))-1},n.NOMINAL=function(r,n){return r=i.parseNumber(r),n=i.parseNumber(n),i.anyIsError(r,n)?u.value:0>=r||1>n?u.num:(n=parseInt(n,10),(Math.pow(r+1,1/n)-1)*n)},n.NPER=function(r,n,e,t,a){if(a=a===undefined?0:a,t=t===undefined?0:t,r=i.parseNumber(r),n=i.parseNumber(n),e=i.parseNumber(e),t=i.parseNumber(t),a=i.parseNumber(a),i.anyIsError(r,n,e,t,a))return u.value;var o=n*(1+r*a)-t*r,f=e*r+n*(1+r*a);return Math.log(o/f)/Math.log(1+r)},n.NPV=function(){var r=i.parseNumberArray(i.flatten(arguments));if(r instanceof Error)return r;for(var n=r[0],e=0,t=1;r.length>t;t++)e+=r[t]/Math.pow(1+n,t);return e},n.ODDFPRICE=function(){throw Error("ODDFPRICE is not implemented")},n.ODDFYIELD=function(){throw Error("ODDFYIELD is not implemented")},n.ODDLPRICE=function(){throw Error("ODDLPRICE is not implemented")},n.ODDLYIELD=function(){throw Error("ODDLYIELD is not implemented")},n.PDURATION=function(r,n,e){return r=i.parseNumber(r),n=i.parseNumber(n),e=i.parseNumber(e),i.anyIsError(r,n,e)?u.value:r>0?(Math.log(e)-Math.log(n))/Math.log(1+r):u.num},n.PMT=function(r,n,e,t,a){if(t=t||0,a=a||0,r=i.parseNumber(r),n=i.parseNumber(n),e=i.parseNumber(e),t=i.parseNumber(t),a=i.parseNumber(a),i.anyIsError(r,n,e,t,a))return u.value;var o;if(0===r)o=(e+t)/n;else{var f=Math.pow(1+r,n);o=1===a?(t*r/(f-1)+e*r/(1-1/f))/(1+r):t*r/(f-1)+e*r/(1-1/f)}return-o},n.PPMT=function(r,e,t,a,o,f){return o=o||0,f=f||0,r=i.parseNumber(r),t=i.parseNumber(t),a=i.parseNumber(a),o=i.parseNumber(o),f=i.parseNumber(f),i.anyIsError(r,t,a,o,f)?u.value:n.PMT(r,t,a,o,f)-n.IPMT(r,e,t,a,o,f)},n.PRICE=function(){throw Error("PRICE is not implemented")},n.PRICEDISC=function(){throw Error("PRICEDISC is not implemented")},n.PRICEMAT=function(){throw Error("PRICEMAT is not implemented")},n.PV=function(r,n,e,t,a){return t=t||0,a=a||0,r=i.parseNumber(r),n=i.parseNumber(n),e=i.parseNumber(e),t=i.parseNumber(t),a=i.parseNumber(a),i.anyIsError(r,n,e,t,a)?u.value:0===r?-e*n-t:((1-Math.pow(1+r,n))/r*e*(1+r*a)-t)/Math.pow(1+r,n)},n.RATE=function(r,n,e,t,a,o){if(o=o===undefined?.01:o,t=t===undefined?0:t,a=a===undefined?0:a,r=i.parseNumber(r),n=i.parseNumber(n),e=i.parseNumber(e),t=i.parseNumber(t),a=i.parseNumber(a),o=i.parseNumber(o),i.anyIsError(r,n,e,t,a,o))return u.value;var f,s,l,c,h=0,p=0,m=0,E=o;for(1e-10>Math.abs(E)?f=e*(1+r*E)+n*(1+E*a)*r+t:(p=Math.exp(r*Math.log(1+E)),f=e*p+n*(1/E+a)*(p-1)+t),s=e+n*r+t,l=e*p+n*(1/E+a)*(p-1)+t,m=c=0,h=E;Math.abs(s-l)>1e-10&&50>m;)E=(l*c-s*h)/(l-s),c=h,h=E,1e-10>Math.abs(E)?f=e*(1+r*E)+n*(1+E*a)*r+t:(p=Math.exp(r*Math.log(1+E)),f=e*p+n*(1/E+a)*(p-1)+t),s=l,l=f,++m;return E},n.RECEIVED=function(){throw Error("RECEIVED is not implemented")},n.RRI=function(r,n,e){return r=i.parseNumber(r),n=i.parseNumber(n),e=i.parseNumber(e),i.anyIsError(r,n,e)?u.value:0===r||0===n?u.num:Math.pow(e/n,1/r)-1},n.SLN=function(r,n,e){return r=i.parseNumber(r),n=i.parseNumber(n),e=i.parseNumber(e),i.anyIsError(r,n,e)?u.value:0===e?u.num:(r-n)/e},n.SYD=function(r,n,e,t){return r=i.parseNumber(r),n=i.parseNumber(n),e=i.parseNumber(e),t=i.parseNumber(t),i.anyIsError(r,n,e,t)?u.value:0===e?u.num:1>t||t>e?u.num:(t=parseInt(t,10),(r-n)*(e-t+1)*2/(e*(e+1)))},n.TBILLEQ=function(r,n,e){return r=i.parseDate(r),n=i.parseDate(n),e=i.parseNumber(e),i.anyIsError(r,n,e)?u.value:e>0?r>n?u.num:n-r>31536e6?u.num:365*e/(360-e*o.DAYS360(r,n,!1)):u.num},n.TBILLPRICE=function(r,n,e){return r=i.parseDate(r),n=i.parseDate(n),e=i.parseNumber(e),i.anyIsError(r,n,e)?u.value:e>0?r>n?u.num:n-r>31536e6?u.num:100*(1-e*o.DAYS360(r,n,!1)/360):u.num},n.TBILLYIELD=function(r,n,e){return r=i.parseDate(r),n=i.parseDate(n),e=i.parseNumber(e),i.anyIsError(r,n,e)?u.value:e>0?r>n?u.num:n-r>31536e6?u.num:360*(100-e)/(e*o.DAYS360(r,n,!1)):u.num},n.VDB=function(){throw Error("VDB is not implemented")},n.XNPV=function(r,n,e){if(r=i.parseNumber(r),n=i.parseNumberArray(i.flatten(n)),e=i.parseDateArray(i.flatten(e)),i.anyIsError(r,n,e))return u.value;for(var t=0,a=0;n.length>a;a++)t+=n[a]/Math.pow(1+r,o.DAYS(e[a],e[0])/365);return t},n.YIELD=function(){throw Error("YIELD is not implemented")},n.YIELDDISC=function(){throw Error("YIELDDISC is not implemented")},n.YIELDMAT=function(){throw Error("YIELDMAT is not implemented")}},function(r,n,e){var t=e(0),a=e(1);n.MATCH=function(r,n,e){if(!r&&!n)return t.na;if(2===arguments.length&&(e=1),!(n instanceof Array))return t.na;if(-1!==e&&0!==e&&1!==e)return t.na;for(var a,u,o=0;n.length>o;o++)if(1===e){if(n[o]===r)return o+1;r>n[o]&&(u?n[o]>u&&(a=o+1,u=n[o]):(a=o+1,u=n[o]))}else if(0===e){if("string"==typeof r){if(r=r.replace(/\?/g,"."),n[o].toLowerCase().match(r.toLowerCase()))return o+1}else if(n[o]===r)return o+1}else if(-1===e){if(n[o]===r)return o+1;n[o]>r&&(u?u>n[o]&&(a=o+1,u=n[o]):(a=o+1,u=n[o]))}return a||t.na},n.VLOOKUP=function(r,n,e,a){if(!r||!n||!e)return t.na;a=a||!1;for(var u=0;n.length>u;u++){var o=n[u];if(!a&&o[0]===r||o[0]===r||a&&"string"==typeof o[0]&&-1!==o[0].toLowerCase().indexOf(r.toLowerCase()))return o.length+1>e?o[e-1]:t.ref}return t.na},n.HLOOKUP=function(r,n,e,u){if(!r||!n||!e)return t.na;u=u||!1;for(var o=a.transpose(n),i=0;o.length>i;i++){var f=o[i];if(!u&&f[0]===r||f[0]===r||u&&"string"==typeof f[0]&&-1!==f[0].toLowerCase().indexOf(r.toLowerCase()))return f.length+1>e?f[e-1]:t.ref}return t.na}},function(r,n,e){"use strict";function t(r,n){return r>n}n.__esModule=!0,n["default"]=t,t.SYMBOL=n.SYMBOL=">"},function(r,n,e){"use strict";function t(r,n){return r>=n}n.__esModule=!0,n["default"]=t,t.SYMBOL=n.SYMBOL=">="},function(r,n,e){"use strict";function t(r,n){return n>r}n.__esModule=!0,n["default"]=t,t.SYMBOL=n.SYMBOL="<"},function(r,n,e){"use strict";function t(r,n){return n>=r}n.__esModule=!0,n["default"]=t,t.SYMBOL=n.SYMBOL="<="},function(r,n,e){"use strict";function t(r){for(var n=arguments.length,e=Array(n>1?n-1:0),t=1;n>t;t++)e[t-1]=arguments[t];var o=e.reduce(function(r,n){return r-(0,a.toNumber)(n)},(0,a.toNumber)(r));if(isNaN(o))throw Error(u.ERROR_VALUE);return o}n.__esModule=!0,n.SYMBOL=undefined,n["default"]=t;var a=e(3),u=e(2);t.SYMBOL=n.SYMBOL="-"},function(r,n,e){"use strict";function t(r){for(var n=arguments.length,e=Array(n>1?n-1:0),t=1;n>t;t++)e[t-1]=arguments[t];var o=e.reduce(function(r,n){return r*(0,a.toNumber)(n)},(0,a.toNumber)(r));if(isNaN(o))throw Error(u.ERROR_VALUE);return o}n.__esModule=!0,n.SYMBOL=undefined,n["default"]=t;var a=e(3),u=e(2);t.SYMBOL=n.SYMBOL="*"},function(r,n,e){"use strict";function t(r,n){return r!==n}n.__esModule=!0,n["default"]=t,t.SYMBOL=n.SYMBOL="<>"},function(r,n,e){"use strict";function t(r,n){var e=Math.pow((0,a.toNumber)(r),(0,a.toNumber)(n));if(isNaN(e))throw Error(u.ERROR_VALUE);return e}n.__esModule=!0,n.SYMBOL=undefined,n["default"]=t;var a=e(3),u=e(2);t.SYMBOL=n.SYMBOL="^"},function(r,n,e){var t=function(){function r(){this.yy={}}var n=function(r,n,e,t){for(e=e||{},t=r.length;t--;e[r[t]]=n);return e},e=[1,5],t=[1,8],a=[1,6],u=[1,7],o=[1,9],i=[1,14],f=[1,15],s=[1,16],l=[1,12],c=[1,13],h=[1,17],p=[1,19],m=[1,20],E=[1,21],N=[1,22],g=[1,23],v=[1,24],I=[1,25],d=[1,26],b=[1,27],M=[1,28],y=[5,9,10,11,13,14,15,16,17,18,19,20,29,30],A=[5,9,10,11,13,14,15,16,17,18,19,20,29,30,32],R=[5,9,10,11,13,14,15,16,17,18,19,20,29,30,34],T=[5,10,11,13,14,15,16,17,29,30],O=[5,10,13,14,15,16,29,30],S=[5,10,11,13,14,15,16,17,18,19,29,30],L=[13,29,30],C={trace:function(){},yy:{},symbols_:{error:2,expressions:3,expression:4,EOF:5,variableSequence:6,number:7,STRING:8,"&":9,"=":10,"+":11,"(":12,")":13,"<":14,">":15,NOT:16,"-":17,"*":18,"/":19,"^":20,FUNCTION:21,expseq:22,cell:23,ABSOLUTE_CELL:24,RELATIVE_CELL:25,MIXED_CELL:26,":":27,ARRAY:28,";":29,",":30,VARIABLE:31,DECIMAL:32,NUMBER:33,"%":34,ERROR:35,$accept:0,$end:1},terminals_:{5:"EOF",8:"STRING",9:"&",10:"=",11:"+",12:"(",13:")",14:"<",15:">",16:"NOT",17:"-",18:"*",19:"/",20:"^",21:"FUNCTION",24:"ABSOLUTE_CELL",25:"RELATIVE_CELL",26:"MIXED_CELL",27:":",28:"ARRAY",29:";",30:",",31:"VARIABLE",32:"DECIMAL",33:"NUMBER",34:"%",35:"ERROR"},productions_:[0,[3,2],[4,1],[4,1],[4,1],[4,3],[4,3],[4,3],[4,3],[4,4],[4,4],[4,4],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,2],[4,2],[4,3],[4,4],[4,1],[4,1],[4,2],[23,1],[23,1],[23,1],[23,3],[23,3],[23,3],[23,3],[23,3],[23,3],[23,3],[23,3],[23,3],[22,1],[22,1],[22,3],[22,3],[6,1],[6,3],[7,1],[7,3],[7,2],[2,1]],performAction:function(r,n,e,t,a,u,o){var i=u.length-1;switch(a){case 1:return u[i-1];case 2:this.$=t.callVariable(u[i][0]);break;case 3:this.$=t.toNumber(u[i]);break;case 4:this.$=t.trimEdges(u[i]);break;case 5:this.$=t.evaluateByOperator("&",[u[i-2],u[i]]);break;case 6:this.$=t.evaluateByOperator("=",[u[i-2],u[i]]);break;case 7:this.$=t.evaluateByOperator("+",[u[i-2],u[i]]);break;case 8:this.$=u[i-1];break;case 9:this.$=t.evaluateByOperator("<=",[u[i-3],u[i]]);break;case 10:this.$=t.evaluateByOperator(">=",[u[i-3],u[i]]);break;case 11:this.$=t.evaluateByOperator("<>",[u[i-3],u[i]]);break;case 12:this.$=t.evaluateByOperator("NOT",[u[i-2],u[i]]);break;case 13:this.$=t.evaluateByOperator(">",[u[i-2],u[i]]);break;case 14:this.$=t.evaluateByOperator("<",[u[i-2],u[i]]);break;case 15:this.$=t.evaluateByOperator("-",[u[i-2],u[i]]);break;case 16:this.$=t.evaluateByOperator("*",[u[i-2],u[i]]);break;case 17:this.$=t.evaluateByOperator("/",[u[i-2],u[i]]);break;case 18:this.$=t.evaluateByOperator("^",[u[i-2],u[i]]);break;case 19:var f=t.invertNumber(u[i]);this.$=f,isNaN(this.$)&&(this.$=0);break;case 20:var f=t.toNumber(u[i]);this.$=f,isNaN(this.$)&&(this.$=0);break;case 21:this.$=t.callFunction(u[i-2]);break;case 22:this.$=t.callFunction(u[i-3],u[i-1]);break;case 26:case 27:case 28:this.$=t.cellValue(u[i]);break;case 29:case 30:case 31:case 32:case 33:case 34:case 35:case 36:case 37:this.$=t.rangeValue(u[i-2],u[i]);break;case 38:case 42:this.$=[u[i]];break;case 39:this.$=t.trimEdges(r).split(",");break;case 40:case 41:u[i-2].push(u[i]),this.$=u[i-2];break;case 43:this.$=Array.isArray(u[i-2])?u[i-2]:[u[i-2]],this.$.push(u[i]);break;case 44:this.$=u[i];break;case 45:this.$=1*(u[i-2]+"."+u[i]);break;case 46:this.$=.01*u[i-1];break;case 47:this.$=t.throwError(u[i])}},table:[{2:11,3:1,4:2,6:3,7:4,8:e,11:t,12:a,17:u,21:o,23:10,24:i,25:f,26:s,31:l,33:c,35:h},{1:[3]},{5:[1,18],9:p,10:m,11:E,14:N,15:g,16:v,17:I,18:d,19:b,20:M},n(y,[2,2],{32:[1,29]}),n(y,[2,3],{34:[1,30]}),n(y,[2,4]),{2:11,4:31,6:3,7:4,8:e,11:t,12:a,17:u,21:o,23:10,24:i,25:f,26:s,31:l,33:c,35:h},{2:11,4:32,6:3,7:4,8:e,11:t,12:a,17:u,21:o,23:10,24:i,25:f,26:s,31:l,33:c,35:h},{2:11,4:33,6:3,7:4,8:e,11:t,12:a,17:u,21:o,23:10,24:i,25:f,26:s,31:l,33:c,35:h},{12:[1,34]},n(y,[2,23]),n(y,[2,24],{2:35,35:h}),n(A,[2,42]),n(R,[2,44],{32:[1,36]}),n(y,[2,26],{27:[1,37]}),n(y,[2,27],{27:[1,38]}),n(y,[2,28],{27:[1,39]}),n([5,9,10,11,13,14,15,16,17,18,19,20,29,30,35],[2,47]),{1:[2,1]},{2:11,4:40,6:3,7:4,8:e,11:t,12:a,17:u,21:o,23:10,24:i,25:f,26:s,31:l,33:c,35:h},{2:11,4:41,6:3,7:4,8:e,11:t,12:a,17:u,21:o,23:10,24:i,25:f,26:s,31:l,33:c,35:h},{2:11,4:42,6:3,7:4,8:e,11:t,12:a,17:u,21:o,23:10,24:i,25:f,26:s,31:l,33:c,35:h},{2:11,4:45,6:3,7:4,8:e,10:[1,43],11:t,12:a,15:[1,44],17:u,21:o,23:10,24:i,25:f,26:s,31:l,33:c,35:h},{2:11,4:47,6:3,7:4,8:e,10:[1,46],11:t,12:a,17:u,21:o,23:10,24:i,25:f,26:s,31:l,33:c,35:h},{2:11,4:48,6:3,7:4,8:e,11:t,12:a,17:u,21:o,23:10,24:i,25:f,26:s,31:l,33:c,35:h},{2:11,4:49,6:3,7:4,8:e,11:t,12:a,17:u,21:o,23:10,24:i,25:f,26:s,31:l,33:c,35:h},{2:11,4:50,6:3,7:4,8:e,11:t,12:a,17:u,21:o,23:10,24:i,25:f,26:s,31:l,33:c,35:h},{2:11,4:51,6:3,7:4,8:e,11:t,12:a,17:u,21:o,23:10,24:i,25:f,26:s,31:l,33:c,35:h},{2:11,4:52,6:3,7:4,8:e,11:t,12:a,17:u,21:o,23:10,24:i,25:f,26:s,31:l,33:c,35:h},{31:[1,53]},n(R,[2,46]),{9:p,10:m,11:E,13:[1,54],14:N,15:g,16:v,17:I,18:d,19:b,20:M},n(T,[2,19],{9:p,18:d,19:b,20:M}),n(T,[2,20],{9:p,18:d,19:b,20:M}),{2:11,4:57,6:3,7:4,8:e,11:t,12:a,13:[1,55],17:u,21:o,22:56,23:10,24:i,25:f,26:s,28:[1,58],31:l,33:c,35:h},n(y,[2,25]),{33:[1,59]},{24:[1,60],25:[1,61],26:[1,62]},{24:[1,63],25:[1,64],26:[1,65]},{24:[1,66],25:[1,67],26:[1,68]},n(y,[2,5]),n([5,10,13,29,30],[2,6],{9:p,11:E,14:N,15:g,16:v,17:I,18:d,19:b,20:M}),n(T,[2,7],{9:p,18:d,19:b,20:M}),{2:11,4:69,6:3,7:4,8:e,11:t,12:a,17:u,21:o,23:10,24:i,25:f,26:s,31:l,33:c,35:h},{2:11,4:70,6:3,7:4,8:e,11:t,12:a,17:u,21:o,23:10,24:i,25:f,26:s,31:l,33:c,35:h},n(O,[2,14],{9:p,11:E,17:I,18:d,19:b,20:M}),{2:11,4:71,6:3,7:4,8:e,11:t,12:a,17:u,21:o,23:10,24:i,25:f,26:s,31:l,33:c,35:h},n(O,[2,13],{9:p,11:E,17:I,18:d,19:b,20:M}),n([5,10,13,16,29,30],[2,12],{9:p,11:E,14:N,15:g,17:I,18:d,19:b,20:M}),n(T,[2,15],{9:p,18:d,19:b,20:M}),n(S,[2,16],{9:p,20:M}),n(S,[2,17],{9:p,20:M}),n([5,10,11,13,14,15,16,17,18,19,20,29,30],[2,18],{9:p}),n(A,[2,43]),n(y,[2,8]),n(y,[2,21]),{13:[1,72],29:[1,73],30:[1,74]},n(L,[2,38],{9:p,10:m,11:E,14:N,15:g,16:v,17:I,18:d,19:b,20:M}),n(L,[2,39]),n(R,[2,45]),n(y,[2,29]),n(y,[2,30]),n(y,[2,31]),n(y,[2,32]),n(y,[2,33]),n(y,[2,34]),n(y,[2,35]),n(y,[2,36]),n(y,[2,37]),n(O,[2,9],{9:p,11:E,17:I,18:d,19:b,20:M}),n(O,[2,11],{9:p,11:E,17:I,18:d,19:b,20:M}),n(O,[2,10],{9:p,11:E,17:I,18:d,19:b,20:M}),n(y,[2,22]),{2:11,4:75,6:3,7:4,8:e,11:t,12:a,17:u,21:o,23:10,24:i,25:f,26:s,31:l,33:c,35:h},{2:11,4:76,6:3,7:4,8:e,11:t,12:a,17:u,21:o,23:10,24:i,25:f,26:s,31:l,33:c,35:h},n(L,[2,40],{9:p,10:m,11:E,14:N,15:g,16:v,17:I,18:d,19:b,20:M}),n(L,[2,41],{9:p,10:m,11:E,14:N,15:g,16:v,17:I,18:d,19:b,20:M})],defaultActions:{18:[2,1]},parseError:function(r,n){if(!n.recoverable){var e=Error(r);throw e.hash=n,e}this.trace(r)},parse:function(r){function n(r){for(var n=t.length-1,e=0;;){if(""+c in o[r])return e;if(0===r||2>n)return!1;n-=2,r=t[n],++e}}var e=this,t=[0],a=[null],u=[],o=this.table,i="",f=0,s=0,l=0,c=2,h=u.slice.call(arguments,1),p=Object.create(this.lexer),m={yy:{}};for(var E in this.yy)Object.prototype.hasOwnProperty.call(this.yy,E)&&(m.yy[E]=this.yy[E]);p.setInput(r,m.yy),m.yy.lexer=p,m.yy.parser=this,"undefined"==typeof p.yylloc&&(p.yylloc={});var N=p.yylloc;u.push(N);var g=p.options&&p.options.ranges;this.parseError="function"==typeof m.yy.parseError?m.yy.parseError:Object.getPrototypeOf(this).parseError;for(var v,I,d,b,M,y,A,R,T,O=function(){var r;return r=p.lex()||1,"number"!=typeof r&&(r=e.symbols_[r]||r),r},S={};;){if(d=t[t.length-1],this.defaultActions[d]?b=this.defaultActions[d]:(null!==v&&void 0!==v||(v=O()),b=o[d]&&o[d][v]),void 0===b||!b.length||!b[0]){var L,C="";if(l)1!==I&&(L=n(d));else{L=n(d),T=[];for(y in o[d])this.terminals_[y]&&y>c&&T.push("'"+this.terminals_[y]+"'");C=p.showPosition?"Parse error on line "+(f+1)+":\n"+p.showPosition()+"\nExpecting "+T.join(", ")+", got '"+(this.terminals_[v]||v)+"'":"Parse error on line "+(f+1)+": Unexpected "+(1==v?"end of input":"'"+(this.terminals_[v]||v)+"'"),this.parseError(C,{text:p.match,token:this.terminals_[v]||v,line:p.yylineno,loc:N,expected:T,recoverable:!1!==L})}if(3==l){if(1===v||1===I)throw Error(C||"Parsing halted while starting to recover from another error.");s=p.yyleng,i=p.yytext,f=p.yylineno,N=p.yylloc,v=O()}if(!1===L)throw Error(C||"Parsing halted. No suitable error recovery rule available.");!function(r){t.length=t.length-2*r,a.length=a.length-r,u.length=u.length-r}(L),I=v==c?null:v,v=c,d=t[t.length-1],b=o[d]&&o[d][c],l=3}if(b[0]instanceof Array&&b.length>1)throw Error("Parse Error: multiple actions possible at state: "+d+", token: "+v);switch(b[0]){case 1:t.push(v),a.push(p.yytext),u.push(p.yylloc),t.push(b[1]),v=null,I?(v=I,I=null):(s=p.yyleng,i=p.yytext,f=p.yylineno,N=p.yylloc,l>0&&l--);break;case 2:if(A=this.productions_[b[1]][1],S.$=a[a.length-A],S._$={first_line:u[u.length-(A||1)].first_line,last_line:u[u.length-1].last_line,first_column:u[u.length-(A||1)].first_column,last_column:u[u.length-1].last_column},g&&(S._$.range=[u[u.length-(A||1)].range[0],u[u.length-1].range[1]]),void 0!==(M=this.performAction.apply(S,[i,s,f,m.yy,b[1],a,u].concat(h))))return M;A&&(t=t.slice(0,-1*A*2),a=a.slice(0,-1*A),u=u.slice(0,-1*A)),t.push(this.productions_[b[1]][0]),a.push(S.$),u.push(S._$),R=o[t[t.length-2]][t[t.length-1]],t.push(R);break;case 3:return!0}}return!0}};return C.lexer=function(){return{EOF:1,parseError:function(r,n){if(!this.yy.parser)throw Error(r);this.yy.parser.parseError(r,n)},setInput:function(r,n){return this.yy=n||this.yy||{},this._input=r,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var r=this._input[0];return this.yytext+=r,this.yyleng++,this.offset++,this.match+=r,this.matched+=r,r.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),r},unput:function(r){var n=r.length,e=r.split(/(?:\r\n?|\n)/g);this._input=r+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-n),this.offset-=n;var t=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),e.length-1&&(this.yylineno-=e.length-1);var a=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:e?(e.length===t.length?this.yylloc.first_column:0)+t[t.length-e.length].length-e[0].length:this.yylloc.first_column-n},this.options.ranges&&(this.yylloc.range=[a[0],a[0]+this.yyleng-n]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):this.parseError("Lexical error on line "+(this.yylineno+1)+". You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},less:function(r){this.unput(this.match.slice(r))},pastInput:function(){var r=this.matched.substr(0,this.matched.length-this.match.length);return(r.length>20?"...":"")+r.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var r=this.match;return 20>r.length&&(r+=this._input.substr(0,20-r.length)),(r.substr(0,20)+(r.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var r=this.pastInput(),n=Array(r.length+1).join("-");return r+this.upcomingInput()+"\n"+n+"^"},test_match:function(r,n){var e,t,a;if(this.options.backtrack_lexer&&(a={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(a.yylloc.range=this.yylloc.range.slice(0))),t=r[0].match(/(?:\r\n?|\n).*/g),t&&(this.yylineno+=t.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:t?t[t.length-1].length-t[t.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+r[0].length},this.yytext+=r[0],this.match+=r[0],this.matches=r,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(r[0].length),this.matched+=r[0],e=this.performAction.call(this,this.yy,this,n,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),e)return e;if(this._backtrack){for(var u in a)this[u]=a[u];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var r,n,e,t;this._more||(this.yytext="",this.match="");for(var a=this._currentRules(),u=0;a.length>u;u++)if((e=this._input.match(this.rules[a[u]]))&&(!n||e[0].length>n[0].length)){if(n=e,t=u,this.options.backtrack_lexer){if(!1!==(r=this.test_match(e,a[u])))return r;if(this._backtrack){n=!1;continue}return!1}if(!this.options.flex)break}return n?!1!==(r=this.test_match(n,a[t]))&&r:""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+". Unrecognized text.\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var r=this.next();return r||this.lex()},begin:function(r){this.conditionStack.push(r)},popState:function(){return this.conditionStack.length-1>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(r){return r=this.conditionStack.length-1-Math.abs(r||0),0>r?"INITIAL":this.conditionStack[r]},pushState:function(r){this.begin(r)},stateStackSize:function(){return this.conditionStack.length},options:{},performAction:function(r,n,e,t){switch(e){case 0:break;case 1:case 2:return 8;case 3:return 21;case 4:return 35;case 5:return 24;case 6:case 7:return 26;case 8:return 25;case 9:return 21;case 10:case 11:return 31;case 12:return 33;case 13:return 28;case 14:return 9;case 15:return" ";case 16:return 32;case 17:return 27;case 18:return 29;case 19:return 30;case 20:return 18;case 21:return 19;case 22:return 17;case 23:return 11;case 24:return 20;case 25:return 12;case 26:return 13;case 27:return 15;case 28:return 14;case 29:return 16;case 30:return'"';case 31:return"'";case 32:return"!";case 33:return 10;case 34:return 34;case 35:return"#";case 36:return 5}},rules:[/^(?:\s+)/,/^(?:"(\\["]|[^"])*")/,/^(?:'(\\[']|[^'])*')/,/^(?:[A-Za-z]{1,}[A-Za-z_0-9\.]+(?=[(]))/,/^(?:#[A-Z0-9\/]+(!|\?)?)/,/^(?:\$[A-Za-z]+\$[0-9]+)/,/^(?:\$[A-Za-z]+[0-9]+)/,/^(?:[A-Za-z]+\$[0-9]+)/,/^(?:[A-Za-z]+[0-9]+)/,/^(?:[A-Za-z\.]+(?=[(]))/,/^(?:[A-Za-z]{1,}[A-Za-z_0-9]+)/,/^(?:[A-Za-z_]+)/,/^(?:[0-9]+)/,/^(?:\[(.*)?\])/,/^(?:&)/,/^(?: )/,/^(?:[.])/,/^(?::)/,/^(?:;)/,/^(?:,)/,/^(?:\*)/,/^(?:\/)/,/^(?:-)/,/^(?:\+)/,/^(?:\^)/,/^(?:\()/,/^(?:\))/,/^(?:>)/,/^(?:<)/,/^(?:NOT\b)/,/^(?:")/,/^(?:')/,/^(?:!)/,/^(?:=)/,/^(?:%)/,/^(?:[#])/,/^(?:$)/],conditions:{INITIAL:{rules:[0,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],inclusive:!0}}}}(),r.prototype=C,C.Parser=r,new r}();n.parser=t,n.Parser=t.Parser,n.parse=function(){return t.parse.apply(t,arguments)}},function(r,n,e){"use strict";function t(r){var n=arguments.length>1&&arguments[1]!==undefined?arguments[1]:1;return r=r.substring(n,r.length-n)}n.__esModule=!0,n.trimEdges=t}])}); \ No newline at end of file diff --git a/package.json b/package.json index 60fcde39..a4e43b9c 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "hot-formula-parser", - "version": "3.0.1", + "version": "3.0.2", "description": "Formula parser", "browser": "dist/formula-parser.js", "main": "lib/index.js",