UNPKG

mathjs

Version:

Math.js is an extensive math library for JavaScript and Node.js. It features a flexible expression parser with support for symbolic computation, comes with a large set of built-in functions and constants, and offers an integrated solution to work with dif

33 lines 656 kB
/** * math.js * https://github.com/josdejong/mathjs * * Math.js is an extensive math library for JavaScript and Node.js, * It features real and complex numbers, units, matrices, a large set of * mathematical functions, and a flexible expression parser. * * @version 9.4.5 * @date 2021-09-15 * * @license * Copyright (C) 2013-2021 Jos de Jong <wjosdejong@gmail.com> * * Licensed under the Apache License, Version 2.0 (the "License"); you may not * use this file except in compliance with the License. You may obtain a copy * of the License at * * https://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the * License for the specific language governing permissions and limitations under * the License. */ !function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.math=t():e.math=t()}(this,(function(){return function(e){var t={};function r(n){if(t[n])return t[n].exports;var i=t[n]={i:n,l:!1,exports:{}};return e[n].call(i.exports,i,i.exports,r),i.l=!0,i.exports}return r.m=e,r.c=t,r.d=function(e,t,n){r.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},r.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.t=function(e,t){if(1&t&&(e=r(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(r.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var i in e)r.d(n,i,function(t){return e[t]}.bind(null,i));return n},r.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(t,"a",t),t},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.p="",r(r.s=238)}([,function(e,t,r){var n=r(14),i=r(63).f,a=r(43),o=r(39),s=r(106),u=r(129),c=r(93);e.exports=function(e,t){var r,f,l,p,h,m=e.target,d=e.global,y=e.stat;if(r=d?n:y?n[m]||s(m,{}):(n[m]||{}).prototype)for(f in t){if(p=t[f],l=e.noTargetGet?(h=i(r,f))&&h.value:r[f],!c(d?f:m+(y?".":"#")+f,e.forced)&&void 0!==l){if(typeof p==typeof l)continue;u(p,l)}(e.sham||l&&l.sham)&&a(p,"sham",!0),o(r,f,p,e)}}},function(e,t,r){r(1)({target:"Array",stat:!0},{isArray:r(66)})},function(e,t,r){"use strict";var n=r(1),i=r(58).map;n({target:"Array",proto:!0,forced:!r(81)("map")},{map:function(e){return i(this,e,arguments.length>1?arguments[1]:void 0)}})},function(e,t,r){var n=r(118),i=r(39),a=r(197);n||i(Object.prototype,"toString",a,{unsafe:!0})},function(e,t){function r(t){return"function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?(e.exports=r=function(e){return typeof e},e.exports.default=e.exports,e.exports.__esModule=!0):(e.exports=r=function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},e.exports.default=e.exports,e.exports.__esModule=!0),r(t)}e.exports=r,e.exports.default=e.exports,e.exports.__esModule=!0},function(e,t,r){"use strict";var n=r(1),i=r(135);n({target:"Array",proto:!0,forced:[].forEach!=i},{forEach:i})},function(e,t,r){var n=r(14),i=r(136),a=r(137),o=r(135),s=r(43),u=function(e){if(e&&e.forEach!==o)try{s(e,"forEach",o)}catch(t){e.forEach=o}};for(var c in i)u(n[c]&&n[c].prototype);u(a)},function(e,t,r){var n=r(39),i=Date.prototype,a=i.toString,o=i.getTime;"Invalid Date"!=String(new Date(NaN))&&n(i,"toString",(function(){var e=o.call(this);return e==e?a.call(this):"Invalid Date"}))},function(e,t,r){"use strict";var n=r(39),i=r(25),a=r(27),o=r(10),s=r(113),u=RegExp.prototype,c=u.toString,f=o((function(){return"/a/b"!=c.call({source:"a",flags:"b"})})),l="toString"!=c.name;(f||l)&&n(RegExp.prototype,"toString",(function(){var e=i(this),t=a(e.source),r=e.flags;return"/"+t+"/"+a(void 0===r&&e instanceof RegExp&&!("flags"in u)?s.call(e):r)}),{unsafe:!0})},function(e,t){e.exports=function(e){try{return!!e()}catch(e){return!0}}},function(e,t,r){var n=r(20),i=r(24).f,a=Function.prototype,o=a.toString,s=/^\s*function ([^ (]*)/;n&&!("name"in a)&&i(a,"name",{configurable:!0,get:function(){try{return o.call(this).match(s)[1]}catch(e){return""}}})},function(e,t,r){"use strict";var n=r(1),i=r(10),a=r(32),o=r(103);n({target:"Date",proto:!0,forced:i((function(){return null!==new Date(NaN).toJSON()||1!==Date.prototype.toJSON.call({toISOString:function(){return 1}})}))},{toJSON:function(e){var t=a(this),r=o(t,"number");return"number"!=typeof r||isFinite(r)?t.toISOString():null}})},function(e,t,r){"use strict";r(1)({target:"URL",proto:!0,enumerable:!0},{toJSON:function(){return URL.prototype.toString.call(this)}})},function(e,t,r){(function(t){var r=function(e){return e&&e.Math==Math&&e};e.exports=r("object"==typeof globalThis&&globalThis)||r("object"==typeof window&&window)||r("object"==typeof self&&self)||r("object"==typeof t&&t)||function(){return this}()||Function("return this")()}).call(this,r(178))},function(e,t,r){var n=r(14),i=r(88),a=r(31),o=r(90),s=r(104),u=r(126),c=i("wks"),f=n.Symbol,l=u?f:f&&f.withoutSetter||o;e.exports=function(e){return a(c,e)&&(s||"string"==typeof c[e])||(s&&a(f,e)?c[e]=f[e]:c[e]=l("Symbol."+e)),c[e]}},function(e,t,r){"use strict";var n=r(1),i=r(85),a=r(42),o=r(57),s=[].join,u=i!=Object,c=o("join",",");n({target:"Array",proto:!0,forced:u||!c},{join:function(e){return s.call(a(this),void 0===e?",":e)}})},function(e,t,r){"use strict";var n=r(1),i=r(23),a=r(66),o=r(92),s=r(36),u=r(42),c=r(82),f=r(15),l=r(81)("slice"),p=f("species"),h=[].slice,m=Math.max;n({target:"Array",proto:!0,forced:!l},{slice:function(e,t){var r,n,f,l=u(this),d=s(l.length),y=o(e,d),v=o(void 0===t?d:t,d);if(a(l)&&("function"!=typeof(r=l.constructor)||r!==Array&&!a(r.prototype)?i(r)&&null===(r=r[p])&&(r=void 0):r=void 0,r===Array||void 0===r))return h.call(l,y,v);for(n=new(void 0===r?Array:r)(m(v-y,0)),f=0;y<v;y++,f++)y in l&&c(n,f,l[y]);return n.length=f,n}})},function(e,t,r){"use strict";var n=r(1),i=r(95);n({target:"RegExp",proto:!0,forced:/./.exec!==i},{exec:i})},function(e,t,r){"use strict";var n=r(1),i=r(10),a=r(66),o=r(23),s=r(32),u=r(36),c=r(82),f=r(110),l=r(81),p=r(15),h=r(77),m=p("isConcatSpreadable"),d=h>=51||!i((function(){var e=[];return e[m]=!1,e.concat()[0]!==e})),y=l("concat"),v=function(e){if(!o(e))return!1;var t=e[m];return void 0!==t?!!t:a(e)};n({target:"Array",proto:!0,forced:!d||!y},{concat:function(e){var t,r,n,i,a,o=s(this),l=f(o,0),p=0;for(t=-1,n=arguments.length;t<n;t++)if(v(a=-1===t?o:arguments[t])){if(p+(i=u(a.length))>9007199254740991)throw TypeError("Maximum allowed index exceeded");for(r=0;r<i;r++,p++)r in a&&c(l,p,a[r])}else{if(p>=9007199254740991)throw TypeError("Maximum allowed index exceeded");c(l,p++,a)}return l.length=p,l}})},function(e,t,r){var n=r(10);e.exports=!n((function(){return 7!=Object.defineProperty({},1,{get:function(){return 7}})[1]}))},function(e,t,r){"use strict";var n=r(1),i=r(58).find,a=r(120),o=!0;"find"in[]&&Array(1).find((function(){o=!1})),n({target:"Array",proto:!0,forced:o},{find:function(e){return i(this,e,arguments.length>1?arguments[1]:void 0)}}),a("find")},function(e,t,r){var n=r(223),i=r(224),a=r(168),o=r(225);e.exports=function(e){return n(e)||i(e)||a(e)||o()},e.exports.default=e.exports,e.exports.__esModule=!0},function(e,t){e.exports=function(e){return"object"==typeof e?null!==e:"function"==typeof e}},function(e,t,r){var n=r(20),i=r(127),a=r(25),o=r(86),s=Object.defineProperty;t.f=n?s:function(e,t,r){if(a(e),t=o(t),a(r),i)try{return s(e,t,r)}catch(e){}if("get"in r||"set"in r)throw TypeError("Accessors not supported");return"value"in r&&(e[t]=r.value),e}},function(e,t,r){var n=r(23);e.exports=function(e){if(!n(e))throw TypeError(String(e)+" is not an object");return e}},function(e,t,r){"use strict";var n=r(1),i=r(132).indexOf,a=r(57),o=[].indexOf,s=!!o&&1/[1].indexOf(1,-0)<0,u=a("indexOf");n({target:"Array",proto:!0,forced:s||!u},{indexOf:function(e){return s?o.apply(this,arguments)||0:i(this,e,arguments.length>1?arguments[1]:void 0)}})},function(e,t,r){var n=r(76);e.exports=function(e){if(n(e))throw TypeError("Cannot convert a Symbol value to a string");return String(e)}},function(e,t,r){"use strict";var n=r(20),i=r(14),a=r(93),o=r(39),s=r(31),u=r(54),c=r(112),f=r(76),l=r(103),p=r(10),h=r(48),m=r(65).f,d=r(63).f,y=r(24).f,v=r(98).trim,g=i.Number,x=g.prototype,b="Number"==u(h(x)),w=function(e){if(f(e))throw TypeError("Cannot convert a Symbol value to a number");var t,r,n,i,a,o,s,u,c=l(e,"number");if("string"==typeof c&&c.length>2)if(43===(t=(c=v(c)).charCodeAt(0))||45===t){if(88===(r=c.charCodeAt(2))||120===r)return NaN}else if(48===t){switch(c.charCodeAt(1)){case 66:case 98:n=2,i=49;break;case 79:case 111:n=8,i=55;break;default:return+c}for(o=(a=c.slice(2)).length,s=0;s<o;s++)if((u=a.charCodeAt(s))<48||u>i)return NaN;return parseInt(a,n)}return+c};if(a("Number",!g(" 0o1")||!g("0b1")||g("+0x1"))){for(var N,M=function(e){var t=arguments.length<1?0:e,r=this;return r instanceof M&&(b?p((function(){x.valueOf.call(r)})):"Number"!=u(r))?c(new g(w(t)),r,M):w(t)},E=n?m(g):"MAX_VALUE,MIN_VALUE,NaN,NEGATIVE_INFINITY,POSITIVE_INFINITY,EPSILON,isFinite,isInteger,isNaN,isSafeInteger,MAX_SAFE_INTEGER,MIN_SAFE_INTEGER,parseFloat,parseInt,isInteger,fromString,range".split(","),S=0;E.length>S;S++)s(g,N=E[S])&&!s(M,N)&&y(M,N,d(g,N));M.prototype=x,x.constructor=M,o(i,"Number",M)}},function(e,t){function r(){return e.exports=r=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},e.exports.default=e.exports,e.exports.__esModule=!0,r.apply(this,arguments)}e.exports=r,e.exports.default=e.exports,e.exports.__esModule=!0},function(e,t,r){var n; /** * @license Complex.js v2.0.15 12/05/2020 * * Copyright (c) 2020, Robert Eisele (robert@xarg.org) * Dual licensed under the MIT or GPL Version 2 licenses. **/!function(r){"use strict";var i=function(e){return.5*(Math.exp(e)+Math.exp(-e))},a=function(e){return.5*(Math.exp(e)-Math.exp(-e))},o=function(){throw SyntaxError("Invalid Param")};function s(e,t){var r=Math.abs(e),n=Math.abs(t);return 0===e?Math.log(n):0===t?Math.log(r):r<3e3&&n<3e3?.5*Math.log(e*e+t*t):Math.log(e/Math.cos(Math.atan2(t,e)))}function u(e,t){if(!(this instanceof u))return new u(e,t);var r=function(e,t){var r={re:0,im:0};if(null==e)r.re=r.im=0;else if(void 0!==t)r.re=e,r.im=t;else switch(typeof e){case"object":if("im"in e&&"re"in e)r.re=e.re,r.im=e.im;else if("abs"in e&&"arg"in e){if(!Number.isFinite(e.abs)&&Number.isFinite(e.arg))return u.INFINITY;r.re=e.abs*Math.cos(e.arg),r.im=e.abs*Math.sin(e.arg)}else if("r"in e&&"phi"in e){if(!Number.isFinite(e.r)&&Number.isFinite(e.phi))return u.INFINITY;r.re=e.r*Math.cos(e.phi),r.im=e.r*Math.sin(e.phi)}else 2===e.length?(r.re=e[0],r.im=e[1]):o();break;case"string":r.im=r.re=0;var n=e.match(/\d+\.?\d*e[+-]?\d+|\d+\.?\d*|\.\d+|./g),i=1,a=0;null===n&&o();for(var s=0;s<n.length;s++){var c=n[s];" "===c||"\t"===c||"\n"===c||("+"===c?i++:"-"===c?a++:"i"===c||"I"===c?(i+a===0&&o()," "===n[s+1]||isNaN(n[s+1])?r.im+=parseFloat((a%2?"-":"")+"1"):(r.im+=parseFloat((a%2?"-":"")+n[s+1]),s++),i=a=0):((i+a===0||isNaN(c))&&o(),"i"===n[s+1]||"I"===n[s+1]?(r.im+=parseFloat((a%2?"-":"")+c),s++):r.re+=parseFloat((a%2?"-":"")+c),i=a=0))}i+a>0&&o();break;case"number":r.im=0,r.re=e;break;default:o()}return isNaN(r.re)||isNaN(r.im),r}(e,t);this.re=r.re,this.im=r.im}u.prototype={re:0,im:0,sign:function(){var e=this.abs();return new u(this.re/e,this.im/e)},add:function(e,t){var r=new u(e,t);return this.isInfinite()&&r.isInfinite()?u.NAN:this.isInfinite()||r.isInfinite()?u.INFINITY:new u(this.re+r.re,this.im+r.im)},sub:function(e,t){var r=new u(e,t);return this.isInfinite()&&r.isInfinite()?u.NAN:this.isInfinite()||r.isInfinite()?u.INFINITY:new u(this.re-r.re,this.im-r.im)},mul:function(e,t){var r=new u(e,t);return this.isInfinite()&&r.isZero()||this.isZero()&&r.isInfinite()?u.NAN:this.isInfinite()||r.isInfinite()?u.INFINITY:0===r.im&&0===this.im?new u(this.re*r.re,0):new u(this.re*r.re-this.im*r.im,this.re*r.im+this.im*r.re)},div:function(e,t){var r=new u(e,t);if(this.isZero()&&r.isZero()||this.isInfinite()&&r.isInfinite())return u.NAN;if(this.isInfinite()||r.isZero())return u.INFINITY;if(this.isZero()||r.isInfinite())return u.ZERO;e=this.re,t=this.im;var n,i,a=r.re,o=r.im;return 0===o?new u(e/a,t/a):Math.abs(a)<Math.abs(o)?new u((e*(i=a/o)+t)/(n=a*i+o),(t*i-e)/n):new u((e+t*(i=o/a))/(n=o*i+a),(t-e*i)/n)},pow:function(e,t){var r=new u(e,t);if(e=this.re,t=this.im,r.isZero())return u.ONE;if(0===r.im){if(0===t&&e>0)return new u(Math.pow(e,r.re),0);if(0===e)switch((r.re%4+4)%4){case 0:return new u(Math.pow(t,r.re),0);case 1:return new u(0,Math.pow(t,r.re));case 2:return new u(-Math.pow(t,r.re),0);case 3:return new u(0,-Math.pow(t,r.re))}}if(0===e&&0===t&&r.re>0&&r.im>=0)return u.ZERO;var n=Math.atan2(t,e),i=s(e,t);return e=Math.exp(r.re*i-r.im*n),t=r.im*i+r.re*n,new u(e*Math.cos(t),e*Math.sin(t))},sqrt:function(){var e,t,r=this.re,n=this.im,i=this.abs();if(r>=0){if(0===n)return new u(Math.sqrt(r),0);e=.5*Math.sqrt(2*(i+r))}else e=Math.abs(n)/Math.sqrt(2*(i-r));return t=r<=0?.5*Math.sqrt(2*(i-r)):Math.abs(n)/Math.sqrt(2*(i+r)),new u(e,n<0?-t:t)},exp:function(){var e=Math.exp(this.re);return this.im,new u(e*Math.cos(this.im),e*Math.sin(this.im))},expm1:function(){var e=this.re,t=this.im;return new u(Math.expm1(e)*Math.cos(t)+function(e){var t=Math.PI/4;if(-t>e||e>t)return Math.cos(e)-1;var r=e*e;return r*(r*(r*(r*(r*(r*(r*(r/20922789888e3-1/87178291200)+1/479001600)-1/3628800)+1/40320)-1/720)+1/24)-.5)}(t),Math.exp(e)*Math.sin(t))},log:function(){var e=this.re,t=this.im;return new u(s(e,t),Math.atan2(t,e))},abs:function(){return e=this.re,t=this.im,r=Math.abs(e),n=Math.abs(t),r<3e3&&n<3e3?Math.sqrt(r*r+n*n):(r<n?(r=n,n=e/t):n=t/e,r*Math.sqrt(1+n*n));var e,t,r,n},arg:function(){return Math.atan2(this.im,this.re)},sin:function(){var e=this.re,t=this.im;return new u(Math.sin(e)*i(t),Math.cos(e)*a(t))},cos:function(){var e=this.re,t=this.im;return new u(Math.cos(e)*i(t),-Math.sin(e)*a(t))},tan:function(){var e=2*this.re,t=2*this.im,r=Math.cos(e)+i(t);return new u(Math.sin(e)/r,a(t)/r)},cot:function(){var e=2*this.re,t=2*this.im,r=Math.cos(e)-i(t);return new u(-Math.sin(e)/r,a(t)/r)},sec:function(){var e=this.re,t=this.im,r=.5*i(2*t)+.5*Math.cos(2*e);return new u(Math.cos(e)*i(t)/r,Math.sin(e)*a(t)/r)},csc:function(){var e=this.re,t=this.im,r=.5*i(2*t)-.5*Math.cos(2*e);return new u(Math.sin(e)*i(t)/r,-Math.cos(e)*a(t)/r)},asin:function(){var e=this.re,t=this.im,r=new u(t*t-e*e+1,-2*e*t).sqrt(),n=new u(r.re-t,r.im+e).log();return new u(n.im,-n.re)},acos:function(){var e=this.re,t=this.im,r=new u(t*t-e*e+1,-2*e*t).sqrt(),n=new u(r.re-t,r.im+e).log();return new u(Math.PI/2-n.im,n.re)},atan:function(){var e=this.re,t=this.im;if(0===e){if(1===t)return new u(0,1/0);if(-1===t)return new u(0,-1/0)}var r=e*e+(1-t)*(1-t),n=new u((1-t*t-e*e)/r,-2*e/r).log();return new u(-.5*n.im,.5*n.re)},acot:function(){var e=this.re,t=this.im;if(0===t)return new u(Math.atan2(1,e),0);var r=e*e+t*t;return 0!==r?new u(e/r,-t/r).atan():new u(0!==e?e/0:0,0!==t?-t/0:0).atan()},asec:function(){var e=this.re,t=this.im;if(0===e&&0===t)return new u(0,1/0);var r=e*e+t*t;return 0!==r?new u(e/r,-t/r).acos():new u(0!==e?e/0:0,0!==t?-t/0:0).acos()},acsc:function(){var e=this.re,t=this.im;if(0===e&&0===t)return new u(Math.PI/2,1/0);var r=e*e+t*t;return 0!==r?new u(e/r,-t/r).asin():new u(0!==e?e/0:0,0!==t?-t/0:0).asin()},sinh:function(){var e=this.re,t=this.im;return new u(a(e)*Math.cos(t),i(e)*Math.sin(t))},cosh:function(){var e=this.re,t=this.im;return new u(i(e)*Math.cos(t),a(e)*Math.sin(t))},tanh:function(){var e=2*this.re,t=2*this.im,r=i(e)+Math.cos(t);return new u(a(e)/r,Math.sin(t)/r)},coth:function(){var e=2*this.re,t=2*this.im,r=i(e)-Math.cos(t);return new u(a(e)/r,-Math.sin(t)/r)},csch:function(){var e=this.re,t=this.im,r=Math.cos(2*t)-i(2*e);return new u(-2*a(e)*Math.cos(t)/r,2*i(e)*Math.sin(t)/r)},sech:function(){var e=this.re,t=this.im,r=Math.cos(2*t)+i(2*e);return new u(2*i(e)*Math.cos(t)/r,-2*a(e)*Math.sin(t)/r)},asinh:function(){var e=this.im;this.im=-this.re,this.re=e;var t=this.asin();return this.re=-this.im,this.im=e,e=t.re,t.re=-t.im,t.im=e,t},acosh:function(){var e=this.acos();if(e.im<=0){var t=e.re;e.re=-e.im,e.im=t}else{t=e.im;e.im=-e.re,e.re=t}return e},atanh:function(){var e=this.re,t=this.im,r=e>1&&0===t,n=1-e,i=1+e,a=n*n+t*t,o=0!==a?new u((i*n-t*t)/a,(t*n+i*t)/a):new u(-1!==e?e/0:0,0!==t?t/0:0),c=o.re;return o.re=s(o.re,o.im)/2,o.im=Math.atan2(o.im,c)/2,r&&(o.im=-o.im),o},acoth:function(){var e=this.re,t=this.im;if(0===e&&0===t)return new u(0,Math.PI/2);var r=e*e+t*t;return 0!==r?new u(e/r,-t/r).atanh():new u(0!==e?e/0:0,0!==t?-t/0:0).atanh()},acsch:function(){var e=this.re,t=this.im;if(0===t)return new u(0!==e?Math.log(e+Math.sqrt(e*e+1)):1/0,0);var r=e*e+t*t;return 0!==r?new u(e/r,-t/r).asinh():new u(0!==e?e/0:0,0!==t?-t/0:0).asinh()},asech:function(){var e=this.re,t=this.im;if(this.isZero())return u.INFINITY;var r=e*e+t*t;return 0!==r?new u(e/r,-t/r).acosh():new u(0!==e?e/0:0,0!==t?-t/0:0).acosh()},inverse:function(){if(this.isZero())return u.INFINITY;if(this.isInfinite())return u.ZERO;var e=this.re,t=this.im,r=e*e+t*t;return new u(e/r,-t/r)},conjugate:function(){return new u(this.re,-this.im)},neg:function(){return new u(-this.re,-this.im)},ceil:function(e){return e=Math.pow(10,e||0),new u(Math.ceil(this.re*e)/e,Math.ceil(this.im*e)/e)},floor:function(e){return e=Math.pow(10,e||0),new u(Math.floor(this.re*e)/e,Math.floor(this.im*e)/e)},round:function(e){return e=Math.pow(10,e||0),new u(Math.round(this.re*e)/e,Math.round(this.im*e)/e)},equals:function(e,t){var r=new u(e,t);return Math.abs(r.re-this.re)<=u.EPSILON&&Math.abs(r.im-this.im)<=u.EPSILON},clone:function(){return new u(this.re,this.im)},toString:function(){var e=this.re,t=this.im,r="";return this.isNaN()?"NaN":this.isInfinite()?"Infinity":(Math.abs(e)<u.EPSILON&&(e=0),Math.abs(t)<u.EPSILON&&(t=0),0===t?r+e:(0!==e?(r+=e,r+=" ",t<0?(t=-t,r+="-"):r+="+",r+=" "):t<0&&(t=-t,r+="-"),1!==t&&(r+=t),r+"i"))},toVector:function(){return[this.re,this.im]},valueOf:function(){return 0===this.im?this.re:null},isNaN:function(){return isNaN(this.re)||isNaN(this.im)},isZero:function(){return 0===this.im&&0===this.re},isFinite:function(){return isFinite(this.re)&&isFinite(this.im)},isInfinite:function(){return!(this.isNaN()||this.isFinite())}},u.ZERO=new u(0,0),u.ONE=new u(1,0),u.I=new u(0,1),u.PI=new u(Math.PI,0),u.E=new u(Math.E,0),u.INFINITY=new u(1/0,1/0),u.NAN=new u(NaN,NaN),u.EPSILON=1e-15,void 0===(n=function(){return u}.apply(t,[]))||(e.exports=n)}()},function(e,t,r){var n=r(32),i={}.hasOwnProperty;e.exports=Object.hasOwn||function(e,t){return i.call(n(e),t)}},function(e,t,r){var n=r(45);e.exports=function(e){return Object(n(e))}},function(e,t,r){var n=r(1),i=r(32),a=r(109);n({target:"Object",stat:!0,forced:r(10)((function(){a(1)}))},{keys:function(e){return a(i(e))}})},function(e,t,r){"use strict";var n=r(1),i=r(92),a=r(56),o=r(36),s=r(32),u=r(110),c=r(82),f=r(81)("splice"),l=Math.max,p=Math.min;n({target:"Array",proto:!0,forced:!f},{splice:function(e,t){var r,n,f,h,m,d,y=s(this),v=o(y.length),g=i(e,v),x=arguments.length;if(0===x?r=n=0:1===x?(r=0,n=v-g):(r=x-2,n=p(l(a(t),0),v-g)),v+r-n>9007199254740991)throw TypeError("Maximum allowed length exceeded");for(f=u(y,n),h=0;h<n;h++)(m=g+h)in y&&c(f,h,y[m]);if(f.length=n,r<n){for(h=g;h<v-n;h++)d=h+r,(m=h+n)in y?y[d]=y[m]:delete y[d];for(h=v;h>v-n+r;h--)delete y[h-1]}else if(r>n)for(h=v-n;h>g;h--)d=h+r-1,(m=h+n-1)in y?y[d]=y[m]:delete y[d];for(h=0;h<r;h++)y[h+g]=arguments[h+2];return y.length=v-n+r,f}})},function(e,t,r){"use strict";var n=r(42),i=r(120),a=r(83),o=r(55),s=r(121),u=o.set,c=o.getterFor("Array Iterator");e.exports=s(Array,"Array",(function(e,t){u(this,{type:"Array Iterator",target:n(e),index:0,kind:t})}),(function(){var e=c(this),t=e.target,r=e.kind,n=e.index++;return!t||n>=t.length?(e.target=void 0,{value:void 0,done:!0}):"keys"==r?{value:n,done:!1}:"values"==r?{value:t[n],done:!1}:{value:[n,t[n]],done:!1}}),"values"),a.Arguments=a.Array,i("keys"),i("values"),i("entries")},function(e,t,r){var n=r(56),i=Math.min;e.exports=function(e){return e>0?i(n(e),9007199254740991):0}},function(e,t,r){var n=r(14),i=r(136),a=r(137),o=r(35),s=r(43),u=r(15),c=u("iterator"),f=u("toStringTag"),l=o.values,p=function(e,t){if(e){if(e[c]!==l)try{s(e,c,l)}catch(t){e[c]=l}if(e[f]||s(e,f,t),i[t])for(var r in o)if(e[r]!==o[r])try{s(e,r,o[r])}catch(t){e[r]=o[r]}}};for(var h in i)p(n[h]&&n[h].prototype,h);p(a,"DOMTokenList")},function(e,t){e.exports=function(){throw new Error("define cannot be used indirect")}},function(e,t,r){var n=r(14),i=r(43),a=r(31),o=r(106),s=r(128),u=r(55),c=u.get,f=u.enforce,l=String(String).split("String");(e.exports=function(e,t,r,s){var u,c=!!s&&!!s.unsafe,p=!!s&&!!s.enumerable,h=!!s&&!!s.noTargetGet;"function"==typeof r&&("string"!=typeof t||a(r,"name")||i(r,"name",t),(u=f(r)).source||(u.source=l.join("string"==typeof t?t:""))),e!==n?(c?!h&&e[t]&&(p=!0):delete e[t],p?e[t]=r:i(e,t,r)):p?e[t]=r:o(t,r)})(Function.prototype,"toString",(function(){return"function"==typeof this&&c(this).source||s(this)}))},function(e,t,r){"use strict";var n=r(1),i=r(79),a=r(32),o=r(36),s=r(27),u=r(10),c=r(186),f=r(57),l=r(187),p=r(188),h=r(77),m=r(189),d=[],y=d.sort,v=u((function(){d.sort(void 0)})),g=u((function(){d.sort(null)})),x=f("sort"),b=!u((function(){if(h)return h<70;if(!(l&&l>3)){if(p)return!0;if(m)return m<603;var e,t,r,n,i="";for(e=65;e<76;e++){switch(t=String.fromCharCode(e),e){case 66:case 69:case 70:case 72:r=3;break;case 68:case 71:r=4;break;default:r=2}for(n=0;n<47;n++)d.push({k:t+n,v:r})}for(d.sort((function(e,t){return t.v-e.v})),n=0;n<d.length;n++)t=d[n].k.charAt(0),i.charAt(i.length-1)!==t&&(i+=t);return"DGBEFHACIJK"!==i}}));n({target:"Array",proto:!0,forced:v||!g||!x||!b},{sort:function(e){void 0!==e&&i(e);var t=a(this);if(b)return void 0===e?y.call(t):y.call(t,e);var r,n,u=[],f=o(t.length);for(n=0;n<f;n++)n in t&&u.push(t[n]);for(r=(u=c(u,function(e){return function(t,r){return void 0===r?-1:void 0===t?1:void 0!==e?+e(t,r)||0:s(t)>s(r)?1:-1}}(e))).length,n=0;n<r;)t[n]=u[n++];for(;n<f;)delete t[n++];return t}})},function(e,t,r){"use strict";var n=r(1),i=r(58).filter;n({target:"Array",proto:!0,forced:!r(81)("filter")},{filter:function(e){return i(this,e,arguments.length>1?arguments[1]:void 0)}})},function(e,t,r){var n=r(85),i=r(45);e.exports=function(e){return n(i(e))}},function(e,t,r){var n=r(20),i=r(24),a=r(75);e.exports=n?function(e,t,r){return i.f(e,t,a(1,r))}:function(e,t,r){return e[t]=r,e}},function(e,t,r){"use strict";var n=r(1),i=r(14),a=r(64),o=r(89),s=r(20),u=r(104),c=r(10),f=r(31),l=r(66),p=r(23),h=r(76),m=r(25),d=r(32),y=r(42),v=r(86),g=r(27),x=r(75),b=r(48),w=r(109),N=r(65),M=r(157),E=r(133),S=r(63),A=r(24),O=r(125),_=r(43),C=r(39),T=r(88),I=r(91),k=r(78),z=r(90),q=r(15),R=r(165),B=r(166),D=r(102),j=r(55),F=r(58).forEach,P=I("hidden"),U=q("toPrimitive"),L=j.set,$=j.getterFor("Symbol"),H=Object.prototype,G=i.Symbol,V=a("JSON","stringify"),Z=S.f,W=A.f,Y=M.f,J=O.f,X=T("symbols"),Q=T("op-symbols"),K=T("string-to-symbol-registry"),ee=T("symbol-to-string-registry"),te=T("wks"),re=i.QObject,ne=!re||!re.prototype||!re.prototype.findChild,ie=s&&c((function(){return 7!=b(W({},"a",{get:function(){return W(this,"a",{value:7}).a}})).a}))?function(e,t,r){var n=Z(H,t);n&&delete H[t],W(e,t,r),n&&e!==H&&W(H,t,n)}:W,ae=function(e,t){var r=X[e]=b(G.prototype);return L(r,{type:"Symbol",tag:e,description:t}),s||(r.description=t),r},oe=function(e,t,r){e===H&&oe(Q,t,r),m(e);var n=v(t);return m(r),f(X,n)?(r.enumerable?(f(e,P)&&e[P][n]&&(e[P][n]=!1),r=b(r,{enumerable:x(0,!1)})):(f(e,P)||W(e,P,x(1,{})),e[P][n]=!0),ie(e,n,r)):W(e,n,r)},se=function(e,t){m(e);var r=y(t),n=w(r).concat(le(r));return F(n,(function(t){s&&!ue.call(r,t)||oe(e,t,r[t])})),e},ue=function(e){var t=v(e),r=J.call(this,t);return!(this===H&&f(X,t)&&!f(Q,t))&&(!(r||!f(this,t)||!f(X,t)||f(this,P)&&this[P][t])||r)},ce=function(e,t){var r=y(e),n=v(t);if(r!==H||!f(X,n)||f(Q,n)){var i=Z(r,n);return!i||!f(X,n)||f(r,P)&&r[P][n]||(i.enumerable=!0),i}},fe=function(e){var t=Y(y(e)),r=[];return F(t,(function(e){f(X,e)||f(k,e)||r.push(e)})),r},le=function(e){var t=e===H,r=Y(t?Q:y(e)),n=[];return F(r,(function(e){!f(X,e)||t&&!f(H,e)||n.push(X[e])})),n};(u||(C((G=function(){if(this instanceof G)throw TypeError("Symbol is not a constructor");var e=arguments.length&&void 0!==arguments[0]?g(arguments[0]):void 0,t=z(e),r=function(e){this===H&&r.call(Q,e),f(this,P)&&f(this[P],t)&&(this[P][t]=!1),ie(this,t,x(1,e))};return s&&ne&&ie(H,t,{configurable:!0,set:r}),ae(t,e)}).prototype,"toString",(function(){return $(this).tag})),C(G,"withoutSetter",(function(e){return ae(z(e),e)})),O.f=ue,A.f=oe,S.f=ce,N.f=M.f=fe,E.f=le,R.f=function(e){return ae(q(e),e)},s&&(W(G.prototype,"description",{configurable:!0,get:function(){return $(this).description}}),o||C(H,"propertyIsEnumerable",ue,{unsafe:!0}))),n({global:!0,wrap:!0,forced:!u,sham:!u},{Symbol:G}),F(w(te),(function(e){B(e)})),n({target:"Symbol",stat:!0,forced:!u},{for:function(e){var t=g(e);if(f(K,t))return K[t];var r=G(t);return K[t]=r,ee[r]=t,r},keyFor:function(e){if(!h(e))throw TypeError(e+" is not a symbol");if(f(ee,e))return ee[e]},useSetter:function(){ne=!0},useSimple:function(){ne=!1}}),n({target:"Object",stat:!0,forced:!u,sham:!s},{create:function(e,t){return void 0===t?b(e):se(b(e),t)},defineProperty:oe,defineProperties:se,getOwnPropertyDescriptor:ce}),n({target:"Object",stat:!0,forced:!u},{getOwnPropertyNames:fe,getOwnPropertySymbols:le}),n({target:"Object",stat:!0,forced:c((function(){E.f(1)}))},{getOwnPropertySymbols:function(e){return E.f(d(e))}}),V)&&n({target:"JSON",stat:!0,forced:!u||c((function(){var e=G();return"[null]"!=V([e])||"{}"!=V({a:e})||"{}"!=V(Object(e))}))},{stringify:function(e,t,r){for(var n,i=[e],a=1;arguments.length>a;)i.push(arguments[a++]);if(n=t,(p(t)||void 0!==e)&&!h(e))return l(t)||(t=function(e,t){if("function"==typeof n&&(t=n.call(this,e,t)),!h(t))return t}),i[1]=t,V.apply(null,i)}});G.prototype[U]||_(G.prototype,U,G.prototype.valueOf),D(G,"Symbol"),k[P]=!0},function(e,t){e.exports=function(e){if(null==e)throw TypeError("Can't call method on "+e);return e}},function(e,t,r){"use strict";var n=r(115),i=r(142),a=r(25),o=r(45),s=r(185),u=r(116),c=r(36),f=r(27),l=r(117),p=r(95),h=r(114),m=r(10),d=h.UNSUPPORTED_Y,y=[].push,v=Math.min;n("split",(function(e,t,r){var n;return n="c"=="abbc".split(/(b)*/)[1]||4!="test".split(/(?:)/,-1).length||2!="ab".split(/(?:ab)*/).length||4!=".".split(/(.?)(.?)/).length||".".split(/()()/).length>1||"".split(/.?/).length?function(e,r){var n=f(o(this)),a=void 0===r?4294967295:r>>>0;if(0===a)return[];if(void 0===e)return[n];if(!i(e))return t.call(n,e,a);for(var s,u,c,l=[],h=(e.ignoreCase?"i":"")+(e.multiline?"m":"")+(e.unicode?"u":"")+(e.sticky?"y":""),m=0,d=new RegExp(e.source,h+"g");(s=p.call(d,n))&&!((u=d.lastIndex)>m&&(l.push(n.slice(m,s.index)),s.length>1&&s.index<n.length&&y.apply(l,s.slice(1)),c=s[0].length,m=u,l.length>=a));)d.lastIndex===s.index&&d.lastIndex++;return m===n.length?!c&&d.test("")||l.push(""):l.push(n.slice(m)),l.length>a?l.slice(0,a):l}:"0".split(void 0,0).length?function(e,r){return void 0===e&&0===r?[]:t.call(this,e,r)}:t,[function(t,r){var i=o(this),a=null==t?void 0:t[e];return void 0!==a?a.call(t,i,r):n.call(f(i),t,r)},function(e,i){var o=a(this),p=f(e),h=r(n,o,p,i,n!==t);if(h.done)return h.value;var m=s(o,RegExp),y=o.unicode,g=(o.ignoreCase?"i":"")+(o.multiline?"m":"")+(o.unicode?"u":"")+(d?"g":"y"),x=new m(d?"^(?:"+o.source+")":o,g),b=void 0===i?4294967295:i>>>0;if(0===b)return[];if(0===p.length)return null===l(x,p)?[p]:[];for(var w=0,N=0,M=[];N<p.length;){x.lastIndex=d?0:N;var E,S=l(x,d?p.slice(N):p);if(null===S||(E=v(c(x.lastIndex+(d?N:0)),p.length))===w)N=u(p,N,y);else{if(M.push(p.slice(w,N)),M.length===b)return M;for(var A=1;A<=S.length-1;A++)if(M.push(S[A]),M.length===b)return M;N=w=E}}return M.push(p.slice(w)),M}]}),!!m((function(){var e=/(?:)/,t=e.exec;e.exec=function(){return t.apply(this,arguments)};var r="ab".split(e);return 2!==r.length||"a"!==r[0]||"b"!==r[1]})),d)},function(e,t,r){"use strict";var n=r(146).charAt,i=r(27),a=r(55),o=r(121),s=a.set,u=a.getterFor("String Iterator");o(String,"String",(function(e){s(this,{type:"String Iterator",string:i(e),index:0})}),(function(){var e,t=u(this),r=t.string,i=t.index;return i>=r.length?{value:void 0,done:!0}:(e=n(r,i),t.index+=e.length,{value:e,done:!1})}))},function(e,t,r){var n,i=r(25),a=r(134),o=r(108),s=r(78),u=r(181),c=r(107),f=r(91),l=f("IE_PROTO"),p=function(){},h=function(e){return"<script>"+e+"<\/script>"},m=function(e){e.write(h("")),e.close();var t=e.parentWindow.Object;return e=null,t},d=function(){try{n=new ActiveXObject("htmlfile")}catch(e){}var e,t;d="undefined"!=typeof document?document.domain&&n?m(n):((t=c("iframe")).style.display="none",u.appendChild(t),t.src=String("javascript:"),(e=t.contentWindow.document).open(),e.write(h("document.F=Object")),e.close(),e.F):m(n);for(var r=o.length;r--;)delete d.prototype[o[r]];return d()};s[l]=!0,e.exports=Object.create||function(e,t){var r;return null!==e?(p.prototype=i(e),r=new p,p.prototype=null,r[l]=e):r=d(),void 0===t?r:a(r,t)}},function(e,t,r){var n=r(1),i=r(20);n({target:"Object",stat:!0,forced:!i,sham:!i},{defineProperty:r(24).f})},function(e,t,r){"use strict";var n=r(1),i=r(58).every;n({target:"Array",proto:!0,forced:!r(57)("every")},{every:function(e){return i(this,e,arguments.length>1?arguments[1]:void 0)}})},function(e,t,r){var n=r(1),i=r(199);n({global:!0,forced:parseFloat!=i},{parseFloat:i})},function(e,t,r){"use strict";var n=r(1),i=r(20),a=r(14),o=r(31),s=r(23),u=r(24).f,c=r(129),f=a.Symbol;if(i&&"function"==typeof f&&(!("description"in f.prototype)||void 0!==f().description)){var l={},p=function(){var e=arguments.length<1||void 0===arguments[0]?void 0:String(arguments[0]),t=this instanceof p?new f(e):void 0===e?f():f(e);return""===e&&(l[t]=!0),t};c(p,f);var h=p.prototype=f.prototype;h.constructor=p;var m=h.toString,d="Symbol(test)"==String(f("test")),y=/^Symbol\((.*)\)[^)]+$/;u(h,"description",{configurable:!0,get:function(){var e=s(this)?this.valueOf():this,t=m.call(e);if(o(l,e))return"";var r=d?t.slice(7,-1):t.replace(y,"$1");return""===r?void 0:r}}),n({global:!0,forced:!0},{Symbol:p})}},function(e,t,r){e.exports=r(217)},function(e,t){var r={}.toString;e.exports=function(e){return r.call(e).slice(8,-1)}},function(e,t,r){var n,i,a,o=r(180),s=r(14),u=r(23),c=r(43),f=r(31),l=r(105),p=r(91),h=r(78),m=s.WeakMap;if(o||l.state){var d=l.state||(l.state=new m),y=d.get,v=d.has,g=d.set;n=function(e,t){if(v.call(d,e))throw new TypeError("Object already initialized");return t.facade=e,g.call(d,e,t),t},i=function(e){return y.call(d,e)||{}},a=function(e){return v.call(d,e)}}else{var x=p("state");h[x]=!0,n=function(e,t){if(f(e,x))throw new TypeError("Object already initialized");return t.facade=e,c(e,x,t),t},i=function(e){return f(e,x)?e[x]:{}},a=function(e){return f(e,x)}}e.exports={set:n,get:i,has:a,enforce:function(e){return a(e)?i(e):n(e,{})},getterFor:function(e){return function(t){var r;if(!u(t)||(r=i(t)).type!==e)throw TypeError("Incompatible receiver, "+e+" required");return r}}}},function(e,t){var r=Math.ceil,n=Math.floor;e.exports=function(e){return isNaN(e=+e)?0:(e>0?n:r)(e)}},function(e,t,r){"use strict";var n=r(10);e.exports=function(e,t){var r=[][e];return!!r&&n((function(){r.call(null,t||function(){throw 1},1)}))}},function(e,t,r){var n=r(94),i=r(85),a=r(32),o=r(36),s=r(110),u=[].push,c=function(e){var t=1==e,r=2==e,c=3==e,f=4==e,l=6==e,p=7==e,h=5==e||l;return function(m,d,y,v){for(var g,x,b=a(m),w=i(b),N=n(d,y,3),M=o(w.length),E=0,S=v||s,A=t?S(m,M):r||p?S(m,0):void 0;M>E;E++)if((h||E in w)&&(x=N(g=w[E],E,b),e))if(t)A[E]=x;else if(x)switch(e){case 3:return!0;case 5:return g;case 6:return E;case 2:u.call(A,g)}else switch(e){case 4:return!1;case 7:u.call(A,g)}return l?-1:c||f?f:A}};e.exports={forEach:c(0),map:c(1),filter:c(2),some:c(3),every:c(4),find:c(5),findIndex:c(6),filterReject:c(7)}},function(e,t,r){r(166)("iterator")},function(e,t,r){var n;!function(i){"use strict";var a,o,s,u=9e15,c="0123456789abcdef",f="2.3025850929940456840179914546843642076011014886287729760333279009675726096773524802359972050895982983419677840422862486334095254650828067566662873690987816894829072083255546808437998948262331985283935053089653777326288461633662222876982198867465436674744042432743651550489343149393914796194044002221051017141748003688084012647080685567743216228355220114804663715659121373450747856947683463616792101806445070648000277502684916746550586856935673420670581136429224554405758925724208241314695689016758940256776311356919292033376587141660230105703089634572075440370847469940168269282808481184289314848524948644871927809676271275775397027668605952496716674183485704422507197965004714951050492214776567636938662976979522110718264549734772662425709429322582798502585509785265383207606726317164309505995087807523710333101197857547331541421808427543863591778117054309827482385045648019095610299291824318237525357709750539565187697510374970888692180205189339507238539205144634197265287286965110862571492198849978748873771345686209167058",l="3.1415926535897932384626433832795028841971693993751058209749445923078164062862089986280348253421170679821480865132823066470938446095505822317253594081284811174502841027019385211055596446229489549303819644288109756659334461284756482337867831652712019091456485669234603486104543266482133936072602491412737245870066063155881748815209209628292540917153643678925903600113305305488204665213841469519415116094330572703657595919530921861173819326117931051185480744623799627495673518857527248912279381830119491298336733624406566430860213949463952247371907021798609437027705392171762931767523846748184676694051320005681271452635608277857713427577896091736371787214684409012249534301465495853710507922796892589235420199561121290219608640344181598136297747713099605187072113499999983729780499510597317328160963185950244594553469083026425223082533446850352619311881710100031378387528865875332083814206171776691473035982534904287554687311595628638823537875937519577818577805321712268066130019278766111959092164201989380952572010654858632789",p={precision:20,rounding:4,modulo:1,toExpNeg:-7,toExpPos:21,minE:-u,maxE:u,crypto:!1},h=!0,m="[DecimalError] Invalid argument: ",d="[object Decimal]",y=Math.floor,v=Math.pow,g=/^0b([01]+(\.[01]*)?|\.[01]+)(p[+-]?\d+)?$/i,x=/^0x([0-9a-f]+(\.[0-9a-f]*)?|\.[0-9a-f]+)(p[+-]?\d+)?$/i,b=/^0o([0-7]+(\.[0-7]*)?|\.[0-7]+)(p[+-]?\d+)?$/i,w=/^(\d+(\.\d*)?|\.\d+)(e[+-]?\d+)?$/i,N=1e7,M=f.length-1,E=l.length-1,S={toStringTag:d};function A(e){var t,r,n,i=e.length-1,a="",o=e[0];if(i>0){for(a+=o,t=1;t<i;t++)(r=7-(n=e[t]+"").length)&&(a+=D(r)),a+=n;(r=7-(n=(o=e[t])+"").length)&&(a+=D(r))}else if(0===o)return"0";for(;o%10==0;)o/=10;return a+o}function O(e,t,r){if(e!==~~e||e<t||e>r)throw Error(m+e)}function _(e,t,r,n){var i,a,o,s;for(a=e[0];a>=10;a/=10)--t;return--t<0?(t+=7,i=0):(i=Math.ceil((t+1)/7),t%=7),a=v(10,7-t),s=e[i]%a|0,null==n?t<3?(0==t?s=s/100|0:1==t&&(s=s/10|0),o=r<4&&99999==s||r>3&&49999==s||5e4==s||0==s):o=(r<4&&s+1==a||r>3&&s+1==a/2)&&(e[i+1]/a/100|0)==v(10,t-2)-1||(s==a/2||0==s)&&0==(e[i+1]/a/100|0):t<4?(0==t?s=s/1e3|0:1==t?s=s/100|0:2==t&&(s=s/10|0),o=(n||r<4)&&9999==s||!n&&r>3&&4999==s):o=((n||r<4)&&s+1==a||!n&&r>3&&s+1==a/2)&&(e[i+1]/a/1e3|0)==v(10,t-3)-1,o}function C(e,t,r){for(var n,i,a=[0],o=0,s=e.length;o<s;){for(i=a.length;i--;)a[i]*=t;for(a[0]+=c.indexOf(e.charAt(o++)),n=0;n<a.length;n++)a[n]>r-1&&(void 0===a[n+1]&&(a[n+1]=0),a[n+1]+=a[n]/r|0,a[n]%=r)}return a.reverse()}S.absoluteValue=S.abs=function(){var e=new this.constructor(this);return e.s<0&&(e.s=1),I(e)},S.ceil=function(){return I(new this.constructor(this),this.e+1,2)},S.clampedTo=S.clamp=function(e,t){var r=this,n=r.constructor;if(e=new n(e),t=new n(t),!e.s||!t.s)return new n(NaN);if(e.gt(t))throw Error(m+t);return r.cmp(e)<0?e:r.cmp(t)>0?t:new n(r)},S.comparedTo=S.cmp=function(e){var t,r,n,i,a=this,o=a.d,s=(e=new a.constructor(e)).d,u=a.s,c=e.s;if(!o||!s)return u&&c?u!==c?u:o===s?0:!o^u<0?1:-1:NaN;if(!o[0]||!s[0])return o[0]?u:s[0]?-c:0;if(u!==c)return u;if(a.e!==e.e)return a.e>e.e^u<0?1:-1;for(t=0,r=(n=o.length)<(i=s.length)?n:i;t<r;++t)if(o[t]!==s[t])return o[t]>s[t]^u<0?1:-1;return n===i?0:n>i^u<0?1:-1},S.cosine=S.cos=function(){var e,t,r=this,n=r.constructor;return r.d?r.d[0]?(e=n.precision,t=n.rounding,n.precision=e+Math.max(r.e,r.sd())+7,n.rounding=1,r=function(e,t){var r,n,i;if(t.isZero())return t;(n=t.d.length)<32?(r=Math.ceil(n/3),i=(1/Z(4,r)).toString()):(r=16,i="2.3283064365386962890625e-10");e.precision+=r,t=V(e,1,t.times(i),new e(1));for(var a=r;a--;){var o=t.times(t);t=o.times(o).minus(o).times(8).plus(1)}return e.precision-=r,t}(n,W(n,r)),n.precision=e,n.rounding=t,I(2==s||3==s?r.neg():r,e,t,!0)):new n(1):new n(NaN)},S.cubeRoot=S.cbrt=function(){var e,t,r,n,i,a,o,s,u,c,f=this,l=f.constructor;if(!f.isFinite()||f.isZero())return new l(f);for(h=!1,(a=f.s*v(f.s*f,1/3))&&Math.abs(a)!=1/0?n=new l(a.toString()):(r=A(f.d),(a=((e=f.e)-r.length+1)%3)&&(r+=1==a||-2==a?"0":"00"),a=v(r,1/3),e=y((e+1)/3)-(e%3==(e<0?-1:2)),(n=new l(r=a==1/0?"5e"+e:(r=a.toExponential()).slice(0,r.indexOf("e")+1)+e)).s=f.s),o=(e=l.precision)+3;;)if(c=(u=(s=n).times(s).times(s)).plus(f),n=T(c.plus(f).times(s),c.plus(u),o+2,1),A(s.d).slice(0,o)===(r=A(n.d)).slice(0,o)){if("9999"!=(r=r.slice(o-3,o+1))&&(i||"4999"!=r)){+r&&(+r.slice(1)||"5"!=r.charAt(0))||(I(n,e+1,1),t=!n.times(n).times(n).eq(f));break}if(!i&&(I(s,e+1,0),s.times(s).times(s).eq(f))){n=s;break}o+=4,i=1}return h=!0,I(n,e,l.rounding,t)},S.decimalPlaces=S.dp=function(){var e,t=this.d,r=NaN;if(t){if(r=7*((e=t.length-1)-y(this.e/7)),e=t[e])for(;e%10==0;e/=10)r--;r<0&&(r=0)}return r},S.dividedBy=S.div=function(e){return T(this,new this.constructor(e))},S.dividedToIntegerBy=S.divToInt=function(e){var t=this.constructor;return I(T(this,new t(e),0,1,1),t.precision,t.rounding)},S.equals=S.eq=function(e){return 0===this.cmp(e)},S.floor=function(){return I(new this.constructor(this),this.e+1,3)},S.greaterThan=S.gt=function(e){return this.cmp(e)>0},S.greaterThanOrEqualTo=S.gte=function(e){var t=this.cmp(e);return 1==t||0===t},S.hyperbolicCosine=S.cosh=function(){var e,t,r,n,i,a=this,o=a.constructor,s=new o(1);if(!a.isFinite())return new o(a.s?1/0:NaN);if(a.isZero())return s;r=o.precision,n=o.rounding,o.precision=r+Math.max(a.e,a.sd())+4,o.rounding=1,(i=a.d.length)<32?t=(1/Z(4,e=Math.ceil(i/3))).toString():(e=16,t="2.3283064365386962890625e-10"),a=V(o,1,a.times(t),new o(1),!0);for(var u,c=e,f=new o(8);c--;)u=a.times(a),a=s.minus(u.times(f.minus(u.times(f))));return I(a,o.precision=r,o.rounding=n,!0)},S.hyperbolicSine=S.sinh=function(){var e,t,r,n,i=this,a=i.constructor;if(!i.isFinite()||i.isZero())return new a(i);if(t=a.precision,r=a.rounding,a.precision=t+Math.max(i.e,i.sd())+4,a.rounding=1,(n=i.d.length)<3)i=V(a,2,i,i,!0);else{e=(e=1.4*Math.sqrt(n))>16?16:0|e,i=V(a,2,i=i.times(1/Z(5,e)),i,!0);for(var o,s=new a(5),u=new a(16),c=new a(20);e--;)o=i.times(i),i=i.times(s.plus(o.times(u.times(o).plus(c))))}return a.precision=t,a.rounding=r,I(i,t,r,!0)},S.hyperbolicTangent=S.tanh=function(){var e,t,r=this,n=r.constructor;return r.isFinite()?r.isZero()?new n(r):(e=n.precision,t=n.rounding,n.precision=e+7,n.rounding=1,T(r.sinh(),r.cosh(),n.precision=e,n.rounding=t)):new n(r.s)},S.inverseCosine=S.acos=function(){var e,t=this,r=t.constructor,n=t.abs().cmp(1),i=r.precision,a=r.rounding;return-1!==n?0===n?t.isNeg()?R(r,i,a):new r(0):new r(NaN):t.isZero()?R(r,i+4,a).times(.5):(r.precision=i+6,r.rounding=1,t=t.asin(),e=R(r,i+4,a).times(.5),r.precision=i,r.rounding=a,e.minus(t))},S.inverseHyperbolicCosine=S.acosh=function(){var e,t,r=this,n=r.constructor;return r.lte(1)?new n(r.eq(1)?0:NaN):r.isFinite()?(e=n.precision,t=n.rounding,n.precision=e+Math.max(Math.abs(r.e),r.sd())+4,n.rounding=1,h=!1,r=r.times(r).minus(1).sqrt().plus(r),h=!0,n.precision=e,n.rounding=t,r.ln()):new n(r)},S.inverseHyperbolicSine=S.asinh=function(){var e,t,r=this,n=r.constructor;return!r.isFinite()||r.isZero()?new n(r):(e=n.precision,t=n.rounding,n.precision=e+2*Math.max(Math.abs(r.e),r.sd())+6,n.rounding=1,h=!1,r=r.times(r).plus(1).sqrt().plus(r),h=!0,n.precision=e,n.rounding=t,r.ln())},S.inverseHyperbolicTangent=S.atanh=function(){var e,t,r,n,i=this,a=i.constructor;return i.isFinite()?i.e>=0?new a(i.abs().eq(1)?i.s/0:i.isZero()?i:NaN):(e=a.precision,t=a.rounding,n=i.sd(),Math.max(n,e)<2*-i.e-1?I(new a(i),e,t,!0):(a.precision=r=n-i.e,i=T(i.plus(1),new a(1).minus(i),r+e,1),a.precision=e+4,a.rounding=1,i=i.ln(),a.precision=e,a.rounding=t,i.times(.5))):new a(NaN)},S.inverseSine=S.asin=function(){var e,t,r,n,i=this,a=i.constructor;return i.isZero()?new a(i):(t=i.abs().cmp(1),r=a.precision,n=a.rounding,-1!==t?0===t?((e=R(a,r+4,n).times(.5)).s=i.s,e):new a(NaN):(a.precision=r+6,a.rounding=1,i=i.div(new a(1).minus(i.times(i)).sqrt().plus(1)).atan(),a.precision=r,a.rounding=n,i.times(2)))},S.inverseTangent=S.atan=function(){var e,t,r,n,i,a,o,s,u,c=this,f=c.constructor,l=f.precision,p=f.rounding;if(c.isFinite()){if(c.isZero())return new f(c);if(c.abs().eq(1)&&l+4<=E)return(o=R(f,l+4,p).times(.25)).s=c.s,o}else{if(!c.s)return new f(NaN);if(l+4<=E)return(o=R(f,l+4,p).times(.5)).s=c.s,o}for(f.precision=s=l+10,f.rounding=1,e=r=Math.min(28,s/7+2|0);e;--e)c=c.div(c.times(c).plus(1).sqrt().plus(1));for(h=!1,t=Math.ceil(s/7),n=1,u=c.times(c),o=new f(c),i=c;-1!==e;)if(i=i.times(u),a=o.minus(i.div(n+=2)),i=i.times(u),void 0!==(o=a.plus(i.div(n+=2))).d[t])for(e=t;o.d[e]===a.d[e]&&e--;);return r&&(o=o.times(2<<r-1)),h=!0,I(o,f.precision=l,f.rounding=p,!0)},S.isFinite=function(){return!!this.d},S.isInteger=S.isInt=function(){return!!this.d&&y(this.e/7)>this.d.length-2},S.isNaN=function(){return!this.s},S.isNegative=S.isNeg=function(){return this.s<0},S.isPositive=S.isPos=function(){return this.s>0},S.isZero=function(){return!!this.d&&0===this.d[0]},S.lessThan=S.lt=function(e){return this.cmp(e)<0},S.lessThanOrEqualTo=S.lte=function(e){return this.cmp(e)<1},S.logarithm=S.log=function(e){var t,r,n,i,a,o,s,u,c=this.constructor,f=c.precision,l=c.rounding;if(null==e)e=new c(10),t=!0;else{if(r=(e=new c(e)).d,e.s<0||!r||!r[0]||e.eq(1))return new c(NaN);t=e.eq(10)}if(r=this.d,this.s<0||!r||!r[0]||this.eq(1))return new c(r&&!r[0]?-1/0:1!=this.s?NaN:r?0:1/0);if(t)if(r.length>1)a=!0;else{for(i=r[0];i%10==0;)i/=10;a=1!==i}if(h=!1,o=L(this,s=f+5),n=t?q(c,s+10):L(e,s),_((u=T(o,n,s,1)).d,i=f,l))do{if(o=L(this,s+=10),n=t?q(c,s+10):L(e,s),u=T(o,n,s,1),!a){+A(u.d).slice(i+1,i+15)+1==1e14&&(u=I(u,f+1,0));break}}while(_(u.d,i+=10,l));return h=!0,I(u,f,l)},S.minus=S.sub=function(e){var t,r,n,i,a,o,s,u,c,f,l,p,m=this,d=m.constructor;if(e=new d(e),!m.d||!e.d)return m.s&&e.s?m.d?e.s=-e.s:e=new d(e.d||m.s!==e.s?m:NaN):e=new d(NaN),e;if(m.s!=e.s)return e.s=-e.s,m.plus(e);if(c=m.d,p=e.d,s=d.precision,u=d.rounding,!c[0]||!p[0]){if(p[0])e.s=-e.s;else{if(!c[0])return new d(3===u?-0:0);e=new d(m)}return h?I(e,s,u):e}if(r=y(e.e/7),f=y(m.e/7),c=c.slice(),a=f-r){for((l=a<0)?(t=c,a=-a,o=p.length):(t=p,r=f,o=c.length),a>(n=Math.max(Math.ceil(s/7),o)+2)&&(a=n,t.length=1),t.reverse(),n=a;n--;)t.push(0);t.reverse()}else{for((l=(n=c.length)<(o=p.length))&&(o=n),n=0;n<o;n++)if(c[n]!=p[n]){l=c[n]<p[n];break}a=0}for(l&&(t=c,c=p,p=t,e.s=-e.s),o=c.length,n=p.length-o;n>0;--n)c[o++]=0;for(n=p.length;n>a;){if(c[--n]<p[n]){for(i=n;i&&0===c[--i];)c[i]=N-1;--c[i],c[n]+=N}c[n]-=p[n]}for(;0===c[--o];)c.pop();for(;0===c[0];c.shift())--r;return c[0]?(e.d=c,e.e=z(c,r),h?I(e,s,u):e):new d(3===u?-0:0)},S.modulo=S.mod=function(e){var t,r=this,n=r.constructor;return e=new n(e),!r.d||!e.s||e.d&&!e.d[0]?new n(NaN):!e.d||r.d&&!r.d[0]?I(new n(r),n.precision,n.rounding):(h=!1,9==n.modulo?(t=T(r,e.abs(),0,3,1)).s*=e.s:t=T(r,e,0,n.modulo,1),t=t.times(e),h=!0,r.minus(t))},S.naturalExponential=S.exp=function(){return U(this)},S.naturalLogarithm=S.ln=function(){return L(this)},S.negated=S.neg=function(){var e=new this.constructor(this);return e.s=-e.s,I(e)},S.plus=S.add=function(e){var t,r,n,i,a,o,s,u,c,f,l=this,p=l.constructor;if(e=new p(e),!l.d||!e.d)return l.s&&e.s?l.d||(e=new p(e.d||l.s===e.s?l:NaN)):e=new p(NaN),e;if(l.s!=e.s)return e.s=-e.s,l.minus(e);if(c=l.d,f=e.d,s=p.precision,u=p.rounding,!c[0]||!f[0])return f[0]||(e=new p(l)),h?I(e,s,u):e;if(a=y(l.e/7),n=y(e.e/7),c=c.slice(),i=a-n){for(i<0?(r=c,i=-i,o=f.length):(r=f,n=a,o=c.length),i>(o=(a=Math.ceil(s/7))>o?a+1:o+1)&&(i=o,r.length=1),r.reverse();i--;)r.push(0);r.reverse()}for((o=c.length)-(i=f.length)<0&&(i=o,r=f,f=c,c=r),t=0;i;)t=(c[--i]=c[i]+f[i]+t)/N|0,c[i]%=N;for(t&&(c.unshift(t),++n),o=c.length;0==c[--o];)c.pop();return e.d=c,e.e=z(c,n),h?I(e,s,u):e},S.precision=S.sd=function(e){var t,r=this;if(void 0!==e&&e!==!!e&&1!==e&&0!==e)throw Error(m+e);return r.d?(t=B(r.d),e&&r.e+1>t&&(t=r.e+1)):t=NaN,t},S.round=function(){var e=this,t=e.constructor;return I(new t(e),e.e+1,t.rounding)},S.sine=S.sin=function(){var e,t,r=this,n=r.constructor;return r.isFinite()?r.isZero()?new n(r):(e=n.precision,t=n.rounding,n.precision=e+Math.max(r.e,r.sd())+7,n.rounding=1,r=function(e,t){var r,n=t.d.length;if(n<3)return t.isZero()?t:V(e,2,t,t);r=(r=1.4*Math.sqrt(n))>16?16:0|r,t=t.times(1/Z(5,r)),t=V(e,2,t,t);for(var i,a=new e(5),o=new e(16),s=new e(20);r--;)i=t.times(t),t=t.times(a.plus(i.times(o.times(i).minus(s))));return t}(n,W(n,r)),n.precision=e,n.rounding=t,I(s>2?r.neg():r,e,t,!0)):new n(NaN)},S.squareRoot=S.sqrt=function(){var e,t,r,n,i,a,o=this,s=o.d,u=o.e,c=o.s,f=o.constructor;if(1!==c||!s||!s[0])return new f(!c||c<0&&(!s||s[0])?NaN:s?o:1/0);for(h=!1,0==(c=Math.sqrt(+o))||c==1/0?(((t=A(s)).length+u)%2==0&&(t+="0"),c=Math.sqrt(t),u=y((u+1)/2)-(u<0||u%2),n=new f(t=c==1/0?"5e"+u:(t=c.toExponential()).slice(0,t.indexOf("e")+1)+u)):n=new f(c.toString()),r=(u=f.precision)+3;;)if(n=(a=n).plus(T(o,a,r+2,1)).times(.5),A(a.d).slice(0,r)===(t=A(n.d)).slice(0,r)){if("9999"!=(t=t.slice(r-3,r+1))&&(i||"4999"!=t)){+t&&(+t.slice(1)||"5"!=t.charAt(0))||(I(n,u+1,1),e=!n.times(n).eq(o));break}if(!i&&(I(a,u+1,0),a.times(a).eq(o))){n=a;break}r+=4,i=1}return h=!0,I(n,u,f.rounding,e)},S.tangent=S.tan=function(){var e,t,r=this,n=r.constructor;return r.isFinite()?r.isZero()?new n(r):(e=n.precision,t=n.rounding,n.precision=e+10,n.rounding=1,(r=r.sin()).s=1,r=T(r,new n(1).minus(r.times(r)).sqrt(),e+10,0),n.precision=e,n.rounding=t,I(2==s||4==s?r.neg():r,e,t,!0)):new n(NaN)},S.times=S.mul=function(e){var t,r,n,i,a,o,s,u,c,f=this,l=f.constructor,p=f.d,m=(e=new l(e)).d;if(e.s*=f.s,!(p&&p[0]&&m&&m[0]))return new l(!e.s||p&&!p[0]&&!m||m&&!m[0]&&!p?NaN:p&&m?0*e.s:e.s/0);for(r=y(f.e/7)+y(e.e/7),(u=p.length)<(c=m.length)&&(a=p,p=m,m=a,o=u,u=c,c=o),a=[],n=o=u+c;n--;)a.push(0);for(n=c;--n>=0;){for(t=0,i=u+n;i>n;)s=a[i]+m[n]*p[i-n-1]+t,a[i--]=s%N|0,t=s/N|0;a[i]=(a[i]+t)%N|0}for(;!a[--o];)a.pop();return t?++r:a.shift(),e.d=a,e.e=z(a,r),h?I(e,l.precision,l.rounding):e},S.toBinary=function(e,t){return Y(this,2,e,t)},S.toDecimalPlaces=S.toDP=function(e,t){var r=this,n=r.constructor;return r=new n(r),void 0===e?r:(O(e,0,1e9),void 0===t?t=n.rounding:O(t,0,8),I(r,e+r.e+1,t))},S.toExponential=function(e,t){var r,n=this,i=n.constructor;return void 0===e?r=k(n,!0):(O(e,0,1e9),void 0===t?t=i.rounding:O(t,0,8),r=k(n=I(new i(n),e+1,t),!0,e+1)),n.isNeg()&&!n.isZero()?"-"+r:r},S.toFixed=function(e,t){var r,n,i=this,a=i.constructor;return void 0===e?r=k(i):(O(e,0,1e9),void 0===t?t=a.rounding:O(t,0,8),r=k(n=I(new a(i),e+i.e+1,t),!1,e+n.e+1)),i.isNeg()&&!i.isZero()?"-"+r:r},S.toFraction=function(e){var t,r,n,i,a,o,s,u,c,f,l,p,d=this,y=d.d,g=d.constructor;if(!y)return new g(d);if(c=r=new g(1),n=u=new g(0),o=(a=(t=new g(n)).e=B(y)-d.e-1)%7,t.d[0]=v(10,o<0?7+o:o),null==e)e=a>0?t:c;else{if(!(s=new g(e)).isInt()||s.lt(c))throw Error(m+s);e=s.gt(t)?a>0?t:c:s}for(h=!1,s=new g(A(y)),f=g.precision,g.precision=a=7*y.length*2;l=T(s,t,0,1,1),1!=(i=r.plus(l.times(n))).cmp(e);)r=n,n=i,i=c,c=u.plus(l.times(i)),u=i,i=t,t=s.minus(l.times(i)),s=i;return i=T(e.minus(r),n,0,1,1),u=u.plus(i.times(c)),r=r.plus(i.times(n)),u.s=c.s=d.s,p=T(c,n,a,1).minus(d).abs().cmp(T(u,r,a,1).minus(d).abs())<1?[c,n]:[u,r],g.precision=f,h=!0,p},S.toHexadecimal=S.toHex=function(e,t){return Y(this,16,e,t)},S.toNearest=function(e,t){var r=this,n=r.constructor;if(r=new n(r),null==e){if(!r.d)return r;e=new n(1),t=n.rounding}else{if(e=new n(e),void 0===t?t=n.rounding:O(t,0,8),!r.d)return e.s?r:e;if(!e.d)return e.s&&(e.s=r.s),e}return e.d[0]?(h=!1,r=T(r,e,0,t,1).times(e),h=!0,I(r)):(e.s=r.s,r=e),r},S.toNumber=function(){return+this},S.toOctal=function(e,t){return Y(this,8,e,t)},S.toPower=S.pow=function(e){var t,r,n,i,a,o,s=this,u=s.constructor,c=+(e=new u(e));if(!(s.d&&e.d&&s.d[0]&&e.d[0]))return new u(v(+s,c));if((s=new u(s)).eq(1))return s;if(n=u.precision,a=u.rounding,e.eq(1))return I(s,n,a);if((t=y(e.e/7))>=e.d.length-1&&(r=c<0?-c:c)<=9007199254740991)return i=j(u,s,r,n),e.s<0?new u(1).div(i):I(i,n,a);if((o=s.s)<0){if(t<e.d.length-1)return new u(NaN);if(0==(1&e.d[t])&&(o=1),0==s.e&&1==s.d[0]&&1==s.d.length)return s.s=o,s}return(t=0!=(r=v(+s,c))&&isFinite(r)?new u(r+"").e:y(c*(Math.log("0."+A(s.d))/Math.LN10+s.e+1)))>u.maxE+1||t<u.minE-1?new u(t>0?o/0:0):(h=!1,u.rounding=s.s=1,r=Math.min(12,(t+"").length),(i=U(e.times(L(s,n+r)),n)).d&&_((i=I(i,n+5,1)).d,n,a)&&(t=n+10,+A((i=I(U(e.times(L(s,t+r)),t),t+5,1)).d).slice(n+1,n+15)+1==1e14&&(i=I(i,n+1,0))),i.s=o,h=!0,u.rounding=a,I(i,n,a))},S.toPrecision=function(e,t){var r,n=this,i=n.constructor;return void 0===e?r=k(n,n.e<=i.toExpNeg||n.e>=i.toExpPos):(O(e,1,1e9),void 0===t?t=i.rounding:O(t,0,8),r=k(n=I(new i(n),e,t),e<=n.e||n.e<=i.toExpNeg,e)),n.isNeg()&&!n.isZero()?"-"+r:r},S.toSignificantDigits=S.toSD=function(e,t