qiaoshiyu-rollup-js
Version:
1.解决精度问题
2 lines (1 loc) • 34.4 kB
JavaScript
const n=require("acorn"),e=require("escodegen");function i(n,e){var i,r,t;try{i=n.toString().split(".")[1].length}catch(n){i=0}try{r=e.toString().split(".")[1].length}catch(n){r=0}return(n*(t=Math.pow(10,Math.max(i,r)))+e*t)/t}function r(n,e){return i(n,-e)}function t(n,e){let i=0;const r=n.toString(),t=e.toString();try{i+=r.split(".")[1].length}catch(n){}try{i+=t.split(".")[1].length}catch(n){}return Number(r.replace(".",""))*Number(t.replace(".",""))/Math.pow(10,i)}function s(n,e){var i=0,r=0;try{i=n.toString().split(".")[1].length}catch(n){}try{r=e.toString().split(".")[1].length}catch(n){}return Number(n.toString().replace(".",""))/Number(e.toString().replace(".",""))*Math.pow(10,r-i)}function o(n){let e={"+":"qiao_accAdd","-":"qiao_accSub","*":"qiao_accMul","/":"qiao_accDiv"},i=null,r=n.operator;return i=e.hasOwnProperty(r)?{type:"CallExpression",callee:{type:"Identifier",name:Reflect.get(e,r)},arguments:[o(n.left),o(n.right)]}:n,i}function u(n){n.body.forEach((n=>{if("VariableDeclaration"===n.type&&n.declarations)n.declarations.forEach((n=>{n.init&&"BinaryExpression"===n.init.type&&(n.init=o(n.init))}));else if(n.expression&&"="===n.expression.operator){let e=n.expression.right;n.expression.right=o(e)}else if(n.type&&"ExpressionStatement"===n.type){let e=n.expression;n.expression=o(e)}}))}function c(o){let c=(f=o,n.parse(f,{ranges:!0}));var f;c.body=c.body[0].expression.body.body,u(c);let a=i.toString()+"\n"+(r.toString()+"\n")+(t.toString()+"\n")+(s.toString()+"\n")+(l=c,e.generate(l,{comment:!0}));var l;return Promise.resolve(a)}var f,a,l=9e15,h="0123456789abcdef",d="2.3025850929940456840179914546843642076011014886287729760333279009675726096773524802359972050895982983419677840422862486334095254650828067566662873690987816894829072083255546808437998948262331985283935053089653777326288461633662222876982198867465436674744042432743651550489343149393914796194044002221051017141748003688084012647080685567743216228355220114804663715659121373450747856947683463616792101806445070648000277502684916746550586856935673420670581136429224554405758925724208241314695689016758940256776311356919292033376587141660230105703089634572075440370847469940168269282808481184289314848524948644871927809676271275775397027668605952496716674183485704422507197965004714951050492214776567636938662976979522110718264549734772662425709429322582798502585509785265383207606726317164309505995087807523710333101197857547331541421808427543863591778117054309827482385045648019095610299291824318237525357709750539565187697510374970888692180205189339507238539205144634197265287286965110862571492198849978748873771345686209167058",p="3.1415926535897932384626433832795028841971693993751058209749445923078164062862089986280348253421170679821480865132823066470938446095505822317253594081284811174502841027019385211055596446229489549303819644288109756659334461284756482337867831652712019091456485669234603486104543266482133936072602491412737245870066063155881748815209209628292540917153643678925903600113305305488204665213841469519415116094330572703657595919530921861173819326117931051185480744623799627495673518857527248912279381830119491298336733624406566430860213949463952247371907021798609437027705392171762931767523846748184676694051320005681271452635608277857713427577896091736371787214684409012249534301465495853710507922796892589235420199561121290219608640344181598136297747713099605187072113499999983729780499510597317328160963185950244594553469083026425223082533446850352619311881710100031378387528865875332083814206171776691473035982534904287554687311595628638823537875937519577818577805321712268066130019278766111959092164201989380952572010654858632789",g={precision:20,rounding:4,modulo:1,toExpNeg:-7,toExpPos:21,minE:-l,maxE:l,crypto:!1},m=!0,w="[DecimalError] Invalid argument: ",v="[object Decimal]",N=Math.floor,b=Math.pow,E=/^0b([01]+(\.[01]*)?|\.[01]+)(p[+-]?\d+)?$/i,x=/^0x([0-9a-f]+(\.[0-9a-f]*)?|\.[0-9a-f]+)(p[+-]?\d+)?$/i,y=/^0o([0-7]+(\.[0-7]*)?|\.[0-7]+)(p[+-]?\d+)?$/i,M=/^(\d+(\.\d*)?|\.\d+)(e[+-]?\d+)?$/i,q=1e7,S=d.length-1,_=p.length-1,O={toStringTag:v};function D(n){var e,i,r,t=n.length-1,s="",o=n[0];if(t>0){for(s+=o,e=1;e<t;e++)(i=7-(r=n[e]+"").length)&&(s+=C(i)),s+=r;(i=7-(r=(o=n[e])+"").length)&&(s+=C(i))}else if(0===o)return"0";for(;o%10==0;)o/=10;return s+o}function F(n,e,i){if(n!==~~n||n<e||n>i)throw Error(w+n)}function A(n,e,i,r){var t,s,o,u;for(s=n[0];s>=10;s/=10)--e;return--e<0?(e+=7,t=0):(t=Math.ceil((e+1)/7),e%=7),s=b(10,7-e),u=n[t]%s|0,null==r?e<3?(0==e?u=u/100|0:1==e&&(u=u/10|0),o=i<4&&99999==u||i>3&&49999==u||5e4==u||0==u):o=(i<4&&u+1==s||i>3&&u+1==s/2)&&(n[t+1]/s/100|0)==b(10,e-2)-1||(u==s/2||0==u)&&0==(n[t+1]/s/100|0):e<4?(0==e?u=u/1e3|0:1==e?u=u/100|0:2==e&&(u=u/10|0),o=(r||i<4)&&9999==u||!r&&i>3&&4999==u):o=((r||i<4)&&u+1==s||!r&&i>3&&u+1==s/2)&&(n[t+1]/s/1e3|0)==b(10,e-3)-1,o}function Z(n,e,i){for(var r,t,s=[0],o=0,u=n.length;o<u;){for(t=s.length;t--;)s[t]*=e;for(s[0]+=h.indexOf(n.charAt(o++)),r=0;r<s.length;r++)s[r]>i-1&&(void 0===s[r+1]&&(s[r+1]=0),s[r+1]+=s[r]/i|0,s[r]%=i)}return s.reverse()}O.absoluteValue=O.abs=function(){var n=new this.constructor(this);return n.s<0&&(n.s=1),R(n)},O.ceil=function(){return R(new this.constructor(this),this.e+1,2)},O.clampedTo=O.clamp=function(n,e){var i=this,r=i.constructor;if(n=new r(n),e=new r(e),!n.s||!e.s)return new r(NaN);if(n.gt(e))throw Error(w+e);return i.cmp(n)<0?n:i.cmp(e)>0?e:new r(i)},O.comparedTo=O.cmp=function(n){var e,i,r,t,s=this,o=s.d,u=(n=new s.constructor(n)).d,c=s.s,f=n.s;if(!o||!u)return c&&f?c!==f?c:o===u?0:!o^c<0?1:-1:NaN;if(!o[0]||!u[0])return o[0]?c:u[0]?-f:0;if(c!==f)return c;if(s.e!==n.e)return s.e>n.e^c<0?1:-1;for(e=0,i=(r=o.length)<(t=u.length)?r:t;e<i;++e)if(o[e]!==u[e])return o[e]>u[e]^c<0?1:-1;return r===t?0:r>t^c<0?1:-1},O.cosine=O.cos=function(){var n,e,i=this,r=i.constructor;return i.d?i.d[0]?(n=r.precision,e=r.rounding,r.precision=n+Math.max(i.e,i.sd())+7,r.rounding=1,i=function(n,e){var i,r,t;if(e.isZero())return e;(r=e.d.length)<32?t=(1/K(4,i=Math.ceil(r/3))).toString():(i=16,t="2.3283064365386962890625e-10");n.precision+=i,e=G(n,1,e.times(t),new n(1));for(var s=i;s--;){var o=e.times(e);e=o.times(o).minus(o).times(8).plus(1)}return n.precision-=i,e}(r,Q(r,i)),r.precision=n,r.rounding=e,R(2==a||3==a?i.neg():i,n,e,!0)):new r(1):new r(NaN)},O.cubeRoot=O.cbrt=function(){var n,e,i,r,t,s,o,u,c,f,a=this,l=a.constructor;if(!a.isFinite()||a.isZero())return new l(a);for(m=!1,(s=a.s*b(a.s*a,1/3))&&Math.abs(s)!=1/0?r=new l(s.toString()):(i=D(a.d),(s=((n=a.e)-i.length+1)%3)&&(i+=1==s||-2==s?"0":"00"),s=b(i,1/3),n=N((n+1)/3)-(n%3==(n<0?-1:2)),(r=new l(i=s==1/0?"5e"+n:(i=s.toExponential()).slice(0,i.indexOf("e")+1)+n)).s=a.s),o=(n=l.precision)+3;;)if(f=(c=(u=r).times(u).times(u)).plus(a),r=P(f.plus(a).times(u),f.plus(c),o+2,1),D(u.d).slice(0,o)===(i=D(r.d)).slice(0,o)){if("9999"!=(i=i.slice(o-3,o+1))&&(t||"4999"!=i)){+i&&(+i.slice(1)||"5"!=i.charAt(0))||(R(r,n+1,1),e=!r.times(r).times(r).eq(a));break}if(!t&&(R(u,n+1,0),u.times(u).times(u).eq(a))){r=u;break}o+=4,t=1}return m=!0,R(r,n,l.rounding,e)},O.decimalPlaces=O.dp=function(){var n,e=this.d,i=NaN;if(e){if(i=7*((n=e.length-1)-N(this.e/7)),n=e[n])for(;n%10==0;n/=10)i--;i<0&&(i=0)}return i},O.dividedBy=O.div=function(n){return P(this,new this.constructor(n))},O.dividedToIntegerBy=O.divToInt=function(n){var e=this.constructor;return R(P(this,new e(n),0,1,1),e.precision,e.rounding)},O.equals=O.eq=function(n){return 0===this.cmp(n)},O.floor=function(){return R(new this.constructor(this),this.e+1,3)},O.greaterThan=O.gt=function(n){return this.cmp(n)>0},O.greaterThanOrEqualTo=O.gte=function(n){var e=this.cmp(n);return 1==e||0===e},O.hyperbolicCosine=O.cosh=function(){var n,e,i,r,t,s=this,o=s.constructor,u=new o(1);if(!s.isFinite())return new o(s.s?1/0:NaN);if(s.isZero())return u;i=o.precision,r=o.rounding,o.precision=i+Math.max(s.e,s.sd())+4,o.rounding=1,(t=s.d.length)<32?e=(1/K(4,n=Math.ceil(t/3))).toString():(n=16,e="2.3283064365386962890625e-10"),s=G(o,1,s.times(e),new o(1),!0);for(var c,f=n,a=new o(8);f--;)c=s.times(s),s=u.minus(c.times(a.minus(c.times(a))));return R(s,o.precision=i,o.rounding=r,!0)},O.hyperbolicSine=O.sinh=function(){var n,e,i,r,t=this,s=t.constructor;if(!t.isFinite()||t.isZero())return new s(t);if(e=s.precision,i=s.rounding,s.precision=e+Math.max(t.e,t.sd())+4,s.rounding=1,(r=t.d.length)<3)t=G(s,2,t,t,!0);else{n=(n=1.4*Math.sqrt(r))>16?16:0|n,t=G(s,2,t=t.times(1/K(5,n)),t,!0);for(var o,u=new s(5),c=new s(16),f=new s(20);n--;)o=t.times(t),t=t.times(u.plus(o.times(c.times(o).plus(f))))}return s.precision=e,s.rounding=i,R(t,e,i,!0)},O.hyperbolicTangent=O.tanh=function(){var n,e,i=this,r=i.constructor;return i.isFinite()?i.isZero()?new r(i):(n=r.precision,e=r.rounding,r.precision=n+7,r.rounding=1,P(i.sinh(),i.cosh(),r.precision=n,r.rounding=e)):new r(i.s)},O.inverseCosine=O.acos=function(){var n,e=this,i=e.constructor,r=e.abs().cmp(1),t=i.precision,s=i.rounding;return-1!==r?0===r?e.isNeg()?k(i,t,s):new i(0):new i(NaN):e.isZero()?k(i,t+4,s).times(.5):(i.precision=t+6,i.rounding=1,e=e.asin(),n=k(i,t+4,s).times(.5),i.precision=t,i.rounding=s,n.minus(e))},O.inverseHyperbolicCosine=O.acosh=function(){var n,e,i=this,r=i.constructor;return i.lte(1)?new r(i.eq(1)?0:NaN):i.isFinite()?(n=r.precision,e=r.rounding,r.precision=n+Math.max(Math.abs(i.e),i.sd())+4,r.rounding=1,m=!1,i=i.times(i).minus(1).sqrt().plus(i),m=!0,r.precision=n,r.rounding=e,i.ln()):new r(i)},O.inverseHyperbolicSine=O.asinh=function(){var n,e,i=this,r=i.constructor;return!i.isFinite()||i.isZero()?new r(i):(n=r.precision,e=r.rounding,r.precision=n+2*Math.max(Math.abs(i.e),i.sd())+6,r.rounding=1,m=!1,i=i.times(i).plus(1).sqrt().plus(i),m=!0,r.precision=n,r.rounding=e,i.ln())},O.inverseHyperbolicTangent=O.atanh=function(){var n,e,i,r,t=this,s=t.constructor;return t.isFinite()?t.e>=0?new s(t.abs().eq(1)?t.s/0:t.isZero()?t:NaN):(n=s.precision,e=s.rounding,r=t.sd(),Math.max(r,n)<2*-t.e-1?R(new s(t),n,e,!0):(s.precision=i=r-t.e,t=P(t.plus(1),new s(1).minus(t),i+n,1),s.precision=n+4,s.rounding=1,t=t.ln(),s.precision=n,s.rounding=e,t.times(.5))):new s(NaN)},O.inverseSine=O.asin=function(){var n,e,i,r,t=this,s=t.constructor;return t.isZero()?new s(t):(e=t.abs().cmp(1),i=s.precision,r=s.rounding,-1!==e?0===e?((n=k(s,i+4,r).times(.5)).s=t.s,n):new s(NaN):(s.precision=i+6,s.rounding=1,t=t.div(new s(1).minus(t.times(t)).sqrt().plus(1)).atan(),s.precision=i,s.rounding=r,t.times(2)))},O.inverseTangent=O.atan=function(){var n,e,i,r,t,s,o,u,c,f=this,a=f.constructor,l=a.precision,h=a.rounding;if(f.isFinite()){if(f.isZero())return new a(f);if(f.abs().eq(1)&&l+4<=_)return(o=k(a,l+4,h).times(.25)).s=f.s,o}else{if(!f.s)return new a(NaN);if(l+4<=_)return(o=k(a,l+4,h).times(.5)).s=f.s,o}for(a.precision=u=l+10,a.rounding=1,n=i=Math.min(28,u/7+2|0);n;--n)f=f.div(f.times(f).plus(1).sqrt().plus(1));for(m=!1,e=Math.ceil(u/7),r=1,c=f.times(f),o=new a(f),t=f;-1!==n;)if(t=t.times(c),s=o.minus(t.div(r+=2)),t=t.times(c),void 0!==(o=s.plus(t.div(r+=2))).d[e])for(n=e;o.d[n]===s.d[n]&&n--;);return i&&(o=o.times(2<<i-1)),m=!0,R(o,a.precision=l,a.rounding=h,!0)},O.isFinite=function(){return!!this.d},O.isInteger=O.isInt=function(){return!!this.d&&N(this.e/7)>this.d.length-2},O.isNaN=function(){return!this.s},O.isNegative=O.isNeg=function(){return this.s<0},O.isPositive=O.isPos=function(){return this.s>0},O.isZero=function(){return!!this.d&&0===this.d[0]},O.lessThan=O.lt=function(n){return this.cmp(n)<0},O.lessThanOrEqualTo=O.lte=function(n){return this.cmp(n)<1},O.logarithm=O.log=function(n){var e,i,r,t,s,o,u,c,f=this,a=f.constructor,l=a.precision,h=a.rounding;if(null==n)n=new a(10),e=!0;else{if(i=(n=new a(n)).d,n.s<0||!i||!i[0]||n.eq(1))return new a(NaN);e=n.eq(10)}if(i=f.d,f.s<0||!i||!i[0]||f.eq(1))return new a(i&&!i[0]?-1/0:1!=f.s?NaN:i?0:1/0);if(e)if(i.length>1)s=!0;else{for(t=i[0];t%10==0;)t/=10;s=1!==t}if(m=!1,o=j(f,u=l+5),r=e?U(a,u+10):j(n,u),A((c=P(o,r,u,1)).d,t=l,h))do{if(o=j(f,u+=10),r=e?U(a,u+10):j(n,u),c=P(o,r,u,1),!s){+D(c.d).slice(t+1,t+15)+1==1e14&&(c=R(c,l+1,0));break}}while(A(c.d,t+=10,h));return m=!0,R(c,l,h)},O.minus=O.sub=function(n){var e,i,r,t,s,o,u,c,f,a,l,h,d=this,p=d.constructor;if(n=new p(n),!d.d||!n.d)return d.s&&n.s?d.d?n.s=-n.s:n=new p(n.d||d.s!==n.s?d:NaN):n=new p(NaN),n;if(d.s!=n.s)return n.s=-n.s,d.plus(n);if(f=d.d,h=n.d,u=p.precision,c=p.rounding,!f[0]||!h[0]){if(h[0])n.s=-n.s;else{if(!f[0])return new p(3===c?-0:0);n=new p(d)}return m?R(n,u,c):n}if(i=N(n.e/7),a=N(d.e/7),f=f.slice(),s=a-i){for((l=s<0)?(e=f,s=-s,o=h.length):(e=h,i=a,o=f.length),s>(r=Math.max(Math.ceil(u/7),o)+2)&&(s=r,e.length=1),e.reverse(),r=s;r--;)e.push(0);e.reverse()}else{for((l=(r=f.length)<(o=h.length))&&(o=r),r=0;r<o;r++)if(f[r]!=h[r]){l=f[r]<h[r];break}s=0}for(l&&(e=f,f=h,h=e,n.s=-n.s),o=f.length,r=h.length-o;r>0;--r)f[o++]=0;for(r=h.length;r>s;){if(f[--r]<h[r]){for(t=r;t&&0===f[--t];)f[t]=q-1;--f[t],f[r]+=q}f[r]-=h[r]}for(;0===f[--o];)f.pop();for(;0===f[0];f.shift())--i;return f[0]?(n.d=f,n.e=L(f,i),m?R(n,u,c):n):new p(3===c?-0:0)},O.modulo=O.mod=function(n){var e,i=this,r=i.constructor;return n=new r(n),!i.d||!n.s||n.d&&!n.d[0]?new r(NaN):!n.d||i.d&&!i.d[0]?R(new r(i),r.precision,r.rounding):(m=!1,9==r.modulo?(e=P(i,n.abs(),0,3,1)).s*=n.s:e=P(i,n,0,r.modulo,1),e=e.times(n),m=!0,i.minus(e))},O.naturalExponential=O.exp=function(){return V(this)},O.naturalLogarithm=O.ln=function(){return j(this)},O.negated=O.neg=function(){var n=new this.constructor(this);return n.s=-n.s,R(n)},O.plus=O.add=function(n){var e,i,r,t,s,o,u,c,f,a,l=this,h=l.constructor;if(n=new h(n),!l.d||!n.d)return l.s&&n.s?l.d||(n=new h(n.d||l.s===n.s?l:NaN)):n=new h(NaN),n;if(l.s!=n.s)return n.s=-n.s,l.minus(n);if(f=l.d,a=n.d,u=h.precision,c=h.rounding,!f[0]||!a[0])return a[0]||(n=new h(l)),m?R(n,u,c):n;if(s=N(l.e/7),r=N(n.e/7),f=f.slice(),t=s-r){for(t<0?(i=f,t=-t,o=a.length):(i=a,r=s,o=f.length),t>(o=(s=Math.ceil(u/7))>o?s+1:o+1)&&(t=o,i.length=1),i.reverse();t--;)i.push(0);i.reverse()}for((o=f.length)-(t=a.length)<0&&(t=o,i=a,a=f,f=i),e=0;t;)e=(f[--t]=f[t]+a[t]+e)/q|0,f[t]%=q;for(e&&(f.unshift(e),++r),o=f.length;0==f[--o];)f.pop();return n.d=f,n.e=L(f,r),m?R(n,u,c):n},O.precision=O.sd=function(n){var e,i=this;if(void 0!==n&&n!==!!n&&1!==n&&0!==n)throw Error(w+n);return i.d?(e=I(i.d),n&&i.e+1>e&&(e=i.e+1)):e=NaN,e},O.round=function(){var n=this,e=n.constructor;return R(new e(n),n.e+1,e.rounding)},O.sine=O.sin=function(){var n,e,i=this,r=i.constructor;return i.isFinite()?i.isZero()?new r(i):(n=r.precision,e=r.rounding,r.precision=n+Math.max(i.e,i.sd())+7,r.rounding=1,i=function(n,e){var i,r=e.d.length;if(r<3)return e.isZero()?e:G(n,2,e,e);i=(i=1.4*Math.sqrt(r))>16?16:0|i,e=e.times(1/K(5,i)),e=G(n,2,e,e);for(var t,s=new n(5),o=new n(16),u=new n(20);i--;)t=e.times(e),e=e.times(s.plus(t.times(o.times(t).minus(u))));return e}(r,Q(r,i)),r.precision=n,r.rounding=e,R(a>2?i.neg():i,n,e,!0)):new r(NaN)},O.squareRoot=O.sqrt=function(){var n,e,i,r,t,s,o=this,u=o.d,c=o.e,f=o.s,a=o.constructor;if(1!==f||!u||!u[0])return new a(!f||f<0&&(!u||u[0])?NaN:u?o:1/0);for(m=!1,0==(f=Math.sqrt(+o))||f==1/0?(((e=D(u)).length+c)%2==0&&(e+="0"),f=Math.sqrt(e),c=N((c+1)/2)-(c<0||c%2),r=new a(e=f==1/0?"5e"+c:(e=f.toExponential()).slice(0,e.indexOf("e")+1)+c)):r=new a(f.toString()),i=(c=a.precision)+3;;)if(r=(s=r).plus(P(o,s,i+2,1)).times(.5),D(s.d).slice(0,i)===(e=D(r.d)).slice(0,i)){if("9999"!=(e=e.slice(i-3,i+1))&&(t||"4999"!=e)){+e&&(+e.slice(1)||"5"!=e.charAt(0))||(R(r,c+1,1),n=!r.times(r).eq(o));break}if(!t&&(R(s,c+1,0),s.times(s).eq(o))){r=s;break}i+=4,t=1}return m=!0,R(r,c,a.rounding,n)},O.tangent=O.tan=function(){var n,e,i=this,r=i.constructor;return i.isFinite()?i.isZero()?new r(i):(n=r.precision,e=r.rounding,r.precision=n+10,r.rounding=1,(i=i.sin()).s=1,i=P(i,new r(1).minus(i.times(i)).sqrt(),n+10,0),r.precision=n,r.rounding=e,R(2==a||4==a?i.neg():i,n,e,!0)):new r(NaN)},O.times=O.mul=function(n){var e,i,r,t,s,o,u,c,f,a=this,l=a.constructor,h=a.d,d=(n=new l(n)).d;if(n.s*=a.s,!(h&&h[0]&&d&&d[0]))return new l(!n.s||h&&!h[0]&&!d||d&&!d[0]&&!h?NaN:h&&d?0*n.s:n.s/0);for(i=N(a.e/7)+N(n.e/7),(c=h.length)<(f=d.length)&&(s=h,h=d,d=s,o=c,c=f,f=o),s=[],r=o=c+f;r--;)s.push(0);for(r=f;--r>=0;){for(e=0,t=c+r;t>r;)u=s[t]+d[r]*h[t-r-1]+e,s[t--]=u%q|0,e=u/q|0;s[t]=(s[t]+e)%q|0}for(;!s[--o];)s.pop();return e?++i:s.shift(),n.d=s,n.e=L(s,i),m?R(n,l.precision,l.rounding):n},O.toBinary=function(n,e){return X(this,2,n,e)},O.toDecimalPlaces=O.toDP=function(n,e){var i=this,r=i.constructor;return i=new r(i),void 0===n?i:(F(n,0,1e9),void 0===e?e=r.rounding:F(e,0,8),R(i,n+i.e+1,e))},O.toExponential=function(n,e){var i,r=this,t=r.constructor;return void 0===n?i=T(r,!0):(F(n,0,1e9),void 0===e?e=t.rounding:F(e,0,8),i=T(r=R(new t(r),n+1,e),!0,n+1)),r.isNeg()&&!r.isZero()?"-"+i:i},O.toFixed=function(n,e){var i,r,t=this,s=t.constructor;return void 0===n?i=T(t):(F(n,0,1e9),void 0===e?e=s.rounding:F(e,0,8),i=T(r=R(new s(t),n+t.e+1,e),!1,n+r.e+1)),t.isNeg()&&!t.isZero()?"-"+i:i},O.toFraction=function(n){var e,i,r,t,s,o,u,c,f,a,l,h,d=this,p=d.d,g=d.constructor;if(!p)return new g(d);if(f=i=new g(1),r=c=new g(0),o=(s=(e=new g(r)).e=I(p)-d.e-1)%7,e.d[0]=b(10,o<0?7+o:o),null==n)n=s>0?e:f;else{if(!(u=new g(n)).isInt()||u.lt(f))throw Error(w+u);n=u.gt(e)?s>0?e:f:u}for(m=!1,u=new g(D(p)),a=g.precision,g.precision=s=7*p.length*2;l=P(u,e,0,1,1),1!=(t=i.plus(l.times(r))).cmp(n);)i=r,r=t,t=f,f=c.plus(l.times(t)),c=t,t=e,e=u.minus(l.times(t)),u=t;return t=P(n.minus(i),r,0,1,1),c=c.plus(t.times(f)),i=i.plus(t.times(r)),c.s=f.s=d.s,h=P(f,r,s,1).minus(d).abs().cmp(P(c,i,s,1).minus(d).abs())<1?[f,r]:[c,i],g.precision=a,m=!0,h},O.toHexadecimal=O.toHex=function(n,e){return X(this,16,n,e)},O.toNearest=function(n,e){var i=this,r=i.constructor;if(i=new r(i),null==n){if(!i.d)return i;n=new r(1),e=r.rounding}else{if(n=new r(n),void 0===e?e=r.rounding:F(e,0,8),!i.d)return n.s?i:n;if(!n.d)return n.s&&(n.s=i.s),n}return n.d[0]?(m=!1,i=P(i,n,0,e,1).times(n),m=!0,R(i)):(n.s=i.s,i=n),i},O.toNumber=function(){return+this},O.toOctal=function(n,e){return X(this,8,n,e)},O.toPower=O.pow=function(n){var e,i,r,t,s,o,u=this,c=u.constructor,f=+(n=new c(n));if(!(u.d&&n.d&&u.d[0]&&n.d[0]))return new c(b(+u,f));if((u=new c(u)).eq(1))return u;if(r=c.precision,s=c.rounding,n.eq(1))return R(u,r,s);if((e=N(n.e/7))>=n.d.length-1&&(i=f<0?-f:f)<=9007199254740991)return t=H(c,u,i,r),n.s<0?new c(1).div(t):R(t,r,s);if((o=u.s)<0){if(e<n.d.length-1)return new c(NaN);if(0==(1&n.d[e])&&(o=1),0==u.e&&1==u.d[0]&&1==u.d.length)return u.s=o,u}return(e=0!=(i=b(+u,f))&&isFinite(i)?new c(i+"").e:N(f*(Math.log("0."+D(u.d))/Math.LN10+u.e+1)))>c.maxE+1||e<c.minE-1?new c(e>0?o/0:0):(m=!1,c.rounding=u.s=1,i=Math.min(12,(e+"").length),(t=V(n.times(j(u,r+i)),r)).d&&A((t=R(t,r+5,1)).d,r,s)&&(e=r+10,+D((t=R(V(n.times(j(u,e+i)),e),e+5,1)).d).slice(r+1,r+15)+1==1e14&&(t=R(t,r+1,0))),t.s=o,m=!0,c.rounding=s,R(t,r,s))},O.toPrecision=function(n,e){var i,r=this,t=r.constructor;return void 0===n?i=T(r,r.e<=t.toExpNeg||r.e>=t.toExpPos):(F(n,1,1e9),void 0===e?e=t.rounding:F(e,0,8),i=T(r=R(new t(r),n,e),n<=r.e||r.e<=t.toExpNeg,n)),r.isNeg()&&!r.isZero()?"-"+i:i},O.toSignificantDigits=O.toSD=function(n,e){var i=this.constructor;return void 0===n?(n=i.precision,e=i.rounding):(F(n,1,1e9),void 0===e?e=i.rounding:F(e,0,8)),R(new i(this),n,e)},O.toString=function(){var n=this,e=n.constructor,i=T(n,n.e<=e.toExpNeg||n.e>=e.toExpPos);return n.isNeg()&&!n.isZero()?"-"+i:i},O.truncated=O.trunc=function(){return R(new this.constructor(this),this.e+1,1)},O.valueOf=O.toJSON=function(){var n=this,e=n.constructor,i=T(n,n.e<=e.toExpNeg||n.e>=e.toExpPos);return n.isNeg()?"-"+i:i};var P=function(){function n(n,e,i){var r,t=0,s=n.length;for(n=n.slice();s--;)r=n[s]*e+t,n[s]=r%i|0,t=r/i|0;return t&&n.unshift(t),n}function e(n,e,i,r){var t,s;if(i!=r)s=i>r?1:-1;else for(t=s=0;t<i;t++)if(n[t]!=e[t]){s=n[t]>e[t]?1:-1;break}return s}function i(n,e,i,r){for(var t=0;i--;)n[i]-=t,t=n[i]<e[i]?1:0,n[i]=t*r+n[i]-e[i];for(;!n[0]&&n.length>1;)n.shift()}return function(r,t,s,o,u,c){var a,l,h,d,p,g,m,w,v,b,E,x,y,M,S,_,O,D,F,A,Z=r.constructor,P=r.s==t.s?1:-1,T=r.d,L=t.d;if(!(T&&T[0]&&L&&L[0]))return new Z(r.s&&t.s&&(T?!L||T[0]!=L[0]:L)?T&&0==T[0]||!L?0*P:P/0:NaN);for(c?(p=1,l=r.e-t.e):(c=q,p=7,l=N(r.e/p)-N(t.e/p)),F=L.length,O=T.length,b=(v=new Z(P)).d=[],h=0;L[h]==(T[h]||0);h++);if(L[h]>(T[h]||0)&&l--,null==s?(M=s=Z.precision,o=Z.rounding):M=u?s+(r.e-t.e)+1:s,M<0)b.push(1),g=!0;else{if(M=M/p+2|0,h=0,1==F){for(d=0,L=L[0],M++;(h<O||d)&&M--;h++)S=d*c+(T[h]||0),b[h]=S/L|0,d=S%L|0;g=d||h<O}else{for((d=c/(L[0]+1)|0)>1&&(L=n(L,d,c),T=n(T,d,c),F=L.length,O=T.length),_=F,x=(E=T.slice(0,F)).length;x<F;)E[x++]=0;(A=L.slice()).unshift(0),D=L[0],L[1]>=c/2&&++D;do{d=0,(a=e(L,E,F,x))<0?(y=E[0],F!=x&&(y=y*c+(E[1]||0)),(d=y/D|0)>1?(d>=c&&(d=c-1),1==(a=e(m=n(L,d,c),E,w=m.length,x=E.length))&&(d--,i(m,F<w?A:L,w,c))):(0==d&&(a=d=1),m=L.slice()),(w=m.length)<x&&m.unshift(0),i(E,m,x,c),-1==a&&(a=e(L,E,F,x=E.length))<1&&(d++,i(E,F<x?A:L,x,c)),x=E.length):0===a&&(d++,E=[0]),b[h++]=d,a&&E[0]?E[x++]=T[_]||0:(E=[T[_]],x=1)}while((_++<O||void 0!==E[0])&&M--);g=void 0!==E[0]}b[0]||b.shift()}if(1==p)v.e=l,f=g;else{for(h=1,d=b[0];d>=10;d/=10)h++;v.e=h+l*p-1,R(v,u?s+v.e+1:s,o,g)}return v}}();function R(n,e,i,r){var t,s,o,u,c,f,a,l,h,d=n.constructor;n:if(null!=e){if(!(l=n.d))return n;for(t=1,u=l[0];u>=10;u/=10)t++;if((s=e-t)<0)s+=7,o=e,c=(a=l[h=0])/b(10,t-o-1)%10|0;else if((h=Math.ceil((s+1)/7))>=(u=l.length)){if(!r)break n;for(;u++<=h;)l.push(0);a=c=0,t=1,o=(s%=7)-7+1}else{for(a=u=l[h],t=1;u>=10;u/=10)t++;c=(o=(s%=7)-7+t)<0?0:a/b(10,t-o-1)%10|0}if(r=r||e<0||void 0!==l[h+1]||(o<0?a:a%b(10,t-o-1)),f=i<4?(c||r)&&(0==i||i==(n.s<0?3:2)):c>5||5==c&&(4==i||r||6==i&&(s>0?o>0?a/b(10,t-o):0:l[h-1])%10&1||i==(n.s<0?8:7)),e<1||!l[0])return l.length=0,f?(e-=n.e+1,l[0]=b(10,(7-e%7)%7),n.e=-e||0):l[0]=n.e=0,n;if(0==s?(l.length=h,u=1,h--):(l.length=h+1,u=b(10,7-s),l[h]=o>0?(a/b(10,t-o)%b(10,o)|0)*u:0),f)for(;;){if(0==h){for(s=1,o=l[0];o>=10;o/=10)s++;for(o=l[0]+=u,u=1;o>=10;o/=10)u++;s!=u&&(n.e++,l[0]==q&&(l[0]=1));break}if(l[h]+=u,l[h]!=q)break;l[h--]=0,u=1}for(s=l.length;0===l[--s];)l.pop()}return m&&(n.e>d.maxE?(n.d=null,n.e=NaN):n.e<d.minE&&(n.e=0,n.d=[0])),n}function T(n,e,i){if(!n.isFinite())return W(n);var r,t=n.e,s=D(n.d),o=s.length;return e?(i&&(r=i-o)>0?s=s.charAt(0)+"."+s.slice(1)+C(r):o>1&&(s=s.charAt(0)+"."+s.slice(1)),s=s+(n.e<0?"e":"e+")+n.e):t<0?(s="0."+C(-t-1)+s,i&&(r=i-o)>0&&(s+=C(r))):t>=o?(s+=C(t+1-o),i&&(r=i-t-1)>0&&(s=s+"."+C(r))):((r=t+1)<o&&(s=s.slice(0,r)+"."+s.slice(r)),i&&(r=i-o)>0&&(t+1===o&&(s+="."),s+=C(r))),s}function L(n,e){var i=n[0];for(e*=7;i>=10;i/=10)e++;return e}function U(n,e,i){if(e>S)throw m=!0,i&&(n.precision=i),Error("[DecimalError] Precision limit exceeded");return R(new n(d),e,1,!0)}function k(n,e,i){if(e>_)throw Error("[DecimalError] Precision limit exceeded");return R(new n(p),e,i,!0)}function I(n){var e=n.length-1,i=7*e+1;if(e=n[e]){for(;e%10==0;e/=10)i--;for(e=n[0];e>=10;e/=10)i++}return i}function C(n){for(var e="";n--;)e+="0";return e}function H(n,e,i,r){var t,s=new n(1),o=Math.ceil(r/7+4);for(m=!1;;){if(i%2&&Y((s=s.times(e)).d,o)&&(t=!0),0===(i=N(i/2))){i=s.d.length-1,t&&0===s.d[i]&&++s.d[i];break}Y((e=e.times(e)).d,o)}return m=!0,s}function $(n){return 1&n.d[n.d.length-1]}function B(n,e,i){for(var r,t=new n(e[0]),s=0;++s<e.length;){if(!(r=new n(e[s])).s){t=r;break}t[i](r)&&(t=r)}return t}function V(n,e){var i,r,t,s,o,u,c,f=0,a=0,l=0,h=n.constructor,d=h.rounding,p=h.precision;if(!n.d||!n.d[0]||n.e>17)return new h(n.d?n.d[0]?n.s<0?0:1/0:1:n.s?n.s<0?0:n:NaN);for(null==e?(m=!1,c=p):c=e,u=new h(.03125);n.e>-2;)n=n.times(u),l+=5;for(c+=r=Math.log(b(2,l))/Math.LN10*2+5|0,i=s=o=new h(1),h.precision=c;;){if(s=R(s.times(n),c,1),i=i.times(++a),D((u=o.plus(P(s,i,c,1))).d).slice(0,c)===D(o.d).slice(0,c)){for(t=l;t--;)o=R(o.times(o),c,1);if(null!=e)return h.precision=p,o;if(!(f<3&&A(o.d,c-r,d,f)))return R(o,h.precision=p,d,m=!0);h.precision=c+=10,i=s=u=new h(1),a=0,f++}o=u}}function j(n,e){var i,r,t,s,o,u,c,f,a,l,h,d=1,p=n,g=p.d,w=p.constructor,v=w.rounding,N=w.precision;if(p.s<0||!g||!g[0]||!p.e&&1==g[0]&&1==g.length)return new w(g&&!g[0]?-1/0:1!=p.s?NaN:g?0:p);if(null==e?(m=!1,a=N):a=e,w.precision=a+=10,r=(i=D(g)).charAt(0),!(Math.abs(s=p.e)<15e14))return f=U(w,a+2,N).times(s+""),p=j(new w(r+"."+i.slice(1)),a-10).plus(f),w.precision=N,null==e?R(p,N,v,m=!0):p;for(;r<7&&1!=r||1==r&&i.charAt(1)>3;)r=(i=D((p=p.times(n)).d)).charAt(0),d++;for(s=p.e,r>1?(p=new w("0."+i),s++):p=new w(r+"."+i.slice(1)),l=p,c=o=p=P(p.minus(1),p.plus(1),a,1),h=R(p.times(p),a,1),t=3;;){if(o=R(o.times(h),a,1),D((f=c.plus(P(o,new w(t),a,1))).d).slice(0,a)===D(c.d).slice(0,a)){if(c=c.times(2),0!==s&&(c=c.plus(U(w,a+2,N).times(s+""))),c=P(c,new w(d),a,1),null!=e)return w.precision=N,c;if(!A(c.d,a-10,v,u))return R(c,w.precision=N,v,m=!0);w.precision=a+=10,f=o=p=P(l.minus(1),l.plus(1),a,1),h=R(p.times(p),a,1),t=u=1}c=f,t+=2}}function W(n){return String(n.s*n.s/0)}function J(n,e){var i,r,t;for((i=e.indexOf("."))>-1&&(e=e.replace(".","")),(r=e.search(/e/i))>0?(i<0&&(i=r),i+=+e.slice(r+1),e=e.substring(0,r)):i<0&&(i=e.length),r=0;48===e.charCodeAt(r);r++);for(t=e.length;48===e.charCodeAt(t-1);--t);if(e=e.slice(r,t)){if(t-=r,n.e=i=i-r-1,n.d=[],r=(i+1)%7,i<0&&(r+=7),r<t){for(r&&n.d.push(+e.slice(0,r)),t-=7;r<t;)n.d.push(+e.slice(r,r+=7));r=7-(e=e.slice(r)).length}else r-=t;for(;r--;)e+="0";n.d.push(+e),m&&(n.e>n.constructor.maxE?(n.d=null,n.e=NaN):n.e<n.constructor.minE&&(n.e=0,n.d=[0]))}else n.e=0,n.d=[0];return n}function z(n,e){var i,r,t,s,o,u,c,f,a;if(e.indexOf("_")>-1){if(e=e.replace(/(\d)_(?=\d)/g,"$1"),M.test(e))return J(n,e)}else if("Infinity"===e||"NaN"===e)return+e||(n.s=NaN),n.e=NaN,n.d=null,n;if(x.test(e))i=16,e=e.toLowerCase();else if(E.test(e))i=2;else{if(!y.test(e))throw Error(w+e);i=8}for((s=e.search(/p/i))>0?(c=+e.slice(s+1),e=e.substring(2,s)):e=e.slice(2),o=(s=e.indexOf("."))>=0,r=n.constructor,o&&(s=(u=(e=e.replace(".","")).length)-s,t=H(r,new r(i),s,2*s)),s=a=(f=Z(e,i,q)).length-1;0===f[s];--s)f.pop();return s<0?new r(0*n.s):(n.e=L(f,a),n.d=f,m=!1,o&&(n=P(n,t,4*u)),c&&(n=n.times(Math.abs(c)<54?b(2,c):Hn.pow(2,c))),m=!0,n)}function G(n,e,i,r,t){var s,o,u,c,f=n.precision,a=Math.ceil(f/7);for(m=!1,c=i.times(i),u=new n(r);;){if(o=P(u.times(c),new n(e++*e++),f,1),u=t?r.plus(o):r.minus(o),r=P(o.times(c),new n(e++*e++),f,1),void 0!==(o=u.plus(r)).d[a]){for(s=a;o.d[s]===u.d[s]&&s--;);if(-1==s)break}s=u,u=r,r=o,o=s}return m=!0,o.d.length=a+1,o}function K(n,e){for(var i=n;--e;)i*=n;return i}function Q(n,e){var i,r=e.s<0,t=k(n,n.precision,1),s=t.times(.5);if((e=e.abs()).lte(s))return a=r?4:1,e;if((i=e.divToInt(t)).isZero())a=r?3:2;else{if((e=e.minus(i.times(t))).lte(s))return a=$(i)?r?2:3:r?4:1,e;a=$(i)?r?1:4:r?3:2}return e.minus(t).abs()}function X(n,e,i,r){var t,s,o,u,c,a,l,d,p,g=n.constructor,m=void 0!==i;if(m?(F(i,1,1e9),void 0===r?r=g.rounding:F(r,0,8)):(i=g.precision,r=g.rounding),n.isFinite()){for(m?(t=2,16==e?i=4*i-3:8==e&&(i=3*i-2)):t=e,(o=(l=T(n)).indexOf("."))>=0&&(l=l.replace(".",""),(p=new g(1)).e=l.length-o,p.d=Z(T(p),10,t),p.e=p.d.length),s=c=(d=Z(l,10,t)).length;0==d[--c];)d.pop();if(d[0]){if(o<0?s--:((n=new g(n)).d=d,n.e=s,d=(n=P(n,p,i,r,0,t)).d,s=n.e,a=f),o=d[i],u=t/2,a=a||void 0!==d[i+1],a=r<4?(void 0!==o||a)&&(0===r||r===(n.s<0?3:2)):o>u||o===u&&(4===r||a||6===r&&1&d[i-1]||r===(n.s<0?8:7)),d.length=i,a)for(;++d[--i]>t-1;)d[i]=0,i||(++s,d.unshift(1));for(c=d.length;!d[c-1];--c);for(o=0,l="";o<c;o++)l+=h.charAt(d[o]);if(m){if(c>1)if(16==e||8==e){for(o=16==e?4:3,--c;c%o;c++)l+="0";for(c=(d=Z(l,t,e)).length;!d[c-1];--c);for(o=1,l="1.";o<c;o++)l+=h.charAt(d[o])}else l=l.charAt(0)+"."+l.slice(1);l=l+(s<0?"p":"p+")+s}else if(s<0){for(;++s;)l="0"+l;l="0."+l}else if(++s>c)for(s-=c;s--;)l+="0";else s<c&&(l=l.slice(0,s)+"."+l.slice(s))}else l=m?"0p+0":"0";l=(16==e?"0x":2==e?"0b":8==e?"0o":"")+l}else l=W(n);return n.s<0?"-"+l:l}function Y(n,e){if(n.length>e)return n.length=e,!0}function nn(n){return new this(n).abs()}function en(n){return new this(n).acos()}function rn(n){return new this(n).acosh()}function tn(n,e){return new this(n).plus(e)}function sn(n){return new this(n).asin()}function on(n){return new this(n).asinh()}function un(n){return new this(n).atan()}function cn(n){return new this(n).atanh()}function fn(n,e){n=new this(n),e=new this(e);var i,r=this.precision,t=this.rounding,s=r+4;return n.s&&e.s?n.d||e.d?!e.d||n.isZero()?(i=e.s<0?k(this,r,t):new this(0)).s=n.s:!n.d||e.isZero()?(i=k(this,s,1).times(.5)).s=n.s:e.s<0?(this.precision=s,this.rounding=1,i=this.atan(P(n,e,s,1)),e=k(this,s,1),this.precision=r,this.rounding=t,i=n.s<0?i.minus(e):i.plus(e)):i=this.atan(P(n,e,s,1)):(i=k(this,s,1).times(e.s>0?.25:.75)).s=n.s:i=new this(NaN),i}function an(n){return new this(n).cbrt()}function ln(n){return R(n=new this(n),n.e+1,2)}function hn(n,e,i){return new this(n).clamp(e,i)}function dn(n){if(!n||"object"!=typeof n)throw Error("[DecimalError] Object expected");var e,i,r,t=!0===n.defaults,s=["precision",1,1e9,"rounding",0,8,"toExpNeg",-l,0,"toExpPos",0,l,"maxE",0,l,"minE",-l,0,"modulo",0,9];for(e=0;e<s.length;e+=3)if(i=s[e],t&&(this[i]=g[i]),void 0!==(r=n[i])){if(!(N(r)===r&&r>=s[e+1]&&r<=s[e+2]))throw Error(w+i+": "+r);this[i]=r}if(i="crypto",t&&(this[i]=g[i]),void 0!==(r=n[i])){if(!0!==r&&!1!==r&&0!==r&&1!==r)throw Error(w+i+": "+r);if(r){if("undefined"==typeof crypto||!crypto||!crypto.getRandomValues&&!crypto.randomBytes)throw Error("[DecimalError] crypto unavailable");this[i]=!0}else this[i]=!1}return this}function pn(n){return new this(n).cos()}function gn(n){return new this(n).cosh()}function mn(n,e){return new this(n).div(e)}function wn(n){return new this(n).exp()}function vn(n){return R(n=new this(n),n.e+1,3)}function Nn(){var n,e,i=new this(0);for(m=!1,n=0;n<arguments.length;)if((e=new this(arguments[n++])).d)i.d&&(i=i.plus(e.times(e)));else{if(e.s)return m=!0,new this(1/0);i=e}return m=!0,i.sqrt()}function bn(n){return n instanceof Hn||n&&n.toStringTag===v||!1}function En(n){return new this(n).ln()}function xn(n,e){return new this(n).log(e)}function yn(n){return new this(n).log(2)}function Mn(n){return new this(n).log(10)}function qn(){return B(this,arguments,"lt")}function Sn(){return B(this,arguments,"gt")}function _n(n,e){return new this(n).mod(e)}function On(n,e){return new this(n).mul(e)}function Dn(n,e){return new this(n).pow(e)}function Fn(n){var e,i,r,t,s=0,o=new this(1),u=[];if(void 0===n?n=this.precision:F(n,1,1e9),r=Math.ceil(n/7),this.crypto)if(crypto.getRandomValues)for(e=crypto.getRandomValues(new Uint32Array(r));s<r;)(t=e[s])>=429e7?e[s]=crypto.getRandomValues(new Uint32Array(1))[0]:u[s++]=t%1e7;else{if(!crypto.randomBytes)throw Error("[DecimalError] crypto unavailable");for(e=crypto.randomBytes(r*=4);s<r;)(t=e[s]+(e[s+1]<<8)+(e[s+2]<<16)+((127&e[s+3])<<24))>=214e7?crypto.randomBytes(4).copy(e,s):(u.push(t%1e7),s+=4);s=r/4}else for(;s<r;)u[s++]=1e7*Math.random()|0;for(n%=7,(r=u[--s])&&n&&(t=b(10,7-n),u[s]=(r/t|0)*t);0===u[s];s--)u.pop();if(s<0)i=0,u=[0];else{for(i=-1;0===u[0];i-=7)u.shift();for(r=1,t=u[0];t>=10;t/=10)r++;r<7&&(i-=7-r)}return o.e=i,o.d=u,o}function An(n){return R(n=new this(n),n.e+1,this.rounding)}function Zn(n){return(n=new this(n)).d?n.d[0]?n.s:0*n.s:n.s||NaN}function Pn(n){return new this(n).sin()}function Rn(n){return new this(n).sinh()}function Tn(n){return new this(n).sqrt()}function Ln(n,e){return new this(n).sub(e)}function Un(){var n=0,e=arguments,i=new this(e[n]);for(m=!1;i.s&&++n<e.length;)i=i.plus(e[n]);return m=!0,R(i,this.precision,this.rounding)}function kn(n){return new this(n).tan()}function In(n){return new this(n).tanh()}function Cn(n){return R(n=new this(n),n.e+1,1)}O[Symbol.for("nodejs.util.inspect.custom")]=O.toString,O[Symbol.toStringTag]="Decimal";var Hn=O.constructor=function n(e){var i,r,t;function s(n){var e,i,r,t=this;if(!(t instanceof s))return new s(n);if(t.constructor=s,bn(n))return t.s=n.s,void(m?!n.d||n.e>s.maxE?(t.e=NaN,t.d=null):n.e<s.minE?(t.e=0,t.d=[0]):(t.e=n.e,t.d=n.d.slice()):(t.e=n.e,t.d=n.d?n.d.slice():n.d));if("number"===(r=typeof n)){if(0===n)return t.s=1/n<0?-1:1,t.e=0,void(t.d=[0]);if(n<0?(n=-n,t.s=-1):t.s=1,n===~~n&&n<1e7){for(e=0,i=n;i>=10;i/=10)e++;return void(m?e>s.maxE?(t.e=NaN,t.d=null):e<s.minE?(t.e=0,t.d=[0]):(t.e=e,t.d=[n]):(t.e=e,t.d=[n]))}return 0*n!=0?(n||(t.s=NaN),t.e=NaN,void(t.d=null)):J(t,n.toString())}if("string"!==r)throw Error(w+n);return 45===(i=n.charCodeAt(0))?(n=n.slice(1),t.s=-1):(43===i&&(n=n.slice(1)),t.s=1),M.test(n)?J(t,n):z(t,n)}if(s.prototype=O,s.ROUND_UP=0,s.ROUND_DOWN=1,s.ROUND_CEIL=2,s.ROUND_FLOOR=3,s.ROUND_HALF_UP=4,s.ROUND_HALF_DOWN=5,s.ROUND_HALF_EVEN=6,s.ROUND_HALF_CEIL=7,s.ROUND_HALF_FLOOR=8,s.EUCLID=9,s.config=s.set=dn,s.clone=n,s.isDecimal=bn,s.abs=nn,s.acos=en,s.acosh=rn,s.add=tn,s.asin=sn,s.asinh=on,s.atan=un,s.atanh=cn,s.atan2=fn,s.cbrt=an,s.ceil=ln,s.clamp=hn,s.cos=pn,s.cosh=gn,s.div=mn,s.exp=wn,s.floor=vn,s.hypot=Nn,s.ln=En,s.log=xn,s.log10=Mn,s.log2=yn,s.max=qn,s.min=Sn,s.mod=_n,s.mul=On,s.pow=Dn,s.random=Fn,s.round=An,s.sign=Zn,s.sin=Pn,s.sinh=Rn,s.sqrt=Tn,s.sub=Ln,s.sum=Un,s.tan=kn,s.tanh=In,s.trunc=Cn,void 0===e&&(e={}),e&&!0!==e.defaults)for(t=["precision","rounding","toExpNeg","toExpPos","maxE","minE","modulo","crypto"],i=0;i<t.length;)e.hasOwnProperty(r=t[i++])||(e[r]=this[r]);return s.config(e),s}(g);function $n(n){return!isNaN(n)&&"number"==typeof n}function Bn(n){let e=[`${n}_qiao_method_add`,`${n}_qiao_method_sub`,`${n}_qiao_method_mul`,`${n}_qiao_method_div`],i=window;e.forEach((n=>{if(i[n])throw new Error("window已经存在方法:"+n+"了,请及时处理")})),i[e[0]]=function(n,e){return $n(n)&&$n(e)?new Hn(n).add(new Hn(e)).toNumber():n+e},i[e[1]]=function(n,e){return $n(n)&&$n(e)?new Hn(n).sub(new Hn(e)).toNumber():n+e},i[e[2]]=function(n,e){return $n(n)&&$n(e)?new Hn(n).mul(new Hn(e)).toNumber():n+e},i[e[3]]=function(n,e){return $n(n)&&$n(e)?new Hn(n).div(new Hn(e)).toNumber():n+e}}function Vn(n,e){return $n(n)&&$n(e)?new Hn(n).add(new Hn(e)).toNumber():n+e}function jn(n,e){return $n(n)&&$n(e)?new Hn(n).sub(new Hn(e)).toNumber():n+e}function Wn(n,e){return $n(n)&&$n(e)?new Hn(n).mul(new Hn(e)).toNumber():n+e}function Jn(n,e){return $n(n)&&$n(e)?new Hn(n).div(new Hn(e)).toNumber():n+e}d=new Hn(d),p=new Hn(p);export{c as PrecisionArea,Vn as qiao_qiao_method_add,Jn as qiao_qiao_method_div,Wn as qiao_qiao_method_mul,jn as qiao_qiao_method_sub,Bn as register};