w-trade-solve 2.0.13 → 2.0.14
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/w-trade-solve.umd.js +5 -5
- package/dist/w-trade-solve.umd.js.map +1 -1
- package/docs/calcFitness.mjs.html +1 -1
- package/docs/calcLevelNumTrade.mjs.html +1 -1
- package/docs/cont.mjs.html +1 -1
- package/docs/estimComps.mjs.html +1 -1
- package/docs/estimFinder.mjs.html +1 -1
- package/docs/estimKeys.mjs.html +1 -1
- package/docs/estimPicks.mjs.html +1 -1
- package/docs/genSid.mjs.html +1 -1
- package/docs/genStrategyFileName.mjs.html +1 -1
- package/docs/genTid.mjs.html +1 -1
- package/docs/global.html +1 -1
- package/docs/index.html +1 -1
- package/docs/ott.mjs.html +1 -1
- package/docs/p2r.mjs.html +1 -1
- package/docs/readStrategies.mjs.html +1 -1
- package/package.json +5 -5
|
@@ -1,19 +1,19 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* w-trade-solve v2.0.
|
|
2
|
+
* w-trade-solve v2.0.14
|
|
3
3
|
* (c) 2018-2021 yuda-lyu(semisphere)
|
|
4
4
|
* Released under the MIT License.
|
|
5
5
|
*/
|
|
6
|
-
!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e(require("path"),require("fs"),require("crypto")):"function"==typeof define&&define.amd?define(["path","fs","crypto"],e):(t="undefined"!=typeof globalThis?globalThis:t||self)["w-trade-solve"]=e(t.path,t.fs,t.crypto)}(this,function(t,e,r){"use strict";var n=Array.isArray,i="object"==typeof global&&global&&global.Object===Object&&global,o="object"==typeof self&&self&&self.Object===Object&&self,s=i||o||Function("return this")(),u=s.Symbol,a=Object.prototype,l=a.hasOwnProperty,f=a.toString,c=u?u.toStringTag:void 0;var d=Object.prototype.toString;var h=u?u.toStringTag:void 0;function p(t){return null==t?void 0===t?"[object Undefined]":"[object Null]":h&&h in Object(t)?function(t){var e=l.call(t,c),r=t[c];try{t[c]=void 0;var n=!0}catch(t){}var i=f.call(t);return n&&(e?t[c]=r:delete t[c]),i}(t):function(t){return d.call(t)}(t)}function v(t){return null!=t&&"object"==typeof t}function m(t){return"symbol"==typeof t||v(t)&&"[object Symbol]"==p(t)}var y=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,g=/^\w*$/;function w(t,e){if(n(t))return!1;var r=typeof t;return!("number"!=r&&"symbol"!=r&&"boolean"!=r&&null!=t&&!m(t))||(g.test(t)||!y.test(t)||null!=e&&t in Object(e))}function b(t){var e=typeof t;return null!=t&&("object"==e||"function"==e)}function M(t){if(!b(t))return!1;var e=p(t);return"[object Function]"==e||"[object GeneratorFunction]"==e||"[object AsyncFunction]"==e||"[object Proxy]"==e}var _,S=s["__core-js_shared__"],O=(_=/[^.]+$/.exec(S&&S.keys&&S.keys.IE_PROTO||""))?"Symbol(src)_1."+_:"";var E=Function.prototype.toString;function j(t){if(null!=t){try{return E.call(t)}catch(t){}try{return t+""}catch(t){}}return""}var N=/^\[object .+?Constructor\]$/,$=Function.prototype,A=Object.prototype,C=$.toString,L=A.hasOwnProperty,x=RegExp("^"+C.call(L).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function R(t){return!(!b(t)||(e=t,O&&O in e))&&(M(t)?x:N).test(j(t));var e}function P(t,e){var r=function(t,e){return null==t?void 0:t[e]}(t,e);return R(r)?r:void 0}var T=P(Object,"create");var F=Object.prototype.hasOwnProperty;var k=Object.prototype.hasOwnProperty;function D(t){var e=-1,r=null==t?0:t.length;for(this.clear();++e<r;){var n=t[e];this.set(n[0],n[1])}}function B(t,e){return t===e||t!=t&&e!=e}function I(t,e){for(var r=t.length;r--;)if(B(t[r][0],e))return r;return-1}D.prototype.clear=function(){this.__data__=T?T(null):{},this.size=0},D.prototype.delete=function(t){var e=this.has(t)&&delete this.__data__[t];return this.size-=e?1:0,e},D.prototype.get=function(t){var e=this.__data__;if(T){var r=e[t];return"__lodash_hash_undefined__"===r?void 0:r}return F.call(e,t)?e[t]:void 0},D.prototype.has=function(t){var e=this.__data__;return T?void 0!==e[t]:k.call(e,t)},D.prototype.set=function(t,e){var r=this.__data__;return this.size+=this.has(t)?0:1,r[t]=T&&void 0===e?"__lodash_hash_undefined__":e,this};var q=Array.prototype.splice;function G(t){var e=-1,r=null==t?0:t.length;for(this.clear();++e<r;){var n=t[e];this.set(n[0],n[1])}}G.prototype.clear=function(){this.__data__=[],this.size=0},G.prototype.delete=function(t){var e=this.__data__,r=I(e,t);return!(r<0)&&(r==e.length-1?e.pop():q.call(e,r,1),--this.size,!0)},G.prototype.get=function(t){var e=this.__data__,r=I(e,t);return r<0?void 0:e[r][1]},G.prototype.has=function(t){return I(this.__data__,t)>-1},G.prototype.set=function(t,e){var r=this.__data__,n=I(r,t);return n<0?(++this.size,r.push([t,e])):r[n][1]=e,this};var U=P(s,"Map");function H(t,e){var r,n,i=t.__data__;return("string"==(n=typeof(r=e))||"number"==n||"symbol"==n||"boolean"==n?"__proto__"!==r:null===r)?i["string"==typeof e?"string":"hash"]:i.map}function Y(t){var e=-1,r=null==t?0:t.length;for(this.clear();++e<r;){var n=t[e];this.set(n[0],n[1])}}Y.prototype.clear=function(){this.size=0,this.__data__={hash:new D,map:new(U||G),string:new D}},Y.prototype.delete=function(t){var e=H(this,t).delete(t);return this.size-=e?1:0,e},Y.prototype.get=function(t){return H(this,t).get(t)},Y.prototype.has=function(t){return H(this,t).has(t)},Y.prototype.set=function(t,e){var r=H(this,t),n=r.size;return r.set(t,e),this.size+=r.size==n?0:1,this};function z(t,e){if("function"!=typeof t||null!=e&&"function"!=typeof e)throw new TypeError("Expected a function");var r=function(){var n=arguments,i=e?e.apply(this,n):n[0],o=r.cache;if(o.has(i))return o.get(i);var s=t.apply(this,n);return r.cache=o.set(i,s)||o,s};return r.cache=new(z.Cache||Y),r}z.Cache=Y;var W,Z,V,J=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,X=/\\(\\)?/g,K=(W=function(t){var e=[];return 46===t.charCodeAt(0)&&e.push(""),t.replace(J,function(t,r,n,i){e.push(n?i.replace(X,"$1"):r||t)}),e},Z=z(W,function(t){return 500===V.size&&V.clear(),t}),V=Z.cache,Z),Q=K;function tt(t,e){for(var r=-1,n=null==t?0:t.length,i=Array(n);++r<n;)i[r]=e(t[r],r,t);return i}var et=u?u.prototype:void 0,rt=et?et.toString:void 0;function nt(t){if("string"==typeof t)return t;if(n(t))return tt(t,nt)+"";if(m(t))return rt?rt.call(t):"";var e=t+"";return"0"==e&&1/t==-1/0?"-0":e}function it(t){return null==t?"":nt(t)}function ot(t,e){return n(t)?t:w(t,e)?[t]:Q(it(t))}function st(t){if("string"==typeof t||m(t))return t;var e=t+"";return"0"==e&&1/t==-1/0?"-0":e}function ut(t,e){for(var r=0,n=(e=ot(e,t)).length;null!=t&&r<n;)t=t[st(e[r++])];return r&&r==n?t:void 0}function at(t,e,r){var n=null==t?void 0:ut(t,e);return void 0===n?r:n}var lt=Math.floor,ft=Math.random;function ct(t,e){return t+lt(ft()*(e-t+1))}function dt(t){var e=t.length;return e?t[ct(0,e-1)]:void 0}function ht(t){return v(t)&&"[object Arguments]"==p(t)}var pt=Object.prototype,vt=pt.hasOwnProperty,mt=pt.propertyIsEnumerable,yt=ht(function(){return arguments}())?ht:function(t){return v(t)&&vt.call(t,"callee")&&!mt.call(t,"callee")},gt=yt;var wt="object"==typeof exports&&exports&&!exports.nodeType&&exports,bt=wt&&"object"==typeof module&&module&&!module.nodeType&&module,Mt=bt&&bt.exports===wt?s.Buffer:void 0,_t=(Mt?Mt.isBuffer:void 0)||function(){return!1},St=/^(?:0|[1-9]\d*)$/;function Ot(t,e){var r=typeof t;return!!(e=null==e?9007199254740991:e)&&("number"==r||"symbol"!=r&&St.test(t))&&t>-1&&t%1==0&&t<e}function Et(t){return"number"==typeof t&&t>-1&&t%1==0&&t<=9007199254740991}var jt={};function Nt(t){return function(e){return t(e)}}jt["[object Float32Array]"]=jt["[object Float64Array]"]=jt["[object Int8Array]"]=jt["[object Int16Array]"]=jt["[object Int32Array]"]=jt["[object Uint8Array]"]=jt["[object Uint8ClampedArray]"]=jt["[object Uint16Array]"]=jt["[object Uint32Array]"]=!0,jt["[object Arguments]"]=jt["[object Array]"]=jt["[object ArrayBuffer]"]=jt["[object Boolean]"]=jt["[object DataView]"]=jt["[object Date]"]=jt["[object Error]"]=jt["[object Function]"]=jt["[object Map]"]=jt["[object Number]"]=jt["[object Object]"]=jt["[object RegExp]"]=jt["[object Set]"]=jt["[object String]"]=jt["[object WeakMap]"]=!1;var $t="object"==typeof exports&&exports&&!exports.nodeType&&exports,At=$t&&"object"==typeof module&&module&&!module.nodeType&&module,Ct=At&&At.exports===$t&&i.process,Lt=function(){try{var t=At&&At.require&&At.require("util").types;return t||Ct&&Ct.binding&&Ct.binding("util")}catch(t){}}(),xt=Lt&&Lt.isTypedArray,Rt=xt?Nt(xt):function(t){return v(t)&&Et(t.length)&&!!jt[p(t)]},Pt=Object.prototype.hasOwnProperty;function Tt(t,e){var r=n(t),i=!r&>(t),o=!r&&!i&&_t(t),s=!r&&!i&&!o&&Rt(t),u=r||i||o||s,a=u?function(t,e){for(var r=-1,n=Array(t);++r<t;)n[r]=e(r);return n}(t.length,String):[],l=a.length;for(var f in t)!e&&!Pt.call(t,f)||u&&("length"==f||o&&("offset"==f||"parent"==f)||s&&("buffer"==f||"byteLength"==f||"byteOffset"==f)||Ot(f,l))||a.push(f);return a}var Ft=Object.prototype;function kt(t){var e=t&&t.constructor;return t===("function"==typeof e&&e.prototype||Ft)}function Dt(t,e){return function(r){return t(e(r))}}var Bt=Dt(Object.keys,Object),It=Object.prototype.hasOwnProperty;function qt(t){if(!kt(t))return Bt(t);var e=[];for(var r in Object(t))It.call(t,r)&&"constructor"!=r&&e.push(r);return e}function Gt(t){return null!=t&&Et(t.length)&&!M(t)}function Ut(t){return Gt(t)?Tt(t):qt(t)}function Ht(t){return null==t?[]:function(t,e){return tt(e,function(e){return t[e]})}(t,Ut(t))}function Yt(t){return dt(Ht(t))}function zt(t){return"[object String]"===Object.prototype.toString.call(t)}function Wt(t){return!(!zt(t)||""===t)}function Zt(t){var e=this.__data__=new G(t);this.size=e.size}Zt.prototype.clear=function(){this.__data__=new G,this.size=0},Zt.prototype.delete=function(t){var e=this.__data__,r=e.delete(t);return this.size=e.size,r},Zt.prototype.get=function(t){return this.__data__.get(t)},Zt.prototype.has=function(t){return this.__data__.has(t)},Zt.prototype.set=function(t,e){var r=this.__data__;if(r instanceof G){var n=r.__data__;if(!U||n.length<199)return n.push([t,e]),this.size=++r.size,this;r=this.__data__=new Y(n)}return r.set(t,e),this.size=r.size,this};function Vt(t){var e=-1,r=null==t?0:t.length;for(this.__data__=new Y;++e<r;)this.add(t[e])}function Jt(t,e){for(var r=-1,n=null==t?0:t.length;++r<n;)if(e(t[r],r,t))return!0;return!1}function Xt(t,e){return t.has(e)}Vt.prototype.add=Vt.prototype.push=function(t){return this.__data__.set(t,"__lodash_hash_undefined__"),this},Vt.prototype.has=function(t){return this.__data__.has(t)};function Kt(t,e,r,n,i,o){var s=1&r,u=t.length,a=e.length;if(u!=a&&!(s&&a>u))return!1;var l=o.get(t),f=o.get(e);if(l&&f)return l==e&&f==t;var c=-1,d=!0,h=2&r?new Vt:void 0;for(o.set(t,e),o.set(e,t);++c<u;){var p=t[c],v=e[c];if(n)var m=s?n(v,p,c,e,t,o):n(p,v,c,t,e,o);if(void 0!==m){if(m)continue;d=!1;break}if(h){if(!Jt(e,function(t,e){if(!Xt(h,e)&&(p===t||i(p,t,r,n,o)))return h.push(e)})){d=!1;break}}else if(p!==v&&!i(p,v,r,n,o)){d=!1;break}}return o.delete(t),o.delete(e),d}var Qt=s.Uint8Array;function te(t){var e=-1,r=Array(t.size);return t.forEach(function(t,n){r[++e]=[n,t]}),r}function ee(t){var e=-1,r=Array(t.size);return t.forEach(function(t){r[++e]=t}),r}var re=u?u.prototype:void 0,ne=re?re.valueOf:void 0;function ie(t,e){for(var r=-1,n=e.length,i=t.length;++r<n;)t[i+r]=e[r];return t}function oe(t,e,r){var i=e(t);return n(t)?i:ie(i,r(t))}function se(t,e){for(var r=-1,n=null==t?0:t.length,i=0,o=[];++r<n;){var s=t[r];e(s,r,t)&&(o[i++]=s)}return o}function ue(){return[]}var ae=Object.prototype.propertyIsEnumerable,le=Object.getOwnPropertySymbols,fe=le?function(t){return null==t?[]:(t=Object(t),se(le(t),function(e){return ae.call(t,e)}))}:ue;function ce(t){return oe(t,Ut,fe)}var de=Object.prototype.hasOwnProperty;var he=P(s,"DataView"),pe=P(s,"Promise"),ve=P(s,"Set"),me=P(s,"WeakMap"),ye="[object Map]",ge="[object Promise]",we="[object Set]",be="[object WeakMap]",Me="[object DataView]",_e=j(he),Se=j(U),Oe=j(pe),Ee=j(ve),je=j(me),Ne=p;(he&&Ne(new he(new ArrayBuffer(1)))!=Me||U&&Ne(new U)!=ye||pe&&Ne(pe.resolve())!=ge||ve&&Ne(new ve)!=we||me&&Ne(new me)!=be)&&(Ne=function(t){var e=p(t),r="[object Object]"==e?t.constructor:void 0,n=r?j(r):"";if(n)switch(n){case _e:return Me;case Se:return ye;case Oe:return ge;case Ee:return we;case je:return be}return e});var $e=Ne,Ae="[object Arguments]",Ce="[object Array]",Le="[object Object]",xe=Object.prototype.hasOwnProperty;function Re(t,e,r,i,o,s){var u=n(t),a=n(e),l=u?Ce:$e(t),f=a?Ce:$e(e),c=(l=l==Ae?Le:l)==Le,d=(f=f==Ae?Le:f)==Le,h=l==f;if(h&&_t(t)){if(!_t(e))return!1;u=!0,c=!1}if(h&&!c)return s||(s=new Zt),u||Rt(t)?Kt(t,e,r,i,o,s):function(t,e,r,n,i,o,s){switch(r){case"[object DataView]":if(t.byteLength!=e.byteLength||t.byteOffset!=e.byteOffset)return!1;t=t.buffer,e=e.buffer;case"[object ArrayBuffer]":return!(t.byteLength!=e.byteLength||!o(new Qt(t),new Qt(e)));case"[object Boolean]":case"[object Date]":case"[object Number]":return B(+t,+e);case"[object Error]":return t.name==e.name&&t.message==e.message;case"[object RegExp]":case"[object String]":return t==e+"";case"[object Map]":var u=te;case"[object Set]":var a=1&n;if(u||(u=ee),t.size!=e.size&&!a)return!1;var l=s.get(t);if(l)return l==e;n|=2,s.set(t,e);var f=Kt(u(t),u(e),n,i,o,s);return s.delete(t),f;case"[object Symbol]":if(ne)return ne.call(t)==ne.call(e)}return!1}(t,e,l,r,i,o,s);if(!(1&r)){var p=c&&xe.call(t,"__wrapped__"),v=d&&xe.call(e,"__wrapped__");if(p||v){var m=p?t.value():t,y=v?e.value():e;return s||(s=new Zt),o(m,y,r,i,s)}}return!!h&&(s||(s=new Zt),function(t,e,r,n,i,o){var s=1&r,u=ce(t),a=u.length;if(a!=ce(e).length&&!s)return!1;for(var l=a;l--;){var f=u[l];if(!(s?f in e:de.call(e,f)))return!1}var c=o.get(t),d=o.get(e);if(c&&d)return c==e&&d==t;var h=!0;o.set(t,e),o.set(e,t);for(var p=s;++l<a;){var v=t[f=u[l]],m=e[f];if(n)var y=s?n(m,v,f,e,t,o):n(v,m,f,t,e,o);if(!(void 0===y?v===m||i(v,m,r,n,o):y)){h=!1;break}p||(p="constructor"==f)}if(h&&!p){var g=t.constructor,w=e.constructor;g==w||!("constructor"in t)||!("constructor"in e)||"function"==typeof g&&g instanceof g&&"function"==typeof w&&w instanceof w||(h=!1)}return o.delete(t),o.delete(e),h}(t,e,r,i,o,s))}function Pe(t,e,r,n,i){return t===e||(null==t||null==e||!v(t)&&!v(e)?t!=t&&e!=e:Re(t,e,r,n,Pe,i))}function Te(t){return t==t&&!b(t)}function Fe(t,e){return function(r){return null!=r&&(r[t]===e&&(void 0!==e||t in Object(r)))}}function ke(t){var e=function(t){for(var e=Ut(t),r=e.length;r--;){var n=e[r],i=t[n];e[r]=[n,i,Te(i)]}return e}(t);return 1==e.length&&e[0][2]?Fe(e[0][0],e[0][1]):function(r){return r===t||function(t,e,r,n){var i=r.length,o=i,s=!n;if(null==t)return!o;for(t=Object(t);i--;){var u=r[i];if(s&&u[2]?u[1]!==t[u[0]]:!(u[0]in t))return!1}for(;++i<o;){var a=(u=r[i])[0],l=t[a],f=u[1];if(s&&u[2]){if(void 0===l&&!(a in t))return!1}else{var c=new Zt;if(n)var d=n(l,f,a,t,e,c);if(!(void 0===d?Pe(f,l,3,n,c):d))return!1}}return!0}(r,t,e)}}function De(t,e){return null!=t&&e in Object(t)}function Be(t,e){return null!=t&&function(t,e,r){for(var i=-1,o=(e=ot(e,t)).length,s=!1;++i<o;){var u=st(e[i]);if(!(s=null!=t&&r(t,u)))break;t=t[u]}return s||++i!=o?s:!!(o=null==t?0:t.length)&&Et(o)&&Ot(u,o)&&(n(t)||gt(t))}(t,e,De)}function Ie(t){return t}function qe(t){return function(e){return null==e?void 0:e[t]}}function Ge(t){return w(t)?qe(st(t)):function(t){return function(e){return ut(e,t)}}(t)}function Ue(t){return"function"==typeof t?t:null==t?Ie:"object"==typeof t?n(t)?function(t,e){return w(t)&&Te(e)?Fe(st(t),e):function(r){var n=at(r,t);return void 0===n&&n===e?Be(r,t):Pe(e,n,3)}}(t[0],t[1]):ke(t):Ge(t)}var He,Ye=function(t,e,r){for(var n=-1,i=Object(t),o=r(t),s=o.length;s--;){var u=o[He?s:++n];if(!1===e(i[u],u,i))break}return t};var ze=function(t,e){return function(r,n){if(null==r)return r;if(!Gt(r))return t(r,n);for(var i=r.length,o=e?i:-1,s=Object(r);(e?o--:++o<i)&&!1!==n(s[o],o,s););return r}}(function(t,e){return t&&Ye(t,e,Ut)}),We=ze;function Ze(t,e){var r=-1,n=Gt(t)?Array(t.length):[];return We(t,function(t,i,o){n[++r]=e(t,i,o)}),n}function Ve(t,e){return(n(t)?tt:Ze)(t,Ue(e))}var Je=qe("length"),Xe=RegExp("[\\u200d\\ud800-\\udfff\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff\\ufe0e\\ufe0f]");function Ke(t){return Xe.test(t)}var Qe="\\ud800-\\udfff",tr="["+Qe+"]",er="[\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff]",rr="\\ud83c[\\udffb-\\udfff]",nr="[^"+Qe+"]",ir="(?:\\ud83c[\\udde6-\\uddff]){2}",or="[\\ud800-\\udbff][\\udc00-\\udfff]",sr="(?:"+er+"|"+rr+")"+"?",ur="[\\ufe0e\\ufe0f]?",ar=ur+sr+("(?:\\u200d(?:"+[nr,ir,or].join("|")+")"+ur+sr+")*"),lr="(?:"+[nr+er+"?",er,ir,or,tr].join("|")+")",fr=RegExp(rr+"(?="+rr+")|"+lr+ar,"g");function cr(t){return Ke(t)?function(t){for(var e=fr.lastIndex=0;fr.test(t);)++e;return e}(t):Je(t)}function dr(t){if(null==t)return 0;if(Gt(t))return"string"==typeof(e=t)||!n(e)&&v(e)&&"[object String]"==p(e)?cr(t):t.length;var e,r=$e(t);return"[object Map]"==r||"[object Set]"==r?t.size:qt(t).length}var hr=/\s/;var pr=/^\s+/;function vr(t){return t?t.slice(0,function(t){for(var e=t.length;e--&&hr.test(t.charAt(e)););return e}(t)+1).replace(pr,""):t}var mr=/^[-+]0x[0-9a-f]+$/i,yr=/^0b[01]+$/i,gr=/^0o[0-7]+$/i,wr=parseInt;function br(t){if("number"==typeof t)return t;if(m(t))return NaN;if(b(t)){var e="function"==typeof t.valueOf?t.valueOf():t;t=b(e)?e+"":e}if("string"!=typeof t)return 0===t?t:+t;t=vr(t);var r=yr.test(t);return r||gr.test(t)?wr(t.slice(2),r?2:8):mr.test(t)?NaN:+t}var Mr=1/0;function _r(t){return t?(t=br(t))===Mr||t===-1/0?17976931348623157e292*(t<0?-1:1):t==t?t:0:0===t?t:0}function Sr(t){var e=_r(t),r=e%1;return e==e?r?e-r:e:0}var Or=s.isFinite,Er=Math.min;var jr=function(t){var e=Math[t];return function(t,r){if(t=br(t),(r=null==r?0:Er(Sr(r),292))&&Or(t)){var n=(it(t)+"e").split("e");return+((n=(it(e(n[0]+"e"+(+n[1]+r)))+"e").split("e"))[0]+"e"+(+n[1]-r))}return e(t)}}("round"),Nr=jr;function $r(t){return!0===(e=t)||!1===e||v(e)&&"[object Boolean]"==p(e);var e}function Ar(t){return t!=t}function Cr(t){let e=!1;if(Wt(t))e=!isNaN(Number(t));else if(function(t){return"[object Number]"===Object.prototype.toString.call(t)}(t)){if(Ar(t))return!1;e=!0}return e}function Lr(t){if(!Cr(t))return 0;return _r(t)}function xr(t,e={}){let r=at(e,"useClampSafe",null);$r(r)||(r=!1);let n=at(e,"useLimitSafe",null);$r(n)||(n=!1);let i=at(e,"returnWithStateAndMsg",null);$r(i)||(i=!1);let o=t=>i?{state:"success",msg:t}:t,s=t=>{if(i)return{state:"error",msg:t};throw new Error(t)};if(!Cr(t))return o(0);let u=null;try{t=Lr(t),u=Nr(t),r&&(u>Number.MAX_SAFE_INTEGER?u=Number.MAX_SAFE_INTEGER:u<Number.MIN_SAFE_INTEGER&&(u=Number.MIN_SAFE_INTEGER))}catch(t){return s(t.toString())}return n&&!Number.isSafeInteger(Number(u))?s(`v[${t}] is not a safe integer`):("0"===String(u)&&(u=0),o(u))}var Rr=Math.ceil,Pr=Math.max;function Tr(t,e,r){if(!b(r))return!1;var n=typeof e;return!!("number"==n?Gt(r)&&Ot(e,r.length):"string"==n&&e in r)&&B(r[e],t)}var Fr=function(t){return function(e,r,n){return n&&"number"!=typeof n&&Tr(e,r,n)&&(r=n=void 0),e=_r(e),void 0===r?(r=e,e=0):r=_r(r),function(t,e,r,n){for(var i=-1,o=Pr(Rr((e-t)/(r||1)),0),s=Array(o);o--;)s[n?o:++i]=t,t+=r;return s}(e,r,n=void 0===n?e<r?1:-1:_r(n),t)}}(),kr=Fr;function Dr(t,e,r){return t==t&&(void 0!==r&&(t=t<=r?t:r),void 0!==e&&(t=t>=e?t:e)),t}function Br(t,e){var r=-1,n=t.length;for(e||(e=Array(n));++r<n;)e[r]=t[r];return e}function Ir(t,e){var r=-1,n=t.length,i=n-1;for(e=void 0===e?n:e;++r<e;){var o=ct(r,i),s=t[o];t[o]=t[r],t[r]=s}return t.length=e,t}function qr(t,e){return Ir(Br(t),Dr(e,0,t.length))}function Gr(t,e){var r=Ht(t);return Ir(r,Dr(e,0,r.length))}function Ur(t,e={}){let r=at(e,"useLimitSafe",null);return $r(r)||(r=!1),!!Cr(t)&&(t=Lr(t),r?Number.isSafeInteger(t):"number"==typeof(n=t)&&n==Sr(n));var n}function Hr(t,e={}){if(!Ur(t,e))return!1;return xr(t)>0}function Yr(t=0,e=100,r){if(Ur(t)||(t=0),t=xr(t),Ur(e)||(e=100),e=xr(e),Hr(r)||(r=1),r=xr(r),t>e)throw new Error(`vstart[${t}] > vend[${e}]`);let i=function(t,e,r){return e=(r?Tr(t,e,r):void 0===e)?1:Sr(e),(n(t)?qr:Gr)(t,e)}(kr(t,e+1),r);return i}function zr(t,e){for(var r=-1,n=null==t?0:t.length;++r<n&&!1!==e(t[r],r,t););return t}function Wr(t,e){var r;return(n(t)?zr:We)(t,"function"==typeof(r=e)?r:Ie)}function Zr(t,e,r){var n=-1,i=t.length;e<0&&(e=-e>i?0:i+e),(r=r>i?i:r)<0&&(r+=i),i=e>r?0:r-e>>>0,e>>>=0;for(var o=Array(i);++n<i;)o[n]=t[n+e];return o}function Vr(t){return t!=t}function Jr(t,e,r){return e==e?function(t,e,r){for(var n=r-1,i=t.length;++n<i;)if(t[n]===e)return n;return-1}(t,e,r):function(t,e,r,n){for(var i=t.length,o=r+(n?1:-1);n?o--:++o<i;)if(e(t[o],o,t))return o;return-1}(t,Vr,r)}var Xr="\\ud800-\\udfff",Kr="["+Xr+"]",Qr="[\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff]",tn="\\ud83c[\\udffb-\\udfff]",en="[^"+Xr+"]",rn="(?:\\ud83c[\\udde6-\\uddff]){2}",nn="[\\ud800-\\udbff][\\udc00-\\udfff]",on="(?:"+Qr+"|"+tn+")"+"?",sn="[\\ufe0e\\ufe0f]?",un=sn+on+("(?:\\u200d(?:"+[en,rn,nn].join("|")+")"+sn+on+")*"),an="(?:"+[en+Qr+"?",Qr,rn,nn,Kr].join("|")+")",ln=RegExp(tn+"(?="+tn+")|"+an+un,"g");function fn(t){return Ke(t)?function(t){return t.match(ln)||[]}(t):function(t){return t.split("")}(t)}function cn(t,e,r){if((t=it(t))&&(r||void 0===e))return vr(t);if(!t||!(e=nt(e)))return t;var n=fn(t),i=fn(e),o=function(t,e){for(var r=-1,n=t.length;++r<n&&Jr(e,t[r],0)>-1;);return r}(n,i),s=function(t,e){for(var r=t.length;r--&&Jr(e,t[r],0)>-1;);return r}(n,i)+1;return function(t,e,r){var n=t.length;return r=void 0===r?n:r,!e&&r>=n?t:Zr(t,e,r)}(n,o,s).join("")}function dn(t,e){if(!Wt(t))return[];if(!Wt(e))return[];let r=function(t,e){return Wt(t)&&Wt(e)?t.split(e):[]}(t,e);r=Ve(r,cn);let n=[];return Wr(r,function(t){Wt(t)&&n.push(t)}),n}function hn(t){let e=Object.prototype.toString.call(t);return"[object Function]"===e||"[object AsyncFunction]"===e}var pn="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};function vn(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t}var mn={exports:{}};
|
|
6
|
+
!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e(require("path"),require("fs"),require("crypto")):"function"==typeof define&&define.amd?define(["path","fs","crypto"],e):(t="undefined"!=typeof globalThis?globalThis:t||self)["w-trade-solve"]=e(t.path,t.fs,t.crypto)}(this,function(t,e,r){"use strict";var n=Array.isArray,i="object"==typeof global&&global&&global.Object===Object&&global,o="object"==typeof self&&self&&self.Object===Object&&self,s=i||o||Function("return this")(),u=s.Symbol,a=Object.prototype,l=a.hasOwnProperty,f=a.toString,c=u?u.toStringTag:void 0;var d=Object.prototype.toString;var h=u?u.toStringTag:void 0;function p(t){return null==t?void 0===t?"[object Undefined]":"[object Null]":h&&h in Object(t)?function(t){var e=l.call(t,c),r=t[c];try{t[c]=void 0;var n=!0}catch(t){}var i=f.call(t);return n&&(e?t[c]=r:delete t[c]),i}(t):function(t){return d.call(t)}(t)}function v(t){return null!=t&&"object"==typeof t}function m(t){return"symbol"==typeof t||v(t)&&"[object Symbol]"==p(t)}var y=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,g=/^\w*$/;function w(t,e){if(n(t))return!1;var r=typeof t;return!("number"!=r&&"symbol"!=r&&"boolean"!=r&&null!=t&&!m(t))||(g.test(t)||!y.test(t)||null!=e&&t in Object(e))}function b(t){var e=typeof t;return null!=t&&("object"==e||"function"==e)}function M(t){if(!b(t))return!1;var e=p(t);return"[object Function]"==e||"[object GeneratorFunction]"==e||"[object AsyncFunction]"==e||"[object Proxy]"==e}var _,S=s["__core-js_shared__"],E=(_=/[^.]+$/.exec(S&&S.keys&&S.keys.IE_PROTO||""))?"Symbol(src)_1."+_:"";var O=Function.prototype.toString;function j(t){if(null!=t){try{return O.call(t)}catch(t){}try{return t+""}catch(t){}}return""}var N=/^\[object .+?Constructor\]$/,$=Function.prototype,A=Object.prototype,C=$.toString,L=A.hasOwnProperty,x=RegExp("^"+C.call(L).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function R(t){return!(!b(t)||(e=t,E&&E in e))&&(M(t)?x:N).test(j(t));var e}function P(t,e){var r=function(t,e){return null==t?void 0:t[e]}(t,e);return R(r)?r:void 0}var T=P(Object,"create");var F=Object.prototype.hasOwnProperty;var k=Object.prototype.hasOwnProperty;function D(t){var e=-1,r=null==t?0:t.length;for(this.clear();++e<r;){var n=t[e];this.set(n[0],n[1])}}function B(t,e){return t===e||t!=t&&e!=e}function I(t,e){for(var r=t.length;r--;)if(B(t[r][0],e))return r;return-1}D.prototype.clear=function(){this.__data__=T?T(null):{},this.size=0},D.prototype.delete=function(t){var e=this.has(t)&&delete this.__data__[t];return this.size-=e?1:0,e},D.prototype.get=function(t){var e=this.__data__;if(T){var r=e[t];return"__lodash_hash_undefined__"===r?void 0:r}return F.call(e,t)?e[t]:void 0},D.prototype.has=function(t){var e=this.__data__;return T?void 0!==e[t]:k.call(e,t)},D.prototype.set=function(t,e){var r=this.__data__;return this.size+=this.has(t)?0:1,r[t]=T&&void 0===e?"__lodash_hash_undefined__":e,this};var q=Array.prototype.splice;function G(t){var e=-1,r=null==t?0:t.length;for(this.clear();++e<r;){var n=t[e];this.set(n[0],n[1])}}G.prototype.clear=function(){this.__data__=[],this.size=0},G.prototype.delete=function(t){var e=this.__data__,r=I(e,t);return!(r<0)&&(r==e.length-1?e.pop():q.call(e,r,1),--this.size,!0)},G.prototype.get=function(t){var e=this.__data__,r=I(e,t);return r<0?void 0:e[r][1]},G.prototype.has=function(t){return I(this.__data__,t)>-1},G.prototype.set=function(t,e){var r=this.__data__,n=I(r,t);return n<0?(++this.size,r.push([t,e])):r[n][1]=e,this};var U=P(s,"Map");function H(t,e){var r,n,i=t.__data__;return("string"==(n=typeof(r=e))||"number"==n||"symbol"==n||"boolean"==n?"__proto__"!==r:null===r)?i["string"==typeof e?"string":"hash"]:i.map}function Y(t){var e=-1,r=null==t?0:t.length;for(this.clear();++e<r;){var n=t[e];this.set(n[0],n[1])}}Y.prototype.clear=function(){this.size=0,this.__data__={hash:new D,map:new(U||G),string:new D}},Y.prototype.delete=function(t){var e=H(this,t).delete(t);return this.size-=e?1:0,e},Y.prototype.get=function(t){return H(this,t).get(t)},Y.prototype.has=function(t){return H(this,t).has(t)},Y.prototype.set=function(t,e){var r=H(this,t),n=r.size;return r.set(t,e),this.size+=r.size==n?0:1,this};function z(t,e){if("function"!=typeof t||null!=e&&"function"!=typeof e)throw new TypeError("Expected a function");var r=function(){var n=arguments,i=e?e.apply(this,n):n[0],o=r.cache;if(o.has(i))return o.get(i);var s=t.apply(this,n);return r.cache=o.set(i,s)||o,s};return r.cache=new(z.Cache||Y),r}z.Cache=Y;var W,Z,V,J=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,X=/\\(\\)?/g,K=(W=function(t){var e=[];return 46===t.charCodeAt(0)&&e.push(""),t.replace(J,function(t,r,n,i){e.push(n?i.replace(X,"$1"):r||t)}),e},Z=z(W,function(t){return 500===V.size&&V.clear(),t}),V=Z.cache,Z),Q=K;function tt(t,e){for(var r=-1,n=null==t?0:t.length,i=Array(n);++r<n;)i[r]=e(t[r],r,t);return i}var et=u?u.prototype:void 0,rt=et?et.toString:void 0;function nt(t){if("string"==typeof t)return t;if(n(t))return tt(t,nt)+"";if(m(t))return rt?rt.call(t):"";var e=t+"";return"0"==e&&1/t==-1/0?"-0":e}function it(t){return null==t?"":nt(t)}function ot(t,e){return n(t)?t:w(t,e)?[t]:Q(it(t))}function st(t){if("string"==typeof t||m(t))return t;var e=t+"";return"0"==e&&1/t==-1/0?"-0":e}function ut(t,e){for(var r=0,n=(e=ot(e,t)).length;null!=t&&r<n;)t=t[st(e[r++])];return r&&r==n?t:void 0}function at(t,e,r){var n=null==t?void 0:ut(t,e);return void 0===n?r:n}var lt=Math.floor,ft=Math.random;function ct(t,e){return t+lt(ft()*(e-t+1))}function dt(t){var e=t.length;return e?t[ct(0,e-1)]:void 0}function ht(t){return v(t)&&"[object Arguments]"==p(t)}var pt=Object.prototype,vt=pt.hasOwnProperty,mt=pt.propertyIsEnumerable,yt=ht(function(){return arguments}())?ht:function(t){return v(t)&&vt.call(t,"callee")&&!mt.call(t,"callee")},gt=yt;var wt="object"==typeof exports&&exports&&!exports.nodeType&&exports,bt=wt&&"object"==typeof module&&module&&!module.nodeType&&module,Mt=bt&&bt.exports===wt?s.Buffer:void 0,_t=(Mt?Mt.isBuffer:void 0)||function(){return!1},St=/^(?:0|[1-9]\d*)$/;function Et(t,e){var r=typeof t;return!!(e=null==e?9007199254740991:e)&&("number"==r||"symbol"!=r&&St.test(t))&&t>-1&&t%1==0&&t<e}function Ot(t){return"number"==typeof t&&t>-1&&t%1==0&&t<=9007199254740991}var jt={};function Nt(t){return function(e){return t(e)}}jt["[object Float32Array]"]=jt["[object Float64Array]"]=jt["[object Int8Array]"]=jt["[object Int16Array]"]=jt["[object Int32Array]"]=jt["[object Uint8Array]"]=jt["[object Uint8ClampedArray]"]=jt["[object Uint16Array]"]=jt["[object Uint32Array]"]=!0,jt["[object Arguments]"]=jt["[object Array]"]=jt["[object ArrayBuffer]"]=jt["[object Boolean]"]=jt["[object DataView]"]=jt["[object Date]"]=jt["[object Error]"]=jt["[object Function]"]=jt["[object Map]"]=jt["[object Number]"]=jt["[object Object]"]=jt["[object RegExp]"]=jt["[object Set]"]=jt["[object String]"]=jt["[object WeakMap]"]=!1;var $t="object"==typeof exports&&exports&&!exports.nodeType&&exports,At=$t&&"object"==typeof module&&module&&!module.nodeType&&module,Ct=At&&At.exports===$t&&i.process,Lt=function(){try{var t=At&&At.require&&At.require("util").types;return t||Ct&&Ct.binding&&Ct.binding("util")}catch(t){}}(),xt=Lt&&Lt.isTypedArray,Rt=xt?Nt(xt):function(t){return v(t)&&Ot(t.length)&&!!jt[p(t)]},Pt=Object.prototype.hasOwnProperty;function Tt(t,e){var r=n(t),i=!r&>(t),o=!r&&!i&&_t(t),s=!r&&!i&&!o&&Rt(t),u=r||i||o||s,a=u?function(t,e){for(var r=-1,n=Array(t);++r<t;)n[r]=e(r);return n}(t.length,String):[],l=a.length;for(var f in t)!e&&!Pt.call(t,f)||u&&("length"==f||o&&("offset"==f||"parent"==f)||s&&("buffer"==f||"byteLength"==f||"byteOffset"==f)||Et(f,l))||a.push(f);return a}var Ft=Object.prototype;function kt(t){var e=t&&t.constructor;return t===("function"==typeof e&&e.prototype||Ft)}function Dt(t,e){return function(r){return t(e(r))}}var Bt=Dt(Object.keys,Object),It=Object.prototype.hasOwnProperty;function qt(t){if(!kt(t))return Bt(t);var e=[];for(var r in Object(t))It.call(t,r)&&"constructor"!=r&&e.push(r);return e}function Gt(t){return null!=t&&Ot(t.length)&&!M(t)}function Ut(t){return Gt(t)?Tt(t):qt(t)}function Ht(t){return null==t?[]:function(t,e){return tt(e,function(e){return t[e]})}(t,Ut(t))}function Yt(t){return dt(Ht(t))}function zt(t){return"[object String]"===Object.prototype.toString.call(t)}function Wt(t){return!(!zt(t)||""===t)}function Zt(t){var e=this.__data__=new G(t);this.size=e.size}Zt.prototype.clear=function(){this.__data__=new G,this.size=0},Zt.prototype.delete=function(t){var e=this.__data__,r=e.delete(t);return this.size=e.size,r},Zt.prototype.get=function(t){return this.__data__.get(t)},Zt.prototype.has=function(t){return this.__data__.has(t)},Zt.prototype.set=function(t,e){var r=this.__data__;if(r instanceof G){var n=r.__data__;if(!U||n.length<199)return n.push([t,e]),this.size=++r.size,this;r=this.__data__=new Y(n)}return r.set(t,e),this.size=r.size,this};function Vt(t){var e=-1,r=null==t?0:t.length;for(this.__data__=new Y;++e<r;)this.add(t[e])}function Jt(t,e){for(var r=-1,n=null==t?0:t.length;++r<n;)if(e(t[r],r,t))return!0;return!1}function Xt(t,e){return t.has(e)}Vt.prototype.add=Vt.prototype.push=function(t){return this.__data__.set(t,"__lodash_hash_undefined__"),this},Vt.prototype.has=function(t){return this.__data__.has(t)};function Kt(t,e,r,n,i,o){var s=1&r,u=t.length,a=e.length;if(u!=a&&!(s&&a>u))return!1;var l=o.get(t),f=o.get(e);if(l&&f)return l==e&&f==t;var c=-1,d=!0,h=2&r?new Vt:void 0;for(o.set(t,e),o.set(e,t);++c<u;){var p=t[c],v=e[c];if(n)var m=s?n(v,p,c,e,t,o):n(p,v,c,t,e,o);if(void 0!==m){if(m)continue;d=!1;break}if(h){if(!Jt(e,function(t,e){if(!Xt(h,e)&&(p===t||i(p,t,r,n,o)))return h.push(e)})){d=!1;break}}else if(p!==v&&!i(p,v,r,n,o)){d=!1;break}}return o.delete(t),o.delete(e),d}var Qt=s.Uint8Array;function te(t){var e=-1,r=Array(t.size);return t.forEach(function(t,n){r[++e]=[n,t]}),r}function ee(t){var e=-1,r=Array(t.size);return t.forEach(function(t){r[++e]=t}),r}var re=u?u.prototype:void 0,ne=re?re.valueOf:void 0;function ie(t,e){for(var r=-1,n=e.length,i=t.length;++r<n;)t[i+r]=e[r];return t}function oe(t,e,r){var i=e(t);return n(t)?i:ie(i,r(t))}function se(t,e){for(var r=-1,n=null==t?0:t.length,i=0,o=[];++r<n;){var s=t[r];e(s,r,t)&&(o[i++]=s)}return o}function ue(){return[]}var ae=Object.prototype.propertyIsEnumerable,le=Object.getOwnPropertySymbols,fe=le?function(t){return null==t?[]:(t=Object(t),se(le(t),function(e){return ae.call(t,e)}))}:ue;function ce(t){return oe(t,Ut,fe)}var de=Object.prototype.hasOwnProperty;var he=P(s,"DataView"),pe=P(s,"Promise"),ve=P(s,"Set"),me=P(s,"WeakMap"),ye="[object Map]",ge="[object Promise]",we="[object Set]",be="[object WeakMap]",Me="[object DataView]",_e=j(he),Se=j(U),Ee=j(pe),Oe=j(ve),je=j(me),Ne=p;(he&&Ne(new he(new ArrayBuffer(1)))!=Me||U&&Ne(new U)!=ye||pe&&Ne(pe.resolve())!=ge||ve&&Ne(new ve)!=we||me&&Ne(new me)!=be)&&(Ne=function(t){var e=p(t),r="[object Object]"==e?t.constructor:void 0,n=r?j(r):"";if(n)switch(n){case _e:return Me;case Se:return ye;case Ee:return ge;case Oe:return we;case je:return be}return e});var $e=Ne,Ae="[object Arguments]",Ce="[object Array]",Le="[object Object]",xe=Object.prototype.hasOwnProperty;function Re(t,e,r,i,o,s){var u=n(t),a=n(e),l=u?Ce:$e(t),f=a?Ce:$e(e),c=(l=l==Ae?Le:l)==Le,d=(f=f==Ae?Le:f)==Le,h=l==f;if(h&&_t(t)){if(!_t(e))return!1;u=!0,c=!1}if(h&&!c)return s||(s=new Zt),u||Rt(t)?Kt(t,e,r,i,o,s):function(t,e,r,n,i,o,s){switch(r){case"[object DataView]":if(t.byteLength!=e.byteLength||t.byteOffset!=e.byteOffset)return!1;t=t.buffer,e=e.buffer;case"[object ArrayBuffer]":return!(t.byteLength!=e.byteLength||!o(new Qt(t),new Qt(e)));case"[object Boolean]":case"[object Date]":case"[object Number]":return B(+t,+e);case"[object Error]":return t.name==e.name&&t.message==e.message;case"[object RegExp]":case"[object String]":return t==e+"";case"[object Map]":var u=te;case"[object Set]":var a=1&n;if(u||(u=ee),t.size!=e.size&&!a)return!1;var l=s.get(t);if(l)return l==e;n|=2,s.set(t,e);var f=Kt(u(t),u(e),n,i,o,s);return s.delete(t),f;case"[object Symbol]":if(ne)return ne.call(t)==ne.call(e)}return!1}(t,e,l,r,i,o,s);if(!(1&r)){var p=c&&xe.call(t,"__wrapped__"),v=d&&xe.call(e,"__wrapped__");if(p||v){var m=p?t.value():t,y=v?e.value():e;return s||(s=new Zt),o(m,y,r,i,s)}}return!!h&&(s||(s=new Zt),function(t,e,r,n,i,o){var s=1&r,u=ce(t),a=u.length;if(a!=ce(e).length&&!s)return!1;for(var l=a;l--;){var f=u[l];if(!(s?f in e:de.call(e,f)))return!1}var c=o.get(t),d=o.get(e);if(c&&d)return c==e&&d==t;var h=!0;o.set(t,e),o.set(e,t);for(var p=s;++l<a;){var v=t[f=u[l]],m=e[f];if(n)var y=s?n(m,v,f,e,t,o):n(v,m,f,t,e,o);if(!(void 0===y?v===m||i(v,m,r,n,o):y)){h=!1;break}p||(p="constructor"==f)}if(h&&!p){var g=t.constructor,w=e.constructor;g==w||!("constructor"in t)||!("constructor"in e)||"function"==typeof g&&g instanceof g&&"function"==typeof w&&w instanceof w||(h=!1)}return o.delete(t),o.delete(e),h}(t,e,r,i,o,s))}function Pe(t,e,r,n,i){return t===e||(null==t||null==e||!v(t)&&!v(e)?t!=t&&e!=e:Re(t,e,r,n,Pe,i))}function Te(t){return t==t&&!b(t)}function Fe(t,e){return function(r){return null!=r&&(r[t]===e&&(void 0!==e||t in Object(r)))}}function ke(t){var e=function(t){for(var e=Ut(t),r=e.length;r--;){var n=e[r],i=t[n];e[r]=[n,i,Te(i)]}return e}(t);return 1==e.length&&e[0][2]?Fe(e[0][0],e[0][1]):function(r){return r===t||function(t,e,r,n){var i=r.length,o=i,s=!n;if(null==t)return!o;for(t=Object(t);i--;){var u=r[i];if(s&&u[2]?u[1]!==t[u[0]]:!(u[0]in t))return!1}for(;++i<o;){var a=(u=r[i])[0],l=t[a],f=u[1];if(s&&u[2]){if(void 0===l&&!(a in t))return!1}else{var c=new Zt;if(n)var d=n(l,f,a,t,e,c);if(!(void 0===d?Pe(f,l,3,n,c):d))return!1}}return!0}(r,t,e)}}function De(t,e){return null!=t&&e in Object(t)}function Be(t,e){return null!=t&&function(t,e,r){for(var i=-1,o=(e=ot(e,t)).length,s=!1;++i<o;){var u=st(e[i]);if(!(s=null!=t&&r(t,u)))break;t=t[u]}return s||++i!=o?s:!!(o=null==t?0:t.length)&&Ot(o)&&Et(u,o)&&(n(t)||gt(t))}(t,e,De)}function Ie(t){return t}function qe(t){return function(e){return null==e?void 0:e[t]}}function Ge(t){return w(t)?qe(st(t)):function(t){return function(e){return ut(e,t)}}(t)}function Ue(t){return"function"==typeof t?t:null==t?Ie:"object"==typeof t?n(t)?function(t,e){return w(t)&&Te(e)?Fe(st(t),e):function(r){var n=at(r,t);return void 0===n&&n===e?Be(r,t):Pe(e,n,3)}}(t[0],t[1]):ke(t):Ge(t)}var He,Ye=function(t,e,r){for(var n=-1,i=Object(t),o=r(t),s=o.length;s--;){var u=o[He?s:++n];if(!1===e(i[u],u,i))break}return t};var ze=function(t,e){return function(r,n){if(null==r)return r;if(!Gt(r))return t(r,n);for(var i=r.length,o=e?i:-1,s=Object(r);(e?o--:++o<i)&&!1!==n(s[o],o,s););return r}}(function(t,e){return t&&Ye(t,e,Ut)}),We=ze;function Ze(t,e){var r=-1,n=Gt(t)?Array(t.length):[];return We(t,function(t,i,o){n[++r]=e(t,i,o)}),n}function Ve(t,e){return(n(t)?tt:Ze)(t,Ue(e))}var Je=qe("length"),Xe=RegExp("[\\u200d\\ud800-\\udfff\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff\\ufe0e\\ufe0f]");function Ke(t){return Xe.test(t)}var Qe="\\ud800-\\udfff",tr="["+Qe+"]",er="[\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff]",rr="\\ud83c[\\udffb-\\udfff]",nr="[^"+Qe+"]",ir="(?:\\ud83c[\\udde6-\\uddff]){2}",or="[\\ud800-\\udbff][\\udc00-\\udfff]",sr="(?:"+er+"|"+rr+")"+"?",ur="[\\ufe0e\\ufe0f]?",ar=ur+sr+("(?:\\u200d(?:"+[nr,ir,or].join("|")+")"+ur+sr+")*"),lr="(?:"+[nr+er+"?",er,ir,or,tr].join("|")+")",fr=RegExp(rr+"(?="+rr+")|"+lr+ar,"g");function cr(t){return Ke(t)?function(t){for(var e=fr.lastIndex=0;fr.test(t);)++e;return e}(t):Je(t)}function dr(t){if(null==t)return 0;if(Gt(t))return"string"==typeof(e=t)||!n(e)&&v(e)&&"[object String]"==p(e)?cr(t):t.length;var e,r=$e(t);return"[object Map]"==r||"[object Set]"==r?t.size:qt(t).length}var hr=/\s/;var pr=/^\s+/;function vr(t){return t?t.slice(0,function(t){for(var e=t.length;e--&&hr.test(t.charAt(e)););return e}(t)+1).replace(pr,""):t}var mr=/^[-+]0x[0-9a-f]+$/i,yr=/^0b[01]+$/i,gr=/^0o[0-7]+$/i,wr=parseInt;function br(t){if("number"==typeof t)return t;if(m(t))return NaN;if(b(t)){var e="function"==typeof t.valueOf?t.valueOf():t;t=b(e)?e+"":e}if("string"!=typeof t)return 0===t?t:+t;t=vr(t);var r=yr.test(t);return r||gr.test(t)?wr(t.slice(2),r?2:8):mr.test(t)?NaN:+t}var Mr=1/0;function _r(t){return t?(t=br(t))===Mr||t===-1/0?17976931348623157e292*(t<0?-1:1):t==t?t:0:0===t?t:0}function Sr(t){var e=_r(t),r=e%1;return e==e?r?e-r:e:0}var Er=s.isFinite,Or=Math.min;var jr=function(t){var e=Math[t];return function(t,r){if(t=br(t),(r=null==r?0:Or(Sr(r),292))&&Er(t)){var n=(it(t)+"e").split("e");return+((n=(it(e(n[0]+"e"+(+n[1]+r)))+"e").split("e"))[0]+"e"+(+n[1]-r))}return e(t)}}("round"),Nr=jr;function $r(t){return!0===(e=t)||!1===e||v(e)&&"[object Boolean]"==p(e);var e}function Ar(t){return t!=t}function Cr(t){let e=!1;if(Wt(t))e=!isNaN(Number(t));else if(function(t){return"[object Number]"===Object.prototype.toString.call(t)}(t)){if(Ar(t))return!1;e=!0}return e}function Lr(t){if(!Cr(t))return 0;return _r(t)}function xr(t,e={}){let r=at(e,"useClampSafe",null);$r(r)||(r=!1);let n=at(e,"useLimitSafe",null);$r(n)||(n=!1);let i=at(e,"returnWithStateAndMsg",null);$r(i)||(i=!1);let o=t=>i?{state:"success",msg:t}:t,s=t=>{if(i)return{state:"error",msg:t};throw new Error(t)};if(!Cr(t))return o(0);let u=null;try{t=Lr(t),u=Nr(t),r&&(u>Number.MAX_SAFE_INTEGER?u=Number.MAX_SAFE_INTEGER:u<Number.MIN_SAFE_INTEGER&&(u=Number.MIN_SAFE_INTEGER))}catch(t){return s(t.toString())}return n&&!Number.isSafeInteger(Number(u))?s(`v[${t}] is not a safe integer`):("0"===String(u)&&(u=0),o(u))}var Rr=Math.ceil,Pr=Math.max;function Tr(t,e,r){if(!b(r))return!1;var n=typeof e;return!!("number"==n?Gt(r)&&Et(e,r.length):"string"==n&&e in r)&&B(r[e],t)}var Fr=function(t){return function(e,r,n){return n&&"number"!=typeof n&&Tr(e,r,n)&&(r=n=void 0),e=_r(e),void 0===r?(r=e,e=0):r=_r(r),function(t,e,r,n){for(var i=-1,o=Pr(Rr((e-t)/(r||1)),0),s=Array(o);o--;)s[n?o:++i]=t,t+=r;return s}(e,r,n=void 0===n?e<r?1:-1:_r(n),t)}}(),kr=Fr;function Dr(t,e,r){return t==t&&(void 0!==r&&(t=t<=r?t:r),void 0!==e&&(t=t>=e?t:e)),t}function Br(t,e){var r=-1,n=t.length;for(e||(e=Array(n));++r<n;)e[r]=t[r];return e}function Ir(t,e){var r=-1,n=t.length,i=n-1;for(e=void 0===e?n:e;++r<e;){var o=ct(r,i),s=t[o];t[o]=t[r],t[r]=s}return t.length=e,t}function qr(t,e){return Ir(Br(t),Dr(e,0,t.length))}function Gr(t,e){var r=Ht(t);return Ir(r,Dr(e,0,r.length))}function Ur(t,e={}){let r=at(e,"useLimitSafe",null);return $r(r)||(r=!1),!!Cr(t)&&(t=Lr(t),r?Number.isSafeInteger(t):"number"==typeof(n=t)&&n==Sr(n));var n}function Hr(t,e={}){if(!Ur(t,e))return!1;return xr(t)>0}function Yr(t=0,e=100,r){if(Ur(t)||(t=0),t=xr(t),Ur(e)||(e=100),e=xr(e),Hr(r)||(r=1),r=xr(r),t>e)throw new Error(`vstart[${t}] > vend[${e}]`);let i=function(t,e,r){return e=(r?Tr(t,e,r):void 0===e)?1:Sr(e),(n(t)?qr:Gr)(t,e)}(kr(t,e+1),r);return i}function zr(t,e){for(var r=-1,n=null==t?0:t.length;++r<n&&!1!==e(t[r],r,t););return t}function Wr(t,e){var r;return(n(t)?zr:We)(t,"function"==typeof(r=e)?r:Ie)}function Zr(t,e,r){var n=-1,i=t.length;e<0&&(e=-e>i?0:i+e),(r=r>i?i:r)<0&&(r+=i),i=e>r?0:r-e>>>0,e>>>=0;for(var o=Array(i);++n<i;)o[n]=t[n+e];return o}function Vr(t){return t!=t}function Jr(t,e,r){return e==e?function(t,e,r){for(var n=r-1,i=t.length;++n<i;)if(t[n]===e)return n;return-1}(t,e,r):function(t,e,r,n){for(var i=t.length,o=r+(n?1:-1);n?o--:++o<i;)if(e(t[o],o,t))return o;return-1}(t,Vr,r)}var Xr="\\ud800-\\udfff",Kr="["+Xr+"]",Qr="[\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff]",tn="\\ud83c[\\udffb-\\udfff]",en="[^"+Xr+"]",rn="(?:\\ud83c[\\udde6-\\uddff]){2}",nn="[\\ud800-\\udbff][\\udc00-\\udfff]",on="(?:"+Qr+"|"+tn+")"+"?",sn="[\\ufe0e\\ufe0f]?",un=sn+on+("(?:\\u200d(?:"+[en,rn,nn].join("|")+")"+sn+on+")*"),an="(?:"+[en+Qr+"?",Qr,rn,nn,Kr].join("|")+")",ln=RegExp(tn+"(?="+tn+")|"+an+un,"g");function fn(t){return Ke(t)?function(t){return t.match(ln)||[]}(t):function(t){return t.split("")}(t)}function cn(t,e,r){if((t=it(t))&&(r||void 0===e))return vr(t);if(!t||!(e=nt(e)))return t;var n=fn(t),i=fn(e),o=function(t,e){for(var r=-1,n=t.length;++r<n&&Jr(e,t[r],0)>-1;);return r}(n,i),s=function(t,e){for(var r=t.length;r--&&Jr(e,t[r],0)>-1;);return r}(n,i)+1;return function(t,e,r){var n=t.length;return r=void 0===r?n:r,!e&&r>=n?t:Zr(t,e,r)}(n,o,s).join("")}function dn(t,e){if(!Wt(t))return[];if(!Wt(e))return[];let r=function(t,e){return Wt(t)&&Wt(e)?t.split(e):[]}(t,e);r=Ve(r,cn);let n=[];return Wr(r,function(t){Wt(t)&&n.push(t)}),n}function hn(t){return M(t)}var pn="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};function vn(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t}var mn={exports:{}};
|
|
7
7
|
/*!
|
|
8
|
-
* w-data-tdprovide v1.0.
|
|
8
|
+
* w-data-tdprovide v1.0.20
|
|
9
9
|
* (c) 2018-2021 yuda-lyu(semisphere)
|
|
10
10
|
* Released under the MIT License.
|
|
11
|
-
*/!function(r,n){r.exports=function(t,e){function i(t,e){for(var r=-1,n=null==t?0:t.length;++r<n&&!1!==e(t[r],r,t););return t}var o=function(t,e,r){for(var n=-1,i=Object(t),o=r(t),s=o.length;s--;){var u=o[++n];if(!1===e(i[u],u,i))break}return t},s="object"==typeof pn&&pn&&pn.Object===Object&&pn,u="object"==typeof self&&self&&self.Object===Object&&self,a=s||u||Function("return this")(),l=a.Symbol,f=Object.prototype,c=f.hasOwnProperty,d=f.toString,h=l?l.toStringTag:void 0,p=Object.prototype.toString,v=l?l.toStringTag:void 0;function m(t){return null==t?void 0===t?"[object Undefined]":"[object Null]":v&&v in Object(t)?function(t){var e=c.call(t,h),r=t[h];try{t[h]=void 0;var n=!0}catch(t){}var i=d.call(t);return n&&(e?t[h]=r:delete t[h]),i}(t):function(t){return p.call(t)}(t)}function y(t){return null!=t&&"object"==typeof t}function g(t){return y(t)&&"[object Arguments]"==m(t)}var w=Object.prototype,b=w.hasOwnProperty,M=w.propertyIsEnumerable,_=g(function(){return arguments}())?g:function(t){return y(t)&&b.call(t,"callee")&&!M.call(t,"callee")},S=_,O=Array.isArray,E=n&&!n.nodeType&&n,j=E&&r&&!r.nodeType&&r,N=j&&j.exports===E?a.Buffer:void 0,$=(N?N.isBuffer:void 0)||function(){return!1},A=/^(?:0|[1-9]\d*)$/;function C(t,e){var r=typeof t;return!!(e=null==e?9007199254740991:e)&&("number"==r||"symbol"!=r&&A.test(t))&&t>-1&&t%1==0&&t<e}function L(t){return"number"==typeof t&&t>-1&&t%1==0&&t<=9007199254740991}var x={};function R(t){return function(e){return t(e)}}x["[object Float32Array]"]=x["[object Float64Array]"]=x["[object Int8Array]"]=x["[object Int16Array]"]=x["[object Int32Array]"]=x["[object Uint8Array]"]=x["[object Uint8ClampedArray]"]=x["[object Uint16Array]"]=x["[object Uint32Array]"]=!0,x["[object Arguments]"]=x["[object Array]"]=x["[object ArrayBuffer]"]=x["[object Boolean]"]=x["[object DataView]"]=x["[object Date]"]=x["[object Error]"]=x["[object Function]"]=x["[object Map]"]=x["[object Number]"]=x["[object Object]"]=x["[object RegExp]"]=x["[object Set]"]=x["[object String]"]=x["[object WeakMap]"]=!1;var P=n&&!n.nodeType&&n,T=P&&r&&!r.nodeType&&r,F=T&&T.exports===P&&s.process,k=function(){try{return T&&T.require&&T.require("util").types||F&&F.binding&&F.binding("util")}catch(t){}}(),D=k&&k.isTypedArray,B=D?R(D):function(t){return y(t)&&L(t.length)&&!!x[m(t)]},I=Object.prototype.hasOwnProperty;function q(t,e){var r=O(t),n=!r&&S(t),i=!r&&!n&&$(t),o=!r&&!n&&!i&&B(t),s=r||n||i||o,u=s?function(t,e){for(var r=-1,n=Array(t);++r<t;)n[r]=e(r);return n}(t.length,String):[],a=u.length;for(var l in t)!e&&!I.call(t,l)||s&&("length"==l||i&&("offset"==l||"parent"==l)||o&&("buffer"==l||"byteLength"==l||"byteOffset"==l)||C(l,a))||u.push(l);return u}var G,U,H=Object.prototype,Y=(G=Object.keys,U=Object,function(t){return G(U(t))}),z=Object.prototype.hasOwnProperty;function W(t){if(r=(e=t)&&e.constructor,e!==("function"==typeof r&&r.prototype||H))return Y(t);var e,r,n=[];for(var i in Object(t))z.call(t,i)&&"constructor"!=i&&n.push(i);return n}function Z(t){var e=typeof t;return null!=t&&("object"==e||"function"==e)}function V(t){if(!Z(t))return!1;var e=m(t);return"[object Function]"==e||"[object GeneratorFunction]"==e||"[object AsyncFunction]"==e||"[object Proxy]"==e}function J(t){return null!=t&&L(t.length)&&!V(t)}function X(t){return J(t)?q(t):W(t)}var K=function(t,e){return function(r,n){if(null==r)return r;if(!J(r))return t(r,n);for(var i=r.length,o=e?i:-1,s=Object(r);(e?o--:++o<i)&&!1!==n(s[o],o,s););return r}}(function(t,e){return t&&o(t,e,X)}),Q=K;function tt(t){return t}function et(t,e){var r;return(O(t)?i:Q)(t,"function"==typeof(r=e)?r:tt)}function rt(t,e){for(var r=-1,n=null==t?0:t.length,i=0,o=[];++r<n;){var s=t[r];e(s,r,t)&&(o[i++]=s)}return o}function nt(t,e){var r=[];return Q(t,function(t,n,i){e(t,n,i)&&r.push(t)}),r}function it(t,e){return t===e||t!=t&&e!=e}function ot(t,e){for(var r=t.length;r--;)if(it(t[r][0],e))return r;return-1}var st=Array.prototype.splice;function ut(t){var e=-1,r=null==t?0:t.length;for(this.clear();++e<r;){var n=t[e];this.set(n[0],n[1])}}ut.prototype.clear=function(){this.__data__=[],this.size=0},ut.prototype.delete=function(t){var e=this.__data__,r=ot(e,t);return!(r<0||(r==e.length-1?e.pop():st.call(e,r,1),--this.size,0))},ut.prototype.get=function(t){var e=this.__data__,r=ot(e,t);return r<0?void 0:e[r][1]},ut.prototype.has=function(t){return ot(this.__data__,t)>-1},ut.prototype.set=function(t,e){var r=this.__data__,n=ot(r,t);return n<0?(++this.size,r.push([t,e])):r[n][1]=e,this};var at,lt=a["__core-js_shared__"],ft=(at=/[^.]+$/.exec(lt&<.keys&<.keys.IE_PROTO||""))?"Symbol(src)_1."+at:"",ct=Function.prototype.toString;function dt(t){if(null!=t){try{return ct.call(t)}catch(t){}try{return t+""}catch(t){}}return""}var ht=/^\[object .+?Constructor\]$/,pt=Function.prototype,vt=Object.prototype,mt=pt.toString,yt=vt.hasOwnProperty,gt=RegExp("^"+mt.call(yt).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function wt(t){return!(!Z(t)||function(t){return!!ft&&ft in t}(t))&&(V(t)?gt:ht).test(dt(t))}function bt(t,e){var r=function(t,e){return null==t?void 0:t[e]}(t,e);return wt(r)?r:void 0}var Mt=bt(a,"Map"),_t=bt(Object,"create"),St=Object.prototype.hasOwnProperty,Ot=Object.prototype.hasOwnProperty;function Et(t){var e=-1,r=null==t?0:t.length;for(this.clear();++e<r;){var n=t[e];this.set(n[0],n[1])}}function jt(t,e){var r,n,i=t.__data__;return("string"==(n=typeof(r=e))||"number"==n||"symbol"==n||"boolean"==n?"__proto__"!==r:null===r)?i["string"==typeof e?"string":"hash"]:i.map}function Nt(t){var e=-1,r=null==t?0:t.length;for(this.clear();++e<r;){var n=t[e];this.set(n[0],n[1])}}function $t(t){var e=this.__data__=new ut(t);this.size=e.size}function At(t){var e=-1,r=null==t?0:t.length;for(this.__data__=new Nt;++e<r;)this.add(t[e])}function Ct(t,e){for(var r=-1,n=null==t?0:t.length;++r<n;)if(e(t[r],r,t))return!0;return!1}function Lt(t,e,r,n,i,o){var s=1&r,u=t.length,a=e.length;if(u!=a&&!(s&&a>u))return!1;var l=o.get(t),f=o.get(e);if(l&&f)return l==e&&f==t;var c=-1,d=!0,h=2&r?new At:void 0;for(o.set(t,e),o.set(e,t);++c<u;){var p=t[c],v=e[c];if(n)var m=s?n(v,p,c,e,t,o):n(p,v,c,t,e,o);if(void 0!==m){if(m)continue;d=!1;break}if(h){if(!Ct(e,function(t,e){if(s=e,!h.has(s)&&(p===t||i(p,t,r,n,o)))return h.push(e);var s})){d=!1;break}}else if(p!==v&&!i(p,v,r,n,o)){d=!1;break}}return o.delete(t),o.delete(e),d}Et.prototype.clear=function(){this.__data__=_t?_t(null):{},this.size=0},Et.prototype.delete=function(t){var e=this.has(t)&&delete this.__data__[t];return this.size-=e?1:0,e},Et.prototype.get=function(t){var e=this.__data__;if(_t){var r=e[t];return"__lodash_hash_undefined__"===r?void 0:r}return St.call(e,t)?e[t]:void 0},Et.prototype.has=function(t){var e=this.__data__;return _t?void 0!==e[t]:Ot.call(e,t)},Et.prototype.set=function(t,e){var r=this.__data__;return this.size+=this.has(t)?0:1,r[t]=_t&&void 0===e?"__lodash_hash_undefined__":e,this},Nt.prototype.clear=function(){this.size=0,this.__data__={hash:new Et,map:new(Mt||ut),string:new Et}},Nt.prototype.delete=function(t){var e=jt(this,t).delete(t);return this.size-=e?1:0,e},Nt.prototype.get=function(t){return jt(this,t).get(t)},Nt.prototype.has=function(t){return jt(this,t).has(t)},Nt.prototype.set=function(t,e){var r=jt(this,t),n=r.size;return r.set(t,e),this.size+=r.size==n?0:1,this},$t.prototype.clear=function(){this.__data__=new ut,this.size=0},$t.prototype.delete=function(t){var e=this.__data__,r=e.delete(t);return this.size=e.size,r},$t.prototype.get=function(t){return this.__data__.get(t)},$t.prototype.has=function(t){return this.__data__.has(t)},$t.prototype.set=function(t,e){var r=this.__data__;if(r instanceof ut){var n=r.__data__;if(!Mt||n.length<199)return n.push([t,e]),this.size=++r.size,this;r=this.__data__=new Nt(n)}return r.set(t,e),this.size=r.size,this},At.prototype.add=At.prototype.push=function(t){return this.__data__.set(t,"__lodash_hash_undefined__"),this},At.prototype.has=function(t){return this.__data__.has(t)};var xt=a.Uint8Array;function Rt(t){var e=-1,r=Array(t.size);return t.forEach(function(t,n){r[++e]=[n,t]}),r}function Pt(t){var e=-1,r=Array(t.size);return t.forEach(function(t){r[++e]=t}),r}var Tt=l?l.prototype:void 0,Ft=Tt?Tt.valueOf:void 0,kt=Object.prototype.propertyIsEnumerable,Dt=Object.getOwnPropertySymbols,Bt=Dt?function(t){return null==t?[]:(t=Object(t),rt(Dt(t),function(e){return kt.call(t,e)}))}:function(){return[]};function It(t){return function(t,e,r){var n=e(t);return O(t)?n:function(t,e){for(var r=-1,n=e.length,i=t.length;++r<n;)t[i+r]=e[r];return t}(n,r(t))}(t,X,Bt)}var qt=Object.prototype.hasOwnProperty,Gt=bt(a,"DataView"),Ut=bt(a,"Promise"),Ht=bt(a,"Set"),Yt=bt(a,"WeakMap"),zt="[object Map]",Wt="[object Promise]",Zt="[object Set]",Vt="[object WeakMap]",Jt="[object DataView]",Xt=dt(Gt),Kt=dt(Mt),Qt=dt(Ut),te=dt(Ht),ee=dt(Yt),re=m;(Gt&&re(new Gt(new ArrayBuffer(1)))!=Jt||Mt&&re(new Mt)!=zt||Ut&&re(Ut.resolve())!=Wt||Ht&&re(new Ht)!=Zt||Yt&&re(new Yt)!=Vt)&&(re=function(t){var e=m(t),r="[object Object]"==e?t.constructor:void 0,n=r?dt(r):"";if(n)switch(n){case Xt:return Jt;case Kt:return zt;case Qt:return Wt;case te:return Zt;case ee:return Vt}return e});var ne=re,ie="[object Arguments]",oe="[object Array]",se="[object Object]",ue=Object.prototype.hasOwnProperty;function ae(t,e,r,n,i,o){var s=O(t),u=O(e),a=s?oe:ne(t),l=u?oe:ne(e),f=(a=a==ie?se:a)==se,c=(l=l==ie?se:l)==se,d=a==l;if(d&&$(t)){if(!$(e))return!1;s=!0,f=!1}if(d&&!f)return o||(o=new $t),s||B(t)?Lt(t,e,r,n,i,o):function(t,e,r,n,i,o,s){switch(r){case"[object DataView]":if(t.byteLength!=e.byteLength||t.byteOffset!=e.byteOffset)return!1;t=t.buffer,e=e.buffer;case"[object ArrayBuffer]":return!(t.byteLength!=e.byteLength||!o(new xt(t),new xt(e)));case"[object Boolean]":case"[object Date]":case"[object Number]":return it(+t,+e);case"[object Error]":return t.name==e.name&&t.message==e.message;case"[object RegExp]":case"[object String]":return t==e+"";case"[object Map]":var u=Rt;case"[object Set]":var a=1&n;if(u||(u=Pt),t.size!=e.size&&!a)return!1;var l=s.get(t);if(l)return l==e;n|=2,s.set(t,e);var f=Lt(u(t),u(e),n,i,o,s);return s.delete(t),f;case"[object Symbol]":if(Ft)return Ft.call(t)==Ft.call(e)}return!1}(t,e,a,r,n,i,o);if(!(1&r)){var h=f&&ue.call(t,"__wrapped__"),p=c&&ue.call(e,"__wrapped__");if(h||p){var v=h?t.value():t,m=p?e.value():e;return o||(o=new $t),i(v,m,r,n,o)}}return!!d&&(o||(o=new $t),function(t,e,r,n,i,o){var s=1&r,u=It(t),a=u.length;if(a!=It(e).length&&!s)return!1;for(var l=a;l--;){var f=u[l];if(!(s?f in e:qt.call(e,f)))return!1}var c=o.get(t),d=o.get(e);if(c&&d)return c==e&&d==t;var h=!0;o.set(t,e),o.set(e,t);for(var p=s;++l<a;){var v=t[f=u[l]],m=e[f];if(n)var y=s?n(m,v,f,e,t,o):n(v,m,f,t,e,o);if(!(void 0===y?v===m||i(v,m,r,n,o):y)){h=!1;break}p||(p="constructor"==f)}if(h&&!p){var g=t.constructor,w=e.constructor;g==w||!("constructor"in t)||!("constructor"in e)||"function"==typeof g&&g instanceof g&&"function"==typeof w&&w instanceof w||(h=!1)}return o.delete(t),o.delete(e),h}(t,e,r,n,i,o))}function le(t,e,r,n,i){return t===e||(null==t||null==e||!y(t)&&!y(e)?t!=t&&e!=e:ae(t,e,r,n,le,i))}function fe(t){return t==t&&!Z(t)}function ce(t,e){return function(r){return null!=r&&r[t]===e&&(void 0!==e||t in Object(r))}}function de(t){var e=function(t){for(var e=X(t),r=e.length;r--;){var n=e[r],i=t[n];e[r]=[n,i,fe(i)]}return e}(t);return 1==e.length&&e[0][2]?ce(e[0][0],e[0][1]):function(r){return r===t||function(t,e,r,n){var i=r.length,o=i,s=!n;if(null==t)return!o;for(t=Object(t);i--;){var u=r[i];if(s&&u[2]?u[1]!==t[u[0]]:!(u[0]in t))return!1}for(;++i<o;){var a=(u=r[i])[0],l=t[a],f=u[1];if(s&&u[2]){if(void 0===l&&!(a in t))return!1}else{var c=new $t;if(n)var d=n(l,f,a,t,e,c);if(!(void 0===d?le(f,l,3,n,c):d))return!1}}return!0}(r,t,e)}}function he(t){return"symbol"==typeof t||y(t)&&"[object Symbol]"==m(t)}var pe=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,ve=/^\w*$/;function me(t,e){if(O(t))return!1;var r=typeof t;return!("number"!=r&&"symbol"!=r&&"boolean"!=r&&null!=t&&!he(t))||ve.test(t)||!pe.test(t)||null!=e&&t in Object(e)}function ye(t,e){if("function"!=typeof t||null!=e&&"function"!=typeof e)throw new TypeError("Expected a function");var r=function(){var n=arguments,i=e?e.apply(this,n):n[0],o=r.cache;if(o.has(i))return o.get(i);var s=t.apply(this,n);return r.cache=o.set(i,s)||o,s};return r.cache=new(ye.Cache||Nt),r}ye.Cache=Nt;var ge=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,we=/\\(\\)?/g,be=function(t){var e=ye(t,function(t){return 500===r.size&&r.clear(),t}),r=e.cache;return e}(function(t){var e=[];return 46===t.charCodeAt(0)&&e.push(""),t.replace(ge,function(t,r,n,i){e.push(n?i.replace(we,"$1"):r||t)}),e}),Me=be;function _e(t,e){for(var r=-1,n=null==t?0:t.length,i=Array(n);++r<n;)i[r]=e(t[r],r,t);return i}var Se=l?l.prototype:void 0,Oe=Se?Se.toString:void 0;function Ee(t){if("string"==typeof t)return t;if(O(t))return _e(t,Ee)+"";if(he(t))return Oe?Oe.call(t):"";var e=t+"";return"0"==e&&1/t==-1/0?"-0":e}function je(t){return null==t?"":Ee(t)}function Ne(t,e){return O(t)?t:me(t,e)?[t]:Me(je(t))}function $e(t){if("string"==typeof t||he(t))return t;var e=t+"";return"0"==e&&1/t==-1/0?"-0":e}function Ae(t,e){for(var r=0,n=(e=Ne(e,t)).length;null!=t&&r<n;)t=t[$e(e[r++])];return r&&r==n?t:void 0}function Ce(t,e,r){var n=null==t?void 0:Ae(t,e);return void 0===n?r:n}function Le(t,e){return null!=t&&e in Object(t)}function xe(t,e){return null!=t&&function(t,e,r){for(var n=-1,i=(e=Ne(e,t)).length,o=!1;++n<i;){var s=$e(e[n]);if(!(o=null!=t&&r(t,s)))break;t=t[s]}return o||++n!=i?o:!!(i=null==t?0:t.length)&&L(i)&&C(s,i)&&(O(t)||S(t))}(t,e,Le)}function Re(t){return function(e){return null==e?void 0:e[t]}}function Pe(t){return me(t)?Re($e(t)):function(t){return function(e){return Ae(e,t)}}(t)}function Te(t){return"function"==typeof t?t:null==t?tt:"object"==typeof t?O(t)?function(t,e){return me(t)&&fe(e)?ce($e(t),e):function(r){var n=Ce(r,t);return void 0===n&&n===e?xe(r,t):le(e,n,3)}}(t[0],t[1]):de(t):Pe(t)}function Fe(t,e){return(O(t)?rt:nt)(t,Te(e))}function ke(t){var e=null==t?0:t.length;return e?t[e-1]:void 0}function De(t,e){var r=-1,n=J(t)?Array(t.length):[];return Q(t,function(t,i,o){n[++r]=e(t,i,o)}),n}var Be=Re("length"),Ie=RegExp("[\\u200d\\ud800-\\udfff\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff\\ufe0e\\ufe0f]");function qe(t){return Ie.test(t)}var Ge="\\ud800-\\udfff",Ue="["+Ge+"]",He="[\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff]",Ye="\\ud83c[\\udffb-\\udfff]",ze="[^"+Ge+"]",We="(?:\\ud83c[\\udde6-\\uddff]){2}",Ze="[\\ud800-\\udbff][\\udc00-\\udfff]",Ve="(?:"+He+"|"+Ye+")?",Je="[\\ufe0e\\ufe0f]?",Xe=Je+Ve+"(?:\\u200d(?:"+[ze,We,Ze].join("|")+")"+Je+Ve+")*",Ke="(?:"+[ze+He+"?",He,We,Ze,Ue].join("|")+")",Qe=RegExp(Ye+"(?="+Ye+")|"+Ke+Xe,"g");function tr(t){return qe(t)?function(t){for(var e=Qe.lastIndex=0;Qe.test(t);)++e;return e}(t):Be(t)}function er(t){if(null==t)return 0;if(J(t))return"string"==typeof(e=t)||!O(e)&&y(e)&&"[object String]"==m(e)?tr(t):t.length;var e,r=ne(t);return"[object Map]"==r||"[object Set]"==r?t.size:W(t).length}function rr(t,e={}){let r=Ce(e,"fs"),n=!1;try{r.statSync(t),n=!0}catch{n=!1}return n}function nr(t){return function(t,e={}){let r=Ce(e,"fs");return!!rr(t,{fs:r})&&!r.lstatSync(t).isDirectory()&&!r.lstatSync(t).isSymbolicLink()}(t,{fs:e})}function ir(t){let r=null,n=function(t,e={}){let r=null,n=Ce(e,"fs"),i="";try{i=n.readFileSync(t,"utf8")}catch(t){r=t}return null!==r?{error:r}:{success:i}}(t,{fs:e});if(n.error)return n;let i=n.success,o=null;try{o=JSON.parse(i)}catch(t){r=t}return null!==r?{error:r}:{success:o}}var or=/\s/,sr=/^\s+/;function ur(t){return t?t.slice(0,function(t){for(var e=t.length;e--&&or.test(t.charAt(e)););return e}(t)+1).replace(sr,""):t}var ar=/^[-+]0x[0-9a-f]+$/i,lr=/^0b[01]+$/i,fr=/^0o[0-7]+$/i,cr=parseInt;function dr(t){if("number"==typeof t)return t;if(he(t))return NaN;if(Z(t)){var e="function"==typeof t.valueOf?t.valueOf():t;t=Z(e)?e+"":e}if("string"!=typeof t)return 0===t?t:+t;t=ur(t);var r=lr.test(t);return r||fr.test(t)?cr(t.slice(2),r?2:8):ar.test(t)?NaN:+t}var hr=1/0;function pr(t){return t?(t=dr(t))===hr||t===-1/0?17976931348623157e292*(t<0?-1:1):t==t?t:0:0===t?t:0}function vr(t){var e=pr(t),r=e%1;return e==e?r?e-r:e:0}function mr(t){return!0===(e=t)||!1===e||y(e)&&"[object Boolean]"==m(e);var e}function yr(t){return"[object String]"===Object.prototype.toString.call(t)}function gr(t){return!(!yr(t)||""===t)}function wr(t){return t!=t}function br(t){let e=!1;if(gr(t))e=!isNaN(Number(t));else if(function(t){return"[object Number]"===Object.prototype.toString.call(t)}(t)){if(wr(t))return!1;e=!0}return e}function Mr(t){return br(t)?pr(t):0}function _r(t,e={}){let r=Ce(e,"useLimitSafe",null);return mr(r)||(r=!1),!!br(t)&&(t=Mr(t),r?Number.isSafeInteger(t):"number"==typeof(n=t)&&n==vr(n));var n}var Sr=a.isFinite,Or=Math.min,Er=function(){var t=Math.round;return function(e,r){if(e=dr(e),(r=null==r?0:Or(vr(r),292))&&Sr(e)){var n=(je(e)+"e").split("e");return+((n=(je(t(n[0]+"e"+(+n[1]+r)))+"e").split("e"))[0]+"e"+(+n[1]-r))}return t(e)}}(),jr=Er;function Nr(t,e={}){let r=Ce(e,"useClampSafe",null);mr(r)||(r=!1);let n=Ce(e,"useLimitSafe",null);mr(n)||(n=!1);let i=Ce(e,"returnWithStateAndMsg",null);mr(i)||(i=!1);let o=t=>i?{state:"success",msg:t}:t,s=t=>{if(i)return{state:"error",msg:t};throw new Error(t)};if(!br(t))return o(0);let u=null;try{t=Mr(t),u=jr(t),r&&(u>Number.MAX_SAFE_INTEGER?u=Number.MAX_SAFE_INTEGER:u<Number.MIN_SAFE_INTEGER&&(u=Number.MIN_SAFE_INTEGER))}catch(t){return s(t.toString())}return n&&!Number.isSafeInteger(Number(u))?s(`v[${t}] is not a safe integer`):("0"===String(u)&&(u=0),o(u))}function $r(t,e={}){let r=Ce(e,"fs");if(!rr(t,{fs:r}))return!1;let n=r.lstatSync(t);return!n.isFile()&&!n.isSymbolicLink()}function Ar(t,e=1,r={}){let n=1,i=Ce(r,"path"),o=Ce(r,"fs");if(!$r(t,{fs:o}))throw new Error(`fd[${t}] is not a folder`);return null!==e&&function(t,e={}){return!!_r(t,e)&&Nr(t)>0}(e)&&(e=Nr(e))<1&&(e=1),function t(r){let s=[];return $r(r,{fs:o})?(et(o.readdirSync(r),function(u){let a=i.resolve(r,u),l=null;try{l=o.statSync(a)}catch(t){}l&&l.isDirectory()?(s.push({isFolder:!0,level:n,path:a,name:i.basename(a)}),n+=1,(n<=e||null===e)&&(s=s.concat(t(a))),n-=1):s.push({isFolder:!1,level:n,path:a,name:i.basename(a)})}),s):s}(t)}function Cr(r,n=1){return Ar(r,n,{path:t,fs:e})}function Lr(t,e,r){var n=-1,i=t.length;e<0&&(e=-e>i?0:i+e),(r=r>i?i:r)<0&&(r+=i),i=e>r?0:r-e>>>0,e>>>=0;for(var o=Array(i);++n<i;)o[n]=t[n+e];return o}var xr=k&&k.isRegExp,Rr=xr?R(xr):function(t){return y(t)&&"[object RegExp]"==m(t)},Pr="\\ud800-\\udfff",Tr="["+Pr+"]",Fr="[\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff]",kr="\\ud83c[\\udffb-\\udfff]",Dr="[^"+Pr+"]",Br="(?:\\ud83c[\\udde6-\\uddff]){2}",Ir="[\\ud800-\\udbff][\\udc00-\\udfff]",qr="(?:"+Fr+"|"+kr+")?",Gr="[\\ufe0e\\ufe0f]?",Ur=Gr+qr+"(?:\\u200d(?:"+[Dr,Br,Ir].join("|")+")"+Gr+qr+")*",Hr="(?:"+[Dr+Fr+"?",Fr,Br,Ir,Tr].join("|")+")",Yr=RegExp(kr+"(?="+kr+")|"+Hr+Ur,"g");function zr(t){return qe(t)?function(t){return t.match(Yr)||[]}(t):function(t){return t.split("")}(t)}function Wr(t,e,r){return r&&"number"!=typeof r&&function(t,e,r){if(!Z(r))return!1;var n=typeof e;return!!("number"==n?J(r)&&C(e,r.length):"string"==n&&e in r)&&it(r[e],t)}(t,e,r)&&(e=r=void 0),(r=void 0===r?4294967295:r>>>0)?(t=je(t))&&("string"==typeof e||null!=e&&!Rr(e))&&!(e=Ee(e))&&qe(t)?(i=0,o=r,s=(n=zr(t)).length,o=void 0===o?s:o,!i&&o>=s?n:Lr(n,i,o)):t.split(e,r):[];var n,i,o,s}function Zr(t,e={}){return!!_r(t,e)&&Nr(t)>=0}function Vr(t,e){if(!gr(t))return"";if(!Zr(e))return"";if(0===(e=Nr(e)))return"";let r=t.length-e;return r<0&&(r=0),t.substring(r,r+e)}function Jr(t,e){return gr(t)&&Zr(e)?0===(e=Nr(e))?t:function(t,e){return gr(t)&&Zr(e)?0===(e=Nr(e))?"":t.substring(0,e):""}(t,t.length-e):""}function Xr(t){if(!gr(t))return"";let e=function(t){if(!gr(t))return{path:"",isRoot:!1};for(;t.indexOf("\\\\")>=0;)t=t.replace("\\\\","\\");for(;t.indexOf("//")>=0;)t=t.replace("//","/");if(":"===Vr(t,1))return{path:`${t}\\`,isRoot:!0};if("\\"===Vr(t,1)){let e=Jr(t,1);return":"===Vr(e,1)?{path:t,isRoot:!0}:{path:e,isRoot:!1}}if("/"===Vr(t,1)){let e=Jr(t,1);return 0===e.length?{path:t,isRoot:!0}:{path:e,isRoot:!1}}return{path:t,isRoot:!1}}(t);if(e.isRoot)return e.path;let r=e.path;try{r=r.split("\\").pop().split("/").pop()}catch(t){}return r}var Kr=Array.prototype.join;function Qr(t){if(!gr(t))return"";let e=Xr(t),r=Wr(e,".");if(er(r)<=1)return e;let n="";try{r=(u=null==(i=r)?0:i.length)?Lr(i,0,(o=u-(o=s||void 0===o?1:vr(o)))<0?0:o):[],n=function(t,e){return null==t?"":Kr.call(t,e)}(r,".")}catch(t){}var i,o,s,u;return n}function tn(t){return"[object Object]"===Object.prototype.toString.call(t)}function en(t,e){return!!tn(t)&&!(!gr(e)&&!br(e))&&e in t}function rn(t){return"[object Array]"===Object.prototype.toString.call(t)}function nn(t){return!!(function(t){return"[object Undefined]"===Object.prototype.toString.call(t)}(t)||function(t){return"[object Null]"===Object.prototype.toString.call(t)}(t)||function(t){if(tn(t)){for(let e in t)return!1;return!0}return!1}(t)||function(t){return!(!yr(t)||""!==t)}(t)||function(t){return!!rn(t)&&0===t.length}(t)||wr(t))}function on(t){return!(!rn(t)||0===t.length||1===t.length&&nn(t[0]))}function sn(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t}var un={exports:{}};!function(t){t.exports=function(){var t=1e3,e=6e4,r=36e5,n="millisecond",i="second",o="minute",s="hour",u="day",a="week",l="month",f="quarter",c="year",d="date",h="Invalid Date",p=/^(\d{4})[-/]?(\d{1,2})?[-/]?(\d{0,2})[Tt\s]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?[.:]?(\d+)?$/,v=/\[([^\]]+)]|YYYY|YY|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,m={name:"en",weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),ordinal:function(t){var e=["th","st","nd","rd"],r=t%100;return"["+t+(e[(r-20)%10]||e[r]||e[0])+"]"}},y=function(t,e,r){var n=String(t);return!n||n.length>=e?t:""+Array(e+1-n.length).join(r)+t},g={s:y,z:function(t){var e=-t.utcOffset(),r=Math.abs(e),n=Math.floor(r/60),i=r%60;return(e<=0?"+":"-")+y(n,2,"0")+":"+y(i,2,"0")},m:function t(e,r){if(e.date()<r.date())return-t(r,e);var n=12*(r.year()-e.year())+(r.month()-e.month()),i=e.clone().add(n,l),o=r-i<0,s=e.clone().add(n+(o?-1:1),l);return+(-(n+(r-i)/(o?i-s:s-i))||0)},a:function(t){return t<0?Math.ceil(t)||0:Math.floor(t)},p:function(t){return{M:l,y:c,w:a,d:u,D:d,h:s,m:o,s:i,ms:n,Q:f}[t]||String(t||"").toLowerCase().replace(/s$/,"")},u:function(t){return void 0===t}},w="en",b={};b[w]=m;var M="$isDayjsObject",_=function(t){return t instanceof j||!(!t||!t[M])},S=function t(e,r,n){var i;if(!e)return w;if("string"==typeof e){var o=e.toLowerCase();b[o]&&(i=o),r&&(b[o]=r,i=o);var s=e.split("-");if(!i&&s.length>1)return t(s[0])}else{var u=e.name;b[u]=e,i=u}return!n&&i&&(w=i),i||!n&&w},O=function(t,e){if(_(t))return t.clone();var r="object"==typeof e?e:{};return r.date=t,r.args=arguments,new j(r)},E=g;E.l=S,E.i=_,E.w=function(t,e){return O(t,{locale:e.$L,utc:e.$u,x:e.$x,$offset:e.$offset})};var j=function(){function m(t){this.$L=S(t.locale,null,!0),this.parse(t),this.$x=this.$x||t.x||{},this[M]=!0}var y=m.prototype;return y.parse=function(t){this.$d=function(t){var e=t.date,r=t.utc;if(null===e)return new Date(NaN);if(E.u(e))return new Date;if(e instanceof Date)return new Date(e);if("string"==typeof e&&!/Z$/i.test(e)){var n=e.match(p);if(n){var i=n[2]-1||0,o=(n[7]||"0").substring(0,3);return r?new Date(Date.UTC(n[1],i,n[3]||1,n[4]||0,n[5]||0,n[6]||0,o)):new Date(n[1],i,n[3]||1,n[4]||0,n[5]||0,n[6]||0,o)}}return new Date(e)}(t),this.init()},y.init=function(){var t=this.$d;this.$y=t.getFullYear(),this.$M=t.getMonth(),this.$D=t.getDate(),this.$W=t.getDay(),this.$H=t.getHours(),this.$m=t.getMinutes(),this.$s=t.getSeconds(),this.$ms=t.getMilliseconds()},y.$utils=function(){return E},y.isValid=function(){return!(this.$d.toString()===h)},y.isSame=function(t,e){var r=O(t);return this.startOf(e)<=r&&r<=this.endOf(e)},y.isAfter=function(t,e){return O(t)<this.startOf(e)},y.isBefore=function(t,e){return this.endOf(e)<O(t)},y.$g=function(t,e,r){return E.u(t)?this[e]:this.set(r,t)},y.unix=function(){return Math.floor(this.valueOf()/1e3)},y.valueOf=function(){return this.$d.getTime()},y.startOf=function(t,e){var r=this,n=!!E.u(e)||e,f=E.p(t),h=function(t,e){var i=E.w(r.$u?Date.UTC(r.$y,e,t):new Date(r.$y,e,t),r);return n?i:i.endOf(u)},p=function(t,e){return E.w(r.toDate()[t].apply(r.toDate("s"),(n?[0,0,0,0]:[23,59,59,999]).slice(e)),r)},v=this.$W,m=this.$M,y=this.$D,g="set"+(this.$u?"UTC":"");switch(f){case c:return n?h(1,0):h(31,11);case l:return n?h(1,m):h(0,m+1);case a:var w=this.$locale().weekStart||0,b=(v<w?v+7:v)-w;return h(n?y-b:y+(6-b),m);case u:case d:return p(g+"Hours",0);case s:return p(g+"Minutes",1);case o:return p(g+"Seconds",2);case i:return p(g+"Milliseconds",3);default:return this.clone()}},y.endOf=function(t){return this.startOf(t,!1)},y.$set=function(t,e){var r,a=E.p(t),f="set"+(this.$u?"UTC":""),h=(r={},r[u]=f+"Date",r[d]=f+"Date",r[l]=f+"Month",r[c]=f+"FullYear",r[s]=f+"Hours",r[o]=f+"Minutes",r[i]=f+"Seconds",r[n]=f+"Milliseconds",r)[a],p=a===u?this.$D+(e-this.$W):e;if(a===l||a===c){var v=this.clone().set(d,1);v.$d[h](p),v.init(),this.$d=v.set(d,Math.min(this.$D,v.daysInMonth())).$d}else h&&this.$d[h](p);return this.init(),this},y.set=function(t,e){return this.clone().$set(t,e)},y.get=function(t){return this[E.p(t)]()},y.add=function(n,f){var d,h=this;n=Number(n);var p=E.p(f),v=function(t){var e=O(h);return E.w(e.date(e.date()+Math.round(t*n)),h)};if(p===l)return this.set(l,this.$M+n);if(p===c)return this.set(c,this.$y+n);if(p===u)return v(1);if(p===a)return v(7);var m=(d={},d[o]=e,d[s]=r,d[i]=t,d)[p]||1,y=this.$d.getTime()+n*m;return E.w(y,this)},y.subtract=function(t,e){return this.add(-1*t,e)},y.format=function(t){var e=this,r=this.$locale();if(!this.isValid())return r.invalidDate||h;var n=t||"YYYY-MM-DDTHH:mm:ssZ",i=E.z(this),o=this.$H,s=this.$m,u=this.$M,a=r.weekdays,l=r.months,f=r.meridiem,c=function(t,r,i,o){return t&&(t[r]||t(e,n))||i[r].slice(0,o)},d=function(t){return E.s(o%12||12,t,"0")},p=f||function(t,e,r){var n=t<12?"AM":"PM";return r?n.toLowerCase():n};return n.replace(v,function(t,n){return n||function(t){switch(t){case"YY":return String(e.$y).slice(-2);case"YYYY":return E.s(e.$y,4,"0");case"M":return u+1;case"MM":return E.s(u+1,2,"0");case"MMM":return c(r.monthsShort,u,l,3);case"MMMM":return c(l,u);case"D":return e.$D;case"DD":return E.s(e.$D,2,"0");case"d":return String(e.$W);case"dd":return c(r.weekdaysMin,e.$W,a,2);case"ddd":return c(r.weekdaysShort,e.$W,a,3);case"dddd":return a[e.$W];case"H":return String(o);case"HH":return E.s(o,2,"0");case"h":return d(1);case"hh":return d(2);case"a":return p(o,s,!0);case"A":return p(o,s,!1);case"m":return String(s);case"mm":return E.s(s,2,"0");case"s":return String(e.$s);case"ss":return E.s(e.$s,2,"0");case"SSS":return E.s(e.$ms,3,"0");case"Z":return i}return null}(t)||i.replace(":","")})},y.utcOffset=function(){return 15*-Math.round(this.$d.getTimezoneOffset()/15)},y.diff=function(n,d,h){var p,v=this,m=E.p(d),y=O(n),g=(y.utcOffset()-this.utcOffset())*e,w=this-y,b=function(){return E.m(v,y)};switch(m){case c:p=b()/12;break;case l:p=b();break;case f:p=b()/3;break;case a:p=(w-g)/6048e5;break;case u:p=(w-g)/864e5;break;case s:p=w/r;break;case o:p=w/e;break;case i:p=w/t;break;default:p=w}return h?p:E.a(p)},y.daysInMonth=function(){return this.endOf(l).$D},y.$locale=function(){return b[this.$L]},y.locale=function(t,e){if(!t)return this.$L;var r=this.clone(),n=S(t,e,!0);return n&&(r.$L=n),r},y.clone=function(){return E.w(this.$d,this)},y.toDate=function(){return new Date(this.valueOf())},y.toJSON=function(){return this.isValid()?this.toISOString():null},y.toISOString=function(){return this.$d.toISOString()},y.toString=function(){return this.$d.toUTCString()},m}(),N=j.prototype;return O.prototype=N,[["$ms",n],["$s",i],["$m",o],["$H",s],["$W",u],["$M",l],["$y",c],["$D",d]].forEach(function(t){N[t[1]]=function(e){return this.$g(e,t[0],t[1])}}),O.extend=function(t,e){return t.$i||(t(e,j,O),t.$i=!0),O},O.locale=S,O.isDayjs=_,O.unix=function(t){return O(1e3*t)},O.en=b[w],O.Ls=b,O.p={},O}()}(un);var an=sn(un.exports);function ln(t){if(!gr(t))return!1;let e="YYYY-MM-DDTHH:mm:ss";return t===an(t,e).format(e)}function fn(t){let e=Object.prototype.toString.call(t);return"[object Function]"===e||"[object AsyncFunction]"===e}function cn(t,e){let r=function(){let t,e,r=new Promise(function(){t=arguments[0],e=arguments[1]});return r.resolve=t,r.reject=e,r}();if(!rn(t)&&!tn(t))return r.reject("rs is not an array or object"),r;let n=!1;if(tn(t)){n=!0;let e=[];et(t,(t,r)=>{e.push({k:r,v:t})}),t=e}fn(e)||(e=function(t){return t});let i=-1,o=[];return t.reduce(function(t,r){return t.then(function(t){o.push(t),i+=1;let s=i,u=r;return n&&(s=r.k,u=r.v),fn(e)?e(u,s):u})},Promise.resolve()).then(function(t){var e,n,i;o.push(t),i=null==(e=o)?0:e.length,o=i?Lr(e,(n=void 0===n?1:vr(n))<0?0:n,i):[],r.resolve(o)}).catch(function(t){r.reject(t)}),r}return(e,r)=>{let n={},i=async i=>{if(en(n,i))return n[i];let o=await(async n=>{let i=t.resolve(r,`${n}.json`),o=t.resolve(e,`${n}.json`),s="";if(nr(i))s=i;else{if(!nr(o))throw console.log(`fpParam[${i}] or fpOhlc[${o}] do not exist`),new Error(`invalid key[${n}]`);s=o}let u=Ce(ir(s),"success",null);if(!on(u))throw new Error(`fp[${s}] no data`);return u})(i);return n[i]=o,o},o=[],s=async()=>{if(er(o)>0)return o;let t=t=>{let e=Cr(t);return e=Fe(e,t=>"json"===function(t){if(!gr(t))return"";let e=Wr(Xr(t),".");if(er(e)<=1)return"";let r="";try{r=ke(e)}catch(t){}return r}(t.name)),e},n=[],s=t(e);await cn(s,async t=>{let e=Qr(t.name),r=await i(e);n.push({type:"ohlc",key:e,arr:r})});let u=t(r);return await cn(u,async t=>{let e=Qr(t.name),r=await i(e);n.push({type:"param",key:e,arr:r})}),o=n,n},u={},a=async(t,e)=>{if(!ln(t))throw new Error("invalid timeStart");if(!ln(e))throw new Error("invalid timeEnd");let r=`${t}:${e}`;if(en(u,r))return u[r];let n=await s(),i="1000-01-01T00:00:00",o="9999-01-01T00:00:00";if(et(n,t=>{let e=(r=t.arr)&&r.length?r[0]:void 0;var r;let n=ke(t.arr),s=Ce(e,"time",""),u=Ce(n,"time","");"ohlc"===t.type&&i<s&&(i=s),o>u&&(o=u)}),t<i)throw new Error(`timeStart[${t}] < timeStartData[${i}]`);if(e>o)throw new Error(`timeEnd[${e}] > timeEndData[${o}]`);let a=[];return et(n,r=>{let n=Fe(r.arr,r=>r.time>=t&&r.time<=e);a.push({key:r.key,arr:n})}),u[r]=a,a},l={getKeysParam:()=>{let t=Cr(r);var e,n;return n=t=>Qr(t.name),(O(e=t)?_e:De)(e,Te(n))},getTimeSeries:i,getTimeSeriesByTimeRange:async(t,e,r)=>{let n=await i(t);return n=Fe(n,t=>t.time>=e&&t.time<=r),n},getTimeSeriesFull:s,getTimeSeriesFullByTimeRange:a,buildGetTimeSeriesByTimeRange:async(t,e)=>{let r=await a(t,e),n={};return et(r,t=>{n[t.key]=t.arr}),async r=>{let i=Ce(n,r,[]);if(!on(i))throw new Error(`can not get series by key[${r}] bewteen timeStart[${t}] and timeEnd[${e}]`);return i}},buildGetTimeValueByTimeRange:async(t,e)=>{let r=await a(t,e),n={};return et(r,t=>{et(t.arr,e=>{let r=`${t.key}_${e.time}`;n[r]=e})}),async(r,i)=>{let o=Ce(n,`${r}_${i}`,{});if(!function(t){if(tn(t)){for(let e in t)return!0;return!1}return!1}(o))throw new Error(`can not get value by key[${r}] and time[${i}] bewteen timeStart[${t}] and timeEnd[${e}]`);return o}}};return l}}(t,e)}(mn,mn.exports);var yn=vn(mn.exports);function gn(t,e={}){if(!Ur(t,e))return!1;return xr(t)>=0}function wn(t,e=0){if(!Cr(t))return"";if(!gn(e))return"";return t=Lr(t),Nr(t,e).toFixed(e)}function bn(t,e={}){let r=at(e,"fs"),n=!1;try{r.statSync(t),n=!0}catch{n=!1}return n}function Mn(t,e={}){let r=at(e,"fs");if(!bn(t,{fs:r}))return!1;let n=r.lstatSync(t);return!n.isFile()&&!n.isSymbolicLink()}function _n(t,e={}){let r=at(e,"fs");if(Mn(t,{fs:r}))return{success:"input folder is already exists: "+t};if(bn(t,{fs:r}))return{error:"input path already exists: "+t};try{r.mkdirSync(t,{recursive:!0})}catch(t){return{error:t}}return{success:"done: "+t}}function Sn(t){return function(t,e={}){let r=at(e,"fs");return!!bn(t,{fs:r})&&!r.lstatSync(t).isDirectory()&&!r.lstatSync(t).isSymbolicLink()}(t,{fs:e})}function On(t){return Mn(t,{fs:e})}function En(t){let r=null,n=function(t,e={}){let r=null,n=at(e,"fs"),i="";try{i=n.readFileSync(t,"utf8")}catch(t){r=t}return null!==r?{error:r}:{success:i}}(t,{fs:e});if(n.error)return n;let i=n.success,o=null;try{o=JSON.parse(i)}catch(t){r=t}return null!==r?{error:r}:{success:o}}function jn(t){return"[object Object]"===Object.prototype.toString.call(t)}function Nn(t){return"[object Array]"===Object.prototype.toString.call(t)}function $n(t,e){if(!Wt(t))return"";if(!gn(e))return"";if(0===(e=xr(e)))return"";let r=t.length-e;return r<0&&(r=0),t.substring(r,r+e)}function An(t,e){return Wt(t)&&gn(e)?0===(e=xr(e))?t:function(t,e){return Wt(t)&&gn(e)?0===(e=xr(e))?"":t.substring(0,e):""}(t,t.length-e):""}function Cn(t){if(!Wt(t))return{path:"",isRoot:!1};for(;t.indexOf("\\\\")>=0;)t=t.replace("\\\\","\\");for(;t.indexOf("//")>=0;)t=t.replace("//","/");if(":"===$n(t,1))return{path:`${t}\\`,isRoot:!0};if("\\"===$n(t,1)){let e=An(t,1);return":"===$n(e,1)?{path:t,isRoot:!0}:{path:e,isRoot:!1}}if("/"===$n(t,1)){let e=An(t,1);return 0===e.length?{path:t,isRoot:!0}:{path:e,isRoot:!1}}return{path:t,isRoot:!1}}function Ln(t){if(!Wt(t))return"";let e=Cn(t);if(e.isRoot)return e.path;let r=function(t){if(!Wt(t))return"";let e=Cn(t);if(e.isRoot)return e.path;let r=e.path;try{r=r.split("\\").pop().split("/").pop()}catch(t){}return r}(t=e.path);if(!Wt(r))return t;let n=Cn(t=An(t,r.length));return n.isRoot,n.path}function xn(t,r,n={}){let i=null;if(!jn(r)&&!Nn(r))return{error:"inp is not an object or array"};let o=at(n,"useFormat",null);$r(o)||(o=!1);let s="";try{s=o?JSON.stringify(r,null,2):JSON.stringify(r)}catch(t){i=t}if(null!==i)return{error:i};let u=function(t,e,r={}){let n=null,i=at(r,"fs"),o=Ln(t);Mn(o,{fs:i})||_n(o,{fs:i});try{i.writeFileSync(t,e,"utf8")}catch(t){n=t}return null!==n?{error:n}:{success:t}}(t,s,{fs:e});return u}function Rn(t){return!!function(t){return"[object Undefined]"===Object.prototype.toString.call(t)}(t)||(!!function(t){return"[object Null]"===Object.prototype.toString.call(t)}(t)||(!!function(t){if(jn(t)){for(let e in t)return!1;return!0}return!1}(t)||(!!function(t){return!(!zt(t)||""!==t)}(t)||(!!function(t){return!!Nn(t)&&0===t.length}(t)||!!Ar(t)))))}function Pn(t){return!!Nn(t)&&(0!==t.length&&(1!==t.length||!Rn(t[0])))}function Tn(t,e,r=2){if(!Cr(t))return[];if(t=Lr(t),!Cr(e))return[];if(e=Lr(e),Hr(r)||(r=2),(r=xr(r))<=0)throw new Error(`num[${r}] <= 0`);let n=(e-t)/r,i=t,o=[];for(let t=0;t<=r;t++)o.push(i),i+=n;return o}
|
|
11
|
+
*/!function(r,n){r.exports=function(t,e){function i(t,e){for(var r=-1,n=null==t?0:t.length;++r<n&&!1!==e(t[r],r,t););return t}var o=function(t,e,r){for(var n=-1,i=Object(t),o=r(t),s=o.length;s--;){var u=o[++n];if(!1===e(i[u],u,i))break}return t},s="object"==typeof pn&&pn&&pn.Object===Object&&pn,u="object"==typeof self&&self&&self.Object===Object&&self,a=s||u||Function("return this")(),l=a.Symbol,f=Object.prototype,c=f.hasOwnProperty,d=f.toString,h=l?l.toStringTag:void 0,p=Object.prototype.toString,v=l?l.toStringTag:void 0;function m(t){return null==t?void 0===t?"[object Undefined]":"[object Null]":v&&v in Object(t)?function(t){var e=c.call(t,h),r=t[h];try{t[h]=void 0;var n=!0}catch(t){}var i=d.call(t);return n&&(e?t[h]=r:delete t[h]),i}(t):function(t){return p.call(t)}(t)}function y(t){return null!=t&&"object"==typeof t}function g(t){return y(t)&&"[object Arguments]"==m(t)}var w=Object.prototype,b=w.hasOwnProperty,M=w.propertyIsEnumerable,_=g(function(){return arguments}())?g:function(t){return y(t)&&b.call(t,"callee")&&!M.call(t,"callee")},S=_,E=Array.isArray,O=n&&!n.nodeType&&n,j=O&&r&&!r.nodeType&&r,N=j&&j.exports===O?a.Buffer:void 0,$=(N?N.isBuffer:void 0)||function(){return!1},A=/^(?:0|[1-9]\d*)$/;function C(t,e){var r=typeof t;return!!(e=null==e?9007199254740991:e)&&("number"==r||"symbol"!=r&&A.test(t))&&t>-1&&t%1==0&&t<e}function L(t){return"number"==typeof t&&t>-1&&t%1==0&&t<=9007199254740991}var x={};function R(t){return function(e){return t(e)}}x["[object Float32Array]"]=x["[object Float64Array]"]=x["[object Int8Array]"]=x["[object Int16Array]"]=x["[object Int32Array]"]=x["[object Uint8Array]"]=x["[object Uint8ClampedArray]"]=x["[object Uint16Array]"]=x["[object Uint32Array]"]=!0,x["[object Arguments]"]=x["[object Array]"]=x["[object ArrayBuffer]"]=x["[object Boolean]"]=x["[object DataView]"]=x["[object Date]"]=x["[object Error]"]=x["[object Function]"]=x["[object Map]"]=x["[object Number]"]=x["[object Object]"]=x["[object RegExp]"]=x["[object Set]"]=x["[object String]"]=x["[object WeakMap]"]=!1;var P=n&&!n.nodeType&&n,T=P&&r&&!r.nodeType&&r,F=T&&T.exports===P&&s.process,k=function(){try{return T&&T.require&&T.require("util").types||F&&F.binding&&F.binding("util")}catch(t){}}(),D=k&&k.isTypedArray,B=D?R(D):function(t){return y(t)&&L(t.length)&&!!x[m(t)]},I=Object.prototype.hasOwnProperty;function q(t,e){var r=E(t),n=!r&&S(t),i=!r&&!n&&$(t),o=!r&&!n&&!i&&B(t),s=r||n||i||o,u=s?function(t,e){for(var r=-1,n=Array(t);++r<t;)n[r]=e(r);return n}(t.length,String):[],a=u.length;for(var l in t)!e&&!I.call(t,l)||s&&("length"==l||i&&("offset"==l||"parent"==l)||o&&("buffer"==l||"byteLength"==l||"byteOffset"==l)||C(l,a))||u.push(l);return u}var G,U,H=Object.prototype,Y=(G=Object.keys,U=Object,function(t){return G(U(t))}),z=Object.prototype.hasOwnProperty;function W(t){if(r=(e=t)&&e.constructor,e!==("function"==typeof r&&r.prototype||H))return Y(t);var e,r,n=[];for(var i in Object(t))z.call(t,i)&&"constructor"!=i&&n.push(i);return n}function Z(t){var e=typeof t;return null!=t&&("object"==e||"function"==e)}function V(t){if(!Z(t))return!1;var e=m(t);return"[object Function]"==e||"[object GeneratorFunction]"==e||"[object AsyncFunction]"==e||"[object Proxy]"==e}function J(t){return null!=t&&L(t.length)&&!V(t)}function X(t){return J(t)?q(t):W(t)}var K=function(t,e){return function(r,n){if(null==r)return r;if(!J(r))return t(r,n);for(var i=r.length,o=e?i:-1,s=Object(r);(e?o--:++o<i)&&!1!==n(s[o],o,s););return r}}(function(t,e){return t&&o(t,e,X)}),Q=K;function tt(t){return t}function et(t,e){var r;return(E(t)?i:Q)(t,"function"==typeof(r=e)?r:tt)}function rt(t,e){for(var r=-1,n=null==t?0:t.length,i=0,o=[];++r<n;){var s=t[r];e(s,r,t)&&(o[i++]=s)}return o}function nt(t,e){var r=[];return Q(t,function(t,n,i){e(t,n,i)&&r.push(t)}),r}function it(t,e){return t===e||t!=t&&e!=e}function ot(t,e){for(var r=t.length;r--;)if(it(t[r][0],e))return r;return-1}var st=Array.prototype.splice;function ut(t){var e=-1,r=null==t?0:t.length;for(this.clear();++e<r;){var n=t[e];this.set(n[0],n[1])}}ut.prototype.clear=function(){this.__data__=[],this.size=0},ut.prototype.delete=function(t){var e=this.__data__,r=ot(e,t);return!(r<0||(r==e.length-1?e.pop():st.call(e,r,1),--this.size,0))},ut.prototype.get=function(t){var e=this.__data__,r=ot(e,t);return r<0?void 0:e[r][1]},ut.prototype.has=function(t){return ot(this.__data__,t)>-1},ut.prototype.set=function(t,e){var r=this.__data__,n=ot(r,t);return n<0?(++this.size,r.push([t,e])):r[n][1]=e,this};var at,lt=a["__core-js_shared__"],ft=(at=/[^.]+$/.exec(lt&<.keys&<.keys.IE_PROTO||""))?"Symbol(src)_1."+at:"",ct=Function.prototype.toString;function dt(t){if(null!=t){try{return ct.call(t)}catch(t){}try{return t+""}catch(t){}}return""}var ht=/^\[object .+?Constructor\]$/,pt=Function.prototype,vt=Object.prototype,mt=pt.toString,yt=vt.hasOwnProperty,gt=RegExp("^"+mt.call(yt).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function wt(t){return!(!Z(t)||function(t){return!!ft&&ft in t}(t))&&(V(t)?gt:ht).test(dt(t))}function bt(t,e){var r=function(t,e){return null==t?void 0:t[e]}(t,e);return wt(r)?r:void 0}var Mt=bt(a,"Map"),_t=bt(Object,"create"),St=Object.prototype.hasOwnProperty,Et=Object.prototype.hasOwnProperty;function Ot(t){var e=-1,r=null==t?0:t.length;for(this.clear();++e<r;){var n=t[e];this.set(n[0],n[1])}}function jt(t,e){var r,n,i=t.__data__;return("string"==(n=typeof(r=e))||"number"==n||"symbol"==n||"boolean"==n?"__proto__"!==r:null===r)?i["string"==typeof e?"string":"hash"]:i.map}function Nt(t){var e=-1,r=null==t?0:t.length;for(this.clear();++e<r;){var n=t[e];this.set(n[0],n[1])}}function $t(t){var e=this.__data__=new ut(t);this.size=e.size}function At(t){var e=-1,r=null==t?0:t.length;for(this.__data__=new Nt;++e<r;)this.add(t[e])}function Ct(t,e){for(var r=-1,n=null==t?0:t.length;++r<n;)if(e(t[r],r,t))return!0;return!1}function Lt(t,e,r,n,i,o){var s=1&r,u=t.length,a=e.length;if(u!=a&&!(s&&a>u))return!1;var l=o.get(t),f=o.get(e);if(l&&f)return l==e&&f==t;var c=-1,d=!0,h=2&r?new At:void 0;for(o.set(t,e),o.set(e,t);++c<u;){var p=t[c],v=e[c];if(n)var m=s?n(v,p,c,e,t,o):n(p,v,c,t,e,o);if(void 0!==m){if(m)continue;d=!1;break}if(h){if(!Ct(e,function(t,e){if(s=e,!h.has(s)&&(p===t||i(p,t,r,n,o)))return h.push(e);var s})){d=!1;break}}else if(p!==v&&!i(p,v,r,n,o)){d=!1;break}}return o.delete(t),o.delete(e),d}Ot.prototype.clear=function(){this.__data__=_t?_t(null):{},this.size=0},Ot.prototype.delete=function(t){var e=this.has(t)&&delete this.__data__[t];return this.size-=e?1:0,e},Ot.prototype.get=function(t){var e=this.__data__;if(_t){var r=e[t];return"__lodash_hash_undefined__"===r?void 0:r}return St.call(e,t)?e[t]:void 0},Ot.prototype.has=function(t){var e=this.__data__;return _t?void 0!==e[t]:Et.call(e,t)},Ot.prototype.set=function(t,e){var r=this.__data__;return this.size+=this.has(t)?0:1,r[t]=_t&&void 0===e?"__lodash_hash_undefined__":e,this},Nt.prototype.clear=function(){this.size=0,this.__data__={hash:new Ot,map:new(Mt||ut),string:new Ot}},Nt.prototype.delete=function(t){var e=jt(this,t).delete(t);return this.size-=e?1:0,e},Nt.prototype.get=function(t){return jt(this,t).get(t)},Nt.prototype.has=function(t){return jt(this,t).has(t)},Nt.prototype.set=function(t,e){var r=jt(this,t),n=r.size;return r.set(t,e),this.size+=r.size==n?0:1,this},$t.prototype.clear=function(){this.__data__=new ut,this.size=0},$t.prototype.delete=function(t){var e=this.__data__,r=e.delete(t);return this.size=e.size,r},$t.prototype.get=function(t){return this.__data__.get(t)},$t.prototype.has=function(t){return this.__data__.has(t)},$t.prototype.set=function(t,e){var r=this.__data__;if(r instanceof ut){var n=r.__data__;if(!Mt||n.length<199)return n.push([t,e]),this.size=++r.size,this;r=this.__data__=new Nt(n)}return r.set(t,e),this.size=r.size,this},At.prototype.add=At.prototype.push=function(t){return this.__data__.set(t,"__lodash_hash_undefined__"),this},At.prototype.has=function(t){return this.__data__.has(t)};var xt=a.Uint8Array;function Rt(t){var e=-1,r=Array(t.size);return t.forEach(function(t,n){r[++e]=[n,t]}),r}function Pt(t){var e=-1,r=Array(t.size);return t.forEach(function(t){r[++e]=t}),r}var Tt=l?l.prototype:void 0,Ft=Tt?Tt.valueOf:void 0,kt=Object.prototype.propertyIsEnumerable,Dt=Object.getOwnPropertySymbols,Bt=Dt?function(t){return null==t?[]:(t=Object(t),rt(Dt(t),function(e){return kt.call(t,e)}))}:function(){return[]};function It(t){return function(t,e,r){var n=e(t);return E(t)?n:function(t,e){for(var r=-1,n=e.length,i=t.length;++r<n;)t[i+r]=e[r];return t}(n,r(t))}(t,X,Bt)}var qt=Object.prototype.hasOwnProperty,Gt=bt(a,"DataView"),Ut=bt(a,"Promise"),Ht=bt(a,"Set"),Yt=bt(a,"WeakMap"),zt="[object Map]",Wt="[object Promise]",Zt="[object Set]",Vt="[object WeakMap]",Jt="[object DataView]",Xt=dt(Gt),Kt=dt(Mt),Qt=dt(Ut),te=dt(Ht),ee=dt(Yt),re=m;(Gt&&re(new Gt(new ArrayBuffer(1)))!=Jt||Mt&&re(new Mt)!=zt||Ut&&re(Ut.resolve())!=Wt||Ht&&re(new Ht)!=Zt||Yt&&re(new Yt)!=Vt)&&(re=function(t){var e=m(t),r="[object Object]"==e?t.constructor:void 0,n=r?dt(r):"";if(n)switch(n){case Xt:return Jt;case Kt:return zt;case Qt:return Wt;case te:return Zt;case ee:return Vt}return e});var ne=re,ie="[object Arguments]",oe="[object Array]",se="[object Object]",ue=Object.prototype.hasOwnProperty;function ae(t,e,r,n,i,o){var s=E(t),u=E(e),a=s?oe:ne(t),l=u?oe:ne(e),f=(a=a==ie?se:a)==se,c=(l=l==ie?se:l)==se,d=a==l;if(d&&$(t)){if(!$(e))return!1;s=!0,f=!1}if(d&&!f)return o||(o=new $t),s||B(t)?Lt(t,e,r,n,i,o):function(t,e,r,n,i,o,s){switch(r){case"[object DataView]":if(t.byteLength!=e.byteLength||t.byteOffset!=e.byteOffset)return!1;t=t.buffer,e=e.buffer;case"[object ArrayBuffer]":return!(t.byteLength!=e.byteLength||!o(new xt(t),new xt(e)));case"[object Boolean]":case"[object Date]":case"[object Number]":return it(+t,+e);case"[object Error]":return t.name==e.name&&t.message==e.message;case"[object RegExp]":case"[object String]":return t==e+"";case"[object Map]":var u=Rt;case"[object Set]":var a=1&n;if(u||(u=Pt),t.size!=e.size&&!a)return!1;var l=s.get(t);if(l)return l==e;n|=2,s.set(t,e);var f=Lt(u(t),u(e),n,i,o,s);return s.delete(t),f;case"[object Symbol]":if(Ft)return Ft.call(t)==Ft.call(e)}return!1}(t,e,a,r,n,i,o);if(!(1&r)){var h=f&&ue.call(t,"__wrapped__"),p=c&&ue.call(e,"__wrapped__");if(h||p){var v=h?t.value():t,m=p?e.value():e;return o||(o=new $t),i(v,m,r,n,o)}}return!!d&&(o||(o=new $t),function(t,e,r,n,i,o){var s=1&r,u=It(t),a=u.length;if(a!=It(e).length&&!s)return!1;for(var l=a;l--;){var f=u[l];if(!(s?f in e:qt.call(e,f)))return!1}var c=o.get(t),d=o.get(e);if(c&&d)return c==e&&d==t;var h=!0;o.set(t,e),o.set(e,t);for(var p=s;++l<a;){var v=t[f=u[l]],m=e[f];if(n)var y=s?n(m,v,f,e,t,o):n(v,m,f,t,e,o);if(!(void 0===y?v===m||i(v,m,r,n,o):y)){h=!1;break}p||(p="constructor"==f)}if(h&&!p){var g=t.constructor,w=e.constructor;g==w||!("constructor"in t)||!("constructor"in e)||"function"==typeof g&&g instanceof g&&"function"==typeof w&&w instanceof w||(h=!1)}return o.delete(t),o.delete(e),h}(t,e,r,n,i,o))}function le(t,e,r,n,i){return t===e||(null==t||null==e||!y(t)&&!y(e)?t!=t&&e!=e:ae(t,e,r,n,le,i))}function fe(t){return t==t&&!Z(t)}function ce(t,e){return function(r){return null!=r&&r[t]===e&&(void 0!==e||t in Object(r))}}function de(t){var e=function(t){for(var e=X(t),r=e.length;r--;){var n=e[r],i=t[n];e[r]=[n,i,fe(i)]}return e}(t);return 1==e.length&&e[0][2]?ce(e[0][0],e[0][1]):function(r){return r===t||function(t,e,r,n){var i=r.length,o=i,s=!n;if(null==t)return!o;for(t=Object(t);i--;){var u=r[i];if(s&&u[2]?u[1]!==t[u[0]]:!(u[0]in t))return!1}for(;++i<o;){var a=(u=r[i])[0],l=t[a],f=u[1];if(s&&u[2]){if(void 0===l&&!(a in t))return!1}else{var c=new $t;if(n)var d=n(l,f,a,t,e,c);if(!(void 0===d?le(f,l,3,n,c):d))return!1}}return!0}(r,t,e)}}function he(t){return"symbol"==typeof t||y(t)&&"[object Symbol]"==m(t)}var pe=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,ve=/^\w*$/;function me(t,e){if(E(t))return!1;var r=typeof t;return!("number"!=r&&"symbol"!=r&&"boolean"!=r&&null!=t&&!he(t))||ve.test(t)||!pe.test(t)||null!=e&&t in Object(e)}function ye(t,e){if("function"!=typeof t||null!=e&&"function"!=typeof e)throw new TypeError("Expected a function");var r=function(){var n=arguments,i=e?e.apply(this,n):n[0],o=r.cache;if(o.has(i))return o.get(i);var s=t.apply(this,n);return r.cache=o.set(i,s)||o,s};return r.cache=new(ye.Cache||Nt),r}ye.Cache=Nt;var ge=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,we=/\\(\\)?/g,be=function(t){var e=ye(t,function(t){return 500===r.size&&r.clear(),t}),r=e.cache;return e}(function(t){var e=[];return 46===t.charCodeAt(0)&&e.push(""),t.replace(ge,function(t,r,n,i){e.push(n?i.replace(we,"$1"):r||t)}),e}),Me=be;function _e(t,e){for(var r=-1,n=null==t?0:t.length,i=Array(n);++r<n;)i[r]=e(t[r],r,t);return i}var Se=l?l.prototype:void 0,Ee=Se?Se.toString:void 0;function Oe(t){if("string"==typeof t)return t;if(E(t))return _e(t,Oe)+"";if(he(t))return Ee?Ee.call(t):"";var e=t+"";return"0"==e&&1/t==-1/0?"-0":e}function je(t){return null==t?"":Oe(t)}function Ne(t,e){return E(t)?t:me(t,e)?[t]:Me(je(t))}function $e(t){if("string"==typeof t||he(t))return t;var e=t+"";return"0"==e&&1/t==-1/0?"-0":e}function Ae(t,e){for(var r=0,n=(e=Ne(e,t)).length;null!=t&&r<n;)t=t[$e(e[r++])];return r&&r==n?t:void 0}function Ce(t,e,r){var n=null==t?void 0:Ae(t,e);return void 0===n?r:n}function Le(t,e){return null!=t&&e in Object(t)}function xe(t,e){return null!=t&&function(t,e,r){for(var n=-1,i=(e=Ne(e,t)).length,o=!1;++n<i;){var s=$e(e[n]);if(!(o=null!=t&&r(t,s)))break;t=t[s]}return o||++n!=i?o:!!(i=null==t?0:t.length)&&L(i)&&C(s,i)&&(E(t)||S(t))}(t,e,Le)}function Re(t){return function(e){return null==e?void 0:e[t]}}function Pe(t){return me(t)?Re($e(t)):function(t){return function(e){return Ae(e,t)}}(t)}function Te(t){return"function"==typeof t?t:null==t?tt:"object"==typeof t?E(t)?function(t,e){return me(t)&&fe(e)?ce($e(t),e):function(r){var n=Ce(r,t);return void 0===n&&n===e?xe(r,t):le(e,n,3)}}(t[0],t[1]):de(t):Pe(t)}function Fe(t,e){return(E(t)?rt:nt)(t,Te(e))}function ke(t){var e=null==t?0:t.length;return e?t[e-1]:void 0}function De(t,e){var r=-1,n=J(t)?Array(t.length):[];return Q(t,function(t,i,o){n[++r]=e(t,i,o)}),n}var Be=Re("length"),Ie=RegExp("[\\u200d\\ud800-\\udfff\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff\\ufe0e\\ufe0f]");function qe(t){return Ie.test(t)}var Ge="\\ud800-\\udfff",Ue="["+Ge+"]",He="[\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff]",Ye="\\ud83c[\\udffb-\\udfff]",ze="[^"+Ge+"]",We="(?:\\ud83c[\\udde6-\\uddff]){2}",Ze="[\\ud800-\\udbff][\\udc00-\\udfff]",Ve="(?:"+He+"|"+Ye+")?",Je="[\\ufe0e\\ufe0f]?",Xe=Je+Ve+"(?:\\u200d(?:"+[ze,We,Ze].join("|")+")"+Je+Ve+")*",Ke="(?:"+[ze+He+"?",He,We,Ze,Ue].join("|")+")",Qe=RegExp(Ye+"(?="+Ye+")|"+Ke+Xe,"g");function tr(t){return qe(t)?function(t){for(var e=Qe.lastIndex=0;Qe.test(t);)++e;return e}(t):Be(t)}function er(t){if(null==t)return 0;if(J(t))return"string"==typeof(e=t)||!E(e)&&y(e)&&"[object String]"==m(e)?tr(t):t.length;var e,r=ne(t);return"[object Map]"==r||"[object Set]"==r?t.size:W(t).length}function rr(t,e={}){let r=Ce(e,"fs"),n=!1;try{r.statSync(t),n=!0}catch{n=!1}return n}function nr(t){return function(t,e={}){let r=Ce(e,"fs");return!!rr(t,{fs:r})&&!r.lstatSync(t).isDirectory()&&!r.lstatSync(t).isSymbolicLink()}(t,{fs:e})}function ir(t){let r=null,n=function(t,e={}){let r=null,n=Ce(e,"fs"),i="";try{i=n.readFileSync(t,"utf8")}catch(t){r=t}return null!==r?{error:r}:{success:i}}(t,{fs:e});if(n.error)return n;let i=n.success,o=null;try{o=JSON.parse(i)}catch(t){r=t}return null!==r?{error:r}:{success:o}}var or=/\s/,sr=/^\s+/;function ur(t){return t?t.slice(0,function(t){for(var e=t.length;e--&&or.test(t.charAt(e)););return e}(t)+1).replace(sr,""):t}var ar=/^[-+]0x[0-9a-f]+$/i,lr=/^0b[01]+$/i,fr=/^0o[0-7]+$/i,cr=parseInt;function dr(t){if("number"==typeof t)return t;if(he(t))return NaN;if(Z(t)){var e="function"==typeof t.valueOf?t.valueOf():t;t=Z(e)?e+"":e}if("string"!=typeof t)return 0===t?t:+t;t=ur(t);var r=lr.test(t);return r||fr.test(t)?cr(t.slice(2),r?2:8):ar.test(t)?NaN:+t}var hr=1/0;function pr(t){return t?(t=dr(t))===hr||t===-1/0?17976931348623157e292*(t<0?-1:1):t==t?t:0:0===t?t:0}function vr(t){var e=pr(t),r=e%1;return e==e?r?e-r:e:0}function mr(t){return!0===(e=t)||!1===e||y(e)&&"[object Boolean]"==m(e);var e}function yr(t){return"[object String]"===Object.prototype.toString.call(t)}function gr(t){return!(!yr(t)||""===t)}function wr(t){return t!=t}function br(t){let e=!1;if(gr(t))e=!isNaN(Number(t));else if(function(t){return"[object Number]"===Object.prototype.toString.call(t)}(t)){if(wr(t))return!1;e=!0}return e}function Mr(t){return br(t)?pr(t):0}function _r(t,e={}){let r=Ce(e,"useLimitSafe",null);return mr(r)||(r=!1),!!br(t)&&(t=Mr(t),r?Number.isSafeInteger(t):"number"==typeof(n=t)&&n==vr(n));var n}var Sr=a.isFinite,Er=Math.min,Or=function(){var t=Math.round;return function(e,r){if(e=dr(e),(r=null==r?0:Er(vr(r),292))&&Sr(e)){var n=(je(e)+"e").split("e");return+((n=(je(t(n[0]+"e"+(+n[1]+r)))+"e").split("e"))[0]+"e"+(+n[1]-r))}return t(e)}}(),jr=Or;function Nr(t,e={}){let r=Ce(e,"useClampSafe",null);mr(r)||(r=!1);let n=Ce(e,"useLimitSafe",null);mr(n)||(n=!1);let i=Ce(e,"returnWithStateAndMsg",null);mr(i)||(i=!1);let o=t=>i?{state:"success",msg:t}:t,s=t=>{if(i)return{state:"error",msg:t};throw new Error(t)};if(!br(t))return o(0);let u=null;try{t=Mr(t),u=jr(t),r&&(u>Number.MAX_SAFE_INTEGER?u=Number.MAX_SAFE_INTEGER:u<Number.MIN_SAFE_INTEGER&&(u=Number.MIN_SAFE_INTEGER))}catch(t){return s(t.toString())}return n&&!Number.isSafeInteger(Number(u))?s(`v[${t}] is not a safe integer`):("0"===String(u)&&(u=0),o(u))}function $r(t,e={}){let r=Ce(e,"fs");if(!rr(t,{fs:r}))return!1;let n=r.lstatSync(t);return!n.isFile()&&!n.isSymbolicLink()}function Ar(t,e=1,r={}){let n=1,i=Ce(r,"path"),o=Ce(r,"fs");if(!$r(t,{fs:o}))throw new Error(`fd[${t}] is not a folder`);return null!==e&&function(t,e={}){return!!_r(t,e)&&Nr(t)>0}(e)&&(e=Nr(e))<1&&(e=1),function t(r){let s=[];return $r(r,{fs:o})?(et(o.readdirSync(r),function(u){let a=i.resolve(r,u),l=null;try{l=o.statSync(a)}catch(t){}l&&l.isDirectory()?(s.push({isFolder:!0,level:n,path:a,name:i.basename(a)}),n+=1,(n<=e||null===e)&&(s=s.concat(t(a))),n-=1):s.push({isFolder:!1,level:n,path:a,name:i.basename(a)})}),s):s}(t)}function Cr(r,n=1){return Ar(r,n,{path:t,fs:e})}function Lr(t,e,r){var n=-1,i=t.length;e<0&&(e=-e>i?0:i+e),(r=r>i?i:r)<0&&(r+=i),i=e>r?0:r-e>>>0,e>>>=0;for(var o=Array(i);++n<i;)o[n]=t[n+e];return o}var xr=k&&k.isRegExp,Rr=xr?R(xr):function(t){return y(t)&&"[object RegExp]"==m(t)},Pr="\\ud800-\\udfff",Tr="["+Pr+"]",Fr="[\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff]",kr="\\ud83c[\\udffb-\\udfff]",Dr="[^"+Pr+"]",Br="(?:\\ud83c[\\udde6-\\uddff]){2}",Ir="[\\ud800-\\udbff][\\udc00-\\udfff]",qr="(?:"+Fr+"|"+kr+")?",Gr="[\\ufe0e\\ufe0f]?",Ur=Gr+qr+"(?:\\u200d(?:"+[Dr,Br,Ir].join("|")+")"+Gr+qr+")*",Hr="(?:"+[Dr+Fr+"?",Fr,Br,Ir,Tr].join("|")+")",Yr=RegExp(kr+"(?="+kr+")|"+Hr+Ur,"g");function zr(t){return qe(t)?function(t){return t.match(Yr)||[]}(t):function(t){return t.split("")}(t)}function Wr(t,e,r){return r&&"number"!=typeof r&&function(t,e,r){if(!Z(r))return!1;var n=typeof e;return!!("number"==n?J(r)&&C(e,r.length):"string"==n&&e in r)&&it(r[e],t)}(t,e,r)&&(e=r=void 0),(r=void 0===r?4294967295:r>>>0)?(t=je(t))&&("string"==typeof e||null!=e&&!Rr(e))&&!(e=Oe(e))&&qe(t)?(i=0,o=r,s=(n=zr(t)).length,o=void 0===o?s:o,!i&&o>=s?n:Lr(n,i,o)):t.split(e,r):[];var n,i,o,s}function Zr(t,e={}){return!!_r(t,e)&&Nr(t)>=0}function Vr(t,e){if(!gr(t))return"";if(!Zr(e))return"";if(0===(e=Nr(e)))return"";let r=t.length-e;return r<0&&(r=0),t.substring(r,r+e)}function Jr(t,e){return gr(t)&&Zr(e)?0===(e=Nr(e))?t:function(t,e){return gr(t)&&Zr(e)?0===(e=Nr(e))?"":t.substring(0,e):""}(t,t.length-e):""}function Xr(t){if(!gr(t))return"";let e=function(t){if(!gr(t))return{path:"",isRoot:!1};for(;t.indexOf("\\\\")>=0;)t=t.replace("\\\\","\\");for(;t.indexOf("//")>=0;)t=t.replace("//","/");if(":"===Vr(t,1))return{path:`${t}\\`,isRoot:!0};if("\\"===Vr(t,1)){let e=Jr(t,1);return":"===Vr(e,1)?{path:t,isRoot:!0}:{path:e,isRoot:!1}}if("/"===Vr(t,1)){let e=Jr(t,1);return 0===e.length?{path:t,isRoot:!0}:{path:e,isRoot:!1}}return{path:t,isRoot:!1}}(t);if(e.isRoot)return e.path;let r=e.path;try{r=r.split("\\").pop().split("/").pop()}catch(t){}return r}var Kr=Array.prototype.join;function Qr(t){if(!gr(t))return"";let e=Xr(t),r=Wr(e,".");if(er(r)<=1)return e;let n="";try{r=(u=null==(i=r)?0:i.length)?Lr(i,0,(o=u-(o=s||void 0===o?1:vr(o)))<0?0:o):[],n=function(t,e){return null==t?"":Kr.call(t,e)}(r,".")}catch(t){}var i,o,s,u;return n}function tn(t){return"[object Object]"===Object.prototype.toString.call(t)}function en(t,e){return!!tn(t)&&!(!gr(e)&&!br(e))&&e in t}function rn(t){return"[object Array]"===Object.prototype.toString.call(t)}function nn(t){return!!(function(t){return"[object Undefined]"===Object.prototype.toString.call(t)}(t)||function(t){return"[object Null]"===Object.prototype.toString.call(t)}(t)||function(t){if(tn(t)){for(let e in t)return!1;return!0}return!1}(t)||function(t){return!(!yr(t)||""!==t)}(t)||function(t){return!!rn(t)&&0===t.length}(t)||wr(t))}function on(t){return!(!rn(t)||0===t.length||1===t.length&&nn(t[0]))}function sn(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t}var un={exports:{}};!function(t){t.exports=function(){var t=1e3,e=6e4,r=36e5,n="millisecond",i="second",o="minute",s="hour",u="day",a="week",l="month",f="quarter",c="year",d="date",h="Invalid Date",p=/^(\d{4})[-/]?(\d{1,2})?[-/]?(\d{0,2})[Tt\s]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?[.:]?(\d+)?$/,v=/\[([^\]]+)]|YYYY|YY|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,m={name:"en",weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),ordinal:function(t){var e=["th","st","nd","rd"],r=t%100;return"["+t+(e[(r-20)%10]||e[r]||e[0])+"]"}},y=function(t,e,r){var n=String(t);return!n||n.length>=e?t:""+Array(e+1-n.length).join(r)+t},g={s:y,z:function(t){var e=-t.utcOffset(),r=Math.abs(e),n=Math.floor(r/60),i=r%60;return(e<=0?"+":"-")+y(n,2,"0")+":"+y(i,2,"0")},m:function t(e,r){if(e.date()<r.date())return-t(r,e);var n=12*(r.year()-e.year())+(r.month()-e.month()),i=e.clone().add(n,l),o=r-i<0,s=e.clone().add(n+(o?-1:1),l);return+(-(n+(r-i)/(o?i-s:s-i))||0)},a:function(t){return t<0?Math.ceil(t)||0:Math.floor(t)},p:function(t){return{M:l,y:c,w:a,d:u,D:d,h:s,m:o,s:i,ms:n,Q:f}[t]||String(t||"").toLowerCase().replace(/s$/,"")},u:function(t){return void 0===t}},w="en",b={};b[w]=m;var M="$isDayjsObject",_=function(t){return t instanceof j||!(!t||!t[M])},S=function t(e,r,n){var i;if(!e)return w;if("string"==typeof e){var o=e.toLowerCase();b[o]&&(i=o),r&&(b[o]=r,i=o);var s=e.split("-");if(!i&&s.length>1)return t(s[0])}else{var u=e.name;b[u]=e,i=u}return!n&&i&&(w=i),i||!n&&w},E=function(t,e){if(_(t))return t.clone();var r="object"==typeof e?e:{};return r.date=t,r.args=arguments,new j(r)},O=g;O.l=S,O.i=_,O.w=function(t,e){return E(t,{locale:e.$L,utc:e.$u,x:e.$x,$offset:e.$offset})};var j=function(){function m(t){this.$L=S(t.locale,null,!0),this.parse(t),this.$x=this.$x||t.x||{},this[M]=!0}var y=m.prototype;return y.parse=function(t){this.$d=function(t){var e=t.date,r=t.utc;if(null===e)return new Date(NaN);if(O.u(e))return new Date;if(e instanceof Date)return new Date(e);if("string"==typeof e&&!/Z$/i.test(e)){var n=e.match(p);if(n){var i=n[2]-1||0,o=(n[7]||"0").substring(0,3);return r?new Date(Date.UTC(n[1],i,n[3]||1,n[4]||0,n[5]||0,n[6]||0,o)):new Date(n[1],i,n[3]||1,n[4]||0,n[5]||0,n[6]||0,o)}}return new Date(e)}(t),this.init()},y.init=function(){var t=this.$d;this.$y=t.getFullYear(),this.$M=t.getMonth(),this.$D=t.getDate(),this.$W=t.getDay(),this.$H=t.getHours(),this.$m=t.getMinutes(),this.$s=t.getSeconds(),this.$ms=t.getMilliseconds()},y.$utils=function(){return O},y.isValid=function(){return!(this.$d.toString()===h)},y.isSame=function(t,e){var r=E(t);return this.startOf(e)<=r&&r<=this.endOf(e)},y.isAfter=function(t,e){return E(t)<this.startOf(e)},y.isBefore=function(t,e){return this.endOf(e)<E(t)},y.$g=function(t,e,r){return O.u(t)?this[e]:this.set(r,t)},y.unix=function(){return Math.floor(this.valueOf()/1e3)},y.valueOf=function(){return this.$d.getTime()},y.startOf=function(t,e){var r=this,n=!!O.u(e)||e,f=O.p(t),h=function(t,e){var i=O.w(r.$u?Date.UTC(r.$y,e,t):new Date(r.$y,e,t),r);return n?i:i.endOf(u)},p=function(t,e){return O.w(r.toDate()[t].apply(r.toDate("s"),(n?[0,0,0,0]:[23,59,59,999]).slice(e)),r)},v=this.$W,m=this.$M,y=this.$D,g="set"+(this.$u?"UTC":"");switch(f){case c:return n?h(1,0):h(31,11);case l:return n?h(1,m):h(0,m+1);case a:var w=this.$locale().weekStart||0,b=(v<w?v+7:v)-w;return h(n?y-b:y+(6-b),m);case u:case d:return p(g+"Hours",0);case s:return p(g+"Minutes",1);case o:return p(g+"Seconds",2);case i:return p(g+"Milliseconds",3);default:return this.clone()}},y.endOf=function(t){return this.startOf(t,!1)},y.$set=function(t,e){var r,a=O.p(t),f="set"+(this.$u?"UTC":""),h=(r={},r[u]=f+"Date",r[d]=f+"Date",r[l]=f+"Month",r[c]=f+"FullYear",r[s]=f+"Hours",r[o]=f+"Minutes",r[i]=f+"Seconds",r[n]=f+"Milliseconds",r)[a],p=a===u?this.$D+(e-this.$W):e;if(a===l||a===c){var v=this.clone().set(d,1);v.$d[h](p),v.init(),this.$d=v.set(d,Math.min(this.$D,v.daysInMonth())).$d}else h&&this.$d[h](p);return this.init(),this},y.set=function(t,e){return this.clone().$set(t,e)},y.get=function(t){return this[O.p(t)]()},y.add=function(n,f){var d,h=this;n=Number(n);var p=O.p(f),v=function(t){var e=E(h);return O.w(e.date(e.date()+Math.round(t*n)),h)};if(p===l)return this.set(l,this.$M+n);if(p===c)return this.set(c,this.$y+n);if(p===u)return v(1);if(p===a)return v(7);var m=(d={},d[o]=e,d[s]=r,d[i]=t,d)[p]||1,y=this.$d.getTime()+n*m;return O.w(y,this)},y.subtract=function(t,e){return this.add(-1*t,e)},y.format=function(t){var e=this,r=this.$locale();if(!this.isValid())return r.invalidDate||h;var n=t||"YYYY-MM-DDTHH:mm:ssZ",i=O.z(this),o=this.$H,s=this.$m,u=this.$M,a=r.weekdays,l=r.months,f=r.meridiem,c=function(t,r,i,o){return t&&(t[r]||t(e,n))||i[r].slice(0,o)},d=function(t){return O.s(o%12||12,t,"0")},p=f||function(t,e,r){var n=t<12?"AM":"PM";return r?n.toLowerCase():n};return n.replace(v,function(t,n){return n||function(t){switch(t){case"YY":return String(e.$y).slice(-2);case"YYYY":return O.s(e.$y,4,"0");case"M":return u+1;case"MM":return O.s(u+1,2,"0");case"MMM":return c(r.monthsShort,u,l,3);case"MMMM":return c(l,u);case"D":return e.$D;case"DD":return O.s(e.$D,2,"0");case"d":return String(e.$W);case"dd":return c(r.weekdaysMin,e.$W,a,2);case"ddd":return c(r.weekdaysShort,e.$W,a,3);case"dddd":return a[e.$W];case"H":return String(o);case"HH":return O.s(o,2,"0");case"h":return d(1);case"hh":return d(2);case"a":return p(o,s,!0);case"A":return p(o,s,!1);case"m":return String(s);case"mm":return O.s(s,2,"0");case"s":return String(e.$s);case"ss":return O.s(e.$s,2,"0");case"SSS":return O.s(e.$ms,3,"0");case"Z":return i}return null}(t)||i.replace(":","")})},y.utcOffset=function(){return 15*-Math.round(this.$d.getTimezoneOffset()/15)},y.diff=function(n,d,h){var p,v=this,m=O.p(d),y=E(n),g=(y.utcOffset()-this.utcOffset())*e,w=this-y,b=function(){return O.m(v,y)};switch(m){case c:p=b()/12;break;case l:p=b();break;case f:p=b()/3;break;case a:p=(w-g)/6048e5;break;case u:p=(w-g)/864e5;break;case s:p=w/r;break;case o:p=w/e;break;case i:p=w/t;break;default:p=w}return h?p:O.a(p)},y.daysInMonth=function(){return this.endOf(l).$D},y.$locale=function(){return b[this.$L]},y.locale=function(t,e){if(!t)return this.$L;var r=this.clone(),n=S(t,e,!0);return n&&(r.$L=n),r},y.clone=function(){return O.w(this.$d,this)},y.toDate=function(){return new Date(this.valueOf())},y.toJSON=function(){return this.isValid()?this.toISOString():null},y.toISOString=function(){return this.$d.toISOString()},y.toString=function(){return this.$d.toUTCString()},m}(),N=j.prototype;return E.prototype=N,[["$ms",n],["$s",i],["$m",o],["$H",s],["$W",u],["$M",l],["$y",c],["$D",d]].forEach(function(t){N[t[1]]=function(e){return this.$g(e,t[0],t[1])}}),E.extend=function(t,e){return t.$i||(t(e,j,E),t.$i=!0),E},E.locale=S,E.isDayjs=_,E.unix=function(t){return E(1e3*t)},E.en=b[w],E.Ls=b,E.p={},E}()}(un);var an=sn(un.exports);function ln(t){if(!gr(t))return!1;let e="YYYY-MM-DDTHH:mm:ss";return t===an(t,e).format(e)}function fn(t){return V(t)}function cn(t,e){let r=function(){let t,e,r=new Promise(function(){t=arguments[0],e=arguments[1]});return r.resolve=t,r.reject=e,r}();if(!rn(t)&&!tn(t))return r.reject("rs is not an array or object"),r;let n=!1;if(tn(t)){n=!0;let e=[];et(t,(t,r)=>{e.push({k:r,v:t})}),t=e}fn(e)||(e=function(t){return t});let i=-1,o=[];return t.reduce(function(t,r){return t.then(function(t){o.push(t),i+=1;let s=i,u=r;return n&&(s=r.k,u=r.v),fn(e)?e(u,s):u})},Promise.resolve()).then(function(t){var e,n,i;o.push(t),i=null==(e=o)?0:e.length,o=i?Lr(e,(n=void 0===n?1:vr(n))<0?0:n,i):[],r.resolve(o)}).catch(function(t){r.reject(t)}),r}return(e,r)=>{let n={},i=async i=>{if(en(n,i))return n[i];let o=await(async n=>{let i=t.resolve(r,`${n}.json`),o=t.resolve(e,`${n}.json`),s="";if(nr(i))s=i;else{if(!nr(o))throw console.log(`fpParam[${i}] or fpOhlc[${o}] do not exist`),new Error(`invalid key[${n}]`);s=o}let u=Ce(ir(s),"success",null);if(!on(u))throw new Error(`fp[${s}] no data`);return u})(i);return n[i]=o,o},o=[],s=async()=>{if(er(o)>0)return o;let t=t=>{let e=Cr(t);return e=Fe(e,t=>"json"===function(t){if(!gr(t))return"";let e=Wr(Xr(t),".");if(er(e)<=1)return"";let r="";try{r=ke(e)}catch(t){}return r}(t.name)),e},n=[],s=t(e);await cn(s,async t=>{let e=Qr(t.name),r=await i(e);n.push({type:"ohlc",key:e,arr:r})});let u=t(r);return await cn(u,async t=>{let e=Qr(t.name),r=await i(e);n.push({type:"param",key:e,arr:r})}),o=n,n},u={},a=async(t,e)=>{if(!ln(t))throw new Error("invalid timeStart");if(!ln(e))throw new Error("invalid timeEnd");let r=`${t}:${e}`;if(en(u,r))return u[r];let n=await s(),i="1000-01-01T00:00:00",o="9999-01-01T00:00:00";if(et(n,t=>{let e=(r=t.arr)&&r.length?r[0]:void 0;var r;let n=ke(t.arr),s=Ce(e,"time",""),u=Ce(n,"time","");"ohlc"===t.type&&i<s&&(i=s),o>u&&(o=u)}),t<i)throw new Error(`timeStart[${t}] < timeStartData[${i}]`);if(e>o)throw new Error(`timeEnd[${e}] > timeEndData[${o}]`);let a=[];return et(n,r=>{let n=Fe(r.arr,r=>r.time>=t&&r.time<=e);a.push({key:r.key,arr:n})}),u[r]=a,a},l={getKeysParam:()=>{let t=Cr(r);var e,n;return n=t=>Qr(t.name),(E(e=t)?_e:De)(e,Te(n))},getTimeSeries:i,getTimeSeriesByTimeRange:async(t,e,r)=>{let n=await i(t);return n=Fe(n,t=>t.time>=e&&t.time<=r),n},getTimeSeriesFull:s,getTimeSeriesFullByTimeRange:a,buildGetTimeSeriesByTimeRange:async(t,e)=>{let r=await a(t,e),n={};return et(r,t=>{n[t.key]=t.arr}),async r=>{let i=Ce(n,r,[]);if(!on(i))throw new Error(`can not get series by key[${r}] bewteen timeStart[${t}] and timeEnd[${e}]`);return i}},buildGetTimeValueByTimeRange:async(t,e)=>{let r=await a(t,e),n={};return et(r,t=>{et(t.arr,e=>{let r=`${t.key}_${e.time}`;n[r]=e})}),async(r,i)=>{let o=Ce(n,`${r}_${i}`,{});if(!function(t){if(tn(t)){for(let e in t)return!0;return!1}return!1}(o))throw new Error(`can not get value by key[${r}] and time[${i}] bewteen timeStart[${t}] and timeEnd[${e}]`);return o}}};return l}}(t,e)}(mn,mn.exports);var yn=vn(mn.exports);function gn(t,e={}){if(!Ur(t,e))return!1;return xr(t)>=0}function wn(t,e=0){if(!Cr(t))return"";if(!gn(e))return"";return t=Lr(t),Nr(t,e).toFixed(e)}function bn(t,e={}){let r=at(e,"fs"),n=!1;try{r.statSync(t),n=!0}catch{n=!1}return n}function Mn(t,e={}){let r=at(e,"fs");if(!bn(t,{fs:r}))return!1;let n=r.lstatSync(t);return!n.isFile()&&!n.isSymbolicLink()}function _n(t,e={}){let r=at(e,"fs");if(Mn(t,{fs:r}))return{success:"input folder is already exists: "+t};if(bn(t,{fs:r}))return{error:"input path already exists: "+t};try{r.mkdirSync(t,{recursive:!0})}catch(t){return{error:t}}return{success:"done: "+t}}function Sn(t){return function(t,e={}){let r=at(e,"fs");return!!bn(t,{fs:r})&&!r.lstatSync(t).isDirectory()&&!r.lstatSync(t).isSymbolicLink()}(t,{fs:e})}function En(t){return Mn(t,{fs:e})}function On(t){let r=null,n=function(t,e={}){let r=null,n=at(e,"fs"),i="";try{i=n.readFileSync(t,"utf8")}catch(t){r=t}return null!==r?{error:r}:{success:i}}(t,{fs:e});if(n.error)return n;let i=n.success,o=null;try{o=JSON.parse(i)}catch(t){r=t}return null!==r?{error:r}:{success:o}}function jn(t){return"[object Object]"===Object.prototype.toString.call(t)}function Nn(t){return"[object Array]"===Object.prototype.toString.call(t)}function $n(t,e){if(!Wt(t))return"";if(!gn(e))return"";if(0===(e=xr(e)))return"";let r=t.length-e;return r<0&&(r=0),t.substring(r,r+e)}function An(t,e){return Wt(t)&&gn(e)?0===(e=xr(e))?t:function(t,e){return Wt(t)&&gn(e)?0===(e=xr(e))?"":t.substring(0,e):""}(t,t.length-e):""}function Cn(t){if(!Wt(t))return{path:"",isRoot:!1};for(;t.indexOf("\\\\")>=0;)t=t.replace("\\\\","\\");for(;t.indexOf("//")>=0;)t=t.replace("//","/");if(":"===$n(t,1))return{path:`${t}\\`,isRoot:!0};if("\\"===$n(t,1)){let e=An(t,1);return":"===$n(e,1)?{path:t,isRoot:!0}:{path:e,isRoot:!1}}if("/"===$n(t,1)){let e=An(t,1);return 0===e.length?{path:t,isRoot:!0}:{path:e,isRoot:!1}}return{path:t,isRoot:!1}}function Ln(t){if(!Wt(t))return"";let e=Cn(t);if(e.isRoot)return e.path;let r=function(t){if(!Wt(t))return"";let e=Cn(t);if(e.isRoot)return e.path;let r=e.path;try{r=r.split("\\").pop().split("/").pop()}catch(t){}return r}(t=e.path);if(!Wt(r))return t;let n=Cn(t=An(t,r.length));return n.isRoot,n.path}function xn(t,r,n={}){let i=null;if(!jn(r)&&!Nn(r))return{error:"inp is not an object or array"};let o=at(n,"useFormat",null);$r(o)||(o=!1);let s="";try{s=o?JSON.stringify(r,null,2):JSON.stringify(r)}catch(t){i=t}if(null!==i)return{error:i};let u=function(t,e,r={}){let n=null,i=at(r,"fs"),o=Ln(t);Mn(o,{fs:i})||_n(o,{fs:i});try{i.writeFileSync(t,e,"utf8")}catch(t){n=t}return null!==n?{error:n}:{success:t}}(t,s,{fs:e});return u}function Rn(t){return!!function(t){return"[object Undefined]"===Object.prototype.toString.call(t)}(t)||(!!function(t){return"[object Null]"===Object.prototype.toString.call(t)}(t)||(!!function(t){if(jn(t)){for(let e in t)return!1;return!0}return!1}(t)||(!!function(t){return!(!zt(t)||""!==t)}(t)||(!!function(t){return!!Nn(t)&&0===t.length}(t)||!!Ar(t)))))}function Pn(t){return!!Nn(t)&&(0!==t.length&&(1!==t.length||!Rn(t[0])))}function Tn(t,e,r=2){if(!Cr(t))return[];if(t=Lr(t),!Cr(e))return[];if(e=Lr(e),Hr(r)||(r=2),(r=xr(r))<=0)throw new Error(`num[${r}] <= 0`);let n=(e-t)/r,i=t,o=[];for(let t=0;t<=r;t++)o.push(i),i+=n;return o}
|
|
12
12
|
/*!
|
|
13
13
|
* decimal.js v10.6.0
|
|
14
14
|
* An arbitrary-precision Decimal type for JavaScript.
|
|
15
15
|
* https://github.com/MikeMcl/decimal.js
|
|
16
16
|
* Copyright (c) 2025 Michael Mclaughlin <M8ch88l@gmail.com>
|
|
17
17
|
* MIT Licence
|
|
18
|
-
*/var Fn,kn,Dn=9e15,Bn=1e9,In="0123456789abcdef",qn="2.3025850929940456840179914546843642076011014886287729760333279009675726096773524802359972050895982983419677840422862486334095254650828067566662873690987816894829072083255546808437998948262331985283935053089653777326288461633662222876982198867465436674744042432743651550489343149393914796194044002221051017141748003688084012647080685567743216228355220114804663715659121373450747856947683463616792101806445070648000277502684916746550586856935673420670581136429224554405758925724208241314695689016758940256776311356919292033376587141660230105703089634572075440370847469940168269282808481184289314848524948644871927809676271275775397027668605952496716674183485704422507197965004714951050492214776567636938662976979522110718264549734772662425709429322582798502585509785265383207606726317164309505995087807523710333101197857547331541421808427543863591778117054309827482385045648019095610299291824318237525357709750539565187697510374970888692180205189339507238539205144634197265287286965110862571492198849978748873771345686209167058",Gn="3.1415926535897932384626433832795028841971693993751058209749445923078164062862089986280348253421170679821480865132823066470938446095505822317253594081284811174502841027019385211055596446229489549303819644288109756659334461284756482337867831652712019091456485669234603486104543266482133936072602491412737245870066063155881748815209209628292540917153643678925903600113305305488204665213841469519415116094330572703657595919530921861173819326117931051185480744623799627495673518857527248912279381830119491298336733624406566430860213949463952247371907021798609437027705392171762931767523846748184676694051320005681271452635608277857713427577896091736371787214684409012249534301465495853710507922796892589235420199561121290219608640344181598136297747713099605187072113499999983729780499510597317328160963185950244594553469083026425223082533446850352619311881710100031378387528865875332083814206171776691473035982534904287554687311595628638823537875937519577818577805321712268066130019278766111959092164201989380952572010654858632789",Un={precision:20,rounding:4,modulo:1,toExpNeg:-7,toExpPos:21,minE:-Dn,maxE:Dn,crypto:!1},Hn=!0,Yn="[DecimalError] ",zn=Yn+"Invalid argument: ",Wn=Yn+"Precision limit exceeded",Zn=Yn+"crypto unavailable",Vn="[object Decimal]",Jn=Math.floor,Xn=Math.pow,Kn=/^0b([01]+(\.[01]*)?|\.[01]+)(p[+-]?\d+)?$/i,Qn=/^0x([0-9a-f]+(\.[0-9a-f]*)?|\.[0-9a-f]+)(p[+-]?\d+)?$/i,ti=/^0o([0-7]+(\.[0-7]*)?|\.[0-7]+)(p[+-]?\d+)?$/i,ei=/^(\d+(\.\d*)?|\.\d+)(e[+-]?\d+)?$/i,ri=1e7,ni=qn.length-1,ii=Gn.length-1,oi={toStringTag:Vn};function si(t){var e,r,n,i=t.length-1,o="",s=t[0];if(i>0){for(o+=s,e=1;e<i;e++)(r=7-(n=t[e]+"").length)&&(o+=yi(r)),o+=n;(r=7-(n=(s=t[e])+"").length)&&(o+=yi(r))}else if(0===s)return"0";for(;s%10==0;)s/=10;return o+s}function ui(t,e,r){if(t!==~~t||t<e||t>r)throw Error(zn+t)}function ai(t,e,r,n){var i,o,s,u;for(o=t[0];o>=10;o/=10)--e;return--e<0?(e+=7,i=0):(i=Math.ceil((e+1)/7),e%=7),o=Xn(10,7-e),u=t[i]%o|0,null==n?e<3?(0==e?u=u/100|0:1==e&&(u=u/10|0),s=r<4&&99999==u||r>3&&49999==u||5e4==u||0==u):s=(r<4&&u+1==o||r>3&&u+1==o/2)&&(t[i+1]/o/100|0)==Xn(10,e-2)-1||(u==o/2||0==u)&&!(t[i+1]/o/100|0):e<4?(0==e?u=u/1e3|0:1==e?u=u/100|0:2==e&&(u=u/10|0),s=(n||r<4)&&9999==u||!n&&r>3&&4999==u):s=((n||r<4)&&u+1==o||!n&&r>3&&u+1==o/2)&&(t[i+1]/o/1e3|0)==Xn(10,e-3)-1,s}function li(t,e,r){for(var n,i,o=[0],s=0,u=t.length;s<u;){for(i=o.length;i--;)o[i]*=e;for(o[0]+=In.indexOf(t.charAt(s++)),n=0;n<o.length;n++)o[n]>r-1&&(void 0===o[n+1]&&(o[n+1]=0),o[n+1]+=o[n]/r|0,o[n]%=r)}return o.reverse()}oi.absoluteValue=oi.abs=function(){var t=new this.constructor(this);return t.s<0&&(t.s=1),ci(t)},oi.ceil=function(){return ci(new this.constructor(this),this.e+1,2)},oi.clampedTo=oi.clamp=function(t,e){var r=this,n=r.constructor;if(t=new n(t),e=new n(e),!t.s||!e.s)return new n(NaN);if(t.gt(e))throw Error(zn+e);return r.cmp(t)<0?t:r.cmp(e)>0?e:new n(r)},oi.comparedTo=oi.cmp=function(t){var e,r,n,i,o=this,s=o.d,u=(t=new o.constructor(t)).d,a=o.s,l=t.s;if(!s||!u)return a&&l?a!==l?a:s===u?0:!s^a<0?1:-1:NaN;if(!s[0]||!u[0])return s[0]?a:u[0]?-l:0;if(a!==l)return a;if(o.e!==t.e)return o.e>t.e^a<0?1:-1;for(e=0,r=(n=s.length)<(i=u.length)?n:i;e<r;++e)if(s[e]!==u[e])return s[e]>u[e]^a<0?1:-1;return n===i?0:n>i^a<0?1:-1},oi.cosine=oi.cos=function(){var t,e,r=this,n=r.constructor;return r.d?r.d[0]?(t=n.precision,e=n.rounding,n.precision=t+Math.max(r.e,r.sd())+7,n.rounding=1,r=function(t,e){var r,n,i;if(e.isZero())return e;n=e.d.length,n<32?i=(1/Ni(4,r=Math.ceil(n/3))).toString():(r=16,i="2.3283064365386962890625e-10");t.precision+=r,e=ji(t,1,e.times(i),new t(1));for(var o=r;o--;){var s=e.times(e);e=s.times(s).minus(s).times(8).plus(1)}return t.precision-=r,e}(n,$i(n,r)),n.precision=t,n.rounding=e,ci(2==kn||3==kn?r.neg():r,t,e,!0)):new n(1):new n(NaN)},oi.cubeRoot=oi.cbrt=function(){var t,e,r,n,i,o,s,u,a,l,f=this,c=f.constructor;if(!f.isFinite()||f.isZero())return new c(f);for(Hn=!1,(o=f.s*Xn(f.s*f,1/3))&&Math.abs(o)!=1/0?n=new c(o.toString()):(r=si(f.d),(o=((t=f.e)-r.length+1)%3)&&(r+=1==o||-2==o?"0":"00"),o=Xn(r,1/3),t=Jn((t+1)/3)-(t%3==(t<0?-1:2)),(n=new c(r=o==1/0?"5e"+t:(r=o.toExponential()).slice(0,r.indexOf("e")+1)+t)).s=f.s),s=(t=c.precision)+3;;)if(l=(a=(u=n).times(u).times(u)).plus(f),n=fi(l.plus(f).times(u),l.plus(a),s+2,1),si(u.d).slice(0,s)===(r=si(n.d)).slice(0,s)){if("9999"!=(r=r.slice(s-3,s+1))&&(i||"4999"!=r)){+r&&(+r.slice(1)||"5"!=r.charAt(0))||(ci(n,t+1,1),e=!n.times(n).times(n).eq(f));break}if(!i&&(ci(u,t+1,0),u.times(u).times(u).eq(f))){n=u;break}s+=4,i=1}return Hn=!0,ci(n,t,c.rounding,e)},oi.decimalPlaces=oi.dp=function(){var t,e=this.d,r=NaN;if(e){if(r=7*((t=e.length-1)-Jn(this.e/7)),t=e[t])for(;t%10==0;t/=10)r--;r<0&&(r=0)}return r},oi.dividedBy=oi.div=function(t){return fi(this,new this.constructor(t))},oi.dividedToIntegerBy=oi.divToInt=function(t){var e=this.constructor;return ci(fi(this,new e(t),0,1,1),e.precision,e.rounding)},oi.equals=oi.eq=function(t){return 0===this.cmp(t)},oi.floor=function(){return ci(new this.constructor(this),this.e+1,3)},oi.greaterThan=oi.gt=function(t){return this.cmp(t)>0},oi.greaterThanOrEqualTo=oi.gte=function(t){var e=this.cmp(t);return 1==e||0===e},oi.hyperbolicCosine=oi.cosh=function(){var t,e,r,n,i,o=this,s=o.constructor,u=new s(1);if(!o.isFinite())return new s(o.s?1/0:NaN);if(o.isZero())return u;r=s.precision,n=s.rounding,s.precision=r+Math.max(o.e,o.sd())+4,s.rounding=1,(i=o.d.length)<32?e=(1/Ni(4,t=Math.ceil(i/3))).toString():(t=16,e="2.3283064365386962890625e-10"),o=ji(s,1,o.times(e),new s(1),!0);for(var a,l=t,f=new s(8);l--;)a=o.times(o),o=u.minus(a.times(f.minus(a.times(f))));return ci(o,s.precision=r,s.rounding=n,!0)},oi.hyperbolicSine=oi.sinh=function(){var t,e,r,n,i=this,o=i.constructor;if(!i.isFinite()||i.isZero())return new o(i);if(e=o.precision,r=o.rounding,o.precision=e+Math.max(i.e,i.sd())+4,o.rounding=1,(n=i.d.length)<3)i=ji(o,2,i,i,!0);else{t=(t=1.4*Math.sqrt(n))>16?16:0|t,i=ji(o,2,i=i.times(1/Ni(5,t)),i,!0);for(var s,u=new o(5),a=new o(16),l=new o(20);t--;)s=i.times(i),i=i.times(u.plus(s.times(a.times(s).plus(l))))}return o.precision=e,o.rounding=r,ci(i,e,r,!0)},oi.hyperbolicTangent=oi.tanh=function(){var t,e,r=this,n=r.constructor;return r.isFinite()?r.isZero()?new n(r):(t=n.precision,e=n.rounding,n.precision=t+7,n.rounding=1,fi(r.sinh(),r.cosh(),n.precision=t,n.rounding=e)):new n(r.s)},oi.inverseCosine=oi.acos=function(){var t=this,e=t.constructor,r=t.abs().cmp(1),n=e.precision,i=e.rounding;return-1!==r?0===r?t.isNeg()?vi(e,n,i):new e(0):new e(NaN):t.isZero()?vi(e,n+4,i).times(.5):(e.precision=n+6,e.rounding=1,t=new e(1).minus(t).div(t.plus(1)).sqrt().atan(),e.precision=n,e.rounding=i,t.times(2))},oi.inverseHyperbolicCosine=oi.acosh=function(){var t,e,r=this,n=r.constructor;return r.lte(1)?new n(r.eq(1)?0:NaN):r.isFinite()?(t=n.precision,e=n.rounding,n.precision=t+Math.max(Math.abs(r.e),r.sd())+4,n.rounding=1,Hn=!1,r=r.times(r).minus(1).sqrt().plus(r),Hn=!0,n.precision=t,n.rounding=e,r.ln()):new n(r)},oi.inverseHyperbolicSine=oi.asinh=function(){var t,e,r=this,n=r.constructor;return!r.isFinite()||r.isZero()?new n(r):(t=n.precision,e=n.rounding,n.precision=t+2*Math.max(Math.abs(r.e),r.sd())+6,n.rounding=1,Hn=!1,r=r.times(r).plus(1).sqrt().plus(r),Hn=!0,n.precision=t,n.rounding=e,r.ln())},oi.inverseHyperbolicTangent=oi.atanh=function(){var t,e,r,n,i=this,o=i.constructor;return i.isFinite()?i.e>=0?new o(i.abs().eq(1)?i.s/0:i.isZero()?i:NaN):(t=o.precision,e=o.rounding,n=i.sd(),Math.max(n,t)<2*-i.e-1?ci(new o(i),t,e,!0):(o.precision=r=n-i.e,i=fi(i.plus(1),new o(1).minus(i),r+t,1),o.precision=t+4,o.rounding=1,i=i.ln(),o.precision=t,o.rounding=e,i.times(.5))):new o(NaN)},oi.inverseSine=oi.asin=function(){var t,e,r,n,i=this,o=i.constructor;return i.isZero()?new o(i):(e=i.abs().cmp(1),r=o.precision,n=o.rounding,-1!==e?0===e?((t=vi(o,r+4,n).times(.5)).s=i.s,t):new o(NaN):(o.precision=r+6,o.rounding=1,i=i.div(new o(1).minus(i.times(i)).sqrt().plus(1)).atan(),o.precision=r,o.rounding=n,i.times(2)))},oi.inverseTangent=oi.atan=function(){var t,e,r,n,i,o,s,u,a,l=this,f=l.constructor,c=f.precision,d=f.rounding;if(l.isFinite()){if(l.isZero())return new f(l);if(l.abs().eq(1)&&c+4<=ii)return(s=vi(f,c+4,d).times(.25)).s=l.s,s}else{if(!l.s)return new f(NaN);if(c+4<=ii)return(s=vi(f,c+4,d).times(.5)).s=l.s,s}for(f.precision=u=c+10,f.rounding=1,t=r=Math.min(28,u/7+2|0);t;--t)l=l.div(l.times(l).plus(1).sqrt().plus(1));for(Hn=!1,e=Math.ceil(u/7),n=1,a=l.times(l),s=new f(l),i=l;-1!==t;)if(i=i.times(a),o=s.minus(i.div(n+=2)),i=i.times(a),void 0!==(s=o.plus(i.div(n+=2))).d[e])for(t=e;s.d[t]===o.d[t]&&t--;);return r&&(s=s.times(2<<r-1)),Hn=!0,ci(s,f.precision=c,f.rounding=d,!0)},oi.isFinite=function(){return!!this.d},oi.isInteger=oi.isInt=function(){return!!this.d&&Jn(this.e/7)>this.d.length-2},oi.isNaN=function(){return!this.s},oi.isNegative=oi.isNeg=function(){return this.s<0},oi.isPositive=oi.isPos=function(){return this.s>0},oi.isZero=function(){return!!this.d&&0===this.d[0]},oi.lessThan=oi.lt=function(t){return this.cmp(t)<0},oi.lessThanOrEqualTo=oi.lte=function(t){return this.cmp(t)<1},oi.logarithm=oi.log=function(t){var e,r,n,i,o,s,u,a,l=this,f=l.constructor,c=f.precision,d=f.rounding;if(null==t)t=new f(10),e=!0;else{if(r=(t=new f(t)).d,t.s<0||!r||!r[0]||t.eq(1))return new f(NaN);e=t.eq(10)}if(r=l.d,l.s<0||!r||!r[0]||l.eq(1))return new f(r&&!r[0]?-1/0:1!=l.s?NaN:r?0:1/0);if(e)if(r.length>1)o=!0;else{for(i=r[0];i%10==0;)i/=10;o=1!==i}if(Hn=!1,s=_i(l,u=c+5),n=e?pi(f,u+10):_i(t,u),ai((a=fi(s,n,u,1)).d,i=c,d))do{if(s=_i(l,u+=10),n=e?pi(f,u+10):_i(t,u),a=fi(s,n,u,1),!o){+si(a.d).slice(i+1,i+15)+1==1e14&&(a=ci(a,c+1,0));break}}while(ai(a.d,i+=10,d));return Hn=!0,ci(a,c,d)},oi.minus=oi.sub=function(t){var e,r,n,i,o,s,u,a,l,f,c,d,h=this,p=h.constructor;if(t=new p(t),!h.d||!t.d)return h.s&&t.s?h.d?t.s=-t.s:t=new p(t.d||h.s!==t.s?h:NaN):t=new p(NaN),t;if(h.s!=t.s)return t.s=-t.s,h.plus(t);if(l=h.d,d=t.d,u=p.precision,a=p.rounding,!l[0]||!d[0]){if(d[0])t.s=-t.s;else{if(!l[0])return new p(3===a?-0:0);t=new p(h)}return Hn?ci(t,u,a):t}if(r=Jn(t.e/7),f=Jn(h.e/7),l=l.slice(),o=f-r){for((c=o<0)?(e=l,o=-o,s=d.length):(e=d,r=f,s=l.length),o>(n=Math.max(Math.ceil(u/7),s)+2)&&(o=n,e.length=1),e.reverse(),n=o;n--;)e.push(0);e.reverse()}else{for((c=(n=l.length)<(s=d.length))&&(s=n),n=0;n<s;n++)if(l[n]!=d[n]){c=l[n]<d[n];break}o=0}for(c&&(e=l,l=d,d=e,t.s=-t.s),s=l.length,n=d.length-s;n>0;--n)l[s++]=0;for(n=d.length;n>o;){if(l[--n]<d[n]){for(i=n;i&&0===l[--i];)l[i]=ri-1;--l[i],l[n]+=ri}l[n]-=d[n]}for(;0===l[--s];)l.pop();for(;0===l[0];l.shift())--r;return l[0]?(t.d=l,t.e=hi(l,r),Hn?ci(t,u,a):t):new p(3===a?-0:0)},oi.modulo=oi.mod=function(t){var e,r=this,n=r.constructor;return t=new n(t),!r.d||!t.s||t.d&&!t.d[0]?new n(NaN):!t.d||r.d&&!r.d[0]?ci(new n(r),n.precision,n.rounding):(Hn=!1,9==n.modulo?(e=fi(r,t.abs(),0,3,1)).s*=t.s:e=fi(r,t,0,n.modulo,1),e=e.times(t),Hn=!0,r.minus(e))},oi.naturalExponential=oi.exp=function(){return Mi(this)},oi.naturalLogarithm=oi.ln=function(){return _i(this)},oi.negated=oi.neg=function(){var t=new this.constructor(this);return t.s=-t.s,ci(t)},oi.plus=oi.add=function(t){var e,r,n,i,o,s,u,a,l,f,c=this,d=c.constructor;if(t=new d(t),!c.d||!t.d)return c.s&&t.s?c.d||(t=new d(t.d||c.s===t.s?c:NaN)):t=new d(NaN),t;if(c.s!=t.s)return t.s=-t.s,c.minus(t);if(l=c.d,f=t.d,u=d.precision,a=d.rounding,!l[0]||!f[0])return f[0]||(t=new d(c)),Hn?ci(t,u,a):t;if(o=Jn(c.e/7),n=Jn(t.e/7),l=l.slice(),i=o-n){for(i<0?(r=l,i=-i,s=f.length):(r=f,n=o,s=l.length),i>(s=(o=Math.ceil(u/7))>s?o+1:s+1)&&(i=s,r.length=1),r.reverse();i--;)r.push(0);r.reverse()}for((s=l.length)-(i=f.length)<0&&(i=s,r=f,f=l,l=r),e=0;i;)e=(l[--i]=l[i]+f[i]+e)/ri|0,l[i]%=ri;for(e&&(l.unshift(e),++n),s=l.length;0==l[--s];)l.pop();return t.d=l,t.e=hi(l,n),Hn?ci(t,u,a):t},oi.precision=oi.sd=function(t){var e,r=this;if(void 0!==t&&t!==!!t&&1!==t&&0!==t)throw Error(zn+t);return r.d?(e=mi(r.d),t&&r.e+1>e&&(e=r.e+1)):e=NaN,e},oi.round=function(){var t=this,e=t.constructor;return ci(new e(t),t.e+1,e.rounding)},oi.sine=oi.sin=function(){var t,e,r=this,n=r.constructor;return r.isFinite()?r.isZero()?new n(r):(t=n.precision,e=n.rounding,n.precision=t+Math.max(r.e,r.sd())+7,n.rounding=1,r=function(t,e){var r,n=e.d.length;if(n<3)return e.isZero()?e:ji(t,2,e,e);r=(r=1.4*Math.sqrt(n))>16?16:0|r,e=e.times(1/Ni(5,r)),e=ji(t,2,e,e);for(var i,o=new t(5),s=new t(16),u=new t(20);r--;)i=e.times(e),e=e.times(o.plus(i.times(s.times(i).minus(u))));return e}(n,$i(n,r)),n.precision=t,n.rounding=e,ci(kn>2?r.neg():r,t,e,!0)):new n(NaN)},oi.squareRoot=oi.sqrt=function(){var t,e,r,n,i,o,s=this,u=s.d,a=s.e,l=s.s,f=s.constructor;if(1!==l||!u||!u[0])return new f(!l||l<0&&(!u||u[0])?NaN:u?s:1/0);for(Hn=!1,0==(l=Math.sqrt(+s))||l==1/0?(((e=si(u)).length+a)%2==0&&(e+="0"),l=Math.sqrt(e),a=Jn((a+1)/2)-(a<0||a%2),n=new f(e=l==1/0?"5e"+a:(e=l.toExponential()).slice(0,e.indexOf("e")+1)+a)):n=new f(l.toString()),r=(a=f.precision)+3;;)if(n=(o=n).plus(fi(s,o,r+2,1)).times(.5),si(o.d).slice(0,r)===(e=si(n.d)).slice(0,r)){if("9999"!=(e=e.slice(r-3,r+1))&&(i||"4999"!=e)){+e&&(+e.slice(1)||"5"!=e.charAt(0))||(ci(n,a+1,1),t=!n.times(n).eq(s));break}if(!i&&(ci(o,a+1,0),o.times(o).eq(s))){n=o;break}r+=4,i=1}return Hn=!0,ci(n,a,f.rounding,t)},oi.tangent=oi.tan=function(){var t,e,r=this,n=r.constructor;return r.isFinite()?r.isZero()?new n(r):(t=n.precision,e=n.rounding,n.precision=t+10,n.rounding=1,(r=r.sin()).s=1,r=fi(r,new n(1).minus(r.times(r)).sqrt(),t+10,0),n.precision=t,n.rounding=e,ci(2==kn||4==kn?r.neg():r,t,e,!0)):new n(NaN)},oi.times=oi.mul=function(t){var e,r,n,i,o,s,u,a,l,f=this,c=f.constructor,d=f.d,h=(t=new c(t)).d;if(t.s*=f.s,!(d&&d[0]&&h&&h[0]))return new c(!t.s||d&&!d[0]&&!h||h&&!h[0]&&!d?NaN:d&&h?0*t.s:t.s/0);for(r=Jn(f.e/7)+Jn(t.e/7),(a=d.length)<(l=h.length)&&(o=d,d=h,h=o,s=a,a=l,l=s),o=[],n=s=a+l;n--;)o.push(0);for(n=l;--n>=0;){for(e=0,i=a+n;i>n;)u=o[i]+h[n]*d[i-n-1]+e,o[i--]=u%ri|0,e=u/ri|0;o[i]=(o[i]+e)%ri|0}for(;!o[--s];)o.pop();return e?++r:o.shift(),t.d=o,t.e=hi(o,r),Hn?ci(t,c.precision,c.rounding):t},oi.toBinary=function(t,e){return Ai(this,2,t,e)},oi.toDecimalPlaces=oi.toDP=function(t,e){var r=this,n=r.constructor;return r=new n(r),void 0===t?r:(ui(t,0,Bn),void 0===e?e=n.rounding:ui(e,0,8),ci(r,t+r.e+1,e))},oi.toExponential=function(t,e){var r,n=this,i=n.constructor;return void 0===t?r=di(n,!0):(ui(t,0,Bn),void 0===e?e=i.rounding:ui(e,0,8),r=di(n=ci(new i(n),t+1,e),!0,t+1)),n.isNeg()&&!n.isZero()?"-"+r:r},oi.toFixed=function(t,e){var r,n,i=this,o=i.constructor;return void 0===t?r=di(i):(ui(t,0,Bn),void 0===e?e=o.rounding:ui(e,0,8),r=di(n=ci(new o(i),t+i.e+1,e),!1,t+n.e+1)),i.isNeg()&&!i.isZero()?"-"+r:r},oi.toFraction=function(t){var e,r,n,i,o,s,u,a,l,f,c,d,h=this,p=h.d,v=h.constructor;if(!p)return new v(h);if(l=r=new v(1),n=a=new v(0),s=(o=(e=new v(n)).e=mi(p)-h.e-1)%7,e.d[0]=Xn(10,s<0?7+s:s),null==t)t=o>0?e:l;else{if(!(u=new v(t)).isInt()||u.lt(l))throw Error(zn+u);t=u.gt(e)?o>0?e:l:u}for(Hn=!1,u=new v(si(p)),f=v.precision,v.precision=o=7*p.length*2;c=fi(u,e,0,1,1),1!=(i=r.plus(c.times(n))).cmp(t);)r=n,n=i,i=l,l=a.plus(c.times(i)),a=i,i=e,e=u.minus(c.times(i)),u=i;return i=fi(t.minus(r),n,0,1,1),a=a.plus(i.times(l)),r=r.plus(i.times(n)),a.s=l.s=h.s,d=fi(l,n,o,1).minus(h).abs().cmp(fi(a,r,o,1).minus(h).abs())<1?[l,n]:[a,r],v.precision=f,Hn=!0,d},oi.toHexadecimal=oi.toHex=function(t,e){return Ai(this,16,t,e)},oi.toNearest=function(t,e){var r=this,n=r.constructor;if(r=new n(r),null==t){if(!r.d)return r;t=new n(1),e=n.rounding}else{if(t=new n(t),void 0===e?e=n.rounding:ui(e,0,8),!r.d)return t.s?r:t;if(!t.d)return t.s&&(t.s=r.s),t}return t.d[0]?(Hn=!1,r=fi(r,t,0,e,1).times(t),Hn=!0,ci(r)):(t.s=r.s,r=t),r},oi.toNumber=function(){return+this},oi.toOctal=function(t,e){return Ai(this,8,t,e)},oi.toPower=oi.pow=function(t){var e,r,n,i,o,s,u=this,a=u.constructor,l=+(t=new a(t));if(!(u.d&&t.d&&u.d[0]&&t.d[0]))return new a(Xn(+u,l));if((u=new a(u)).eq(1))return u;if(n=a.precision,o=a.rounding,t.eq(1))return ci(u,n,o);if((e=Jn(t.e/7))>=t.d.length-1&&(r=l<0?-l:l)<=9007199254740991)return i=gi(a,u,r,n),t.s<0?new a(1).div(i):ci(i,n,o);if((s=u.s)<0){if(e<t.d.length-1)return new a(NaN);if(1&t.d[e]||(s=1),0==u.e&&1==u.d[0]&&1==u.d.length)return u.s=s,u}return(e=0!=(r=Xn(+u,l))&&isFinite(r)?new a(r+"").e:Jn(l*(Math.log("0."+si(u.d))/Math.LN10+u.e+1)))>a.maxE+1||e<a.minE-1?new a(e>0?s/0:0):(Hn=!1,a.rounding=u.s=1,r=Math.min(12,(e+"").length),(i=Mi(t.times(_i(u,n+r)),n)).d&&ai((i=ci(i,n+5,1)).d,n,o)&&(e=n+10,+si((i=ci(Mi(t.times(_i(u,e+r)),e),e+5,1)).d).slice(n+1,n+15)+1==1e14&&(i=ci(i,n+1,0))),i.s=s,Hn=!0,a.rounding=o,ci(i,n,o))},oi.toPrecision=function(t,e){var r,n=this,i=n.constructor;return void 0===t?r=di(n,n.e<=i.toExpNeg||n.e>=i.toExpPos):(ui(t,1,Bn),void 0===e?e=i.rounding:ui(e,0,8),r=di(n=ci(new i(n),t,e),t<=n.e||n.e<=i.toExpNeg,t)),n.isNeg()&&!n.isZero()?"-"+r:r},oi.toSignificantDigits=oi.toSD=function(t,e){var r=this.constructor;return void 0===t?(t=r.precision,e=r.rounding):(ui(t,1,Bn),void 0===e?e=r.rounding:ui(e,0,8)),ci(new r(this),t,e)},oi.toString=function(){var t=this,e=t.constructor,r=di(t,t.e<=e.toExpNeg||t.e>=e.toExpPos);return t.isNeg()&&!t.isZero()?"-"+r:r},oi.truncated=oi.trunc=function(){return ci(new this.constructor(this),this.e+1,1)},oi.valueOf=oi.toJSON=function(){var t=this,e=t.constructor,r=di(t,t.e<=e.toExpNeg||t.e>=e.toExpPos);return t.isNeg()?"-"+r:r};var fi=function(){function t(t,e,r){var n,i=0,o=t.length;for(t=t.slice();o--;)n=t[o]*e+i,t[o]=n%r|0,i=n/r|0;return i&&t.unshift(i),t}function e(t,e,r,n){var i,o;if(r!=n)o=r>n?1:-1;else for(i=o=0;i<r;i++)if(t[i]!=e[i]){o=t[i]>e[i]?1:-1;break}return o}function r(t,e,r,n){for(var i=0;r--;)t[r]-=i,i=t[r]<e[r]?1:0,t[r]=i*n+t[r]-e[r];for(;!t[0]&&t.length>1;)t.shift()}return function(n,i,o,s,u,a){var l,f,c,d,h,p,v,m,y,g,w,b,M,_,S,O,E,j,N,$,A=n.constructor,C=n.s==i.s?1:-1,L=n.d,x=i.d;if(!(L&&L[0]&&x&&x[0]))return new A(n.s&&i.s&&(L?!x||L[0]!=x[0]:x)?L&&0==L[0]||!x?0*C:C/0:NaN);for(a?(h=1,f=n.e-i.e):(a=ri,h=7,f=Jn(n.e/h)-Jn(i.e/h)),N=x.length,E=L.length,g=(y=new A(C)).d=[],c=0;x[c]==(L[c]||0);c++);if(x[c]>(L[c]||0)&&f--,null==o?(_=o=A.precision,s=A.rounding):_=u?o+(n.e-i.e)+1:o,_<0)g.push(1),p=!0;else{if(_=_/h+2|0,c=0,1==N){for(d=0,x=x[0],_++;(c<E||d)&&_--;c++)S=d*a+(L[c]||0),g[c]=S/x|0,d=S%x|0;p=d||c<E}else{for((d=a/(x[0]+1)|0)>1&&(x=t(x,d,a),L=t(L,d,a),N=x.length,E=L.length),O=N,b=(w=L.slice(0,N)).length;b<N;)w[b++]=0;($=x.slice()).unshift(0),j=x[0],x[1]>=a/2&&++j;do{d=0,(l=e(x,w,N,b))<0?(M=w[0],N!=b&&(M=M*a+(w[1]||0)),(d=M/j|0)>1?(d>=a&&(d=a-1),1==(l=e(v=t(x,d,a),w,m=v.length,b=w.length))&&(d--,r(v,N<m?$:x,m,a))):(0==d&&(l=d=1),v=x.slice()),(m=v.length)<b&&v.unshift(0),r(w,v,b,a),-1==l&&(l=e(x,w,N,b=w.length))<1&&(d++,r(w,N<b?$:x,b,a)),b=w.length):0===l&&(d++,w=[0]),g[c++]=d,l&&w[0]?w[b++]=L[O]||0:(w=[L[O]],b=1)}while((O++<E||void 0!==w[0])&&_--);p=void 0!==w[0]}g[0]||g.shift()}if(1==h)y.e=f,Fn=p;else{for(c=1,d=g[0];d>=10;d/=10)c++;y.e=c+f*h-1,ci(y,u?o+y.e+1:o,s,p)}return y}}();function ci(t,e,r,n){var i,o,s,u,a,l,f,c,d,h=t.constructor;t:if(null!=e){if(!(c=t.d))return t;for(i=1,u=c[0];u>=10;u/=10)i++;if((o=e-i)<0)o+=7,s=e,a=(f=c[d=0])/Xn(10,i-s-1)%10|0;else if((d=Math.ceil((o+1)/7))>=(u=c.length)){if(!n)break t;for(;u++<=d;)c.push(0);f=a=0,i=1,s=(o%=7)-7+1}else{for(f=u=c[d],i=1;u>=10;u/=10)i++;a=(s=(o%=7)-7+i)<0?0:f/Xn(10,i-s-1)%10|0}if(n=n||e<0||void 0!==c[d+1]||(s<0?f:f%Xn(10,i-s-1)),l=r<4?(a||n)&&(0==r||r==(t.s<0?3:2)):a>5||5==a&&(4==r||n||6==r&&(o>0?s>0?f/Xn(10,i-s):0:c[d-1])%10&1||r==(t.s<0?8:7)),e<1||!c[0])return c.length=0,l?(e-=t.e+1,c[0]=Xn(10,(7-e%7)%7),t.e=-e||0):c[0]=t.e=0,t;if(0==o?(c.length=d,u=1,d--):(c.length=d+1,u=Xn(10,7-o),c[d]=s>0?(f/Xn(10,i-s)%Xn(10,s)|0)*u:0),l)for(;;){if(0==d){for(o=1,s=c[0];s>=10;s/=10)o++;for(s=c[0]+=u,u=1;s>=10;s/=10)u++;o!=u&&(t.e++,c[0]==ri&&(c[0]=1));break}if(c[d]+=u,c[d]!=ri)break;c[d--]=0,u=1}for(o=c.length;0===c[--o];)c.pop()}return Hn&&(t.e>h.maxE?(t.d=null,t.e=NaN):t.e<h.minE&&(t.e=0,t.d=[0])),t}function di(t,e,r){if(!t.isFinite())return Si(t);var n,i=t.e,o=si(t.d),s=o.length;return e?(r&&(n=r-s)>0?o=o.charAt(0)+"."+o.slice(1)+yi(n):s>1&&(o=o.charAt(0)+"."+o.slice(1)),o=o+(t.e<0?"e":"e+")+t.e):i<0?(o="0."+yi(-i-1)+o,r&&(n=r-s)>0&&(o+=yi(n))):i>=s?(o+=yi(i+1-s),r&&(n=r-i-1)>0&&(o=o+"."+yi(n))):((n=i+1)<s&&(o=o.slice(0,n)+"."+o.slice(n)),r&&(n=r-s)>0&&(i+1===s&&(o+="."),o+=yi(n))),o}function hi(t,e){var r=t[0];for(e*=7;r>=10;r/=10)e++;return e}function pi(t,e,r){if(e>ni)throw Hn=!0,r&&(t.precision=r),Error(Wn);return ci(new t(qn),e,1,!0)}function vi(t,e,r){if(e>ii)throw Error(Wn);return ci(new t(Gn),e,r,!0)}function mi(t){var e=t.length-1,r=7*e+1;if(e=t[e]){for(;e%10==0;e/=10)r--;for(e=t[0];e>=10;e/=10)r++}return r}function yi(t){for(var e="";t--;)e+="0";return e}function gi(t,e,r,n){var i,o=new t(1),s=Math.ceil(n/7+4);for(Hn=!1;;){if(r%2&&Ci((o=o.times(e)).d,s)&&(i=!0),0===(r=Jn(r/2))){r=o.d.length-1,i&&0===o.d[r]&&++o.d[r];break}Ci((e=e.times(e)).d,s)}return Hn=!0,o}function wi(t){return 1&t.d[t.d.length-1]}function bi(t,e,r){for(var n,i,o=new t(e[0]),s=0;++s<e.length;){if(!(i=new t(e[s])).s){o=i;break}((n=o.cmp(i))===r||0===n&&o.s===r)&&(o=i)}return o}function Mi(t,e){var r,n,i,o,s,u,a,l=0,f=0,c=0,d=t.constructor,h=d.rounding,p=d.precision;if(!t.d||!t.d[0]||t.e>17)return new d(t.d?t.d[0]?t.s<0?0:1/0:1:t.s?t.s<0?0:t:NaN);for(null==e?(Hn=!1,a=p):a=e,u=new d(.03125);t.e>-2;)t=t.times(u),c+=5;for(a+=n=Math.log(Xn(2,c))/Math.LN10*2+5|0,r=o=s=new d(1),d.precision=a;;){if(o=ci(o.times(t),a,1),r=r.times(++f),si((u=s.plus(fi(o,r,a,1))).d).slice(0,a)===si(s.d).slice(0,a)){for(i=c;i--;)s=ci(s.times(s),a,1);if(null!=e)return d.precision=p,s;if(!(l<3&&ai(s.d,a-n,h,l)))return ci(s,d.precision=p,h,Hn=!0);d.precision=a+=10,r=o=u=new d(1),f=0,l++}s=u}}function _i(t,e){var r,n,i,o,s,u,a,l,f,c,d,h=1,p=t,v=p.d,m=p.constructor,y=m.rounding,g=m.precision;if(p.s<0||!v||!v[0]||!p.e&&1==v[0]&&1==v.length)return new m(v&&!v[0]?-1/0:1!=p.s?NaN:v?0:p);if(null==e?(Hn=!1,f=g):f=e,m.precision=f+=10,n=(r=si(v)).charAt(0),!(Math.abs(o=p.e)<15e14))return l=pi(m,f+2,g).times(o+""),p=_i(new m(n+"."+r.slice(1)),f-10).plus(l),m.precision=g,null==e?ci(p,g,y,Hn=!0):p;for(;n<7&&1!=n||1==n&&r.charAt(1)>3;)n=(r=si((p=p.times(t)).d)).charAt(0),h++;for(o=p.e,n>1?(p=new m("0."+r),o++):p=new m(n+"."+r.slice(1)),c=p,a=s=p=fi(p.minus(1),p.plus(1),f,1),d=ci(p.times(p),f,1),i=3;;){if(s=ci(s.times(d),f,1),si((l=a.plus(fi(s,new m(i),f,1))).d).slice(0,f)===si(a.d).slice(0,f)){if(a=a.times(2),0!==o&&(a=a.plus(pi(m,f+2,g).times(o+""))),a=fi(a,new m(h),f,1),null!=e)return m.precision=g,a;if(!ai(a.d,f-10,y,u))return ci(a,m.precision=g,y,Hn=!0);m.precision=f+=10,l=s=p=fi(c.minus(1),c.plus(1),f,1),d=ci(p.times(p),f,1),i=u=1}a=l,i+=2}}function Si(t){return String(t.s*t.s/0)}function Oi(t,e){var r,n,i;for((r=e.indexOf("."))>-1&&(e=e.replace(".","")),(n=e.search(/e/i))>0?(r<0&&(r=n),r+=+e.slice(n+1),e=e.substring(0,n)):r<0&&(r=e.length),n=0;48===e.charCodeAt(n);n++);for(i=e.length;48===e.charCodeAt(i-1);--i);if(e=e.slice(n,i)){if(i-=n,t.e=r=r-n-1,t.d=[],n=(r+1)%7,r<0&&(n+=7),n<i){for(n&&t.d.push(+e.slice(0,n)),i-=7;n<i;)t.d.push(+e.slice(n,n+=7));n=7-(e=e.slice(n)).length}else n-=i;for(;n--;)e+="0";t.d.push(+e),Hn&&(t.e>t.constructor.maxE?(t.d=null,t.e=NaN):t.e<t.constructor.minE&&(t.e=0,t.d=[0]))}else t.e=0,t.d=[0];return t}function Ei(t,e){var r,n,i,o,s,u,a,l,f;if(e.indexOf("_")>-1){if(e=e.replace(/(\d)_(?=\d)/g,"$1"),ei.test(e))return Oi(t,e)}else if("Infinity"===e||"NaN"===e)return+e||(t.s=NaN),t.e=NaN,t.d=null,t;if(Qn.test(e))r=16,e=e.toLowerCase();else if(Kn.test(e))r=2;else{if(!ti.test(e))throw Error(zn+e);r=8}for((o=e.search(/p/i))>0?(a=+e.slice(o+1),e=e.substring(2,o)):e=e.slice(2),s=(o=e.indexOf("."))>=0,n=t.constructor,s&&(o=(u=(e=e.replace(".","")).length)-o,i=gi(n,new n(r),o,2*o)),o=f=(l=li(e,r,ri)).length-1;0===l[o];--o)l.pop();return o<0?new n(0*t.s):(t.e=hi(l,f),t.d=l,Hn=!1,s&&(t=fi(t,i,4*u)),a&&(t=t.times(Math.abs(a)<54?Xn(2,a):go.pow(2,a))),Hn=!0,t)}function ji(t,e,r,n,i){var o,s,u,a,l=t.precision,f=Math.ceil(l/7);for(Hn=!1,a=r.times(r),u=new t(n);;){if(s=fi(u.times(a),new t(e++*e++),l,1),u=i?n.plus(s):n.minus(s),n=fi(s.times(a),new t(e++*e++),l,1),void 0!==(s=u.plus(n)).d[f]){for(o=f;s.d[o]===u.d[o]&&o--;);if(-1==o)break}o=u,u=n,n=s,s=o}return Hn=!0,s.d.length=f+1,s}function Ni(t,e){for(var r=t;--e;)r*=t;return r}function $i(t,e){var r,n=e.s<0,i=vi(t,t.precision,1),o=i.times(.5);if((e=e.abs()).lte(o))return kn=n?4:1,e;if((r=e.divToInt(i)).isZero())kn=n?3:2;else{if((e=e.minus(r.times(i))).lte(o))return kn=wi(r)?n?2:3:n?4:1,e;kn=wi(r)?n?1:4:n?3:2}return e.minus(i).abs()}function Ai(t,e,r,n){var i,o,s,u,a,l,f,c,d,h=t.constructor,p=void 0!==r;if(p?(ui(r,1,Bn),void 0===n?n=h.rounding:ui(n,0,8)):(r=h.precision,n=h.rounding),t.isFinite()){for(p?(i=2,16==e?r=4*r-3:8==e&&(r=3*r-2)):i=e,(s=(f=di(t)).indexOf("."))>=0&&(f=f.replace(".",""),(d=new h(1)).e=f.length-s,d.d=li(di(d),10,i),d.e=d.d.length),o=a=(c=li(f,10,i)).length;0==c[--a];)c.pop();if(c[0]){if(s<0?o--:((t=new h(t)).d=c,t.e=o,c=(t=fi(t,d,r,n,0,i)).d,o=t.e,l=Fn),s=c[r],u=i/2,l=l||void 0!==c[r+1],l=n<4?(void 0!==s||l)&&(0===n||n===(t.s<0?3:2)):s>u||s===u&&(4===n||l||6===n&&1&c[r-1]||n===(t.s<0?8:7)),c.length=r,l)for(;++c[--r]>i-1;)c[r]=0,r||(++o,c.unshift(1));for(a=c.length;!c[a-1];--a);for(s=0,f="";s<a;s++)f+=In.charAt(c[s]);if(p){if(a>1)if(16==e||8==e){for(s=16==e?4:3,--a;a%s;a++)f+="0";for(a=(c=li(f,i,e)).length;!c[a-1];--a);for(s=1,f="1.";s<a;s++)f+=In.charAt(c[s])}else f=f.charAt(0)+"."+f.slice(1);f=f+(o<0?"p":"p+")+o}else if(o<0){for(;++o;)f="0"+f;f="0."+f}else if(++o>a)for(o-=a;o--;)f+="0";else o<a&&(f=f.slice(0,o)+"."+f.slice(o))}else f=p?"0p+0":"0";f=(16==e?"0x":2==e?"0b":8==e?"0o":"")+f}else f=Si(t);return t.s<0?"-"+f:f}function Ci(t,e){if(t.length>e)return t.length=e,!0}function Li(t){return new this(t).abs()}function xi(t){return new this(t).acos()}function Ri(t){return new this(t).acosh()}function Pi(t,e){return new this(t).plus(e)}function Ti(t){return new this(t).asin()}function Fi(t){return new this(t).asinh()}function ki(t){return new this(t).atan()}function Di(t){return new this(t).atanh()}function Bi(t,e){t=new this(t),e=new this(e);var r,n=this.precision,i=this.rounding,o=n+4;return t.s&&e.s?t.d||e.d?!e.d||t.isZero()?(r=e.s<0?vi(this,n,i):new this(0)).s=t.s:!t.d||e.isZero()?(r=vi(this,o,1).times(.5)).s=t.s:e.s<0?(this.precision=o,this.rounding=1,r=this.atan(fi(t,e,o,1)),e=vi(this,o,1),this.precision=n,this.rounding=i,r=t.s<0?r.minus(e):r.plus(e)):r=this.atan(fi(t,e,o,1)):(r=vi(this,o,1).times(e.s>0?.25:.75)).s=t.s:r=new this(NaN),r}function Ii(t){return new this(t).cbrt()}function qi(t){return ci(t=new this(t),t.e+1,2)}function Gi(t,e,r){return new this(t).clamp(e,r)}function Ui(t){if(!t||"object"!=typeof t)throw Error(Yn+"Object expected");var e,r,n,i=!0===t.defaults,o=["precision",1,Bn,"rounding",0,8,"toExpNeg",-Dn,0,"toExpPos",0,Dn,"maxE",0,Dn,"minE",-Dn,0,"modulo",0,9];for(e=0;e<o.length;e+=3)if(r=o[e],i&&(this[r]=Un[r]),void 0!==(n=t[r])){if(!(Jn(n)===n&&n>=o[e+1]&&n<=o[e+2]))throw Error(zn+r+": "+n);this[r]=n}if(r="crypto",i&&(this[r]=Un[r]),void 0!==(n=t[r])){if(!0!==n&&!1!==n&&0!==n&&1!==n)throw Error(zn+r+": "+n);if(n){if("undefined"==typeof crypto||!crypto||!crypto.getRandomValues&&!crypto.randomBytes)throw Error(Zn);this[r]=!0}else this[r]=!1}return this}function Hi(t){return new this(t).cos()}function Yi(t){return new this(t).cosh()}function zi(t,e){return new this(t).div(e)}function Wi(t){return new this(t).exp()}function Zi(t){return ci(t=new this(t),t.e+1,3)}function Vi(){var t,e,r=new this(0);for(Hn=!1,t=0;t<arguments.length;)if((e=new this(arguments[t++])).d)r.d&&(r=r.plus(e.times(e)));else{if(e.s)return Hn=!0,new this(1/0);r=e}return Hn=!0,r.sqrt()}function Ji(t){return t instanceof go||t&&t.toStringTag===Vn||!1}function Xi(t){return new this(t).ln()}function Ki(t,e){return new this(t).log(e)}function Qi(t){return new this(t).log(2)}function to(t){return new this(t).log(10)}function eo(){return bi(this,arguments,-1)}function ro(){return bi(this,arguments,1)}function no(t,e){return new this(t).mod(e)}function io(t,e){return new this(t).mul(e)}function oo(t,e){return new this(t).pow(e)}function so(t){var e,r,n,i,o=0,s=new this(1),u=[];if(void 0===t?t=this.precision:ui(t,1,Bn),n=Math.ceil(t/7),this.crypto)if(crypto.getRandomValues)for(e=crypto.getRandomValues(new Uint32Array(n));o<n;)(i=e[o])>=429e7?e[o]=crypto.getRandomValues(new Uint32Array(1))[0]:u[o++]=i%1e7;else{if(!crypto.randomBytes)throw Error(Zn);for(e=crypto.randomBytes(n*=4);o<n;)(i=e[o]+(e[o+1]<<8)+(e[o+2]<<16)+((127&e[o+3])<<24))>=214e7?crypto.randomBytes(4).copy(e,o):(u.push(i%1e7),o+=4);o=n/4}else for(;o<n;)u[o++]=1e7*Math.random()|0;for(t%=7,(n=u[--o])&&t&&(i=Xn(10,7-t),u[o]=(n/i|0)*i);0===u[o];o--)u.pop();if(o<0)r=0,u=[0];else{for(r=-1;0===u[0];r-=7)u.shift();for(n=1,i=u[0];i>=10;i/=10)n++;n<7&&(r-=7-n)}return s.e=r,s.d=u,s}function uo(t){return ci(t=new this(t),t.e+1,this.rounding)}function ao(t){return(t=new this(t)).d?t.d[0]?t.s:0*t.s:t.s||NaN}function lo(t){return new this(t).sin()}function fo(t){return new this(t).sinh()}function co(t){return new this(t).sqrt()}function ho(t,e){return new this(t).sub(e)}function po(){var t=0,e=arguments,r=new this(e[t]);for(Hn=!1;r.s&&++t<e.length;)r=r.plus(e[t]);return Hn=!0,ci(r,this.precision,this.rounding)}function vo(t){return new this(t).tan()}function mo(t){return new this(t).tanh()}function yo(t){return ci(t=new this(t),t.e+1,1)}oi[Symbol.for("nodejs.util.inspect.custom")]=oi.toString,oi[Symbol.toStringTag]="Decimal";var go=oi.constructor=function t(e){var r,n,i;function o(t){var e,r,n,i=this;if(!(i instanceof o))return new o(t);if(i.constructor=o,Ji(t))return i.s=t.s,void(Hn?!t.d||t.e>o.maxE?(i.e=NaN,i.d=null):t.e<o.minE?(i.e=0,i.d=[0]):(i.e=t.e,i.d=t.d.slice()):(i.e=t.e,i.d=t.d?t.d.slice():t.d));if("number"===(n=typeof t)){if(0===t)return i.s=1/t<0?-1:1,i.e=0,void(i.d=[0]);if(t<0?(t=-t,i.s=-1):i.s=1,t===~~t&&t<1e7){for(e=0,r=t;r>=10;r/=10)e++;return void(Hn?e>o.maxE?(i.e=NaN,i.d=null):e<o.minE?(i.e=0,i.d=[0]):(i.e=e,i.d=[t]):(i.e=e,i.d=[t]))}return 0*t!=0?(t||(i.s=NaN),i.e=NaN,void(i.d=null)):Oi(i,t.toString())}if("string"===n)return 45===(r=t.charCodeAt(0))?(t=t.slice(1),i.s=-1):(43===r&&(t=t.slice(1)),i.s=1),ei.test(t)?Oi(i,t):Ei(i,t);if("bigint"===n)return t<0?(t=-t,i.s=-1):i.s=1,Oi(i,t.toString());throw Error(zn+t)}if(o.prototype=oi,o.ROUND_UP=0,o.ROUND_DOWN=1,o.ROUND_CEIL=2,o.ROUND_FLOOR=3,o.ROUND_HALF_UP=4,o.ROUND_HALF_DOWN=5,o.ROUND_HALF_EVEN=6,o.ROUND_HALF_CEIL=7,o.ROUND_HALF_FLOOR=8,o.EUCLID=9,o.config=o.set=Ui,o.clone=t,o.isDecimal=Ji,o.abs=Li,o.acos=xi,o.acosh=Ri,o.add=Pi,o.asin=Ti,o.asinh=Fi,o.atan=ki,o.atanh=Di,o.atan2=Bi,o.cbrt=Ii,o.ceil=qi,o.clamp=Gi,o.cos=Hi,o.cosh=Yi,o.div=zi,o.exp=Wi,o.floor=Zi,o.hypot=Vi,o.ln=Xi,o.log=Ki,o.log10=to,o.log2=Qi,o.max=eo,o.min=ro,o.mod=no,o.mul=io,o.pow=oo,o.random=so,o.round=uo,o.sign=ao,o.sin=lo,o.sinh=fo,o.sqrt=co,o.sub=ho,o.sum=po,o.tan=vo,o.tanh=mo,o.trunc=yo,void 0===e&&(e={}),e&&!0!==e.defaults)for(i=["precision","rounding","toExpNeg","toExpPos","maxE","minE","modulo","crypto"],r=0;r<i.length;)e.hasOwnProperty(n=i[r++])||(e[n]=this[n]);return o.config(e),o}(Un);function wo(t,e=0,r={}){gn(e)||(e=0),e=xr(e);let n=at(r,"rounding","");return"ROUND_HALF_UP"!==n&&"ROUND_HALF_EVEN"!==n&&(n="ROUND_HALF_UP"),Cr(t)?new go(t).toDecimalPlaces(e,go[n]).toNumber():""}qn=new go(qn),Gn=new go(Gn);var bo=u?u.isConcatSpreadable:void 0;function Mo(t){return n(t)||gt(t)||!!(bo&&t&&t[bo])}function _o(t,e,r,n,i){var o=-1,s=t.length;for(r||(r=Mo),i||(i=[]);++o<s;){var u=t[o];e>0&&r(u)?e>1?_o(u,e-1,r,n,i):ie(i,u):n||(i[i.length]=u)}return i}function So(t,e){if(t!==e){var r=void 0!==t,n=null===t,i=t==t,o=m(t),s=void 0!==e,u=null===e,a=e==e,l=m(e);if(!u&&!l&&!o&&t>e||o&&s&&a&&!u&&!l||n&&s&&a||!r&&a||!i)return 1;if(!n&&!o&&!l&&t<e||l&&r&&i&&!n&&!o||u&&r&&i||!s&&i||!a)return-1}return 0}function Oo(t,e,r){e=e.length?tt(e,function(t){return n(t)?function(e){return ut(e,1===t.length?t[0]:t)}:t}):[Ie];var i=-1;return e=tt(e,Nt(Ue)),function(t,e){var r=t.length;for(t.sort(e);r--;)t[r]=t[r].value;return t}(Ze(t,function(t,r,n){return{criteria:tt(e,function(e){return e(t)}),index:++i,value:t}}),function(t,e){return function(t,e,r){for(var n=-1,i=t.criteria,o=e.criteria,s=i.length,u=r.length;++n<s;){var a=So(i[n],o[n]);if(a)return n>=u?a:a*("desc"==r[n]?-1:1)}return t.index-e.index}(t,e,r)})}var Eo=Math.max;var jo=function(){try{var t=P(Object,"defineProperty");return t({},"",{}),t}catch(t){}}(),No=jo,$o=No?function(t,e){return No(t,"toString",{configurable:!0,enumerable:!1,value:(r=e,function(){return r}),writable:!0});var r}:Ie,Ao=$o,Co=Date.now;var Lo=function(t){var e=0,r=0;return function(){var n=Co(),i=16-(n-r);if(r=n,i>0){if(++e>=800)return arguments[0]}else e=0;return t.apply(void 0,arguments)}}(Ao),xo=Lo;var Ro=function(t,e){return xo(function(t,e,r){return e=Eo(void 0===e?t.length-1:e,0),function(){for(var n=arguments,i=-1,o=Eo(n.length-e,0),s=Array(o);++i<o;)s[i]=n[e+i];i=-1;for(var u=Array(e+1);++i<e;)u[i]=n[i];return u[e]=r(s),function(t,e,r){switch(r.length){case 0:return t.call(e);case 1:return t.call(e,r[0]);case 2:return t.call(e,r[0],r[1]);case 3:return t.call(e,r[0],r[1],r[2])}return t.apply(e,r)}(t,this,u)}}(t,e,Ie),t+"")}(function(t,e){if(null==t)return[];var r=e.length;return r>1&&Tr(t,e[0],e[1])?e=[]:r>2&&Tr(e[0],e[1],e[2])&&(e=[e[0]]),Oo(t,_o(e,1),[])}),Po=Ro;function To(t,e,r){"__proto__"==e&&No?No(t,e,{configurable:!0,enumerable:!0,value:r,writable:!0}):t[e]=r}var Fo=Object.prototype.hasOwnProperty;function ko(t,e,r){var n=t[e];Fo.call(t,e)&&B(n,r)&&(void 0!==r||e in t)||To(t,e,r)}function Do(t,e,r,n){var i=!r;r||(r={});for(var o=-1,s=e.length;++o<s;){var u=e[o],a=n?n(r[u],t[u],u,r,t):void 0;void 0===a&&(a=t[u]),i?To(r,u,a):ko(r,u,a)}return r}var Bo=Object.prototype.hasOwnProperty;function Io(t){if(!b(t))return function(t){var e=[];if(null!=t)for(var r in Object(t))e.push(r);return e}(t);var e=kt(t),r=[];for(var n in t)("constructor"!=n||!e&&Bo.call(t,n))&&r.push(n);return r}function qo(t){return Gt(t)?Tt(t,!0):Io(t)}var Go="object"==typeof exports&&exports&&!exports.nodeType&&exports,Uo=Go&&"object"==typeof module&&module&&!module.nodeType&&module,Ho=Uo&&Uo.exports===Go?s.Buffer:void 0,Yo=Ho?Ho.allocUnsafe:void 0;var zo=Dt(Object.getPrototypeOf,Object),Wo=Object.getOwnPropertySymbols?function(t){for(var e=[];t;)ie(e,fe(t)),t=zo(t);return e}:ue,Zo=Wo;function Vo(t){return oe(t,qo,Zo)}var Jo=Object.prototype.hasOwnProperty;function Xo(t){var e=new t.constructor(t.byteLength);return new Qt(e).set(new Qt(t)),e}var Ko=/\w*$/;var Qo=u?u.prototype:void 0,ts=Qo?Qo.valueOf:void 0;function es(t,e,r){var n,i=t.constructor;switch(e){case"[object ArrayBuffer]":return Xo(t);case"[object Boolean]":case"[object Date]":return new i(+t);case"[object DataView]":return function(t,e){var r=e?Xo(t.buffer):t.buffer;return new t.constructor(r,t.byteOffset,t.byteLength)}(t,r);case"[object Float32Array]":case"[object Float64Array]":case"[object Int8Array]":case"[object Int16Array]":case"[object Int32Array]":case"[object Uint8Array]":case"[object Uint8ClampedArray]":case"[object Uint16Array]":case"[object Uint32Array]":return function(t,e){var r=e?Xo(t.buffer):t.buffer;return new t.constructor(r,t.byteOffset,t.length)}(t,r);case"[object Map]":case"[object Set]":return new i;case"[object Number]":case"[object String]":return new i(t);case"[object RegExp]":return function(t){var e=new t.constructor(t.source,Ko.exec(t));return e.lastIndex=t.lastIndex,e}(t);case"[object Symbol]":return n=t,ts?Object(ts.call(n)):{}}}var rs=Object.create,ns=function(){function t(){}return function(e){if(!b(e))return{};if(rs)return rs(e);t.prototype=e;var r=new t;return t.prototype=void 0,r}}(),is=ns;var os=Lt&&Lt.isMap,ss=os?Nt(os):function(t){return v(t)&&"[object Map]"==$e(t)};var us=Lt&&Lt.isSet,as=us?Nt(us):function(t){return v(t)&&"[object Set]"==$e(t)},ls="[object Arguments]",fs="[object Function]",cs="[object Object]",ds={};function hs(t,e,r,i,o,s){var u,a=1&e,l=2&e,f=4&e;if(r&&(u=o?r(t,i,o,s):r(t)),void 0!==u)return u;if(!b(t))return t;var c=n(t);if(c){if(u=function(t){var e=t.length,r=new t.constructor(e);return e&&"string"==typeof t[0]&&Jo.call(t,"index")&&(r.index=t.index,r.input=t.input),r}(t),!a)return Br(t,u)}else{var d=$e(t),h=d==fs||"[object GeneratorFunction]"==d;if(_t(t))return function(t,e){if(e)return t.slice();var r=t.length,n=Yo?Yo(r):new t.constructor(r);return t.copy(n),n}(t,a);if(d==cs||d==ls||h&&!o){if(u=l||h?{}:function(t){return"function"!=typeof t.constructor||kt(t)?{}:is(zo(t))}(t),!a)return l?function(t,e){return Do(t,Zo(t),e)}(t,function(t,e){return t&&Do(e,qo(e),t)}(u,t)):function(t,e){return Do(t,fe(t),e)}(t,function(t,e){return t&&Do(e,Ut(e),t)}(u,t))}else{if(!ds[d])return o?t:{};u=es(t,d,a)}}s||(s=new Zt);var p=s.get(t);if(p)return p;s.set(t,u),as(t)?t.forEach(function(n){u.add(hs(n,e,r,n,t,s))}):ss(t)&&t.forEach(function(n,i){u.set(i,hs(n,e,r,i,t,s))});var v=c?void 0:(f?l?Vo:ce:l?qo:Ut)(t);return zr(v||t,function(n,i){v&&(n=t[i=n]),ko(u,i,hs(n,e,r,i,t,s))}),u}ds[ls]=ds["[object Array]"]=ds["[object ArrayBuffer]"]=ds["[object DataView]"]=ds["[object Boolean]"]=ds["[object Date]"]=ds["[object Float32Array]"]=ds["[object Float64Array]"]=ds["[object Int8Array]"]=ds["[object Int16Array]"]=ds["[object Int32Array]"]=ds["[object Map]"]=ds["[object Number]"]=ds[cs]=ds["[object RegExp]"]=ds["[object Set]"]=ds["[object String]"]=ds["[object Symbol]"]=ds["[object Uint8Array]"]=ds["[object Uint8ClampedArray]"]=ds["[object Uint16Array]"]=ds["[object Uint32Array]"]=!0,ds["[object Error]"]=ds[fs]=ds["[object WeakMap]"]=!1;function ps(t){return hs(t,5)}function vs(t){let e,r=Object.prototype.toString.call(t);if(e="[object Promise]"===r,e)return!0;if("[object Function]"!==r)return!1;try{e="function"!=typeof t.subscribe&&"function"==typeof t.then}catch(t){}return e}function ms(t,e){return Pe(t,e)}function ys(t,e){function r(t){return Nn(t)?t:[t]}if(Rn(t))return!1;if(0===(t=r(t)).length)return!1;if(Rn(t))return!1;if(0===(e=r(e)).length)return!1;for(let r=0;r<t.length;r++)for(let n=0;n<e.length;n++)if(ms(t[r],e[n]))return!0;return!1}function gs(t){return"number"==typeof t||v(t)&&"[object Number]"==p(t)}function ws(t){if(!(Wt(t)||Cr(t)||m(t)||function(t){return"[object BigInt]"===Object.prototype.toString.call(t)}(t)))return"";let e="";try{e=String(t)}catch(t){}try{e=t.toString()}catch(t){}return e}let bs=0;let Ms=function(t="start1",e=!1){void 0===t?t=(new Date).getTime():"start1"===t&&(bs++,t=bs);let r=624,n=397,i=2147483648,o=2147483647,s=new Array(r),u=625,a=t=>{for(gs(t)?s[0]=t>>>0:(t=ws(t),s[0]=function(t,e={}){let r=at(e,"returnWithStateAndMsg",null);$r(r)||(r=!1);let n=t=>r?{state:"success",msg:t}:t;return zt(t)?n(""===t?0:t.split("").reduce((t,e)=>e.charCodeAt(0)+(t<<6)+(t<<16)-t,0)):r?{state:"error",msg:"invalid str"}:null}(t)),u=1;u<r;u++){let t=s[u-1]^s[u-1]>>>30;s[u]=(1812433253*((4294901760&t)>>>16)<<16)+1812433253*(65535&t)+u,s[u]>>>=0}},l=()=>(()=>{let t,e=new Array(2567483615);if(u>=r){let l;for(625===u&&a(5489),l=0;l<227;l++)t=s[l]&i|s[l+1]&o,s[l]=s[l+n]^t>>>1^e[1&t];for(;l<623;l++)t=s[l]&i|s[l+1]&o,s[l]=s[l+(n-r)]^t>>>1^e[1&t];t=s[623]&i|s[0]&o,s[623]=s[396]^t>>>1^e[1&t],u=0}return t=s[u++],t^=t>>>11,t^=t<<7&2636928640,t^=t<<15&4022730752,t^=t>>>18,t>>>0})()*(1/4294967296);a(t);let f=null;return f=e?l:l(),f}((new Date).getTime(),!0);function _s(t=0,e=100){if(Ur(t)||(t=0),t=xr(t),Ur(e)||(e=100),t>(e=xr(e)))throw new Error(`vstart[${t}] > vend[${e}]`);let r=Ms()*(e-t+1)+t;return r=Math.floor(r),r}function Ss(t){if(0===dr(t))throw new Error("dps is not an effective array");return{ps:Ve(t,t=>{if(0===dr(at(t,"values",[])))throw new Error("dp.values is not an effective array");if(at(t,"n",0)<=0)throw new Error("n<=0");return{ind:null,value:null}}),fitness:null}}function Os(t){if(0===dr(t))throw new Error("dps is not an effective array");let e=Ve(t,t=>{let e=at(t,"values",[]);if(0===dr(e))throw new Error("dp.values is not an effective array");let r=at(t,"n",0);if(r<=0)throw new Error("n<=0");let n=_s(0,r-1);return{ind:n,value:e[n]}});return{ps:e,fitness:null}}function Es(t,e,r="Mapping"){if(!Ur(t))throw new Error(`ind[${t}] in not an integer`);if(t=xr(t),!gn(e))throw new Error(`iUp[${e}]<0`);if(0===(e=xr(e)))return 0;if("Limit"===r)t=Math.min(t,e),t=Math.max(t,0);else if("Mapping"===r){let r=e+1;t=(t%r+r)%r}else{if("Random"!==r)throw new Error(`invalid mode[${r}]`);(t<0||t>e)&&(t=_s(0,e))}return t}function js(t,e){let r=t.ps,n=e.ps;if(dr(r)!==dr(n))return!1;for(let t=0;t<r.length;t++)if(r[t].ind!==n[t].ind)return!1;return!0}function Ns(t,e,r,n,i){if(t===e)return t;if(r<-4)return e;if(r>4)return t;if(i<=1)return t;let o;return o=r>=0?Math.pow(n/(i-1),Math.exp(r)):1-Math.pow((i-1-n)/(i-1),Math.exp(-r)),o*(e-t)+t}function $s(t,e){let r=0;for(let e of t)e>0&&(r+=e);if(r<=0)return _s(0,t.length-1);let n=e*r,i=0;for(let e=0;e<t.length;e++)if(t[e]>0&&(i+=t[e],n<i))return e;return t.length-1}function As(t,e,r,n,i){for(let o=0;o<t.length;++o)t[o]=e*r[o]+n*i[o]}function Cs(t,e){return t.y-e.y}function Ls(t,e,r){if(0===dr(r))throw new Error("dps is not an effective array");let n=at(r,e),i=at(n,"values",[]),o=null,s=null,u=1e20;return Wr(i,(e,r)=>{let n=t-e;n=Math.abs(n),u>n&&(u=n,o=r,s=e)}),{ind:o,value:s}}function xs(t,e,r){let n=ps(t.ps),i=_s(0,e.length-1),o=Math.random()<.5?-1:1,s=n[i].ind,u=s+o;return u=Es(u,e[i].n-1,r),n[i].ind=u,n[i].value=e[i].values[u],{ps:n,changed:u!==s}}function Rs(t){if(jn(t)){for(let e in t)return!0;return!1}return!1}function Ps(t){if(!Pn(t))throw new Error("dps is not an effective array");Wr(t,(t,e)=>{if(!Rs(t))throw new Error(`dps[${e}] is not an effective object`);let r=at(t,"values");if(!Pn(r))throw new Error(`dps[${e}].values is not an effective array`);let n=r.length,i=at(t,"n");if(!Hr(i))throw new Error(`dps[${e}].n is not a positive integer, got ${i}`);if(i!==n)throw new Error(`dps[${e}] invariant violated: n[${i}] !== values.length[${n}]`)})}async function Ts(t,e,r={}){Ps(t);let n=at(r,"Nl","");Hr(n)||(n=1e4),n=xr(n);let i=at(r,"NContiguous","");Hr(i)||(i=200),i=xr(i);let o=at(r,"NCore","");Hr(o)||(o=1e6),o=xr(o);let s=at(r,"ModeOutLimit","");ys(s,["Mapping","Limit","Random"])||(s="Mapping");let u=at(r,"taThresholdType","");ys(u,["Arithmetic Series","Geometric Series","Trapezoid Series"])||(u="Geometric Series");let a=at(r,"taThresholdInitial","");Cr(a)||(a=1),a=Lr(a);let l=at(r,"UseHists","");$r(l)||(l=!0);let f=at(r,"funGetBetter"),c=at(r,"funEndLoop"),d=0,h=at(r,"calcFitness");hn(h)||(h=async(t,r)=>{d++;let n=Ve(t.ps,"value"),i=e(n);return vs(i)&&(i=await i),{ps:t.ps,fitness:i}});let p,v=at(r,"initSolution");if(v&&Pn(v.ps)&&Cr(v.fitness))p=ps(v);else{let e=Os(t);p=await h(e,"init")}let m=function(t,e,r){let n=new Array(r).fill(0);if("Arithmetic Series"===t)for(let t=0;t<r;t++)n[t]=e*(r-1-t)/Math.max(r-1,1);else if("Geometric Series"===t){let t=.6,i=e;for(let e=0;e<r;e++)n[e]=i,i*=t}else{if("Trapezoid Series"!==t)throw new Error(`invalid thresholdType[${t}]`);{let t=Math.floor(r/3),i=Math.floor(r/2),o=r-t-i,s=Math.max(t+o-1,1);for(let r=0;r<t;r++)n[r]=e*(t+o-1-r)/s;let u=n[t-1]||0;for(let e=t;e<t+i;e++)n[e]=u;for(let r=t+i;r<t+i+o;r++)n[r]=e*(t+o-1-(r-i))/s}}return n}(u,a,n),y=ps(p),g=[],w="",b=0,M=0,_=0;l&&g.push(ps(p));let S=-1;for(;;){if(S++,S>=n){w=`stop by Nl[${n}]`,b=S,M=d;break}let e,r=xs(p,t,s);if(e=r.changed?await h({ps:r.ps},"neighbor"):{ps:r.ps,fitness:p.fitness},e.fitness-p.fitness<m[S]&&(p=e),y.fitness>p.fitness?(y=ps(p),hn(f)&&f(ps(y),S),_=0):_+=1,l&&g.push(ps(p)),_>=i?w=`stop by iContinue[${_}] >= NContiguous[${i}]`:d>=o&&(w=`stop by iExecute[${d}] >= NCore[${o}]`),Wt(w)){b=S,M=d;break}hn(c)&&c(ps(p),ps(y),S)}return{bestSolution:y,hists:g,stopMode:w,stopNl:b,stopExecutions:M}}async function Fs(t,e,r,n,i,o){let s=e.length,u=ps(t),a=0,l=-1,f=0;for(let c=0;c<s;c++)for(let s=-1;s<=1;s+=2){if(i===c&&o===-s)continue;let d=t.ps[c].ind,h=d+s;if(h=Es(h,e[c].n-1,r),h!==d){let r=ps(t.ps);r[c].ind=h,r[c].value=e[c].values[h];let i=await n({ps:r},"sdmNeighbor"),o=t.fitness-i.fitness;a<o&&(a=o,u=i,l=c,f=s)}}return{sMove:u,level:l,dir:f}}async function ks(t,e,r){let n=e.length,i=[],o=new Array(n).fill(0),s=ps(t);for(let o=0;o<n;o++){i.push([0,0]);for(let n=0;n<=1;n++){let u=0===n?-1:1,a=t.ps[o].ind,l=a+u;if(l=Es(l,e[o].n-1,"Limit"),l!==a){let u=ps(t.ps);u[o].ind=l,u[o].value=e[o].values[l];let a=await r({ps:u},"sdmGold");s.fitness>a.fitness&&(s=a),i[o][n]=t.fitness-a.fitness}else i[o][n]=0}}let u=0;for(let t=0;t<n;t++)i[t][0]<=0&&i[t][1]<=0&&u++;if(u===n)return t.fitness<s.fitness?t:s;let a=0;for(let t=0;t<n;t++){let e=i[t][0],r=i[t][1];o[t]=e>=0&&r>=0?e>r?-e:r:e>=0&&r<0?-e:e<0&&r>=0?r:0,a+=o[t]*o[t]}if(a=Math.sqrt(a),0===a)return t.fitness<s.fitness?t:s;for(let t=0;t<n;t++)o[t]=o[t]/a;let l=0;for(let t=0;t<n;t++)l+=e[t].n*e[t].n;l=Math.sqrt(l),l>32768&&(l=32768);let f=ps(t),c=ps(t),d=ps(t),h=1/1.618,p="",v=0;for(;;){let i="none",u=null;for(;;){if(h*=1.618,h>l){i="over";break}let r=ps(t.ps),s=0;for(let i=0;i<n;i++){let n=t.ps[i].ind+Math.round(o[i]*h);n=Es(n,e[i].n-1,"Limit"),r[i].ind=n,r[i].value=e[i].values[n],n===t.ps[i].ind&&s++}if(s!==n){i="move",u={ps:r,fitness:null};break}}if("over"===i){p="over";break}if(u=await r(u,"sdmGold"),s.fitness>u.fitness&&(s=u),v++,1===v){if(!(d.fitness>u.fitness))return f.fitness<s.fitness?f:s;d=u}else{if(!(d.fitness>u.fitness)){c=u,p="concave";break}d=u}}if("over"===p)return d.fitness<s.fitness?d:s;let m=0;for(;m++,!(m>50);){let t=ps(d.ps);for(let r=0;r<n;r++){let n=Math.round(.5*f.ps[r].ind+.5*c.ps[r].ind);t[r].ind=n,t[r].value=e[r].values[n]}let i=await r({ps:t},"sdmGold");s.fitness>i.fitness&&(s=i);let o=i.ps.every((t,e)=>t.ind===f.ps[e].ind),u=i.ps.every((t,e)=>t.ind===c.ps[e].ind);if(o||u)return[f,c,s].reduce((t,e)=>t.fitness<e.fitness?t:e);if(i.fitness<=f.fitness&&i.fitness<=c.fitness)f.fitness<=c.fitness?c=i:f=i,d=i;else if(i.fitness>=f.fitness&&i.fitness<=c.fitness)c=i;else{if(!(i.fitness<=f.fitness&&i.fitness>=c.fitness))return[f,c,s].reduce((t,e)=>t.fitness<e.fitness?t:e);f=i}}return[f,c,s].reduce((t,e)=>t.fitness<e.fitness?t:e)}async function Ds(t,e,r,n,i,o,s={}){if("None"===t)return e;if("NelderMead"===t){let t=async t=>{let e={ps:Ve(t,(t,e)=>Ls(t,e,r)),fitness:null};return(await i(e,"localSearchNelderMead")).fitness},n=Ve(e.ps,"value"),o=await async function(t,e,r={}){if(!hn(t))return Promise.reject("invalid fun");if(!Pn(e))return Promise.reject("params is not an effective array");let n=dr(e),i=at(r,"maxIterations");Cr(i)||(i=200*n),i=Lr(i);let o=at(r,"nonZeroDelta");Cr(o)||(o=1.05),o=Lr(o);let s=at(r,"delta");Cr(s)||(s=.001),s=Lr(s);let u=at(r,"minErrorDelta");Cr(u)||(u=1e-6),u=Lr(u);let a=at(r,"minTolerance");Cr(a)||(a=1e-5),a=Lr(a);let l=at(r,"rho");Cr(l)||(l=1),l=Lr(l);let f=at(r,"chi");Cr(f)||(f=2),f=Lr(f);let c=at(r,"psi");Cr(c)||(c=-.5),c=Lr(c);let d=at(r,"sigma");Cr(d)||(d=.5),d=Lr(d);let h=0;async function p(){let e=t(...arguments);return vs(e)&&(e=await e),h++,e}let v=new Array(n+1);v[0]=e,v[0].y=await p(e),v[0].id=0;for(let t=0;t<n;++t){let r=e.slice();r[t]=r[t]?r[t]*o:s,v[t+1]=r,v[t+1].y=await p(r),v[t+1].id=t+1}let m,y=t=>{for(let e=0;e<t.length;e++)v[n][e]=t[e];v[n].y=t.y},g=e.slice(),w=e.slice(),b=e.slice(),M=e.slice();for(let t=0;t<i;++t){v.sort(Cs),m=0;for(let t=0;t<n;++t)m=Math.max(m,Math.abs(v[0][t]-v[1][t]));if(Math.abs(v[0].y-v[n].y)<u&&m<a)break;for(let t=0;t<n;++t){g[t]=0;for(let e=0;e<n;++e)g[t]+=v[e][t];g[t]/=n}let t=v[n];if(As(w,1+l,g,-l,t),w.y=await p(w),w.y<v[0].y)As(M,1+f,g,-f,t),M.y=await p(M),M.y<w.y?y(M):y(w);else if(w.y>=v[n-1].y){let e=!1;if(w.y>t.y?(As(b,1+c,g,-c,t),b.y=await p(b),b.y<t.y?y(b):e=!0):(As(b,1-c*l,g,c*l,t),b.y=await p(b),b.y<w.y?y(b):e=!0),e){if(d>=1)break;for(let t=1;t<v.length;++t)As(v[t],1-d,v[0],d,v[t]),v[t].y=await p(v[t])}}else y(w)}v.sort(Cs);let _=[],S=v[0];for(let t=0;t<n;t++)_.push(S[t]);return{count:h,y:v[0].y,x:_}}(t,n);return o.y>=e.fitness?e:{ps:Ve(o.x,(t,e)=>Ls(t,e,r)),fitness:o.y}}if("Neighbor"===t||"OneGold"===t||"Gold"===t){let s=await async function(t,e,r={}){Ps(t);let n=at(r,"sdmMode","");ys(n,["Neighbor","OneGold","Gold"])||(n="Neighbor");let i=at(r,"ModeOutLimit","");ys(i,["Mapping","Limit","Random"])||(i="Mapping");let o=0,s=at(r,"calcFitness");hn(s)||(s=async(t,r)=>{o++;let n=Ve(t.ps,"value"),i=e(n);return vs(i)&&(i=await i),{ps:t.ps,fitness:i}});let u,a=at(r,"initSolution");if(a&&Pn(a.ps)&&Cr(a.fitness))u=ps(a);else{let e=Os(t);u=await s(e,"init")}let l=ps(u);if("Neighbor"===n){let e=-1,r=0;for(;;){let n=await Fs(u,t,i,s,e,r);if(u.fitness===n.sMove.fitness)break;u=n.sMove,e=n.level,r=n.dir,l.fitness>u.fitness&&(l=ps(u))}}else if("OneGold"===n){let e=await ks(u,t,s);l.fitness>e.fitness&&(l=e)}else if("Gold"===n){let e=50,r=0;for(;r++,!(r>e);){let e=await ks(u,t,s);if(u.fitness===e.fitness)break;u=e,l.fitness>u.fitness&&(l=ps(u))}}return{bestSolution:l,stopExecutions:o}}(r,n,{sdmMode:t,ModeOutLimit:o,initSolution:e,calcFitness:i});return s.bestSolution}if("SA"===t){let t=await async function(t,e,r={}){Ps(t);let n=at(r,"Nl","");Hr(n)||(n=1e4),n=xr(n);let i=at(r,"NContiguous","");Hr(i)||(i=200),i=xr(i);let o=at(r,"NCore","");Hr(o)||(o=1e6),o=xr(o);let s=at(r,"ModeOutLimit","");ys(s,["Mapping","Limit","Random"])||(s="Mapping");let u=at(r,"saInitialTemperature","");Cr(u)||(u=100),u=Lr(u);let a=at(r,"saAlpha","");Cr(a)||(a=.9),a=Lr(a);let l=at(r,"UseHists","");$r(l)||(l=!0);let f=at(r,"funGetBetter"),c=at(r,"funEndLoop"),d=0,h=at(r,"calcFitness");hn(h)||(h=async(t,r)=>{d++;let n=Ve(t.ps,"value"),i=e(n);return vs(i)&&(i=await i),{ps:t.ps,fitness:i}});let p,v=at(r,"initSolution");if(v&&Pn(v.ps)&&Cr(v.fitness))p=ps(v);else{let e=Os(t);p=await h(e,"init")}let m=ps(p),y=[],g="",w=0,b=0,M=0,_=u;l&&y.push(ps(p));let S=-1;for(;;){S++;let e,r=xs(p,t,s);e=r.changed?await h({ps:r.ps},"neighbor"):{ps:r.ps,fitness:p.fitness};let u=e.fitness-p.fitness;if(u<0?(p=e,_*=a):Math.random()<Math.exp(-u/_)&&(p=e),m.fitness>p.fitness?(m=ps(p),hn(f)&&f(ps(m),S),M=0):M+=1,l&&y.push(ps(p)),S>=n?g=`stop by Nl[${n}]`:M>=i?g=`stop by iContinue[${M}] >= NContiguous[${i}]`:d>=o&&(g=`stop by iExecute[${d}] >= NCore[${o}]`),Wt(g)){w=S,b=d;break}hn(c)&&c(ps(p),ps(m),S)}return{bestSolution:m,hists:y,stopMode:g,stopNl:w,stopExecutions:b}}(r,n,{initSolution:e,calcFitness:i,ModeOutLimit:o,Nl:1e3,NContiguous:5,saInitialTemperature:Math.max(.05*e.fitness,1),saAlpha:.9,UseHists:!1});return t.bestSolution}if("TA"===t){return(await Ts(r,n,{initSolution:e,calcFitness:i,ModeOutLimit:o,Nl:1e3,NContiguous:5,taThresholdType:"Geometric Series",taThresholdInitial:Math.max(.05*e.fitness,1),UseHists:!1})).bestSolution}throw new Error(`invalid LocalSearchMethod[${t}]`)}function Bs(t){let e=dr(t);if(0===e)return 0;let r=0;for(let e of t)r+=e;r/=e;let n=0;for(let e of t)n+=(e-r)*(e-r);return Math.sqrt(n/e)}async function Is(t,e,r={}){Ps(t);let n=at(r,"Ng","");Hr(n)||(n=1e4),n=xr(n);let i=at(r,"Np","");Hr(i)||(i=40),i=xr(i);let o=dr(t),s=at(r,"NContiguous","");Hr(s)||(s=100),s=xr(s);let u=at(r,"NRepeat","");Hr(u)||(u=1),u=xr(u);let a=at(r,"NCore","");Hr(a)||(a=1e6),a=xr(a);let l=at(r,"ModeOutLimit","");ys(l,["Mapping","Limit","Random"])||(l="Mapping");let f=at(r,"UseRepeat","");$r(f)||(f=!0);let c=at(r,"UseImmigration","");$r(c)||(c=!0);let d=at(r,"LocalSearchMethod","");ys(d,["None","Neighbor","TA","SA","OneGold","Gold","NelderMead"])||(d="NelderMead");let h=at(r,"funGetBetter"),p=at(r,"funGenerationBefore"),v=at(r,"funGenerationAfter"),m=at(r,"rgaMutationRateStart","");Cr(m)||(m=.05),m=Lr(m);let y=at(r,"rgaMutationRateEnd","");Cr(y)||(y=.05),y=Lr(y);let g=at(r,"rgaMutationRateDynamic","");Cr(g)||(g=0),g=Lr(g);let w=at(r,"rgaSelection","");ys(w,["Roulette Wheel Selection","Tournament Selection","Ranking Selection","Uniform Selection"])||(w="Tournament Selection");let b=at(r,"rgaCrossover","");ys(b,["Flat Crossover","BLX-a Crossover","Linear Crossover","Arithmetical Crossover","Chung Crossover","DE1 Crossover","3P Crossover","3PB Crossover","DE2 Crossover","4P Crossover","4PB Crossover","HS Crossover","Guiding Function"])||(b="BLX-a Crossover");let M=at(r,"rgaMutation","");ys(M,["Constant1","Constant2","Constant3","Linear0.1","Linear0.2","Linear0.3","Exponent0.1","Exponent0.2","Exponent0.3","Global Space"])||(M="Linear0.1");let _=at(r,"rgaElitism","");ys(_,["None","BestOne","HalfPop","AllPop"])||(_="BestOne");let S={"Flat Crossover":2,"BLX-a Crossover":2,"Linear Crossover":2,"Arithmetical Crossover":2,"Chung Crossover":2,"DE1 Crossover":3,"3P Crossover":3,"3PB Crossover":3,"DE2 Crossover":4,"4P Crossover":4,"4PB Crossover":4,"HS Crossover":2,"Guiding Function":2};if(i<S[b])throw new Error(`Np[${i}] is less than the minimum[${S[b]}] required by rgaCrossover[${b}]`);let O=0,E=0,j=0,N=async(t,r)=>{j++;let n=Ve(t.ps,"value"),i=e(n);return vs(i)&&(i=await i),{ps:t.ps,fitness:i}},$=null,A=[],C="",L=0,x=0,R=[],P=[];for(let e=0;e<i;e++){let e=Os(t),r=await N(e);R.push(r)}R=Po(R,"fitness"),A.push(ps(R[0])),$=ps(R[0]);let T=(t=[])=>{let e=new Set(t),r=()=>{let t=_s(0,i-1),r=0;for(;e.has(t)&&(t=_s(0,i-1),r++,!(r>10*i)););return t};if("Roulette Wheel Selection"===w){let t=r(),n=R[t].fitness;for(let t=0;t<i;t++)e.has(t)||n>R[t].fitness&&(n=R[t].fitness);let o=new Array(i).fill(0);for(let t=0;t<i;t++)e.has(t)||(o[t]=1/(R[t].fitness-n+1));return $s(o,Math.random())}if("Tournament Selection"===w){let t=r(),n=t,o=0;for(;(n===t||e.has(n))&&(n=_s(0,i-1),o++,!(o>10*i)););return R[t].fitness<R[n].fitness?t:n}if("Ranking Selection"===w){let t=new Array(i).fill(0);for(let r=0;r<i;r++)e.has(r)||(t[r]=i-r);return $s(t,Math.random())}if("Uniform Selection"===w)return r();throw new Error(`invalid rgaSelection[${w}]`)},F=(e,r,n)=>{let i=Ss(t);for(let s=0;s<o;s++){let o=R[e].ps[s].ind,u=R[r].ps[s].ind,a=Math.min(o,u),l=Math.max(o,u),f=Math.round(n*(l-a));l+=f,a-=f,l=Math.min(l,t[s].n-1),a=Math.max(a,0);let c=_s(a,l);i.ps[s].ind=c,i.ps[s].value=t[s].values[c]}return i},k=(e,r,n,i)=>{let s=Ss(t);for(let u=0;u<o;u++){let o=R[e].ps[u].ind,a=R[r].ps[u].ind,f=Math.round(n*o+i*a);f=Es(f,t[u].n-1,l),s.ps[u].ind=f,s.ps[u].value=t[u].values[f]}return s},D=(e,r,n)=>{let i=Ss(t),s=Ss(t),u=_s(0,o-1),a=R[e].ps[u].ind,l=R[r].ps[u].ind,f=Math.min(a,l),c=Math.max(a,l),d=Math.round(n*(c-f));c+=d,f-=d,c=Math.min(c,t[u].n-1),f=Math.max(f,0);let h=_s(f,c);i.ps[u].ind=h,i.ps[u].value=t[u].values[h],s.ps[u].ind=h,s.ps[u].value=t[u].values[h];for(let t=0;t<u;t++)i.ps[t].ind=R[e].ps[t].ind,i.ps[t].value=R[e].ps[t].value,s.ps[t].ind=R[r].ps[t].ind,s.ps[t].value=R[r].ps[t].value;for(let t=u+1;t<o;t++)i.ps[t].ind=R[r].ps[t].ind,i.ps[t].value=R[r].ps[t].value,s.ps[t].ind=R[e].ps[t].ind,s.ps[t].value=R[e].ps[t].value;return[i,s]},B=(e,r,n,i,s,u)=>{let a=Ss(t);for(let f=0;f<o;f++){let o=R[e].ps[f].ind,c=R[r].ps[f].ind,d=R[n].ps[f].ind,h=Math.round(i*o+s*c+u*d);h=Es(h,t[f].n-1,l),a.ps[f].ind=h,a.ps[f].value=t[f].values[h]}return a},I=(e,r,n,i,s,u,a,f)=>{let c=Ss(t);for(let d=0;d<o;d++){let o=R[e].ps[d].ind,h=R[r].ps[d].ind,p=R[n].ps[d].ind,v=R[i].ps[d].ind,m=Math.round(s*o+u*h+a*p+f*v);m=Es(m,t[d].n-1,l),c.ps[d].ind=m,c.ps[d].value=t[d].values[m]}return c},q=()=>{let e=[];if("Flat Crossover"===b||"BLX-a Crossover"===b||"Linear Crossover"===b||"Arithmetical Crossover"===b||"Chung Crossover"===b)for(;e.length<i;){let t=T(),r=T([t]);if("Flat Crossover"===b)e.push(F(t,r,0));else if("BLX-a Crossover"===b)e.push(F(t,r,.25));else if("Linear Crossover"===b){if(e.push(k(t,r,.5,.5)),e.length>=i)break;if(e.push(k(t,r,1.5,-.5)),e.length>=i)break;e.push(k(t,r,-.5,1.5))}else if("Arithmetical Crossover"===b){let n=Math.random();if(e.push(k(t,r,n,1-n)),e.length>=i)break;e.push(k(t,r,1-n,n))}else if("Chung Crossover"===b){let[n,o]=D(t,r,.25);if(e.push(n),e.length>=i)break;e.push(o)}}else if("DE1 Crossover"===b||"3P Crossover"===b||"3PB Crossover"===b)for(;e.length<i;){let t,r,n,i,o,s;if("DE1 Crossover"===b){t=T(),r=T([t]),n=T([t,r]),i=1,o=1,s=-o}else"3P Crossover"===b?(t=T(),r=T([t]),n=T([t,r]),i=-.4,o=.5,s=.7):"3PB Crossover"===b&&(t=0,r=T([t]),n=T([t,r]),i=-.4,o=.5,s=.7);e.push(B(t,r,n,i,o,s))}else if("DE2 Crossover"===b||"4P Crossover"===b||"4PB Crossover"===b)for(;e.length<i;){let t,r,n,i,o,s,u,a;if("DE2 Crossover"===b){t=0,r=T([t]),n=T([t,r]),i=T([t,r,n]),o=1,s=1-o,u=.2,a=-u}else"4P Crossover"===b?(t=T(),r=T([t]),n=T([t,r]),i=T([t,r,n]),o=.2,s=-.6,u=.5,a=.7):"4PB Crossover"===b&&(t=0,r=T([t]),n=T([t,r]),i=T([t,r,n]),o=.2,s=-.6,u=.5,a=.7);e.push(I(t,r,n,i,o,s,u,a))}else if("HS Crossover"===b)for(let r=0;r<i;r++){let r=Ss(t);for(let t=0;t<o;t++){let e=T();r.ps[t].ind=R[e].ps[t].ind,r.ps[t].value=R[e].ps[t].value}e.push(r)}else{if("Guiding Function"!==b)throw new Error(`invalid rgaCrossover[${b}]`);{let r=[],n=[];for(let e=0;e<o;e++){let o=[],s=[];for(let t=0;t<i;t++)o.push(R[t].ps[e].ind),s.push(R[t].ps[e].ind);r.push(s);let u=t[e].n,a=new Array(u).fill(0);for(let t of o)t>=0&&t<u&&a[t]++;n.push(Bs(a))}for(let t=0;t<i;t++){let i=$s(n,Math.random()),o=$s(r[i].map(t=>t),Math.random()),s=ps(R[t]);s.ps[i].ind=R[o].ps[i].ind,s.ps[i].value=R[o].ps[i].value,e.push(s)}}}return e.length>i&&(e.length=i),e},G=(e,r)=>{for(let n=0;n<i;n++)for(let i=0;i<o;i++)if(Math.random()<r){let r=e[n].ps[i].ind,o=t[i].n;if("Constant1"===M){let t=1;r=Math.random()<.5?r+t:r-t}else if("Constant2"===M){let t=_s(1,2);r=Math.random()<.5?r+t:r-t}else if("Constant3"===M){let t=_s(1,3);r=Math.random()<.5?r+t:r-t}else if("Linear0.1"===M){let t=_s(1,Math.round(.1*o)+1);r=Math.random()<.5?r+t:r-t}else if("Linear0.2"===M){let t=_s(1,Math.round(.2*o)+1);r=Math.random()<.5?r+t:r-t}else if("Linear0.3"===M){let t=_s(1,Math.round(.3*o)+1);r=Math.random()<.5?r+t:r-t}else if("Exponent0.1"===M){let t=Math.floor(Math.pow(.1*o+1,Math.random()));r=Math.random()<.5?r+t:r-t}else if("Exponent0.2"===M){let t=Math.floor(Math.pow(.2*o+1,Math.random()));r=Math.random()<.5?r+t:r-t}else if("Exponent0.3"===M){let t=Math.floor(Math.pow(.3*o+1,Math.random()));r=Math.random()<.5?r+t:r-t}else{if("Global Space"!==M)throw new Error(`invalid rgaMutation[${M}]`);r=_s(0,o-1)}r=Es(r,o-1,l),e[n].ps[i].ind=r,e[n].ps[i].value=t[i].values[r]}return e},U=t=>{if("None"===_)return t;if("BestOne"===_)return t[i-1]=ps(R[0]),t;if("HalfPop"===_){let e=Math.floor(i/2);for(let r=e;r<i;r++)t[r]=ps(R[r-e]);return t}if("AllPop"===_){let e=[];for(let r=0;r<i;r++)e.push(R[r]),e.push(t[r]);return e=Po(e,"fitness"),e.slice(0,i)}throw new Error(`invalid rgaElitism[${_}]`)},H=-1;for(;;){H++;let r={rgaMutationRate:Ns(m,y,g,E,s),rgaSelection:w,rgaCrossover:b,rgaMutation:M,rgaElitism:_,ModeOutLimit:l,LocalSearchMethod:d};if(hn(p)){let t=await p({params:ps(r)});t&&t.params&&(r={...r,...t.params})}w=r.rgaSelection,b=r.rgaCrossover,M=r.rgaMutation,_=r.rgaElitism,l=r.ModeOutLimit,d=r.LocalSearchMethod;let o=r.rgaMutationRate;P=q(),P=G(P,o);for(let t=0;t<i;t++)P[t]=await N(P[t]);P=Po(P,"fitness"),P=U(P),P=Po(P,"fitness");let S=async()=>{for(let e=i-1;e>=1;e--)if(js(P[e-1],P[e])){let r=Os(t),n=await N(r);P[e]=n}P=Po(P,"fitness")};c&&await S();let T=async()=>{let r=await Ds(d,P[0],t,e,N,l);r.fitness>=P[0].fitness||(P[0]=r)};await T(),A.push(ps(P[0])),$.fitness>P[0].fitness?($=ps(P[0]),hn(h)&&h(ps($),H),E=0):E+=1;let F=async()=>{for(let e=1;e<=i-1;e++){let r=Os(t),n=await N(r);P[e]=n}P=Po(P,"fitness"),E=0,O+=1};if(f&&E>=s&&O<u&&await F(),H>=n?C=`stop by Ng[${n}]`:E>=s?C=`stop by iContinue[${E}] >= NContiguous[${s}]`:j>=a&&(C=`stop by iExecute[${j}] >= NCore[${a}]`),hn(v)&&await v({params:ps(r),childrenBestFitness:P[0].fitness}),Wt(C)){L=H,x=j;break}R=ps(P)}return{bestSolution:$,hists:A,stopMode:C,stopNg:L,stopIteration:L,stopExecutions:x}}async function qs(t,e,r={}){Ps(t);let n=at(r,"Ng","");Hr(n)||(n=1e4),n=xr(n);let i=at(r,"Np","");Hr(i)||(i=40),i=xr(i);let o=dr(t),s=at(r,"NContiguous","");Hr(s)||(s=100),s=xr(s);let u=at(r,"NRepeat","");Hr(u)||(u=1),u=xr(u);let a=at(r,"NCore","");Hr(a)||(a=1e6),a=xr(a);let l=at(r,"ModeOutLimit","");ys(l,["Mapping","Limit","Random"])||(l="Mapping");let f=at(r,"UseRepeat","");$r(f)||(f=!0);let c=at(r,"UseImmigration","");$r(c)||(c=!0);let d=at(r,"LocalSearchMethod","");ys(d,["None","Neighbor","TA","SA","OneGold","Gold","NelderMead"])||(d="NelderMead");let h=at(r,"funGetBetter"),p=at(r,"funGenerationBefore"),v=at(r,"funGenerationAfter"),m=at(r,"deCrossoverFactorStart","");Cr(m)||(m=.6),m=Lr(m);let y=at(r,"deCrossoverFactorEnd","");Cr(y)||(y=.6),y=Lr(y);let g=at(r,"deCrossoverFactorDynamic","");Cr(g)||(g=0),g=Lr(g);let w=at(r,"deFStart","");Cr(w)||(w=0),w=Lr(w);let b=at(r,"deFEnd","");Cr(b)||(b=1),b=Lr(b);let M=at(r,"deFDynamic","");Cr(M)||(M=1),M=Lr(M);let _=at(r,"deLandaStart","");Cr(_)||(_=0),_=Lr(_);let S=at(r,"deLandaEnd","");Cr(S)||(S=0),S=Lr(S);let O=at(r,"deLandaDynamic","");Cr(O)||(O=0),O=Lr(O);let E=at(r,"deMutation","");ys(E,["1R2RR","1B2RR","1R2BR","1R4RRRR","1B4RRRR","1R4BRRR","1S4BSRR"])||(E="1B2RR");let j={"1R2RR":3,"1B2RR":2,"1R2BR":2,"1R4RRRR":5,"1B4RRRR":4,"1R4BRRR":4,"1S4BSRR":4};if(i<j[E])throw new Error(`Np[${i}] is less than the minimum[${j[E]}] required by deMutation[${E}]`);let N=0,$=0,A=0,C=async(t,r)=>{A++;let n=Ve(t.ps,"value"),i=e(n);return vs(i)&&(i=await i),{ps:t.ps,fitness:i}},L=null,x=[],R="",P=0,T=0,F=[],k=[];for(let e=0;e<i;e++){let e=Os(t),r=await C(e);F.push(r)}F=Po(F,"fitness"),x.push(ps(F[0])),L=ps(F[0]);let D=(t,e,r,n={})=>{let s=at(n,"deMutation",""),u=at(n,"deCrossoverFactor",""),a=at(n,"deF",""),l=at(n,"deLanda",""),f=at(n,"ModeOutLimit",""),c=null,d=null,h=null,p=null,v=null,m=Ss(t),y=Yr(0,i-1,i);if("1R2RR"===s)c=y[0],d=y[1],h=y[2];else if("1B2RR"===s)c=0,d=y[0],h=y[1];else if("1R2BR"===s)c=y[0],d=0,h=y[1];else if("1R4RRRR"===s)c=y[0],d=y[1],h=y[2],p=y[3],v=y[4];else if("1B4RRRR"===s)c=0,d=y[0],h=y[1],p=y[2],v=y[3];else if("1R4BRRR"===s)c=y[0],d=0,h=y[1],p=y[2],v=y[3];else{if("1S4BSRR"!==s)throw new Error(`invalid deMutation[${s}]`);c=r,d=0,h=r,p=y[2],v=y[3]}let g="3p";7===dr(s)&&(g="5p");let w=_s(0,o-1);for(let n=0;n<o;n++)if(Math.random()<u||n===w){let r=null;r="3p"===g?Math.round(e[c].ps[n].ind+a*(e[d].ps[n].ind-e[h].ps[n].ind)):Math.round(e[c].ps[n].ind+a*(e[d].ps[n].ind-e[h].ps[n].ind)+l*(e[p].ps[n].ind-e[v].ps[n].ind)),r=Es(r,t[n].n-1,f),m.ps[n].ind=r,m.ps[n].value=t[n].values[r]}else m.ps[n].ind=e[r].ps[n].ind,m.ps[n].value=e[r].ps[n].value;return m},B=-1;for(;;){B++;let r={deCrossoverFactor:Ns(m,y,g,$,s),deF:Ns(w,b,M,$,s),deLanda:Ns(_,S,O,$,s),deMutation:E,ModeOutLimit:l,LocalSearchMethod:d};if(hn(p)){let t=await p({params:ps(r)});t&&t.params&&(r={...r,...t.params})}for(let e=0;e<i;e++){let n=D(t,F,e,r),i=await C(n);F[e].fitness>i.fitness?k[e]=i:k[e]=ps(F[e])}k=Po(k,"fitness");let o=async()=>{for(let e=i-1;e>=1;e--)if(js(k[e-1],k[e])){let r=Os(t),n=await C(r);k[e]=n}k=Po(k,"fitness")};c&&await o();let j=async()=>{let n=await Ds(r.LocalSearchMethod,k[0],t,e,C,r.ModeOutLimit);n.fitness>=k[0].fitness||(k[0]=n)};await j(),x.push(ps(k[0])),L.fitness>k[0].fitness?(L=ps(k[0]),hn(h)&&h(ps(L),B),$=0):$+=1;let I=async()=>{for(let e=1;e<=i-1;e++){let r=Os(t),n=await C(r);k[e]=n}k=Po(k,"fitness"),$=0,N+=1};if(f&&$>=s&&N<u&&await I(),B>=n?R=`stop by Ng[${n}]`:$>=s?R=`stop by iContinue[${$}] >= NContiguous[${s}]`:A>=a&&(R=`stop by iExecute[${A}] >= NCore[${a}]`),hn(v)&&await v({params:ps(r),childrenBestFitness:k[0].fitness}),Wt(R)){P=B,T=A;break}F=ps(k)}return{bestSolution:L,hists:x,stopMode:R,stopNg:P,stopIteration:P,stopExecutions:T}}async function Gs(t,e,r={}){Ps(t);let n=at(r,"Ni","");Hr(n)||(n=1e4),n=xr(n);let i=at(r,"Ns","");Hr(i)||(i=20),i=xr(i);let o=dr(t),s=at(r,"NContiguous","");Hr(s)||(s=100),s=xr(s);let u=at(r,"NRepeat","");Hr(u)||(u=1),u=xr(u);let a=at(r,"NCore","");Hr(a)||(a=1e6),a=xr(a);let l=at(r,"ModeOutLimit","");ys(l,["Mapping","Limit","Random"])||(l="Mapping");let f=at(r,"UseRepeat","");$r(f)||(f=!0);let c=at(r,"UseImmigration","");$r(c)||(c=!0);let d=at(r,"LocalSearchMethod","");ys(d,["None","Neighbor","TA","SA","OneGold","Gold","NelderMead"])||(d="NelderMead");let h=at(r,"funGetBetter"),p=at(r,"funGenerationBefore"),v=at(r,"funGenerationAfter"),m=at(r,"hsHMCRStart","");Cr(m)||(m=.9),m=Lr(m);let y=at(r,"hsHMCREnd","");Cr(y)||(y=.9),y=Lr(y);let g=at(r,"hsHMCRDynamic","");Cr(g)||(g=0),g=Lr(g);let w=at(r,"hsPARStart","");Cr(w)||(w=.5),w=Lr(w);let b=at(r,"hsPAREnd","");Cr(b)||(b=.5),b=Lr(b);let M=at(r,"hsPARDynamic","");Cr(M)||(M=0),M=Lr(M);let _=at(r,"hsHMC","");ys(_,["Original","2M Consideration","2MB Consideration","3M Consideration","3MB Consideration","4M Consideration","4MB Consideration"])||(_="Original");let S=at(r,"hsPA","");ys(S,["Constant1","Constant2","Constant3","Linear0.1","Linear0.2","Linear0.3","Exponent0.1","Exponent0.2","Exponent0.3","Global Space","Available Space","Modified Global Best"])||(S="Linear0.1");let O={Original:1,"2M Consideration":2,"2MB Consideration":2,"3M Consideration":3,"3MB Consideration":3,"4M Consideration":4,"4MB Consideration":4};if(i<O[_])throw new Error(`Ns[${i}] is less than the minimum[${O[_]}] required by hsHMC[${_}]`);let E=0,j=0,N=0,$=async(t,r)=>{N++;let n=Ve(t.ps,"value"),i=e(n);return vs(i)&&(i=await i),{ps:t.ps,fitness:i}},A=null,C=[],L="",x=0,R=0,P=[];for(let e=0;e<i;e++){let e=Os(t),r=await $(e);P.push(r)}P=Po(P,"fitness"),C.push(ps(P[0])),A=ps(P[0]);let T=(t=[])=>{let e=new Set(t),r=_s(0,i-1),n=0;for(;e.has(r)&&(r=_s(0,i-1),n++,!(n>10*i)););return r},F=(e,r)=>{let n=Ss(t);for(let s=0;s<o;s++){let o=0,u=t[s].n;if(Math.random()<e){if("Original"===_){let t=_s(0,i-1);o=P[t].ps[s].ind}else if("2M Consideration"===_){let t=_s(0,i-1),e=T([t]),r=P[t].ps[s].ind,n=P[e].ps[s].ind;o=Math.round(.6*r+.6*n)}else if("2MB Consideration"===_){let t=0,e=T([t]),r=P[t].ps[s].ind,n=P[e].ps[s].ind;o=Math.round(.6*r+.6*n)}else if("3M Consideration"===_){let t=_s(0,i-1),e=T([t]),r=T([t,e]),n=P[t].ps[s].ind,u=P[e].ps[s].ind,a=P[r].ps[s].ind;o=Math.round(-.4*n+.5*u+.7*a)}else if("3MB Consideration"===_){let t=0,e=T([t]),r=T([t,e]),n=P[t].ps[s].ind,i=P[e].ps[s].ind,u=P[r].ps[s].ind;o=Math.round(-.4*n+.5*i+.7*u)}else if("4M Consideration"===_){let t=_s(0,i-1),e=T([t]),r=T([t,e]),n=T([t,e,r]),u=P[t].ps[s].ind,a=P[e].ps[s].ind,l=P[r].ps[s].ind,f=P[n].ps[s].ind;o=Math.round(.2*u-.6*a+.5*l+.7*f)}else{if("4MB Consideration"!==_)throw new Error(`invalid hsHMC[${_}]`);{let t=0,e=T([t]),r=T([t,e]),n=T([t,e,r]),i=P[t].ps[s].ind,u=P[e].ps[s].ind,a=P[r].ps[s].ind,l=P[n].ps[s].ind;o=Math.round(.2*i-.6*u+.5*a+.7*l)}}if(Math.random()<r)if("Constant1"===S){let t=1;o=Math.random()<.5?o+t:o-t}else if("Constant2"===S){let t=_s(1,2);o=Math.random()<.5?o+t:o-t}else if("Constant3"===S){let t=_s(1,3);o=Math.random()<.5?o+t:o-t}else if("Linear0.1"===S){let t=_s(1,Math.round(.1*u)+1);o=Math.random()<.5?o+t:o-t}else if("Linear0.2"===S){let t=_s(1,Math.round(.2*u)+1);o=Math.random()<.5?o+t:o-t}else if("Linear0.3"===S){let t=_s(1,Math.round(.3*u)+1);o=Math.random()<.5?o+t:o-t}else if("Exponent0.1"===S){let t=Math.floor(Math.pow(.1*u+1,Math.random()));o=Math.random()<.5?o+t:o-t}else if("Exponent0.2"===S){let t=Math.floor(Math.pow(.2*u+1,Math.random()));o=Math.random()<.5?o+t:o-t}else if("Exponent0.3"===S){let t=Math.floor(Math.pow(.3*u+1,Math.random()));o=Math.random()<.5?o+t:o-t}else if("Global Space"===S)o=_s(0,u-1);else if("Available Space"===S){let t=P[0].ps[s].ind,e=P[0].ps[s].ind;for(let r=1;r<i;r++)t<P[r].ps[s].ind&&(t=P[r].ps[s].ind),e>P[r].ps[s].ind&&(e=P[r].ps[s].ind);if(Math.random()<.5){o=_s(Math.min(o,t),Math.max(o,t))}else{o=_s(Math.min(o,e),Math.max(o,e))}}else{if("Modified Global Best"!==S)throw new Error(`invalid hsPA[${S}]`);o=P[0].ps[s].ind}}else o=_s(0,u-1);o=Es(o,u-1,l),n.ps[s].ind=o,n.ps[s].value=t[s].values[o]}return n},k=-1;for(;;){k++;let r={hsHMCR:Ns(m,y,g,j,s),hsPAR:Ns(w,b,M,j,s),hsHMC:_,hsPA:S,ModeOutLimit:l,LocalSearchMethod:d};if(hn(p)){let t=await p({params:ps(r)});t&&t.params&&(r={...r,...t.params})}_=r.hsHMC,S=r.hsPA,l=r.ModeOutLimit,d=r.LocalSearchMethod;let o=F(r.hsHMCR,r.hsPAR),O=await $(o);P[i-1].fitness>O.fitness&&(P[i-1]=O,P=Po(P,"fitness"));let T=async()=>{for(let e=i-1;e>=1;e--)if(js(P[e-1],P[e])){let r=Os(t),n=await $(r);P[e]=n}P=Po(P,"fitness")},D=async()=>{let r=await Ds(d,P[0],t,e,$,l);r.fitness>=P[0].fitness||(P[0]=r)};(k+1)%i===0&&(c&&await T(),await D()),C.push(ps(P[0])),A.fitness>P[0].fitness?(A=ps(P[0]),hn(h)&&h(ps(A),k),j=0):j+=1;let B=async()=>{for(let e=1;e<=i-1;e++){let r=Os(t),n=await $(r);P[e]=n}P=Po(P,"fitness"),j=0,E+=1};if(f&&j>=s&&E<u&&await B(),k>=n?L=`stop by Ni[${n}]`:j>=s?L=`stop by iContinue[${j}] >= NContiguous[${s}]`:N>=a&&(L=`stop by iExecute[${N}] >= NCore[${a}]`),hn(v)&&await v({params:ps(r),childrenBestFitness:P[0].fitness}),Wt(L)){x=k,R=N;break}}return{bestSolution:A,hists:C,stopMode:L,stopNi:x,stopIteration:x,stopExecutions:R}}async function Us(t,e,r={}){Ps(t);let n=at(r,"Nl","");Hr(n)||(n=1e4),n=xr(n);let i=at(r,"Np","");Hr(i)||(i=40),i=xr(i);let o=dr(t),s=at(r,"NContiguous","");Hr(s)||(s=100),s=xr(s);let u=at(r,"NRepeat","");Hr(u)||(u=1),u=xr(u);let a=at(r,"NCore","");Hr(a)||(a=1e6),a=xr(a);let l=at(r,"ModeOutLimit","");ys(l,["Mapping","Limit","Random"])||(l="Mapping");let f=at(r,"UseRepeat","");$r(f)||(f=!0);let c=at(r,"UseImmigration","");$r(c)||(c=!0);let d=at(r,"LocalSearchMethod","");ys(d,["None","Neighbor","TA","SA","OneGold","Gold","NelderMead"])||(d="NelderMead");let h=at(r,"funGetBetter"),p=at(r,"funEndLoop"),v=at(r,"funGenerationBefore"),m=at(r,"funGenerationAfter"),y=at(r,"psoC1Start","");Cr(y)||(y=2),y=Lr(y);let g=at(r,"psoC1End","");Cr(g)||(g=2),g=Lr(g);let w=at(r,"psoC1Dynamic","");Cr(w)||(w=0),w=Lr(w);let b=at(r,"psoC2Start","");Cr(b)||(b=2),b=Lr(b);let M=at(r,"psoC2End","");Cr(M)||(M=2),M=Lr(M);let _=at(r,"psoC2Dynamic","");Cr(_)||(_=0),_=Lr(_);let S=at(r,"psoBeta","");Cr(S)||(S=.9),S=Lr(S);let O=at(r,"psoGamma","");Cr(O)||(O=.5),O=Lr(O);let E=at(r,"psoInertiaMin","");Cr(E)||(E=.4),E=Lr(E);let j=0,N=0,$=0,A=async(t,r)=>{$++;let n=Ve(t.ps,"value"),i=e(n);return vs(i)&&(i=await i),{ps:t.ps,fitness:i}},C=async e=>{let r=Os(t),n=await A(r),i=[];for(let e=0;e<o;e++){let r=t[e].n;i.push(_s(-(r-1),r-1))}let s=(1+Math.random())*E;return{ps:n.ps,fitness:n.fitness,bs:ps(n),velocity:i,inertia:s}},L=null,x=[],R="",P=0,T=0,F=[],k=null;for(let t=0;t<i;t++){let t=await C();F.push(t)}F=Po(F,"fitness"),k={ps:ps(F[0].ps),fitness:F[0].fitness},x.push(ps(F[0])),L={ps:ps(F[0].ps),fitness:F[0].fitness};let D=async(e,r)=>{let n,s=e+r;n=s>4?2/Math.abs(2-s-Math.sqrt(s*s-4*s)):1;for(let s=0;s<i;s++){let i=F[s],u=Math.random(),a=Math.random();for(let s=0;s<o;s++){let o=0;o+=i.inertia*i.velocity[s],o+=e*u*(i.bs.ps[s].ind-i.ps[s].ind),o+=r*a*(k.ps[s].ind-i.ps[s].ind),o*=n;let l=O*(t[s].n-1),f=-l;i.velocity[s]=Math.max(Math.min(o,l),f)}let f=S*i.inertia;i.inertia=Math.max(Math.min(f,1e4),E);for(let e=0;e<o;e++){let r=Math.round(i.ps[e].ind+i.velocity[e]);r=Es(r,t[e].n-1,l),i.ps[e].ind=r,i.ps[e].value=t[e].values[r]}let c=await A(i);i.fitness=c.fitness,i.bs.fitness>i.fitness&&(i.bs={ps:ps(i.ps),fitness:i.fitness}),k.fitness>i.fitness&&(k={ps:ps(i.ps),fitness:i.fitness})}},B=-1;for(;;){B++;let r={psoC1:Ns(y,g,w,N,s),psoC2:Ns(b,M,_,N,s),psoBeta:S,psoGamma:O,psoInertiaMin:E,ModeOutLimit:l,LocalSearchMethod:d};if(hn(v)){let t=await v({params:ps(r)});t&&t.params&&(r={...r,...t.params})}S=r.psoBeta,O=r.psoGamma,E=r.psoInertiaMin,l=r.ModeOutLimit,d=r.LocalSearchMethod;let o=r.psoC1,I=r.psoC2;await D(o,I),F=Po(F,"fitness");let q=async()=>{for(let t=i-1;t>=1;t--)if(js(F[t-1],F[t])){let e=await C();F[t]=e}F=Po(F,"fitness"),k.fitness>F[0].fitness&&(k={ps:ps(F[0].ps),fitness:F[0].fitness})};c&&await q();let G=async()=>{let r={ps:ps(F[0].ps),fitness:F[0].fitness},n=await Ds(d,r,t,e,A,l);n.fitness>=F[0].fitness||(F[0].ps=n.ps,F[0].fitness=n.fitness,k.fitness>n.fitness&&(k={ps:ps(n.ps),fitness:n.fitness}))};await G(),x.push(ps(F[0])),L.fitness>F[0].fitness?(L={ps:ps(F[0].ps),fitness:F[0].fitness},hn(h)&&h(ps(L),B),N=0):N+=1;let U=async()=>{for(let t=1;t<=i-1;t++){let e=await C();F[t]=e}F=Po(F,"fitness"),N=0,j+=1};if(f&&N>=s&&j<u&&await U(),B>=n?R=`stop by Nl[${n}]`:N>=s?R=`stop by iContinue[${N}] >= NContiguous[${s}]`:$>=a&&(R=`stop by iExecute[${$}] >= NCore[${a}]`),hn(m)&&await m({params:ps(r),childrenBestFitness:F[0].fitness}),Wt(R)){P=B,T=$;break}hn(p)&&p(ps(F),ps(L),B)}return{bestSolution:L,hists:x,stopMode:R,stopNl:P,stopIteration:P,stopExecutions:T}}async function Hs(t,e,r={}){Ps(t);let n=at(r,"Nl","");Hr(n)||(n=1e4),n=xr(n);let i=at(r,"Na","");Hr(i)||(i=40),i=xr(i);let o=dr(t),s=at(r,"NContiguous","");Hr(s)||(s=100),s=xr(s);let u=at(r,"NRepeat","");Hr(u)||(u=1),u=xr(u);let a=at(r,"NCore","");Hr(a)||(a=1e6),a=xr(a);let l=at(r,"UseRepeat","");$r(l)||(l=!0);let f=at(r,"UseImmigration","");$r(f)||(f=!0);let c=at(r,"LocalSearchMethod","");ys(c,["None","Neighbor","TA","SA","OneGold","Gold","NelderMead"])||(c="NelderMead");let d=at(r,"ModeOutLimit","");ys(d,["Mapping","Limit","Random"])||(d="Mapping");let h=at(r,"UseForcedExplore","");$r(h)||(h=!0);let p=at(r,"funGetBetter"),v=at(r,"funEndLoop"),m=at(r,"funGenerationBefore"),y=at(r,"funGenerationAfter"),g=at(r,"acoExploitationRateStart","");Cr(g)||(g=.8),g=Lr(g);let w=at(r,"acoExploitationRateEnd","");Cr(w)||(w=.8),w=Lr(w);let b=at(r,"acoExploitationRateDynamic","");Cr(b)||(b=0),b=Lr(b);let M=at(r,"acoAlphaStart","");Cr(M)||(M=.1),M=Lr(M);let _=at(r,"acoAlphaEnd","");Cr(_)||(_=.1),_=Lr(_);let S=at(r,"acoAlphaDynamic","");Cr(S)||(S=0),S=Lr(S);let O=at(r,"acoRoStart","");Cr(O)||(O=.1),O=Lr(O);let E=at(r,"acoRoEnd","");Cr(E)||(E=.1),E=Lr(E);let j=at(r,"acoRoDynamic","");Cr(j)||(j=0),j=Lr(j);let N=0,$=0,A=0,C=async(t,r)=>{A++;let n=Ve(t.ps,"value"),i=e(n);return vs(i)&&(i=await i),{ps:t.ps,fitness:i}},L=null,x=[],R="",P=0,T=0,F=[],k=[];for(let e=0;e<o;e++)k.push(new Array(t[e].n).fill(0));let D=(t,e)=>{let r;r=t.fitness>=1?t.fitness:Math.exp(t.fitness)/Math.exp(1),r=1/r;for(let n=0;n<o;n++){let i=t.ps[n].ind;k[n][i]=(1-e)*k[n][i]+e*r}};for(let e=0;e<i;e++){let e=Os(t),r=await C(e);F.push(r),D(r,O)}F=Po(F,"fitness"),D(F[0],M),x.push(ps(F[0])),L=ps(F[0]);let B=async(e,r,n)=>{for(let r=0;r<i;r++){for(let n=0;n<o;n++){let i,o=k[n].length,s=0;for(let t=0;t<o;t++)0===k[n][t]&&s++;if(Math.random()<e)i=s===o?_s(0,o-1):$s(k[n],Math.random());else if(s===o||0===s)i=_s(0,o-1);else{let t=[];for(let e=0;e<o;e++)0===k[n][e]&&t.push(e);i=t[_s(0,t.length-1)]}F[r].ps[n].ind=i,F[r].ps[n].value=t[n].values[i]}let n=await C(F[r]);F[r]=n}for(let t=0;t<i;t++)D(F[t],n);F=Po(F,"fitness"),D(F[0],r)},I=-1;for(;;){I++;let r={acoExploitationRate:Ns(g,w,b,$,s),acoAlpha:Ns(M,_,S,$,s),acoRo:Ns(O,E,j,$,s),ModeOutLimit:d,LocalSearchMethod:c};if(hn(m)){let t=await m({params:ps(r)});t&&t.params&&(r={...r,...t.params})}d=r.ModeOutLimit,c=r.LocalSearchMethod;let o=r.acoExploitationRate,k=r.acoAlpha,q=r.acoRo;await B(o,k,q);let G=async()=>{for(let e=i-1;e>=1;e--)if(js(F[e-1],F[e])){let r=Os(t),n=await C(r);F[e]=n,D(n,q)}F=Po(F,"fitness")};f&&await G();let U=async()=>{let r=await Ds(c,F[0],t,e,C,d);r.fitness>=F[0].fitness||(F[0]=r)};if(await U(),x.push(ps(F[0])),L.fitness>F[0].fitness?(L=ps(F[0]),hn(p)&&p(ps(L),I),$=0):$+=1,l&&$>=s&&N<u){for(let e=1;e<=i-1;e++){let r=Os(t),n=await C(r);F[e]=n,D(n,q)}F=Po(F,"fitness"),$=0,N+=1}else if(h){for(let e=Math.floor(i/2);e<=i-1;e++){let r=Os(t),n=await C(r);F[e]=n,D(n,q)}F=Po(F,"fitness")}if(I>=n?R=`stop by Nl[${n}]`:$>=s?R=`stop by iContinue[${$}] >= NContiguous[${s}]`:A>=a&&(R=`stop by iExecute[${A}] >= NCore[${a}]`),hn(y)&&await y({params:ps(r),childrenBestFitness:F[0].fitness}),Wt(R)){P=I,T=A;break}hn(v)&&v(ps(F),ps(L),I)}return{bestSolution:L,hists:x,stopMode:R,stopNl:P,stopIteration:P,stopExecutions:T}}function Ys(t,e,r){var n=null==t?0:t.length;return n?Zr(t,(e=r||void 0===e?1:Sr(e))<0?0:e,n):[]}var zs=Array.prototype.reverse;function Ws(t,e){return Wt(t)&&gn(e)?0===(e=xr(e))?t:$n(t,t.length-e):""}function Zs(t,e={}){let r=at(e,"excludeString");if($r(r)||(r=!1),!Wt(t))return"";let n=t=>t>="0"&&t<="9"||"."===t||"-"===t||"+"===t,i=cn(t);if(r){let t=i.split("");for(let e=0;e<t.length;e++)if(n(t[e])){i=Ws(i,e),t=Ys(t,e);break}t=null==(o=t)?o:zs.call(o);for(let e=0;e<t.length;e++)if(n(t[e])){i=An(i,e);break}}var o;return i}function Vs(t){let e=0,r=0,n=0,i=dr(t);Wr(t,t=>{Cr(t)?e+=1:zt(t)?r+=1:jn(t)&&(n+=1)});let o="";return e===i?o="num":r===i?o="str":n===i?o="obj":e+r===i?o="str":console.log("eles in array are non-homogeneous",t),o}function Js(t,e,r={}){let n=[];if("num"!==e&&"str"!==e&&"files"!==e)throw new Error(`invalid type[${e}]`);if("num"===e)n=Ve(t,(t,e)=>({key:e,payload:t,value:Lr(t)}));else if("files"===e)n=Ve(t,(t,e)=>({key:e,payload:t,value:ws(t)}));else if("str"===e){let e=Ve(t,t=>Zs(t,{excludeString:!0})),r=0;Wr(e,t=>{Cr(t)&&r++});let i=r===dr(e);n=Ve(t,(t,r)=>{let n=t;return i?(n=e[r],n=Lr(n)):n=ws(n),{key:r,payload:t,value:n}})}return n}function Xs(t,e){let r=Po(t,"value");return Ve(r,e?"key":"payload")}function Ks(t,e){let r=function(t,e){let r=ps(t);return r.sort((t,r)=>t[e].localeCompare(r[e],"standard",{numeric:!0})),r}(t,"value");return Ve(r,e?"key":"payload")}function Qs(t,e){return!!jn(t)&&(!(!Wt(e)&&!Cr(e))&&e in t)}function tu(t,e){let r=function(){let t,e,r=new Promise(function(){t=arguments[0],e=arguments[1]});return r.resolve=t,r.reject=e,r}();if(!Nn(t)&&!jn(t))return r.reject("rs is not an array or object"),r;let n=!1;if(jn(t)){n=!0;let e=[];Wr(t,(t,r)=>{e.push({k:r,v:t})}),t=e}hn(e)||(e=function(t){return t});let i=-1,o=[];return t.reduce(function(t,r){return t.then(function(t){o.push(t),i+=1;let s=i,u=r;return n&&(s=r.k,u=r.v),hn(e)?e(u,s):u})},Promise.resolve()).then(function(t){o.push(t),o=Ys(o),r.resolve(o)}).catch(function(t){r.reject(t)}),r}function eu(t,e){var r=[];return We(t,function(t,n,i){e(t,n,i)&&r.push(t)}),r}function ru(t,e){return(n(t)?se:eu)(t,Ue(e))}let nu=(t,e,r,n,i)=>{if(!(Cr(o=e)&&Lr(o)>0))throw new Error(`uIni[${e}] is not a positive number`);var o;if(!Wt(n))throw new Error(`invalid timeOhlcStart[${n}]`);if(!Wt(i))throw new Error(`invalid timeOhlcEnd[${i}]`);r=Po(r,"timeStart");let s=[],u=[];Wr(r,t=>{Wt(t.modeResult)?s.push(t):u.push(t)});let a=dr(r),l=dr(s),f=dr(u),c=wn(dr(ru(r,{modeResult:"profit"}))/l*100,2)+"%",d=0,h="",p="",v=0,m="",y="",g="",w=0,b="",M=0,_=0,S=e,O=e,E={},j={};Wr(r,t=>{if(Wt(t.modeResult)){S=Math.max(S,t.uEquity);let e=S-t.uEquity,r=wn(e/S*100,2)+"%";e>d&&(d=e,O=S,h=r)}{let e=null;e=1,Wt(t.timeStart)&&(Qs(E,t.timeStart)||(E[t.timeStart]=0),E[t.timeStart]+=e*t.uTrade,Qs(j,t.timeStart)||(j[t.timeStart]=0),j[t.timeStart]+=1),Wt(t.timeEnd)&&(Qs(E,t.timeEnd)||(E[t.timeEnd]=0),E[t.timeEnd]-=e*t.uTrade,Qs(j,t.timeEnd)||(j[t.timeEnd]=0),j[t.timeEnd]-=1)}});{let t=[];Wr(E,(e,r)=>{if(!gs(e))throw console.log("time",r),new Error(`invalid uTradeAll[${e}]`);t.push({time:r,uTradeAll:e})}),t=Po(t,"time");let e=0,r=Ve(t,t=>(e+=t.uTradeAll,{...t,uAccm:e})),n={};Wr(r,t=>{n[t.time]=t.uAccm}),E=n}{let t=[];Wr(j,(e,r)=>{if(!gs(e))throw console.log("time",r),new Error(`invalid numTradeAll[${e}]`);t.push({time:r,numTradeAll:e})}),t=Po(t,"time");let e=0,r=Ve(t,t=>(e+=t.numTradeAll,{...t,nAccm:e})),n={};Wr(r,t=>{n[t.time]=t.nAccm}),j=n}r=Ve(r,t=>{let r=at(E,t.timeStart,null);if(!gs(r))throw new Error("invalid uTradeAll");r=Math.abs(r),t.uTradeAll=r;let n=wn(t.uTradeAll/e*100,2)+"%";t.rTradeAll=n,w<t.uTradeAll&&(w=t.uTradeAll,b=t.rTradeAll);let i=at(j,t.timeStart,null);if(!gs(i))throw new Error("invalid numTradeAll");return t.numTradeAll=i,M<t.numTradeAll&&(M=t.numTradeAll),t});{let t=dr(s)-1;v=at(s,`${t}.uEquity`,""),m=at(s,`${t}.uCumuProfitOrLoss`,""),y=at(s,`${t}.rCumuProfitOrLoss`,"")}{let t;t=O-e+w>0?d/(O-e+w):0,p=wn(100*t,2)+"%"}g=w>0&&gs(m)?m/w:0,g=wn(100*g,2)+"%";{let t=0,e=0,r=0,n=0;Wr(s,t=>{let e=t.rProfitOrLossDay*t.dayHold;r+=e;let i=t.dayHold;n+=i}),n>0&&(t=r/n);let i=0;Wr(s,e=>{let r=e.rProfitOrLossDay-t,n=e.dayHold*(r*r);i+=n}),n>1&&(e=Math.sqrt(i/(n-1))),e>0&&(_=t/e*Math.sqrt(252)),_<-10&&(_=-10),_>10&&(_=10)}let N=t(n),$=t(i).diff(N,"day"),A=$/365,C="";{let t;t=0===e||0===A?0:(v-e)/e/A,C=`${wn(100*t,2)}%`}let L="";{let t;t=0===w||0===A?0:(v-e)/w/A,L=`${wn(100*t,2)}%`}return{btDays:$,btYears:wn(A,1),numTrade:a,numTradeFin:l,numTradeUnsettled:f,uTradeAllMax:w,rTradeAllMax:b,numTradeAllMax:M,uDrawdownMax:d,rDrawdownMax:h,rEquivalentDrawdownMax:p,rSharpe:_,rWin:c,uEquityFinal:v,uCumuProfitOrLossFinal:m,rCumuProfitOrLossFinal:y,rCumuProfitOrLossFinalNormYear:C,rEquivalentCumuProfitOrLossFinal:g,rEquivalentCumuProfitOrLossFinalNormYear:L}},iu=async(t,e,r,n={})=>{let i=at(e,"mode","");if("long"!==i&&"short"!==i)throw new Error(`invalid strategy.mode[${i}] not 'long' or 'short'`);let o=at(e,"keyOhlc","");if(!Wt(o))throw new Error("invalid strategy.keyOhlc");let s=at(e,"conds",[]);if(!Pn(s))throw new Error("invalid strategy.conds");let u=dr(s),a=at(e,"settings",{});if(Rs(a)||(a={uIni:1e3,uTrade:1,rTakeProfit:.05,rStopLoss:.03,rFee:5e-4}),!hn(r))throw new Error("funGetSeries is not a function");let l=at(n,"withCalcOrderProfitOrLoss",!0),f=at(n,"withSummary",!0),c=await r(o),d={},h={};await tu(s,async t=>{let e=await r(t.key);Qs(h,t.key)||(h[t.key]={}),Wr(e,e=>{h[t.key][e.time]=e.param,Qs(d,e.time)||(d[e.time]=0),d[e.time]+=1})});let p=[];Wr(d,(t,e)=>{t===u&&p.push(e)}),p=function(t,e={}){if(!Pn(t))return[];if(1===dr(t))return t;let r=at(e,"localeCompare");$r(r)||(r=!1);let n=at(e,"returnIndex");$r(n)||(n=!1);let i=at(e,"compareKey",null),o=null;o=r?Ks:Xs;let s,u=Vs(t);if(""===u)return[];if("obj"===u){if(!Wt(i))return[];let u=Ve(t,(t,e)=>at(t,i,"")),a=Vs(u);if("num"!==a&&"str"!==a)return[];{r&&(a="files");let i=o(Js(u,a,e),!0);s=n?i:Ve(i,e=>t[e])}}else"num"!==u&&"str"!==u||(r&&(u="files"),s=o(Js(t,u,e),n));return s}(p);let v={};Wr(p,t=>{v[t]=!0});let m={};Wr(p,t=>{m[t]={},Wr(s,e=>{m[t][e.key]=h[e.key][t]})});let y=at((g=c)&&g.length?g[0]:void 0,"time","");var g;let w=at(function(t){var e=null==t?0:t.length;return e?t[e-1]:void 0}(c),"time",""),b=[];await tu(c,async t=>{let e=at(t,"time");if(!Qs(v,e))return!0;let r=!0;{let t=[];Wr(s,(r,n)=>{let i=m[e][r.key],o=at(r,"sym",">"),s=at(r,"th",0),u=at(r,"opr",null);"and"!==u&&"or"!==u&&(u="and");let a=!1;a=">"===o?i>s:i<s,t.push({opr:u,b:a})});let n=t.filter(t=>"and"===t.opr).every(t=>t.b),i=t.filter(t=>"or"===t.opr),o=0===i.length||i.some(t=>t.b);r=n&&o}let n=!1,o=!1;if(r&&("long"===i?n=!0:o=!0),n){let r={mode:"long",timeStart:e,priceStart:t.Close,uTrade:a.uTrade,rTakeProfit:a.rTakeProfit,priceTakeProfit:(1+a.rTakeProfit)*t.Close,rStopLoss:a.rStopLoss,priceStopLoss:(1-a.rStopLoss)*t.Close,timeEnd:"",priceEnd:"",modeResult:"",rFee:a.rFee,uFee:a.rFee*a.uTrade,uProfitOrLoss:"",rProfitOrLoss:"",uCumuProfitOrLoss:"",rCumuProfitOrLoss:"",uEquity:"",uTradeAll:"",rTradeAll:""};b.push(r)}else if(o){let r={mode:"short",timeStart:e,priceStart:t.Close,uTrade:a.uTrade,rTakeProfit:a.rTakeProfit,priceTakeProfit:(1-a.rTakeProfit)*t.Close,rStopLoss:a.rStopLoss,priceStopLoss:(1+a.rStopLoss)*t.Close,timeEnd:"",priceEnd:"",modeResult:"",rFee:a.rFee,uFee:a.rFee*a.uTrade,uProfitOrLoss:"",rProfitOrLoss:"",uCumuProfitOrLoss:"",rCumuProfitOrLoss:"",uEquity:"",uTradeAll:"",rTradeAll:""};b.push(r)}}),l&&(b=await(async(t,e,r={})=>{e=Po(e,"timeStart");let n=at(r,"uIni",1e3),i={};Wr(t,t=>{i[t.time]=t});let o={},s=n,u=0;Wr(e,(t,e)=>{Wr(i,r=>{if(r.time<=t.timeStart)return delete i[r.time],!0;if("long"===t.mode){if(r.Low<=t.priceStopLoss)return t.timeEnd=r.time,t.priceEnd=t.priceStopLoss,t.uProfitOrLoss=t.uTrade*(t.priceEnd/t.priceStart)-t.uTrade-2*t.uFee,t.rProfitOrLoss=t.uProfitOrLoss/t.uTrade,u+=t.uProfitOrLoss,t.uCumuProfitOrLoss=u,t.rCumuProfitOrLoss=wn(t.uCumuProfitOrLoss/n*100,2)+"%",s+=t.uProfitOrLoss,t.uEquity=s,t.modeResult=t.uProfitOrLoss<0?"loss":"profit",o[e]=t,!1;if(r.High>=t.priceTakeProfit)return t.timeEnd=r.time,t.priceEnd=t.priceTakeProfit,t.uProfitOrLoss=t.uTrade*(t.priceEnd/t.priceStart)-t.uTrade-2*t.uFee,t.rProfitOrLoss=t.uProfitOrLoss/t.uTrade,u+=t.uProfitOrLoss,t.uCumuProfitOrLoss=u,t.rCumuProfitOrLoss=wn(t.uCumuProfitOrLoss/n*100,2)+"%",s+=t.uProfitOrLoss,t.uEquity=s,t.modeResult=t.uProfitOrLoss<0?"loss":"profit",o[e]=t,!1}else{if(r.High>=t.priceStopLoss)return t.timeEnd=r.time,t.priceEnd=t.priceStopLoss,t.uProfitOrLoss=(t.priceStart-t.priceEnd)*(t.uTrade/t.priceStart)-2*t.uFee,t.rProfitOrLoss=t.uProfitOrLoss/t.uTrade,u+=t.uProfitOrLoss,t.uCumuProfitOrLoss=u,t.rCumuProfitOrLoss=wn(t.uCumuProfitOrLoss/n*100,2)+"%",s+=t.uProfitOrLoss,t.uEquity=s,t.modeResult=t.uProfitOrLoss<0?"loss":"profit",o[e]=t,!1;if(r.Low<=t.priceTakeProfit)return t.timeEnd=r.time,t.priceEnd=t.priceTakeProfit,t.uProfitOrLoss=(t.priceStart-t.priceEnd)*(t.uTrade/t.priceStart)-2*t.uFee,t.rProfitOrLoss=t.uProfitOrLoss/t.uTrade,u+=t.uProfitOrLoss,t.uCumuProfitOrLoss=u,t.rCumuProfitOrLoss=wn(t.uCumuProfitOrLoss/n*100,2)+"%",s+=t.uProfitOrLoss,t.uEquity=s,t.modeResult=t.uProfitOrLoss<0?"loss":"profit",o[e]=t,!1}})});{let t=[];Wr(e,(e,r)=>{let n=null;n=Qs(o,r)?o[r]:e,t.push(n)}),e=t}return e})(c,b,{uIni:a.uIni}));let M={timeTest:t().format("YYYY-MM-DDTHH:mm:ssZ"),timeOhlcStart:y,timeOhlcEnd:w,uIni:at(a,"uIni","")};if(f){b=((t,e)=>Ve(e,e=>{if(!Wt(e.modeResult))return e;let r=t(e.timeStart),n=t(e.timeEnd),i=r.format("YYYY-MM-DD"),o=n.format("YYYY-MM-DD"),s=t(i,"YYYY-MM-DD"),u=t(o,"YYYY-MM-DD").diff(s,"day")+1;e.dayHold=u;let a=0;return 1+e.rProfitOrLoss>=0&&(a=Math.pow(1+e.rProfitOrLoss,1/e.dayHold)-1),e.rProfitOrLossDay=a,e}))(t,b);let e=nu(t,a.uIni,b,y,w);M={...M,...e}}return{orders:b,summary:M}};var ou=Array.prototype.join;function su(t,e){return null==t?"":ou.call(t,e)}let uu={dlmSeps:" ║ ",dlmPkgs:" ⊙ "},au=(t,e,r,n)=>{let i=su([r,...n],uu.dlmSeps);return i=i.replaceAll(`${t}_`,""),i=i.replaceAll(`${e}_`,""),i=i.replaceAll("price_","p_"),i=i.replaceAll("index_","i_"),i=i.replaceAll("Ohlc_","o_"),i=i.replaceAll("Close_","c_"),i=i.replaceAll("Volumn_","v_"),i},lu=(t,e,r,n)=>{let i=su([r,...Ve(n,t=>`${t.key}${t.sym}${t.th}`)],uu.dlmSeps);return i=i.replaceAll(`${t}_`,""),i=i.replaceAll(`${e}_`,""),i=i.replaceAll("price_","p_"),i=i.replaceAll("index_","i_"),i=i.replaceAll("Ohlc_","o_"),i=i.replaceAll("Close_","c_"),i=i.replaceAll("Volumn_","v_"),i},fu=t=>(t=ws(t)).indexOf("%")<0?0:(t=Lr(t=t.replace("%","")),t/=100),cu=t=>{if(!Cr(t))throw new Error(`numTrade[${t}] is not a number`);let e=0;return e=(t=xr(t))<=0?0:t<=5?1:t<=9?2:t<=24?11:t<=49?12:t<=74?13:t<=99?14:t<=249?101:t<=499?102:t<=749?103:t<=999?104:t<=1999?1001:t<=2999?1002:t<=3999?1003:t<=4999?1004:100,e},du=(t,e)=>{let r=xr(e.numTrade),n=t.uIni,i=e.uEquityFinal-n,o=fu(e.rEquivalentCumuProfitOrLossFinalNormYear);o=Math.min(Math.max(o,0),.5),o/=.5;let s=1-o,u=fu(e.rWin);u=Math.min(Math.max(u,0),1);let a=0;return a+=2*(1-u),a+=1*s,0===r&&(a+=1e6),i<=0&&(a+=1e6),a},hu=(t,e,n,i,o,s)=>{let u=au(t,e,n,i),a=xr(s.numTrade),l=cu(a);return`${n}_${l}_${r.createHash("md5").update(`${t}:${e}:${u}:${l}`,"utf8").digest("hex").slice(0,16)}.json`},pu=async(r,n,i,o,s,u,a,l,f,c,d,h={})=>{if(!Wt(n))throw new Error(`invalid name[${n}]`);if(!Wt(i))throw new Error(`invalid symbol[${i}]`);if(!Wt(o))throw new Error(`invalid interval[${o}]`);if(!Wt(s))throw new Error(`invalid fdOhlc[${s}]`);if(!Wt(u))throw new Error(`invalid fdParam[${u}]`);if(!Wt(a))throw new Error(`invalid timeStart[${a}]`);if(!Wt(l))throw new Error(`invalid timeEnd[${l}]`);if("long"!==f&&"short"!==f)throw new Error(`invalid mode[${f}]`);if(!Pn(c))throw new Error(`invalid keys[${c}]`);if(!Wt(d))throw new Error(`invalid fdData[${d}]`);let p=at(h,"methodOml","");"RGA"!==p&&"DE"!==p&&"HS"!==p&&"PSO"!==p&&"ACO"!==p&&(p="PSO");let v=at(h,"thsTp",null);Pn(v)||(v=[1,2,3,4,5,6,7,8,9,10]);let m=at(h,"thsSl",null);Pn(m)||(m=[1,2,3,4,5,6,7,8,9,10]);let y=at(h,"thNumTrade",null);Cr(y)||(y=1);let g=at(h,"thRWin",null);Cr(g)||(g=.5);let w=at(h,"thREquivalentCumuProfitOrLossFinalNormYear",null);Cr(w)||(w=.15);let b=at(h,"funRunStrategyCustom",null),M=at(h,"useRunStrategyBeforeSave",null);$r(M)||(M=!1);let _=at(h,"funRunStrategyCustomBeforeSave",null),S=at(h,"useShowLog",null),O=yn(s,u);On(d)||_n(d,{fs:e});let E=await O.buildGetTimeSeriesByTimeRange(a,l),j=au(n,o,f,c),N=[];{let t;t=m,t=Ve(t,t=>t/100),N.push({values:t,n:dr(t)}),t=v,t=Ve(t,t=>t/100),N.push({values:t,n:dr(t)})}Wr(c,()=>{let t=Tn(-2,2,40);t=Ve(t,t=>t+10);let e=Tn(-2,2,40);e=Ve(e,t=>t-10);let r=[...t,...e];N.push({values:r,n:dr(r)})});let $=(t,e,r,i)=>{if(!Sn(t))return!0;let s=at(En(t),"success",null);if(null===s)return!0;let u=at(s,"tkid",""),a=at(s,"name",""),l=at(s,"interval","");if(Wt(u)&&u!==r||Wt(a)&&a!==n||Wt(l)&&l!==o)throw new Error(`hash collision: fnStrategy[${e}], tkidOld[${u}] vs tkid[${r}], nameOld[${a}] vs name[${n}], intervalOld[${l}] vs interval[${o}]`);let f=fu(at(s,"summary.rEquivalentCumuProfitOrLossFinalNormYear",""));return i>f&&(S&&console.log("覆寫較差策略...",`${i} > ${f}`,t),!0)},A=0,C=1e20,L=Us;"RGA"===p?L=Is:"DE"===p?L=qs:"HS"===p?L=Gs:"PSO"===p?L=Us:"ACO"===p&&(L=Hs);let x=await L(N,async e=>{A++;let s=e[0];s=Nr(s,3);let u=e[1];u=Nr(u,3);let h=Ve(c,(t,r)=>{let n=r+2,i=at(e,n,null);if(null===i)throw console.log("xs",e),console.log("ix",n),console.log("key",t),console.log("i",r),new Error("invalid x");let o="",s=null;return i<0?(o="<",s=i+10,s=wo(s,3)):(o=">",s=i-10,s=wo(s,3)),{key:t,sym:o,th:s}}),O=lu(n,o,f,h),N={tid:j,sid:O,name:n,symbol:i,interval:o,keyOhlc:`${n}_price_${o}`,mode:f,conds:h,settings:{uIni:1e3,uTrade:1,rTakeProfit:u,rStopLoss:s,rFee:5e-4}},L=null;L=hn(b)?await b({ott:r,strategy:N,funGetSeries:E}):await iu(r,N,E);let x=fu(L.summary.rEquivalentCumuProfitOrLossFinalNormYear),R=fu(L.summary.rWin),P=t=>{let e=du(N.settings,t.summary),n=xr(t.summary.numTrade),i=cu(n),o=`${j}:${i}`;return{...N,tkid:o,numTrade:n,levelNumTrade:i,keys:c,summary:t.summary,fitness:e,solve:{timeStart:a,timeEnd:l,methodOml:p,thNumTrade:y,thRWin:g,thREquivalentCumuProfitOrLossFinalNormYear:w,thsTp:v,thsSl:m,timeSolved:r().format("YYYY-MM-DDTHH:mm:ss")}}},T=P(L),F={"方向":T.mode,"每次下單金額":T.settings.uTrade,"止盈":wn(100*T.settings.rTakeProfit,1)+"%","止損":wn(100*T.settings.rStopLoss,1)+"%","最大持倉比例":T.summary.rTradeAllMax,"交易次數":T.summary.numTrade,"最大回撤率":T.summary.rDrawdownMax,"勝率":T.summary.rWin,"夏普值":wn(T.summary.rSharpe,4),"最終盈虧":T.summary.rCumuProfitOrLossFinal,"最終等效盈虧":T.summary.rEquivalentCumuProfitOrLossFinal,"最終等效年化盈虧":T.summary.rEquivalentCumuProfitOrLossFinalNormYear,fitness:T.fitness};if(C>T.fitness&&(S&&console.log(A,"更新最佳解",F),C=T.fitness),T.numTrade>=y&&R>=g&&x>=w){S&&console.log(A,"可用參數組",F);let e=hu(n,o,f,c,0,L.summary),i=t.resolve(d,e),s=$(i,e,T.tkid,x);if(s){if(M){L=hn(_)?await _({ott:r,strategy:N,funGetSeries:E}):await iu(r,N,E),T=P(L);let u=hu(n,o,f,c,0,L.summary);u!==e&&(e=u,i=t.resolve(d,e),s=$(i,e,T.tkid,fu(at(L,"summary.rEquivalentCumuProfitOrLossFinalNormYear",""))))}s&&xn(i,T,{useFormat:!0})}}return T.fitness},{...h});return S&&(console.log("bestSolution",x.bestSolution),console.log("stopMode",x.stopMode),console.log("stopIteration",x.stopIteration),console.log("stopExecutions",x.stopExecutions)),x},vu=async(t,e,r,n,i,o,s,u,a,l,f,c={})=>{if(!Wt(e))throw new Error(`invalid name[${e}]`);if(!Wt(r))throw new Error(`invalid symbol[${r}]`);if(!Wt(n))throw new Error(`invalid interval[${n}]`);if(!Wt(i))throw new Error(`invalid fdOhlc[${i}]`);if(!Wt(o))throw new Error(`invalid fdParam[${o}]`);if(!Wt(s))throw new Error(`invalid timeStart[${s}]`);if(!Wt(u))throw new Error(`invalid timeEnd[${u}]`);if("long"!==a&&"short"!==a)throw new Error(`invalid mode[${a}]`);if(!hn(l))throw new Error("funPickKeys is not a function");if(!Wt(f))throw new Error(`invalid fdData[${f}]`);let d=at(c,"funFilterKeysNorm",null),h=at(c,"funFilterKeysIndex",null),p=at(c,"funFilterKeysVolumn",null),v=yn(i,o).getKeysParam(),m=[],y=[],g=[];Wr(v,t=>{let e=0===t.indexOf("index_"),r=t.indexOf("_vbs_")>=0,n=!(e||r);e?m.push(t):r?y.push(t):n&&g.push(t)}),hn(d)&&(g=await d(g)),hn(h)&&(m=await h(m)),hn(p)&&(y=await p(y));let w=l({keysNorm:g,keysIndex:m,keysVolumn:y});await pu(t,e,r,n,i,o,s,u,a,w,f,c)},mu=async(t,e,r,n,i,o,s,u,a,l,f,c={})=>{if(!Wt(e))throw new Error(`invalid name[${e}]`);if(!Wt(r))throw new Error(`invalid symbol[${r}]`);if(!Wt(n))throw new Error(`invalid interval[${n}]`);if(!Wt(i))throw new Error(`invalid fdOhlc[${i}]`);if(!Wt(o))throw new Error(`invalid fdParam[${o}]`);if(!Wt(s))throw new Error(`invalid timeStart[${s}]`);if(!Wt(u))throw new Error(`invalid timeEnd[${u}]`);if("long"!==a&&"short"!==a)throw new Error(`invalid mode[${a}]`);if(!Wt(l))throw new Error(`invalid comps[${l}]`);if(!Wt(f))throw new Error(`invalid fdData[${f}]`);let d=dn(l,",");if(3!==dr(d))throw new Error(`comps[${l}]非預期`);d=Ve(d,xr);let h=(t,e)=>Ve(Yr(0,dr(t)-1,e),e=>at(t,e));await vu(t,e,r,n,i,o,s,u,a,({keysNorm:t,keysIndex:e,keysVolumn:r})=>{let n=[];return d[0]>=1&&(n=[...n,...h(t,d[0])]),d[1]>=1&&(n=[...n,...h(e,d[1])]),d[2]>=1&&(n=[...n,...h(r,d[2])]),n},f,c)};function yu(r,n=1){return function(t,e=1,r={}){let n=1,i=at(r,"path"),o=at(r,"fs");if(!Mn(t,{fs:o}))throw new Error(`fd[${t}] is not a folder`);return null!==e&&Hr(e)&&(e=xr(e))<1&&(e=1),function t(r){let s=[];return Mn(r,{fs:o})?(Wr(o.readdirSync(r),function(u){let a=i.resolve(r,u),l=null;try{l=o.statSync(a)}catch(t){}l&&l.isDirectory()?(s.push({isFolder:!0,level:n,path:a,name:i.basename(a)}),n+=1,(n<=e||null===e)&&(s=s.concat(t(a))),n-=1):s.push({isFolder:!1,level:n,path:a,name:i.basename(a)})}),s):s}(t)}(r,n,{path:t,fs:e})}let gu=/^(long|short)_\d+_[0-9a-f]{16}\.json$/;return{estimFinder:async(t,e,r,i,o,s,u,a={})=>{if(!Wt(e))throw new Error(`invalid name[${e}]`);if(!Wt(r))throw new Error(`invalid symbol[${r}]`);if(!Wt(i))throw new Error(`invalid interval[${i}]`);if(!Wt(o))throw new Error(`invalid fdOhlc[${o}]`);if(!Wt(s))throw new Error(`invalid fdParam[${s}]`);if(!Wt(u))throw new Error(`invalid fdData[${u}]`);let l=at(a,"mode",null),f=at(a,"timeStart",null),c=at(a,"timeEnd",null),d=at(a,"comps",null),h="";h=Wt(l)?l:Math.random()<.5?"long":"short";let p="2022-07-01T00:00:00";Wt(f)&&(p=f);let v="";v=Wt(c)?c:"long"===h?"2025-04-08T00:00:00":"2025-10-06T00:00:00";let m=["2,0,0","3,0,0","4,0,0","2,1,0","3,1,0","4,1,0","2,2,0","3,2,0","4,2,0","2,0,1","3,0,1","4,0,1","2,1,1","3,1,1","4,1,1","2,2,1","3,2,1","4,2,1"],y="";var g;y=Wt(d)?d:(n(g=m)?dt:Yt)(g),await mu(t,e,r,i,o,s,p,v,h,y,u,a)},estimComps:mu,estimPicks:vu,estimKeys:pu,readStrategies:(t,e={})=>{let r=at(e,"readContent",!1),n=at(e,"fromContent","");if("filename"!==n&&"content"!==n&&(n="auto"),!On(t))return console.log(`invalid fd[${t}]`),[];let i=yu(t);if(i=ru(i,{isFolder:!1}),0===dr(i))return console.log(`fd[${t}] no files`),[];let o=[];return Wr(i,t=>{let e="content"===n;"auto"===n&&(e=gu.test(t.name));let i=null;if(e){let e=at(En(t.path),"success",null);if(null===e)return!0;let n=at(e,"tid","");if(!Wt(n))return!0;let o=ws(at(e,"levelNumTrade","")),s=at(e,"summary.rEquivalentCumuProfitOrLossFinalNormYear",""),u=dn(n,uu.dlmSeps),a=at(u,0,"");u=Ys(u);let l=at(e,"tkid","");Wt(l)||(l=`${n}:${o}`),i={path:t.path,name:t.name,tkid:l,tid:n,levelNumTrade:o,rEquivalentCumuProfitOrLossFinalNormYear:s,mode:a,ps:u},r&&(i.data=e)}else{let e=function(t,e,r){return Wt(t)&&Wt(e)&&zt(r)?String(t).replaceAll(e,r):""}(t.name,".json",""),n=dn(e,uu.dlmPkgs),o=at(n,0,"");if(!Wt(o))return!0;let s=at(n,1,""),u=at(n,2,""),a=dn(o,uu.dlmSeps),l=at(a,0,"");a=Ys(a);let f=`${o}:${s}`;if(i={path:t.path,name:t.name,tkid:f,tid:o,levelNumTrade:s,rEquivalentCumuProfitOrLossFinalNormYear:u,mode:l,ps:a},r){let e=En(t.path);i.data=at(e,"success",null)}}o.push(i)}),o},genTid:au,genSid:lu,genStrategyFileName:hu,calcLevelNumTrade:cu,calcFitness:du,cont:uu}});
|
|
18
|
+
*/var Fn,kn,Dn=9e15,Bn=1e9,In="0123456789abcdef",qn="2.3025850929940456840179914546843642076011014886287729760333279009675726096773524802359972050895982983419677840422862486334095254650828067566662873690987816894829072083255546808437998948262331985283935053089653777326288461633662222876982198867465436674744042432743651550489343149393914796194044002221051017141748003688084012647080685567743216228355220114804663715659121373450747856947683463616792101806445070648000277502684916746550586856935673420670581136429224554405758925724208241314695689016758940256776311356919292033376587141660230105703089634572075440370847469940168269282808481184289314848524948644871927809676271275775397027668605952496716674183485704422507197965004714951050492214776567636938662976979522110718264549734772662425709429322582798502585509785265383207606726317164309505995087807523710333101197857547331541421808427543863591778117054309827482385045648019095610299291824318237525357709750539565187697510374970888692180205189339507238539205144634197265287286965110862571492198849978748873771345686209167058",Gn="3.1415926535897932384626433832795028841971693993751058209749445923078164062862089986280348253421170679821480865132823066470938446095505822317253594081284811174502841027019385211055596446229489549303819644288109756659334461284756482337867831652712019091456485669234603486104543266482133936072602491412737245870066063155881748815209209628292540917153643678925903600113305305488204665213841469519415116094330572703657595919530921861173819326117931051185480744623799627495673518857527248912279381830119491298336733624406566430860213949463952247371907021798609437027705392171762931767523846748184676694051320005681271452635608277857713427577896091736371787214684409012249534301465495853710507922796892589235420199561121290219608640344181598136297747713099605187072113499999983729780499510597317328160963185950244594553469083026425223082533446850352619311881710100031378387528865875332083814206171776691473035982534904287554687311595628638823537875937519577818577805321712268066130019278766111959092164201989380952572010654858632789",Un={precision:20,rounding:4,modulo:1,toExpNeg:-7,toExpPos:21,minE:-Dn,maxE:Dn,crypto:!1},Hn=!0,Yn="[DecimalError] ",zn=Yn+"Invalid argument: ",Wn=Yn+"Precision limit exceeded",Zn=Yn+"crypto unavailable",Vn="[object Decimal]",Jn=Math.floor,Xn=Math.pow,Kn=/^0b([01]+(\.[01]*)?|\.[01]+)(p[+-]?\d+)?$/i,Qn=/^0x([0-9a-f]+(\.[0-9a-f]*)?|\.[0-9a-f]+)(p[+-]?\d+)?$/i,ti=/^0o([0-7]+(\.[0-7]*)?|\.[0-7]+)(p[+-]?\d+)?$/i,ei=/^(\d+(\.\d*)?|\.\d+)(e[+-]?\d+)?$/i,ri=1e7,ni=qn.length-1,ii=Gn.length-1,oi={toStringTag:Vn};function si(t){var e,r,n,i=t.length-1,o="",s=t[0];if(i>0){for(o+=s,e=1;e<i;e++)(r=7-(n=t[e]+"").length)&&(o+=yi(r)),o+=n;(r=7-(n=(s=t[e])+"").length)&&(o+=yi(r))}else if(0===s)return"0";for(;s%10==0;)s/=10;return o+s}function ui(t,e,r){if(t!==~~t||t<e||t>r)throw Error(zn+t)}function ai(t,e,r,n){var i,o,s,u;for(o=t[0];o>=10;o/=10)--e;return--e<0?(e+=7,i=0):(i=Math.ceil((e+1)/7),e%=7),o=Xn(10,7-e),u=t[i]%o|0,null==n?e<3?(0==e?u=u/100|0:1==e&&(u=u/10|0),s=r<4&&99999==u||r>3&&49999==u||5e4==u||0==u):s=(r<4&&u+1==o||r>3&&u+1==o/2)&&(t[i+1]/o/100|0)==Xn(10,e-2)-1||(u==o/2||0==u)&&!(t[i+1]/o/100|0):e<4?(0==e?u=u/1e3|0:1==e?u=u/100|0:2==e&&(u=u/10|0),s=(n||r<4)&&9999==u||!n&&r>3&&4999==u):s=((n||r<4)&&u+1==o||!n&&r>3&&u+1==o/2)&&(t[i+1]/o/1e3|0)==Xn(10,e-3)-1,s}function li(t,e,r){for(var n,i,o=[0],s=0,u=t.length;s<u;){for(i=o.length;i--;)o[i]*=e;for(o[0]+=In.indexOf(t.charAt(s++)),n=0;n<o.length;n++)o[n]>r-1&&(void 0===o[n+1]&&(o[n+1]=0),o[n+1]+=o[n]/r|0,o[n]%=r)}return o.reverse()}oi.absoluteValue=oi.abs=function(){var t=new this.constructor(this);return t.s<0&&(t.s=1),ci(t)},oi.ceil=function(){return ci(new this.constructor(this),this.e+1,2)},oi.clampedTo=oi.clamp=function(t,e){var r=this,n=r.constructor;if(t=new n(t),e=new n(e),!t.s||!e.s)return new n(NaN);if(t.gt(e))throw Error(zn+e);return r.cmp(t)<0?t:r.cmp(e)>0?e:new n(r)},oi.comparedTo=oi.cmp=function(t){var e,r,n,i,o=this,s=o.d,u=(t=new o.constructor(t)).d,a=o.s,l=t.s;if(!s||!u)return a&&l?a!==l?a:s===u?0:!s^a<0?1:-1:NaN;if(!s[0]||!u[0])return s[0]?a:u[0]?-l:0;if(a!==l)return a;if(o.e!==t.e)return o.e>t.e^a<0?1:-1;for(e=0,r=(n=s.length)<(i=u.length)?n:i;e<r;++e)if(s[e]!==u[e])return s[e]>u[e]^a<0?1:-1;return n===i?0:n>i^a<0?1:-1},oi.cosine=oi.cos=function(){var t,e,r=this,n=r.constructor;return r.d?r.d[0]?(t=n.precision,e=n.rounding,n.precision=t+Math.max(r.e,r.sd())+7,n.rounding=1,r=function(t,e){var r,n,i;if(e.isZero())return e;n=e.d.length,n<32?i=(1/Ni(4,r=Math.ceil(n/3))).toString():(r=16,i="2.3283064365386962890625e-10");t.precision+=r,e=ji(t,1,e.times(i),new t(1));for(var o=r;o--;){var s=e.times(e);e=s.times(s).minus(s).times(8).plus(1)}return t.precision-=r,e}(n,$i(n,r)),n.precision=t,n.rounding=e,ci(2==kn||3==kn?r.neg():r,t,e,!0)):new n(1):new n(NaN)},oi.cubeRoot=oi.cbrt=function(){var t,e,r,n,i,o,s,u,a,l,f=this,c=f.constructor;if(!f.isFinite()||f.isZero())return new c(f);for(Hn=!1,(o=f.s*Xn(f.s*f,1/3))&&Math.abs(o)!=1/0?n=new c(o.toString()):(r=si(f.d),(o=((t=f.e)-r.length+1)%3)&&(r+=1==o||-2==o?"0":"00"),o=Xn(r,1/3),t=Jn((t+1)/3)-(t%3==(t<0?-1:2)),(n=new c(r=o==1/0?"5e"+t:(r=o.toExponential()).slice(0,r.indexOf("e")+1)+t)).s=f.s),s=(t=c.precision)+3;;)if(l=(a=(u=n).times(u).times(u)).plus(f),n=fi(l.plus(f).times(u),l.plus(a),s+2,1),si(u.d).slice(0,s)===(r=si(n.d)).slice(0,s)){if("9999"!=(r=r.slice(s-3,s+1))&&(i||"4999"!=r)){+r&&(+r.slice(1)||"5"!=r.charAt(0))||(ci(n,t+1,1),e=!n.times(n).times(n).eq(f));break}if(!i&&(ci(u,t+1,0),u.times(u).times(u).eq(f))){n=u;break}s+=4,i=1}return Hn=!0,ci(n,t,c.rounding,e)},oi.decimalPlaces=oi.dp=function(){var t,e=this.d,r=NaN;if(e){if(r=7*((t=e.length-1)-Jn(this.e/7)),t=e[t])for(;t%10==0;t/=10)r--;r<0&&(r=0)}return r},oi.dividedBy=oi.div=function(t){return fi(this,new this.constructor(t))},oi.dividedToIntegerBy=oi.divToInt=function(t){var e=this.constructor;return ci(fi(this,new e(t),0,1,1),e.precision,e.rounding)},oi.equals=oi.eq=function(t){return 0===this.cmp(t)},oi.floor=function(){return ci(new this.constructor(this),this.e+1,3)},oi.greaterThan=oi.gt=function(t){return this.cmp(t)>0},oi.greaterThanOrEqualTo=oi.gte=function(t){var e=this.cmp(t);return 1==e||0===e},oi.hyperbolicCosine=oi.cosh=function(){var t,e,r,n,i,o=this,s=o.constructor,u=new s(1);if(!o.isFinite())return new s(o.s?1/0:NaN);if(o.isZero())return u;r=s.precision,n=s.rounding,s.precision=r+Math.max(o.e,o.sd())+4,s.rounding=1,(i=o.d.length)<32?e=(1/Ni(4,t=Math.ceil(i/3))).toString():(t=16,e="2.3283064365386962890625e-10"),o=ji(s,1,o.times(e),new s(1),!0);for(var a,l=t,f=new s(8);l--;)a=o.times(o),o=u.minus(a.times(f.minus(a.times(f))));return ci(o,s.precision=r,s.rounding=n,!0)},oi.hyperbolicSine=oi.sinh=function(){var t,e,r,n,i=this,o=i.constructor;if(!i.isFinite()||i.isZero())return new o(i);if(e=o.precision,r=o.rounding,o.precision=e+Math.max(i.e,i.sd())+4,o.rounding=1,(n=i.d.length)<3)i=ji(o,2,i,i,!0);else{t=(t=1.4*Math.sqrt(n))>16?16:0|t,i=ji(o,2,i=i.times(1/Ni(5,t)),i,!0);for(var s,u=new o(5),a=new o(16),l=new o(20);t--;)s=i.times(i),i=i.times(u.plus(s.times(a.times(s).plus(l))))}return o.precision=e,o.rounding=r,ci(i,e,r,!0)},oi.hyperbolicTangent=oi.tanh=function(){var t,e,r=this,n=r.constructor;return r.isFinite()?r.isZero()?new n(r):(t=n.precision,e=n.rounding,n.precision=t+7,n.rounding=1,fi(r.sinh(),r.cosh(),n.precision=t,n.rounding=e)):new n(r.s)},oi.inverseCosine=oi.acos=function(){var t=this,e=t.constructor,r=t.abs().cmp(1),n=e.precision,i=e.rounding;return-1!==r?0===r?t.isNeg()?vi(e,n,i):new e(0):new e(NaN):t.isZero()?vi(e,n+4,i).times(.5):(e.precision=n+6,e.rounding=1,t=new e(1).minus(t).div(t.plus(1)).sqrt().atan(),e.precision=n,e.rounding=i,t.times(2))},oi.inverseHyperbolicCosine=oi.acosh=function(){var t,e,r=this,n=r.constructor;return r.lte(1)?new n(r.eq(1)?0:NaN):r.isFinite()?(t=n.precision,e=n.rounding,n.precision=t+Math.max(Math.abs(r.e),r.sd())+4,n.rounding=1,Hn=!1,r=r.times(r).minus(1).sqrt().plus(r),Hn=!0,n.precision=t,n.rounding=e,r.ln()):new n(r)},oi.inverseHyperbolicSine=oi.asinh=function(){var t,e,r=this,n=r.constructor;return!r.isFinite()||r.isZero()?new n(r):(t=n.precision,e=n.rounding,n.precision=t+2*Math.max(Math.abs(r.e),r.sd())+6,n.rounding=1,Hn=!1,r=r.times(r).plus(1).sqrt().plus(r),Hn=!0,n.precision=t,n.rounding=e,r.ln())},oi.inverseHyperbolicTangent=oi.atanh=function(){var t,e,r,n,i=this,o=i.constructor;return i.isFinite()?i.e>=0?new o(i.abs().eq(1)?i.s/0:i.isZero()?i:NaN):(t=o.precision,e=o.rounding,n=i.sd(),Math.max(n,t)<2*-i.e-1?ci(new o(i),t,e,!0):(o.precision=r=n-i.e,i=fi(i.plus(1),new o(1).minus(i),r+t,1),o.precision=t+4,o.rounding=1,i=i.ln(),o.precision=t,o.rounding=e,i.times(.5))):new o(NaN)},oi.inverseSine=oi.asin=function(){var t,e,r,n,i=this,o=i.constructor;return i.isZero()?new o(i):(e=i.abs().cmp(1),r=o.precision,n=o.rounding,-1!==e?0===e?((t=vi(o,r+4,n).times(.5)).s=i.s,t):new o(NaN):(o.precision=r+6,o.rounding=1,i=i.div(new o(1).minus(i.times(i)).sqrt().plus(1)).atan(),o.precision=r,o.rounding=n,i.times(2)))},oi.inverseTangent=oi.atan=function(){var t,e,r,n,i,o,s,u,a,l=this,f=l.constructor,c=f.precision,d=f.rounding;if(l.isFinite()){if(l.isZero())return new f(l);if(l.abs().eq(1)&&c+4<=ii)return(s=vi(f,c+4,d).times(.25)).s=l.s,s}else{if(!l.s)return new f(NaN);if(c+4<=ii)return(s=vi(f,c+4,d).times(.5)).s=l.s,s}for(f.precision=u=c+10,f.rounding=1,t=r=Math.min(28,u/7+2|0);t;--t)l=l.div(l.times(l).plus(1).sqrt().plus(1));for(Hn=!1,e=Math.ceil(u/7),n=1,a=l.times(l),s=new f(l),i=l;-1!==t;)if(i=i.times(a),o=s.minus(i.div(n+=2)),i=i.times(a),void 0!==(s=o.plus(i.div(n+=2))).d[e])for(t=e;s.d[t]===o.d[t]&&t--;);return r&&(s=s.times(2<<r-1)),Hn=!0,ci(s,f.precision=c,f.rounding=d,!0)},oi.isFinite=function(){return!!this.d},oi.isInteger=oi.isInt=function(){return!!this.d&&Jn(this.e/7)>this.d.length-2},oi.isNaN=function(){return!this.s},oi.isNegative=oi.isNeg=function(){return this.s<0},oi.isPositive=oi.isPos=function(){return this.s>0},oi.isZero=function(){return!!this.d&&0===this.d[0]},oi.lessThan=oi.lt=function(t){return this.cmp(t)<0},oi.lessThanOrEqualTo=oi.lte=function(t){return this.cmp(t)<1},oi.logarithm=oi.log=function(t){var e,r,n,i,o,s,u,a,l=this,f=l.constructor,c=f.precision,d=f.rounding;if(null==t)t=new f(10),e=!0;else{if(r=(t=new f(t)).d,t.s<0||!r||!r[0]||t.eq(1))return new f(NaN);e=t.eq(10)}if(r=l.d,l.s<0||!r||!r[0]||l.eq(1))return new f(r&&!r[0]?-1/0:1!=l.s?NaN:r?0:1/0);if(e)if(r.length>1)o=!0;else{for(i=r[0];i%10==0;)i/=10;o=1!==i}if(Hn=!1,s=_i(l,u=c+5),n=e?pi(f,u+10):_i(t,u),ai((a=fi(s,n,u,1)).d,i=c,d))do{if(s=_i(l,u+=10),n=e?pi(f,u+10):_i(t,u),a=fi(s,n,u,1),!o){+si(a.d).slice(i+1,i+15)+1==1e14&&(a=ci(a,c+1,0));break}}while(ai(a.d,i+=10,d));return Hn=!0,ci(a,c,d)},oi.minus=oi.sub=function(t){var e,r,n,i,o,s,u,a,l,f,c,d,h=this,p=h.constructor;if(t=new p(t),!h.d||!t.d)return h.s&&t.s?h.d?t.s=-t.s:t=new p(t.d||h.s!==t.s?h:NaN):t=new p(NaN),t;if(h.s!=t.s)return t.s=-t.s,h.plus(t);if(l=h.d,d=t.d,u=p.precision,a=p.rounding,!l[0]||!d[0]){if(d[0])t.s=-t.s;else{if(!l[0])return new p(3===a?-0:0);t=new p(h)}return Hn?ci(t,u,a):t}if(r=Jn(t.e/7),f=Jn(h.e/7),l=l.slice(),o=f-r){for((c=o<0)?(e=l,o=-o,s=d.length):(e=d,r=f,s=l.length),o>(n=Math.max(Math.ceil(u/7),s)+2)&&(o=n,e.length=1),e.reverse(),n=o;n--;)e.push(0);e.reverse()}else{for((c=(n=l.length)<(s=d.length))&&(s=n),n=0;n<s;n++)if(l[n]!=d[n]){c=l[n]<d[n];break}o=0}for(c&&(e=l,l=d,d=e,t.s=-t.s),s=l.length,n=d.length-s;n>0;--n)l[s++]=0;for(n=d.length;n>o;){if(l[--n]<d[n]){for(i=n;i&&0===l[--i];)l[i]=ri-1;--l[i],l[n]+=ri}l[n]-=d[n]}for(;0===l[--s];)l.pop();for(;0===l[0];l.shift())--r;return l[0]?(t.d=l,t.e=hi(l,r),Hn?ci(t,u,a):t):new p(3===a?-0:0)},oi.modulo=oi.mod=function(t){var e,r=this,n=r.constructor;return t=new n(t),!r.d||!t.s||t.d&&!t.d[0]?new n(NaN):!t.d||r.d&&!r.d[0]?ci(new n(r),n.precision,n.rounding):(Hn=!1,9==n.modulo?(e=fi(r,t.abs(),0,3,1)).s*=t.s:e=fi(r,t,0,n.modulo,1),e=e.times(t),Hn=!0,r.minus(e))},oi.naturalExponential=oi.exp=function(){return Mi(this)},oi.naturalLogarithm=oi.ln=function(){return _i(this)},oi.negated=oi.neg=function(){var t=new this.constructor(this);return t.s=-t.s,ci(t)},oi.plus=oi.add=function(t){var e,r,n,i,o,s,u,a,l,f,c=this,d=c.constructor;if(t=new d(t),!c.d||!t.d)return c.s&&t.s?c.d||(t=new d(t.d||c.s===t.s?c:NaN)):t=new d(NaN),t;if(c.s!=t.s)return t.s=-t.s,c.minus(t);if(l=c.d,f=t.d,u=d.precision,a=d.rounding,!l[0]||!f[0])return f[0]||(t=new d(c)),Hn?ci(t,u,a):t;if(o=Jn(c.e/7),n=Jn(t.e/7),l=l.slice(),i=o-n){for(i<0?(r=l,i=-i,s=f.length):(r=f,n=o,s=l.length),i>(s=(o=Math.ceil(u/7))>s?o+1:s+1)&&(i=s,r.length=1),r.reverse();i--;)r.push(0);r.reverse()}for((s=l.length)-(i=f.length)<0&&(i=s,r=f,f=l,l=r),e=0;i;)e=(l[--i]=l[i]+f[i]+e)/ri|0,l[i]%=ri;for(e&&(l.unshift(e),++n),s=l.length;0==l[--s];)l.pop();return t.d=l,t.e=hi(l,n),Hn?ci(t,u,a):t},oi.precision=oi.sd=function(t){var e,r=this;if(void 0!==t&&t!==!!t&&1!==t&&0!==t)throw Error(zn+t);return r.d?(e=mi(r.d),t&&r.e+1>e&&(e=r.e+1)):e=NaN,e},oi.round=function(){var t=this,e=t.constructor;return ci(new e(t),t.e+1,e.rounding)},oi.sine=oi.sin=function(){var t,e,r=this,n=r.constructor;return r.isFinite()?r.isZero()?new n(r):(t=n.precision,e=n.rounding,n.precision=t+Math.max(r.e,r.sd())+7,n.rounding=1,r=function(t,e){var r,n=e.d.length;if(n<3)return e.isZero()?e:ji(t,2,e,e);r=(r=1.4*Math.sqrt(n))>16?16:0|r,e=e.times(1/Ni(5,r)),e=ji(t,2,e,e);for(var i,o=new t(5),s=new t(16),u=new t(20);r--;)i=e.times(e),e=e.times(o.plus(i.times(s.times(i).minus(u))));return e}(n,$i(n,r)),n.precision=t,n.rounding=e,ci(kn>2?r.neg():r,t,e,!0)):new n(NaN)},oi.squareRoot=oi.sqrt=function(){var t,e,r,n,i,o,s=this,u=s.d,a=s.e,l=s.s,f=s.constructor;if(1!==l||!u||!u[0])return new f(!l||l<0&&(!u||u[0])?NaN:u?s:1/0);for(Hn=!1,0==(l=Math.sqrt(+s))||l==1/0?(((e=si(u)).length+a)%2==0&&(e+="0"),l=Math.sqrt(e),a=Jn((a+1)/2)-(a<0||a%2),n=new f(e=l==1/0?"5e"+a:(e=l.toExponential()).slice(0,e.indexOf("e")+1)+a)):n=new f(l.toString()),r=(a=f.precision)+3;;)if(n=(o=n).plus(fi(s,o,r+2,1)).times(.5),si(o.d).slice(0,r)===(e=si(n.d)).slice(0,r)){if("9999"!=(e=e.slice(r-3,r+1))&&(i||"4999"!=e)){+e&&(+e.slice(1)||"5"!=e.charAt(0))||(ci(n,a+1,1),t=!n.times(n).eq(s));break}if(!i&&(ci(o,a+1,0),o.times(o).eq(s))){n=o;break}r+=4,i=1}return Hn=!0,ci(n,a,f.rounding,t)},oi.tangent=oi.tan=function(){var t,e,r=this,n=r.constructor;return r.isFinite()?r.isZero()?new n(r):(t=n.precision,e=n.rounding,n.precision=t+10,n.rounding=1,(r=r.sin()).s=1,r=fi(r,new n(1).minus(r.times(r)).sqrt(),t+10,0),n.precision=t,n.rounding=e,ci(2==kn||4==kn?r.neg():r,t,e,!0)):new n(NaN)},oi.times=oi.mul=function(t){var e,r,n,i,o,s,u,a,l,f=this,c=f.constructor,d=f.d,h=(t=new c(t)).d;if(t.s*=f.s,!(d&&d[0]&&h&&h[0]))return new c(!t.s||d&&!d[0]&&!h||h&&!h[0]&&!d?NaN:d&&h?0*t.s:t.s/0);for(r=Jn(f.e/7)+Jn(t.e/7),(a=d.length)<(l=h.length)&&(o=d,d=h,h=o,s=a,a=l,l=s),o=[],n=s=a+l;n--;)o.push(0);for(n=l;--n>=0;){for(e=0,i=a+n;i>n;)u=o[i]+h[n]*d[i-n-1]+e,o[i--]=u%ri|0,e=u/ri|0;o[i]=(o[i]+e)%ri|0}for(;!o[--s];)o.pop();return e?++r:o.shift(),t.d=o,t.e=hi(o,r),Hn?ci(t,c.precision,c.rounding):t},oi.toBinary=function(t,e){return Ai(this,2,t,e)},oi.toDecimalPlaces=oi.toDP=function(t,e){var r=this,n=r.constructor;return r=new n(r),void 0===t?r:(ui(t,0,Bn),void 0===e?e=n.rounding:ui(e,0,8),ci(r,t+r.e+1,e))},oi.toExponential=function(t,e){var r,n=this,i=n.constructor;return void 0===t?r=di(n,!0):(ui(t,0,Bn),void 0===e?e=i.rounding:ui(e,0,8),r=di(n=ci(new i(n),t+1,e),!0,t+1)),n.isNeg()&&!n.isZero()?"-"+r:r},oi.toFixed=function(t,e){var r,n,i=this,o=i.constructor;return void 0===t?r=di(i):(ui(t,0,Bn),void 0===e?e=o.rounding:ui(e,0,8),r=di(n=ci(new o(i),t+i.e+1,e),!1,t+n.e+1)),i.isNeg()&&!i.isZero()?"-"+r:r},oi.toFraction=function(t){var e,r,n,i,o,s,u,a,l,f,c,d,h=this,p=h.d,v=h.constructor;if(!p)return new v(h);if(l=r=new v(1),n=a=new v(0),s=(o=(e=new v(n)).e=mi(p)-h.e-1)%7,e.d[0]=Xn(10,s<0?7+s:s),null==t)t=o>0?e:l;else{if(!(u=new v(t)).isInt()||u.lt(l))throw Error(zn+u);t=u.gt(e)?o>0?e:l:u}for(Hn=!1,u=new v(si(p)),f=v.precision,v.precision=o=7*p.length*2;c=fi(u,e,0,1,1),1!=(i=r.plus(c.times(n))).cmp(t);)r=n,n=i,i=l,l=a.plus(c.times(i)),a=i,i=e,e=u.minus(c.times(i)),u=i;return i=fi(t.minus(r),n,0,1,1),a=a.plus(i.times(l)),r=r.plus(i.times(n)),a.s=l.s=h.s,d=fi(l,n,o,1).minus(h).abs().cmp(fi(a,r,o,1).minus(h).abs())<1?[l,n]:[a,r],v.precision=f,Hn=!0,d},oi.toHexadecimal=oi.toHex=function(t,e){return Ai(this,16,t,e)},oi.toNearest=function(t,e){var r=this,n=r.constructor;if(r=new n(r),null==t){if(!r.d)return r;t=new n(1),e=n.rounding}else{if(t=new n(t),void 0===e?e=n.rounding:ui(e,0,8),!r.d)return t.s?r:t;if(!t.d)return t.s&&(t.s=r.s),t}return t.d[0]?(Hn=!1,r=fi(r,t,0,e,1).times(t),Hn=!0,ci(r)):(t.s=r.s,r=t),r},oi.toNumber=function(){return+this},oi.toOctal=function(t,e){return Ai(this,8,t,e)},oi.toPower=oi.pow=function(t){var e,r,n,i,o,s,u=this,a=u.constructor,l=+(t=new a(t));if(!(u.d&&t.d&&u.d[0]&&t.d[0]))return new a(Xn(+u,l));if((u=new a(u)).eq(1))return u;if(n=a.precision,o=a.rounding,t.eq(1))return ci(u,n,o);if((e=Jn(t.e/7))>=t.d.length-1&&(r=l<0?-l:l)<=9007199254740991)return i=gi(a,u,r,n),t.s<0?new a(1).div(i):ci(i,n,o);if((s=u.s)<0){if(e<t.d.length-1)return new a(NaN);if(1&t.d[e]||(s=1),0==u.e&&1==u.d[0]&&1==u.d.length)return u.s=s,u}return(e=0!=(r=Xn(+u,l))&&isFinite(r)?new a(r+"").e:Jn(l*(Math.log("0."+si(u.d))/Math.LN10+u.e+1)))>a.maxE+1||e<a.minE-1?new a(e>0?s/0:0):(Hn=!1,a.rounding=u.s=1,r=Math.min(12,(e+"").length),(i=Mi(t.times(_i(u,n+r)),n)).d&&ai((i=ci(i,n+5,1)).d,n,o)&&(e=n+10,+si((i=ci(Mi(t.times(_i(u,e+r)),e),e+5,1)).d).slice(n+1,n+15)+1==1e14&&(i=ci(i,n+1,0))),i.s=s,Hn=!0,a.rounding=o,ci(i,n,o))},oi.toPrecision=function(t,e){var r,n=this,i=n.constructor;return void 0===t?r=di(n,n.e<=i.toExpNeg||n.e>=i.toExpPos):(ui(t,1,Bn),void 0===e?e=i.rounding:ui(e,0,8),r=di(n=ci(new i(n),t,e),t<=n.e||n.e<=i.toExpNeg,t)),n.isNeg()&&!n.isZero()?"-"+r:r},oi.toSignificantDigits=oi.toSD=function(t,e){var r=this.constructor;return void 0===t?(t=r.precision,e=r.rounding):(ui(t,1,Bn),void 0===e?e=r.rounding:ui(e,0,8)),ci(new r(this),t,e)},oi.toString=function(){var t=this,e=t.constructor,r=di(t,t.e<=e.toExpNeg||t.e>=e.toExpPos);return t.isNeg()&&!t.isZero()?"-"+r:r},oi.truncated=oi.trunc=function(){return ci(new this.constructor(this),this.e+1,1)},oi.valueOf=oi.toJSON=function(){var t=this,e=t.constructor,r=di(t,t.e<=e.toExpNeg||t.e>=e.toExpPos);return t.isNeg()?"-"+r:r};var fi=function(){function t(t,e,r){var n,i=0,o=t.length;for(t=t.slice();o--;)n=t[o]*e+i,t[o]=n%r|0,i=n/r|0;return i&&t.unshift(i),t}function e(t,e,r,n){var i,o;if(r!=n)o=r>n?1:-1;else for(i=o=0;i<r;i++)if(t[i]!=e[i]){o=t[i]>e[i]?1:-1;break}return o}function r(t,e,r,n){for(var i=0;r--;)t[r]-=i,i=t[r]<e[r]?1:0,t[r]=i*n+t[r]-e[r];for(;!t[0]&&t.length>1;)t.shift()}return function(n,i,o,s,u,a){var l,f,c,d,h,p,v,m,y,g,w,b,M,_,S,E,O,j,N,$,A=n.constructor,C=n.s==i.s?1:-1,L=n.d,x=i.d;if(!(L&&L[0]&&x&&x[0]))return new A(n.s&&i.s&&(L?!x||L[0]!=x[0]:x)?L&&0==L[0]||!x?0*C:C/0:NaN);for(a?(h=1,f=n.e-i.e):(a=ri,h=7,f=Jn(n.e/h)-Jn(i.e/h)),N=x.length,O=L.length,g=(y=new A(C)).d=[],c=0;x[c]==(L[c]||0);c++);if(x[c]>(L[c]||0)&&f--,null==o?(_=o=A.precision,s=A.rounding):_=u?o+(n.e-i.e)+1:o,_<0)g.push(1),p=!0;else{if(_=_/h+2|0,c=0,1==N){for(d=0,x=x[0],_++;(c<O||d)&&_--;c++)S=d*a+(L[c]||0),g[c]=S/x|0,d=S%x|0;p=d||c<O}else{for((d=a/(x[0]+1)|0)>1&&(x=t(x,d,a),L=t(L,d,a),N=x.length,O=L.length),E=N,b=(w=L.slice(0,N)).length;b<N;)w[b++]=0;($=x.slice()).unshift(0),j=x[0],x[1]>=a/2&&++j;do{d=0,(l=e(x,w,N,b))<0?(M=w[0],N!=b&&(M=M*a+(w[1]||0)),(d=M/j|0)>1?(d>=a&&(d=a-1),1==(l=e(v=t(x,d,a),w,m=v.length,b=w.length))&&(d--,r(v,N<m?$:x,m,a))):(0==d&&(l=d=1),v=x.slice()),(m=v.length)<b&&v.unshift(0),r(w,v,b,a),-1==l&&(l=e(x,w,N,b=w.length))<1&&(d++,r(w,N<b?$:x,b,a)),b=w.length):0===l&&(d++,w=[0]),g[c++]=d,l&&w[0]?w[b++]=L[E]||0:(w=[L[E]],b=1)}while((E++<O||void 0!==w[0])&&_--);p=void 0!==w[0]}g[0]||g.shift()}if(1==h)y.e=f,Fn=p;else{for(c=1,d=g[0];d>=10;d/=10)c++;y.e=c+f*h-1,ci(y,u?o+y.e+1:o,s,p)}return y}}();function ci(t,e,r,n){var i,o,s,u,a,l,f,c,d,h=t.constructor;t:if(null!=e){if(!(c=t.d))return t;for(i=1,u=c[0];u>=10;u/=10)i++;if((o=e-i)<0)o+=7,s=e,a=(f=c[d=0])/Xn(10,i-s-1)%10|0;else if((d=Math.ceil((o+1)/7))>=(u=c.length)){if(!n)break t;for(;u++<=d;)c.push(0);f=a=0,i=1,s=(o%=7)-7+1}else{for(f=u=c[d],i=1;u>=10;u/=10)i++;a=(s=(o%=7)-7+i)<0?0:f/Xn(10,i-s-1)%10|0}if(n=n||e<0||void 0!==c[d+1]||(s<0?f:f%Xn(10,i-s-1)),l=r<4?(a||n)&&(0==r||r==(t.s<0?3:2)):a>5||5==a&&(4==r||n||6==r&&(o>0?s>0?f/Xn(10,i-s):0:c[d-1])%10&1||r==(t.s<0?8:7)),e<1||!c[0])return c.length=0,l?(e-=t.e+1,c[0]=Xn(10,(7-e%7)%7),t.e=-e||0):c[0]=t.e=0,t;if(0==o?(c.length=d,u=1,d--):(c.length=d+1,u=Xn(10,7-o),c[d]=s>0?(f/Xn(10,i-s)%Xn(10,s)|0)*u:0),l)for(;;){if(0==d){for(o=1,s=c[0];s>=10;s/=10)o++;for(s=c[0]+=u,u=1;s>=10;s/=10)u++;o!=u&&(t.e++,c[0]==ri&&(c[0]=1));break}if(c[d]+=u,c[d]!=ri)break;c[d--]=0,u=1}for(o=c.length;0===c[--o];)c.pop()}return Hn&&(t.e>h.maxE?(t.d=null,t.e=NaN):t.e<h.minE&&(t.e=0,t.d=[0])),t}function di(t,e,r){if(!t.isFinite())return Si(t);var n,i=t.e,o=si(t.d),s=o.length;return e?(r&&(n=r-s)>0?o=o.charAt(0)+"."+o.slice(1)+yi(n):s>1&&(o=o.charAt(0)+"."+o.slice(1)),o=o+(t.e<0?"e":"e+")+t.e):i<0?(o="0."+yi(-i-1)+o,r&&(n=r-s)>0&&(o+=yi(n))):i>=s?(o+=yi(i+1-s),r&&(n=r-i-1)>0&&(o=o+"."+yi(n))):((n=i+1)<s&&(o=o.slice(0,n)+"."+o.slice(n)),r&&(n=r-s)>0&&(i+1===s&&(o+="."),o+=yi(n))),o}function hi(t,e){var r=t[0];for(e*=7;r>=10;r/=10)e++;return e}function pi(t,e,r){if(e>ni)throw Hn=!0,r&&(t.precision=r),Error(Wn);return ci(new t(qn),e,1,!0)}function vi(t,e,r){if(e>ii)throw Error(Wn);return ci(new t(Gn),e,r,!0)}function mi(t){var e=t.length-1,r=7*e+1;if(e=t[e]){for(;e%10==0;e/=10)r--;for(e=t[0];e>=10;e/=10)r++}return r}function yi(t){for(var e="";t--;)e+="0";return e}function gi(t,e,r,n){var i,o=new t(1),s=Math.ceil(n/7+4);for(Hn=!1;;){if(r%2&&Ci((o=o.times(e)).d,s)&&(i=!0),0===(r=Jn(r/2))){r=o.d.length-1,i&&0===o.d[r]&&++o.d[r];break}Ci((e=e.times(e)).d,s)}return Hn=!0,o}function wi(t){return 1&t.d[t.d.length-1]}function bi(t,e,r){for(var n,i,o=new t(e[0]),s=0;++s<e.length;){if(!(i=new t(e[s])).s){o=i;break}((n=o.cmp(i))===r||0===n&&o.s===r)&&(o=i)}return o}function Mi(t,e){var r,n,i,o,s,u,a,l=0,f=0,c=0,d=t.constructor,h=d.rounding,p=d.precision;if(!t.d||!t.d[0]||t.e>17)return new d(t.d?t.d[0]?t.s<0?0:1/0:1:t.s?t.s<0?0:t:NaN);for(null==e?(Hn=!1,a=p):a=e,u=new d(.03125);t.e>-2;)t=t.times(u),c+=5;for(a+=n=Math.log(Xn(2,c))/Math.LN10*2+5|0,r=o=s=new d(1),d.precision=a;;){if(o=ci(o.times(t),a,1),r=r.times(++f),si((u=s.plus(fi(o,r,a,1))).d).slice(0,a)===si(s.d).slice(0,a)){for(i=c;i--;)s=ci(s.times(s),a,1);if(null!=e)return d.precision=p,s;if(!(l<3&&ai(s.d,a-n,h,l)))return ci(s,d.precision=p,h,Hn=!0);d.precision=a+=10,r=o=u=new d(1),f=0,l++}s=u}}function _i(t,e){var r,n,i,o,s,u,a,l,f,c,d,h=1,p=t,v=p.d,m=p.constructor,y=m.rounding,g=m.precision;if(p.s<0||!v||!v[0]||!p.e&&1==v[0]&&1==v.length)return new m(v&&!v[0]?-1/0:1!=p.s?NaN:v?0:p);if(null==e?(Hn=!1,f=g):f=e,m.precision=f+=10,n=(r=si(v)).charAt(0),!(Math.abs(o=p.e)<15e14))return l=pi(m,f+2,g).times(o+""),p=_i(new m(n+"."+r.slice(1)),f-10).plus(l),m.precision=g,null==e?ci(p,g,y,Hn=!0):p;for(;n<7&&1!=n||1==n&&r.charAt(1)>3;)n=(r=si((p=p.times(t)).d)).charAt(0),h++;for(o=p.e,n>1?(p=new m("0."+r),o++):p=new m(n+"."+r.slice(1)),c=p,a=s=p=fi(p.minus(1),p.plus(1),f,1),d=ci(p.times(p),f,1),i=3;;){if(s=ci(s.times(d),f,1),si((l=a.plus(fi(s,new m(i),f,1))).d).slice(0,f)===si(a.d).slice(0,f)){if(a=a.times(2),0!==o&&(a=a.plus(pi(m,f+2,g).times(o+""))),a=fi(a,new m(h),f,1),null!=e)return m.precision=g,a;if(!ai(a.d,f-10,y,u))return ci(a,m.precision=g,y,Hn=!0);m.precision=f+=10,l=s=p=fi(c.minus(1),c.plus(1),f,1),d=ci(p.times(p),f,1),i=u=1}a=l,i+=2}}function Si(t){return String(t.s*t.s/0)}function Ei(t,e){var r,n,i;for((r=e.indexOf("."))>-1&&(e=e.replace(".","")),(n=e.search(/e/i))>0?(r<0&&(r=n),r+=+e.slice(n+1),e=e.substring(0,n)):r<0&&(r=e.length),n=0;48===e.charCodeAt(n);n++);for(i=e.length;48===e.charCodeAt(i-1);--i);if(e=e.slice(n,i)){if(i-=n,t.e=r=r-n-1,t.d=[],n=(r+1)%7,r<0&&(n+=7),n<i){for(n&&t.d.push(+e.slice(0,n)),i-=7;n<i;)t.d.push(+e.slice(n,n+=7));n=7-(e=e.slice(n)).length}else n-=i;for(;n--;)e+="0";t.d.push(+e),Hn&&(t.e>t.constructor.maxE?(t.d=null,t.e=NaN):t.e<t.constructor.minE&&(t.e=0,t.d=[0]))}else t.e=0,t.d=[0];return t}function Oi(t,e){var r,n,i,o,s,u,a,l,f;if(e.indexOf("_")>-1){if(e=e.replace(/(\d)_(?=\d)/g,"$1"),ei.test(e))return Ei(t,e)}else if("Infinity"===e||"NaN"===e)return+e||(t.s=NaN),t.e=NaN,t.d=null,t;if(Qn.test(e))r=16,e=e.toLowerCase();else if(Kn.test(e))r=2;else{if(!ti.test(e))throw Error(zn+e);r=8}for((o=e.search(/p/i))>0?(a=+e.slice(o+1),e=e.substring(2,o)):e=e.slice(2),s=(o=e.indexOf("."))>=0,n=t.constructor,s&&(o=(u=(e=e.replace(".","")).length)-o,i=gi(n,new n(r),o,2*o)),o=f=(l=li(e,r,ri)).length-1;0===l[o];--o)l.pop();return o<0?new n(0*t.s):(t.e=hi(l,f),t.d=l,Hn=!1,s&&(t=fi(t,i,4*u)),a&&(t=t.times(Math.abs(a)<54?Xn(2,a):go.pow(2,a))),Hn=!0,t)}function ji(t,e,r,n,i){var o,s,u,a,l=t.precision,f=Math.ceil(l/7);for(Hn=!1,a=r.times(r),u=new t(n);;){if(s=fi(u.times(a),new t(e++*e++),l,1),u=i?n.plus(s):n.minus(s),n=fi(s.times(a),new t(e++*e++),l,1),void 0!==(s=u.plus(n)).d[f]){for(o=f;s.d[o]===u.d[o]&&o--;);if(-1==o)break}o=u,u=n,n=s,s=o}return Hn=!0,s.d.length=f+1,s}function Ni(t,e){for(var r=t;--e;)r*=t;return r}function $i(t,e){var r,n=e.s<0,i=vi(t,t.precision,1),o=i.times(.5);if((e=e.abs()).lte(o))return kn=n?4:1,e;if((r=e.divToInt(i)).isZero())kn=n?3:2;else{if((e=e.minus(r.times(i))).lte(o))return kn=wi(r)?n?2:3:n?4:1,e;kn=wi(r)?n?1:4:n?3:2}return e.minus(i).abs()}function Ai(t,e,r,n){var i,o,s,u,a,l,f,c,d,h=t.constructor,p=void 0!==r;if(p?(ui(r,1,Bn),void 0===n?n=h.rounding:ui(n,0,8)):(r=h.precision,n=h.rounding),t.isFinite()){for(p?(i=2,16==e?r=4*r-3:8==e&&(r=3*r-2)):i=e,(s=(f=di(t)).indexOf("."))>=0&&(f=f.replace(".",""),(d=new h(1)).e=f.length-s,d.d=li(di(d),10,i),d.e=d.d.length),o=a=(c=li(f,10,i)).length;0==c[--a];)c.pop();if(c[0]){if(s<0?o--:((t=new h(t)).d=c,t.e=o,c=(t=fi(t,d,r,n,0,i)).d,o=t.e,l=Fn),s=c[r],u=i/2,l=l||void 0!==c[r+1],l=n<4?(void 0!==s||l)&&(0===n||n===(t.s<0?3:2)):s>u||s===u&&(4===n||l||6===n&&1&c[r-1]||n===(t.s<0?8:7)),c.length=r,l)for(;++c[--r]>i-1;)c[r]=0,r||(++o,c.unshift(1));for(a=c.length;!c[a-1];--a);for(s=0,f="";s<a;s++)f+=In.charAt(c[s]);if(p){if(a>1)if(16==e||8==e){for(s=16==e?4:3,--a;a%s;a++)f+="0";for(a=(c=li(f,i,e)).length;!c[a-1];--a);for(s=1,f="1.";s<a;s++)f+=In.charAt(c[s])}else f=f.charAt(0)+"."+f.slice(1);f=f+(o<0?"p":"p+")+o}else if(o<0){for(;++o;)f="0"+f;f="0."+f}else if(++o>a)for(o-=a;o--;)f+="0";else o<a&&(f=f.slice(0,o)+"."+f.slice(o))}else f=p?"0p+0":"0";f=(16==e?"0x":2==e?"0b":8==e?"0o":"")+f}else f=Si(t);return t.s<0?"-"+f:f}function Ci(t,e){if(t.length>e)return t.length=e,!0}function Li(t){return new this(t).abs()}function xi(t){return new this(t).acos()}function Ri(t){return new this(t).acosh()}function Pi(t,e){return new this(t).plus(e)}function Ti(t){return new this(t).asin()}function Fi(t){return new this(t).asinh()}function ki(t){return new this(t).atan()}function Di(t){return new this(t).atanh()}function Bi(t,e){t=new this(t),e=new this(e);var r,n=this.precision,i=this.rounding,o=n+4;return t.s&&e.s?t.d||e.d?!e.d||t.isZero()?(r=e.s<0?vi(this,n,i):new this(0)).s=t.s:!t.d||e.isZero()?(r=vi(this,o,1).times(.5)).s=t.s:e.s<0?(this.precision=o,this.rounding=1,r=this.atan(fi(t,e,o,1)),e=vi(this,o,1),this.precision=n,this.rounding=i,r=t.s<0?r.minus(e):r.plus(e)):r=this.atan(fi(t,e,o,1)):(r=vi(this,o,1).times(e.s>0?.25:.75)).s=t.s:r=new this(NaN),r}function Ii(t){return new this(t).cbrt()}function qi(t){return ci(t=new this(t),t.e+1,2)}function Gi(t,e,r){return new this(t).clamp(e,r)}function Ui(t){if(!t||"object"!=typeof t)throw Error(Yn+"Object expected");var e,r,n,i=!0===t.defaults,o=["precision",1,Bn,"rounding",0,8,"toExpNeg",-Dn,0,"toExpPos",0,Dn,"maxE",0,Dn,"minE",-Dn,0,"modulo",0,9];for(e=0;e<o.length;e+=3)if(r=o[e],i&&(this[r]=Un[r]),void 0!==(n=t[r])){if(!(Jn(n)===n&&n>=o[e+1]&&n<=o[e+2]))throw Error(zn+r+": "+n);this[r]=n}if(r="crypto",i&&(this[r]=Un[r]),void 0!==(n=t[r])){if(!0!==n&&!1!==n&&0!==n&&1!==n)throw Error(zn+r+": "+n);if(n){if("undefined"==typeof crypto||!crypto||!crypto.getRandomValues&&!crypto.randomBytes)throw Error(Zn);this[r]=!0}else this[r]=!1}return this}function Hi(t){return new this(t).cos()}function Yi(t){return new this(t).cosh()}function zi(t,e){return new this(t).div(e)}function Wi(t){return new this(t).exp()}function Zi(t){return ci(t=new this(t),t.e+1,3)}function Vi(){var t,e,r=new this(0);for(Hn=!1,t=0;t<arguments.length;)if((e=new this(arguments[t++])).d)r.d&&(r=r.plus(e.times(e)));else{if(e.s)return Hn=!0,new this(1/0);r=e}return Hn=!0,r.sqrt()}function Ji(t){return t instanceof go||t&&t.toStringTag===Vn||!1}function Xi(t){return new this(t).ln()}function Ki(t,e){return new this(t).log(e)}function Qi(t){return new this(t).log(2)}function to(t){return new this(t).log(10)}function eo(){return bi(this,arguments,-1)}function ro(){return bi(this,arguments,1)}function no(t,e){return new this(t).mod(e)}function io(t,e){return new this(t).mul(e)}function oo(t,e){return new this(t).pow(e)}function so(t){var e,r,n,i,o=0,s=new this(1),u=[];if(void 0===t?t=this.precision:ui(t,1,Bn),n=Math.ceil(t/7),this.crypto)if(crypto.getRandomValues)for(e=crypto.getRandomValues(new Uint32Array(n));o<n;)(i=e[o])>=429e7?e[o]=crypto.getRandomValues(new Uint32Array(1))[0]:u[o++]=i%1e7;else{if(!crypto.randomBytes)throw Error(Zn);for(e=crypto.randomBytes(n*=4);o<n;)(i=e[o]+(e[o+1]<<8)+(e[o+2]<<16)+((127&e[o+3])<<24))>=214e7?crypto.randomBytes(4).copy(e,o):(u.push(i%1e7),o+=4);o=n/4}else for(;o<n;)u[o++]=1e7*Math.random()|0;for(t%=7,(n=u[--o])&&t&&(i=Xn(10,7-t),u[o]=(n/i|0)*i);0===u[o];o--)u.pop();if(o<0)r=0,u=[0];else{for(r=-1;0===u[0];r-=7)u.shift();for(n=1,i=u[0];i>=10;i/=10)n++;n<7&&(r-=7-n)}return s.e=r,s.d=u,s}function uo(t){return ci(t=new this(t),t.e+1,this.rounding)}function ao(t){return(t=new this(t)).d?t.d[0]?t.s:0*t.s:t.s||NaN}function lo(t){return new this(t).sin()}function fo(t){return new this(t).sinh()}function co(t){return new this(t).sqrt()}function ho(t,e){return new this(t).sub(e)}function po(){var t=0,e=arguments,r=new this(e[t]);for(Hn=!1;r.s&&++t<e.length;)r=r.plus(e[t]);return Hn=!0,ci(r,this.precision,this.rounding)}function vo(t){return new this(t).tan()}function mo(t){return new this(t).tanh()}function yo(t){return ci(t=new this(t),t.e+1,1)}oi[Symbol.for("nodejs.util.inspect.custom")]=oi.toString,oi[Symbol.toStringTag]="Decimal";var go=oi.constructor=function t(e){var r,n,i;function o(t){var e,r,n,i=this;if(!(i instanceof o))return new o(t);if(i.constructor=o,Ji(t))return i.s=t.s,void(Hn?!t.d||t.e>o.maxE?(i.e=NaN,i.d=null):t.e<o.minE?(i.e=0,i.d=[0]):(i.e=t.e,i.d=t.d.slice()):(i.e=t.e,i.d=t.d?t.d.slice():t.d));if("number"===(n=typeof t)){if(0===t)return i.s=1/t<0?-1:1,i.e=0,void(i.d=[0]);if(t<0?(t=-t,i.s=-1):i.s=1,t===~~t&&t<1e7){for(e=0,r=t;r>=10;r/=10)e++;return void(Hn?e>o.maxE?(i.e=NaN,i.d=null):e<o.minE?(i.e=0,i.d=[0]):(i.e=e,i.d=[t]):(i.e=e,i.d=[t]))}return 0*t!=0?(t||(i.s=NaN),i.e=NaN,void(i.d=null)):Ei(i,t.toString())}if("string"===n)return 45===(r=t.charCodeAt(0))?(t=t.slice(1),i.s=-1):(43===r&&(t=t.slice(1)),i.s=1),ei.test(t)?Ei(i,t):Oi(i,t);if("bigint"===n)return t<0?(t=-t,i.s=-1):i.s=1,Ei(i,t.toString());throw Error(zn+t)}if(o.prototype=oi,o.ROUND_UP=0,o.ROUND_DOWN=1,o.ROUND_CEIL=2,o.ROUND_FLOOR=3,o.ROUND_HALF_UP=4,o.ROUND_HALF_DOWN=5,o.ROUND_HALF_EVEN=6,o.ROUND_HALF_CEIL=7,o.ROUND_HALF_FLOOR=8,o.EUCLID=9,o.config=o.set=Ui,o.clone=t,o.isDecimal=Ji,o.abs=Li,o.acos=xi,o.acosh=Ri,o.add=Pi,o.asin=Ti,o.asinh=Fi,o.atan=ki,o.atanh=Di,o.atan2=Bi,o.cbrt=Ii,o.ceil=qi,o.clamp=Gi,o.cos=Hi,o.cosh=Yi,o.div=zi,o.exp=Wi,o.floor=Zi,o.hypot=Vi,o.ln=Xi,o.log=Ki,o.log10=to,o.log2=Qi,o.max=eo,o.min=ro,o.mod=no,o.mul=io,o.pow=oo,o.random=so,o.round=uo,o.sign=ao,o.sin=lo,o.sinh=fo,o.sqrt=co,o.sub=ho,o.sum=po,o.tan=vo,o.tanh=mo,o.trunc=yo,void 0===e&&(e={}),e&&!0!==e.defaults)for(i=["precision","rounding","toExpNeg","toExpPos","maxE","minE","modulo","crypto"],r=0;r<i.length;)e.hasOwnProperty(n=i[r++])||(e[n]=this[n]);return o.config(e),o}(Un);function wo(t,e=0,r={}){gn(e)||(e=0),e=xr(e);let n=at(r,"rounding","");return"ROUND_HALF_UP"!==n&&"ROUND_HALF_EVEN"!==n&&(n="ROUND_HALF_UP"),Cr(t)?new go(t).toDecimalPlaces(e,go[n]).toNumber():""}qn=new go(qn),Gn=new go(Gn);var bo=u?u.isConcatSpreadable:void 0;function Mo(t){return n(t)||gt(t)||!!(bo&&t&&t[bo])}function _o(t,e,r,n,i){var o=-1,s=t.length;for(r||(r=Mo),i||(i=[]);++o<s;){var u=t[o];e>0&&r(u)?e>1?_o(u,e-1,r,n,i):ie(i,u):n||(i[i.length]=u)}return i}function So(t,e){if(t!==e){var r=void 0!==t,n=null===t,i=t==t,o=m(t),s=void 0!==e,u=null===e,a=e==e,l=m(e);if(!u&&!l&&!o&&t>e||o&&s&&a&&!u&&!l||n&&s&&a||!r&&a||!i)return 1;if(!n&&!o&&!l&&t<e||l&&r&&i&&!n&&!o||u&&r&&i||!s&&i||!a)return-1}return 0}function Eo(t,e,r){e=e.length?tt(e,function(t){return n(t)?function(e){return ut(e,1===t.length?t[0]:t)}:t}):[Ie];var i=-1;return e=tt(e,Nt(Ue)),function(t,e){var r=t.length;for(t.sort(e);r--;)t[r]=t[r].value;return t}(Ze(t,function(t,r,n){return{criteria:tt(e,function(e){return e(t)}),index:++i,value:t}}),function(t,e){return function(t,e,r){for(var n=-1,i=t.criteria,o=e.criteria,s=i.length,u=r.length;++n<s;){var a=So(i[n],o[n]);if(a)return n>=u?a:a*("desc"==r[n]?-1:1)}return t.index-e.index}(t,e,r)})}var Oo=Math.max;var jo=function(){try{var t=P(Object,"defineProperty");return t({},"",{}),t}catch(t){}}(),No=jo,$o=No?function(t,e){return No(t,"toString",{configurable:!0,enumerable:!1,value:(r=e,function(){return r}),writable:!0});var r}:Ie,Ao=$o,Co=Date.now;var Lo=function(t){var e=0,r=0;return function(){var n=Co(),i=16-(n-r);if(r=n,i>0){if(++e>=800)return arguments[0]}else e=0;return t.apply(void 0,arguments)}}(Ao),xo=Lo;var Ro=function(t,e){return xo(function(t,e,r){return e=Oo(void 0===e?t.length-1:e,0),function(){for(var n=arguments,i=-1,o=Oo(n.length-e,0),s=Array(o);++i<o;)s[i]=n[e+i];i=-1;for(var u=Array(e+1);++i<e;)u[i]=n[i];return u[e]=r(s),function(t,e,r){switch(r.length){case 0:return t.call(e);case 1:return t.call(e,r[0]);case 2:return t.call(e,r[0],r[1]);case 3:return t.call(e,r[0],r[1],r[2])}return t.apply(e,r)}(t,this,u)}}(t,e,Ie),t+"")}(function(t,e){if(null==t)return[];var r=e.length;return r>1&&Tr(t,e[0],e[1])?e=[]:r>2&&Tr(e[0],e[1],e[2])&&(e=[e[0]]),Eo(t,_o(e,1),[])}),Po=Ro;function To(t,e,r){"__proto__"==e&&No?No(t,e,{configurable:!0,enumerable:!0,value:r,writable:!0}):t[e]=r}var Fo=Object.prototype.hasOwnProperty;function ko(t,e,r){var n=t[e];Fo.call(t,e)&&B(n,r)&&(void 0!==r||e in t)||To(t,e,r)}function Do(t,e,r,n){var i=!r;r||(r={});for(var o=-1,s=e.length;++o<s;){var u=e[o],a=n?n(r[u],t[u],u,r,t):void 0;void 0===a&&(a=t[u]),i?To(r,u,a):ko(r,u,a)}return r}var Bo=Object.prototype.hasOwnProperty;function Io(t){if(!b(t))return function(t){var e=[];if(null!=t)for(var r in Object(t))e.push(r);return e}(t);var e=kt(t),r=[];for(var n in t)("constructor"!=n||!e&&Bo.call(t,n))&&r.push(n);return r}function qo(t){return Gt(t)?Tt(t,!0):Io(t)}var Go="object"==typeof exports&&exports&&!exports.nodeType&&exports,Uo=Go&&"object"==typeof module&&module&&!module.nodeType&&module,Ho=Uo&&Uo.exports===Go?s.Buffer:void 0,Yo=Ho?Ho.allocUnsafe:void 0;var zo=Dt(Object.getPrototypeOf,Object),Wo=Object.getOwnPropertySymbols?function(t){for(var e=[];t;)ie(e,fe(t)),t=zo(t);return e}:ue,Zo=Wo;function Vo(t){return oe(t,qo,Zo)}var Jo=Object.prototype.hasOwnProperty;function Xo(t){var e=new t.constructor(t.byteLength);return new Qt(e).set(new Qt(t)),e}var Ko=/\w*$/;var Qo=u?u.prototype:void 0,ts=Qo?Qo.valueOf:void 0;function es(t,e,r){var n,i=t.constructor;switch(e){case"[object ArrayBuffer]":return Xo(t);case"[object Boolean]":case"[object Date]":return new i(+t);case"[object DataView]":return function(t,e){var r=e?Xo(t.buffer):t.buffer;return new t.constructor(r,t.byteOffset,t.byteLength)}(t,r);case"[object Float32Array]":case"[object Float64Array]":case"[object Int8Array]":case"[object Int16Array]":case"[object Int32Array]":case"[object Uint8Array]":case"[object Uint8ClampedArray]":case"[object Uint16Array]":case"[object Uint32Array]":return function(t,e){var r=e?Xo(t.buffer):t.buffer;return new t.constructor(r,t.byteOffset,t.length)}(t,r);case"[object Map]":case"[object Set]":return new i;case"[object Number]":case"[object String]":return new i(t);case"[object RegExp]":return function(t){var e=new t.constructor(t.source,Ko.exec(t));return e.lastIndex=t.lastIndex,e}(t);case"[object Symbol]":return n=t,ts?Object(ts.call(n)):{}}}var rs=Object.create,ns=function(){function t(){}return function(e){if(!b(e))return{};if(rs)return rs(e);t.prototype=e;var r=new t;return t.prototype=void 0,r}}(),is=ns;var os=Lt&&Lt.isMap,ss=os?Nt(os):function(t){return v(t)&&"[object Map]"==$e(t)};var us=Lt&&Lt.isSet,as=us?Nt(us):function(t){return v(t)&&"[object Set]"==$e(t)},ls="[object Arguments]",fs="[object Function]",cs="[object Object]",ds={};function hs(t,e,r,i,o,s){var u,a=1&e,l=2&e,f=4&e;if(r&&(u=o?r(t,i,o,s):r(t)),void 0!==u)return u;if(!b(t))return t;var c=n(t);if(c){if(u=function(t){var e=t.length,r=new t.constructor(e);return e&&"string"==typeof t[0]&&Jo.call(t,"index")&&(r.index=t.index,r.input=t.input),r}(t),!a)return Br(t,u)}else{var d=$e(t),h=d==fs||"[object GeneratorFunction]"==d;if(_t(t))return function(t,e){if(e)return t.slice();var r=t.length,n=Yo?Yo(r):new t.constructor(r);return t.copy(n),n}(t,a);if(d==cs||d==ls||h&&!o){if(u=l||h?{}:function(t){return"function"!=typeof t.constructor||kt(t)?{}:is(zo(t))}(t),!a)return l?function(t,e){return Do(t,Zo(t),e)}(t,function(t,e){return t&&Do(e,qo(e),t)}(u,t)):function(t,e){return Do(t,fe(t),e)}(t,function(t,e){return t&&Do(e,Ut(e),t)}(u,t))}else{if(!ds[d])return o?t:{};u=es(t,d,a)}}s||(s=new Zt);var p=s.get(t);if(p)return p;s.set(t,u),as(t)?t.forEach(function(n){u.add(hs(n,e,r,n,t,s))}):ss(t)&&t.forEach(function(n,i){u.set(i,hs(n,e,r,i,t,s))});var v=c?void 0:(f?l?Vo:ce:l?qo:Ut)(t);return zr(v||t,function(n,i){v&&(n=t[i=n]),ko(u,i,hs(n,e,r,i,t,s))}),u}ds[ls]=ds["[object Array]"]=ds["[object ArrayBuffer]"]=ds["[object DataView]"]=ds["[object Boolean]"]=ds["[object Date]"]=ds["[object Float32Array]"]=ds["[object Float64Array]"]=ds["[object Int8Array]"]=ds["[object Int16Array]"]=ds["[object Int32Array]"]=ds["[object Map]"]=ds["[object Number]"]=ds[cs]=ds["[object RegExp]"]=ds["[object Set]"]=ds["[object String]"]=ds["[object Symbol]"]=ds["[object Uint8Array]"]=ds["[object Uint8ClampedArray]"]=ds["[object Uint16Array]"]=ds["[object Uint32Array]"]=!0,ds["[object Error]"]=ds[fs]=ds["[object WeakMap]"]=!1;function ps(t){return hs(t,5)}function vs(t){let e,r=Object.prototype.toString.call(t);if(e="[object Promise]"===r,e)return!0;if("[object Function]"!==r)return!1;try{e="function"!=typeof t.subscribe&&"function"==typeof t.then}catch(t){}return e}function ms(t,e){return Pe(t,e)}function ys(t,e){function r(t){return Nn(t)?t:[t]}if(Rn(t))return!1;if(0===(t=r(t)).length)return!1;if(Rn(t))return!1;if(0===(e=r(e)).length)return!1;for(let r=0;r<t.length;r++)for(let n=0;n<e.length;n++)if(ms(t[r],e[n]))return!0;return!1}function gs(t){return"number"==typeof t||v(t)&&"[object Number]"==p(t)}function ws(t){if(!(Wt(t)||Cr(t)||m(t)||function(t){return"[object BigInt]"===Object.prototype.toString.call(t)}(t)))return"";let e="";try{e=String(t)}catch(t){}try{e=t.toString()}catch(t){}return e}let bs=0;let Ms=function(t="start1",e=!1){void 0===t?t=(new Date).getTime():"start1"===t&&(bs++,t=bs);let r=624,n=397,i=2147483648,o=2147483647,s=new Array(r),u=625,a=t=>{for(gs(t)?s[0]=t>>>0:(t=ws(t),s[0]=function(t,e={}){let r=at(e,"returnWithStateAndMsg",null);$r(r)||(r=!1);let n=t=>r?{state:"success",msg:t}:t;return zt(t)?n(""===t?0:t.split("").reduce((t,e)=>e.charCodeAt(0)+(t<<6)+(t<<16)-t,0)):r?{state:"error",msg:"invalid str"}:null}(t)),u=1;u<r;u++){let t=s[u-1]^s[u-1]>>>30;s[u]=(1812433253*((4294901760&t)>>>16)<<16)+1812433253*(65535&t)+u,s[u]>>>=0}},l=()=>(()=>{let t,e=new Array(2567483615);if(u>=r){let l;for(625===u&&a(5489),l=0;l<227;l++)t=s[l]&i|s[l+1]&o,s[l]=s[l+n]^t>>>1^e[1&t];for(;l<623;l++)t=s[l]&i|s[l+1]&o,s[l]=s[l+(n-r)]^t>>>1^e[1&t];t=s[623]&i|s[0]&o,s[623]=s[396]^t>>>1^e[1&t],u=0}return t=s[u++],t^=t>>>11,t^=t<<7&2636928640,t^=t<<15&4022730752,t^=t>>>18,t>>>0})()*(1/4294967296);a(t);let f=null;return f=e?l:l(),f}((new Date).getTime(),!0);function _s(t=0,e=100){if(Ur(t)||(t=0),t=xr(t),Ur(e)||(e=100),t>(e=xr(e)))throw new Error(`vstart[${t}] > vend[${e}]`);let r=Ms()*(e-t+1)+t;return r=Math.floor(r),r}function Ss(t){if(0===dr(t))throw new Error("dps is not an effective array");return{ps:Ve(t,t=>{if(0===dr(at(t,"values",[])))throw new Error("dp.values is not an effective array");if(at(t,"n",0)<=0)throw new Error("n<=0");return{ind:null,value:null}}),fitness:null}}function Es(t){if(0===dr(t))throw new Error("dps is not an effective array");let e=Ve(t,t=>{let e=at(t,"values",[]);if(0===dr(e))throw new Error("dp.values is not an effective array");let r=at(t,"n",0);if(r<=0)throw new Error("n<=0");let n=_s(0,r-1);return{ind:n,value:e[n]}});return{ps:e,fitness:null}}function Os(t,e,r="Mapping"){if(!Ur(t))throw new Error(`ind[${t}] in not an integer`);if(t=xr(t),!gn(e))throw new Error(`iUp[${e}]<0`);if(0===(e=xr(e)))return 0;if("Limit"===r)t=Math.min(t,e),t=Math.max(t,0);else if("Mapping"===r){let r=e+1;t=(t%r+r)%r}else{if("Random"!==r)throw new Error(`invalid mode[${r}]`);(t<0||t>e)&&(t=_s(0,e))}return t}function js(t,e){let r=t.ps,n=e.ps;if(dr(r)!==dr(n))return!1;for(let t=0;t<r.length;t++)if(r[t].ind!==n[t].ind)return!1;return!0}function Ns(t,e,r,n,i){if(t===e)return t;if(r<-4)return e;if(r>4)return t;if(i<=1)return t;let o;return o=r>=0?Math.pow(n/(i-1),Math.exp(r)):1-Math.pow((i-1-n)/(i-1),Math.exp(-r)),o*(e-t)+t}function $s(t,e){let r=0;for(let e of t)e>0&&(r+=e);if(r<=0)return _s(0,t.length-1);let n=e*r,i=0;for(let e=0;e<t.length;e++)if(t[e]>0&&(i+=t[e],n<i))return e;return t.length-1}function As(t,e,r,n,i){for(let o=0;o<t.length;++o)t[o]=e*r[o]+n*i[o]}function Cs(t,e){return t.y-e.y}function Ls(t,e,r){if(0===dr(r))throw new Error("dps is not an effective array");let n=at(r,e),i=at(n,"values",[]),o=null,s=null,u=1e20;return Wr(i,(e,r)=>{let n=t-e;n=Math.abs(n),u>n&&(u=n,o=r,s=e)}),{ind:o,value:s}}function xs(t,e,r){let n=ps(t.ps),i=_s(0,e.length-1),o=Math.random()<.5?-1:1,s=n[i].ind,u=s+o;return u=Os(u,e[i].n-1,r),n[i].ind=u,n[i].value=e[i].values[u],{ps:n,changed:u!==s}}function Rs(t){if(jn(t)){for(let e in t)return!0;return!1}return!1}function Ps(t){if(!Pn(t))throw new Error("dps is not an effective array");Wr(t,(t,e)=>{if(!Rs(t))throw new Error(`dps[${e}] is not an effective object`);let r=at(t,"values");if(!Pn(r))throw new Error(`dps[${e}].values is not an effective array`);let n=r.length,i=at(t,"n");if(!Hr(i))throw new Error(`dps[${e}].n is not a positive integer, got ${i}`);if(i!==n)throw new Error(`dps[${e}] invariant violated: n[${i}] !== values.length[${n}]`)})}async function Ts(t,e,r={}){Ps(t);let n=at(r,"Nl","");Hr(n)||(n=1e4),n=xr(n);let i=at(r,"NContiguous","");Hr(i)||(i=200),i=xr(i);let o=at(r,"NCore","");Hr(o)||(o=1e6),o=xr(o);let s=at(r,"ModeOutLimit","");ys(s,["Mapping","Limit","Random"])||(s="Mapping");let u=at(r,"taThresholdType","");ys(u,["Arithmetic Series","Geometric Series","Trapezoid Series"])||(u="Geometric Series");let a=at(r,"taThresholdInitial","");Cr(a)||(a=1),a=Lr(a);let l=at(r,"UseHists","");$r(l)||(l=!0);let f=at(r,"funGetBetter"),c=at(r,"funEndLoop"),d=0,h=at(r,"calcFitness");hn(h)||(h=async(t,r)=>{d++;let n=Ve(t.ps,"value"),i=e(n);return vs(i)&&(i=await i),{ps:t.ps,fitness:i}});let p,v=at(r,"initSolution");if(v&&Pn(v.ps)&&Cr(v.fitness))p=ps(v);else{let e=Es(t);p=await h(e,"init")}let m=function(t,e,r){let n=new Array(r).fill(0);if("Arithmetic Series"===t)for(let t=0;t<r;t++)n[t]=e*(r-1-t)/Math.max(r-1,1);else if("Geometric Series"===t){let t=.6,i=e;for(let e=0;e<r;e++)n[e]=i,i*=t}else{if("Trapezoid Series"!==t)throw new Error(`invalid thresholdType[${t}]`);{let t=Math.floor(r/3),i=Math.floor(r/2),o=r-t-i,s=Math.max(t+o-1,1);for(let r=0;r<t;r++)n[r]=e*(t+o-1-r)/s;let u=n[t-1]||0;for(let e=t;e<t+i;e++)n[e]=u;for(let r=t+i;r<t+i+o;r++)n[r]=e*(t+o-1-(r-i))/s}}return n}(u,a,n),y=ps(p),g=[],w="",b=0,M=0,_=0;l&&g.push(ps(p));let S=-1;for(;;){if(S++,S>=n){w=`stop by Nl[${n}]`,b=S,M=d;break}let e,r=xs(p,t,s);if(e=r.changed?await h({ps:r.ps},"neighbor"):{ps:r.ps,fitness:p.fitness},e.fitness-p.fitness<m[S]&&(p=e),y.fitness>p.fitness?(y=ps(p),hn(f)&&f(ps(y),S),_=0):_+=1,l&&g.push(ps(p)),_>=i?w=`stop by iContinue[${_}] >= NContiguous[${i}]`:d>=o&&(w=`stop by iExecute[${d}] >= NCore[${o}]`),Wt(w)){b=S,M=d;break}hn(c)&&c(ps(p),ps(y),S)}return{bestSolution:y,hists:g,stopMode:w,stopNl:b,stopExecutions:M}}async function Fs(t,e,r,n,i,o){let s=e.length,u=ps(t),a=0,l=-1,f=0;for(let c=0;c<s;c++)for(let s=-1;s<=1;s+=2){if(i===c&&o===-s)continue;let d=t.ps[c].ind,h=d+s;if(h=Os(h,e[c].n-1,r),h!==d){let r=ps(t.ps);r[c].ind=h,r[c].value=e[c].values[h];let i=await n({ps:r},"sdmNeighbor"),o=t.fitness-i.fitness;a<o&&(a=o,u=i,l=c,f=s)}}return{sMove:u,level:l,dir:f}}async function ks(t,e,r){let n=e.length,i=[],o=new Array(n).fill(0),s=ps(t);for(let o=0;o<n;o++){i.push([0,0]);for(let n=0;n<=1;n++){let u=0===n?-1:1,a=t.ps[o].ind,l=a+u;if(l=Os(l,e[o].n-1,"Limit"),l!==a){let u=ps(t.ps);u[o].ind=l,u[o].value=e[o].values[l];let a=await r({ps:u},"sdmGold");s.fitness>a.fitness&&(s=a),i[o][n]=t.fitness-a.fitness}else i[o][n]=0}}let u=0;for(let t=0;t<n;t++)i[t][0]<=0&&i[t][1]<=0&&u++;if(u===n)return t.fitness<s.fitness?t:s;let a=0;for(let t=0;t<n;t++){let e=i[t][0],r=i[t][1];o[t]=e>=0&&r>=0?e>r?-e:r:e>=0&&r<0?-e:e<0&&r>=0?r:0,a+=o[t]*o[t]}if(a=Math.sqrt(a),0===a)return t.fitness<s.fitness?t:s;for(let t=0;t<n;t++)o[t]=o[t]/a;let l=0;for(let t=0;t<n;t++)l+=e[t].n*e[t].n;l=Math.sqrt(l),l>32768&&(l=32768);let f=ps(t),c=ps(t),d=ps(t),h=1/1.618,p="",v=0;for(;;){let i="none",u=null;for(;;){if(h*=1.618,h>l){i="over";break}let r=ps(t.ps),s=0;for(let i=0;i<n;i++){let n=t.ps[i].ind+Math.round(o[i]*h);n=Os(n,e[i].n-1,"Limit"),r[i].ind=n,r[i].value=e[i].values[n],n===t.ps[i].ind&&s++}if(s!==n){i="move",u={ps:r,fitness:null};break}}if("over"===i){p="over";break}if(u=await r(u,"sdmGold"),s.fitness>u.fitness&&(s=u),v++,1===v){if(!(d.fitness>u.fitness))return f.fitness<s.fitness?f:s;d=u}else{if(!(d.fitness>u.fitness)){c=u,p="concave";break}d=u}}if("over"===p)return d.fitness<s.fitness?d:s;let m=0;for(;m++,!(m>50);){let t=ps(d.ps);for(let r=0;r<n;r++){let n=Math.round(.5*f.ps[r].ind+.5*c.ps[r].ind);t[r].ind=n,t[r].value=e[r].values[n]}let i=await r({ps:t},"sdmGold");s.fitness>i.fitness&&(s=i);let o=i.ps.every((t,e)=>t.ind===f.ps[e].ind),u=i.ps.every((t,e)=>t.ind===c.ps[e].ind);if(o||u)return[f,c,s].reduce((t,e)=>t.fitness<e.fitness?t:e);if(i.fitness<=f.fitness&&i.fitness<=c.fitness)f.fitness<=c.fitness?c=i:f=i,d=i;else if(i.fitness>=f.fitness&&i.fitness<=c.fitness)c=i;else{if(!(i.fitness<=f.fitness&&i.fitness>=c.fitness))return[f,c,s].reduce((t,e)=>t.fitness<e.fitness?t:e);f=i}}return[f,c,s].reduce((t,e)=>t.fitness<e.fitness?t:e)}async function Ds(t,e,r,n,i,o,s={}){if("None"===t)return e;if("NelderMead"===t){let t=async t=>{let e={ps:Ve(t,(t,e)=>Ls(t,e,r)),fitness:null};return(await i(e,"localSearchNelderMead")).fitness},n=Ve(e.ps,"value"),o=await async function(t,e,r={}){if(!hn(t))return Promise.reject("invalid fun");if(!Pn(e))return Promise.reject("params is not an effective array");let n=dr(e),i=at(r,"maxIterations");Cr(i)||(i=200*n),i=Lr(i);let o=at(r,"nonZeroDelta");Cr(o)||(o=1.05),o=Lr(o);let s=at(r,"delta");Cr(s)||(s=.001),s=Lr(s);let u=at(r,"minErrorDelta");Cr(u)||(u=1e-6),u=Lr(u);let a=at(r,"minTolerance");Cr(a)||(a=1e-5),a=Lr(a);let l=at(r,"rho");Cr(l)||(l=1),l=Lr(l);let f=at(r,"chi");Cr(f)||(f=2),f=Lr(f);let c=at(r,"psi");Cr(c)||(c=-.5),c=Lr(c);let d=at(r,"sigma");Cr(d)||(d=.5),d=Lr(d);let h=0;async function p(){let e=t(...arguments);return vs(e)&&(e=await e),h++,e}let v=new Array(n+1);v[0]=e,v[0].y=await p(e),v[0].id=0;for(let t=0;t<n;++t){let r=e.slice();r[t]=r[t]?r[t]*o:s,v[t+1]=r,v[t+1].y=await p(r),v[t+1].id=t+1}let m,y=t=>{for(let e=0;e<t.length;e++)v[n][e]=t[e];v[n].y=t.y},g=e.slice(),w=e.slice(),b=e.slice(),M=e.slice();for(let t=0;t<i;++t){v.sort(Cs),m=0;for(let t=0;t<n;++t)m=Math.max(m,Math.abs(v[0][t]-v[1][t]));if(Math.abs(v[0].y-v[n].y)<u&&m<a)break;for(let t=0;t<n;++t){g[t]=0;for(let e=0;e<n;++e)g[t]+=v[e][t];g[t]/=n}let t=v[n];if(As(w,1+l,g,-l,t),w.y=await p(w),w.y<v[0].y)As(M,1+f,g,-f,t),M.y=await p(M),M.y<w.y?y(M):y(w);else if(w.y>=v[n-1].y){let e=!1;if(w.y>t.y?(As(b,1+c,g,-c,t),b.y=await p(b),b.y<t.y?y(b):e=!0):(As(b,1-c*l,g,c*l,t),b.y=await p(b),b.y<w.y?y(b):e=!0),e){if(d>=1)break;for(let t=1;t<v.length;++t)As(v[t],1-d,v[0],d,v[t]),v[t].y=await p(v[t])}}else y(w)}v.sort(Cs);let _=[],S=v[0];for(let t=0;t<n;t++)_.push(S[t]);return{count:h,y:v[0].y,x:_}}(t,n);return o.y>=e.fitness?e:{ps:Ve(o.x,(t,e)=>Ls(t,e,r)),fitness:o.y}}if("Neighbor"===t||"OneGold"===t||"Gold"===t){let s=await async function(t,e,r={}){Ps(t);let n=at(r,"sdmMode","");ys(n,["Neighbor","OneGold","Gold"])||(n="Neighbor");let i=at(r,"ModeOutLimit","");ys(i,["Mapping","Limit","Random"])||(i="Mapping");let o=0,s=at(r,"calcFitness");hn(s)||(s=async(t,r)=>{o++;let n=Ve(t.ps,"value"),i=e(n);return vs(i)&&(i=await i),{ps:t.ps,fitness:i}});let u,a=at(r,"initSolution");if(a&&Pn(a.ps)&&Cr(a.fitness))u=ps(a);else{let e=Es(t);u=await s(e,"init")}let l=ps(u);if("Neighbor"===n){let e=-1,r=0;for(;;){let n=await Fs(u,t,i,s,e,r);if(u.fitness===n.sMove.fitness)break;u=n.sMove,e=n.level,r=n.dir,l.fitness>u.fitness&&(l=ps(u))}}else if("OneGold"===n){let e=await ks(u,t,s);l.fitness>e.fitness&&(l=e)}else if("Gold"===n){let e=50,r=0;for(;r++,!(r>e);){let e=await ks(u,t,s);if(u.fitness===e.fitness)break;u=e,l.fitness>u.fitness&&(l=ps(u))}}return{bestSolution:l,stopExecutions:o}}(r,n,{sdmMode:t,ModeOutLimit:o,initSolution:e,calcFitness:i});return s.bestSolution}if("SA"===t){let t=await async function(t,e,r={}){Ps(t);let n=at(r,"Nl","");Hr(n)||(n=1e4),n=xr(n);let i=at(r,"NContiguous","");Hr(i)||(i=200),i=xr(i);let o=at(r,"NCore","");Hr(o)||(o=1e6),o=xr(o);let s=at(r,"ModeOutLimit","");ys(s,["Mapping","Limit","Random"])||(s="Mapping");let u=at(r,"saInitialTemperature","");Cr(u)||(u=100),u=Lr(u);let a=at(r,"saAlpha","");Cr(a)||(a=.9),a=Lr(a);let l=at(r,"UseHists","");$r(l)||(l=!0);let f=at(r,"funGetBetter"),c=at(r,"funEndLoop"),d=0,h=at(r,"calcFitness");hn(h)||(h=async(t,r)=>{d++;let n=Ve(t.ps,"value"),i=e(n);return vs(i)&&(i=await i),{ps:t.ps,fitness:i}});let p,v=at(r,"initSolution");if(v&&Pn(v.ps)&&Cr(v.fitness))p=ps(v);else{let e=Es(t);p=await h(e,"init")}let m=ps(p),y=[],g="",w=0,b=0,M=0,_=u;l&&y.push(ps(p));let S=-1;for(;;){S++;let e,r=xs(p,t,s);e=r.changed?await h({ps:r.ps},"neighbor"):{ps:r.ps,fitness:p.fitness};let u=e.fitness-p.fitness;if(u<0?(p=e,_*=a):Math.random()<Math.exp(-u/_)&&(p=e),m.fitness>p.fitness?(m=ps(p),hn(f)&&f(ps(m),S),M=0):M+=1,l&&y.push(ps(p)),S>=n?g=`stop by Nl[${n}]`:M>=i?g=`stop by iContinue[${M}] >= NContiguous[${i}]`:d>=o&&(g=`stop by iExecute[${d}] >= NCore[${o}]`),Wt(g)){w=S,b=d;break}hn(c)&&c(ps(p),ps(m),S)}return{bestSolution:m,hists:y,stopMode:g,stopNl:w,stopExecutions:b}}(r,n,{initSolution:e,calcFitness:i,ModeOutLimit:o,Nl:1e3,NContiguous:5,saInitialTemperature:Math.max(.05*e.fitness,1),saAlpha:.9,UseHists:!1});return t.bestSolution}if("TA"===t){return(await Ts(r,n,{initSolution:e,calcFitness:i,ModeOutLimit:o,Nl:1e3,NContiguous:5,taThresholdType:"Geometric Series",taThresholdInitial:Math.max(.05*e.fitness,1),UseHists:!1})).bestSolution}throw new Error(`invalid LocalSearchMethod[${t}]`)}function Bs(t){let e=dr(t);if(0===e)return 0;let r=0;for(let e of t)r+=e;r/=e;let n=0;for(let e of t)n+=(e-r)*(e-r);return Math.sqrt(n/e)}async function Is(t,e,r={}){Ps(t);let n=at(r,"Ng","");Hr(n)||(n=1e4),n=xr(n);let i=at(r,"Np","");Hr(i)||(i=40),i=xr(i);let o=dr(t),s=at(r,"NContiguous","");Hr(s)||(s=100),s=xr(s);let u=at(r,"NRepeat","");Hr(u)||(u=1),u=xr(u);let a=at(r,"NCore","");Hr(a)||(a=1e6),a=xr(a);let l=at(r,"ModeOutLimit","");ys(l,["Mapping","Limit","Random"])||(l="Mapping");let f=at(r,"UseRepeat","");$r(f)||(f=!0);let c=at(r,"UseImmigration","");$r(c)||(c=!0);let d=at(r,"LocalSearchMethod","");ys(d,["None","Neighbor","TA","SA","OneGold","Gold","NelderMead"])||(d="NelderMead");let h=at(r,"funGetBetter"),p=at(r,"funGenerationBefore"),v=at(r,"funGenerationAfter"),m=at(r,"rgaMutationRateStart","");Cr(m)||(m=.05),m=Lr(m);let y=at(r,"rgaMutationRateEnd","");Cr(y)||(y=.05),y=Lr(y);let g=at(r,"rgaMutationRateDynamic","");Cr(g)||(g=0),g=Lr(g);let w=at(r,"rgaSelection","");ys(w,["Roulette Wheel Selection","Tournament Selection","Ranking Selection","Uniform Selection"])||(w="Tournament Selection");let b=at(r,"rgaCrossover","");ys(b,["Flat Crossover","BLX-a Crossover","Linear Crossover","Arithmetical Crossover","Chung Crossover","DE1 Crossover","3P Crossover","3PB Crossover","DE2 Crossover","4P Crossover","4PB Crossover","HS Crossover","Guiding Function"])||(b="BLX-a Crossover");let M=at(r,"rgaMutation","");ys(M,["Constant1","Constant2","Constant3","Linear0.1","Linear0.2","Linear0.3","Exponent0.1","Exponent0.2","Exponent0.3","Global Space"])||(M="Linear0.1");let _=at(r,"rgaElitism","");ys(_,["None","BestOne","HalfPop","AllPop"])||(_="BestOne");let S={"Flat Crossover":2,"BLX-a Crossover":2,"Linear Crossover":2,"Arithmetical Crossover":2,"Chung Crossover":2,"DE1 Crossover":3,"3P Crossover":3,"3PB Crossover":3,"DE2 Crossover":4,"4P Crossover":4,"4PB Crossover":4,"HS Crossover":2,"Guiding Function":2};if(i<S[b])throw new Error(`Np[${i}] is less than the minimum[${S[b]}] required by rgaCrossover[${b}]`);let E=0,O=0,j=0,N=async(t,r)=>{j++;let n=Ve(t.ps,"value"),i=e(n);return vs(i)&&(i=await i),{ps:t.ps,fitness:i}},$=null,A=[],C="",L=0,x=0,R=[],P=[];for(let e=0;e<i;e++){let e=Es(t),r=await N(e);R.push(r)}R=Po(R,"fitness"),A.push(ps(R[0])),$=ps(R[0]);let T=(t=[])=>{let e=new Set(t),r=()=>{let t=_s(0,i-1),r=0;for(;e.has(t)&&(t=_s(0,i-1),r++,!(r>10*i)););return t};if("Roulette Wheel Selection"===w){let t=r(),n=R[t].fitness;for(let t=0;t<i;t++)e.has(t)||n>R[t].fitness&&(n=R[t].fitness);let o=new Array(i).fill(0);for(let t=0;t<i;t++)e.has(t)||(o[t]=1/(R[t].fitness-n+1));return $s(o,Math.random())}if("Tournament Selection"===w){let t=r(),n=t,o=0;for(;(n===t||e.has(n))&&(n=_s(0,i-1),o++,!(o>10*i)););return R[t].fitness<R[n].fitness?t:n}if("Ranking Selection"===w){let t=new Array(i).fill(0);for(let r=0;r<i;r++)e.has(r)||(t[r]=i-r);return $s(t,Math.random())}if("Uniform Selection"===w)return r();throw new Error(`invalid rgaSelection[${w}]`)},F=(e,r,n)=>{let i=Ss(t);for(let s=0;s<o;s++){let o=R[e].ps[s].ind,u=R[r].ps[s].ind,a=Math.min(o,u),l=Math.max(o,u),f=Math.round(n*(l-a));l+=f,a-=f,l=Math.min(l,t[s].n-1),a=Math.max(a,0);let c=_s(a,l);i.ps[s].ind=c,i.ps[s].value=t[s].values[c]}return i},k=(e,r,n,i)=>{let s=Ss(t);for(let u=0;u<o;u++){let o=R[e].ps[u].ind,a=R[r].ps[u].ind,f=Math.round(n*o+i*a);f=Os(f,t[u].n-1,l),s.ps[u].ind=f,s.ps[u].value=t[u].values[f]}return s},D=(e,r,n)=>{let i=Ss(t),s=Ss(t),u=_s(0,o-1),a=R[e].ps[u].ind,l=R[r].ps[u].ind,f=Math.min(a,l),c=Math.max(a,l),d=Math.round(n*(c-f));c+=d,f-=d,c=Math.min(c,t[u].n-1),f=Math.max(f,0);let h=_s(f,c);i.ps[u].ind=h,i.ps[u].value=t[u].values[h],s.ps[u].ind=h,s.ps[u].value=t[u].values[h];for(let t=0;t<u;t++)i.ps[t].ind=R[e].ps[t].ind,i.ps[t].value=R[e].ps[t].value,s.ps[t].ind=R[r].ps[t].ind,s.ps[t].value=R[r].ps[t].value;for(let t=u+1;t<o;t++)i.ps[t].ind=R[r].ps[t].ind,i.ps[t].value=R[r].ps[t].value,s.ps[t].ind=R[e].ps[t].ind,s.ps[t].value=R[e].ps[t].value;return[i,s]},B=(e,r,n,i,s,u)=>{let a=Ss(t);for(let f=0;f<o;f++){let o=R[e].ps[f].ind,c=R[r].ps[f].ind,d=R[n].ps[f].ind,h=Math.round(i*o+s*c+u*d);h=Os(h,t[f].n-1,l),a.ps[f].ind=h,a.ps[f].value=t[f].values[h]}return a},I=(e,r,n,i,s,u,a,f)=>{let c=Ss(t);for(let d=0;d<o;d++){let o=R[e].ps[d].ind,h=R[r].ps[d].ind,p=R[n].ps[d].ind,v=R[i].ps[d].ind,m=Math.round(s*o+u*h+a*p+f*v);m=Os(m,t[d].n-1,l),c.ps[d].ind=m,c.ps[d].value=t[d].values[m]}return c},q=()=>{let e=[];if("Flat Crossover"===b||"BLX-a Crossover"===b||"Linear Crossover"===b||"Arithmetical Crossover"===b||"Chung Crossover"===b)for(;e.length<i;){let t=T(),r=T([t]);if("Flat Crossover"===b)e.push(F(t,r,0));else if("BLX-a Crossover"===b)e.push(F(t,r,.25));else if("Linear Crossover"===b){if(e.push(k(t,r,.5,.5)),e.length>=i)break;if(e.push(k(t,r,1.5,-.5)),e.length>=i)break;e.push(k(t,r,-.5,1.5))}else if("Arithmetical Crossover"===b){let n=Math.random();if(e.push(k(t,r,n,1-n)),e.length>=i)break;e.push(k(t,r,1-n,n))}else if("Chung Crossover"===b){let[n,o]=D(t,r,.25);if(e.push(n),e.length>=i)break;e.push(o)}}else if("DE1 Crossover"===b||"3P Crossover"===b||"3PB Crossover"===b)for(;e.length<i;){let t,r,n,i,o,s;if("DE1 Crossover"===b){t=T(),r=T([t]),n=T([t,r]),i=1,o=1,s=-o}else"3P Crossover"===b?(t=T(),r=T([t]),n=T([t,r]),i=-.4,o=.5,s=.7):"3PB Crossover"===b&&(t=0,r=T([t]),n=T([t,r]),i=-.4,o=.5,s=.7);e.push(B(t,r,n,i,o,s))}else if("DE2 Crossover"===b||"4P Crossover"===b||"4PB Crossover"===b)for(;e.length<i;){let t,r,n,i,o,s,u,a;if("DE2 Crossover"===b){t=0,r=T([t]),n=T([t,r]),i=T([t,r,n]),o=1,s=1-o,u=.2,a=-u}else"4P Crossover"===b?(t=T(),r=T([t]),n=T([t,r]),i=T([t,r,n]),o=.2,s=-.6,u=.5,a=.7):"4PB Crossover"===b&&(t=0,r=T([t]),n=T([t,r]),i=T([t,r,n]),o=.2,s=-.6,u=.5,a=.7);e.push(I(t,r,n,i,o,s,u,a))}else if("HS Crossover"===b)for(let r=0;r<i;r++){let r=Ss(t);for(let t=0;t<o;t++){let e=T();r.ps[t].ind=R[e].ps[t].ind,r.ps[t].value=R[e].ps[t].value}e.push(r)}else{if("Guiding Function"!==b)throw new Error(`invalid rgaCrossover[${b}]`);{let r=[],n=[];for(let e=0;e<o;e++){let o=[],s=[];for(let t=0;t<i;t++)o.push(R[t].ps[e].ind),s.push(R[t].ps[e].ind);r.push(s);let u=t[e].n,a=new Array(u).fill(0);for(let t of o)t>=0&&t<u&&a[t]++;n.push(Bs(a))}for(let t=0;t<i;t++){let i=$s(n,Math.random()),o=$s(r[i].map(t=>t),Math.random()),s=ps(R[t]);s.ps[i].ind=R[o].ps[i].ind,s.ps[i].value=R[o].ps[i].value,e.push(s)}}}return e.length>i&&(e.length=i),e},G=(e,r)=>{for(let n=0;n<i;n++)for(let i=0;i<o;i++)if(Math.random()<r){let r=e[n].ps[i].ind,o=t[i].n;if("Constant1"===M){let t=1;r=Math.random()<.5?r+t:r-t}else if("Constant2"===M){let t=_s(1,2);r=Math.random()<.5?r+t:r-t}else if("Constant3"===M){let t=_s(1,3);r=Math.random()<.5?r+t:r-t}else if("Linear0.1"===M){let t=_s(1,Math.round(.1*o)+1);r=Math.random()<.5?r+t:r-t}else if("Linear0.2"===M){let t=_s(1,Math.round(.2*o)+1);r=Math.random()<.5?r+t:r-t}else if("Linear0.3"===M){let t=_s(1,Math.round(.3*o)+1);r=Math.random()<.5?r+t:r-t}else if("Exponent0.1"===M){let t=Math.floor(Math.pow(.1*o+1,Math.random()));r=Math.random()<.5?r+t:r-t}else if("Exponent0.2"===M){let t=Math.floor(Math.pow(.2*o+1,Math.random()));r=Math.random()<.5?r+t:r-t}else if("Exponent0.3"===M){let t=Math.floor(Math.pow(.3*o+1,Math.random()));r=Math.random()<.5?r+t:r-t}else{if("Global Space"!==M)throw new Error(`invalid rgaMutation[${M}]`);r=_s(0,o-1)}r=Os(r,o-1,l),e[n].ps[i].ind=r,e[n].ps[i].value=t[i].values[r]}return e},U=t=>{if("None"===_)return t;if("BestOne"===_)return t[i-1]=ps(R[0]),t;if("HalfPop"===_){let e=Math.floor(i/2);for(let r=e;r<i;r++)t[r]=ps(R[r-e]);return t}if("AllPop"===_){let e=[];for(let r=0;r<i;r++)e.push(R[r]),e.push(t[r]);return e=Po(e,"fitness"),e.slice(0,i)}throw new Error(`invalid rgaElitism[${_}]`)},H=-1;for(;;){H++;let r={rgaMutationRate:Ns(m,y,g,O,s),rgaSelection:w,rgaCrossover:b,rgaMutation:M,rgaElitism:_,ModeOutLimit:l,LocalSearchMethod:d};if(hn(p)){let t=await p({params:ps(r)});t&&t.params&&(r={...r,...t.params})}w=r.rgaSelection,b=r.rgaCrossover,M=r.rgaMutation,_=r.rgaElitism,l=r.ModeOutLimit,d=r.LocalSearchMethod;let o=r.rgaMutationRate;P=q(),P=G(P,o);for(let t=0;t<i;t++)P[t]=await N(P[t]);P=Po(P,"fitness"),P=U(P),P=Po(P,"fitness");let S=async()=>{for(let e=i-1;e>=1;e--)if(js(P[e-1],P[e])){let r=Es(t),n=await N(r);P[e]=n}P=Po(P,"fitness")};c&&await S();let T=async()=>{let r=await Ds(d,P[0],t,e,N,l);r.fitness>=P[0].fitness||(P[0]=r)};await T(),A.push(ps(P[0])),$.fitness>P[0].fitness?($=ps(P[0]),hn(h)&&h(ps($),H),O=0):O+=1;let F=async()=>{for(let e=1;e<=i-1;e++){let r=Es(t),n=await N(r);P[e]=n}P=Po(P,"fitness"),O=0,E+=1};if(f&&O>=s&&E<u&&await F(),H>=n?C=`stop by Ng[${n}]`:O>=s?C=`stop by iContinue[${O}] >= NContiguous[${s}]`:j>=a&&(C=`stop by iExecute[${j}] >= NCore[${a}]`),hn(v)&&await v({params:ps(r),childrenBestFitness:P[0].fitness}),Wt(C)){L=H,x=j;break}R=ps(P)}return{bestSolution:$,hists:A,stopMode:C,stopNg:L,stopIteration:L,stopExecutions:x}}async function qs(t,e,r={}){Ps(t);let n=at(r,"Ng","");Hr(n)||(n=1e4),n=xr(n);let i=at(r,"Np","");Hr(i)||(i=40),i=xr(i);let o=dr(t),s=at(r,"NContiguous","");Hr(s)||(s=100),s=xr(s);let u=at(r,"NRepeat","");Hr(u)||(u=1),u=xr(u);let a=at(r,"NCore","");Hr(a)||(a=1e6),a=xr(a);let l=at(r,"ModeOutLimit","");ys(l,["Mapping","Limit","Random"])||(l="Mapping");let f=at(r,"UseRepeat","");$r(f)||(f=!0);let c=at(r,"UseImmigration","");$r(c)||(c=!0);let d=at(r,"LocalSearchMethod","");ys(d,["None","Neighbor","TA","SA","OneGold","Gold","NelderMead"])||(d="NelderMead");let h=at(r,"funGetBetter"),p=at(r,"funGenerationBefore"),v=at(r,"funGenerationAfter"),m=at(r,"deCrossoverFactorStart","");Cr(m)||(m=.6),m=Lr(m);let y=at(r,"deCrossoverFactorEnd","");Cr(y)||(y=.6),y=Lr(y);let g=at(r,"deCrossoverFactorDynamic","");Cr(g)||(g=0),g=Lr(g);let w=at(r,"deFStart","");Cr(w)||(w=0),w=Lr(w);let b=at(r,"deFEnd","");Cr(b)||(b=1),b=Lr(b);let M=at(r,"deFDynamic","");Cr(M)||(M=1),M=Lr(M);let _=at(r,"deLandaStart","");Cr(_)||(_=0),_=Lr(_);let S=at(r,"deLandaEnd","");Cr(S)||(S=0),S=Lr(S);let E=at(r,"deLandaDynamic","");Cr(E)||(E=0),E=Lr(E);let O=at(r,"deMutation","");ys(O,["1R2RR","1B2RR","1R2BR","1R4RRRR","1B4RRRR","1R4BRRR","1S4BSRR"])||(O="1B2RR");let j={"1R2RR":3,"1B2RR":2,"1R2BR":2,"1R4RRRR":5,"1B4RRRR":4,"1R4BRRR":4,"1S4BSRR":4};if(i<j[O])throw new Error(`Np[${i}] is less than the minimum[${j[O]}] required by deMutation[${O}]`);let N=0,$=0,A=0,C=async(t,r)=>{A++;let n=Ve(t.ps,"value"),i=e(n);return vs(i)&&(i=await i),{ps:t.ps,fitness:i}},L=null,x=[],R="",P=0,T=0,F=[],k=[];for(let e=0;e<i;e++){let e=Es(t),r=await C(e);F.push(r)}F=Po(F,"fitness"),x.push(ps(F[0])),L=ps(F[0]);let D=(t,e,r,n={})=>{let s=at(n,"deMutation",""),u=at(n,"deCrossoverFactor",""),a=at(n,"deF",""),l=at(n,"deLanda",""),f=at(n,"ModeOutLimit",""),c=null,d=null,h=null,p=null,v=null,m=Ss(t),y=Yr(0,i-1,i);if("1R2RR"===s)c=y[0],d=y[1],h=y[2];else if("1B2RR"===s)c=0,d=y[0],h=y[1];else if("1R2BR"===s)c=y[0],d=0,h=y[1];else if("1R4RRRR"===s)c=y[0],d=y[1],h=y[2],p=y[3],v=y[4];else if("1B4RRRR"===s)c=0,d=y[0],h=y[1],p=y[2],v=y[3];else if("1R4BRRR"===s)c=y[0],d=0,h=y[1],p=y[2],v=y[3];else{if("1S4BSRR"!==s)throw new Error(`invalid deMutation[${s}]`);c=r,d=0,h=r,p=y[2],v=y[3]}let g="3p";7===dr(s)&&(g="5p");let w=_s(0,o-1);for(let n=0;n<o;n++)if(Math.random()<u||n===w){let r=null;r="3p"===g?Math.round(e[c].ps[n].ind+a*(e[d].ps[n].ind-e[h].ps[n].ind)):Math.round(e[c].ps[n].ind+a*(e[d].ps[n].ind-e[h].ps[n].ind)+l*(e[p].ps[n].ind-e[v].ps[n].ind)),r=Os(r,t[n].n-1,f),m.ps[n].ind=r,m.ps[n].value=t[n].values[r]}else m.ps[n].ind=e[r].ps[n].ind,m.ps[n].value=e[r].ps[n].value;return m},B=-1;for(;;){B++;let r={deCrossoverFactor:Ns(m,y,g,$,s),deF:Ns(w,b,M,$,s),deLanda:Ns(_,S,E,$,s),deMutation:O,ModeOutLimit:l,LocalSearchMethod:d};if(hn(p)){let t=await p({params:ps(r)});t&&t.params&&(r={...r,...t.params})}for(let e=0;e<i;e++){let n=D(t,F,e,r),i=await C(n);F[e].fitness>i.fitness?k[e]=i:k[e]=ps(F[e])}k=Po(k,"fitness");let o=async()=>{for(let e=i-1;e>=1;e--)if(js(k[e-1],k[e])){let r=Es(t),n=await C(r);k[e]=n}k=Po(k,"fitness")};c&&await o();let j=async()=>{let n=await Ds(r.LocalSearchMethod,k[0],t,e,C,r.ModeOutLimit);n.fitness>=k[0].fitness||(k[0]=n)};await j(),x.push(ps(k[0])),L.fitness>k[0].fitness?(L=ps(k[0]),hn(h)&&h(ps(L),B),$=0):$+=1;let I=async()=>{for(let e=1;e<=i-1;e++){let r=Es(t),n=await C(r);k[e]=n}k=Po(k,"fitness"),$=0,N+=1};if(f&&$>=s&&N<u&&await I(),B>=n?R=`stop by Ng[${n}]`:$>=s?R=`stop by iContinue[${$}] >= NContiguous[${s}]`:A>=a&&(R=`stop by iExecute[${A}] >= NCore[${a}]`),hn(v)&&await v({params:ps(r),childrenBestFitness:k[0].fitness}),Wt(R)){P=B,T=A;break}F=ps(k)}return{bestSolution:L,hists:x,stopMode:R,stopNg:P,stopIteration:P,stopExecutions:T}}async function Gs(t,e,r={}){Ps(t);let n=at(r,"Ni","");Hr(n)||(n=1e4),n=xr(n);let i=at(r,"Ns","");Hr(i)||(i=20),i=xr(i);let o=dr(t),s=at(r,"NContiguous","");Hr(s)||(s=100),s=xr(s);let u=at(r,"NRepeat","");Hr(u)||(u=1),u=xr(u);let a=at(r,"NCore","");Hr(a)||(a=1e6),a=xr(a);let l=at(r,"ModeOutLimit","");ys(l,["Mapping","Limit","Random"])||(l="Mapping");let f=at(r,"UseRepeat","");$r(f)||(f=!0);let c=at(r,"UseImmigration","");$r(c)||(c=!0);let d=at(r,"LocalSearchMethod","");ys(d,["None","Neighbor","TA","SA","OneGold","Gold","NelderMead"])||(d="NelderMead");let h=at(r,"funGetBetter"),p=at(r,"funGenerationBefore"),v=at(r,"funGenerationAfter"),m=at(r,"hsHMCRStart","");Cr(m)||(m=.9),m=Lr(m);let y=at(r,"hsHMCREnd","");Cr(y)||(y=.9),y=Lr(y);let g=at(r,"hsHMCRDynamic","");Cr(g)||(g=0),g=Lr(g);let w=at(r,"hsPARStart","");Cr(w)||(w=.5),w=Lr(w);let b=at(r,"hsPAREnd","");Cr(b)||(b=.5),b=Lr(b);let M=at(r,"hsPARDynamic","");Cr(M)||(M=0),M=Lr(M);let _=at(r,"hsHMC","");ys(_,["Original","2M Consideration","2MB Consideration","3M Consideration","3MB Consideration","4M Consideration","4MB Consideration"])||(_="Original");let S=at(r,"hsPA","");ys(S,["Constant1","Constant2","Constant3","Linear0.1","Linear0.2","Linear0.3","Exponent0.1","Exponent0.2","Exponent0.3","Global Space","Available Space","Modified Global Best"])||(S="Linear0.1");let E={Original:1,"2M Consideration":2,"2MB Consideration":2,"3M Consideration":3,"3MB Consideration":3,"4M Consideration":4,"4MB Consideration":4};if(i<E[_])throw new Error(`Ns[${i}] is less than the minimum[${E[_]}] required by hsHMC[${_}]`);let O=0,j=0,N=0,$=async(t,r)=>{N++;let n=Ve(t.ps,"value"),i=e(n);return vs(i)&&(i=await i),{ps:t.ps,fitness:i}},A=null,C=[],L="",x=0,R=0,P=[];for(let e=0;e<i;e++){let e=Es(t),r=await $(e);P.push(r)}P=Po(P,"fitness"),C.push(ps(P[0])),A=ps(P[0]);let T=(t=[])=>{let e=new Set(t),r=_s(0,i-1),n=0;for(;e.has(r)&&(r=_s(0,i-1),n++,!(n>10*i)););return r},F=(e,r)=>{let n=Ss(t);for(let s=0;s<o;s++){let o=0,u=t[s].n;if(Math.random()<e){if("Original"===_){let t=_s(0,i-1);o=P[t].ps[s].ind}else if("2M Consideration"===_){let t=_s(0,i-1),e=T([t]),r=P[t].ps[s].ind,n=P[e].ps[s].ind;o=Math.round(.6*r+.6*n)}else if("2MB Consideration"===_){let t=0,e=T([t]),r=P[t].ps[s].ind,n=P[e].ps[s].ind;o=Math.round(.6*r+.6*n)}else if("3M Consideration"===_){let t=_s(0,i-1),e=T([t]),r=T([t,e]),n=P[t].ps[s].ind,u=P[e].ps[s].ind,a=P[r].ps[s].ind;o=Math.round(-.4*n+.5*u+.7*a)}else if("3MB Consideration"===_){let t=0,e=T([t]),r=T([t,e]),n=P[t].ps[s].ind,i=P[e].ps[s].ind,u=P[r].ps[s].ind;o=Math.round(-.4*n+.5*i+.7*u)}else if("4M Consideration"===_){let t=_s(0,i-1),e=T([t]),r=T([t,e]),n=T([t,e,r]),u=P[t].ps[s].ind,a=P[e].ps[s].ind,l=P[r].ps[s].ind,f=P[n].ps[s].ind;o=Math.round(.2*u-.6*a+.5*l+.7*f)}else{if("4MB Consideration"!==_)throw new Error(`invalid hsHMC[${_}]`);{let t=0,e=T([t]),r=T([t,e]),n=T([t,e,r]),i=P[t].ps[s].ind,u=P[e].ps[s].ind,a=P[r].ps[s].ind,l=P[n].ps[s].ind;o=Math.round(.2*i-.6*u+.5*a+.7*l)}}if(Math.random()<r)if("Constant1"===S){let t=1;o=Math.random()<.5?o+t:o-t}else if("Constant2"===S){let t=_s(1,2);o=Math.random()<.5?o+t:o-t}else if("Constant3"===S){let t=_s(1,3);o=Math.random()<.5?o+t:o-t}else if("Linear0.1"===S){let t=_s(1,Math.round(.1*u)+1);o=Math.random()<.5?o+t:o-t}else if("Linear0.2"===S){let t=_s(1,Math.round(.2*u)+1);o=Math.random()<.5?o+t:o-t}else if("Linear0.3"===S){let t=_s(1,Math.round(.3*u)+1);o=Math.random()<.5?o+t:o-t}else if("Exponent0.1"===S){let t=Math.floor(Math.pow(.1*u+1,Math.random()));o=Math.random()<.5?o+t:o-t}else if("Exponent0.2"===S){let t=Math.floor(Math.pow(.2*u+1,Math.random()));o=Math.random()<.5?o+t:o-t}else if("Exponent0.3"===S){let t=Math.floor(Math.pow(.3*u+1,Math.random()));o=Math.random()<.5?o+t:o-t}else if("Global Space"===S)o=_s(0,u-1);else if("Available Space"===S){let t=P[0].ps[s].ind,e=P[0].ps[s].ind;for(let r=1;r<i;r++)t<P[r].ps[s].ind&&(t=P[r].ps[s].ind),e>P[r].ps[s].ind&&(e=P[r].ps[s].ind);if(Math.random()<.5){o=_s(Math.min(o,t),Math.max(o,t))}else{o=_s(Math.min(o,e),Math.max(o,e))}}else{if("Modified Global Best"!==S)throw new Error(`invalid hsPA[${S}]`);o=P[0].ps[s].ind}}else o=_s(0,u-1);o=Os(o,u-1,l),n.ps[s].ind=o,n.ps[s].value=t[s].values[o]}return n},k=-1;for(;;){k++;let r={hsHMCR:Ns(m,y,g,j,s),hsPAR:Ns(w,b,M,j,s),hsHMC:_,hsPA:S,ModeOutLimit:l,LocalSearchMethod:d};if(hn(p)){let t=await p({params:ps(r)});t&&t.params&&(r={...r,...t.params})}_=r.hsHMC,S=r.hsPA,l=r.ModeOutLimit,d=r.LocalSearchMethod;let o=F(r.hsHMCR,r.hsPAR),E=await $(o);P[i-1].fitness>E.fitness&&(P[i-1]=E,P=Po(P,"fitness"));let T=async()=>{for(let e=i-1;e>=1;e--)if(js(P[e-1],P[e])){let r=Es(t),n=await $(r);P[e]=n}P=Po(P,"fitness")},D=async()=>{let r=await Ds(d,P[0],t,e,$,l);r.fitness>=P[0].fitness||(P[0]=r)};(k+1)%i===0&&(c&&await T(),await D()),C.push(ps(P[0])),A.fitness>P[0].fitness?(A=ps(P[0]),hn(h)&&h(ps(A),k),j=0):j+=1;let B=async()=>{for(let e=1;e<=i-1;e++){let r=Es(t),n=await $(r);P[e]=n}P=Po(P,"fitness"),j=0,O+=1};if(f&&j>=s&&O<u&&await B(),k>=n?L=`stop by Ni[${n}]`:j>=s?L=`stop by iContinue[${j}] >= NContiguous[${s}]`:N>=a&&(L=`stop by iExecute[${N}] >= NCore[${a}]`),hn(v)&&await v({params:ps(r),childrenBestFitness:P[0].fitness}),Wt(L)){x=k,R=N;break}}return{bestSolution:A,hists:C,stopMode:L,stopNi:x,stopIteration:x,stopExecutions:R}}async function Us(t,e,r={}){Ps(t);let n=at(r,"Nl","");Hr(n)||(n=1e4),n=xr(n);let i=at(r,"Np","");Hr(i)||(i=40),i=xr(i);let o=dr(t),s=at(r,"NContiguous","");Hr(s)||(s=100),s=xr(s);let u=at(r,"NRepeat","");Hr(u)||(u=1),u=xr(u);let a=at(r,"NCore","");Hr(a)||(a=1e6),a=xr(a);let l=at(r,"ModeOutLimit","");ys(l,["Mapping","Limit","Random"])||(l="Mapping");let f=at(r,"UseRepeat","");$r(f)||(f=!0);let c=at(r,"UseImmigration","");$r(c)||(c=!0);let d=at(r,"LocalSearchMethod","");ys(d,["None","Neighbor","TA","SA","OneGold","Gold","NelderMead"])||(d="NelderMead");let h=at(r,"funGetBetter"),p=at(r,"funEndLoop"),v=at(r,"funGenerationBefore"),m=at(r,"funGenerationAfter"),y=at(r,"psoC1Start","");Cr(y)||(y=2),y=Lr(y);let g=at(r,"psoC1End","");Cr(g)||(g=2),g=Lr(g);let w=at(r,"psoC1Dynamic","");Cr(w)||(w=0),w=Lr(w);let b=at(r,"psoC2Start","");Cr(b)||(b=2),b=Lr(b);let M=at(r,"psoC2End","");Cr(M)||(M=2),M=Lr(M);let _=at(r,"psoC2Dynamic","");Cr(_)||(_=0),_=Lr(_);let S=at(r,"psoBeta","");Cr(S)||(S=.9),S=Lr(S);let E=at(r,"psoGamma","");Cr(E)||(E=.5),E=Lr(E);let O=at(r,"psoInertiaMin","");Cr(O)||(O=.4),O=Lr(O);let j=0,N=0,$=0,A=async(t,r)=>{$++;let n=Ve(t.ps,"value"),i=e(n);return vs(i)&&(i=await i),{ps:t.ps,fitness:i}},C=async e=>{let r=Es(t),n=await A(r),i=[];for(let e=0;e<o;e++){let r=t[e].n;i.push(_s(-(r-1),r-1))}let s=(1+Math.random())*O;return{ps:n.ps,fitness:n.fitness,bs:ps(n),velocity:i,inertia:s}},L=null,x=[],R="",P=0,T=0,F=[],k=null;for(let t=0;t<i;t++){let t=await C();F.push(t)}F=Po(F,"fitness"),k={ps:ps(F[0].ps),fitness:F[0].fitness},x.push(ps(F[0])),L={ps:ps(F[0].ps),fitness:F[0].fitness};let D=async(e,r)=>{let n,s=e+r;n=s>4?2/Math.abs(2-s-Math.sqrt(s*s-4*s)):1;for(let s=0;s<i;s++){let i=F[s],u=Math.random(),a=Math.random();for(let s=0;s<o;s++){let o=0;o+=i.inertia*i.velocity[s],o+=e*u*(i.bs.ps[s].ind-i.ps[s].ind),o+=r*a*(k.ps[s].ind-i.ps[s].ind),o*=n;let l=E*(t[s].n-1),f=-l;i.velocity[s]=Math.max(Math.min(o,l),f)}let f=S*i.inertia;i.inertia=Math.max(Math.min(f,1e4),O);for(let e=0;e<o;e++){let r=Math.round(i.ps[e].ind+i.velocity[e]);r=Os(r,t[e].n-1,l),i.ps[e].ind=r,i.ps[e].value=t[e].values[r]}let c=await A(i);i.fitness=c.fitness,i.bs.fitness>i.fitness&&(i.bs={ps:ps(i.ps),fitness:i.fitness}),k.fitness>i.fitness&&(k={ps:ps(i.ps),fitness:i.fitness})}},B=-1;for(;;){B++;let r={psoC1:Ns(y,g,w,N,s),psoC2:Ns(b,M,_,N,s),psoBeta:S,psoGamma:E,psoInertiaMin:O,ModeOutLimit:l,LocalSearchMethod:d};if(hn(v)){let t=await v({params:ps(r)});t&&t.params&&(r={...r,...t.params})}S=r.psoBeta,E=r.psoGamma,O=r.psoInertiaMin,l=r.ModeOutLimit,d=r.LocalSearchMethod;let o=r.psoC1,I=r.psoC2;await D(o,I),F=Po(F,"fitness");let q=async()=>{for(let t=i-1;t>=1;t--)if(js(F[t-1],F[t])){let e=await C();F[t]=e}F=Po(F,"fitness"),k.fitness>F[0].fitness&&(k={ps:ps(F[0].ps),fitness:F[0].fitness})};c&&await q();let G=async()=>{let r={ps:ps(F[0].ps),fitness:F[0].fitness},n=await Ds(d,r,t,e,A,l);n.fitness>=F[0].fitness||(F[0].ps=n.ps,F[0].fitness=n.fitness,k.fitness>n.fitness&&(k={ps:ps(n.ps),fitness:n.fitness}))};await G(),x.push(ps(F[0])),L.fitness>F[0].fitness?(L={ps:ps(F[0].ps),fitness:F[0].fitness},hn(h)&&h(ps(L),B),N=0):N+=1;let U=async()=>{for(let t=1;t<=i-1;t++){let e=await C();F[t]=e}F=Po(F,"fitness"),N=0,j+=1};if(f&&N>=s&&j<u&&await U(),B>=n?R=`stop by Nl[${n}]`:N>=s?R=`stop by iContinue[${N}] >= NContiguous[${s}]`:$>=a&&(R=`stop by iExecute[${$}] >= NCore[${a}]`),hn(m)&&await m({params:ps(r),childrenBestFitness:F[0].fitness}),Wt(R)){P=B,T=$;break}hn(p)&&p(ps(F),ps(L),B)}return{bestSolution:L,hists:x,stopMode:R,stopNl:P,stopIteration:P,stopExecutions:T}}async function Hs(t,e,r={}){Ps(t);let n=at(r,"Nl","");Hr(n)||(n=1e4),n=xr(n);let i=at(r,"Na","");Hr(i)||(i=40),i=xr(i);let o=dr(t),s=at(r,"NContiguous","");Hr(s)||(s=100),s=xr(s);let u=at(r,"NRepeat","");Hr(u)||(u=1),u=xr(u);let a=at(r,"NCore","");Hr(a)||(a=1e6),a=xr(a);let l=at(r,"UseRepeat","");$r(l)||(l=!0);let f=at(r,"UseImmigration","");$r(f)||(f=!0);let c=at(r,"LocalSearchMethod","");ys(c,["None","Neighbor","TA","SA","OneGold","Gold","NelderMead"])||(c="NelderMead");let d=at(r,"ModeOutLimit","");ys(d,["Mapping","Limit","Random"])||(d="Mapping");let h=at(r,"UseForcedExplore","");$r(h)||(h=!0);let p=at(r,"funGetBetter"),v=at(r,"funEndLoop"),m=at(r,"funGenerationBefore"),y=at(r,"funGenerationAfter"),g=at(r,"acoExploitationRateStart","");Cr(g)||(g=.8),g=Lr(g);let w=at(r,"acoExploitationRateEnd","");Cr(w)||(w=.8),w=Lr(w);let b=at(r,"acoExploitationRateDynamic","");Cr(b)||(b=0),b=Lr(b);let M=at(r,"acoAlphaStart","");Cr(M)||(M=.1),M=Lr(M);let _=at(r,"acoAlphaEnd","");Cr(_)||(_=.1),_=Lr(_);let S=at(r,"acoAlphaDynamic","");Cr(S)||(S=0),S=Lr(S);let E=at(r,"acoRoStart","");Cr(E)||(E=.1),E=Lr(E);let O=at(r,"acoRoEnd","");Cr(O)||(O=.1),O=Lr(O);let j=at(r,"acoRoDynamic","");Cr(j)||(j=0),j=Lr(j);let N=0,$=0,A=0,C=async(t,r)=>{A++;let n=Ve(t.ps,"value"),i=e(n);return vs(i)&&(i=await i),{ps:t.ps,fitness:i}},L=null,x=[],R="",P=0,T=0,F=[],k=[];for(let e=0;e<o;e++)k.push(new Array(t[e].n).fill(0));let D=(t,e)=>{let r;r=t.fitness>=1?t.fitness:Math.exp(t.fitness)/Math.exp(1),r=1/r;for(let n=0;n<o;n++){let i=t.ps[n].ind;k[n][i]=(1-e)*k[n][i]+e*r}};for(let e=0;e<i;e++){let e=Es(t),r=await C(e);F.push(r),D(r,E)}F=Po(F,"fitness"),D(F[0],M),x.push(ps(F[0])),L=ps(F[0]);let B=async(e,r,n)=>{for(let r=0;r<i;r++){for(let n=0;n<o;n++){let i,o=k[n].length,s=0;for(let t=0;t<o;t++)0===k[n][t]&&s++;if(Math.random()<e)i=s===o?_s(0,o-1):$s(k[n],Math.random());else if(s===o||0===s)i=_s(0,o-1);else{let t=[];for(let e=0;e<o;e++)0===k[n][e]&&t.push(e);i=t[_s(0,t.length-1)]}F[r].ps[n].ind=i,F[r].ps[n].value=t[n].values[i]}let n=await C(F[r]);F[r]=n}for(let t=0;t<i;t++)D(F[t],n);F=Po(F,"fitness"),D(F[0],r)},I=-1;for(;;){I++;let r={acoExploitationRate:Ns(g,w,b,$,s),acoAlpha:Ns(M,_,S,$,s),acoRo:Ns(E,O,j,$,s),ModeOutLimit:d,LocalSearchMethod:c};if(hn(m)){let t=await m({params:ps(r)});t&&t.params&&(r={...r,...t.params})}d=r.ModeOutLimit,c=r.LocalSearchMethod;let o=r.acoExploitationRate,k=r.acoAlpha,q=r.acoRo;await B(o,k,q);let G=async()=>{for(let e=i-1;e>=1;e--)if(js(F[e-1],F[e])){let r=Es(t),n=await C(r);F[e]=n,D(n,q)}F=Po(F,"fitness")};f&&await G();let U=async()=>{let r=await Ds(c,F[0],t,e,C,d);r.fitness>=F[0].fitness||(F[0]=r)};if(await U(),x.push(ps(F[0])),L.fitness>F[0].fitness?(L=ps(F[0]),hn(p)&&p(ps(L),I),$=0):$+=1,l&&$>=s&&N<u){for(let e=1;e<=i-1;e++){let r=Es(t),n=await C(r);F[e]=n,D(n,q)}F=Po(F,"fitness"),$=0,N+=1}else if(h){for(let e=Math.floor(i/2);e<=i-1;e++){let r=Es(t),n=await C(r);F[e]=n,D(n,q)}F=Po(F,"fitness")}if(I>=n?R=`stop by Nl[${n}]`:$>=s?R=`stop by iContinue[${$}] >= NContiguous[${s}]`:A>=a&&(R=`stop by iExecute[${A}] >= NCore[${a}]`),hn(y)&&await y({params:ps(r),childrenBestFitness:F[0].fitness}),Wt(R)){P=I,T=A;break}hn(v)&&v(ps(F),ps(L),I)}return{bestSolution:L,hists:x,stopMode:R,stopNl:P,stopIteration:P,stopExecutions:T}}function Ys(t,e,r){var n=null==t?0:t.length;return n?Zr(t,(e=r||void 0===e?1:Sr(e))<0?0:e,n):[]}var zs=Array.prototype.reverse;function Ws(t,e){return Wt(t)&&gn(e)?0===(e=xr(e))?t:$n(t,t.length-e):""}function Zs(t,e={}){let r=at(e,"excludeString");if($r(r)||(r=!1),!Wt(t))return"";let n=t=>t>="0"&&t<="9"||"."===t||"-"===t||"+"===t,i=cn(t);if(r){let t=i.split("");for(let e=0;e<t.length;e++)if(n(t[e])){i=Ws(i,e),t=Ys(t,e);break}t=null==(o=t)?o:zs.call(o);for(let e=0;e<t.length;e++)if(n(t[e])){i=An(i,e);break}}var o;return i}function Vs(t){let e=0,r=0,n=0,i=dr(t);Wr(t,t=>{Cr(t)?e+=1:zt(t)?r+=1:jn(t)&&(n+=1)});let o="";return e===i?o="num":r===i?o="str":n===i?o="obj":e+r===i?o="str":console.log("eles in array are non-homogeneous",t),o}function Js(t,e,r={}){let n=[];if("num"!==e&&"str"!==e&&"files"!==e)throw new Error(`invalid type[${e}]`);if("num"===e)n=Ve(t,(t,e)=>({key:e,payload:t,value:Lr(t)}));else if("files"===e)n=Ve(t,(t,e)=>({key:e,payload:t,value:ws(t)}));else if("str"===e){let e=Ve(t,t=>Zs(t,{excludeString:!0})),r=0;Wr(e,t=>{Cr(t)&&r++});let i=r===dr(e);n=Ve(t,(t,r)=>{let n=t;return i?(n=e[r],n=Lr(n)):n=ws(n),{key:r,payload:t,value:n}})}return n}function Xs(t,e){let r=Po(t,"value");return Ve(r,e?"key":"payload")}function Ks(t,e){let r=function(t,e){let r=ps(t);return r.sort((t,r)=>t[e].localeCompare(r[e],"standard",{numeric:!0})),r}(t,"value");return Ve(r,e?"key":"payload")}function Qs(t,e){return!!jn(t)&&(!(!Wt(e)&&!Cr(e))&&e in t)}function tu(t,e){let r=function(){let t,e,r=new Promise(function(){t=arguments[0],e=arguments[1]});return r.resolve=t,r.reject=e,r}();if(!Nn(t)&&!jn(t))return r.reject("rs is not an array or object"),r;let n=!1;if(jn(t)){n=!0;let e=[];Wr(t,(t,r)=>{e.push({k:r,v:t})}),t=e}hn(e)||(e=function(t){return t});let i=-1,o=[];return t.reduce(function(t,r){return t.then(function(t){o.push(t),i+=1;let s=i,u=r;return n&&(s=r.k,u=r.v),hn(e)?e(u,s):u})},Promise.resolve()).then(function(t){o.push(t),o=Ys(o),r.resolve(o)}).catch(function(t){r.reject(t)}),r}function eu(t,e){var r=[];return We(t,function(t,n,i){e(t,n,i)&&r.push(t)}),r}function ru(t,e){return(n(t)?se:eu)(t,Ue(e))}let nu=(t,e,r,n,i)=>{if(!(Cr(o=e)&&Lr(o)>0))throw new Error(`uIni[${e}] is not a positive number`);var o;if(!Wt(n))throw new Error(`invalid timeOhlcStart[${n}]`);if(!Wt(i))throw new Error(`invalid timeOhlcEnd[${i}]`);r=Po(r,"timeStart");let s=[],u=[];Wr(r,t=>{Wt(t.modeResult)?s.push(t):u.push(t)});let a=dr(r),l=dr(s),f=dr(u),c=wn(dr(ru(r,{modeResult:"profit"}))/l*100,2)+"%",d=0,h="",p="",v=0,m="",y="",g="",w=0,b="",M=0,_=0,S=e,E=e,O={},j={};Wr(r,t=>{if(Wt(t.modeResult)){S=Math.max(S,t.uEquity);let e=S-t.uEquity,r=wn(e/S*100,2)+"%";e>d&&(d=e,E=S,h=r)}{let e=null;e=1,Wt(t.timeStart)&&(Qs(O,t.timeStart)||(O[t.timeStart]=0),O[t.timeStart]+=e*t.uTrade,Qs(j,t.timeStart)||(j[t.timeStart]=0),j[t.timeStart]+=1),Wt(t.timeEnd)&&(Qs(O,t.timeEnd)||(O[t.timeEnd]=0),O[t.timeEnd]-=e*t.uTrade,Qs(j,t.timeEnd)||(j[t.timeEnd]=0),j[t.timeEnd]-=1)}});{let t=[];Wr(O,(e,r)=>{if(!gs(e))throw console.log("time",r),new Error(`invalid uTradeAll[${e}]`);t.push({time:r,uTradeAll:e})}),t=Po(t,"time");let e=0,r=Ve(t,t=>(e+=t.uTradeAll,{...t,uAccm:e})),n={};Wr(r,t=>{n[t.time]=t.uAccm}),O=n}{let t=[];Wr(j,(e,r)=>{if(!gs(e))throw console.log("time",r),new Error(`invalid numTradeAll[${e}]`);t.push({time:r,numTradeAll:e})}),t=Po(t,"time");let e=0,r=Ve(t,t=>(e+=t.numTradeAll,{...t,nAccm:e})),n={};Wr(r,t=>{n[t.time]=t.nAccm}),j=n}r=Ve(r,t=>{let r=at(O,t.timeStart,null);if(!gs(r))throw new Error("invalid uTradeAll");r=Math.abs(r),t.uTradeAll=r;let n=wn(t.uTradeAll/e*100,2)+"%";t.rTradeAll=n,w<t.uTradeAll&&(w=t.uTradeAll,b=t.rTradeAll);let i=at(j,t.timeStart,null);if(!gs(i))throw new Error("invalid numTradeAll");return t.numTradeAll=i,M<t.numTradeAll&&(M=t.numTradeAll),t});{let t=dr(s)-1;v=at(s,`${t}.uEquity`,""),m=at(s,`${t}.uCumuProfitOrLoss`,""),y=at(s,`${t}.rCumuProfitOrLoss`,"")}{let t;t=E-e+w>0?d/(E-e+w):0,p=wn(100*t,2)+"%"}g=w>0&&gs(m)?m/w:0,g=wn(100*g,2)+"%";{let t=0,e=0,r=0,n=0;Wr(s,t=>{let e=t.rProfitOrLossDay*t.dayHold;r+=e;let i=t.dayHold;n+=i}),n>0&&(t=r/n);let i=0;Wr(s,e=>{let r=e.rProfitOrLossDay-t,n=e.dayHold*(r*r);i+=n}),n>1&&(e=Math.sqrt(i/(n-1))),e>0&&(_=t/e*Math.sqrt(252)),_<-10&&(_=-10),_>10&&(_=10)}let N=t(n),$=t(i).diff(N,"day"),A=$/365,C="";{let t;t=0===e||0===A?0:(v-e)/e/A,C=`${wn(100*t,2)}%`}let L="";{let t;t=0===w||0===A?0:(v-e)/w/A,L=`${wn(100*t,2)}%`}return{btDays:$,btYears:wn(A,1),numTrade:a,numTradeFin:l,numTradeUnsettled:f,uTradeAllMax:w,rTradeAllMax:b,numTradeAllMax:M,uDrawdownMax:d,rDrawdownMax:h,rEquivalentDrawdownMax:p,rSharpe:_,rWin:c,uEquityFinal:v,uCumuProfitOrLossFinal:m,rCumuProfitOrLossFinal:y,rCumuProfitOrLossFinalNormYear:C,rEquivalentCumuProfitOrLossFinal:g,rEquivalentCumuProfitOrLossFinalNormYear:L}},iu=async(t,e,r,n={})=>{let i=at(e,"mode","");if("long"!==i&&"short"!==i)throw new Error(`invalid strategy.mode[${i}] not 'long' or 'short'`);let o=at(e,"keyOhlc","");if(!Wt(o))throw new Error("invalid strategy.keyOhlc");let s=at(e,"conds",[]);if(!Pn(s))throw new Error("invalid strategy.conds");let u=dr(s),a=at(e,"settings",{});if(Rs(a)||(a={uIni:1e3,uTrade:1,rTakeProfit:.05,rStopLoss:.03,rFee:5e-4}),!hn(r))throw new Error("funGetSeries is not a function");let l=at(n,"withCalcOrderProfitOrLoss",!0),f=at(n,"withSummary",!0),c=await r(o),d={},h={};await tu(s,async t=>{let e=await r(t.key);Qs(h,t.key)||(h[t.key]={}),Wr(e,e=>{h[t.key][e.time]=e.param,Qs(d,e.time)||(d[e.time]=0),d[e.time]+=1})});let p=[];Wr(d,(t,e)=>{t===u&&p.push(e)}),p=function(t,e={}){if(!Pn(t))return[];if(1===dr(t))return t;let r=at(e,"localeCompare");$r(r)||(r=!1);let n=at(e,"returnIndex");$r(n)||(n=!1);let i=at(e,"compareKey",null),o=null;o=r?Ks:Xs;let s,u=Vs(t);if(""===u)return[];if("obj"===u){if(!Wt(i))return[];let u=Ve(t,(t,e)=>at(t,i,"")),a=Vs(u);if("num"!==a&&"str"!==a)return[];{r&&(a="files");let i=o(Js(u,a,e),!0);s=n?i:Ve(i,e=>t[e])}}else"num"!==u&&"str"!==u||(r&&(u="files"),s=o(Js(t,u,e),n));return s}(p);let v={};Wr(p,t=>{v[t]=!0});let m={};Wr(p,t=>{m[t]={},Wr(s,e=>{m[t][e.key]=h[e.key][t]})});let y=at((g=c)&&g.length?g[0]:void 0,"time","");var g;let w=at(function(t){var e=null==t?0:t.length;return e?t[e-1]:void 0}(c),"time",""),b=[];await tu(c,async t=>{let e=at(t,"time");if(!Qs(v,e))return!0;let r=!0;{let t=[];Wr(s,(r,n)=>{let i=m[e][r.key],o=at(r,"sym",">"),s=at(r,"th",0),u=at(r,"opr",null);"and"!==u&&"or"!==u&&(u="and");let a=!1;a=">"===o?i>s:i<s,t.push({opr:u,b:a})});let n=t.filter(t=>"and"===t.opr).every(t=>t.b),i=t.filter(t=>"or"===t.opr),o=0===i.length||i.some(t=>t.b);r=n&&o}let n=!1,o=!1;if(r&&("long"===i?n=!0:o=!0),n){let r={mode:"long",timeStart:e,priceStart:t.Close,uTrade:a.uTrade,rTakeProfit:a.rTakeProfit,priceTakeProfit:(1+a.rTakeProfit)*t.Close,rStopLoss:a.rStopLoss,priceStopLoss:(1-a.rStopLoss)*t.Close,timeEnd:"",priceEnd:"",modeResult:"",rFee:a.rFee,uFee:a.rFee*a.uTrade,uProfitOrLoss:"",rProfitOrLoss:"",uCumuProfitOrLoss:"",rCumuProfitOrLoss:"",uEquity:"",uTradeAll:"",rTradeAll:""};b.push(r)}else if(o){let r={mode:"short",timeStart:e,priceStart:t.Close,uTrade:a.uTrade,rTakeProfit:a.rTakeProfit,priceTakeProfit:(1-a.rTakeProfit)*t.Close,rStopLoss:a.rStopLoss,priceStopLoss:(1+a.rStopLoss)*t.Close,timeEnd:"",priceEnd:"",modeResult:"",rFee:a.rFee,uFee:a.rFee*a.uTrade,uProfitOrLoss:"",rProfitOrLoss:"",uCumuProfitOrLoss:"",rCumuProfitOrLoss:"",uEquity:"",uTradeAll:"",rTradeAll:""};b.push(r)}}),l&&(b=await(async(t,e,r={})=>{e=Po(e,"timeStart");let n=at(r,"uIni",1e3),i={};Wr(t,t=>{i[t.time]=t});let o={},s=n,u=0;Wr(e,(t,e)=>{Wr(i,r=>{if(r.time<=t.timeStart)return delete i[r.time],!0;if("long"===t.mode){if(r.Low<=t.priceStopLoss)return t.timeEnd=r.time,t.priceEnd=t.priceStopLoss,t.uProfitOrLoss=t.uTrade*(t.priceEnd/t.priceStart)-t.uTrade-2*t.uFee,t.rProfitOrLoss=t.uProfitOrLoss/t.uTrade,u+=t.uProfitOrLoss,t.uCumuProfitOrLoss=u,t.rCumuProfitOrLoss=wn(t.uCumuProfitOrLoss/n*100,2)+"%",s+=t.uProfitOrLoss,t.uEquity=s,t.modeResult=t.uProfitOrLoss<0?"loss":"profit",o[e]=t,!1;if(r.High>=t.priceTakeProfit)return t.timeEnd=r.time,t.priceEnd=t.priceTakeProfit,t.uProfitOrLoss=t.uTrade*(t.priceEnd/t.priceStart)-t.uTrade-2*t.uFee,t.rProfitOrLoss=t.uProfitOrLoss/t.uTrade,u+=t.uProfitOrLoss,t.uCumuProfitOrLoss=u,t.rCumuProfitOrLoss=wn(t.uCumuProfitOrLoss/n*100,2)+"%",s+=t.uProfitOrLoss,t.uEquity=s,t.modeResult=t.uProfitOrLoss<0?"loss":"profit",o[e]=t,!1}else{if(r.High>=t.priceStopLoss)return t.timeEnd=r.time,t.priceEnd=t.priceStopLoss,t.uProfitOrLoss=(t.priceStart-t.priceEnd)*(t.uTrade/t.priceStart)-2*t.uFee,t.rProfitOrLoss=t.uProfitOrLoss/t.uTrade,u+=t.uProfitOrLoss,t.uCumuProfitOrLoss=u,t.rCumuProfitOrLoss=wn(t.uCumuProfitOrLoss/n*100,2)+"%",s+=t.uProfitOrLoss,t.uEquity=s,t.modeResult=t.uProfitOrLoss<0?"loss":"profit",o[e]=t,!1;if(r.Low<=t.priceTakeProfit)return t.timeEnd=r.time,t.priceEnd=t.priceTakeProfit,t.uProfitOrLoss=(t.priceStart-t.priceEnd)*(t.uTrade/t.priceStart)-2*t.uFee,t.rProfitOrLoss=t.uProfitOrLoss/t.uTrade,u+=t.uProfitOrLoss,t.uCumuProfitOrLoss=u,t.rCumuProfitOrLoss=wn(t.uCumuProfitOrLoss/n*100,2)+"%",s+=t.uProfitOrLoss,t.uEquity=s,t.modeResult=t.uProfitOrLoss<0?"loss":"profit",o[e]=t,!1}})});{let t=[];Wr(e,(e,r)=>{let n=null;n=Qs(o,r)?o[r]:e,t.push(n)}),e=t}return e})(c,b,{uIni:a.uIni}));let M={timeTest:t().format("YYYY-MM-DDTHH:mm:ssZ"),timeOhlcStart:y,timeOhlcEnd:w,uIni:at(a,"uIni","")};if(f){b=((t,e)=>Ve(e,e=>{if(!Wt(e.modeResult))return e;let r=t(e.timeStart),n=t(e.timeEnd),i=r.format("YYYY-MM-DD"),o=n.format("YYYY-MM-DD"),s=t(i,"YYYY-MM-DD"),u=t(o,"YYYY-MM-DD").diff(s,"day")+1;e.dayHold=u;let a=0;return 1+e.rProfitOrLoss>=0&&(a=Math.pow(1+e.rProfitOrLoss,1/e.dayHold)-1),e.rProfitOrLossDay=a,e}))(t,b);let e=nu(t,a.uIni,b,y,w);M={...M,...e}}return{orders:b,summary:M}};var ou=Array.prototype.join;function su(t,e){return null==t?"":ou.call(t,e)}let uu={dlmSeps:" ║ ",dlmPkgs:" ⊙ "},au=(t,e,r,n)=>{let i=su([r,...n],uu.dlmSeps);return i=i.replaceAll(`${t}_`,""),i=i.replaceAll(`${e}_`,""),i=i.replaceAll("price_","p_"),i=i.replaceAll("index_","i_"),i=i.replaceAll("Ohlc_","o_"),i=i.replaceAll("Close_","c_"),i=i.replaceAll("Volumn_","v_"),i},lu=(t,e,r,n)=>{let i=su([r,...Ve(n,t=>`${t.key}${t.sym}${t.th}`)],uu.dlmSeps);return i=i.replaceAll(`${t}_`,""),i=i.replaceAll(`${e}_`,""),i=i.replaceAll("price_","p_"),i=i.replaceAll("index_","i_"),i=i.replaceAll("Ohlc_","o_"),i=i.replaceAll("Close_","c_"),i=i.replaceAll("Volumn_","v_"),i},fu=t=>(t=ws(t)).indexOf("%")<0?0:(t=Lr(t=t.replace("%","")),t/=100),cu=t=>{if(!Cr(t))throw new Error(`numTrade[${t}] is not a number`);let e=0;return e=(t=xr(t))<=0?0:t<=5?1:t<=9?2:t<=24?11:t<=49?12:t<=74?13:t<=99?14:t<=249?101:t<=499?102:t<=749?103:t<=999?104:t<=1999?1001:t<=2999?1002:t<=3999?1003:t<=4999?1004:100,e},du=(t,e)=>{let r=xr(e.numTrade),n=t.uIni,i=e.uEquityFinal-n,o=fu(e.rEquivalentCumuProfitOrLossFinalNormYear);o=Math.min(Math.max(o,0),.5),o/=.5;let s=1-o,u=fu(e.rWin);u=Math.min(Math.max(u,0),1);let a=0;return a+=2*(1-u),a+=1*s,0===r&&(a+=1e6),i<=0&&(a+=1e6),a},hu=(t,e,n,i,o,s)=>{let u=au(t,e,n,i),a=xr(s.numTrade),l=cu(a);return`${n}_${l}_${r.createHash("md5").update(`${t}:${e}:${u}:${l}`,"utf8").digest("hex").slice(0,16)}.json`},pu=async(r,n,i,o,s,u,a,l,f,c,d,h={})=>{if(!Wt(n))throw new Error(`invalid name[${n}]`);if(!Wt(i))throw new Error(`invalid symbol[${i}]`);if(!Wt(o))throw new Error(`invalid interval[${o}]`);if(!Wt(s))throw new Error(`invalid fdOhlc[${s}]`);if(!Wt(u))throw new Error(`invalid fdParam[${u}]`);if(!Wt(a))throw new Error(`invalid timeStart[${a}]`);if(!Wt(l))throw new Error(`invalid timeEnd[${l}]`);if("long"!==f&&"short"!==f)throw new Error(`invalid mode[${f}]`);if(!Pn(c))throw new Error(`invalid keys[${c}]`);if(!Wt(d))throw new Error(`invalid fdData[${d}]`);let p=at(h,"methodOml","");"RGA"!==p&&"DE"!==p&&"HS"!==p&&"PSO"!==p&&"ACO"!==p&&(p="PSO");let v=at(h,"thsTp",null);Pn(v)||(v=[1,2,3,4,5,6,7,8,9,10]);let m=at(h,"thsSl",null);Pn(m)||(m=[1,2,3,4,5,6,7,8,9,10]);let y=at(h,"thNumTrade",null);Cr(y)||(y=1);let g=at(h,"thRWin",null);Cr(g)||(g=.5);let w=at(h,"thREquivalentCumuProfitOrLossFinalNormYear",null);Cr(w)||(w=.15);let b=at(h,"funRunStrategyCustom",null),M=at(h,"useRunStrategyBeforeSave",null);$r(M)||(M=!1);let _=at(h,"funRunStrategyCustomBeforeSave",null),S=at(h,"useShowLog",null),E=yn(s,u);En(d)||_n(d,{fs:e});let O=await E.buildGetTimeSeriesByTimeRange(a,l),j=au(n,o,f,c),N=[];{let t;t=m,t=Ve(t,t=>t/100),N.push({values:t,n:dr(t)}),t=v,t=Ve(t,t=>t/100),N.push({values:t,n:dr(t)})}Wr(c,()=>{let t=Tn(-2,2,40);t=Ve(t,t=>t+10);let e=Tn(-2,2,40);e=Ve(e,t=>t-10);let r=[...t,...e];N.push({values:r,n:dr(r)})});let $=(t,e,r,i)=>{if(!Sn(t))return!0;let s=at(On(t),"success",null);if(null===s)return!0;let u=at(s,"tkid",""),a=at(s,"name",""),l=at(s,"interval","");if(Wt(u)&&u!==r||Wt(a)&&a!==n||Wt(l)&&l!==o)throw new Error(`hash collision: fnStrategy[${e}], tkidOld[${u}] vs tkid[${r}], nameOld[${a}] vs name[${n}], intervalOld[${l}] vs interval[${o}]`);let f=fu(at(s,"summary.rEquivalentCumuProfitOrLossFinalNormYear",""));return i>f&&(S&&console.log("覆寫較差策略...",`${i} > ${f}`,t),!0)},A=0,C=1e20,L=Us;"RGA"===p?L=Is:"DE"===p?L=qs:"HS"===p?L=Gs:"PSO"===p?L=Us:"ACO"===p&&(L=Hs);let x=await L(N,async e=>{A++;let s=e[0];s=Nr(s,3);let u=e[1];u=Nr(u,3);let h=Ve(c,(t,r)=>{let n=r+2,i=at(e,n,null);if(null===i)throw console.log("xs",e),console.log("ix",n),console.log("key",t),console.log("i",r),new Error("invalid x");let o="",s=null;return i<0?(o="<",s=i+10,s=wo(s,3)):(o=">",s=i-10,s=wo(s,3)),{key:t,sym:o,th:s}}),E=lu(n,o,f,h),N={tid:j,sid:E,name:n,symbol:i,interval:o,keyOhlc:`${n}_price_${o}`,mode:f,conds:h,settings:{uIni:1e3,uTrade:1,rTakeProfit:u,rStopLoss:s,rFee:5e-4}},L=null;L=hn(b)?await b({ott:r,strategy:N,funGetSeries:O}):await iu(r,N,O);let x=fu(L.summary.rEquivalentCumuProfitOrLossFinalNormYear),R=fu(L.summary.rWin),P=t=>{let e=du(N.settings,t.summary),n=xr(t.summary.numTrade),i=cu(n),o=`${j}:${i}`;return{...N,tkid:o,numTrade:n,levelNumTrade:i,keys:c,summary:t.summary,fitness:e,solve:{timeStart:a,timeEnd:l,methodOml:p,thNumTrade:y,thRWin:g,thREquivalentCumuProfitOrLossFinalNormYear:w,thsTp:v,thsSl:m,timeSolved:r().format("YYYY-MM-DDTHH:mm:ss")}}},T=P(L),F={"方向":T.mode,"每次下單金額":T.settings.uTrade,"止盈":wn(100*T.settings.rTakeProfit,1)+"%","止損":wn(100*T.settings.rStopLoss,1)+"%","最大持倉比例":T.summary.rTradeAllMax,"交易次數":T.summary.numTrade,"最大回撤率":T.summary.rDrawdownMax,"勝率":T.summary.rWin,"夏普值":wn(T.summary.rSharpe,4),"最終盈虧":T.summary.rCumuProfitOrLossFinal,"最終等效盈虧":T.summary.rEquivalentCumuProfitOrLossFinal,"最終等效年化盈虧":T.summary.rEquivalentCumuProfitOrLossFinalNormYear,fitness:T.fitness};if(C>T.fitness&&(S&&console.log(A,"更新最佳解",F),C=T.fitness),T.numTrade>=y&&R>=g&&x>=w){S&&console.log(A,"可用參數組",F);let e=hu(n,o,f,c,0,L.summary),i=t.resolve(d,e),s=$(i,e,T.tkid,x);if(s){if(M){L=hn(_)?await _({ott:r,strategy:N,funGetSeries:O}):await iu(r,N,O),T=P(L);let u=hu(n,o,f,c,0,L.summary);u!==e&&(e=u,i=t.resolve(d,e),s=$(i,e,T.tkid,fu(at(L,"summary.rEquivalentCumuProfitOrLossFinalNormYear",""))))}s&&xn(i,T,{useFormat:!0})}}return T.fitness},{...h});return S&&(console.log("bestSolution",x.bestSolution),console.log("stopMode",x.stopMode),console.log("stopIteration",x.stopIteration),console.log("stopExecutions",x.stopExecutions)),x},vu=async(t,e,r,n,i,o,s,u,a,l,f,c={})=>{if(!Wt(e))throw new Error(`invalid name[${e}]`);if(!Wt(r))throw new Error(`invalid symbol[${r}]`);if(!Wt(n))throw new Error(`invalid interval[${n}]`);if(!Wt(i))throw new Error(`invalid fdOhlc[${i}]`);if(!Wt(o))throw new Error(`invalid fdParam[${o}]`);if(!Wt(s))throw new Error(`invalid timeStart[${s}]`);if(!Wt(u))throw new Error(`invalid timeEnd[${u}]`);if("long"!==a&&"short"!==a)throw new Error(`invalid mode[${a}]`);if(!hn(l))throw new Error("funPickKeys is not a function");if(!Wt(f))throw new Error(`invalid fdData[${f}]`);let d=at(c,"funFilterKeysNorm",null),h=at(c,"funFilterKeysIndex",null),p=at(c,"funFilterKeysVolumn",null),v=yn(i,o).getKeysParam(),m=[],y=[],g=[];Wr(v,t=>{let e=0===t.indexOf("index_"),r=t.indexOf("_vbs_")>=0,n=!(e||r);e?m.push(t):r?y.push(t):n&&g.push(t)}),hn(d)&&(g=await d(g)),hn(h)&&(m=await h(m)),hn(p)&&(y=await p(y));let w=l({keysNorm:g,keysIndex:m,keysVolumn:y});await pu(t,e,r,n,i,o,s,u,a,w,f,c)},mu=async(t,e,r,n,i,o,s,u,a,l,f,c={})=>{if(!Wt(e))throw new Error(`invalid name[${e}]`);if(!Wt(r))throw new Error(`invalid symbol[${r}]`);if(!Wt(n))throw new Error(`invalid interval[${n}]`);if(!Wt(i))throw new Error(`invalid fdOhlc[${i}]`);if(!Wt(o))throw new Error(`invalid fdParam[${o}]`);if(!Wt(s))throw new Error(`invalid timeStart[${s}]`);if(!Wt(u))throw new Error(`invalid timeEnd[${u}]`);if("long"!==a&&"short"!==a)throw new Error(`invalid mode[${a}]`);if(!Wt(l))throw new Error(`invalid comps[${l}]`);if(!Wt(f))throw new Error(`invalid fdData[${f}]`);let d=dn(l,",");if(3!==dr(d))throw new Error(`comps[${l}]非預期`);d=Ve(d,xr);let h=(t,e)=>Ve(Yr(0,dr(t)-1,e),e=>at(t,e));await vu(t,e,r,n,i,o,s,u,a,({keysNorm:t,keysIndex:e,keysVolumn:r})=>{let n=[];return d[0]>=1&&(n=[...n,...h(t,d[0])]),d[1]>=1&&(n=[...n,...h(e,d[1])]),d[2]>=1&&(n=[...n,...h(r,d[2])]),n},f,c)};function yu(r,n=1){return function(t,e=1,r={}){let n=1,i=at(r,"path"),o=at(r,"fs");if(!Mn(t,{fs:o}))throw new Error(`fd[${t}] is not a folder`);return null!==e&&Hr(e)&&(e=xr(e))<1&&(e=1),function t(r){let s=[];return Mn(r,{fs:o})?(Wr(o.readdirSync(r),function(u){let a=i.resolve(r,u),l=null;try{l=o.statSync(a)}catch(t){}l&&l.isDirectory()?(s.push({isFolder:!0,level:n,path:a,name:i.basename(a)}),n+=1,(n<=e||null===e)&&(s=s.concat(t(a))),n-=1):s.push({isFolder:!1,level:n,path:a,name:i.basename(a)})}),s):s}(t)}(r,n,{path:t,fs:e})}let gu=/^(long|short)_\d+_[0-9a-f]{16}\.json$/;return{estimFinder:async(t,e,r,i,o,s,u,a={})=>{if(!Wt(e))throw new Error(`invalid name[${e}]`);if(!Wt(r))throw new Error(`invalid symbol[${r}]`);if(!Wt(i))throw new Error(`invalid interval[${i}]`);if(!Wt(o))throw new Error(`invalid fdOhlc[${o}]`);if(!Wt(s))throw new Error(`invalid fdParam[${s}]`);if(!Wt(u))throw new Error(`invalid fdData[${u}]`);let l=at(a,"mode",null),f=at(a,"timeStart",null),c=at(a,"timeEnd",null),d=at(a,"comps",null),h="";h=Wt(l)?l:Math.random()<.5?"long":"short";let p="2022-07-01T00:00:00";Wt(f)&&(p=f);let v="";v=Wt(c)?c:"long"===h?"2025-04-08T00:00:00":"2025-10-06T00:00:00";let m=["2,0,0","3,0,0","4,0,0","2,1,0","3,1,0","4,1,0","2,2,0","3,2,0","4,2,0","2,0,1","3,0,1","4,0,1","2,1,1","3,1,1","4,1,1","2,2,1","3,2,1","4,2,1"],y="";var g;y=Wt(d)?d:(n(g=m)?dt:Yt)(g),await mu(t,e,r,i,o,s,p,v,h,y,u,a)},estimComps:mu,estimPicks:vu,estimKeys:pu,readStrategies:(t,e={})=>{let r=at(e,"readContent",!1),n=at(e,"fromContent","");if("filename"!==n&&"content"!==n&&(n="auto"),!En(t))return console.log(`invalid fd[${t}]`),[];let i=yu(t);if(i=ru(i,{isFolder:!1}),0===dr(i))return console.log(`fd[${t}] no files`),[];let o=[];return Wr(i,t=>{let e="content"===n;"auto"===n&&(e=gu.test(t.name));let i=null;if(e){let e=at(On(t.path),"success",null);if(null===e)return!0;let n=at(e,"tid","");if(!Wt(n))return!0;let o=ws(at(e,"levelNumTrade","")),s=at(e,"summary.rEquivalentCumuProfitOrLossFinalNormYear",""),u=dn(n,uu.dlmSeps),a=at(u,0,"");u=Ys(u);let l=at(e,"tkid","");Wt(l)||(l=`${n}:${o}`),i={path:t.path,name:t.name,tkid:l,tid:n,levelNumTrade:o,rEquivalentCumuProfitOrLossFinalNormYear:s,mode:a,ps:u},r&&(i.data=e)}else{let e=function(t,e,r){return Wt(t)&&Wt(e)&&zt(r)?String(t).replaceAll(e,r):""}(t.name,".json",""),n=dn(e,uu.dlmPkgs),o=at(n,0,"");if(!Wt(o))return!0;let s=at(n,1,""),u=at(n,2,""),a=dn(o,uu.dlmSeps),l=at(a,0,"");a=Ys(a);let f=`${o}:${s}`;if(i={path:t.path,name:t.name,tkid:f,tid:o,levelNumTrade:s,rEquivalentCumuProfitOrLossFinalNormYear:u,mode:l,ps:a},r){let e=On(t.path);i.data=at(e,"success",null)}}o.push(i)}),o},genTid:au,genSid:lu,genStrategyFileName:hu,calcLevelNumTrade:cu,calcFitness:du,cont:uu}});
|
|
19
19
|
//# sourceMappingURL=w-trade-solve.umd.js.map
|