@guihz/trading-vue-editor-tes 0.0.25 → 0.0.27
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/lib/assets/{parserTccWorker-Tgc_MECY.js → parserTccWorker-CZf29GR5.js} +16 -16
- package/lib/assets/{scriptsRunWorker-COxpWbV9.js → scriptsRunWorker-BJ1wp5To.js} +14 -14
- package/lib/components/editor/constants/locals.d.ts +1 -0
- package/lib/components/editor/index.d.ts +1 -0
- package/lib/components/editor/tokenizer/config.d.ts +5 -0
- package/lib/components/editor/utils/initEditor.d.ts +3 -2
- package/lib/components/editor/utils/tools.d.ts +2 -0
- package/lib/packages/index.d.ts +2 -1
- package/lib/trading-vue-editor.js +2305 -2268
- package/lib/trading-vue-editor.umd.cjs +31 -31
- package/package.json +1 -1
- package/lib/components/editor/utils/test.d.ts +0 -22
@@ -1,14 +1,14 @@
|
|
1
|
-
var
|
1
|
+
var F2=Object.defineProperty;var M2=(Wt,Yt,De)=>Yt in Wt?F2(Wt,Yt,{enumerable:!0,configurable:!0,writable:!0,value:De}):Wt[Yt]=De;var q=(Wt,Yt,De)=>(M2(Wt,typeof Yt!="symbol"?Yt+"":Yt,De),De),wl=(Wt,Yt,De)=>{if(!Yt.has(Wt))throw TypeError("Cannot "+De)};var zr=(Wt,Yt,De)=>(wl(Wt,Yt,"read from private field"),De?De.call(Wt):Yt.get(Wt)),yl=(Wt,Yt,De)=>{if(Yt.has(Wt))throw TypeError("Cannot add the same private member more than once");Yt instanceof WeakSet?Yt.add(Wt):Yt.set(Wt,De)},ea=(Wt,Yt,De,$n)=>(wl(Wt,Yt,"write to private field"),$n?$n.call(Wt,De):Yt.set(Wt,De),De);var Dl=(Wt,Yt,De)=>(wl(Wt,Yt,"access private method"),De);(function(){"use strict";var Xi,bl,Di,ke;var Wt=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function Yt(i){return i&&i.__esModule&&Object.prototype.hasOwnProperty.call(i,"default")?i.default:i}function De(i){if(i.__esModule)return i;var t=i.default;if(typeof t=="function"){var e=function r(){return this instanceof r?Reflect.construct(t,arguments,this.constructor):t.apply(this,arguments)};e.prototype=t.prototype}else e={};return Object.defineProperty(e,"__esModule",{value:!0}),Object.keys(i).forEach(function(r){var n=Object.getOwnPropertyDescriptor(i,r);Object.defineProperty(e,r,n.get?n:{enumerable:!0,get:function(){return i[r]}})}),e}var $n={exports:{}};/**
|
2
2
|
* @license
|
3
3
|
* Lodash <https://lodash.com/>
|
4
4
|
* Copyright OpenJS Foundation and other contributors <https://openjsf.org/>
|
5
5
|
* Released under MIT license <https://lodash.com/license>
|
6
6
|
* Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE>
|
7
7
|
* Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
|
8
|
-
*/$n.exports,function(i,t){(function(){var e,r="4.17.21",n=200,s="Unsupported core-js use. Try https://npms.io/search?q=ponyfill.",a="Expected a function",l="Invalid `variable` option passed into `_.template`",c="__lodash_hash_undefined__",h=500,p="__lodash_placeholder__",f=1,d=2,g=4,w=1,m=2,D=1,v=2,E=4,b=8,N=16,x=32,F=64,M=128,S=256,O=512,C=30,T="...",R=800,U=16,k=1,W=2,P=3,K=1/0,G=9007199254740991,V=17976931348623157e292,tt=NaN,ct=4294967295,gt=ct-1,lt=ct>>>1,wt=[["ary",M],["bind",D],["bindKey",v],["curry",b],["curryRight",N],["flip",O],["partial",x],["partialRight",F],["rearg",S]],Dt="[object Arguments]",St="[object Array]",bt="[object AsyncFunction]",re="[object Boolean]",Tt="[object Date]",Mt="[object DOMException]",ie="[object Error]",Xt="[object Function]",zt="[object GeneratorFunction]",Gt="[object Map]",Fe="[object Number]",or="[object Null]",Ne="[object Object]",tn="[object Promise]",bn="[object Proxy]",en="[object RegExp]",ar="[object Set]",En="[object String]",$="[object Symbol]",Z="[object Undefined]",H="[object WeakMap]",nt="[object WeakSet]",st="[object ArrayBuffer]",rt="[object DataView]",ft="[object Float32Array]",ut="[object Float64Array]",ht="[object Int8Array]",at="[object Int16Array]",Kt="[object Int32Array]",Vt="[object Uint8Array]",de="[object Uint8ClampedArray]",Oe="[object Uint16Array]",Se="[object Uint32Array]",ur=/\b__p \+= '';/g,lr=/\b(__p \+=) '' \+/g,xn=/(__e\(.*?\)|\b__t\)) \+\n'';/g,Gn=/&(?:amp|lt|gt|quot|#39);/g,co=/[&<>"']/g,qa=RegExp(Gn.source),ka=RegExp(co.source),Ua=/<%-([\s\S]+?)%>/g,Wa=/<%([\s\S]+?)%>/g,fo=/<%=([\s\S]+?)%>/g,ja=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,Ya=/^\w*$/,Za=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,Vi=/[\\^$.*+?()[\]{}|]/g,Ga=RegExp(Vi.source),Qi=/^\s+/,Ka=/\s/,Ha=/\{(?:\n\/\* \[wrapped with .+\] \*\/)?\n?/,Ja=/\{\n\/\* \[wrapped with (.+)\] \*/,Xa=/,? & /,Va=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g,Qa=/[()=,{}\[\]\/\s]/,tu=/\\(\\)?/g,eu=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,ho=/\w*$/,ru=/^[-+]0x[0-9a-f]+$/i,nu=/^0b[01]+$/i,iu=/^\[object .+?Constructor\]$/,su=/^0o[0-7]+$/i,ou=/^(?:0|[1-9]\d*)$/,au=/[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g,bi=/($^)/,Kn=/['\n\r\u2028\u2029\\]/g,jt="\\ud800-\\udfff",Ue="\\u0300-\\u036f",uu="\\ufe20-\\ufe2f",Ei="\\u20d0-\\u20ff",An=Ue+uu+Ei,po="\\u2700-\\u27bf",nh="a-z\\xdf-\\xf6\\xf8-\\xff",by="\\xac\\xb1\\xd7\\xf7",Ey="\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf",xy="\\u2000-\\u206f",Ay=" \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000",ih="A-Z\\xc0-\\xd6\\xd8-\\xde",sh="\\ufe0e\\ufe0f",oh=by+Ey+xy+Ay,lu="['’]",Cy="["+jt+"]",ah="["+oh+"]",_o="["+An+"]",uh="\\d+",Fy="["+po+"]",lh="["+nh+"]",ch="[^"+jt+oh+uh+po+nh+ih+"]",cu="\\ud83c[\\udffb-\\udfff]",My="(?:"+_o+"|"+cu+")",fh="[^"+jt+"]",fu="(?:\\ud83c[\\udde6-\\uddff]){2}",hu="[\\ud800-\\udbff][\\udc00-\\udfff]",xi="["+ih+"]",hh="\\u200d",ph="(?:"+lh+"|"+ch+")",Ny="(?:"+xi+"|"+ch+")",dh="(?:"+lu+"(?:d|ll|m|re|s|t|ve))?",_h="(?:"+lu+"(?:D|LL|M|RE|S|T|VE))?",mh=My+"?",gh="["+sh+"]?",Sy="(?:"+hh+"(?:"+[fh,fu,hu].join("|")+")"+gh+mh+")*",By="\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])",Ty="\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])",vh=gh+mh+Sy,Iy="(?:"+[Fy,fu,hu].join("|")+")"+vh,Oy="(?:"+[fh+_o+"?",_o,fu,hu,Cy].join("|")+")",$y=RegExp(lu,"g"),Ry=RegExp(_o,"g"),pu=RegExp(cu+"(?="+cu+")|"+Oy+vh,"g"),Ly=RegExp([xi+"?"+lh+"+"+dh+"(?="+[ah,xi,"$"].join("|")+")",Ny+"+"+_h+"(?="+[ah,xi+ph,"$"].join("|")+")",xi+"?"+ph+"+"+dh,xi+"+"+_h,Ty,By,uh,Iy].join("|"),"g"),Py=RegExp("["+hh+jt+An+sh+"]"),zy=/[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/,qy=["Array","Buffer","DataView","Date","Error","Float32Array","Float64Array","Function","Int8Array","Int16Array","Int32Array","Map","Math","Object","Promise","RegExp","Set","String","Symbol","TypeError","Uint8Array","Uint8ClampedArray","Uint16Array","Uint32Array","WeakMap","_","clearTimeout","isFinite","parseInt","setTimeout"],ky=-1,fe={};fe[ft]=fe[ut]=fe[ht]=fe[at]=fe[Kt]=fe[Vt]=fe[de]=fe[Oe]=fe[Se]=!0,fe[Dt]=fe[St]=fe[st]=fe[re]=fe[rt]=fe[Tt]=fe[ie]=fe[Xt]=fe[Gt]=fe[Fe]=fe[Ne]=fe[en]=fe[ar]=fe[En]=fe[H]=!1;var le={};le[Dt]=le[St]=le[st]=le[rt]=le[re]=le[Tt]=le[ft]=le[ut]=le[ht]=le[at]=le[Kt]=le[Gt]=le[Fe]=le[Ne]=le[en]=le[ar]=le[En]=le[$]=le[Vt]=le[de]=le[Oe]=le[Se]=!0,le[ie]=le[Xt]=le[H]=!1;var Uy={À:"A",Á:"A",Â:"A",Ã:"A",Ä:"A",Å:"A",à:"a",á:"a",â:"a",ã:"a",ä:"a",å:"a",Ç:"C",ç:"c",Ð:"D",ð:"d",È:"E",É:"E",Ê:"E",Ë:"E",è:"e",é:"e",ê:"e",ë:"e",Ì:"I",Í:"I",Î:"I",Ï:"I",ì:"i",í:"i",î:"i",ï:"i",Ñ:"N",ñ:"n",Ò:"O",Ó:"O",Ô:"O",Õ:"O",Ö:"O",Ø:"O",ò:"o",ó:"o",ô:"o",õ:"o",ö:"o",ø:"o",Ù:"U",Ú:"U",Û:"U",Ü:"U",ù:"u",ú:"u",û:"u",ü:"u",Ý:"Y",ý:"y",ÿ:"y",Æ:"Ae",æ:"ae",Þ:"Th",þ:"th",ß:"ss",Ā:"A",Ă:"A",Ą:"A",ā:"a",ă:"a",ą:"a",Ć:"C",Ĉ:"C",Ċ:"C",Č:"C",ć:"c",ĉ:"c",ċ:"c",č:"c",Ď:"D",Đ:"D",ď:"d",đ:"d",Ē:"E",Ĕ:"E",Ė:"E",Ę:"E",Ě:"E",ē:"e",ĕ:"e",ė:"e",ę:"e",ě:"e",Ĝ:"G",Ğ:"G",Ġ:"G",Ģ:"G",ĝ:"g",ğ:"g",ġ:"g",ģ:"g",Ĥ:"H",Ħ:"H",ĥ:"h",ħ:"h",Ĩ:"I",Ī:"I",Ĭ:"I",Į:"I",İ:"I",ĩ:"i",ī:"i",ĭ:"i",į:"i",ı:"i",Ĵ:"J",ĵ:"j",Ķ:"K",ķ:"k",ĸ:"k",Ĺ:"L",Ļ:"L",Ľ:"L",Ŀ:"L",Ł:"L",ĺ:"l",ļ:"l",ľ:"l",ŀ:"l",ł:"l",Ń:"N",Ņ:"N",Ň:"N",Ŋ:"N",ń:"n",ņ:"n",ň:"n",ŋ:"n",Ō:"O",Ŏ:"O",Ő:"O",ō:"o",ŏ:"o",ő:"o",Ŕ:"R",Ŗ:"R",Ř:"R",ŕ:"r",ŗ:"r",ř:"r",Ś:"S",Ŝ:"S",Ş:"S",Š:"S",ś:"s",ŝ:"s",ş:"s",š:"s",Ţ:"T",Ť:"T",Ŧ:"T",ţ:"t",ť:"t",ŧ:"t",Ũ:"U",Ū:"U",Ŭ:"U",Ů:"U",Ű:"U",Ų:"U",ũ:"u",ū:"u",ŭ:"u",ů:"u",ű:"u",ų:"u",Ŵ:"W",ŵ:"w",Ŷ:"Y",ŷ:"y",Ÿ:"Y",Ź:"Z",Ż:"Z",Ž:"Z",ź:"z",ż:"z",ž:"z",IJ:"IJ",ij:"ij",Œ:"Oe",œ:"oe",ʼn:"'n",ſ:"s"},Wy={"&":"&","<":"<",">":">",'"':""","'":"'"},jy={"&":"&","<":"<",">":">",""":'"',"'":"'"},Yy={"\\":"\\","'":"'","\n":"n","\r":"r","\u2028":"u2028","\u2029":"u2029"},Zy=parseFloat,Gy=parseInt,wh=typeof Wt=="object"&&Wt&&Wt.Object===Object&&Wt,Ky=typeof self=="object"&&self&&self.Object===Object&&self,Pe=wh||Ky||Function("return this")(),du=t&&!t.nodeType&&t,Hn=du&&!0&&i&&!i.nodeType&&i,yh=Hn&&Hn.exports===du,_u=yh&&wh.process,yr=function(){try{var j=Hn&&Hn.require&&Hn.require("util").types;return j||_u&&_u.binding&&_u.binding("util")}catch{}}(),Dh=yr&&yr.isArrayBuffer,bh=yr&&yr.isDate,Eh=yr&&yr.isMap,xh=yr&&yr.isRegExp,Ah=yr&&yr.isSet,Ch=yr&&yr.isTypedArray;function cr(j,X,J){switch(J.length){case 0:return j.call(X);case 1:return j.call(X,J[0]);case 2:return j.call(X,J[0],J[1]);case 3:return j.call(X,J[0],J[1],J[2])}return j.apply(X,J)}function Hy(j,X,J,mt){for(var Bt=-1,Ht=j==null?0:j.length;++Bt<Ht;){var Be=j[Bt];X(mt,Be,J(Be),j)}return mt}function Dr(j,X){for(var J=-1,mt=j==null?0:j.length;++J<mt&&X(j[J],J,j)!==!1;);return j}function Jy(j,X){for(var J=j==null?0:j.length;J--&&X(j[J],J,j)!==!1;);return j}function Fh(j,X){for(var J=-1,mt=j==null?0:j.length;++J<mt;)if(!X(j[J],J,j))return!1;return!0}function Cn(j,X){for(var J=-1,mt=j==null?0:j.length,Bt=0,Ht=[];++J<mt;){var Be=j[J];X(Be,J,j)&&(Ht[Bt++]=Be)}return Ht}function mo(j,X){var J=j==null?0:j.length;return!!J&&Ai(j,X,0)>-1}function mu(j,X,J){for(var mt=-1,Bt=j==null?0:j.length;++mt<Bt;)if(J(X,j[mt]))return!0;return!1}function _e(j,X){for(var J=-1,mt=j==null?0:j.length,Bt=Array(mt);++J<mt;)Bt[J]=X(j[J],J,j);return Bt}function Fn(j,X){for(var J=-1,mt=X.length,Bt=j.length;++J<mt;)j[Bt+J]=X[J];return j}function gu(j,X,J,mt){var Bt=-1,Ht=j==null?0:j.length;for(mt&&Ht&&(J=j[++Bt]);++Bt<Ht;)J=X(J,j[Bt],Bt,j);return J}function Xy(j,X,J,mt){var Bt=j==null?0:j.length;for(mt&&Bt&&(J=j[--Bt]);Bt--;)J=X(J,j[Bt],Bt,j);return J}function vu(j,X){for(var J=-1,mt=j==null?0:j.length;++J<mt;)if(X(j[J],J,j))return!0;return!1}var Vy=wu("length");function Qy(j){return j.split("")}function tD(j){return j.match(Va)||[]}function Mh(j,X,J){var mt;return J(j,function(Bt,Ht,Be){if(X(Bt,Ht,Be))return mt=Ht,!1}),mt}function go(j,X,J,mt){for(var Bt=j.length,Ht=J+(mt?1:-1);mt?Ht--:++Ht<Bt;)if(X(j[Ht],Ht,j))return Ht;return-1}function Ai(j,X,J){return X===X?hD(j,X,J):go(j,Nh,J)}function eD(j,X,J,mt){for(var Bt=J-1,Ht=j.length;++Bt<Ht;)if(mt(j[Bt],X))return Bt;return-1}function Nh(j){return j!==j}function Sh(j,X){var J=j==null?0:j.length;return J?Du(j,X)/J:tt}function wu(j){return function(X){return X==null?e:X[j]}}function yu(j){return function(X){return j==null?e:j[X]}}function Bh(j,X,J,mt,Bt){return Bt(j,function(Ht,Be,ae){J=mt?(mt=!1,Ht):X(J,Ht,Be,ae)}),J}function rD(j,X){var J=j.length;for(j.sort(X);J--;)j[J]=j[J].value;return j}function Du(j,X){for(var J,mt=-1,Bt=j.length;++mt<Bt;){var Ht=X(j[mt]);Ht!==e&&(J=J===e?Ht:J+Ht)}return J}function bu(j,X){for(var J=-1,mt=Array(j);++J<j;)mt[J]=X(J);return mt}function nD(j,X){return _e(X,function(J){return[J,j[J]]})}function Th(j){return j&&j.slice(0,Rh(j)+1).replace(Qi,"")}function fr(j){return function(X){return j(X)}}function Eu(j,X){return _e(X,function(J){return j[J]})}function ts(j,X){return j.has(X)}function Ih(j,X){for(var J=-1,mt=j.length;++J<mt&&Ai(X,j[J],0)>-1;);return J}function Oh(j,X){for(var J=j.length;J--&&Ai(X,j[J],0)>-1;);return J}function iD(j,X){for(var J=j.length,mt=0;J--;)j[J]===X&&++mt;return mt}var sD=yu(Uy),oD=yu(Wy);function aD(j){return"\\"+Yy[j]}function uD(j,X){return j==null?e:j[X]}function Ci(j){return Py.test(j)}function lD(j){return zy.test(j)}function cD(j){for(var X,J=[];!(X=j.next()).done;)J.push(X.value);return J}function xu(j){var X=-1,J=Array(j.size);return j.forEach(function(mt,Bt){J[++X]=[Bt,mt]}),J}function $h(j,X){return function(J){return j(X(J))}}function Mn(j,X){for(var J=-1,mt=j.length,Bt=0,Ht=[];++J<mt;){var Be=j[J];(Be===X||Be===p)&&(j[J]=p,Ht[Bt++]=J)}return Ht}function vo(j){var X=-1,J=Array(j.size);return j.forEach(function(mt){J[++X]=mt}),J}function fD(j){var X=-1,J=Array(j.size);return j.forEach(function(mt){J[++X]=[mt,mt]}),J}function hD(j,X,J){for(var mt=J-1,Bt=j.length;++mt<Bt;)if(j[mt]===X)return mt;return-1}function pD(j,X,J){for(var mt=J+1;mt--;)if(j[mt]===X)return mt;return mt}function Fi(j){return Ci(j)?_D(j):Vy(j)}function $r(j){return Ci(j)?mD(j):Qy(j)}function Rh(j){for(var X=j.length;X--&&Ka.test(j.charAt(X)););return X}var dD=yu(jy);function _D(j){for(var X=pu.lastIndex=0;pu.test(j);)++X;return X}function mD(j){return j.match(pu)||[]}function gD(j){return j.match(Ly)||[]}var vD=function j(X){X=X==null?Pe:Mi.defaults(Pe.Object(),X,Mi.pick(Pe,qy));var J=X.Array,mt=X.Date,Bt=X.Error,Ht=X.Function,Be=X.Math,ae=X.Object,Au=X.RegExp,wD=X.String,br=X.TypeError,wo=J.prototype,yD=Ht.prototype,Ni=ae.prototype,yo=X["__core-js_shared__"],Do=yD.toString,ne=Ni.hasOwnProperty,DD=0,Lh=function(){var o=/[^.]+$/.exec(yo&&yo.keys&&yo.keys.IE_PROTO||"");return o?"Symbol(src)_1."+o:""}(),bo=Ni.toString,bD=Do.call(ae),ED=Pe._,xD=Au("^"+Do.call(ne).replace(Vi,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),Eo=yh?X.Buffer:e,Nn=X.Symbol,xo=X.Uint8Array,Ph=Eo?Eo.allocUnsafe:e,Ao=$h(ae.getPrototypeOf,ae),zh=ae.create,qh=Ni.propertyIsEnumerable,Co=wo.splice,kh=Nn?Nn.isConcatSpreadable:e,es=Nn?Nn.iterator:e,Jn=Nn?Nn.toStringTag:e,Fo=function(){try{var o=ei(ae,"defineProperty");return o({},"",{}),o}catch{}}(),AD=X.clearTimeout!==Pe.clearTimeout&&X.clearTimeout,CD=mt&&mt.now!==Pe.Date.now&&mt.now,FD=X.setTimeout!==Pe.setTimeout&&X.setTimeout,Mo=Be.ceil,No=Be.floor,Cu=ae.getOwnPropertySymbols,MD=Eo?Eo.isBuffer:e,Uh=X.isFinite,ND=wo.join,SD=$h(ae.keys,ae),Te=Be.max,We=Be.min,BD=mt.now,TD=X.parseInt,Wh=Be.random,ID=wo.reverse,Fu=ei(X,"DataView"),rs=ei(X,"Map"),Mu=ei(X,"Promise"),Si=ei(X,"Set"),ns=ei(X,"WeakMap"),is=ei(ae,"create"),So=ns&&new ns,Bi={},OD=ri(Fu),$D=ri(rs),RD=ri(Mu),LD=ri(Si),PD=ri(ns),Bo=Nn?Nn.prototype:e,ss=Bo?Bo.valueOf:e,jh=Bo?Bo.toString:e;function B(o){if(ye(o)&&!It(o)&&!(o instanceof kt)){if(o instanceof Er)return o;if(ne.call(o,"__wrapped__"))return Y0(o)}return new Er(o)}var Ti=function(){function o(){}return function(u){if(!we(u))return{};if(zh)return zh(u);o.prototype=u;var _=new o;return o.prototype=e,_}}();function To(){}function Er(o,u){this.__wrapped__=o,this.__actions__=[],this.__chain__=!!u,this.__index__=0,this.__values__=e}B.templateSettings={escape:Ua,evaluate:Wa,interpolate:fo,variable:"",imports:{_:B}},B.prototype=To.prototype,B.prototype.constructor=B,Er.prototype=Ti(To.prototype),Er.prototype.constructor=Er;function kt(o){this.__wrapped__=o,this.__actions__=[],this.__dir__=1,this.__filtered__=!1,this.__iteratees__=[],this.__takeCount__=ct,this.__views__=[]}function zD(){var o=new kt(this.__wrapped__);return o.__actions__=Ve(this.__actions__),o.__dir__=this.__dir__,o.__filtered__=this.__filtered__,o.__iteratees__=Ve(this.__iteratees__),o.__takeCount__=this.__takeCount__,o.__views__=Ve(this.__views__),o}function qD(){if(this.__filtered__){var o=new kt(this);o.__dir__=-1,o.__filtered__=!0}else o=this.clone(),o.__dir__*=-1;return o}function kD(){var o=this.__wrapped__.value(),u=this.__dir__,_=It(o),y=u<0,A=_?o.length:0,I=Qb(0,A,this.__views__),L=I.start,z=I.end,Y=z-L,Q=y?z:L-1,et=this.__iteratees__,ot=et.length,dt=0,vt=We(Y,this.__takeCount__);if(!_||!y&&A==Y&&vt==Y)return d0(o,this.__actions__);var At=[];t:for(;Y--&&dt<vt;){Q+=u;for(var Rt=-1,Ct=o[Q];++Rt<ot;){var qt=et[Rt],Ut=qt.iteratee,dr=qt.type,Ke=Ut(Ct);if(dr==W)Ct=Ke;else if(!Ke){if(dr==k)continue t;break t}}At[dt++]=Ct}return At}kt.prototype=Ti(To.prototype),kt.prototype.constructor=kt;function Xn(o){var u=-1,_=o==null?0:o.length;for(this.clear();++u<_;){var y=o[u];this.set(y[0],y[1])}}function UD(){this.__data__=is?is(null):{},this.size=0}function WD(o){var u=this.has(o)&&delete this.__data__[o];return this.size-=u?1:0,u}function jD(o){var u=this.__data__;if(is){var _=u[o];return _===c?e:_}return ne.call(u,o)?u[o]:e}function YD(o){var u=this.__data__;return is?u[o]!==e:ne.call(u,o)}function ZD(o,u){var _=this.__data__;return this.size+=this.has(o)?0:1,_[o]=is&&u===e?c:u,this}Xn.prototype.clear=UD,Xn.prototype.delete=WD,Xn.prototype.get=jD,Xn.prototype.has=YD,Xn.prototype.set=ZD;function rn(o){var u=-1,_=o==null?0:o.length;for(this.clear();++u<_;){var y=o[u];this.set(y[0],y[1])}}function GD(){this.__data__=[],this.size=0}function KD(o){var u=this.__data__,_=Io(u,o);if(_<0)return!1;var y=u.length-1;return _==y?u.pop():Co.call(u,_,1),--this.size,!0}function HD(o){var u=this.__data__,_=Io(u,o);return _<0?e:u[_][1]}function JD(o){return Io(this.__data__,o)>-1}function XD(o,u){var _=this.__data__,y=Io(_,o);return y<0?(++this.size,_.push([o,u])):_[y][1]=u,this}rn.prototype.clear=GD,rn.prototype.delete=KD,rn.prototype.get=HD,rn.prototype.has=JD,rn.prototype.set=XD;function nn(o){var u=-1,_=o==null?0:o.length;for(this.clear();++u<_;){var y=o[u];this.set(y[0],y[1])}}function VD(){this.size=0,this.__data__={hash:new Xn,map:new(rs||rn),string:new Xn}}function QD(o){var u=Yo(this,o).delete(o);return this.size-=u?1:0,u}function tb(o){return Yo(this,o).get(o)}function eb(o){return Yo(this,o).has(o)}function rb(o,u){var _=Yo(this,o),y=_.size;return _.set(o,u),this.size+=_.size==y?0:1,this}nn.prototype.clear=VD,nn.prototype.delete=QD,nn.prototype.get=tb,nn.prototype.has=eb,nn.prototype.set=rb;function Vn(o){var u=-1,_=o==null?0:o.length;for(this.__data__=new nn;++u<_;)this.add(o[u])}function nb(o){return this.__data__.set(o,c),this}function ib(o){return this.__data__.has(o)}Vn.prototype.add=Vn.prototype.push=nb,Vn.prototype.has=ib;function Rr(o){var u=this.__data__=new rn(o);this.size=u.size}function sb(){this.__data__=new rn,this.size=0}function ob(o){var u=this.__data__,_=u.delete(o);return this.size=u.size,_}function ab(o){return this.__data__.get(o)}function ub(o){return this.__data__.has(o)}function lb(o,u){var _=this.__data__;if(_ instanceof rn){var y=_.__data__;if(!rs||y.length<n-1)return y.push([o,u]),this.size=++_.size,this;_=this.__data__=new nn(y)}return _.set(o,u),this.size=_.size,this}Rr.prototype.clear=sb,Rr.prototype.delete=ob,Rr.prototype.get=ab,Rr.prototype.has=ub,Rr.prototype.set=lb;function Yh(o,u){var _=It(o),y=!_&&ni(o),A=!_&&!y&&On(o),I=!_&&!y&&!A&&Ri(o),L=_||y||A||I,z=L?bu(o.length,wD):[],Y=z.length;for(var Q in o)(u||ne.call(o,Q))&&!(L&&(Q=="length"||A&&(Q=="offset"||Q=="parent")||I&&(Q=="buffer"||Q=="byteLength"||Q=="byteOffset")||un(Q,Y)))&&z.push(Q);return z}function Zh(o){var u=o.length;return u?o[zu(0,u-1)]:e}function cb(o,u){return Zo(Ve(o),Qn(u,0,o.length))}function fb(o){return Zo(Ve(o))}function Nu(o,u,_){(_!==e&&!Lr(o[u],_)||_===e&&!(u in o))&&sn(o,u,_)}function os(o,u,_){var y=o[u];(!(ne.call(o,u)&&Lr(y,_))||_===e&&!(u in o))&&sn(o,u,_)}function Io(o,u){for(var _=o.length;_--;)if(Lr(o[_][0],u))return _;return-1}function hb(o,u,_,y){return Sn(o,function(A,I,L){u(y,A,_(A),L)}),y}function Gh(o,u){return o&&Gr(u,$e(u),o)}function pb(o,u){return o&&Gr(u,tr(u),o)}function sn(o,u,_){u=="__proto__"&&Fo?Fo(o,u,{configurable:!0,enumerable:!0,value:_,writable:!0}):o[u]=_}function Su(o,u){for(var _=-1,y=u.length,A=J(y),I=o==null;++_<y;)A[_]=I?e:cl(o,u[_]);return A}function Qn(o,u,_){return o===o&&(_!==e&&(o=o<=_?o:_),u!==e&&(o=o>=u?o:u)),o}function xr(o,u,_,y,A,I){var L,z=u&f,Y=u&d,Q=u&g;if(_&&(L=A?_(o,y,A,I):_(o)),L!==e)return L;if(!we(o))return o;var et=It(o);if(et){if(L=eE(o),!z)return Ve(o,L)}else{var ot=je(o),dt=ot==Xt||ot==zt;if(On(o))return g0(o,z);if(ot==Ne||ot==Dt||dt&&!A){if(L=Y||dt?{}:R0(o),!z)return Y?jb(o,pb(L,o)):Wb(o,Gh(L,o))}else{if(!le[ot])return A?o:{};L=rE(o,ot,z)}}I||(I=new Rr);var vt=I.get(o);if(vt)return vt;I.set(o,L),fp(o)?o.forEach(function(Ct){L.add(xr(Ct,u,_,Ct,o,I))}):lp(o)&&o.forEach(function(Ct,qt){L.set(qt,xr(Ct,u,_,qt,o,I))});var At=Q?Y?Ju:Hu:Y?tr:$e,Rt=et?e:At(o);return Dr(Rt||o,function(Ct,qt){Rt&&(qt=Ct,Ct=o[qt]),os(L,qt,xr(Ct,u,_,qt,o,I))}),L}function db(o){var u=$e(o);return function(_){return Kh(_,o,u)}}function Kh(o,u,_){var y=_.length;if(o==null)return!y;for(o=ae(o);y--;){var A=_[y],I=u[A],L=o[A];if(L===e&&!(A in o)||!I(L))return!1}return!0}function Hh(o,u,_){if(typeof o!="function")throw new br(a);return ps(function(){o.apply(e,_)},u)}function as(o,u,_,y){var A=-1,I=mo,L=!0,z=o.length,Y=[],Q=u.length;if(!z)return Y;_&&(u=_e(u,fr(_))),y?(I=mu,L=!1):u.length>=n&&(I=ts,L=!1,u=new Vn(u));t:for(;++A<z;){var et=o[A],ot=_==null?et:_(et);if(et=y||et!==0?et:0,L&&ot===ot){for(var dt=Q;dt--;)if(u[dt]===ot)continue t;Y.push(et)}else I(u,ot,y)||Y.push(et)}return Y}var Sn=b0(Zr),Jh=b0(Tu,!0);function _b(o,u){var _=!0;return Sn(o,function(y,A,I){return _=!!u(y,A,I),_}),_}function Oo(o,u,_){for(var y=-1,A=o.length;++y<A;){var I=o[y],L=u(I);if(L!=null&&(z===e?L===L&&!pr(L):_(L,z)))var z=L,Y=I}return Y}function mb(o,u,_,y){var A=o.length;for(_=$t(_),_<0&&(_=-_>A?0:A+_),y=y===e||y>A?A:$t(y),y<0&&(y+=A),y=_>y?0:pp(y);_<y;)o[_++]=u;return o}function Xh(o,u){var _=[];return Sn(o,function(y,A,I){u(y,A,I)&&_.push(y)}),_}function ze(o,u,_,y,A){var I=-1,L=o.length;for(_||(_=iE),A||(A=[]);++I<L;){var z=o[I];u>0&&_(z)?u>1?ze(z,u-1,_,y,A):Fn(A,z):y||(A[A.length]=z)}return A}var Bu=E0(),Vh=E0(!0);function Zr(o,u){return o&&Bu(o,u,$e)}function Tu(o,u){return o&&Vh(o,u,$e)}function $o(o,u){return Cn(u,function(_){return ln(o[_])})}function ti(o,u){u=Tn(u,o);for(var _=0,y=u.length;o!=null&&_<y;)o=o[Kr(u[_++])];return _&&_==y?o:e}function Qh(o,u,_){var y=u(o);return It(o)?y:Fn(y,_(o))}function Ze(o){return o==null?o===e?Z:or:Jn&&Jn in ae(o)?Vb(o):fE(o)}function Iu(o,u){return o>u}function gb(o,u){return o!=null&&ne.call(o,u)}function vb(o,u){return o!=null&&u in ae(o)}function wb(o,u,_){return o>=We(u,_)&&o<Te(u,_)}function Ou(o,u,_){for(var y=_?mu:mo,A=o[0].length,I=o.length,L=I,z=J(I),Y=1/0,Q=[];L--;){var et=o[L];L&&u&&(et=_e(et,fr(u))),Y=We(et.length,Y),z[L]=!_&&(u||A>=120&&et.length>=120)?new Vn(L&&et):e}et=o[0];var ot=-1,dt=z[0];t:for(;++ot<A&&Q.length<Y;){var vt=et[ot],At=u?u(vt):vt;if(vt=_||vt!==0?vt:0,!(dt?ts(dt,At):y(Q,At,_))){for(L=I;--L;){var Rt=z[L];if(!(Rt?ts(Rt,At):y(o[L],At,_)))continue t}dt&&dt.push(At),Q.push(vt)}}return Q}function yb(o,u,_,y){return Zr(o,function(A,I,L){u(y,_(A),I,L)}),y}function us(o,u,_){u=Tn(u,o),o=q0(o,u);var y=o==null?o:o[Kr(Cr(u))];return y==null?e:cr(y,o,_)}function t0(o){return ye(o)&&Ze(o)==Dt}function Db(o){return ye(o)&&Ze(o)==st}function bb(o){return ye(o)&&Ze(o)==Tt}function ls(o,u,_,y,A){return o===u?!0:o==null||u==null||!ye(o)&&!ye(u)?o!==o&&u!==u:Eb(o,u,_,y,ls,A)}function Eb(o,u,_,y,A,I){var L=It(o),z=It(u),Y=L?St:je(o),Q=z?St:je(u);Y=Y==Dt?Ne:Y,Q=Q==Dt?Ne:Q;var et=Y==Ne,ot=Q==Ne,dt=Y==Q;if(dt&&On(o)){if(!On(u))return!1;L=!0,et=!1}if(dt&&!et)return I||(I=new Rr),L||Ri(o)?I0(o,u,_,y,A,I):Jb(o,u,Y,_,y,A,I);if(!(_&w)){var vt=et&&ne.call(o,"__wrapped__"),At=ot&&ne.call(u,"__wrapped__");if(vt||At){var Rt=vt?o.value():o,Ct=At?u.value():u;return I||(I=new Rr),A(Rt,Ct,_,y,I)}}return dt?(I||(I=new Rr),Xb(o,u,_,y,A,I)):!1}function xb(o){return ye(o)&&je(o)==Gt}function $u(o,u,_,y){var A=_.length,I=A,L=!y;if(o==null)return!I;for(o=ae(o);A--;){var z=_[A];if(L&&z[2]?z[1]!==o[z[0]]:!(z[0]in o))return!1}for(;++A<I;){z=_[A];var Y=z[0],Q=o[Y],et=z[1];if(L&&z[2]){if(Q===e&&!(Y in o))return!1}else{var ot=new Rr;if(y)var dt=y(Q,et,Y,o,u,ot);if(!(dt===e?ls(et,Q,w|m,y,ot):dt))return!1}}return!0}function e0(o){if(!we(o)||oE(o))return!1;var u=ln(o)?xD:iu;return u.test(ri(o))}function Ab(o){return ye(o)&&Ze(o)==en}function Cb(o){return ye(o)&&je(o)==ar}function Fb(o){return ye(o)&&Vo(o.length)&&!!fe[Ze(o)]}function r0(o){return typeof o=="function"?o:o==null?er:typeof o=="object"?It(o)?s0(o[0],o[1]):i0(o):xp(o)}function Ru(o){if(!hs(o))return SD(o);var u=[];for(var _ in ae(o))ne.call(o,_)&&_!="constructor"&&u.push(_);return u}function Mb(o){if(!we(o))return cE(o);var u=hs(o),_=[];for(var y in o)y=="constructor"&&(u||!ne.call(o,y))||_.push(y);return _}function Lu(o,u){return o<u}function n0(o,u){var _=-1,y=Qe(o)?J(o.length):[];return Sn(o,function(A,I,L){y[++_]=u(A,I,L)}),y}function i0(o){var u=Vu(o);return u.length==1&&u[0][2]?P0(u[0][0],u[0][1]):function(_){return _===o||$u(_,o,u)}}function s0(o,u){return tl(o)&&L0(u)?P0(Kr(o),u):function(_){var y=cl(_,o);return y===e&&y===u?fl(_,o):ls(u,y,w|m)}}function Ro(o,u,_,y,A){o!==u&&Bu(u,function(I,L){if(A||(A=new Rr),we(I))Nb(o,u,L,_,Ro,y,A);else{var z=y?y(rl(o,L),I,L+"",o,u,A):e;z===e&&(z=I),Nu(o,L,z)}},tr)}function Nb(o,u,_,y,A,I,L){var z=rl(o,_),Y=rl(u,_),Q=L.get(Y);if(Q){Nu(o,_,Q);return}var et=I?I(z,Y,_+"",o,u,L):e,ot=et===e;if(ot){var dt=It(Y),vt=!dt&&On(Y),At=!dt&&!vt&&Ri(Y);et=Y,dt||vt||At?It(z)?et=z:Ee(z)?et=Ve(z):vt?(ot=!1,et=g0(Y,!0)):At?(ot=!1,et=v0(Y,!0)):et=[]:ds(Y)||ni(Y)?(et=z,ni(z)?et=dp(z):(!we(z)||ln(z))&&(et=R0(Y))):ot=!1}ot&&(L.set(Y,et),A(et,Y,y,I,L),L.delete(Y)),Nu(o,_,et)}function o0(o,u){var _=o.length;if(_)return u+=u<0?_:0,un(u,_)?o[u]:e}function a0(o,u,_){u.length?u=_e(u,function(I){return It(I)?function(L){return ti(L,I.length===1?I[0]:I)}:I}):u=[er];var y=-1;u=_e(u,fr(xt()));var A=n0(o,function(I,L,z){var Y=_e(u,function(Q){return Q(I)});return{criteria:Y,index:++y,value:I}});return rD(A,function(I,L){return Ub(I,L,_)})}function Sb(o,u){return u0(o,u,function(_,y){return fl(o,y)})}function u0(o,u,_){for(var y=-1,A=u.length,I={};++y<A;){var L=u[y],z=ti(o,L);_(z,L)&&cs(I,Tn(L,o),z)}return I}function Bb(o){return function(u){return ti(u,o)}}function Pu(o,u,_,y){var A=y?eD:Ai,I=-1,L=u.length,z=o;for(o===u&&(u=Ve(u)),_&&(z=_e(o,fr(_)));++I<L;)for(var Y=0,Q=u[I],et=_?_(Q):Q;(Y=A(z,et,Y,y))>-1;)z!==o&&Co.call(z,Y,1),Co.call(o,Y,1);return o}function l0(o,u){for(var _=o?u.length:0,y=_-1;_--;){var A=u[_];if(_==y||A!==I){var I=A;un(A)?Co.call(o,A,1):Uu(o,A)}}return o}function zu(o,u){return o+No(Wh()*(u-o+1))}function Tb(o,u,_,y){for(var A=-1,I=Te(Mo((u-o)/(_||1)),0),L=J(I);I--;)L[y?I:++A]=o,o+=_;return L}function qu(o,u){var _="";if(!o||u<1||u>G)return _;do u%2&&(_+=o),u=No(u/2),u&&(o+=o);while(u);return _}function Lt(o,u){return nl(z0(o,u,er),o+"")}function Ib(o){return Zh(Li(o))}function Ob(o,u){var _=Li(o);return Zo(_,Qn(u,0,_.length))}function cs(o,u,_,y){if(!we(o))return o;u=Tn(u,o);for(var A=-1,I=u.length,L=I-1,z=o;z!=null&&++A<I;){var Y=Kr(u[A]),Q=_;if(Y==="__proto__"||Y==="constructor"||Y==="prototype")return o;if(A!=L){var et=z[Y];Q=y?y(et,Y,z):e,Q===e&&(Q=we(et)?et:un(u[A+1])?[]:{})}os(z,Y,Q),z=z[Y]}return o}var c0=So?function(o,u){return So.set(o,u),o}:er,$b=Fo?function(o,u){return Fo(o,"toString",{configurable:!0,enumerable:!1,value:pl(u),writable:!0})}:er;function Rb(o){return Zo(Li(o))}function Ar(o,u,_){var y=-1,A=o.length;u<0&&(u=-u>A?0:A+u),_=_>A?A:_,_<0&&(_+=A),A=u>_?0:_-u>>>0,u>>>=0;for(var I=J(A);++y<A;)I[y]=o[y+u];return I}function Lb(o,u){var _;return Sn(o,function(y,A,I){return _=u(y,A,I),!_}),!!_}function Lo(o,u,_){var y=0,A=o==null?y:o.length;if(typeof u=="number"&&u===u&&A<=lt){for(;y<A;){var I=y+A>>>1,L=o[I];L!==null&&!pr(L)&&(_?L<=u:L<u)?y=I+1:A=I}return A}return ku(o,u,er,_)}function ku(o,u,_,y){var A=0,I=o==null?0:o.length;if(I===0)return 0;u=_(u);for(var L=u!==u,z=u===null,Y=pr(u),Q=u===e;A<I;){var et=No((A+I)/2),ot=_(o[et]),dt=ot!==e,vt=ot===null,At=ot===ot,Rt=pr(ot);if(L)var Ct=y||At;else Q?Ct=At&&(y||dt):z?Ct=At&&dt&&(y||!vt):Y?Ct=At&&dt&&!vt&&(y||!Rt):vt||Rt?Ct=!1:Ct=y?ot<=u:ot<u;Ct?A=et+1:I=et}return We(I,gt)}function f0(o,u){for(var _=-1,y=o.length,A=0,I=[];++_<y;){var L=o[_],z=u?u(L):L;if(!_||!Lr(z,Y)){var Y=z;I[A++]=L===0?0:L}}return I}function h0(o){return typeof o=="number"?o:pr(o)?tt:+o}function hr(o){if(typeof o=="string")return o;if(It(o))return _e(o,hr)+"";if(pr(o))return jh?jh.call(o):"";var u=o+"";return u=="0"&&1/o==-K?"-0":u}function Bn(o,u,_){var y=-1,A=mo,I=o.length,L=!0,z=[],Y=z;if(_)L=!1,A=mu;else if(I>=n){var Q=u?null:Kb(o);if(Q)return vo(Q);L=!1,A=ts,Y=new Vn}else Y=u?[]:z;t:for(;++y<I;){var et=o[y],ot=u?u(et):et;if(et=_||et!==0?et:0,L&&ot===ot){for(var dt=Y.length;dt--;)if(Y[dt]===ot)continue t;u&&Y.push(ot),z.push(et)}else A(Y,ot,_)||(Y!==z&&Y.push(ot),z.push(et))}return z}function Uu(o,u){return u=Tn(u,o),o=q0(o,u),o==null||delete o[Kr(Cr(u))]}function p0(o,u,_,y){return cs(o,u,_(ti(o,u)),y)}function Po(o,u,_,y){for(var A=o.length,I=y?A:-1;(y?I--:++I<A)&&u(o[I],I,o););return _?Ar(o,y?0:I,y?I+1:A):Ar(o,y?I+1:0,y?A:I)}function d0(o,u){var _=o;return _ instanceof kt&&(_=_.value()),gu(u,function(y,A){return A.func.apply(A.thisArg,Fn([y],A.args))},_)}function Wu(o,u,_){var y=o.length;if(y<2)return y?Bn(o[0]):[];for(var A=-1,I=J(y);++A<y;)for(var L=o[A],z=-1;++z<y;)z!=A&&(I[A]=as(I[A]||L,o[z],u,_));return Bn(ze(I,1),u,_)}function _0(o,u,_){for(var y=-1,A=o.length,I=u.length,L={};++y<A;){var z=y<I?u[y]:e;_(L,o[y],z)}return L}function ju(o){return Ee(o)?o:[]}function Yu(o){return typeof o=="function"?o:er}function Tn(o,u){return It(o)?o:tl(o,u)?[o]:j0(Qt(o))}var Pb=Lt;function In(o,u,_){var y=o.length;return _=_===e?y:_,!u&&_>=y?o:Ar(o,u,_)}var m0=AD||function(o){return Pe.clearTimeout(o)};function g0(o,u){if(u)return o.slice();var _=o.length,y=Ph?Ph(_):new o.constructor(_);return o.copy(y),y}function Zu(o){var u=new o.constructor(o.byteLength);return new xo(u).set(new xo(o)),u}function zb(o,u){var _=u?Zu(o.buffer):o.buffer;return new o.constructor(_,o.byteOffset,o.byteLength)}function qb(o){var u=new o.constructor(o.source,ho.exec(o));return u.lastIndex=o.lastIndex,u}function kb(o){return ss?ae(ss.call(o)):{}}function v0(o,u){var _=u?Zu(o.buffer):o.buffer;return new o.constructor(_,o.byteOffset,o.length)}function w0(o,u){if(o!==u){var _=o!==e,y=o===null,A=o===o,I=pr(o),L=u!==e,z=u===null,Y=u===u,Q=pr(u);if(!z&&!Q&&!I&&o>u||I&&L&&Y&&!z&&!Q||y&&L&&Y||!_&&Y||!A)return 1;if(!y&&!I&&!Q&&o<u||Q&&_&&A&&!y&&!I||z&&_&&A||!L&&A||!Y)return-1}return 0}function Ub(o,u,_){for(var y=-1,A=o.criteria,I=u.criteria,L=A.length,z=_.length;++y<L;){var Y=w0(A[y],I[y]);if(Y){if(y>=z)return Y;var Q=_[y];return Y*(Q=="desc"?-1:1)}}return o.index-u.index}function y0(o,u,_,y){for(var A=-1,I=o.length,L=_.length,z=-1,Y=u.length,Q=Te(I-L,0),et=J(Y+Q),ot=!y;++z<Y;)et[z]=u[z];for(;++A<L;)(ot||A<I)&&(et[_[A]]=o[A]);for(;Q--;)et[z++]=o[A++];return et}function D0(o,u,_,y){for(var A=-1,I=o.length,L=-1,z=_.length,Y=-1,Q=u.length,et=Te(I-z,0),ot=J(et+Q),dt=!y;++A<et;)ot[A]=o[A];for(var vt=A;++Y<Q;)ot[vt+Y]=u[Y];for(;++L<z;)(dt||A<I)&&(ot[vt+_[L]]=o[A++]);return ot}function Ve(o,u){var _=-1,y=o.length;for(u||(u=J(y));++_<y;)u[_]=o[_];return u}function Gr(o,u,_,y){var A=!_;_||(_={});for(var I=-1,L=u.length;++I<L;){var z=u[I],Y=y?y(_[z],o[z],z,_,o):e;Y===e&&(Y=o[z]),A?sn(_,z,Y):os(_,z,Y)}return _}function Wb(o,u){return Gr(o,Qu(o),u)}function jb(o,u){return Gr(o,O0(o),u)}function zo(o,u){return function(_,y){var A=It(_)?Hy:hb,I=u?u():{};return A(_,o,xt(y,2),I)}}function Ii(o){return Lt(function(u,_){var y=-1,A=_.length,I=A>1?_[A-1]:e,L=A>2?_[2]:e;for(I=o.length>3&&typeof I=="function"?(A--,I):e,L&&Ge(_[0],_[1],L)&&(I=A<3?e:I,A=1),u=ae(u);++y<A;){var z=_[y];z&&o(u,z,y,I)}return u})}function b0(o,u){return function(_,y){if(_==null)return _;if(!Qe(_))return o(_,y);for(var A=_.length,I=u?A:-1,L=ae(_);(u?I--:++I<A)&&y(L[I],I,L)!==!1;);return _}}function E0(o){return function(u,_,y){for(var A=-1,I=ae(u),L=y(u),z=L.length;z--;){var Y=L[o?z:++A];if(_(I[Y],Y,I)===!1)break}return u}}function Yb(o,u,_){var y=u&D,A=fs(o);function I(){var L=this&&this!==Pe&&this instanceof I?A:o;return L.apply(y?_:this,arguments)}return I}function x0(o){return function(u){u=Qt(u);var _=Ci(u)?$r(u):e,y=_?_[0]:u.charAt(0),A=_?In(_,1).join(""):u.slice(1);return y[o]()+A}}function Oi(o){return function(u){return gu(bp(Dp(u).replace($y,"")),o,"")}}function fs(o){return function(){var u=arguments;switch(u.length){case 0:return new o;case 1:return new o(u[0]);case 2:return new o(u[0],u[1]);case 3:return new o(u[0],u[1],u[2]);case 4:return new o(u[0],u[1],u[2],u[3]);case 5:return new o(u[0],u[1],u[2],u[3],u[4]);case 6:return new o(u[0],u[1],u[2],u[3],u[4],u[5]);case 7:return new o(u[0],u[1],u[2],u[3],u[4],u[5],u[6])}var _=Ti(o.prototype),y=o.apply(_,u);return we(y)?y:_}}function Zb(o,u,_){var y=fs(o);function A(){for(var I=arguments.length,L=J(I),z=I,Y=$i(A);z--;)L[z]=arguments[z];var Q=I<3&&L[0]!==Y&&L[I-1]!==Y?[]:Mn(L,Y);if(I-=Q.length,I<_)return N0(o,u,qo,A.placeholder,e,L,Q,e,e,_-I);var et=this&&this!==Pe&&this instanceof A?y:o;return cr(et,this,L)}return A}function A0(o){return function(u,_,y){var A=ae(u);if(!Qe(u)){var I=xt(_,3);u=$e(u),_=function(z){return I(A[z],z,A)}}var L=o(u,_,y);return L>-1?A[I?u[L]:L]:e}}function C0(o){return an(function(u){var _=u.length,y=_,A=Er.prototype.thru;for(o&&u.reverse();y--;){var I=u[y];if(typeof I!="function")throw new br(a);if(A&&!L&&jo(I)=="wrapper")var L=new Er([],!0)}for(y=L?y:_;++y<_;){I=u[y];var z=jo(I),Y=z=="wrapper"?Xu(I):e;Y&&el(Y[0])&&Y[1]==(M|b|x|S)&&!Y[4].length&&Y[9]==1?L=L[jo(Y[0])].apply(L,Y[3]):L=I.length==1&&el(I)?L[z]():L.thru(I)}return function(){var Q=arguments,et=Q[0];if(L&&Q.length==1&&It(et))return L.plant(et).value();for(var ot=0,dt=_?u[ot].apply(this,Q):et;++ot<_;)dt=u[ot].call(this,dt);return dt}})}function qo(o,u,_,y,A,I,L,z,Y,Q){var et=u&M,ot=u&D,dt=u&v,vt=u&(b|N),At=u&O,Rt=dt?e:fs(o);function Ct(){for(var qt=arguments.length,Ut=J(qt),dr=qt;dr--;)Ut[dr]=arguments[dr];if(vt)var Ke=$i(Ct),_r=iD(Ut,Ke);if(y&&(Ut=y0(Ut,y,A,vt)),I&&(Ut=D0(Ut,I,L,vt)),qt-=_r,vt&&qt<Q){var xe=Mn(Ut,Ke);return N0(o,u,qo,Ct.placeholder,_,Ut,xe,z,Y,Q-qt)}var Pr=ot?_:this,fn=dt?Pr[o]:o;return qt=Ut.length,z?Ut=hE(Ut,z):At&&qt>1&&Ut.reverse(),et&&Y<qt&&(Ut.length=Y),this&&this!==Pe&&this instanceof Ct&&(fn=Rt||fs(fn)),fn.apply(Pr,Ut)}return Ct}function F0(o,u){return function(_,y){return yb(_,o,u(y),{})}}function ko(o,u){return function(_,y){var A;if(_===e&&y===e)return u;if(_!==e&&(A=_),y!==e){if(A===e)return y;typeof _=="string"||typeof y=="string"?(_=hr(_),y=hr(y)):(_=h0(_),y=h0(y)),A=o(_,y)}return A}}function Gu(o){return an(function(u){return u=_e(u,fr(xt())),Lt(function(_){var y=this;return o(u,function(A){return cr(A,y,_)})})})}function Uo(o,u){u=u===e?" ":hr(u);var _=u.length;if(_<2)return _?qu(u,o):u;var y=qu(u,Mo(o/Fi(u)));return Ci(u)?In($r(y),0,o).join(""):y.slice(0,o)}function Gb(o,u,_,y){var A=u&D,I=fs(o);function L(){for(var z=-1,Y=arguments.length,Q=-1,et=y.length,ot=J(et+Y),dt=this&&this!==Pe&&this instanceof L?I:o;++Q<et;)ot[Q]=y[Q];for(;Y--;)ot[Q++]=arguments[++z];return cr(dt,A?_:this,ot)}return L}function M0(o){return function(u,_,y){return y&&typeof y!="number"&&Ge(u,_,y)&&(_=y=e),u=cn(u),_===e?(_=u,u=0):_=cn(_),y=y===e?u<_?1:-1:cn(y),Tb(u,_,y,o)}}function Wo(o){return function(u,_){return typeof u=="string"&&typeof _=="string"||(u=Fr(u),_=Fr(_)),o(u,_)}}function N0(o,u,_,y,A,I,L,z,Y,Q){var et=u&b,ot=et?L:e,dt=et?e:L,vt=et?I:e,At=et?e:I;u|=et?x:F,u&=~(et?F:x),u&E||(u&=~(D|v));var Rt=[o,u,A,vt,ot,At,dt,z,Y,Q],Ct=_.apply(e,Rt);return el(o)&&k0(Ct,Rt),Ct.placeholder=y,U0(Ct,o,u)}function Ku(o){var u=Be[o];return function(_,y){if(_=Fr(_),y=y==null?0:We($t(y),292),y&&Uh(_)){var A=(Qt(_)+"e").split("e"),I=u(A[0]+"e"+(+A[1]+y));return A=(Qt(I)+"e").split("e"),+(A[0]+"e"+(+A[1]-y))}return u(_)}}var Kb=Si&&1/vo(new Si([,-0]))[1]==K?function(o){return new Si(o)}:ml;function S0(o){return function(u){var _=je(u);return _==Gt?xu(u):_==ar?fD(u):nD(u,o(u))}}function on(o,u,_,y,A,I,L,z){var Y=u&v;if(!Y&&typeof o!="function")throw new br(a);var Q=y?y.length:0;if(Q||(u&=~(x|F),y=A=e),L=L===e?L:Te($t(L),0),z=z===e?z:$t(z),Q-=A?A.length:0,u&F){var et=y,ot=A;y=A=e}var dt=Y?e:Xu(o),vt=[o,u,_,y,A,et,ot,I,L,z];if(dt&&lE(vt,dt),o=vt[0],u=vt[1],_=vt[2],y=vt[3],A=vt[4],z=vt[9]=vt[9]===e?Y?0:o.length:Te(vt[9]-Q,0),!z&&u&(b|N)&&(u&=~(b|N)),!u||u==D)var At=Yb(o,u,_);else u==b||u==N?At=Zb(o,u,z):(u==x||u==(D|x))&&!A.length?At=Gb(o,u,_,y):At=qo.apply(e,vt);var Rt=dt?c0:k0;return U0(Rt(At,vt),o,u)}function B0(o,u,_,y){return o===e||Lr(o,Ni[_])&&!ne.call(y,_)?u:o}function T0(o,u,_,y,A,I){return we(o)&&we(u)&&(I.set(u,o),Ro(o,u,e,T0,I),I.delete(u)),o}function Hb(o){return ds(o)?e:o}function I0(o,u,_,y,A,I){var L=_&w,z=o.length,Y=u.length;if(z!=Y&&!(L&&Y>z))return!1;var Q=I.get(o),et=I.get(u);if(Q&&et)return Q==u&&et==o;var ot=-1,dt=!0,vt=_&m?new Vn:e;for(I.set(o,u),I.set(u,o);++ot<z;){var At=o[ot],Rt=u[ot];if(y)var Ct=L?y(Rt,At,ot,u,o,I):y(At,Rt,ot,o,u,I);if(Ct!==e){if(Ct)continue;dt=!1;break}if(vt){if(!vu(u,function(qt,Ut){if(!ts(vt,Ut)&&(At===qt||A(At,qt,_,y,I)))return vt.push(Ut)})){dt=!1;break}}else if(!(At===Rt||A(At,Rt,_,y,I))){dt=!1;break}}return I.delete(o),I.delete(u),dt}function Jb(o,u,_,y,A,I,L){switch(_){case rt:if(o.byteLength!=u.byteLength||o.byteOffset!=u.byteOffset)return!1;o=o.buffer,u=u.buffer;case st:return!(o.byteLength!=u.byteLength||!I(new xo(o),new xo(u)));case re:case Tt:case Fe:return Lr(+o,+u);case ie:return o.name==u.name&&o.message==u.message;case en:case En:return o==u+"";case Gt:var z=xu;case ar:var Y=y&w;if(z||(z=vo),o.size!=u.size&&!Y)return!1;var Q=L.get(o);if(Q)return Q==u;y|=m,L.set(o,u);var et=I0(z(o),z(u),y,A,I,L);return L.delete(o),et;case $:if(ss)return ss.call(o)==ss.call(u)}return!1}function Xb(o,u,_,y,A,I){var L=_&w,z=Hu(o),Y=z.length,Q=Hu(u),et=Q.length;if(Y!=et&&!L)return!1;for(var ot=Y;ot--;){var dt=z[ot];if(!(L?dt in u:ne.call(u,dt)))return!1}var vt=I.get(o),At=I.get(u);if(vt&&At)return vt==u&&At==o;var Rt=!0;I.set(o,u),I.set(u,o);for(var Ct=L;++ot<Y;){dt=z[ot];var qt=o[dt],Ut=u[dt];if(y)var dr=L?y(Ut,qt,dt,u,o,I):y(qt,Ut,dt,o,u,I);if(!(dr===e?qt===Ut||A(qt,Ut,_,y,I):dr)){Rt=!1;break}Ct||(Ct=dt=="constructor")}if(Rt&&!Ct){var Ke=o.constructor,_r=u.constructor;Ke!=_r&&"constructor"in o&&"constructor"in u&&!(typeof Ke=="function"&&Ke instanceof Ke&&typeof _r=="function"&&_r instanceof _r)&&(Rt=!1)}return I.delete(o),I.delete(u),Rt}function an(o){return nl(z0(o,e,K0),o+"")}function Hu(o){return Qh(o,$e,Qu)}function Ju(o){return Qh(o,tr,O0)}var Xu=So?function(o){return So.get(o)}:ml;function jo(o){for(var u=o.name+"",_=Bi[u],y=ne.call(Bi,u)?_.length:0;y--;){var A=_[y],I=A.func;if(I==null||I==o)return A.name}return u}function $i(o){var u=ne.call(B,"placeholder")?B:o;return u.placeholder}function xt(){var o=B.iteratee||dl;return o=o===dl?r0:o,arguments.length?o(arguments[0],arguments[1]):o}function Yo(o,u){var _=o.__data__;return sE(u)?_[typeof u=="string"?"string":"hash"]:_.map}function Vu(o){for(var u=$e(o),_=u.length;_--;){var y=u[_],A=o[y];u[_]=[y,A,L0(A)]}return u}function ei(o,u){var _=uD(o,u);return e0(_)?_:e}function Vb(o){var u=ne.call(o,Jn),_=o[Jn];try{o[Jn]=e;var y=!0}catch{}var A=bo.call(o);return y&&(u?o[Jn]=_:delete o[Jn]),A}var Qu=Cu?function(o){return o==null?[]:(o=ae(o),Cn(Cu(o),function(u){return qh.call(o,u)}))}:gl,O0=Cu?function(o){for(var u=[];o;)Fn(u,Qu(o)),o=Ao(o);return u}:gl,je=Ze;(Fu&&je(new Fu(new ArrayBuffer(1)))!=rt||rs&&je(new rs)!=Gt||Mu&&je(Mu.resolve())!=tn||Si&&je(new Si)!=ar||ns&&je(new ns)!=H)&&(je=function(o){var u=Ze(o),_=u==Ne?o.constructor:e,y=_?ri(_):"";if(y)switch(y){case OD:return rt;case $D:return Gt;case RD:return tn;case LD:return ar;case PD:return H}return u});function Qb(o,u,_){for(var y=-1,A=_.length;++y<A;){var I=_[y],L=I.size;switch(I.type){case"drop":o+=L;break;case"dropRight":u-=L;break;case"take":u=We(u,o+L);break;case"takeRight":o=Te(o,u-L);break}}return{start:o,end:u}}function tE(o){var u=o.match(Ja);return u?u[1].split(Xa):[]}function $0(o,u,_){u=Tn(u,o);for(var y=-1,A=u.length,I=!1;++y<A;){var L=Kr(u[y]);if(!(I=o!=null&&_(o,L)))break;o=o[L]}return I||++y!=A?I:(A=o==null?0:o.length,!!A&&Vo(A)&&un(L,A)&&(It(o)||ni(o)))}function eE(o){var u=o.length,_=new o.constructor(u);return u&&typeof o[0]=="string"&&ne.call(o,"index")&&(_.index=o.index,_.input=o.input),_}function R0(o){return typeof o.constructor=="function"&&!hs(o)?Ti(Ao(o)):{}}function rE(o,u,_){var y=o.constructor;switch(u){case st:return Zu(o);case re:case Tt:return new y(+o);case rt:return zb(o,_);case ft:case ut:case ht:case at:case Kt:case Vt:case de:case Oe:case Se:return v0(o,_);case Gt:return new y;case Fe:case En:return new y(o);case en:return qb(o);case ar:return new y;case $:return kb(o)}}function nE(o,u){var _=u.length;if(!_)return o;var y=_-1;return u[y]=(_>1?"& ":"")+u[y],u=u.join(_>2?", ":" "),o.replace(Ha,`{
|
8
|
+
*/$n.exports,function(i,t){(function(){var e,r="4.17.21",n=200,s="Unsupported core-js use. Try https://npms.io/search?q=ponyfill.",a="Expected a function",l="Invalid `variable` option passed into `_.template`",c="__lodash_hash_undefined__",h=500,p="__lodash_placeholder__",f=1,d=2,g=4,w=1,m=2,D=1,v=2,E=4,b=8,N=16,x=32,F=64,M=128,S=256,O=512,C=30,T="...",R=800,U=16,k=1,W=2,P=3,K=1/0,G=9007199254740991,V=17976931348623157e292,tt=NaN,ct=4294967295,gt=ct-1,lt=ct>>>1,wt=[["ary",M],["bind",D],["bindKey",v],["curry",b],["curryRight",N],["flip",O],["partial",x],["partialRight",F],["rearg",S]],Dt="[object Arguments]",St="[object Array]",bt="[object AsyncFunction]",re="[object Boolean]",Tt="[object Date]",Mt="[object DOMException]",ie="[object Error]",Xt="[object Function]",zt="[object GeneratorFunction]",Gt="[object Map]",Fe="[object Number]",or="[object Null]",Ne="[object Object]",tn="[object Promise]",bn="[object Proxy]",en="[object RegExp]",ar="[object Set]",En="[object String]",$="[object Symbol]",Z="[object Undefined]",H="[object WeakMap]",nt="[object WeakSet]",st="[object ArrayBuffer]",rt="[object DataView]",ft="[object Float32Array]",ut="[object Float64Array]",ht="[object Int8Array]",at="[object Int16Array]",Kt="[object Int32Array]",Vt="[object Uint8Array]",de="[object Uint8ClampedArray]",Oe="[object Uint16Array]",Se="[object Uint32Array]",ur=/\b__p \+= '';/g,lr=/\b(__p \+=) '' \+/g,xn=/(__e\(.*?\)|\b__t\)) \+\n'';/g,Gn=/&(?:amp|lt|gt|quot|#39);/g,co=/[&<>"']/g,qa=RegExp(Gn.source),ka=RegExp(co.source),Ua=/<%-([\s\S]+?)%>/g,Wa=/<%([\s\S]+?)%>/g,fo=/<%=([\s\S]+?)%>/g,ja=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,Ya=/^\w*$/,Za=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,Vi=/[\\^$.*+?()[\]{}|]/g,Ga=RegExp(Vi.source),Qi=/^\s+/,Ka=/\s/,Ha=/\{(?:\n\/\* \[wrapped with .+\] \*\/)?\n?/,Ja=/\{\n\/\* \[wrapped with (.+)\] \*/,Xa=/,? & /,Va=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g,Qa=/[()=,{}\[\]\/\s]/,tu=/\\(\\)?/g,eu=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,ho=/\w*$/,ru=/^[-+]0x[0-9a-f]+$/i,nu=/^0b[01]+$/i,iu=/^\[object .+?Constructor\]$/,su=/^0o[0-7]+$/i,ou=/^(?:0|[1-9]\d*)$/,au=/[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g,bi=/($^)/,Kn=/['\n\r\u2028\u2029\\]/g,jt="\\ud800-\\udfff",Ue="\\u0300-\\u036f",uu="\\ufe20-\\ufe2f",Ei="\\u20d0-\\u20ff",An=Ue+uu+Ei,po="\\u2700-\\u27bf",rh="a-z\\xdf-\\xf6\\xf8-\\xff",Ey="\\xac\\xb1\\xd7\\xf7",xy="\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf",Ay="\\u2000-\\u206f",Cy=" \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000",nh="A-Z\\xc0-\\xd6\\xd8-\\xde",ih="\\ufe0e\\ufe0f",sh=Ey+xy+Ay+Cy,lu="['’]",Fy="["+jt+"]",oh="["+sh+"]",_o="["+An+"]",ah="\\d+",My="["+po+"]",uh="["+rh+"]",lh="[^"+jt+sh+ah+po+rh+nh+"]",cu="\\ud83c[\\udffb-\\udfff]",Ny="(?:"+_o+"|"+cu+")",ch="[^"+jt+"]",fu="(?:\\ud83c[\\udde6-\\uddff]){2}",hu="[\\ud800-\\udbff][\\udc00-\\udfff]",xi="["+nh+"]",fh="\\u200d",hh="(?:"+uh+"|"+lh+")",Sy="(?:"+xi+"|"+lh+")",ph="(?:"+lu+"(?:d|ll|m|re|s|t|ve))?",dh="(?:"+lu+"(?:D|LL|M|RE|S|T|VE))?",_h=Ny+"?",mh="["+ih+"]?",By="(?:"+fh+"(?:"+[ch,fu,hu].join("|")+")"+mh+_h+")*",Ty="\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])",Iy="\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])",gh=mh+_h+By,Oy="(?:"+[My,fu,hu].join("|")+")"+gh,$y="(?:"+[ch+_o+"?",_o,fu,hu,Fy].join("|")+")",Ry=RegExp(lu,"g"),Ly=RegExp(_o,"g"),pu=RegExp(cu+"(?="+cu+")|"+$y+gh,"g"),Py=RegExp([xi+"?"+uh+"+"+ph+"(?="+[oh,xi,"$"].join("|")+")",Sy+"+"+dh+"(?="+[oh,xi+hh,"$"].join("|")+")",xi+"?"+hh+"+"+ph,xi+"+"+dh,Iy,Ty,ah,Oy].join("|"),"g"),zy=RegExp("["+fh+jt+An+ih+"]"),qy=/[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/,ky=["Array","Buffer","DataView","Date","Error","Float32Array","Float64Array","Function","Int8Array","Int16Array","Int32Array","Map","Math","Object","Promise","RegExp","Set","String","Symbol","TypeError","Uint8Array","Uint8ClampedArray","Uint16Array","Uint32Array","WeakMap","_","clearTimeout","isFinite","parseInt","setTimeout"],Uy=-1,fe={};fe[ft]=fe[ut]=fe[ht]=fe[at]=fe[Kt]=fe[Vt]=fe[de]=fe[Oe]=fe[Se]=!0,fe[Dt]=fe[St]=fe[st]=fe[re]=fe[rt]=fe[Tt]=fe[ie]=fe[Xt]=fe[Gt]=fe[Fe]=fe[Ne]=fe[en]=fe[ar]=fe[En]=fe[H]=!1;var le={};le[Dt]=le[St]=le[st]=le[rt]=le[re]=le[Tt]=le[ft]=le[ut]=le[ht]=le[at]=le[Kt]=le[Gt]=le[Fe]=le[Ne]=le[en]=le[ar]=le[En]=le[$]=le[Vt]=le[de]=le[Oe]=le[Se]=!0,le[ie]=le[Xt]=le[H]=!1;var Wy={À:"A",Á:"A",Â:"A",Ã:"A",Ä:"A",Å:"A",à:"a",á:"a",â:"a",ã:"a",ä:"a",å:"a",Ç:"C",ç:"c",Ð:"D",ð:"d",È:"E",É:"E",Ê:"E",Ë:"E",è:"e",é:"e",ê:"e",ë:"e",Ì:"I",Í:"I",Î:"I",Ï:"I",ì:"i",í:"i",î:"i",ï:"i",Ñ:"N",ñ:"n",Ò:"O",Ó:"O",Ô:"O",Õ:"O",Ö:"O",Ø:"O",ò:"o",ó:"o",ô:"o",õ:"o",ö:"o",ø:"o",Ù:"U",Ú:"U",Û:"U",Ü:"U",ù:"u",ú:"u",û:"u",ü:"u",Ý:"Y",ý:"y",ÿ:"y",Æ:"Ae",æ:"ae",Þ:"Th",þ:"th",ß:"ss",Ā:"A",Ă:"A",Ą:"A",ā:"a",ă:"a",ą:"a",Ć:"C",Ĉ:"C",Ċ:"C",Č:"C",ć:"c",ĉ:"c",ċ:"c",č:"c",Ď:"D",Đ:"D",ď:"d",đ:"d",Ē:"E",Ĕ:"E",Ė:"E",Ę:"E",Ě:"E",ē:"e",ĕ:"e",ė:"e",ę:"e",ě:"e",Ĝ:"G",Ğ:"G",Ġ:"G",Ģ:"G",ĝ:"g",ğ:"g",ġ:"g",ģ:"g",Ĥ:"H",Ħ:"H",ĥ:"h",ħ:"h",Ĩ:"I",Ī:"I",Ĭ:"I",Į:"I",İ:"I",ĩ:"i",ī:"i",ĭ:"i",į:"i",ı:"i",Ĵ:"J",ĵ:"j",Ķ:"K",ķ:"k",ĸ:"k",Ĺ:"L",Ļ:"L",Ľ:"L",Ŀ:"L",Ł:"L",ĺ:"l",ļ:"l",ľ:"l",ŀ:"l",ł:"l",Ń:"N",Ņ:"N",Ň:"N",Ŋ:"N",ń:"n",ņ:"n",ň:"n",ŋ:"n",Ō:"O",Ŏ:"O",Ő:"O",ō:"o",ŏ:"o",ő:"o",Ŕ:"R",Ŗ:"R",Ř:"R",ŕ:"r",ŗ:"r",ř:"r",Ś:"S",Ŝ:"S",Ş:"S",Š:"S",ś:"s",ŝ:"s",ş:"s",š:"s",Ţ:"T",Ť:"T",Ŧ:"T",ţ:"t",ť:"t",ŧ:"t",Ũ:"U",Ū:"U",Ŭ:"U",Ů:"U",Ű:"U",Ų:"U",ũ:"u",ū:"u",ŭ:"u",ů:"u",ű:"u",ų:"u",Ŵ:"W",ŵ:"w",Ŷ:"Y",ŷ:"y",Ÿ:"Y",Ź:"Z",Ż:"Z",Ž:"Z",ź:"z",ż:"z",ž:"z",IJ:"IJ",ij:"ij",Œ:"Oe",œ:"oe",ʼn:"'n",ſ:"s"},jy={"&":"&","<":"<",">":">",'"':""","'":"'"},Yy={"&":"&","<":"<",">":">",""":'"',"'":"'"},Zy={"\\":"\\","'":"'","\n":"n","\r":"r","\u2028":"u2028","\u2029":"u2029"},Gy=parseFloat,Ky=parseInt,vh=typeof Wt=="object"&&Wt&&Wt.Object===Object&&Wt,Hy=typeof self=="object"&&self&&self.Object===Object&&self,Pe=vh||Hy||Function("return this")(),du=t&&!t.nodeType&&t,Hn=du&&!0&&i&&!i.nodeType&&i,wh=Hn&&Hn.exports===du,_u=wh&&vh.process,yr=function(){try{var j=Hn&&Hn.require&&Hn.require("util").types;return j||_u&&_u.binding&&_u.binding("util")}catch{}}(),yh=yr&&yr.isArrayBuffer,Dh=yr&&yr.isDate,bh=yr&&yr.isMap,Eh=yr&&yr.isRegExp,xh=yr&&yr.isSet,Ah=yr&&yr.isTypedArray;function cr(j,X,J){switch(J.length){case 0:return j.call(X);case 1:return j.call(X,J[0]);case 2:return j.call(X,J[0],J[1]);case 3:return j.call(X,J[0],J[1],J[2])}return j.apply(X,J)}function Jy(j,X,J,mt){for(var Bt=-1,Ht=j==null?0:j.length;++Bt<Ht;){var Be=j[Bt];X(mt,Be,J(Be),j)}return mt}function Dr(j,X){for(var J=-1,mt=j==null?0:j.length;++J<mt&&X(j[J],J,j)!==!1;);return j}function Xy(j,X){for(var J=j==null?0:j.length;J--&&X(j[J],J,j)!==!1;);return j}function Ch(j,X){for(var J=-1,mt=j==null?0:j.length;++J<mt;)if(!X(j[J],J,j))return!1;return!0}function Cn(j,X){for(var J=-1,mt=j==null?0:j.length,Bt=0,Ht=[];++J<mt;){var Be=j[J];X(Be,J,j)&&(Ht[Bt++]=Be)}return Ht}function mo(j,X){var J=j==null?0:j.length;return!!J&&Ai(j,X,0)>-1}function mu(j,X,J){for(var mt=-1,Bt=j==null?0:j.length;++mt<Bt;)if(J(X,j[mt]))return!0;return!1}function _e(j,X){for(var J=-1,mt=j==null?0:j.length,Bt=Array(mt);++J<mt;)Bt[J]=X(j[J],J,j);return Bt}function Fn(j,X){for(var J=-1,mt=X.length,Bt=j.length;++J<mt;)j[Bt+J]=X[J];return j}function gu(j,X,J,mt){var Bt=-1,Ht=j==null?0:j.length;for(mt&&Ht&&(J=j[++Bt]);++Bt<Ht;)J=X(J,j[Bt],Bt,j);return J}function Vy(j,X,J,mt){var Bt=j==null?0:j.length;for(mt&&Bt&&(J=j[--Bt]);Bt--;)J=X(J,j[Bt],Bt,j);return J}function vu(j,X){for(var J=-1,mt=j==null?0:j.length;++J<mt;)if(X(j[J],J,j))return!0;return!1}var Qy=wu("length");function tD(j){return j.split("")}function eD(j){return j.match(Va)||[]}function Fh(j,X,J){var mt;return J(j,function(Bt,Ht,Be){if(X(Bt,Ht,Be))return mt=Ht,!1}),mt}function go(j,X,J,mt){for(var Bt=j.length,Ht=J+(mt?1:-1);mt?Ht--:++Ht<Bt;)if(X(j[Ht],Ht,j))return Ht;return-1}function Ai(j,X,J){return X===X?pD(j,X,J):go(j,Mh,J)}function rD(j,X,J,mt){for(var Bt=J-1,Ht=j.length;++Bt<Ht;)if(mt(j[Bt],X))return Bt;return-1}function Mh(j){return j!==j}function Nh(j,X){var J=j==null?0:j.length;return J?Du(j,X)/J:tt}function wu(j){return function(X){return X==null?e:X[j]}}function yu(j){return function(X){return j==null?e:j[X]}}function Sh(j,X,J,mt,Bt){return Bt(j,function(Ht,Be,ae){J=mt?(mt=!1,Ht):X(J,Ht,Be,ae)}),J}function nD(j,X){var J=j.length;for(j.sort(X);J--;)j[J]=j[J].value;return j}function Du(j,X){for(var J,mt=-1,Bt=j.length;++mt<Bt;){var Ht=X(j[mt]);Ht!==e&&(J=J===e?Ht:J+Ht)}return J}function bu(j,X){for(var J=-1,mt=Array(j);++J<j;)mt[J]=X(J);return mt}function iD(j,X){return _e(X,function(J){return[J,j[J]]})}function Bh(j){return j&&j.slice(0,$h(j)+1).replace(Qi,"")}function fr(j){return function(X){return j(X)}}function Eu(j,X){return _e(X,function(J){return j[J]})}function ts(j,X){return j.has(X)}function Th(j,X){for(var J=-1,mt=j.length;++J<mt&&Ai(X,j[J],0)>-1;);return J}function Ih(j,X){for(var J=j.length;J--&&Ai(X,j[J],0)>-1;);return J}function sD(j,X){for(var J=j.length,mt=0;J--;)j[J]===X&&++mt;return mt}var oD=yu(Wy),aD=yu(jy);function uD(j){return"\\"+Zy[j]}function lD(j,X){return j==null?e:j[X]}function Ci(j){return zy.test(j)}function cD(j){return qy.test(j)}function fD(j){for(var X,J=[];!(X=j.next()).done;)J.push(X.value);return J}function xu(j){var X=-1,J=Array(j.size);return j.forEach(function(mt,Bt){J[++X]=[Bt,mt]}),J}function Oh(j,X){return function(J){return j(X(J))}}function Mn(j,X){for(var J=-1,mt=j.length,Bt=0,Ht=[];++J<mt;){var Be=j[J];(Be===X||Be===p)&&(j[J]=p,Ht[Bt++]=J)}return Ht}function vo(j){var X=-1,J=Array(j.size);return j.forEach(function(mt){J[++X]=mt}),J}function hD(j){var X=-1,J=Array(j.size);return j.forEach(function(mt){J[++X]=[mt,mt]}),J}function pD(j,X,J){for(var mt=J-1,Bt=j.length;++mt<Bt;)if(j[mt]===X)return mt;return-1}function dD(j,X,J){for(var mt=J+1;mt--;)if(j[mt]===X)return mt;return mt}function Fi(j){return Ci(j)?mD(j):Qy(j)}function $r(j){return Ci(j)?gD(j):tD(j)}function $h(j){for(var X=j.length;X--&&Ka.test(j.charAt(X)););return X}var _D=yu(Yy);function mD(j){for(var X=pu.lastIndex=0;pu.test(j);)++X;return X}function gD(j){return j.match(pu)||[]}function vD(j){return j.match(Py)||[]}var wD=function j(X){X=X==null?Pe:Mi.defaults(Pe.Object(),X,Mi.pick(Pe,ky));var J=X.Array,mt=X.Date,Bt=X.Error,Ht=X.Function,Be=X.Math,ae=X.Object,Au=X.RegExp,yD=X.String,br=X.TypeError,wo=J.prototype,DD=Ht.prototype,Ni=ae.prototype,yo=X["__core-js_shared__"],Do=DD.toString,ne=Ni.hasOwnProperty,bD=0,Rh=function(){var o=/[^.]+$/.exec(yo&&yo.keys&&yo.keys.IE_PROTO||"");return o?"Symbol(src)_1."+o:""}(),bo=Ni.toString,ED=Do.call(ae),xD=Pe._,AD=Au("^"+Do.call(ne).replace(Vi,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),Eo=wh?X.Buffer:e,Nn=X.Symbol,xo=X.Uint8Array,Lh=Eo?Eo.allocUnsafe:e,Ao=Oh(ae.getPrototypeOf,ae),Ph=ae.create,zh=Ni.propertyIsEnumerable,Co=wo.splice,qh=Nn?Nn.isConcatSpreadable:e,es=Nn?Nn.iterator:e,Jn=Nn?Nn.toStringTag:e,Fo=function(){try{var o=ei(ae,"defineProperty");return o({},"",{}),o}catch{}}(),CD=X.clearTimeout!==Pe.clearTimeout&&X.clearTimeout,FD=mt&&mt.now!==Pe.Date.now&&mt.now,MD=X.setTimeout!==Pe.setTimeout&&X.setTimeout,Mo=Be.ceil,No=Be.floor,Cu=ae.getOwnPropertySymbols,ND=Eo?Eo.isBuffer:e,kh=X.isFinite,SD=wo.join,BD=Oh(ae.keys,ae),Te=Be.max,We=Be.min,TD=mt.now,ID=X.parseInt,Uh=Be.random,OD=wo.reverse,Fu=ei(X,"DataView"),rs=ei(X,"Map"),Mu=ei(X,"Promise"),Si=ei(X,"Set"),ns=ei(X,"WeakMap"),is=ei(ae,"create"),So=ns&&new ns,Bi={},$D=ri(Fu),RD=ri(rs),LD=ri(Mu),PD=ri(Si),zD=ri(ns),Bo=Nn?Nn.prototype:e,ss=Bo?Bo.valueOf:e,Wh=Bo?Bo.toString:e;function B(o){if(ye(o)&&!It(o)&&!(o instanceof kt)){if(o instanceof Er)return o;if(ne.call(o,"__wrapped__"))return j0(o)}return new Er(o)}var Ti=function(){function o(){}return function(u){if(!we(u))return{};if(Ph)return Ph(u);o.prototype=u;var _=new o;return o.prototype=e,_}}();function To(){}function Er(o,u){this.__wrapped__=o,this.__actions__=[],this.__chain__=!!u,this.__index__=0,this.__values__=e}B.templateSettings={escape:Ua,evaluate:Wa,interpolate:fo,variable:"",imports:{_:B}},B.prototype=To.prototype,B.prototype.constructor=B,Er.prototype=Ti(To.prototype),Er.prototype.constructor=Er;function kt(o){this.__wrapped__=o,this.__actions__=[],this.__dir__=1,this.__filtered__=!1,this.__iteratees__=[],this.__takeCount__=ct,this.__views__=[]}function qD(){var o=new kt(this.__wrapped__);return o.__actions__=Ve(this.__actions__),o.__dir__=this.__dir__,o.__filtered__=this.__filtered__,o.__iteratees__=Ve(this.__iteratees__),o.__takeCount__=this.__takeCount__,o.__views__=Ve(this.__views__),o}function kD(){if(this.__filtered__){var o=new kt(this);o.__dir__=-1,o.__filtered__=!0}else o=this.clone(),o.__dir__*=-1;return o}function UD(){var o=this.__wrapped__.value(),u=this.__dir__,_=It(o),y=u<0,A=_?o.length:0,I=tE(0,A,this.__views__),L=I.start,z=I.end,Y=z-L,Q=y?z:L-1,et=this.__iteratees__,ot=et.length,dt=0,vt=We(Y,this.__takeCount__);if(!_||!y&&A==Y&&vt==Y)return p0(o,this.__actions__);var At=[];t:for(;Y--&&dt<vt;){Q+=u;for(var Rt=-1,Ct=o[Q];++Rt<ot;){var qt=et[Rt],Ut=qt.iteratee,dr=qt.type,Ke=Ut(Ct);if(dr==W)Ct=Ke;else if(!Ke){if(dr==k)continue t;break t}}At[dt++]=Ct}return At}kt.prototype=Ti(To.prototype),kt.prototype.constructor=kt;function Xn(o){var u=-1,_=o==null?0:o.length;for(this.clear();++u<_;){var y=o[u];this.set(y[0],y[1])}}function WD(){this.__data__=is?is(null):{},this.size=0}function jD(o){var u=this.has(o)&&delete this.__data__[o];return this.size-=u?1:0,u}function YD(o){var u=this.__data__;if(is){var _=u[o];return _===c?e:_}return ne.call(u,o)?u[o]:e}function ZD(o){var u=this.__data__;return is?u[o]!==e:ne.call(u,o)}function GD(o,u){var _=this.__data__;return this.size+=this.has(o)?0:1,_[o]=is&&u===e?c:u,this}Xn.prototype.clear=WD,Xn.prototype.delete=jD,Xn.prototype.get=YD,Xn.prototype.has=ZD,Xn.prototype.set=GD;function rn(o){var u=-1,_=o==null?0:o.length;for(this.clear();++u<_;){var y=o[u];this.set(y[0],y[1])}}function KD(){this.__data__=[],this.size=0}function HD(o){var u=this.__data__,_=Io(u,o);if(_<0)return!1;var y=u.length-1;return _==y?u.pop():Co.call(u,_,1),--this.size,!0}function JD(o){var u=this.__data__,_=Io(u,o);return _<0?e:u[_][1]}function XD(o){return Io(this.__data__,o)>-1}function VD(o,u){var _=this.__data__,y=Io(_,o);return y<0?(++this.size,_.push([o,u])):_[y][1]=u,this}rn.prototype.clear=KD,rn.prototype.delete=HD,rn.prototype.get=JD,rn.prototype.has=XD,rn.prototype.set=VD;function nn(o){var u=-1,_=o==null?0:o.length;for(this.clear();++u<_;){var y=o[u];this.set(y[0],y[1])}}function QD(){this.size=0,this.__data__={hash:new Xn,map:new(rs||rn),string:new Xn}}function tb(o){var u=Yo(this,o).delete(o);return this.size-=u?1:0,u}function eb(o){return Yo(this,o).get(o)}function rb(o){return Yo(this,o).has(o)}function nb(o,u){var _=Yo(this,o),y=_.size;return _.set(o,u),this.size+=_.size==y?0:1,this}nn.prototype.clear=QD,nn.prototype.delete=tb,nn.prototype.get=eb,nn.prototype.has=rb,nn.prototype.set=nb;function Vn(o){var u=-1,_=o==null?0:o.length;for(this.__data__=new nn;++u<_;)this.add(o[u])}function ib(o){return this.__data__.set(o,c),this}function sb(o){return this.__data__.has(o)}Vn.prototype.add=Vn.prototype.push=ib,Vn.prototype.has=sb;function Rr(o){var u=this.__data__=new rn(o);this.size=u.size}function ob(){this.__data__=new rn,this.size=0}function ab(o){var u=this.__data__,_=u.delete(o);return this.size=u.size,_}function ub(o){return this.__data__.get(o)}function lb(o){return this.__data__.has(o)}function cb(o,u){var _=this.__data__;if(_ instanceof rn){var y=_.__data__;if(!rs||y.length<n-1)return y.push([o,u]),this.size=++_.size,this;_=this.__data__=new nn(y)}return _.set(o,u),this.size=_.size,this}Rr.prototype.clear=ob,Rr.prototype.delete=ab,Rr.prototype.get=ub,Rr.prototype.has=lb,Rr.prototype.set=cb;function jh(o,u){var _=It(o),y=!_&&ni(o),A=!_&&!y&&On(o),I=!_&&!y&&!A&&Ri(o),L=_||y||A||I,z=L?bu(o.length,yD):[],Y=z.length;for(var Q in o)(u||ne.call(o,Q))&&!(L&&(Q=="length"||A&&(Q=="offset"||Q=="parent")||I&&(Q=="buffer"||Q=="byteLength"||Q=="byteOffset")||un(Q,Y)))&&z.push(Q);return z}function Yh(o){var u=o.length;return u?o[zu(0,u-1)]:e}function fb(o,u){return Zo(Ve(o),Qn(u,0,o.length))}function hb(o){return Zo(Ve(o))}function Nu(o,u,_){(_!==e&&!Lr(o[u],_)||_===e&&!(u in o))&&sn(o,u,_)}function os(o,u,_){var y=o[u];(!(ne.call(o,u)&&Lr(y,_))||_===e&&!(u in o))&&sn(o,u,_)}function Io(o,u){for(var _=o.length;_--;)if(Lr(o[_][0],u))return _;return-1}function pb(o,u,_,y){return Sn(o,function(A,I,L){u(y,A,_(A),L)}),y}function Zh(o,u){return o&&Gr(u,$e(u),o)}function db(o,u){return o&&Gr(u,tr(u),o)}function sn(o,u,_){u=="__proto__"&&Fo?Fo(o,u,{configurable:!0,enumerable:!0,value:_,writable:!0}):o[u]=_}function Su(o,u){for(var _=-1,y=u.length,A=J(y),I=o==null;++_<y;)A[_]=I?e:cl(o,u[_]);return A}function Qn(o,u,_){return o===o&&(_!==e&&(o=o<=_?o:_),u!==e&&(o=o>=u?o:u)),o}function xr(o,u,_,y,A,I){var L,z=u&f,Y=u&d,Q=u&g;if(_&&(L=A?_(o,y,A,I):_(o)),L!==e)return L;if(!we(o))return o;var et=It(o);if(et){if(L=rE(o),!z)return Ve(o,L)}else{var ot=je(o),dt=ot==Xt||ot==zt;if(On(o))return m0(o,z);if(ot==Ne||ot==Dt||dt&&!A){if(L=Y||dt?{}:$0(o),!z)return Y?Yb(o,db(L,o)):jb(o,Zh(L,o))}else{if(!le[ot])return A?o:{};L=nE(o,ot,z)}}I||(I=new Rr);var vt=I.get(o);if(vt)return vt;I.set(o,L),cp(o)?o.forEach(function(Ct){L.add(xr(Ct,u,_,Ct,o,I))}):up(o)&&o.forEach(function(Ct,qt){L.set(qt,xr(Ct,u,_,qt,o,I))});var At=Q?Y?Ju:Hu:Y?tr:$e,Rt=et?e:At(o);return Dr(Rt||o,function(Ct,qt){Rt&&(qt=Ct,Ct=o[qt]),os(L,qt,xr(Ct,u,_,qt,o,I))}),L}function _b(o){var u=$e(o);return function(_){return Gh(_,o,u)}}function Gh(o,u,_){var y=_.length;if(o==null)return!y;for(o=ae(o);y--;){var A=_[y],I=u[A],L=o[A];if(L===e&&!(A in o)||!I(L))return!1}return!0}function Kh(o,u,_){if(typeof o!="function")throw new br(a);return ps(function(){o.apply(e,_)},u)}function as(o,u,_,y){var A=-1,I=mo,L=!0,z=o.length,Y=[],Q=u.length;if(!z)return Y;_&&(u=_e(u,fr(_))),y?(I=mu,L=!1):u.length>=n&&(I=ts,L=!1,u=new Vn(u));t:for(;++A<z;){var et=o[A],ot=_==null?et:_(et);if(et=y||et!==0?et:0,L&&ot===ot){for(var dt=Q;dt--;)if(u[dt]===ot)continue t;Y.push(et)}else I(u,ot,y)||Y.push(et)}return Y}var Sn=D0(Zr),Hh=D0(Tu,!0);function mb(o,u){var _=!0;return Sn(o,function(y,A,I){return _=!!u(y,A,I),_}),_}function Oo(o,u,_){for(var y=-1,A=o.length;++y<A;){var I=o[y],L=u(I);if(L!=null&&(z===e?L===L&&!pr(L):_(L,z)))var z=L,Y=I}return Y}function gb(o,u,_,y){var A=o.length;for(_=$t(_),_<0&&(_=-_>A?0:A+_),y=y===e||y>A?A:$t(y),y<0&&(y+=A),y=_>y?0:hp(y);_<y;)o[_++]=u;return o}function Jh(o,u){var _=[];return Sn(o,function(y,A,I){u(y,A,I)&&_.push(y)}),_}function ze(o,u,_,y,A){var I=-1,L=o.length;for(_||(_=sE),A||(A=[]);++I<L;){var z=o[I];u>0&&_(z)?u>1?ze(z,u-1,_,y,A):Fn(A,z):y||(A[A.length]=z)}return A}var Bu=b0(),Xh=b0(!0);function Zr(o,u){return o&&Bu(o,u,$e)}function Tu(o,u){return o&&Xh(o,u,$e)}function $o(o,u){return Cn(u,function(_){return ln(o[_])})}function ti(o,u){u=Tn(u,o);for(var _=0,y=u.length;o!=null&&_<y;)o=o[Kr(u[_++])];return _&&_==y?o:e}function Vh(o,u,_){var y=u(o);return It(o)?y:Fn(y,_(o))}function Ze(o){return o==null?o===e?Z:or:Jn&&Jn in ae(o)?Qb(o):hE(o)}function Iu(o,u){return o>u}function vb(o,u){return o!=null&&ne.call(o,u)}function wb(o,u){return o!=null&&u in ae(o)}function yb(o,u,_){return o>=We(u,_)&&o<Te(u,_)}function Ou(o,u,_){for(var y=_?mu:mo,A=o[0].length,I=o.length,L=I,z=J(I),Y=1/0,Q=[];L--;){var et=o[L];L&&u&&(et=_e(et,fr(u))),Y=We(et.length,Y),z[L]=!_&&(u||A>=120&&et.length>=120)?new Vn(L&&et):e}et=o[0];var ot=-1,dt=z[0];t:for(;++ot<A&&Q.length<Y;){var vt=et[ot],At=u?u(vt):vt;if(vt=_||vt!==0?vt:0,!(dt?ts(dt,At):y(Q,At,_))){for(L=I;--L;){var Rt=z[L];if(!(Rt?ts(Rt,At):y(o[L],At,_)))continue t}dt&&dt.push(At),Q.push(vt)}}return Q}function Db(o,u,_,y){return Zr(o,function(A,I,L){u(y,_(A),I,L)}),y}function us(o,u,_){u=Tn(u,o),o=z0(o,u);var y=o==null?o:o[Kr(Cr(u))];return y==null?e:cr(y,o,_)}function Qh(o){return ye(o)&&Ze(o)==Dt}function bb(o){return ye(o)&&Ze(o)==st}function Eb(o){return ye(o)&&Ze(o)==Tt}function ls(o,u,_,y,A){return o===u?!0:o==null||u==null||!ye(o)&&!ye(u)?o!==o&&u!==u:xb(o,u,_,y,ls,A)}function xb(o,u,_,y,A,I){var L=It(o),z=It(u),Y=L?St:je(o),Q=z?St:je(u);Y=Y==Dt?Ne:Y,Q=Q==Dt?Ne:Q;var et=Y==Ne,ot=Q==Ne,dt=Y==Q;if(dt&&On(o)){if(!On(u))return!1;L=!0,et=!1}if(dt&&!et)return I||(I=new Rr),L||Ri(o)?T0(o,u,_,y,A,I):Xb(o,u,Y,_,y,A,I);if(!(_&w)){var vt=et&&ne.call(o,"__wrapped__"),At=ot&&ne.call(u,"__wrapped__");if(vt||At){var Rt=vt?o.value():o,Ct=At?u.value():u;return I||(I=new Rr),A(Rt,Ct,_,y,I)}}return dt?(I||(I=new Rr),Vb(o,u,_,y,A,I)):!1}function Ab(o){return ye(o)&&je(o)==Gt}function $u(o,u,_,y){var A=_.length,I=A,L=!y;if(o==null)return!I;for(o=ae(o);A--;){var z=_[A];if(L&&z[2]?z[1]!==o[z[0]]:!(z[0]in o))return!1}for(;++A<I;){z=_[A];var Y=z[0],Q=o[Y],et=z[1];if(L&&z[2]){if(Q===e&&!(Y in o))return!1}else{var ot=new Rr;if(y)var dt=y(Q,et,Y,o,u,ot);if(!(dt===e?ls(et,Q,w|m,y,ot):dt))return!1}}return!0}function t0(o){if(!we(o)||aE(o))return!1;var u=ln(o)?AD:iu;return u.test(ri(o))}function Cb(o){return ye(o)&&Ze(o)==en}function Fb(o){return ye(o)&&je(o)==ar}function Mb(o){return ye(o)&&Vo(o.length)&&!!fe[Ze(o)]}function e0(o){return typeof o=="function"?o:o==null?er:typeof o=="object"?It(o)?i0(o[0],o[1]):n0(o):Ep(o)}function Ru(o){if(!hs(o))return BD(o);var u=[];for(var _ in ae(o))ne.call(o,_)&&_!="constructor"&&u.push(_);return u}function Nb(o){if(!we(o))return fE(o);var u=hs(o),_=[];for(var y in o)y=="constructor"&&(u||!ne.call(o,y))||_.push(y);return _}function Lu(o,u){return o<u}function r0(o,u){var _=-1,y=Qe(o)?J(o.length):[];return Sn(o,function(A,I,L){y[++_]=u(A,I,L)}),y}function n0(o){var u=Vu(o);return u.length==1&&u[0][2]?L0(u[0][0],u[0][1]):function(_){return _===o||$u(_,o,u)}}function i0(o,u){return tl(o)&&R0(u)?L0(Kr(o),u):function(_){var y=cl(_,o);return y===e&&y===u?fl(_,o):ls(u,y,w|m)}}function Ro(o,u,_,y,A){o!==u&&Bu(u,function(I,L){if(A||(A=new Rr),we(I))Sb(o,u,L,_,Ro,y,A);else{var z=y?y(rl(o,L),I,L+"",o,u,A):e;z===e&&(z=I),Nu(o,L,z)}},tr)}function Sb(o,u,_,y,A,I,L){var z=rl(o,_),Y=rl(u,_),Q=L.get(Y);if(Q){Nu(o,_,Q);return}var et=I?I(z,Y,_+"",o,u,L):e,ot=et===e;if(ot){var dt=It(Y),vt=!dt&&On(Y),At=!dt&&!vt&&Ri(Y);et=Y,dt||vt||At?It(z)?et=z:Ee(z)?et=Ve(z):vt?(ot=!1,et=m0(Y,!0)):At?(ot=!1,et=g0(Y,!0)):et=[]:ds(Y)||ni(Y)?(et=z,ni(z)?et=pp(z):(!we(z)||ln(z))&&(et=$0(Y))):ot=!1}ot&&(L.set(Y,et),A(et,Y,y,I,L),L.delete(Y)),Nu(o,_,et)}function s0(o,u){var _=o.length;if(_)return u+=u<0?_:0,un(u,_)?o[u]:e}function o0(o,u,_){u.length?u=_e(u,function(I){return It(I)?function(L){return ti(L,I.length===1?I[0]:I)}:I}):u=[er];var y=-1;u=_e(u,fr(xt()));var A=r0(o,function(I,L,z){var Y=_e(u,function(Q){return Q(I)});return{criteria:Y,index:++y,value:I}});return nD(A,function(I,L){return Wb(I,L,_)})}function Bb(o,u){return a0(o,u,function(_,y){return fl(o,y)})}function a0(o,u,_){for(var y=-1,A=u.length,I={};++y<A;){var L=u[y],z=ti(o,L);_(z,L)&&cs(I,Tn(L,o),z)}return I}function Tb(o){return function(u){return ti(u,o)}}function Pu(o,u,_,y){var A=y?rD:Ai,I=-1,L=u.length,z=o;for(o===u&&(u=Ve(u)),_&&(z=_e(o,fr(_)));++I<L;)for(var Y=0,Q=u[I],et=_?_(Q):Q;(Y=A(z,et,Y,y))>-1;)z!==o&&Co.call(z,Y,1),Co.call(o,Y,1);return o}function u0(o,u){for(var _=o?u.length:0,y=_-1;_--;){var A=u[_];if(_==y||A!==I){var I=A;un(A)?Co.call(o,A,1):Uu(o,A)}}return o}function zu(o,u){return o+No(Uh()*(u-o+1))}function Ib(o,u,_,y){for(var A=-1,I=Te(Mo((u-o)/(_||1)),0),L=J(I);I--;)L[y?I:++A]=o,o+=_;return L}function qu(o,u){var _="";if(!o||u<1||u>G)return _;do u%2&&(_+=o),u=No(u/2),u&&(o+=o);while(u);return _}function Lt(o,u){return nl(P0(o,u,er),o+"")}function Ob(o){return Yh(Li(o))}function $b(o,u){var _=Li(o);return Zo(_,Qn(u,0,_.length))}function cs(o,u,_,y){if(!we(o))return o;u=Tn(u,o);for(var A=-1,I=u.length,L=I-1,z=o;z!=null&&++A<I;){var Y=Kr(u[A]),Q=_;if(Y==="__proto__"||Y==="constructor"||Y==="prototype")return o;if(A!=L){var et=z[Y];Q=y?y(et,Y,z):e,Q===e&&(Q=we(et)?et:un(u[A+1])?[]:{})}os(z,Y,Q),z=z[Y]}return o}var l0=So?function(o,u){return So.set(o,u),o}:er,Rb=Fo?function(o,u){return Fo(o,"toString",{configurable:!0,enumerable:!1,value:pl(u),writable:!0})}:er;function Lb(o){return Zo(Li(o))}function Ar(o,u,_){var y=-1,A=o.length;u<0&&(u=-u>A?0:A+u),_=_>A?A:_,_<0&&(_+=A),A=u>_?0:_-u>>>0,u>>>=0;for(var I=J(A);++y<A;)I[y]=o[y+u];return I}function Pb(o,u){var _;return Sn(o,function(y,A,I){return _=u(y,A,I),!_}),!!_}function Lo(o,u,_){var y=0,A=o==null?y:o.length;if(typeof u=="number"&&u===u&&A<=lt){for(;y<A;){var I=y+A>>>1,L=o[I];L!==null&&!pr(L)&&(_?L<=u:L<u)?y=I+1:A=I}return A}return ku(o,u,er,_)}function ku(o,u,_,y){var A=0,I=o==null?0:o.length;if(I===0)return 0;u=_(u);for(var L=u!==u,z=u===null,Y=pr(u),Q=u===e;A<I;){var et=No((A+I)/2),ot=_(o[et]),dt=ot!==e,vt=ot===null,At=ot===ot,Rt=pr(ot);if(L)var Ct=y||At;else Q?Ct=At&&(y||dt):z?Ct=At&&dt&&(y||!vt):Y?Ct=At&&dt&&!vt&&(y||!Rt):vt||Rt?Ct=!1:Ct=y?ot<=u:ot<u;Ct?A=et+1:I=et}return We(I,gt)}function c0(o,u){for(var _=-1,y=o.length,A=0,I=[];++_<y;){var L=o[_],z=u?u(L):L;if(!_||!Lr(z,Y)){var Y=z;I[A++]=L===0?0:L}}return I}function f0(o){return typeof o=="number"?o:pr(o)?tt:+o}function hr(o){if(typeof o=="string")return o;if(It(o))return _e(o,hr)+"";if(pr(o))return Wh?Wh.call(o):"";var u=o+"";return u=="0"&&1/o==-K?"-0":u}function Bn(o,u,_){var y=-1,A=mo,I=o.length,L=!0,z=[],Y=z;if(_)L=!1,A=mu;else if(I>=n){var Q=u?null:Hb(o);if(Q)return vo(Q);L=!1,A=ts,Y=new Vn}else Y=u?[]:z;t:for(;++y<I;){var et=o[y],ot=u?u(et):et;if(et=_||et!==0?et:0,L&&ot===ot){for(var dt=Y.length;dt--;)if(Y[dt]===ot)continue t;u&&Y.push(ot),z.push(et)}else A(Y,ot,_)||(Y!==z&&Y.push(ot),z.push(et))}return z}function Uu(o,u){return u=Tn(u,o),o=z0(o,u),o==null||delete o[Kr(Cr(u))]}function h0(o,u,_,y){return cs(o,u,_(ti(o,u)),y)}function Po(o,u,_,y){for(var A=o.length,I=y?A:-1;(y?I--:++I<A)&&u(o[I],I,o););return _?Ar(o,y?0:I,y?I+1:A):Ar(o,y?I+1:0,y?A:I)}function p0(o,u){var _=o;return _ instanceof kt&&(_=_.value()),gu(u,function(y,A){return A.func.apply(A.thisArg,Fn([y],A.args))},_)}function Wu(o,u,_){var y=o.length;if(y<2)return y?Bn(o[0]):[];for(var A=-1,I=J(y);++A<y;)for(var L=o[A],z=-1;++z<y;)z!=A&&(I[A]=as(I[A]||L,o[z],u,_));return Bn(ze(I,1),u,_)}function d0(o,u,_){for(var y=-1,A=o.length,I=u.length,L={};++y<A;){var z=y<I?u[y]:e;_(L,o[y],z)}return L}function ju(o){return Ee(o)?o:[]}function Yu(o){return typeof o=="function"?o:er}function Tn(o,u){return It(o)?o:tl(o,u)?[o]:W0(Qt(o))}var zb=Lt;function In(o,u,_){var y=o.length;return _=_===e?y:_,!u&&_>=y?o:Ar(o,u,_)}var _0=CD||function(o){return Pe.clearTimeout(o)};function m0(o,u){if(u)return o.slice();var _=o.length,y=Lh?Lh(_):new o.constructor(_);return o.copy(y),y}function Zu(o){var u=new o.constructor(o.byteLength);return new xo(u).set(new xo(o)),u}function qb(o,u){var _=u?Zu(o.buffer):o.buffer;return new o.constructor(_,o.byteOffset,o.byteLength)}function kb(o){var u=new o.constructor(o.source,ho.exec(o));return u.lastIndex=o.lastIndex,u}function Ub(o){return ss?ae(ss.call(o)):{}}function g0(o,u){var _=u?Zu(o.buffer):o.buffer;return new o.constructor(_,o.byteOffset,o.length)}function v0(o,u){if(o!==u){var _=o!==e,y=o===null,A=o===o,I=pr(o),L=u!==e,z=u===null,Y=u===u,Q=pr(u);if(!z&&!Q&&!I&&o>u||I&&L&&Y&&!z&&!Q||y&&L&&Y||!_&&Y||!A)return 1;if(!y&&!I&&!Q&&o<u||Q&&_&&A&&!y&&!I||z&&_&&A||!L&&A||!Y)return-1}return 0}function Wb(o,u,_){for(var y=-1,A=o.criteria,I=u.criteria,L=A.length,z=_.length;++y<L;){var Y=v0(A[y],I[y]);if(Y){if(y>=z)return Y;var Q=_[y];return Y*(Q=="desc"?-1:1)}}return o.index-u.index}function w0(o,u,_,y){for(var A=-1,I=o.length,L=_.length,z=-1,Y=u.length,Q=Te(I-L,0),et=J(Y+Q),ot=!y;++z<Y;)et[z]=u[z];for(;++A<L;)(ot||A<I)&&(et[_[A]]=o[A]);for(;Q--;)et[z++]=o[A++];return et}function y0(o,u,_,y){for(var A=-1,I=o.length,L=-1,z=_.length,Y=-1,Q=u.length,et=Te(I-z,0),ot=J(et+Q),dt=!y;++A<et;)ot[A]=o[A];for(var vt=A;++Y<Q;)ot[vt+Y]=u[Y];for(;++L<z;)(dt||A<I)&&(ot[vt+_[L]]=o[A++]);return ot}function Ve(o,u){var _=-1,y=o.length;for(u||(u=J(y));++_<y;)u[_]=o[_];return u}function Gr(o,u,_,y){var A=!_;_||(_={});for(var I=-1,L=u.length;++I<L;){var z=u[I],Y=y?y(_[z],o[z],z,_,o):e;Y===e&&(Y=o[z]),A?sn(_,z,Y):os(_,z,Y)}return _}function jb(o,u){return Gr(o,Qu(o),u)}function Yb(o,u){return Gr(o,I0(o),u)}function zo(o,u){return function(_,y){var A=It(_)?Jy:pb,I=u?u():{};return A(_,o,xt(y,2),I)}}function Ii(o){return Lt(function(u,_){var y=-1,A=_.length,I=A>1?_[A-1]:e,L=A>2?_[2]:e;for(I=o.length>3&&typeof I=="function"?(A--,I):e,L&&Ge(_[0],_[1],L)&&(I=A<3?e:I,A=1),u=ae(u);++y<A;){var z=_[y];z&&o(u,z,y,I)}return u})}function D0(o,u){return function(_,y){if(_==null)return _;if(!Qe(_))return o(_,y);for(var A=_.length,I=u?A:-1,L=ae(_);(u?I--:++I<A)&&y(L[I],I,L)!==!1;);return _}}function b0(o){return function(u,_,y){for(var A=-1,I=ae(u),L=y(u),z=L.length;z--;){var Y=L[o?z:++A];if(_(I[Y],Y,I)===!1)break}return u}}function Zb(o,u,_){var y=u&D,A=fs(o);function I(){var L=this&&this!==Pe&&this instanceof I?A:o;return L.apply(y?_:this,arguments)}return I}function E0(o){return function(u){u=Qt(u);var _=Ci(u)?$r(u):e,y=_?_[0]:u.charAt(0),A=_?In(_,1).join(""):u.slice(1);return y[o]()+A}}function Oi(o){return function(u){return gu(Dp(yp(u).replace(Ry,"")),o,"")}}function fs(o){return function(){var u=arguments;switch(u.length){case 0:return new o;case 1:return new o(u[0]);case 2:return new o(u[0],u[1]);case 3:return new o(u[0],u[1],u[2]);case 4:return new o(u[0],u[1],u[2],u[3]);case 5:return new o(u[0],u[1],u[2],u[3],u[4]);case 6:return new o(u[0],u[1],u[2],u[3],u[4],u[5]);case 7:return new o(u[0],u[1],u[2],u[3],u[4],u[5],u[6])}var _=Ti(o.prototype),y=o.apply(_,u);return we(y)?y:_}}function Gb(o,u,_){var y=fs(o);function A(){for(var I=arguments.length,L=J(I),z=I,Y=$i(A);z--;)L[z]=arguments[z];var Q=I<3&&L[0]!==Y&&L[I-1]!==Y?[]:Mn(L,Y);if(I-=Q.length,I<_)return M0(o,u,qo,A.placeholder,e,L,Q,e,e,_-I);var et=this&&this!==Pe&&this instanceof A?y:o;return cr(et,this,L)}return A}function x0(o){return function(u,_,y){var A=ae(u);if(!Qe(u)){var I=xt(_,3);u=$e(u),_=function(z){return I(A[z],z,A)}}var L=o(u,_,y);return L>-1?A[I?u[L]:L]:e}}function A0(o){return an(function(u){var _=u.length,y=_,A=Er.prototype.thru;for(o&&u.reverse();y--;){var I=u[y];if(typeof I!="function")throw new br(a);if(A&&!L&&jo(I)=="wrapper")var L=new Er([],!0)}for(y=L?y:_;++y<_;){I=u[y];var z=jo(I),Y=z=="wrapper"?Xu(I):e;Y&&el(Y[0])&&Y[1]==(M|b|x|S)&&!Y[4].length&&Y[9]==1?L=L[jo(Y[0])].apply(L,Y[3]):L=I.length==1&&el(I)?L[z]():L.thru(I)}return function(){var Q=arguments,et=Q[0];if(L&&Q.length==1&&It(et))return L.plant(et).value();for(var ot=0,dt=_?u[ot].apply(this,Q):et;++ot<_;)dt=u[ot].call(this,dt);return dt}})}function qo(o,u,_,y,A,I,L,z,Y,Q){var et=u&M,ot=u&D,dt=u&v,vt=u&(b|N),At=u&O,Rt=dt?e:fs(o);function Ct(){for(var qt=arguments.length,Ut=J(qt),dr=qt;dr--;)Ut[dr]=arguments[dr];if(vt)var Ke=$i(Ct),_r=sD(Ut,Ke);if(y&&(Ut=w0(Ut,y,A,vt)),I&&(Ut=y0(Ut,I,L,vt)),qt-=_r,vt&&qt<Q){var xe=Mn(Ut,Ke);return M0(o,u,qo,Ct.placeholder,_,Ut,xe,z,Y,Q-qt)}var Pr=ot?_:this,fn=dt?Pr[o]:o;return qt=Ut.length,z?Ut=pE(Ut,z):At&&qt>1&&Ut.reverse(),et&&Y<qt&&(Ut.length=Y),this&&this!==Pe&&this instanceof Ct&&(fn=Rt||fs(fn)),fn.apply(Pr,Ut)}return Ct}function C0(o,u){return function(_,y){return Db(_,o,u(y),{})}}function ko(o,u){return function(_,y){var A;if(_===e&&y===e)return u;if(_!==e&&(A=_),y!==e){if(A===e)return y;typeof _=="string"||typeof y=="string"?(_=hr(_),y=hr(y)):(_=f0(_),y=f0(y)),A=o(_,y)}return A}}function Gu(o){return an(function(u){return u=_e(u,fr(xt())),Lt(function(_){var y=this;return o(u,function(A){return cr(A,y,_)})})})}function Uo(o,u){u=u===e?" ":hr(u);var _=u.length;if(_<2)return _?qu(u,o):u;var y=qu(u,Mo(o/Fi(u)));return Ci(u)?In($r(y),0,o).join(""):y.slice(0,o)}function Kb(o,u,_,y){var A=u&D,I=fs(o);function L(){for(var z=-1,Y=arguments.length,Q=-1,et=y.length,ot=J(et+Y),dt=this&&this!==Pe&&this instanceof L?I:o;++Q<et;)ot[Q]=y[Q];for(;Y--;)ot[Q++]=arguments[++z];return cr(dt,A?_:this,ot)}return L}function F0(o){return function(u,_,y){return y&&typeof y!="number"&&Ge(u,_,y)&&(_=y=e),u=cn(u),_===e?(_=u,u=0):_=cn(_),y=y===e?u<_?1:-1:cn(y),Ib(u,_,y,o)}}function Wo(o){return function(u,_){return typeof u=="string"&&typeof _=="string"||(u=Fr(u),_=Fr(_)),o(u,_)}}function M0(o,u,_,y,A,I,L,z,Y,Q){var et=u&b,ot=et?L:e,dt=et?e:L,vt=et?I:e,At=et?e:I;u|=et?x:F,u&=~(et?F:x),u&E||(u&=~(D|v));var Rt=[o,u,A,vt,ot,At,dt,z,Y,Q],Ct=_.apply(e,Rt);return el(o)&&q0(Ct,Rt),Ct.placeholder=y,k0(Ct,o,u)}function Ku(o){var u=Be[o];return function(_,y){if(_=Fr(_),y=y==null?0:We($t(y),292),y&&kh(_)){var A=(Qt(_)+"e").split("e"),I=u(A[0]+"e"+(+A[1]+y));return A=(Qt(I)+"e").split("e"),+(A[0]+"e"+(+A[1]-y))}return u(_)}}var Hb=Si&&1/vo(new Si([,-0]))[1]==K?function(o){return new Si(o)}:ml;function N0(o){return function(u){var _=je(u);return _==Gt?xu(u):_==ar?hD(u):iD(u,o(u))}}function on(o,u,_,y,A,I,L,z){var Y=u&v;if(!Y&&typeof o!="function")throw new br(a);var Q=y?y.length:0;if(Q||(u&=~(x|F),y=A=e),L=L===e?L:Te($t(L),0),z=z===e?z:$t(z),Q-=A?A.length:0,u&F){var et=y,ot=A;y=A=e}var dt=Y?e:Xu(o),vt=[o,u,_,y,A,et,ot,I,L,z];if(dt&&cE(vt,dt),o=vt[0],u=vt[1],_=vt[2],y=vt[3],A=vt[4],z=vt[9]=vt[9]===e?Y?0:o.length:Te(vt[9]-Q,0),!z&&u&(b|N)&&(u&=~(b|N)),!u||u==D)var At=Zb(o,u,_);else u==b||u==N?At=Gb(o,u,z):(u==x||u==(D|x))&&!A.length?At=Kb(o,u,_,y):At=qo.apply(e,vt);var Rt=dt?l0:q0;return k0(Rt(At,vt),o,u)}function S0(o,u,_,y){return o===e||Lr(o,Ni[_])&&!ne.call(y,_)?u:o}function B0(o,u,_,y,A,I){return we(o)&&we(u)&&(I.set(u,o),Ro(o,u,e,B0,I),I.delete(u)),o}function Jb(o){return ds(o)?e:o}function T0(o,u,_,y,A,I){var L=_&w,z=o.length,Y=u.length;if(z!=Y&&!(L&&Y>z))return!1;var Q=I.get(o),et=I.get(u);if(Q&&et)return Q==u&&et==o;var ot=-1,dt=!0,vt=_&m?new Vn:e;for(I.set(o,u),I.set(u,o);++ot<z;){var At=o[ot],Rt=u[ot];if(y)var Ct=L?y(Rt,At,ot,u,o,I):y(At,Rt,ot,o,u,I);if(Ct!==e){if(Ct)continue;dt=!1;break}if(vt){if(!vu(u,function(qt,Ut){if(!ts(vt,Ut)&&(At===qt||A(At,qt,_,y,I)))return vt.push(Ut)})){dt=!1;break}}else if(!(At===Rt||A(At,Rt,_,y,I))){dt=!1;break}}return I.delete(o),I.delete(u),dt}function Xb(o,u,_,y,A,I,L){switch(_){case rt:if(o.byteLength!=u.byteLength||o.byteOffset!=u.byteOffset)return!1;o=o.buffer,u=u.buffer;case st:return!(o.byteLength!=u.byteLength||!I(new xo(o),new xo(u)));case re:case Tt:case Fe:return Lr(+o,+u);case ie:return o.name==u.name&&o.message==u.message;case en:case En:return o==u+"";case Gt:var z=xu;case ar:var Y=y&w;if(z||(z=vo),o.size!=u.size&&!Y)return!1;var Q=L.get(o);if(Q)return Q==u;y|=m,L.set(o,u);var et=T0(z(o),z(u),y,A,I,L);return L.delete(o),et;case $:if(ss)return ss.call(o)==ss.call(u)}return!1}function Vb(o,u,_,y,A,I){var L=_&w,z=Hu(o),Y=z.length,Q=Hu(u),et=Q.length;if(Y!=et&&!L)return!1;for(var ot=Y;ot--;){var dt=z[ot];if(!(L?dt in u:ne.call(u,dt)))return!1}var vt=I.get(o),At=I.get(u);if(vt&&At)return vt==u&&At==o;var Rt=!0;I.set(o,u),I.set(u,o);for(var Ct=L;++ot<Y;){dt=z[ot];var qt=o[dt],Ut=u[dt];if(y)var dr=L?y(Ut,qt,dt,u,o,I):y(qt,Ut,dt,o,u,I);if(!(dr===e?qt===Ut||A(qt,Ut,_,y,I):dr)){Rt=!1;break}Ct||(Ct=dt=="constructor")}if(Rt&&!Ct){var Ke=o.constructor,_r=u.constructor;Ke!=_r&&"constructor"in o&&"constructor"in u&&!(typeof Ke=="function"&&Ke instanceof Ke&&typeof _r=="function"&&_r instanceof _r)&&(Rt=!1)}return I.delete(o),I.delete(u),Rt}function an(o){return nl(P0(o,e,G0),o+"")}function Hu(o){return Vh(o,$e,Qu)}function Ju(o){return Vh(o,tr,I0)}var Xu=So?function(o){return So.get(o)}:ml;function jo(o){for(var u=o.name+"",_=Bi[u],y=ne.call(Bi,u)?_.length:0;y--;){var A=_[y],I=A.func;if(I==null||I==o)return A.name}return u}function $i(o){var u=ne.call(B,"placeholder")?B:o;return u.placeholder}function xt(){var o=B.iteratee||dl;return o=o===dl?e0:o,arguments.length?o(arguments[0],arguments[1]):o}function Yo(o,u){var _=o.__data__;return oE(u)?_[typeof u=="string"?"string":"hash"]:_.map}function Vu(o){for(var u=$e(o),_=u.length;_--;){var y=u[_],A=o[y];u[_]=[y,A,R0(A)]}return u}function ei(o,u){var _=lD(o,u);return t0(_)?_:e}function Qb(o){var u=ne.call(o,Jn),_=o[Jn];try{o[Jn]=e;var y=!0}catch{}var A=bo.call(o);return y&&(u?o[Jn]=_:delete o[Jn]),A}var Qu=Cu?function(o){return o==null?[]:(o=ae(o),Cn(Cu(o),function(u){return zh.call(o,u)}))}:gl,I0=Cu?function(o){for(var u=[];o;)Fn(u,Qu(o)),o=Ao(o);return u}:gl,je=Ze;(Fu&&je(new Fu(new ArrayBuffer(1)))!=rt||rs&&je(new rs)!=Gt||Mu&&je(Mu.resolve())!=tn||Si&&je(new Si)!=ar||ns&&je(new ns)!=H)&&(je=function(o){var u=Ze(o),_=u==Ne?o.constructor:e,y=_?ri(_):"";if(y)switch(y){case $D:return rt;case RD:return Gt;case LD:return tn;case PD:return ar;case zD:return H}return u});function tE(o,u,_){for(var y=-1,A=_.length;++y<A;){var I=_[y],L=I.size;switch(I.type){case"drop":o+=L;break;case"dropRight":u-=L;break;case"take":u=We(u,o+L);break;case"takeRight":o=Te(o,u-L);break}}return{start:o,end:u}}function eE(o){var u=o.match(Ja);return u?u[1].split(Xa):[]}function O0(o,u,_){u=Tn(u,o);for(var y=-1,A=u.length,I=!1;++y<A;){var L=Kr(u[y]);if(!(I=o!=null&&_(o,L)))break;o=o[L]}return I||++y!=A?I:(A=o==null?0:o.length,!!A&&Vo(A)&&un(L,A)&&(It(o)||ni(o)))}function rE(o){var u=o.length,_=new o.constructor(u);return u&&typeof o[0]=="string"&&ne.call(o,"index")&&(_.index=o.index,_.input=o.input),_}function $0(o){return typeof o.constructor=="function"&&!hs(o)?Ti(Ao(o)):{}}function nE(o,u,_){var y=o.constructor;switch(u){case st:return Zu(o);case re:case Tt:return new y(+o);case rt:return qb(o,_);case ft:case ut:case ht:case at:case Kt:case Vt:case de:case Oe:case Se:return g0(o,_);case Gt:return new y;case Fe:case En:return new y(o);case en:return kb(o);case ar:return new y;case $:return Ub(o)}}function iE(o,u){var _=u.length;if(!_)return o;var y=_-1;return u[y]=(_>1?"& ":"")+u[y],u=u.join(_>2?", ":" "),o.replace(Ha,`{
|
9
9
|
/* [wrapped with `+u+`] */
|
10
|
-
`)}function iE(o){return It(o)||ni(o)||!!(kh&&o&&o[kh])}function un(o,u){var _=typeof o;return u=u??G,!!u&&(_=="number"||_!="symbol"&&ou.test(o))&&o>-1&&o%1==0&&o<u}function Ge(o,u,_){if(!we(_))return!1;var y=typeof u;return(y=="number"?Qe(_)&&un(u,_.length):y=="string"&&u in _)?Lr(_[u],o):!1}function tl(o,u){if(It(o))return!1;var _=typeof o;return _=="number"||_=="symbol"||_=="boolean"||o==null||pr(o)?!0:Ya.test(o)||!ja.test(o)||u!=null&&o in ae(u)}function sE(o){var u=typeof o;return u=="string"||u=="number"||u=="symbol"||u=="boolean"?o!=="__proto__":o===null}function el(o){var u=jo(o),_=B[u];if(typeof _!="function"||!(u in kt.prototype))return!1;if(o===_)return!0;var y=Xu(_);return!!y&&o===y[0]}function oE(o){return!!Lh&&Lh in o}var aE=yo?ln:vl;function hs(o){var u=o&&o.constructor,_=typeof u=="function"&&u.prototype||Ni;return o===_}function L0(o){return o===o&&!we(o)}function P0(o,u){return function(_){return _==null?!1:_[o]===u&&(u!==e||o in ae(_))}}function uE(o){var u=Jo(o,function(y){return _.size===h&&_.clear(),y}),_=u.cache;return u}function lE(o,u){var _=o[1],y=u[1],A=_|y,I=A<(D|v|M),L=y==M&&_==b||y==M&&_==S&&o[7].length<=u[8]||y==(M|S)&&u[7].length<=u[8]&&_==b;if(!(I||L))return o;y&D&&(o[2]=u[2],A|=_&D?0:E);var z=u[3];if(z){var Y=o[3];o[3]=Y?y0(Y,z,u[4]):z,o[4]=Y?Mn(o[3],p):u[4]}return z=u[5],z&&(Y=o[5],o[5]=Y?D0(Y,z,u[6]):z,o[6]=Y?Mn(o[5],p):u[6]),z=u[7],z&&(o[7]=z),y&M&&(o[8]=o[8]==null?u[8]:We(o[8],u[8])),o[9]==null&&(o[9]=u[9]),o[0]=u[0],o[1]=A,o}function cE(o){var u=[];if(o!=null)for(var _ in ae(o))u.push(_);return u}function fE(o){return bo.call(o)}function z0(o,u,_){return u=Te(u===e?o.length-1:u,0),function(){for(var y=arguments,A=-1,I=Te(y.length-u,0),L=J(I);++A<I;)L[A]=y[u+A];A=-1;for(var z=J(u+1);++A<u;)z[A]=y[A];return z[u]=_(L),cr(o,this,z)}}function q0(o,u){return u.length<2?o:ti(o,Ar(u,0,-1))}function hE(o,u){for(var _=o.length,y=We(u.length,_),A=Ve(o);y--;){var I=u[y];o[y]=un(I,_)?A[I]:e}return o}function rl(o,u){if(!(u==="constructor"&&typeof o[u]=="function")&&u!="__proto__")return o[u]}var k0=W0(c0),ps=FD||function(o,u){return Pe.setTimeout(o,u)},nl=W0($b);function U0(o,u,_){var y=u+"";return nl(o,nE(y,pE(tE(y),_)))}function W0(o){var u=0,_=0;return function(){var y=BD(),A=U-(y-_);if(_=y,A>0){if(++u>=R)return arguments[0]}else u=0;return o.apply(e,arguments)}}function Zo(o,u){var _=-1,y=o.length,A=y-1;for(u=u===e?y:u;++_<u;){var I=zu(_,A),L=o[I];o[I]=o[_],o[_]=L}return o.length=u,o}var j0=uE(function(o){var u=[];return o.charCodeAt(0)===46&&u.push(""),o.replace(Za,function(_,y,A,I){u.push(A?I.replace(tu,"$1"):y||_)}),u});function Kr(o){if(typeof o=="string"||pr(o))return o;var u=o+"";return u=="0"&&1/o==-K?"-0":u}function ri(o){if(o!=null){try{return Do.call(o)}catch{}try{return o+""}catch{}}return""}function pE(o,u){return Dr(wt,function(_){var y="_."+_[0];u&_[1]&&!mo(o,y)&&o.push(y)}),o.sort()}function Y0(o){if(o instanceof kt)return o.clone();var u=new Er(o.__wrapped__,o.__chain__);return u.__actions__=Ve(o.__actions__),u.__index__=o.__index__,u.__values__=o.__values__,u}function dE(o,u,_){(_?Ge(o,u,_):u===e)?u=1:u=Te($t(u),0);var y=o==null?0:o.length;if(!y||u<1)return[];for(var A=0,I=0,L=J(Mo(y/u));A<y;)L[I++]=Ar(o,A,A+=u);return L}function _E(o){for(var u=-1,_=o==null?0:o.length,y=0,A=[];++u<_;){var I=o[u];I&&(A[y++]=I)}return A}function mE(){var o=arguments.length;if(!o)return[];for(var u=J(o-1),_=arguments[0],y=o;y--;)u[y-1]=arguments[y];return Fn(It(_)?Ve(_):[_],ze(u,1))}var gE=Lt(function(o,u){return Ee(o)?as(o,ze(u,1,Ee,!0)):[]}),vE=Lt(function(o,u){var _=Cr(u);return Ee(_)&&(_=e),Ee(o)?as(o,ze(u,1,Ee,!0),xt(_,2)):[]}),wE=Lt(function(o,u){var _=Cr(u);return Ee(_)&&(_=e),Ee(o)?as(o,ze(u,1,Ee,!0),e,_):[]});function yE(o,u,_){var y=o==null?0:o.length;return y?(u=_||u===e?1:$t(u),Ar(o,u<0?0:u,y)):[]}function DE(o,u,_){var y=o==null?0:o.length;return y?(u=_||u===e?1:$t(u),u=y-u,Ar(o,0,u<0?0:u)):[]}function bE(o,u){return o&&o.length?Po(o,xt(u,3),!0,!0):[]}function EE(o,u){return o&&o.length?Po(o,xt(u,3),!0):[]}function xE(o,u,_,y){var A=o==null?0:o.length;return A?(_&&typeof _!="number"&&Ge(o,u,_)&&(_=0,y=A),mb(o,u,_,y)):[]}function Z0(o,u,_){var y=o==null?0:o.length;if(!y)return-1;var A=_==null?0:$t(_);return A<0&&(A=Te(y+A,0)),go(o,xt(u,3),A)}function G0(o,u,_){var y=o==null?0:o.length;if(!y)return-1;var A=y-1;return _!==e&&(A=$t(_),A=_<0?Te(y+A,0):We(A,y-1)),go(o,xt(u,3),A,!0)}function K0(o){var u=o==null?0:o.length;return u?ze(o,1):[]}function AE(o){var u=o==null?0:o.length;return u?ze(o,K):[]}function CE(o,u){var _=o==null?0:o.length;return _?(u=u===e?1:$t(u),ze(o,u)):[]}function FE(o){for(var u=-1,_=o==null?0:o.length,y={};++u<_;){var A=o[u];y[A[0]]=A[1]}return y}function H0(o){return o&&o.length?o[0]:e}function ME(o,u,_){var y=o==null?0:o.length;if(!y)return-1;var A=_==null?0:$t(_);return A<0&&(A=Te(y+A,0)),Ai(o,u,A)}function NE(o){var u=o==null?0:o.length;return u?Ar(o,0,-1):[]}var SE=Lt(function(o){var u=_e(o,ju);return u.length&&u[0]===o[0]?Ou(u):[]}),BE=Lt(function(o){var u=Cr(o),_=_e(o,ju);return u===Cr(_)?u=e:_.pop(),_.length&&_[0]===o[0]?Ou(_,xt(u,2)):[]}),TE=Lt(function(o){var u=Cr(o),_=_e(o,ju);return u=typeof u=="function"?u:e,u&&_.pop(),_.length&&_[0]===o[0]?Ou(_,e,u):[]});function IE(o,u){return o==null?"":ND.call(o,u)}function Cr(o){var u=o==null?0:o.length;return u?o[u-1]:e}function OE(o,u,_){var y=o==null?0:o.length;if(!y)return-1;var A=y;return _!==e&&(A=$t(_),A=A<0?Te(y+A,0):We(A,y-1)),u===u?pD(o,u,A):go(o,Nh,A,!0)}function $E(o,u){return o&&o.length?o0(o,$t(u)):e}var RE=Lt(J0);function J0(o,u){return o&&o.length&&u&&u.length?Pu(o,u):o}function LE(o,u,_){return o&&o.length&&u&&u.length?Pu(o,u,xt(_,2)):o}function PE(o,u,_){return o&&o.length&&u&&u.length?Pu(o,u,e,_):o}var zE=an(function(o,u){var _=o==null?0:o.length,y=Su(o,u);return l0(o,_e(u,function(A){return un(A,_)?+A:A}).sort(w0)),y});function qE(o,u){var _=[];if(!(o&&o.length))return _;var y=-1,A=[],I=o.length;for(u=xt(u,3);++y<I;){var L=o[y];u(L,y,o)&&(_.push(L),A.push(y))}return l0(o,A),_}function il(o){return o==null?o:ID.call(o)}function kE(o,u,_){var y=o==null?0:o.length;return y?(_&&typeof _!="number"&&Ge(o,u,_)?(u=0,_=y):(u=u==null?0:$t(u),_=_===e?y:$t(_)),Ar(o,u,_)):[]}function UE(o,u){return Lo(o,u)}function WE(o,u,_){return ku(o,u,xt(_,2))}function jE(o,u){var _=o==null?0:o.length;if(_){var y=Lo(o,u);if(y<_&&Lr(o[y],u))return y}return-1}function YE(o,u){return Lo(o,u,!0)}function ZE(o,u,_){return ku(o,u,xt(_,2),!0)}function GE(o,u){var _=o==null?0:o.length;if(_){var y=Lo(o,u,!0)-1;if(Lr(o[y],u))return y}return-1}function KE(o){return o&&o.length?f0(o):[]}function HE(o,u){return o&&o.length?f0(o,xt(u,2)):[]}function JE(o){var u=o==null?0:o.length;return u?Ar(o,1,u):[]}function XE(o,u,_){return o&&o.length?(u=_||u===e?1:$t(u),Ar(o,0,u<0?0:u)):[]}function VE(o,u,_){var y=o==null?0:o.length;return y?(u=_||u===e?1:$t(u),u=y-u,Ar(o,u<0?0:u,y)):[]}function QE(o,u){return o&&o.length?Po(o,xt(u,3),!1,!0):[]}function tx(o,u){return o&&o.length?Po(o,xt(u,3)):[]}var ex=Lt(function(o){return Bn(ze(o,1,Ee,!0))}),rx=Lt(function(o){var u=Cr(o);return Ee(u)&&(u=e),Bn(ze(o,1,Ee,!0),xt(u,2))}),nx=Lt(function(o){var u=Cr(o);return u=typeof u=="function"?u:e,Bn(ze(o,1,Ee,!0),e,u)});function ix(o){return o&&o.length?Bn(o):[]}function sx(o,u){return o&&o.length?Bn(o,xt(u,2)):[]}function ox(o,u){return u=typeof u=="function"?u:e,o&&o.length?Bn(o,e,u):[]}function sl(o){if(!(o&&o.length))return[];var u=0;return o=Cn(o,function(_){if(Ee(_))return u=Te(_.length,u),!0}),bu(u,function(_){return _e(o,wu(_))})}function X0(o,u){if(!(o&&o.length))return[];var _=sl(o);return u==null?_:_e(_,function(y){return cr(u,e,y)})}var ax=Lt(function(o,u){return Ee(o)?as(o,u):[]}),ux=Lt(function(o){return Wu(Cn(o,Ee))}),lx=Lt(function(o){var u=Cr(o);return Ee(u)&&(u=e),Wu(Cn(o,Ee),xt(u,2))}),cx=Lt(function(o){var u=Cr(o);return u=typeof u=="function"?u:e,Wu(Cn(o,Ee),e,u)}),fx=Lt(sl);function hx(o,u){return _0(o||[],u||[],os)}function px(o,u){return _0(o||[],u||[],cs)}var dx=Lt(function(o){var u=o.length,_=u>1?o[u-1]:e;return _=typeof _=="function"?(o.pop(),_):e,X0(o,_)});function V0(o){var u=B(o);return u.__chain__=!0,u}function _x(o,u){return u(o),o}function Go(o,u){return u(o)}var mx=an(function(o){var u=o.length,_=u?o[0]:0,y=this.__wrapped__,A=function(I){return Su(I,o)};return u>1||this.__actions__.length||!(y instanceof kt)||!un(_)?this.thru(A):(y=y.slice(_,+_+(u?1:0)),y.__actions__.push({func:Go,args:[A],thisArg:e}),new Er(y,this.__chain__).thru(function(I){return u&&!I.length&&I.push(e),I}))});function gx(){return V0(this)}function vx(){return new Er(this.value(),this.__chain__)}function wx(){this.__values__===e&&(this.__values__=hp(this.value()));var o=this.__index__>=this.__values__.length,u=o?e:this.__values__[this.__index__++];return{done:o,value:u}}function yx(){return this}function Dx(o){for(var u,_=this;_ instanceof To;){var y=Y0(_);y.__index__=0,y.__values__=e,u?A.__wrapped__=y:u=y;var A=y;_=_.__wrapped__}return A.__wrapped__=o,u}function bx(){var o=this.__wrapped__;if(o instanceof kt){var u=o;return this.__actions__.length&&(u=new kt(this)),u=u.reverse(),u.__actions__.push({func:Go,args:[il],thisArg:e}),new Er(u,this.__chain__)}return this.thru(il)}function Ex(){return d0(this.__wrapped__,this.__actions__)}var xx=zo(function(o,u,_){ne.call(o,_)?++o[_]:sn(o,_,1)});function Ax(o,u,_){var y=It(o)?Fh:_b;return _&&Ge(o,u,_)&&(u=e),y(o,xt(u,3))}function Cx(o,u){var _=It(o)?Cn:Xh;return _(o,xt(u,3))}var Fx=A0(Z0),Mx=A0(G0);function Nx(o,u){return ze(Ko(o,u),1)}function Sx(o,u){return ze(Ko(o,u),K)}function Bx(o,u,_){return _=_===e?1:$t(_),ze(Ko(o,u),_)}function Q0(o,u){var _=It(o)?Dr:Sn;return _(o,xt(u,3))}function tp(o,u){var _=It(o)?Jy:Jh;return _(o,xt(u,3))}var Tx=zo(function(o,u,_){ne.call(o,_)?o[_].push(u):sn(o,_,[u])});function Ix(o,u,_,y){o=Qe(o)?o:Li(o),_=_&&!y?$t(_):0;var A=o.length;return _<0&&(_=Te(A+_,0)),Qo(o)?_<=A&&o.indexOf(u,_)>-1:!!A&&Ai(o,u,_)>-1}var Ox=Lt(function(o,u,_){var y=-1,A=typeof u=="function",I=Qe(o)?J(o.length):[];return Sn(o,function(L){I[++y]=A?cr(u,L,_):us(L,u,_)}),I}),$x=zo(function(o,u,_){sn(o,_,u)});function Ko(o,u){var _=It(o)?_e:n0;return _(o,xt(u,3))}function Rx(o,u,_,y){return o==null?[]:(It(u)||(u=u==null?[]:[u]),_=y?e:_,It(_)||(_=_==null?[]:[_]),a0(o,u,_))}var Lx=zo(function(o,u,_){o[_?0:1].push(u)},function(){return[[],[]]});function Px(o,u,_){var y=It(o)?gu:Bh,A=arguments.length<3;return y(o,xt(u,4),_,A,Sn)}function zx(o,u,_){var y=It(o)?Xy:Bh,A=arguments.length<3;return y(o,xt(u,4),_,A,Jh)}function qx(o,u){var _=It(o)?Cn:Xh;return _(o,Xo(xt(u,3)))}function kx(o){var u=It(o)?Zh:Ib;return u(o)}function Ux(o,u,_){(_?Ge(o,u,_):u===e)?u=1:u=$t(u);var y=It(o)?cb:Ob;return y(o,u)}function Wx(o){var u=It(o)?fb:Rb;return u(o)}function jx(o){if(o==null)return 0;if(Qe(o))return Qo(o)?Fi(o):o.length;var u=je(o);return u==Gt||u==ar?o.size:Ru(o).length}function Yx(o,u,_){var y=It(o)?vu:Lb;return _&&Ge(o,u,_)&&(u=e),y(o,xt(u,3))}var Zx=Lt(function(o,u){if(o==null)return[];var _=u.length;return _>1&&Ge(o,u[0],u[1])?u=[]:_>2&&Ge(u[0],u[1],u[2])&&(u=[u[0]]),a0(o,ze(u,1),[])}),Ho=CD||function(){return Pe.Date.now()};function Gx(o,u){if(typeof u!="function")throw new br(a);return o=$t(o),function(){if(--o<1)return u.apply(this,arguments)}}function ep(o,u,_){return u=_?e:u,u=o&&u==null?o.length:u,on(o,M,e,e,e,e,u)}function rp(o,u){var _;if(typeof u!="function")throw new br(a);return o=$t(o),function(){return--o>0&&(_=u.apply(this,arguments)),o<=1&&(u=e),_}}var ol=Lt(function(o,u,_){var y=D;if(_.length){var A=Mn(_,$i(ol));y|=x}return on(o,y,u,_,A)}),np=Lt(function(o,u,_){var y=D|v;if(_.length){var A=Mn(_,$i(np));y|=x}return on(u,y,o,_,A)});function ip(o,u,_){u=_?e:u;var y=on(o,b,e,e,e,e,e,u);return y.placeholder=ip.placeholder,y}function sp(o,u,_){u=_?e:u;var y=on(o,N,e,e,e,e,e,u);return y.placeholder=sp.placeholder,y}function op(o,u,_){var y,A,I,L,z,Y,Q=0,et=!1,ot=!1,dt=!0;if(typeof o!="function")throw new br(a);u=Fr(u)||0,we(_)&&(et=!!_.leading,ot="maxWait"in _,I=ot?Te(Fr(_.maxWait)||0,u):I,dt="trailing"in _?!!_.trailing:dt);function vt(xe){var Pr=y,fn=A;return y=A=e,Q=xe,L=o.apply(fn,Pr),L}function At(xe){return Q=xe,z=ps(qt,u),et?vt(xe):L}function Rt(xe){var Pr=xe-Y,fn=xe-Q,Ap=u-Pr;return ot?We(Ap,I-fn):Ap}function Ct(xe){var Pr=xe-Y,fn=xe-Q;return Y===e||Pr>=u||Pr<0||ot&&fn>=I}function qt(){var xe=Ho();if(Ct(xe))return Ut(xe);z=ps(qt,Rt(xe))}function Ut(xe){return z=e,dt&&y?vt(xe):(y=A=e,L)}function dr(){z!==e&&m0(z),Q=0,y=Y=A=z=e}function Ke(){return z===e?L:Ut(Ho())}function _r(){var xe=Ho(),Pr=Ct(xe);if(y=arguments,A=this,Y=xe,Pr){if(z===e)return At(Y);if(ot)return m0(z),z=ps(qt,u),vt(Y)}return z===e&&(z=ps(qt,u)),L}return _r.cancel=dr,_r.flush=Ke,_r}var Kx=Lt(function(o,u){return Hh(o,1,u)}),Hx=Lt(function(o,u,_){return Hh(o,Fr(u)||0,_)});function Jx(o){return on(o,O)}function Jo(o,u){if(typeof o!="function"||u!=null&&typeof u!="function")throw new br(a);var _=function(){var y=arguments,A=u?u.apply(this,y):y[0],I=_.cache;if(I.has(A))return I.get(A);var L=o.apply(this,y);return _.cache=I.set(A,L)||I,L};return _.cache=new(Jo.Cache||nn),_}Jo.Cache=nn;function Xo(o){if(typeof o!="function")throw new br(a);return function(){var u=arguments;switch(u.length){case 0:return!o.call(this);case 1:return!o.call(this,u[0]);case 2:return!o.call(this,u[0],u[1]);case 3:return!o.call(this,u[0],u[1],u[2])}return!o.apply(this,u)}}function Xx(o){return rp(2,o)}var Vx=Pb(function(o,u){u=u.length==1&&It(u[0])?_e(u[0],fr(xt())):_e(ze(u,1),fr(xt()));var _=u.length;return Lt(function(y){for(var A=-1,I=We(y.length,_);++A<I;)y[A]=u[A].call(this,y[A]);return cr(o,this,y)})}),al=Lt(function(o,u){var _=Mn(u,$i(al));return on(o,x,e,u,_)}),ap=Lt(function(o,u){var _=Mn(u,$i(ap));return on(o,F,e,u,_)}),Qx=an(function(o,u){return on(o,S,e,e,e,u)});function tA(o,u){if(typeof o!="function")throw new br(a);return u=u===e?u:$t(u),Lt(o,u)}function eA(o,u){if(typeof o!="function")throw new br(a);return u=u==null?0:Te($t(u),0),Lt(function(_){var y=_[u],A=In(_,0,u);return y&&Fn(A,y),cr(o,this,A)})}function rA(o,u,_){var y=!0,A=!0;if(typeof o!="function")throw new br(a);return we(_)&&(y="leading"in _?!!_.leading:y,A="trailing"in _?!!_.trailing:A),op(o,u,{leading:y,maxWait:u,trailing:A})}function nA(o){return ep(o,1)}function iA(o,u){return al(Yu(u),o)}function sA(){if(!arguments.length)return[];var o=arguments[0];return It(o)?o:[o]}function oA(o){return xr(o,g)}function aA(o,u){return u=typeof u=="function"?u:e,xr(o,g,u)}function uA(o){return xr(o,f|g)}function lA(o,u){return u=typeof u=="function"?u:e,xr(o,f|g,u)}function cA(o,u){return u==null||Kh(o,u,$e(u))}function Lr(o,u){return o===u||o!==o&&u!==u}var fA=Wo(Iu),hA=Wo(function(o,u){return o>=u}),ni=t0(function(){return arguments}())?t0:function(o){return ye(o)&&ne.call(o,"callee")&&!qh.call(o,"callee")},It=J.isArray,pA=Dh?fr(Dh):Db;function Qe(o){return o!=null&&Vo(o.length)&&!ln(o)}function Ee(o){return ye(o)&&Qe(o)}function dA(o){return o===!0||o===!1||ye(o)&&Ze(o)==re}var On=MD||vl,_A=bh?fr(bh):bb;function mA(o){return ye(o)&&o.nodeType===1&&!ds(o)}function gA(o){if(o==null)return!0;if(Qe(o)&&(It(o)||typeof o=="string"||typeof o.splice=="function"||On(o)||Ri(o)||ni(o)))return!o.length;var u=je(o);if(u==Gt||u==ar)return!o.size;if(hs(o))return!Ru(o).length;for(var _ in o)if(ne.call(o,_))return!1;return!0}function vA(o,u){return ls(o,u)}function wA(o,u,_){_=typeof _=="function"?_:e;var y=_?_(o,u):e;return y===e?ls(o,u,e,_):!!y}function ul(o){if(!ye(o))return!1;var u=Ze(o);return u==ie||u==Mt||typeof o.message=="string"&&typeof o.name=="string"&&!ds(o)}function yA(o){return typeof o=="number"&&Uh(o)}function ln(o){if(!we(o))return!1;var u=Ze(o);return u==Xt||u==zt||u==bt||u==bn}function up(o){return typeof o=="number"&&o==$t(o)}function Vo(o){return typeof o=="number"&&o>-1&&o%1==0&&o<=G}function we(o){var u=typeof o;return o!=null&&(u=="object"||u=="function")}function ye(o){return o!=null&&typeof o=="object"}var lp=Eh?fr(Eh):xb;function DA(o,u){return o===u||$u(o,u,Vu(u))}function bA(o,u,_){return _=typeof _=="function"?_:e,$u(o,u,Vu(u),_)}function EA(o){return cp(o)&&o!=+o}function xA(o){if(aE(o))throw new Bt(s);return e0(o)}function AA(o){return o===null}function CA(o){return o==null}function cp(o){return typeof o=="number"||ye(o)&&Ze(o)==Fe}function ds(o){if(!ye(o)||Ze(o)!=Ne)return!1;var u=Ao(o);if(u===null)return!0;var _=ne.call(u,"constructor")&&u.constructor;return typeof _=="function"&&_ instanceof _&&Do.call(_)==bD}var ll=xh?fr(xh):Ab;function FA(o){return up(o)&&o>=-G&&o<=G}var fp=Ah?fr(Ah):Cb;function Qo(o){return typeof o=="string"||!It(o)&&ye(o)&&Ze(o)==En}function pr(o){return typeof o=="symbol"||ye(o)&&Ze(o)==$}var Ri=Ch?fr(Ch):Fb;function MA(o){return o===e}function NA(o){return ye(o)&&je(o)==H}function SA(o){return ye(o)&&Ze(o)==nt}var BA=Wo(Lu),TA=Wo(function(o,u){return o<=u});function hp(o){if(!o)return[];if(Qe(o))return Qo(o)?$r(o):Ve(o);if(es&&o[es])return cD(o[es]());var u=je(o),_=u==Gt?xu:u==ar?vo:Li;return _(o)}function cn(o){if(!o)return o===0?o:0;if(o=Fr(o),o===K||o===-K){var u=o<0?-1:1;return u*V}return o===o?o:0}function $t(o){var u=cn(o),_=u%1;return u===u?_?u-_:u:0}function pp(o){return o?Qn($t(o),0,ct):0}function Fr(o){if(typeof o=="number")return o;if(pr(o))return tt;if(we(o)){var u=typeof o.valueOf=="function"?o.valueOf():o;o=we(u)?u+"":u}if(typeof o!="string")return o===0?o:+o;o=Th(o);var _=nu.test(o);return _||su.test(o)?Gy(o.slice(2),_?2:8):ru.test(o)?tt:+o}function dp(o){return Gr(o,tr(o))}function IA(o){return o?Qn($t(o),-G,G):o===0?o:0}function Qt(o){return o==null?"":hr(o)}var OA=Ii(function(o,u){if(hs(u)||Qe(u)){Gr(u,$e(u),o);return}for(var _ in u)ne.call(u,_)&&os(o,_,u[_])}),_p=Ii(function(o,u){Gr(u,tr(u),o)}),ta=Ii(function(o,u,_,y){Gr(u,tr(u),o,y)}),$A=Ii(function(o,u,_,y){Gr(u,$e(u),o,y)}),RA=an(Su);function LA(o,u){var _=Ti(o);return u==null?_:Gh(_,u)}var PA=Lt(function(o,u){o=ae(o);var _=-1,y=u.length,A=y>2?u[2]:e;for(A&&Ge(u[0],u[1],A)&&(y=1);++_<y;)for(var I=u[_],L=tr(I),z=-1,Y=L.length;++z<Y;){var Q=L[z],et=o[Q];(et===e||Lr(et,Ni[Q])&&!ne.call(o,Q))&&(o[Q]=I[Q])}return o}),zA=Lt(function(o){return o.push(e,T0),cr(mp,e,o)});function qA(o,u){return Mh(o,xt(u,3),Zr)}function kA(o,u){return Mh(o,xt(u,3),Tu)}function UA(o,u){return o==null?o:Bu(o,xt(u,3),tr)}function WA(o,u){return o==null?o:Vh(o,xt(u,3),tr)}function jA(o,u){return o&&Zr(o,xt(u,3))}function YA(o,u){return o&&Tu(o,xt(u,3))}function ZA(o){return o==null?[]:$o(o,$e(o))}function GA(o){return o==null?[]:$o(o,tr(o))}function cl(o,u,_){var y=o==null?e:ti(o,u);return y===e?_:y}function KA(o,u){return o!=null&&$0(o,u,gb)}function fl(o,u){return o!=null&&$0(o,u,vb)}var HA=F0(function(o,u,_){u!=null&&typeof u.toString!="function"&&(u=bo.call(u)),o[u]=_},pl(er)),JA=F0(function(o,u,_){u!=null&&typeof u.toString!="function"&&(u=bo.call(u)),ne.call(o,u)?o[u].push(_):o[u]=[_]},xt),XA=Lt(us);function $e(o){return Qe(o)?Yh(o):Ru(o)}function tr(o){return Qe(o)?Yh(o,!0):Mb(o)}function VA(o,u){var _={};return u=xt(u,3),Zr(o,function(y,A,I){sn(_,u(y,A,I),y)}),_}function QA(o,u){var _={};return u=xt(u,3),Zr(o,function(y,A,I){sn(_,A,u(y,A,I))}),_}var tC=Ii(function(o,u,_){Ro(o,u,_)}),mp=Ii(function(o,u,_,y){Ro(o,u,_,y)}),eC=an(function(o,u){var _={};if(o==null)return _;var y=!1;u=_e(u,function(I){return I=Tn(I,o),y||(y=I.length>1),I}),Gr(o,Ju(o),_),y&&(_=xr(_,f|d|g,Hb));for(var A=u.length;A--;)Uu(_,u[A]);return _});function rC(o,u){return gp(o,Xo(xt(u)))}var nC=an(function(o,u){return o==null?{}:Sb(o,u)});function gp(o,u){if(o==null)return{};var _=_e(Ju(o),function(y){return[y]});return u=xt(u),u0(o,_,function(y,A){return u(y,A[0])})}function iC(o,u,_){u=Tn(u,o);var y=-1,A=u.length;for(A||(A=1,o=e);++y<A;){var I=o==null?e:o[Kr(u[y])];I===e&&(y=A,I=_),o=ln(I)?I.call(o):I}return o}function sC(o,u,_){return o==null?o:cs(o,u,_)}function oC(o,u,_,y){return y=typeof y=="function"?y:e,o==null?o:cs(o,u,_,y)}var vp=S0($e),wp=S0(tr);function aC(o,u,_){var y=It(o),A=y||On(o)||Ri(o);if(u=xt(u,4),_==null){var I=o&&o.constructor;A?_=y?new I:[]:we(o)?_=ln(I)?Ti(Ao(o)):{}:_={}}return(A?Dr:Zr)(o,function(L,z,Y){return u(_,L,z,Y)}),_}function uC(o,u){return o==null?!0:Uu(o,u)}function lC(o,u,_){return o==null?o:p0(o,u,Yu(_))}function cC(o,u,_,y){return y=typeof y=="function"?y:e,o==null?o:p0(o,u,Yu(_),y)}function Li(o){return o==null?[]:Eu(o,$e(o))}function fC(o){return o==null?[]:Eu(o,tr(o))}function hC(o,u,_){return _===e&&(_=u,u=e),_!==e&&(_=Fr(_),_=_===_?_:0),u!==e&&(u=Fr(u),u=u===u?u:0),Qn(Fr(o),u,_)}function pC(o,u,_){return u=cn(u),_===e?(_=u,u=0):_=cn(_),o=Fr(o),wb(o,u,_)}function dC(o,u,_){if(_&&typeof _!="boolean"&&Ge(o,u,_)&&(u=_=e),_===e&&(typeof u=="boolean"?(_=u,u=e):typeof o=="boolean"&&(_=o,o=e)),o===e&&u===e?(o=0,u=1):(o=cn(o),u===e?(u=o,o=0):u=cn(u)),o>u){var y=o;o=u,u=y}if(_||o%1||u%1){var A=Wh();return We(o+A*(u-o+Zy("1e-"+((A+"").length-1))),u)}return zu(o,u)}var _C=Oi(function(o,u,_){return u=u.toLowerCase(),o+(_?yp(u):u)});function yp(o){return hl(Qt(o).toLowerCase())}function Dp(o){return o=Qt(o),o&&o.replace(au,sD).replace(Ry,"")}function mC(o,u,_){o=Qt(o),u=hr(u);var y=o.length;_=_===e?y:Qn($t(_),0,y);var A=_;return _-=u.length,_>=0&&o.slice(_,A)==u}function gC(o){return o=Qt(o),o&&ka.test(o)?o.replace(co,oD):o}function vC(o){return o=Qt(o),o&&Ga.test(o)?o.replace(Vi,"\\$&"):o}var wC=Oi(function(o,u,_){return o+(_?"-":"")+u.toLowerCase()}),yC=Oi(function(o,u,_){return o+(_?" ":"")+u.toLowerCase()}),DC=x0("toLowerCase");function bC(o,u,_){o=Qt(o),u=$t(u);var y=u?Fi(o):0;if(!u||y>=u)return o;var A=(u-y)/2;return Uo(No(A),_)+o+Uo(Mo(A),_)}function EC(o,u,_){o=Qt(o),u=$t(u);var y=u?Fi(o):0;return u&&y<u?o+Uo(u-y,_):o}function xC(o,u,_){o=Qt(o),u=$t(u);var y=u?Fi(o):0;return u&&y<u?Uo(u-y,_)+o:o}function AC(o,u,_){return _||u==null?u=0:u&&(u=+u),TD(Qt(o).replace(Qi,""),u||0)}function CC(o,u,_){return(_?Ge(o,u,_):u===e)?u=1:u=$t(u),qu(Qt(o),u)}function FC(){var o=arguments,u=Qt(o[0]);return o.length<3?u:u.replace(o[1],o[2])}var MC=Oi(function(o,u,_){return o+(_?"_":"")+u.toLowerCase()});function NC(o,u,_){return _&&typeof _!="number"&&Ge(o,u,_)&&(u=_=e),_=_===e?ct:_>>>0,_?(o=Qt(o),o&&(typeof u=="string"||u!=null&&!ll(u))&&(u=hr(u),!u&&Ci(o))?In($r(o),0,_):o.split(u,_)):[]}var SC=Oi(function(o,u,_){return o+(_?" ":"")+hl(u)});function BC(o,u,_){return o=Qt(o),_=_==null?0:Qn($t(_),0,o.length),u=hr(u),o.slice(_,_+u.length)==u}function TC(o,u,_){var y=B.templateSettings;_&&Ge(o,u,_)&&(u=e),o=Qt(o),u=ta({},u,y,B0);var A=ta({},u.imports,y.imports,B0),I=$e(A),L=Eu(A,I),z,Y,Q=0,et=u.interpolate||bi,ot="__p += '",dt=Au((u.escape||bi).source+"|"+et.source+"|"+(et===fo?eu:bi).source+"|"+(u.evaluate||bi).source+"|$","g"),vt="//# sourceURL="+(ne.call(u,"sourceURL")?(u.sourceURL+"").replace(/\s/g," "):"lodash.templateSources["+ ++ky+"]")+`
|
11
|
-
`;o.replace(dt,function(Ct,qt,Ut,dr,Ke,_r){return Ut||(Ut=dr),ot+=o.slice(Q,_r).replace(Kn,
|
10
|
+
`)}function sE(o){return It(o)||ni(o)||!!(qh&&o&&o[qh])}function un(o,u){var _=typeof o;return u=u??G,!!u&&(_=="number"||_!="symbol"&&ou.test(o))&&o>-1&&o%1==0&&o<u}function Ge(o,u,_){if(!we(_))return!1;var y=typeof u;return(y=="number"?Qe(_)&&un(u,_.length):y=="string"&&u in _)?Lr(_[u],o):!1}function tl(o,u){if(It(o))return!1;var _=typeof o;return _=="number"||_=="symbol"||_=="boolean"||o==null||pr(o)?!0:Ya.test(o)||!ja.test(o)||u!=null&&o in ae(u)}function oE(o){var u=typeof o;return u=="string"||u=="number"||u=="symbol"||u=="boolean"?o!=="__proto__":o===null}function el(o){var u=jo(o),_=B[u];if(typeof _!="function"||!(u in kt.prototype))return!1;if(o===_)return!0;var y=Xu(_);return!!y&&o===y[0]}function aE(o){return!!Rh&&Rh in o}var uE=yo?ln:vl;function hs(o){var u=o&&o.constructor,_=typeof u=="function"&&u.prototype||Ni;return o===_}function R0(o){return o===o&&!we(o)}function L0(o,u){return function(_){return _==null?!1:_[o]===u&&(u!==e||o in ae(_))}}function lE(o){var u=Jo(o,function(y){return _.size===h&&_.clear(),y}),_=u.cache;return u}function cE(o,u){var _=o[1],y=u[1],A=_|y,I=A<(D|v|M),L=y==M&&_==b||y==M&&_==S&&o[7].length<=u[8]||y==(M|S)&&u[7].length<=u[8]&&_==b;if(!(I||L))return o;y&D&&(o[2]=u[2],A|=_&D?0:E);var z=u[3];if(z){var Y=o[3];o[3]=Y?w0(Y,z,u[4]):z,o[4]=Y?Mn(o[3],p):u[4]}return z=u[5],z&&(Y=o[5],o[5]=Y?y0(Y,z,u[6]):z,o[6]=Y?Mn(o[5],p):u[6]),z=u[7],z&&(o[7]=z),y&M&&(o[8]=o[8]==null?u[8]:We(o[8],u[8])),o[9]==null&&(o[9]=u[9]),o[0]=u[0],o[1]=A,o}function fE(o){var u=[];if(o!=null)for(var _ in ae(o))u.push(_);return u}function hE(o){return bo.call(o)}function P0(o,u,_){return u=Te(u===e?o.length-1:u,0),function(){for(var y=arguments,A=-1,I=Te(y.length-u,0),L=J(I);++A<I;)L[A]=y[u+A];A=-1;for(var z=J(u+1);++A<u;)z[A]=y[A];return z[u]=_(L),cr(o,this,z)}}function z0(o,u){return u.length<2?o:ti(o,Ar(u,0,-1))}function pE(o,u){for(var _=o.length,y=We(u.length,_),A=Ve(o);y--;){var I=u[y];o[y]=un(I,_)?A[I]:e}return o}function rl(o,u){if(!(u==="constructor"&&typeof o[u]=="function")&&u!="__proto__")return o[u]}var q0=U0(l0),ps=MD||function(o,u){return Pe.setTimeout(o,u)},nl=U0(Rb);function k0(o,u,_){var y=u+"";return nl(o,iE(y,dE(eE(y),_)))}function U0(o){var u=0,_=0;return function(){var y=TD(),A=U-(y-_);if(_=y,A>0){if(++u>=R)return arguments[0]}else u=0;return o.apply(e,arguments)}}function Zo(o,u){var _=-1,y=o.length,A=y-1;for(u=u===e?y:u;++_<u;){var I=zu(_,A),L=o[I];o[I]=o[_],o[_]=L}return o.length=u,o}var W0=lE(function(o){var u=[];return o.charCodeAt(0)===46&&u.push(""),o.replace(Za,function(_,y,A,I){u.push(A?I.replace(tu,"$1"):y||_)}),u});function Kr(o){if(typeof o=="string"||pr(o))return o;var u=o+"";return u=="0"&&1/o==-K?"-0":u}function ri(o){if(o!=null){try{return Do.call(o)}catch{}try{return o+""}catch{}}return""}function dE(o,u){return Dr(wt,function(_){var y="_."+_[0];u&_[1]&&!mo(o,y)&&o.push(y)}),o.sort()}function j0(o){if(o instanceof kt)return o.clone();var u=new Er(o.__wrapped__,o.__chain__);return u.__actions__=Ve(o.__actions__),u.__index__=o.__index__,u.__values__=o.__values__,u}function _E(o,u,_){(_?Ge(o,u,_):u===e)?u=1:u=Te($t(u),0);var y=o==null?0:o.length;if(!y||u<1)return[];for(var A=0,I=0,L=J(Mo(y/u));A<y;)L[I++]=Ar(o,A,A+=u);return L}function mE(o){for(var u=-1,_=o==null?0:o.length,y=0,A=[];++u<_;){var I=o[u];I&&(A[y++]=I)}return A}function gE(){var o=arguments.length;if(!o)return[];for(var u=J(o-1),_=arguments[0],y=o;y--;)u[y-1]=arguments[y];return Fn(It(_)?Ve(_):[_],ze(u,1))}var vE=Lt(function(o,u){return Ee(o)?as(o,ze(u,1,Ee,!0)):[]}),wE=Lt(function(o,u){var _=Cr(u);return Ee(_)&&(_=e),Ee(o)?as(o,ze(u,1,Ee,!0),xt(_,2)):[]}),yE=Lt(function(o,u){var _=Cr(u);return Ee(_)&&(_=e),Ee(o)?as(o,ze(u,1,Ee,!0),e,_):[]});function DE(o,u,_){var y=o==null?0:o.length;return y?(u=_||u===e?1:$t(u),Ar(o,u<0?0:u,y)):[]}function bE(o,u,_){var y=o==null?0:o.length;return y?(u=_||u===e?1:$t(u),u=y-u,Ar(o,0,u<0?0:u)):[]}function EE(o,u){return o&&o.length?Po(o,xt(u,3),!0,!0):[]}function xE(o,u){return o&&o.length?Po(o,xt(u,3),!0):[]}function AE(o,u,_,y){var A=o==null?0:o.length;return A?(_&&typeof _!="number"&&Ge(o,u,_)&&(_=0,y=A),gb(o,u,_,y)):[]}function Y0(o,u,_){var y=o==null?0:o.length;if(!y)return-1;var A=_==null?0:$t(_);return A<0&&(A=Te(y+A,0)),go(o,xt(u,3),A)}function Z0(o,u,_){var y=o==null?0:o.length;if(!y)return-1;var A=y-1;return _!==e&&(A=$t(_),A=_<0?Te(y+A,0):We(A,y-1)),go(o,xt(u,3),A,!0)}function G0(o){var u=o==null?0:o.length;return u?ze(o,1):[]}function CE(o){var u=o==null?0:o.length;return u?ze(o,K):[]}function FE(o,u){var _=o==null?0:o.length;return _?(u=u===e?1:$t(u),ze(o,u)):[]}function ME(o){for(var u=-1,_=o==null?0:o.length,y={};++u<_;){var A=o[u];y[A[0]]=A[1]}return y}function K0(o){return o&&o.length?o[0]:e}function NE(o,u,_){var y=o==null?0:o.length;if(!y)return-1;var A=_==null?0:$t(_);return A<0&&(A=Te(y+A,0)),Ai(o,u,A)}function SE(o){var u=o==null?0:o.length;return u?Ar(o,0,-1):[]}var BE=Lt(function(o){var u=_e(o,ju);return u.length&&u[0]===o[0]?Ou(u):[]}),TE=Lt(function(o){var u=Cr(o),_=_e(o,ju);return u===Cr(_)?u=e:_.pop(),_.length&&_[0]===o[0]?Ou(_,xt(u,2)):[]}),IE=Lt(function(o){var u=Cr(o),_=_e(o,ju);return u=typeof u=="function"?u:e,u&&_.pop(),_.length&&_[0]===o[0]?Ou(_,e,u):[]});function OE(o,u){return o==null?"":SD.call(o,u)}function Cr(o){var u=o==null?0:o.length;return u?o[u-1]:e}function $E(o,u,_){var y=o==null?0:o.length;if(!y)return-1;var A=y;return _!==e&&(A=$t(_),A=A<0?Te(y+A,0):We(A,y-1)),u===u?dD(o,u,A):go(o,Mh,A,!0)}function RE(o,u){return o&&o.length?s0(o,$t(u)):e}var LE=Lt(H0);function H0(o,u){return o&&o.length&&u&&u.length?Pu(o,u):o}function PE(o,u,_){return o&&o.length&&u&&u.length?Pu(o,u,xt(_,2)):o}function zE(o,u,_){return o&&o.length&&u&&u.length?Pu(o,u,e,_):o}var qE=an(function(o,u){var _=o==null?0:o.length,y=Su(o,u);return u0(o,_e(u,function(A){return un(A,_)?+A:A}).sort(v0)),y});function kE(o,u){var _=[];if(!(o&&o.length))return _;var y=-1,A=[],I=o.length;for(u=xt(u,3);++y<I;){var L=o[y];u(L,y,o)&&(_.push(L),A.push(y))}return u0(o,A),_}function il(o){return o==null?o:OD.call(o)}function UE(o,u,_){var y=o==null?0:o.length;return y?(_&&typeof _!="number"&&Ge(o,u,_)?(u=0,_=y):(u=u==null?0:$t(u),_=_===e?y:$t(_)),Ar(o,u,_)):[]}function WE(o,u){return Lo(o,u)}function jE(o,u,_){return ku(o,u,xt(_,2))}function YE(o,u){var _=o==null?0:o.length;if(_){var y=Lo(o,u);if(y<_&&Lr(o[y],u))return y}return-1}function ZE(o,u){return Lo(o,u,!0)}function GE(o,u,_){return ku(o,u,xt(_,2),!0)}function KE(o,u){var _=o==null?0:o.length;if(_){var y=Lo(o,u,!0)-1;if(Lr(o[y],u))return y}return-1}function HE(o){return o&&o.length?c0(o):[]}function JE(o,u){return o&&o.length?c0(o,xt(u,2)):[]}function XE(o){var u=o==null?0:o.length;return u?Ar(o,1,u):[]}function VE(o,u,_){return o&&o.length?(u=_||u===e?1:$t(u),Ar(o,0,u<0?0:u)):[]}function QE(o,u,_){var y=o==null?0:o.length;return y?(u=_||u===e?1:$t(u),u=y-u,Ar(o,u<0?0:u,y)):[]}function tx(o,u){return o&&o.length?Po(o,xt(u,3),!1,!0):[]}function ex(o,u){return o&&o.length?Po(o,xt(u,3)):[]}var rx=Lt(function(o){return Bn(ze(o,1,Ee,!0))}),nx=Lt(function(o){var u=Cr(o);return Ee(u)&&(u=e),Bn(ze(o,1,Ee,!0),xt(u,2))}),ix=Lt(function(o){var u=Cr(o);return u=typeof u=="function"?u:e,Bn(ze(o,1,Ee,!0),e,u)});function sx(o){return o&&o.length?Bn(o):[]}function ox(o,u){return o&&o.length?Bn(o,xt(u,2)):[]}function ax(o,u){return u=typeof u=="function"?u:e,o&&o.length?Bn(o,e,u):[]}function sl(o){if(!(o&&o.length))return[];var u=0;return o=Cn(o,function(_){if(Ee(_))return u=Te(_.length,u),!0}),bu(u,function(_){return _e(o,wu(_))})}function J0(o,u){if(!(o&&o.length))return[];var _=sl(o);return u==null?_:_e(_,function(y){return cr(u,e,y)})}var ux=Lt(function(o,u){return Ee(o)?as(o,u):[]}),lx=Lt(function(o){return Wu(Cn(o,Ee))}),cx=Lt(function(o){var u=Cr(o);return Ee(u)&&(u=e),Wu(Cn(o,Ee),xt(u,2))}),fx=Lt(function(o){var u=Cr(o);return u=typeof u=="function"?u:e,Wu(Cn(o,Ee),e,u)}),hx=Lt(sl);function px(o,u){return d0(o||[],u||[],os)}function dx(o,u){return d0(o||[],u||[],cs)}var _x=Lt(function(o){var u=o.length,_=u>1?o[u-1]:e;return _=typeof _=="function"?(o.pop(),_):e,J0(o,_)});function X0(o){var u=B(o);return u.__chain__=!0,u}function mx(o,u){return u(o),o}function Go(o,u){return u(o)}var gx=an(function(o){var u=o.length,_=u?o[0]:0,y=this.__wrapped__,A=function(I){return Su(I,o)};return u>1||this.__actions__.length||!(y instanceof kt)||!un(_)?this.thru(A):(y=y.slice(_,+_+(u?1:0)),y.__actions__.push({func:Go,args:[A],thisArg:e}),new Er(y,this.__chain__).thru(function(I){return u&&!I.length&&I.push(e),I}))});function vx(){return X0(this)}function wx(){return new Er(this.value(),this.__chain__)}function yx(){this.__values__===e&&(this.__values__=fp(this.value()));var o=this.__index__>=this.__values__.length,u=o?e:this.__values__[this.__index__++];return{done:o,value:u}}function Dx(){return this}function bx(o){for(var u,_=this;_ instanceof To;){var y=j0(_);y.__index__=0,y.__values__=e,u?A.__wrapped__=y:u=y;var A=y;_=_.__wrapped__}return A.__wrapped__=o,u}function Ex(){var o=this.__wrapped__;if(o instanceof kt){var u=o;return this.__actions__.length&&(u=new kt(this)),u=u.reverse(),u.__actions__.push({func:Go,args:[il],thisArg:e}),new Er(u,this.__chain__)}return this.thru(il)}function xx(){return p0(this.__wrapped__,this.__actions__)}var Ax=zo(function(o,u,_){ne.call(o,_)?++o[_]:sn(o,_,1)});function Cx(o,u,_){var y=It(o)?Ch:mb;return _&&Ge(o,u,_)&&(u=e),y(o,xt(u,3))}function Fx(o,u){var _=It(o)?Cn:Jh;return _(o,xt(u,3))}var Mx=x0(Y0),Nx=x0(Z0);function Sx(o,u){return ze(Ko(o,u),1)}function Bx(o,u){return ze(Ko(o,u),K)}function Tx(o,u,_){return _=_===e?1:$t(_),ze(Ko(o,u),_)}function V0(o,u){var _=It(o)?Dr:Sn;return _(o,xt(u,3))}function Q0(o,u){var _=It(o)?Xy:Hh;return _(o,xt(u,3))}var Ix=zo(function(o,u,_){ne.call(o,_)?o[_].push(u):sn(o,_,[u])});function Ox(o,u,_,y){o=Qe(o)?o:Li(o),_=_&&!y?$t(_):0;var A=o.length;return _<0&&(_=Te(A+_,0)),Qo(o)?_<=A&&o.indexOf(u,_)>-1:!!A&&Ai(o,u,_)>-1}var $x=Lt(function(o,u,_){var y=-1,A=typeof u=="function",I=Qe(o)?J(o.length):[];return Sn(o,function(L){I[++y]=A?cr(u,L,_):us(L,u,_)}),I}),Rx=zo(function(o,u,_){sn(o,_,u)});function Ko(o,u){var _=It(o)?_e:r0;return _(o,xt(u,3))}function Lx(o,u,_,y){return o==null?[]:(It(u)||(u=u==null?[]:[u]),_=y?e:_,It(_)||(_=_==null?[]:[_]),o0(o,u,_))}var Px=zo(function(o,u,_){o[_?0:1].push(u)},function(){return[[],[]]});function zx(o,u,_){var y=It(o)?gu:Sh,A=arguments.length<3;return y(o,xt(u,4),_,A,Sn)}function qx(o,u,_){var y=It(o)?Vy:Sh,A=arguments.length<3;return y(o,xt(u,4),_,A,Hh)}function kx(o,u){var _=It(o)?Cn:Jh;return _(o,Xo(xt(u,3)))}function Ux(o){var u=It(o)?Yh:Ob;return u(o)}function Wx(o,u,_){(_?Ge(o,u,_):u===e)?u=1:u=$t(u);var y=It(o)?fb:$b;return y(o,u)}function jx(o){var u=It(o)?hb:Lb;return u(o)}function Yx(o){if(o==null)return 0;if(Qe(o))return Qo(o)?Fi(o):o.length;var u=je(o);return u==Gt||u==ar?o.size:Ru(o).length}function Zx(o,u,_){var y=It(o)?vu:Pb;return _&&Ge(o,u,_)&&(u=e),y(o,xt(u,3))}var Gx=Lt(function(o,u){if(o==null)return[];var _=u.length;return _>1&&Ge(o,u[0],u[1])?u=[]:_>2&&Ge(u[0],u[1],u[2])&&(u=[u[0]]),o0(o,ze(u,1),[])}),Ho=FD||function(){return Pe.Date.now()};function Kx(o,u){if(typeof u!="function")throw new br(a);return o=$t(o),function(){if(--o<1)return u.apply(this,arguments)}}function tp(o,u,_){return u=_?e:u,u=o&&u==null?o.length:u,on(o,M,e,e,e,e,u)}function ep(o,u){var _;if(typeof u!="function")throw new br(a);return o=$t(o),function(){return--o>0&&(_=u.apply(this,arguments)),o<=1&&(u=e),_}}var ol=Lt(function(o,u,_){var y=D;if(_.length){var A=Mn(_,$i(ol));y|=x}return on(o,y,u,_,A)}),rp=Lt(function(o,u,_){var y=D|v;if(_.length){var A=Mn(_,$i(rp));y|=x}return on(u,y,o,_,A)});function np(o,u,_){u=_?e:u;var y=on(o,b,e,e,e,e,e,u);return y.placeholder=np.placeholder,y}function ip(o,u,_){u=_?e:u;var y=on(o,N,e,e,e,e,e,u);return y.placeholder=ip.placeholder,y}function sp(o,u,_){var y,A,I,L,z,Y,Q=0,et=!1,ot=!1,dt=!0;if(typeof o!="function")throw new br(a);u=Fr(u)||0,we(_)&&(et=!!_.leading,ot="maxWait"in _,I=ot?Te(Fr(_.maxWait)||0,u):I,dt="trailing"in _?!!_.trailing:dt);function vt(xe){var Pr=y,fn=A;return y=A=e,Q=xe,L=o.apply(fn,Pr),L}function At(xe){return Q=xe,z=ps(qt,u),et?vt(xe):L}function Rt(xe){var Pr=xe-Y,fn=xe-Q,xp=u-Pr;return ot?We(xp,I-fn):xp}function Ct(xe){var Pr=xe-Y,fn=xe-Q;return Y===e||Pr>=u||Pr<0||ot&&fn>=I}function qt(){var xe=Ho();if(Ct(xe))return Ut(xe);z=ps(qt,Rt(xe))}function Ut(xe){return z=e,dt&&y?vt(xe):(y=A=e,L)}function dr(){z!==e&&_0(z),Q=0,y=Y=A=z=e}function Ke(){return z===e?L:Ut(Ho())}function _r(){var xe=Ho(),Pr=Ct(xe);if(y=arguments,A=this,Y=xe,Pr){if(z===e)return At(Y);if(ot)return _0(z),z=ps(qt,u),vt(Y)}return z===e&&(z=ps(qt,u)),L}return _r.cancel=dr,_r.flush=Ke,_r}var Hx=Lt(function(o,u){return Kh(o,1,u)}),Jx=Lt(function(o,u,_){return Kh(o,Fr(u)||0,_)});function Xx(o){return on(o,O)}function Jo(o,u){if(typeof o!="function"||u!=null&&typeof u!="function")throw new br(a);var _=function(){var y=arguments,A=u?u.apply(this,y):y[0],I=_.cache;if(I.has(A))return I.get(A);var L=o.apply(this,y);return _.cache=I.set(A,L)||I,L};return _.cache=new(Jo.Cache||nn),_}Jo.Cache=nn;function Xo(o){if(typeof o!="function")throw new br(a);return function(){var u=arguments;switch(u.length){case 0:return!o.call(this);case 1:return!o.call(this,u[0]);case 2:return!o.call(this,u[0],u[1]);case 3:return!o.call(this,u[0],u[1],u[2])}return!o.apply(this,u)}}function Vx(o){return ep(2,o)}var Qx=zb(function(o,u){u=u.length==1&&It(u[0])?_e(u[0],fr(xt())):_e(ze(u,1),fr(xt()));var _=u.length;return Lt(function(y){for(var A=-1,I=We(y.length,_);++A<I;)y[A]=u[A].call(this,y[A]);return cr(o,this,y)})}),al=Lt(function(o,u){var _=Mn(u,$i(al));return on(o,x,e,u,_)}),op=Lt(function(o,u){var _=Mn(u,$i(op));return on(o,F,e,u,_)}),tA=an(function(o,u){return on(o,S,e,e,e,u)});function eA(o,u){if(typeof o!="function")throw new br(a);return u=u===e?u:$t(u),Lt(o,u)}function rA(o,u){if(typeof o!="function")throw new br(a);return u=u==null?0:Te($t(u),0),Lt(function(_){var y=_[u],A=In(_,0,u);return y&&Fn(A,y),cr(o,this,A)})}function nA(o,u,_){var y=!0,A=!0;if(typeof o!="function")throw new br(a);return we(_)&&(y="leading"in _?!!_.leading:y,A="trailing"in _?!!_.trailing:A),sp(o,u,{leading:y,maxWait:u,trailing:A})}function iA(o){return tp(o,1)}function sA(o,u){return al(Yu(u),o)}function oA(){if(!arguments.length)return[];var o=arguments[0];return It(o)?o:[o]}function aA(o){return xr(o,g)}function uA(o,u){return u=typeof u=="function"?u:e,xr(o,g,u)}function lA(o){return xr(o,f|g)}function cA(o,u){return u=typeof u=="function"?u:e,xr(o,f|g,u)}function fA(o,u){return u==null||Gh(o,u,$e(u))}function Lr(o,u){return o===u||o!==o&&u!==u}var hA=Wo(Iu),pA=Wo(function(o,u){return o>=u}),ni=Qh(function(){return arguments}())?Qh:function(o){return ye(o)&&ne.call(o,"callee")&&!zh.call(o,"callee")},It=J.isArray,dA=yh?fr(yh):bb;function Qe(o){return o!=null&&Vo(o.length)&&!ln(o)}function Ee(o){return ye(o)&&Qe(o)}function _A(o){return o===!0||o===!1||ye(o)&&Ze(o)==re}var On=ND||vl,mA=Dh?fr(Dh):Eb;function gA(o){return ye(o)&&o.nodeType===1&&!ds(o)}function vA(o){if(o==null)return!0;if(Qe(o)&&(It(o)||typeof o=="string"||typeof o.splice=="function"||On(o)||Ri(o)||ni(o)))return!o.length;var u=je(o);if(u==Gt||u==ar)return!o.size;if(hs(o))return!Ru(o).length;for(var _ in o)if(ne.call(o,_))return!1;return!0}function wA(o,u){return ls(o,u)}function yA(o,u,_){_=typeof _=="function"?_:e;var y=_?_(o,u):e;return y===e?ls(o,u,e,_):!!y}function ul(o){if(!ye(o))return!1;var u=Ze(o);return u==ie||u==Mt||typeof o.message=="string"&&typeof o.name=="string"&&!ds(o)}function DA(o){return typeof o=="number"&&kh(o)}function ln(o){if(!we(o))return!1;var u=Ze(o);return u==Xt||u==zt||u==bt||u==bn}function ap(o){return typeof o=="number"&&o==$t(o)}function Vo(o){return typeof o=="number"&&o>-1&&o%1==0&&o<=G}function we(o){var u=typeof o;return o!=null&&(u=="object"||u=="function")}function ye(o){return o!=null&&typeof o=="object"}var up=bh?fr(bh):Ab;function bA(o,u){return o===u||$u(o,u,Vu(u))}function EA(o,u,_){return _=typeof _=="function"?_:e,$u(o,u,Vu(u),_)}function xA(o){return lp(o)&&o!=+o}function AA(o){if(uE(o))throw new Bt(s);return t0(o)}function CA(o){return o===null}function FA(o){return o==null}function lp(o){return typeof o=="number"||ye(o)&&Ze(o)==Fe}function ds(o){if(!ye(o)||Ze(o)!=Ne)return!1;var u=Ao(o);if(u===null)return!0;var _=ne.call(u,"constructor")&&u.constructor;return typeof _=="function"&&_ instanceof _&&Do.call(_)==ED}var ll=Eh?fr(Eh):Cb;function MA(o){return ap(o)&&o>=-G&&o<=G}var cp=xh?fr(xh):Fb;function Qo(o){return typeof o=="string"||!It(o)&&ye(o)&&Ze(o)==En}function pr(o){return typeof o=="symbol"||ye(o)&&Ze(o)==$}var Ri=Ah?fr(Ah):Mb;function NA(o){return o===e}function SA(o){return ye(o)&&je(o)==H}function BA(o){return ye(o)&&Ze(o)==nt}var TA=Wo(Lu),IA=Wo(function(o,u){return o<=u});function fp(o){if(!o)return[];if(Qe(o))return Qo(o)?$r(o):Ve(o);if(es&&o[es])return fD(o[es]());var u=je(o),_=u==Gt?xu:u==ar?vo:Li;return _(o)}function cn(o){if(!o)return o===0?o:0;if(o=Fr(o),o===K||o===-K){var u=o<0?-1:1;return u*V}return o===o?o:0}function $t(o){var u=cn(o),_=u%1;return u===u?_?u-_:u:0}function hp(o){return o?Qn($t(o),0,ct):0}function Fr(o){if(typeof o=="number")return o;if(pr(o))return tt;if(we(o)){var u=typeof o.valueOf=="function"?o.valueOf():o;o=we(u)?u+"":u}if(typeof o!="string")return o===0?o:+o;o=Bh(o);var _=nu.test(o);return _||su.test(o)?Ky(o.slice(2),_?2:8):ru.test(o)?tt:+o}function pp(o){return Gr(o,tr(o))}function OA(o){return o?Qn($t(o),-G,G):o===0?o:0}function Qt(o){return o==null?"":hr(o)}var $A=Ii(function(o,u){if(hs(u)||Qe(u)){Gr(u,$e(u),o);return}for(var _ in u)ne.call(u,_)&&os(o,_,u[_])}),dp=Ii(function(o,u){Gr(u,tr(u),o)}),ta=Ii(function(o,u,_,y){Gr(u,tr(u),o,y)}),RA=Ii(function(o,u,_,y){Gr(u,$e(u),o,y)}),LA=an(Su);function PA(o,u){var _=Ti(o);return u==null?_:Zh(_,u)}var zA=Lt(function(o,u){o=ae(o);var _=-1,y=u.length,A=y>2?u[2]:e;for(A&&Ge(u[0],u[1],A)&&(y=1);++_<y;)for(var I=u[_],L=tr(I),z=-1,Y=L.length;++z<Y;){var Q=L[z],et=o[Q];(et===e||Lr(et,Ni[Q])&&!ne.call(o,Q))&&(o[Q]=I[Q])}return o}),qA=Lt(function(o){return o.push(e,B0),cr(_p,e,o)});function kA(o,u){return Fh(o,xt(u,3),Zr)}function UA(o,u){return Fh(o,xt(u,3),Tu)}function WA(o,u){return o==null?o:Bu(o,xt(u,3),tr)}function jA(o,u){return o==null?o:Xh(o,xt(u,3),tr)}function YA(o,u){return o&&Zr(o,xt(u,3))}function ZA(o,u){return o&&Tu(o,xt(u,3))}function GA(o){return o==null?[]:$o(o,$e(o))}function KA(o){return o==null?[]:$o(o,tr(o))}function cl(o,u,_){var y=o==null?e:ti(o,u);return y===e?_:y}function HA(o,u){return o!=null&&O0(o,u,vb)}function fl(o,u){return o!=null&&O0(o,u,wb)}var JA=C0(function(o,u,_){u!=null&&typeof u.toString!="function"&&(u=bo.call(u)),o[u]=_},pl(er)),XA=C0(function(o,u,_){u!=null&&typeof u.toString!="function"&&(u=bo.call(u)),ne.call(o,u)?o[u].push(_):o[u]=[_]},xt),VA=Lt(us);function $e(o){return Qe(o)?jh(o):Ru(o)}function tr(o){return Qe(o)?jh(o,!0):Nb(o)}function QA(o,u){var _={};return u=xt(u,3),Zr(o,function(y,A,I){sn(_,u(y,A,I),y)}),_}function tC(o,u){var _={};return u=xt(u,3),Zr(o,function(y,A,I){sn(_,A,u(y,A,I))}),_}var eC=Ii(function(o,u,_){Ro(o,u,_)}),_p=Ii(function(o,u,_,y){Ro(o,u,_,y)}),rC=an(function(o,u){var _={};if(o==null)return _;var y=!1;u=_e(u,function(I){return I=Tn(I,o),y||(y=I.length>1),I}),Gr(o,Ju(o),_),y&&(_=xr(_,f|d|g,Jb));for(var A=u.length;A--;)Uu(_,u[A]);return _});function nC(o,u){return mp(o,Xo(xt(u)))}var iC=an(function(o,u){return o==null?{}:Bb(o,u)});function mp(o,u){if(o==null)return{};var _=_e(Ju(o),function(y){return[y]});return u=xt(u),a0(o,_,function(y,A){return u(y,A[0])})}function sC(o,u,_){u=Tn(u,o);var y=-1,A=u.length;for(A||(A=1,o=e);++y<A;){var I=o==null?e:o[Kr(u[y])];I===e&&(y=A,I=_),o=ln(I)?I.call(o):I}return o}function oC(o,u,_){return o==null?o:cs(o,u,_)}function aC(o,u,_,y){return y=typeof y=="function"?y:e,o==null?o:cs(o,u,_,y)}var gp=N0($e),vp=N0(tr);function uC(o,u,_){var y=It(o),A=y||On(o)||Ri(o);if(u=xt(u,4),_==null){var I=o&&o.constructor;A?_=y?new I:[]:we(o)?_=ln(I)?Ti(Ao(o)):{}:_={}}return(A?Dr:Zr)(o,function(L,z,Y){return u(_,L,z,Y)}),_}function lC(o,u){return o==null?!0:Uu(o,u)}function cC(o,u,_){return o==null?o:h0(o,u,Yu(_))}function fC(o,u,_,y){return y=typeof y=="function"?y:e,o==null?o:h0(o,u,Yu(_),y)}function Li(o){return o==null?[]:Eu(o,$e(o))}function hC(o){return o==null?[]:Eu(o,tr(o))}function pC(o,u,_){return _===e&&(_=u,u=e),_!==e&&(_=Fr(_),_=_===_?_:0),u!==e&&(u=Fr(u),u=u===u?u:0),Qn(Fr(o),u,_)}function dC(o,u,_){return u=cn(u),_===e?(_=u,u=0):_=cn(_),o=Fr(o),yb(o,u,_)}function _C(o,u,_){if(_&&typeof _!="boolean"&&Ge(o,u,_)&&(u=_=e),_===e&&(typeof u=="boolean"?(_=u,u=e):typeof o=="boolean"&&(_=o,o=e)),o===e&&u===e?(o=0,u=1):(o=cn(o),u===e?(u=o,o=0):u=cn(u)),o>u){var y=o;o=u,u=y}if(_||o%1||u%1){var A=Uh();return We(o+A*(u-o+Gy("1e-"+((A+"").length-1))),u)}return zu(o,u)}var mC=Oi(function(o,u,_){return u=u.toLowerCase(),o+(_?wp(u):u)});function wp(o){return hl(Qt(o).toLowerCase())}function yp(o){return o=Qt(o),o&&o.replace(au,oD).replace(Ly,"")}function gC(o,u,_){o=Qt(o),u=hr(u);var y=o.length;_=_===e?y:Qn($t(_),0,y);var A=_;return _-=u.length,_>=0&&o.slice(_,A)==u}function vC(o){return o=Qt(o),o&&ka.test(o)?o.replace(co,aD):o}function wC(o){return o=Qt(o),o&&Ga.test(o)?o.replace(Vi,"\\$&"):o}var yC=Oi(function(o,u,_){return o+(_?"-":"")+u.toLowerCase()}),DC=Oi(function(o,u,_){return o+(_?" ":"")+u.toLowerCase()}),bC=E0("toLowerCase");function EC(o,u,_){o=Qt(o),u=$t(u);var y=u?Fi(o):0;if(!u||y>=u)return o;var A=(u-y)/2;return Uo(No(A),_)+o+Uo(Mo(A),_)}function xC(o,u,_){o=Qt(o),u=$t(u);var y=u?Fi(o):0;return u&&y<u?o+Uo(u-y,_):o}function AC(o,u,_){o=Qt(o),u=$t(u);var y=u?Fi(o):0;return u&&y<u?Uo(u-y,_)+o:o}function CC(o,u,_){return _||u==null?u=0:u&&(u=+u),ID(Qt(o).replace(Qi,""),u||0)}function FC(o,u,_){return(_?Ge(o,u,_):u===e)?u=1:u=$t(u),qu(Qt(o),u)}function MC(){var o=arguments,u=Qt(o[0]);return o.length<3?u:u.replace(o[1],o[2])}var NC=Oi(function(o,u,_){return o+(_?"_":"")+u.toLowerCase()});function SC(o,u,_){return _&&typeof _!="number"&&Ge(o,u,_)&&(u=_=e),_=_===e?ct:_>>>0,_?(o=Qt(o),o&&(typeof u=="string"||u!=null&&!ll(u))&&(u=hr(u),!u&&Ci(o))?In($r(o),0,_):o.split(u,_)):[]}var BC=Oi(function(o,u,_){return o+(_?" ":"")+hl(u)});function TC(o,u,_){return o=Qt(o),_=_==null?0:Qn($t(_),0,o.length),u=hr(u),o.slice(_,_+u.length)==u}function IC(o,u,_){var y=B.templateSettings;_&&Ge(o,u,_)&&(u=e),o=Qt(o),u=ta({},u,y,S0);var A=ta({},u.imports,y.imports,S0),I=$e(A),L=Eu(A,I),z,Y,Q=0,et=u.interpolate||bi,ot="__p += '",dt=Au((u.escape||bi).source+"|"+et.source+"|"+(et===fo?eu:bi).source+"|"+(u.evaluate||bi).source+"|$","g"),vt="//# sourceURL="+(ne.call(u,"sourceURL")?(u.sourceURL+"").replace(/\s/g," "):"lodash.templateSources["+ ++Uy+"]")+`
|
11
|
+
`;o.replace(dt,function(Ct,qt,Ut,dr,Ke,_r){return Ut||(Ut=dr),ot+=o.slice(Q,_r).replace(Kn,uD),qt&&(z=!0,ot+=`' +
|
12
12
|
__e(`+qt+`) +
|
13
13
|
'`),Ke&&(Y=!0,ot+=`';
|
14
14
|
`+Ke+`;
|
@@ -24,43 +24,43 @@ __p += '`),Ut&&(ot+=`' +
|
|
24
24
|
function print() { __p += __j.call(arguments, '') }
|
25
25
|
`:`;
|
26
26
|
`)+ot+`return __p
|
27
|
-
}`;var Rt=Ep(function(){return Ht(I,vt+"return "+ot).apply(e,L)});if(Rt.source=ot,ul(Rt))throw Rt;return Rt}function IC(o){return Qt(o).toLowerCase()}function OC(o){return Qt(o).toUpperCase()}function $C(o,u,_){if(o=Qt(o),o&&(_||u===e))return Th(o);if(!o||!(u=hr(u)))return o;var y=$r(o),A=$r(u),I=Ih(y,A),L=Oh(y,A)+1;return In(y,I,L).join("")}function RC(o,u,_){if(o=Qt(o),o&&(_||u===e))return o.slice(0,Rh(o)+1);if(!o||!(u=hr(u)))return o;var y=$r(o),A=Oh(y,$r(u))+1;return In(y,0,A).join("")}function LC(o,u,_){if(o=Qt(o),o&&(_||u===e))return o.replace(Qi,"");if(!o||!(u=hr(u)))return o;var y=$r(o),A=Ih(y,$r(u));return In(y,A).join("")}function PC(o,u){var _=C,y=T;if(we(u)){var A="separator"in u?u.separator:A;_="length"in u?$t(u.length):_,y="omission"in u?hr(u.omission):y}o=Qt(o);var I=o.length;if(Ci(o)){var L=$r(o);I=L.length}if(_>=I)return o;var z=_-Fi(y);if(z<1)return y;var Y=L?In(L,0,z).join(""):o.slice(0,z);if(A===e)return Y+y;if(L&&(z+=Y.length-z),ll(A)){if(o.slice(z).search(A)){var Q,et=Y;for(A.global||(A=Au(A.source,Qt(ho.exec(A))+"g")),A.lastIndex=0;Q=A.exec(et);)var ot=Q.index;Y=Y.slice(0,ot===e?z:ot)}}else if(o.indexOf(hr(A),z)!=z){var dt=Y.lastIndexOf(A);dt>-1&&(Y=Y.slice(0,dt))}return Y+y}function zC(o){return o=Qt(o),o&&qa.test(o)?o.replace(Gn,dD):o}var qC=Oi(function(o,u,_){return o+(_?" ":"")+u.toUpperCase()}),hl=x0("toUpperCase");function bp(o,u,_){return o=Qt(o),u=_?e:u,u===e?lD(o)?gD(o):tD(o):o.match(u)||[]}var Ep=Lt(function(o,u){try{return cr(o,e,u)}catch(_){return ul(_)?_:new Bt(_)}}),kC=an(function(o,u){return Dr(u,function(_){_=Kr(_),sn(o,_,ol(o[_],o))}),o});function UC(o){var u=o==null?0:o.length,_=xt();return o=u?_e(o,function(y){if(typeof y[1]!="function")throw new br(a);return[_(y[0]),y[1]]}):[],Lt(function(y){for(var A=-1;++A<u;){var I=o[A];if(cr(I[0],this,y))return cr(I[1],this,y)}})}function WC(o){return db(xr(o,f))}function pl(o){return function(){return o}}function jC(o,u){return o==null||o!==o?u:o}var YC=C0(),ZC=C0(!0);function er(o){return o}function dl(o){return r0(typeof o=="function"?o:xr(o,f))}function GC(o){return i0(xr(o,f))}function KC(o,u){return s0(o,xr(u,f))}var HC=Lt(function(o,u){return function(_){return us(_,o,u)}}),JC=Lt(function(o,u){return function(_){return us(o,_,u)}});function _l(o,u,_){var y=$e(u),A=$o(u,y);_==null&&!(we(u)&&(A.length||!y.length))&&(_=u,u=o,o=this,A=$o(u,$e(u)));var I=!(we(_)&&"chain"in _)||!!_.chain,L=ln(o);return Dr(A,function(z){var Y=u[z];o[z]=Y,L&&(o.prototype[z]=function(){var Q=this.__chain__;if(I||Q){var et=o(this.__wrapped__),ot=et.__actions__=Ve(this.__actions__);return ot.push({func:Y,args:arguments,thisArg:o}),et.__chain__=Q,et}return Y.apply(o,Fn([this.value()],arguments))})}),o}function XC(){return Pe._===this&&(Pe._=ED),this}function ml(){}function VC(o){return o=$t(o),Lt(function(u){return o0(u,o)})}var QC=Gu(_e),t2=Gu(Fh),e2=Gu(vu);function xp(o){return tl(o)?wu(Kr(o)):Bb(o)}function r2(o){return function(u){return o==null?e:ti(o,u)}}var n2=M0(),i2=M0(!0);function gl(){return[]}function vl(){return!1}function s2(){return{}}function o2(){return""}function a2(){return!0}function u2(o,u){if(o=$t(o),o<1||o>G)return[];var _=ct,y=We(o,ct);u=xt(u),o-=ct;for(var A=bu(y,u);++_<o;)u(_);return A}function l2(o){return It(o)?_e(o,Kr):pr(o)?[o]:Ve(j0(Qt(o)))}function c2(o){var u=++DD;return Qt(o)+u}var f2=ko(function(o,u){return o+u},0),h2=Ku("ceil"),p2=ko(function(o,u){return o/u},1),d2=Ku("floor");function _2(o){return o&&o.length?Oo(o,er,Iu):e}function m2(o,u){return o&&o.length?Oo(o,xt(u,2),Iu):e}function g2(o){return Sh(o,er)}function v2(o,u){return Sh(o,xt(u,2))}function w2(o){return o&&o.length?Oo(o,er,Lu):e}function y2(o,u){return o&&o.length?Oo(o,xt(u,2),Lu):e}var D2=ko(function(o,u){return o*u},1),b2=Ku("round"),E2=ko(function(o,u){return o-u},0);function x2(o){return o&&o.length?Du(o,er):0}function A2(o,u){return o&&o.length?Du(o,xt(u,2)):0}return B.after=Gx,B.ary=ep,B.assign=OA,B.assignIn=_p,B.assignInWith=ta,B.assignWith=$A,B.at=RA,B.before=rp,B.bind=ol,B.bindAll=kC,B.bindKey=np,B.castArray=sA,B.chain=V0,B.chunk=dE,B.compact=_E,B.concat=mE,B.cond=UC,B.conforms=WC,B.constant=pl,B.countBy=xx,B.create=LA,B.curry=ip,B.curryRight=sp,B.debounce=op,B.defaults=PA,B.defaultsDeep=zA,B.defer=Kx,B.delay=Hx,B.difference=gE,B.differenceBy=vE,B.differenceWith=wE,B.drop=yE,B.dropRight=DE,B.dropRightWhile=bE,B.dropWhile=EE,B.fill=xE,B.filter=Cx,B.flatMap=Nx,B.flatMapDeep=Sx,B.flatMapDepth=Bx,B.flatten=K0,B.flattenDeep=AE,B.flattenDepth=CE,B.flip=Jx,B.flow=YC,B.flowRight=ZC,B.fromPairs=FE,B.functions=ZA,B.functionsIn=GA,B.groupBy=Tx,B.initial=NE,B.intersection=SE,B.intersectionBy=BE,B.intersectionWith=TE,B.invert=HA,B.invertBy=JA,B.invokeMap=Ox,B.iteratee=dl,B.keyBy=$x,B.keys=$e,B.keysIn=tr,B.map=Ko,B.mapKeys=VA,B.mapValues=QA,B.matches=GC,B.matchesProperty=KC,B.memoize=Jo,B.merge=tC,B.mergeWith=mp,B.method=HC,B.methodOf=JC,B.mixin=_l,B.negate=Xo,B.nthArg=VC,B.omit=eC,B.omitBy=rC,B.once=Xx,B.orderBy=Rx,B.over=QC,B.overArgs=Vx,B.overEvery=t2,B.overSome=e2,B.partial=al,B.partialRight=ap,B.partition=Lx,B.pick=nC,B.pickBy=gp,B.property=xp,B.propertyOf=r2,B.pull=RE,B.pullAll=J0,B.pullAllBy=LE,B.pullAllWith=PE,B.pullAt=zE,B.range=n2,B.rangeRight=i2,B.rearg=Qx,B.reject=qx,B.remove=qE,B.rest=tA,B.reverse=il,B.sampleSize=Ux,B.set=sC,B.setWith=oC,B.shuffle=Wx,B.slice=kE,B.sortBy=Zx,B.sortedUniq=KE,B.sortedUniqBy=HE,B.split=NC,B.spread=eA,B.tail=JE,B.take=XE,B.takeRight=VE,B.takeRightWhile=QE,B.takeWhile=tx,B.tap=_x,B.throttle=rA,B.thru=Go,B.toArray=hp,B.toPairs=vp,B.toPairsIn=wp,B.toPath=l2,B.toPlainObject=dp,B.transform=aC,B.unary=nA,B.union=ex,B.unionBy=rx,B.unionWith=nx,B.uniq=ix,B.uniqBy=sx,B.uniqWith=ox,B.unset=uC,B.unzip=sl,B.unzipWith=X0,B.update=lC,B.updateWith=cC,B.values=Li,B.valuesIn=fC,B.without=ax,B.words=bp,B.wrap=iA,B.xor=ux,B.xorBy=lx,B.xorWith=cx,B.zip=fx,B.zipObject=hx,B.zipObjectDeep=px,B.zipWith=dx,B.entries=vp,B.entriesIn=wp,B.extend=_p,B.extendWith=ta,_l(B,B),B.add=f2,B.attempt=Ep,B.camelCase=_C,B.capitalize=yp,B.ceil=h2,B.clamp=hC,B.clone=oA,B.cloneDeep=uA,B.cloneDeepWith=lA,B.cloneWith=aA,B.conformsTo=cA,B.deburr=Dp,B.defaultTo=jC,B.divide=p2,B.endsWith=mC,B.eq=Lr,B.escape=gC,B.escapeRegExp=vC,B.every=Ax,B.find=Fx,B.findIndex=Z0,B.findKey=qA,B.findLast=Mx,B.findLastIndex=G0,B.findLastKey=kA,B.floor=d2,B.forEach=Q0,B.forEachRight=tp,B.forIn=UA,B.forInRight=WA,B.forOwn=jA,B.forOwnRight=YA,B.get=cl,B.gt=fA,B.gte=hA,B.has=KA,B.hasIn=fl,B.head=H0,B.identity=er,B.includes=Ix,B.indexOf=ME,B.inRange=pC,B.invoke=XA,B.isArguments=ni,B.isArray=It,B.isArrayBuffer=pA,B.isArrayLike=Qe,B.isArrayLikeObject=Ee,B.isBoolean=dA,B.isBuffer=On,B.isDate=_A,B.isElement=mA,B.isEmpty=gA,B.isEqual=vA,B.isEqualWith=wA,B.isError=ul,B.isFinite=yA,B.isFunction=ln,B.isInteger=up,B.isLength=Vo,B.isMap=lp,B.isMatch=DA,B.isMatchWith=bA,B.isNaN=EA,B.isNative=xA,B.isNil=CA,B.isNull=AA,B.isNumber=cp,B.isObject=we,B.isObjectLike=ye,B.isPlainObject=ds,B.isRegExp=ll,B.isSafeInteger=FA,B.isSet=fp,B.isString=Qo,B.isSymbol=pr,B.isTypedArray=Ri,B.isUndefined=MA,B.isWeakMap=NA,B.isWeakSet=SA,B.join=IE,B.kebabCase=wC,B.last=Cr,B.lastIndexOf=OE,B.lowerCase=yC,B.lowerFirst=DC,B.lt=BA,B.lte=TA,B.max=_2,B.maxBy=m2,B.mean=g2,B.meanBy=v2,B.min=w2,B.minBy=y2,B.stubArray=gl,B.stubFalse=vl,B.stubObject=s2,B.stubString=o2,B.stubTrue=a2,B.multiply=D2,B.nth=$E,B.noConflict=XC,B.noop=ml,B.now=Ho,B.pad=bC,B.padEnd=EC,B.padStart=xC,B.parseInt=AC,B.random=dC,B.reduce=Px,B.reduceRight=zx,B.repeat=CC,B.replace=FC,B.result=iC,B.round=b2,B.runInContext=j,B.sample=kx,B.size=jx,B.snakeCase=MC,B.some=Yx,B.sortedIndex=UE,B.sortedIndexBy=WE,B.sortedIndexOf=jE,B.sortedLastIndex=YE,B.sortedLastIndexBy=ZE,B.sortedLastIndexOf=GE,B.startCase=SC,B.startsWith=BC,B.subtract=E2,B.sum=x2,B.sumBy=A2,B.template=TC,B.times=u2,B.toFinite=cn,B.toInteger=$t,B.toLength=pp,B.toLower=IC,B.toNumber=Fr,B.toSafeInteger=IA,B.toString=Qt,B.toUpper=OC,B.trim=$C,B.trimEnd=RC,B.trimStart=LC,B.truncate=PC,B.unescape=zC,B.uniqueId=c2,B.upperCase=qC,B.upperFirst=hl,B.each=Q0,B.eachRight=tp,B.first=H0,_l(B,function(){var o={};return Zr(B,function(u,_){ne.call(B.prototype,_)||(o[_]=u)}),o}(),{chain:!1}),B.VERSION=r,Dr(["bind","bindKey","curry","curryRight","partial","partialRight"],function(o){B[o].placeholder=B}),Dr(["drop","take"],function(o,u){kt.prototype[o]=function(_){_=_===e?1:Te($t(_),0);var y=this.__filtered__&&!u?new kt(this):this.clone();return y.__filtered__?y.__takeCount__=We(_,y.__takeCount__):y.__views__.push({size:We(_,ct),type:o+(y.__dir__<0?"Right":"")}),y},kt.prototype[o+"Right"]=function(_){return this.reverse()[o](_).reverse()}}),Dr(["filter","map","takeWhile"],function(o,u){var _=u+1,y=_==k||_==P;kt.prototype[o]=function(A){var I=this.clone();return I.__iteratees__.push({iteratee:xt(A,3),type:_}),I.__filtered__=I.__filtered__||y,I}}),Dr(["head","last"],function(o,u){var _="take"+(u?"Right":"");kt.prototype[o]=function(){return this[_](1).value()[0]}}),Dr(["initial","tail"],function(o,u){var _="drop"+(u?"":"Right");kt.prototype[o]=function(){return this.__filtered__?new kt(this):this[_](1)}}),kt.prototype.compact=function(){return this.filter(er)},kt.prototype.find=function(o){return this.filter(o).head()},kt.prototype.findLast=function(o){return this.reverse().find(o)},kt.prototype.invokeMap=Lt(function(o,u){return typeof o=="function"?new kt(this):this.map(function(_){return us(_,o,u)})}),kt.prototype.reject=function(o){return this.filter(Xo(xt(o)))},kt.prototype.slice=function(o,u){o=$t(o);var _=this;return _.__filtered__&&(o>0||u<0)?new kt(_):(o<0?_=_.takeRight(-o):o&&(_=_.drop(o)),u!==e&&(u=$t(u),_=u<0?_.dropRight(-u):_.take(u-o)),_)},kt.prototype.takeRightWhile=function(o){return this.reverse().takeWhile(o).reverse()},kt.prototype.toArray=function(){return this.take(ct)},Zr(kt.prototype,function(o,u){var _=/^(?:filter|find|map|reject)|While$/.test(u),y=/^(?:head|last)$/.test(u),A=B[y?"take"+(u=="last"?"Right":""):u],I=y||/^find/.test(u);A&&(B.prototype[u]=function(){var L=this.__wrapped__,z=y?[1]:arguments,Y=L instanceof kt,Q=z[0],et=Y||It(L),ot=function(qt){var Ut=A.apply(B,Fn([qt],z));return y&&dt?Ut[0]:Ut};et&&_&&typeof Q=="function"&&Q.length!=1&&(Y=et=!1);var dt=this.__chain__,vt=!!this.__actions__.length,At=I&&!dt,Rt=Y&&!vt;if(!I&&et){L=Rt?L:new kt(this);var Ct=o.apply(L,z);return Ct.__actions__.push({func:Go,args:[ot],thisArg:e}),new Er(Ct,dt)}return At&&Rt?o.apply(this,z):(Ct=this.thru(ot),At?y?Ct.value()[0]:Ct.value():Ct)})}),Dr(["pop","push","shift","sort","splice","unshift"],function(o){var u=wo[o],_=/^(?:push|sort|unshift)$/.test(o)?"tap":"thru",y=/^(?:pop|shift)$/.test(o);B.prototype[o]=function(){var A=arguments;if(y&&!this.__chain__){var I=this.value();return u.apply(It(I)?I:[],A)}return this[_](function(L){return u.apply(It(L)?L:[],A)})}}),Zr(kt.prototype,function(o,u){var _=B[u];if(_){var y=_.name+"";ne.call(Bi,y)||(Bi[y]=[]),Bi[y].push({name:u,func:_})}}),Bi[qo(e,v).name]=[{name:"wrapper",func:e}],kt.prototype.clone=zD,kt.prototype.reverse=qD,kt.prototype.value=kD,B.prototype.at=mx,B.prototype.chain=gx,B.prototype.commit=vx,B.prototype.next=wx,B.prototype.plant=Dx,B.prototype.reverse=bx,B.prototype.toJSON=B.prototype.valueOf=B.prototype.value=Ex,B.prototype.first=B.prototype.head,es&&(B.prototype[es]=yx),B},Mi=vD();Hn?((Hn.exports=Mi)._=Mi,du._=Mi):Pe._=Mi}).call(Wt)}($n,$n.exports);var Mr=$n.exports;class Cp{constructor(t,e){q(this,"_defaultParams");q(this,"_UserTypeFileds");q(this,"_varipKeys");this._defaultParams=t,this._UserTypeFileds=this._createDynamicClass(),this._varipKeys=e}copy(t){return Mr.cloneDeep(t)}new(t={}){return new this._UserTypeFileds(Object.assign(Mr.cloneDeep(this._defaultParams),t),this._varipKeys)}addNewMethod(t,e){this._UserTypeFileds.prototype[t]=e}_createDynamicClass(){return class{constructor(t,e){q(this,"_varipKeys");Object.assign(this,t),this._varipKeys=e}get varipKeys(){return[...this._varipKeys]}copy(){return Mr.cloneDeep(this)}}}}var El={exports:{}};(function(i,t){(function(e,r){i.exports=r()})(Wt,function(){var e=1e3,r=6e4,n=36e5,s="millisecond",a="second",l="minute",c="hour",h="day",p="week",f="month",d="quarter",g="year",w="date",m="Invalid Date",D=/^(\d{4})[-/]?(\d{1,2})?[-/]?(\d{0,2})[Tt\s]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?[.:]?(\d+)?$/,v=/\[([^\]]+)]|Y{1,4}|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,E={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(k){var W=["th","st","nd","rd"],P=k%100;return"["+k+(W[(P-20)%10]||W[P]||W[0])+"]"}},b=function(k,W,P){var K=String(k);return!K||K.length>=W?k:""+Array(W+1-K.length).join(P)+k},N={s:b,z:function(k){var W=-k.utcOffset(),P=Math.abs(W),K=Math.floor(P/60),G=P%60;return(W<=0?"+":"-")+b(K,2,"0")+":"+b(G,2,"0")},m:function k(W,P){if(W.date()<P.date())return-k(P,W);var K=12*(P.year()-W.year())+(P.month()-W.month()),G=W.clone().add(K,f),V=P-G<0,tt=W.clone().add(K+(V?-1:1),f);return+(-(K+(P-G)/(V?G-tt:tt-G))||0)},a:function(k){return k<0?Math.ceil(k)||0:Math.floor(k)},p:function(k){return{M:f,y:g,w:p,d:h,D:w,h:c,m:l,s:a,ms:s,Q:d}[k]||String(k||"").toLowerCase().replace(/s$/,"")},u:function(k){return k===void 0}},x="en",F={};F[x]=E;var M="$isDayjsObject",S=function(k){return k instanceof R||!(!k||!k[M])},O=function k(W,P,K){var G;if(!W)return x;if(typeof W=="string"){var V=W.toLowerCase();F[V]&&(G=V),P&&(F[V]=P,G=V);var tt=W.split("-");if(!G&&tt.length>1)return k(tt[0])}else{var ct=W.name;F[ct]=W,G=ct}return!K&&G&&(x=G),G||!K&&x},C=function(k,W){if(S(k))return k.clone();var P=typeof W=="object"?W:{};return P.date=k,P.args=arguments,new R(P)},T=N;T.l=O,T.i=S,T.w=function(k,W){return C(k,{locale:W.$L,utc:W.$u,x:W.$x,$offset:W.$offset})};var R=function(){function k(P){this.$L=O(P.locale,null,!0),this.parse(P),this.$x=this.$x||P.x||{},this[M]=!0}var W=k.prototype;return W.parse=function(P){this.$d=function(K){var G=K.date,V=K.utc;if(G===null)return new Date(NaN);if(T.u(G))return new Date;if(G instanceof Date)return new Date(G);if(typeof G=="string"&&!/Z$/i.test(G)){var tt=G.match(D);if(tt){var ct=tt[2]-1||0,gt=(tt[7]||"0").substring(0,3);return V?new Date(Date.UTC(tt[1],ct,tt[3]||1,tt[4]||0,tt[5]||0,tt[6]||0,gt)):new Date(tt[1],ct,tt[3]||1,tt[4]||0,tt[5]||0,tt[6]||0,gt)}}return new Date(G)}(P),this.init()},W.init=function(){var P=this.$d;this.$y=P.getFullYear(),this.$M=P.getMonth(),this.$D=P.getDate(),this.$W=P.getDay(),this.$H=P.getHours(),this.$m=P.getMinutes(),this.$s=P.getSeconds(),this.$ms=P.getMilliseconds()},W.$utils=function(){return T},W.isValid=function(){return this.$d.toString()!==m},W.isSame=function(P,K){var G=C(P);return this.startOf(K)<=G&&G<=this.endOf(K)},W.isAfter=function(P,K){return C(P)<this.startOf(K)},W.isBefore=function(P,K){return this.endOf(K)<C(P)},W.$g=function(P,K,G){return T.u(P)?this[K]:this.set(G,P)},W.unix=function(){return Math.floor(this.valueOf()/1e3)},W.valueOf=function(){return this.$d.getTime()},W.startOf=function(P,K){var G=this,V=!!T.u(K)||K,tt=T.p(P),ct=function(Tt,Mt){var ie=T.w(G.$u?Date.UTC(G.$y,Mt,Tt):new Date(G.$y,Mt,Tt),G);return V?ie:ie.endOf(h)},gt=function(Tt,Mt){return T.w(G.toDate()[Tt].apply(G.toDate("s"),(V?[0,0,0,0]:[23,59,59,999]).slice(Mt)),G)},lt=this.$W,wt=this.$M,Dt=this.$D,St="set"+(this.$u?"UTC":"");switch(tt){case g:return V?ct(1,0):ct(31,11);case f:return V?ct(1,wt):ct(0,wt+1);case p:var bt=this.$locale().weekStart||0,re=(lt<bt?lt+7:lt)-bt;return ct(V?Dt-re:Dt+(6-re),wt);case h:case w:return gt(St+"Hours",0);case c:return gt(St+"Minutes",1);case l:return gt(St+"Seconds",2);case a:return gt(St+"Milliseconds",3);default:return this.clone()}},W.endOf=function(P){return this.startOf(P,!1)},W.$set=function(P,K){var G,V=T.p(P),tt="set"+(this.$u?"UTC":""),ct=(G={},G[h]=tt+"Date",G[w]=tt+"Date",G[f]=tt+"Month",G[g]=tt+"FullYear",G[c]=tt+"Hours",G[l]=tt+"Minutes",G[a]=tt+"Seconds",G[s]=tt+"Milliseconds",G)[V],gt=V===h?this.$D+(K-this.$W):K;if(V===f||V===g){var lt=this.clone().set(w,1);lt.$d[ct](gt),lt.init(),this.$d=lt.set(w,Math.min(this.$D,lt.daysInMonth())).$d}else ct&&this.$d[ct](gt);return this.init(),this},W.set=function(P,K){return this.clone().$set(P,K)},W.get=function(P){return this[T.p(P)]()},W.add=function(P,K){var G,V=this;P=Number(P);var tt=T.p(K),ct=function(wt){var Dt=C(V);return T.w(Dt.date(Dt.date()+Math.round(wt*P)),V)};if(tt===f)return this.set(f,this.$M+P);if(tt===g)return this.set(g,this.$y+P);if(tt===h)return ct(1);if(tt===p)return ct(7);var gt=(G={},G[l]=r,G[c]=n,G[a]=e,G)[tt]||1,lt=this.$d.getTime()+P*gt;return T.w(lt,this)},W.subtract=function(P,K){return this.add(-1*P,K)},W.format=function(P){var K=this,G=this.$locale();if(!this.isValid())return G.invalidDate||m;var V=P||"YYYY-MM-DDTHH:mm:ssZ",tt=T.z(this),ct=this.$H,gt=this.$m,lt=this.$M,wt=G.weekdays,Dt=G.months,St=G.meridiem,bt=function(Mt,ie,Xt,zt){return Mt&&(Mt[ie]||Mt(K,V))||Xt[ie].slice(0,zt)},re=function(Mt){return T.s(ct%12||12,Mt,"0")},Tt=St||function(Mt,ie,Xt){var zt=Mt<12?"AM":"PM";return Xt?zt.toLowerCase():zt};return V.replace(v,function(Mt,ie){return ie||function(Xt){switch(Xt){case"YY":return String(K.$y).slice(-2);case"YYYY":return T.s(K.$y,4,"0");case"M":return lt+1;case"MM":return T.s(lt+1,2,"0");case"MMM":return bt(G.monthsShort,lt,Dt,3);case"MMMM":return bt(Dt,lt);case"D":return K.$D;case"DD":return T.s(K.$D,2,"0");case"d":return String(K.$W);case"dd":return bt(G.weekdaysMin,K.$W,wt,2);case"ddd":return bt(G.weekdaysShort,K.$W,wt,3);case"dddd":return wt[K.$W];case"H":return String(ct);case"HH":return T.s(ct,2,"0");case"h":return re(1);case"hh":return re(2);case"a":return Tt(ct,gt,!0);case"A":return Tt(ct,gt,!1);case"m":return String(gt);case"mm":return T.s(gt,2,"0");case"s":return String(K.$s);case"ss":return T.s(K.$s,2,"0");case"SSS":return T.s(K.$ms,3,"0");case"Z":return tt}return null}(Mt)||tt.replace(":","")})},W.utcOffset=function(){return 15*-Math.round(this.$d.getTimezoneOffset()/15)},W.diff=function(P,K,G){var V,tt=this,ct=T.p(K),gt=C(P),lt=(gt.utcOffset()-this.utcOffset())*r,wt=this-gt,Dt=function(){return T.m(tt,gt)};switch(ct){case g:V=Dt()/12;break;case f:V=Dt();break;case d:V=Dt()/3;break;case p:V=(wt-lt)/6048e5;break;case h:V=(wt-lt)/864e5;break;case c:V=wt/n;break;case l:V=wt/r;break;case a:V=wt/e;break;default:V=wt}return G?V:T.a(V)},W.daysInMonth=function(){return this.endOf(f).$D},W.$locale=function(){return F[this.$L]},W.locale=function(P,K){if(!P)return this.$L;var G=this.clone(),V=O(P,K,!0);return V&&(G.$L=V),G},W.clone=function(){return T.w(this.$d,this)},W.toDate=function(){return new Date(this.valueOf())},W.toJSON=function(){return this.isValid()?this.toISOString():null},W.toISOString=function(){return this.$d.toISOString()},W.toString=function(){return this.$d.toUTCString()},k}(),U=R.prototype;return C.prototype=U,[["$ms",s],["$s",a],["$m",l],["$H",c],["$W",h],["$M",f],["$y",g],["$D",w]].forEach(function(k){U[k[1]]=function(W){return this.$g(W,k[0],k[1])}}),C.extend=function(k,W){return k.$i||(k(W,R,C),k.$i=!0),C},C.locale=O,C.isDayjs=S,C.unix=function(k){return C(1e3*k)},C.en=F[x],C.Ls=F,C.p={},C})})(El);var Fp=El.exports,te=Yt(Fp),xl={exports:{}};(function(i,t){(function(e,r){i.exports=r()})(Wt,function(){var e="minute",r=/[+-]\d\d(?::?\d\d)?/g,n=/([+-]|\d\d)/g;return function(s,a,l){var c=a.prototype;l.utc=function(m){var D={date:m,utc:!0,args:arguments};return new a(D)},c.utc=function(m){var D=l(this.toDate(),{locale:this.$L,utc:!0});return m?D.add(this.utcOffset(),e):D},c.local=function(){return l(this.toDate(),{locale:this.$L,utc:!1})};var h=c.parse;c.parse=function(m){m.utc&&(this.$u=!0),this.$utils().u(m.$offset)||(this.$offset=m.$offset),h.call(this,m)};var p=c.init;c.init=function(){if(this.$u){var m=this.$d;this.$y=m.getUTCFullYear(),this.$M=m.getUTCMonth(),this.$D=m.getUTCDate(),this.$W=m.getUTCDay(),this.$H=m.getUTCHours(),this.$m=m.getUTCMinutes(),this.$s=m.getUTCSeconds(),this.$ms=m.getUTCMilliseconds()}else p.call(this)};var f=c.utcOffset;c.utcOffset=function(m,D){var v=this.$utils().u;if(v(m))return this.$u?0:v(this.$offset)?f.call(this):this.$offset;if(typeof m=="string"&&(m=function(x){x===void 0&&(x="");var F=x.match(r);if(!F)return null;var M=(""+F[0]).match(n)||["-",0,0],S=M[0],O=60*+M[1]+ +M[2];return O===0?0:S==="+"?O:-O}(m),m===null))return this;var E=Math.abs(m)<=16?60*m:m,b=this;if(D)return b.$offset=E,b.$u=m===0,b;if(m!==0){var N=this.$u?this.toDate().getTimezoneOffset():-1*this.utcOffset();(b=this.local().add(E+N,e)).$offset=E,b.$x.$localOffset=N}else b=this.utc();return b};var d=c.format;c.format=function(m){var D=m||(this.$u?"YYYY-MM-DDTHH:mm:ss[Z]":"");return d.call(this,D)},c.valueOf=function(){var m=this.$utils().u(this.$offset)?0:this.$offset+(this.$x.$localOffset||this.$d.getTimezoneOffset());return this.$d.valueOf()-6e4*m},c.isUTC=function(){return!!this.$u},c.toISOString=function(){return this.toDate().toISOString()},c.toString=function(){return this.toDate().toUTCString()};var g=c.toDate;c.toDate=function(m){return m==="s"&&this.$offset?l(this.format("YYYY-MM-DD HH:mm:ss:SSS")).toDate():g.call(this)};var w=c.diff;c.diff=function(m,D,v){if(m&&this.$u===m.$u)return w.call(this,m,D,v);var E=this.local(),b=l(m).local();return w.call(E,b,D,v)}}})})(xl);var Mp=xl.exports,Np=Yt(Mp),Al={exports:{}};(function(i,t){(function(e,r){i.exports=r()})(Wt,function(){var e={year:0,month:1,day:2,hour:3,minute:4,second:5},r={};return function(n,s,a){var l,c=function(d,g,w){w===void 0&&(w={});var m=new Date(d),D=function(v,E){E===void 0&&(E={});var b=E.timeZoneName||"short",N=v+"|"+b,x=r[N];return x||(x=new Intl.DateTimeFormat("en-US",{hour12:!1,timeZone:v,year:"numeric",month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit",second:"2-digit",timeZoneName:b}),r[N]=x),x}(g,w);return D.formatToParts(m)},h=function(d,g){for(var w=c(d,g),m=[],D=0;D<w.length;D+=1){var v=w[D],E=v.type,b=v.value,N=e[E];N>=0&&(m[N]=parseInt(b,10))}var x=m[3],F=x===24?0:x,M=m[0]+"-"+m[1]+"-"+m[2]+" "+F+":"+m[4]+":"+m[5]+":000",S=+d;return(a.utc(M).valueOf()-(S-=S%1e3))/6e4},p=s.prototype;p.tz=function(d,g){d===void 0&&(d=l);var w=this.utcOffset(),m=this.toDate(),D=m.toLocaleString("en-US",{timeZone:d}),v=Math.round((m-new Date(D))/1e3/60),E=a(D,{locale:this.$L}).$set("millisecond",this.$ms).utcOffset(15*-Math.round(m.getTimezoneOffset()/15)-v,!0);if(g){var b=E.utcOffset();E=E.add(w-b,"minute")}return E.$x.$timezone=d,E},p.offsetName=function(d){var g=this.$x.$timezone||a.tz.guess(),w=c(this.valueOf(),g,{timeZoneName:d}).find(function(m){return m.type.toLowerCase()==="timezonename"});return w&&w.value};var f=p.startOf;p.startOf=function(d,g){if(!this.$x||!this.$x.$timezone)return f.call(this,d,g);var w=a(this.format("YYYY-MM-DD HH:mm:ss:SSS"),{locale:this.$L});return f.call(w,d,g).tz(this.$x.$timezone,!0)},a.tz=function(d,g,w){var m=w&&g,D=w||g||l,v=h(+a(),D);if(typeof d!="string")return a(d).tz(D);var E=function(F,M,S){var O=F-60*M*1e3,C=h(O,S);if(M===C)return[O,M];var T=h(O-=60*(C-M)*1e3,S);return C===T?[O,C]:[F-60*Math.min(C,T)*1e3,Math.max(C,T)]}(a.utc(d,m).valueOf(),v,D),b=E[0],N=E[1],x=a(b).utcOffset(N);return x.$x.$timezone=D,x},a.tz.guess=function(){return Intl.DateTimeFormat().resolvedOptions().timeZone},a.tz.setDefault=function(d){l=d}}})})(Al);var Sp=Al.exports,Bp=Yt(Sp),Cl={exports:{}};(function(i,t){(function(e,r){i.exports=r()})(Wt,function(){var e="week",r="year";return function(n,s,a){var l=s.prototype;l.week=function(c){if(c===void 0&&(c=null),c!==null)return this.add(7*(c-this.week()),"day");var h=this.$locale().yearStart||1;if(this.month()===11&&this.date()>25){var p=a(this).startOf(r).add(1,r).date(h),f=a(this).endOf(e);if(p.isBefore(f))return 1}var d=a(this).startOf(r).date(h).startOf(e).subtract(1,"millisecond"),g=this.diff(d,e,!0);return g<0?a(this).startOf("week").week():Math.ceil(g)},l.weeks=function(c){return c===void 0&&(c=null),this.week(c)}}})})(Cl);var Tp=Cl.exports,Ip=Yt(Tp);function _s(i){const t=parseInt(i)||1;let e=i.replace(/\d+/,"");return e==="m"||e==="M"?e="M":e?e=e.toLocaleLowerCase():e="m",[t,e]}function Fl(i=10){const t="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";let e="";const r=t.length;for(let n=0;n<i;n++)e+=t.charAt(Math.floor(Math.random()*r));return e}function Op(i){const t=/([+-])(\d{2})(\d{2})/,e=i.match(t);if(!e)throw new Error("Invalid timezone string");const[,r,n,s]=e;return(r==="+"?1:-1)*(parseInt(n,10)*60+parseInt(s,10))}function Nr(i,t){return t&&(t.startsWith("UTC")||t.startsWith("GMT"))?te(i).utcOffset(Op(t)):te(i).tz(t)}function Hr(i){const[t,e]=_s(i);let r=0;switch(e){case"m":r=60;break;case"s":r=1;break;case"M":r=31*24*60*60;break;case"d":r=24*60*60;break;case"w":r=7*24*60*60;break;default:r=60*60;break}return Math.round(Number(t)*r)}var qr=(i=>(i.BOOL="bool",i.INT="int",i.FLOAT="float",i.ARRAY="array",i.BOX="box",i.CHART_POINT="chart.point",i.COLOR="color",i.CONST="const",i.LABEL="label",i.LINE="line",i.LINEFILL="linefill",i.MAP="map",i.MATRIX="matrix",i.POLYLINE="polyline",i.SERIES="series",i.SIMPLE="simple",i.STRING="string",i.TABLE="table",i.UNDETERMINED="undetermined type",i.INPUT="input",i.NA="na",i.VOID="void",i))(qr||{}),ms=(i=>(i.dividends="dividends",i.none="none",i.splits="splits",i))(ms||{}),hn=(i=>(i.freqAll="freq_all",i.freqOncePerBar="freq_once_per_bar",i.freqOncePerBarClose="freq_once_per_bar_close",i))(hn||{}),Pi=(i=>(i.gapsOff="gaps_off",i.gapsOn="gaps_on",i.lookaheadOff="lookahead_off",i.lookaheadOn="lookahead_on",i))(Pi||{}),rr=(i=>(i.all="all",i.dataWindow="data_window",i.none="none",i.pane="pane",i.priceScale="price_scale",i.statusLine="status_line",i))(rr||{}),Rn=(i=>(i.both="both",i.left="left",i.none="none",i.right="right",i))(Rn||{}),Ln=(i=>(i.inherit="inherit",i.mintick="mintick",i.percent="percent",i.price="price",i.volume="volume",i))(Ln||{}),gs=(i=>(i.styleDashed="style_dashed",i.styleDotted="style_dotted",i.styleSolid="style_solid",i))(gs||{}),me=(i=>(i.styleArrowdown="style_arrowdown",i.styleArrowup="style_arrowup",i.styleCircle="style_circle",i.styleCross="style_cross",i.styleDiamond="style_diamond",i.styleFlag="style_flag",i.styleLabelCenter="style_label_center",i.styleLabelDown="style_label_down",i.styleLabelLeft="style_label_left",i.styleLabelLowerLeft="style_label_lower_left",i.styleLabelLowerRight="style_label_lower_right",i.styleLabelRight="style_label_right",i.styleLabelUp="style_label_up",i.styleLabelUpperLeft="style_label_upper_left",i.styleLabelUpperRight="style_label_upper_right",i.styleNone="style_none",i.styleSquare="style_square",i.styleTextOutline="style_text_outline",i.styleTriangledown="style_triangledown",i.styleTriangleup="style_triangleup",i.styleXcross="style_xcross",i))(me||{}),kr=(i=>(i.styleArrowBoth="style_arrow_both",i.styleArrowLeft="style_arrow_left",i.styleArrowRight="style_arrow_right",i.styleDashed="style_dashed",i.styleDotted="style_dotted",i.styleSolid="style_solid",i))(kr||{}),ii=(i=>(i.abovebar="abovebar",i.absolute="absolute",i.belowbar="belowbar",i.bottom="bottom",i.top="top",i))(ii||{}),Pn=(i=>(i.ascending="ascending",i.descending="descending",i))(Pn||{}),mr=(i=>(i.styleArea="Area",i.styleAreabr="Area With Breaks",i.styleCircles="Circles",i.styleColumns="Columns",i.styleCross="Cross",i.styleHistogram="Histogram",i.styleLine="Line",i.styleLinebr="Line With Breaks",i.styleStepline="Step Line",i.styleSteplineDiamond="Step Line With Diamonds",i.styleSteplinebr="Step line with Breaks",i))(mr||{}),Sr=(i=>(i.bottomCenter="bottom_center",i.bottomLeft="bottom_left",i.bottomRight="bottom_right",i.middleCenter="middle_center",i.middleLeft="middle_left",i.middleRight="middle_right",i.topCenter="top_center",i.topLeft="top_left",i.topRight="top_right",i))(Sr||{}),vs=(i=>(i.left="left",i.none="none",i.right="right",i))(vs||{}),ra=(i=>(i.extended="extended",i.regular="regular",i))(ra||{}),nr=(i=>(i.arrowdown="arrowdown",i.arrowup="arrowup",i.circle="circle",i.cross="cross",i.diamond="diamond",i.flag="flag",i.labeldown="labeldown",i.labelup="labelup",i.square="square",i.triangledown="triangledown",i.triangleup="triangleup",i.xcross="xcross",i))(nr||{}),Ur=(i=>(i.auto="auto",i.huge="huge",i.large="large",i.normal="normal",i.small="small",i.tiny="tiny",i))(Ur||{}),Ye=(i=>(i.cash="cash",i.fixed="fixed",i.percentOfEquity="percent_of_equity",i))(Ye||{}),Br=(i=>(i.cashPerContract="cash_per_contract",i.cashPerOrder="cash_per_order",i.percent="percent",i))(Br||{}),he=(i=>(i.all="all",i.long="long",i.short="short",i))(he||{}),zn=(i=>(i.cancel="cancel",i.none="none",i.reduce="reduce",i))(zn||{}),He=(i=>(i.alignBottom="align_bottom",i.alignCenter="align_center",i.alignLeft="align_left",i.alignRight="align_right",i.alignTop="align_top",i.wrapAuto="wrap_auto",i.wrapNone="wrap_none",i))(He||{}),Ie=(i=>(i.bar_index="bar_index",i.bar_time="bar_time",i))(Ie||{}),zi=(i=>(i.abovebar="abovebar",i.belowbar="belowbar",i.price="price",i))(zi||{}),ws=(i=>(i.actual="actual",i.estimate="estimate",i.standardized="standardized",i))(ws||{}),qn=(i=>(i.traditional="Traditional",i.fibonacci="Fibonacci",i.woodie="Woodie",i.classic="Classic",i.dm="DM",i.camarilla="Camarilla",i))(qn||{});class $p{new({size:t,initial_value:e}={}){return new Jt(t,e)}new_float({size:t,initial_value:e}={}){return new Jt(t,e)}new_int({size:t,initial_value:e}={}){return new Jt(t,e)}new_color({size:t,initial_value:e}={}){return new Jt(t,e)}new_bool({size:t,initial_value:e}={}){return new Jt(t,e)}new_string({size:t,initial_value:e}={}){return new Jt(t,e)}new_line({size:t,initial_value:e}={}){return new Jt(t,e)}new_box({size:t,initial_value:e}={}){return new Jt(t,e)}new_table({size:t,initial_value:e}={}){return new Jt(t,e)}new_linefill({size:t,initial_value:e}={}){return new Jt(t,e)}new_label({size:t,initial_value:e}={}){return new Jt(t,e)}copy({id:t}){return t==null?void 0:t.copy()}slice({id:t,index_from:e,index_to:r}){return t==null?void 0:t.slice({index_from:e,index_to:r})}size({id:t}){return t==null?void 0:t.size()}first({id:t}){return t==null?void 0:t.first()}abs({id:t}){return t==null?void 0:t.abs()}avg({id:t}){return t==null?void 0:t.avg()}binary_search({id:t,val:e}){return t==null?void 0:t.binary_search({val:e})}binary_search_leftmost({id:t,val:e}){return t==null?void 0:t.binary_search_leftmost({val:e})}binary_search_rightmost({id:t,val:e}){return t==null?void 0:t.binary_search_rightmost({val:e})}clear({id:t}){t==null||t.clear()}concat({id1:t,id2:e}){return t==null?void 0:t.concat({id2:e})}covariance({id1:t,id2:e,biased:r}){return t==null?void 0:t.covariance({id2:e,biased:r})}every({id:t}){return t==null?void 0:t.every()}from(t,e){const r=new Jt;return r._value=e,r}fill({id:t,value:e,index_from:r,index_to:n}){t==null||t.fill({value:e,index_from:r,index_to:n})}get({id:t,index:e}){return t==null?void 0:t.get({index:e})}includes({id:t,value:e}){return t==null?void 0:t.includes({value:e})}indexof({id:t,value:e}){return t==null?void 0:t.indexof({value:e})}insert({id:t,index:e,value:r}){t==null||t.insert({index:e,value:r})}join({id:t,separator:e}){return t==null?void 0:t.join({separator:e})}last({id:t}){return t==null?void 0:t.last()}lastindexof({id:t,value:e}){return t==null?void 0:t.lastindexof({value:e})}max({id:t,nth:e}){return t==null?void 0:t.max({nth:e})}median({id:t}){return t==null?void 0:t.median()}min({id:t,nth:e}){return t==null?void 0:t.min({nth:e})}mode({id:t}){return t==null?void 0:t.mode()}percentile_linear_interpolation({id:t,percentage:e}){return t==null?void 0:t.percentile_linear_interpolation({percentage:e})}percentile_nearest_rank({id:t,percentage:e}){return t==null?void 0:t.percentile_nearest_rank({percentage:e})}percentrank({id:t,index:e}){return t==null?void 0:t.percentrank({index:e})}pop({id:t}){return t==null?void 0:t.pop()}push({id:t,value:e}){t==null||t.push({value:e})}range({id:t}){return t==null?void 0:t.range()}remove({id:t,index:e}){return t==null?void 0:t.remove({index:e})}reverse({id:t}){return t==null?void 0:t.reverse()}set({id:t,index:e,value:r}){t==null||t.set({index:e,value:r})}shift({id:t}){return t==null?void 0:t.shift()}some({id:t}){return t==null?void 0:t.some()}sort({id:t,order:e}){t==null||t.sort({order:e})}sort_indices({id:t,order:e}){return t==null?void 0:t.sort_indices({order:e})}standardize({id:t}){return t==null?void 0:t.standardize()}stdev({id:t,biased:e}){return t==null?void 0:t.stdev({biased:e})}sum({id:t}){return t==null?void 0:t.sum()}unshift({id:t,value:e}){t==null||t.unshift({value:e})}variance({id:t,biased:e}){return t==null?void 0:t.variance({biased:e})}}class Jt{constructor(t=0,e){q(this,"_arrInstance");this._arrInstance=Array.from(new Array(t||0),()=>Mr.cloneDeep(e))}get isArray(){return!0}get _value(){return[...this._arrInstance]}set _value(t){this._arrInstance=[...t]}_deepCopyData(t){this._arrInstance=Mr.cloneDeep(t)}_copyData(t){this._arrInstance=t}copy(){const t=new Jt;return t._deepCopyData(this._arrInstance),t}slice({index_from:t,index_to:e}){const r=new Jt;return r._copyData(this._arrInstance.slice(t,e)),r}size(){return this._arrInstance.length}first(){return this._arrInstance[0]}abs(){const t=new Jt;this._verifySimpleType("number","abs","int/float");const e=this._arrInstance.map(r=>Math.abs(r));return t._copyData(e),t}avg(){return this._verifySimpleType("number","avg","int/float"),Mr.mean(this._arrInstance)}binary_search({val:t}){return this._verifySimpleType("number","binary_search","int/float"),this._binarySearch(this._arrInstance,t)}binary_search_leftmost({val:t}){return this._verifySimpleType("number","binary_search_leftmost","int/float"),this._binarySearchLeftMost(this._arrInstance,t)}binary_search_rightmost({val:t}){return this._verifySimpleType("number","binary_search_rightmost","int/float"),this._binarySearchRightMost(this._arrInstance,t)}clear(){this._arrInstance=[]}concat({id2:t}){return this._arrInstance=this._arrInstance.concat(t==null?void 0:t._value),this}covariance({id2:t,biased:e}){return this._verifySimpleType("number","covariance","int/float"),this._verifySimpleType("number","covariance","int/float",t==null?void 0:t._value),this._covariance(this._arrInstance,t._value,e)}every(){return this._verifySimpleType("number|boolean","every","int/float/bool"),this._arrInstance.every(t=>!!t)}fill({value:t,index_from:e,index_to:r}){this._arrInstance=this._setElements(this._arrInstance,t,e,r)}get({index:t}){return this._arrInstance[t]}includes({value:t}){return this._arrInstance.includes(t)}indexof({value:t}){return this._arrInstance.indexOf(t)}insert({index:t,value:e}){this._arrInstance.splice(t,0,e)}join({separator:t}={}){return this._verifySimpleType("number|string","join","int/float/string"),this._arrInstance.join(t)}last(){return this._arrInstance[this._arrInstance.length-1]}lastindexof({value:t}){return this._arrInstance.lastIndexOf(t)}max({nth:t}={}){return this._verifySimpleType("number","max","int/float"),this._maxNth([...this._arrInstance],t)}median(){return this._verifySimpleType("number","median","int/float"),this._median([...this._arrInstance])}min({nth:t}={}){return this._verifySimpleType("number","min","int/float"),this._minNth([...this._arrInstance],t)}mode(){return this._verifySimpleType("number","mode","int/float"),this._mode([...this._arrInstance])}percentile_linear_interpolation({percentage:t}){return this._verifySimpleType("number","percentile_linear_interpolation","int/float"),this._percentileLinearInterpolation([...this._arrInstance],t)}percentile_nearest_rank({percentage:t}){return this._verifySimpleType("number","percentile_nearest_rank","int/float"),this._getNearestRankPercentile([...this._arrInstance],t)}percentrank({index:t}){return this._verifySimpleType("number","percentrank","int/float"),this._getPercentileRank([...this._arrInstance],t)}pop(){return this._arrInstance.pop()}push({value:t}){this._arrInstance.push(t)}range(){if(this._arrInstance.length===0)throw new Error("Array must not be empty");this._verifySimpleType("number","range","int/float");const t=Math.min(...this._arrInstance);return Math.max(...this._arrInstance)-t}remove({index:t}){return this._arrInstance.splice(t,1)[0]}reverse(){this._arrInstance.reverse()}set({index:t,value:e}){this._arrInstance[t]=e}shift(){return this._arrInstance.shift()}some(){return this._verifySimpleType("number|boolean","some","int/float/bool"),this._arrInstance.some(t=>!!t)}sort({order:t}={}){this._verifySimpleType("number","sort","int/float"),this._arrInstance.sort((e,r)=>t!==Pn.descending?e-r:r-e)}sort_indices({order:t}={}){this._verifySimpleType("number","sort_indices","int/float");const e=this._arrInstance.map((n,s)=>s);e.sort((n,s)=>t!==Pn.descending?this._arrInstance[n]-this._arrInstance[s]:this._arrInstance[s]-this._arrInstance[n]);const r=new Jt;return r._copyData(e),r}standardize(){this._verifySimpleType("number","standardize","int/float");const t=new Jt;return t._copyData(this._standardizeArray([...this._arrInstance])),t}stdev({biased:t}={}){return this._verifySimpleType("number","stdev","int/float"),this._calculateStandardDeviations([...this._arrInstance],t)}sum(){return this._verifySimpleType("number","sum","int/float"),this._arrInstance.reduce((e,r)=>e+(r||0),0)}unshift({value:t}){this._arrInstance.unshift(t)}variance({biased:t}={}){return this._verifySimpleType("number","variance","int/float"),this._calculateVariances([...this._arrInstance],t)}_calculateVariances(t,e=!0){if(t.length===0)throw new Error("Array must not be empty");const r=t.reduce((a,l)=>a+(l||0),0)/t.length,n=t.reduce((a,l)=>a+((l||0)-r)**2,0),s=n/t.length;return e?s:t.length>1?n/(t.length-1):s}_calculateStandardDeviations(t,e=!0){if(t.length===0)throw new Error("Array must not be empty");const r=t.reduce((a,l)=>a+(l||0),0)/t.length,n=t.reduce((a,l)=>{const c=(l||0)-r;return a+c*c},0),s=Math.sqrt(n/t.length);return e?s:t.length>1?Math.sqrt(n/(t.length-1)):s}_standardizeArray(t){const e=t.reduce((s,a)=>s+(a||0),0)/t.length,r=Math.sqrt(t.reduce((s,a)=>s+Math.pow((a||0)-e,2),0)/t.length);return t.map(s=>((s||0)-e)/r)}_getPercentileRank(t,e=0){const r=t[e];let n=0;for(let a=0;a<t.length;a++)(t[a]<r||t[a]===r&&a!=e)&&n++;return n/(t.length-1)*100}_getNearestRankPercentile(t,e=0){if(t.length===0||e<0||e>100)throw new Error("Invalid percentile or empty array");const r=t.slice().sort((a,l)=>a-l),n=e/100*r.length,s=Math.ceil(n)-1;return r[s>=r.length?r.length-1:s]}_percentileLinearInterpolation(t,e=0){if(e<0||e>100)return;t.sort(function(s,a){return s-a});const r=t.length;e/=100;const n=1/(r*2);if(e<=n)return t[0];if(e>=1-1/(r*2))return t[r-1];for(const[s,a]of t.entries()){const l=t[s-1];if(e<(s+.5)/r)return l+(a-l)*(e-(s-.5)/r)/(1/r)}}_mode(t){const e={};let r=0;const n=[];for(const s of t)e[s]=(e[s]||0)+1,r=Math.max(r,e[s]);for(const s in e)e[s]===r&&n.push(Number(s));return Math.min(...r===1?t:n)}_median(t){t.sort(function(r,n){return r-n});const e=Math.floor(t.length/2);return t.length%2?t[e]:(t[e-1]+t[e])/2}_minNth(t,e=0){return t.sort(function(r,n){return r-n}),t[e]}_maxNth(t,e=0){return t.sort(function(r,n){return n-r}),t[e]}_setElements(t,e,r=0,n){n===void 0&&(n=t.length);for(let s=r;s<n;s++)t[s]=e;return t}_covariance(t,e,r=!0){if(t.length!=e.length)throw"Arrays have different lengths";t=t.filter(l=>l!==void 0),e=e.filter(l=>l!==void 0);const n=t.reduce((l,c)=>l+c,0)/t.length,s=e.reduce((l,c)=>l+c,0)/e.length;let a=0;for(let l=0;l<t.length;l++)a+=(t[l]-n)*(e[l]-s);return r?a/t.length:a/(t.length-1)}_verifySimpleType(t,e,r,n=this._arrInstance){if(n.filter(a=>a!==void 0).some(a=>!t.split("|").includes(typeof a)))throw Error(`数组类型错误,array.${e}方法只能使用${r}类型数组!`)}_binarySearch(t,e){let r=0,n=t.length-1;for(;r<=n;){const s=Math.floor((r+n)/2);if(t[s]===e)return s;t[s]<e?r=s+1:n=s-1}return-1}_binarySearchLeftMost(t,e){let r=0,n=t.length-1;const s=[];for(;r<=n;){const a=Math.floor((r+n)/2);t[a]===e&&s.push(a),t[a]<e?r=a+1:n=a-1}return s.length?Math.min(...s):r-1}_binarySearchRightMost(t,e){let r=0,n=t.length-1;const s=[];for(;r<=n;){const a=Math.floor((r+n)/2);t[a]===e&&s.push(a),t[a]<=e?r=a+1:n=a-1}return s.length?Math.max(...s):r}}class Rp{constructor(t){q(this,"_randomNums");q(this,"_mintick");q(this,"_cacheData");q(this,"_barIndex");this._mintick=t,this._randomNums={},this._cacheData={},this._barIndex=0}update(t){this._barIndex=t,this._randomNums={}}abs({number:t}){return Math.abs(t)}acos({angle:t}){const e=Math.acos(t);return isNaN(e)?void 0:e}asin({angle:t}){const e=Math.asin(t);return isNaN(e)?void 0:e}atan({angle:t}){const e=Math.atan(t);return isNaN(e)?void 0:e}avg(t,e){return Mr.mean(e)}ceil({number:t}){return Math.ceil(t)}floor({number:t}){return Math.floor(t)}cos({angle:t}){const e=Math.cos(t);return isNaN(e)?void 0:e}sin({angle:t}){const e=Math.sin(t);return isNaN(e)?void 0:e}tan({angle:t}){const e=Math.tan(t);return isNaN(e)?void 0:e}exp({number:t}){return Math.exp(t)}log({number:t}){return Math.log(t)}log10({number:t}){return Math.log10(t)}max(t,e){return Math.max(...e)}min(t,e){return Math.min(...e)}pow({base:t,exponent:e}){return Math.pow(t,e)}random({min:t=0,max:e=1,seed:r}){if(r&&this._randomNums[r])return this._randomNums[r];if(t>=e)throw new Error("min must be less than max");let n;do n=Math.random()*(e-t)+t;while(n===t||n===e);return r&&(this._randomNums[r]=n),n}round({number:t,precision:e}){return e?Number(t==null?void 0:t.toFixed(e)):Math.round(t)}round_to_mintick({number:t}){return Number(t==null?void 0:t.toFixed(this._mintick))}sign({number:t}){return t&&Math.sign(t)}sqrt({number:t}){return Math.sqrt(t)}sum({source:t,length:e=1},r){let n=this._cacheData[`sum_${r}`];n||(n=[]),n[this._barIndex]=t,this._cacheData[`sum_${r}`]=n;const s=n.filter(()=>!0);if(!(s.length<e))return Mr.sum(s.slice(-e))}todegrees({radians:t}){return t*(180/Math.PI)}toradians({degrees:t}){const e=t*(Math.PI/180);return Number(e.toFixed(this._mintick))}}function ys(){return ys=Object.assign?Object.assign.bind():function(i){for(var t=1;t<arguments.length;t++){var e=arguments[t];for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(i[r]=e[r])}return i},ys.apply(this,arguments)}var Ml={epsilon:1e-12,matrix:"Matrix",number:"number",precision:64,predictable:!1,randomSeed:null};function ue(i){return typeof i=="number"}function be(i){return!i||typeof i!="object"||typeof i.constructor!="function"?!1:i.isBigNumber===!0&&typeof i.constructor.prototype=="object"&&i.constructor.prototype.isBigNumber===!0||typeof i.constructor.isDecimal=="function"&&i.constructor.isDecimal(i)===!0}function Nl(i){return i&&typeof i=="object"&&Object.getPrototypeOf(i).isComplex===!0||!1}function Sl(i){return i&&typeof i=="object"&&Object.getPrototypeOf(i).isFraction===!0||!1}function Bl(i){return i&&i.constructor.prototype.isUnit===!0||!1}function Wr(i){return typeof i=="string"}var ge=Array.isArray;function ce(i){return i&&i.constructor.prototype.isMatrix===!0||!1}function qi(i){return Array.isArray(i)||ce(i)}function Lp(i){return i&&i.isDenseMatrix&&i.constructor.prototype.isMatrix===!0||!1}function Pp(i){return i&&i.isSparseMatrix&&i.constructor.prototype.isMatrix===!0||!1}function zp(i){return i&&i.constructor.prototype.isRange===!0||!1}function na(i){return i&&i.constructor.prototype.isIndex===!0||!1}function qp(i){return typeof i=="boolean"}function kp(i){return i&&i.constructor.prototype.isResultSet===!0||!1}function Up(i){return i&&i.constructor.prototype.isHelp===!0||!1}function Wp(i){return typeof i=="function"}function jp(i){return i instanceof Date}function Yp(i){return i instanceof RegExp}function ia(i){return!!(i&&typeof i=="object"&&i.constructor===Object&&!Nl(i)&&!Sl(i))}function Zp(i){return i===null}function Gp(i){return i===void 0}function Kp(i){return i&&i.isAccessorNode===!0&&i.constructor.prototype.isNode===!0||!1}function Hp(i){return i&&i.isArrayNode===!0&&i.constructor.prototype.isNode===!0||!1}function Jp(i){return i&&i.isAssignmentNode===!0&&i.constructor.prototype.isNode===!0||!1}function Xp(i){return i&&i.isBlockNode===!0&&i.constructor.prototype.isNode===!0||!1}function Vp(i){return i&&i.isConditionalNode===!0&&i.constructor.prototype.isNode===!0||!1}function Qp(i){return i&&i.isConstantNode===!0&&i.constructor.prototype.isNode===!0||!1}function td(i){return i&&i.isFunctionAssignmentNode===!0&&i.constructor.prototype.isNode===!0||!1}function ed(i){return i&&i.isFunctionNode===!0&&i.constructor.prototype.isNode===!0||!1}function rd(i){return i&&i.isIndexNode===!0&&i.constructor.prototype.isNode===!0||!1}function nd(i){return i&&i.isNode===!0&&i.constructor.prototype.isNode===!0||!1}function id(i){return i&&i.isObjectNode===!0&&i.constructor.prototype.isNode===!0||!1}function sd(i){return i&&i.isOperatorNode===!0&&i.constructor.prototype.isNode===!0||!1}function od(i){return i&&i.isParenthesisNode===!0&&i.constructor.prototype.isNode===!0||!1}function ad(i){return i&&i.isRangeNode===!0&&i.constructor.prototype.isNode===!0||!1}function ud(i){return i&&i.isRelationalNode===!0&&i.constructor.prototype.isNode===!0||!1}function ld(i){return i&&i.isSymbolNode===!0&&i.constructor.prototype.isNode===!0||!1}function cd(i){return i&&i.constructor.prototype.isChain===!0||!1}function pn(i){var t=typeof i;return t==="object"?i===null?"null":be(i)?"BigNumber":i.constructor&&i.constructor.name?i.constructor.name:"Object":t}function ee(i){var t=typeof i;if(t==="number"||t==="string"||t==="boolean"||i===null||i===void 0)return i;if(typeof i.clone=="function")return i.clone();if(Array.isArray(i))return i.map(function(e){return ee(e)});if(i instanceof Date)return new Date(i.valueOf());if(be(i))return i;if(ia(i))return fd(i,ee);throw new TypeError("Cannot clone: unknown type of value (value: ".concat(i,")"))}function fd(i,t){var e={};for(var r in i)ki(i,r)&&(e[r]=t(i[r]));return e}function Tl(i,t){for(var e in t)ki(t,e)&&(i[e]=t[e]);return i}function si(i,t){var e,r,n;if(Array.isArray(i)){if(!Array.isArray(t)||i.length!==t.length)return!1;for(r=0,n=i.length;r<n;r++)if(!si(i[r],t[r]))return!1;return!0}else{if(typeof i=="function")return i===t;if(i instanceof Object){if(Array.isArray(t)||!(t instanceof Object))return!1;for(e in i)if(!(e in t)||!si(i[e],t[e]))return!1;for(e in t)if(!(e in i))return!1;return!0}else return i===t}}function ki(i,t){return i&&Object.hasOwnProperty.call(i,t)}function hd(i,t){for(var e={},r=0;r<t.length;r++){var n=t[r],s=i[n];s!==void 0&&(e[n]=s)}return e}var pd=["Matrix","Array"],dd=["number","BigNumber","Fraction"],ir=function(t){if(t)throw new Error(`The global config is readonly.
|
27
|
+
}`;var Rt=bp(function(){return Ht(I,vt+"return "+ot).apply(e,L)});if(Rt.source=ot,ul(Rt))throw Rt;return Rt}function OC(o){return Qt(o).toLowerCase()}function $C(o){return Qt(o).toUpperCase()}function RC(o,u,_){if(o=Qt(o),o&&(_||u===e))return Bh(o);if(!o||!(u=hr(u)))return o;var y=$r(o),A=$r(u),I=Th(y,A),L=Ih(y,A)+1;return In(y,I,L).join("")}function LC(o,u,_){if(o=Qt(o),o&&(_||u===e))return o.slice(0,$h(o)+1);if(!o||!(u=hr(u)))return o;var y=$r(o),A=Ih(y,$r(u))+1;return In(y,0,A).join("")}function PC(o,u,_){if(o=Qt(o),o&&(_||u===e))return o.replace(Qi,"");if(!o||!(u=hr(u)))return o;var y=$r(o),A=Th(y,$r(u));return In(y,A).join("")}function zC(o,u){var _=C,y=T;if(we(u)){var A="separator"in u?u.separator:A;_="length"in u?$t(u.length):_,y="omission"in u?hr(u.omission):y}o=Qt(o);var I=o.length;if(Ci(o)){var L=$r(o);I=L.length}if(_>=I)return o;var z=_-Fi(y);if(z<1)return y;var Y=L?In(L,0,z).join(""):o.slice(0,z);if(A===e)return Y+y;if(L&&(z+=Y.length-z),ll(A)){if(o.slice(z).search(A)){var Q,et=Y;for(A.global||(A=Au(A.source,Qt(ho.exec(A))+"g")),A.lastIndex=0;Q=A.exec(et);)var ot=Q.index;Y=Y.slice(0,ot===e?z:ot)}}else if(o.indexOf(hr(A),z)!=z){var dt=Y.lastIndexOf(A);dt>-1&&(Y=Y.slice(0,dt))}return Y+y}function qC(o){return o=Qt(o),o&&qa.test(o)?o.replace(Gn,_D):o}var kC=Oi(function(o,u,_){return o+(_?" ":"")+u.toUpperCase()}),hl=E0("toUpperCase");function Dp(o,u,_){return o=Qt(o),u=_?e:u,u===e?cD(o)?vD(o):eD(o):o.match(u)||[]}var bp=Lt(function(o,u){try{return cr(o,e,u)}catch(_){return ul(_)?_:new Bt(_)}}),UC=an(function(o,u){return Dr(u,function(_){_=Kr(_),sn(o,_,ol(o[_],o))}),o});function WC(o){var u=o==null?0:o.length,_=xt();return o=u?_e(o,function(y){if(typeof y[1]!="function")throw new br(a);return[_(y[0]),y[1]]}):[],Lt(function(y){for(var A=-1;++A<u;){var I=o[A];if(cr(I[0],this,y))return cr(I[1],this,y)}})}function jC(o){return _b(xr(o,f))}function pl(o){return function(){return o}}function YC(o,u){return o==null||o!==o?u:o}var ZC=A0(),GC=A0(!0);function er(o){return o}function dl(o){return e0(typeof o=="function"?o:xr(o,f))}function KC(o){return n0(xr(o,f))}function HC(o,u){return i0(o,xr(u,f))}var JC=Lt(function(o,u){return function(_){return us(_,o,u)}}),XC=Lt(function(o,u){return function(_){return us(o,_,u)}});function _l(o,u,_){var y=$e(u),A=$o(u,y);_==null&&!(we(u)&&(A.length||!y.length))&&(_=u,u=o,o=this,A=$o(u,$e(u)));var I=!(we(_)&&"chain"in _)||!!_.chain,L=ln(o);return Dr(A,function(z){var Y=u[z];o[z]=Y,L&&(o.prototype[z]=function(){var Q=this.__chain__;if(I||Q){var et=o(this.__wrapped__),ot=et.__actions__=Ve(this.__actions__);return ot.push({func:Y,args:arguments,thisArg:o}),et.__chain__=Q,et}return Y.apply(o,Fn([this.value()],arguments))})}),o}function VC(){return Pe._===this&&(Pe._=xD),this}function ml(){}function QC(o){return o=$t(o),Lt(function(u){return s0(u,o)})}var t2=Gu(_e),e2=Gu(Ch),r2=Gu(vu);function Ep(o){return tl(o)?wu(Kr(o)):Tb(o)}function n2(o){return function(u){return o==null?e:ti(o,u)}}var i2=F0(),s2=F0(!0);function gl(){return[]}function vl(){return!1}function o2(){return{}}function a2(){return""}function u2(){return!0}function l2(o,u){if(o=$t(o),o<1||o>G)return[];var _=ct,y=We(o,ct);u=xt(u),o-=ct;for(var A=bu(y,u);++_<o;)u(_);return A}function c2(o){return It(o)?_e(o,Kr):pr(o)?[o]:Ve(W0(Qt(o)))}function f2(o){var u=++bD;return Qt(o)+u}var h2=ko(function(o,u){return o+u},0),p2=Ku("ceil"),d2=ko(function(o,u){return o/u},1),_2=Ku("floor");function m2(o){return o&&o.length?Oo(o,er,Iu):e}function g2(o,u){return o&&o.length?Oo(o,xt(u,2),Iu):e}function v2(o){return Nh(o,er)}function w2(o,u){return Nh(o,xt(u,2))}function y2(o){return o&&o.length?Oo(o,er,Lu):e}function D2(o,u){return o&&o.length?Oo(o,xt(u,2),Lu):e}var b2=ko(function(o,u){return o*u},1),E2=Ku("round"),x2=ko(function(o,u){return o-u},0);function A2(o){return o&&o.length?Du(o,er):0}function C2(o,u){return o&&o.length?Du(o,xt(u,2)):0}return B.after=Kx,B.ary=tp,B.assign=$A,B.assignIn=dp,B.assignInWith=ta,B.assignWith=RA,B.at=LA,B.before=ep,B.bind=ol,B.bindAll=UC,B.bindKey=rp,B.castArray=oA,B.chain=X0,B.chunk=_E,B.compact=mE,B.concat=gE,B.cond=WC,B.conforms=jC,B.constant=pl,B.countBy=Ax,B.create=PA,B.curry=np,B.curryRight=ip,B.debounce=sp,B.defaults=zA,B.defaultsDeep=qA,B.defer=Hx,B.delay=Jx,B.difference=vE,B.differenceBy=wE,B.differenceWith=yE,B.drop=DE,B.dropRight=bE,B.dropRightWhile=EE,B.dropWhile=xE,B.fill=AE,B.filter=Fx,B.flatMap=Sx,B.flatMapDeep=Bx,B.flatMapDepth=Tx,B.flatten=G0,B.flattenDeep=CE,B.flattenDepth=FE,B.flip=Xx,B.flow=ZC,B.flowRight=GC,B.fromPairs=ME,B.functions=GA,B.functionsIn=KA,B.groupBy=Ix,B.initial=SE,B.intersection=BE,B.intersectionBy=TE,B.intersectionWith=IE,B.invert=JA,B.invertBy=XA,B.invokeMap=$x,B.iteratee=dl,B.keyBy=Rx,B.keys=$e,B.keysIn=tr,B.map=Ko,B.mapKeys=QA,B.mapValues=tC,B.matches=KC,B.matchesProperty=HC,B.memoize=Jo,B.merge=eC,B.mergeWith=_p,B.method=JC,B.methodOf=XC,B.mixin=_l,B.negate=Xo,B.nthArg=QC,B.omit=rC,B.omitBy=nC,B.once=Vx,B.orderBy=Lx,B.over=t2,B.overArgs=Qx,B.overEvery=e2,B.overSome=r2,B.partial=al,B.partialRight=op,B.partition=Px,B.pick=iC,B.pickBy=mp,B.property=Ep,B.propertyOf=n2,B.pull=LE,B.pullAll=H0,B.pullAllBy=PE,B.pullAllWith=zE,B.pullAt=qE,B.range=i2,B.rangeRight=s2,B.rearg=tA,B.reject=kx,B.remove=kE,B.rest=eA,B.reverse=il,B.sampleSize=Wx,B.set=oC,B.setWith=aC,B.shuffle=jx,B.slice=UE,B.sortBy=Gx,B.sortedUniq=HE,B.sortedUniqBy=JE,B.split=SC,B.spread=rA,B.tail=XE,B.take=VE,B.takeRight=QE,B.takeRightWhile=tx,B.takeWhile=ex,B.tap=mx,B.throttle=nA,B.thru=Go,B.toArray=fp,B.toPairs=gp,B.toPairsIn=vp,B.toPath=c2,B.toPlainObject=pp,B.transform=uC,B.unary=iA,B.union=rx,B.unionBy=nx,B.unionWith=ix,B.uniq=sx,B.uniqBy=ox,B.uniqWith=ax,B.unset=lC,B.unzip=sl,B.unzipWith=J0,B.update=cC,B.updateWith=fC,B.values=Li,B.valuesIn=hC,B.without=ux,B.words=Dp,B.wrap=sA,B.xor=lx,B.xorBy=cx,B.xorWith=fx,B.zip=hx,B.zipObject=px,B.zipObjectDeep=dx,B.zipWith=_x,B.entries=gp,B.entriesIn=vp,B.extend=dp,B.extendWith=ta,_l(B,B),B.add=h2,B.attempt=bp,B.camelCase=mC,B.capitalize=wp,B.ceil=p2,B.clamp=pC,B.clone=aA,B.cloneDeep=lA,B.cloneDeepWith=cA,B.cloneWith=uA,B.conformsTo=fA,B.deburr=yp,B.defaultTo=YC,B.divide=d2,B.endsWith=gC,B.eq=Lr,B.escape=vC,B.escapeRegExp=wC,B.every=Cx,B.find=Mx,B.findIndex=Y0,B.findKey=kA,B.findLast=Nx,B.findLastIndex=Z0,B.findLastKey=UA,B.floor=_2,B.forEach=V0,B.forEachRight=Q0,B.forIn=WA,B.forInRight=jA,B.forOwn=YA,B.forOwnRight=ZA,B.get=cl,B.gt=hA,B.gte=pA,B.has=HA,B.hasIn=fl,B.head=K0,B.identity=er,B.includes=Ox,B.indexOf=NE,B.inRange=dC,B.invoke=VA,B.isArguments=ni,B.isArray=It,B.isArrayBuffer=dA,B.isArrayLike=Qe,B.isArrayLikeObject=Ee,B.isBoolean=_A,B.isBuffer=On,B.isDate=mA,B.isElement=gA,B.isEmpty=vA,B.isEqual=wA,B.isEqualWith=yA,B.isError=ul,B.isFinite=DA,B.isFunction=ln,B.isInteger=ap,B.isLength=Vo,B.isMap=up,B.isMatch=bA,B.isMatchWith=EA,B.isNaN=xA,B.isNative=AA,B.isNil=FA,B.isNull=CA,B.isNumber=lp,B.isObject=we,B.isObjectLike=ye,B.isPlainObject=ds,B.isRegExp=ll,B.isSafeInteger=MA,B.isSet=cp,B.isString=Qo,B.isSymbol=pr,B.isTypedArray=Ri,B.isUndefined=NA,B.isWeakMap=SA,B.isWeakSet=BA,B.join=OE,B.kebabCase=yC,B.last=Cr,B.lastIndexOf=$E,B.lowerCase=DC,B.lowerFirst=bC,B.lt=TA,B.lte=IA,B.max=m2,B.maxBy=g2,B.mean=v2,B.meanBy=w2,B.min=y2,B.minBy=D2,B.stubArray=gl,B.stubFalse=vl,B.stubObject=o2,B.stubString=a2,B.stubTrue=u2,B.multiply=b2,B.nth=RE,B.noConflict=VC,B.noop=ml,B.now=Ho,B.pad=EC,B.padEnd=xC,B.padStart=AC,B.parseInt=CC,B.random=_C,B.reduce=zx,B.reduceRight=qx,B.repeat=FC,B.replace=MC,B.result=sC,B.round=E2,B.runInContext=j,B.sample=Ux,B.size=Yx,B.snakeCase=NC,B.some=Zx,B.sortedIndex=WE,B.sortedIndexBy=jE,B.sortedIndexOf=YE,B.sortedLastIndex=ZE,B.sortedLastIndexBy=GE,B.sortedLastIndexOf=KE,B.startCase=BC,B.startsWith=TC,B.subtract=x2,B.sum=A2,B.sumBy=C2,B.template=IC,B.times=l2,B.toFinite=cn,B.toInteger=$t,B.toLength=hp,B.toLower=OC,B.toNumber=Fr,B.toSafeInteger=OA,B.toString=Qt,B.toUpper=$C,B.trim=RC,B.trimEnd=LC,B.trimStart=PC,B.truncate=zC,B.unescape=qC,B.uniqueId=f2,B.upperCase=kC,B.upperFirst=hl,B.each=V0,B.eachRight=Q0,B.first=K0,_l(B,function(){var o={};return Zr(B,function(u,_){ne.call(B.prototype,_)||(o[_]=u)}),o}(),{chain:!1}),B.VERSION=r,Dr(["bind","bindKey","curry","curryRight","partial","partialRight"],function(o){B[o].placeholder=B}),Dr(["drop","take"],function(o,u){kt.prototype[o]=function(_){_=_===e?1:Te($t(_),0);var y=this.__filtered__&&!u?new kt(this):this.clone();return y.__filtered__?y.__takeCount__=We(_,y.__takeCount__):y.__views__.push({size:We(_,ct),type:o+(y.__dir__<0?"Right":"")}),y},kt.prototype[o+"Right"]=function(_){return this.reverse()[o](_).reverse()}}),Dr(["filter","map","takeWhile"],function(o,u){var _=u+1,y=_==k||_==P;kt.prototype[o]=function(A){var I=this.clone();return I.__iteratees__.push({iteratee:xt(A,3),type:_}),I.__filtered__=I.__filtered__||y,I}}),Dr(["head","last"],function(o,u){var _="take"+(u?"Right":"");kt.prototype[o]=function(){return this[_](1).value()[0]}}),Dr(["initial","tail"],function(o,u){var _="drop"+(u?"":"Right");kt.prototype[o]=function(){return this.__filtered__?new kt(this):this[_](1)}}),kt.prototype.compact=function(){return this.filter(er)},kt.prototype.find=function(o){return this.filter(o).head()},kt.prototype.findLast=function(o){return this.reverse().find(o)},kt.prototype.invokeMap=Lt(function(o,u){return typeof o=="function"?new kt(this):this.map(function(_){return us(_,o,u)})}),kt.prototype.reject=function(o){return this.filter(Xo(xt(o)))},kt.prototype.slice=function(o,u){o=$t(o);var _=this;return _.__filtered__&&(o>0||u<0)?new kt(_):(o<0?_=_.takeRight(-o):o&&(_=_.drop(o)),u!==e&&(u=$t(u),_=u<0?_.dropRight(-u):_.take(u-o)),_)},kt.prototype.takeRightWhile=function(o){return this.reverse().takeWhile(o).reverse()},kt.prototype.toArray=function(){return this.take(ct)},Zr(kt.prototype,function(o,u){var _=/^(?:filter|find|map|reject)|While$/.test(u),y=/^(?:head|last)$/.test(u),A=B[y?"take"+(u=="last"?"Right":""):u],I=y||/^find/.test(u);A&&(B.prototype[u]=function(){var L=this.__wrapped__,z=y?[1]:arguments,Y=L instanceof kt,Q=z[0],et=Y||It(L),ot=function(qt){var Ut=A.apply(B,Fn([qt],z));return y&&dt?Ut[0]:Ut};et&&_&&typeof Q=="function"&&Q.length!=1&&(Y=et=!1);var dt=this.__chain__,vt=!!this.__actions__.length,At=I&&!dt,Rt=Y&&!vt;if(!I&&et){L=Rt?L:new kt(this);var Ct=o.apply(L,z);return Ct.__actions__.push({func:Go,args:[ot],thisArg:e}),new Er(Ct,dt)}return At&&Rt?o.apply(this,z):(Ct=this.thru(ot),At?y?Ct.value()[0]:Ct.value():Ct)})}),Dr(["pop","push","shift","sort","splice","unshift"],function(o){var u=wo[o],_=/^(?:push|sort|unshift)$/.test(o)?"tap":"thru",y=/^(?:pop|shift)$/.test(o);B.prototype[o]=function(){var A=arguments;if(y&&!this.__chain__){var I=this.value();return u.apply(It(I)?I:[],A)}return this[_](function(L){return u.apply(It(L)?L:[],A)})}}),Zr(kt.prototype,function(o,u){var _=B[u];if(_){var y=_.name+"";ne.call(Bi,y)||(Bi[y]=[]),Bi[y].push({name:u,func:_})}}),Bi[qo(e,v).name]=[{name:"wrapper",func:e}],kt.prototype.clone=qD,kt.prototype.reverse=kD,kt.prototype.value=UD,B.prototype.at=gx,B.prototype.chain=vx,B.prototype.commit=wx,B.prototype.next=yx,B.prototype.plant=bx,B.prototype.reverse=Ex,B.prototype.toJSON=B.prototype.valueOf=B.prototype.value=xx,B.prototype.first=B.prototype.head,es&&(B.prototype[es]=Dx),B},Mi=wD();Hn?((Hn.exports=Mi)._=Mi,du._=Mi):Pe._=Mi}).call(Wt)}($n,$n.exports);var Mr=$n.exports;class Ap{constructor(t,e){q(this,"_defaultParams");q(this,"_UserTypeFileds");q(this,"_varipKeys");this._defaultParams=t,this._UserTypeFileds=this._createDynamicClass(),this._varipKeys=e}copy(t){return Mr.cloneDeep(t)}new(t={}){return new this._UserTypeFileds(Object.assign(Mr.cloneDeep(this._defaultParams),t),this._varipKeys)}addNewMethod(t,e){this._UserTypeFileds.prototype[t]=e}_createDynamicClass(){return class{constructor(t,e){q(this,"_varipKeys");Object.assign(this,t),this._varipKeys=e}get varipKeys(){return[...this._varipKeys]}copy(){return Mr.cloneDeep(this)}}}}var El={exports:{}};(function(i,t){(function(e,r){i.exports=r()})(Wt,function(){var e=1e3,r=6e4,n=36e5,s="millisecond",a="second",l="minute",c="hour",h="day",p="week",f="month",d="quarter",g="year",w="date",m="Invalid Date",D=/^(\d{4})[-/]?(\d{1,2})?[-/]?(\d{0,2})[Tt\s]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?[.:]?(\d+)?$/,v=/\[([^\]]+)]|Y{1,4}|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,E={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(k){var W=["th","st","nd","rd"],P=k%100;return"["+k+(W[(P-20)%10]||W[P]||W[0])+"]"}},b=function(k,W,P){var K=String(k);return!K||K.length>=W?k:""+Array(W+1-K.length).join(P)+k},N={s:b,z:function(k){var W=-k.utcOffset(),P=Math.abs(W),K=Math.floor(P/60),G=P%60;return(W<=0?"+":"-")+b(K,2,"0")+":"+b(G,2,"0")},m:function k(W,P){if(W.date()<P.date())return-k(P,W);var K=12*(P.year()-W.year())+(P.month()-W.month()),G=W.clone().add(K,f),V=P-G<0,tt=W.clone().add(K+(V?-1:1),f);return+(-(K+(P-G)/(V?G-tt:tt-G))||0)},a:function(k){return k<0?Math.ceil(k)||0:Math.floor(k)},p:function(k){return{M:f,y:g,w:p,d:h,D:w,h:c,m:l,s:a,ms:s,Q:d}[k]||String(k||"").toLowerCase().replace(/s$/,"")},u:function(k){return k===void 0}},x="en",F={};F[x]=E;var M="$isDayjsObject",S=function(k){return k instanceof R||!(!k||!k[M])},O=function k(W,P,K){var G;if(!W)return x;if(typeof W=="string"){var V=W.toLowerCase();F[V]&&(G=V),P&&(F[V]=P,G=V);var tt=W.split("-");if(!G&&tt.length>1)return k(tt[0])}else{var ct=W.name;F[ct]=W,G=ct}return!K&&G&&(x=G),G||!K&&x},C=function(k,W){if(S(k))return k.clone();var P=typeof W=="object"?W:{};return P.date=k,P.args=arguments,new R(P)},T=N;T.l=O,T.i=S,T.w=function(k,W){return C(k,{locale:W.$L,utc:W.$u,x:W.$x,$offset:W.$offset})};var R=function(){function k(P){this.$L=O(P.locale,null,!0),this.parse(P),this.$x=this.$x||P.x||{},this[M]=!0}var W=k.prototype;return W.parse=function(P){this.$d=function(K){var G=K.date,V=K.utc;if(G===null)return new Date(NaN);if(T.u(G))return new Date;if(G instanceof Date)return new Date(G);if(typeof G=="string"&&!/Z$/i.test(G)){var tt=G.match(D);if(tt){var ct=tt[2]-1||0,gt=(tt[7]||"0").substring(0,3);return V?new Date(Date.UTC(tt[1],ct,tt[3]||1,tt[4]||0,tt[5]||0,tt[6]||0,gt)):new Date(tt[1],ct,tt[3]||1,tt[4]||0,tt[5]||0,tt[6]||0,gt)}}return new Date(G)}(P),this.init()},W.init=function(){var P=this.$d;this.$y=P.getFullYear(),this.$M=P.getMonth(),this.$D=P.getDate(),this.$W=P.getDay(),this.$H=P.getHours(),this.$m=P.getMinutes(),this.$s=P.getSeconds(),this.$ms=P.getMilliseconds()},W.$utils=function(){return T},W.isValid=function(){return this.$d.toString()!==m},W.isSame=function(P,K){var G=C(P);return this.startOf(K)<=G&&G<=this.endOf(K)},W.isAfter=function(P,K){return C(P)<this.startOf(K)},W.isBefore=function(P,K){return this.endOf(K)<C(P)},W.$g=function(P,K,G){return T.u(P)?this[K]:this.set(G,P)},W.unix=function(){return Math.floor(this.valueOf()/1e3)},W.valueOf=function(){return this.$d.getTime()},W.startOf=function(P,K){var G=this,V=!!T.u(K)||K,tt=T.p(P),ct=function(Tt,Mt){var ie=T.w(G.$u?Date.UTC(G.$y,Mt,Tt):new Date(G.$y,Mt,Tt),G);return V?ie:ie.endOf(h)},gt=function(Tt,Mt){return T.w(G.toDate()[Tt].apply(G.toDate("s"),(V?[0,0,0,0]:[23,59,59,999]).slice(Mt)),G)},lt=this.$W,wt=this.$M,Dt=this.$D,St="set"+(this.$u?"UTC":"");switch(tt){case g:return V?ct(1,0):ct(31,11);case f:return V?ct(1,wt):ct(0,wt+1);case p:var bt=this.$locale().weekStart||0,re=(lt<bt?lt+7:lt)-bt;return ct(V?Dt-re:Dt+(6-re),wt);case h:case w:return gt(St+"Hours",0);case c:return gt(St+"Minutes",1);case l:return gt(St+"Seconds",2);case a:return gt(St+"Milliseconds",3);default:return this.clone()}},W.endOf=function(P){return this.startOf(P,!1)},W.$set=function(P,K){var G,V=T.p(P),tt="set"+(this.$u?"UTC":""),ct=(G={},G[h]=tt+"Date",G[w]=tt+"Date",G[f]=tt+"Month",G[g]=tt+"FullYear",G[c]=tt+"Hours",G[l]=tt+"Minutes",G[a]=tt+"Seconds",G[s]=tt+"Milliseconds",G)[V],gt=V===h?this.$D+(K-this.$W):K;if(V===f||V===g){var lt=this.clone().set(w,1);lt.$d[ct](gt),lt.init(),this.$d=lt.set(w,Math.min(this.$D,lt.daysInMonth())).$d}else ct&&this.$d[ct](gt);return this.init(),this},W.set=function(P,K){return this.clone().$set(P,K)},W.get=function(P){return this[T.p(P)]()},W.add=function(P,K){var G,V=this;P=Number(P);var tt=T.p(K),ct=function(wt){var Dt=C(V);return T.w(Dt.date(Dt.date()+Math.round(wt*P)),V)};if(tt===f)return this.set(f,this.$M+P);if(tt===g)return this.set(g,this.$y+P);if(tt===h)return ct(1);if(tt===p)return ct(7);var gt=(G={},G[l]=r,G[c]=n,G[a]=e,G)[tt]||1,lt=this.$d.getTime()+P*gt;return T.w(lt,this)},W.subtract=function(P,K){return this.add(-1*P,K)},W.format=function(P){var K=this,G=this.$locale();if(!this.isValid())return G.invalidDate||m;var V=P||"YYYY-MM-DDTHH:mm:ssZ",tt=T.z(this),ct=this.$H,gt=this.$m,lt=this.$M,wt=G.weekdays,Dt=G.months,St=G.meridiem,bt=function(Mt,ie,Xt,zt){return Mt&&(Mt[ie]||Mt(K,V))||Xt[ie].slice(0,zt)},re=function(Mt){return T.s(ct%12||12,Mt,"0")},Tt=St||function(Mt,ie,Xt){var zt=Mt<12?"AM":"PM";return Xt?zt.toLowerCase():zt};return V.replace(v,function(Mt,ie){return ie||function(Xt){switch(Xt){case"YY":return String(K.$y).slice(-2);case"YYYY":return T.s(K.$y,4,"0");case"M":return lt+1;case"MM":return T.s(lt+1,2,"0");case"MMM":return bt(G.monthsShort,lt,Dt,3);case"MMMM":return bt(Dt,lt);case"D":return K.$D;case"DD":return T.s(K.$D,2,"0");case"d":return String(K.$W);case"dd":return bt(G.weekdaysMin,K.$W,wt,2);case"ddd":return bt(G.weekdaysShort,K.$W,wt,3);case"dddd":return wt[K.$W];case"H":return String(ct);case"HH":return T.s(ct,2,"0");case"h":return re(1);case"hh":return re(2);case"a":return Tt(ct,gt,!0);case"A":return Tt(ct,gt,!1);case"m":return String(gt);case"mm":return T.s(gt,2,"0");case"s":return String(K.$s);case"ss":return T.s(K.$s,2,"0");case"SSS":return T.s(K.$ms,3,"0");case"Z":return tt}return null}(Mt)||tt.replace(":","")})},W.utcOffset=function(){return 15*-Math.round(this.$d.getTimezoneOffset()/15)},W.diff=function(P,K,G){var V,tt=this,ct=T.p(K),gt=C(P),lt=(gt.utcOffset()-this.utcOffset())*r,wt=this-gt,Dt=function(){return T.m(tt,gt)};switch(ct){case g:V=Dt()/12;break;case f:V=Dt();break;case d:V=Dt()/3;break;case p:V=(wt-lt)/6048e5;break;case h:V=(wt-lt)/864e5;break;case c:V=wt/n;break;case l:V=wt/r;break;case a:V=wt/e;break;default:V=wt}return G?V:T.a(V)},W.daysInMonth=function(){return this.endOf(f).$D},W.$locale=function(){return F[this.$L]},W.locale=function(P,K){if(!P)return this.$L;var G=this.clone(),V=O(P,K,!0);return V&&(G.$L=V),G},W.clone=function(){return T.w(this.$d,this)},W.toDate=function(){return new Date(this.valueOf())},W.toJSON=function(){return this.isValid()?this.toISOString():null},W.toISOString=function(){return this.$d.toISOString()},W.toString=function(){return this.$d.toUTCString()},k}(),U=R.prototype;return C.prototype=U,[["$ms",s],["$s",a],["$m",l],["$H",c],["$W",h],["$M",f],["$y",g],["$D",w]].forEach(function(k){U[k[1]]=function(W){return this.$g(W,k[0],k[1])}}),C.extend=function(k,W){return k.$i||(k(W,R,C),k.$i=!0),C},C.locale=O,C.isDayjs=S,C.unix=function(k){return C(1e3*k)},C.en=F[x],C.Ls=F,C.p={},C})})(El);var Cp=El.exports,te=Yt(Cp),xl={exports:{}};(function(i,t){(function(e,r){i.exports=r()})(Wt,function(){var e="minute",r=/[+-]\d\d(?::?\d\d)?/g,n=/([+-]|\d\d)/g;return function(s,a,l){var c=a.prototype;l.utc=function(m){var D={date:m,utc:!0,args:arguments};return new a(D)},c.utc=function(m){var D=l(this.toDate(),{locale:this.$L,utc:!0});return m?D.add(this.utcOffset(),e):D},c.local=function(){return l(this.toDate(),{locale:this.$L,utc:!1})};var h=c.parse;c.parse=function(m){m.utc&&(this.$u=!0),this.$utils().u(m.$offset)||(this.$offset=m.$offset),h.call(this,m)};var p=c.init;c.init=function(){if(this.$u){var m=this.$d;this.$y=m.getUTCFullYear(),this.$M=m.getUTCMonth(),this.$D=m.getUTCDate(),this.$W=m.getUTCDay(),this.$H=m.getUTCHours(),this.$m=m.getUTCMinutes(),this.$s=m.getUTCSeconds(),this.$ms=m.getUTCMilliseconds()}else p.call(this)};var f=c.utcOffset;c.utcOffset=function(m,D){var v=this.$utils().u;if(v(m))return this.$u?0:v(this.$offset)?f.call(this):this.$offset;if(typeof m=="string"&&(m=function(x){x===void 0&&(x="");var F=x.match(r);if(!F)return null;var M=(""+F[0]).match(n)||["-",0,0],S=M[0],O=60*+M[1]+ +M[2];return O===0?0:S==="+"?O:-O}(m),m===null))return this;var E=Math.abs(m)<=16?60*m:m,b=this;if(D)return b.$offset=E,b.$u=m===0,b;if(m!==0){var N=this.$u?this.toDate().getTimezoneOffset():-1*this.utcOffset();(b=this.local().add(E+N,e)).$offset=E,b.$x.$localOffset=N}else b=this.utc();return b};var d=c.format;c.format=function(m){var D=m||(this.$u?"YYYY-MM-DDTHH:mm:ss[Z]":"");return d.call(this,D)},c.valueOf=function(){var m=this.$utils().u(this.$offset)?0:this.$offset+(this.$x.$localOffset||this.$d.getTimezoneOffset());return this.$d.valueOf()-6e4*m},c.isUTC=function(){return!!this.$u},c.toISOString=function(){return this.toDate().toISOString()},c.toString=function(){return this.toDate().toUTCString()};var g=c.toDate;c.toDate=function(m){return m==="s"&&this.$offset?l(this.format("YYYY-MM-DD HH:mm:ss:SSS")).toDate():g.call(this)};var w=c.diff;c.diff=function(m,D,v){if(m&&this.$u===m.$u)return w.call(this,m,D,v);var E=this.local(),b=l(m).local();return w.call(E,b,D,v)}}})})(xl);var Fp=xl.exports,Mp=Yt(Fp),Al={exports:{}};(function(i,t){(function(e,r){i.exports=r()})(Wt,function(){var e={year:0,month:1,day:2,hour:3,minute:4,second:5},r={};return function(n,s,a){var l,c=function(d,g,w){w===void 0&&(w={});var m=new Date(d),D=function(v,E){E===void 0&&(E={});var b=E.timeZoneName||"short",N=v+"|"+b,x=r[N];return x||(x=new Intl.DateTimeFormat("en-US",{hour12:!1,timeZone:v,year:"numeric",month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit",second:"2-digit",timeZoneName:b}),r[N]=x),x}(g,w);return D.formatToParts(m)},h=function(d,g){for(var w=c(d,g),m=[],D=0;D<w.length;D+=1){var v=w[D],E=v.type,b=v.value,N=e[E];N>=0&&(m[N]=parseInt(b,10))}var x=m[3],F=x===24?0:x,M=m[0]+"-"+m[1]+"-"+m[2]+" "+F+":"+m[4]+":"+m[5]+":000",S=+d;return(a.utc(M).valueOf()-(S-=S%1e3))/6e4},p=s.prototype;p.tz=function(d,g){d===void 0&&(d=l);var w=this.utcOffset(),m=this.toDate(),D=m.toLocaleString("en-US",{timeZone:d}),v=Math.round((m-new Date(D))/1e3/60),E=a(D,{locale:this.$L}).$set("millisecond",this.$ms).utcOffset(15*-Math.round(m.getTimezoneOffset()/15)-v,!0);if(g){var b=E.utcOffset();E=E.add(w-b,"minute")}return E.$x.$timezone=d,E},p.offsetName=function(d){var g=this.$x.$timezone||a.tz.guess(),w=c(this.valueOf(),g,{timeZoneName:d}).find(function(m){return m.type.toLowerCase()==="timezonename"});return w&&w.value};var f=p.startOf;p.startOf=function(d,g){if(!this.$x||!this.$x.$timezone)return f.call(this,d,g);var w=a(this.format("YYYY-MM-DD HH:mm:ss:SSS"),{locale:this.$L});return f.call(w,d,g).tz(this.$x.$timezone,!0)},a.tz=function(d,g,w){var m=w&&g,D=w||g||l,v=h(+a(),D);if(typeof d!="string")return a(d).tz(D);var E=function(F,M,S){var O=F-60*M*1e3,C=h(O,S);if(M===C)return[O,M];var T=h(O-=60*(C-M)*1e3,S);return C===T?[O,C]:[F-60*Math.min(C,T)*1e3,Math.max(C,T)]}(a.utc(d,m).valueOf(),v,D),b=E[0],N=E[1],x=a(b).utcOffset(N);return x.$x.$timezone=D,x},a.tz.guess=function(){return Intl.DateTimeFormat().resolvedOptions().timeZone},a.tz.setDefault=function(d){l=d}}})})(Al);var Np=Al.exports,Sp=Yt(Np),Cl={exports:{}};(function(i,t){(function(e,r){i.exports=r()})(Wt,function(){var e="week",r="year";return function(n,s,a){var l=s.prototype;l.week=function(c){if(c===void 0&&(c=null),c!==null)return this.add(7*(c-this.week()),"day");var h=this.$locale().yearStart||1;if(this.month()===11&&this.date()>25){var p=a(this).startOf(r).add(1,r).date(h),f=a(this).endOf(e);if(p.isBefore(f))return 1}var d=a(this).startOf(r).date(h).startOf(e).subtract(1,"millisecond"),g=this.diff(d,e,!0);return g<0?a(this).startOf("week").week():Math.ceil(g)},l.weeks=function(c){return c===void 0&&(c=null),this.week(c)}}})})(Cl);var Bp=Cl.exports,Tp=Yt(Bp);function _s(i){const t=parseInt(i)||1;let e=i.replace(/\d+/,"");return e==="m"||e==="M"?e="M":e?e=e.toLocaleLowerCase():e="m",[t,e]}function Ip(i=10){const t="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";let e="";const r=t.length;for(let n=0;n<i;n++)e+=t.charAt(Math.floor(Math.random()*r));return e}function Op(i){const t=/([+-])(\d{2})(\d{2})/,e=i.match(t);if(!e)throw new Error("Invalid timezone string");const[,r,n,s]=e;return(r==="+"?1:-1)*(parseInt(n,10)*60+parseInt(s,10))}function Nr(i,t){return t&&(t.startsWith("UTC")||t.startsWith("GMT"))?te(i).utcOffset(Op(t)):te(i).tz(t)}function Hr(i){const[t,e]=_s(i);let r=0;switch(e){case"m":r=60;break;case"s":r=1;break;case"M":r=31*24*60*60;break;case"d":r=24*60*60;break;case"w":r=7*24*60*60;break;default:r=60*60;break}return Math.round(Number(t)*r)}var qr=(i=>(i.BOOL="bool",i.INT="int",i.FLOAT="float",i.ARRAY="array",i.BOX="box",i.CHART_POINT="chart.point",i.COLOR="color",i.CONST="const",i.LABEL="label",i.LINE="line",i.LINEFILL="linefill",i.MAP="map",i.MATRIX="matrix",i.POLYLINE="polyline",i.SERIES="series",i.SIMPLE="simple",i.STRING="string",i.TABLE="table",i.UNDETERMINED="undetermined type",i.INPUT="input",i.NA="na",i.VOID="void",i))(qr||{}),ms=(i=>(i.dividends="dividends",i.none="none",i.splits="splits",i))(ms||{}),hn=(i=>(i.freqAll="freq_all",i.freqOncePerBar="freq_once_per_bar",i.freqOncePerBarClose="freq_once_per_bar_close",i))(hn||{}),Pi=(i=>(i.gapsOff="gaps_off",i.gapsOn="gaps_on",i.lookaheadOff="lookahead_off",i.lookaheadOn="lookahead_on",i))(Pi||{}),rr=(i=>(i.all="all",i.dataWindow="data_window",i.none="none",i.pane="pane",i.priceScale="price_scale",i.statusLine="status_line",i))(rr||{}),Rn=(i=>(i.both="both",i.left="left",i.none="none",i.right="right",i))(Rn||{}),Ln=(i=>(i.inherit="inherit",i.mintick="mintick",i.percent="percent",i.price="price",i.volume="volume",i))(Ln||{}),gs=(i=>(i.styleDashed="style_dashed",i.styleDotted="style_dotted",i.styleSolid="style_solid",i))(gs||{}),me=(i=>(i.styleArrowdown="style_arrowdown",i.styleArrowup="style_arrowup",i.styleCircle="style_circle",i.styleCross="style_cross",i.styleDiamond="style_diamond",i.styleFlag="style_flag",i.styleLabelCenter="style_label_center",i.styleLabelDown="style_label_down",i.styleLabelLeft="style_label_left",i.styleLabelLowerLeft="style_label_lower_left",i.styleLabelLowerRight="style_label_lower_right",i.styleLabelRight="style_label_right",i.styleLabelUp="style_label_up",i.styleLabelUpperLeft="style_label_upper_left",i.styleLabelUpperRight="style_label_upper_right",i.styleNone="style_none",i.styleSquare="style_square",i.styleTextOutline="style_text_outline",i.styleTriangledown="style_triangledown",i.styleTriangleup="style_triangleup",i.styleXcross="style_xcross",i))(me||{}),kr=(i=>(i.styleArrowBoth="style_arrow_both",i.styleArrowLeft="style_arrow_left",i.styleArrowRight="style_arrow_right",i.styleDashed="style_dashed",i.styleDotted="style_dotted",i.styleSolid="style_solid",i))(kr||{}),ii=(i=>(i.abovebar="abovebar",i.absolute="absolute",i.belowbar="belowbar",i.bottom="bottom",i.top="top",i))(ii||{}),Pn=(i=>(i.ascending="ascending",i.descending="descending",i))(Pn||{}),mr=(i=>(i.styleArea="Area",i.styleAreabr="Area With Breaks",i.styleCircles="Circles",i.styleColumns="Columns",i.styleCross="Cross",i.styleHistogram="Histogram",i.styleLine="Line",i.styleLinebr="Line With Breaks",i.styleStepline="Step Line",i.styleSteplineDiamond="Step Line With Diamonds",i.styleSteplinebr="Step line with Breaks",i))(mr||{}),Sr=(i=>(i.bottomCenter="bottom_center",i.bottomLeft="bottom_left",i.bottomRight="bottom_right",i.middleCenter="middle_center",i.middleLeft="middle_left",i.middleRight="middle_right",i.topCenter="top_center",i.topLeft="top_left",i.topRight="top_right",i))(Sr||{}),vs=(i=>(i.left="left",i.none="none",i.right="right",i))(vs||{}),ra=(i=>(i.extended="extended",i.regular="regular",i))(ra||{}),nr=(i=>(i.arrowdown="arrowdown",i.arrowup="arrowup",i.circle="circle",i.cross="cross",i.diamond="diamond",i.flag="flag",i.labeldown="labeldown",i.labelup="labelup",i.square="square",i.triangledown="triangledown",i.triangleup="triangleup",i.xcross="xcross",i))(nr||{}),Ur=(i=>(i.auto="auto",i.huge="huge",i.large="large",i.normal="normal",i.small="small",i.tiny="tiny",i))(Ur||{}),Ye=(i=>(i.cash="cash",i.fixed="fixed",i.percentOfEquity="percent_of_equity",i))(Ye||{}),Br=(i=>(i.cashPerContract="cash_per_contract",i.cashPerOrder="cash_per_order",i.percent="percent",i))(Br||{}),he=(i=>(i.all="all",i.long="long",i.short="short",i))(he||{}),zn=(i=>(i.cancel="cancel",i.none="none",i.reduce="reduce",i))(zn||{}),He=(i=>(i.alignBottom="align_bottom",i.alignCenter="align_center",i.alignLeft="align_left",i.alignRight="align_right",i.alignTop="align_top",i.wrapAuto="wrap_auto",i.wrapNone="wrap_none",i))(He||{}),Ie=(i=>(i.bar_index="bar_index",i.bar_time="bar_time",i))(Ie||{}),zi=(i=>(i.abovebar="abovebar",i.belowbar="belowbar",i.price="price",i))(zi||{}),ws=(i=>(i.actual="actual",i.estimate="estimate",i.standardized="standardized",i))(ws||{}),qn=(i=>(i.traditional="Traditional",i.fibonacci="Fibonacci",i.woodie="Woodie",i.classic="Classic",i.dm="DM",i.camarilla="Camarilla",i))(qn||{});class $p{new({size:t,initial_value:e}={}){return new Jt(t,e)}new_float({size:t,initial_value:e}={}){return new Jt(t,e)}new_int({size:t,initial_value:e}={}){return new Jt(t,e)}new_color({size:t,initial_value:e}={}){return new Jt(t,e)}new_bool({size:t,initial_value:e}={}){return new Jt(t,e)}new_string({size:t,initial_value:e}={}){return new Jt(t,e)}new_line({size:t,initial_value:e}={}){return new Jt(t,e)}new_box({size:t,initial_value:e}={}){return new Jt(t,e)}new_table({size:t,initial_value:e}={}){return new Jt(t,e)}new_linefill({size:t,initial_value:e}={}){return new Jt(t,e)}new_label({size:t,initial_value:e}={}){return new Jt(t,e)}copy({id:t}){return t==null?void 0:t.copy()}slice({id:t,index_from:e,index_to:r}){return t==null?void 0:t.slice({index_from:e,index_to:r})}size({id:t}){return t==null?void 0:t.size()}first({id:t}){return t==null?void 0:t.first()}abs({id:t}){return t==null?void 0:t.abs()}avg({id:t}){return t==null?void 0:t.avg()}binary_search({id:t,val:e}){return t==null?void 0:t.binary_search({val:e})}binary_search_leftmost({id:t,val:e}){return t==null?void 0:t.binary_search_leftmost({val:e})}binary_search_rightmost({id:t,val:e}){return t==null?void 0:t.binary_search_rightmost({val:e})}clear({id:t}){t==null||t.clear()}concat({id1:t,id2:e}){return t==null?void 0:t.concat({id2:e})}covariance({id1:t,id2:e,biased:r}){return t==null?void 0:t.covariance({id2:e,biased:r})}every({id:t}){return t==null?void 0:t.every()}from(t,e){const r=new Jt;return r._value=e,r}fill({id:t,value:e,index_from:r,index_to:n}){t==null||t.fill({value:e,index_from:r,index_to:n})}get({id:t,index:e}){return t==null?void 0:t.get({index:e})}includes({id:t,value:e}){return t==null?void 0:t.includes({value:e})}indexof({id:t,value:e}){return t==null?void 0:t.indexof({value:e})}insert({id:t,index:e,value:r}){t==null||t.insert({index:e,value:r})}join({id:t,separator:e}){return t==null?void 0:t.join({separator:e})}last({id:t}){return t==null?void 0:t.last()}lastindexof({id:t,value:e}){return t==null?void 0:t.lastindexof({value:e})}max({id:t,nth:e}){return t==null?void 0:t.max({nth:e})}median({id:t}){return t==null?void 0:t.median()}min({id:t,nth:e}){return t==null?void 0:t.min({nth:e})}mode({id:t}){return t==null?void 0:t.mode()}percentile_linear_interpolation({id:t,percentage:e}){return t==null?void 0:t.percentile_linear_interpolation({percentage:e})}percentile_nearest_rank({id:t,percentage:e}){return t==null?void 0:t.percentile_nearest_rank({percentage:e})}percentrank({id:t,index:e}){return t==null?void 0:t.percentrank({index:e})}pop({id:t}){return t==null?void 0:t.pop()}push({id:t,value:e}){t==null||t.push({value:e})}range({id:t}){return t==null?void 0:t.range()}remove({id:t,index:e}){return t==null?void 0:t.remove({index:e})}reverse({id:t}){return t==null?void 0:t.reverse()}set({id:t,index:e,value:r}){t==null||t.set({index:e,value:r})}shift({id:t}){return t==null?void 0:t.shift()}some({id:t}){return t==null?void 0:t.some()}sort({id:t,order:e}){t==null||t.sort({order:e})}sort_indices({id:t,order:e}){return t==null?void 0:t.sort_indices({order:e})}standardize({id:t}){return t==null?void 0:t.standardize()}stdev({id:t,biased:e}){return t==null?void 0:t.stdev({biased:e})}sum({id:t}){return t==null?void 0:t.sum()}unshift({id:t,value:e}){t==null||t.unshift({value:e})}variance({id:t,biased:e}){return t==null?void 0:t.variance({biased:e})}}class Jt{constructor(t=0,e){q(this,"_arrInstance");this._arrInstance=Array.from(new Array(t||0),()=>Mr.cloneDeep(e))}get isArray(){return!0}get _value(){return[...this._arrInstance]}set _value(t){this._arrInstance=[...t]}_deepCopyData(t){this._arrInstance=Mr.cloneDeep(t)}_copyData(t){this._arrInstance=t}copy(){const t=new Jt;return t._deepCopyData(this._arrInstance),t}slice({index_from:t,index_to:e}){const r=new Jt;return r._copyData(this._arrInstance.slice(t,e)),r}size(){return this._arrInstance.length}first(){return this._arrInstance[0]}abs(){const t=new Jt;this._verifySimpleType("number","abs","int/float");const e=this._arrInstance.map(r=>Math.abs(r));return t._copyData(e),t}avg(){return this._verifySimpleType("number","avg","int/float"),Mr.mean(this._arrInstance)}binary_search({val:t}){return this._verifySimpleType("number","binary_search","int/float"),this._binarySearch(this._arrInstance,t)}binary_search_leftmost({val:t}){return this._verifySimpleType("number","binary_search_leftmost","int/float"),this._binarySearchLeftMost(this._arrInstance,t)}binary_search_rightmost({val:t}){return this._verifySimpleType("number","binary_search_rightmost","int/float"),this._binarySearchRightMost(this._arrInstance,t)}clear(){this._arrInstance=[]}concat({id2:t}){return this._arrInstance=this._arrInstance.concat(t==null?void 0:t._value),this}covariance({id2:t,biased:e}){return this._verifySimpleType("number","covariance","int/float"),this._verifySimpleType("number","covariance","int/float",t==null?void 0:t._value),this._covariance(this._arrInstance,t._value,e)}every(){return this._verifySimpleType("number|boolean","every","int/float/bool"),this._arrInstance.every(t=>!!t)}fill({value:t,index_from:e,index_to:r}){this._arrInstance=this._setElements(this._arrInstance,t,e,r)}get({index:t}){return this._arrInstance[t]}includes({value:t}){return this._arrInstance.includes(t)}indexof({value:t}){return this._arrInstance.indexOf(t)}insert({index:t,value:e}){this._arrInstance.splice(t,0,e)}join({separator:t}={}){return this._verifySimpleType("number|string","join","int/float/string"),this._arrInstance.join(t)}last(){return this._arrInstance[this._arrInstance.length-1]}lastindexof({value:t}){return this._arrInstance.lastIndexOf(t)}max({nth:t}={}){return this._verifySimpleType("number","max","int/float"),this._maxNth([...this._arrInstance],t)}median(){return this._verifySimpleType("number","median","int/float"),this._median([...this._arrInstance])}min({nth:t}={}){return this._verifySimpleType("number","min","int/float"),this._minNth([...this._arrInstance],t)}mode(){return this._verifySimpleType("number","mode","int/float"),this._mode([...this._arrInstance])}percentile_linear_interpolation({percentage:t}){return this._verifySimpleType("number","percentile_linear_interpolation","int/float"),this._percentileLinearInterpolation([...this._arrInstance],t)}percentile_nearest_rank({percentage:t}){return this._verifySimpleType("number","percentile_nearest_rank","int/float"),this._getNearestRankPercentile([...this._arrInstance],t)}percentrank({index:t}){return this._verifySimpleType("number","percentrank","int/float"),this._getPercentileRank([...this._arrInstance],t)}pop(){return this._arrInstance.pop()}push({value:t}){this._arrInstance.push(t)}range(){if(this._arrInstance.length===0)throw new Error("Array must not be empty");this._verifySimpleType("number","range","int/float");const t=Math.min(...this._arrInstance);return Math.max(...this._arrInstance)-t}remove({index:t}){return this._arrInstance.splice(t,1)[0]}reverse(){this._arrInstance.reverse()}set({index:t,value:e}){this._arrInstance[t]=e}shift(){return this._arrInstance.shift()}some(){return this._verifySimpleType("number|boolean","some","int/float/bool"),this._arrInstance.some(t=>!!t)}sort({order:t}={}){this._verifySimpleType("number","sort","int/float"),this._arrInstance.sort((e,r)=>t!==Pn.descending?e-r:r-e)}sort_indices({order:t}={}){this._verifySimpleType("number","sort_indices","int/float");const e=this._arrInstance.map((n,s)=>s);e.sort((n,s)=>t!==Pn.descending?this._arrInstance[n]-this._arrInstance[s]:this._arrInstance[s]-this._arrInstance[n]);const r=new Jt;return r._copyData(e),r}standardize(){this._verifySimpleType("number","standardize","int/float");const t=new Jt;return t._copyData(this._standardizeArray([...this._arrInstance])),t}stdev({biased:t}={}){return this._verifySimpleType("number","stdev","int/float"),this._calculateStandardDeviations([...this._arrInstance],t)}sum(){return this._verifySimpleType("number","sum","int/float"),this._arrInstance.reduce((e,r)=>e+(r||0),0)}unshift({value:t}){this._arrInstance.unshift(t)}variance({biased:t}={}){return this._verifySimpleType("number","variance","int/float"),this._calculateVariances([...this._arrInstance],t)}_calculateVariances(t,e=!0){if(t.length===0)throw new Error("Array must not be empty");const r=t.reduce((a,l)=>a+(l||0),0)/t.length,n=t.reduce((a,l)=>a+((l||0)-r)**2,0),s=n/t.length;return e?s:t.length>1?n/(t.length-1):s}_calculateStandardDeviations(t,e=!0){if(t.length===0)throw new Error("Array must not be empty");const r=t.reduce((a,l)=>a+(l||0),0)/t.length,n=t.reduce((a,l)=>{const c=(l||0)-r;return a+c*c},0),s=Math.sqrt(n/t.length);return e?s:t.length>1?Math.sqrt(n/(t.length-1)):s}_standardizeArray(t){const e=t.reduce((s,a)=>s+(a||0),0)/t.length,r=Math.sqrt(t.reduce((s,a)=>s+Math.pow((a||0)-e,2),0)/t.length);return t.map(s=>((s||0)-e)/r)}_getPercentileRank(t,e=0){const r=t[e];let n=0;for(let a=0;a<t.length;a++)(t[a]<r||t[a]===r&&a!=e)&&n++;return n/(t.length-1)*100}_getNearestRankPercentile(t,e=0){if(t.length===0||e<0||e>100)throw new Error("Invalid percentile or empty array");const r=t.slice().sort((a,l)=>a-l),n=e/100*r.length,s=Math.ceil(n)-1;return r[s>=r.length?r.length-1:s]}_percentileLinearInterpolation(t,e=0){if(e<0||e>100)return;t.sort(function(s,a){return s-a});const r=t.length;e/=100;const n=1/(r*2);if(e<=n)return t[0];if(e>=1-1/(r*2))return t[r-1];for(const[s,a]of t.entries()){const l=t[s-1];if(e<(s+.5)/r)return l+(a-l)*(e-(s-.5)/r)/(1/r)}}_mode(t){const e={};let r=0;const n=[];for(const s of t)e[s]=(e[s]||0)+1,r=Math.max(r,e[s]);for(const s in e)e[s]===r&&n.push(Number(s));return Math.min(...r===1?t:n)}_median(t){t.sort(function(r,n){return r-n});const e=Math.floor(t.length/2);return t.length%2?t[e]:(t[e-1]+t[e])/2}_minNth(t,e=0){return t.sort(function(r,n){return r-n}),t[e]}_maxNth(t,e=0){return t.sort(function(r,n){return n-r}),t[e]}_setElements(t,e,r=0,n){n===void 0&&(n=t.length);for(let s=r;s<n;s++)t[s]=e;return t}_covariance(t,e,r=!0){if(t.length!=e.length)throw"Arrays have different lengths";t=t.filter(l=>l!==void 0),e=e.filter(l=>l!==void 0);const n=t.reduce((l,c)=>l+c,0)/t.length,s=e.reduce((l,c)=>l+c,0)/e.length;let a=0;for(let l=0;l<t.length;l++)a+=(t[l]-n)*(e[l]-s);return r?a/t.length:a/(t.length-1)}_verifySimpleType(t,e,r,n=this._arrInstance){if(n.filter(a=>a!==void 0).some(a=>!t.split("|").includes(typeof a)))throw Error(`数组类型错误,array.${e}方法只能使用${r}类型数组!`)}_binarySearch(t,e){let r=0,n=t.length-1;for(;r<=n;){const s=Math.floor((r+n)/2);if(t[s]===e)return s;t[s]<e?r=s+1:n=s-1}return-1}_binarySearchLeftMost(t,e){let r=0,n=t.length-1;const s=[];for(;r<=n;){const a=Math.floor((r+n)/2);t[a]===e&&s.push(a),t[a]<e?r=a+1:n=a-1}return s.length?Math.min(...s):r-1}_binarySearchRightMost(t,e){let r=0,n=t.length-1;const s=[];for(;r<=n;){const a=Math.floor((r+n)/2);t[a]===e&&s.push(a),t[a]<=e?r=a+1:n=a-1}return s.length?Math.max(...s):r}}class Rp{constructor(t){q(this,"_randomNums");q(this,"_mintick");q(this,"_cacheData");q(this,"_barIndex");this._mintick=t,this._randomNums={},this._cacheData={},this._barIndex=0}update(t){this._barIndex=t,this._randomNums={}}abs({number:t}){return Math.abs(t)}acos({angle:t}){const e=Math.acos(t);return isNaN(e)?void 0:e}asin({angle:t}){const e=Math.asin(t);return isNaN(e)?void 0:e}atan({angle:t}){const e=Math.atan(t);return isNaN(e)?void 0:e}avg(t,e){return Mr.mean(e)}ceil({number:t}){return Math.ceil(t)}floor({number:t}){return Math.floor(t)}cos({angle:t}){const e=Math.cos(t);return isNaN(e)?void 0:e}sin({angle:t}){const e=Math.sin(t);return isNaN(e)?void 0:e}tan({angle:t}){const e=Math.tan(t);return isNaN(e)?void 0:e}exp({number:t}){return Math.exp(t)}log({number:t}){return Math.log(t)}log10({number:t}){return Math.log10(t)}max(t,e){return Math.max(...e)}min(t,e){return Math.min(...e)}pow({base:t,exponent:e}){return Math.pow(t,e)}random({min:t=0,max:e=1,seed:r}){if(r&&this._randomNums[r])return this._randomNums[r];if(t>=e)throw new Error("min must be less than max");let n;do n=Math.random()*(e-t)+t;while(n===t||n===e);return r&&(this._randomNums[r]=n),n}round({number:t,precision:e}){return e?Number(t==null?void 0:t.toFixed(e)):Math.round(t)}round_to_mintick({number:t}){return Number(t==null?void 0:t.toFixed(this._mintick))}sign({number:t}){return t&&Math.sign(t)}sqrt({number:t}){return Math.sqrt(t)}sum({source:t,length:e=1},r){let n=this._cacheData[`sum_${r}`];n||(n=[]),n[this._barIndex]=t,this._cacheData[`sum_${r}`]=n;const s=n.filter(()=>!0);if(!(s.length<e))return Mr.sum(s.slice(-e))}todegrees({radians:t}){return t*(180/Math.PI)}toradians({degrees:t}){const e=t*(Math.PI/180);return Number(e.toFixed(this._mintick))}}function ys(){return ys=Object.assign?Object.assign.bind():function(i){for(var t=1;t<arguments.length;t++){var e=arguments[t];for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(i[r]=e[r])}return i},ys.apply(this,arguments)}var Fl={epsilon:1e-12,matrix:"Matrix",number:"number",precision:64,predictable:!1,randomSeed:null};function ue(i){return typeof i=="number"}function be(i){return!i||typeof i!="object"||typeof i.constructor!="function"?!1:i.isBigNumber===!0&&typeof i.constructor.prototype=="object"&&i.constructor.prototype.isBigNumber===!0||typeof i.constructor.isDecimal=="function"&&i.constructor.isDecimal(i)===!0}function Ml(i){return i&&typeof i=="object"&&Object.getPrototypeOf(i).isComplex===!0||!1}function Nl(i){return i&&typeof i=="object"&&Object.getPrototypeOf(i).isFraction===!0||!1}function Sl(i){return i&&i.constructor.prototype.isUnit===!0||!1}function Wr(i){return typeof i=="string"}var ge=Array.isArray;function ce(i){return i&&i.constructor.prototype.isMatrix===!0||!1}function qi(i){return Array.isArray(i)||ce(i)}function Lp(i){return i&&i.isDenseMatrix&&i.constructor.prototype.isMatrix===!0||!1}function Pp(i){return i&&i.isSparseMatrix&&i.constructor.prototype.isMatrix===!0||!1}function zp(i){return i&&i.constructor.prototype.isRange===!0||!1}function na(i){return i&&i.constructor.prototype.isIndex===!0||!1}function qp(i){return typeof i=="boolean"}function kp(i){return i&&i.constructor.prototype.isResultSet===!0||!1}function Up(i){return i&&i.constructor.prototype.isHelp===!0||!1}function Wp(i){return typeof i=="function"}function jp(i){return i instanceof Date}function Yp(i){return i instanceof RegExp}function ia(i){return!!(i&&typeof i=="object"&&i.constructor===Object&&!Ml(i)&&!Nl(i))}function Zp(i){return i===null}function Gp(i){return i===void 0}function Kp(i){return i&&i.isAccessorNode===!0&&i.constructor.prototype.isNode===!0||!1}function Hp(i){return i&&i.isArrayNode===!0&&i.constructor.prototype.isNode===!0||!1}function Jp(i){return i&&i.isAssignmentNode===!0&&i.constructor.prototype.isNode===!0||!1}function Xp(i){return i&&i.isBlockNode===!0&&i.constructor.prototype.isNode===!0||!1}function Vp(i){return i&&i.isConditionalNode===!0&&i.constructor.prototype.isNode===!0||!1}function Qp(i){return i&&i.isConstantNode===!0&&i.constructor.prototype.isNode===!0||!1}function td(i){return i&&i.isFunctionAssignmentNode===!0&&i.constructor.prototype.isNode===!0||!1}function ed(i){return i&&i.isFunctionNode===!0&&i.constructor.prototype.isNode===!0||!1}function rd(i){return i&&i.isIndexNode===!0&&i.constructor.prototype.isNode===!0||!1}function nd(i){return i&&i.isNode===!0&&i.constructor.prototype.isNode===!0||!1}function id(i){return i&&i.isObjectNode===!0&&i.constructor.prototype.isNode===!0||!1}function sd(i){return i&&i.isOperatorNode===!0&&i.constructor.prototype.isNode===!0||!1}function od(i){return i&&i.isParenthesisNode===!0&&i.constructor.prototype.isNode===!0||!1}function ad(i){return i&&i.isRangeNode===!0&&i.constructor.prototype.isNode===!0||!1}function ud(i){return i&&i.isRelationalNode===!0&&i.constructor.prototype.isNode===!0||!1}function ld(i){return i&&i.isSymbolNode===!0&&i.constructor.prototype.isNode===!0||!1}function cd(i){return i&&i.constructor.prototype.isChain===!0||!1}function pn(i){var t=typeof i;return t==="object"?i===null?"null":be(i)?"BigNumber":i.constructor&&i.constructor.name?i.constructor.name:"Object":t}function ee(i){var t=typeof i;if(t==="number"||t==="string"||t==="boolean"||i===null||i===void 0)return i;if(typeof i.clone=="function")return i.clone();if(Array.isArray(i))return i.map(function(e){return ee(e)});if(i instanceof Date)return new Date(i.valueOf());if(be(i))return i;if(ia(i))return fd(i,ee);throw new TypeError("Cannot clone: unknown type of value (value: ".concat(i,")"))}function fd(i,t){var e={};for(var r in i)ki(i,r)&&(e[r]=t(i[r]));return e}function Bl(i,t){for(var e in t)ki(t,e)&&(i[e]=t[e]);return i}function si(i,t){var e,r,n;if(Array.isArray(i)){if(!Array.isArray(t)||i.length!==t.length)return!1;for(r=0,n=i.length;r<n;r++)if(!si(i[r],t[r]))return!1;return!0}else{if(typeof i=="function")return i===t;if(i instanceof Object){if(Array.isArray(t)||!(t instanceof Object))return!1;for(e in i)if(!(e in t)||!si(i[e],t[e]))return!1;for(e in t)if(!(e in i))return!1;return!0}else return i===t}}function ki(i,t){return i&&Object.hasOwnProperty.call(i,t)}function hd(i,t){for(var e={},r=0;r<t.length;r++){var n=t[r],s=i[n];s!==void 0&&(e[n]=s)}return e}var pd=["Matrix","Array"],dd=["number","BigNumber","Fraction"],ir=function(t){if(t)throw new Error(`The global config is readonly.
|
28
28
|
Please create a mathjs instance if you want to change the default configuration.
|
29
29
|
Example:
|
30
30
|
|
31
31
|
import { create, all } from 'mathjs';
|
32
32
|
const mathjs = create(all);
|
33
33
|
mathjs.config({ number: 'BigNumber' });
|
34
|
-
`);return Object.freeze(Ml)};ys(ir,Ml,{MATRIX_OPTIONS:pd,NUMBER_OPTIONS:dd});function Il(){return!0}function gr(){return!1}function oi(){}const Ol="Argument is not a typed-function.";function $l(){function i($){return typeof $=="object"&&$!==null&&$.constructor===Object}const t=[{name:"number",test:function($){return typeof $=="number"}},{name:"string",test:function($){return typeof $=="string"}},{name:"boolean",test:function($){return typeof $=="boolean"}},{name:"Function",test:function($){return typeof $=="function"}},{name:"Array",test:Array.isArray},{name:"Date",test:function($){return $ instanceof Date}},{name:"RegExp",test:function($){return $ instanceof RegExp}},{name:"Object",test:i},{name:"null",test:function($){return $===null}},{name:"undefined",test:function($){return $===void 0}}],e={name:"any",test:Il,isAny:!0};let r,n,s=0,a={createCount:0};function l($){const Z=r.get($);if(Z)return Z;let H='Unknown type "'+$+'"';const nt=$.toLowerCase();let st;for(st of n)if(st.toLowerCase()===nt){H+='. Did you mean "'+st+'" ?';break}throw new TypeError(H)}function c($){let Z=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"any";const H=Z?l(Z).index:n.length,nt=[];for(let rt=0;rt<$.length;++rt){if(!$[rt]||typeof $[rt].name!="string"||typeof $[rt].test!="function")throw new TypeError("Object with properties {name: string, test: function} expected");const ft=$[rt].name;if(r.has(ft))throw new TypeError('Duplicate type name "'+ft+'"');nt.push(ft),r.set(ft,{name:ft,test:$[rt].test,isAny:$[rt].isAny,index:H+rt,conversionsTo:[]})}const st=n.slice(H);n=n.slice(0,H).concat(nt).concat(st);for(let rt=H+nt.length;rt<n.length;++rt)r.get(n[rt]).index=rt}function h(){r=new Map,n=[],s=0,c([e],!1)}h(),c(t);function p(){let $;for($ of n)r.get($).conversionsTo=[];s=0}function f($){const Z=n.filter(H=>{const nt=r.get(H);return!nt.isAny&&nt.test($)});return Z.length?Z:["any"]}function d($){return $&&typeof $=="function"&&"_typedFunctionData"in $}function g($,Z,H){if(!d($))throw new TypeError(Ol);const nt=H&&H.exact,st=Array.isArray(Z)?Z.join(","):Z,rt=N(st),ft=D(rt);if(!nt||ft in $.signatures){const Kt=$._typedFunctionData.signatureMap.get(ft);if(Kt)return Kt}const ut=rt.length;let ht;if(nt){ht=[];let Kt;for(Kt in $.signatures)ht.push($._typedFunctionData.signatureMap.get(Kt))}else ht=$._typedFunctionData.signatures;for(let Kt=0;Kt<ut;++Kt){const Vt=rt[Kt],de=[];let Oe;for(Oe of ht){const Se=S(Oe.params,Kt);if(!(!Se||Vt.restParam&&!Se.restParam)){if(!Se.hasAny){const ur=b(Se);if(Vt.types.some(lr=>!ur.has(lr.name)))continue}de.push(Oe)}}if(ht=de,ht.length===0)break}let at;for(at of ht)if(at.params.length<=ut)return at;throw new TypeError("Signature not found (signature: "+($.name||"unnamed")+"("+D(rt,", ")+"))")}function w($,Z,H){return g($,Z,H).implementation}function m($,Z){const H=l(Z);if(H.test($))return $;const nt=H.conversionsTo;if(nt.length===0)throw new Error("There are no conversions to "+Z+" defined.");for(let st=0;st<nt.length;st++)if(l(nt[st].from).test($))return nt[st].convert($);throw new Error("Cannot convert "+$+" to "+Z)}function D($){let Z=arguments.length>1&&arguments[1]!==void 0?arguments[1]:",";return $.map(H=>H.name).join(Z)}function v($){const Z=$.indexOf("...")===0,nt=(Z?$.length>3?$.slice(3):"any":$).split("|").map(ut=>l(ut.trim()));let st=!1,rt=Z?"...":"";return{types:nt.map(function(ut){return st=ut.isAny||st,rt+=ut.name+"|",{name:ut.name,typeIndex:ut.index,test:ut.test,isAny:ut.isAny,conversion:null,conversionIndex:-1}}),name:rt.slice(0,-1),hasAny:st,hasConversion:!1,restParam:Z}}function E($){const Z=$.types.map(ft=>ft.name),H=K(Z);let nt=$.hasAny,st=$.name;const rt=H.map(function(ft){const ut=l(ft.from);return nt=ut.isAny||nt,st+="|"+ft.from,{name:ft.from,typeIndex:ut.index,test:ut.test,isAny:ut.isAny,conversion:ft,conversionIndex:ft.index}});return{types:$.types.concat(rt),name:st,hasAny:nt,hasConversion:rt.length>0,restParam:$.restParam}}function b($){return $.typeSet||($.typeSet=new Set,$.types.forEach(Z=>$.typeSet.add(Z.name))),$.typeSet}function N($){const Z=[];if(typeof $!="string")throw new TypeError("Signatures must be strings");const H=$.trim();if(H==="")return Z;const nt=H.split(",");for(let st=0;st<nt.length;++st){const rt=v(nt[st].trim());if(rt.restParam&&st!==nt.length-1)throw new SyntaxError('Unexpected rest parameter "'+nt[st]+'": only allowed for the last parameter');if(rt.types.length===0)return null;Z.push(rt)}return Z}function x($){const Z=Tt($);return Z?Z.restParam:!1}function F($){if(!$||$.types.length===0)return Il;if($.types.length===1)return l($.types[0].name).test;if($.types.length===2){const Z=l($.types[0].name).test,H=l($.types[1].name).test;return function(st){return Z(st)||H(st)}}else{const Z=$.types.map(function(H){return l(H.name).test});return function(nt){for(let st=0;st<Z.length;st++)if(Z[st](nt))return!0;return!1}}}function M($){let Z,H,nt;if(x($)){Z=re($).map(F);const st=Z.length,rt=F(Tt($)),ft=function(ut){for(let ht=st;ht<ut.length;ht++)if(!rt(ut[ht]))return!1;return!0};return function(ht){for(let at=0;at<Z.length;at++)if(!Z[at](ht[at]))return!1;return ft(ht)&&ht.length>=st+1}}else return $.length===0?function(rt){return rt.length===0}:$.length===1?(H=F($[0]),function(rt){return H(rt[0])&&rt.length===1}):$.length===2?(H=F($[0]),nt=F($[1]),function(rt){return H(rt[0])&&nt(rt[1])&&rt.length===2}):(Z=$.map(F),function(rt){for(let ft=0;ft<Z.length;ft++)if(!Z[ft](rt[ft]))return!1;return rt.length===Z.length})}function S($,Z){return Z<$.length?$[Z]:x($)?Tt($):null}function O($,Z){const H=S($,Z);return H?b(H):new Set}function C($){return $.conversion===null||$.conversion===void 0}function T($,Z){const H=new Set;return $.forEach(nt=>{const st=O(nt.params,Z);let rt;for(rt of st)H.add(rt)}),H.has("any")?["any"]:Array.from(H)}function R($,Z,H){let nt,st;const rt=$||"unnamed";let ft=H,ut;for(ut=0;ut<Z.length;ut++){const Vt=[];if(ft.forEach(de=>{const Oe=S(de.params,ut),Se=F(Oe);(ut<de.params.length||x(de.params))&&Se(Z[ut])&&Vt.push(de)}),Vt.length===0){if(st=T(ft,ut),st.length>0){const de=f(Z[ut]);return nt=new TypeError("Unexpected type of argument in function "+rt+" (expected: "+st.join(" or ")+", actual: "+de.join(" | ")+", index: "+ut+")"),nt.data={category:"wrongType",fn:rt,index:ut,actual:de,expected:st},nt}}else ft=Vt}const ht=ft.map(function(Vt){return x(Vt.params)?1/0:Vt.params.length});if(Z.length<Math.min.apply(null,ht))return st=T(ft,ut),nt=new TypeError("Too few arguments in function "+rt+" (expected: "+st.join(" or ")+", index: "+Z.length+")"),nt.data={category:"tooFewArgs",fn:rt,index:Z.length,expected:st},nt;const at=Math.max.apply(null,ht);if(Z.length>at)return nt=new TypeError("Too many arguments in function "+rt+" (expected: "+at+", actual: "+Z.length+")"),nt.data={category:"tooManyArgs",fn:rt,index:Z.length,expectedLength:at},nt;const Kt=[];for(let Vt=0;Vt<Z.length;++Vt)Kt.push(f(Z[Vt]).join("|"));return nt=new TypeError('Arguments of type "'+Kt.join(", ")+'" do not match any of the defined signatures of function '+rt+"."),nt.data={category:"mismatch",actual:Kt},nt}function U($){let Z=n.length+1;for(let H=0;H<$.types.length;H++)C($.types[H])&&(Z=Math.min(Z,$.types[H].typeIndex));return Z}function k($){let Z=s+1;for(let H=0;H<$.types.length;H++)C($.types[H])||(Z=Math.min(Z,$.types[H].conversionIndex));return Z}function W($,Z){if($.hasAny){if(!Z.hasAny)return 1}else if(Z.hasAny)return-1;if($.restParam){if(!Z.restParam)return 1}else if(Z.restParam)return-1;if($.hasConversion){if(!Z.hasConversion)return 1}else if(Z.hasConversion)return-1;const H=U($)-U(Z);if(H<0)return-1;if(H>0)return 1;const nt=k($)-k(Z);return nt<0?-1:nt>0?1:0}function P($,Z){const H=$.params,nt=Z.params,st=Tt(H),rt=Tt(nt),ft=x(H),ut=x(nt);if(ft&&st.hasAny){if(!ut||!rt.hasAny)return 1}else if(ut&&rt.hasAny)return-1;let ht=0,at=0,Kt;for(Kt of H)Kt.hasAny&&++ht,Kt.hasConversion&&++at;let Vt=0,de=0;for(Kt of nt)Kt.hasAny&&++Vt,Kt.hasConversion&&++de;if(ht!==Vt)return ht-Vt;if(ft&&st.hasConversion){if(!ut||!rt.hasConversion)return 1}else if(ut&&rt.hasConversion)return-1;if(at!==de)return at-de;if(ft){if(!ut)return 1}else if(ut)return-1;const Oe=(H.length-nt.length)*(ft?-1:1);if(Oe!==0)return Oe;const Se=[];let ur=0;for(let xn=0;xn<H.length;++xn){const Gn=W(H[xn],nt[xn]);Se.push(Gn),ur+=Gn}if(ur!==0)return ur;let lr;for(lr of Se)if(lr!==0)return lr;return 0}function K($){if($.length===0)return[];const Z=$.map(l);$.length>1&&Z.sort((st,rt)=>st.index-rt.index);let H=Z[0].conversionsTo;if($.length===1)return H;H=H.concat([]);const nt=new Set($);for(let st=1;st<Z.length;++st){let rt;for(rt of Z[st].conversionsTo)nt.has(rt.from)||(H.push(rt),nt.add(rt.from))}return H}function G($,Z){let H=Z;if($.some(st=>st.hasConversion)){const st=x($),rt=$.map(V);H=function(){const ut=[],ht=st?arguments.length-1:arguments.length;for(let at=0;at<ht;at++)ut[at]=rt[at](arguments[at]);return st&&(ut[ht]=arguments[ht].map(rt[ht])),Z.apply(this,ut)}}let nt=H;if(x($)){const st=$.length-1;nt=function(){return H.apply(this,Mt(arguments,0,st).concat([Mt(arguments,st)]))}}return nt}function V($){let Z,H,nt,st;const rt=[],ft=[];switch($.types.forEach(function(ut){ut.conversion&&(rt.push(l(ut.conversion.from).test),ft.push(ut.conversion.convert))}),ft.length){case 0:return function(ht){return ht};case 1:return Z=rt[0],nt=ft[0],function(ht){return Z(ht)?nt(ht):ht};case 2:return Z=rt[0],H=rt[1],nt=ft[0],st=ft[1],function(ht){return Z(ht)?nt(ht):H(ht)?st(ht):ht};default:return function(ht){for(let at=0;at<ft.length;at++)if(rt[at](ht))return ft[at](ht);return ht}}}function tt($){function Z(H,nt,st){if(nt<H.length){const rt=H[nt];let ft=[];if(rt.restParam){const ut=rt.types.filter(C);ut.length<rt.types.length&&ft.push({types:ut,name:"..."+ut.map(ht=>ht.name).join("|"),hasAny:ut.some(ht=>ht.isAny),hasConversion:!1,restParam:!0}),ft.push(rt)}else ft=rt.types.map(function(ut){return{types:[ut],name:ut.name,hasAny:ut.isAny,hasConversion:ut.conversion,restParam:!1}});return Xt(ft,function(ut){return Z(H,nt+1,st.concat([ut]))})}else return[st]}return Z($,0,[])}function ct($,Z){const H=Math.max($.length,Z.length);for(let ut=0;ut<H;ut++){const ht=O($,ut),at=O(Z,ut);let Kt=!1,Vt;for(Vt of at)if(ht.has(Vt)){Kt=!0;break}if(!Kt)return!1}const nt=$.length,st=Z.length,rt=x($),ft=x(Z);return rt?ft?nt===st:st>=nt:ft?nt>=st:nt===st}function gt($){return $.map(Z=>Ne(Z)?Fe(Z.referToSelf.callback):or(Z)?Gt(Z.referTo.references,Z.referTo.callback):Z)}function lt($,Z,H){const nt=[];let st;for(st of $){let rt=H[st];if(typeof rt!="number")throw new TypeError('No definition for referenced signature "'+st+'"');if(rt=Z[rt],typeof rt!="function")return!1;nt.push(rt)}return nt}function wt($,Z,H){const nt=gt($),st=new Array(nt.length).fill(!1);let rt=!0;for(;rt;){rt=!1;let ft=!0;for(let ut=0;ut<nt.length;++ut){if(st[ut])continue;const ht=nt[ut];if(Ne(ht))nt[ut]=ht.referToSelf.callback(H),nt[ut].referToSelf=ht.referToSelf,st[ut]=!0,ft=!1;else if(or(ht)){const at=lt(ht.referTo.references,nt,Z);at?(nt[ut]=ht.referTo.callback.apply(this,at),nt[ut].referTo=ht.referTo,st[ut]=!0,ft=!1):rt=!0}}if(ft&&rt)throw new SyntaxError("Circular reference detected in resolving typed.referTo")}return nt}function Dt($){const Z=/\bthis(\(|\.signatures\b)/;Object.keys($).forEach(H=>{const nt=$[H];if(Z.test(nt.toString()))throw new SyntaxError("Using `this` to self-reference a function is deprecated since typed-function@3. Use typed.referTo and typed.referToSelf instead.")})}function St($,Z){if(a.createCount++,Object.keys(Z).length===0)throw new SyntaxError("No signatures provided");a.warnAgainstDeprecatedThis&&Dt(Z);const H=[],nt=[],st={},rt=[];let ft;for(ft in Z){if(!Object.prototype.hasOwnProperty.call(Z,ft))continue;const jt=N(ft);if(!jt)continue;H.forEach(function(An){if(ct(An,jt))throw new TypeError('Conflicting signatures "'+D(An)+'" and "'+D(jt)+'".')}),H.push(jt);const Ue=nt.length;nt.push(Z[ft]);const uu=jt.map(E);let Ei;for(Ei of tt(uu)){const An=D(Ei);rt.push({params:Ei,name:An,fn:Ue}),Ei.every(po=>!po.hasConversion)&&(st[An]=Ue)}}rt.sort(P);const ut=wt(nt,st,Kn);let ht;for(ht in st)Object.prototype.hasOwnProperty.call(st,ht)&&(st[ht]=ut[st[ht]]);const at=[],Kt=new Map;for(ht of rt)Kt.has(ht.name)||(ht.fn=ut[ht.fn],at.push(ht),Kt.set(ht.name,ht));const Vt=at[0]&&at[0].params.length<=2&&!x(at[0].params),de=at[1]&&at[1].params.length<=2&&!x(at[1].params),Oe=at[2]&&at[2].params.length<=2&&!x(at[2].params),Se=at[3]&&at[3].params.length<=2&&!x(at[3].params),ur=at[4]&&at[4].params.length<=2&&!x(at[4].params),lr=at[5]&&at[5].params.length<=2&&!x(at[5].params),xn=Vt&&de&&Oe&&Se&&ur&&lr;for(let jt=0;jt<at.length;++jt)at[jt].test=M(at[jt].params);const Gn=Vt?F(at[0].params[0]):gr,co=de?F(at[1].params[0]):gr,qa=Oe?F(at[2].params[0]):gr,ka=Se?F(at[3].params[0]):gr,Ua=ur?F(at[4].params[0]):gr,Wa=lr?F(at[5].params[0]):gr,fo=Vt?F(at[0].params[1]):gr,ja=de?F(at[1].params[1]):gr,Ya=Oe?F(at[2].params[1]):gr,Za=Se?F(at[3].params[1]):gr,Vi=ur?F(at[4].params[1]):gr,Ga=lr?F(at[5].params[1]):gr;for(let jt=0;jt<at.length;++jt)at[jt].implementation=G(at[jt].params,at[jt].fn);const Qi=Vt?at[0].implementation:oi,Ka=de?at[1].implementation:oi,Ha=Oe?at[2].implementation:oi,Ja=Se?at[3].implementation:oi,Xa=ur?at[4].implementation:oi,Va=lr?at[5].implementation:oi,Qa=Vt?at[0].params.length:-1,tu=de?at[1].params.length:-1,eu=Oe?at[2].params.length:-1,ho=Se?at[3].params.length:-1,ru=ur?at[4].params.length:-1,nu=lr?at[5].params.length:-1,iu=xn?6:0,su=at.length,ou=at.map(jt=>jt.test),au=at.map(jt=>jt.implementation),bi=function(){for(let Ue=iu;Ue<su;Ue++)if(ou[Ue](arguments))return au[Ue].apply(this,arguments);return a.onMismatch($,arguments,at)};function Kn(jt,Ue){return arguments.length===Qa&&Gn(jt)&&fo(Ue)?Qi.apply(this,arguments):arguments.length===tu&&co(jt)&&ja(Ue)?Ka.apply(this,arguments):arguments.length===eu&&qa(jt)&&Ya(Ue)?Ha.apply(this,arguments):arguments.length===ho&&ka(jt)&&Za(Ue)?Ja.apply(this,arguments):arguments.length===ru&&Ua(jt)&&Vi(Ue)?Xa.apply(this,arguments):arguments.length===nu&&Wa(jt)&&Ga(Ue)?Va.apply(this,arguments):bi.apply(this,arguments)}try{Object.defineProperty(Kn,"name",{value:$})}catch{}return Kn.signatures=st,Kn._typedFunctionData={signatures:at,signatureMap:Kt},Kn}function bt($,Z,H){throw R($,Z,H)}function re($){return Mt($,0,$.length-1)}function Tt($){return $[$.length-1]}function Mt($,Z,H){return Array.prototype.slice.call($,Z,H)}function ie($,Z){for(let H=0;H<$.length;H++)if(Z($[H]))return $[H]}function Xt($,Z){return Array.prototype.concat.apply([],$.map(Z))}function zt(){const $=re(arguments).map(H=>D(N(H))),Z=Tt(arguments);if(typeof Z!="function")throw new TypeError("Callback function expected as last argument");return Gt($,Z)}function Gt($,Z){return{referTo:{references:$,callback:Z}}}function Fe($){if(typeof $!="function")throw new TypeError("Callback function expected as first argument");return{referToSelf:{callback:$}}}function or($){return $&&typeof $.referTo=="object"&&Array.isArray($.referTo.references)&&typeof $.referTo.callback=="function"}function Ne($){return $&&typeof $.referToSelf=="object"&&typeof $.referToSelf.callback=="function"}function tn($,Z){if(!$)return Z;if(Z&&Z!==$){const H=new Error("Function names do not match (expected: "+$+", actual: "+Z+")");throw H.data={actual:Z,expected:$},H}return $}function bn($){let Z;for(const H in $)Object.prototype.hasOwnProperty.call($,H)&&(d($[H])||typeof $[H].signature=="string")&&(Z=tn(Z,$[H].name));return Z}function en($,Z){let H;for(H in Z)if(Object.prototype.hasOwnProperty.call(Z,H)){if(H in $&&Z[H]!==$[H]){const nt=new Error('Signature "'+H+'" is defined twice');throw nt.data={signature:H,sourceFunction:Z[H],destFunction:$[H]},nt}$[H]=Z[H]}}const ar=a;a=function($){const Z=typeof $=="string",H=Z?1:0;let nt=Z?$:"";const st={};for(let rt=H;rt<arguments.length;++rt){const ft=arguments[rt];let ut={},ht;if(typeof ft=="function"?(ht=ft.name,typeof ft.signature=="string"?ut[ft.signature]=ft:d(ft)&&(ut=ft.signatures)):i(ft)&&(ut=ft,Z||(ht=bn(ft))),Object.keys(ut).length===0){const at=new TypeError("Argument to 'typed' at index "+rt+" is not a (typed) function, nor an object with signatures as keys and functions as values.");throw at.data={index:rt,argument:ft},at}Z||(nt=tn(nt,ht)),en(st,ut)}return St(nt||"",st)},a.create=$l,a.createCount=ar.createCount,a.onMismatch=bt,a.throwMismatchError=bt,a.createError=R,a.clear=h,a.clearConversions=p,a.addTypes=c,a._findType=l,a.referTo=zt,a.referToSelf=Fe,a.convert=m,a.findSignature=g,a.find=w,a.isTypedFunction=d,a.warnAgainstDeprecatedThis=!0,a.addType=function($,Z){let H="any";Z!==!1&&r.has("Object")&&(H="Object"),a.addTypes([$],H)};function En($){if(!$||typeof $.from!="string"||typeof $.to!="string"||typeof $.convert!="function")throw new TypeError("Object with properties {from: string, to: string, convert: function} expected");if($.to===$.from)throw new SyntaxError('Illegal to define conversion from "'+$.from+'" to itself.')}return a.addConversion=function($){En($);const Z=l($.to);if(Z.conversionsTo.every(function(H){return H.from!==$.from}))Z.conversionsTo.push({from:$.from,convert:$.convert,index:s++});else throw new Error('There is already a conversion from "'+$.from+'" to "'+Z.name+'"')},a.addConversions=function($){$.forEach(a.addConversion)},a.removeConversion=function($){En($);const Z=l($.to),H=ie(Z.conversionsTo,st=>st.from===$.from);if(!H)throw new Error("Attempt to remove nonexistent conversion from "+$.from+" to "+$.to);if(H.convert!==$.convert)throw new Error("Conversion to remove does not match existing conversion");const nt=Z.conversionsTo.indexOf(H);Z.conversionsTo.splice(nt,1)},a.resolve=function($,Z){if(!d($))throw new TypeError(Ol);const H=$._typedFunctionData.signatures;for(let nt=0;nt<H.length;++nt)if(H[nt].test(Z))return H[nt];return null},a}var Rl=$l();function pe(i){return typeof i=="boolean"?!0:isFinite(i)?i===Math.round(i):!1}function sa(i,t,e){var r={2:"0b",8:"0o",16:"0x"},n=r[t],s="";if(e){if(e<1)throw new Error("size must be in greater than 0");if(!pe(e))throw new Error("size must be an integer");if(i>2**(e-1)-1||i<-(2**(e-1)))throw new Error("Value must be in range [-2^".concat(e-1,", 2^").concat(e-1,"-1]"));if(!pe(i))throw new Error("Value must be an integer");i<0&&(i=i+2**e),s="i".concat(e)}var a="";return i<0&&(i=-i,a="-"),"".concat(a).concat(n).concat(i.toString(t)).concat(s)}function oa(i,t){if(typeof t=="function")return t(i);if(i===1/0)return"Infinity";if(i===-1/0)return"-Infinity";if(isNaN(i))return"NaN";var{notation:e,precision:r,wordSize:n}=Ll(t);switch(e){case"fixed":return md(i,r);case"exponential":return Pl(i,r);case"engineering":return _d(i,r);case"bin":return sa(i,2,n);case"oct":return sa(i,8,n);case"hex":return sa(i,16,n);case"auto":return gd(i,r,t).replace(/((\.\d*?)(0+))($|e)/,function(){var s=arguments[2],a=arguments[4];return s!=="."?s+a:a});default:throw new Error('Unknown notation "'+e+'". Choose "auto", "exponential", "fixed", "bin", "oct", or "hex.')}}function Ll(i){var t="auto",e,r;if(i!==void 0)if(ue(i))e=i;else if(be(i))e=i.toNumber();else if(ia(i))i.precision!==void 0&&(e=zl(i.precision,()=>{throw new Error('Option "precision" must be a number or BigNumber')})),i.wordSize!==void 0&&(r=zl(i.wordSize,()=>{throw new Error('Option "wordSize" must be a number or BigNumber')})),i.notation&&(t=i.notation);else throw new Error("Unsupported type of options, number, BigNumber, or object expected");return{notation:t,precision:e,wordSize:r}}function Ds(i){var t=String(i).toLowerCase().match(/^(-?)(\d+\.?\d*)(e([+-]?\d+))?$/);if(!t)throw new SyntaxError("Invalid number "+i);var e=t[1],r=t[2],n=parseFloat(t[4]||"0"),s=r.indexOf(".");n+=s!==-1?s-1:r.length-1;var a=r.replace(".","").replace(/^0*/,function(l){return n-=l.length,""}).replace(/0*$/,"").split("").map(function(l){return parseInt(l)});return a.length===0&&(a.push(0),n++),{sign:e,coefficients:a,exponent:n}}function _d(i,t){if(isNaN(i)||!isFinite(i))return String(i);var e=Ds(i),r=bs(e,t),n=r.exponent,s=r.coefficients,a=n%3===0?n:n<0?n-3-n%3:n-n%3;if(ue(t))for(;t>s.length||n-a+1>s.length;)s.push(0);else for(var l=Math.abs(n-a)-(s.length-1),c=0;c<l;c++)s.push(0);for(var h=Math.abs(n-a),p=1;h>0;)p++,h--;var f=s.slice(p).join(""),d=ue(t)&&f.length||f.match(/[1-9]/)?"."+f:"",g=s.slice(0,p).join("")+d+"e"+(n>=0?"+":"")+a.toString();return r.sign+g}function md(i,t){if(isNaN(i)||!isFinite(i))return String(i);var e=Ds(i),r=typeof t=="number"?bs(e,e.exponent+1+t):e,n=r.coefficients,s=r.exponent+1,a=s+(t||0);return n.length<a&&(n=n.concat(ai(a-n.length))),s<0&&(n=ai(-s+1).concat(n),s=1),s<n.length&&n.splice(s,0,s===0?"0.":"."),r.sign+n.join("")}function Pl(i,t){if(isNaN(i)||!isFinite(i))return String(i);var e=Ds(i),r=t?bs(e,t):e,n=r.coefficients,s=r.exponent;n.length<t&&(n=n.concat(ai(t-n.length)));var a=n.shift();return r.sign+a+(n.length>0?"."+n.join(""):"")+"e"+(s>=0?"+":"")+s}function gd(i,t,e){if(isNaN(i)||!isFinite(i))return String(i);var r=ql(e==null?void 0:e.lowerExp,-3),n=ql(e==null?void 0:e.upperExp,5),s=Ds(i),a=t?bs(s,t):s;if(a.exponent<r||a.exponent>=n)return Pl(i,t);var l=a.coefficients,c=a.exponent;l.length<t&&(l=l.concat(ai(t-l.length))),l=l.concat(ai(c-l.length+1+(l.length<t?t-l.length:0))),l=ai(-c).concat(l);var h=c>0?c:0;return h<l.length-1&&l.splice(h+1,0,"."),a.sign+l.join("")}function bs(i,t){for(var e={sign:i.sign,coefficients:i.coefficients,exponent:i.exponent},r=e.coefficients;t<=0;)r.unshift(0),e.exponent++,t++;if(r.length>t){var n=r.splice(t,r.length-t);if(n[0]>=5){var s=t-1;for(r[s]++;r[s]===10;)r.pop(),s===0&&(r.unshift(0),e.exponent++,s++),s--,r[s]++}}return e}function ai(i){for(var t=[],e=0;e<i;e++)t.push(0);return t}function vd(i){return i.toExponential().replace(/e.*$/,"").replace(/^0\.?0*|\./,"").length}var wd=Number.EPSILON||2220446049250313e-31;function kn(i,t,e){if(e==null)return i===t;if(i===t)return!0;if(isNaN(i)||isNaN(t))return!1;if(isFinite(i)&&isFinite(t)){var r=Math.abs(i-t);return r<=wd?!0:r<=Math.max(Math.abs(i),Math.abs(t))*e}return!1}function zl(i,t){if(ue(i))return i;if(be(i))return i.toNumber();t()}function ql(i,t){return ue(i)?i:be(i)?i.toNumber():t}function aa(i,t,e){var r=i.constructor,n=new r(2),s="";if(e){if(e<1)throw new Error("size must be in greater than 0");if(!pe(e))throw new Error("size must be an integer");if(i.greaterThan(n.pow(e-1).sub(1))||i.lessThan(n.pow(e-1).mul(-1)))throw new Error("Value must be in range [-2^".concat(e-1,", 2^").concat(e-1,"-1]"));if(!i.isInteger())throw new Error("Value must be an integer");i.lessThan(0)&&(i=i.add(n.pow(e))),s="i".concat(e)}switch(t){case 2:return"".concat(i.toBinary()).concat(s);case 8:return"".concat(i.toOctal()).concat(s);case 16:return"".concat(i.toHexadecimal()).concat(s);default:throw new Error("Base ".concat(t," not supported "))}}function yd(i,t){if(typeof t=="function")return t(i);if(!i.isFinite())return i.isNaN()?"NaN":i.gt(0)?"Infinity":"-Infinity";var{notation:e,precision:r,wordSize:n}=Ll(t);switch(e){case"fixed":return bd(i,r);case"exponential":return kl(i,r);case"engineering":return Dd(i,r);case"bin":return aa(i,2,n);case"oct":return aa(i,8,n);case"hex":return aa(i,16,n);case"auto":{var s=Ul(t==null?void 0:t.lowerExp,-3),a=Ul(t==null?void 0:t.upperExp,5);if(i.isZero())return"0";var l,c=i.toSignificantDigits(r),h=c.e;return h>=s&&h<a?l=c.toFixed():l=kl(i,r),l.replace(/((\.\d*?)(0+))($|e)/,function(){var p=arguments[2],f=arguments[4];return p!=="."?p+f:f})}default:throw new Error('Unknown notation "'+e+'". Choose "auto", "exponential", "fixed", "bin", "oct", or "hex.')}}function Dd(i,t){var e=i.e,r=e%3===0?e:e<0?e-3-e%3:e-e%3,n=i.mul(Math.pow(10,-r)),s=n.toPrecision(t);if(s.indexOf("e")!==-1){var a=i.constructor;s=new a(s).toFixed()}return s+"e"+(e>=0?"+":"")+r.toString()}function kl(i,t){return t!==void 0?i.toExponential(t-1):i.toExponential()}function bd(i,t){return i.toFixed(t)}function Ul(i,t){return ue(i)?i:be(i)?i.toNumber():t}function se(i,t){var e=Ed(i,t);return t&&typeof t=="object"&&"truncate"in t&&e.length>t.truncate?e.substring(0,t.truncate-3)+"...":e}function Ed(i,t){if(typeof i=="number")return oa(i,t);if(be(i))return yd(i,t);if(xd(i))return!t||t.fraction!=="decimal"?i.s*i.n+"/"+i.d:i.toString();if(Array.isArray(i))return Yl(i,t);if(Wr(i))return Wl(i);if(typeof i=="function")return i.syntax?String(i.syntax):"function";if(i&&typeof i=="object"){if(typeof i.format=="function")return i.format(t);if(i&&i.toString(t)!=={}.toString())return i.toString(t);var e=Object.keys(i).map(r=>Wl(r)+": "+se(i[r],t));return"{"+e.join(", ")+"}"}return String(i)}function Wl(i){for(var t=String(i),e="",r=0;r<t.length;){var n=t.charAt(r);e+=n in jl?jl[n]:n,r++}return'"'+e+'"'}var jl={'"':'\\"',"\\":"\\\\","\b":"\\b","\f":"\\f","\n":"\\n","\r":"\\r"," ":"\\t"};function Yl(i,t){if(Array.isArray(i)){for(var e="[",r=i.length,n=0;n<r;n++)n!==0&&(e+=", "),e+=Yl(i[n],t);return e+="]",e}else return se(i,t)}function xd(i){return i&&typeof i=="object"&&typeof i.s=="number"&&typeof i.n=="number"&&typeof i.d=="number"||!1}function Zt(i,t,e){if(!(this instanceof Zt))throw new SyntaxError("Constructor must be called with the new operator");this.actual=i,this.expected=t,this.relation=e,this.message="Dimension mismatch ("+(Array.isArray(i)?"["+i.join(", ")+"]":i)+" "+(this.relation||"!=")+" "+(Array.isArray(t)?"["+t.join(", ")+"]":t)+")",this.stack=new Error().stack}Zt.prototype=new RangeError,Zt.prototype.constructor=RangeError,Zt.prototype.name="DimensionError",Zt.prototype.isDimensionError=!0;function dn(i,t,e){if(!(this instanceof dn))throw new SyntaxError("Constructor must be called with the new operator");this.index=i,arguments.length<3?(this.min=0,this.max=t):(this.min=t,this.max=e),this.min!==void 0&&this.index<this.min?this.message="Index out of range ("+this.index+" < "+this.min+")":this.max!==void 0&&this.index>=this.max?this.message="Index out of range ("+this.index+" > "+(this.max-1)+")":this.message="Index out of range ("+this.index+")",this.stack=new Error().stack}dn.prototype=new RangeError,dn.prototype.constructor=RangeError,dn.prototype.name="IndexError",dn.prototype.isIndexError=!0;function Ae(i){for(var t=[];Array.isArray(i);)t.push(i.length),i=i[0];return t}function Zl(i,t,e){var r,n=i.length;if(n!==t[e])throw new Zt(n,t[e]);if(e<t.length-1){var s=e+1;for(r=0;r<n;r++){var a=i[r];if(!Array.isArray(a))throw new Zt(t.length-1,t.length,"<");Zl(i[r],t,s)}}else for(r=0;r<n;r++)if(Array.isArray(i[r]))throw new Zt(t.length+1,t.length,">")}function Gl(i,t){var e=t.length===0;if(e){if(Array.isArray(i))throw new Zt(i.length,0)}else Zl(i,t,0)}function ve(i,t){if(i!==void 0){if(!ue(i)||!pe(i))throw new TypeError("Index must be an integer (value: "+i+")");if(i<0||typeof t=="number"&&i>=t)throw new dn(i,t)}}function ua(i,t,e){if(!Array.isArray(t))throw new TypeError("Array expected");if(t.length===0)throw new Error("Resizing to scalar is not supported");t.forEach(function(n){if(!ue(n)||!pe(n)||n<0)throw new TypeError("Invalid size, must contain positive integers (size: "+se(t)+")")}),(ue(i)||be(i))&&(i=[i]);var r=e!==void 0?e:0;return la(i,t,0,r),i}function la(i,t,e,r){var n,s,a=i.length,l=t[e],c=Math.min(a,l);if(i.length=l,e<t.length-1){var h=e+1;for(n=0;n<c;n++)s=i[n],Array.isArray(s)||(s=[s],i[n]=s),la(s,t,h,r);for(n=c;n<l;n++)s=[],i[n]=s,la(s,t,h,r)}else{for(n=0;n<c;n++)for(;Array.isArray(i[n]);)i[n]=i[n][0];for(n=c;n<l;n++)i[n]=r}}function ca(i,t){var e=ha(i),r=e.length;if(!Array.isArray(i)||!Array.isArray(t))throw new TypeError("Array expected");if(t.length===0)throw new Zt(0,r,"!=");t=fa(t,r);var n=Kl(t);if(r!==n)throw new Zt(n,r,"!=");try{return Ad(e,t)}catch(s){throw s instanceof Zt?new Zt(n,r,"!="):s}}function fa(i,t){var e=Kl(i),r=i.slice(),n=-1,s=i.indexOf(n),a=i.indexOf(n,s+1)>=0;if(a)throw new Error("More than one wildcard in sizes");var l=s>=0,c=t%e===0;if(l)if(c)r[s]=-t/e;else throw new Error("Could not replace wildcard, since "+t+" is no multiple of "+-e);return r}function Kl(i){return i.reduce((t,e)=>t*e,1)}function Ad(i,t){for(var e=i,r,n=t.length-1;n>0;n--){var s=t[n];r=[];for(var a=e.length/s,l=0;l<a;l++)r.push(e.slice(l*s,(l+1)*s));e=r}return e}function Hl(i,t,e,r){var n=r||Ae(i);if(e)for(var s=0;s<e;s++)i=[i],n.unshift(1);for(i=Jl(i,t,0);n.length<t;)n.push(1);return i}function Jl(i,t,e){var r,n;if(Array.isArray(i)){var s=e+1;for(r=0,n=i.length;r<n;r++)i[r]=Jl(i[r],t,s)}else for(var a=e;a<t;a++)i=[i];return i}function ha(i){if(!Array.isArray(i))return i;var t=[];return i.forEach(function e(r){Array.isArray(r)?r.forEach(e):t.push(r)}),t}function Es(i,t){for(var e,r=0,n=0;n<i.length;n++){var s=i[n],a=Array.isArray(s);if(n===0&&a&&(r=s.length),a&&s.length!==r)return;var l=a?Es(s,t):t(s);if(e===void 0)e=l;else if(e!==l)return"mixed"}return e}function Xl(i,t,e,r){if(r<e){if(i.length!==t.length)throw new Zt(i.length,t.length);for(var n=[],s=0;s<i.length;s++)n[s]=Xl(i[s],t[s],e,r+1);return n}else return i.concat(t)}function Vl(){var i=Array.prototype.slice.call(arguments,0,-1),t=Array.prototype.slice.call(arguments,-1);if(i.length===1)return i[0];if(i.length>1)return i.slice(1).reduce(function(e,r){return Xl(e,r,t,0)},i[0]);throw new Error("Wrong number of arguments in function concat")}function Cd(){for(var i=arguments.length,t=new Array(i),e=0;e<i;e++)t[e]=arguments[e];for(var r=t.map(d=>d.length),n=Math.max(...r),s=new Array(n).fill(null),a=0;a<t.length;a++)for(var l=t[a],c=r[a],h=0;h<c;h++){var p=n-c+h;l[h]>s[p]&&(s[p]=l[h])}for(var f=0;f<t.length;f++)xs(t[f],s);return s}function xs(i,t){for(var e=t.length,r=i.length,n=0;n<r;n++){var s=e-r+n;if(i[n]<t[s]&&i[n]>1||i[n]>t[s])throw new Error("shape missmatch: missmatch is found in arg with shape (".concat(i,") not possible to broadcast dimension ").concat(r," with size ").concat(i[n]," to size ").concat(t[s]))}}function Ql(i,t){var e=Ae(i);if(si(e,t))return i;xs(e,t);var r=Cd(e,t),n=r.length,s=[...Array(n-e.length).fill(1),...e],a=Md(i);e.length<n&&(a=ca(a,s),e=Ae(a));for(var l=0;l<n;l++)e[l]<r[l]&&(a=Fd(a,r[l],l),e=Ae(a));return a}function Fd(i,t,e){return Vl(...Array(t).fill(i),e)}function Md(i){return ys([],i)}function _t(i,t,e,r){function n(s){var a=hd(s,t.map(Bd));return Nd(i,t,s),e(a)}return n.isFactory=!0,n.fn=i,n.dependencies=t.slice().sort(),r&&(n.meta=r),n}function Nd(i,t,e){var r=t.filter(s=>!Sd(s)).every(s=>e[s]!==void 0);if(!r){var n=t.filter(s=>e[s]===void 0);throw new Error('Cannot create function "'.concat(i,'", ')+"some dependencies are missing: ".concat(n.map(s=>'"'.concat(s,'"')).join(", "),"."))}}function Sd(i){return i&&i[0]==="?"}function Bd(i){return i&&i[0]==="?"?i.slice(1):i}function Td(i,t){if(ec(i)&&tc(i,t))return i[t];throw typeof i[t]=="function"&&$d(i,t)?new Error('Cannot access method "'+t+'" as a property'):new Error('No access to property "'+t+'"')}function Id(i,t,e){if(ec(i)&&tc(i,t))return i[t]=e,e;throw new Error('No access to property "'+t+'"')}function Od(i,t){return t in i}function tc(i,t){return!i||typeof i!="object"?!1:ki(Rd,t)?!0:!(t in Object.prototype||t in Function.prototype)}function $d(i,t){return i==null||typeof i[t]!="function"||ki(i,t)&&Object.getPrototypeOf&&t in Object.getPrototypeOf(i)?!1:ki(Ld,t)?!0:!(t in Object.prototype||t in Function.prototype)}function ec(i){return typeof i=="object"&&i&&i.constructor===Object}var Rd={length:!0,name:!0},Ld={toString:!0,valueOf:!0,toLocaleString:!0};class Pd{constructor(t){this.wrappedObject=t,this[Symbol.iterator]=this.entries}keys(){return Object.keys(this.wrappedObject).values()}get(t){return Td(this.wrappedObject,t)}set(t,e){return Id(this.wrappedObject,t,e),this}has(t){return Od(this.wrappedObject,t)}entries(){return zd(this.keys(),t=>[t,this.get(t)])}forEach(t){for(var e of this.keys())t(this.get(e),e,this)}delete(t){delete this.wrappedObject[t]}clear(){for(var t of this.keys())this.delete(t)}get size(){return Object.keys(this.wrappedObject).length}}function zd(i,t){return{next:()=>{var e=i.next();return e.done?e:{value:t(e.value),done:!1}}}}function qd(i){return i?i instanceof Map||i instanceof Pd||typeof i.set=="function"&&typeof i.get=="function"&&typeof i.keys=="function"&&typeof i.has=="function":!1}var rc=function(){return rc=Rl.create,Rl},kd=["?BigNumber","?Complex","?DenseMatrix","?Fraction"],Ud=_t("typed",kd,function(t){var{BigNumber:e,Complex:r,DenseMatrix:n,Fraction:s}=t,a=rc();return a.clear(),a.addTypes([{name:"number",test:ue},{name:"Complex",test:Nl},{name:"BigNumber",test:be},{name:"Fraction",test:Sl},{name:"Unit",test:Bl},{name:"identifier",test:l=>Wr&&/^(?:[A-Za-z\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0560-\u0588\u05D0-\u05EA\u05EF-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u0860-\u086A\u0870-\u0887\u0889-\u088E\u08A0-\u08C9\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u09FC\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C5D\u0C60\u0C61\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D04-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E86-\u0E8A\u0E8C-\u0EA3\u0EA5\u0EA7-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16F1-\u16F8\u1700-\u1711\u171F-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1878\u1880-\u1884\u1887-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4C\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1C80-\u1C88\u1C90-\u1CBA\u1CBD-\u1CBF\u1CE9-\u1CEC\u1CEE-\u1CF3\u1CF5\u1CF6\u1CFA\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184\u2C00-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312F\u3131-\u318E\u31A0-\u31BF\u31F0-\u31FF\u3400-\u4DBF\u4E00-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788\uA78B-\uA7CA\uA7D0\uA7D1\uA7D3\uA7D5-\uA7D9\uA7F2-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA8FE\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB69\uAB70-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDE80-\uDE9C\uDEA0-\uDED0\uDF00-\uDF1F\uDF2D-\uDF40\uDF42-\uDF49\uDF50-\uDF75\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF]|\uD801[\uDC00-\uDC9D\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDD70-\uDD7A\uDD7C-\uDD8A\uDD8C-\uDD92\uDD94\uDD95\uDD97-\uDDA1\uDDA3-\uDDB1\uDDB3-\uDDB9\uDDBB\uDDBC\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67\uDF80-\uDF85\uDF87-\uDFB0\uDFB2-\uDFBA]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00\uDE10-\uDE13\uDE15-\uDE17\uDE19-\uDE35\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE4\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2\uDD00-\uDD23\uDE80-\uDEA9\uDEB0\uDEB1\uDF00-\uDF1C\uDF27\uDF30-\uDF45\uDF70-\uDF81\uDFB0-\uDFC4\uDFE0-\uDFF6]|\uD804[\uDC03-\uDC37\uDC71\uDC72\uDC75\uDC83-\uDCAF\uDCD0-\uDCE8\uDD03-\uDD26\uDD44\uDD47\uDD50-\uDD72\uDD76\uDD83-\uDDB2\uDDC1-\uDDC4\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE2B\uDE3F\uDE40\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEDE\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3D\uDF50\uDF5D-\uDF61]|\uD805[\uDC00-\uDC34\uDC47-\uDC4A\uDC5F-\uDC61\uDC80-\uDCAF\uDCC4\uDCC5\uDCC7\uDD80-\uDDAE\uDDD8-\uDDDB\uDE00-\uDE2F\uDE44\uDE80-\uDEAA\uDEB8\uDF00-\uDF1A\uDF40-\uDF46]|\uD806[\uDC00-\uDC2B\uDCA0-\uDCDF\uDCFF-\uDD06\uDD09\uDD0C-\uDD13\uDD15\uDD16\uDD18-\uDD2F\uDD3F\uDD41\uDDA0-\uDDA7\uDDAA-\uDDD0\uDDE1\uDDE3\uDE00\uDE0B-\uDE32\uDE3A\uDE50\uDE5C-\uDE89\uDE9D\uDEB0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC2E\uDC40\uDC72-\uDC8F\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD30\uDD46\uDD60-\uDD65\uDD67\uDD68\uDD6A-\uDD89\uDD98\uDEE0-\uDEF2\uDF02\uDF04-\uDF10\uDF12-\uDF33\uDFB0]|\uD808[\uDC00-\uDF99]|\uD809[\uDC80-\uDD43]|\uD80B[\uDF90-\uDFF0]|[\uD80C\uD81C-\uD820\uD822\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879\uD880-\uD883\uD885-\uD887][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2F\uDC41-\uDC46]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDE70-\uDEBE\uDED0-\uDEED\uDF00-\uDF2F\uDF40-\uDF43\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDE40-\uDE7F\uDF00-\uDF4A\uDF50\uDF93-\uDF9F\uDFE0\uDFE1\uDFE3]|\uD821[\uDC00-\uDFF7]|\uD823[\uDC00-\uDCD5\uDD00-\uDD08]|\uD82B[\uDFF0-\uDFF3\uDFF5-\uDFFB\uDFFD\uDFFE]|\uD82C[\uDC00-\uDD22\uDD32\uDD50-\uDD52\uDD55\uDD64-\uDD67\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB]|\uD837[\uDF00-\uDF1E\uDF25-\uDF2A]|\uD838[\uDC30-\uDC6D\uDD00-\uDD2C\uDD37-\uDD3D\uDD4E\uDE90-\uDEAD\uDEC0-\uDEEB]|\uD839[\uDCD0-\uDCEB\uDFE0-\uDFE6\uDFE8-\uDFEB\uDFED\uDFEE\uDFF0-\uDFFE]|\uD83A[\uDC00-\uDCC4\uDD00-\uDD43\uDD4B]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDEDF\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF39\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0]|\uD87E[\uDC00-\uDE1D]|\uD884[\uDC00-\uDF4A\uDF50-\uDFFF]|\uD888[\uDC00-\uDFAF])(?:[0-9A-Za-z\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0560-\u0588\u05D0-\u05EA\u05EF-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u0860-\u086A\u0870-\u0887\u0889-\u088E\u08A0-\u08C9\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u09FC\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C5D\u0C60\u0C61\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D04-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E86-\u0E8A\u0E8C-\u0EA3\u0EA5\u0EA7-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16F1-\u16F8\u1700-\u1711\u171F-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1878\u1880-\u1884\u1887-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4C\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1C80-\u1C88\u1C90-\u1CBA\u1CBD-\u1CBF\u1CE9-\u1CEC\u1CEE-\u1CF3\u1CF5\u1CF6\u1CFA\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184\u2C00-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312F\u3131-\u318E\u31A0-\u31BF\u31F0-\u31FF\u3400-\u4DBF\u4E00-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788\uA78B-\uA7CA\uA7D0\uA7D1\uA7D3\uA7D5-\uA7D9\uA7F2-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA8FE\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB69\uAB70-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDE80-\uDE9C\uDEA0-\uDED0\uDF00-\uDF1F\uDF2D-\uDF40\uDF42-\uDF49\uDF50-\uDF75\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF]|\uD801[\uDC00-\uDC9D\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDD70-\uDD7A\uDD7C-\uDD8A\uDD8C-\uDD92\uDD94\uDD95\uDD97-\uDDA1\uDDA3-\uDDB1\uDDB3-\uDDB9\uDDBB\uDDBC\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67\uDF80-\uDF85\uDF87-\uDFB0\uDFB2-\uDFBA]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00\uDE10-\uDE13\uDE15-\uDE17\uDE19-\uDE35\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE4\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2\uDD00-\uDD23\uDE80-\uDEA9\uDEB0\uDEB1\uDF00-\uDF1C\uDF27\uDF30-\uDF45\uDF70-\uDF81\uDFB0-\uDFC4\uDFE0-\uDFF6]|\uD804[\uDC03-\uDC37\uDC71\uDC72\uDC75\uDC83-\uDCAF\uDCD0-\uDCE8\uDD03-\uDD26\uDD44\uDD47\uDD50-\uDD72\uDD76\uDD83-\uDDB2\uDDC1-\uDDC4\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE2B\uDE3F\uDE40\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEDE\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3D\uDF50\uDF5D-\uDF61]|\uD805[\uDC00-\uDC34\uDC47-\uDC4A\uDC5F-\uDC61\uDC80-\uDCAF\uDCC4\uDCC5\uDCC7\uDD80-\uDDAE\uDDD8-\uDDDB\uDE00-\uDE2F\uDE44\uDE80-\uDEAA\uDEB8\uDF00-\uDF1A\uDF40-\uDF46]|\uD806[\uDC00-\uDC2B\uDCA0-\uDCDF\uDCFF-\uDD06\uDD09\uDD0C-\uDD13\uDD15\uDD16\uDD18-\uDD2F\uDD3F\uDD41\uDDA0-\uDDA7\uDDAA-\uDDD0\uDDE1\uDDE3\uDE00\uDE0B-\uDE32\uDE3A\uDE50\uDE5C-\uDE89\uDE9D\uDEB0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC2E\uDC40\uDC72-\uDC8F\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD30\uDD46\uDD60-\uDD65\uDD67\uDD68\uDD6A-\uDD89\uDD98\uDEE0-\uDEF2\uDF02\uDF04-\uDF10\uDF12-\uDF33\uDFB0]|\uD808[\uDC00-\uDF99]|\uD809[\uDC80-\uDD43]|\uD80B[\uDF90-\uDFF0]|[\uD80C\uD81C-\uD820\uD822\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879\uD880-\uD883\uD885-\uD887][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2F\uDC41-\uDC46]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDE70-\uDEBE\uDED0-\uDEED\uDF00-\uDF2F\uDF40-\uDF43\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDE40-\uDE7F\uDF00-\uDF4A\uDF50\uDF93-\uDF9F\uDFE0\uDFE1\uDFE3]|\uD821[\uDC00-\uDFF7]|\uD823[\uDC00-\uDCD5\uDD00-\uDD08]|\uD82B[\uDFF0-\uDFF3\uDFF5-\uDFFB\uDFFD\uDFFE]|\uD82C[\uDC00-\uDD22\uDD32\uDD50-\uDD52\uDD55\uDD64-\uDD67\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB]|\uD837[\uDF00-\uDF1E\uDF25-\uDF2A]|\uD838[\uDC30-\uDC6D\uDD00-\uDD2C\uDD37-\uDD3D\uDD4E\uDE90-\uDEAD\uDEC0-\uDEEB]|\uD839[\uDCD0-\uDCEB\uDFE0-\uDFE6\uDFE8-\uDFEB\uDFED\uDFEE\uDFF0-\uDFFE]|\uD83A[\uDC00-\uDCC4\uDD00-\uDD43\uDD4B]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDEDF\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF39\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0]|\uD87E[\uDC00-\uDE1D]|\uD884[\uDC00-\uDF4A\uDF50-\uDFFF]|\uD888[\uDC00-\uDFAF])*$/.test(l)},{name:"string",test:Wr},{name:"Chain",test:cd},{name:"Array",test:ge},{name:"Matrix",test:ce},{name:"DenseMatrix",test:Lp},{name:"SparseMatrix",test:Pp},{name:"Range",test:zp},{name:"Index",test:na},{name:"boolean",test:qp},{name:"ResultSet",test:kp},{name:"Help",test:Up},{name:"function",test:Wp},{name:"Date",test:jp},{name:"RegExp",test:Yp},{name:"null",test:Zp},{name:"undefined",test:Gp},{name:"AccessorNode",test:Kp},{name:"ArrayNode",test:Hp},{name:"AssignmentNode",test:Jp},{name:"BlockNode",test:Xp},{name:"ConditionalNode",test:Vp},{name:"ConstantNode",test:Qp},{name:"FunctionNode",test:ed},{name:"FunctionAssignmentNode",test:td},{name:"IndexNode",test:rd},{name:"Node",test:nd},{name:"ObjectNode",test:id},{name:"OperatorNode",test:sd},{name:"ParenthesisNode",test:od},{name:"RangeNode",test:ad},{name:"RelationalNode",test:ud},{name:"SymbolNode",test:ld},{name:"Map",test:qd},{name:"Object",test:ia}]),a.addConversions([{from:"number",to:"BigNumber",convert:function(c){if(e||pa(c),vd(c)>15)throw new TypeError("Cannot implicitly convert a number with >15 significant digits to BigNumber (value: "+c+"). Use function bignumber(x) to convert to BigNumber.");return new e(c)}},{from:"number",to:"Complex",convert:function(c){return r||As(c),new r(c,0)}},{from:"BigNumber",to:"Complex",convert:function(c){return r||As(c),new r(c.toNumber(),0)}},{from:"Fraction",to:"BigNumber",convert:function(c){throw new TypeError("Cannot implicitly convert a Fraction to BigNumber or vice versa. Use function bignumber(x) to convert to BigNumber or fraction(x) to convert to Fraction.")}},{from:"Fraction",to:"Complex",convert:function(c){return r||As(c),new r(c.valueOf(),0)}},{from:"number",to:"Fraction",convert:function(c){s||da(c);var h=new s(c);if(h.valueOf()!==c)throw new TypeError("Cannot implicitly convert a number to a Fraction when there will be a loss of precision (value: "+c+"). Use function fraction(x) to convert to Fraction.");return h}},{from:"string",to:"number",convert:function(c){var h=Number(c);if(isNaN(h))throw new Error('Cannot convert "'+c+'" to a number');return h}},{from:"string",to:"BigNumber",convert:function(c){e||pa(c);try{return new e(c)}catch{throw new Error('Cannot convert "'+c+'" to BigNumber')}}},{from:"string",to:"Fraction",convert:function(c){s||da(c);try{return new s(c)}catch{throw new Error('Cannot convert "'+c+'" to Fraction')}}},{from:"string",to:"Complex",convert:function(c){r||As(c);try{return new r(c)}catch{throw new Error('Cannot convert "'+c+'" to Complex')}}},{from:"boolean",to:"number",convert:function(c){return+c}},{from:"boolean",to:"BigNumber",convert:function(c){return e||pa(c),new e(+c)}},{from:"boolean",to:"Fraction",convert:function(c){return s||da(c),new s(+c)}},{from:"boolean",to:"string",convert:function(c){return String(c)}},{from:"Array",to:"Matrix",convert:function(c){return n||Wd(),new n(c)}},{from:"Matrix",to:"Array",convert:function(c){return c.valueOf()}}]),a.onMismatch=(l,c,h)=>{var p=a.createError(l,c,h);if(["wrongType","mismatch"].includes(p.data.category)&&c.length===1&&qi(c[0])&&h.some(d=>!d.params.includes(","))){var f=new TypeError("Function '".concat(l,"' doesn't apply to matrices. To call it ")+"elementwise on a matrix 'M', try 'map(M, ".concat(l,")'."));throw f.data=p.data,f}throw p},a.onMismatch=(l,c,h)=>{var p=a.createError(l,c,h);if(["wrongType","mismatch"].includes(p.data.category)&&c.length===1&&qi(c[0])&&h.some(d=>!d.params.includes(","))){var f=new TypeError("Function '".concat(l,"' doesn't apply to matrices. To call it ")+"elementwise on a matrix 'M', try 'map(M, ".concat(l,")'."));throw f.data=p.data,f}throw p},a});function pa(i){throw new Error("Cannot convert value ".concat(i," into a BigNumber: no class 'BigNumber' provided"))}function As(i){throw new Error("Cannot convert value ".concat(i," into a Complex number: no class 'Complex' provided"))}function Wd(){throw new Error("Cannot convert array into a Matrix: no class 'DenseMatrix' provided")}function da(i){throw new Error("Cannot convert value ".concat(i," into a Fraction, no class 'Fraction' provided."))}/*!
|
34
|
+
`);return Object.freeze(Fl)};ys(ir,Fl,{MATRIX_OPTIONS:pd,NUMBER_OPTIONS:dd});function Tl(){return!0}function gr(){return!1}function oi(){}const Il="Argument is not a typed-function.";function Ol(){function i($){return typeof $=="object"&&$!==null&&$.constructor===Object}const t=[{name:"number",test:function($){return typeof $=="number"}},{name:"string",test:function($){return typeof $=="string"}},{name:"boolean",test:function($){return typeof $=="boolean"}},{name:"Function",test:function($){return typeof $=="function"}},{name:"Array",test:Array.isArray},{name:"Date",test:function($){return $ instanceof Date}},{name:"RegExp",test:function($){return $ instanceof RegExp}},{name:"Object",test:i},{name:"null",test:function($){return $===null}},{name:"undefined",test:function($){return $===void 0}}],e={name:"any",test:Tl,isAny:!0};let r,n,s=0,a={createCount:0};function l($){const Z=r.get($);if(Z)return Z;let H='Unknown type "'+$+'"';const nt=$.toLowerCase();let st;for(st of n)if(st.toLowerCase()===nt){H+='. Did you mean "'+st+'" ?';break}throw new TypeError(H)}function c($){let Z=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"any";const H=Z?l(Z).index:n.length,nt=[];for(let rt=0;rt<$.length;++rt){if(!$[rt]||typeof $[rt].name!="string"||typeof $[rt].test!="function")throw new TypeError("Object with properties {name: string, test: function} expected");const ft=$[rt].name;if(r.has(ft))throw new TypeError('Duplicate type name "'+ft+'"');nt.push(ft),r.set(ft,{name:ft,test:$[rt].test,isAny:$[rt].isAny,index:H+rt,conversionsTo:[]})}const st=n.slice(H);n=n.slice(0,H).concat(nt).concat(st);for(let rt=H+nt.length;rt<n.length;++rt)r.get(n[rt]).index=rt}function h(){r=new Map,n=[],s=0,c([e],!1)}h(),c(t);function p(){let $;for($ of n)r.get($).conversionsTo=[];s=0}function f($){const Z=n.filter(H=>{const nt=r.get(H);return!nt.isAny&&nt.test($)});return Z.length?Z:["any"]}function d($){return $&&typeof $=="function"&&"_typedFunctionData"in $}function g($,Z,H){if(!d($))throw new TypeError(Il);const nt=H&&H.exact,st=Array.isArray(Z)?Z.join(","):Z,rt=N(st),ft=D(rt);if(!nt||ft in $.signatures){const Kt=$._typedFunctionData.signatureMap.get(ft);if(Kt)return Kt}const ut=rt.length;let ht;if(nt){ht=[];let Kt;for(Kt in $.signatures)ht.push($._typedFunctionData.signatureMap.get(Kt))}else ht=$._typedFunctionData.signatures;for(let Kt=0;Kt<ut;++Kt){const Vt=rt[Kt],de=[];let Oe;for(Oe of ht){const Se=S(Oe.params,Kt);if(!(!Se||Vt.restParam&&!Se.restParam)){if(!Se.hasAny){const ur=b(Se);if(Vt.types.some(lr=>!ur.has(lr.name)))continue}de.push(Oe)}}if(ht=de,ht.length===0)break}let at;for(at of ht)if(at.params.length<=ut)return at;throw new TypeError("Signature not found (signature: "+($.name||"unnamed")+"("+D(rt,", ")+"))")}function w($,Z,H){return g($,Z,H).implementation}function m($,Z){const H=l(Z);if(H.test($))return $;const nt=H.conversionsTo;if(nt.length===0)throw new Error("There are no conversions to "+Z+" defined.");for(let st=0;st<nt.length;st++)if(l(nt[st].from).test($))return nt[st].convert($);throw new Error("Cannot convert "+$+" to "+Z)}function D($){let Z=arguments.length>1&&arguments[1]!==void 0?arguments[1]:",";return $.map(H=>H.name).join(Z)}function v($){const Z=$.indexOf("...")===0,nt=(Z?$.length>3?$.slice(3):"any":$).split("|").map(ut=>l(ut.trim()));let st=!1,rt=Z?"...":"";return{types:nt.map(function(ut){return st=ut.isAny||st,rt+=ut.name+"|",{name:ut.name,typeIndex:ut.index,test:ut.test,isAny:ut.isAny,conversion:null,conversionIndex:-1}}),name:rt.slice(0,-1),hasAny:st,hasConversion:!1,restParam:Z}}function E($){const Z=$.types.map(ft=>ft.name),H=K(Z);let nt=$.hasAny,st=$.name;const rt=H.map(function(ft){const ut=l(ft.from);return nt=ut.isAny||nt,st+="|"+ft.from,{name:ft.from,typeIndex:ut.index,test:ut.test,isAny:ut.isAny,conversion:ft,conversionIndex:ft.index}});return{types:$.types.concat(rt),name:st,hasAny:nt,hasConversion:rt.length>0,restParam:$.restParam}}function b($){return $.typeSet||($.typeSet=new Set,$.types.forEach(Z=>$.typeSet.add(Z.name))),$.typeSet}function N($){const Z=[];if(typeof $!="string")throw new TypeError("Signatures must be strings");const H=$.trim();if(H==="")return Z;const nt=H.split(",");for(let st=0;st<nt.length;++st){const rt=v(nt[st].trim());if(rt.restParam&&st!==nt.length-1)throw new SyntaxError('Unexpected rest parameter "'+nt[st]+'": only allowed for the last parameter');if(rt.types.length===0)return null;Z.push(rt)}return Z}function x($){const Z=Tt($);return Z?Z.restParam:!1}function F($){if(!$||$.types.length===0)return Tl;if($.types.length===1)return l($.types[0].name).test;if($.types.length===2){const Z=l($.types[0].name).test,H=l($.types[1].name).test;return function(st){return Z(st)||H(st)}}else{const Z=$.types.map(function(H){return l(H.name).test});return function(nt){for(let st=0;st<Z.length;st++)if(Z[st](nt))return!0;return!1}}}function M($){let Z,H,nt;if(x($)){Z=re($).map(F);const st=Z.length,rt=F(Tt($)),ft=function(ut){for(let ht=st;ht<ut.length;ht++)if(!rt(ut[ht]))return!1;return!0};return function(ht){for(let at=0;at<Z.length;at++)if(!Z[at](ht[at]))return!1;return ft(ht)&&ht.length>=st+1}}else return $.length===0?function(rt){return rt.length===0}:$.length===1?(H=F($[0]),function(rt){return H(rt[0])&&rt.length===1}):$.length===2?(H=F($[0]),nt=F($[1]),function(rt){return H(rt[0])&&nt(rt[1])&&rt.length===2}):(Z=$.map(F),function(rt){for(let ft=0;ft<Z.length;ft++)if(!Z[ft](rt[ft]))return!1;return rt.length===Z.length})}function S($,Z){return Z<$.length?$[Z]:x($)?Tt($):null}function O($,Z){const H=S($,Z);return H?b(H):new Set}function C($){return $.conversion===null||$.conversion===void 0}function T($,Z){const H=new Set;return $.forEach(nt=>{const st=O(nt.params,Z);let rt;for(rt of st)H.add(rt)}),H.has("any")?["any"]:Array.from(H)}function R($,Z,H){let nt,st;const rt=$||"unnamed";let ft=H,ut;for(ut=0;ut<Z.length;ut++){const Vt=[];if(ft.forEach(de=>{const Oe=S(de.params,ut),Se=F(Oe);(ut<de.params.length||x(de.params))&&Se(Z[ut])&&Vt.push(de)}),Vt.length===0){if(st=T(ft,ut),st.length>0){const de=f(Z[ut]);return nt=new TypeError("Unexpected type of argument in function "+rt+" (expected: "+st.join(" or ")+", actual: "+de.join(" | ")+", index: "+ut+")"),nt.data={category:"wrongType",fn:rt,index:ut,actual:de,expected:st},nt}}else ft=Vt}const ht=ft.map(function(Vt){return x(Vt.params)?1/0:Vt.params.length});if(Z.length<Math.min.apply(null,ht))return st=T(ft,ut),nt=new TypeError("Too few arguments in function "+rt+" (expected: "+st.join(" or ")+", index: "+Z.length+")"),nt.data={category:"tooFewArgs",fn:rt,index:Z.length,expected:st},nt;const at=Math.max.apply(null,ht);if(Z.length>at)return nt=new TypeError("Too many arguments in function "+rt+" (expected: "+at+", actual: "+Z.length+")"),nt.data={category:"tooManyArgs",fn:rt,index:Z.length,expectedLength:at},nt;const Kt=[];for(let Vt=0;Vt<Z.length;++Vt)Kt.push(f(Z[Vt]).join("|"));return nt=new TypeError('Arguments of type "'+Kt.join(", ")+'" do not match any of the defined signatures of function '+rt+"."),nt.data={category:"mismatch",actual:Kt},nt}function U($){let Z=n.length+1;for(let H=0;H<$.types.length;H++)C($.types[H])&&(Z=Math.min(Z,$.types[H].typeIndex));return Z}function k($){let Z=s+1;for(let H=0;H<$.types.length;H++)C($.types[H])||(Z=Math.min(Z,$.types[H].conversionIndex));return Z}function W($,Z){if($.hasAny){if(!Z.hasAny)return 1}else if(Z.hasAny)return-1;if($.restParam){if(!Z.restParam)return 1}else if(Z.restParam)return-1;if($.hasConversion){if(!Z.hasConversion)return 1}else if(Z.hasConversion)return-1;const H=U($)-U(Z);if(H<0)return-1;if(H>0)return 1;const nt=k($)-k(Z);return nt<0?-1:nt>0?1:0}function P($,Z){const H=$.params,nt=Z.params,st=Tt(H),rt=Tt(nt),ft=x(H),ut=x(nt);if(ft&&st.hasAny){if(!ut||!rt.hasAny)return 1}else if(ut&&rt.hasAny)return-1;let ht=0,at=0,Kt;for(Kt of H)Kt.hasAny&&++ht,Kt.hasConversion&&++at;let Vt=0,de=0;for(Kt of nt)Kt.hasAny&&++Vt,Kt.hasConversion&&++de;if(ht!==Vt)return ht-Vt;if(ft&&st.hasConversion){if(!ut||!rt.hasConversion)return 1}else if(ut&&rt.hasConversion)return-1;if(at!==de)return at-de;if(ft){if(!ut)return 1}else if(ut)return-1;const Oe=(H.length-nt.length)*(ft?-1:1);if(Oe!==0)return Oe;const Se=[];let ur=0;for(let xn=0;xn<H.length;++xn){const Gn=W(H[xn],nt[xn]);Se.push(Gn),ur+=Gn}if(ur!==0)return ur;let lr;for(lr of Se)if(lr!==0)return lr;return 0}function K($){if($.length===0)return[];const Z=$.map(l);$.length>1&&Z.sort((st,rt)=>st.index-rt.index);let H=Z[0].conversionsTo;if($.length===1)return H;H=H.concat([]);const nt=new Set($);for(let st=1;st<Z.length;++st){let rt;for(rt of Z[st].conversionsTo)nt.has(rt.from)||(H.push(rt),nt.add(rt.from))}return H}function G($,Z){let H=Z;if($.some(st=>st.hasConversion)){const st=x($),rt=$.map(V);H=function(){const ut=[],ht=st?arguments.length-1:arguments.length;for(let at=0;at<ht;at++)ut[at]=rt[at](arguments[at]);return st&&(ut[ht]=arguments[ht].map(rt[ht])),Z.apply(this,ut)}}let nt=H;if(x($)){const st=$.length-1;nt=function(){return H.apply(this,Mt(arguments,0,st).concat([Mt(arguments,st)]))}}return nt}function V($){let Z,H,nt,st;const rt=[],ft=[];switch($.types.forEach(function(ut){ut.conversion&&(rt.push(l(ut.conversion.from).test),ft.push(ut.conversion.convert))}),ft.length){case 0:return function(ht){return ht};case 1:return Z=rt[0],nt=ft[0],function(ht){return Z(ht)?nt(ht):ht};case 2:return Z=rt[0],H=rt[1],nt=ft[0],st=ft[1],function(ht){return Z(ht)?nt(ht):H(ht)?st(ht):ht};default:return function(ht){for(let at=0;at<ft.length;at++)if(rt[at](ht))return ft[at](ht);return ht}}}function tt($){function Z(H,nt,st){if(nt<H.length){const rt=H[nt];let ft=[];if(rt.restParam){const ut=rt.types.filter(C);ut.length<rt.types.length&&ft.push({types:ut,name:"..."+ut.map(ht=>ht.name).join("|"),hasAny:ut.some(ht=>ht.isAny),hasConversion:!1,restParam:!0}),ft.push(rt)}else ft=rt.types.map(function(ut){return{types:[ut],name:ut.name,hasAny:ut.isAny,hasConversion:ut.conversion,restParam:!1}});return Xt(ft,function(ut){return Z(H,nt+1,st.concat([ut]))})}else return[st]}return Z($,0,[])}function ct($,Z){const H=Math.max($.length,Z.length);for(let ut=0;ut<H;ut++){const ht=O($,ut),at=O(Z,ut);let Kt=!1,Vt;for(Vt of at)if(ht.has(Vt)){Kt=!0;break}if(!Kt)return!1}const nt=$.length,st=Z.length,rt=x($),ft=x(Z);return rt?ft?nt===st:st>=nt:ft?nt>=st:nt===st}function gt($){return $.map(Z=>Ne(Z)?Fe(Z.referToSelf.callback):or(Z)?Gt(Z.referTo.references,Z.referTo.callback):Z)}function lt($,Z,H){const nt=[];let st;for(st of $){let rt=H[st];if(typeof rt!="number")throw new TypeError('No definition for referenced signature "'+st+'"');if(rt=Z[rt],typeof rt!="function")return!1;nt.push(rt)}return nt}function wt($,Z,H){const nt=gt($),st=new Array(nt.length).fill(!1);let rt=!0;for(;rt;){rt=!1;let ft=!0;for(let ut=0;ut<nt.length;++ut){if(st[ut])continue;const ht=nt[ut];if(Ne(ht))nt[ut]=ht.referToSelf.callback(H),nt[ut].referToSelf=ht.referToSelf,st[ut]=!0,ft=!1;else if(or(ht)){const at=lt(ht.referTo.references,nt,Z);at?(nt[ut]=ht.referTo.callback.apply(this,at),nt[ut].referTo=ht.referTo,st[ut]=!0,ft=!1):rt=!0}}if(ft&&rt)throw new SyntaxError("Circular reference detected in resolving typed.referTo")}return nt}function Dt($){const Z=/\bthis(\(|\.signatures\b)/;Object.keys($).forEach(H=>{const nt=$[H];if(Z.test(nt.toString()))throw new SyntaxError("Using `this` to self-reference a function is deprecated since typed-function@3. Use typed.referTo and typed.referToSelf instead.")})}function St($,Z){if(a.createCount++,Object.keys(Z).length===0)throw new SyntaxError("No signatures provided");a.warnAgainstDeprecatedThis&&Dt(Z);const H=[],nt=[],st={},rt=[];let ft;for(ft in Z){if(!Object.prototype.hasOwnProperty.call(Z,ft))continue;const jt=N(ft);if(!jt)continue;H.forEach(function(An){if(ct(An,jt))throw new TypeError('Conflicting signatures "'+D(An)+'" and "'+D(jt)+'".')}),H.push(jt);const Ue=nt.length;nt.push(Z[ft]);const uu=jt.map(E);let Ei;for(Ei of tt(uu)){const An=D(Ei);rt.push({params:Ei,name:An,fn:Ue}),Ei.every(po=>!po.hasConversion)&&(st[An]=Ue)}}rt.sort(P);const ut=wt(nt,st,Kn);let ht;for(ht in st)Object.prototype.hasOwnProperty.call(st,ht)&&(st[ht]=ut[st[ht]]);const at=[],Kt=new Map;for(ht of rt)Kt.has(ht.name)||(ht.fn=ut[ht.fn],at.push(ht),Kt.set(ht.name,ht));const Vt=at[0]&&at[0].params.length<=2&&!x(at[0].params),de=at[1]&&at[1].params.length<=2&&!x(at[1].params),Oe=at[2]&&at[2].params.length<=2&&!x(at[2].params),Se=at[3]&&at[3].params.length<=2&&!x(at[3].params),ur=at[4]&&at[4].params.length<=2&&!x(at[4].params),lr=at[5]&&at[5].params.length<=2&&!x(at[5].params),xn=Vt&&de&&Oe&&Se&&ur&&lr;for(let jt=0;jt<at.length;++jt)at[jt].test=M(at[jt].params);const Gn=Vt?F(at[0].params[0]):gr,co=de?F(at[1].params[0]):gr,qa=Oe?F(at[2].params[0]):gr,ka=Se?F(at[3].params[0]):gr,Ua=ur?F(at[4].params[0]):gr,Wa=lr?F(at[5].params[0]):gr,fo=Vt?F(at[0].params[1]):gr,ja=de?F(at[1].params[1]):gr,Ya=Oe?F(at[2].params[1]):gr,Za=Se?F(at[3].params[1]):gr,Vi=ur?F(at[4].params[1]):gr,Ga=lr?F(at[5].params[1]):gr;for(let jt=0;jt<at.length;++jt)at[jt].implementation=G(at[jt].params,at[jt].fn);const Qi=Vt?at[0].implementation:oi,Ka=de?at[1].implementation:oi,Ha=Oe?at[2].implementation:oi,Ja=Se?at[3].implementation:oi,Xa=ur?at[4].implementation:oi,Va=lr?at[5].implementation:oi,Qa=Vt?at[0].params.length:-1,tu=de?at[1].params.length:-1,eu=Oe?at[2].params.length:-1,ho=Se?at[3].params.length:-1,ru=ur?at[4].params.length:-1,nu=lr?at[5].params.length:-1,iu=xn?6:0,su=at.length,ou=at.map(jt=>jt.test),au=at.map(jt=>jt.implementation),bi=function(){for(let Ue=iu;Ue<su;Ue++)if(ou[Ue](arguments))return au[Ue].apply(this,arguments);return a.onMismatch($,arguments,at)};function Kn(jt,Ue){return arguments.length===Qa&&Gn(jt)&&fo(Ue)?Qi.apply(this,arguments):arguments.length===tu&&co(jt)&&ja(Ue)?Ka.apply(this,arguments):arguments.length===eu&&qa(jt)&&Ya(Ue)?Ha.apply(this,arguments):arguments.length===ho&&ka(jt)&&Za(Ue)?Ja.apply(this,arguments):arguments.length===ru&&Ua(jt)&&Vi(Ue)?Xa.apply(this,arguments):arguments.length===nu&&Wa(jt)&&Ga(Ue)?Va.apply(this,arguments):bi.apply(this,arguments)}try{Object.defineProperty(Kn,"name",{value:$})}catch{}return Kn.signatures=st,Kn._typedFunctionData={signatures:at,signatureMap:Kt},Kn}function bt($,Z,H){throw R($,Z,H)}function re($){return Mt($,0,$.length-1)}function Tt($){return $[$.length-1]}function Mt($,Z,H){return Array.prototype.slice.call($,Z,H)}function ie($,Z){for(let H=0;H<$.length;H++)if(Z($[H]))return $[H]}function Xt($,Z){return Array.prototype.concat.apply([],$.map(Z))}function zt(){const $=re(arguments).map(H=>D(N(H))),Z=Tt(arguments);if(typeof Z!="function")throw new TypeError("Callback function expected as last argument");return Gt($,Z)}function Gt($,Z){return{referTo:{references:$,callback:Z}}}function Fe($){if(typeof $!="function")throw new TypeError("Callback function expected as first argument");return{referToSelf:{callback:$}}}function or($){return $&&typeof $.referTo=="object"&&Array.isArray($.referTo.references)&&typeof $.referTo.callback=="function"}function Ne($){return $&&typeof $.referToSelf=="object"&&typeof $.referToSelf.callback=="function"}function tn($,Z){if(!$)return Z;if(Z&&Z!==$){const H=new Error("Function names do not match (expected: "+$+", actual: "+Z+")");throw H.data={actual:Z,expected:$},H}return $}function bn($){let Z;for(const H in $)Object.prototype.hasOwnProperty.call($,H)&&(d($[H])||typeof $[H].signature=="string")&&(Z=tn(Z,$[H].name));return Z}function en($,Z){let H;for(H in Z)if(Object.prototype.hasOwnProperty.call(Z,H)){if(H in $&&Z[H]!==$[H]){const nt=new Error('Signature "'+H+'" is defined twice');throw nt.data={signature:H,sourceFunction:Z[H],destFunction:$[H]},nt}$[H]=Z[H]}}const ar=a;a=function($){const Z=typeof $=="string",H=Z?1:0;let nt=Z?$:"";const st={};for(let rt=H;rt<arguments.length;++rt){const ft=arguments[rt];let ut={},ht;if(typeof ft=="function"?(ht=ft.name,typeof ft.signature=="string"?ut[ft.signature]=ft:d(ft)&&(ut=ft.signatures)):i(ft)&&(ut=ft,Z||(ht=bn(ft))),Object.keys(ut).length===0){const at=new TypeError("Argument to 'typed' at index "+rt+" is not a (typed) function, nor an object with signatures as keys and functions as values.");throw at.data={index:rt,argument:ft},at}Z||(nt=tn(nt,ht)),en(st,ut)}return St(nt||"",st)},a.create=Ol,a.createCount=ar.createCount,a.onMismatch=bt,a.throwMismatchError=bt,a.createError=R,a.clear=h,a.clearConversions=p,a.addTypes=c,a._findType=l,a.referTo=zt,a.referToSelf=Fe,a.convert=m,a.findSignature=g,a.find=w,a.isTypedFunction=d,a.warnAgainstDeprecatedThis=!0,a.addType=function($,Z){let H="any";Z!==!1&&r.has("Object")&&(H="Object"),a.addTypes([$],H)};function En($){if(!$||typeof $.from!="string"||typeof $.to!="string"||typeof $.convert!="function")throw new TypeError("Object with properties {from: string, to: string, convert: function} expected");if($.to===$.from)throw new SyntaxError('Illegal to define conversion from "'+$.from+'" to itself.')}return a.addConversion=function($){En($);const Z=l($.to);if(Z.conversionsTo.every(function(H){return H.from!==$.from}))Z.conversionsTo.push({from:$.from,convert:$.convert,index:s++});else throw new Error('There is already a conversion from "'+$.from+'" to "'+Z.name+'"')},a.addConversions=function($){$.forEach(a.addConversion)},a.removeConversion=function($){En($);const Z=l($.to),H=ie(Z.conversionsTo,st=>st.from===$.from);if(!H)throw new Error("Attempt to remove nonexistent conversion from "+$.from+" to "+$.to);if(H.convert!==$.convert)throw new Error("Conversion to remove does not match existing conversion");const nt=Z.conversionsTo.indexOf(H);Z.conversionsTo.splice(nt,1)},a.resolve=function($,Z){if(!d($))throw new TypeError(Il);const H=$._typedFunctionData.signatures;for(let nt=0;nt<H.length;++nt)if(H[nt].test(Z))return H[nt];return null},a}var $l=Ol();function pe(i){return typeof i=="boolean"?!0:isFinite(i)?i===Math.round(i):!1}function sa(i,t,e){var r={2:"0b",8:"0o",16:"0x"},n=r[t],s="";if(e){if(e<1)throw new Error("size must be in greater than 0");if(!pe(e))throw new Error("size must be an integer");if(i>2**(e-1)-1||i<-(2**(e-1)))throw new Error("Value must be in range [-2^".concat(e-1,", 2^").concat(e-1,"-1]"));if(!pe(i))throw new Error("Value must be an integer");i<0&&(i=i+2**e),s="i".concat(e)}var a="";return i<0&&(i=-i,a="-"),"".concat(a).concat(n).concat(i.toString(t)).concat(s)}function oa(i,t){if(typeof t=="function")return t(i);if(i===1/0)return"Infinity";if(i===-1/0)return"-Infinity";if(isNaN(i))return"NaN";var{notation:e,precision:r,wordSize:n}=Rl(t);switch(e){case"fixed":return md(i,r);case"exponential":return Ll(i,r);case"engineering":return _d(i,r);case"bin":return sa(i,2,n);case"oct":return sa(i,8,n);case"hex":return sa(i,16,n);case"auto":return gd(i,r,t).replace(/((\.\d*?)(0+))($|e)/,function(){var s=arguments[2],a=arguments[4];return s!=="."?s+a:a});default:throw new Error('Unknown notation "'+e+'". Choose "auto", "exponential", "fixed", "bin", "oct", or "hex.')}}function Rl(i){var t="auto",e,r;if(i!==void 0)if(ue(i))e=i;else if(be(i))e=i.toNumber();else if(ia(i))i.precision!==void 0&&(e=Pl(i.precision,()=>{throw new Error('Option "precision" must be a number or BigNumber')})),i.wordSize!==void 0&&(r=Pl(i.wordSize,()=>{throw new Error('Option "wordSize" must be a number or BigNumber')})),i.notation&&(t=i.notation);else throw new Error("Unsupported type of options, number, BigNumber, or object expected");return{notation:t,precision:e,wordSize:r}}function Ds(i){var t=String(i).toLowerCase().match(/^(-?)(\d+\.?\d*)(e([+-]?\d+))?$/);if(!t)throw new SyntaxError("Invalid number "+i);var e=t[1],r=t[2],n=parseFloat(t[4]||"0"),s=r.indexOf(".");n+=s!==-1?s-1:r.length-1;var a=r.replace(".","").replace(/^0*/,function(l){return n-=l.length,""}).replace(/0*$/,"").split("").map(function(l){return parseInt(l)});return a.length===0&&(a.push(0),n++),{sign:e,coefficients:a,exponent:n}}function _d(i,t){if(isNaN(i)||!isFinite(i))return String(i);var e=Ds(i),r=bs(e,t),n=r.exponent,s=r.coefficients,a=n%3===0?n:n<0?n-3-n%3:n-n%3;if(ue(t))for(;t>s.length||n-a+1>s.length;)s.push(0);else for(var l=Math.abs(n-a)-(s.length-1),c=0;c<l;c++)s.push(0);for(var h=Math.abs(n-a),p=1;h>0;)p++,h--;var f=s.slice(p).join(""),d=ue(t)&&f.length||f.match(/[1-9]/)?"."+f:"",g=s.slice(0,p).join("")+d+"e"+(n>=0?"+":"")+a.toString();return r.sign+g}function md(i,t){if(isNaN(i)||!isFinite(i))return String(i);var e=Ds(i),r=typeof t=="number"?bs(e,e.exponent+1+t):e,n=r.coefficients,s=r.exponent+1,a=s+(t||0);return n.length<a&&(n=n.concat(ai(a-n.length))),s<0&&(n=ai(-s+1).concat(n),s=1),s<n.length&&n.splice(s,0,s===0?"0.":"."),r.sign+n.join("")}function Ll(i,t){if(isNaN(i)||!isFinite(i))return String(i);var e=Ds(i),r=t?bs(e,t):e,n=r.coefficients,s=r.exponent;n.length<t&&(n=n.concat(ai(t-n.length)));var a=n.shift();return r.sign+a+(n.length>0?"."+n.join(""):"")+"e"+(s>=0?"+":"")+s}function gd(i,t,e){if(isNaN(i)||!isFinite(i))return String(i);var r=zl(e==null?void 0:e.lowerExp,-3),n=zl(e==null?void 0:e.upperExp,5),s=Ds(i),a=t?bs(s,t):s;if(a.exponent<r||a.exponent>=n)return Ll(i,t);var l=a.coefficients,c=a.exponent;l.length<t&&(l=l.concat(ai(t-l.length))),l=l.concat(ai(c-l.length+1+(l.length<t?t-l.length:0))),l=ai(-c).concat(l);var h=c>0?c:0;return h<l.length-1&&l.splice(h+1,0,"."),a.sign+l.join("")}function bs(i,t){for(var e={sign:i.sign,coefficients:i.coefficients,exponent:i.exponent},r=e.coefficients;t<=0;)r.unshift(0),e.exponent++,t++;if(r.length>t){var n=r.splice(t,r.length-t);if(n[0]>=5){var s=t-1;for(r[s]++;r[s]===10;)r.pop(),s===0&&(r.unshift(0),e.exponent++,s++),s--,r[s]++}}return e}function ai(i){for(var t=[],e=0;e<i;e++)t.push(0);return t}function vd(i){return i.toExponential().replace(/e.*$/,"").replace(/^0\.?0*|\./,"").length}var wd=Number.EPSILON||2220446049250313e-31;function kn(i,t,e){if(e==null)return i===t;if(i===t)return!0;if(isNaN(i)||isNaN(t))return!1;if(isFinite(i)&&isFinite(t)){var r=Math.abs(i-t);return r<=wd?!0:r<=Math.max(Math.abs(i),Math.abs(t))*e}return!1}function Pl(i,t){if(ue(i))return i;if(be(i))return i.toNumber();t()}function zl(i,t){return ue(i)?i:be(i)?i.toNumber():t}function aa(i,t,e){var r=i.constructor,n=new r(2),s="";if(e){if(e<1)throw new Error("size must be in greater than 0");if(!pe(e))throw new Error("size must be an integer");if(i.greaterThan(n.pow(e-1).sub(1))||i.lessThan(n.pow(e-1).mul(-1)))throw new Error("Value must be in range [-2^".concat(e-1,", 2^").concat(e-1,"-1]"));if(!i.isInteger())throw new Error("Value must be an integer");i.lessThan(0)&&(i=i.add(n.pow(e))),s="i".concat(e)}switch(t){case 2:return"".concat(i.toBinary()).concat(s);case 8:return"".concat(i.toOctal()).concat(s);case 16:return"".concat(i.toHexadecimal()).concat(s);default:throw new Error("Base ".concat(t," not supported "))}}function yd(i,t){if(typeof t=="function")return t(i);if(!i.isFinite())return i.isNaN()?"NaN":i.gt(0)?"Infinity":"-Infinity";var{notation:e,precision:r,wordSize:n}=Rl(t);switch(e){case"fixed":return bd(i,r);case"exponential":return ql(i,r);case"engineering":return Dd(i,r);case"bin":return aa(i,2,n);case"oct":return aa(i,8,n);case"hex":return aa(i,16,n);case"auto":{var s=kl(t==null?void 0:t.lowerExp,-3),a=kl(t==null?void 0:t.upperExp,5);if(i.isZero())return"0";var l,c=i.toSignificantDigits(r),h=c.e;return h>=s&&h<a?l=c.toFixed():l=ql(i,r),l.replace(/((\.\d*?)(0+))($|e)/,function(){var p=arguments[2],f=arguments[4];return p!=="."?p+f:f})}default:throw new Error('Unknown notation "'+e+'". Choose "auto", "exponential", "fixed", "bin", "oct", or "hex.')}}function Dd(i,t){var e=i.e,r=e%3===0?e:e<0?e-3-e%3:e-e%3,n=i.mul(Math.pow(10,-r)),s=n.toPrecision(t);if(s.indexOf("e")!==-1){var a=i.constructor;s=new a(s).toFixed()}return s+"e"+(e>=0?"+":"")+r.toString()}function ql(i,t){return t!==void 0?i.toExponential(t-1):i.toExponential()}function bd(i,t){return i.toFixed(t)}function kl(i,t){return ue(i)?i:be(i)?i.toNumber():t}function se(i,t){var e=Ed(i,t);return t&&typeof t=="object"&&"truncate"in t&&e.length>t.truncate?e.substring(0,t.truncate-3)+"...":e}function Ed(i,t){if(typeof i=="number")return oa(i,t);if(be(i))return yd(i,t);if(xd(i))return!t||t.fraction!=="decimal"?i.s*i.n+"/"+i.d:i.toString();if(Array.isArray(i))return jl(i,t);if(Wr(i))return Ul(i);if(typeof i=="function")return i.syntax?String(i.syntax):"function";if(i&&typeof i=="object"){if(typeof i.format=="function")return i.format(t);if(i&&i.toString(t)!=={}.toString())return i.toString(t);var e=Object.keys(i).map(r=>Ul(r)+": "+se(i[r],t));return"{"+e.join(", ")+"}"}return String(i)}function Ul(i){for(var t=String(i),e="",r=0;r<t.length;){var n=t.charAt(r);e+=n in Wl?Wl[n]:n,r++}return'"'+e+'"'}var Wl={'"':'\\"',"\\":"\\\\","\b":"\\b","\f":"\\f","\n":"\\n","\r":"\\r"," ":"\\t"};function jl(i,t){if(Array.isArray(i)){for(var e="[",r=i.length,n=0;n<r;n++)n!==0&&(e+=", "),e+=jl(i[n],t);return e+="]",e}else return se(i,t)}function xd(i){return i&&typeof i=="object"&&typeof i.s=="number"&&typeof i.n=="number"&&typeof i.d=="number"||!1}function Zt(i,t,e){if(!(this instanceof Zt))throw new SyntaxError("Constructor must be called with the new operator");this.actual=i,this.expected=t,this.relation=e,this.message="Dimension mismatch ("+(Array.isArray(i)?"["+i.join(", ")+"]":i)+" "+(this.relation||"!=")+" "+(Array.isArray(t)?"["+t.join(", ")+"]":t)+")",this.stack=new Error().stack}Zt.prototype=new RangeError,Zt.prototype.constructor=RangeError,Zt.prototype.name="DimensionError",Zt.prototype.isDimensionError=!0;function dn(i,t,e){if(!(this instanceof dn))throw new SyntaxError("Constructor must be called with the new operator");this.index=i,arguments.length<3?(this.min=0,this.max=t):(this.min=t,this.max=e),this.min!==void 0&&this.index<this.min?this.message="Index out of range ("+this.index+" < "+this.min+")":this.max!==void 0&&this.index>=this.max?this.message="Index out of range ("+this.index+" > "+(this.max-1)+")":this.message="Index out of range ("+this.index+")",this.stack=new Error().stack}dn.prototype=new RangeError,dn.prototype.constructor=RangeError,dn.prototype.name="IndexError",dn.prototype.isIndexError=!0;function Ae(i){for(var t=[];Array.isArray(i);)t.push(i.length),i=i[0];return t}function Yl(i,t,e){var r,n=i.length;if(n!==t[e])throw new Zt(n,t[e]);if(e<t.length-1){var s=e+1;for(r=0;r<n;r++){var a=i[r];if(!Array.isArray(a))throw new Zt(t.length-1,t.length,"<");Yl(i[r],t,s)}}else for(r=0;r<n;r++)if(Array.isArray(i[r]))throw new Zt(t.length+1,t.length,">")}function Zl(i,t){var e=t.length===0;if(e){if(Array.isArray(i))throw new Zt(i.length,0)}else Yl(i,t,0)}function ve(i,t){if(i!==void 0){if(!ue(i)||!pe(i))throw new TypeError("Index must be an integer (value: "+i+")");if(i<0||typeof t=="number"&&i>=t)throw new dn(i,t)}}function ua(i,t,e){if(!Array.isArray(t))throw new TypeError("Array expected");if(t.length===0)throw new Error("Resizing to scalar is not supported");t.forEach(function(n){if(!ue(n)||!pe(n)||n<0)throw new TypeError("Invalid size, must contain positive integers (size: "+se(t)+")")}),(ue(i)||be(i))&&(i=[i]);var r=e!==void 0?e:0;return la(i,t,0,r),i}function la(i,t,e,r){var n,s,a=i.length,l=t[e],c=Math.min(a,l);if(i.length=l,e<t.length-1){var h=e+1;for(n=0;n<c;n++)s=i[n],Array.isArray(s)||(s=[s],i[n]=s),la(s,t,h,r);for(n=c;n<l;n++)s=[],i[n]=s,la(s,t,h,r)}else{for(n=0;n<c;n++)for(;Array.isArray(i[n]);)i[n]=i[n][0];for(n=c;n<l;n++)i[n]=r}}function ca(i,t){var e=ha(i),r=e.length;if(!Array.isArray(i)||!Array.isArray(t))throw new TypeError("Array expected");if(t.length===0)throw new Zt(0,r,"!=");t=fa(t,r);var n=Gl(t);if(r!==n)throw new Zt(n,r,"!=");try{return Ad(e,t)}catch(s){throw s instanceof Zt?new Zt(n,r,"!="):s}}function fa(i,t){var e=Gl(i),r=i.slice(),n=-1,s=i.indexOf(n),a=i.indexOf(n,s+1)>=0;if(a)throw new Error("More than one wildcard in sizes");var l=s>=0,c=t%e===0;if(l)if(c)r[s]=-t/e;else throw new Error("Could not replace wildcard, since "+t+" is no multiple of "+-e);return r}function Gl(i){return i.reduce((t,e)=>t*e,1)}function Ad(i,t){for(var e=i,r,n=t.length-1;n>0;n--){var s=t[n];r=[];for(var a=e.length/s,l=0;l<a;l++)r.push(e.slice(l*s,(l+1)*s));e=r}return e}function Kl(i,t,e,r){var n=r||Ae(i);if(e)for(var s=0;s<e;s++)i=[i],n.unshift(1);for(i=Hl(i,t,0);n.length<t;)n.push(1);return i}function Hl(i,t,e){var r,n;if(Array.isArray(i)){var s=e+1;for(r=0,n=i.length;r<n;r++)i[r]=Hl(i[r],t,s)}else for(var a=e;a<t;a++)i=[i];return i}function ha(i){if(!Array.isArray(i))return i;var t=[];return i.forEach(function e(r){Array.isArray(r)?r.forEach(e):t.push(r)}),t}function Es(i,t){for(var e,r=0,n=0;n<i.length;n++){var s=i[n],a=Array.isArray(s);if(n===0&&a&&(r=s.length),a&&s.length!==r)return;var l=a?Es(s,t):t(s);if(e===void 0)e=l;else if(e!==l)return"mixed"}return e}function Jl(i,t,e,r){if(r<e){if(i.length!==t.length)throw new Zt(i.length,t.length);for(var n=[],s=0;s<i.length;s++)n[s]=Jl(i[s],t[s],e,r+1);return n}else return i.concat(t)}function Xl(){var i=Array.prototype.slice.call(arguments,0,-1),t=Array.prototype.slice.call(arguments,-1);if(i.length===1)return i[0];if(i.length>1)return i.slice(1).reduce(function(e,r){return Jl(e,r,t,0)},i[0]);throw new Error("Wrong number of arguments in function concat")}function Cd(){for(var i=arguments.length,t=new Array(i),e=0;e<i;e++)t[e]=arguments[e];for(var r=t.map(d=>d.length),n=Math.max(...r),s=new Array(n).fill(null),a=0;a<t.length;a++)for(var l=t[a],c=r[a],h=0;h<c;h++){var p=n-c+h;l[h]>s[p]&&(s[p]=l[h])}for(var f=0;f<t.length;f++)xs(t[f],s);return s}function xs(i,t){for(var e=t.length,r=i.length,n=0;n<r;n++){var s=e-r+n;if(i[n]<t[s]&&i[n]>1||i[n]>t[s])throw new Error("shape missmatch: missmatch is found in arg with shape (".concat(i,") not possible to broadcast dimension ").concat(r," with size ").concat(i[n]," to size ").concat(t[s]))}}function Vl(i,t){var e=Ae(i);if(si(e,t))return i;xs(e,t);var r=Cd(e,t),n=r.length,s=[...Array(n-e.length).fill(1),...e],a=Md(i);e.length<n&&(a=ca(a,s),e=Ae(a));for(var l=0;l<n;l++)e[l]<r[l]&&(a=Fd(a,r[l],l),e=Ae(a));return a}function Fd(i,t,e){return Xl(...Array(t).fill(i),e)}function Md(i){return ys([],i)}function _t(i,t,e,r){function n(s){var a=hd(s,t.map(Bd));return Nd(i,t,s),e(a)}return n.isFactory=!0,n.fn=i,n.dependencies=t.slice().sort(),r&&(n.meta=r),n}function Nd(i,t,e){var r=t.filter(s=>!Sd(s)).every(s=>e[s]!==void 0);if(!r){var n=t.filter(s=>e[s]===void 0);throw new Error('Cannot create function "'.concat(i,'", ')+"some dependencies are missing: ".concat(n.map(s=>'"'.concat(s,'"')).join(", "),"."))}}function Sd(i){return i&&i[0]==="?"}function Bd(i){return i&&i[0]==="?"?i.slice(1):i}function Td(i,t){if(tc(i)&&Ql(i,t))return i[t];throw typeof i[t]=="function"&&$d(i,t)?new Error('Cannot access method "'+t+'" as a property'):new Error('No access to property "'+t+'"')}function Id(i,t,e){if(tc(i)&&Ql(i,t))return i[t]=e,e;throw new Error('No access to property "'+t+'"')}function Od(i,t){return t in i}function Ql(i,t){return!i||typeof i!="object"?!1:ki(Rd,t)?!0:!(t in Object.prototype||t in Function.prototype)}function $d(i,t){return i==null||typeof i[t]!="function"||ki(i,t)&&Object.getPrototypeOf&&t in Object.getPrototypeOf(i)?!1:ki(Ld,t)?!0:!(t in Object.prototype||t in Function.prototype)}function tc(i){return typeof i=="object"&&i&&i.constructor===Object}var Rd={length:!0,name:!0},Ld={toString:!0,valueOf:!0,toLocaleString:!0};class Pd{constructor(t){this.wrappedObject=t,this[Symbol.iterator]=this.entries}keys(){return Object.keys(this.wrappedObject).values()}get(t){return Td(this.wrappedObject,t)}set(t,e){return Id(this.wrappedObject,t,e),this}has(t){return Od(this.wrappedObject,t)}entries(){return zd(this.keys(),t=>[t,this.get(t)])}forEach(t){for(var e of this.keys())t(this.get(e),e,this)}delete(t){delete this.wrappedObject[t]}clear(){for(var t of this.keys())this.delete(t)}get size(){return Object.keys(this.wrappedObject).length}}function zd(i,t){return{next:()=>{var e=i.next();return e.done?e:{value:t(e.value),done:!1}}}}function qd(i){return i?i instanceof Map||i instanceof Pd||typeof i.set=="function"&&typeof i.get=="function"&&typeof i.keys=="function"&&typeof i.has=="function":!1}var ec=function(){return ec=$l.create,$l},kd=["?BigNumber","?Complex","?DenseMatrix","?Fraction"],Ud=_t("typed",kd,function(t){var{BigNumber:e,Complex:r,DenseMatrix:n,Fraction:s}=t,a=ec();return a.clear(),a.addTypes([{name:"number",test:ue},{name:"Complex",test:Ml},{name:"BigNumber",test:be},{name:"Fraction",test:Nl},{name:"Unit",test:Sl},{name:"identifier",test:l=>Wr&&/^(?:[A-Za-z\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0560-\u0588\u05D0-\u05EA\u05EF-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u0860-\u086A\u0870-\u0887\u0889-\u088E\u08A0-\u08C9\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u09FC\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C5D\u0C60\u0C61\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D04-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E86-\u0E8A\u0E8C-\u0EA3\u0EA5\u0EA7-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16F1-\u16F8\u1700-\u1711\u171F-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1878\u1880-\u1884\u1887-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4C\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1C80-\u1C88\u1C90-\u1CBA\u1CBD-\u1CBF\u1CE9-\u1CEC\u1CEE-\u1CF3\u1CF5\u1CF6\u1CFA\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184\u2C00-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312F\u3131-\u318E\u31A0-\u31BF\u31F0-\u31FF\u3400-\u4DBF\u4E00-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788\uA78B-\uA7CA\uA7D0\uA7D1\uA7D3\uA7D5-\uA7D9\uA7F2-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA8FE\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB69\uAB70-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDE80-\uDE9C\uDEA0-\uDED0\uDF00-\uDF1F\uDF2D-\uDF40\uDF42-\uDF49\uDF50-\uDF75\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF]|\uD801[\uDC00-\uDC9D\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDD70-\uDD7A\uDD7C-\uDD8A\uDD8C-\uDD92\uDD94\uDD95\uDD97-\uDDA1\uDDA3-\uDDB1\uDDB3-\uDDB9\uDDBB\uDDBC\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67\uDF80-\uDF85\uDF87-\uDFB0\uDFB2-\uDFBA]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00\uDE10-\uDE13\uDE15-\uDE17\uDE19-\uDE35\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE4\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2\uDD00-\uDD23\uDE80-\uDEA9\uDEB0\uDEB1\uDF00-\uDF1C\uDF27\uDF30-\uDF45\uDF70-\uDF81\uDFB0-\uDFC4\uDFE0-\uDFF6]|\uD804[\uDC03-\uDC37\uDC71\uDC72\uDC75\uDC83-\uDCAF\uDCD0-\uDCE8\uDD03-\uDD26\uDD44\uDD47\uDD50-\uDD72\uDD76\uDD83-\uDDB2\uDDC1-\uDDC4\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE2B\uDE3F\uDE40\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEDE\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3D\uDF50\uDF5D-\uDF61]|\uD805[\uDC00-\uDC34\uDC47-\uDC4A\uDC5F-\uDC61\uDC80-\uDCAF\uDCC4\uDCC5\uDCC7\uDD80-\uDDAE\uDDD8-\uDDDB\uDE00-\uDE2F\uDE44\uDE80-\uDEAA\uDEB8\uDF00-\uDF1A\uDF40-\uDF46]|\uD806[\uDC00-\uDC2B\uDCA0-\uDCDF\uDCFF-\uDD06\uDD09\uDD0C-\uDD13\uDD15\uDD16\uDD18-\uDD2F\uDD3F\uDD41\uDDA0-\uDDA7\uDDAA-\uDDD0\uDDE1\uDDE3\uDE00\uDE0B-\uDE32\uDE3A\uDE50\uDE5C-\uDE89\uDE9D\uDEB0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC2E\uDC40\uDC72-\uDC8F\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD30\uDD46\uDD60-\uDD65\uDD67\uDD68\uDD6A-\uDD89\uDD98\uDEE0-\uDEF2\uDF02\uDF04-\uDF10\uDF12-\uDF33\uDFB0]|\uD808[\uDC00-\uDF99]|\uD809[\uDC80-\uDD43]|\uD80B[\uDF90-\uDFF0]|[\uD80C\uD81C-\uD820\uD822\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879\uD880-\uD883\uD885-\uD887][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2F\uDC41-\uDC46]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDE70-\uDEBE\uDED0-\uDEED\uDF00-\uDF2F\uDF40-\uDF43\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDE40-\uDE7F\uDF00-\uDF4A\uDF50\uDF93-\uDF9F\uDFE0\uDFE1\uDFE3]|\uD821[\uDC00-\uDFF7]|\uD823[\uDC00-\uDCD5\uDD00-\uDD08]|\uD82B[\uDFF0-\uDFF3\uDFF5-\uDFFB\uDFFD\uDFFE]|\uD82C[\uDC00-\uDD22\uDD32\uDD50-\uDD52\uDD55\uDD64-\uDD67\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB]|\uD837[\uDF00-\uDF1E\uDF25-\uDF2A]|\uD838[\uDC30-\uDC6D\uDD00-\uDD2C\uDD37-\uDD3D\uDD4E\uDE90-\uDEAD\uDEC0-\uDEEB]|\uD839[\uDCD0-\uDCEB\uDFE0-\uDFE6\uDFE8-\uDFEB\uDFED\uDFEE\uDFF0-\uDFFE]|\uD83A[\uDC00-\uDCC4\uDD00-\uDD43\uDD4B]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDEDF\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF39\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0]|\uD87E[\uDC00-\uDE1D]|\uD884[\uDC00-\uDF4A\uDF50-\uDFFF]|\uD888[\uDC00-\uDFAF])(?:[0-9A-Za-z\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0560-\u0588\u05D0-\u05EA\u05EF-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u0860-\u086A\u0870-\u0887\u0889-\u088E\u08A0-\u08C9\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u09FC\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C5D\u0C60\u0C61\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D04-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E86-\u0E8A\u0E8C-\u0EA3\u0EA5\u0EA7-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16F1-\u16F8\u1700-\u1711\u171F-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1878\u1880-\u1884\u1887-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4C\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1C80-\u1C88\u1C90-\u1CBA\u1CBD-\u1CBF\u1CE9-\u1CEC\u1CEE-\u1CF3\u1CF5\u1CF6\u1CFA\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184\u2C00-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312F\u3131-\u318E\u31A0-\u31BF\u31F0-\u31FF\u3400-\u4DBF\u4E00-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788\uA78B-\uA7CA\uA7D0\uA7D1\uA7D3\uA7D5-\uA7D9\uA7F2-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA8FE\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB69\uAB70-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDE80-\uDE9C\uDEA0-\uDED0\uDF00-\uDF1F\uDF2D-\uDF40\uDF42-\uDF49\uDF50-\uDF75\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF]|\uD801[\uDC00-\uDC9D\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDD70-\uDD7A\uDD7C-\uDD8A\uDD8C-\uDD92\uDD94\uDD95\uDD97-\uDDA1\uDDA3-\uDDB1\uDDB3-\uDDB9\uDDBB\uDDBC\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67\uDF80-\uDF85\uDF87-\uDFB0\uDFB2-\uDFBA]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00\uDE10-\uDE13\uDE15-\uDE17\uDE19-\uDE35\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE4\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2\uDD00-\uDD23\uDE80-\uDEA9\uDEB0\uDEB1\uDF00-\uDF1C\uDF27\uDF30-\uDF45\uDF70-\uDF81\uDFB0-\uDFC4\uDFE0-\uDFF6]|\uD804[\uDC03-\uDC37\uDC71\uDC72\uDC75\uDC83-\uDCAF\uDCD0-\uDCE8\uDD03-\uDD26\uDD44\uDD47\uDD50-\uDD72\uDD76\uDD83-\uDDB2\uDDC1-\uDDC4\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE2B\uDE3F\uDE40\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEDE\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3D\uDF50\uDF5D-\uDF61]|\uD805[\uDC00-\uDC34\uDC47-\uDC4A\uDC5F-\uDC61\uDC80-\uDCAF\uDCC4\uDCC5\uDCC7\uDD80-\uDDAE\uDDD8-\uDDDB\uDE00-\uDE2F\uDE44\uDE80-\uDEAA\uDEB8\uDF00-\uDF1A\uDF40-\uDF46]|\uD806[\uDC00-\uDC2B\uDCA0-\uDCDF\uDCFF-\uDD06\uDD09\uDD0C-\uDD13\uDD15\uDD16\uDD18-\uDD2F\uDD3F\uDD41\uDDA0-\uDDA7\uDDAA-\uDDD0\uDDE1\uDDE3\uDE00\uDE0B-\uDE32\uDE3A\uDE50\uDE5C-\uDE89\uDE9D\uDEB0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC2E\uDC40\uDC72-\uDC8F\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD30\uDD46\uDD60-\uDD65\uDD67\uDD68\uDD6A-\uDD89\uDD98\uDEE0-\uDEF2\uDF02\uDF04-\uDF10\uDF12-\uDF33\uDFB0]|\uD808[\uDC00-\uDF99]|\uD809[\uDC80-\uDD43]|\uD80B[\uDF90-\uDFF0]|[\uD80C\uD81C-\uD820\uD822\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879\uD880-\uD883\uD885-\uD887][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2F\uDC41-\uDC46]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDE70-\uDEBE\uDED0-\uDEED\uDF00-\uDF2F\uDF40-\uDF43\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDE40-\uDE7F\uDF00-\uDF4A\uDF50\uDF93-\uDF9F\uDFE0\uDFE1\uDFE3]|\uD821[\uDC00-\uDFF7]|\uD823[\uDC00-\uDCD5\uDD00-\uDD08]|\uD82B[\uDFF0-\uDFF3\uDFF5-\uDFFB\uDFFD\uDFFE]|\uD82C[\uDC00-\uDD22\uDD32\uDD50-\uDD52\uDD55\uDD64-\uDD67\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB]|\uD837[\uDF00-\uDF1E\uDF25-\uDF2A]|\uD838[\uDC30-\uDC6D\uDD00-\uDD2C\uDD37-\uDD3D\uDD4E\uDE90-\uDEAD\uDEC0-\uDEEB]|\uD839[\uDCD0-\uDCEB\uDFE0-\uDFE6\uDFE8-\uDFEB\uDFED\uDFEE\uDFF0-\uDFFE]|\uD83A[\uDC00-\uDCC4\uDD00-\uDD43\uDD4B]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDEDF\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF39\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0]|\uD87E[\uDC00-\uDE1D]|\uD884[\uDC00-\uDF4A\uDF50-\uDFFF]|\uD888[\uDC00-\uDFAF])*$/.test(l)},{name:"string",test:Wr},{name:"Chain",test:cd},{name:"Array",test:ge},{name:"Matrix",test:ce},{name:"DenseMatrix",test:Lp},{name:"SparseMatrix",test:Pp},{name:"Range",test:zp},{name:"Index",test:na},{name:"boolean",test:qp},{name:"ResultSet",test:kp},{name:"Help",test:Up},{name:"function",test:Wp},{name:"Date",test:jp},{name:"RegExp",test:Yp},{name:"null",test:Zp},{name:"undefined",test:Gp},{name:"AccessorNode",test:Kp},{name:"ArrayNode",test:Hp},{name:"AssignmentNode",test:Jp},{name:"BlockNode",test:Xp},{name:"ConditionalNode",test:Vp},{name:"ConstantNode",test:Qp},{name:"FunctionNode",test:ed},{name:"FunctionAssignmentNode",test:td},{name:"IndexNode",test:rd},{name:"Node",test:nd},{name:"ObjectNode",test:id},{name:"OperatorNode",test:sd},{name:"ParenthesisNode",test:od},{name:"RangeNode",test:ad},{name:"RelationalNode",test:ud},{name:"SymbolNode",test:ld},{name:"Map",test:qd},{name:"Object",test:ia}]),a.addConversions([{from:"number",to:"BigNumber",convert:function(c){if(e||pa(c),vd(c)>15)throw new TypeError("Cannot implicitly convert a number with >15 significant digits to BigNumber (value: "+c+"). Use function bignumber(x) to convert to BigNumber.");return new e(c)}},{from:"number",to:"Complex",convert:function(c){return r||As(c),new r(c,0)}},{from:"BigNumber",to:"Complex",convert:function(c){return r||As(c),new r(c.toNumber(),0)}},{from:"Fraction",to:"BigNumber",convert:function(c){throw new TypeError("Cannot implicitly convert a Fraction to BigNumber or vice versa. Use function bignumber(x) to convert to BigNumber or fraction(x) to convert to Fraction.")}},{from:"Fraction",to:"Complex",convert:function(c){return r||As(c),new r(c.valueOf(),0)}},{from:"number",to:"Fraction",convert:function(c){s||da(c);var h=new s(c);if(h.valueOf()!==c)throw new TypeError("Cannot implicitly convert a number to a Fraction when there will be a loss of precision (value: "+c+"). Use function fraction(x) to convert to Fraction.");return h}},{from:"string",to:"number",convert:function(c){var h=Number(c);if(isNaN(h))throw new Error('Cannot convert "'+c+'" to a number');return h}},{from:"string",to:"BigNumber",convert:function(c){e||pa(c);try{return new e(c)}catch{throw new Error('Cannot convert "'+c+'" to BigNumber')}}},{from:"string",to:"Fraction",convert:function(c){s||da(c);try{return new s(c)}catch{throw new Error('Cannot convert "'+c+'" to Fraction')}}},{from:"string",to:"Complex",convert:function(c){r||As(c);try{return new r(c)}catch{throw new Error('Cannot convert "'+c+'" to Complex')}}},{from:"boolean",to:"number",convert:function(c){return+c}},{from:"boolean",to:"BigNumber",convert:function(c){return e||pa(c),new e(+c)}},{from:"boolean",to:"Fraction",convert:function(c){return s||da(c),new s(+c)}},{from:"boolean",to:"string",convert:function(c){return String(c)}},{from:"Array",to:"Matrix",convert:function(c){return n||Wd(),new n(c)}},{from:"Matrix",to:"Array",convert:function(c){return c.valueOf()}}]),a.onMismatch=(l,c,h)=>{var p=a.createError(l,c,h);if(["wrongType","mismatch"].includes(p.data.category)&&c.length===1&&qi(c[0])&&h.some(d=>!d.params.includes(","))){var f=new TypeError("Function '".concat(l,"' doesn't apply to matrices. To call it ")+"elementwise on a matrix 'M', try 'map(M, ".concat(l,")'."));throw f.data=p.data,f}throw p},a.onMismatch=(l,c,h)=>{var p=a.createError(l,c,h);if(["wrongType","mismatch"].includes(p.data.category)&&c.length===1&&qi(c[0])&&h.some(d=>!d.params.includes(","))){var f=new TypeError("Function '".concat(l,"' doesn't apply to matrices. To call it ")+"elementwise on a matrix 'M', try 'map(M, ".concat(l,")'."));throw f.data=p.data,f}throw p},a});function pa(i){throw new Error("Cannot convert value ".concat(i," into a BigNumber: no class 'BigNumber' provided"))}function As(i){throw new Error("Cannot convert value ".concat(i," into a Complex number: no class 'Complex' provided"))}function Wd(){throw new Error("Cannot convert array into a Matrix: no class 'DenseMatrix' provided")}function da(i){throw new Error("Cannot convert value ".concat(i," into a Fraction, no class 'Fraction' provided."))}/*!
|
35
35
|
* decimal.js v10.4.3
|
36
36
|
* An arbitrary-precision Decimal type for JavaScript.
|
37
37
|
* https://github.com/MikeMcl/decimal.js
|
38
38
|
* Copyright (c) 2022 Michael Mclaughlin <M8ch88l@gmail.com>
|
39
39
|
* MIT Licence
|
40
|
-
*/var ui=9e15,_n=1e9,_a="0123456789abcdef",Cs="2.3025850929940456840179914546843642076011014886287729760333279009675726096773524802359972050895982983419677840422862486334095254650828067566662873690987816894829072083255546808437998948262331985283935053089653777326288461633662222876982198867465436674744042432743651550489343149393914796194044002221051017141748003688084012647080685567743216228355220114804663715659121373450747856947683463616792101806445070648000277502684916746550586856935673420670581136429224554405758925724208241314695689016758940256776311356919292033376587141660230105703089634572075440370847469940168269282808481184289314848524948644871927809676271275775397027668605952496716674183485704422507197965004714951050492214776567636938662976979522110718264549734772662425709429322582798502585509785265383207606726317164309505995087807523710333101197857547331541421808427543863591778117054309827482385045648019095610299291824318237525357709750539565187697510374970888692180205189339507238539205144634197265287286965110862571492198849978748873771345686209167058",Fs="3.1415926535897932384626433832795028841971693993751058209749445923078164062862089986280348253421170679821480865132823066470938446095505822317253594081284811174502841027019385211055596446229489549303819644288109756659334461284756482337867831652712019091456485669234603486104543266482133936072602491412737245870066063155881748815209209628292540917153643678925903600113305305488204665213841469519415116094330572703657595919530921861173819326117931051185480744623799627495673518857527248912279381830119491298336733624406566430860213949463952247371907021798609437027705392171762931767523846748184676694051320005681271452635608277857713427577896091736371787214684409012249534301465495853710507922796892589235420199561121290219608640344181598136297747713099605187072113499999983729780499510597317328160963185950244594553469083026425223082533446850352619311881710100031378387528865875332083814206171776691473035982534904287554687311595628638823537875937519577818577805321712268066130019278766111959092164201989380952572010654858632789",ma={precision:20,rounding:4,modulo:1,toExpNeg:-7,toExpPos:21,minE:-ui,maxE:ui,crypto:!1},nc,Jr,Nt=!0,Ms="[DecimalError] ",mn=Ms+"Invalid argument: ",ic=Ms+"Precision limit exceeded",sc=Ms+"crypto unavailable",oc="[object Decimal]",qe=Math.floor,Me=Math.pow,jd=/^0b([01]+(\.[01]*)?|\.[01]+)(p[+-]?\d+)?$/i,Yd=/^0x([0-9a-f]+(\.[0-9a-f]*)?|\.[0-9a-f]+)(p[+-]?\d+)?$/i,Zd=/^0o([0-7]+(\.[0-7]*)?|\.[0-7]+)(p[+-]?\d+)?$/i,ac=/^(\d+(\.\d*)?|\.\d+)(e[+-]?\d+)?$/i,Tr=1e7,Et=7,Gd=9007199254740991,Kd=Cs.length-1,ga=Fs.length-1,it={toStringTag:oc};it.absoluteValue=it.abs=function(){var i=new this.constructor(this);return i.s<0&&(i.s=1),yt(i)},it.ceil=function(){return yt(new this.constructor(this),this.e+1,2)},it.clampedTo=it.clamp=function(i,t){var e,r=this,n=r.constructor;if(i=new n(i),t=new n(t),!i.s||!t.s)return new n(NaN);if(i.gt(t))throw Error(mn+t);return e=r.cmp(i),e<0?i:r.cmp(t)>0?t:new n(r)},it.comparedTo=it.cmp=function(i){var t,e,r,n,s=this,a=s.d,l=(i=new s.constructor(i)).d,c=s.s,h=i.s;if(!a||!l)return!c||!h?NaN:c!==h?c:a===l?0:!a^c<0?1:-1;if(!a[0]||!l[0])return a[0]?c:l[0]?-h:0;if(c!==h)return c;if(s.e!==i.e)return s.e>i.e^c<0?1:-1;for(r=a.length,n=l.length,t=0,e=r<n?r:n;t<e;++t)if(a[t]!==l[t])return a[t]>l[t]^c<0?1:-1;return r===n?0:r>n^c<0?1:-1},it.cosine=it.cos=function(){var i,t,e=this,r=e.constructor;return e.d?e.d[0]?(i=r.precision,t=r.rounding,r.precision=i+Math.max(e.e,e.sd())+Et,r.rounding=1,e=Hd(r,pc(r,e)),r.precision=i,r.rounding=t,yt(Jr==2||Jr==3?e.neg():e,i,t,!0)):new r(1):new r(NaN)},it.cubeRoot=it.cbrt=function(){var i,t,e,r,n,s,a,l,c,h,p=this,f=p.constructor;if(!p.isFinite()||p.isZero())return new f(p);for(Nt=!1,s=p.s*Me(p.s*p,1/3),!s||Math.abs(s)==1/0?(e=Re(p.d),i=p.e,(s=(i-e.length+1)%3)&&(e+=s==1||s==-2?"0":"00"),s=Me(e,1/3),i=qe((i+1)/3)-(i%3==(i<0?-1:2)),s==1/0?e="5e"+i:(e=s.toExponential(),e=e.slice(0,e.indexOf("e")+1)+i),r=new f(e),r.s=p.s):r=new f(s.toString()),a=(i=f.precision)+3;;)if(l=r,c=l.times(l).times(l),h=c.plus(p),r=oe(h.plus(p).times(l),h.plus(c),a+2,1),Re(l.d).slice(0,a)===(e=Re(r.d)).slice(0,a))if(e=e.slice(a-3,a+1),e=="9999"||!n&&e=="4999"){if(!n&&(yt(l,i+1,0),l.times(l).times(l).eq(p))){r=l;break}a+=4,n=1}else{(!+e||!+e.slice(1)&&e.charAt(0)=="5")&&(yt(r,i+1,1),t=!r.times(r).times(r).eq(p));break}return Nt=!0,yt(r,i,f.rounding,t)},it.decimalPlaces=it.dp=function(){var i,t=this.d,e=NaN;if(t){if(i=t.length-1,e=(i-qe(this.e/Et))*Et,i=t[i],i)for(;i%10==0;i/=10)e--;e<0&&(e=0)}return e},it.dividedBy=it.div=function(i){return oe(this,new this.constructor(i))},it.dividedToIntegerBy=it.divToInt=function(i){var t=this,e=t.constructor;return yt(oe(t,new e(i),0,1,1),e.precision,e.rounding)},it.equals=it.eq=function(i){return this.cmp(i)===0},it.floor=function(){return yt(new this.constructor(this),this.e+1,3)},it.greaterThan=it.gt=function(i){return this.cmp(i)>0},it.greaterThanOrEqualTo=it.gte=function(i){var t=this.cmp(i);return t==1||t===0},it.hyperbolicCosine=it.cosh=function(){var i,t,e,r,n,s=this,a=s.constructor,l=new a(1);if(!s.isFinite())return new a(s.s?1/0:NaN);if(s.isZero())return l;e=a.precision,r=a.rounding,a.precision=e+Math.max(s.e,s.sd())+4,a.rounding=1,n=s.d.length,n<32?(i=Math.ceil(n/3),t=(1/Ts(4,i)).toString()):(i=16,t="2.3283064365386962890625e-10"),s=li(a,1,s.times(t),new a(1),!0);for(var c,h=i,p=new a(8);h--;)c=s.times(s),s=l.minus(c.times(p.minus(c.times(p))));return yt(s,a.precision=e,a.rounding=r,!0)},it.hyperbolicSine=it.sinh=function(){var i,t,e,r,n=this,s=n.constructor;if(!n.isFinite()||n.isZero())return new s(n);if(t=s.precision,e=s.rounding,s.precision=t+Math.max(n.e,n.sd())+4,s.rounding=1,r=n.d.length,r<3)n=li(s,2,n,n,!0);else{i=1.4*Math.sqrt(r),i=i>16?16:i|0,n=n.times(1/Ts(5,i)),n=li(s,2,n,n,!0);for(var a,l=new s(5),c=new s(16),h=new s(20);i--;)a=n.times(n),n=n.times(l.plus(a.times(c.times(a).plus(h))))}return s.precision=t,s.rounding=e,yt(n,t,e,!0)},it.hyperbolicTangent=it.tanh=function(){var i,t,e=this,r=e.constructor;return e.isFinite()?e.isZero()?new r(e):(i=r.precision,t=r.rounding,r.precision=i+7,r.rounding=1,oe(e.sinh(),e.cosh(),r.precision=i,r.rounding=t)):new r(e.s)},it.inverseCosine=it.acos=function(){var i,t=this,e=t.constructor,r=t.abs().cmp(1),n=e.precision,s=e.rounding;return r!==-1?r===0?t.isNeg()?Ir(e,n,s):new e(0):new e(NaN):t.isZero()?Ir(e,n+4,s).times(.5):(e.precision=n+6,e.rounding=1,t=t.asin(),i=Ir(e,n+4,s).times(.5),e.precision=n,e.rounding=s,i.minus(t))},it.inverseHyperbolicCosine=it.acosh=function(){var i,t,e=this,r=e.constructor;return e.lte(1)?new r(e.eq(1)?0:NaN):e.isFinite()?(i=r.precision,t=r.rounding,r.precision=i+Math.max(Math.abs(e.e),e.sd())+4,r.rounding=1,Nt=!1,e=e.times(e).minus(1).sqrt().plus(e),Nt=!0,r.precision=i,r.rounding=t,e.ln()):new r(e)},it.inverseHyperbolicSine=it.asinh=function(){var i,t,e=this,r=e.constructor;return!e.isFinite()||e.isZero()?new r(e):(i=r.precision,t=r.rounding,r.precision=i+2*Math.max(Math.abs(e.e),e.sd())+6,r.rounding=1,Nt=!1,e=e.times(e).plus(1).sqrt().plus(e),Nt=!0,r.precision=i,r.rounding=t,e.ln())},it.inverseHyperbolicTangent=it.atanh=function(){var i,t,e,r,n=this,s=n.constructor;return n.isFinite()?n.e>=0?new s(n.abs().eq(1)?n.s/0:n.isZero()?n:NaN):(i=s.precision,t=s.rounding,r=n.sd(),Math.max(r,i)<2*-n.e-1?yt(new s(n),i,t,!0):(s.precision=e=r-n.e,n=oe(n.plus(1),new s(1).minus(n),e+i,1),s.precision=i+4,s.rounding=1,n=n.ln(),s.precision=i,s.rounding=t,n.times(.5))):new s(NaN)},it.inverseSine=it.asin=function(){var i,t,e,r,n=this,s=n.constructor;return n.isZero()?new s(n):(t=n.abs().cmp(1),e=s.precision,r=s.rounding,t!==-1?t===0?(i=Ir(s,e+4,r).times(.5),i.s=n.s,i):new s(NaN):(s.precision=e+6,s.rounding=1,n=n.div(new s(1).minus(n.times(n)).sqrt().plus(1)).atan(),s.precision=e,s.rounding=r,n.times(2)))},it.inverseTangent=it.atan=function(){var i,t,e,r,n,s,a,l,c,h=this,p=h.constructor,f=p.precision,d=p.rounding;if(h.isFinite()){if(h.isZero())return new p(h);if(h.abs().eq(1)&&f+4<=ga)return a=Ir(p,f+4,d).times(.25),a.s=h.s,a}else{if(!h.s)return new p(NaN);if(f+4<=ga)return a=Ir(p,f+4,d).times(.5),a.s=h.s,a}for(p.precision=l=f+10,p.rounding=1,e=Math.min(28,l/Et+2|0),i=e;i;--i)h=h.div(h.times(h).plus(1).sqrt().plus(1));for(Nt=!1,t=Math.ceil(l/Et),r=1,c=h.times(h),a=new p(h),n=h;i!==-1;)if(n=n.times(c),s=a.minus(n.div(r+=2)),n=n.times(c),a=s.plus(n.div(r+=2)),a.d[t]!==void 0)for(i=t;a.d[i]===s.d[i]&&i--;);return e&&(a=a.times(2<<e-1)),Nt=!0,yt(a,p.precision=f,p.rounding=d,!0)},it.isFinite=function(){return!!this.d},it.isInteger=it.isInt=function(){return!!this.d&&qe(this.e/Et)>this.d.length-2},it.isNaN=function(){return!this.s},it.isNegative=it.isNeg=function(){return this.s<0},it.isPositive=it.isPos=function(){return this.s>0},it.isZero=function(){return!!this.d&&this.d[0]===0},it.lessThan=it.lt=function(i){return this.cmp(i)<0},it.lessThanOrEqualTo=it.lte=function(i){return this.cmp(i)<1},it.logarithm=it.log=function(i){var t,e,r,n,s,a,l,c,h=this,p=h.constructor,f=p.precision,d=p.rounding,g=5;if(i==null)i=new p(10),t=!0;else{if(i=new p(i),e=i.d,i.s<0||!e||!e[0]||i.eq(1))return new p(NaN);t=i.eq(10)}if(e=h.d,h.s<0||!e||!e[0]||h.eq(1))return new p(e&&!e[0]?-1/0:h.s!=1?NaN:e?0:1/0);if(t)if(e.length>1)s=!0;else{for(n=e[0];n%10===0;)n/=10;s=n!==1}if(Nt=!1,l=f+g,a=vn(h,l),r=t?Bs(p,l+10):vn(i,l),c=oe(a,r,l,1),Ui(c.d,n=f,d))do if(l+=10,a=vn(h,l),r=t?Bs(p,l+10):vn(i,l),c=oe(a,r,l,1),!s){+Re(c.d).slice(n+1,n+15)+1==1e14&&(c=yt(c,f+1,0));break}while(Ui(c.d,n+=10,d));return Nt=!0,yt(c,f,d)},it.minus=it.sub=function(i){var t,e,r,n,s,a,l,c,h,p,f,d,g=this,w=g.constructor;if(i=new w(i),!g.d||!i.d)return!g.s||!i.s?i=new w(NaN):g.d?i.s=-i.s:i=new w(i.d||g.s!==i.s?g:NaN),i;if(g.s!=i.s)return i.s=-i.s,g.plus(i);if(h=g.d,d=i.d,l=w.precision,c=w.rounding,!h[0]||!d[0]){if(d[0])i.s=-i.s;else if(h[0])i=new w(g);else return new w(c===3?-0:0);return Nt?yt(i,l,c):i}if(e=qe(i.e/Et),p=qe(g.e/Et),h=h.slice(),s=p-e,s){for(f=s<0,f?(t=h,s=-s,a=d.length):(t=d,e=p,a=h.length),r=Math.max(Math.ceil(l/Et),a)+2,s>r&&(s=r,t.length=1),t.reverse(),r=s;r--;)t.push(0);t.reverse()}else{for(r=h.length,a=d.length,f=r<a,f&&(a=r),r=0;r<a;r++)if(h[r]!=d[r]){f=h[r]<d[r];break}s=0}for(f&&(t=h,h=d,d=t,i.s=-i.s),a=h.length,r=d.length-a;r>0;--r)h[a++]=0;for(r=d.length;r>s;){if(h[--r]<d[r]){for(n=r;n&&h[--n]===0;)h[n]=Tr-1;--h[n],h[r]+=Tr}h[r]-=d[r]}for(;h[--a]===0;)h.pop();for(;h[0]===0;h.shift())--e;return h[0]?(i.d=h,i.e=Ss(h,e),Nt?yt(i,l,c):i):new w(c===3?-0:0)},it.modulo=it.mod=function(i){var t,e=this,r=e.constructor;return i=new r(i),!e.d||!i.s||i.d&&!i.d[0]?new r(NaN):!i.d||e.d&&!e.d[0]?yt(new r(e),r.precision,r.rounding):(Nt=!1,r.modulo==9?(t=oe(e,i.abs(),0,3,1),t.s*=i.s):t=oe(e,i,0,r.modulo,1),t=t.times(i),Nt=!0,e.minus(t))},it.naturalExponential=it.exp=function(){return va(this)},it.naturalLogarithm=it.ln=function(){return vn(this)},it.negated=it.neg=function(){var i=new this.constructor(this);return i.s=-i.s,yt(i)},it.plus=it.add=function(i){var t,e,r,n,s,a,l,c,h,p,f=this,d=f.constructor;if(i=new d(i),!f.d||!i.d)return!f.s||!i.s?i=new d(NaN):f.d||(i=new d(i.d||f.s===i.s?f:NaN)),i;if(f.s!=i.s)return i.s=-i.s,f.minus(i);if(h=f.d,p=i.d,l=d.precision,c=d.rounding,!h[0]||!p[0])return p[0]||(i=new d(f)),Nt?yt(i,l,c):i;if(s=qe(f.e/Et),r=qe(i.e/Et),h=h.slice(),n=s-r,n){for(n<0?(e=h,n=-n,a=p.length):(e=p,r=s,a=h.length),s=Math.ceil(l/Et),a=s>a?s+1:a+1,n>a&&(n=a,e.length=1),e.reverse();n--;)e.push(0);e.reverse()}for(a=h.length,n=p.length,a-n<0&&(n=a,e=p,p=h,h=e),t=0;n;)t=(h[--n]=h[n]+p[n]+t)/Tr|0,h[n]%=Tr;for(t&&(h.unshift(t),++r),a=h.length;h[--a]==0;)h.pop();return i.d=h,i.e=Ss(h,r),Nt?yt(i,l,c):i},it.precision=it.sd=function(i){var t,e=this;if(i!==void 0&&i!==!!i&&i!==1&&i!==0)throw Error(mn+i);return e.d?(t=uc(e.d),i&&e.e+1>t&&(t=e.e+1)):t=NaN,t},it.round=function(){var i=this,t=i.constructor;return yt(new t(i),i.e+1,t.rounding)},it.sine=it.sin=function(){var i,t,e=this,r=e.constructor;return e.isFinite()?e.isZero()?new r(e):(i=r.precision,t=r.rounding,r.precision=i+Math.max(e.e,e.sd())+Et,r.rounding=1,e=Xd(r,pc(r,e)),r.precision=i,r.rounding=t,yt(Jr>2?e.neg():e,i,t,!0)):new r(NaN)},it.squareRoot=it.sqrt=function(){var i,t,e,r,n,s,a=this,l=a.d,c=a.e,h=a.s,p=a.constructor;if(h!==1||!l||!l[0])return new p(!h||h<0&&(!l||l[0])?NaN:l?a:1/0);for(Nt=!1,h=Math.sqrt(+a),h==0||h==1/0?(t=Re(l),(t.length+c)%2==0&&(t+="0"),h=Math.sqrt(t),c=qe((c+1)/2)-(c<0||c%2),h==1/0?t="5e"+c:(t=h.toExponential(),t=t.slice(0,t.indexOf("e")+1)+c),r=new p(t)):r=new p(h.toString()),e=(c=p.precision)+3;;)if(s=r,r=s.plus(oe(a,s,e+2,1)).times(.5),Re(s.d).slice(0,e)===(t=Re(r.d)).slice(0,e))if(t=t.slice(e-3,e+1),t=="9999"||!n&&t=="4999"){if(!n&&(yt(s,c+1,0),s.times(s).eq(a))){r=s;break}e+=4,n=1}else{(!+t||!+t.slice(1)&&t.charAt(0)=="5")&&(yt(r,c+1,1),i=!r.times(r).eq(a));break}return Nt=!0,yt(r,c,p.rounding,i)},it.tangent=it.tan=function(){var i,t,e=this,r=e.constructor;return e.isFinite()?e.isZero()?new r(e):(i=r.precision,t=r.rounding,r.precision=i+10,r.rounding=1,e=e.sin(),e.s=1,e=oe(e,new r(1).minus(e.times(e)).sqrt(),i+10,0),r.precision=i,r.rounding=t,yt(Jr==2||Jr==4?e.neg():e,i,t,!0)):new r(NaN)},it.times=it.mul=function(i){var t,e,r,n,s,a,l,c,h,p=this,f=p.constructor,d=p.d,g=(i=new f(i)).d;if(i.s*=p.s,!d||!d[0]||!g||!g[0])return new f(!i.s||d&&!d[0]&&!g||g&&!g[0]&&!d?NaN:!d||!g?i.s/0:i.s*0);for(e=qe(p.e/Et)+qe(i.e/Et),c=d.length,h=g.length,c<h&&(s=d,d=g,g=s,a=c,c=h,h=a),s=[],a=c+h,r=a;r--;)s.push(0);for(r=h;--r>=0;){for(t=0,n=c+r;n>r;)l=s[n]+g[r]*d[n-r-1]+t,s[n--]=l%Tr|0,t=l/Tr|0;s[n]=(s[n]+t)%Tr|0}for(;!s[--a];)s.pop();return t?++e:s.shift(),i.d=s,i.e=Ss(s,e),Nt?yt(i,f.precision,f.rounding):i},it.toBinary=function(i,t){return ya(this,2,i,t)},it.toDecimalPlaces=it.toDP=function(i,t){var e=this,r=e.constructor;return e=new r(e),i===void 0?e:(Je(i,0,_n),t===void 0?t=r.rounding:Je(t,0,8),yt(e,i+e.e+1,t))},it.toExponential=function(i,t){var e,r=this,n=r.constructor;return i===void 0?e=jr(r,!0):(Je(i,0,_n),t===void 0?t=n.rounding:Je(t,0,8),r=yt(new n(r),i+1,t),e=jr(r,!0,i+1)),r.isNeg()&&!r.isZero()?"-"+e:e},it.toFixed=function(i,t){var e,r,n=this,s=n.constructor;return i===void 0?e=jr(n):(Je(i,0,_n),t===void 0?t=s.rounding:Je(t,0,8),r=yt(new s(n),i+n.e+1,t),e=jr(r,!1,i+r.e+1)),n.isNeg()&&!n.isZero()?"-"+e:e},it.toFraction=function(i){var t,e,r,n,s,a,l,c,h,p,f,d,g=this,w=g.d,m=g.constructor;if(!w)return new m(g);if(h=e=new m(1),r=c=new m(0),t=new m(r),s=t.e=uc(w)-g.e-1,a=s%Et,t.d[0]=Me(10,a<0?Et+a:a),i==null)i=s>0?t:h;else{if(l=new m(i),!l.isInt()||l.lt(h))throw Error(mn+l);i=l.gt(t)?s>0?t:h:l}for(Nt=!1,l=new m(Re(w)),p=m.precision,m.precision=s=w.length*Et*2;f=oe(l,t,0,1,1),n=e.plus(f.times(r)),n.cmp(i)!=1;)e=r,r=n,n=h,h=c.plus(f.times(n)),c=n,n=t,t=l.minus(f.times(n)),l=n;return n=oe(i.minus(e),r,0,1,1),c=c.plus(n.times(h)),e=e.plus(n.times(r)),c.s=h.s=g.s,d=oe(h,r,s,1).minus(g).abs().cmp(oe(c,e,s,1).minus(g).abs())<1?[h,r]:[c,e],m.precision=p,Nt=!0,d},it.toHexadecimal=it.toHex=function(i,t){return ya(this,16,i,t)},it.toNearest=function(i,t){var e=this,r=e.constructor;if(e=new r(e),i==null){if(!e.d)return e;i=new r(1),t=r.rounding}else{if(i=new r(i),t===void 0?t=r.rounding:Je(t,0,8),!e.d)return i.s?e:i;if(!i.d)return i.s&&(i.s=e.s),i}return i.d[0]?(Nt=!1,e=oe(e,i,0,t,1).times(i),Nt=!0,yt(e)):(i.s=e.s,e=i),e},it.toNumber=function(){return+this},it.toOctal=function(i,t){return ya(this,8,i,t)},it.toPower=it.pow=function(i){var t,e,r,n,s,a,l=this,c=l.constructor,h=+(i=new c(i));if(!l.d||!i.d||!l.d[0]||!i.d[0])return new c(Me(+l,h));if(l=new c(l),l.eq(1))return l;if(r=c.precision,s=c.rounding,i.eq(1))return yt(l,r,s);if(t=qe(i.e/Et),t>=i.d.length-1&&(e=h<0?-h:h)<=Gd)return n=lc(c,l,e,r),i.s<0?new c(1).div(n):yt(n,r,s);if(a=l.s,a<0){if(t<i.d.length-1)return new c(NaN);if(i.d[t]&1||(a=1),l.e==0&&l.d[0]==1&&l.d.length==1)return l.s=a,l}return e=Me(+l,h),t=e==0||!isFinite(e)?qe(h*(Math.log("0."+Re(l.d))/Math.LN10+l.e+1)):new c(e+"").e,t>c.maxE+1||t<c.minE-1?new c(t>0?a/0:0):(Nt=!1,c.rounding=l.s=1,e=Math.min(12,(t+"").length),n=va(i.times(vn(l,r+e)),r),n.d&&(n=yt(n,r+5,1),Ui(n.d,r,s)&&(t=r+10,n=yt(va(i.times(vn(l,t+e)),t),t+5,1),+Re(n.d).slice(r+1,r+15)+1==1e14&&(n=yt(n,r+1,0)))),n.s=a,Nt=!0,c.rounding=s,yt(n,r,s))},it.toPrecision=function(i,t){var e,r=this,n=r.constructor;return i===void 0?e=jr(r,r.e<=n.toExpNeg||r.e>=n.toExpPos):(Je(i,1,_n),t===void 0?t=n.rounding:Je(t,0,8),r=yt(new n(r),i,t),e=jr(r,i<=r.e||r.e<=n.toExpNeg,i)),r.isNeg()&&!r.isZero()?"-"+e:e},it.toSignificantDigits=it.toSD=function(i,t){var e=this,r=e.constructor;return i===void 0?(i=r.precision,t=r.rounding):(Je(i,1,_n),t===void 0?t=r.rounding:Je(t,0,8)),yt(new r(e),i,t)},it.toString=function(){var i=this,t=i.constructor,e=jr(i,i.e<=t.toExpNeg||i.e>=t.toExpPos);return i.isNeg()&&!i.isZero()?"-"+e:e},it.truncated=it.trunc=function(){return yt(new this.constructor(this),this.e+1,1)},it.valueOf=it.toJSON=function(){var i=this,t=i.constructor,e=jr(i,i.e<=t.toExpNeg||i.e>=t.toExpPos);return i.isNeg()?"-"+e:e};function Re(i){var t,e,r,n=i.length-1,s="",a=i[0];if(n>0){for(s+=a,t=1;t<n;t++)r=i[t]+"",e=Et-r.length,e&&(s+=gn(e)),s+=r;a=i[t],r=a+"",e=Et-r.length,e&&(s+=gn(e))}else if(a===0)return"0";for(;a%10===0;)a/=10;return s+a}function Je(i,t,e){if(i!==~~i||i<t||i>e)throw Error(mn+i)}function Ui(i,t,e,r){var n,s,a,l;for(s=i[0];s>=10;s/=10)--t;return--t<0?(t+=Et,n=0):(n=Math.ceil((t+1)/Et),t%=Et),s=Me(10,Et-t),l=i[n]%s|0,r==null?t<3?(t==0?l=l/100|0:t==1&&(l=l/10|0),a=e<4&&l==99999||e>3&&l==49999||l==5e4||l==0):a=(e<4&&l+1==s||e>3&&l+1==s/2)&&(i[n+1]/s/100|0)==Me(10,t-2)-1||(l==s/2||l==0)&&(i[n+1]/s/100|0)==0:t<4?(t==0?l=l/1e3|0:t==1?l=l/100|0:t==2&&(l=l/10|0),a=(r||e<4)&&l==9999||!r&&e>3&&l==4999):a=((r||e<4)&&l+1==s||!r&&e>3&&l+1==s/2)&&(i[n+1]/s/1e3|0)==Me(10,t-3)-1,a}function Ns(i,t,e){for(var r,n=[0],s,a=0,l=i.length;a<l;){for(s=n.length;s--;)n[s]*=t;for(n[0]+=_a.indexOf(i.charAt(a++)),r=0;r<n.length;r++)n[r]>e-1&&(n[r+1]===void 0&&(n[r+1]=0),n[r+1]+=n[r]/e|0,n[r]%=e)}return n.reverse()}function Hd(i,t){var e,r,n;if(t.isZero())return t;r=t.d.length,r<32?(e=Math.ceil(r/3),n=(1/Ts(4,e)).toString()):(e=16,n="2.3283064365386962890625e-10"),i.precision+=e,t=li(i,1,t.times(n),new i(1));for(var s=e;s--;){var a=t.times(t);t=a.times(a).minus(a).times(8).plus(1)}return i.precision-=e,t}var oe=function(){function i(r,n,s){var a,l=0,c=r.length;for(r=r.slice();c--;)a=r[c]*n+l,r[c]=a%s|0,l=a/s|0;return l&&r.unshift(l),r}function t(r,n,s,a){var l,c;if(s!=a)c=s>a?1:-1;else for(l=c=0;l<s;l++)if(r[l]!=n[l]){c=r[l]>n[l]?1:-1;break}return c}function e(r,n,s,a){for(var l=0;s--;)r[s]-=l,l=r[s]<n[s]?1:0,r[s]=l*a+r[s]-n[s];for(;!r[0]&&r.length>1;)r.shift()}return function(r,n,s,a,l,c){var h,p,f,d,g,w,m,D,v,E,b,N,x,F,M,S,O,C,T,R,U=r.constructor,k=r.s==n.s?1:-1,W=r.d,P=n.d;if(!W||!W[0]||!P||!P[0])return new U(!r.s||!n.s||(W?P&&W[0]==P[0]:!P)?NaN:W&&W[0]==0||!P?k*0:k/0);for(c?(g=1,p=r.e-n.e):(c=Tr,g=Et,p=qe(r.e/g)-qe(n.e/g)),T=P.length,O=W.length,v=new U(k),E=v.d=[],f=0;P[f]==(W[f]||0);f++);if(P[f]>(W[f]||0)&&p--,s==null?(F=s=U.precision,a=U.rounding):l?F=s+(r.e-n.e)+1:F=s,F<0)E.push(1),w=!0;else{if(F=F/g+2|0,f=0,T==1){for(d=0,P=P[0],F++;(f<O||d)&&F--;f++)M=d*c+(W[f]||0),E[f]=M/P|0,d=M%P|0;w=d||f<O}else{for(d=c/(P[0]+1)|0,d>1&&(P=i(P,d,c),W=i(W,d,c),T=P.length,O=W.length),S=T,b=W.slice(0,T),N=b.length;N<T;)b[N++]=0;R=P.slice(),R.unshift(0),C=P[0],P[1]>=c/2&&++C;do d=0,h=t(P,b,T,N),h<0?(x=b[0],T!=N&&(x=x*c+(b[1]||0)),d=x/C|0,d>1?(d>=c&&(d=c-1),m=i(P,d,c),D=m.length,N=b.length,h=t(m,b,D,N),h==1&&(d--,e(m,T<D?R:P,D,c))):(d==0&&(h=d=1),m=P.slice()),D=m.length,D<N&&m.unshift(0),e(b,m,N,c),h==-1&&(N=b.length,h=t(P,b,T,N),h<1&&(d++,e(b,T<N?R:P,N,c))),N=b.length):h===0&&(d++,b=[0]),E[f++]=d,h&&b[0]?b[N++]=W[S]||0:(b=[W[S]],N=1);while((S++<O||b[0]!==void 0)&&F--);w=b[0]!==void 0}E[0]||E.shift()}if(g==1)v.e=p,nc=w;else{for(f=1,d=E[0];d>=10;d/=10)f++;v.e=f+p*g-1,yt(v,l?s+v.e+1:s,a,w)}return v}}();function yt(i,t,e,r){var n,s,a,l,c,h,p,f,d,g=i.constructor;t:if(t!=null){if(f=i.d,!f)return i;for(n=1,l=f[0];l>=10;l/=10)n++;if(s=t-n,s<0)s+=Et,a=t,p=f[d=0],c=p/Me(10,n-a-1)%10|0;else if(d=Math.ceil((s+1)/Et),l=f.length,d>=l)if(r){for(;l++<=d;)f.push(0);p=c=0,n=1,s%=Et,a=s-Et+1}else break t;else{for(p=l=f[d],n=1;l>=10;l/=10)n++;s%=Et,a=s-Et+n,c=a<0?0:p/Me(10,n-a-1)%10|0}if(r=r||t<0||f[d+1]!==void 0||(a<0?p:p%Me(10,n-a-1)),h=e<4?(c||r)&&(e==0||e==(i.s<0?3:2)):c>5||c==5&&(e==4||r||e==6&&(s>0?a>0?p/Me(10,n-a):0:f[d-1])%10&1||e==(i.s<0?8:7)),t<1||!f[0])return f.length=0,h?(t-=i.e+1,f[0]=Me(10,(Et-t%Et)%Et),i.e=-t||0):f[0]=i.e=0,i;if(s==0?(f.length=d,l=1,d--):(f.length=d+1,l=Me(10,Et-s),f[d]=a>0?(p/Me(10,n-a)%Me(10,a)|0)*l:0),h)for(;;)if(d==0){for(s=1,a=f[0];a>=10;a/=10)s++;for(a=f[0]+=l,l=1;a>=10;a/=10)l++;s!=l&&(i.e++,f[0]==Tr&&(f[0]=1));break}else{if(f[d]+=l,f[d]!=Tr)break;f[d--]=0,l=1}for(s=f.length;f[--s]===0;)f.pop()}return Nt&&(i.e>g.maxE?(i.d=null,i.e=NaN):i.e<g.minE&&(i.e=0,i.d=[0])),i}function jr(i,t,e){if(!i.isFinite())return hc(i);var r,n=i.e,s=Re(i.d),a=s.length;return t?(e&&(r=e-a)>0?s=s.charAt(0)+"."+s.slice(1)+gn(r):a>1&&(s=s.charAt(0)+"."+s.slice(1)),s=s+(i.e<0?"e":"e+")+i.e):n<0?(s="0."+gn(-n-1)+s,e&&(r=e-a)>0&&(s+=gn(r))):n>=a?(s+=gn(n+1-a),e&&(r=e-n-1)>0&&(s=s+"."+gn(r))):((r=n+1)<a&&(s=s.slice(0,r)+"."+s.slice(r)),e&&(r=e-a)>0&&(n+1===a&&(s+="."),s+=gn(r))),s}function Ss(i,t){var e=i[0];for(t*=Et;e>=10;e/=10)t++;return t}function Bs(i,t,e){if(t>Kd)throw Nt=!0,e&&(i.precision=e),Error(ic);return yt(new i(Cs),t,1,!0)}function Ir(i,t,e){if(t>ga)throw Error(ic);return yt(new i(Fs),t,e,!0)}function uc(i){var t=i.length-1,e=t*Et+1;if(t=i[t],t){for(;t%10==0;t/=10)e--;for(t=i[0];t>=10;t/=10)e++}return e}function gn(i){for(var t="";i--;)t+="0";return t}function lc(i,t,e,r){var n,s=new i(1),a=Math.ceil(r/Et+4);for(Nt=!1;;){if(e%2&&(s=s.times(t),dc(s.d,a)&&(n=!0)),e=qe(e/2),e===0){e=s.d.length-1,n&&s.d[e]===0&&++s.d[e];break}t=t.times(t),dc(t.d,a)}return Nt=!0,s}function cc(i){return i.d[i.d.length-1]&1}function fc(i,t,e){for(var r,n=new i(t[0]),s=0;++s<t.length;)if(r=new i(t[s]),r.s)n[e](r)&&(n=r);else{n=r;break}return n}function va(i,t){var e,r,n,s,a,l,c,h=0,p=0,f=0,d=i.constructor,g=d.rounding,w=d.precision;if(!i.d||!i.d[0]||i.e>17)return new d(i.d?i.d[0]?i.s<0?0:1/0:1:i.s?i.s<0?0:i:NaN);for(t==null?(Nt=!1,c=w):c=t,l=new d(.03125);i.e>-2;)i=i.times(l),f+=5;for(r=Math.log(Me(2,f))/Math.LN10*2+5|0,c+=r,e=s=a=new d(1),d.precision=c;;){if(s=yt(s.times(i),c,1),e=e.times(++p),l=a.plus(oe(s,e,c,1)),Re(l.d).slice(0,c)===Re(a.d).slice(0,c)){for(n=f;n--;)a=yt(a.times(a),c,1);if(t==null)if(h<3&&Ui(a.d,c-r,g,h))d.precision=c+=10,e=s=l=new d(1),p=0,h++;else return yt(a,d.precision=w,g,Nt=!0);else return d.precision=w,a}a=l}}function vn(i,t){var e,r,n,s,a,l,c,h,p,f,d,g=1,w=10,m=i,D=m.d,v=m.constructor,E=v.rounding,b=v.precision;if(m.s<0||!D||!D[0]||!m.e&&D[0]==1&&D.length==1)return new v(D&&!D[0]?-1/0:m.s!=1?NaN:D?0:m);if(t==null?(Nt=!1,p=b):p=t,v.precision=p+=w,e=Re(D),r=e.charAt(0),Math.abs(s=m.e)<15e14){for(;r<7&&r!=1||r==1&&e.charAt(1)>3;)m=m.times(i),e=Re(m.d),r=e.charAt(0),g++;s=m.e,r>1?(m=new v("0."+e),s++):m=new v(r+"."+e.slice(1))}else return h=Bs(v,p+2,b).times(s+""),m=vn(new v(r+"."+e.slice(1)),p-w).plus(h),v.precision=b,t==null?yt(m,b,E,Nt=!0):m;for(f=m,c=a=m=oe(m.minus(1),m.plus(1),p,1),d=yt(m.times(m),p,1),n=3;;){if(a=yt(a.times(d),p,1),h=c.plus(oe(a,new v(n),p,1)),Re(h.d).slice(0,p)===Re(c.d).slice(0,p))if(c=c.times(2),s!==0&&(c=c.plus(Bs(v,p+2,b).times(s+""))),c=oe(c,new v(g),p,1),t==null)if(Ui(c.d,p-w,E,l))v.precision=p+=w,h=a=m=oe(f.minus(1),f.plus(1),p,1),d=yt(m.times(m),p,1),n=l=1;else return yt(c,v.precision=b,E,Nt=!0);else return v.precision=b,c;c=h,n+=2}}function hc(i){return String(i.s*i.s/0)}function wa(i,t){var e,r,n;for((e=t.indexOf("."))>-1&&(t=t.replace(".","")),(r=t.search(/e/i))>0?(e<0&&(e=r),e+=+t.slice(r+1),t=t.substring(0,r)):e<0&&(e=t.length),r=0;t.charCodeAt(r)===48;r++);for(n=t.length;t.charCodeAt(n-1)===48;--n);if(t=t.slice(r,n),t){if(n-=r,i.e=e=e-r-1,i.d=[],r=(e+1)%Et,e<0&&(r+=Et),r<n){for(r&&i.d.push(+t.slice(0,r)),n-=Et;r<n;)i.d.push(+t.slice(r,r+=Et));t=t.slice(r),r=Et-t.length}else r-=n;for(;r--;)t+="0";i.d.push(+t),Nt&&(i.e>i.constructor.maxE?(i.d=null,i.e=NaN):i.e<i.constructor.minE&&(i.e=0,i.d=[0]))}else i.e=0,i.d=[0];return i}function Jd(i,t){var e,r,n,s,a,l,c,h,p;if(t.indexOf("_")>-1){if(t=t.replace(/(\d)_(?=\d)/g,"$1"),ac.test(t))return wa(i,t)}else if(t==="Infinity"||t==="NaN")return+t||(i.s=NaN),i.e=NaN,i.d=null,i;if(Yd.test(t))e=16,t=t.toLowerCase();else if(jd.test(t))e=2;else if(Zd.test(t))e=8;else throw Error(mn+t);for(s=t.search(/p/i),s>0?(c=+t.slice(s+1),t=t.substring(2,s)):t=t.slice(2),s=t.indexOf("."),a=s>=0,r=i.constructor,a&&(t=t.replace(".",""),l=t.length,s=l-s,n=lc(r,new r(e),s,s*2)),h=Ns(t,e,Tr),p=h.length-1,s=p;h[s]===0;--s)h.pop();return s<0?new r(i.s*0):(i.e=Ss(h,p),i.d=h,Nt=!1,a&&(i=oe(i,n,l*4)),c&&(i=i.times(Math.abs(c)<54?Me(2,c):ci.pow(2,c))),Nt=!0,i)}function Xd(i,t){var e,r=t.d.length;if(r<3)return t.isZero()?t:li(i,2,t,t);e=1.4*Math.sqrt(r),e=e>16?16:e|0,t=t.times(1/Ts(5,e)),t=li(i,2,t,t);for(var n,s=new i(5),a=new i(16),l=new i(20);e--;)n=t.times(t),t=t.times(s.plus(n.times(a.times(n).minus(l))));return t}function li(i,t,e,r,n){var s,a,l,c,h=i.precision,p=Math.ceil(h/Et);for(Nt=!1,c=e.times(e),l=new i(r);;){if(a=oe(l.times(c),new i(t++*t++),h,1),l=n?r.plus(a):r.minus(a),r=oe(a.times(c),new i(t++*t++),h,1),a=l.plus(r),a.d[p]!==void 0){for(s=p;a.d[s]===l.d[s]&&s--;);if(s==-1)break}s=l,l=r,r=a,a=s}return Nt=!0,a.d.length=p+1,a}function Ts(i,t){for(var e=i;--t;)e*=i;return e}function pc(i,t){var e,r=t.s<0,n=Ir(i,i.precision,1),s=n.times(.5);if(t=t.abs(),t.lte(s))return Jr=r?4:1,t;if(e=t.divToInt(n),e.isZero())Jr=r?3:2;else{if(t=t.minus(e.times(n)),t.lte(s))return Jr=cc(e)?r?2:3:r?4:1,t;Jr=cc(e)?r?1:4:r?3:2}return t.minus(n).abs()}function ya(i,t,e,r){var n,s,a,l,c,h,p,f,d,g=i.constructor,w=e!==void 0;if(w?(Je(e,1,_n),r===void 0?r=g.rounding:Je(r,0,8)):(e=g.precision,r=g.rounding),!i.isFinite())p=hc(i);else{for(p=jr(i),a=p.indexOf("."),w?(n=2,t==16?e=e*4-3:t==8&&(e=e*3-2)):n=t,a>=0&&(p=p.replace(".",""),d=new g(1),d.e=p.length-a,d.d=Ns(jr(d),10,n),d.e=d.d.length),f=Ns(p,10,n),s=c=f.length;f[--c]==0;)f.pop();if(!f[0])p=w?"0p+0":"0";else{if(a<0?s--:(i=new g(i),i.d=f,i.e=s,i=oe(i,d,e,r,0,n),f=i.d,s=i.e,h=nc),a=f[e],l=n/2,h=h||f[e+1]!==void 0,h=r<4?(a!==void 0||h)&&(r===0||r===(i.s<0?3:2)):a>l||a===l&&(r===4||h||r===6&&f[e-1]&1||r===(i.s<0?8:7)),f.length=e,h)for(;++f[--e]>n-1;)f[e]=0,e||(++s,f.unshift(1));for(c=f.length;!f[c-1];--c);for(a=0,p="";a<c;a++)p+=_a.charAt(f[a]);if(w){if(c>1)if(t==16||t==8){for(a=t==16?4:3,--c;c%a;c++)p+="0";for(f=Ns(p,n,t),c=f.length;!f[c-1];--c);for(a=1,p="1.";a<c;a++)p+=_a.charAt(f[a])}else p=p.charAt(0)+"."+p.slice(1);p=p+(s<0?"p":"p+")+s}else if(s<0){for(;++s;)p="0"+p;p="0."+p}else if(++s>c)for(s-=c;s--;)p+="0";else s<c&&(p=p.slice(0,s)+"."+p.slice(s))}p=(t==16?"0x":t==2?"0b":t==8?"0o":"")+p}return i.s<0?"-"+p:p}function dc(i,t){if(i.length>t)return i.length=t,!0}function Vd(i){return new this(i).abs()}function Qd(i){return new this(i).acos()}function t_(i){return new this(i).acosh()}function e_(i,t){return new this(i).plus(t)}function r_(i){return new this(i).asin()}function n_(i){return new this(i).asinh()}function i_(i){return new this(i).atan()}function s_(i){return new this(i).atanh()}function o_(i,t){i=new this(i),t=new this(t);var e,r=this.precision,n=this.rounding,s=r+4;return!i.s||!t.s?e=new this(NaN):!i.d&&!t.d?(e=Ir(this,s,1).times(t.s>0?.25:.75),e.s=i.s):!t.d||i.isZero()?(e=t.s<0?Ir(this,r,n):new this(0),e.s=i.s):!i.d||t.isZero()?(e=Ir(this,s,1).times(.5),e.s=i.s):t.s<0?(this.precision=s,this.rounding=1,e=this.atan(oe(i,t,s,1)),t=Ir(this,s,1),this.precision=r,this.rounding=n,e=i.s<0?e.minus(t):e.plus(t)):e=this.atan(oe(i,t,s,1)),e}function a_(i){return new this(i).cbrt()}function u_(i){return yt(i=new this(i),i.e+1,2)}function l_(i,t,e){return new this(i).clamp(t,e)}function c_(i){if(!i||typeof i!="object")throw Error(Ms+"Object expected");var t,e,r,n=i.defaults===!0,s=["precision",1,_n,"rounding",0,8,"toExpNeg",-ui,0,"toExpPos",0,ui,"maxE",0,ui,"minE",-ui,0,"modulo",0,9];for(t=0;t<s.length;t+=3)if(e=s[t],n&&(this[e]=ma[e]),(r=i[e])!==void 0)if(qe(r)===r&&r>=s[t+1]&&r<=s[t+2])this[e]=r;else throw Error(mn+e+": "+r);if(e="crypto",n&&(this[e]=ma[e]),(r=i[e])!==void 0)if(r===!0||r===!1||r===0||r===1)if(r)if(typeof crypto<"u"&&crypto&&(crypto.getRandomValues||crypto.randomBytes))this[e]=!0;else throw Error(sc);else this[e]=!1;else throw Error(mn+e+": "+r);return this}function f_(i){return new this(i).cos()}function h_(i){return new this(i).cosh()}function _c(i){var t,e,r;function n(s){var a,l,c,h=this;if(!(h instanceof n))return new n(s);if(h.constructor=n,mc(s)){h.s=s.s,Nt?!s.d||s.e>n.maxE?(h.e=NaN,h.d=null):s.e<n.minE?(h.e=0,h.d=[0]):(h.e=s.e,h.d=s.d.slice()):(h.e=s.e,h.d=s.d?s.d.slice():s.d);return}if(c=typeof s,c==="number"){if(s===0){h.s=1/s<0?-1:1,h.e=0,h.d=[0];return}if(s<0?(s=-s,h.s=-1):h.s=1,s===~~s&&s<1e7){for(a=0,l=s;l>=10;l/=10)a++;Nt?a>n.maxE?(h.e=NaN,h.d=null):a<n.minE?(h.e=0,h.d=[0]):(h.e=a,h.d=[s]):(h.e=a,h.d=[s]);return}else if(s*0!==0){s||(h.s=NaN),h.e=NaN,h.d=null;return}return wa(h,s.toString())}else if(c!=="string")throw Error(mn+s);return(l=s.charCodeAt(0))===45?(s=s.slice(1),h.s=-1):(l===43&&(s=s.slice(1)),h.s=1),ac.test(s)?wa(h,s):Jd(h,s)}if(n.prototype=it,n.ROUND_UP=0,n.ROUND_DOWN=1,n.ROUND_CEIL=2,n.ROUND_FLOOR=3,n.ROUND_HALF_UP=4,n.ROUND_HALF_DOWN=5,n.ROUND_HALF_EVEN=6,n.ROUND_HALF_CEIL=7,n.ROUND_HALF_FLOOR=8,n.EUCLID=9,n.config=n.set=c_,n.clone=_c,n.isDecimal=mc,n.abs=Vd,n.acos=Qd,n.acosh=t_,n.add=e_,n.asin=r_,n.asinh=n_,n.atan=i_,n.atanh=s_,n.atan2=o_,n.cbrt=a_,n.ceil=u_,n.clamp=l_,n.cos=f_,n.cosh=h_,n.div=p_,n.exp=d_,n.floor=__,n.hypot=m_,n.ln=g_,n.log=v_,n.log10=y_,n.log2=w_,n.max=D_,n.min=b_,n.mod=E_,n.mul=x_,n.pow=A_,n.random=C_,n.round=F_,n.sign=M_,n.sin=N_,n.sinh=S_,n.sqrt=B_,n.sub=T_,n.sum=I_,n.tan=O_,n.tanh=$_,n.trunc=R_,i===void 0&&(i={}),i&&i.defaults!==!0)for(r=["precision","rounding","toExpNeg","toExpPos","maxE","minE","modulo","crypto"],t=0;t<r.length;)i.hasOwnProperty(e=r[t++])||(i[e]=this[e]);return n.config(i),n}function p_(i,t){return new this(i).div(t)}function d_(i){return new this(i).exp()}function __(i){return yt(i=new this(i),i.e+1,3)}function m_(){var i,t,e=new this(0);for(Nt=!1,i=0;i<arguments.length;)if(t=new this(arguments[i++]),t.d)e.d&&(e=e.plus(t.times(t)));else{if(t.s)return Nt=!0,new this(1/0);e=t}return Nt=!0,e.sqrt()}function mc(i){return i instanceof ci||i&&i.toStringTag===oc||!1}function g_(i){return new this(i).ln()}function v_(i,t){return new this(i).log(t)}function w_(i){return new this(i).log(2)}function y_(i){return new this(i).log(10)}function D_(){return fc(this,arguments,"lt")}function b_(){return fc(this,arguments,"gt")}function E_(i,t){return new this(i).mod(t)}function x_(i,t){return new this(i).mul(t)}function A_(i,t){return new this(i).pow(t)}function C_(i){var t,e,r,n,s=0,a=new this(1),l=[];if(i===void 0?i=this.precision:Je(i,1,_n),r=Math.ceil(i/Et),this.crypto)if(crypto.getRandomValues)for(t=crypto.getRandomValues(new Uint32Array(r));s<r;)n=t[s],n>=429e7?t[s]=crypto.getRandomValues(new Uint32Array(1))[0]:l[s++]=n%1e7;else if(crypto.randomBytes){for(t=crypto.randomBytes(r*=4);s<r;)n=t[s]+(t[s+1]<<8)+(t[s+2]<<16)+((t[s+3]&127)<<24),n>=214e7?crypto.randomBytes(4).copy(t,s):(l.push(n%1e7),s+=4);s=r/4}else throw Error(sc);else for(;s<r;)l[s++]=Math.random()*1e7|0;for(r=l[--s],i%=Et,r&&i&&(n=Me(10,Et-i),l[s]=(r/n|0)*n);l[s]===0;s--)l.pop();if(s<0)e=0,l=[0];else{for(e=-1;l[0]===0;e-=Et)l.shift();for(r=1,n=l[0];n>=10;n/=10)r++;r<Et&&(e-=Et-r)}return a.e=e,a.d=l,a}function F_(i){return yt(i=new this(i),i.e+1,this.rounding)}function M_(i){return i=new this(i),i.d?i.d[0]?i.s:0*i.s:i.s||NaN}function N_(i){return new this(i).sin()}function S_(i){return new this(i).sinh()}function B_(i){return new this(i).sqrt()}function T_(i,t){return new this(i).sub(t)}function I_(){var i=0,t=arguments,e=new this(t[i]);for(Nt=!1;e.s&&++i<t.length;)e=e.plus(t[i]);return Nt=!0,yt(e,this.precision,this.rounding)}function O_(i){return new this(i).tan()}function $_(i){return new this(i).tanh()}function R_(i){return yt(i=new this(i),i.e+1,1)}it[Symbol.for("nodejs.util.inspect.custom")]=it.toString,it[Symbol.toStringTag]="Decimal";var ci=it.constructor=_c(ma);Cs=new ci(Cs),Fs=new ci(Fs);var L_="BigNumber",P_=["?on","config"],z_=_t(L_,P_,i=>{var{on:t,config:e}=i,r=ci.clone({precision:e.precision,modulo:ci.EUCLID});return r.prototype=Object.create(r.prototype),r.prototype.type="BigNumber",r.prototype.isBigNumber=!0,r.prototype.toJSON=function(){return{mathjs:"BigNumber",value:this.toString()}},r.fromJSON=function(n){return new r(n.value)},t&&t("config",function(n,s){n.precision!==s.precision&&r.config({precision:n.precision})}),r},{isClass:!0}),gc={exports:{}};/**
|
40
|
+
*/var ui=9e15,_n=1e9,_a="0123456789abcdef",Cs="2.3025850929940456840179914546843642076011014886287729760333279009675726096773524802359972050895982983419677840422862486334095254650828067566662873690987816894829072083255546808437998948262331985283935053089653777326288461633662222876982198867465436674744042432743651550489343149393914796194044002221051017141748003688084012647080685567743216228355220114804663715659121373450747856947683463616792101806445070648000277502684916746550586856935673420670581136429224554405758925724208241314695689016758940256776311356919292033376587141660230105703089634572075440370847469940168269282808481184289314848524948644871927809676271275775397027668605952496716674183485704422507197965004714951050492214776567636938662976979522110718264549734772662425709429322582798502585509785265383207606726317164309505995087807523710333101197857547331541421808427543863591778117054309827482385045648019095610299291824318237525357709750539565187697510374970888692180205189339507238539205144634197265287286965110862571492198849978748873771345686209167058",Fs="3.1415926535897932384626433832795028841971693993751058209749445923078164062862089986280348253421170679821480865132823066470938446095505822317253594081284811174502841027019385211055596446229489549303819644288109756659334461284756482337867831652712019091456485669234603486104543266482133936072602491412737245870066063155881748815209209628292540917153643678925903600113305305488204665213841469519415116094330572703657595919530921861173819326117931051185480744623799627495673518857527248912279381830119491298336733624406566430860213949463952247371907021798609437027705392171762931767523846748184676694051320005681271452635608277857713427577896091736371787214684409012249534301465495853710507922796892589235420199561121290219608640344181598136297747713099605187072113499999983729780499510597317328160963185950244594553469083026425223082533446850352619311881710100031378387528865875332083814206171776691473035982534904287554687311595628638823537875937519577818577805321712268066130019278766111959092164201989380952572010654858632789",ma={precision:20,rounding:4,modulo:1,toExpNeg:-7,toExpPos:21,minE:-ui,maxE:ui,crypto:!1},rc,Jr,Nt=!0,Ms="[DecimalError] ",mn=Ms+"Invalid argument: ",nc=Ms+"Precision limit exceeded",ic=Ms+"crypto unavailable",sc="[object Decimal]",qe=Math.floor,Me=Math.pow,jd=/^0b([01]+(\.[01]*)?|\.[01]+)(p[+-]?\d+)?$/i,Yd=/^0x([0-9a-f]+(\.[0-9a-f]*)?|\.[0-9a-f]+)(p[+-]?\d+)?$/i,Zd=/^0o([0-7]+(\.[0-7]*)?|\.[0-7]+)(p[+-]?\d+)?$/i,oc=/^(\d+(\.\d*)?|\.\d+)(e[+-]?\d+)?$/i,Tr=1e7,Et=7,Gd=9007199254740991,Kd=Cs.length-1,ga=Fs.length-1,it={toStringTag:sc};it.absoluteValue=it.abs=function(){var i=new this.constructor(this);return i.s<0&&(i.s=1),yt(i)},it.ceil=function(){return yt(new this.constructor(this),this.e+1,2)},it.clampedTo=it.clamp=function(i,t){var e,r=this,n=r.constructor;if(i=new n(i),t=new n(t),!i.s||!t.s)return new n(NaN);if(i.gt(t))throw Error(mn+t);return e=r.cmp(i),e<0?i:r.cmp(t)>0?t:new n(r)},it.comparedTo=it.cmp=function(i){var t,e,r,n,s=this,a=s.d,l=(i=new s.constructor(i)).d,c=s.s,h=i.s;if(!a||!l)return!c||!h?NaN:c!==h?c:a===l?0:!a^c<0?1:-1;if(!a[0]||!l[0])return a[0]?c:l[0]?-h:0;if(c!==h)return c;if(s.e!==i.e)return s.e>i.e^c<0?1:-1;for(r=a.length,n=l.length,t=0,e=r<n?r:n;t<e;++t)if(a[t]!==l[t])return a[t]>l[t]^c<0?1:-1;return r===n?0:r>n^c<0?1:-1},it.cosine=it.cos=function(){var i,t,e=this,r=e.constructor;return e.d?e.d[0]?(i=r.precision,t=r.rounding,r.precision=i+Math.max(e.e,e.sd())+Et,r.rounding=1,e=Hd(r,hc(r,e)),r.precision=i,r.rounding=t,yt(Jr==2||Jr==3?e.neg():e,i,t,!0)):new r(1):new r(NaN)},it.cubeRoot=it.cbrt=function(){var i,t,e,r,n,s,a,l,c,h,p=this,f=p.constructor;if(!p.isFinite()||p.isZero())return new f(p);for(Nt=!1,s=p.s*Me(p.s*p,1/3),!s||Math.abs(s)==1/0?(e=Re(p.d),i=p.e,(s=(i-e.length+1)%3)&&(e+=s==1||s==-2?"0":"00"),s=Me(e,1/3),i=qe((i+1)/3)-(i%3==(i<0?-1:2)),s==1/0?e="5e"+i:(e=s.toExponential(),e=e.slice(0,e.indexOf("e")+1)+i),r=new f(e),r.s=p.s):r=new f(s.toString()),a=(i=f.precision)+3;;)if(l=r,c=l.times(l).times(l),h=c.plus(p),r=oe(h.plus(p).times(l),h.plus(c),a+2,1),Re(l.d).slice(0,a)===(e=Re(r.d)).slice(0,a))if(e=e.slice(a-3,a+1),e=="9999"||!n&&e=="4999"){if(!n&&(yt(l,i+1,0),l.times(l).times(l).eq(p))){r=l;break}a+=4,n=1}else{(!+e||!+e.slice(1)&&e.charAt(0)=="5")&&(yt(r,i+1,1),t=!r.times(r).times(r).eq(p));break}return Nt=!0,yt(r,i,f.rounding,t)},it.decimalPlaces=it.dp=function(){var i,t=this.d,e=NaN;if(t){if(i=t.length-1,e=(i-qe(this.e/Et))*Et,i=t[i],i)for(;i%10==0;i/=10)e--;e<0&&(e=0)}return e},it.dividedBy=it.div=function(i){return oe(this,new this.constructor(i))},it.dividedToIntegerBy=it.divToInt=function(i){var t=this,e=t.constructor;return yt(oe(t,new e(i),0,1,1),e.precision,e.rounding)},it.equals=it.eq=function(i){return this.cmp(i)===0},it.floor=function(){return yt(new this.constructor(this),this.e+1,3)},it.greaterThan=it.gt=function(i){return this.cmp(i)>0},it.greaterThanOrEqualTo=it.gte=function(i){var t=this.cmp(i);return t==1||t===0},it.hyperbolicCosine=it.cosh=function(){var i,t,e,r,n,s=this,a=s.constructor,l=new a(1);if(!s.isFinite())return new a(s.s?1/0:NaN);if(s.isZero())return l;e=a.precision,r=a.rounding,a.precision=e+Math.max(s.e,s.sd())+4,a.rounding=1,n=s.d.length,n<32?(i=Math.ceil(n/3),t=(1/Ts(4,i)).toString()):(i=16,t="2.3283064365386962890625e-10"),s=li(a,1,s.times(t),new a(1),!0);for(var c,h=i,p=new a(8);h--;)c=s.times(s),s=l.minus(c.times(p.minus(c.times(p))));return yt(s,a.precision=e,a.rounding=r,!0)},it.hyperbolicSine=it.sinh=function(){var i,t,e,r,n=this,s=n.constructor;if(!n.isFinite()||n.isZero())return new s(n);if(t=s.precision,e=s.rounding,s.precision=t+Math.max(n.e,n.sd())+4,s.rounding=1,r=n.d.length,r<3)n=li(s,2,n,n,!0);else{i=1.4*Math.sqrt(r),i=i>16?16:i|0,n=n.times(1/Ts(5,i)),n=li(s,2,n,n,!0);for(var a,l=new s(5),c=new s(16),h=new s(20);i--;)a=n.times(n),n=n.times(l.plus(a.times(c.times(a).plus(h))))}return s.precision=t,s.rounding=e,yt(n,t,e,!0)},it.hyperbolicTangent=it.tanh=function(){var i,t,e=this,r=e.constructor;return e.isFinite()?e.isZero()?new r(e):(i=r.precision,t=r.rounding,r.precision=i+7,r.rounding=1,oe(e.sinh(),e.cosh(),r.precision=i,r.rounding=t)):new r(e.s)},it.inverseCosine=it.acos=function(){var i,t=this,e=t.constructor,r=t.abs().cmp(1),n=e.precision,s=e.rounding;return r!==-1?r===0?t.isNeg()?Ir(e,n,s):new e(0):new e(NaN):t.isZero()?Ir(e,n+4,s).times(.5):(e.precision=n+6,e.rounding=1,t=t.asin(),i=Ir(e,n+4,s).times(.5),e.precision=n,e.rounding=s,i.minus(t))},it.inverseHyperbolicCosine=it.acosh=function(){var i,t,e=this,r=e.constructor;return e.lte(1)?new r(e.eq(1)?0:NaN):e.isFinite()?(i=r.precision,t=r.rounding,r.precision=i+Math.max(Math.abs(e.e),e.sd())+4,r.rounding=1,Nt=!1,e=e.times(e).minus(1).sqrt().plus(e),Nt=!0,r.precision=i,r.rounding=t,e.ln()):new r(e)},it.inverseHyperbolicSine=it.asinh=function(){var i,t,e=this,r=e.constructor;return!e.isFinite()||e.isZero()?new r(e):(i=r.precision,t=r.rounding,r.precision=i+2*Math.max(Math.abs(e.e),e.sd())+6,r.rounding=1,Nt=!1,e=e.times(e).plus(1).sqrt().plus(e),Nt=!0,r.precision=i,r.rounding=t,e.ln())},it.inverseHyperbolicTangent=it.atanh=function(){var i,t,e,r,n=this,s=n.constructor;return n.isFinite()?n.e>=0?new s(n.abs().eq(1)?n.s/0:n.isZero()?n:NaN):(i=s.precision,t=s.rounding,r=n.sd(),Math.max(r,i)<2*-n.e-1?yt(new s(n),i,t,!0):(s.precision=e=r-n.e,n=oe(n.plus(1),new s(1).minus(n),e+i,1),s.precision=i+4,s.rounding=1,n=n.ln(),s.precision=i,s.rounding=t,n.times(.5))):new s(NaN)},it.inverseSine=it.asin=function(){var i,t,e,r,n=this,s=n.constructor;return n.isZero()?new s(n):(t=n.abs().cmp(1),e=s.precision,r=s.rounding,t!==-1?t===0?(i=Ir(s,e+4,r).times(.5),i.s=n.s,i):new s(NaN):(s.precision=e+6,s.rounding=1,n=n.div(new s(1).minus(n.times(n)).sqrt().plus(1)).atan(),s.precision=e,s.rounding=r,n.times(2)))},it.inverseTangent=it.atan=function(){var i,t,e,r,n,s,a,l,c,h=this,p=h.constructor,f=p.precision,d=p.rounding;if(h.isFinite()){if(h.isZero())return new p(h);if(h.abs().eq(1)&&f+4<=ga)return a=Ir(p,f+4,d).times(.25),a.s=h.s,a}else{if(!h.s)return new p(NaN);if(f+4<=ga)return a=Ir(p,f+4,d).times(.5),a.s=h.s,a}for(p.precision=l=f+10,p.rounding=1,e=Math.min(28,l/Et+2|0),i=e;i;--i)h=h.div(h.times(h).plus(1).sqrt().plus(1));for(Nt=!1,t=Math.ceil(l/Et),r=1,c=h.times(h),a=new p(h),n=h;i!==-1;)if(n=n.times(c),s=a.minus(n.div(r+=2)),n=n.times(c),a=s.plus(n.div(r+=2)),a.d[t]!==void 0)for(i=t;a.d[i]===s.d[i]&&i--;);return e&&(a=a.times(2<<e-1)),Nt=!0,yt(a,p.precision=f,p.rounding=d,!0)},it.isFinite=function(){return!!this.d},it.isInteger=it.isInt=function(){return!!this.d&&qe(this.e/Et)>this.d.length-2},it.isNaN=function(){return!this.s},it.isNegative=it.isNeg=function(){return this.s<0},it.isPositive=it.isPos=function(){return this.s>0},it.isZero=function(){return!!this.d&&this.d[0]===0},it.lessThan=it.lt=function(i){return this.cmp(i)<0},it.lessThanOrEqualTo=it.lte=function(i){return this.cmp(i)<1},it.logarithm=it.log=function(i){var t,e,r,n,s,a,l,c,h=this,p=h.constructor,f=p.precision,d=p.rounding,g=5;if(i==null)i=new p(10),t=!0;else{if(i=new p(i),e=i.d,i.s<0||!e||!e[0]||i.eq(1))return new p(NaN);t=i.eq(10)}if(e=h.d,h.s<0||!e||!e[0]||h.eq(1))return new p(e&&!e[0]?-1/0:h.s!=1?NaN:e?0:1/0);if(t)if(e.length>1)s=!0;else{for(n=e[0];n%10===0;)n/=10;s=n!==1}if(Nt=!1,l=f+g,a=vn(h,l),r=t?Bs(p,l+10):vn(i,l),c=oe(a,r,l,1),Ui(c.d,n=f,d))do if(l+=10,a=vn(h,l),r=t?Bs(p,l+10):vn(i,l),c=oe(a,r,l,1),!s){+Re(c.d).slice(n+1,n+15)+1==1e14&&(c=yt(c,f+1,0));break}while(Ui(c.d,n+=10,d));return Nt=!0,yt(c,f,d)},it.minus=it.sub=function(i){var t,e,r,n,s,a,l,c,h,p,f,d,g=this,w=g.constructor;if(i=new w(i),!g.d||!i.d)return!g.s||!i.s?i=new w(NaN):g.d?i.s=-i.s:i=new w(i.d||g.s!==i.s?g:NaN),i;if(g.s!=i.s)return i.s=-i.s,g.plus(i);if(h=g.d,d=i.d,l=w.precision,c=w.rounding,!h[0]||!d[0]){if(d[0])i.s=-i.s;else if(h[0])i=new w(g);else return new w(c===3?-0:0);return Nt?yt(i,l,c):i}if(e=qe(i.e/Et),p=qe(g.e/Et),h=h.slice(),s=p-e,s){for(f=s<0,f?(t=h,s=-s,a=d.length):(t=d,e=p,a=h.length),r=Math.max(Math.ceil(l/Et),a)+2,s>r&&(s=r,t.length=1),t.reverse(),r=s;r--;)t.push(0);t.reverse()}else{for(r=h.length,a=d.length,f=r<a,f&&(a=r),r=0;r<a;r++)if(h[r]!=d[r]){f=h[r]<d[r];break}s=0}for(f&&(t=h,h=d,d=t,i.s=-i.s),a=h.length,r=d.length-a;r>0;--r)h[a++]=0;for(r=d.length;r>s;){if(h[--r]<d[r]){for(n=r;n&&h[--n]===0;)h[n]=Tr-1;--h[n],h[r]+=Tr}h[r]-=d[r]}for(;h[--a]===0;)h.pop();for(;h[0]===0;h.shift())--e;return h[0]?(i.d=h,i.e=Ss(h,e),Nt?yt(i,l,c):i):new w(c===3?-0:0)},it.modulo=it.mod=function(i){var t,e=this,r=e.constructor;return i=new r(i),!e.d||!i.s||i.d&&!i.d[0]?new r(NaN):!i.d||e.d&&!e.d[0]?yt(new r(e),r.precision,r.rounding):(Nt=!1,r.modulo==9?(t=oe(e,i.abs(),0,3,1),t.s*=i.s):t=oe(e,i,0,r.modulo,1),t=t.times(i),Nt=!0,e.minus(t))},it.naturalExponential=it.exp=function(){return va(this)},it.naturalLogarithm=it.ln=function(){return vn(this)},it.negated=it.neg=function(){var i=new this.constructor(this);return i.s=-i.s,yt(i)},it.plus=it.add=function(i){var t,e,r,n,s,a,l,c,h,p,f=this,d=f.constructor;if(i=new d(i),!f.d||!i.d)return!f.s||!i.s?i=new d(NaN):f.d||(i=new d(i.d||f.s===i.s?f:NaN)),i;if(f.s!=i.s)return i.s=-i.s,f.minus(i);if(h=f.d,p=i.d,l=d.precision,c=d.rounding,!h[0]||!p[0])return p[0]||(i=new d(f)),Nt?yt(i,l,c):i;if(s=qe(f.e/Et),r=qe(i.e/Et),h=h.slice(),n=s-r,n){for(n<0?(e=h,n=-n,a=p.length):(e=p,r=s,a=h.length),s=Math.ceil(l/Et),a=s>a?s+1:a+1,n>a&&(n=a,e.length=1),e.reverse();n--;)e.push(0);e.reverse()}for(a=h.length,n=p.length,a-n<0&&(n=a,e=p,p=h,h=e),t=0;n;)t=(h[--n]=h[n]+p[n]+t)/Tr|0,h[n]%=Tr;for(t&&(h.unshift(t),++r),a=h.length;h[--a]==0;)h.pop();return i.d=h,i.e=Ss(h,r),Nt?yt(i,l,c):i},it.precision=it.sd=function(i){var t,e=this;if(i!==void 0&&i!==!!i&&i!==1&&i!==0)throw Error(mn+i);return e.d?(t=ac(e.d),i&&e.e+1>t&&(t=e.e+1)):t=NaN,t},it.round=function(){var i=this,t=i.constructor;return yt(new t(i),i.e+1,t.rounding)},it.sine=it.sin=function(){var i,t,e=this,r=e.constructor;return e.isFinite()?e.isZero()?new r(e):(i=r.precision,t=r.rounding,r.precision=i+Math.max(e.e,e.sd())+Et,r.rounding=1,e=Xd(r,hc(r,e)),r.precision=i,r.rounding=t,yt(Jr>2?e.neg():e,i,t,!0)):new r(NaN)},it.squareRoot=it.sqrt=function(){var i,t,e,r,n,s,a=this,l=a.d,c=a.e,h=a.s,p=a.constructor;if(h!==1||!l||!l[0])return new p(!h||h<0&&(!l||l[0])?NaN:l?a:1/0);for(Nt=!1,h=Math.sqrt(+a),h==0||h==1/0?(t=Re(l),(t.length+c)%2==0&&(t+="0"),h=Math.sqrt(t),c=qe((c+1)/2)-(c<0||c%2),h==1/0?t="5e"+c:(t=h.toExponential(),t=t.slice(0,t.indexOf("e")+1)+c),r=new p(t)):r=new p(h.toString()),e=(c=p.precision)+3;;)if(s=r,r=s.plus(oe(a,s,e+2,1)).times(.5),Re(s.d).slice(0,e)===(t=Re(r.d)).slice(0,e))if(t=t.slice(e-3,e+1),t=="9999"||!n&&t=="4999"){if(!n&&(yt(s,c+1,0),s.times(s).eq(a))){r=s;break}e+=4,n=1}else{(!+t||!+t.slice(1)&&t.charAt(0)=="5")&&(yt(r,c+1,1),i=!r.times(r).eq(a));break}return Nt=!0,yt(r,c,p.rounding,i)},it.tangent=it.tan=function(){var i,t,e=this,r=e.constructor;return e.isFinite()?e.isZero()?new r(e):(i=r.precision,t=r.rounding,r.precision=i+10,r.rounding=1,e=e.sin(),e.s=1,e=oe(e,new r(1).minus(e.times(e)).sqrt(),i+10,0),r.precision=i,r.rounding=t,yt(Jr==2||Jr==4?e.neg():e,i,t,!0)):new r(NaN)},it.times=it.mul=function(i){var t,e,r,n,s,a,l,c,h,p=this,f=p.constructor,d=p.d,g=(i=new f(i)).d;if(i.s*=p.s,!d||!d[0]||!g||!g[0])return new f(!i.s||d&&!d[0]&&!g||g&&!g[0]&&!d?NaN:!d||!g?i.s/0:i.s*0);for(e=qe(p.e/Et)+qe(i.e/Et),c=d.length,h=g.length,c<h&&(s=d,d=g,g=s,a=c,c=h,h=a),s=[],a=c+h,r=a;r--;)s.push(0);for(r=h;--r>=0;){for(t=0,n=c+r;n>r;)l=s[n]+g[r]*d[n-r-1]+t,s[n--]=l%Tr|0,t=l/Tr|0;s[n]=(s[n]+t)%Tr|0}for(;!s[--a];)s.pop();return t?++e:s.shift(),i.d=s,i.e=Ss(s,e),Nt?yt(i,f.precision,f.rounding):i},it.toBinary=function(i,t){return ya(this,2,i,t)},it.toDecimalPlaces=it.toDP=function(i,t){var e=this,r=e.constructor;return e=new r(e),i===void 0?e:(Je(i,0,_n),t===void 0?t=r.rounding:Je(t,0,8),yt(e,i+e.e+1,t))},it.toExponential=function(i,t){var e,r=this,n=r.constructor;return i===void 0?e=jr(r,!0):(Je(i,0,_n),t===void 0?t=n.rounding:Je(t,0,8),r=yt(new n(r),i+1,t),e=jr(r,!0,i+1)),r.isNeg()&&!r.isZero()?"-"+e:e},it.toFixed=function(i,t){var e,r,n=this,s=n.constructor;return i===void 0?e=jr(n):(Je(i,0,_n),t===void 0?t=s.rounding:Je(t,0,8),r=yt(new s(n),i+n.e+1,t),e=jr(r,!1,i+r.e+1)),n.isNeg()&&!n.isZero()?"-"+e:e},it.toFraction=function(i){var t,e,r,n,s,a,l,c,h,p,f,d,g=this,w=g.d,m=g.constructor;if(!w)return new m(g);if(h=e=new m(1),r=c=new m(0),t=new m(r),s=t.e=ac(w)-g.e-1,a=s%Et,t.d[0]=Me(10,a<0?Et+a:a),i==null)i=s>0?t:h;else{if(l=new m(i),!l.isInt()||l.lt(h))throw Error(mn+l);i=l.gt(t)?s>0?t:h:l}for(Nt=!1,l=new m(Re(w)),p=m.precision,m.precision=s=w.length*Et*2;f=oe(l,t,0,1,1),n=e.plus(f.times(r)),n.cmp(i)!=1;)e=r,r=n,n=h,h=c.plus(f.times(n)),c=n,n=t,t=l.minus(f.times(n)),l=n;return n=oe(i.minus(e),r,0,1,1),c=c.plus(n.times(h)),e=e.plus(n.times(r)),c.s=h.s=g.s,d=oe(h,r,s,1).minus(g).abs().cmp(oe(c,e,s,1).minus(g).abs())<1?[h,r]:[c,e],m.precision=p,Nt=!0,d},it.toHexadecimal=it.toHex=function(i,t){return ya(this,16,i,t)},it.toNearest=function(i,t){var e=this,r=e.constructor;if(e=new r(e),i==null){if(!e.d)return e;i=new r(1),t=r.rounding}else{if(i=new r(i),t===void 0?t=r.rounding:Je(t,0,8),!e.d)return i.s?e:i;if(!i.d)return i.s&&(i.s=e.s),i}return i.d[0]?(Nt=!1,e=oe(e,i,0,t,1).times(i),Nt=!0,yt(e)):(i.s=e.s,e=i),e},it.toNumber=function(){return+this},it.toOctal=function(i,t){return ya(this,8,i,t)},it.toPower=it.pow=function(i){var t,e,r,n,s,a,l=this,c=l.constructor,h=+(i=new c(i));if(!l.d||!i.d||!l.d[0]||!i.d[0])return new c(Me(+l,h));if(l=new c(l),l.eq(1))return l;if(r=c.precision,s=c.rounding,i.eq(1))return yt(l,r,s);if(t=qe(i.e/Et),t>=i.d.length-1&&(e=h<0?-h:h)<=Gd)return n=uc(c,l,e,r),i.s<0?new c(1).div(n):yt(n,r,s);if(a=l.s,a<0){if(t<i.d.length-1)return new c(NaN);if(i.d[t]&1||(a=1),l.e==0&&l.d[0]==1&&l.d.length==1)return l.s=a,l}return e=Me(+l,h),t=e==0||!isFinite(e)?qe(h*(Math.log("0."+Re(l.d))/Math.LN10+l.e+1)):new c(e+"").e,t>c.maxE+1||t<c.minE-1?new c(t>0?a/0:0):(Nt=!1,c.rounding=l.s=1,e=Math.min(12,(t+"").length),n=va(i.times(vn(l,r+e)),r),n.d&&(n=yt(n,r+5,1),Ui(n.d,r,s)&&(t=r+10,n=yt(va(i.times(vn(l,t+e)),t),t+5,1),+Re(n.d).slice(r+1,r+15)+1==1e14&&(n=yt(n,r+1,0)))),n.s=a,Nt=!0,c.rounding=s,yt(n,r,s))},it.toPrecision=function(i,t){var e,r=this,n=r.constructor;return i===void 0?e=jr(r,r.e<=n.toExpNeg||r.e>=n.toExpPos):(Je(i,1,_n),t===void 0?t=n.rounding:Je(t,0,8),r=yt(new n(r),i,t),e=jr(r,i<=r.e||r.e<=n.toExpNeg,i)),r.isNeg()&&!r.isZero()?"-"+e:e},it.toSignificantDigits=it.toSD=function(i,t){var e=this,r=e.constructor;return i===void 0?(i=r.precision,t=r.rounding):(Je(i,1,_n),t===void 0?t=r.rounding:Je(t,0,8)),yt(new r(e),i,t)},it.toString=function(){var i=this,t=i.constructor,e=jr(i,i.e<=t.toExpNeg||i.e>=t.toExpPos);return i.isNeg()&&!i.isZero()?"-"+e:e},it.truncated=it.trunc=function(){return yt(new this.constructor(this),this.e+1,1)},it.valueOf=it.toJSON=function(){var i=this,t=i.constructor,e=jr(i,i.e<=t.toExpNeg||i.e>=t.toExpPos);return i.isNeg()?"-"+e:e};function Re(i){var t,e,r,n=i.length-1,s="",a=i[0];if(n>0){for(s+=a,t=1;t<n;t++)r=i[t]+"",e=Et-r.length,e&&(s+=gn(e)),s+=r;a=i[t],r=a+"",e=Et-r.length,e&&(s+=gn(e))}else if(a===0)return"0";for(;a%10===0;)a/=10;return s+a}function Je(i,t,e){if(i!==~~i||i<t||i>e)throw Error(mn+i)}function Ui(i,t,e,r){var n,s,a,l;for(s=i[0];s>=10;s/=10)--t;return--t<0?(t+=Et,n=0):(n=Math.ceil((t+1)/Et),t%=Et),s=Me(10,Et-t),l=i[n]%s|0,r==null?t<3?(t==0?l=l/100|0:t==1&&(l=l/10|0),a=e<4&&l==99999||e>3&&l==49999||l==5e4||l==0):a=(e<4&&l+1==s||e>3&&l+1==s/2)&&(i[n+1]/s/100|0)==Me(10,t-2)-1||(l==s/2||l==0)&&(i[n+1]/s/100|0)==0:t<4?(t==0?l=l/1e3|0:t==1?l=l/100|0:t==2&&(l=l/10|0),a=(r||e<4)&&l==9999||!r&&e>3&&l==4999):a=((r||e<4)&&l+1==s||!r&&e>3&&l+1==s/2)&&(i[n+1]/s/1e3|0)==Me(10,t-3)-1,a}function Ns(i,t,e){for(var r,n=[0],s,a=0,l=i.length;a<l;){for(s=n.length;s--;)n[s]*=t;for(n[0]+=_a.indexOf(i.charAt(a++)),r=0;r<n.length;r++)n[r]>e-1&&(n[r+1]===void 0&&(n[r+1]=0),n[r+1]+=n[r]/e|0,n[r]%=e)}return n.reverse()}function Hd(i,t){var e,r,n;if(t.isZero())return t;r=t.d.length,r<32?(e=Math.ceil(r/3),n=(1/Ts(4,e)).toString()):(e=16,n="2.3283064365386962890625e-10"),i.precision+=e,t=li(i,1,t.times(n),new i(1));for(var s=e;s--;){var a=t.times(t);t=a.times(a).minus(a).times(8).plus(1)}return i.precision-=e,t}var oe=function(){function i(r,n,s){var a,l=0,c=r.length;for(r=r.slice();c--;)a=r[c]*n+l,r[c]=a%s|0,l=a/s|0;return l&&r.unshift(l),r}function t(r,n,s,a){var l,c;if(s!=a)c=s>a?1:-1;else for(l=c=0;l<s;l++)if(r[l]!=n[l]){c=r[l]>n[l]?1:-1;break}return c}function e(r,n,s,a){for(var l=0;s--;)r[s]-=l,l=r[s]<n[s]?1:0,r[s]=l*a+r[s]-n[s];for(;!r[0]&&r.length>1;)r.shift()}return function(r,n,s,a,l,c){var h,p,f,d,g,w,m,D,v,E,b,N,x,F,M,S,O,C,T,R,U=r.constructor,k=r.s==n.s?1:-1,W=r.d,P=n.d;if(!W||!W[0]||!P||!P[0])return new U(!r.s||!n.s||(W?P&&W[0]==P[0]:!P)?NaN:W&&W[0]==0||!P?k*0:k/0);for(c?(g=1,p=r.e-n.e):(c=Tr,g=Et,p=qe(r.e/g)-qe(n.e/g)),T=P.length,O=W.length,v=new U(k),E=v.d=[],f=0;P[f]==(W[f]||0);f++);if(P[f]>(W[f]||0)&&p--,s==null?(F=s=U.precision,a=U.rounding):l?F=s+(r.e-n.e)+1:F=s,F<0)E.push(1),w=!0;else{if(F=F/g+2|0,f=0,T==1){for(d=0,P=P[0],F++;(f<O||d)&&F--;f++)M=d*c+(W[f]||0),E[f]=M/P|0,d=M%P|0;w=d||f<O}else{for(d=c/(P[0]+1)|0,d>1&&(P=i(P,d,c),W=i(W,d,c),T=P.length,O=W.length),S=T,b=W.slice(0,T),N=b.length;N<T;)b[N++]=0;R=P.slice(),R.unshift(0),C=P[0],P[1]>=c/2&&++C;do d=0,h=t(P,b,T,N),h<0?(x=b[0],T!=N&&(x=x*c+(b[1]||0)),d=x/C|0,d>1?(d>=c&&(d=c-1),m=i(P,d,c),D=m.length,N=b.length,h=t(m,b,D,N),h==1&&(d--,e(m,T<D?R:P,D,c))):(d==0&&(h=d=1),m=P.slice()),D=m.length,D<N&&m.unshift(0),e(b,m,N,c),h==-1&&(N=b.length,h=t(P,b,T,N),h<1&&(d++,e(b,T<N?R:P,N,c))),N=b.length):h===0&&(d++,b=[0]),E[f++]=d,h&&b[0]?b[N++]=W[S]||0:(b=[W[S]],N=1);while((S++<O||b[0]!==void 0)&&F--);w=b[0]!==void 0}E[0]||E.shift()}if(g==1)v.e=p,rc=w;else{for(f=1,d=E[0];d>=10;d/=10)f++;v.e=f+p*g-1,yt(v,l?s+v.e+1:s,a,w)}return v}}();function yt(i,t,e,r){var n,s,a,l,c,h,p,f,d,g=i.constructor;t:if(t!=null){if(f=i.d,!f)return i;for(n=1,l=f[0];l>=10;l/=10)n++;if(s=t-n,s<0)s+=Et,a=t,p=f[d=0],c=p/Me(10,n-a-1)%10|0;else if(d=Math.ceil((s+1)/Et),l=f.length,d>=l)if(r){for(;l++<=d;)f.push(0);p=c=0,n=1,s%=Et,a=s-Et+1}else break t;else{for(p=l=f[d],n=1;l>=10;l/=10)n++;s%=Et,a=s-Et+n,c=a<0?0:p/Me(10,n-a-1)%10|0}if(r=r||t<0||f[d+1]!==void 0||(a<0?p:p%Me(10,n-a-1)),h=e<4?(c||r)&&(e==0||e==(i.s<0?3:2)):c>5||c==5&&(e==4||r||e==6&&(s>0?a>0?p/Me(10,n-a):0:f[d-1])%10&1||e==(i.s<0?8:7)),t<1||!f[0])return f.length=0,h?(t-=i.e+1,f[0]=Me(10,(Et-t%Et)%Et),i.e=-t||0):f[0]=i.e=0,i;if(s==0?(f.length=d,l=1,d--):(f.length=d+1,l=Me(10,Et-s),f[d]=a>0?(p/Me(10,n-a)%Me(10,a)|0)*l:0),h)for(;;)if(d==0){for(s=1,a=f[0];a>=10;a/=10)s++;for(a=f[0]+=l,l=1;a>=10;a/=10)l++;s!=l&&(i.e++,f[0]==Tr&&(f[0]=1));break}else{if(f[d]+=l,f[d]!=Tr)break;f[d--]=0,l=1}for(s=f.length;f[--s]===0;)f.pop()}return Nt&&(i.e>g.maxE?(i.d=null,i.e=NaN):i.e<g.minE&&(i.e=0,i.d=[0])),i}function jr(i,t,e){if(!i.isFinite())return fc(i);var r,n=i.e,s=Re(i.d),a=s.length;return t?(e&&(r=e-a)>0?s=s.charAt(0)+"."+s.slice(1)+gn(r):a>1&&(s=s.charAt(0)+"."+s.slice(1)),s=s+(i.e<0?"e":"e+")+i.e):n<0?(s="0."+gn(-n-1)+s,e&&(r=e-a)>0&&(s+=gn(r))):n>=a?(s+=gn(n+1-a),e&&(r=e-n-1)>0&&(s=s+"."+gn(r))):((r=n+1)<a&&(s=s.slice(0,r)+"."+s.slice(r)),e&&(r=e-a)>0&&(n+1===a&&(s+="."),s+=gn(r))),s}function Ss(i,t){var e=i[0];for(t*=Et;e>=10;e/=10)t++;return t}function Bs(i,t,e){if(t>Kd)throw Nt=!0,e&&(i.precision=e),Error(nc);return yt(new i(Cs),t,1,!0)}function Ir(i,t,e){if(t>ga)throw Error(nc);return yt(new i(Fs),t,e,!0)}function ac(i){var t=i.length-1,e=t*Et+1;if(t=i[t],t){for(;t%10==0;t/=10)e--;for(t=i[0];t>=10;t/=10)e++}return e}function gn(i){for(var t="";i--;)t+="0";return t}function uc(i,t,e,r){var n,s=new i(1),a=Math.ceil(r/Et+4);for(Nt=!1;;){if(e%2&&(s=s.times(t),pc(s.d,a)&&(n=!0)),e=qe(e/2),e===0){e=s.d.length-1,n&&s.d[e]===0&&++s.d[e];break}t=t.times(t),pc(t.d,a)}return Nt=!0,s}function lc(i){return i.d[i.d.length-1]&1}function cc(i,t,e){for(var r,n=new i(t[0]),s=0;++s<t.length;)if(r=new i(t[s]),r.s)n[e](r)&&(n=r);else{n=r;break}return n}function va(i,t){var e,r,n,s,a,l,c,h=0,p=0,f=0,d=i.constructor,g=d.rounding,w=d.precision;if(!i.d||!i.d[0]||i.e>17)return new d(i.d?i.d[0]?i.s<0?0:1/0:1:i.s?i.s<0?0:i:NaN);for(t==null?(Nt=!1,c=w):c=t,l=new d(.03125);i.e>-2;)i=i.times(l),f+=5;for(r=Math.log(Me(2,f))/Math.LN10*2+5|0,c+=r,e=s=a=new d(1),d.precision=c;;){if(s=yt(s.times(i),c,1),e=e.times(++p),l=a.plus(oe(s,e,c,1)),Re(l.d).slice(0,c)===Re(a.d).slice(0,c)){for(n=f;n--;)a=yt(a.times(a),c,1);if(t==null)if(h<3&&Ui(a.d,c-r,g,h))d.precision=c+=10,e=s=l=new d(1),p=0,h++;else return yt(a,d.precision=w,g,Nt=!0);else return d.precision=w,a}a=l}}function vn(i,t){var e,r,n,s,a,l,c,h,p,f,d,g=1,w=10,m=i,D=m.d,v=m.constructor,E=v.rounding,b=v.precision;if(m.s<0||!D||!D[0]||!m.e&&D[0]==1&&D.length==1)return new v(D&&!D[0]?-1/0:m.s!=1?NaN:D?0:m);if(t==null?(Nt=!1,p=b):p=t,v.precision=p+=w,e=Re(D),r=e.charAt(0),Math.abs(s=m.e)<15e14){for(;r<7&&r!=1||r==1&&e.charAt(1)>3;)m=m.times(i),e=Re(m.d),r=e.charAt(0),g++;s=m.e,r>1?(m=new v("0."+e),s++):m=new v(r+"."+e.slice(1))}else return h=Bs(v,p+2,b).times(s+""),m=vn(new v(r+"."+e.slice(1)),p-w).plus(h),v.precision=b,t==null?yt(m,b,E,Nt=!0):m;for(f=m,c=a=m=oe(m.minus(1),m.plus(1),p,1),d=yt(m.times(m),p,1),n=3;;){if(a=yt(a.times(d),p,1),h=c.plus(oe(a,new v(n),p,1)),Re(h.d).slice(0,p)===Re(c.d).slice(0,p))if(c=c.times(2),s!==0&&(c=c.plus(Bs(v,p+2,b).times(s+""))),c=oe(c,new v(g),p,1),t==null)if(Ui(c.d,p-w,E,l))v.precision=p+=w,h=a=m=oe(f.minus(1),f.plus(1),p,1),d=yt(m.times(m),p,1),n=l=1;else return yt(c,v.precision=b,E,Nt=!0);else return v.precision=b,c;c=h,n+=2}}function fc(i){return String(i.s*i.s/0)}function wa(i,t){var e,r,n;for((e=t.indexOf("."))>-1&&(t=t.replace(".","")),(r=t.search(/e/i))>0?(e<0&&(e=r),e+=+t.slice(r+1),t=t.substring(0,r)):e<0&&(e=t.length),r=0;t.charCodeAt(r)===48;r++);for(n=t.length;t.charCodeAt(n-1)===48;--n);if(t=t.slice(r,n),t){if(n-=r,i.e=e=e-r-1,i.d=[],r=(e+1)%Et,e<0&&(r+=Et),r<n){for(r&&i.d.push(+t.slice(0,r)),n-=Et;r<n;)i.d.push(+t.slice(r,r+=Et));t=t.slice(r),r=Et-t.length}else r-=n;for(;r--;)t+="0";i.d.push(+t),Nt&&(i.e>i.constructor.maxE?(i.d=null,i.e=NaN):i.e<i.constructor.minE&&(i.e=0,i.d=[0]))}else i.e=0,i.d=[0];return i}function Jd(i,t){var e,r,n,s,a,l,c,h,p;if(t.indexOf("_")>-1){if(t=t.replace(/(\d)_(?=\d)/g,"$1"),oc.test(t))return wa(i,t)}else if(t==="Infinity"||t==="NaN")return+t||(i.s=NaN),i.e=NaN,i.d=null,i;if(Yd.test(t))e=16,t=t.toLowerCase();else if(jd.test(t))e=2;else if(Zd.test(t))e=8;else throw Error(mn+t);for(s=t.search(/p/i),s>0?(c=+t.slice(s+1),t=t.substring(2,s)):t=t.slice(2),s=t.indexOf("."),a=s>=0,r=i.constructor,a&&(t=t.replace(".",""),l=t.length,s=l-s,n=uc(r,new r(e),s,s*2)),h=Ns(t,e,Tr),p=h.length-1,s=p;h[s]===0;--s)h.pop();return s<0?new r(i.s*0):(i.e=Ss(h,p),i.d=h,Nt=!1,a&&(i=oe(i,n,l*4)),c&&(i=i.times(Math.abs(c)<54?Me(2,c):ci.pow(2,c))),Nt=!0,i)}function Xd(i,t){var e,r=t.d.length;if(r<3)return t.isZero()?t:li(i,2,t,t);e=1.4*Math.sqrt(r),e=e>16?16:e|0,t=t.times(1/Ts(5,e)),t=li(i,2,t,t);for(var n,s=new i(5),a=new i(16),l=new i(20);e--;)n=t.times(t),t=t.times(s.plus(n.times(a.times(n).minus(l))));return t}function li(i,t,e,r,n){var s,a,l,c,h=i.precision,p=Math.ceil(h/Et);for(Nt=!1,c=e.times(e),l=new i(r);;){if(a=oe(l.times(c),new i(t++*t++),h,1),l=n?r.plus(a):r.minus(a),r=oe(a.times(c),new i(t++*t++),h,1),a=l.plus(r),a.d[p]!==void 0){for(s=p;a.d[s]===l.d[s]&&s--;);if(s==-1)break}s=l,l=r,r=a,a=s}return Nt=!0,a.d.length=p+1,a}function Ts(i,t){for(var e=i;--t;)e*=i;return e}function hc(i,t){var e,r=t.s<0,n=Ir(i,i.precision,1),s=n.times(.5);if(t=t.abs(),t.lte(s))return Jr=r?4:1,t;if(e=t.divToInt(n),e.isZero())Jr=r?3:2;else{if(t=t.minus(e.times(n)),t.lte(s))return Jr=lc(e)?r?2:3:r?4:1,t;Jr=lc(e)?r?1:4:r?3:2}return t.minus(n).abs()}function ya(i,t,e,r){var n,s,a,l,c,h,p,f,d,g=i.constructor,w=e!==void 0;if(w?(Je(e,1,_n),r===void 0?r=g.rounding:Je(r,0,8)):(e=g.precision,r=g.rounding),!i.isFinite())p=fc(i);else{for(p=jr(i),a=p.indexOf("."),w?(n=2,t==16?e=e*4-3:t==8&&(e=e*3-2)):n=t,a>=0&&(p=p.replace(".",""),d=new g(1),d.e=p.length-a,d.d=Ns(jr(d),10,n),d.e=d.d.length),f=Ns(p,10,n),s=c=f.length;f[--c]==0;)f.pop();if(!f[0])p=w?"0p+0":"0";else{if(a<0?s--:(i=new g(i),i.d=f,i.e=s,i=oe(i,d,e,r,0,n),f=i.d,s=i.e,h=rc),a=f[e],l=n/2,h=h||f[e+1]!==void 0,h=r<4?(a!==void 0||h)&&(r===0||r===(i.s<0?3:2)):a>l||a===l&&(r===4||h||r===6&&f[e-1]&1||r===(i.s<0?8:7)),f.length=e,h)for(;++f[--e]>n-1;)f[e]=0,e||(++s,f.unshift(1));for(c=f.length;!f[c-1];--c);for(a=0,p="";a<c;a++)p+=_a.charAt(f[a]);if(w){if(c>1)if(t==16||t==8){for(a=t==16?4:3,--c;c%a;c++)p+="0";for(f=Ns(p,n,t),c=f.length;!f[c-1];--c);for(a=1,p="1.";a<c;a++)p+=_a.charAt(f[a])}else p=p.charAt(0)+"."+p.slice(1);p=p+(s<0?"p":"p+")+s}else if(s<0){for(;++s;)p="0"+p;p="0."+p}else if(++s>c)for(s-=c;s--;)p+="0";else s<c&&(p=p.slice(0,s)+"."+p.slice(s))}p=(t==16?"0x":t==2?"0b":t==8?"0o":"")+p}return i.s<0?"-"+p:p}function pc(i,t){if(i.length>t)return i.length=t,!0}function Vd(i){return new this(i).abs()}function Qd(i){return new this(i).acos()}function t_(i){return new this(i).acosh()}function e_(i,t){return new this(i).plus(t)}function r_(i){return new this(i).asin()}function n_(i){return new this(i).asinh()}function i_(i){return new this(i).atan()}function s_(i){return new this(i).atanh()}function o_(i,t){i=new this(i),t=new this(t);var e,r=this.precision,n=this.rounding,s=r+4;return!i.s||!t.s?e=new this(NaN):!i.d&&!t.d?(e=Ir(this,s,1).times(t.s>0?.25:.75),e.s=i.s):!t.d||i.isZero()?(e=t.s<0?Ir(this,r,n):new this(0),e.s=i.s):!i.d||t.isZero()?(e=Ir(this,s,1).times(.5),e.s=i.s):t.s<0?(this.precision=s,this.rounding=1,e=this.atan(oe(i,t,s,1)),t=Ir(this,s,1),this.precision=r,this.rounding=n,e=i.s<0?e.minus(t):e.plus(t)):e=this.atan(oe(i,t,s,1)),e}function a_(i){return new this(i).cbrt()}function u_(i){return yt(i=new this(i),i.e+1,2)}function l_(i,t,e){return new this(i).clamp(t,e)}function c_(i){if(!i||typeof i!="object")throw Error(Ms+"Object expected");var t,e,r,n=i.defaults===!0,s=["precision",1,_n,"rounding",0,8,"toExpNeg",-ui,0,"toExpPos",0,ui,"maxE",0,ui,"minE",-ui,0,"modulo",0,9];for(t=0;t<s.length;t+=3)if(e=s[t],n&&(this[e]=ma[e]),(r=i[e])!==void 0)if(qe(r)===r&&r>=s[t+1]&&r<=s[t+2])this[e]=r;else throw Error(mn+e+": "+r);if(e="crypto",n&&(this[e]=ma[e]),(r=i[e])!==void 0)if(r===!0||r===!1||r===0||r===1)if(r)if(typeof crypto<"u"&&crypto&&(crypto.getRandomValues||crypto.randomBytes))this[e]=!0;else throw Error(ic);else this[e]=!1;else throw Error(mn+e+": "+r);return this}function f_(i){return new this(i).cos()}function h_(i){return new this(i).cosh()}function dc(i){var t,e,r;function n(s){var a,l,c,h=this;if(!(h instanceof n))return new n(s);if(h.constructor=n,_c(s)){h.s=s.s,Nt?!s.d||s.e>n.maxE?(h.e=NaN,h.d=null):s.e<n.minE?(h.e=0,h.d=[0]):(h.e=s.e,h.d=s.d.slice()):(h.e=s.e,h.d=s.d?s.d.slice():s.d);return}if(c=typeof s,c==="number"){if(s===0){h.s=1/s<0?-1:1,h.e=0,h.d=[0];return}if(s<0?(s=-s,h.s=-1):h.s=1,s===~~s&&s<1e7){for(a=0,l=s;l>=10;l/=10)a++;Nt?a>n.maxE?(h.e=NaN,h.d=null):a<n.minE?(h.e=0,h.d=[0]):(h.e=a,h.d=[s]):(h.e=a,h.d=[s]);return}else if(s*0!==0){s||(h.s=NaN),h.e=NaN,h.d=null;return}return wa(h,s.toString())}else if(c!=="string")throw Error(mn+s);return(l=s.charCodeAt(0))===45?(s=s.slice(1),h.s=-1):(l===43&&(s=s.slice(1)),h.s=1),oc.test(s)?wa(h,s):Jd(h,s)}if(n.prototype=it,n.ROUND_UP=0,n.ROUND_DOWN=1,n.ROUND_CEIL=2,n.ROUND_FLOOR=3,n.ROUND_HALF_UP=4,n.ROUND_HALF_DOWN=5,n.ROUND_HALF_EVEN=6,n.ROUND_HALF_CEIL=7,n.ROUND_HALF_FLOOR=8,n.EUCLID=9,n.config=n.set=c_,n.clone=dc,n.isDecimal=_c,n.abs=Vd,n.acos=Qd,n.acosh=t_,n.add=e_,n.asin=r_,n.asinh=n_,n.atan=i_,n.atanh=s_,n.atan2=o_,n.cbrt=a_,n.ceil=u_,n.clamp=l_,n.cos=f_,n.cosh=h_,n.div=p_,n.exp=d_,n.floor=__,n.hypot=m_,n.ln=g_,n.log=v_,n.log10=y_,n.log2=w_,n.max=D_,n.min=b_,n.mod=E_,n.mul=x_,n.pow=A_,n.random=C_,n.round=F_,n.sign=M_,n.sin=N_,n.sinh=S_,n.sqrt=B_,n.sub=T_,n.sum=I_,n.tan=O_,n.tanh=$_,n.trunc=R_,i===void 0&&(i={}),i&&i.defaults!==!0)for(r=["precision","rounding","toExpNeg","toExpPos","maxE","minE","modulo","crypto"],t=0;t<r.length;)i.hasOwnProperty(e=r[t++])||(i[e]=this[e]);return n.config(i),n}function p_(i,t){return new this(i).div(t)}function d_(i){return new this(i).exp()}function __(i){return yt(i=new this(i),i.e+1,3)}function m_(){var i,t,e=new this(0);for(Nt=!1,i=0;i<arguments.length;)if(t=new this(arguments[i++]),t.d)e.d&&(e=e.plus(t.times(t)));else{if(t.s)return Nt=!0,new this(1/0);e=t}return Nt=!0,e.sqrt()}function _c(i){return i instanceof ci||i&&i.toStringTag===sc||!1}function g_(i){return new this(i).ln()}function v_(i,t){return new this(i).log(t)}function w_(i){return new this(i).log(2)}function y_(i){return new this(i).log(10)}function D_(){return cc(this,arguments,"lt")}function b_(){return cc(this,arguments,"gt")}function E_(i,t){return new this(i).mod(t)}function x_(i,t){return new this(i).mul(t)}function A_(i,t){return new this(i).pow(t)}function C_(i){var t,e,r,n,s=0,a=new this(1),l=[];if(i===void 0?i=this.precision:Je(i,1,_n),r=Math.ceil(i/Et),this.crypto)if(crypto.getRandomValues)for(t=crypto.getRandomValues(new Uint32Array(r));s<r;)n=t[s],n>=429e7?t[s]=crypto.getRandomValues(new Uint32Array(1))[0]:l[s++]=n%1e7;else if(crypto.randomBytes){for(t=crypto.randomBytes(r*=4);s<r;)n=t[s]+(t[s+1]<<8)+(t[s+2]<<16)+((t[s+3]&127)<<24),n>=214e7?crypto.randomBytes(4).copy(t,s):(l.push(n%1e7),s+=4);s=r/4}else throw Error(ic);else for(;s<r;)l[s++]=Math.random()*1e7|0;for(r=l[--s],i%=Et,r&&i&&(n=Me(10,Et-i),l[s]=(r/n|0)*n);l[s]===0;s--)l.pop();if(s<0)e=0,l=[0];else{for(e=-1;l[0]===0;e-=Et)l.shift();for(r=1,n=l[0];n>=10;n/=10)r++;r<Et&&(e-=Et-r)}return a.e=e,a.d=l,a}function F_(i){return yt(i=new this(i),i.e+1,this.rounding)}function M_(i){return i=new this(i),i.d?i.d[0]?i.s:0*i.s:i.s||NaN}function N_(i){return new this(i).sin()}function S_(i){return new this(i).sinh()}function B_(i){return new this(i).sqrt()}function T_(i,t){return new this(i).sub(t)}function I_(){var i=0,t=arguments,e=new this(t[i]);for(Nt=!1;e.s&&++i<t.length;)e=e.plus(t[i]);return Nt=!0,yt(e,this.precision,this.rounding)}function O_(i){return new this(i).tan()}function $_(i){return new this(i).tanh()}function R_(i){return yt(i=new this(i),i.e+1,1)}it[Symbol.for("nodejs.util.inspect.custom")]=it.toString,it[Symbol.toStringTag]="Decimal";var ci=it.constructor=dc(ma);Cs=new ci(Cs),Fs=new ci(Fs);var L_="BigNumber",P_=["?on","config"],z_=_t(L_,P_,i=>{var{on:t,config:e}=i,r=ci.clone({precision:e.precision,modulo:ci.EUCLID});return r.prototype=Object.create(r.prototype),r.prototype.type="BigNumber",r.prototype.isBigNumber=!0,r.prototype.toJSON=function(){return{mathjs:"BigNumber",value:this.toString()}},r.fromJSON=function(n){return new r(n.value)},t&&t("config",function(n,s){n.precision!==s.precision&&r.config({precision:n.precision})}),r},{isClass:!0}),mc={exports:{}};/**
|
41
41
|
* @license Complex.js v2.1.1 12/05/2020
|
42
42
|
*
|
43
43
|
* Copyright (c) 2020, Robert Eisele (robert@xarg.org)
|
44
44
|
* Dual licensed under the MIT or GPL Version 2 licenses.
|
45
45
|
**/(function(i,t){(function(e){var r=Math.cosh||function(f){return Math.abs(f)<1e-9?1-f:(Math.exp(f)+Math.exp(-f))*.5},n=Math.sinh||function(f){return Math.abs(f)<1e-9?f:(Math.exp(f)-Math.exp(-f))*.5},s=function(f){var d=Math.PI/4;if(-d>f||f>d)return Math.cos(f)-1;var g=f*f;return g*(g*(g*(g*(g*(g*(g*(g/20922789888e3-1/87178291200)+1/479001600)-1/3628800)+1/40320)-1/720)+1/24)-1/2)},a=function(f,d){var g=Math.abs(f),w=Math.abs(d);return g<3e3&&w<3e3?Math.sqrt(g*g+w*w):(g<w?(g=w,w=f/d):w=d/f,g*Math.sqrt(1+w*w))},l=function(){throw SyntaxError("Invalid Param")};function c(f,d){var g=Math.abs(f),w=Math.abs(d);return f===0?Math.log(w):d===0?Math.log(g):g<3e3&&w<3e3?Math.log(f*f+d*d)*.5:(f=f/2,d=d/2,.5*Math.log(f*f+d*d)+Math.LN2)}var h=function(f,d){var g={re:0,im:0};if(f==null)g.re=g.im=0;else if(d!==void 0)g.re=f,g.im=d;else switch(typeof f){case"object":if("im"in f&&"re"in f)g.re=f.re,g.im=f.im;else if("abs"in f&&"arg"in f){if(!Number.isFinite(f.abs)&&Number.isFinite(f.arg))return p.INFINITY;g.re=f.abs*Math.cos(f.arg),g.im=f.abs*Math.sin(f.arg)}else if("r"in f&&"phi"in f){if(!Number.isFinite(f.r)&&Number.isFinite(f.phi))return p.INFINITY;g.re=f.r*Math.cos(f.phi),g.im=f.r*Math.sin(f.phi)}else f.length===2?(g.re=f[0],g.im=f[1]):l();break;case"string":g.im=g.re=0;var w=f.match(/\d+\.?\d*e[+-]?\d+|\d+\.?\d*|\.\d+|./g),m=1,D=0;w===null&&l();for(var v=0;v<w.length;v++){var E=w[v];E===" "||E===" "||E===`
|
46
|
-
`||(E==="+"?m++:E==="-"?D++:E==="i"||E==="I"?(m+D===0&&l(),w[v+1]!==" "&&!isNaN(w[v+1])?(g.im+=parseFloat((D%2?"-":"")+w[v+1]),v++):g.im+=parseFloat((D%2?"-":"")+"1"),m=D=0):((m+D===0||isNaN(E))&&l(),w[v+1]==="i"||w[v+1]==="I"?(g.im+=parseFloat((D%2?"-":"")+E),v++):g.re+=parseFloat((D%2?"-":"")+E),m=D=0))}m+D>0&&l();break;case"number":g.im=0,g.re=f;break;default:l()}return isNaN(g.re)||isNaN(g.im),g};function p(f,d){if(!(this instanceof p))return new p(f,d);var g=h(f,d);this.re=g.re,this.im=g.im}p.prototype={re:0,im:0,sign:function(){var f=this.abs();return new p(this.re/f,this.im/f)},add:function(f,d){var g=new p(f,d);return this.isInfinite()&&g.isInfinite()?p.NAN:this.isInfinite()||g.isInfinite()?p.INFINITY:new p(this.re+g.re,this.im+g.im)},sub:function(f,d){var g=new p(f,d);return this.isInfinite()&&g.isInfinite()?p.NAN:this.isInfinite()||g.isInfinite()?p.INFINITY:new p(this.re-g.re,this.im-g.im)},mul:function(f,d){var g=new p(f,d);return this.isInfinite()&&g.isZero()||this.isZero()&&g.isInfinite()?p.NAN:this.isInfinite()||g.isInfinite()?p.INFINITY:g.im===0&&this.im===0?new p(this.re*g.re,0):new p(this.re*g.re-this.im*g.im,this.re*g.im+this.im*g.re)},div:function(f,d){var g=new p(f,d);if(this.isZero()&&g.isZero()||this.isInfinite()&&g.isInfinite())return p.NAN;if(this.isInfinite()||g.isZero())return p.INFINITY;if(this.isZero()||g.isInfinite())return p.ZERO;f=this.re,d=this.im;var w=g.re,m=g.im,D,v;return m===0?new p(f/w,d/w):Math.abs(w)<Math.abs(m)?(v=w/m,D=w*v+m,new p((f*v+d)/D,(d*v-f)/D)):(v=m/w,D=m*v+w,new p((f+d*v)/D,(d-f*v)/D))},pow:function(f,d){var g=new p(f,d);if(f=this.re,d=this.im,g.isZero())return p.ONE;if(g.im===0){if(d===0&&f>0)return new p(Math.pow(f,g.re),0);if(f===0)switch((g.re%4+4)%4){case 0:return new p(Math.pow(d,g.re),0);case 1:return new p(0,Math.pow(d,g.re));case 2:return new p(-Math.pow(d,g.re),0);case 3:return new p(0,-Math.pow(d,g.re))}}if(f===0&&d===0&&g.re>0&&g.im>=0)return p.ZERO;var w=Math.atan2(d,f),m=c(f,d);return f=Math.exp(g.re*m-g.im*w),d=g.im*m+g.re*w,new p(f*Math.cos(d),f*Math.sin(d))},sqrt:function(){var f=this.re,d=this.im,g=this.abs(),w,m;if(f>=0){if(d===0)return new p(Math.sqrt(f),0);w=.5*Math.sqrt(2*(g+f))}else w=Math.abs(d)/Math.sqrt(2*(g-f));return f<=0?m=.5*Math.sqrt(2*(g-f)):m=Math.abs(d)/Math.sqrt(2*(g+f)),new p(w,d<0?-m:m)},exp:function(){var f=Math.exp(this.re);return this.im,new p(f*Math.cos(this.im),f*Math.sin(this.im))},expm1:function(){var f=this.re,d=this.im;return new p(Math.expm1(f)*Math.cos(d)+s(d),Math.exp(f)*Math.sin(d))},log:function(){var f=this.re,d=this.im;return new p(c(f,d),Math.atan2(d,f))},abs:function(){return a(this.re,this.im)},arg:function(){return Math.atan2(this.im,this.re)},sin:function(){var f=this.re,d=this.im;return new p(Math.sin(f)*r(d),Math.cos(f)*n(d))},cos:function(){var f=this.re,d=this.im;return new p(Math.cos(f)*r(d),-Math.sin(f)*n(d))},tan:function(){var f=2*this.re,d=2*this.im,g=Math.cos(f)+r(d);return new p(Math.sin(f)/g,n(d)/g)},cot:function(){var f=2*this.re,d=2*this.im,g=Math.cos(f)-r(d);return new p(-Math.sin(f)/g,n(d)/g)},sec:function(){var f=this.re,d=this.im,g=.5*r(2*d)+.5*Math.cos(2*f);return new p(Math.cos(f)*r(d)/g,Math.sin(f)*n(d)/g)},csc:function(){var f=this.re,d=this.im,g=.5*r(2*d)-.5*Math.cos(2*f);return new p(Math.sin(f)*r(d)/g,-Math.cos(f)*n(d)/g)},asin:function(){var f=this.re,d=this.im,g=new p(d*d-f*f+1,-2*f*d).sqrt(),w=new p(g.re-d,g.im+f).log();return new p(w.im,-w.re)},acos:function(){var f=this.re,d=this.im,g=new p(d*d-f*f+1,-2*f*d).sqrt(),w=new p(g.re-d,g.im+f).log();return new p(Math.PI/2-w.im,w.re)},atan:function(){var f=this.re,d=this.im;if(f===0){if(d===1)return new p(0,1/0);if(d===-1)return new p(0,-1/0)}var g=f*f+(1-d)*(1-d),w=new p((1-d*d-f*f)/g,-2*f/g).log();return new p(-.5*w.im,.5*w.re)},acot:function(){var f=this.re,d=this.im;if(d===0)return new p(Math.atan2(1,f),0);var g=f*f+d*d;return g!==0?new p(f/g,-d/g).atan():new p(f!==0?f/0:0,d!==0?-d/0:0).atan()},asec:function(){var f=this.re,d=this.im;if(f===0&&d===0)return new p(0,1/0);var g=f*f+d*d;return g!==0?new p(f/g,-d/g).acos():new p(f!==0?f/0:0,d!==0?-d/0:0).acos()},acsc:function(){var f=this.re,d=this.im;if(f===0&&d===0)return new p(Math.PI/2,1/0);var g=f*f+d*d;return g!==0?new p(f/g,-d/g).asin():new p(f!==0?f/0:0,d!==0?-d/0:0).asin()},sinh:function(){var f=this.re,d=this.im;return new p(n(f)*Math.cos(d),r(f)*Math.sin(d))},cosh:function(){var f=this.re,d=this.im;return new p(r(f)*Math.cos(d),n(f)*Math.sin(d))},tanh:function(){var f=2*this.re,d=2*this.im,g=r(f)+Math.cos(d);return new p(n(f)/g,Math.sin(d)/g)},coth:function(){var f=2*this.re,d=2*this.im,g=r(f)-Math.cos(d);return new p(n(f)/g,-Math.sin(d)/g)},csch:function(){var f=this.re,d=this.im,g=Math.cos(2*d)-r(2*f);return new p(-2*n(f)*Math.cos(d)/g,2*r(f)*Math.sin(d)/g)},sech:function(){var f=this.re,d=this.im,g=Math.cos(2*d)+r(2*f);return new p(2*r(f)*Math.cos(d)/g,-2*n(f)*Math.sin(d)/g)},asinh:function(){var f=this.im;this.im=-this.re,this.re=f;var d=this.asin();return this.re=-this.im,this.im=f,f=d.re,d.re=-d.im,d.im=f,d},acosh:function(){var f=this.acos();if(f.im<=0){var d=f.re;f.re=-f.im,f.im=d}else{var d=f.im;f.im=-f.re,f.re=d}return f},atanh:function(){var f=this.re,d=this.im,g=f>1&&d===0,w=1-f,m=1+f,D=w*w+d*d,v=D!==0?new p((m*w-d*d)/D,(d*w+m*d)/D):new p(f!==-1?f/0:0,d!==0?d/0:0),E=v.re;return v.re=c(v.re,v.im)/2,v.im=Math.atan2(v.im,E)/2,g&&(v.im=-v.im),v},acoth:function(){var f=this.re,d=this.im;if(f===0&&d===0)return new p(0,Math.PI/2);var g=f*f+d*d;return g!==0?new p(f/g,-d/g).atanh():new p(f!==0?f/0:0,d!==0?-d/0:0).atanh()},acsch:function(){var f=this.re,d=this.im;if(d===0)return new p(f!==0?Math.log(f+Math.sqrt(f*f+1)):1/0,0);var g=f*f+d*d;return g!==0?new p(f/g,-d/g).asinh():new p(f!==0?f/0:0,d!==0?-d/0:0).asinh()},asech:function(){var f=this.re,d=this.im;if(this.isZero())return p.INFINITY;var g=f*f+d*d;return g!==0?new p(f/g,-d/g).acosh():new p(f!==0?f/0:0,d!==0?-d/0:0).acosh()},inverse:function(){if(this.isZero())return p.INFINITY;if(this.isInfinite())return p.ZERO;var f=this.re,d=this.im,g=f*f+d*d;return new p(f/g,-d/g)},conjugate:function(){return new p(this.re,-this.im)},neg:function(){return new p(-this.re,-this.im)},ceil:function(f){return f=Math.pow(10,f||0),new p(Math.ceil(this.re*f)/f,Math.ceil(this.im*f)/f)},floor:function(f){return f=Math.pow(10,f||0),new p(Math.floor(this.re*f)/f,Math.floor(this.im*f)/f)},round:function(f){return f=Math.pow(10,f||0),new p(Math.round(this.re*f)/f,Math.round(this.im*f)/f)},equals:function(f,d){var g=new p(f,d);return Math.abs(g.re-this.re)<=p.EPSILON&&Math.abs(g.im-this.im)<=p.EPSILON},clone:function(){return new p(this.re,this.im)},toString:function(){var f=this.re,d=this.im,g="";return this.isNaN()?"NaN":this.isInfinite()?"Infinity":(Math.abs(f)<p.EPSILON&&(f=0),Math.abs(d)<p.EPSILON&&(d=0),d===0?g+f:(f!==0?(g+=f,g+=" ",d<0?(d=-d,g+="-"):g+="+",g+=" "):d<0&&(d=-d,g+="-"),d!==1&&(g+=d),g+"i"))},toVector:function(){return[this.re,this.im]},valueOf:function(){return this.im===0?this.re:null},isNaN:function(){return isNaN(this.re)||isNaN(this.im)},isZero:function(){return this.im===0&&this.re===0},isFinite:function(){return isFinite(this.re)&&isFinite(this.im)},isInfinite:function(){return!(this.isNaN()||this.isFinite())}},p.ZERO=new p(0,0),p.ONE=new p(1,0),p.I=new p(0,1),p.PI=new p(Math.PI,0),p.E=new p(Math.E,0),p.INFINITY=new p(1/0,1/0),p.NAN=new p(NaN,NaN),p.EPSILON=1e-15,Object.defineProperty(p,"__esModule",{value:!0}),p.default=p,p.Complex=p,i.exports=p})()})(
|
46
|
+
`||(E==="+"?m++:E==="-"?D++:E==="i"||E==="I"?(m+D===0&&l(),w[v+1]!==" "&&!isNaN(w[v+1])?(g.im+=parseFloat((D%2?"-":"")+w[v+1]),v++):g.im+=parseFloat((D%2?"-":"")+"1"),m=D=0):((m+D===0||isNaN(E))&&l(),w[v+1]==="i"||w[v+1]==="I"?(g.im+=parseFloat((D%2?"-":"")+E),v++):g.re+=parseFloat((D%2?"-":"")+E),m=D=0))}m+D>0&&l();break;case"number":g.im=0,g.re=f;break;default:l()}return isNaN(g.re)||isNaN(g.im),g};function p(f,d){if(!(this instanceof p))return new p(f,d);var g=h(f,d);this.re=g.re,this.im=g.im}p.prototype={re:0,im:0,sign:function(){var f=this.abs();return new p(this.re/f,this.im/f)},add:function(f,d){var g=new p(f,d);return this.isInfinite()&&g.isInfinite()?p.NAN:this.isInfinite()||g.isInfinite()?p.INFINITY:new p(this.re+g.re,this.im+g.im)},sub:function(f,d){var g=new p(f,d);return this.isInfinite()&&g.isInfinite()?p.NAN:this.isInfinite()||g.isInfinite()?p.INFINITY:new p(this.re-g.re,this.im-g.im)},mul:function(f,d){var g=new p(f,d);return this.isInfinite()&&g.isZero()||this.isZero()&&g.isInfinite()?p.NAN:this.isInfinite()||g.isInfinite()?p.INFINITY:g.im===0&&this.im===0?new p(this.re*g.re,0):new p(this.re*g.re-this.im*g.im,this.re*g.im+this.im*g.re)},div:function(f,d){var g=new p(f,d);if(this.isZero()&&g.isZero()||this.isInfinite()&&g.isInfinite())return p.NAN;if(this.isInfinite()||g.isZero())return p.INFINITY;if(this.isZero()||g.isInfinite())return p.ZERO;f=this.re,d=this.im;var w=g.re,m=g.im,D,v;return m===0?new p(f/w,d/w):Math.abs(w)<Math.abs(m)?(v=w/m,D=w*v+m,new p((f*v+d)/D,(d*v-f)/D)):(v=m/w,D=m*v+w,new p((f+d*v)/D,(d-f*v)/D))},pow:function(f,d){var g=new p(f,d);if(f=this.re,d=this.im,g.isZero())return p.ONE;if(g.im===0){if(d===0&&f>0)return new p(Math.pow(f,g.re),0);if(f===0)switch((g.re%4+4)%4){case 0:return new p(Math.pow(d,g.re),0);case 1:return new p(0,Math.pow(d,g.re));case 2:return new p(-Math.pow(d,g.re),0);case 3:return new p(0,-Math.pow(d,g.re))}}if(f===0&&d===0&&g.re>0&&g.im>=0)return p.ZERO;var w=Math.atan2(d,f),m=c(f,d);return f=Math.exp(g.re*m-g.im*w),d=g.im*m+g.re*w,new p(f*Math.cos(d),f*Math.sin(d))},sqrt:function(){var f=this.re,d=this.im,g=this.abs(),w,m;if(f>=0){if(d===0)return new p(Math.sqrt(f),0);w=.5*Math.sqrt(2*(g+f))}else w=Math.abs(d)/Math.sqrt(2*(g-f));return f<=0?m=.5*Math.sqrt(2*(g-f)):m=Math.abs(d)/Math.sqrt(2*(g+f)),new p(w,d<0?-m:m)},exp:function(){var f=Math.exp(this.re);return this.im,new p(f*Math.cos(this.im),f*Math.sin(this.im))},expm1:function(){var f=this.re,d=this.im;return new p(Math.expm1(f)*Math.cos(d)+s(d),Math.exp(f)*Math.sin(d))},log:function(){var f=this.re,d=this.im;return new p(c(f,d),Math.atan2(d,f))},abs:function(){return a(this.re,this.im)},arg:function(){return Math.atan2(this.im,this.re)},sin:function(){var f=this.re,d=this.im;return new p(Math.sin(f)*r(d),Math.cos(f)*n(d))},cos:function(){var f=this.re,d=this.im;return new p(Math.cos(f)*r(d),-Math.sin(f)*n(d))},tan:function(){var f=2*this.re,d=2*this.im,g=Math.cos(f)+r(d);return new p(Math.sin(f)/g,n(d)/g)},cot:function(){var f=2*this.re,d=2*this.im,g=Math.cos(f)-r(d);return new p(-Math.sin(f)/g,n(d)/g)},sec:function(){var f=this.re,d=this.im,g=.5*r(2*d)+.5*Math.cos(2*f);return new p(Math.cos(f)*r(d)/g,Math.sin(f)*n(d)/g)},csc:function(){var f=this.re,d=this.im,g=.5*r(2*d)-.5*Math.cos(2*f);return new p(Math.sin(f)*r(d)/g,-Math.cos(f)*n(d)/g)},asin:function(){var f=this.re,d=this.im,g=new p(d*d-f*f+1,-2*f*d).sqrt(),w=new p(g.re-d,g.im+f).log();return new p(w.im,-w.re)},acos:function(){var f=this.re,d=this.im,g=new p(d*d-f*f+1,-2*f*d).sqrt(),w=new p(g.re-d,g.im+f).log();return new p(Math.PI/2-w.im,w.re)},atan:function(){var f=this.re,d=this.im;if(f===0){if(d===1)return new p(0,1/0);if(d===-1)return new p(0,-1/0)}var g=f*f+(1-d)*(1-d),w=new p((1-d*d-f*f)/g,-2*f/g).log();return new p(-.5*w.im,.5*w.re)},acot:function(){var f=this.re,d=this.im;if(d===0)return new p(Math.atan2(1,f),0);var g=f*f+d*d;return g!==0?new p(f/g,-d/g).atan():new p(f!==0?f/0:0,d!==0?-d/0:0).atan()},asec:function(){var f=this.re,d=this.im;if(f===0&&d===0)return new p(0,1/0);var g=f*f+d*d;return g!==0?new p(f/g,-d/g).acos():new p(f!==0?f/0:0,d!==0?-d/0:0).acos()},acsc:function(){var f=this.re,d=this.im;if(f===0&&d===0)return new p(Math.PI/2,1/0);var g=f*f+d*d;return g!==0?new p(f/g,-d/g).asin():new p(f!==0?f/0:0,d!==0?-d/0:0).asin()},sinh:function(){var f=this.re,d=this.im;return new p(n(f)*Math.cos(d),r(f)*Math.sin(d))},cosh:function(){var f=this.re,d=this.im;return new p(r(f)*Math.cos(d),n(f)*Math.sin(d))},tanh:function(){var f=2*this.re,d=2*this.im,g=r(f)+Math.cos(d);return new p(n(f)/g,Math.sin(d)/g)},coth:function(){var f=2*this.re,d=2*this.im,g=r(f)-Math.cos(d);return new p(n(f)/g,-Math.sin(d)/g)},csch:function(){var f=this.re,d=this.im,g=Math.cos(2*d)-r(2*f);return new p(-2*n(f)*Math.cos(d)/g,2*r(f)*Math.sin(d)/g)},sech:function(){var f=this.re,d=this.im,g=Math.cos(2*d)+r(2*f);return new p(2*r(f)*Math.cos(d)/g,-2*n(f)*Math.sin(d)/g)},asinh:function(){var f=this.im;this.im=-this.re,this.re=f;var d=this.asin();return this.re=-this.im,this.im=f,f=d.re,d.re=-d.im,d.im=f,d},acosh:function(){var f=this.acos();if(f.im<=0){var d=f.re;f.re=-f.im,f.im=d}else{var d=f.im;f.im=-f.re,f.re=d}return f},atanh:function(){var f=this.re,d=this.im,g=f>1&&d===0,w=1-f,m=1+f,D=w*w+d*d,v=D!==0?new p((m*w-d*d)/D,(d*w+m*d)/D):new p(f!==-1?f/0:0,d!==0?d/0:0),E=v.re;return v.re=c(v.re,v.im)/2,v.im=Math.atan2(v.im,E)/2,g&&(v.im=-v.im),v},acoth:function(){var f=this.re,d=this.im;if(f===0&&d===0)return new p(0,Math.PI/2);var g=f*f+d*d;return g!==0?new p(f/g,-d/g).atanh():new p(f!==0?f/0:0,d!==0?-d/0:0).atanh()},acsch:function(){var f=this.re,d=this.im;if(d===0)return new p(f!==0?Math.log(f+Math.sqrt(f*f+1)):1/0,0);var g=f*f+d*d;return g!==0?new p(f/g,-d/g).asinh():new p(f!==0?f/0:0,d!==0?-d/0:0).asinh()},asech:function(){var f=this.re,d=this.im;if(this.isZero())return p.INFINITY;var g=f*f+d*d;return g!==0?new p(f/g,-d/g).acosh():new p(f!==0?f/0:0,d!==0?-d/0:0).acosh()},inverse:function(){if(this.isZero())return p.INFINITY;if(this.isInfinite())return p.ZERO;var f=this.re,d=this.im,g=f*f+d*d;return new p(f/g,-d/g)},conjugate:function(){return new p(this.re,-this.im)},neg:function(){return new p(-this.re,-this.im)},ceil:function(f){return f=Math.pow(10,f||0),new p(Math.ceil(this.re*f)/f,Math.ceil(this.im*f)/f)},floor:function(f){return f=Math.pow(10,f||0),new p(Math.floor(this.re*f)/f,Math.floor(this.im*f)/f)},round:function(f){return f=Math.pow(10,f||0),new p(Math.round(this.re*f)/f,Math.round(this.im*f)/f)},equals:function(f,d){var g=new p(f,d);return Math.abs(g.re-this.re)<=p.EPSILON&&Math.abs(g.im-this.im)<=p.EPSILON},clone:function(){return new p(this.re,this.im)},toString:function(){var f=this.re,d=this.im,g="";return this.isNaN()?"NaN":this.isInfinite()?"Infinity":(Math.abs(f)<p.EPSILON&&(f=0),Math.abs(d)<p.EPSILON&&(d=0),d===0?g+f:(f!==0?(g+=f,g+=" ",d<0?(d=-d,g+="-"):g+="+",g+=" "):d<0&&(d=-d,g+="-"),d!==1&&(g+=d),g+"i"))},toVector:function(){return[this.re,this.im]},valueOf:function(){return this.im===0?this.re:null},isNaN:function(){return isNaN(this.re)||isNaN(this.im)},isZero:function(){return this.im===0&&this.re===0},isFinite:function(){return isFinite(this.re)&&isFinite(this.im)},isInfinite:function(){return!(this.isNaN()||this.isFinite())}},p.ZERO=new p(0,0),p.ONE=new p(1,0),p.I=new p(0,1),p.PI=new p(Math.PI,0),p.E=new p(Math.E,0),p.INFINITY=new p(1/0,1/0),p.NAN=new p(NaN,NaN),p.EPSILON=1e-15,Object.defineProperty(p,"__esModule",{value:!0}),p.default=p,p.Complex=p,i.exports=p})()})(mc);var q_=mc.exports,Le=Yt(q_),k_="Complex",U_=[],W_=_t(k_,U_,()=>(Object.defineProperty(Le,"name",{value:"Complex"}),Le.prototype.constructor=Le,Le.prototype.type="Complex",Le.prototype.isComplex=!0,Le.prototype.toJSON=function(){return{mathjs:"Complex",re:this.re,im:this.im}},Le.prototype.toPolar=function(){return{r:this.abs(),phi:this.arg()}},Le.prototype.format=function(i){var t="",e=this.im,r=this.re,n=oa(this.re,i),s=oa(this.im,i),a=ue(i)?i:i?i.precision:null;if(a!==null){var l=Math.pow(10,-a);Math.abs(r/e)<l&&(r=0),Math.abs(e/r)<l&&(e=0)}return e===0?t=n:r===0?e===1?t="i":e===-1?t="-i":t=s+"i":e<0?e===-1?t=n+" - i":t=n+" - "+s.substring(1)+"i":e===1?t=n+" + i":t=n+" + "+s+"i",t},Le.fromPolar=function(i){switch(arguments.length){case 1:{var t=arguments[0];if(typeof t=="object")return Le(t);throw new TypeError("Input has to be an object with r and phi keys.")}case 2:{var e=arguments[0],r=arguments[1];if(ue(e)){if(Sl(r)&&r.hasBase("ANGLE")&&(r=r.toNumber("rad")),ue(r))return new Le({r:e,phi:r});throw new TypeError("Phi is not a number nor an angle unit.")}else throw new TypeError("Radius r is not a number.")}default:throw new SyntaxError("Wrong number of arguments in function fromPolar")}},Le.prototype.valueOf=Le.prototype.toString,Le.fromJSON=function(i){return new Le(i)},Le.compare=function(i,t){return i.re>t.re?1:i.re<t.re?-1:i.im>t.im?1:i.im<t.im?-1:0},Le),{isClass:!0}),gc={exports:{}};/**
|
47
47
|
* @license Fraction.js v4.3.0 20/08/2023
|
48
48
|
* https://www.xarg.org/2014/03/rational-numbers-in-javascript/
|
49
49
|
*
|
50
50
|
* Copyright (c) 2023, Robert Eisele (robert@raw.org)
|
51
51
|
* Dual licensed under the MIT or GPL Version 2 licenses.
|
52
|
-
**/(function(i,t){(function(e){var r=2e3,n={s:1,n:0,d:1};function s(v,E){if(isNaN(v=parseInt(v,10)))throw m();return v*E}function a(v,E){if(E===0)throw w();var b=Object.create(g.prototype);b.s=v<0?-1:1,v=v<0?-v:v;var N=d(v,E);return b.n=v/N,b.d=E/N,b}function l(v){for(var E={},b=v,N=2,x=4;x<=b;){for(;b%N===0;)b/=N,E[N]=(E[N]||0)+1;x+=1+2*N++}return b!==v?b>1&&(E[b]=(E[b]||0)+1):E[v]=(E[v]||0)+1,E}var c=function(v,E){var b=0,N=1,x=1,F=0,M=0,S=0,O=1,C=1,T=0,R=1,U=1,k=1,W=1e7,P;if(v!=null)if(E!==void 0){if(b=v,N=E,x=b*N,b%1!==0||N%1!==0)throw D()}else switch(typeof v){case"object":{if("d"in v&&"n"in v)b=v.n,N=v.d,"s"in v&&(b*=v.s);else if(0 in v)b=v[0],1 in v&&(N=v[1]);else throw m();x=b*N;break}case"number":{if(v<0&&(x=v,v=-v),v%1===0)b=v;else if(v>0){for(v>=1&&(C=Math.pow(10,Math.floor(1+Math.log(v)/Math.LN10)),v/=C);R<=W&&k<=W;)if(P=(T+U)/(R+k),v===P){R+k<=W?(b=T+U,N=R+k):k>R?(b=U,N=k):(b=T,N=R);break}else v>P?(T+=U,R+=k):(U+=T,k+=R),R>W?(b=U,N=k):(b=T,N=R);b*=C}else(isNaN(v)||isNaN(E))&&(N=b=NaN);break}case"string":{if(R=v.match(/\d+|./g),R===null)throw m();if(R[T]==="-"?(x=-1,T++):R[T]==="+"&&T++,R.length===T+1?M=s(R[T++],x):R[T+1]==="."||R[T]==="."?(R[T]!=="."&&(F=s(R[T++],x)),T++,(T+1===R.length||R[T+1]==="("&&R[T+3]===")"||R[T+1]==="'"&&R[T+3]==="'")&&(M=s(R[T],x),O=Math.pow(10,R[T].length),T++),(R[T]==="("&&R[T+2]===")"||R[T]==="'"&&R[T+2]==="'")&&(S=s(R[T+1],x),C=Math.pow(10,R[T+1].length)-1,T+=3)):R[T+1]==="/"||R[T+1]===":"?(M=s(R[T],x),O=s(R[T+2],1),T+=3):R[T+3]==="/"&&R[T+1]===" "&&(F=s(R[T],x),M=s(R[T+2],x),O=s(R[T+4],1),T+=5),R.length<=T){N=O*C,x=b=S+N*F+C*M;break}}default:throw m()}if(N===0)throw w();n.s=x<0?-1:1,n.n=Math.abs(b),n.d=Math.abs(N)};function h(v,E,b){for(var N=1;E>0;v=v*v%b,E>>=1)E&1&&(N=N*v%b);return N}function p(v,E){for(;E%2===0;E/=2);for(;E%5===0;E/=5);if(E===1)return 0;for(var b=10%E,N=1;b!==1;N++)if(b=b*10%E,N>r)return 0;return N}function f(v,E,b){for(var N=1,x=h(10,b,E),F=0;F<300;F++){if(N===x)return F;N=N*10%E,x=x*10%E}return 0}function d(v,E){if(!v)return E;if(!E)return v;for(;;){if(v%=E,!v)return E;if(E%=v,!E)return v}}function g(v,E){if(c(v,E),this instanceof g)v=d(n.d,n.n),this.s=n.s,this.n=n.n/v,this.d=n.d/v;else return a(n.s*n.n,n.d)}var w=function(){return new Error("Division by Zero")},m=function(){return new Error("Invalid argument")},D=function(){return new Error("Parameters must be integer")};g.prototype={s:1,n:0,d:1,abs:function(){return a(this.n,this.d)},neg:function(){return a(-this.s*this.n,this.d)},add:function(v,E){return c(v,E),a(this.s*this.n*n.d+n.s*this.d*n.n,this.d*n.d)},sub:function(v,E){return c(v,E),a(this.s*this.n*n.d-n.s*this.d*n.n,this.d*n.d)},mul:function(v,E){return c(v,E),a(this.s*n.s*this.n*n.n,this.d*n.d)},div:function(v,E){return c(v,E),a(this.s*n.s*this.n*n.d,this.d*n.n)},clone:function(){return a(this.s*this.n,this.d)},mod:function(v,E){if(isNaN(this.n)||isNaN(this.d))return new g(NaN);if(v===void 0)return a(this.s*this.n%this.d,1);if(c(v,E),n.n===0&&this.d===0)throw w();return a(this.s*(n.d*this.n)%(n.n*this.d),n.d*this.d)},gcd:function(v,E){return c(v,E),a(d(n.n,this.n)*d(n.d,this.d),n.d*this.d)},lcm:function(v,E){return c(v,E),n.n===0&&this.n===0?a(0,1):a(n.n*this.n,d(n.n,this.n)*d(n.d,this.d))},ceil:function(v){return v=Math.pow(10,v||0),isNaN(this.n)||isNaN(this.d)?new g(NaN):a(Math.ceil(v*this.s*this.n/this.d),v)},floor:function(v){return v=Math.pow(10,v||0),isNaN(this.n)||isNaN(this.d)?new g(NaN):a(Math.floor(v*this.s*this.n/this.d),v)},round:function(v){return v=Math.pow(10,v||0),isNaN(this.n)||isNaN(this.d)?new g(NaN):a(Math.round(v*this.s*this.n/this.d),v)},inverse:function(){return a(this.s*this.d,this.n)},pow:function(v,E){if(c(v,E),n.d===1)return n.s<0?a(Math.pow(this.s*this.d,n.n),Math.pow(this.n,n.n)):a(Math.pow(this.s*this.n,n.n),Math.pow(this.d,n.n));if(this.s<0)return null;var b=l(this.n),N=l(this.d),x=1,F=1;for(var M in b)if(M!=="1"){if(M==="0"){x=0;break}if(b[M]*=n.n,b[M]%n.d===0)b[M]/=n.d;else return null;x*=Math.pow(M,b[M])}for(var M in N)if(M!=="1"){if(N[M]*=n.n,N[M]%n.d===0)N[M]/=n.d;else return null;F*=Math.pow(M,N[M])}return n.s<0?a(F,x):a(x,F)},equals:function(v,E){return c(v,E),this.s*this.n*n.d===n.s*n.n*this.d},compare:function(v,E){c(v,E);var b=this.s*this.n*n.d-n.s*n.n*this.d;return(0<b)-(b<0)},simplify:function(v){if(isNaN(this.n)||isNaN(this.d))return this;v=v||.001;for(var E=this.abs(),b=E.toContinued(),N=1;N<b.length;N++){for(var x=a(b[N-1],1),F=N-2;F>=0;F--)x=x.inverse().add(b[F]);if(Math.abs(x.sub(E).valueOf())<v)return x.mul(this.s)}return this},divisible:function(v,E){return c(v,E),!(!(n.n*this.d)||this.n*n.d%(n.n*this.d))},valueOf:function(){return this.s*this.n/this.d},toFraction:function(v){var E,b="",N=this.n,x=this.d;return this.s<0&&(b+="-"),x===1?b+=N:(v&&(E=Math.floor(N/x))>0&&(b+=E,b+=" ",N%=x),b+=N,b+="/",b+=x),b},toLatex:function(v){var E,b="",N=this.n,x=this.d;return this.s<0&&(b+="-"),x===1?b+=N:(v&&(E=Math.floor(N/x))>0&&(b+=E,N%=x),b+="\\frac{",b+=N,b+="}{",b+=x,b+="}"),b},toContinued:function(){var v,E=this.n,b=this.d,N=[];if(isNaN(E)||isNaN(b))return N;do N.push(Math.floor(E/b)),v=E%b,E=b,b=v;while(E!==1);return N},toString:function(v){var E=this.n,b=this.d;if(isNaN(E)||isNaN(b))return"NaN";v=v||15;var N=p(E,b),x=f(E,b,N),F=this.s<0?"-":"";if(F+=E/b|0,E%=b,E*=10,E&&(F+="."),N){for(var M=x;M--;)F+=E/b|0,E%=b,E*=10;F+="(";for(var M=N;M--;)F+=E/b|0,E%=b,E*=10;F+=")"}else for(var M=v;E&&M--;)F+=E/b|0,E%=b,E*=10;return F}},Object.defineProperty(g,"__esModule",{value:!0}),g.default=g,g.Fraction=g,i.exports=g})()})(vc);var j_=vc.exports,Xr=Yt(j_),Y_="Fraction",Z_=[],G_=_t(Y_,Z_,()=>(Object.defineProperty(Xr,"name",{value:"Fraction"}),Xr.prototype.constructor=Xr,Xr.prototype.type="Fraction",Xr.prototype.isFraction=!0,Xr.prototype.toJSON=function(){return{mathjs:"Fraction",n:this.s*this.n,d:this.d}},Xr.fromJSON=function(i){return new Xr(i)},Xr),{isClass:!0}),K_="Matrix",H_=[],J_=_t(K_,H_,()=>{function i(){if(!(this instanceof i))throw new SyntaxError("Constructor must be called with the new operator")}return i.prototype.type="Matrix",i.prototype.isMatrix=!0,i.prototype.storage=function(){throw new Error("Cannot invoke storage on a Matrix interface")},i.prototype.datatype=function(){throw new Error("Cannot invoke datatype on a Matrix interface")},i.prototype.create=function(t,e){throw new Error("Cannot invoke create on a Matrix interface")},i.prototype.subset=function(t,e,r){throw new Error("Cannot invoke subset on a Matrix interface")},i.prototype.get=function(t){throw new Error("Cannot invoke get on a Matrix interface")},i.prototype.set=function(t,e,r){throw new Error("Cannot invoke set on a Matrix interface")},i.prototype.resize=function(t,e){throw new Error("Cannot invoke resize on a Matrix interface")},i.prototype.reshape=function(t,e){throw new Error("Cannot invoke reshape on a Matrix interface")},i.prototype.clone=function(){throw new Error("Cannot invoke clone on a Matrix interface")},i.prototype.size=function(){throw new Error("Cannot invoke size on a Matrix interface")},i.prototype.map=function(t,e){throw new Error("Cannot invoke map on a Matrix interface")},i.prototype.forEach=function(t){throw new Error("Cannot invoke forEach on a Matrix interface")},i.prototype[Symbol.iterator]=function(){throw new Error("Cannot iterate a Matrix interface")},i.prototype.toArray=function(){throw new Error("Cannot invoke toArray on a Matrix interface")},i.prototype.valueOf=function(){throw new Error("Cannot invoke valueOf on a Matrix interface")},i.prototype.format=function(t){throw new Error("Cannot invoke format on a Matrix interface")},i.prototype.toString=function(){throw new Error("Cannot invoke toString on a Matrix interface")},i},{isClass:!0});function wc(i){return Object.keys(i.signatures||{}).reduce(function(t,e){var r=(e.match(/,/g)||[]).length+1;return Math.max(t,r)},-1)}var X_="DenseMatrix",V_=["Matrix"],Q_=_t(X_,V_,i=>{var{Matrix:t}=i;function e(p,f){if(!(this instanceof e))throw new SyntaxError("Constructor must be called with the new operator");if(f&&!Wr(f))throw new Error("Invalid datatype: "+f);if(ce(p))p.type==="DenseMatrix"?(this._data=ee(p._data),this._size=ee(p._size),this._datatype=f||p._datatype):(this._data=p.toArray(),this._size=p.size(),this._datatype=f||p._datatype);else if(p&&ge(p.data)&&ge(p.size))this._data=p.data,this._size=p.size,Gl(this._data,this._size),this._datatype=f||p.datatype;else if(ge(p))this._data=h(p),this._size=Ae(this._data),Gl(this._data,this._size),this._datatype=f;else{if(p)throw new TypeError("Unsupported type of data ("+pn(p)+")");this._data=[],this._size=[0],this._datatype=f}}e.prototype=new t,e.prototype.createDenseMatrix=function(p,f){return new e(p,f)},Object.defineProperty(e,"name",{value:"DenseMatrix"}),e.prototype.constructor=e,e.prototype.type="DenseMatrix",e.prototype.isDenseMatrix=!0,e.prototype.getDataType=function(){return Es(this._data,pn)},e.prototype.storage=function(){return"dense"},e.prototype.datatype=function(){return this._datatype},e.prototype.create=function(p,f){return new e(p,f)},e.prototype.subset=function(p,f,d){switch(arguments.length){case 1:return r(this,p);case 2:case 3:return s(this,p,f,d);default:throw new SyntaxError("Wrong number of arguments")}},e.prototype.get=function(p){if(!ge(p))throw new TypeError("Array expected");if(p.length!==this._size.length)throw new Zt(p.length,this._size.length);for(var f=0;f<p.length;f++)ve(p[f],this._size[f]);for(var d=this._data,g=0,w=p.length;g<w;g++){var m=p[g];ve(m,d.length),d=d[m]}return d},e.prototype.set=function(p,f,d){if(!ge(p))throw new TypeError("Array expected");if(p.length<this._size.length)throw new Zt(p.length,this._size.length,"<");var g,w,m,D=p.map(function(E){return E+1});c(this,D,d);var v=this._data;for(g=0,w=p.length-1;g<w;g++)m=p[g],ve(m,v.length),v=v[m];return m=p[p.length-1],ve(m,v.length),v[m]=f,this};function r(p,f){if(!na(f))throw new TypeError("Invalid index");var d=f.isScalar();if(d)return p.get(f.min());var g=f.size();if(g.length!==p._size.length)throw new Zt(g.length,p._size.length);for(var w=f.min(),m=f.max(),D=0,v=p._size.length;D<v;D++)ve(w[D],p._size[D]),ve(m[D],p._size[D]);return new e(n(p._data,f,g.length,0),p._datatype)}function n(p,f,d,g){var w=g===d-1,m=f.dimension(g);return w?m.map(function(D){return ve(D,p.length),p[D]}).valueOf():m.map(function(D){ve(D,p.length);var v=p[D];return n(v,f,d,g+1)}).valueOf()}function s(p,f,d,g){if(!f||f.isIndex!==!0)throw new TypeError("Invalid index");var w=f.size(),m=f.isScalar(),D;if(ce(d)?(D=d.size(),d=d.valueOf()):D=Ae(d),m){if(D.length!==0)throw new TypeError("Scalar expected");p.set(f.min(),d,g)}else{if(!si(D,w))try{D.length===0?d=Ql([d],w):d=Ql(d,w),D=Ae(d)}catch{}if(w.length<p._size.length)throw new Zt(w.length,p._size.length,"<");if(D.length<w.length){for(var v=0,E=0;w[v]===1&&D[v]===1;)v++;for(;w[v]===1;)E++,v++;d=Hl(d,w.length,E,D)}if(!si(w,D))throw new Zt(w,D,">");var b=f.max().map(function(F){return F+1});c(p,b,g);var N=w.length,x=0;a(p._data,f,d,N,x)}return p}function a(p,f,d,g,w){var m=w===g-1,D=f.dimension(w);m?D.forEach(function(v,E){ve(v),p[v]=d[E[0]]}):D.forEach(function(v,E){ve(v),a(p[v],f,d[E[0]],g,w+1)})}e.prototype.resize=function(p,f,d){if(!qi(p))throw new TypeError("Array or Matrix expected");var g=p.valueOf().map(m=>Array.isArray(m)&&m.length===1?m[0]:m),w=d?this.clone():this;return l(w,g,f)};function l(p,f,d){if(f.length===0){for(var g=p._data;ge(g);)g=g[0];return g}return p._size=f.slice(0),p._data=ua(p._data,p._size,d),p}e.prototype.reshape=function(p,f){var d=f?this.clone():this;d._data=ca(d._data,p);var g=d._size.reduce((w,m)=>w*m);return d._size=fa(p,g),d};function c(p,f,d){for(var g=p._size.slice(0),w=!1;g.length<f.length;)g.push(0),w=!0;for(var m=0,D=f.length;m<D;m++)f[m]>g[m]&&(g[m]=f[m],w=!0);w&&l(p,g,d)}e.prototype.clone=function(){var p=new e({data:ee(this._data),size:ee(this._size),datatype:this._datatype});return p},e.prototype.size=function(){return this._size.slice(0)},e.prototype.map=function(p){var f=this,d=wc(p),g=function D(v,E){return ge(v)?v.map(function(b,N){return D(b,E.concat(N))}):d===1?p(v):d===2?p(v,E):p(v,E,f)},w=g(this._data,[]),m=this._datatype!==void 0?Es(w,pn):void 0;return new e(w,m)},e.prototype.forEach=function(p){var f=this,d=function g(w,m){ge(w)?w.forEach(function(D,v){g(D,m.concat(v))}):p(w,m,f)};d(this._data,[])},e.prototype[Symbol.iterator]=function*(){var p=function*f(d,g){if(ge(d))for(var w=0;w<d.length;w++)yield*f(d[w],g.concat(w));else yield{value:d,index:g}};yield*p(this._data,[])},e.prototype.rows=function(){var p=[],f=this.size();if(f.length!==2)throw new TypeError("Rows can only be returned for a 2D matrix.");var d=this._data;for(var g of d)p.push(new e([g],this._datatype));return p},e.prototype.columns=function(){var p=this,f=[],d=this.size();if(d.length!==2)throw new TypeError("Rows can only be returned for a 2D matrix.");for(var g=this._data,w=function(v){var E=g.map(b=>[b[v]]);f.push(new e(E,p._datatype))},m=0;m<d[1];m++)w(m);return f},e.prototype.toArray=function(){return ee(this._data)},e.prototype.valueOf=function(){return this._data},e.prototype.format=function(p){return se(this._data,p)},e.prototype.toString=function(){return se(this._data)},e.prototype.toJSON=function(){return{mathjs:"DenseMatrix",data:this._data,size:this._size,datatype:this._datatype}},e.prototype.diagonal=function(p){if(p){if(be(p)&&(p=p.toNumber()),!ue(p)||!pe(p))throw new TypeError("The parameter k must be an integer number")}else p=0;for(var f=p>0?p:0,d=p<0?-p:0,g=this._size[0],w=this._size[1],m=Math.min(g-d,w-f),D=[],v=0;v<m;v++)D[v]=this._data[v+d][v+f];return new e({data:D,size:[m],datatype:this._datatype})},e.diagonal=function(p,f,d,g){if(!ge(p))throw new TypeError("Array expected, size parameter");if(p.length!==2)throw new Error("Only two dimensions matrix are supported");if(p=p.map(function(M){if(be(M)&&(M=M.toNumber()),!ue(M)||!pe(M)||M<1)throw new Error("Size values must be positive integers");return M}),d){if(be(d)&&(d=d.toNumber()),!ue(d)||!pe(d))throw new TypeError("The parameter k must be an integer number")}else d=0;var w=d>0?d:0,m=d<0?-d:0,D=p[0],v=p[1],E=Math.min(D-m,v-w),b;if(ge(f)){if(f.length!==E)throw new Error("Invalid value array length");b=function(S){return f[S]}}else if(ce(f)){var N=f.size();if(N.length!==1||N[0]!==E)throw new Error("Invalid matrix length");b=function(S){return f.get([S])}}else b=function(){return f};g||(g=be(b(0))?b(0).mul(0):0);var x=[];if(p.length>0){x=ua(x,p,g);for(var F=0;F<E;F++)x[F+m][F+w]=b(F)}return new e({data:x,size:[D,v]})},e.fromJSON=function(p){return new e(p)},e.prototype.swapRows=function(p,f){if(!ue(p)||!pe(p)||!ue(f)||!pe(f))throw new Error("Row index must be positive integers");if(this._size.length!==2)throw new Error("Only two dimensional matrix is supported");return ve(p,this._size[0]),ve(f,this._size[0]),e._swapRows(p,f,this._data),this},e._swapRows=function(p,f,d){var g=d[p];d[p]=d[f],d[f]=g};function h(p){return ce(p)?h(p.valueOf()):ge(p)?p.map(h):p}return e},{isClass:!0});function tm(i){var t=i.length,e=i[0].length,r,n,s=[];for(n=0;n<e;n++){var a=[];for(r=0;r<t;r++)a.push(i[r][n]);s.push(a)}return s}function Is(i){for(var t=0;t<i.length;t++)if(qi(i[t]))return!0;return!1}function Wi(i,t){ce(i)&&(i=i.valueOf());for(var e=0,r=i.length;e<r;e++){var n=i[e];Array.isArray(n)?Wi(n,t):t(n)}}function Or(i,t,e){return i&&typeof i.map=="function"?i.map(function(r){return Or(r,t)}):t(i)}function Da(i,t,e){var r=Array.isArray(i)?Ae(i):i.size();if(t<0||t>=r.length)throw new dn(t,r.length);return ce(i)?i.create(Os(i.valueOf(),t,e)):Os(i,t,e)}function Os(i,t,e){var r,n,s,a;if(t<=0)if(Array.isArray(i[0])){for(a=tm(i),n=[],r=0;r<a.length;r++)n[r]=Os(a[r],t-1,e);return n}else{for(s=i[0],r=1;r<i.length;r++)s=e(s,i[r]);return s}else{for(n=[],r=0;r<i.length;r++)n[r]=Os(i[r],t-1,e);return n}}var yc="isInteger",em=["typed"],rm=_t(yc,em,i=>{var{typed:t}=i;return t(yc,{number:pe,BigNumber:function(r){return r.isInt()},Fraction:function(r){return r.d===1&&isFinite(r.n)},"Array | Matrix":t.referToSelf(e=>r=>Or(r,e))})}),Dc="number",$s="number, number";function bc(i){return Math.abs(i)}bc.signature=Dc;function Ec(i,t){return i+t}Ec.signature=$s;function xc(i,t){return i-t}xc.signature=$s;function Ac(i,t){return i*t}Ac.signature=$s;function Cc(i){return-i}Cc.signature=Dc;function Fc(i,t){return i*i<1&&t===1/0||i*i>1&&t===-1/0?0:Math.pow(i,t)}Fc.signature=$s;var Mc="number";function Nc(i){return i===0}Nc.signature=Mc;function Sc(i){return Number.isNaN(i)}Sc.signature=Mc;var Bc="isNumeric",nm=["typed"],im=_t(Bc,nm,i=>{var{typed:t}=i;return t(Bc,{"number | BigNumber | Fraction | boolean":()=>!0,"Complex | Unit | string | null | undefined | Node":()=>!1,"Array | Matrix":t.referToSelf(e=>r=>Or(r,e))})}),Tc="isZero",sm=["typed"],om=_t(Tc,sm,i=>{var{typed:t}=i;return t(Tc,{number:Nc,BigNumber:function(r){return r.isZero()},Complex:function(r){return r.re===0&&r.im===0},Fraction:function(r){return r.d===1&&r.n===0},Unit:t.referToSelf(e=>r=>t.find(e,r.valueType())(r.value)),"Array | Matrix":t.referToSelf(e=>r=>Or(r,e))})}),Ic="isNaN",am=["typed"],um=_t(Ic,am,i=>{var{typed:t}=i;return t(Ic,{number:Sc,BigNumber:function(r){return r.isNaN()},Fraction:function(r){return!1},Complex:function(r){return r.isNaN()},Unit:function(r){return Number.isNaN(r.value)},"Array | Matrix":function(r){return Or(r,Number.isNaN)}})});function Rs(i,t,e){if(e==null)return i.eq(t);if(i.eq(t))return!0;if(i.isNaN()||t.isNaN())return!1;if(i.isFinite()&&t.isFinite()){var r=i.minus(t).abs();if(r.isZero())return!0;var n=i.constructor.max(i.abs(),t.abs());return r.lte(n.times(e))}return!1}function lm(i,t,e){return kn(i.re,t.re,e)&&kn(i.im,t.im,e)}var Ls=_t("compareUnits",["typed"],i=>{var{typed:t}=i;return{"Unit, Unit":t.referToSelf(e=>(r,n)=>{if(!r.equalBase(n))throw new Error("Cannot compare units with different base");return t.find(e,[r.valueType(),n.valueType()])(r.value,n.value)})}}),Ps="equalScalar",cm=["typed","config"],fm=_t(Ps,cm,i=>{var{typed:t,config:e}=i,r=Ls({typed:t});return t(Ps,{"boolean, boolean":function(s,a){return s===a},"number, number":function(s,a){return kn(s,a,e.epsilon)},"BigNumber, BigNumber":function(s,a){return s.eq(a)||Rs(s,a,e.epsilon)},"Fraction, Fraction":function(s,a){return s.equals(a)},"Complex, Complex":function(s,a){return lm(s,a,e.epsilon)}},r)});_t(Ps,["typed","config"],i=>{var{typed:t,config:e}=i;return t(Ps,{"number, number":function(n,s){return kn(n,s,e.epsilon)}})});var hm="SparseMatrix",pm=["typed","equalScalar","Matrix"],dm=_t(hm,pm,i=>{var{typed:t,equalScalar:e,Matrix:r}=i;function n(m,D){if(!(this instanceof n))throw new SyntaxError("Constructor must be called with the new operator");if(D&&!Wr(D))throw new Error("Invalid datatype: "+D);if(ce(m))s(this,m,D);else if(m&&ge(m.index)&&ge(m.ptr)&&ge(m.size))this._values=m.values,this._index=m.index,this._ptr=m.ptr,this._size=m.size,this._datatype=D||m.datatype;else if(ge(m))a(this,m,D);else{if(m)throw new TypeError("Unsupported type of data ("+pn(m)+")");this._values=[],this._index=[],this._ptr=[0],this._size=[0,0],this._datatype=D}}function s(m,D,v){D.type==="SparseMatrix"?(m._values=D._values?ee(D._values):void 0,m._index=ee(D._index),m._ptr=ee(D._ptr),m._size=ee(D._size),m._datatype=v||D._datatype):a(m,D.valueOf(),v||D._datatype)}function a(m,D,v){m._values=[],m._index=[],m._ptr=[],m._datatype=v;var E=D.length,b=0,N=e,x=0;if(Wr(v)&&(N=t.find(e,[v,v])||e,x=t.convert(0,v)),E>0){var F=0;do{m._ptr.push(m._index.length);for(var M=0;M<E;M++){var S=D[M];if(ge(S)){if(F===0&&b<S.length&&(b=S.length),F<S.length){var O=S[F];N(O,x)||(m._values.push(O),m._index.push(M))}}else F===0&&b<1&&(b=1),N(S,x)||(m._values.push(S),m._index.push(M))}F++}while(F<b)}m._ptr.push(m._index.length),m._size=[E,b]}n.prototype=new r,n.prototype.createSparseMatrix=function(m,D){return new n(m,D)},Object.defineProperty(n,"name",{value:"SparseMatrix"}),n.prototype.constructor=n,n.prototype.type="SparseMatrix",n.prototype.isSparseMatrix=!0,n.prototype.getDataType=function(){return Es(this._values,pn)},n.prototype.storage=function(){return"sparse"},n.prototype.datatype=function(){return this._datatype},n.prototype.create=function(m,D){return new n(m,D)},n.prototype.density=function(){var m=this._size[0],D=this._size[1];return m!==0&&D!==0?this._index.length/(m*D):0},n.prototype.subset=function(m,D,v){if(!this._values)throw new Error("Cannot invoke subset on a Pattern only matrix");switch(arguments.length){case 1:return l(this,m);case 2:case 3:return c(this,m,D,v);default:throw new SyntaxError("Wrong number of arguments")}};function l(m,D){if(!na(D))throw new TypeError("Invalid index");var v=D.isScalar();if(v)return m.get(D.min());var E=D.size();if(E.length!==m._size.length)throw new Zt(E.length,m._size.length);var b,N,x,F,M=D.min(),S=D.max();for(b=0,N=m._size.length;b<N;b++)ve(M[b],m._size[b]),ve(S[b],m._size[b]);var O=m._values,C=m._index,T=m._ptr,R=D.dimension(0),U=D.dimension(1),k=[],W=[];R.forEach(function(V,tt){W[V]=tt[0],k[V]=!0});var P=O?[]:void 0,K=[],G=[];return U.forEach(function(V){for(G.push(K.length),x=T[V],F=T[V+1];x<F;x++)b=C[x],k[b]===!0&&(K.push(W[b]),P&&P.push(O[x]))}),G.push(K.length),new n({values:P,index:K,ptr:G,size:E,datatype:m._datatype})}function c(m,D,v,E){if(!D||D.isIndex!==!0)throw new TypeError("Invalid index");var b=D.size(),N=D.isScalar(),x;if(ce(v)?(x=v.size(),v=v.toArray()):x=Ae(v),N){if(x.length!==0)throw new TypeError("Scalar expected");m.set(D.min(),v,E)}else{if(b.length!==1&&b.length!==2)throw new Zt(b.length,m._size.length,"<");if(x.length<b.length){for(var F=0,M=0;b[F]===1&&x[F]===1;)F++;for(;b[F]===1;)M++,F++;v=Hl(v,b.length,M,x)}if(!si(b,x))throw new Zt(b,x,">");if(b.length===1){var S=D.dimension(0);S.forEach(function(T,R){ve(T),m.set([T,0],v[R[0]],E)})}else{var O=D.dimension(0),C=D.dimension(1);O.forEach(function(T,R){ve(T),C.forEach(function(U,k){ve(U),m.set([T,U],v[R[0]][k[0]],E)})})}}return m}n.prototype.get=function(m){if(!ge(m))throw new TypeError("Array expected");if(m.length!==this._size.length)throw new Zt(m.length,this._size.length);if(!this._values)throw new Error("Cannot invoke get on a Pattern only matrix");var D=m[0],v=m[1];ve(D,this._size[0]),ve(v,this._size[1]);var E=h(D,this._ptr[v],this._ptr[v+1],this._index);return E<this._ptr[v+1]&&this._index[E]===D?this._values[E]:0},n.prototype.set=function(m,D,v){if(!ge(m))throw new TypeError("Array expected");if(m.length!==this._size.length)throw new Zt(m.length,this._size.length);if(!this._values)throw new Error("Cannot invoke set on a Pattern only matrix");var E=m[0],b=m[1],N=this._size[0],x=this._size[1],F=e,M=0;Wr(this._datatype)&&(F=t.find(e,[this._datatype,this._datatype])||e,M=t.convert(0,this._datatype)),(E>N-1||b>x-1)&&(d(this,Math.max(E+1,N),Math.max(b+1,x),v),N=this._size[0],x=this._size[1]),ve(E,N),ve(b,x);var S=h(E,this._ptr[b],this._ptr[b+1],this._index);return S<this._ptr[b+1]&&this._index[S]===E?F(D,M)?p(S,b,this._values,this._index,this._ptr):this._values[S]=D:F(D,M)||f(S,E,b,D,this._values,this._index,this._ptr),this};function h(m,D,v,E){if(v-D===0)return v;for(var b=D;b<v;b++)if(E[b]===m)return b;return D}function p(m,D,v,E,b){v.splice(m,1),E.splice(m,1);for(var N=D+1;N<b.length;N++)b[N]--}function f(m,D,v,E,b,N,x){b.splice(m,0,E),N.splice(m,0,D);for(var F=v+1;F<x.length;F++)x[F]++}n.prototype.resize=function(m,D,v){if(!qi(m))throw new TypeError("Array or Matrix expected");var E=m.valueOf().map(N=>Array.isArray(N)&&N.length===1?N[0]:N);if(E.length!==2)throw new Error("Only two dimensions matrix are supported");E.forEach(function(N){if(!ue(N)||!pe(N)||N<0)throw new TypeError("Invalid size, must contain positive integers (size: "+se(E)+")")});var b=v?this.clone():this;return d(b,E[0],E[1],D)};function d(m,D,v,E){var b=E||0,N=e,x=0;Wr(m._datatype)&&(N=t.find(e,[m._datatype,m._datatype])||e,x=t.convert(0,m._datatype),b=t.convert(b,m._datatype));var F=!N(b,x),M=m._size[0],S=m._size[1],O,C,T;if(v>S){for(C=S;C<v;C++)if(m._ptr[C]=m._values.length,F)for(O=0;O<M;O++)m._values.push(b),m._index.push(O);m._ptr[v]=m._values.length}else v<S&&(m._ptr.splice(v+1,S-v),m._values.splice(m._ptr[v],m._values.length),m._index.splice(m._ptr[v],m._index.length));if(S=v,D>M){if(F){var R=0;for(C=0;C<S;C++){m._ptr[C]=m._ptr[C]+R,T=m._ptr[C+1]+R;var U=0;for(O=M;O<D;O++,U++)m._values.splice(T+U,0,b),m._index.splice(T+U,0,O),R++}m._ptr[S]=m._values.length}}else if(D<M){var k=0;for(C=0;C<S;C++){m._ptr[C]=m._ptr[C]-k;var W=m._ptr[C],P=m._ptr[C+1]-k;for(T=W;T<P;T++)O=m._index[T],O>D-1&&(m._values.splice(T,1),m._index.splice(T,1),k++)}m._ptr[C]=m._values.length}return m._size[0]=D,m._size[1]=v,m}n.prototype.reshape=function(m,D){if(!ge(m))throw new TypeError("Array expected");if(m.length!==2)throw new Error("Sparse matrices can only be reshaped in two dimensions");m.forEach(function(V){if(!ue(V)||!pe(V)||V<=-2||V===0)throw new TypeError("Invalid size, must contain positive integers or -1 (size: "+se(m)+")")});var v=this._size[0]*this._size[1];m=fa(m,v);var E=m[0]*m[1];if(v!==E)throw new Error("Reshaping sparse matrix will result in the wrong number of elements");var b=D?this.clone():this;if(this._size[0]===m[0]&&this._size[1]===m[1])return b;for(var N=[],x=0;x<b._ptr.length;x++)for(var F=0;F<b._ptr[x+1]-b._ptr[x];F++)N.push(x);for(var M=b._values.slice(),S=b._index.slice(),O=0;O<b._index.length;O++){var C=S[O],T=N[O],R=C*b._size[1]+T;N[O]=R%m[1],S[O]=Math.floor(R/m[1])}b._values.length=0,b._index.length=0,b._ptr.length=m[1]+1,b._size=m.slice();for(var U=0;U<b._ptr.length;U++)b._ptr[U]=0;for(var k=0;k<M.length;k++){var W=S[k],P=N[k],K=M[k],G=h(W,b._ptr[P],b._ptr[P+1],b._index);f(G,W,P,K,b._values,b._index,b._ptr)}return b},n.prototype.clone=function(){var m=new n({values:this._values?ee(this._values):void 0,index:ee(this._index),ptr:ee(this._ptr),size:ee(this._size),datatype:this._datatype});return m},n.prototype.size=function(){return this._size.slice(0)},n.prototype.map=function(m,D){if(!this._values)throw new Error("Cannot invoke map on a Pattern only matrix");var v=this,E=this._size[0],b=this._size[1],N=wc(m),x=function(M,S,O){return N===1?m(M):N===2?m(M,[S,O]):m(M,[S,O],v)};return g(this,0,E-1,0,b-1,x,D)};function g(m,D,v,E,b,N,x){var F=[],M=[],S=[],O=e,C=0;Wr(m._datatype)&&(O=t.find(e,[m._datatype,m._datatype])||e,C=t.convert(0,m._datatype));for(var T=function(lt,wt,Dt){lt=N(lt,wt,Dt),O(lt,C)||(F.push(lt),M.push(wt))},R=E;R<=b;R++){S.push(F.length);var U=m._ptr[R],k=m._ptr[R+1];if(x)for(var W=U;W<k;W++){var P=m._index[W];P>=D&&P<=v&&T(m._values[W],P-D,R-E)}else{for(var K={},G=U;G<k;G++){var V=m._index[G];K[V]=m._values[G]}for(var tt=D;tt<=v;tt++){var ct=tt in K?K[tt]:0;T(ct,tt-D,R-E)}}}return S.push(F.length),new n({values:F,index:M,ptr:S,size:[v-D+1,b-E+1]})}n.prototype.forEach=function(m,D){if(!this._values)throw new Error("Cannot invoke forEach on a Pattern only matrix");for(var v=this,E=this._size[0],b=this._size[1],N=0;N<b;N++){var x=this._ptr[N],F=this._ptr[N+1];if(D)for(var M=x;M<F;M++){var S=this._index[M];m(this._values[M],[S,N],v)}else{for(var O={},C=x;C<F;C++){var T=this._index[C];O[T]=this._values[C]}for(var R=0;R<E;R++){var U=R in O?O[R]:0;m(U,[R,N],v)}}}},n.prototype[Symbol.iterator]=function*(){if(!this._values)throw new Error("Cannot iterate a Pattern only matrix");for(var m=this._size[1],D=0;D<m;D++)for(var v=this._ptr[D],E=this._ptr[D+1],b=v;b<E;b++){var N=this._index[b];yield{value:this._values[b],index:[N,D]}}},n.prototype.toArray=function(){return w(this._values,this._index,this._ptr,this._size,!0)},n.prototype.valueOf=function(){return w(this._values,this._index,this._ptr,this._size,!1)};function w(m,D,v,E,b){var N=E[0],x=E[1],F=[],M,S;for(M=0;M<N;M++)for(F[M]=[],S=0;S<x;S++)F[M][S]=0;for(S=0;S<x;S++)for(var O=v[S],C=v[S+1],T=O;T<C;T++)M=D[T],F[M][S]=m?b?ee(m[T]):m[T]:1;return F}return n.prototype.format=function(m){for(var D=this._size[0],v=this._size[1],E=this.density(),b="Sparse Matrix ["+se(D,m)+" x "+se(v,m)+"] density: "+se(E,m)+`
|
52
|
+
**/(function(i,t){(function(e){var r=2e3,n={s:1,n:0,d:1};function s(v,E){if(isNaN(v=parseInt(v,10)))throw m();return v*E}function a(v,E){if(E===0)throw w();var b=Object.create(g.prototype);b.s=v<0?-1:1,v=v<0?-v:v;var N=d(v,E);return b.n=v/N,b.d=E/N,b}function l(v){for(var E={},b=v,N=2,x=4;x<=b;){for(;b%N===0;)b/=N,E[N]=(E[N]||0)+1;x+=1+2*N++}return b!==v?b>1&&(E[b]=(E[b]||0)+1):E[v]=(E[v]||0)+1,E}var c=function(v,E){var b=0,N=1,x=1,F=0,M=0,S=0,O=1,C=1,T=0,R=1,U=1,k=1,W=1e7,P;if(v!=null)if(E!==void 0){if(b=v,N=E,x=b*N,b%1!==0||N%1!==0)throw D()}else switch(typeof v){case"object":{if("d"in v&&"n"in v)b=v.n,N=v.d,"s"in v&&(b*=v.s);else if(0 in v)b=v[0],1 in v&&(N=v[1]);else throw m();x=b*N;break}case"number":{if(v<0&&(x=v,v=-v),v%1===0)b=v;else if(v>0){for(v>=1&&(C=Math.pow(10,Math.floor(1+Math.log(v)/Math.LN10)),v/=C);R<=W&&k<=W;)if(P=(T+U)/(R+k),v===P){R+k<=W?(b=T+U,N=R+k):k>R?(b=U,N=k):(b=T,N=R);break}else v>P?(T+=U,R+=k):(U+=T,k+=R),R>W?(b=U,N=k):(b=T,N=R);b*=C}else(isNaN(v)||isNaN(E))&&(N=b=NaN);break}case"string":{if(R=v.match(/\d+|./g),R===null)throw m();if(R[T]==="-"?(x=-1,T++):R[T]==="+"&&T++,R.length===T+1?M=s(R[T++],x):R[T+1]==="."||R[T]==="."?(R[T]!=="."&&(F=s(R[T++],x)),T++,(T+1===R.length||R[T+1]==="("&&R[T+3]===")"||R[T+1]==="'"&&R[T+3]==="'")&&(M=s(R[T],x),O=Math.pow(10,R[T].length),T++),(R[T]==="("&&R[T+2]===")"||R[T]==="'"&&R[T+2]==="'")&&(S=s(R[T+1],x),C=Math.pow(10,R[T+1].length)-1,T+=3)):R[T+1]==="/"||R[T+1]===":"?(M=s(R[T],x),O=s(R[T+2],1),T+=3):R[T+3]==="/"&&R[T+1]===" "&&(F=s(R[T],x),M=s(R[T+2],x),O=s(R[T+4],1),T+=5),R.length<=T){N=O*C,x=b=S+N*F+C*M;break}}default:throw m()}if(N===0)throw w();n.s=x<0?-1:1,n.n=Math.abs(b),n.d=Math.abs(N)};function h(v,E,b){for(var N=1;E>0;v=v*v%b,E>>=1)E&1&&(N=N*v%b);return N}function p(v,E){for(;E%2===0;E/=2);for(;E%5===0;E/=5);if(E===1)return 0;for(var b=10%E,N=1;b!==1;N++)if(b=b*10%E,N>r)return 0;return N}function f(v,E,b){for(var N=1,x=h(10,b,E),F=0;F<300;F++){if(N===x)return F;N=N*10%E,x=x*10%E}return 0}function d(v,E){if(!v)return E;if(!E)return v;for(;;){if(v%=E,!v)return E;if(E%=v,!E)return v}}function g(v,E){if(c(v,E),this instanceof g)v=d(n.d,n.n),this.s=n.s,this.n=n.n/v,this.d=n.d/v;else return a(n.s*n.n,n.d)}var w=function(){return new Error("Division by Zero")},m=function(){return new Error("Invalid argument")},D=function(){return new Error("Parameters must be integer")};g.prototype={s:1,n:0,d:1,abs:function(){return a(this.n,this.d)},neg:function(){return a(-this.s*this.n,this.d)},add:function(v,E){return c(v,E),a(this.s*this.n*n.d+n.s*this.d*n.n,this.d*n.d)},sub:function(v,E){return c(v,E),a(this.s*this.n*n.d-n.s*this.d*n.n,this.d*n.d)},mul:function(v,E){return c(v,E),a(this.s*n.s*this.n*n.n,this.d*n.d)},div:function(v,E){return c(v,E),a(this.s*n.s*this.n*n.d,this.d*n.n)},clone:function(){return a(this.s*this.n,this.d)},mod:function(v,E){if(isNaN(this.n)||isNaN(this.d))return new g(NaN);if(v===void 0)return a(this.s*this.n%this.d,1);if(c(v,E),n.n===0&&this.d===0)throw w();return a(this.s*(n.d*this.n)%(n.n*this.d),n.d*this.d)},gcd:function(v,E){return c(v,E),a(d(n.n,this.n)*d(n.d,this.d),n.d*this.d)},lcm:function(v,E){return c(v,E),n.n===0&&this.n===0?a(0,1):a(n.n*this.n,d(n.n,this.n)*d(n.d,this.d))},ceil:function(v){return v=Math.pow(10,v||0),isNaN(this.n)||isNaN(this.d)?new g(NaN):a(Math.ceil(v*this.s*this.n/this.d),v)},floor:function(v){return v=Math.pow(10,v||0),isNaN(this.n)||isNaN(this.d)?new g(NaN):a(Math.floor(v*this.s*this.n/this.d),v)},round:function(v){return v=Math.pow(10,v||0),isNaN(this.n)||isNaN(this.d)?new g(NaN):a(Math.round(v*this.s*this.n/this.d),v)},inverse:function(){return a(this.s*this.d,this.n)},pow:function(v,E){if(c(v,E),n.d===1)return n.s<0?a(Math.pow(this.s*this.d,n.n),Math.pow(this.n,n.n)):a(Math.pow(this.s*this.n,n.n),Math.pow(this.d,n.n));if(this.s<0)return null;var b=l(this.n),N=l(this.d),x=1,F=1;for(var M in b)if(M!=="1"){if(M==="0"){x=0;break}if(b[M]*=n.n,b[M]%n.d===0)b[M]/=n.d;else return null;x*=Math.pow(M,b[M])}for(var M in N)if(M!=="1"){if(N[M]*=n.n,N[M]%n.d===0)N[M]/=n.d;else return null;F*=Math.pow(M,N[M])}return n.s<0?a(F,x):a(x,F)},equals:function(v,E){return c(v,E),this.s*this.n*n.d===n.s*n.n*this.d},compare:function(v,E){c(v,E);var b=this.s*this.n*n.d-n.s*n.n*this.d;return(0<b)-(b<0)},simplify:function(v){if(isNaN(this.n)||isNaN(this.d))return this;v=v||.001;for(var E=this.abs(),b=E.toContinued(),N=1;N<b.length;N++){for(var x=a(b[N-1],1),F=N-2;F>=0;F--)x=x.inverse().add(b[F]);if(Math.abs(x.sub(E).valueOf())<v)return x.mul(this.s)}return this},divisible:function(v,E){return c(v,E),!(!(n.n*this.d)||this.n*n.d%(n.n*this.d))},valueOf:function(){return this.s*this.n/this.d},toFraction:function(v){var E,b="",N=this.n,x=this.d;return this.s<0&&(b+="-"),x===1?b+=N:(v&&(E=Math.floor(N/x))>0&&(b+=E,b+=" ",N%=x),b+=N,b+="/",b+=x),b},toLatex:function(v){var E,b="",N=this.n,x=this.d;return this.s<0&&(b+="-"),x===1?b+=N:(v&&(E=Math.floor(N/x))>0&&(b+=E,N%=x),b+="\\frac{",b+=N,b+="}{",b+=x,b+="}"),b},toContinued:function(){var v,E=this.n,b=this.d,N=[];if(isNaN(E)||isNaN(b))return N;do N.push(Math.floor(E/b)),v=E%b,E=b,b=v;while(E!==1);return N},toString:function(v){var E=this.n,b=this.d;if(isNaN(E)||isNaN(b))return"NaN";v=v||15;var N=p(E,b),x=f(E,b,N),F=this.s<0?"-":"";if(F+=E/b|0,E%=b,E*=10,E&&(F+="."),N){for(var M=x;M--;)F+=E/b|0,E%=b,E*=10;F+="(";for(var M=N;M--;)F+=E/b|0,E%=b,E*=10;F+=")"}else for(var M=v;E&&M--;)F+=E/b|0,E%=b,E*=10;return F}},Object.defineProperty(g,"__esModule",{value:!0}),g.default=g,g.Fraction=g,i.exports=g})()})(gc);var j_=gc.exports,Xr=Yt(j_),Y_="Fraction",Z_=[],G_=_t(Y_,Z_,()=>(Object.defineProperty(Xr,"name",{value:"Fraction"}),Xr.prototype.constructor=Xr,Xr.prototype.type="Fraction",Xr.prototype.isFraction=!0,Xr.prototype.toJSON=function(){return{mathjs:"Fraction",n:this.s*this.n,d:this.d}},Xr.fromJSON=function(i){return new Xr(i)},Xr),{isClass:!0}),K_="Matrix",H_=[],J_=_t(K_,H_,()=>{function i(){if(!(this instanceof i))throw new SyntaxError("Constructor must be called with the new operator")}return i.prototype.type="Matrix",i.prototype.isMatrix=!0,i.prototype.storage=function(){throw new Error("Cannot invoke storage on a Matrix interface")},i.prototype.datatype=function(){throw new Error("Cannot invoke datatype on a Matrix interface")},i.prototype.create=function(t,e){throw new Error("Cannot invoke create on a Matrix interface")},i.prototype.subset=function(t,e,r){throw new Error("Cannot invoke subset on a Matrix interface")},i.prototype.get=function(t){throw new Error("Cannot invoke get on a Matrix interface")},i.prototype.set=function(t,e,r){throw new Error("Cannot invoke set on a Matrix interface")},i.prototype.resize=function(t,e){throw new Error("Cannot invoke resize on a Matrix interface")},i.prototype.reshape=function(t,e){throw new Error("Cannot invoke reshape on a Matrix interface")},i.prototype.clone=function(){throw new Error("Cannot invoke clone on a Matrix interface")},i.prototype.size=function(){throw new Error("Cannot invoke size on a Matrix interface")},i.prototype.map=function(t,e){throw new Error("Cannot invoke map on a Matrix interface")},i.prototype.forEach=function(t){throw new Error("Cannot invoke forEach on a Matrix interface")},i.prototype[Symbol.iterator]=function(){throw new Error("Cannot iterate a Matrix interface")},i.prototype.toArray=function(){throw new Error("Cannot invoke toArray on a Matrix interface")},i.prototype.valueOf=function(){throw new Error("Cannot invoke valueOf on a Matrix interface")},i.prototype.format=function(t){throw new Error("Cannot invoke format on a Matrix interface")},i.prototype.toString=function(){throw new Error("Cannot invoke toString on a Matrix interface")},i},{isClass:!0});function vc(i){return Object.keys(i.signatures||{}).reduce(function(t,e){var r=(e.match(/,/g)||[]).length+1;return Math.max(t,r)},-1)}var X_="DenseMatrix",V_=["Matrix"],Q_=_t(X_,V_,i=>{var{Matrix:t}=i;function e(p,f){if(!(this instanceof e))throw new SyntaxError("Constructor must be called with the new operator");if(f&&!Wr(f))throw new Error("Invalid datatype: "+f);if(ce(p))p.type==="DenseMatrix"?(this._data=ee(p._data),this._size=ee(p._size),this._datatype=f||p._datatype):(this._data=p.toArray(),this._size=p.size(),this._datatype=f||p._datatype);else if(p&&ge(p.data)&&ge(p.size))this._data=p.data,this._size=p.size,Zl(this._data,this._size),this._datatype=f||p.datatype;else if(ge(p))this._data=h(p),this._size=Ae(this._data),Zl(this._data,this._size),this._datatype=f;else{if(p)throw new TypeError("Unsupported type of data ("+pn(p)+")");this._data=[],this._size=[0],this._datatype=f}}e.prototype=new t,e.prototype.createDenseMatrix=function(p,f){return new e(p,f)},Object.defineProperty(e,"name",{value:"DenseMatrix"}),e.prototype.constructor=e,e.prototype.type="DenseMatrix",e.prototype.isDenseMatrix=!0,e.prototype.getDataType=function(){return Es(this._data,pn)},e.prototype.storage=function(){return"dense"},e.prototype.datatype=function(){return this._datatype},e.prototype.create=function(p,f){return new e(p,f)},e.prototype.subset=function(p,f,d){switch(arguments.length){case 1:return r(this,p);case 2:case 3:return s(this,p,f,d);default:throw new SyntaxError("Wrong number of arguments")}},e.prototype.get=function(p){if(!ge(p))throw new TypeError("Array expected");if(p.length!==this._size.length)throw new Zt(p.length,this._size.length);for(var f=0;f<p.length;f++)ve(p[f],this._size[f]);for(var d=this._data,g=0,w=p.length;g<w;g++){var m=p[g];ve(m,d.length),d=d[m]}return d},e.prototype.set=function(p,f,d){if(!ge(p))throw new TypeError("Array expected");if(p.length<this._size.length)throw new Zt(p.length,this._size.length,"<");var g,w,m,D=p.map(function(E){return E+1});c(this,D,d);var v=this._data;for(g=0,w=p.length-1;g<w;g++)m=p[g],ve(m,v.length),v=v[m];return m=p[p.length-1],ve(m,v.length),v[m]=f,this};function r(p,f){if(!na(f))throw new TypeError("Invalid index");var d=f.isScalar();if(d)return p.get(f.min());var g=f.size();if(g.length!==p._size.length)throw new Zt(g.length,p._size.length);for(var w=f.min(),m=f.max(),D=0,v=p._size.length;D<v;D++)ve(w[D],p._size[D]),ve(m[D],p._size[D]);return new e(n(p._data,f,g.length,0),p._datatype)}function n(p,f,d,g){var w=g===d-1,m=f.dimension(g);return w?m.map(function(D){return ve(D,p.length),p[D]}).valueOf():m.map(function(D){ve(D,p.length);var v=p[D];return n(v,f,d,g+1)}).valueOf()}function s(p,f,d,g){if(!f||f.isIndex!==!0)throw new TypeError("Invalid index");var w=f.size(),m=f.isScalar(),D;if(ce(d)?(D=d.size(),d=d.valueOf()):D=Ae(d),m){if(D.length!==0)throw new TypeError("Scalar expected");p.set(f.min(),d,g)}else{if(!si(D,w))try{D.length===0?d=Vl([d],w):d=Vl(d,w),D=Ae(d)}catch{}if(w.length<p._size.length)throw new Zt(w.length,p._size.length,"<");if(D.length<w.length){for(var v=0,E=0;w[v]===1&&D[v]===1;)v++;for(;w[v]===1;)E++,v++;d=Kl(d,w.length,E,D)}if(!si(w,D))throw new Zt(w,D,">");var b=f.max().map(function(F){return F+1});c(p,b,g);var N=w.length,x=0;a(p._data,f,d,N,x)}return p}function a(p,f,d,g,w){var m=w===g-1,D=f.dimension(w);m?D.forEach(function(v,E){ve(v),p[v]=d[E[0]]}):D.forEach(function(v,E){ve(v),a(p[v],f,d[E[0]],g,w+1)})}e.prototype.resize=function(p,f,d){if(!qi(p))throw new TypeError("Array or Matrix expected");var g=p.valueOf().map(m=>Array.isArray(m)&&m.length===1?m[0]:m),w=d?this.clone():this;return l(w,g,f)};function l(p,f,d){if(f.length===0){for(var g=p._data;ge(g);)g=g[0];return g}return p._size=f.slice(0),p._data=ua(p._data,p._size,d),p}e.prototype.reshape=function(p,f){var d=f?this.clone():this;d._data=ca(d._data,p);var g=d._size.reduce((w,m)=>w*m);return d._size=fa(p,g),d};function c(p,f,d){for(var g=p._size.slice(0),w=!1;g.length<f.length;)g.push(0),w=!0;for(var m=0,D=f.length;m<D;m++)f[m]>g[m]&&(g[m]=f[m],w=!0);w&&l(p,g,d)}e.prototype.clone=function(){var p=new e({data:ee(this._data),size:ee(this._size),datatype:this._datatype});return p},e.prototype.size=function(){return this._size.slice(0)},e.prototype.map=function(p){var f=this,d=vc(p),g=function D(v,E){return ge(v)?v.map(function(b,N){return D(b,E.concat(N))}):d===1?p(v):d===2?p(v,E):p(v,E,f)},w=g(this._data,[]),m=this._datatype!==void 0?Es(w,pn):void 0;return new e(w,m)},e.prototype.forEach=function(p){var f=this,d=function g(w,m){ge(w)?w.forEach(function(D,v){g(D,m.concat(v))}):p(w,m,f)};d(this._data,[])},e.prototype[Symbol.iterator]=function*(){var p=function*f(d,g){if(ge(d))for(var w=0;w<d.length;w++)yield*f(d[w],g.concat(w));else yield{value:d,index:g}};yield*p(this._data,[])},e.prototype.rows=function(){var p=[],f=this.size();if(f.length!==2)throw new TypeError("Rows can only be returned for a 2D matrix.");var d=this._data;for(var g of d)p.push(new e([g],this._datatype));return p},e.prototype.columns=function(){var p=this,f=[],d=this.size();if(d.length!==2)throw new TypeError("Rows can only be returned for a 2D matrix.");for(var g=this._data,w=function(v){var E=g.map(b=>[b[v]]);f.push(new e(E,p._datatype))},m=0;m<d[1];m++)w(m);return f},e.prototype.toArray=function(){return ee(this._data)},e.prototype.valueOf=function(){return this._data},e.prototype.format=function(p){return se(this._data,p)},e.prototype.toString=function(){return se(this._data)},e.prototype.toJSON=function(){return{mathjs:"DenseMatrix",data:this._data,size:this._size,datatype:this._datatype}},e.prototype.diagonal=function(p){if(p){if(be(p)&&(p=p.toNumber()),!ue(p)||!pe(p))throw new TypeError("The parameter k must be an integer number")}else p=0;for(var f=p>0?p:0,d=p<0?-p:0,g=this._size[0],w=this._size[1],m=Math.min(g-d,w-f),D=[],v=0;v<m;v++)D[v]=this._data[v+d][v+f];return new e({data:D,size:[m],datatype:this._datatype})},e.diagonal=function(p,f,d,g){if(!ge(p))throw new TypeError("Array expected, size parameter");if(p.length!==2)throw new Error("Only two dimensions matrix are supported");if(p=p.map(function(M){if(be(M)&&(M=M.toNumber()),!ue(M)||!pe(M)||M<1)throw new Error("Size values must be positive integers");return M}),d){if(be(d)&&(d=d.toNumber()),!ue(d)||!pe(d))throw new TypeError("The parameter k must be an integer number")}else d=0;var w=d>0?d:0,m=d<0?-d:0,D=p[0],v=p[1],E=Math.min(D-m,v-w),b;if(ge(f)){if(f.length!==E)throw new Error("Invalid value array length");b=function(S){return f[S]}}else if(ce(f)){var N=f.size();if(N.length!==1||N[0]!==E)throw new Error("Invalid matrix length");b=function(S){return f.get([S])}}else b=function(){return f};g||(g=be(b(0))?b(0).mul(0):0);var x=[];if(p.length>0){x=ua(x,p,g);for(var F=0;F<E;F++)x[F+m][F+w]=b(F)}return new e({data:x,size:[D,v]})},e.fromJSON=function(p){return new e(p)},e.prototype.swapRows=function(p,f){if(!ue(p)||!pe(p)||!ue(f)||!pe(f))throw new Error("Row index must be positive integers");if(this._size.length!==2)throw new Error("Only two dimensional matrix is supported");return ve(p,this._size[0]),ve(f,this._size[0]),e._swapRows(p,f,this._data),this},e._swapRows=function(p,f,d){var g=d[p];d[p]=d[f],d[f]=g};function h(p){return ce(p)?h(p.valueOf()):ge(p)?p.map(h):p}return e},{isClass:!0});function tm(i){var t=i.length,e=i[0].length,r,n,s=[];for(n=0;n<e;n++){var a=[];for(r=0;r<t;r++)a.push(i[r][n]);s.push(a)}return s}function Is(i){for(var t=0;t<i.length;t++)if(qi(i[t]))return!0;return!1}function Wi(i,t){ce(i)&&(i=i.valueOf());for(var e=0,r=i.length;e<r;e++){var n=i[e];Array.isArray(n)?Wi(n,t):t(n)}}function Or(i,t,e){return i&&typeof i.map=="function"?i.map(function(r){return Or(r,t)}):t(i)}function Da(i,t,e){var r=Array.isArray(i)?Ae(i):i.size();if(t<0||t>=r.length)throw new dn(t,r.length);return ce(i)?i.create(Os(i.valueOf(),t,e)):Os(i,t,e)}function Os(i,t,e){var r,n,s,a;if(t<=0)if(Array.isArray(i[0])){for(a=tm(i),n=[],r=0;r<a.length;r++)n[r]=Os(a[r],t-1,e);return n}else{for(s=i[0],r=1;r<i.length;r++)s=e(s,i[r]);return s}else{for(n=[],r=0;r<i.length;r++)n[r]=Os(i[r],t-1,e);return n}}var wc="isInteger",em=["typed"],rm=_t(wc,em,i=>{var{typed:t}=i;return t(wc,{number:pe,BigNumber:function(r){return r.isInt()},Fraction:function(r){return r.d===1&&isFinite(r.n)},"Array | Matrix":t.referToSelf(e=>r=>Or(r,e))})}),yc="number",$s="number, number";function Dc(i){return Math.abs(i)}Dc.signature=yc;function bc(i,t){return i+t}bc.signature=$s;function Ec(i,t){return i-t}Ec.signature=$s;function xc(i,t){return i*t}xc.signature=$s;function Ac(i){return-i}Ac.signature=yc;function Cc(i,t){return i*i<1&&t===1/0||i*i>1&&t===-1/0?0:Math.pow(i,t)}Cc.signature=$s;var Fc="number";function Mc(i){return i===0}Mc.signature=Fc;function Nc(i){return Number.isNaN(i)}Nc.signature=Fc;var Sc="isNumeric",nm=["typed"],im=_t(Sc,nm,i=>{var{typed:t}=i;return t(Sc,{"number | BigNumber | Fraction | boolean":()=>!0,"Complex | Unit | string | null | undefined | Node":()=>!1,"Array | Matrix":t.referToSelf(e=>r=>Or(r,e))})}),Bc="isZero",sm=["typed"],om=_t(Bc,sm,i=>{var{typed:t}=i;return t(Bc,{number:Mc,BigNumber:function(r){return r.isZero()},Complex:function(r){return r.re===0&&r.im===0},Fraction:function(r){return r.d===1&&r.n===0},Unit:t.referToSelf(e=>r=>t.find(e,r.valueType())(r.value)),"Array | Matrix":t.referToSelf(e=>r=>Or(r,e))})}),Tc="isNaN",am=["typed"],um=_t(Tc,am,i=>{var{typed:t}=i;return t(Tc,{number:Nc,BigNumber:function(r){return r.isNaN()},Fraction:function(r){return!1},Complex:function(r){return r.isNaN()},Unit:function(r){return Number.isNaN(r.value)},"Array | Matrix":function(r){return Or(r,Number.isNaN)}})});function Rs(i,t,e){if(e==null)return i.eq(t);if(i.eq(t))return!0;if(i.isNaN()||t.isNaN())return!1;if(i.isFinite()&&t.isFinite()){var r=i.minus(t).abs();if(r.isZero())return!0;var n=i.constructor.max(i.abs(),t.abs());return r.lte(n.times(e))}return!1}function lm(i,t,e){return kn(i.re,t.re,e)&&kn(i.im,t.im,e)}var Ls=_t("compareUnits",["typed"],i=>{var{typed:t}=i;return{"Unit, Unit":t.referToSelf(e=>(r,n)=>{if(!r.equalBase(n))throw new Error("Cannot compare units with different base");return t.find(e,[r.valueType(),n.valueType()])(r.value,n.value)})}}),Ps="equalScalar",cm=["typed","config"],fm=_t(Ps,cm,i=>{var{typed:t,config:e}=i,r=Ls({typed:t});return t(Ps,{"boolean, boolean":function(s,a){return s===a},"number, number":function(s,a){return kn(s,a,e.epsilon)},"BigNumber, BigNumber":function(s,a){return s.eq(a)||Rs(s,a,e.epsilon)},"Fraction, Fraction":function(s,a){return s.equals(a)},"Complex, Complex":function(s,a){return lm(s,a,e.epsilon)}},r)});_t(Ps,["typed","config"],i=>{var{typed:t,config:e}=i;return t(Ps,{"number, number":function(n,s){return kn(n,s,e.epsilon)}})});var hm="SparseMatrix",pm=["typed","equalScalar","Matrix"],dm=_t(hm,pm,i=>{var{typed:t,equalScalar:e,Matrix:r}=i;function n(m,D){if(!(this instanceof n))throw new SyntaxError("Constructor must be called with the new operator");if(D&&!Wr(D))throw new Error("Invalid datatype: "+D);if(ce(m))s(this,m,D);else if(m&&ge(m.index)&&ge(m.ptr)&&ge(m.size))this._values=m.values,this._index=m.index,this._ptr=m.ptr,this._size=m.size,this._datatype=D||m.datatype;else if(ge(m))a(this,m,D);else{if(m)throw new TypeError("Unsupported type of data ("+pn(m)+")");this._values=[],this._index=[],this._ptr=[0],this._size=[0,0],this._datatype=D}}function s(m,D,v){D.type==="SparseMatrix"?(m._values=D._values?ee(D._values):void 0,m._index=ee(D._index),m._ptr=ee(D._ptr),m._size=ee(D._size),m._datatype=v||D._datatype):a(m,D.valueOf(),v||D._datatype)}function a(m,D,v){m._values=[],m._index=[],m._ptr=[],m._datatype=v;var E=D.length,b=0,N=e,x=0;if(Wr(v)&&(N=t.find(e,[v,v])||e,x=t.convert(0,v)),E>0){var F=0;do{m._ptr.push(m._index.length);for(var M=0;M<E;M++){var S=D[M];if(ge(S)){if(F===0&&b<S.length&&(b=S.length),F<S.length){var O=S[F];N(O,x)||(m._values.push(O),m._index.push(M))}}else F===0&&b<1&&(b=1),N(S,x)||(m._values.push(S),m._index.push(M))}F++}while(F<b)}m._ptr.push(m._index.length),m._size=[E,b]}n.prototype=new r,n.prototype.createSparseMatrix=function(m,D){return new n(m,D)},Object.defineProperty(n,"name",{value:"SparseMatrix"}),n.prototype.constructor=n,n.prototype.type="SparseMatrix",n.prototype.isSparseMatrix=!0,n.prototype.getDataType=function(){return Es(this._values,pn)},n.prototype.storage=function(){return"sparse"},n.prototype.datatype=function(){return this._datatype},n.prototype.create=function(m,D){return new n(m,D)},n.prototype.density=function(){var m=this._size[0],D=this._size[1];return m!==0&&D!==0?this._index.length/(m*D):0},n.prototype.subset=function(m,D,v){if(!this._values)throw new Error("Cannot invoke subset on a Pattern only matrix");switch(arguments.length){case 1:return l(this,m);case 2:case 3:return c(this,m,D,v);default:throw new SyntaxError("Wrong number of arguments")}};function l(m,D){if(!na(D))throw new TypeError("Invalid index");var v=D.isScalar();if(v)return m.get(D.min());var E=D.size();if(E.length!==m._size.length)throw new Zt(E.length,m._size.length);var b,N,x,F,M=D.min(),S=D.max();for(b=0,N=m._size.length;b<N;b++)ve(M[b],m._size[b]),ve(S[b],m._size[b]);var O=m._values,C=m._index,T=m._ptr,R=D.dimension(0),U=D.dimension(1),k=[],W=[];R.forEach(function(V,tt){W[V]=tt[0],k[V]=!0});var P=O?[]:void 0,K=[],G=[];return U.forEach(function(V){for(G.push(K.length),x=T[V],F=T[V+1];x<F;x++)b=C[x],k[b]===!0&&(K.push(W[b]),P&&P.push(O[x]))}),G.push(K.length),new n({values:P,index:K,ptr:G,size:E,datatype:m._datatype})}function c(m,D,v,E){if(!D||D.isIndex!==!0)throw new TypeError("Invalid index");var b=D.size(),N=D.isScalar(),x;if(ce(v)?(x=v.size(),v=v.toArray()):x=Ae(v),N){if(x.length!==0)throw new TypeError("Scalar expected");m.set(D.min(),v,E)}else{if(b.length!==1&&b.length!==2)throw new Zt(b.length,m._size.length,"<");if(x.length<b.length){for(var F=0,M=0;b[F]===1&&x[F]===1;)F++;for(;b[F]===1;)M++,F++;v=Kl(v,b.length,M,x)}if(!si(b,x))throw new Zt(b,x,">");if(b.length===1){var S=D.dimension(0);S.forEach(function(T,R){ve(T),m.set([T,0],v[R[0]],E)})}else{var O=D.dimension(0),C=D.dimension(1);O.forEach(function(T,R){ve(T),C.forEach(function(U,k){ve(U),m.set([T,U],v[R[0]][k[0]],E)})})}}return m}n.prototype.get=function(m){if(!ge(m))throw new TypeError("Array expected");if(m.length!==this._size.length)throw new Zt(m.length,this._size.length);if(!this._values)throw new Error("Cannot invoke get on a Pattern only matrix");var D=m[0],v=m[1];ve(D,this._size[0]),ve(v,this._size[1]);var E=h(D,this._ptr[v],this._ptr[v+1],this._index);return E<this._ptr[v+1]&&this._index[E]===D?this._values[E]:0},n.prototype.set=function(m,D,v){if(!ge(m))throw new TypeError("Array expected");if(m.length!==this._size.length)throw new Zt(m.length,this._size.length);if(!this._values)throw new Error("Cannot invoke set on a Pattern only matrix");var E=m[0],b=m[1],N=this._size[0],x=this._size[1],F=e,M=0;Wr(this._datatype)&&(F=t.find(e,[this._datatype,this._datatype])||e,M=t.convert(0,this._datatype)),(E>N-1||b>x-1)&&(d(this,Math.max(E+1,N),Math.max(b+1,x),v),N=this._size[0],x=this._size[1]),ve(E,N),ve(b,x);var S=h(E,this._ptr[b],this._ptr[b+1],this._index);return S<this._ptr[b+1]&&this._index[S]===E?F(D,M)?p(S,b,this._values,this._index,this._ptr):this._values[S]=D:F(D,M)||f(S,E,b,D,this._values,this._index,this._ptr),this};function h(m,D,v,E){if(v-D===0)return v;for(var b=D;b<v;b++)if(E[b]===m)return b;return D}function p(m,D,v,E,b){v.splice(m,1),E.splice(m,1);for(var N=D+1;N<b.length;N++)b[N]--}function f(m,D,v,E,b,N,x){b.splice(m,0,E),N.splice(m,0,D);for(var F=v+1;F<x.length;F++)x[F]++}n.prototype.resize=function(m,D,v){if(!qi(m))throw new TypeError("Array or Matrix expected");var E=m.valueOf().map(N=>Array.isArray(N)&&N.length===1?N[0]:N);if(E.length!==2)throw new Error("Only two dimensions matrix are supported");E.forEach(function(N){if(!ue(N)||!pe(N)||N<0)throw new TypeError("Invalid size, must contain positive integers (size: "+se(E)+")")});var b=v?this.clone():this;return d(b,E[0],E[1],D)};function d(m,D,v,E){var b=E||0,N=e,x=0;Wr(m._datatype)&&(N=t.find(e,[m._datatype,m._datatype])||e,x=t.convert(0,m._datatype),b=t.convert(b,m._datatype));var F=!N(b,x),M=m._size[0],S=m._size[1],O,C,T;if(v>S){for(C=S;C<v;C++)if(m._ptr[C]=m._values.length,F)for(O=0;O<M;O++)m._values.push(b),m._index.push(O);m._ptr[v]=m._values.length}else v<S&&(m._ptr.splice(v+1,S-v),m._values.splice(m._ptr[v],m._values.length),m._index.splice(m._ptr[v],m._index.length));if(S=v,D>M){if(F){var R=0;for(C=0;C<S;C++){m._ptr[C]=m._ptr[C]+R,T=m._ptr[C+1]+R;var U=0;for(O=M;O<D;O++,U++)m._values.splice(T+U,0,b),m._index.splice(T+U,0,O),R++}m._ptr[S]=m._values.length}}else if(D<M){var k=0;for(C=0;C<S;C++){m._ptr[C]=m._ptr[C]-k;var W=m._ptr[C],P=m._ptr[C+1]-k;for(T=W;T<P;T++)O=m._index[T],O>D-1&&(m._values.splice(T,1),m._index.splice(T,1),k++)}m._ptr[C]=m._values.length}return m._size[0]=D,m._size[1]=v,m}n.prototype.reshape=function(m,D){if(!ge(m))throw new TypeError("Array expected");if(m.length!==2)throw new Error("Sparse matrices can only be reshaped in two dimensions");m.forEach(function(V){if(!ue(V)||!pe(V)||V<=-2||V===0)throw new TypeError("Invalid size, must contain positive integers or -1 (size: "+se(m)+")")});var v=this._size[0]*this._size[1];m=fa(m,v);var E=m[0]*m[1];if(v!==E)throw new Error("Reshaping sparse matrix will result in the wrong number of elements");var b=D?this.clone():this;if(this._size[0]===m[0]&&this._size[1]===m[1])return b;for(var N=[],x=0;x<b._ptr.length;x++)for(var F=0;F<b._ptr[x+1]-b._ptr[x];F++)N.push(x);for(var M=b._values.slice(),S=b._index.slice(),O=0;O<b._index.length;O++){var C=S[O],T=N[O],R=C*b._size[1]+T;N[O]=R%m[1],S[O]=Math.floor(R/m[1])}b._values.length=0,b._index.length=0,b._ptr.length=m[1]+1,b._size=m.slice();for(var U=0;U<b._ptr.length;U++)b._ptr[U]=0;for(var k=0;k<M.length;k++){var W=S[k],P=N[k],K=M[k],G=h(W,b._ptr[P],b._ptr[P+1],b._index);f(G,W,P,K,b._values,b._index,b._ptr)}return b},n.prototype.clone=function(){var m=new n({values:this._values?ee(this._values):void 0,index:ee(this._index),ptr:ee(this._ptr),size:ee(this._size),datatype:this._datatype});return m},n.prototype.size=function(){return this._size.slice(0)},n.prototype.map=function(m,D){if(!this._values)throw new Error("Cannot invoke map on a Pattern only matrix");var v=this,E=this._size[0],b=this._size[1],N=vc(m),x=function(M,S,O){return N===1?m(M):N===2?m(M,[S,O]):m(M,[S,O],v)};return g(this,0,E-1,0,b-1,x,D)};function g(m,D,v,E,b,N,x){var F=[],M=[],S=[],O=e,C=0;Wr(m._datatype)&&(O=t.find(e,[m._datatype,m._datatype])||e,C=t.convert(0,m._datatype));for(var T=function(lt,wt,Dt){lt=N(lt,wt,Dt),O(lt,C)||(F.push(lt),M.push(wt))},R=E;R<=b;R++){S.push(F.length);var U=m._ptr[R],k=m._ptr[R+1];if(x)for(var W=U;W<k;W++){var P=m._index[W];P>=D&&P<=v&&T(m._values[W],P-D,R-E)}else{for(var K={},G=U;G<k;G++){var V=m._index[G];K[V]=m._values[G]}for(var tt=D;tt<=v;tt++){var ct=tt in K?K[tt]:0;T(ct,tt-D,R-E)}}}return S.push(F.length),new n({values:F,index:M,ptr:S,size:[v-D+1,b-E+1]})}n.prototype.forEach=function(m,D){if(!this._values)throw new Error("Cannot invoke forEach on a Pattern only matrix");for(var v=this,E=this._size[0],b=this._size[1],N=0;N<b;N++){var x=this._ptr[N],F=this._ptr[N+1];if(D)for(var M=x;M<F;M++){var S=this._index[M];m(this._values[M],[S,N],v)}else{for(var O={},C=x;C<F;C++){var T=this._index[C];O[T]=this._values[C]}for(var R=0;R<E;R++){var U=R in O?O[R]:0;m(U,[R,N],v)}}}},n.prototype[Symbol.iterator]=function*(){if(!this._values)throw new Error("Cannot iterate a Pattern only matrix");for(var m=this._size[1],D=0;D<m;D++)for(var v=this._ptr[D],E=this._ptr[D+1],b=v;b<E;b++){var N=this._index[b];yield{value:this._values[b],index:[N,D]}}},n.prototype.toArray=function(){return w(this._values,this._index,this._ptr,this._size,!0)},n.prototype.valueOf=function(){return w(this._values,this._index,this._ptr,this._size,!1)};function w(m,D,v,E,b){var N=E[0],x=E[1],F=[],M,S;for(M=0;M<N;M++)for(F[M]=[],S=0;S<x;S++)F[M][S]=0;for(S=0;S<x;S++)for(var O=v[S],C=v[S+1],T=O;T<C;T++)M=D[T],F[M][S]=m?b?ee(m[T]):m[T]:1;return F}return n.prototype.format=function(m){for(var D=this._size[0],v=this._size[1],E=this.density(),b="Sparse Matrix ["+se(D,m)+" x "+se(v,m)+"] density: "+se(E,m)+`
|
53
53
|
`,N=0;N<v;N++)for(var x=this._ptr[N],F=this._ptr[N+1],M=x;M<F;M++){var S=this._index[M];b+=`
|
54
|
-
(`+se(S,m)+", "+se(N,m)+") ==> "+(this._values?se(this._values[M],m):"X")}return b},n.prototype.toString=function(){return se(this.toArray())},n.prototype.toJSON=function(){return{mathjs:"SparseMatrix",values:this._values,index:this._index,ptr:this._ptr,size:this._size,datatype:this._datatype}},n.prototype.diagonal=function(m){if(m){if(be(m)&&(m=m.toNumber()),!ue(m)||!pe(m))throw new TypeError("The parameter k must be an integer number")}else m=0;var D=m>0?m:0,v=m<0?-m:0,E=this._size[0],b=this._size[1],N=Math.min(E-v,b-D),x=[],F=[],M=[];M[0]=0;for(var S=D;S<b&&x.length<N;S++)for(var O=this._ptr[S],C=this._ptr[S+1],T=O;T<C;T++){var R=this._index[T];if(R===S-D+v){x.push(this._values[T]),F[x.length-1]=R-v;break}}return M.push(x.length),new n({values:x,index:F,ptr:M,size:[N,1]})},n.fromJSON=function(m){return new n(m)},n.diagonal=function(m,D,v,E,b){if(!ge(m))throw new TypeError("Array expected, size parameter");if(m.length!==2)throw new Error("Only two dimensions matrix are supported");if(m=m.map(function(V){if(be(V)&&(V=V.toNumber()),!ue(V)||!pe(V)||V<1)throw new Error("Size values must be positive integers");return V}),v){if(be(v)&&(v=v.toNumber()),!ue(v)||!pe(v))throw new TypeError("The parameter k must be an integer number")}else v=0;var N=e,x=0;Wr(b)&&(N=t.find(e,[b,b])||e,x=t.convert(0,b));var F=v>0?v:0,M=v<0?-v:0,S=m[0],O=m[1],C=Math.min(S-M,O-F),T;if(ge(D)){if(D.length!==C)throw new Error("Invalid value array length");T=function(tt){return D[tt]}}else if(ce(D)){var R=D.size();if(R.length!==1||R[0]!==C)throw new Error("Invalid matrix length");T=function(tt){return D.get([tt])}}else T=function(){return D};for(var U=[],k=[],W=[],P=0;P<O;P++){W.push(U.length);var K=P-F;if(K>=0&&K<C){var G=T(K);N(G,x)||(k.push(K+M),U.push(G))}}return W.push(U.length),new n({values:U,index:k,ptr:W,size:[S,O]})},n.prototype.swapRows=function(m,D){if(!ue(m)||!pe(m)||!ue(D)||!pe(D))throw new Error("Row index must be positive integers");if(this._size.length!==2)throw new Error("Only two dimensional matrix is supported");return ve(m,this._size[0]),ve(D,this._size[0]),n._swapRows(m,D,this._size[1],this._values,this._index,this._ptr),this},n._forEachRow=function(m,D,v,E,b){for(var N=E[m],x=E[m+1],F=N;F<x;F++)b(v[F],D[F])},n._swapRows=function(m,D,v,E,b,N){for(var x=0;x<v;x++){var F=N[x],M=N[x+1],S=h(m,F,M,b),O=h(D,F,M,b);if(S<M&&O<M&&b[S]===m&&b[O]===D){if(E){var C=E[S];E[S]=E[O],E[O]=C}continue}if(S<M&&b[S]===m&&(O>=M||b[O]!==D)){var T=E?E[S]:void 0;b.splice(O,0,D),E&&E.splice(O,0,T),b.splice(O<=S?S+1:S,1),E&&E.splice(O<=S?S+1:S,1);continue}if(O<M&&b[O]===D&&(S>=M||b[S]!==m)){var R=E?E[O]:void 0;b.splice(S,0,m),E&&E.splice(S,0,R),b.splice(S<=O?O+1:O,1),E&&E.splice(S<=O?O+1:O,1)}}},n},{isClass:!0}),_m="number",mm=["typed"];function gm(i){var t=i.match(/(0[box])([0-9a-fA-F]*)\.([0-9a-fA-F]*)/);if(t){var e={"0b":2,"0o":8,"0x":16}[t[1]],r=t[2],n=t[3];return{input:i,radix:e,integerPart:r,fractionalPart:n}}else return null}function vm(i){for(var t=parseInt(i.integerPart,i.radix),e=0,r=0;r<i.fractionalPart.length;r++){var n=parseInt(i.fractionalPart[r],i.radix);e+=n/Math.pow(i.radix,r+1)}var s=t+e;if(isNaN(s))throw new SyntaxError('String "'+i.input+'" is not a valid number');return s}var wm=_t(_m,mm,i=>{var{typed:t}=i,e=t("number",{"":function(){return 0},number:function(n){return n},string:function(n){if(n==="NaN")return NaN;var s=gm(n);if(s)return vm(s);var a=0,l=n.match(/(0[box][0-9a-fA-F]*)i([0-9]*)/);l&&(a=Number(l[2]),n=l[1]);var c=Number(n);if(isNaN(c))throw new SyntaxError('String "'+n+'" is not a valid number');if(l){if(c>2**a-1)throw new SyntaxError('String "'.concat(n,'" is out of range'));c>=2**(a-1)&&(c=c-2**a)}return c},BigNumber:function(n){return n.toNumber()},Fraction:function(n){return n.valueOf()},Unit:t.referToSelf(r=>n=>{var s=n.clone();return s.value=r(n.value),s}),null:function(n){return 0},"Unit, string | Unit":function(n,s){return n.toNumber(s)},"Array | Matrix":t.referToSelf(r=>n=>Or(n,r))});return e.fromJSON=function(r){return parseFloat(r.value)},e}),ym="bignumber",Dm=["typed","BigNumber"],bm=_t(ym,Dm,i=>{var{typed:t,BigNumber:e}=i;return t("bignumber",{"":function(){return new e(0)},number:function(n){return new e(n+"")},string:function(n){var s=n.match(/(0[box][0-9a-fA-F]*)i([0-9]*)/);if(s){var a=s[2],l=e(s[1]),c=new e(2).pow(Number(a));if(l.gt(c.sub(1)))throw new SyntaxError('String "'.concat(n,'" is out of range'));var h=new e(2).pow(Number(a)-1);return l.gte(h)?l.sub(c):l}return new e(n)},BigNumber:function(n){return n},Unit:t.referToSelf(r=>n=>{var s=n.clone();return s.value=r(n.value),s}),Fraction:function(n){return new e(n.n).div(n.d).times(n.s)},null:function(n){return new e(0)},"Array | Matrix":t.referToSelf(r=>n=>Or(n,r))})}),Em="fraction",xm=["typed","Fraction"],Am=_t(Em,xm,i=>{var{typed:t,Fraction:e}=i;return t("fraction",{number:function(n){if(!isFinite(n)||isNaN(n))throw new Error(n+" cannot be represented as a fraction");return new e(n)},string:function(n){return new e(n)},"number, number":function(n,s){return new e(n,s)},null:function(n){return new e(0)},BigNumber:function(n){return new e(n.toString())},Fraction:function(n){return n},Unit:t.referToSelf(r=>n=>{var s=n.clone();return s.value=r(n.value),s}),Object:function(n){return new e(n)},"Array | Matrix":t.referToSelf(r=>n=>Or(n,r))})}),Oc="matrix",Cm=["typed","Matrix","DenseMatrix","SparseMatrix"],Fm=_t(Oc,Cm,i=>{var{typed:t,Matrix:e,DenseMatrix:r,SparseMatrix:n}=i;return t(Oc,{"":function(){return s([])},string:function(l){return s([],l)},"string, string":function(l,c){return s([],l,c)},Array:function(l){return s(l)},Matrix:function(l){return s(l,l.storage())},"Array | Matrix, string":s,"Array | Matrix, string, string":s});function s(a,l,c){if(l==="dense"||l==="default"||l===void 0)return new r(a,c);if(l==="sparse")return new n(a,c);throw new TypeError("Unknown matrix type "+JSON.stringify(l)+".")}}),$c="unaryMinus",Mm=["typed"],Nm=_t($c,Mm,i=>{var{typed:t}=i;return t($c,{number:Cc,"Complex | BigNumber | Fraction":e=>e.neg(),Unit:t.referToSelf(e=>r=>{var n=r.clone();return n.value=t.find(e,n.valueType())(r.value),n}),"Array | Matrix":t.referToSelf(e=>r=>Or(r,e))})}),Rc="abs",Sm=["typed"],Bm=_t(Rc,Sm,i=>{var{typed:t}=i;return t(Rc,{number:bc,"Complex | BigNumber | Fraction | Unit":e=>e.abs(),"Array | Matrix":t.referToSelf(e=>r=>Or(r,e))})}),Lc="addScalar",Tm=["typed"],Im=_t(Lc,Tm,i=>{var{typed:t}=i;return t(Lc,{"number, number":Ec,"Complex, Complex":function(r,n){return r.add(n)},"BigNumber, BigNumber":function(r,n){return r.plus(n)},"Fraction, Fraction":function(r,n){return r.add(n)},"Unit, Unit":t.referToSelf(e=>(r,n)=>{if(r.value===null||r.value===void 0)throw new Error("Parameter x contains a unit with undefined value");if(n.value===null||n.value===void 0)throw new Error("Parameter y contains a unit with undefined value");if(!r.equalBase(n))throw new Error("Units do not match");var s=r.clone();return s.value=t.find(e,[s.valueType(),n.valueType()])(s.value,n.value),s.fixPrefix=!1,s})})}),Pc="subtractScalar",Om=["typed"],$m=_t(Pc,Om,i=>{var{typed:t}=i;return t(Pc,{"number, number":xc,"Complex, Complex":function(r,n){return r.sub(n)},"BigNumber, BigNumber":function(r,n){return r.minus(n)},"Fraction, Fraction":function(r,n){return r.sub(n)},"Unit, Unit":t.referToSelf(e=>(r,n)=>{if(r.value===null||r.value===void 0)throw new Error("Parameter x contains a unit with undefined value");if(n.value===null||n.value===void 0)throw new Error("Parameter y contains a unit with undefined value");if(!r.equalBase(n))throw new Error("Units do not match");var s=r.clone();return s.value=t.find(e,[s.valueType(),n.valueType()])(s.value,n.value),s.fixPrefix=!1,s})})}),Rm="matAlgo11xS0s",Lm=["typed","equalScalar"],ba=_t(Rm,Lm,i=>{var{typed:t,equalScalar:e}=i;return function(n,s,a,l){var c=n._values,h=n._index,p=n._ptr,f=n._size,d=n._datatype;if(!c)throw new Error("Cannot perform operation on Pattern Sparse Matrix and Scalar value");var g=f[0],w=f[1],m,D=e,v=0,E=a;typeof d=="string"&&(m=d,D=t.find(e,[m,m]),v=t.convert(0,m),s=t.convert(s,m),E=t.find(a,[m,m]));for(var b=[],N=[],x=[],F=0;F<w;F++){x[F]=N.length;for(var M=p[F],S=p[F+1],O=M;O<S;O++){var C=h[O],T=l?E(s,c[O]):E(c[O],s);D(T,v)||(N.push(C),b.push(T))}}return x[w]=N.length,n.createSparseMatrix({values:b,index:N,ptr:x,size:[g,w],datatype:m})}}),Pm="matAlgo12xSfs",zm=["typed","DenseMatrix"],fi=_t(Pm,zm,i=>{var{typed:t,DenseMatrix:e}=i;return function(n,s,a,l){var c=n._values,h=n._index,p=n._ptr,f=n._size,d=n._datatype;if(!c)throw new Error("Cannot perform operation on Pattern Sparse Matrix and Scalar value");var g=f[0],w=f[1],m,D=a;typeof d=="string"&&(m=d,s=t.convert(s,m),D=t.find(a,[m,m]));for(var v=[],E=[],b=[],N=0;N<w;N++){for(var x=N+1,F=p[N],M=p[N+1],S=F;S<M;S++){var O=h[S];E[O]=c[S],b[O]=x}for(var C=0;C<g;C++)N===0&&(v[C]=[]),b[C]===x?v[C][N]=l?D(s,E[C]):D(E[C],s):v[C][N]=l?D(s,0):D(0,s)}return new e({data:v,size:[g,w],datatype:m})}}),qm="matAlgo14xDs",km=["typed"],Ea=_t(qm,km,i=>{var{typed:t}=i;return function(n,s,a,l){var c=n._data,h=n._size,p=n._datatype,f,d=a;typeof p=="string"&&(f=p,s=t.convert(s,f),d=t.find(a,[f,f]));var g=h.length>0?e(d,0,h,h[0],c,s,l):[];return n.createDenseMatrix({data:g,size:ee(h),datatype:f})};function e(r,n,s,a,l,c,h){var p=[];if(n===s.length-1)for(var f=0;f<a;f++)p[f]=h?r(c,l[f]):r(l[f],c);else for(var d=0;d<a;d++)p[d]=e(r,n+1,s,s[n+1],l[d],c,h);return p}}),Um="matAlgo02xDS0",Wm=["typed","equalScalar"],jm=_t(Um,Wm,i=>{var{typed:t,equalScalar:e}=i;return function(n,s,a,l){var c=n._data,h=n._size,p=n._datatype||n.getDataType(),f=s._values,d=s._index,g=s._ptr,w=s._size,m=s._datatype||s._data===void 0?s._datatype:s.getDataType();if(h.length!==w.length)throw new Zt(h.length,w.length);if(h[0]!==w[0]||h[1]!==w[1])throw new RangeError("Dimension mismatch. Matrix A ("+h+") must match Matrix B ("+w+")");if(!f)throw new Error("Cannot perform operation on Dense Matrix and Pattern Sparse Matrix");var D=h[0],v=h[1],E,b=e,N=0,x=a;typeof p=="string"&&p===m&&p!=="mixed"&&(E=p,b=t.find(e,[E,E]),N=t.convert(0,E),x=t.find(a,[E,E]));for(var F=[],M=[],S=[],O=0;O<v;O++){S[O]=M.length;for(var C=g[O],T=g[O+1],R=C;R<T;R++){var U=d[R],k=l?x(f[R],c[U][O]):x(c[U][O],f[R]);b(k,N)||(M.push(U),F.push(k))}}return S[v]=M.length,s.createSparseMatrix({values:F,index:M,ptr:S,size:[D,v],datatype:p===n._datatype&&m===s._datatype?E:void 0})}}),Ym="matAlgo03xDSf",Zm=["typed"],hi=_t(Ym,Zm,i=>{var{typed:t}=i;return function(r,n,s,a){var l=r._data,c=r._size,h=r._datatype||r.getDataType(),p=n._values,f=n._index,d=n._ptr,g=n._size,w=n._datatype||n._data===void 0?n._datatype:n.getDataType();if(c.length!==g.length)throw new Zt(c.length,g.length);if(c[0]!==g[0]||c[1]!==g[1])throw new RangeError("Dimension mismatch. Matrix A ("+c+") must match Matrix B ("+g+")");if(!p)throw new Error("Cannot perform operation on Dense Matrix and Pattern Sparse Matrix");var m=c[0],D=c[1],v,E=0,b=s;typeof h=="string"&&h===w&&h!=="mixed"&&(v=h,E=t.convert(0,v),b=t.find(s,[v,v]));for(var N=[],x=0;x<m;x++)N[x]=[];for(var F=[],M=[],S=0;S<D;S++){for(var O=S+1,C=d[S],T=d[S+1],R=C;R<T;R++){var U=f[R];F[U]=a?b(p[R],l[U][S]):b(l[U][S],p[R]),M[U]=O}for(var k=0;k<m;k++)M[k]===O?N[k][S]=F[k]:N[k][S]=a?b(E,l[k][S]):b(l[k][S],E)}return r.createDenseMatrix({data:N,size:[m,D],datatype:h===r._datatype&&w===n._datatype?v:void 0})}}),Gm="matAlgo05xSfSf",Km=["typed","equalScalar"],zc=_t(Gm,Km,i=>{var{typed:t,equalScalar:e}=i;return function(n,s,a){var l=n._values,c=n._index,h=n._ptr,p=n._size,f=n._datatype||n._data===void 0?n._datatype:n.getDataType(),d=s._values,g=s._index,w=s._ptr,m=s._size,D=s._datatype||s._data===void 0?s._datatype:s.getDataType();if(p.length!==m.length)throw new Zt(p.length,m.length);if(p[0]!==m[0]||p[1]!==m[1])throw new RangeError("Dimension mismatch. Matrix A ("+p+") must match Matrix B ("+m+")");var v=p[0],E=p[1],b,N=e,x=0,F=a;typeof f=="string"&&f===D&&f!=="mixed"&&(b=f,N=t.find(e,[b,b]),x=t.convert(0,b),F=t.find(a,[b,b]));var M=l&&d?[]:void 0,S=[],O=[],C=M?[]:void 0,T=M?[]:void 0,R=[],U=[],k,W,P,K;for(W=0;W<E;W++){O[W]=S.length;var G=W+1;for(P=h[W],K=h[W+1];P<K;P++)k=c[P],S.push(k),R[k]=G,C&&(C[k]=l[P]);for(P=w[W],K=w[W+1];P<K;P++)k=g[P],R[k]!==G&&S.push(k),U[k]=G,T&&(T[k]=d[P]);if(M)for(P=O[W];P<S.length;){k=S[P];var V=R[k],tt=U[k];if(V===G||tt===G){var ct=V===G?C[k]:x,gt=tt===G?T[k]:x,lt=F(ct,gt);N(lt,x)?S.splice(P,1):(M.push(lt),P++)}}}return O[E]=S.length,n.createSparseMatrix({values:M,index:S,ptr:O,size:[v,E],datatype:f===n._datatype&&D===s._datatype?b:void 0})}}),Hm="matAlgo13xDD",Jm=["typed"],Xm=_t(Hm,Jm,i=>{var{typed:t}=i;return function(n,s,a){var l=n._data,c=n._size,h=n._datatype,p=s._data,f=s._size,d=s._datatype,g=[];if(c.length!==f.length)throw new Zt(c.length,f.length);for(var w=0;w<c.length;w++){if(c[w]!==f[w])throw new RangeError("Dimension mismatch. Matrix A ("+c+") must match Matrix B ("+f+")");g[w]=c[w]}var m,D=a;typeof h=="string"&&h===d&&(m=h,D=t.find(a,[m,m]));var v=g.length>0?e(D,0,g,g[0],l,p):[];return n.createDenseMatrix({data:v,size:g,datatype:m})};function e(r,n,s,a,l,c){var h=[];if(n===s.length-1)for(var p=0;p<a;p++)h[p]=r(l[p],c[p]);else for(var f=0;f<a;f++)h[f]=e(r,n+1,s,s[n+1],l[f],c[f]);return h}}),Vm="broadcast",Qm=["concat"],tg=_t(Vm,Qm,i=>{var{concat:t}=i;return function(n,s){var a=Math.max(n._size.length,s._size.length);if(n._size.length===s._size.length&&n._size.every((w,m)=>w===s._size[m]))return[n,s];for(var l=e(n._size,a,0),c=e(s._size,a,0),h=[],p=0;p<a;p++)h[p]=Math.max(l[p],c[p]);xs(l,h),xs(c,h);var f=n.clone(),d=s.clone();f._size.length<a?f.reshape(e(f._size,a,1)):d._size.length<a&&d.reshape(e(d._size,a,1));for(var g=0;g<a;g++)f._size[g]<h[g]&&(f=r(f,h[g],g)),d._size[g]<h[g]&&(d=r(d,h[g],g));return[f,d]};function e(n,s,a){return[...Array(s-n.length).fill(a),...n]}function r(n,s,a){return t(...Array(s).fill(n),a)}}),eg="matrixAlgorithmSuite",rg=["typed","matrix","concat"],Un=_t(eg,rg,i=>{var{typed:t,matrix:e,concat:r}=i,n=Xm({typed:t}),s=Ea({typed:t}),a=tg({concat:r});return function(c){var h=c.elop,p=c.SD||c.DS,f;h?(f={"DenseMatrix, DenseMatrix":(m,D)=>n(...a(m,D),h),"Array, Array":(m,D)=>n(...a(e(m),e(D)),h).valueOf(),"Array, DenseMatrix":(m,D)=>n(...a(e(m),D),h),"DenseMatrix, Array":(m,D)=>n(...a(m,e(D)),h)},c.SS&&(f["SparseMatrix, SparseMatrix"]=(m,D)=>c.SS(...a(m,D),h,!1)),c.DS&&(f["DenseMatrix, SparseMatrix"]=(m,D)=>c.DS(...a(m,D),h,!1),f["Array, SparseMatrix"]=(m,D)=>c.DS(...a(e(m),D),h,!1)),p&&(f["SparseMatrix, DenseMatrix"]=(m,D)=>p(...a(D,m),h,!0),f["SparseMatrix, Array"]=(m,D)=>p(...a(e(D),m),h,!0))):(f={"DenseMatrix, DenseMatrix":t.referToSelf(m=>(D,v)=>n(...a(D,v),m)),"Array, Array":t.referToSelf(m=>(D,v)=>n(...a(e(D),e(v)),m).valueOf()),"Array, DenseMatrix":t.referToSelf(m=>(D,v)=>n(...a(e(D),v),m)),"DenseMatrix, Array":t.referToSelf(m=>(D,v)=>n(...a(D,e(v)),m))},c.SS&&(f["SparseMatrix, SparseMatrix"]=t.referToSelf(m=>(D,v)=>c.SS(...a(D,v),m,!1))),c.DS&&(f["DenseMatrix, SparseMatrix"]=t.referToSelf(m=>(D,v)=>c.DS(...a(D,v),m,!1)),f["Array, SparseMatrix"]=t.referToSelf(m=>(D,v)=>c.DS(...a(e(D),v),m,!1))),p&&(f["SparseMatrix, DenseMatrix"]=t.referToSelf(m=>(D,v)=>p(...a(v,D),m,!0)),f["SparseMatrix, Array"]=t.referToSelf(m=>(D,v)=>p(...a(e(v),D),m,!0))));var d=c.scalar||"any",g=c.Ds||c.Ss;g&&(h?(f["DenseMatrix,"+d]=(m,D)=>s(m,D,h,!1),f[d+", DenseMatrix"]=(m,D)=>s(D,m,h,!0),f["Array,"+d]=(m,D)=>s(e(m),D,h,!1).valueOf(),f[d+", Array"]=(m,D)=>s(e(D),m,h,!0).valueOf()):(f["DenseMatrix,"+d]=t.referToSelf(m=>(D,v)=>s(D,v,m,!1)),f[d+", DenseMatrix"]=t.referToSelf(m=>(D,v)=>s(v,D,m,!0)),f["Array,"+d]=t.referToSelf(m=>(D,v)=>s(e(D),v,m,!1).valueOf()),f[d+", Array"]=t.referToSelf(m=>(D,v)=>s(e(v),D,m,!0).valueOf())));var w=c.sS!==void 0?c.sS:c.Ss;return h?(c.Ss&&(f["SparseMatrix,"+d]=(m,D)=>c.Ss(m,D,h,!1)),w&&(f[d+", SparseMatrix"]=(m,D)=>w(D,m,h,!0))):(c.Ss&&(f["SparseMatrix,"+d]=t.referToSelf(m=>(D,v)=>c.Ss(D,v,m,!1))),w&&(f[d+", SparseMatrix"]=t.referToSelf(m=>(D,v)=>w(v,D,m,!0)))),h&&h.signatures&&Tl(f,h.signatures),f}}),ng="matAlgo01xDSid",ig=["typed"],qc=_t(ng,ig,i=>{var{typed:t}=i;return function(r,n,s,a){var l=r._data,c=r._size,h=r._datatype||r.getDataType(),p=n._values,f=n._index,d=n._ptr,g=n._size,w=n._datatype||n._data===void 0?n._datatype:n.getDataType();if(c.length!==g.length)throw new Zt(c.length,g.length);if(c[0]!==g[0]||c[1]!==g[1])throw new RangeError("Dimension mismatch. Matrix A ("+c+") must match Matrix B ("+g+")");if(!p)throw new Error("Cannot perform operation on Dense Matrix and Pattern Sparse Matrix");var m=c[0],D=c[1],v=typeof h=="string"&&h!=="mixed"&&h===w?h:void 0,E=v?t.find(s,[v,v]):s,b,N,x=[];for(b=0;b<m;b++)x[b]=[];var F=[],M=[];for(N=0;N<D;N++){for(var S=N+1,O=d[N],C=d[N+1],T=O;T<C;T++)b=f[T],F[b]=a?E(p[T],l[b][N]):E(l[b][N],p[T]),M[b]=S;for(b=0;b<m;b++)M[b]===S?x[b][N]=F[b]:x[b][N]=l[b][N]}return r.createDenseMatrix({data:x,size:[m,D],datatype:h===r._datatype&&w===n._datatype?v:void 0})}}),sg="matAlgo04xSidSid",og=["typed","equalScalar"],ag=_t(sg,og,i=>{var{typed:t,equalScalar:e}=i;return function(n,s,a){var l=n._values,c=n._index,h=n._ptr,p=n._size,f=n._datatype||n._data===void 0?n._datatype:n.getDataType(),d=s._values,g=s._index,w=s._ptr,m=s._size,D=s._datatype||s._data===void 0?s._datatype:s.getDataType();if(p.length!==m.length)throw new Zt(p.length,m.length);if(p[0]!==m[0]||p[1]!==m[1])throw new RangeError("Dimension mismatch. Matrix A ("+p+") must match Matrix B ("+m+")");var v=p[0],E=p[1],b,N=e,x=0,F=a;typeof f=="string"&&f===D&&f!=="mixed"&&(b=f,N=t.find(e,[b,b]),x=t.convert(0,b),F=t.find(a,[b,b]));var M=l&&d?[]:void 0,S=[],O=[],C=l&&d?[]:void 0,T=l&&d?[]:void 0,R=[],U=[],k,W,P,K,G;for(W=0;W<E;W++){O[W]=S.length;var V=W+1;for(K=h[W],G=h[W+1],P=K;P<G;P++)k=c[P],S.push(k),R[k]=V,C&&(C[k]=l[P]);for(K=w[W],G=w[W+1],P=K;P<G;P++)if(k=g[P],R[k]===V){if(C){var tt=F(C[k],d[P]);N(tt,x)?R[k]=null:C[k]=tt}}else S.push(k),U[k]=V,T&&(T[k]=d[P]);if(C&&T)for(P=O[W];P<S.length;)k=S[P],R[k]===V?(M[P]=C[k],P++):U[k]===V?(M[P]=T[k],P++):S.splice(P,1)}return O[E]=S.length,n.createSparseMatrix({values:M,index:S,ptr:O,size:[v,E],datatype:f===n._datatype&&D===s._datatype?b:void 0})}}),ug="matAlgo10xSids",lg=["typed","DenseMatrix"],kc=_t(ug,lg,i=>{var{typed:t,DenseMatrix:e}=i;return function(n,s,a,l){var c=n._values,h=n._index,p=n._ptr,f=n._size,d=n._datatype;if(!c)throw new Error("Cannot perform operation on Pattern Sparse Matrix and Scalar value");var g=f[0],w=f[1],m,D=a;typeof d=="string"&&(m=d,s=t.convert(s,m),D=t.find(a,[m,m]));for(var v=[],E=[],b=[],N=0;N<w;N++){for(var x=N+1,F=p[N],M=p[N+1],S=F;S<M;S++){var O=h[S];E[O]=c[S],b[O]=x}for(var C=0;C<g;C++)N===0&&(v[C]=[]),b[C]===x?v[C][N]=l?D(s,E[C]):D(E[C],s):v[C][N]=s}return new e({data:v,size:[g,w],datatype:m})}}),cg="multiplyScalar",fg=["typed"],hg=_t(cg,fg,i=>{var{typed:t}=i;return t("multiplyScalar",{"number, number":Ac,"Complex, Complex":function(r,n){return r.mul(n)},"BigNumber, BigNumber":function(r,n){return r.times(n)},"Fraction, Fraction":function(r,n){return r.mul(n)},"number | Fraction | BigNumber | Complex, Unit":(e,r)=>r.multiply(e),"Unit, number | Fraction | BigNumber | Complex | Unit":(e,r)=>e.multiply(r)})}),Uc="multiply",pg=["typed","matrix","addScalar","multiplyScalar","equalScalar","dot"],dg=_t(Uc,pg,i=>{var{typed:t,matrix:e,addScalar:r,multiplyScalar:n,equalScalar:s,dot:a}=i,l=ba({typed:t,equalScalar:s}),c=Ea({typed:t});function h(x,F){switch(x.length){case 1:switch(F.length){case 1:if(x[0]!==F[0])throw new RangeError("Dimension mismatch in multiplication. Vectors must have the same length");break;case 2:if(x[0]!==F[0])throw new RangeError("Dimension mismatch in multiplication. Vector length ("+x[0]+") must match Matrix rows ("+F[0]+")");break;default:throw new Error("Can only multiply a 1 or 2 dimensional matrix (Matrix B has "+F.length+" dimensions)")}break;case 2:switch(F.length){case 1:if(x[1]!==F[0])throw new RangeError("Dimension mismatch in multiplication. Matrix columns ("+x[1]+") must match Vector length ("+F[0]+")");break;case 2:if(x[1]!==F[0])throw new RangeError("Dimension mismatch in multiplication. Matrix A columns ("+x[1]+") must match Matrix B rows ("+F[0]+")");break;default:throw new Error("Can only multiply a 1 or 2 dimensional matrix (Matrix B has "+F.length+" dimensions)")}break;default:throw new Error("Can only multiply a 1 or 2 dimensional matrix (Matrix A has "+x.length+" dimensions)")}}function p(x,F,M){if(M===0)throw new Error("Cannot multiply two empty vectors");return a(x,F)}function f(x,F){if(F.storage()!=="dense")throw new Error("Support for SparseMatrix not implemented");return d(x,F)}function d(x,F){var M=x._data,S=x._size,O=x._datatype||x.getDataType(),C=F._data,T=F._size,R=F._datatype||F.getDataType(),U=S[0],k=T[1],W,P=r,K=n;O&&R&&O===R&&typeof O=="string"&&O!=="mixed"&&(W=O,P=t.find(r,[W,W]),K=t.find(n,[W,W]));for(var G=[],V=0;V<k;V++){for(var tt=K(M[0],C[0][V]),ct=1;ct<U;ct++)tt=P(tt,K(M[ct],C[ct][V]));G[V]=tt}return x.createDenseMatrix({data:G,size:[k],datatype:O===x._datatype&&R===F._datatype?W:void 0})}var g=t("_multiplyMatrixVector",{"DenseMatrix, any":m,"SparseMatrix, any":E}),w=t("_multiplyMatrixMatrix",{"DenseMatrix, DenseMatrix":D,"DenseMatrix, SparseMatrix":v,"SparseMatrix, DenseMatrix":b,"SparseMatrix, SparseMatrix":N});function m(x,F){var M=x._data,S=x._size,O=x._datatype||x.getDataType(),C=F._data,T=F._datatype||F.getDataType(),R=S[0],U=S[1],k,W=r,P=n;O&&T&&O===T&&typeof O=="string"&&O!=="mixed"&&(k=O,W=t.find(r,[k,k]),P=t.find(n,[k,k]));for(var K=[],G=0;G<R;G++){for(var V=M[G],tt=P(V[0],C[0]),ct=1;ct<U;ct++)tt=W(tt,P(V[ct],C[ct]));K[G]=tt}return x.createDenseMatrix({data:K,size:[R],datatype:O===x._datatype&&T===F._datatype?k:void 0})}function D(x,F){var M=x._data,S=x._size,O=x._datatype||x.getDataType(),C=F._data,T=F._size,R=F._datatype||F.getDataType(),U=S[0],k=S[1],W=T[1],P,K=r,G=n;O&&R&&O===R&&typeof O=="string"&&O!=="mixed"&&O!=="mixed"&&(P=O,K=t.find(r,[P,P]),G=t.find(n,[P,P]));for(var V=[],tt=0;tt<U;tt++){var ct=M[tt];V[tt]=[];for(var gt=0;gt<W;gt++){for(var lt=G(ct[0],C[0][gt]),wt=1;wt<k;wt++)lt=K(lt,G(ct[wt],C[wt][gt]));V[tt][gt]=lt}}return x.createDenseMatrix({data:V,size:[U,W],datatype:O===x._datatype&&R===F._datatype?P:void 0})}function v(x,F){var M=x._data,S=x._size,O=x._datatype||x.getDataType(),C=F._values,T=F._index,R=F._ptr,U=F._size,k=F._datatype||F._data===void 0?F._datatype:F.getDataType();if(!C)throw new Error("Cannot multiply Dense Matrix times Pattern only Matrix");var W=S[0],P=U[1],K,G=r,V=n,tt=s,ct=0;O&&k&&O===k&&typeof O=="string"&&O!=="mixed"&&(K=O,G=t.find(r,[K,K]),V=t.find(n,[K,K]),tt=t.find(s,[K,K]),ct=t.convert(0,K));for(var gt=[],lt=[],wt=[],Dt=F.createSparseMatrix({values:gt,index:lt,ptr:wt,size:[W,P],datatype:O===x._datatype&&k===F._datatype?K:void 0}),St=0;St<P;St++){wt[St]=lt.length;var bt=R[St],re=R[St+1];if(re>bt)for(var Tt=0,Mt=0;Mt<W;Mt++){for(var ie=Mt+1,Xt=void 0,zt=bt;zt<re;zt++){var Gt=T[zt];Tt!==ie?(Xt=V(M[Mt][Gt],C[zt]),Tt=ie):Xt=G(Xt,V(M[Mt][Gt],C[zt]))}Tt===ie&&!tt(Xt,ct)&&(lt.push(Mt),gt.push(Xt))}}return wt[P]=lt.length,Dt}function E(x,F){var M=x._values,S=x._index,O=x._ptr,C=x._datatype||x._data===void 0?x._datatype:x.getDataType();if(!M)throw new Error("Cannot multiply Pattern only Matrix times Dense Matrix");var T=F._data,R=F._datatype||F.getDataType(),U=x._size[0],k=F._size[0],W=[],P=[],K=[],G,V=r,tt=n,ct=s,gt=0;C&&R&&C===R&&typeof C=="string"&&C!=="mixed"&&(G=C,V=t.find(r,[G,G]),tt=t.find(n,[G,G]),ct=t.find(s,[G,G]),gt=t.convert(0,G));var lt=[],wt=[];K[0]=0;for(var Dt=0;Dt<k;Dt++){var St=T[Dt];if(!ct(St,gt))for(var bt=O[Dt],re=O[Dt+1],Tt=bt;Tt<re;Tt++){var Mt=S[Tt];wt[Mt]?lt[Mt]=V(lt[Mt],tt(St,M[Tt])):(wt[Mt]=!0,P.push(Mt),lt[Mt]=tt(St,M[Tt]))}}for(var ie=P.length,Xt=0;Xt<ie;Xt++){var zt=P[Xt];W[Xt]=lt[zt]}return K[1]=P.length,x.createSparseMatrix({values:W,index:P,ptr:K,size:[U,1],datatype:C===x._datatype&&R===F._datatype?G:void 0})}function b(x,F){var M=x._values,S=x._index,O=x._ptr,C=x._datatype||x._data===void 0?x._datatype:x.getDataType();if(!M)throw new Error("Cannot multiply Pattern only Matrix times Dense Matrix");var T=F._data,R=F._datatype||F.getDataType(),U=x._size[0],k=F._size[0],W=F._size[1],P,K=r,G=n,V=s,tt=0;C&&R&&C===R&&typeof C=="string"&&C!=="mixed"&&(P=C,K=t.find(r,[P,P]),G=t.find(n,[P,P]),V=t.find(s,[P,P]),tt=t.convert(0,P));for(var ct=[],gt=[],lt=[],wt=x.createSparseMatrix({values:ct,index:gt,ptr:lt,size:[U,W],datatype:C===x._datatype&&R===F._datatype?P:void 0}),Dt=[],St=[],bt=0;bt<W;bt++){lt[bt]=gt.length;for(var re=bt+1,Tt=0;Tt<k;Tt++){var Mt=T[Tt][bt];if(!V(Mt,tt))for(var ie=O[Tt],Xt=O[Tt+1],zt=ie;zt<Xt;zt++){var Gt=S[zt];St[Gt]!==re?(St[Gt]=re,gt.push(Gt),Dt[Gt]=G(Mt,M[zt])):Dt[Gt]=K(Dt[Gt],G(Mt,M[zt]))}}for(var Fe=lt[bt],or=gt.length,Ne=Fe;Ne<or;Ne++){var tn=gt[Ne];ct[Ne]=Dt[tn]}}return lt[W]=gt.length,wt}function N(x,F){var M=x._values,S=x._index,O=x._ptr,C=x._datatype||x._data===void 0?x._datatype:x.getDataType(),T=F._values,R=F._index,U=F._ptr,k=F._datatype||F._data===void 0?F._datatype:F.getDataType(),W=x._size[0],P=F._size[1],K=M&&T,G,V=r,tt=n;C&&k&&C===k&&typeof C=="string"&&C!=="mixed"&&(G=C,V=t.find(r,[G,G]),tt=t.find(n,[G,G]));for(var ct=K?[]:void 0,gt=[],lt=[],wt=x.createSparseMatrix({values:ct,index:gt,ptr:lt,size:[W,P],datatype:C===x._datatype&&k===F._datatype?G:void 0}),Dt=K?[]:void 0,St=[],bt,re,Tt,Mt,ie,Xt,zt,Gt,Fe=0;Fe<P;Fe++){lt[Fe]=gt.length;var or=Fe+1;for(ie=U[Fe],Xt=U[Fe+1],Mt=ie;Mt<Xt;Mt++)if(Gt=R[Mt],K)for(re=O[Gt],Tt=O[Gt+1],bt=re;bt<Tt;bt++)zt=S[bt],St[zt]!==or?(St[zt]=or,gt.push(zt),Dt[zt]=tt(T[Mt],M[bt])):Dt[zt]=V(Dt[zt],tt(T[Mt],M[bt]));else for(re=O[Gt],Tt=O[Gt+1],bt=re;bt<Tt;bt++)zt=S[bt],St[zt]!==or&&(St[zt]=or,gt.push(zt));if(K)for(var Ne=lt[Fe],tn=gt.length,bn=Ne;bn<tn;bn++){var en=gt[bn];ct[bn]=Dt[en]}}return lt[P]=gt.length,wt}return t(Uc,n,{"Array, Array":t.referTo("Matrix, Matrix",x=>(F,M)=>{h(Ae(F),Ae(M));var S=x(e(F),e(M));return ce(S)?S.valueOf():S}),"Matrix, Matrix":function(F,M){var S=F.size(),O=M.size();return h(S,O),S.length===1?O.length===1?p(F,M,S[0]):f(F,M):O.length===1?g(F,M):w(F,M)},"Matrix, Array":t.referTo("Matrix,Matrix",x=>(F,M)=>x(F,e(M))),"Array, Matrix":t.referToSelf(x=>(F,M)=>x(e(F,M.storage()),M)),"SparseMatrix, any":function(F,M){return l(F,M,n,!1)},"DenseMatrix, any":function(F,M){return c(F,M,n,!1)},"any, SparseMatrix":function(F,M){return l(M,F,n,!0)},"any, DenseMatrix":function(F,M){return c(M,F,n,!0)},"Array, any":function(F,M){return c(e(F),M,n,!1).valueOf()},"any, Array":function(F,M){return c(e(M),F,n,!0).valueOf()},"any, any":n,"any, any, ...any":t.referToSelf(x=>(F,M,S)=>{for(var O=x(F,M),C=0;C<S.length;C++)O=x(O,S[C]);return O})})}),Wc="subtract",_g=["typed","matrix","equalScalar","subtractScalar","unaryMinus","DenseMatrix","concat"],mg=_t(Wc,_g,i=>{var{typed:t,matrix:e,equalScalar:r,subtractScalar:n,unaryMinus:s,DenseMatrix:a,concat:l}=i,c=qc({typed:t}),h=hi({typed:t}),p=zc({typed:t,equalScalar:r}),f=kc({typed:t,DenseMatrix:a}),d=fi({typed:t,DenseMatrix:a}),g=Un({typed:t,matrix:e,concat:l});return t(Wc,{"any, any":n},g({elop:n,SS:p,DS:c,SD:h,Ss:d,sS:f}))}),gg="matAlgo07xSSf",vg=["typed","DenseMatrix"],zs=_t(gg,vg,i=>{var{typed:t,DenseMatrix:e}=i;return function(s,a,l){var c=s._size,h=s._datatype||s._data===void 0?s._datatype:s.getDataType(),p=a._size,f=a._datatype||a._data===void 0?a._datatype:a.getDataType();if(c.length!==p.length)throw new Zt(c.length,p.length);if(c[0]!==p[0]||c[1]!==p[1])throw new RangeError("Dimension mismatch. Matrix A ("+c+") must match Matrix B ("+p+")");var d=c[0],g=c[1],w,m=0,D=l;typeof h=="string"&&h===f&&h!=="mixed"&&(w=h,m=t.convert(0,w),D=t.find(l,[w,w]));var v,E,b=[];for(v=0;v<d;v++)b[v]=[];var N=[],x=[],F=[],M=[];for(E=0;E<g;E++){var S=E+1;for(r(s,E,F,N,S),r(a,E,M,x,S),v=0;v<d;v++){var O=F[v]===S?N[v]:m,C=M[v]===S?x[v]:m;b[v][E]=D(O,C)}}return new e({data:b,size:[d,g],datatype:h===s._datatype&&f===a._datatype?w:void 0})};function r(n,s,a,l,c){for(var h=n._values,p=n._index,f=n._ptr,d=f[s],g=f[s+1];d<g;d++){var w=p[d];a[w]=c,l[w]=h[d]}}}),jc="conj",wg=["typed"],yg=_t(jc,wg,i=>{var{typed:t}=i;return t(jc,{"number | BigNumber | Fraction":e=>e,Complex:e=>e.conjugate(),"Array | Matrix":t.referToSelf(e=>r=>Or(r,e))})}),Yc="concat",Dg=["typed","matrix","isInteger"],bg=_t(Yc,Dg,i=>{var{typed:t,matrix:e,isInteger:r}=i;return t(Yc,{"...Array | Matrix | number | BigNumber":function(s){var a,l=s.length,c=-1,h,p=!1,f=[];for(a=0;a<l;a++){var d=s[a];if(ce(d)&&(p=!0),ue(d)||be(d)){if(a!==l-1)throw new Error("Dimension must be specified as last argument");if(h=c,c=d.valueOf(),!r(c))throw new TypeError("Integer number expected for dimension");if(c<0||a>0&&c>h)throw new dn(c,h+1)}else{var g=ee(d).valueOf(),w=Ae(g);if(f[a]=g,h=c,c=w.length-1,a>0&&c!==h)throw new Zt(h+1,c+1)}}if(f.length===0)throw new SyntaxError("At least one matrix expected");for(var m=f.shift();f.length;)m=Vl(m,f.shift(),c);return p?e(m):m},"...string":function(s){return s.join("")}})}),Zc="count",Eg=["typed","size","prod"],xg=_t(Zc,Eg,i=>{var{typed:t,size:e,prod:r}=i;return t(Zc,{string:function(s){return s.length},"Matrix | Array":function(s){return r(e(s))}})}),Gc="identity",Ag=["typed","config","matrix","BigNumber","DenseMatrix","SparseMatrix"],Cg=_t(Gc,Ag,i=>{var{typed:t,config:e,matrix:r,BigNumber:n,DenseMatrix:s,SparseMatrix:a}=i;return t(Gc,{"":function(){return e.matrix==="Matrix"?r([]):[]},string:function(p){return r(p)},"number | BigNumber":function(p){return c(p,p,e.matrix==="Matrix"?"dense":void 0)},"number | BigNumber, string":function(p,f){return c(p,p,f)},"number | BigNumber, number | BigNumber":function(p,f){return c(p,f,e.matrix==="Matrix"?"dense":void 0)},"number | BigNumber, number | BigNumber, string":function(p,f,d){return c(p,f,d)},Array:function(p){return l(p)},"Array, string":function(p,f){return l(p,f)},Matrix:function(p){return l(p.valueOf(),p.storage())},"Matrix, string":function(p,f){return l(p.valueOf(),f)}});function l(h,p){switch(h.length){case 0:return p?r(p):[];case 1:return c(h[0],h[0],p);case 2:return c(h[0],h[1],p);default:throw new Error("Vector containing two values expected")}}function c(h,p,f){var d=be(h)||be(p)?n:null;if(be(h)&&(h=h.toNumber()),be(p)&&(p=p.toNumber()),!pe(h)||h<1)throw new Error("Parameters in function identity must be positive integers");if(!pe(p)||p<1)throw new Error("Parameters in function identity must be positive integers");var g=d?new n(1):1,w=d?new d(0):0,m=[h,p];if(f){if(f==="sparse")return a.diagonal(m,g,0,w);if(f==="dense")return s.diagonal(m,g,0,w);throw new TypeError('Unknown matrix type "'.concat(f,'"'))}for(var D=ua([],m,w),v=h<p?h:p,E=0;E<v;E++)D[E][E]=g;return D}}),Kc="kron",Fg=["typed","matrix","multiplyScalar"],Mg=_t(Kc,Fg,i=>{var{typed:t,matrix:e,multiplyScalar:r}=i;return t(Kc,{"Matrix, Matrix":function(a,l){return e(n(a.toArray(),l.toArray()))},"Matrix, Array":function(a,l){return e(n(a.toArray(),l))},"Array, Matrix":function(a,l){return e(n(a,l.toArray()))},"Array, Array":n});function n(s,a){if(Ae(s).length===1&&(s=[s]),Ae(a).length===1&&(a=[a]),Ae(s).length>2||Ae(a).length>2)throw new RangeError("Vectors with dimensions greater then 2 are not supported expected (Size x = "+JSON.stringify(s.length)+", y = "+JSON.stringify(a.length)+")");var l=[],c=[];return s.map(function(h){return a.map(function(p){return c=[],l.push(c),h.map(function(f){return p.map(function(d){return c.push(r(f,d))})})})})&&l}});function Ng(){throw new Error('No "bignumber" implementation available')}function Sg(){throw new Error('No "fraction" implementation available')}function Bg(){throw new Error('No "matrix" implementation available')}var Hc="reshape",Tg=["typed","isInteger","matrix"],Ig=_t(Hc,Tg,i=>{var{typed:t,isInteger:e}=i;return t(Hc,{"Matrix, Array":function(n,s){return n.reshape(s,!0)},"Array, Array":function(n,s){return s.forEach(function(a){if(!e(a))throw new TypeError("Invalid size for dimension: "+a)}),ca(n,s)}})}),Jc="size",Og=["typed","config","?matrix"],$g=_t(Jc,Og,i=>{var{typed:t,config:e,matrix:r}=i;return t(Jc,{Matrix:function(s){return s.create(s.size())},Array:Ae,string:function(s){return e.matrix==="Array"?[s.length]:r([s.length])},"number | Complex | BigNumber | Unit | boolean | null":function(s){return e.matrix==="Array"?[]:r?r([]):Bg()}})}),Xc="transpose",Rg=["typed","matrix"],Lg=_t(Xc,Rg,i=>{var{typed:t,matrix:e}=i;return t(Xc,{Array:a=>r(e(a)).valueOf(),Matrix:r,any:ee});function r(a){var l=a.size(),c;switch(l.length){case 1:c=a.clone();break;case 2:{var h=l[0],p=l[1];if(p===0)throw new RangeError("Cannot transpose a 2D matrix with no columns (size: "+se(l)+")");switch(a.storage()){case"dense":c=n(a,h,p);break;case"sparse":c=s(a,h,p);break}}break;default:throw new RangeError("Matrix must be a vector or two dimensional (size: "+se(l)+")")}return c}function n(a,l,c){for(var h=a._data,p=[],f,d=0;d<c;d++){f=p[d]=[];for(var g=0;g<l;g++)f[g]=ee(h[g][d])}return a.createDenseMatrix({data:p,size:[c,l],datatype:a._datatype})}function s(a,l,c){for(var h=a._values,p=a._index,f=a._ptr,d=h?[]:void 0,g=[],w=[],m=[],D=0;D<l;D++)m[D]=0;var v,E,b;for(v=0,E=p.length;v<E;v++)m[p[v]]++;for(var N=0,x=0;x<l;x++)w.push(N),N+=m[x],m[x]=w[x];for(w.push(N),b=0;b<c;b++)for(var F=f[b],M=f[b+1],S=F;S<M;S++){var O=m[p[S]]++;g[O]=b,h&&(d[O]=ee(h[S]))}return a.createSparseMatrix({values:d,index:g,ptr:w,size:[c,l],datatype:a._datatype})}}),Vc="ctranspose",Pg=["typed","transpose","conj"],zg=_t(Vc,Pg,i=>{var{typed:t,transpose:e,conj:r}=i;return t(Vc,{any:function(s){return r(e(s))}})}),Qc="mode",qg=["typed","isNaN","isNumeric"],kg=_t(Qc,qg,i=>{var{typed:t,isNaN:e,isNumeric:r}=i;return t(Qc,{"Array | Matrix":n,"...":function(a){return n(a)}});function n(s){s=ha(s.valueOf());var a=s.length;if(a===0)throw new Error("Cannot calculate mode of an empty array");for(var l={},c=[],h=0,p=0;p<s.length;p++){var f=s[p];if(r(f)&&e(f))throw new Error("Cannot calculate mode of an array containing NaN values");f in l||(l[f]=0),l[f]++,l[f]===h?c.push(f):l[f]>h&&(h=l[f],c=[f])}return c}});function wn(i,t,e){var r;return String(i).indexOf("Unexpected type")!==-1?(r=arguments.length>2?" (type: "+pn(e)+", value: "+JSON.stringify(e)+")":" (type: "+i.data.actual+")",new TypeError("Cannot calculate "+t+", unexpected type of argument"+r)):String(i).indexOf("complex numbers")!==-1?(r=arguments.length>2?" (type: "+pn(e)+", value: "+JSON.stringify(e)+")":"",new TypeError("Cannot calculate "+t+", no ordering relation is defined for complex numbers"+r)):i}var tf="prod",Ug=["typed","config","multiplyScalar","numeric"],Wg=_t(tf,Ug,i=>{var{typed:t,config:e,multiplyScalar:r,numeric:n}=i;return t(tf,{"Array | Matrix":s,"Array | Matrix, number | BigNumber":function(l,c){throw new Error("prod(A, dim) is not yet supported")},"...":function(l){return s(l)}});function s(a){var l;if(Wi(a,function(c){try{l=l===void 0?c:r(l,c)}catch(h){throw wn(h,"prod",c)}}),typeof l=="string"&&(l=n(l,e.number)),l===void 0)throw new Error("Cannot calculate prod of an empty array");return l}}),jg="numeric",Yg=["number","?bignumber","?fraction"],Zg=_t(jg,Yg,i=>{var{number:t,bignumber:e,fraction:r}=i,n={string:!0,number:!0,BigNumber:!0,Fraction:!0},s={number:a=>t(a),BigNumber:e?a=>e(a):Ng,Fraction:r?a=>r(a):Sg};return function(l){var c=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"number",h=arguments.length>2?arguments[2]:void 0;if(h!==void 0)throw new SyntaxError("numeric() takes one or two arguments");var p=pn(l);if(!(p in n))throw new TypeError("Cannot convert "+l+' of type "'+p+'"; valid input types are '+Object.keys(n).join(", "));if(!(c in s))throw new TypeError("Cannot convert "+l+' to type "'+c+'"; valid output types are '+Object.keys(s).join(", "));return c===p?l:s[c](l)}}),ef="divideScalar",Gg=["typed","numeric"],Kg=_t(ef,Gg,i=>{var{typed:t,numeric:e}=i;return t(ef,{"number, number":function(n,s){return n/s},"Complex, Complex":function(n,s){return n.div(s)},"BigNumber, BigNumber":function(n,s){return n.div(s)},"Fraction, Fraction":function(n,s){return n.div(s)},"Unit, number | Complex | Fraction | BigNumber | Unit":(r,n)=>r.divide(n),"number | Fraction | Complex | BigNumber, Unit":(r,n)=>n.divideInto(r)})}),rf="pow",Hg=["typed","config","identity","multiply","matrix","inv","fraction","number","Complex"],Jg=_t(rf,Hg,i=>{var{typed:t,config:e,identity:r,multiply:n,matrix:s,inv:a,number:l,fraction:c,Complex:h}=i;return t(rf,{"number, number":p,"Complex, Complex":function(w,m){return w.pow(m)},"BigNumber, BigNumber":function(w,m){return m.isInteger()||w>=0||e.predictable?w.pow(m):new h(w.toNumber(),0).pow(m.toNumber(),0)},"Fraction, Fraction":function(w,m){var D=w.pow(m);if(D!=null)return D;if(e.predictable)throw new Error("Result of pow is non-rational and cannot be expressed as a fraction");return p(w.valueOf(),m.valueOf())},"Array, number":f,"Array, BigNumber":function(w,m){return f(w,m.toNumber())},"Matrix, number":d,"Matrix, BigNumber":function(w,m){return d(w,m.toNumber())},"Unit, number | BigNumber":function(w,m){return w.pow(m)}});function p(g,w){if(e.predictable&&!pe(w)&&g<0)try{var m=c(w),D=l(m);if((w===D||Math.abs((w-D)/w)<1e-14)&&m.d%2===1)return(m.n%2===0?1:-1)*Math.pow(-g,w)}catch{}return e.predictable&&(g<-1&&w===1/0||g>-1&&g<0&&w===-1/0)?NaN:pe(w)||g>=0||e.predictable?Fc(g,w):g*g<1&&w===1/0||g*g>1&&w===-1/0?0:new h(g,0).pow(w,0)}function f(g,w){if(!pe(w))throw new TypeError("For A^b, b must be an integer (value is "+w+")");var m=Ae(g);if(m.length!==2)throw new Error("For A^b, A must be 2 dimensional (A has "+m.length+" dimensions)");if(m[0]!==m[1])throw new Error("For A^b, A must be square (size is "+m[0]+"x"+m[1]+")");if(w<0)try{return f(a(g),-w)}catch(E){throw E.message==="Cannot calculate inverse, determinant is zero"?new TypeError("For A^b, when A is not invertible, b must be a positive integer (value is "+w+")"):E}for(var D=r(m[0]).valueOf(),v=g;w>=1;)(w&1)===1&&(D=n(v,D)),w>>=1,v=n(v,v);return D}function d(g,w){return s(f(g.valueOf(),w))}}),nf="dotDivide",Xg=["typed","matrix","equalScalar","divideScalar","DenseMatrix","concat"],Vg=_t(nf,Xg,i=>{var{typed:t,matrix:e,equalScalar:r,divideScalar:n,DenseMatrix:s,concat:a}=i,l=jm({typed:t,equalScalar:r}),c=hi({typed:t}),h=zs({typed:t,DenseMatrix:s}),p=ba({typed:t,equalScalar:r}),f=fi({typed:t,DenseMatrix:s}),d=Un({typed:t,matrix:e,concat:a});return t(nf,d({elop:n,SS:h,DS:c,SD:l,Ss:p,sS:f}))}),qs="compare",Qg=["typed","config","matrix","equalScalar","BigNumber","Fraction","DenseMatrix","concat"],tv=_t(qs,Qg,i=>{var{typed:t,config:e,equalScalar:r,matrix:n,BigNumber:s,Fraction:a,DenseMatrix:l,concat:c}=i,h=hi({typed:t}),p=zc({typed:t,equalScalar:r}),f=fi({typed:t,DenseMatrix:l}),d=Un({typed:t,matrix:n,concat:c}),g=Ls({typed:t});return t(qs,ev({typed:t,config:e}),{"boolean, boolean":function(m,D){return m===D?0:m>D?1:-1},"BigNumber, BigNumber":function(m,D){return Rs(m,D,e.epsilon)?new s(0):new s(m.cmp(D))},"Fraction, Fraction":function(m,D){return new a(m.compare(D))},"Complex, Complex":function(){throw new TypeError("No ordering relation is defined for complex numbers")}},g,d({SS:p,DS:h,Ss:f}))}),ev=_t(qs,["typed","config"],i=>{var{typed:t,config:e}=i;return t(qs,{"number, number":function(n,s){return kn(n,s,e.epsilon)?0:n>s?1:-1}})}),ks="equal",rv=["typed","matrix","equalScalar","DenseMatrix","concat"],nv=_t(ks,rv,i=>{var{typed:t,matrix:e,equalScalar:r,DenseMatrix:n,concat:s}=i,a=hi({typed:t}),l=zs({typed:t,DenseMatrix:n}),c=fi({typed:t,DenseMatrix:n}),h=Un({typed:t,matrix:e,concat:s});return t(ks,iv({typed:t,equalScalar:r}),h({elop:r,SS:l,DS:a,Ss:c}))}),iv=_t(ks,["typed","equalScalar"],i=>{var{typed:t,equalScalar:e}=i;return t(ks,{"any, any":function(n,s){return n===null?s===null:s===null?n===null:n===void 0?s===void 0:s===void 0?n===void 0:e(n,s)}})}),Us="smaller",sv=["typed","config","matrix","DenseMatrix","concat"],ov=_t(Us,sv,i=>{var{typed:t,config:e,matrix:r,DenseMatrix:n,concat:s}=i,a=hi({typed:t}),l=zs({typed:t,DenseMatrix:n}),c=fi({typed:t,DenseMatrix:n}),h=Un({typed:t,matrix:r,concat:s}),p=Ls({typed:t});return t(Us,av({typed:t,config:e}),{"boolean, boolean":(f,d)=>f<d,"BigNumber, BigNumber":function(d,g){return d.lt(g)&&!Rs(d,g,e.epsilon)},"Fraction, Fraction":(f,d)=>f.compare(d)===-1,"Complex, Complex":function(d,g){throw new TypeError("No ordering relation is defined for complex numbers")}},p,h({SS:l,DS:a,Ss:c}))}),av=_t(Us,["typed","config"],i=>{var{typed:t,config:e}=i;return t(Us,{"number, number":function(n,s){return n<s&&!kn(n,s,e.epsilon)}})}),Ws="larger",uv=["typed","config","matrix","DenseMatrix","concat"],lv=_t(Ws,uv,i=>{var{typed:t,config:e,matrix:r,DenseMatrix:n,concat:s}=i,a=hi({typed:t}),l=zs({typed:t,DenseMatrix:n}),c=fi({typed:t,DenseMatrix:n}),h=Un({typed:t,matrix:r,concat:s}),p=Ls({typed:t});return t(Ws,cv({typed:t,config:e}),{"boolean, boolean":(f,d)=>f>d,"BigNumber, BigNumber":function(d,g){return d.gt(g)&&!Rs(d,g,e.epsilon)},"Fraction, Fraction":(f,d)=>f.compare(d)===1,"Complex, Complex":function(){throw new TypeError("No ordering relation is defined for complex numbers")}},p,h({SS:l,DS:a,Ss:c}))}),cv=_t(Ws,["typed","config"],i=>{var{typed:t,config:e}=i;return t(Ws,{"number, number":function(n,s){return n>s&&!kn(n,s,e.epsilon)}})}),sf="deepEqual",fv=["typed","equal"],hv=_t(sf,fv,i=>{var{typed:t,equal:e}=i;return t(sf,{"any, any":function(s,a){return r(s.valueOf(),a.valueOf())}});function r(n,s){if(Array.isArray(n))if(Array.isArray(s)){var a=n.length;if(a!==s.length)return!1;for(var l=0;l<a;l++)if(!r(n[l],s[l]))return!1;return!0}else return!1;else return Array.isArray(s)?!1:e(n,s)}}),of="partitionSelect",pv=["typed","isNumeric","isNaN","compare"],dv=_t(of,pv,i=>{var{typed:t,isNumeric:e,isNaN:r,compare:n}=i,s=n,a=(h,p)=>-n(h,p);return t(of,{"Array | Matrix, number":function(p,f){return l(p,f,s)},"Array | Matrix, number, string":function(p,f,d){if(d==="asc")return l(p,f,s);if(d==="desc")return l(p,f,a);throw new Error('Compare string must be "asc" or "desc"')},"Array | Matrix, number, function":l});function l(h,p,f){if(!pe(p)||p<0)throw new Error("k must be a non-negative integer");if(ce(h)){var d=h.size();if(d.length>1)throw new Error("Only one dimensional matrices supported");return c(h.valueOf(),p,f)}if(Array.isArray(h))return c(h,p,f)}function c(h,p,f){if(p>=h.length)throw new Error("k out of bounds");for(var d=0;d<h.length;d++)if(e(h[d])&&r(h[d]))return h[d];for(var g=0,w=h.length-1;g<w;){for(var m=g,D=w,v=h[Math.floor(Math.random()*(w-g+1))+g];m<D;)if(f(h[m],v)>=0){var E=h[D];h[D]=h[m],h[m]=E,--D}else++m;f(h[m],v)>0&&--m,p<=m?w=m:g=m+1}return h[p]}}),af="max",_v=["typed","config","numeric","larger"],mv=_t(af,_v,i=>{var{typed:t,config:e,numeric:r,larger:n}=i;return t(af,{"Array | Matrix":a,"Array | Matrix, number | BigNumber":function(c,h){return Da(c,h.valueOf(),s)},"...":function(c){if(Is(c))throw new TypeError("Scalar values expected in function max");return a(c)}});function s(l,c){try{return n(l,c)?l:c}catch(h){throw wn(h,"max",c)}}function a(l){var c;if(Wi(l,function(h){try{isNaN(h)&&typeof h=="number"?c=NaN:(c===void 0||n(h,c))&&(c=h)}catch(p){throw wn(p,"max",h)}}),c===void 0)throw new Error("Cannot calculate max of an empty array");return typeof c=="string"&&(c=r(c,e.number)),c}}),uf="min",gv=["typed","config","numeric","smaller"],vv=_t(uf,gv,i=>{var{typed:t,config:e,numeric:r,smaller:n}=i;return t(uf,{"Array | Matrix":a,"Array | Matrix, number | BigNumber":function(c,h){return Da(c,h.valueOf(),s)},"...":function(c){if(Is(c))throw new TypeError("Scalar values expected in function min");return a(c)}});function s(l,c){try{return n(l,c)?l:c}catch(h){throw wn(h,"min",c)}}function a(l){var c;if(Wi(l,function(h){try{isNaN(h)&&typeof h=="number"?c=NaN:(c===void 0||n(h,c))&&(c=h)}catch(p){throw wn(p,"min",h)}}),c===void 0)throw new Error("Cannot calculate min of an empty array");return typeof c=="string"&&(c=r(c,e.number)),c}}),lf="add",wv=["typed","matrix","addScalar","equalScalar","DenseMatrix","SparseMatrix","concat"],yv=_t(lf,wv,i=>{var{typed:t,matrix:e,addScalar:r,equalScalar:n,DenseMatrix:s,SparseMatrix:a,concat:l}=i,c=qc({typed:t}),h=ag({typed:t,equalScalar:n}),p=kc({typed:t,DenseMatrix:s}),f=Un({typed:t,matrix:e,concat:l});return t(lf,{"any, any":r,"any, any, ...any":t.referToSelf(d=>(g,w,m)=>{for(var D=d(g,w),v=0;v<m.length;v++)D=d(D,m[v]);return D})},f({elop:r,DS:c,SS:h,Ss:p}))}),cf="dot",Dv=["typed","addScalar","multiplyScalar","conj","size"],bv=_t(cf,Dv,i=>{var{typed:t,addScalar:e,multiplyScalar:r,conj:n,size:s}=i;return t(cf,{"Array | DenseMatrix, Array | DenseMatrix":l,"SparseMatrix, SparseMatrix":c});function a(p,f){var d=h(p),g=h(f),w,m;if(d.length===1)w=d[0];else if(d.length===2&&d[1]===1)w=d[0];else throw new RangeError("Expected a column vector, instead got a matrix of size ("+d.join(", ")+")");if(g.length===1)m=g[0];else if(g.length===2&&g[1]===1)m=g[0];else throw new RangeError("Expected a column vector, instead got a matrix of size ("+g.join(", ")+")");if(w!==m)throw new RangeError("Vectors must have equal length ("+w+" != "+m+")");if(w===0)throw new RangeError("Cannot calculate the dot product of empty vectors");return w}function l(p,f){var d=a(p,f),g=ce(p)?p._data:p,w=ce(p)?p._datatype||p.getDataType():void 0,m=ce(f)?f._data:f,D=ce(f)?f._datatype||f.getDataType():void 0,v=h(p).length===2,E=h(f).length===2,b=e,N=r;if(w&&D&&w===D&&typeof w=="string"&&w!=="mixed"){var x=w;b=t.find(e,[x,x]),N=t.find(r,[x,x])}if(!v&&!E){for(var F=N(n(g[0]),m[0]),M=1;M<d;M++)F=b(F,N(n(g[M]),m[M]));return F}if(!v&&E){for(var S=N(n(g[0]),m[0][0]),O=1;O<d;O++)S=b(S,N(n(g[O]),m[O][0]));return S}if(v&&!E){for(var C=N(n(g[0][0]),m[0]),T=1;T<d;T++)C=b(C,N(n(g[T][0]),m[T]));return C}if(v&&E){for(var R=N(n(g[0][0]),m[0][0]),U=1;U<d;U++)R=b(R,N(n(g[U][0]),m[U][0]));return R}}function c(p,f){a(p,f);for(var d=p._index,g=p._values,w=f._index,m=f._values,D=0,v=e,E=r,b=0,N=0;b<d.length&&N<w.length;){var x=d[b],F=w[N];if(x<F){b++;continue}if(x>F){N++;continue}x===F&&(D=v(D,E(g[b],m[N])),b++,N++)}return D}function h(p){return ce(p)?p.size():s(p)}}),Ev="trace",xv=["typed","matrix","add"],Av=_t(Ev,xv,i=>{var{typed:t,matrix:e,add:r}=i;return t("trace",{Array:function(l){return n(e(l))},SparseMatrix:s,DenseMatrix:n,any:ee});function n(a){var l=a._size,c=a._data;switch(l.length){case 1:if(l[0]===1)return ee(c[0]);throw new RangeError("Matrix must be square (size: "+se(l)+")");case 2:{var h=l[0],p=l[1];if(h===p){for(var f=0,d=0;d<h;d++)f=r(f,c[d][d]);return f}else throw new RangeError("Matrix must be square (size: "+se(l)+")")}default:throw new RangeError("Matrix must be two dimensional (size: "+se(l)+")")}}function s(a){var l=a._values,c=a._index,h=a._ptr,p=a._size,f=p[0],d=p[1];if(f===d){var g=0;if(l.length>0)for(var w=0;w<d;w++)for(var m=h[w],D=h[w+1],v=m;v<D;v++){var E=c[v];if(E===w){g=r(g,l[v]);break}if(E>w)break}return g}throw new RangeError("Matrix must be square (size: "+se(p)+")")}}),ff="det",Cv=["typed","matrix","subtractScalar","multiply","divideScalar","isZero","unaryMinus"],Fv=_t(ff,Cv,i=>{var{typed:t,matrix:e,subtractScalar:r,multiply:n,divideScalar:s,isZero:a,unaryMinus:l}=i;return t(ff,{any:function(p){return ee(p)},"Array | Matrix":function(p){var f;switch(ce(p)?f=p.size():Array.isArray(p)?(p=e(p),f=p.size()):f=[],f.length){case 0:return ee(p);case 1:if(f[0]===1)return ee(p.valueOf()[0]);if(f[0]===0)return 1;throw new RangeError("Matrix must be square (size: "+se(f)+")");case 2:{var d=f[0],g=f[1];if(d===g)return c(p.clone().valueOf(),d);if(g===0)return 1;throw new RangeError("Matrix must be square (size: "+se(f)+")")}default:throw new RangeError("Matrix must be two dimensional (size: "+se(f)+")")}}});function c(h,p,f){if(p===1)return ee(h[0][0]);if(p===2)return r(n(h[0][0],h[1][1]),n(h[1][0],h[0][1]));for(var d=!1,g=new Array(p).fill(0).map((M,S)=>S),w=0;w<p;w++){var m=g[w];if(a(h[m][w])){var D=void 0;for(D=w+1;D<p;D++)if(!a(h[g[D]][w])){m=g[D],g[D]=g[w],g[w]=m,d=!d;break}if(D===p)return h[m][w]}for(var v=h[m][w],E=w===0?1:h[g[w-1]][w-1],b=w+1;b<p;b++)for(var N=g[b],x=w+1;x<p;x++)h[N][x]=s(r(n(h[N][x],v),n(h[N][w],h[m][x])),E)}var F=h[g[p-1]][p-1];return d?l(F):F}}),hf="inv",Mv=["typed","matrix","divideScalar","addScalar","multiply","unaryMinus","det","identity","abs"],Nv=_t(hf,Mv,i=>{var{typed:t,matrix:e,divideScalar:r,addScalar:n,multiply:s,unaryMinus:a,det:l,identity:c,abs:h}=i;return t(hf,{"Array | Matrix":function(d){var g=ce(d)?d.size():Ae(d);switch(g.length){case 1:if(g[0]===1)return ce(d)?e([r(1,d.valueOf()[0])]):[r(1,d[0])];throw new RangeError("Matrix must be square (size: "+se(g)+")");case 2:{var w=g[0],m=g[1];if(w===m)return ce(d)?e(p(d.valueOf(),w,m),d.storage()):p(d,w,m);throw new RangeError("Matrix must be square (size: "+se(g)+")")}default:throw new RangeError("Matrix must be two dimensional (size: "+se(g)+")")}},any:function(d){return r(1,d)}});function p(f,d,g){var w,m,D,v,E;if(d===1){if(v=f[0][0],v===0)throw Error("Cannot calculate inverse, determinant is zero");return[[r(1,v)]]}else if(d===2){var b=l(f);if(b===0)throw Error("Cannot calculate inverse, determinant is zero");return[[r(f[1][1],b),r(a(f[0][1]),b)],[r(a(f[1][0]),b),r(f[0][0],b)]]}else{var N=f.concat();for(w=0;w<d;w++)N[w]=N[w].concat();for(var x=c(d).valueOf(),F=0;F<g;F++){var M=h(N[F][F]),S=F;for(w=F+1;w<d;)h(N[w][F])>M&&(M=h(N[w][F]),S=w),w++;if(M===0)throw Error("Cannot calculate inverse, determinant is zero");w=S,w!==F&&(E=N[F],N[F]=N[w],N[w]=E,E=x[F],x[F]=x[w],x[w]=E);var O=N[F],C=x[F];for(w=0;w<d;w++){var T=N[w],R=x[w];if(w!==F){if(T[F]!==0){for(D=r(a(T[F]),O[F]),m=F;m<g;m++)T[m]=n(T[m],s(D,O[m]));for(m=0;m<g;m++)R[m]=n(R[m],s(D,C[m]))}}else{for(D=O[F],m=F;m<g;m++)T[m]=r(T[m],D);for(m=0;m<g;m++)R[m]=r(R[m],D)}}}return x}}}),pf="pinv",Sv=["typed","matrix","inv","deepEqual","equal","dotDivide","dot","ctranspose","divideScalar","multiply","add","Complex"],Bv=_t(pf,Sv,i=>{var{typed:t,matrix:e,inv:r,deepEqual:n,equal:s,dotDivide:a,dot:l,ctranspose:c,divideScalar:h,multiply:p,add:f,Complex:d}=i;return t(pf,{"Array | Matrix":function(b){var N=ce(b)?b.size():Ae(b);switch(N.length){case 1:return v(b)?c(b):N[0]===1?r(b):a(c(b),l(b,b));case 2:{if(v(b))return c(b);var x=N[0],F=N[1];if(x===F)try{return r(b)}catch(M){if(!(M instanceof Error&&M.message.match(/Cannot calculate inverse, determinant is zero/)))throw M}return ce(b)?e(g(b.valueOf(),x,F),b.storage()):g(b,x,F)}default:throw new RangeError("Matrix must be two dimensional (size: "+se(N)+")")}},any:function(b){return s(b,0)?ee(b):h(1,b)}});function g(E,b,N){var{C:x,F}=m(E,b,N),M=p(r(p(c(x),x)),c(x)),S=p(c(F),r(p(F,c(F))));return p(S,M)}function w(E,b,N){for(var x=ee(E),F=0,M=0;M<b;M++){if(N<=F)return x;for(var S=M;D(x[S][F]);)if(S++,b===S&&(S=M,F++,N===F))return x;[x[S],x[M]]=[x[M],x[S]];for(var O=x[M][F],C=0;C<N;C++)x[M][C]=a(x[M][C],O);for(var T=0;T<b;T++)if(T!==M){O=x[T][F];for(var R=0;R<N;R++)x[T][R]=f(x[T][R],p(-1,p(O,x[M][R])))}F++}return x}function m(E,b,N){var x=w(E,b,N),F=E.map((S,O)=>S.filter((C,T)=>T<b&&!D(l(x[T],x[T])))),M=x.filter((S,O)=>!D(l(x[O],x[O])));return{C:F,F:M}}function D(E){return s(f(E,d(1,1)),f(0,d(1,1)))}function v(E){return n(f(E,d(1,1)),f(p(E,0),d(1,1)))}}),Tv="divide",Iv=["typed","matrix","multiply","equalScalar","divideScalar","inv"],Ov=_t(Tv,Iv,i=>{var{typed:t,matrix:e,multiply:r,equalScalar:n,divideScalar:s,inv:a}=i,l=ba({typed:t,equalScalar:n}),c=Ea({typed:t});return t("divide",Tl({"Array | Matrix, Array | Matrix":function(p,f){return r(p,a(f))},"DenseMatrix, any":function(p,f){return c(p,f,s,!1)},"SparseMatrix, any":function(p,f){return l(p,f,s,!1)},"Array, any":function(p,f){return c(e(p),f,s,!1).valueOf()},"any, Array | Matrix":function(p,f){return r(p,a(f))}},s.signatures))}),df="sum",$v=["typed","config","add","numeric"],Rv=_t(df,$v,i=>{var{typed:t,config:e,add:r,numeric:n}=i;return t(df,{"Array | Matrix":s,"Array | Matrix, number | BigNumber":a,"...":function(c){if(Is(c))throw new TypeError("Scalar values expected in function sum");return s(c)}});function s(l){var c;return Wi(l,function(h){try{c=c===void 0?h:r(c,h)}catch(p){throw wn(p,"sum",h)}}),c===void 0&&(c=n(0,e.number)),typeof c=="string"&&(c=n(c,e.number)),c}function a(l,c){try{var h=Da(l,c,r);return h}catch(p){throw wn(p,"sum")}}}),_f="median",Lv=["typed","add","divide","compare","partitionSelect"],Pv=_t(_f,Lv,i=>{var{typed:t,add:e,divide:r,compare:n,partitionSelect:s}=i;function a(h){try{h=ha(h.valueOf());var p=h.length;if(p===0)throw new Error("Cannot calculate median of an empty array");if(p%2===0){for(var f=p/2-1,d=s(h,f+1),g=h[f],w=0;w<f;++w)n(h[w],g)>0&&(g=h[w]);return c(g,d)}else{var m=s(h,(p-1)/2);return l(m)}}catch(D){throw wn(D,"median")}}var l=t({"number | BigNumber | Complex | Unit":function(p){return p}}),c=t({"number | BigNumber | Complex | Unit, number | BigNumber | Complex | Unit":function(p,f){return r(e(p,f),2)}});return t(_f,{"Array | Matrix":a,"Array | Matrix, number | BigNumber":function(p,f){throw new Error("median(A, dim) is not yet supported")},"...":function(p){if(Is(p))throw new TypeError("Scalar values expected in function median");return a(p)}})}),js=z_({config:ir}),xa=W_({}),Aa=G_({}),Ca=J_({}),Yr=Q_({Matrix:Ca}),Ft=Ud({BigNumber:js,Complex:xa,DenseMatrix:Yr,Fraction:Aa}),zv=Bm({typed:Ft}),Ys=Im({typed:Ft}),qv=bm({BigNumber:js,typed:Ft}),mf=yg({typed:Ft}),yn=fm({config:ir,typed:Ft}),Zs=rm({typed:Ft}),kv=om({typed:Ft}),Gs=hg({typed:Ft}),gf=wm({typed:Ft}),Fa=dm({Matrix:Ca,equalScalar:yn,typed:Ft}),vf=$m({typed:Ft}),wf=um({typed:Ft}),Ma=Nm({typed:Ft}),yf=Am({Fraction:Aa,typed:Ft}),Df=im({typed:Ft}),Ce=Fm({DenseMatrix:Yr,Matrix:Ca,SparseMatrix:Fa,typed:Ft}),bf=kg({isNaN:wf,isNumeric:Df,typed:Ft}),ji=Zg({bignumber:qv,fraction:yf,number:gf}),Uv=Wg({config:ir,multiplyScalar:Gs,numeric:ji,typed:Ft}),Wv=Ig({isInteger:Zs,matrix:Ce,typed:Ft}),Ef=$g({matrix:Ce,config:ir,typed:Ft}),xf=Lg({matrix:Ce,typed:Ft}),Wn=bg({isInteger:Zs,matrix:Ce,typed:Ft}),jv=xg({prod:Uv,size:Ef,typed:Ft}),Yv=zg({conj:mf,transpose:xf,typed:Ft}),Yi=Kg({numeric:ji,typed:Ft}),Zv=Vg({DenseMatrix:Yr,concat:Wn,divideScalar:Yi,equalScalar:yn,matrix:Ce,typed:Ft}),Af=nv({DenseMatrix:Yr,concat:Wn,equalScalar:yn,matrix:Ce,typed:Ft}),Cf=Cg({BigNumber:js,DenseMatrix:Yr,SparseMatrix:Fa,config:ir,matrix:Ce,typed:Ft}),Gv=Mg({matrix:Ce,multiplyScalar:Gs,typed:Ft}),Kv=ov({DenseMatrix:Yr,concat:Wn,config:ir,matrix:Ce,typed:Ft}),Hv=mg({DenseMatrix:Yr,concat:Wn,equalScalar:yn,matrix:Ce,subtractScalar:vf,typed:Ft,unaryMinus:Ma}),Zi=yv({DenseMatrix:Yr,SparseMatrix:Fa,addScalar:Ys,concat:Wn,equalScalar:yn,matrix:Ce,typed:Ft}),Ff=tv({BigNumber:js,DenseMatrix:Yr,Fraction:Aa,concat:Wn,config:ir,equalScalar:yn,matrix:Ce,typed:Ft}),Jv=hv({equal:Af,typed:Ft}),Mf=bv({addScalar:Ys,conj:mf,multiplyScalar:Gs,size:Ef,typed:Ft}),Xv=lv({DenseMatrix:Yr,concat:Wn,config:ir,matrix:Ce,typed:Ft}),Na=vv({config:ir,numeric:ji,smaller:Kv,typed:Ft}),pi=dg({addScalar:Ys,dot:Mf,equalScalar:yn,matrix:Ce,multiplyScalar:Gs,typed:Ft}),Vv=dv({compare:Ff,isNaN:wf,isNumeric:Df,typed:Ft}),Qv=Rv({add:Zi,config:ir,numeric:ji,typed:Ft}),t1=Av({add:Zi,matrix:Ce,typed:Ft}),Nf=Fv({divideScalar:Yi,isZero:kv,matrix:Ce,multiply:pi,subtractScalar:vf,typed:Ft,unaryMinus:Ma}),e1=mv({config:ir,larger:Xv,numeric:ji,typed:Ft}),Ks=Nv({abs:zv,addScalar:Ys,det:Nf,divideScalar:Yi,identity:Cf,matrix:Ce,multiply:pi,typed:Ft,unaryMinus:Ma}),r1=Bv({Complex:xa,add:Zi,ctranspose:Yv,deepEqual:Jv,divideScalar:Yi,dot:Mf,dotDivide:Zv,equal:Af,inv:Ks,matrix:Ce,multiply:pi,typed:Ft}),n1=Jg({Complex:xa,config:ir,fraction:yf,identity:Cf,inv:Ks,matrix:Ce,multiply:pi,number:gf,typed:Ft}),i1=Ov({divideScalar:Yi,equalScalar:yn,inv:Ks,matrix:Ce,multiply:pi,typed:Ft}),Sf=Pv({add:Zi,compare:Ff,divide:i1,partitionSelect:Vv,typed:Ft});class s1{constructor(t,e,r){q(this,"_cacheData");q(this,"_variables");q(this,"_math");q(this,"_timeframe");this._cacheData={},this._variables=t,this._math=e,this._timeframe=r}alma({series:t,length:e,offset:r,sigma:n,floor:s},a){if(e===void 0||r===void 0||n===void 0)return;const l=this._cacheDataList(t,e,`alma_${a}`);if(l===void 0)return;let c=r*(e-1);s&&(c=Math.floor(c));const h=e/n;let p=0,f=0;for(let d=0;d<=e-1;d++){const g=Math.exp(-1*Math.pow(d-c,2)/(2*Math.pow(h,2)));p+=g,f+=l[l.length-1-(e-d-1)]*g}return f/p}sma({source:t,length:e},r){if(t===void 0||isNaN(t)||e===void 0)return;let n=0;const s=this._cacheDataList(t,e,`sma_${r}`);if(s===void 0)return;const a=s.slice(-e);return n=Qv(...a)/e,n}rma({source:t,length:e},r){if(t===void 0||e===void 0||isNaN(t))return;const n=this._cacheData[`sma_${r}`]||[];n[this._variables.bar_index]=t,this._cacheData[`sma_${r}`]=n;const{sum:s}=this._cacheData[`rma_${r}`]||{},a=1/e,l=s===void 0?this.sma({source:t,length:e},r):a*t+(1-a)*(s||0);return this._cacheDataHandle(`rma_${r}`,{sum:l}),l}atr({length:t},e){const{high:r,close:n}=this._cacheData[`atr_${e}`]||{},{high:s,close:a,low:l}=this._variables,c=r===void 0?s-l:Math.max(Math.max(s-l,Math.abs(s-n)),Math.abs(l-n));return this._cacheDataHandle(`atr_${e}`,{high:s,close:a}),this.rma({source:c,length:t},e)}barssince({condition:t},e){let{count:r}=this._cacheData[`barssince_${e}`]||{};if(t)r=0;else{if(r===void 0)return;r+=1}return this._cacheDataHandle(`barssince_${e}`,{count:r}),r}stdev({source:t,length:e,biased:r=!0},n){if(t===void 0||isNaN(t)||e===void 0)return;const s=this._cacheDataList(t,e,`stdev_${n}`),a=this.sma({source:t,length:e},n);if(s===void 0)return;let l=0;for(let c=0;c<e;c++){const h=this._sum(s[s.length-1-c],-(a||0));l+=h*h}return r||e<=1?Math.sqrt(l/e):Math.sqrt(l/(e-1))}_sum(t,e){let n=t+e;return Math.abs(n)<=1e-10&&(n=0),n}bb({series:t,length:e,mult:r},n){if(t===void 0||isNaN(t)||e===void 0||r===void 0)return[];const s=this.sma({source:t,length:e},n),a=this.stdev({source:t,length:e},n);if(s===void 0||a===void 0)return[];const l=r*a;return[s,s+l,s-l]}bbw({series:t,length:e,mult:r},n){if(t===void 0||isNaN(t)||e===void 0||r===void 0)return;const s=this.sma({source:t,length:e},n),a=this.stdev({source:t,length:e},n);if(s===void 0||a===void 0)return;const l=r*a;return(s+l-(s-l))/s}cci({source:t,length:e},r){if(t===void 0||isNaN(t)||e===void 0)return;const n=this.sma({source:t,length:e},r),s=this.dev({source:t,length:e},r);if(!(n===void 0||s===void 0))return(t-n)/(.015*s)}change({source:t,length:e=1},r){const n=this._cacheData[`change_${r}`]||[];n[this._variables.bar_index]=t,this._cacheData[`change_${r}`]=n;const s=n[n.length-1-e];if(!(t===void 0||isNaN(t)))return s===void 0?s:typeof t=="boolean"?s!==t:t-s}cmo({series:t,length:e},r){if(t===void 0||isNaN(t)||e===void 0)return;const n=this.change({source:t},r);if(n===void 0)return;const s=this._math.sum({source:n>=0?n:0,length:e},`sm1_${r}`),a=this._math.sum({source:n>=0?0:-n,length:e},`sm2_${r}`);if(!(s===void 0||a===void 0))return 100*(s-a)/(s+a)}cog({source:t,length:e},r){if(t===void 0||isNaN(t)||e===void 0)return;const n=this._cacheDataList(t,e,`cog_${r}`),s=this._math.sum({source:t,length:e},r);if(s===void 0||n===void 0)return;let a=0;for(let l=0;l<e;l++){const c=n[n.length-1-l];a+=c*(l+1)}return-a/s}correlation({source1:t,source2:e,length:r},n){if(t===void 0||isNaN(t)||e===void 0||isNaN(e)||r===void 0)return;const s=this._cacheDataList([t,e],r,`correlation_${n}`),a=this.sma({source:t,length:r},`sma1_${n}`),l=this.sma({source:e,length:r},`sma2_${n}`);if(a===void 0||l===void 0||s===void 0)return;let c=0,h=0,p=0;for(let d=0;d<r;d++){const[g,w]=s[s.length-1-d],m=g-a,D=w-l;c+=m*D,h+=m*m,p+=D*D}return isNaN(h)||isNaN(c)||isNaN(p)?void 0:c/Math.sqrt(h*p)}cross({source1:t,source2:e},r){if(t===void 0||e===void 0)return!1;const{source1:n,source2:s}=this._cacheData[`cross_${r}`]||{};return this._cacheDataHandle(`cross_${r}`,{source1:t,source2:e}),n===void 0||s===void 0?!1:n>=s&&t<e||n<=s&&t>e}crossover({source1:t,source2:e},r){if(t===void 0||e===void 0)return!1;const{source1:n,source2:s}=this._cacheData[`crossover_${r}`]||{};return this._cacheDataHandle(`crossover_${r}`,{source1:t,source2:e}),n===void 0||s===void 0?!1:n<=s&&t>e}crossunder({source1:t,source2:e},r){if(t===void 0||e===void 0)return!1;const{source1:n,source2:s}=this._cacheData[`crossunder_${r}`]||{};return this._cacheDataHandle(`crossunder_${r}`,{source1:t,source2:e}),n===void 0||s===void 0?!1:n>=s&&t<e}cum({source:t=0},e){t=isNaN(t)?0:t;let{sum:r}=this._cacheData[`cum_${e}`]||{};return r=r||0,r+=t,this._cacheDataHandle(`cum_${e}`,{sum:r}),r}dev({source:t,length:e},r){if(t===void 0||isNaN(t)||e===void 0)return;const n=this.sma({source:t,length:e},r);let s=0;const a=this._cacheDataList(t,e,`dev_${r}`);if(!(!a||n===void 0)){for(let l=0;l<e;l++){const c=a[a.length-1-l];s+=Math.abs(c-n)}return s/e}}dmi({diLength:t,adxSmoothing:e},r){if(t===void 0||e===void 0)return[void 0,void 0,void 0];const n=`dmi_${r}`,{low:s,high:a,close:l,PDMS:c,NDMS:h,TRS:p,ADX:f,count:d=0}=this._cacheData[n]||{},{low:g,high:w,close:m}=this._variables;if(s===void 0||a===void 0||l===void 0)return this._cacheData[n]={low:g,high:w,close:m,PDMS:c,NDMS:h,TRS:w-g,count:1},[void 0,void 0,void 0];let D=w-a,v=s-g;D=D>v&&D>0?D:0,v=v>D&&v>0?v:0,D===v&&(D=v=0);const E=Math.max(w-g,Math.abs(w-l),Math.abs(g-l));if(d<t)return this._cacheDataHandle(n,{low:g,high:w,close:m,PDMS:(c||0)+D,NDMS:(h||0)+v,TRS:(p||0)+E,count:d+1}),[void 0,void 0,void 0];{const b=c-c/t+D,N=h-h/t+v,x=p-p/t+E,F=b/x*100,M=N/x*100,S=Math.abs((F-M)/(F+M))*100;let O=S,C=[F,M,void 0];if(d+1-t<e){const T=d+1-t;O=((f||0)*(T-1)+S)/T}else O=(f*(e-1)+S)/e,C=[F,M,O];return this._cacheDataHandle(n,{low:g,high:w,close:m,PDMS:b,NDMS:N,TRS:x,ADX:O,count:d+1}),C}}ema({source:t,length:e},r){if(t===void 0||e===void 0||isNaN(t))return;let{sum:n,count:s=1}=this._cacheData[`ema_${r}`]||{};const a=this.sma({source:t,length:e},r);if(s>e){const l=2/(e+1);n=n===void 0?t:l*t+(1-l)*(n||0)}else n=a;return s+=1,this._cacheDataHandle(`ema_${r}`,{sum:n,count:s}),n}falling({source:t,length:e},r){if(t===void 0||isNaN(t)||e===void 0)return!1;const{source:n,fallings:s=[]}=this._cacheData[`falling_${r}`]||{};s.push(n>t);const a=s.slice(-e);return this._cacheDataHandle(`falling_${r}`,{source:t,fallings:a}),a.length<e?!1:a.every(l=>l)}rising({source:t,length:e},r){if(t===void 0||isNaN(t)||e===void 0)return!1;const{source:n,risings:s=[]}=this._cacheData[`rising_${r}`]||{};s.push(n<t);const a=s.slice(-e);return this._cacheDataHandle(`rising_${r}`,{source:t,risings:a}),a.length<e?!1:a.every(l=>l)}highest({source:t,length:e},r){if(e===void 0||e<=0)return;const n=this._cacheData[`highest_${r}`]||[],{high:s,bar_index:a}=this._variables;typeof t!="number"?n[a]=s:n[a]=t,this._cacheData[`highest_${r}`]=n;const l=n.filter(()=>!0);if(!(l.length<e))return Math.max(...l.slice(-e))}highestbars({source:t,length:e},r){if(e===void 0||e<=0)return;const n=this._cacheData[`highestbars_${r}`]||[],{high:s,bar_index:a}=this._variables;typeof t!="number"?n[a]=s:n[a]=t,this._cacheData[`highestbars_${r}`]=n;const l=n.filter(()=>!0);return l.length<e?void 0:l.slice(-e).reduce((h,p,f,d)=>p>=d[h]?f:h,0)-e+1}wma({source:t,length:e},r){if(e===void 0||t===void 0||isNaN(t)||e<=0)return;const n=this._cacheDataList(t,e,`wma_${r}`);if(!n)return;let s=0,a=0;for(let l=0;l<e;l++){const c=(e-l)*e;s+=c,a+=n[n.length-1-l]*c}return a/s}hma({source:t,length:e},r){if(e===void 0||t===void 0||isNaN(t)||e<=0)return;const n=this.wma({source:t,length:e},r),s=this.wma({source:t,length:Math.round(e/2)},r);return n===void 0||s===void 0?void 0:this.wma({source:2*s-n,length:Math.floor(Math.sqrt(e))},`hma_${r}`)}kc({series:t,length:e,mult:r,useTrueRange:n=!0},s){if(t===void 0||isNaN(t)||e===void 0||r===void 0)return[void 0,void 0,void 0];const a=this.ema({source:t,length:e},s),{ta:l,high:c,low:h}=this._variables,p=n?l.tr:c-h,f=this.ema({source:p,length:e},`range_${s}`);return[a,a+f*r,a-f*r]}kcw({series:t,length:e,mult:r,useTrueRange:n=!0},s){if(t===void 0||isNaN(t)||e===void 0||r===void 0)return;const a=this.ema({source:t,length:e},s),{ta:l,high:c,low:h}=this._variables,p=n?l.tr:c-h,f=this.ema({source:p,length:e},`range_${s}`);return(a+f*r-(a-f*r))/a}linreg({source:t,length:e,offset:r},n){if(e===void 0||r===void 0)return;const s=this._cacheDataList(t,e,`dev_${n}`);if(!s)return;const a=s.slice(-e).filter(g=>g!==void 0);let l=0,c=0,h=0,p=0;for(const[g,w]of a.entries())l+=g,c+=w,h+=g*w,p+=g*g;const f=(e*h-l*c)/(e*p-l*l);return(c-f*l)/e+f*(e-1-r)}lowest({source:t,length:e},r){if(e===void 0||e<=0)return;const n=this._cacheData[`lowest_${r}`]||[],{low:s,bar_index:a}=this._variables;typeof t!="number"?n[a]=s:n[a]=t,this._cacheData[`lowest_${r}`]=n;const l=n.filter(()=>!0);if(!(l.length<e))return Math.min(...l.slice(-e))}lowestbars({source:t,length:e},r){if(e===void 0||e<=0)return;const n=this._cacheData[`lowestbars_${r}`]||[],{low:s,bar_index:a}=this._variables;typeof t!="number"?n[a]=s:n[a]=t,this._cacheData[`lowestbars_${r}`]=n;const l=n.filter(()=>!0);return l.length<e?void 0:l.slice(-e).reduce((h,p,f,d)=>p<=d[h]?f:h,0)-e+1}macd({source:t,fastlen:e,slowlen:r,siglen:n},s){if(t===void 0||isNaN(t)||e===void 0||r===void 0||n===void 0)return[void 0,void 0,void 0];const a=this.ema({source:t,length:e},`ema1_${s}`),l=this.ema({source:t,length:r},`ema2_${s}`);if(a===void 0||l===void 0)return[void 0,void 0,void 0];const c=a-l,h=this.ema({source:c,length:n},`macd_${s}`);if(h===void 0)return[c,h,void 0];const p=c-h;return[c,h,p]}max({source:t},e){if(t===void 0||isNaN(t))return;let r=this._cacheData[`max_${e}`]||0;return t>r&&(r=t),this._cacheData[`max_${e}`]=r,r}min({source:t},e){if(t===void 0||isNaN(t))return;let r=this._cacheData[`min_${e}`]||1/0;return t<r&&(r=t),this._cacheData[`min_${e}`]=r,r}median({source:t,length:e},r){if(e===void 0||t===void 0||isNaN(t)||e<=0)return;const n=this._cacheDataList(t,e,`dev_${r}`);if(n)return Sf(n.slice(-e))}mfi({series:t,length:e},r){if(e===void 0||t===void 0||isNaN(t)||e<=0)return;const{volume:n}=this._variables,s=this.change({source:t},r),a=this._math.sum({source:n*(s>=0?0:t),length:e},`lower_${r}`),l=this._math.sum({source:n*(s<=0?0:t),length:e},`upper_${r}`);if(!(l===void 0||a===void 0))return 100-100/(1+l/a)}mode({source:t,length:e},r){if(e===void 0||t===void 0||isNaN(t)||e<=0)return;const n=this._cacheDataList(t,e,`mode_${r}`);if(n)return Na(bf(n.slice(-e)))}mom({source:t,length:e},r){if(e===void 0||e<0)return;const n=`mom_${r}`,s=this._cacheData[n]||[];if(s[this._variables.bar_index]=t,this._cacheData[n]=s,s.length<=e||t===void 0||isNaN(t))return;let a=s.length-e-1,l;for(;l===void 0&&a>=0;)l=s[a],a--;return l===void 0?l:t-l}percentile_linear_interpolation({source:t,length:e,percentage:r},n){if(e===void 0||r===void 0||e<0||r<0||r>100)return;const s=this._cacheDataList(t,e+1,`percentile_linear_interpolation_${n}`);if(!s)return;const a=this._sort(s.slice(-(e+1))),l=a.length;r/=100;const c=1/(l*2);if(r<=c)return a[0];if(r>=1-1/(l*2))return a[l-1];for(const[h,p]of a.entries()){const f=a[h-1];if(r<(h+.5)/l)return f===void 0||p===void 0?void 0:f+(p-f)*(r-(h-.5)/l)/(1/l)}}percentile_nearest_rank({source:t,length:e,percentage:r},n){if(e===void 0||r===void 0||t===void 0||isNaN(t)||e<0||r<0||r>100)return;const s=this._cacheDataList(t,e,`percentile_nearest_rank_${n}`);if(!s)return;const a=this._sort(s.slice(-e)),l=r/100*a.length,c=Math.ceil(l)-1;return a[c>=a.length?a.length-1:c]}percentrank({source:t,length:e},r){if(e===void 0||e<0)return;const n=this._cacheDataList(t,e+1,`percentile_nearest_rank_${r}`);if(!n)return;const s=n.slice(-(e+1)),a=t;if(a===void 0)return;let l=0;for(let c=0;c<s.length;c++)s[c]!==void 0&&(s[c]<a||s[c]===a&&c<e)&&l++;return l/(s.length-1)*100}pivot_point_levels({type:t,anchor:e,developing:r},n){const s=new Jt;let{close:a,open:l,low:c,high:h}=this._variables;const p=`pivot_point_levels_${n}`,{close:f,low:d,high:g,open:w,result:m}=this._cacheData[p]||{};if(!e&&(g&&d&&(h=Math.max(g,h),c=Math.min(d,c)),this._cacheDataHandle(p,{close:a,open:l,low:c,high:h,result:m}),!r))return s._value=m||[],s;const D={close:a,open:l,low:c,high:h};e===!0&&!r&&(a=f,l=w,c=d,h=g);const v=this._getPivotPointLevels(h,c,a,l,r,t);return this._cacheDataHandle(p,{...D,result:v}),s._value=v,s}_getPivotPointLevels(t,e,r,n,s,a){if(r===void 0||n===void 0||e===void 0||t===void 0)return[];switch(a){case qn.traditional:return this._traditional(t,e,r);case qn.fibonacci:return this._fibonacci(t,e,r);case qn.woodie:return s?[]:this._woodie(t,e);case qn.classic:return this._classic(t,e,r);case qn.dm:return this._DM(t,e,r,n);case qn.camarilla:return this._camarilla(t,e,r);default:return[]}}_traditional(t,e,r){const n=(t+e+r)/3,s=n*2-e,a=n+(t-e),l=n*2+(t-2*e),c=n*3+(t-3*e),h=n*4+(t-4*e),p=n*2-t,f=n-(t-e),d=n*2-(2*t-e),g=n*3-(3*t-e),w=n*4-(4*t-e);return[n,s,p,a,f,l,d,c,g,h,w]}_fibonacci(t,e,r){const n=(t+e+r)/3,s=n+.382*(t-e),a=n-.382*(t-e),l=n+.618*(t-e),c=n-.618*(t-e),h=n+(t-e),p=n-(t-e);return[n,s,a,l,c,h,p]}_woodie(t,e){const{open:r}=this._variables,n=(t+e+2*r)/4,s=2*n-e,a=2*n-t,l=n+(t-e),c=n-(t-e),h=t+2*(n-e),p=e-2*(t-n),f=h+(t-e),d=p-(t-e);return[n,s,a,l,c,h,p,f,d]}_classic(t,e,r){const n=(t+e+r)/3,s=2*n-e,a=2*n-t,l=n+(t-e),c=n-(t-e),h=n+2*(t-e),p=n-2*(t-e),f=n+3*(t-e),d=n-3*(t-e);return[n,s,a,l,c,h,p,f,d]}_DM(t,e,r,n){let s;n===r?s=t+e+2*r:r>n?s=2*t+e+r:s=2*e+t+r;const a=s/4,l=s/2-e,c=s/2-t;return[a,l,c]}_camarilla(t,e,r){const n=(t+e+r)/3,s=r+1.1*(t-e)/12,a=r-1.1*(t-e)/12,l=r+1.1*(t-e)/6,c=r-1.1*(t-e)/6,h=r+1.1*(t-e)/4,p=r-1.1*(t-e)/4,f=r+1.1*(t-e)/2,d=r-1.1*(t-e)/2,g=t/e*r,w=r-(g-r);return[n,s,a,l,c,h,p,f,d,g,w]}pivothigh({source:t=this._variables.high,leftbars:e,rightbars:r},n){if(e===void 0||r===void 0||e<0||r<0)return;const s=this._cacheDataList(t,e+r+1,`pivothigh_${n}`);if(!s)return;const a=s.slice(-(e+r+1)),l=a[e];return Math.max(...a)===l?l:void 0}pivotlow({source:t=this._variables.low,leftbars:e,rightbars:r},n){if(e===void 0||r===void 0||e<0||r<0)return;const s=this._cacheDataList(t,e+r+1,`pivotlow_${n}`);if(!s)return;const a=s.slice(-(e+r+1)),l=a[e];return Math.min(...a)===l?l:void 0}range({source:t,length:e},r){if(e===void 0||t===void 0||isNaN(t)||e<0)return;const n=this._cacheDataList(t,e,`range_${r}`);if(!n)return;const s=n.filter(c=>c!==void 0).slice(-e),a=Math.max(...s),l=Math.min(...s);return a-l}roc({source:t,length:e},r){if(e===void 0||e<0)return;const n=this._cacheDataList(t,e+1,`roc_${r}`),s=this.change({source:t,length:e},r);if(n)return 100*s/n[n.length-1-e]}rsi({source:t,length:e},r){if(e===void 0||t===void 0||isNaN(t)||e<0)return;const{source:n}=this._cacheData[`rsi_${r}`]||{},s=Math.max(t-n,0),a=Math.max(n-t,0),l=this.rma({source:s,length:e},`rma1_${r}`),c=this.rma({source:a,length:e},`rma2_${r}`);if(this._cacheDataHandle(`rsi_${r}`,{source:t}),!(l===void 0||c===void 0))return 100-100/(1+l/c)}sar({start:t,inc:e,max:r},n){if(t===void 0||e===void 0||r===void 0)return;const{close:s,low:a,high:l,preLow:c,preHigh:h,data:p={}}=this._cacheData[`sar_${n}`]||{};let{result:f,maxMin:d,acceleration:g,isBelow:w}=p,m=!1;const{close:D,low:v,high:E,bar_index:b}=this._variables;return b===1&&(D>s?(w=!0,d=E,f=a):(w=!1,d=v,f=l),m=!0,g=t),f=f+g*(d-f),w?f>v&&(m=!0,w=!1,f=Math.max(E,d||0),d=v,g=t):f<E&&(m=!0,w=!0,f=Math.min(v,d||0),d=E,g=t),m||(w?E>(d||0)&&(d=E,g=Math.min((g||0)+e,r)):v<(d||0)&&(d=v,g=Math.min((g||0)+e,r))),w?(f=Math.min(f,a),b>1&&(f=Math.min(f,c))):(f=Math.max(f,l),b>1&&(f=Math.max(f,h))),this._cacheDataHandle(`sar_${n}`,{high:E,close:D,low:v,preLow:a,preHigh:l,data:Object.assign(p,{result:f,maxMin:d,acceleration:g,isBelow:w})}),f}stoch({source:t,high:e,low:r,length:n},s){if(n===void 0||e===void 0||r===void 0||t===void 0||isNaN(t)||n<0)return;const a=this.lowest({source:r,length:n},s),l=this.highest({source:e,length:n},s);if(!(a===void 0||l===void 0))return 100*(this._variables.close-a)/(l-a)}supertrend({factor:t,atrPeriod:e},r){if(t===void 0||e===void 0)return[void 0,void 0];const{hl2:n,close:s}=this._variables,a=`supertrend_${r}`,{upperBand:l,lowerBand:c,superTrend:h,atr:p,close:f}=this._cacheData[a]||{},d=this.atr({length:e},r);if(d===void 0)return this._cacheDataHandle(a,{close:s}),[void 0,void 0];let g=n+t*d,w=n-t*d;const m=l||0,D=c||0;w=w>D||f<D?w:D,g=g<m||f>m?g:m;let v;p===void 0?v=1:h===m?v=s>g?-1:1:v=s<w?1:-1;const E=v===-1?w:g;return this._cacheDataHandle(a,{upperBand:g,lowerBand:w,superTrend:E,atr:d,close:s}),[E,v]}swma({source:t},e){let{list:r}=this._cacheData[`swma_${e}`]||{};if(r||(r=[]),r.push(t),r=r.slice(-4),this._cacheDataHandle(`swma_${e}`,{list:r}),!(r.filter(n=>n!==void 0).length<4))return r[3]*1/6+r[2]*2/6+r[1]*2/6+r[0]*1/6}tr({handle_na:t=!1},e){const{close:r,low:n,high:s}=this._variables,{close:a}=this._cacheData[`tr_${e}`]||{};return this._cacheDataHandle(`tr_${e}`,{close:r}),a===void 0?t?s-n:void 0:Math.max(s-n,Math.abs(s-a),Math.abs(n-a))}tsi({source:t,short_length:e,long_length:r},n){if(t===void 0||isNaN(t)||e===void 0||r===void 0)return;const s=this.change({source:t},n);if(s===void 0)return;const a=this.ema({source:Math.abs(s),length:e},`absema1_${n}`),l=this.ema({source:s,length:e},`ema1_${n}`);if(l===void 0)return;const c=this.ema({source:l,length:r},`ema2_${n}`),h=this.ema({source:a,length:e},`absema2_${n}`);if(c!==void 0)return c/h}valuewhen({condition:t,source:e,occurrence:r},n){if(e===void 0||r===void 0||r<0)return;let{list:s}=this._cacheData[`valuewhen_${n}`]||{};return s||(s=[]),t&&s.push(e),this._cacheDataHandle(`valuewhen_${n}`,{list:s}),s[s.length-1-r]}variance({source:t,length:e,biased:r=!0},n){if(t===void 0||isNaN(t)||e===void 0||e<0)return;const s=this.sma({source:t,length:e},n),a=this._cacheDataList(t,e,`mode_${n}`);if(!a||s===void 0)return;const l=a.filter(h=>h!==void 0&&!isNaN(h)).slice(-e);if(l.length<e)return;const c=l.reduce((h,p)=>h+Math.pow(p-s,2),0);if(c!==void 0)return r||e<=1?c/e:c/(e-1)}vwap({source:t,anchor:e,stdev_mult:r},n){if(t===void 0)return;e=e===void 0?this._timeframe.change({timeframe:"1D"},n):e;const{volume:s}=this._variables;let{sum:a=0,sumV:l=0,count:c=0,isReset:h,sumS:p=0}=this._cacheData[`vwap_${n}`]||{};if(e&&(a=l=c=p=0,h=!0),!h)return r!==void 0?[]:void 0;const f=t*s+a,d=s+l,g=f/d;return c++,r!==void 0?(p=s*Math.pow(t,2)+p,this._cacheDataHandle(`vwap_${n}`,{sum:f,sumV:d,count:c,isReset:h,sumS:p}),this._computeBands(p,d,r,g)):(this._cacheDataHandle(`vwap_${n}`,{sum:f,sumV:d,count:c,isReset:h}),g)}_computeBands(t,e,r,n){let s=t/e-Math.pow(n,2);s=s<0?0:s;const a=Math.sqrt(s),l=a!==void 0&&!isNaN(a)?n+r*a:void 0,c=a!==void 0&&!isNaN(a)?n-r*a:void 0;return[n,l,c]}vwma({source:t,length:e},r){if(t===void 0||isNaN(t)||e===void 0||e<=0)return;const{volume:n}=this._variables,s=this.sma({source:t*n,length:e},`sma1_${r}`),a=this.sma({source:n,length:e},`sma2_${r}`);if(!(s===void 0||a===void 0))return s/a}wpr({length:t},e){if(t===void 0||t<=0)return;const r=this.highest({length:t},e),n=this.lowest({length:t},e),{close:s}=this._variables;if(!(r===void 0||n===void 0))return(r-s)/(r-n)*-100}_sort(t){const e=t.length;for(let r=0;r<e;r++){let n={};for(let s=0;s<e-r;s++){const{currentVal:a,currentIndex:l}=n,c=t[s];if(c!==void 0){if(a!==void 0&&c<a){t.splice(s,1),t.splice(l,0,c),n={currentIndex:l+1,currentVal:a};continue}n={currentIndex:s,currentVal:c}}}}return t}_cacheDataList(t,e,r){const n=this._cacheData[r]||[];n[this._variables.bar_index]=t,this._cacheData[r]=n;const s=n.filter(()=>!0);if(!(s.length<e))return s}_cacheDataHandle(t,e){const{barIndex:r}=this._cacheData[t]||{};r!==this._variables.bar_index&&(this._cacheData[t]=Object.assign(e,{barIndex:this._variables.bar_index}))}}const o1={onlyInLoop:"'$text' is only allowed inside loops",invalidType:"Invalid argument 'expr$index' in 'operator SQBR' call",typeUseError:"Cannot specify a type form '$text' without also specifying the type.",notTypeKeyword:"'$text' is not a valid type keyword in variable declaration",undeclared:"Undeclared identifier '$name'",repeatVar:"'$name' is already defined",typeMismatch:"Cannot call '$operator' with argument '$index'. An argument of '$typeE' type was used but a '$typeR' is expected.",assignTypeMismatch:"Cannot assign a value of the `$typeE` type to the '$name' variable. The variable is declared with the `$typeR` type.",voidNotVar:"Void expression cannot be assigned to a variable",declareTypeErr:"Declared type '$type' is not compatible with assigned type '$valueType'",mapKeyValErr:"Cannot put <$typeA, $typeB> pairs into a map containing `$typeC` keys and `$typeD` values. The maps passed into the `$name()` function must have the same key types and value types.",inputSourceErr:"Invalid value for the '$name' parameter of the '$funcName' function. Possible values: [open, high, low, close, hl2, hlc3, ohlc4, hlcc4, volume].",buildInUseErr:"Cannot use '$name' as the default value of a type's field. The default value cannot be a function, variable or calculation.",argsLenErr:"Too many arguments passed into the `$name()` function call. Passed $lenA arguments but expected $lenB.",requiredParamErr:"No value assigned to the `$argName` parameter in $name()",argsSyntaxErr:"Syntax error after the argument for `$argName`. Arguments without their parameter name cannot be used after arguments with parameter names.",requestArgsErr:"Type $type cannot be used in $name '$argName' argument",mapKeyErr:"Incorrect `key` type `$type` in the variable. The `key` type must be one of the following: int, float, string, bool, color.",templateErr:"Incorrect number of arguments for the template: $countA expected, $countB passed.",templateNoSupportErr:"The '$name()' function does not support templates",ifOrSwitchTypeErr:"Return type of one of the '$keyword' blocks is not compatible with return type of other block(s) ($types)",argsNameErr:"The '$name' function does not have an argument with the name '$argName'",noFiledErr:"Object has no field $name",methodNotExistErr:"Could not find method or method reference '$methodName' for '$name'",tupleVarErr:"Syntax error: The quantities of tuple elements on each side of the assignment operator do not match. The right side has $indexA but the left side has $indexB.",tupleLeftVarErr:"Invalid assignment. Cannot assign a tuple to a variable '$name'.",tupleRightVarErr:"Cannot assign a variable to a tuple. The right side must be a function call or structure ('if', 'switch', 'for', 'while') returning a tuple with the same number of elements.",tempateTypeErr:"Syntax error: Only templates for arrays and matrices consist of a single type identifier enclosed in angle brackets.",qualifierErr:"'$name' is not a valid type qualifier. Possible values: 'const', 'simple', 'series'",notFindFuncErr:"Could not find function or function reference '$name'",naVarErr:"Value with NA type cannot be assigned to a variable that was defined without type keyword",notHistoryErr:"Variable '$name' doesn't have history values",defaultValueErr:"The default value cannot be a function, variable or calculation.",defaultValueTypeErr:"Default value of type $typeE can not be assigned to an argument of type $typeR",unaryErr:"Syntax error at input '$sign'",funcArgAssignErr:"Function arguments cannot be mutable ('$name')",declaredErr:"A variable declared with the '$prefix' keyword cannot accept values of the '$type' form. Assign a '$prefix' value to this variable or remove the '$prefix' keyword from its declaration.",globalFuncErr:"Cannot use '$name' in local scope",onlyStatementErr:"Scripts must contain one declaration statement: `indicator()`, `strategy()` or `library()`, Your script has $count.",modifyGlobalVarErr:"Cannot modify global variable '$name' in function",inputDefvalErr:"Arguments of input function must be of constant type, or 'source' builtin variables.",objectIsNaErr:"Cannot access the '$name' $type of an undefined object. The object is 'na'.",buidinAssignErr:"Cannot assign a new value to the built-in variable '$name'.",buidinVarErr:"Cannot shadow the built-in variable `$name` because it has already been used as a built-in."};qr.SERIES,qr.SIMPLE,qr.INPUT,qr.CONST,qr.INT,qr.FLOAT,qr.BOOL,qr.COLOR,qr.STRING;const a1=["close","open","high","low","hl2","hlc3","hlcc4","ohlc4","volume"];var Dn=(i=>(i[i.Hint=1]="Hint",i[i.Info=2]="Info",i[i.Warning=4]="Warning",i[i.Error=8]="Error",i))(Dn||{});class u1{constructor(t,e){q(this,"_cacheData");q(this,"_variables");q(this,"_errorListener");q(this,"_count");q(this,"_historyInputs");q(this,"_name");this._cacheData={},this._variables=t,this._errorListener=e,this._count=-1,this._name=`inputs_${Fl()}`,this._historyInputs=self.workerStorage.get(this._name)||{}}update(t){for(const e of t){const r=e.id;if(!this._cacheData[r])return;Object.assign(this._cacheData[r],{...e,isModify:!0}),self.workerStorage.updateValue(this._name,`in_${e.index}`,{modifyDefval:e.sourceTypeName||e.defval})}}input(t,e){return this._cacheHandle(t,e)}int(t,e){return this._cacheHandle(t,e,"int")}bool(t,e){return this._cacheHandle(t,e,"bool")}color(t,e){return this._cacheHandle(t,e,"color")}time(t,e){return this._cacheHandle(t,e,"time")}float(t,e){return this._cacheHandle(t,e,"float")}price(t,e){return this._cacheHandle(t,e,"price")}source(t,e){return this._cacheHandle(t,e,"source")}string(t,e){return this._cacheHandle(t,e,"string")}symbol(t,e){return this._cacheHandle(t,e,"symbol")}session(t,e){return this._cacheHandle(t,e,"session")}text_area(t,e){return this._cacheHandle(t,e,"text_area")}timeframe(t,e){return this._cacheHandle(t,e,"timeframe")}_cacheHandle(t,e,r){const n=`${r||"input"}_${e}`,s=this._cacheData[n];if(t.defval===void 0&&this._errorListener.addError(o1.inputDefvalErr,e,Dn.Error),s)s.isModify?s.sourceTypeName&&(this._cacheData[n].defval=this._variables[s.sourceTypeName]):Object.assign(this._cacheData[n],t);else{const{defval:a,display:l}=t;this._displayVerify(e,l),this._count++,t={inputType:r,...t,index:this._count},this._cacheData[n]=t,this._judgeHistoryInputs(t),(r||t.inputType)==="source"?this._cacheData[n].options=a1:t.options&&!t.options.includes(a)&&this._errorListener.addError(`input's defval should be in options, but '${a}' is not in [${t.options.toString()}]`,e,Dn.Error)}return this._cacheData[n].defval}_judgeHistoryInputs(t){const{defval:e,sourceTypeName:r,index:n}=t;let s=r||e;const a=`in_${n}`,l=this._historyInputs[a];if(!l)self.workerStorage.setValue(this._name,a,{defval:s});else{const{defval:c,modifyDefval:h}=l;c===s?s=h||s:self.workerStorage.setValue(this._name,a,{defval:s})}r?t.sourceTypeName=s:t.defval=s}_displayVerify(t,e){!e||!e.length||e.includes(rr.dataWindow)||e.includes(rr.statusLine)||this._errorListener.addError("Invalid argument 'display' in 'input' call. Possible values: [display.none, display.data_window, display.status_line, display.all]",t,Dn.Error)}getInputs(){const t=Object.keys(this._cacheData),e=[];for(const r of t){const n=this._cacheData[r];n.id=r,e.push(n)}return e}_getGroups(t){const e=[];for(const[r,n]of t)e.push({name:r,inputs:n});return e}}class l1{color({x:t}){return t}new({color:t,transp:e=100}){const{r,g:n,b:s}=this._parseColor(t);return`rgba(${Math.round(r)}, ${Math.round(n)}, ${Math.round(s)}, ${e/100})`}rgb({red:t,green:e,blue:r,transp:n=0}){return`rgba(${t}, ${e}, ${r}, ${n/100})`}g({color:t}){return t?this._parseColor(t).g:0}r({color:t}){return t?this._parseColor(t).r:0}b({color:t}){return t?this._parseColor(t).b:0}t({color:t}){return t?Math.round(this._parseColor(t).a*100):0}from_gradient({value:t,bottom_value:e,top_value:r,bottom_color:n,top_color:s}){const a=(t-e)/(r-e),l=Math.min(Math.max(a,0),1),{r:c,g:h,b:p,a:f}=this._parseColor(n),{r:d,g,b:w,a:m}=this._parseColor(s),D=c+l*(d-c),v=h+l*(g-h),E=p+l*(w-p),b=f+l*(m-f);return`rgba(${Math.round(D)}, ${Math.round(v)}, ${Math.round(E)}, ${b.toFixed(2)})`}_parseColor(t){let e,r,n,s;if(t.startsWith("#")){e=parseInt(t.substring(1,3),16),r=parseInt(t.substring(3,5),16),n=parseInt(t.substring(5,7),16);const a=t.substring(7);a?s=(255-parseInt(a,16))/255:s=1}else{const a=this._parserRgbColor(t);e=a[0],r=a[1],n=a[2],s=a[3]||1}return{r:e,g:r,b:n,a:s}}_parserRgbColor(t){var e;return((e=t.match(/\d+/g))==null?void 0:e.map(Number))||[]}}var Pt={};const c1=Object.prototype.toString;function Gi(i){const t=c1.call(i);return t.endsWith("Array]")&&!t.includes("Big")}var f1=Object.freeze({__proto__:null,isAnyArray:Gi}),h1=De(f1);function p1(i){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};if(!Gi(i))throw new TypeError("input must be an array");if(i.length===0)throw new TypeError("input must not be empty");var e=t.fromIndex,r=e===void 0?0:e,n=t.toIndex,s=n===void 0?i.length:n;if(r<0||r>=i.length||!Number.isInteger(r))throw new Error("fromIndex must be a positive integer smaller than length");if(s<=r||s>i.length||!Number.isInteger(s))throw new Error("toIndex must be an integer greater than fromIndex and at most equal to length");for(var a=i[r],l=r+1;l<s;l++)i[l]>a&&(a=i[l]);return a}function d1(i){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};if(!Gi(i))throw new TypeError("input must be an array");if(i.length===0)throw new TypeError("input must not be empty");var e=t.fromIndex,r=e===void 0?0:e,n=t.toIndex,s=n===void 0?i.length:n;if(r<0||r>=i.length||!Number.isInteger(r))throw new Error("fromIndex must be a positive integer smaller than length");if(s<=r||s>i.length||!Number.isInteger(s))throw new Error("toIndex must be an integer greater than fromIndex and at most equal to length");for(var a=i[r],l=r+1;l<s;l++)i[l]<a&&(a=i[l]);return a}function _1(i){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};if(Gi(i)){if(i.length===0)throw new TypeError("input must not be empty")}else throw new TypeError("input must be an array");var e;if(t.output!==void 0){if(!Gi(t.output))throw new TypeError("output option must be an array if specified");e=t.output}else e=new Array(i.length);var r=d1(i),n=p1(i);if(r===n)throw new RangeError("minimum and maximum input values are equal. Cannot rescale a constant array");var s=t.min,a=s===void 0?t.autoMinMax?r:0:s,l=t.max,c=l===void 0?t.autoMinMax?n:1:l;if(a>=c)throw new RangeError("min option must be smaller than max option");for(var h=(c-a)/(n-r),p=0;p<i.length;p++)e[p]=(i[p]-r)*h+a;return e}var m1=Object.freeze({__proto__:null,default:_1}),g1=De(m1);Object.defineProperty(Pt,"__esModule",{value:!0});var Xe=h1,Bf=g1;const Hs=" ".repeat(2),Tf=" ".repeat(4);function v1(){return If(this)}function If(i,t={}){const{maxRows:e=15,maxColumns:r=10,maxNumSize:n=8,padMinus:s="auto"}=t;return`${i.constructor.name} {
|
54
|
+
(`+se(S,m)+", "+se(N,m)+") ==> "+(this._values?se(this._values[M],m):"X")}return b},n.prototype.toString=function(){return se(this.toArray())},n.prototype.toJSON=function(){return{mathjs:"SparseMatrix",values:this._values,index:this._index,ptr:this._ptr,size:this._size,datatype:this._datatype}},n.prototype.diagonal=function(m){if(m){if(be(m)&&(m=m.toNumber()),!ue(m)||!pe(m))throw new TypeError("The parameter k must be an integer number")}else m=0;var D=m>0?m:0,v=m<0?-m:0,E=this._size[0],b=this._size[1],N=Math.min(E-v,b-D),x=[],F=[],M=[];M[0]=0;for(var S=D;S<b&&x.length<N;S++)for(var O=this._ptr[S],C=this._ptr[S+1],T=O;T<C;T++){var R=this._index[T];if(R===S-D+v){x.push(this._values[T]),F[x.length-1]=R-v;break}}return M.push(x.length),new n({values:x,index:F,ptr:M,size:[N,1]})},n.fromJSON=function(m){return new n(m)},n.diagonal=function(m,D,v,E,b){if(!ge(m))throw new TypeError("Array expected, size parameter");if(m.length!==2)throw new Error("Only two dimensions matrix are supported");if(m=m.map(function(V){if(be(V)&&(V=V.toNumber()),!ue(V)||!pe(V)||V<1)throw new Error("Size values must be positive integers");return V}),v){if(be(v)&&(v=v.toNumber()),!ue(v)||!pe(v))throw new TypeError("The parameter k must be an integer number")}else v=0;var N=e,x=0;Wr(b)&&(N=t.find(e,[b,b])||e,x=t.convert(0,b));var F=v>0?v:0,M=v<0?-v:0,S=m[0],O=m[1],C=Math.min(S-M,O-F),T;if(ge(D)){if(D.length!==C)throw new Error("Invalid value array length");T=function(tt){return D[tt]}}else if(ce(D)){var R=D.size();if(R.length!==1||R[0]!==C)throw new Error("Invalid matrix length");T=function(tt){return D.get([tt])}}else T=function(){return D};for(var U=[],k=[],W=[],P=0;P<O;P++){W.push(U.length);var K=P-F;if(K>=0&&K<C){var G=T(K);N(G,x)||(k.push(K+M),U.push(G))}}return W.push(U.length),new n({values:U,index:k,ptr:W,size:[S,O]})},n.prototype.swapRows=function(m,D){if(!ue(m)||!pe(m)||!ue(D)||!pe(D))throw new Error("Row index must be positive integers");if(this._size.length!==2)throw new Error("Only two dimensional matrix is supported");return ve(m,this._size[0]),ve(D,this._size[0]),n._swapRows(m,D,this._size[1],this._values,this._index,this._ptr),this},n._forEachRow=function(m,D,v,E,b){for(var N=E[m],x=E[m+1],F=N;F<x;F++)b(v[F],D[F])},n._swapRows=function(m,D,v,E,b,N){for(var x=0;x<v;x++){var F=N[x],M=N[x+1],S=h(m,F,M,b),O=h(D,F,M,b);if(S<M&&O<M&&b[S]===m&&b[O]===D){if(E){var C=E[S];E[S]=E[O],E[O]=C}continue}if(S<M&&b[S]===m&&(O>=M||b[O]!==D)){var T=E?E[S]:void 0;b.splice(O,0,D),E&&E.splice(O,0,T),b.splice(O<=S?S+1:S,1),E&&E.splice(O<=S?S+1:S,1);continue}if(O<M&&b[O]===D&&(S>=M||b[S]!==m)){var R=E?E[O]:void 0;b.splice(S,0,m),E&&E.splice(S,0,R),b.splice(S<=O?O+1:O,1),E&&E.splice(S<=O?O+1:O,1)}}},n},{isClass:!0}),_m="number",mm=["typed"];function gm(i){var t=i.match(/(0[box])([0-9a-fA-F]*)\.([0-9a-fA-F]*)/);if(t){var e={"0b":2,"0o":8,"0x":16}[t[1]],r=t[2],n=t[3];return{input:i,radix:e,integerPart:r,fractionalPart:n}}else return null}function vm(i){for(var t=parseInt(i.integerPart,i.radix),e=0,r=0;r<i.fractionalPart.length;r++){var n=parseInt(i.fractionalPart[r],i.radix);e+=n/Math.pow(i.radix,r+1)}var s=t+e;if(isNaN(s))throw new SyntaxError('String "'+i.input+'" is not a valid number');return s}var wm=_t(_m,mm,i=>{var{typed:t}=i,e=t("number",{"":function(){return 0},number:function(n){return n},string:function(n){if(n==="NaN")return NaN;var s=gm(n);if(s)return vm(s);var a=0,l=n.match(/(0[box][0-9a-fA-F]*)i([0-9]*)/);l&&(a=Number(l[2]),n=l[1]);var c=Number(n);if(isNaN(c))throw new SyntaxError('String "'+n+'" is not a valid number');if(l){if(c>2**a-1)throw new SyntaxError('String "'.concat(n,'" is out of range'));c>=2**(a-1)&&(c=c-2**a)}return c},BigNumber:function(n){return n.toNumber()},Fraction:function(n){return n.valueOf()},Unit:t.referToSelf(r=>n=>{var s=n.clone();return s.value=r(n.value),s}),null:function(n){return 0},"Unit, string | Unit":function(n,s){return n.toNumber(s)},"Array | Matrix":t.referToSelf(r=>n=>Or(n,r))});return e.fromJSON=function(r){return parseFloat(r.value)},e}),ym="bignumber",Dm=["typed","BigNumber"],bm=_t(ym,Dm,i=>{var{typed:t,BigNumber:e}=i;return t("bignumber",{"":function(){return new e(0)},number:function(n){return new e(n+"")},string:function(n){var s=n.match(/(0[box][0-9a-fA-F]*)i([0-9]*)/);if(s){var a=s[2],l=e(s[1]),c=new e(2).pow(Number(a));if(l.gt(c.sub(1)))throw new SyntaxError('String "'.concat(n,'" is out of range'));var h=new e(2).pow(Number(a)-1);return l.gte(h)?l.sub(c):l}return new e(n)},BigNumber:function(n){return n},Unit:t.referToSelf(r=>n=>{var s=n.clone();return s.value=r(n.value),s}),Fraction:function(n){return new e(n.n).div(n.d).times(n.s)},null:function(n){return new e(0)},"Array | Matrix":t.referToSelf(r=>n=>Or(n,r))})}),Em="fraction",xm=["typed","Fraction"],Am=_t(Em,xm,i=>{var{typed:t,Fraction:e}=i;return t("fraction",{number:function(n){if(!isFinite(n)||isNaN(n))throw new Error(n+" cannot be represented as a fraction");return new e(n)},string:function(n){return new e(n)},"number, number":function(n,s){return new e(n,s)},null:function(n){return new e(0)},BigNumber:function(n){return new e(n.toString())},Fraction:function(n){return n},Unit:t.referToSelf(r=>n=>{var s=n.clone();return s.value=r(n.value),s}),Object:function(n){return new e(n)},"Array | Matrix":t.referToSelf(r=>n=>Or(n,r))})}),Ic="matrix",Cm=["typed","Matrix","DenseMatrix","SparseMatrix"],Fm=_t(Ic,Cm,i=>{var{typed:t,Matrix:e,DenseMatrix:r,SparseMatrix:n}=i;return t(Ic,{"":function(){return s([])},string:function(l){return s([],l)},"string, string":function(l,c){return s([],l,c)},Array:function(l){return s(l)},Matrix:function(l){return s(l,l.storage())},"Array | Matrix, string":s,"Array | Matrix, string, string":s});function s(a,l,c){if(l==="dense"||l==="default"||l===void 0)return new r(a,c);if(l==="sparse")return new n(a,c);throw new TypeError("Unknown matrix type "+JSON.stringify(l)+".")}}),Oc="unaryMinus",Mm=["typed"],Nm=_t(Oc,Mm,i=>{var{typed:t}=i;return t(Oc,{number:Ac,"Complex | BigNumber | Fraction":e=>e.neg(),Unit:t.referToSelf(e=>r=>{var n=r.clone();return n.value=t.find(e,n.valueType())(r.value),n}),"Array | Matrix":t.referToSelf(e=>r=>Or(r,e))})}),$c="abs",Sm=["typed"],Bm=_t($c,Sm,i=>{var{typed:t}=i;return t($c,{number:Dc,"Complex | BigNumber | Fraction | Unit":e=>e.abs(),"Array | Matrix":t.referToSelf(e=>r=>Or(r,e))})}),Rc="addScalar",Tm=["typed"],Im=_t(Rc,Tm,i=>{var{typed:t}=i;return t(Rc,{"number, number":bc,"Complex, Complex":function(r,n){return r.add(n)},"BigNumber, BigNumber":function(r,n){return r.plus(n)},"Fraction, Fraction":function(r,n){return r.add(n)},"Unit, Unit":t.referToSelf(e=>(r,n)=>{if(r.value===null||r.value===void 0)throw new Error("Parameter x contains a unit with undefined value");if(n.value===null||n.value===void 0)throw new Error("Parameter y contains a unit with undefined value");if(!r.equalBase(n))throw new Error("Units do not match");var s=r.clone();return s.value=t.find(e,[s.valueType(),n.valueType()])(s.value,n.value),s.fixPrefix=!1,s})})}),Lc="subtractScalar",Om=["typed"],$m=_t(Lc,Om,i=>{var{typed:t}=i;return t(Lc,{"number, number":Ec,"Complex, Complex":function(r,n){return r.sub(n)},"BigNumber, BigNumber":function(r,n){return r.minus(n)},"Fraction, Fraction":function(r,n){return r.sub(n)},"Unit, Unit":t.referToSelf(e=>(r,n)=>{if(r.value===null||r.value===void 0)throw new Error("Parameter x contains a unit with undefined value");if(n.value===null||n.value===void 0)throw new Error("Parameter y contains a unit with undefined value");if(!r.equalBase(n))throw new Error("Units do not match");var s=r.clone();return s.value=t.find(e,[s.valueType(),n.valueType()])(s.value,n.value),s.fixPrefix=!1,s})})}),Rm="matAlgo11xS0s",Lm=["typed","equalScalar"],ba=_t(Rm,Lm,i=>{var{typed:t,equalScalar:e}=i;return function(n,s,a,l){var c=n._values,h=n._index,p=n._ptr,f=n._size,d=n._datatype;if(!c)throw new Error("Cannot perform operation on Pattern Sparse Matrix and Scalar value");var g=f[0],w=f[1],m,D=e,v=0,E=a;typeof d=="string"&&(m=d,D=t.find(e,[m,m]),v=t.convert(0,m),s=t.convert(s,m),E=t.find(a,[m,m]));for(var b=[],N=[],x=[],F=0;F<w;F++){x[F]=N.length;for(var M=p[F],S=p[F+1],O=M;O<S;O++){var C=h[O],T=l?E(s,c[O]):E(c[O],s);D(T,v)||(N.push(C),b.push(T))}}return x[w]=N.length,n.createSparseMatrix({values:b,index:N,ptr:x,size:[g,w],datatype:m})}}),Pm="matAlgo12xSfs",zm=["typed","DenseMatrix"],fi=_t(Pm,zm,i=>{var{typed:t,DenseMatrix:e}=i;return function(n,s,a,l){var c=n._values,h=n._index,p=n._ptr,f=n._size,d=n._datatype;if(!c)throw new Error("Cannot perform operation on Pattern Sparse Matrix and Scalar value");var g=f[0],w=f[1],m,D=a;typeof d=="string"&&(m=d,s=t.convert(s,m),D=t.find(a,[m,m]));for(var v=[],E=[],b=[],N=0;N<w;N++){for(var x=N+1,F=p[N],M=p[N+1],S=F;S<M;S++){var O=h[S];E[O]=c[S],b[O]=x}for(var C=0;C<g;C++)N===0&&(v[C]=[]),b[C]===x?v[C][N]=l?D(s,E[C]):D(E[C],s):v[C][N]=l?D(s,0):D(0,s)}return new e({data:v,size:[g,w],datatype:m})}}),qm="matAlgo14xDs",km=["typed"],Ea=_t(qm,km,i=>{var{typed:t}=i;return function(n,s,a,l){var c=n._data,h=n._size,p=n._datatype,f,d=a;typeof p=="string"&&(f=p,s=t.convert(s,f),d=t.find(a,[f,f]));var g=h.length>0?e(d,0,h,h[0],c,s,l):[];return n.createDenseMatrix({data:g,size:ee(h),datatype:f})};function e(r,n,s,a,l,c,h){var p=[];if(n===s.length-1)for(var f=0;f<a;f++)p[f]=h?r(c,l[f]):r(l[f],c);else for(var d=0;d<a;d++)p[d]=e(r,n+1,s,s[n+1],l[d],c,h);return p}}),Um="matAlgo02xDS0",Wm=["typed","equalScalar"],jm=_t(Um,Wm,i=>{var{typed:t,equalScalar:e}=i;return function(n,s,a,l){var c=n._data,h=n._size,p=n._datatype||n.getDataType(),f=s._values,d=s._index,g=s._ptr,w=s._size,m=s._datatype||s._data===void 0?s._datatype:s.getDataType();if(h.length!==w.length)throw new Zt(h.length,w.length);if(h[0]!==w[0]||h[1]!==w[1])throw new RangeError("Dimension mismatch. Matrix A ("+h+") must match Matrix B ("+w+")");if(!f)throw new Error("Cannot perform operation on Dense Matrix and Pattern Sparse Matrix");var D=h[0],v=h[1],E,b=e,N=0,x=a;typeof p=="string"&&p===m&&p!=="mixed"&&(E=p,b=t.find(e,[E,E]),N=t.convert(0,E),x=t.find(a,[E,E]));for(var F=[],M=[],S=[],O=0;O<v;O++){S[O]=M.length;for(var C=g[O],T=g[O+1],R=C;R<T;R++){var U=d[R],k=l?x(f[R],c[U][O]):x(c[U][O],f[R]);b(k,N)||(M.push(U),F.push(k))}}return S[v]=M.length,s.createSparseMatrix({values:F,index:M,ptr:S,size:[D,v],datatype:p===n._datatype&&m===s._datatype?E:void 0})}}),Ym="matAlgo03xDSf",Zm=["typed"],hi=_t(Ym,Zm,i=>{var{typed:t}=i;return function(r,n,s,a){var l=r._data,c=r._size,h=r._datatype||r.getDataType(),p=n._values,f=n._index,d=n._ptr,g=n._size,w=n._datatype||n._data===void 0?n._datatype:n.getDataType();if(c.length!==g.length)throw new Zt(c.length,g.length);if(c[0]!==g[0]||c[1]!==g[1])throw new RangeError("Dimension mismatch. Matrix A ("+c+") must match Matrix B ("+g+")");if(!p)throw new Error("Cannot perform operation on Dense Matrix and Pattern Sparse Matrix");var m=c[0],D=c[1],v,E=0,b=s;typeof h=="string"&&h===w&&h!=="mixed"&&(v=h,E=t.convert(0,v),b=t.find(s,[v,v]));for(var N=[],x=0;x<m;x++)N[x]=[];for(var F=[],M=[],S=0;S<D;S++){for(var O=S+1,C=d[S],T=d[S+1],R=C;R<T;R++){var U=f[R];F[U]=a?b(p[R],l[U][S]):b(l[U][S],p[R]),M[U]=O}for(var k=0;k<m;k++)M[k]===O?N[k][S]=F[k]:N[k][S]=a?b(E,l[k][S]):b(l[k][S],E)}return r.createDenseMatrix({data:N,size:[m,D],datatype:h===r._datatype&&w===n._datatype?v:void 0})}}),Gm="matAlgo05xSfSf",Km=["typed","equalScalar"],Pc=_t(Gm,Km,i=>{var{typed:t,equalScalar:e}=i;return function(n,s,a){var l=n._values,c=n._index,h=n._ptr,p=n._size,f=n._datatype||n._data===void 0?n._datatype:n.getDataType(),d=s._values,g=s._index,w=s._ptr,m=s._size,D=s._datatype||s._data===void 0?s._datatype:s.getDataType();if(p.length!==m.length)throw new Zt(p.length,m.length);if(p[0]!==m[0]||p[1]!==m[1])throw new RangeError("Dimension mismatch. Matrix A ("+p+") must match Matrix B ("+m+")");var v=p[0],E=p[1],b,N=e,x=0,F=a;typeof f=="string"&&f===D&&f!=="mixed"&&(b=f,N=t.find(e,[b,b]),x=t.convert(0,b),F=t.find(a,[b,b]));var M=l&&d?[]:void 0,S=[],O=[],C=M?[]:void 0,T=M?[]:void 0,R=[],U=[],k,W,P,K;for(W=0;W<E;W++){O[W]=S.length;var G=W+1;for(P=h[W],K=h[W+1];P<K;P++)k=c[P],S.push(k),R[k]=G,C&&(C[k]=l[P]);for(P=w[W],K=w[W+1];P<K;P++)k=g[P],R[k]!==G&&S.push(k),U[k]=G,T&&(T[k]=d[P]);if(M)for(P=O[W];P<S.length;){k=S[P];var V=R[k],tt=U[k];if(V===G||tt===G){var ct=V===G?C[k]:x,gt=tt===G?T[k]:x,lt=F(ct,gt);N(lt,x)?S.splice(P,1):(M.push(lt),P++)}}}return O[E]=S.length,n.createSparseMatrix({values:M,index:S,ptr:O,size:[v,E],datatype:f===n._datatype&&D===s._datatype?b:void 0})}}),Hm="matAlgo13xDD",Jm=["typed"],Xm=_t(Hm,Jm,i=>{var{typed:t}=i;return function(n,s,a){var l=n._data,c=n._size,h=n._datatype,p=s._data,f=s._size,d=s._datatype,g=[];if(c.length!==f.length)throw new Zt(c.length,f.length);for(var w=0;w<c.length;w++){if(c[w]!==f[w])throw new RangeError("Dimension mismatch. Matrix A ("+c+") must match Matrix B ("+f+")");g[w]=c[w]}var m,D=a;typeof h=="string"&&h===d&&(m=h,D=t.find(a,[m,m]));var v=g.length>0?e(D,0,g,g[0],l,p):[];return n.createDenseMatrix({data:v,size:g,datatype:m})};function e(r,n,s,a,l,c){var h=[];if(n===s.length-1)for(var p=0;p<a;p++)h[p]=r(l[p],c[p]);else for(var f=0;f<a;f++)h[f]=e(r,n+1,s,s[n+1],l[f],c[f]);return h}}),Vm="broadcast",Qm=["concat"],tg=_t(Vm,Qm,i=>{var{concat:t}=i;return function(n,s){var a=Math.max(n._size.length,s._size.length);if(n._size.length===s._size.length&&n._size.every((w,m)=>w===s._size[m]))return[n,s];for(var l=e(n._size,a,0),c=e(s._size,a,0),h=[],p=0;p<a;p++)h[p]=Math.max(l[p],c[p]);xs(l,h),xs(c,h);var f=n.clone(),d=s.clone();f._size.length<a?f.reshape(e(f._size,a,1)):d._size.length<a&&d.reshape(e(d._size,a,1));for(var g=0;g<a;g++)f._size[g]<h[g]&&(f=r(f,h[g],g)),d._size[g]<h[g]&&(d=r(d,h[g],g));return[f,d]};function e(n,s,a){return[...Array(s-n.length).fill(a),...n]}function r(n,s,a){return t(...Array(s).fill(n),a)}}),eg="matrixAlgorithmSuite",rg=["typed","matrix","concat"],Un=_t(eg,rg,i=>{var{typed:t,matrix:e,concat:r}=i,n=Xm({typed:t}),s=Ea({typed:t}),a=tg({concat:r});return function(c){var h=c.elop,p=c.SD||c.DS,f;h?(f={"DenseMatrix, DenseMatrix":(m,D)=>n(...a(m,D),h),"Array, Array":(m,D)=>n(...a(e(m),e(D)),h).valueOf(),"Array, DenseMatrix":(m,D)=>n(...a(e(m),D),h),"DenseMatrix, Array":(m,D)=>n(...a(m,e(D)),h)},c.SS&&(f["SparseMatrix, SparseMatrix"]=(m,D)=>c.SS(...a(m,D),h,!1)),c.DS&&(f["DenseMatrix, SparseMatrix"]=(m,D)=>c.DS(...a(m,D),h,!1),f["Array, SparseMatrix"]=(m,D)=>c.DS(...a(e(m),D),h,!1)),p&&(f["SparseMatrix, DenseMatrix"]=(m,D)=>p(...a(D,m),h,!0),f["SparseMatrix, Array"]=(m,D)=>p(...a(e(D),m),h,!0))):(f={"DenseMatrix, DenseMatrix":t.referToSelf(m=>(D,v)=>n(...a(D,v),m)),"Array, Array":t.referToSelf(m=>(D,v)=>n(...a(e(D),e(v)),m).valueOf()),"Array, DenseMatrix":t.referToSelf(m=>(D,v)=>n(...a(e(D),v),m)),"DenseMatrix, Array":t.referToSelf(m=>(D,v)=>n(...a(D,e(v)),m))},c.SS&&(f["SparseMatrix, SparseMatrix"]=t.referToSelf(m=>(D,v)=>c.SS(...a(D,v),m,!1))),c.DS&&(f["DenseMatrix, SparseMatrix"]=t.referToSelf(m=>(D,v)=>c.DS(...a(D,v),m,!1)),f["Array, SparseMatrix"]=t.referToSelf(m=>(D,v)=>c.DS(...a(e(D),v),m,!1))),p&&(f["SparseMatrix, DenseMatrix"]=t.referToSelf(m=>(D,v)=>p(...a(v,D),m,!0)),f["SparseMatrix, Array"]=t.referToSelf(m=>(D,v)=>p(...a(e(v),D),m,!0))));var d=c.scalar||"any",g=c.Ds||c.Ss;g&&(h?(f["DenseMatrix,"+d]=(m,D)=>s(m,D,h,!1),f[d+", DenseMatrix"]=(m,D)=>s(D,m,h,!0),f["Array,"+d]=(m,D)=>s(e(m),D,h,!1).valueOf(),f[d+", Array"]=(m,D)=>s(e(D),m,h,!0).valueOf()):(f["DenseMatrix,"+d]=t.referToSelf(m=>(D,v)=>s(D,v,m,!1)),f[d+", DenseMatrix"]=t.referToSelf(m=>(D,v)=>s(v,D,m,!0)),f["Array,"+d]=t.referToSelf(m=>(D,v)=>s(e(D),v,m,!1).valueOf()),f[d+", Array"]=t.referToSelf(m=>(D,v)=>s(e(v),D,m,!0).valueOf())));var w=c.sS!==void 0?c.sS:c.Ss;return h?(c.Ss&&(f["SparseMatrix,"+d]=(m,D)=>c.Ss(m,D,h,!1)),w&&(f[d+", SparseMatrix"]=(m,D)=>w(D,m,h,!0))):(c.Ss&&(f["SparseMatrix,"+d]=t.referToSelf(m=>(D,v)=>c.Ss(D,v,m,!1))),w&&(f[d+", SparseMatrix"]=t.referToSelf(m=>(D,v)=>w(v,D,m,!0)))),h&&h.signatures&&Bl(f,h.signatures),f}}),ng="matAlgo01xDSid",ig=["typed"],zc=_t(ng,ig,i=>{var{typed:t}=i;return function(r,n,s,a){var l=r._data,c=r._size,h=r._datatype||r.getDataType(),p=n._values,f=n._index,d=n._ptr,g=n._size,w=n._datatype||n._data===void 0?n._datatype:n.getDataType();if(c.length!==g.length)throw new Zt(c.length,g.length);if(c[0]!==g[0]||c[1]!==g[1])throw new RangeError("Dimension mismatch. Matrix A ("+c+") must match Matrix B ("+g+")");if(!p)throw new Error("Cannot perform operation on Dense Matrix and Pattern Sparse Matrix");var m=c[0],D=c[1],v=typeof h=="string"&&h!=="mixed"&&h===w?h:void 0,E=v?t.find(s,[v,v]):s,b,N,x=[];for(b=0;b<m;b++)x[b]=[];var F=[],M=[];for(N=0;N<D;N++){for(var S=N+1,O=d[N],C=d[N+1],T=O;T<C;T++)b=f[T],F[b]=a?E(p[T],l[b][N]):E(l[b][N],p[T]),M[b]=S;for(b=0;b<m;b++)M[b]===S?x[b][N]=F[b]:x[b][N]=l[b][N]}return r.createDenseMatrix({data:x,size:[m,D],datatype:h===r._datatype&&w===n._datatype?v:void 0})}}),sg="matAlgo04xSidSid",og=["typed","equalScalar"],ag=_t(sg,og,i=>{var{typed:t,equalScalar:e}=i;return function(n,s,a){var l=n._values,c=n._index,h=n._ptr,p=n._size,f=n._datatype||n._data===void 0?n._datatype:n.getDataType(),d=s._values,g=s._index,w=s._ptr,m=s._size,D=s._datatype||s._data===void 0?s._datatype:s.getDataType();if(p.length!==m.length)throw new Zt(p.length,m.length);if(p[0]!==m[0]||p[1]!==m[1])throw new RangeError("Dimension mismatch. Matrix A ("+p+") must match Matrix B ("+m+")");var v=p[0],E=p[1],b,N=e,x=0,F=a;typeof f=="string"&&f===D&&f!=="mixed"&&(b=f,N=t.find(e,[b,b]),x=t.convert(0,b),F=t.find(a,[b,b]));var M=l&&d?[]:void 0,S=[],O=[],C=l&&d?[]:void 0,T=l&&d?[]:void 0,R=[],U=[],k,W,P,K,G;for(W=0;W<E;W++){O[W]=S.length;var V=W+1;for(K=h[W],G=h[W+1],P=K;P<G;P++)k=c[P],S.push(k),R[k]=V,C&&(C[k]=l[P]);for(K=w[W],G=w[W+1],P=K;P<G;P++)if(k=g[P],R[k]===V){if(C){var tt=F(C[k],d[P]);N(tt,x)?R[k]=null:C[k]=tt}}else S.push(k),U[k]=V,T&&(T[k]=d[P]);if(C&&T)for(P=O[W];P<S.length;)k=S[P],R[k]===V?(M[P]=C[k],P++):U[k]===V?(M[P]=T[k],P++):S.splice(P,1)}return O[E]=S.length,n.createSparseMatrix({values:M,index:S,ptr:O,size:[v,E],datatype:f===n._datatype&&D===s._datatype?b:void 0})}}),ug="matAlgo10xSids",lg=["typed","DenseMatrix"],qc=_t(ug,lg,i=>{var{typed:t,DenseMatrix:e}=i;return function(n,s,a,l){var c=n._values,h=n._index,p=n._ptr,f=n._size,d=n._datatype;if(!c)throw new Error("Cannot perform operation on Pattern Sparse Matrix and Scalar value");var g=f[0],w=f[1],m,D=a;typeof d=="string"&&(m=d,s=t.convert(s,m),D=t.find(a,[m,m]));for(var v=[],E=[],b=[],N=0;N<w;N++){for(var x=N+1,F=p[N],M=p[N+1],S=F;S<M;S++){var O=h[S];E[O]=c[S],b[O]=x}for(var C=0;C<g;C++)N===0&&(v[C]=[]),b[C]===x?v[C][N]=l?D(s,E[C]):D(E[C],s):v[C][N]=s}return new e({data:v,size:[g,w],datatype:m})}}),cg="multiplyScalar",fg=["typed"],hg=_t(cg,fg,i=>{var{typed:t}=i;return t("multiplyScalar",{"number, number":xc,"Complex, Complex":function(r,n){return r.mul(n)},"BigNumber, BigNumber":function(r,n){return r.times(n)},"Fraction, Fraction":function(r,n){return r.mul(n)},"number | Fraction | BigNumber | Complex, Unit":(e,r)=>r.multiply(e),"Unit, number | Fraction | BigNumber | Complex | Unit":(e,r)=>e.multiply(r)})}),kc="multiply",pg=["typed","matrix","addScalar","multiplyScalar","equalScalar","dot"],dg=_t(kc,pg,i=>{var{typed:t,matrix:e,addScalar:r,multiplyScalar:n,equalScalar:s,dot:a}=i,l=ba({typed:t,equalScalar:s}),c=Ea({typed:t});function h(x,F){switch(x.length){case 1:switch(F.length){case 1:if(x[0]!==F[0])throw new RangeError("Dimension mismatch in multiplication. Vectors must have the same length");break;case 2:if(x[0]!==F[0])throw new RangeError("Dimension mismatch in multiplication. Vector length ("+x[0]+") must match Matrix rows ("+F[0]+")");break;default:throw new Error("Can only multiply a 1 or 2 dimensional matrix (Matrix B has "+F.length+" dimensions)")}break;case 2:switch(F.length){case 1:if(x[1]!==F[0])throw new RangeError("Dimension mismatch in multiplication. Matrix columns ("+x[1]+") must match Vector length ("+F[0]+")");break;case 2:if(x[1]!==F[0])throw new RangeError("Dimension mismatch in multiplication. Matrix A columns ("+x[1]+") must match Matrix B rows ("+F[0]+")");break;default:throw new Error("Can only multiply a 1 or 2 dimensional matrix (Matrix B has "+F.length+" dimensions)")}break;default:throw new Error("Can only multiply a 1 or 2 dimensional matrix (Matrix A has "+x.length+" dimensions)")}}function p(x,F,M){if(M===0)throw new Error("Cannot multiply two empty vectors");return a(x,F)}function f(x,F){if(F.storage()!=="dense")throw new Error("Support for SparseMatrix not implemented");return d(x,F)}function d(x,F){var M=x._data,S=x._size,O=x._datatype||x.getDataType(),C=F._data,T=F._size,R=F._datatype||F.getDataType(),U=S[0],k=T[1],W,P=r,K=n;O&&R&&O===R&&typeof O=="string"&&O!=="mixed"&&(W=O,P=t.find(r,[W,W]),K=t.find(n,[W,W]));for(var G=[],V=0;V<k;V++){for(var tt=K(M[0],C[0][V]),ct=1;ct<U;ct++)tt=P(tt,K(M[ct],C[ct][V]));G[V]=tt}return x.createDenseMatrix({data:G,size:[k],datatype:O===x._datatype&&R===F._datatype?W:void 0})}var g=t("_multiplyMatrixVector",{"DenseMatrix, any":m,"SparseMatrix, any":E}),w=t("_multiplyMatrixMatrix",{"DenseMatrix, DenseMatrix":D,"DenseMatrix, SparseMatrix":v,"SparseMatrix, DenseMatrix":b,"SparseMatrix, SparseMatrix":N});function m(x,F){var M=x._data,S=x._size,O=x._datatype||x.getDataType(),C=F._data,T=F._datatype||F.getDataType(),R=S[0],U=S[1],k,W=r,P=n;O&&T&&O===T&&typeof O=="string"&&O!=="mixed"&&(k=O,W=t.find(r,[k,k]),P=t.find(n,[k,k]));for(var K=[],G=0;G<R;G++){for(var V=M[G],tt=P(V[0],C[0]),ct=1;ct<U;ct++)tt=W(tt,P(V[ct],C[ct]));K[G]=tt}return x.createDenseMatrix({data:K,size:[R],datatype:O===x._datatype&&T===F._datatype?k:void 0})}function D(x,F){var M=x._data,S=x._size,O=x._datatype||x.getDataType(),C=F._data,T=F._size,R=F._datatype||F.getDataType(),U=S[0],k=S[1],W=T[1],P,K=r,G=n;O&&R&&O===R&&typeof O=="string"&&O!=="mixed"&&O!=="mixed"&&(P=O,K=t.find(r,[P,P]),G=t.find(n,[P,P]));for(var V=[],tt=0;tt<U;tt++){var ct=M[tt];V[tt]=[];for(var gt=0;gt<W;gt++){for(var lt=G(ct[0],C[0][gt]),wt=1;wt<k;wt++)lt=K(lt,G(ct[wt],C[wt][gt]));V[tt][gt]=lt}}return x.createDenseMatrix({data:V,size:[U,W],datatype:O===x._datatype&&R===F._datatype?P:void 0})}function v(x,F){var M=x._data,S=x._size,O=x._datatype||x.getDataType(),C=F._values,T=F._index,R=F._ptr,U=F._size,k=F._datatype||F._data===void 0?F._datatype:F.getDataType();if(!C)throw new Error("Cannot multiply Dense Matrix times Pattern only Matrix");var W=S[0],P=U[1],K,G=r,V=n,tt=s,ct=0;O&&k&&O===k&&typeof O=="string"&&O!=="mixed"&&(K=O,G=t.find(r,[K,K]),V=t.find(n,[K,K]),tt=t.find(s,[K,K]),ct=t.convert(0,K));for(var gt=[],lt=[],wt=[],Dt=F.createSparseMatrix({values:gt,index:lt,ptr:wt,size:[W,P],datatype:O===x._datatype&&k===F._datatype?K:void 0}),St=0;St<P;St++){wt[St]=lt.length;var bt=R[St],re=R[St+1];if(re>bt)for(var Tt=0,Mt=0;Mt<W;Mt++){for(var ie=Mt+1,Xt=void 0,zt=bt;zt<re;zt++){var Gt=T[zt];Tt!==ie?(Xt=V(M[Mt][Gt],C[zt]),Tt=ie):Xt=G(Xt,V(M[Mt][Gt],C[zt]))}Tt===ie&&!tt(Xt,ct)&&(lt.push(Mt),gt.push(Xt))}}return wt[P]=lt.length,Dt}function E(x,F){var M=x._values,S=x._index,O=x._ptr,C=x._datatype||x._data===void 0?x._datatype:x.getDataType();if(!M)throw new Error("Cannot multiply Pattern only Matrix times Dense Matrix");var T=F._data,R=F._datatype||F.getDataType(),U=x._size[0],k=F._size[0],W=[],P=[],K=[],G,V=r,tt=n,ct=s,gt=0;C&&R&&C===R&&typeof C=="string"&&C!=="mixed"&&(G=C,V=t.find(r,[G,G]),tt=t.find(n,[G,G]),ct=t.find(s,[G,G]),gt=t.convert(0,G));var lt=[],wt=[];K[0]=0;for(var Dt=0;Dt<k;Dt++){var St=T[Dt];if(!ct(St,gt))for(var bt=O[Dt],re=O[Dt+1],Tt=bt;Tt<re;Tt++){var Mt=S[Tt];wt[Mt]?lt[Mt]=V(lt[Mt],tt(St,M[Tt])):(wt[Mt]=!0,P.push(Mt),lt[Mt]=tt(St,M[Tt]))}}for(var ie=P.length,Xt=0;Xt<ie;Xt++){var zt=P[Xt];W[Xt]=lt[zt]}return K[1]=P.length,x.createSparseMatrix({values:W,index:P,ptr:K,size:[U,1],datatype:C===x._datatype&&R===F._datatype?G:void 0})}function b(x,F){var M=x._values,S=x._index,O=x._ptr,C=x._datatype||x._data===void 0?x._datatype:x.getDataType();if(!M)throw new Error("Cannot multiply Pattern only Matrix times Dense Matrix");var T=F._data,R=F._datatype||F.getDataType(),U=x._size[0],k=F._size[0],W=F._size[1],P,K=r,G=n,V=s,tt=0;C&&R&&C===R&&typeof C=="string"&&C!=="mixed"&&(P=C,K=t.find(r,[P,P]),G=t.find(n,[P,P]),V=t.find(s,[P,P]),tt=t.convert(0,P));for(var ct=[],gt=[],lt=[],wt=x.createSparseMatrix({values:ct,index:gt,ptr:lt,size:[U,W],datatype:C===x._datatype&&R===F._datatype?P:void 0}),Dt=[],St=[],bt=0;bt<W;bt++){lt[bt]=gt.length;for(var re=bt+1,Tt=0;Tt<k;Tt++){var Mt=T[Tt][bt];if(!V(Mt,tt))for(var ie=O[Tt],Xt=O[Tt+1],zt=ie;zt<Xt;zt++){var Gt=S[zt];St[Gt]!==re?(St[Gt]=re,gt.push(Gt),Dt[Gt]=G(Mt,M[zt])):Dt[Gt]=K(Dt[Gt],G(Mt,M[zt]))}}for(var Fe=lt[bt],or=gt.length,Ne=Fe;Ne<or;Ne++){var tn=gt[Ne];ct[Ne]=Dt[tn]}}return lt[W]=gt.length,wt}function N(x,F){var M=x._values,S=x._index,O=x._ptr,C=x._datatype||x._data===void 0?x._datatype:x.getDataType(),T=F._values,R=F._index,U=F._ptr,k=F._datatype||F._data===void 0?F._datatype:F.getDataType(),W=x._size[0],P=F._size[1],K=M&&T,G,V=r,tt=n;C&&k&&C===k&&typeof C=="string"&&C!=="mixed"&&(G=C,V=t.find(r,[G,G]),tt=t.find(n,[G,G]));for(var ct=K?[]:void 0,gt=[],lt=[],wt=x.createSparseMatrix({values:ct,index:gt,ptr:lt,size:[W,P],datatype:C===x._datatype&&k===F._datatype?G:void 0}),Dt=K?[]:void 0,St=[],bt,re,Tt,Mt,ie,Xt,zt,Gt,Fe=0;Fe<P;Fe++){lt[Fe]=gt.length;var or=Fe+1;for(ie=U[Fe],Xt=U[Fe+1],Mt=ie;Mt<Xt;Mt++)if(Gt=R[Mt],K)for(re=O[Gt],Tt=O[Gt+1],bt=re;bt<Tt;bt++)zt=S[bt],St[zt]!==or?(St[zt]=or,gt.push(zt),Dt[zt]=tt(T[Mt],M[bt])):Dt[zt]=V(Dt[zt],tt(T[Mt],M[bt]));else for(re=O[Gt],Tt=O[Gt+1],bt=re;bt<Tt;bt++)zt=S[bt],St[zt]!==or&&(St[zt]=or,gt.push(zt));if(K)for(var Ne=lt[Fe],tn=gt.length,bn=Ne;bn<tn;bn++){var en=gt[bn];ct[bn]=Dt[en]}}return lt[P]=gt.length,wt}return t(kc,n,{"Array, Array":t.referTo("Matrix, Matrix",x=>(F,M)=>{h(Ae(F),Ae(M));var S=x(e(F),e(M));return ce(S)?S.valueOf():S}),"Matrix, Matrix":function(F,M){var S=F.size(),O=M.size();return h(S,O),S.length===1?O.length===1?p(F,M,S[0]):f(F,M):O.length===1?g(F,M):w(F,M)},"Matrix, Array":t.referTo("Matrix,Matrix",x=>(F,M)=>x(F,e(M))),"Array, Matrix":t.referToSelf(x=>(F,M)=>x(e(F,M.storage()),M)),"SparseMatrix, any":function(F,M){return l(F,M,n,!1)},"DenseMatrix, any":function(F,M){return c(F,M,n,!1)},"any, SparseMatrix":function(F,M){return l(M,F,n,!0)},"any, DenseMatrix":function(F,M){return c(M,F,n,!0)},"Array, any":function(F,M){return c(e(F),M,n,!1).valueOf()},"any, Array":function(F,M){return c(e(M),F,n,!0).valueOf()},"any, any":n,"any, any, ...any":t.referToSelf(x=>(F,M,S)=>{for(var O=x(F,M),C=0;C<S.length;C++)O=x(O,S[C]);return O})})}),Uc="subtract",_g=["typed","matrix","equalScalar","subtractScalar","unaryMinus","DenseMatrix","concat"],mg=_t(Uc,_g,i=>{var{typed:t,matrix:e,equalScalar:r,subtractScalar:n,unaryMinus:s,DenseMatrix:a,concat:l}=i,c=zc({typed:t}),h=hi({typed:t}),p=Pc({typed:t,equalScalar:r}),f=qc({typed:t,DenseMatrix:a}),d=fi({typed:t,DenseMatrix:a}),g=Un({typed:t,matrix:e,concat:l});return t(Uc,{"any, any":n},g({elop:n,SS:p,DS:c,SD:h,Ss:d,sS:f}))}),gg="matAlgo07xSSf",vg=["typed","DenseMatrix"],zs=_t(gg,vg,i=>{var{typed:t,DenseMatrix:e}=i;return function(s,a,l){var c=s._size,h=s._datatype||s._data===void 0?s._datatype:s.getDataType(),p=a._size,f=a._datatype||a._data===void 0?a._datatype:a.getDataType();if(c.length!==p.length)throw new Zt(c.length,p.length);if(c[0]!==p[0]||c[1]!==p[1])throw new RangeError("Dimension mismatch. Matrix A ("+c+") must match Matrix B ("+p+")");var d=c[0],g=c[1],w,m=0,D=l;typeof h=="string"&&h===f&&h!=="mixed"&&(w=h,m=t.convert(0,w),D=t.find(l,[w,w]));var v,E,b=[];for(v=0;v<d;v++)b[v]=[];var N=[],x=[],F=[],M=[];for(E=0;E<g;E++){var S=E+1;for(r(s,E,F,N,S),r(a,E,M,x,S),v=0;v<d;v++){var O=F[v]===S?N[v]:m,C=M[v]===S?x[v]:m;b[v][E]=D(O,C)}}return new e({data:b,size:[d,g],datatype:h===s._datatype&&f===a._datatype?w:void 0})};function r(n,s,a,l,c){for(var h=n._values,p=n._index,f=n._ptr,d=f[s],g=f[s+1];d<g;d++){var w=p[d];a[w]=c,l[w]=h[d]}}}),Wc="conj",wg=["typed"],yg=_t(Wc,wg,i=>{var{typed:t}=i;return t(Wc,{"number | BigNumber | Fraction":e=>e,Complex:e=>e.conjugate(),"Array | Matrix":t.referToSelf(e=>r=>Or(r,e))})}),jc="concat",Dg=["typed","matrix","isInteger"],bg=_t(jc,Dg,i=>{var{typed:t,matrix:e,isInteger:r}=i;return t(jc,{"...Array | Matrix | number | BigNumber":function(s){var a,l=s.length,c=-1,h,p=!1,f=[];for(a=0;a<l;a++){var d=s[a];if(ce(d)&&(p=!0),ue(d)||be(d)){if(a!==l-1)throw new Error("Dimension must be specified as last argument");if(h=c,c=d.valueOf(),!r(c))throw new TypeError("Integer number expected for dimension");if(c<0||a>0&&c>h)throw new dn(c,h+1)}else{var g=ee(d).valueOf(),w=Ae(g);if(f[a]=g,h=c,c=w.length-1,a>0&&c!==h)throw new Zt(h+1,c+1)}}if(f.length===0)throw new SyntaxError("At least one matrix expected");for(var m=f.shift();f.length;)m=Xl(m,f.shift(),c);return p?e(m):m},"...string":function(s){return s.join("")}})}),Yc="count",Eg=["typed","size","prod"],xg=_t(Yc,Eg,i=>{var{typed:t,size:e,prod:r}=i;return t(Yc,{string:function(s){return s.length},"Matrix | Array":function(s){return r(e(s))}})}),Zc="identity",Ag=["typed","config","matrix","BigNumber","DenseMatrix","SparseMatrix"],Cg=_t(Zc,Ag,i=>{var{typed:t,config:e,matrix:r,BigNumber:n,DenseMatrix:s,SparseMatrix:a}=i;return t(Zc,{"":function(){return e.matrix==="Matrix"?r([]):[]},string:function(p){return r(p)},"number | BigNumber":function(p){return c(p,p,e.matrix==="Matrix"?"dense":void 0)},"number | BigNumber, string":function(p,f){return c(p,p,f)},"number | BigNumber, number | BigNumber":function(p,f){return c(p,f,e.matrix==="Matrix"?"dense":void 0)},"number | BigNumber, number | BigNumber, string":function(p,f,d){return c(p,f,d)},Array:function(p){return l(p)},"Array, string":function(p,f){return l(p,f)},Matrix:function(p){return l(p.valueOf(),p.storage())},"Matrix, string":function(p,f){return l(p.valueOf(),f)}});function l(h,p){switch(h.length){case 0:return p?r(p):[];case 1:return c(h[0],h[0],p);case 2:return c(h[0],h[1],p);default:throw new Error("Vector containing two values expected")}}function c(h,p,f){var d=be(h)||be(p)?n:null;if(be(h)&&(h=h.toNumber()),be(p)&&(p=p.toNumber()),!pe(h)||h<1)throw new Error("Parameters in function identity must be positive integers");if(!pe(p)||p<1)throw new Error("Parameters in function identity must be positive integers");var g=d?new n(1):1,w=d?new d(0):0,m=[h,p];if(f){if(f==="sparse")return a.diagonal(m,g,0,w);if(f==="dense")return s.diagonal(m,g,0,w);throw new TypeError('Unknown matrix type "'.concat(f,'"'))}for(var D=ua([],m,w),v=h<p?h:p,E=0;E<v;E++)D[E][E]=g;return D}}),Gc="kron",Fg=["typed","matrix","multiplyScalar"],Mg=_t(Gc,Fg,i=>{var{typed:t,matrix:e,multiplyScalar:r}=i;return t(Gc,{"Matrix, Matrix":function(a,l){return e(n(a.toArray(),l.toArray()))},"Matrix, Array":function(a,l){return e(n(a.toArray(),l))},"Array, Matrix":function(a,l){return e(n(a,l.toArray()))},"Array, Array":n});function n(s,a){if(Ae(s).length===1&&(s=[s]),Ae(a).length===1&&(a=[a]),Ae(s).length>2||Ae(a).length>2)throw new RangeError("Vectors with dimensions greater then 2 are not supported expected (Size x = "+JSON.stringify(s.length)+", y = "+JSON.stringify(a.length)+")");var l=[],c=[];return s.map(function(h){return a.map(function(p){return c=[],l.push(c),h.map(function(f){return p.map(function(d){return c.push(r(f,d))})})})})&&l}});function Ng(){throw new Error('No "bignumber" implementation available')}function Sg(){throw new Error('No "fraction" implementation available')}function Bg(){throw new Error('No "matrix" implementation available')}var Kc="reshape",Tg=["typed","isInteger","matrix"],Ig=_t(Kc,Tg,i=>{var{typed:t,isInteger:e}=i;return t(Kc,{"Matrix, Array":function(n,s){return n.reshape(s,!0)},"Array, Array":function(n,s){return s.forEach(function(a){if(!e(a))throw new TypeError("Invalid size for dimension: "+a)}),ca(n,s)}})}),Hc="size",Og=["typed","config","?matrix"],$g=_t(Hc,Og,i=>{var{typed:t,config:e,matrix:r}=i;return t(Hc,{Matrix:function(s){return s.create(s.size())},Array:Ae,string:function(s){return e.matrix==="Array"?[s.length]:r([s.length])},"number | Complex | BigNumber | Unit | boolean | null":function(s){return e.matrix==="Array"?[]:r?r([]):Bg()}})}),Jc="transpose",Rg=["typed","matrix"],Lg=_t(Jc,Rg,i=>{var{typed:t,matrix:e}=i;return t(Jc,{Array:a=>r(e(a)).valueOf(),Matrix:r,any:ee});function r(a){var l=a.size(),c;switch(l.length){case 1:c=a.clone();break;case 2:{var h=l[0],p=l[1];if(p===0)throw new RangeError("Cannot transpose a 2D matrix with no columns (size: "+se(l)+")");switch(a.storage()){case"dense":c=n(a,h,p);break;case"sparse":c=s(a,h,p);break}}break;default:throw new RangeError("Matrix must be a vector or two dimensional (size: "+se(l)+")")}return c}function n(a,l,c){for(var h=a._data,p=[],f,d=0;d<c;d++){f=p[d]=[];for(var g=0;g<l;g++)f[g]=ee(h[g][d])}return a.createDenseMatrix({data:p,size:[c,l],datatype:a._datatype})}function s(a,l,c){for(var h=a._values,p=a._index,f=a._ptr,d=h?[]:void 0,g=[],w=[],m=[],D=0;D<l;D++)m[D]=0;var v,E,b;for(v=0,E=p.length;v<E;v++)m[p[v]]++;for(var N=0,x=0;x<l;x++)w.push(N),N+=m[x],m[x]=w[x];for(w.push(N),b=0;b<c;b++)for(var F=f[b],M=f[b+1],S=F;S<M;S++){var O=m[p[S]]++;g[O]=b,h&&(d[O]=ee(h[S]))}return a.createSparseMatrix({values:d,index:g,ptr:w,size:[c,l],datatype:a._datatype})}}),Xc="ctranspose",Pg=["typed","transpose","conj"],zg=_t(Xc,Pg,i=>{var{typed:t,transpose:e,conj:r}=i;return t(Xc,{any:function(s){return r(e(s))}})}),Vc="mode",qg=["typed","isNaN","isNumeric"],kg=_t(Vc,qg,i=>{var{typed:t,isNaN:e,isNumeric:r}=i;return t(Vc,{"Array | Matrix":n,"...":function(a){return n(a)}});function n(s){s=ha(s.valueOf());var a=s.length;if(a===0)throw new Error("Cannot calculate mode of an empty array");for(var l={},c=[],h=0,p=0;p<s.length;p++){var f=s[p];if(r(f)&&e(f))throw new Error("Cannot calculate mode of an array containing NaN values");f in l||(l[f]=0),l[f]++,l[f]===h?c.push(f):l[f]>h&&(h=l[f],c=[f])}return c}});function wn(i,t,e){var r;return String(i).indexOf("Unexpected type")!==-1?(r=arguments.length>2?" (type: "+pn(e)+", value: "+JSON.stringify(e)+")":" (type: "+i.data.actual+")",new TypeError("Cannot calculate "+t+", unexpected type of argument"+r)):String(i).indexOf("complex numbers")!==-1?(r=arguments.length>2?" (type: "+pn(e)+", value: "+JSON.stringify(e)+")":"",new TypeError("Cannot calculate "+t+", no ordering relation is defined for complex numbers"+r)):i}var Qc="prod",Ug=["typed","config","multiplyScalar","numeric"],Wg=_t(Qc,Ug,i=>{var{typed:t,config:e,multiplyScalar:r,numeric:n}=i;return t(Qc,{"Array | Matrix":s,"Array | Matrix, number | BigNumber":function(l,c){throw new Error("prod(A, dim) is not yet supported")},"...":function(l){return s(l)}});function s(a){var l;if(Wi(a,function(c){try{l=l===void 0?c:r(l,c)}catch(h){throw wn(h,"prod",c)}}),typeof l=="string"&&(l=n(l,e.number)),l===void 0)throw new Error("Cannot calculate prod of an empty array");return l}}),jg="numeric",Yg=["number","?bignumber","?fraction"],Zg=_t(jg,Yg,i=>{var{number:t,bignumber:e,fraction:r}=i,n={string:!0,number:!0,BigNumber:!0,Fraction:!0},s={number:a=>t(a),BigNumber:e?a=>e(a):Ng,Fraction:r?a=>r(a):Sg};return function(l){var c=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"number",h=arguments.length>2?arguments[2]:void 0;if(h!==void 0)throw new SyntaxError("numeric() takes one or two arguments");var p=pn(l);if(!(p in n))throw new TypeError("Cannot convert "+l+' of type "'+p+'"; valid input types are '+Object.keys(n).join(", "));if(!(c in s))throw new TypeError("Cannot convert "+l+' to type "'+c+'"; valid output types are '+Object.keys(s).join(", "));return c===p?l:s[c](l)}}),tf="divideScalar",Gg=["typed","numeric"],Kg=_t(tf,Gg,i=>{var{typed:t,numeric:e}=i;return t(tf,{"number, number":function(n,s){return n/s},"Complex, Complex":function(n,s){return n.div(s)},"BigNumber, BigNumber":function(n,s){return n.div(s)},"Fraction, Fraction":function(n,s){return n.div(s)},"Unit, number | Complex | Fraction | BigNumber | Unit":(r,n)=>r.divide(n),"number | Fraction | Complex | BigNumber, Unit":(r,n)=>n.divideInto(r)})}),ef="pow",Hg=["typed","config","identity","multiply","matrix","inv","fraction","number","Complex"],Jg=_t(ef,Hg,i=>{var{typed:t,config:e,identity:r,multiply:n,matrix:s,inv:a,number:l,fraction:c,Complex:h}=i;return t(ef,{"number, number":p,"Complex, Complex":function(w,m){return w.pow(m)},"BigNumber, BigNumber":function(w,m){return m.isInteger()||w>=0||e.predictable?w.pow(m):new h(w.toNumber(),0).pow(m.toNumber(),0)},"Fraction, Fraction":function(w,m){var D=w.pow(m);if(D!=null)return D;if(e.predictable)throw new Error("Result of pow is non-rational and cannot be expressed as a fraction");return p(w.valueOf(),m.valueOf())},"Array, number":f,"Array, BigNumber":function(w,m){return f(w,m.toNumber())},"Matrix, number":d,"Matrix, BigNumber":function(w,m){return d(w,m.toNumber())},"Unit, number | BigNumber":function(w,m){return w.pow(m)}});function p(g,w){if(e.predictable&&!pe(w)&&g<0)try{var m=c(w),D=l(m);if((w===D||Math.abs((w-D)/w)<1e-14)&&m.d%2===1)return(m.n%2===0?1:-1)*Math.pow(-g,w)}catch{}return e.predictable&&(g<-1&&w===1/0||g>-1&&g<0&&w===-1/0)?NaN:pe(w)||g>=0||e.predictable?Cc(g,w):g*g<1&&w===1/0||g*g>1&&w===-1/0?0:new h(g,0).pow(w,0)}function f(g,w){if(!pe(w))throw new TypeError("For A^b, b must be an integer (value is "+w+")");var m=Ae(g);if(m.length!==2)throw new Error("For A^b, A must be 2 dimensional (A has "+m.length+" dimensions)");if(m[0]!==m[1])throw new Error("For A^b, A must be square (size is "+m[0]+"x"+m[1]+")");if(w<0)try{return f(a(g),-w)}catch(E){throw E.message==="Cannot calculate inverse, determinant is zero"?new TypeError("For A^b, when A is not invertible, b must be a positive integer (value is "+w+")"):E}for(var D=r(m[0]).valueOf(),v=g;w>=1;)(w&1)===1&&(D=n(v,D)),w>>=1,v=n(v,v);return D}function d(g,w){return s(f(g.valueOf(),w))}}),rf="dotDivide",Xg=["typed","matrix","equalScalar","divideScalar","DenseMatrix","concat"],Vg=_t(rf,Xg,i=>{var{typed:t,matrix:e,equalScalar:r,divideScalar:n,DenseMatrix:s,concat:a}=i,l=jm({typed:t,equalScalar:r}),c=hi({typed:t}),h=zs({typed:t,DenseMatrix:s}),p=ba({typed:t,equalScalar:r}),f=fi({typed:t,DenseMatrix:s}),d=Un({typed:t,matrix:e,concat:a});return t(rf,d({elop:n,SS:h,DS:c,SD:l,Ss:p,sS:f}))}),qs="compare",Qg=["typed","config","matrix","equalScalar","BigNumber","Fraction","DenseMatrix","concat"],tv=_t(qs,Qg,i=>{var{typed:t,config:e,equalScalar:r,matrix:n,BigNumber:s,Fraction:a,DenseMatrix:l,concat:c}=i,h=hi({typed:t}),p=Pc({typed:t,equalScalar:r}),f=fi({typed:t,DenseMatrix:l}),d=Un({typed:t,matrix:n,concat:c}),g=Ls({typed:t});return t(qs,ev({typed:t,config:e}),{"boolean, boolean":function(m,D){return m===D?0:m>D?1:-1},"BigNumber, BigNumber":function(m,D){return Rs(m,D,e.epsilon)?new s(0):new s(m.cmp(D))},"Fraction, Fraction":function(m,D){return new a(m.compare(D))},"Complex, Complex":function(){throw new TypeError("No ordering relation is defined for complex numbers")}},g,d({SS:p,DS:h,Ss:f}))}),ev=_t(qs,["typed","config"],i=>{var{typed:t,config:e}=i;return t(qs,{"number, number":function(n,s){return kn(n,s,e.epsilon)?0:n>s?1:-1}})}),ks="equal",rv=["typed","matrix","equalScalar","DenseMatrix","concat"],nv=_t(ks,rv,i=>{var{typed:t,matrix:e,equalScalar:r,DenseMatrix:n,concat:s}=i,a=hi({typed:t}),l=zs({typed:t,DenseMatrix:n}),c=fi({typed:t,DenseMatrix:n}),h=Un({typed:t,matrix:e,concat:s});return t(ks,iv({typed:t,equalScalar:r}),h({elop:r,SS:l,DS:a,Ss:c}))}),iv=_t(ks,["typed","equalScalar"],i=>{var{typed:t,equalScalar:e}=i;return t(ks,{"any, any":function(n,s){return n===null?s===null:s===null?n===null:n===void 0?s===void 0:s===void 0?n===void 0:e(n,s)}})}),Us="smaller",sv=["typed","config","matrix","DenseMatrix","concat"],ov=_t(Us,sv,i=>{var{typed:t,config:e,matrix:r,DenseMatrix:n,concat:s}=i,a=hi({typed:t}),l=zs({typed:t,DenseMatrix:n}),c=fi({typed:t,DenseMatrix:n}),h=Un({typed:t,matrix:r,concat:s}),p=Ls({typed:t});return t(Us,av({typed:t,config:e}),{"boolean, boolean":(f,d)=>f<d,"BigNumber, BigNumber":function(d,g){return d.lt(g)&&!Rs(d,g,e.epsilon)},"Fraction, Fraction":(f,d)=>f.compare(d)===-1,"Complex, Complex":function(d,g){throw new TypeError("No ordering relation is defined for complex numbers")}},p,h({SS:l,DS:a,Ss:c}))}),av=_t(Us,["typed","config"],i=>{var{typed:t,config:e}=i;return t(Us,{"number, number":function(n,s){return n<s&&!kn(n,s,e.epsilon)}})}),Ws="larger",uv=["typed","config","matrix","DenseMatrix","concat"],lv=_t(Ws,uv,i=>{var{typed:t,config:e,matrix:r,DenseMatrix:n,concat:s}=i,a=hi({typed:t}),l=zs({typed:t,DenseMatrix:n}),c=fi({typed:t,DenseMatrix:n}),h=Un({typed:t,matrix:r,concat:s}),p=Ls({typed:t});return t(Ws,cv({typed:t,config:e}),{"boolean, boolean":(f,d)=>f>d,"BigNumber, BigNumber":function(d,g){return d.gt(g)&&!Rs(d,g,e.epsilon)},"Fraction, Fraction":(f,d)=>f.compare(d)===1,"Complex, Complex":function(){throw new TypeError("No ordering relation is defined for complex numbers")}},p,h({SS:l,DS:a,Ss:c}))}),cv=_t(Ws,["typed","config"],i=>{var{typed:t,config:e}=i;return t(Ws,{"number, number":function(n,s){return n>s&&!kn(n,s,e.epsilon)}})}),nf="deepEqual",fv=["typed","equal"],hv=_t(nf,fv,i=>{var{typed:t,equal:e}=i;return t(nf,{"any, any":function(s,a){return r(s.valueOf(),a.valueOf())}});function r(n,s){if(Array.isArray(n))if(Array.isArray(s)){var a=n.length;if(a!==s.length)return!1;for(var l=0;l<a;l++)if(!r(n[l],s[l]))return!1;return!0}else return!1;else return Array.isArray(s)?!1:e(n,s)}}),sf="partitionSelect",pv=["typed","isNumeric","isNaN","compare"],dv=_t(sf,pv,i=>{var{typed:t,isNumeric:e,isNaN:r,compare:n}=i,s=n,a=(h,p)=>-n(h,p);return t(sf,{"Array | Matrix, number":function(p,f){return l(p,f,s)},"Array | Matrix, number, string":function(p,f,d){if(d==="asc")return l(p,f,s);if(d==="desc")return l(p,f,a);throw new Error('Compare string must be "asc" or "desc"')},"Array | Matrix, number, function":l});function l(h,p,f){if(!pe(p)||p<0)throw new Error("k must be a non-negative integer");if(ce(h)){var d=h.size();if(d.length>1)throw new Error("Only one dimensional matrices supported");return c(h.valueOf(),p,f)}if(Array.isArray(h))return c(h,p,f)}function c(h,p,f){if(p>=h.length)throw new Error("k out of bounds");for(var d=0;d<h.length;d++)if(e(h[d])&&r(h[d]))return h[d];for(var g=0,w=h.length-1;g<w;){for(var m=g,D=w,v=h[Math.floor(Math.random()*(w-g+1))+g];m<D;)if(f(h[m],v)>=0){var E=h[D];h[D]=h[m],h[m]=E,--D}else++m;f(h[m],v)>0&&--m,p<=m?w=m:g=m+1}return h[p]}}),of="max",_v=["typed","config","numeric","larger"],mv=_t(of,_v,i=>{var{typed:t,config:e,numeric:r,larger:n}=i;return t(of,{"Array | Matrix":a,"Array | Matrix, number | BigNumber":function(c,h){return Da(c,h.valueOf(),s)},"...":function(c){if(Is(c))throw new TypeError("Scalar values expected in function max");return a(c)}});function s(l,c){try{return n(l,c)?l:c}catch(h){throw wn(h,"max",c)}}function a(l){var c;if(Wi(l,function(h){try{isNaN(h)&&typeof h=="number"?c=NaN:(c===void 0||n(h,c))&&(c=h)}catch(p){throw wn(p,"max",h)}}),c===void 0)throw new Error("Cannot calculate max of an empty array");return typeof c=="string"&&(c=r(c,e.number)),c}}),af="min",gv=["typed","config","numeric","smaller"],vv=_t(af,gv,i=>{var{typed:t,config:e,numeric:r,smaller:n}=i;return t(af,{"Array | Matrix":a,"Array | Matrix, number | BigNumber":function(c,h){return Da(c,h.valueOf(),s)},"...":function(c){if(Is(c))throw new TypeError("Scalar values expected in function min");return a(c)}});function s(l,c){try{return n(l,c)?l:c}catch(h){throw wn(h,"min",c)}}function a(l){var c;if(Wi(l,function(h){try{isNaN(h)&&typeof h=="number"?c=NaN:(c===void 0||n(h,c))&&(c=h)}catch(p){throw wn(p,"min",h)}}),c===void 0)throw new Error("Cannot calculate min of an empty array");return typeof c=="string"&&(c=r(c,e.number)),c}}),uf="add",wv=["typed","matrix","addScalar","equalScalar","DenseMatrix","SparseMatrix","concat"],yv=_t(uf,wv,i=>{var{typed:t,matrix:e,addScalar:r,equalScalar:n,DenseMatrix:s,SparseMatrix:a,concat:l}=i,c=zc({typed:t}),h=ag({typed:t,equalScalar:n}),p=qc({typed:t,DenseMatrix:s}),f=Un({typed:t,matrix:e,concat:l});return t(uf,{"any, any":r,"any, any, ...any":t.referToSelf(d=>(g,w,m)=>{for(var D=d(g,w),v=0;v<m.length;v++)D=d(D,m[v]);return D})},f({elop:r,DS:c,SS:h,Ss:p}))}),lf="dot",Dv=["typed","addScalar","multiplyScalar","conj","size"],bv=_t(lf,Dv,i=>{var{typed:t,addScalar:e,multiplyScalar:r,conj:n,size:s}=i;return t(lf,{"Array | DenseMatrix, Array | DenseMatrix":l,"SparseMatrix, SparseMatrix":c});function a(p,f){var d=h(p),g=h(f),w,m;if(d.length===1)w=d[0];else if(d.length===2&&d[1]===1)w=d[0];else throw new RangeError("Expected a column vector, instead got a matrix of size ("+d.join(", ")+")");if(g.length===1)m=g[0];else if(g.length===2&&g[1]===1)m=g[0];else throw new RangeError("Expected a column vector, instead got a matrix of size ("+g.join(", ")+")");if(w!==m)throw new RangeError("Vectors must have equal length ("+w+" != "+m+")");if(w===0)throw new RangeError("Cannot calculate the dot product of empty vectors");return w}function l(p,f){var d=a(p,f),g=ce(p)?p._data:p,w=ce(p)?p._datatype||p.getDataType():void 0,m=ce(f)?f._data:f,D=ce(f)?f._datatype||f.getDataType():void 0,v=h(p).length===2,E=h(f).length===2,b=e,N=r;if(w&&D&&w===D&&typeof w=="string"&&w!=="mixed"){var x=w;b=t.find(e,[x,x]),N=t.find(r,[x,x])}if(!v&&!E){for(var F=N(n(g[0]),m[0]),M=1;M<d;M++)F=b(F,N(n(g[M]),m[M]));return F}if(!v&&E){for(var S=N(n(g[0]),m[0][0]),O=1;O<d;O++)S=b(S,N(n(g[O]),m[O][0]));return S}if(v&&!E){for(var C=N(n(g[0][0]),m[0]),T=1;T<d;T++)C=b(C,N(n(g[T][0]),m[T]));return C}if(v&&E){for(var R=N(n(g[0][0]),m[0][0]),U=1;U<d;U++)R=b(R,N(n(g[U][0]),m[U][0]));return R}}function c(p,f){a(p,f);for(var d=p._index,g=p._values,w=f._index,m=f._values,D=0,v=e,E=r,b=0,N=0;b<d.length&&N<w.length;){var x=d[b],F=w[N];if(x<F){b++;continue}if(x>F){N++;continue}x===F&&(D=v(D,E(g[b],m[N])),b++,N++)}return D}function h(p){return ce(p)?p.size():s(p)}}),Ev="trace",xv=["typed","matrix","add"],Av=_t(Ev,xv,i=>{var{typed:t,matrix:e,add:r}=i;return t("trace",{Array:function(l){return n(e(l))},SparseMatrix:s,DenseMatrix:n,any:ee});function n(a){var l=a._size,c=a._data;switch(l.length){case 1:if(l[0]===1)return ee(c[0]);throw new RangeError("Matrix must be square (size: "+se(l)+")");case 2:{var h=l[0],p=l[1];if(h===p){for(var f=0,d=0;d<h;d++)f=r(f,c[d][d]);return f}else throw new RangeError("Matrix must be square (size: "+se(l)+")")}default:throw new RangeError("Matrix must be two dimensional (size: "+se(l)+")")}}function s(a){var l=a._values,c=a._index,h=a._ptr,p=a._size,f=p[0],d=p[1];if(f===d){var g=0;if(l.length>0)for(var w=0;w<d;w++)for(var m=h[w],D=h[w+1],v=m;v<D;v++){var E=c[v];if(E===w){g=r(g,l[v]);break}if(E>w)break}return g}throw new RangeError("Matrix must be square (size: "+se(p)+")")}}),cf="det",Cv=["typed","matrix","subtractScalar","multiply","divideScalar","isZero","unaryMinus"],Fv=_t(cf,Cv,i=>{var{typed:t,matrix:e,subtractScalar:r,multiply:n,divideScalar:s,isZero:a,unaryMinus:l}=i;return t(cf,{any:function(p){return ee(p)},"Array | Matrix":function(p){var f;switch(ce(p)?f=p.size():Array.isArray(p)?(p=e(p),f=p.size()):f=[],f.length){case 0:return ee(p);case 1:if(f[0]===1)return ee(p.valueOf()[0]);if(f[0]===0)return 1;throw new RangeError("Matrix must be square (size: "+se(f)+")");case 2:{var d=f[0],g=f[1];if(d===g)return c(p.clone().valueOf(),d);if(g===0)return 1;throw new RangeError("Matrix must be square (size: "+se(f)+")")}default:throw new RangeError("Matrix must be two dimensional (size: "+se(f)+")")}}});function c(h,p,f){if(p===1)return ee(h[0][0]);if(p===2)return r(n(h[0][0],h[1][1]),n(h[1][0],h[0][1]));for(var d=!1,g=new Array(p).fill(0).map((M,S)=>S),w=0;w<p;w++){var m=g[w];if(a(h[m][w])){var D=void 0;for(D=w+1;D<p;D++)if(!a(h[g[D]][w])){m=g[D],g[D]=g[w],g[w]=m,d=!d;break}if(D===p)return h[m][w]}for(var v=h[m][w],E=w===0?1:h[g[w-1]][w-1],b=w+1;b<p;b++)for(var N=g[b],x=w+1;x<p;x++)h[N][x]=s(r(n(h[N][x],v),n(h[N][w],h[m][x])),E)}var F=h[g[p-1]][p-1];return d?l(F):F}}),ff="inv",Mv=["typed","matrix","divideScalar","addScalar","multiply","unaryMinus","det","identity","abs"],Nv=_t(ff,Mv,i=>{var{typed:t,matrix:e,divideScalar:r,addScalar:n,multiply:s,unaryMinus:a,det:l,identity:c,abs:h}=i;return t(ff,{"Array | Matrix":function(d){var g=ce(d)?d.size():Ae(d);switch(g.length){case 1:if(g[0]===1)return ce(d)?e([r(1,d.valueOf()[0])]):[r(1,d[0])];throw new RangeError("Matrix must be square (size: "+se(g)+")");case 2:{var w=g[0],m=g[1];if(w===m)return ce(d)?e(p(d.valueOf(),w,m),d.storage()):p(d,w,m);throw new RangeError("Matrix must be square (size: "+se(g)+")")}default:throw new RangeError("Matrix must be two dimensional (size: "+se(g)+")")}},any:function(d){return r(1,d)}});function p(f,d,g){var w,m,D,v,E;if(d===1){if(v=f[0][0],v===0)throw Error("Cannot calculate inverse, determinant is zero");return[[r(1,v)]]}else if(d===2){var b=l(f);if(b===0)throw Error("Cannot calculate inverse, determinant is zero");return[[r(f[1][1],b),r(a(f[0][1]),b)],[r(a(f[1][0]),b),r(f[0][0],b)]]}else{var N=f.concat();for(w=0;w<d;w++)N[w]=N[w].concat();for(var x=c(d).valueOf(),F=0;F<g;F++){var M=h(N[F][F]),S=F;for(w=F+1;w<d;)h(N[w][F])>M&&(M=h(N[w][F]),S=w),w++;if(M===0)throw Error("Cannot calculate inverse, determinant is zero");w=S,w!==F&&(E=N[F],N[F]=N[w],N[w]=E,E=x[F],x[F]=x[w],x[w]=E);var O=N[F],C=x[F];for(w=0;w<d;w++){var T=N[w],R=x[w];if(w!==F){if(T[F]!==0){for(D=r(a(T[F]),O[F]),m=F;m<g;m++)T[m]=n(T[m],s(D,O[m]));for(m=0;m<g;m++)R[m]=n(R[m],s(D,C[m]))}}else{for(D=O[F],m=F;m<g;m++)T[m]=r(T[m],D);for(m=0;m<g;m++)R[m]=r(R[m],D)}}}return x}}}),hf="pinv",Sv=["typed","matrix","inv","deepEqual","equal","dotDivide","dot","ctranspose","divideScalar","multiply","add","Complex"],Bv=_t(hf,Sv,i=>{var{typed:t,matrix:e,inv:r,deepEqual:n,equal:s,dotDivide:a,dot:l,ctranspose:c,divideScalar:h,multiply:p,add:f,Complex:d}=i;return t(hf,{"Array | Matrix":function(b){var N=ce(b)?b.size():Ae(b);switch(N.length){case 1:return v(b)?c(b):N[0]===1?r(b):a(c(b),l(b,b));case 2:{if(v(b))return c(b);var x=N[0],F=N[1];if(x===F)try{return r(b)}catch(M){if(!(M instanceof Error&&M.message.match(/Cannot calculate inverse, determinant is zero/)))throw M}return ce(b)?e(g(b.valueOf(),x,F),b.storage()):g(b,x,F)}default:throw new RangeError("Matrix must be two dimensional (size: "+se(N)+")")}},any:function(b){return s(b,0)?ee(b):h(1,b)}});function g(E,b,N){var{C:x,F}=m(E,b,N),M=p(r(p(c(x),x)),c(x)),S=p(c(F),r(p(F,c(F))));return p(S,M)}function w(E,b,N){for(var x=ee(E),F=0,M=0;M<b;M++){if(N<=F)return x;for(var S=M;D(x[S][F]);)if(S++,b===S&&(S=M,F++,N===F))return x;[x[S],x[M]]=[x[M],x[S]];for(var O=x[M][F],C=0;C<N;C++)x[M][C]=a(x[M][C],O);for(var T=0;T<b;T++)if(T!==M){O=x[T][F];for(var R=0;R<N;R++)x[T][R]=f(x[T][R],p(-1,p(O,x[M][R])))}F++}return x}function m(E,b,N){var x=w(E,b,N),F=E.map((S,O)=>S.filter((C,T)=>T<b&&!D(l(x[T],x[T])))),M=x.filter((S,O)=>!D(l(x[O],x[O])));return{C:F,F:M}}function D(E){return s(f(E,d(1,1)),f(0,d(1,1)))}function v(E){return n(f(E,d(1,1)),f(p(E,0),d(1,1)))}}),Tv="divide",Iv=["typed","matrix","multiply","equalScalar","divideScalar","inv"],Ov=_t(Tv,Iv,i=>{var{typed:t,matrix:e,multiply:r,equalScalar:n,divideScalar:s,inv:a}=i,l=ba({typed:t,equalScalar:n}),c=Ea({typed:t});return t("divide",Bl({"Array | Matrix, Array | Matrix":function(p,f){return r(p,a(f))},"DenseMatrix, any":function(p,f){return c(p,f,s,!1)},"SparseMatrix, any":function(p,f){return l(p,f,s,!1)},"Array, any":function(p,f){return c(e(p),f,s,!1).valueOf()},"any, Array | Matrix":function(p,f){return r(p,a(f))}},s.signatures))}),pf="sum",$v=["typed","config","add","numeric"],Rv=_t(pf,$v,i=>{var{typed:t,config:e,add:r,numeric:n}=i;return t(pf,{"Array | Matrix":s,"Array | Matrix, number | BigNumber":a,"...":function(c){if(Is(c))throw new TypeError("Scalar values expected in function sum");return s(c)}});function s(l){var c;return Wi(l,function(h){try{c=c===void 0?h:r(c,h)}catch(p){throw wn(p,"sum",h)}}),c===void 0&&(c=n(0,e.number)),typeof c=="string"&&(c=n(c,e.number)),c}function a(l,c){try{var h=Da(l,c,r);return h}catch(p){throw wn(p,"sum")}}}),df="median",Lv=["typed","add","divide","compare","partitionSelect"],Pv=_t(df,Lv,i=>{var{typed:t,add:e,divide:r,compare:n,partitionSelect:s}=i;function a(h){try{h=ha(h.valueOf());var p=h.length;if(p===0)throw new Error("Cannot calculate median of an empty array");if(p%2===0){for(var f=p/2-1,d=s(h,f+1),g=h[f],w=0;w<f;++w)n(h[w],g)>0&&(g=h[w]);return c(g,d)}else{var m=s(h,(p-1)/2);return l(m)}}catch(D){throw wn(D,"median")}}var l=t({"number | BigNumber | Complex | Unit":function(p){return p}}),c=t({"number | BigNumber | Complex | Unit, number | BigNumber | Complex | Unit":function(p,f){return r(e(p,f),2)}});return t(df,{"Array | Matrix":a,"Array | Matrix, number | BigNumber":function(p,f){throw new Error("median(A, dim) is not yet supported")},"...":function(p){if(Is(p))throw new TypeError("Scalar values expected in function median");return a(p)}})}),js=z_({config:ir}),xa=W_({}),Aa=G_({}),Ca=J_({}),Yr=Q_({Matrix:Ca}),Ft=Ud({BigNumber:js,Complex:xa,DenseMatrix:Yr,Fraction:Aa}),zv=Bm({typed:Ft}),Ys=Im({typed:Ft}),qv=bm({BigNumber:js,typed:Ft}),_f=yg({typed:Ft}),yn=fm({config:ir,typed:Ft}),Zs=rm({typed:Ft}),kv=om({typed:Ft}),Gs=hg({typed:Ft}),mf=wm({typed:Ft}),Fa=dm({Matrix:Ca,equalScalar:yn,typed:Ft}),gf=$m({typed:Ft}),vf=um({typed:Ft}),Ma=Nm({typed:Ft}),wf=Am({Fraction:Aa,typed:Ft}),yf=im({typed:Ft}),Ce=Fm({DenseMatrix:Yr,Matrix:Ca,SparseMatrix:Fa,typed:Ft}),Df=kg({isNaN:vf,isNumeric:yf,typed:Ft}),ji=Zg({bignumber:qv,fraction:wf,number:mf}),Uv=Wg({config:ir,multiplyScalar:Gs,numeric:ji,typed:Ft}),Wv=Ig({isInteger:Zs,matrix:Ce,typed:Ft}),bf=$g({matrix:Ce,config:ir,typed:Ft}),Ef=Lg({matrix:Ce,typed:Ft}),Wn=bg({isInteger:Zs,matrix:Ce,typed:Ft}),jv=xg({prod:Uv,size:bf,typed:Ft}),Yv=zg({conj:_f,transpose:Ef,typed:Ft}),Yi=Kg({numeric:ji,typed:Ft}),Zv=Vg({DenseMatrix:Yr,concat:Wn,divideScalar:Yi,equalScalar:yn,matrix:Ce,typed:Ft}),xf=nv({DenseMatrix:Yr,concat:Wn,equalScalar:yn,matrix:Ce,typed:Ft}),Af=Cg({BigNumber:js,DenseMatrix:Yr,SparseMatrix:Fa,config:ir,matrix:Ce,typed:Ft}),Gv=Mg({matrix:Ce,multiplyScalar:Gs,typed:Ft}),Kv=ov({DenseMatrix:Yr,concat:Wn,config:ir,matrix:Ce,typed:Ft}),Hv=mg({DenseMatrix:Yr,concat:Wn,equalScalar:yn,matrix:Ce,subtractScalar:gf,typed:Ft,unaryMinus:Ma}),Zi=yv({DenseMatrix:Yr,SparseMatrix:Fa,addScalar:Ys,concat:Wn,equalScalar:yn,matrix:Ce,typed:Ft}),Cf=tv({BigNumber:js,DenseMatrix:Yr,Fraction:Aa,concat:Wn,config:ir,equalScalar:yn,matrix:Ce,typed:Ft}),Jv=hv({equal:xf,typed:Ft}),Ff=bv({addScalar:Ys,conj:_f,multiplyScalar:Gs,size:bf,typed:Ft}),Xv=lv({DenseMatrix:Yr,concat:Wn,config:ir,matrix:Ce,typed:Ft}),Na=vv({config:ir,numeric:ji,smaller:Kv,typed:Ft}),pi=dg({addScalar:Ys,dot:Ff,equalScalar:yn,matrix:Ce,multiplyScalar:Gs,typed:Ft}),Vv=dv({compare:Cf,isNaN:vf,isNumeric:yf,typed:Ft}),Qv=Rv({add:Zi,config:ir,numeric:ji,typed:Ft}),t1=Av({add:Zi,matrix:Ce,typed:Ft}),Mf=Fv({divideScalar:Yi,isZero:kv,matrix:Ce,multiply:pi,subtractScalar:gf,typed:Ft,unaryMinus:Ma}),e1=mv({config:ir,larger:Xv,numeric:ji,typed:Ft}),Ks=Nv({abs:zv,addScalar:Ys,det:Mf,divideScalar:Yi,identity:Af,matrix:Ce,multiply:pi,typed:Ft,unaryMinus:Ma}),r1=Bv({Complex:xa,add:Zi,ctranspose:Yv,deepEqual:Jv,divideScalar:Yi,dot:Ff,dotDivide:Zv,equal:xf,inv:Ks,matrix:Ce,multiply:pi,typed:Ft}),n1=Jg({Complex:xa,config:ir,fraction:wf,identity:Af,inv:Ks,matrix:Ce,multiply:pi,number:mf,typed:Ft}),i1=Ov({divideScalar:Yi,equalScalar:yn,inv:Ks,matrix:Ce,multiply:pi,typed:Ft}),Nf=Pv({add:Zi,compare:Cf,divide:i1,partitionSelect:Vv,typed:Ft});class s1{constructor(t,e,r){q(this,"_cacheData");q(this,"_variables");q(this,"_math");q(this,"_timeframe");this._cacheData={},this._variables=t,this._math=e,this._timeframe=r}alma({series:t,length:e,offset:r,sigma:n,floor:s},a){if(e===void 0||r===void 0||n===void 0)return;const l=this._cacheDataList(t,e,`alma_${a}`);if(l===void 0)return;let c=r*(e-1);s&&(c=Math.floor(c));const h=e/n;let p=0,f=0;for(let d=0;d<=e-1;d++){const g=Math.exp(-1*Math.pow(d-c,2)/(2*Math.pow(h,2)));p+=g,f+=l[l.length-1-(e-d-1)]*g}return f/p}sma({source:t,length:e},r){if(t===void 0||isNaN(t)||e===void 0)return;let n=0;const s=this._cacheDataList(t,e,`sma_${r}`);if(s===void 0)return;const a=s.slice(-e);return n=Qv(...a)/e,n}rma({source:t,length:e},r){if(t===void 0||e===void 0||isNaN(t))return;const n=this._cacheData[`sma_${r}`]||[];n[this._variables.bar_index]=t,this._cacheData[`sma_${r}`]=n;const{sum:s}=this._cacheData[`rma_${r}`]||{},a=1/e,l=s===void 0?this.sma({source:t,length:e},r):a*t+(1-a)*(s||0);return this._cacheDataHandle(`rma_${r}`,{sum:l}),l}atr({length:t},e){const{high:r,close:n}=this._cacheData[`atr_${e}`]||{},{high:s,close:a,low:l}=this._variables,c=r===void 0?s-l:Math.max(Math.max(s-l,Math.abs(s-n)),Math.abs(l-n));return this._cacheDataHandle(`atr_${e}`,{high:s,close:a}),this.rma({source:c,length:t},e)}barssince({condition:t},e){let{count:r}=this._cacheData[`barssince_${e}`]||{};if(t)r=0;else{if(r===void 0)return;r+=1}return this._cacheDataHandle(`barssince_${e}`,{count:r}),r}stdev({source:t,length:e,biased:r=!0},n){if(t===void 0||isNaN(t)||e===void 0)return;const s=this._cacheDataList(t,e,`stdev_${n}`),a=this.sma({source:t,length:e},n);if(s===void 0)return;let l=0;for(let c=0;c<e;c++){const h=this._sum(s[s.length-1-c],-(a||0));l+=h*h}return r||e<=1?Math.sqrt(l/e):Math.sqrt(l/(e-1))}_sum(t,e){let n=t+e;return Math.abs(n)<=1e-10&&(n=0),n}bb({series:t,length:e,mult:r},n){if(t===void 0||isNaN(t)||e===void 0||r===void 0)return[];const s=this.sma({source:t,length:e},n),a=this.stdev({source:t,length:e},n);if(s===void 0||a===void 0)return[];const l=r*a;return[s,s+l,s-l]}bbw({series:t,length:e,mult:r},n){if(t===void 0||isNaN(t)||e===void 0||r===void 0)return;const s=this.sma({source:t,length:e},n),a=this.stdev({source:t,length:e},n);if(s===void 0||a===void 0)return;const l=r*a;return(s+l-(s-l))/s}cci({source:t,length:e},r){if(t===void 0||isNaN(t)||e===void 0)return;const n=this.sma({source:t,length:e},r),s=this.dev({source:t,length:e},r);if(!(n===void 0||s===void 0))return(t-n)/(.015*s)}change({source:t,length:e=1},r){const n=this._cacheData[`change_${r}`]||[];n[this._variables.bar_index]=t,this._cacheData[`change_${r}`]=n;const s=n[n.length-1-e];if(!(t===void 0||isNaN(t)))return s===void 0?s:typeof t=="boolean"?s!==t:t-s}cmo({series:t,length:e},r){if(t===void 0||isNaN(t)||e===void 0)return;const n=this.change({source:t},r);if(n===void 0)return;const s=this._math.sum({source:n>=0?n:0,length:e},`sm1_${r}`),a=this._math.sum({source:n>=0?0:-n,length:e},`sm2_${r}`);if(!(s===void 0||a===void 0))return 100*(s-a)/(s+a)}cog({source:t,length:e},r){if(t===void 0||isNaN(t)||e===void 0)return;const n=this._cacheDataList(t,e,`cog_${r}`),s=this._math.sum({source:t,length:e},r);if(s===void 0||n===void 0)return;let a=0;for(let l=0;l<e;l++){const c=n[n.length-1-l];a+=c*(l+1)}return-a/s}correlation({source1:t,source2:e,length:r},n){if(t===void 0||isNaN(t)||e===void 0||isNaN(e)||r===void 0)return;const s=this._cacheDataList([t,e],r,`correlation_${n}`),a=this.sma({source:t,length:r},`sma1_${n}`),l=this.sma({source:e,length:r},`sma2_${n}`);if(a===void 0||l===void 0||s===void 0)return;let c=0,h=0,p=0;for(let d=0;d<r;d++){const[g,w]=s[s.length-1-d],m=g-a,D=w-l;c+=m*D,h+=m*m,p+=D*D}return isNaN(h)||isNaN(c)||isNaN(p)?void 0:c/Math.sqrt(h*p)}cross({source1:t,source2:e},r){if(t===void 0||e===void 0)return!1;const{source1:n,source2:s}=this._cacheData[`cross_${r}`]||{};return this._cacheDataHandle(`cross_${r}`,{source1:t,source2:e}),n===void 0||s===void 0?!1:n>=s&&t<e||n<=s&&t>e}crossover({source1:t,source2:e},r){if(t===void 0||e===void 0)return!1;const{source1:n,source2:s}=this._cacheData[`crossover_${r}`]||{};return this._cacheDataHandle(`crossover_${r}`,{source1:t,source2:e}),n===void 0||s===void 0?!1:n<=s&&t>e}crossunder({source1:t,source2:e},r){if(t===void 0||e===void 0)return!1;const{source1:n,source2:s}=this._cacheData[`crossunder_${r}`]||{};return this._cacheDataHandle(`crossunder_${r}`,{source1:t,source2:e}),n===void 0||s===void 0?!1:n>=s&&t<e}cum({source:t=0},e){t=isNaN(t)?0:t;let{sum:r}=this._cacheData[`cum_${e}`]||{};return r=r||0,r+=t,this._cacheDataHandle(`cum_${e}`,{sum:r}),r}dev({source:t,length:e},r){if(t===void 0||isNaN(t)||e===void 0)return;const n=this.sma({source:t,length:e},r);let s=0;const a=this._cacheDataList(t,e,`dev_${r}`);if(!(!a||n===void 0)){for(let l=0;l<e;l++){const c=a[a.length-1-l];s+=Math.abs(c-n)}return s/e}}dmi({diLength:t,adxSmoothing:e},r){if(t===void 0||e===void 0)return[void 0,void 0,void 0];const n=`dmi_${r}`,{low:s,high:a,close:l,PDMS:c,NDMS:h,TRS:p,ADX:f,count:d=0}=this._cacheData[n]||{},{low:g,high:w,close:m}=this._variables;if(s===void 0||a===void 0||l===void 0)return this._cacheData[n]={low:g,high:w,close:m,PDMS:c,NDMS:h,TRS:w-g,count:1},[void 0,void 0,void 0];let D=w-a,v=s-g;D=D>v&&D>0?D:0,v=v>D&&v>0?v:0,D===v&&(D=v=0);const E=Math.max(w-g,Math.abs(w-l),Math.abs(g-l));if(d<t)return this._cacheDataHandle(n,{low:g,high:w,close:m,PDMS:(c||0)+D,NDMS:(h||0)+v,TRS:(p||0)+E,count:d+1}),[void 0,void 0,void 0];{const b=c-c/t+D,N=h-h/t+v,x=p-p/t+E,F=b/x*100,M=N/x*100,S=Math.abs((F-M)/(F+M))*100;let O=S,C=[F,M,void 0];if(d+1-t<e){const T=d+1-t;O=((f||0)*(T-1)+S)/T}else O=(f*(e-1)+S)/e,C=[F,M,O];return this._cacheDataHandle(n,{low:g,high:w,close:m,PDMS:b,NDMS:N,TRS:x,ADX:O,count:d+1}),C}}ema({source:t,length:e},r){if(t===void 0||e===void 0||isNaN(t))return;let{sum:n,count:s=1}=this._cacheData[`ema_${r}`]||{};const a=this.sma({source:t,length:e},r);if(s>e){const l=2/(e+1);n=n===void 0?t:l*t+(1-l)*(n||0)}else n=a;return s+=1,this._cacheDataHandle(`ema_${r}`,{sum:n,count:s}),n}falling({source:t,length:e},r){if(t===void 0||isNaN(t)||e===void 0)return!1;const{source:n,fallings:s=[]}=this._cacheData[`falling_${r}`]||{};s.push(n>t);const a=s.slice(-e);return this._cacheDataHandle(`falling_${r}`,{source:t,fallings:a}),a.length<e?!1:a.every(l=>l)}rising({source:t,length:e},r){if(t===void 0||isNaN(t)||e===void 0)return!1;const{source:n,risings:s=[]}=this._cacheData[`rising_${r}`]||{};s.push(n<t);const a=s.slice(-e);return this._cacheDataHandle(`rising_${r}`,{source:t,risings:a}),a.length<e?!1:a.every(l=>l)}highest({source:t,length:e},r){if(e===void 0||e<=0)return;const n=this._cacheData[`highest_${r}`]||[],{high:s,bar_index:a}=this._variables;typeof t!="number"?n[a]=s:n[a]=t,this._cacheData[`highest_${r}`]=n;const l=n.filter(()=>!0);if(!(l.length<e))return Math.max(...l.slice(-e))}highestbars({source:t,length:e},r){if(e===void 0||e<=0)return;const n=this._cacheData[`highestbars_${r}`]||[],{high:s,bar_index:a}=this._variables;typeof t!="number"?n[a]=s:n[a]=t,this._cacheData[`highestbars_${r}`]=n;const l=n.filter(()=>!0);return l.length<e?void 0:l.slice(-e).reduce((h,p,f,d)=>p>=d[h]?f:h,0)-e+1}wma({source:t,length:e},r){if(e===void 0||t===void 0||isNaN(t)||e<=0)return;const n=this._cacheDataList(t,e,`wma_${r}`);if(!n)return;let s=0,a=0;for(let l=0;l<e;l++){const c=(e-l)*e;s+=c,a+=n[n.length-1-l]*c}return a/s}hma({source:t,length:e},r){if(e===void 0||t===void 0||isNaN(t)||e<=0)return;const n=this.wma({source:t,length:e},r),s=this.wma({source:t,length:Math.round(e/2)},r);return n===void 0||s===void 0?void 0:this.wma({source:2*s-n,length:Math.floor(Math.sqrt(e))},`hma_${r}`)}kc({series:t,length:e,mult:r,useTrueRange:n=!0},s){if(t===void 0||isNaN(t)||e===void 0||r===void 0)return[void 0,void 0,void 0];const a=this.ema({source:t,length:e},s),{ta:l,high:c,low:h}=this._variables,p=n?l.tr:c-h,f=this.ema({source:p,length:e},`range_${s}`);return[a,a+f*r,a-f*r]}kcw({series:t,length:e,mult:r,useTrueRange:n=!0},s){if(t===void 0||isNaN(t)||e===void 0||r===void 0)return;const a=this.ema({source:t,length:e},s),{ta:l,high:c,low:h}=this._variables,p=n?l.tr:c-h,f=this.ema({source:p,length:e},`range_${s}`);return(a+f*r-(a-f*r))/a}linreg({source:t,length:e,offset:r},n){if(e===void 0||r===void 0)return;const s=this._cacheDataList(t,e,`dev_${n}`);if(!s)return;const a=s.slice(-e).filter(g=>g!==void 0);let l=0,c=0,h=0,p=0;for(const[g,w]of a.entries())l+=g,c+=w,h+=g*w,p+=g*g;const f=(e*h-l*c)/(e*p-l*l);return(c-f*l)/e+f*(e-1-r)}lowest({source:t,length:e},r){if(e===void 0||e<=0)return;const n=this._cacheData[`lowest_${r}`]||[],{low:s,bar_index:a}=this._variables;typeof t!="number"?n[a]=s:n[a]=t,this._cacheData[`lowest_${r}`]=n;const l=n.filter(()=>!0);if(!(l.length<e))return Math.min(...l.slice(-e))}lowestbars({source:t,length:e},r){if(e===void 0||e<=0)return;const n=this._cacheData[`lowestbars_${r}`]||[],{low:s,bar_index:a}=this._variables;typeof t!="number"?n[a]=s:n[a]=t,this._cacheData[`lowestbars_${r}`]=n;const l=n.filter(()=>!0);return l.length<e?void 0:l.slice(-e).reduce((h,p,f,d)=>p<=d[h]?f:h,0)-e+1}macd({source:t,fastlen:e,slowlen:r,siglen:n},s){if(t===void 0||isNaN(t)||e===void 0||r===void 0||n===void 0)return[void 0,void 0,void 0];const a=this.ema({source:t,length:e},`ema1_${s}`),l=this.ema({source:t,length:r},`ema2_${s}`);if(a===void 0||l===void 0)return[void 0,void 0,void 0];const c=a-l,h=this.ema({source:c,length:n},`macd_${s}`);if(h===void 0)return[c,h,void 0];const p=c-h;return[c,h,p]}max({source:t},e){if(t===void 0||isNaN(t))return;let r=this._cacheData[`max_${e}`]||0;return t>r&&(r=t),this._cacheData[`max_${e}`]=r,r}min({source:t},e){if(t===void 0||isNaN(t))return;let r=this._cacheData[`min_${e}`]||1/0;return t<r&&(r=t),this._cacheData[`min_${e}`]=r,r}median({source:t,length:e},r){if(e===void 0||t===void 0||isNaN(t)||e<=0)return;const n=this._cacheDataList(t,e,`dev_${r}`);if(n)return Nf(n.slice(-e))}mfi({series:t,length:e},r){if(e===void 0||t===void 0||isNaN(t)||e<=0)return;const{volume:n}=this._variables,s=this.change({source:t},r),a=this._math.sum({source:n*(s>=0?0:t),length:e},`lower_${r}`),l=this._math.sum({source:n*(s<=0?0:t),length:e},`upper_${r}`);if(!(l===void 0||a===void 0))return 100-100/(1+l/a)}mode({source:t,length:e},r){if(e===void 0||t===void 0||isNaN(t)||e<=0)return;const n=this._cacheDataList(t,e,`mode_${r}`);if(n)return Na(Df(n.slice(-e)))}mom({source:t,length:e},r){if(e===void 0||e<0)return;const n=`mom_${r}`,s=this._cacheData[n]||[];if(s[this._variables.bar_index]=t,this._cacheData[n]=s,s.length<=e||t===void 0||isNaN(t))return;let a=s.length-e-1,l;for(;l===void 0&&a>=0;)l=s[a],a--;return l===void 0?l:t-l}percentile_linear_interpolation({source:t,length:e,percentage:r},n){if(e===void 0||r===void 0||e<0||r<0||r>100)return;const s=this._cacheDataList(t,e+1,`percentile_linear_interpolation_${n}`);if(!s)return;const a=this._sort(s.slice(-(e+1))),l=a.length;r/=100;const c=1/(l*2);if(r<=c)return a[0];if(r>=1-1/(l*2))return a[l-1];for(const[h,p]of a.entries()){const f=a[h-1];if(r<(h+.5)/l)return f===void 0||p===void 0?void 0:f+(p-f)*(r-(h-.5)/l)/(1/l)}}percentile_nearest_rank({source:t,length:e,percentage:r},n){if(e===void 0||r===void 0||t===void 0||isNaN(t)||e<0||r<0||r>100)return;const s=this._cacheDataList(t,e,`percentile_nearest_rank_${n}`);if(!s)return;const a=this._sort(s.slice(-e)),l=r/100*a.length,c=Math.ceil(l)-1;return a[c>=a.length?a.length-1:c]}percentrank({source:t,length:e},r){if(e===void 0||e<0)return;const n=this._cacheDataList(t,e+1,`percentile_nearest_rank_${r}`);if(!n)return;const s=n.slice(-(e+1)),a=t;if(a===void 0)return;let l=0;for(let c=0;c<s.length;c++)s[c]!==void 0&&(s[c]<a||s[c]===a&&c<e)&&l++;return l/(s.length-1)*100}pivot_point_levels({type:t,anchor:e,developing:r},n){const s=new Jt;let{close:a,open:l,low:c,high:h}=this._variables;const p=`pivot_point_levels_${n}`,{close:f,low:d,high:g,open:w,result:m}=this._cacheData[p]||{};if(!e&&(g&&d&&(h=Math.max(g,h),c=Math.min(d,c)),this._cacheDataHandle(p,{close:a,open:l,low:c,high:h,result:m}),!r))return s._value=m||[],s;const D={close:a,open:l,low:c,high:h};e===!0&&!r&&(a=f,l=w,c=d,h=g);const v=this._getPivotPointLevels(h,c,a,l,r,t);return this._cacheDataHandle(p,{...D,result:v}),s._value=v,s}_getPivotPointLevels(t,e,r,n,s,a){if(r===void 0||n===void 0||e===void 0||t===void 0)return[];switch(a){case qn.traditional:return this._traditional(t,e,r);case qn.fibonacci:return this._fibonacci(t,e,r);case qn.woodie:return s?[]:this._woodie(t,e);case qn.classic:return this._classic(t,e,r);case qn.dm:return this._DM(t,e,r,n);case qn.camarilla:return this._camarilla(t,e,r);default:return[]}}_traditional(t,e,r){const n=(t+e+r)/3,s=n*2-e,a=n+(t-e),l=n*2+(t-2*e),c=n*3+(t-3*e),h=n*4+(t-4*e),p=n*2-t,f=n-(t-e),d=n*2-(2*t-e),g=n*3-(3*t-e),w=n*4-(4*t-e);return[n,s,p,a,f,l,d,c,g,h,w]}_fibonacci(t,e,r){const n=(t+e+r)/3,s=n+.382*(t-e),a=n-.382*(t-e),l=n+.618*(t-e),c=n-.618*(t-e),h=n+(t-e),p=n-(t-e);return[n,s,a,l,c,h,p]}_woodie(t,e){const{open:r}=this._variables,n=(t+e+2*r)/4,s=2*n-e,a=2*n-t,l=n+(t-e),c=n-(t-e),h=t+2*(n-e),p=e-2*(t-n),f=h+(t-e),d=p-(t-e);return[n,s,a,l,c,h,p,f,d]}_classic(t,e,r){const n=(t+e+r)/3,s=2*n-e,a=2*n-t,l=n+(t-e),c=n-(t-e),h=n+2*(t-e),p=n-2*(t-e),f=n+3*(t-e),d=n-3*(t-e);return[n,s,a,l,c,h,p,f,d]}_DM(t,e,r,n){let s;n===r?s=t+e+2*r:r>n?s=2*t+e+r:s=2*e+t+r;const a=s/4,l=s/2-e,c=s/2-t;return[a,l,c]}_camarilla(t,e,r){const n=(t+e+r)/3,s=r+1.1*(t-e)/12,a=r-1.1*(t-e)/12,l=r+1.1*(t-e)/6,c=r-1.1*(t-e)/6,h=r+1.1*(t-e)/4,p=r-1.1*(t-e)/4,f=r+1.1*(t-e)/2,d=r-1.1*(t-e)/2,g=t/e*r,w=r-(g-r);return[n,s,a,l,c,h,p,f,d,g,w]}pivothigh({source:t=this._variables.high,leftbars:e,rightbars:r},n){if(e===void 0||r===void 0||e<0||r<0)return;const s=this._cacheDataList(t,e+r+1,`pivothigh_${n}`);if(!s)return;const a=s.slice(-(e+r+1)),l=a[e];return Math.max(...a)===l?l:void 0}pivotlow({source:t=this._variables.low,leftbars:e,rightbars:r},n){if(e===void 0||r===void 0||e<0||r<0)return;const s=this._cacheDataList(t,e+r+1,`pivotlow_${n}`);if(!s)return;const a=s.slice(-(e+r+1)),l=a[e];return Math.min(...a)===l?l:void 0}range({source:t,length:e},r){if(e===void 0||t===void 0||isNaN(t)||e<0)return;const n=this._cacheDataList(t,e,`range_${r}`);if(!n)return;const s=n.filter(c=>c!==void 0).slice(-e),a=Math.max(...s),l=Math.min(...s);return a-l}roc({source:t,length:e},r){if(e===void 0||e<0)return;const n=this._cacheDataList(t,e+1,`roc_${r}`),s=this.change({source:t,length:e},r);if(n)return 100*s/n[n.length-1-e]}rsi({source:t,length:e},r){if(e===void 0||t===void 0||isNaN(t)||e<0)return;const{source:n}=this._cacheData[`rsi_${r}`]||{},s=Math.max(t-n,0),a=Math.max(n-t,0),l=this.rma({source:s,length:e},`rma1_${r}`),c=this.rma({source:a,length:e},`rma2_${r}`);if(this._cacheDataHandle(`rsi_${r}`,{source:t}),!(l===void 0||c===void 0))return 100-100/(1+l/c)}sar({start:t,inc:e,max:r},n){if(t===void 0||e===void 0||r===void 0)return;const{close:s,low:a,high:l,preLow:c,preHigh:h,data:p={}}=this._cacheData[`sar_${n}`]||{};let{result:f,maxMin:d,acceleration:g,isBelow:w}=p,m=!1;const{close:D,low:v,high:E,bar_index:b}=this._variables;return b===1&&(D>s?(w=!0,d=E,f=a):(w=!1,d=v,f=l),m=!0,g=t),f=f+g*(d-f),w?f>v&&(m=!0,w=!1,f=Math.max(E,d||0),d=v,g=t):f<E&&(m=!0,w=!0,f=Math.min(v,d||0),d=E,g=t),m||(w?E>(d||0)&&(d=E,g=Math.min((g||0)+e,r)):v<(d||0)&&(d=v,g=Math.min((g||0)+e,r))),w?(f=Math.min(f,a),b>1&&(f=Math.min(f,c))):(f=Math.max(f,l),b>1&&(f=Math.max(f,h))),this._cacheDataHandle(`sar_${n}`,{high:E,close:D,low:v,preLow:a,preHigh:l,data:Object.assign(p,{result:f,maxMin:d,acceleration:g,isBelow:w})}),f}stoch({source:t,high:e,low:r,length:n},s){if(n===void 0||e===void 0||r===void 0||t===void 0||isNaN(t)||n<0)return;const a=this.lowest({source:r,length:n},s),l=this.highest({source:e,length:n},s);if(!(a===void 0||l===void 0))return 100*(this._variables.close-a)/(l-a)}supertrend({factor:t,atrPeriod:e},r){if(t===void 0||e===void 0)return[void 0,void 0];const{hl2:n,close:s}=this._variables,a=`supertrend_${r}`,{upperBand:l,lowerBand:c,superTrend:h,atr:p,close:f}=this._cacheData[a]||{},d=this.atr({length:e},r);if(d===void 0)return this._cacheDataHandle(a,{close:s}),[void 0,void 0];let g=n+t*d,w=n-t*d;const m=l||0,D=c||0;w=w>D||f<D?w:D,g=g<m||f>m?g:m;let v;p===void 0?v=1:h===m?v=s>g?-1:1:v=s<w?1:-1;const E=v===-1?w:g;return this._cacheDataHandle(a,{upperBand:g,lowerBand:w,superTrend:E,atr:d,close:s}),[E,v]}swma({source:t},e){let{list:r}=this._cacheData[`swma_${e}`]||{};if(r||(r=[]),r.push(t),r=r.slice(-4),this._cacheDataHandle(`swma_${e}`,{list:r}),!(r.filter(n=>n!==void 0).length<4))return r[3]*1/6+r[2]*2/6+r[1]*2/6+r[0]*1/6}tr({handle_na:t=!1},e){const{close:r,low:n,high:s}=this._variables,{close:a}=this._cacheData[`tr_${e}`]||{};return this._cacheDataHandle(`tr_${e}`,{close:r}),a===void 0?t?s-n:void 0:Math.max(s-n,Math.abs(s-a),Math.abs(n-a))}tsi({source:t,short_length:e,long_length:r},n){if(t===void 0||isNaN(t)||e===void 0||r===void 0)return;const s=this.change({source:t},n);if(s===void 0)return;const a=this.ema({source:Math.abs(s),length:e},`absema1_${n}`),l=this.ema({source:s,length:e},`ema1_${n}`);if(l===void 0)return;const c=this.ema({source:l,length:r},`ema2_${n}`),h=this.ema({source:a,length:e},`absema2_${n}`);if(c!==void 0)return c/h}valuewhen({condition:t,source:e,occurrence:r},n){if(e===void 0||r===void 0||r<0)return;let{list:s}=this._cacheData[`valuewhen_${n}`]||{};return s||(s=[]),t&&s.push(e),this._cacheDataHandle(`valuewhen_${n}`,{list:s}),s[s.length-1-r]}variance({source:t,length:e,biased:r=!0},n){if(t===void 0||isNaN(t)||e===void 0||e<0)return;const s=this.sma({source:t,length:e},n),a=this._cacheDataList(t,e,`mode_${n}`);if(!a||s===void 0)return;const l=a.filter(h=>h!==void 0&&!isNaN(h)).slice(-e);if(l.length<e)return;const c=l.reduce((h,p)=>h+Math.pow(p-s,2),0);if(c!==void 0)return r||e<=1?c/e:c/(e-1)}vwap({source:t,anchor:e,stdev_mult:r},n){if(t===void 0)return;e=e===void 0?this._timeframe.change({timeframe:"1D"},n):e;const{volume:s}=this._variables;let{sum:a=0,sumV:l=0,count:c=0,isReset:h,sumS:p=0}=this._cacheData[`vwap_${n}`]||{};if(e&&(a=l=c=p=0,h=!0),!h)return r!==void 0?[]:void 0;const f=t*s+a,d=s+l,g=f/d;return c++,r!==void 0?(p=s*Math.pow(t,2)+p,this._cacheDataHandle(`vwap_${n}`,{sum:f,sumV:d,count:c,isReset:h,sumS:p}),this._computeBands(p,d,r,g)):(this._cacheDataHandle(`vwap_${n}`,{sum:f,sumV:d,count:c,isReset:h}),g)}_computeBands(t,e,r,n){let s=t/e-Math.pow(n,2);s=s<0?0:s;const a=Math.sqrt(s),l=a!==void 0&&!isNaN(a)?n+r*a:void 0,c=a!==void 0&&!isNaN(a)?n-r*a:void 0;return[n,l,c]}vwma({source:t,length:e},r){if(t===void 0||isNaN(t)||e===void 0||e<=0)return;const{volume:n}=this._variables,s=this.sma({source:t*n,length:e},`sma1_${r}`),a=this.sma({source:n,length:e},`sma2_${r}`);if(!(s===void 0||a===void 0))return s/a}wpr({length:t},e){if(t===void 0||t<=0)return;const r=this.highest({length:t},e),n=this.lowest({length:t},e),{close:s}=this._variables;if(!(r===void 0||n===void 0))return(r-s)/(r-n)*-100}_sort(t){const e=t.length;for(let r=0;r<e;r++){let n={};for(let s=0;s<e-r;s++){const{currentVal:a,currentIndex:l}=n,c=t[s];if(c!==void 0){if(a!==void 0&&c<a){t.splice(s,1),t.splice(l,0,c),n={currentIndex:l+1,currentVal:a};continue}n={currentIndex:s,currentVal:c}}}}return t}_cacheDataList(t,e,r){const n=this._cacheData[r]||[];n[this._variables.bar_index]=t,this._cacheData[r]=n;const s=n.filter(()=>!0);if(!(s.length<e))return s}_cacheDataHandle(t,e){const{barIndex:r}=this._cacheData[t]||{};r!==this._variables.bar_index&&(this._cacheData[t]=Object.assign(e,{barIndex:this._variables.bar_index}))}}const o1={onlyInLoop:"'$text' is only allowed inside loops",invalidType:"Invalid argument 'expr$index' in 'operator SQBR' call",typeUseError:"Cannot specify a type form '$text' without also specifying the type.",notTypeKeyword:"'$text' is not a valid type keyword in variable declaration",undeclared:"Undeclared identifier '$name'",repeatVar:"'$name' is already defined",typeMismatch:"Cannot call '$operator' with argument '$index'. An argument of '$typeE' type was used but a '$typeR' is expected.",assignTypeMismatch:"Cannot assign a value of the `$typeE` type to the '$name' variable. The variable is declared with the `$typeR` type.",voidNotVar:"Void expression cannot be assigned to a variable",declareTypeErr:"Declared type '$type' is not compatible with assigned type '$valueType'",mapKeyValErr:"Cannot put <$typeA, $typeB> pairs into a map containing `$typeC` keys and `$typeD` values. The maps passed into the `$name()` function must have the same key types and value types.",inputSourceErr:"Invalid value for the '$name' parameter of the '$funcName' function. Possible values: [open, high, low, close, hl2, hlc3, ohlc4, hlcc4, volume].",buildInUseErr:"Cannot use '$name' as the default value of a type's field. The default value cannot be a function, variable or calculation.",argsLenErr:"Too many arguments passed into the `$name()` function call. Passed $lenA arguments but expected $lenB.",requiredParamErr:"No value assigned to the `$argName` parameter in $name()",argsSyntaxErr:"Syntax error after the argument for `$argName`. Arguments without their parameter name cannot be used after arguments with parameter names.",requestArgsErr:"Type $type cannot be used in $name '$argName' argument",mapKeyErr:"Incorrect `key` type `$type` in the variable. The `key` type must be one of the following: int, float, string, bool, color.",templateErr:"Incorrect number of arguments for the template: $countA expected, $countB passed.",templateNoSupportErr:"The '$name()' function does not support templates",ifOrSwitchTypeErr:"Return type of one of the '$keyword' blocks is not compatible with return type of other block(s) ($types)",argsNameErr:"The '$name' function does not have an argument with the name '$argName'",noFiledErr:"Object has no field $name",methodNotExistErr:"Could not find method or method reference '$methodName' for '$name'",tupleVarErr:"Syntax error: The quantities of tuple elements on each side of the assignment operator do not match. The right side has $indexA but the left side has $indexB.",tupleLeftVarErr:"Invalid assignment. Cannot assign a tuple to a variable '$name'.",tupleRightVarErr:"Cannot assign a variable to a tuple. The right side must be a function call or structure ('if', 'switch', 'for', 'while') returning a tuple with the same number of elements.",tempateTypeErr:"Syntax error: Only templates for arrays and matrices consist of a single type identifier enclosed in angle brackets.",qualifierErr:"'$name' is not a valid type qualifier. Possible values: 'const', 'simple', 'series'",notFindFuncErr:"Could not find function or function reference '$name'",naVarErr:"Value with NA type cannot be assigned to a variable that was defined without type keyword",notHistoryErr:"Variable '$name' doesn't have history values",defaultValueErr:"The default value cannot be a function, variable or calculation.",defaultValueTypeErr:"Default value of type $typeE can not be assigned to an argument of type $typeR",unaryErr:"Syntax error at input '$sign'",funcArgAssignErr:"Function arguments cannot be mutable ('$name')",declaredErr:"A variable declared with the '$prefix' keyword cannot accept values of the '$type' form. Assign a '$prefix' value to this variable or remove the '$prefix' keyword from its declaration.",globalFuncErr:"Cannot use '$name' in local scope",onlyStatementErr:"Scripts must contain one declaration statement: `indicator()`, `strategy()` or `library()`, Your script has $count.",modifyGlobalVarErr:"Cannot modify global variable '$name' in function",inputDefvalErr:"Arguments of input function must be of constant type, or 'source' builtin variables.",objectIsNaErr:"Cannot access the '$name' $type of an undefined object. The object is 'na'.",buidinAssignErr:"Cannot assign a new value to the built-in variable '$name'.",buidinVarErr:"Cannot shadow the built-in variable `$name` because it has already been used as a built-in."};qr.SERIES,qr.SIMPLE,qr.INPUT,qr.CONST,qr.INT,qr.FLOAT,qr.BOOL,qr.COLOR,qr.STRING;const a1=["close","open","high","low","hl2","hlc3","hlcc4","ohlc4","volume"];var Dn=(i=>(i[i.Hint=1]="Hint",i[i.Info=2]="Info",i[i.Warning=4]="Warning",i[i.Error=8]="Error",i))(Dn||{});class u1{constructor(t,e){q(this,"_cacheData");q(this,"_variables");q(this,"_errorListener");q(this,"_count");q(this,"_historyInputs");q(this,"_name");this._cacheData={},this._variables=t,this._errorListener=e,this._count=-1,this._name=`inputs_${Ip()}`,this._historyInputs=self.workerStorage.get(this._name)||{}}update(t){for(const e of t){const r=e.id;if(!this._cacheData[r])return;Object.assign(this._cacheData[r],{...e,isModify:!0}),self.workerStorage.updateValue(this._name,`in_${e.index}`,{modifyDefval:e.sourceTypeName||e.defval})}}input(t,e){return this._cacheHandle(t,e)}int(t,e){return this._cacheHandle(t,e,"int")}bool(t,e){return this._cacheHandle(t,e,"bool")}color(t,e){return this._cacheHandle(t,e,"color")}time(t,e){return this._cacheHandle(t,e,"time")}float(t,e){return this._cacheHandle(t,e,"float")}price(t,e){return this._cacheHandle(t,e,"price")}source(t,e){return this._cacheHandle(t,e,"source")}string(t,e){return this._cacheHandle(t,e,"string")}symbol(t,e){return this._cacheHandle(t,e,"symbol")}session(t,e){return this._cacheHandle(t,e,"session")}text_area(t,e){return this._cacheHandle(t,e,"text_area")}timeframe(t,e){return this._cacheHandle(t,e,"timeframe")}_cacheHandle(t,e,r){const n=`${r||"input"}_${e}`,s=this._cacheData[n];if(t.defval===void 0&&this._errorListener.addError(o1.inputDefvalErr,e,Dn.Error),s)s.isModify?s.sourceTypeName&&(this._cacheData[n].defval=this._variables[s.sourceTypeName]):Object.assign(this._cacheData[n],t);else{const{defval:a,display:l}=t;this._displayVerify(e,l),this._count++,t={inputType:r,...t,index:this._count},this._cacheData[n]=t,this._judgeHistoryInputs(t),(r||t.inputType)==="source"?this._cacheData[n].options=a1:t.options&&!t.options.includes(a)&&this._errorListener.addError(`input's defval should be in options, but '${a}' is not in [${t.options.toString()}]`,e,Dn.Error)}return this._cacheData[n].defval}_judgeHistoryInputs(t){const{defval:e,sourceTypeName:r,index:n}=t;let s=r||e;const a=`in_${n}`,l=this._historyInputs[a];if(!l)self.workerStorage.setValue(this._name,a,{defval:s});else{const{defval:c,modifyDefval:h}=l;c===s?s=h||s:self.workerStorage.setValue(this._name,a,{defval:s})}r?t.sourceTypeName=s:t.defval=s}_displayVerify(t,e){!e||!e.length||e.includes(rr.dataWindow)||e.includes(rr.statusLine)||this._errorListener.addError("Invalid argument 'display' in 'input' call. Possible values: [display.none, display.data_window, display.status_line, display.all]",t,Dn.Error)}getInputs(){const t=Object.keys(this._cacheData),e=[];for(const r of t){const n=this._cacheData[r];n.id=r,e.push(n)}return e}_getGroups(t){const e=[];for(const[r,n]of t)e.push({name:r,inputs:n});return e}}class l1{color({x:t}){return t}new({color:t,transp:e=100}){const{r,g:n,b:s}=this._parseColor(t);return`rgba(${Math.round(r)}, ${Math.round(n)}, ${Math.round(s)}, ${e/100})`}rgb({red:t,green:e,blue:r,transp:n=0}){return`rgba(${t}, ${e}, ${r}, ${n/100})`}g({color:t}){return t?this._parseColor(t).g:0}r({color:t}){return t?this._parseColor(t).r:0}b({color:t}){return t?this._parseColor(t).b:0}t({color:t}){return t?Math.round(this._parseColor(t).a*100):0}from_gradient({value:t,bottom_value:e,top_value:r,bottom_color:n,top_color:s}){const a=(t-e)/(r-e),l=Math.min(Math.max(a,0),1),{r:c,g:h,b:p,a:f}=this._parseColor(n),{r:d,g,b:w,a:m}=this._parseColor(s),D=c+l*(d-c),v=h+l*(g-h),E=p+l*(w-p),b=f+l*(m-f);return`rgba(${Math.round(D)}, ${Math.round(v)}, ${Math.round(E)}, ${b.toFixed(2)})`}_parseColor(t){let e,r,n,s;if(t.startsWith("#")){e=parseInt(t.substring(1,3),16),r=parseInt(t.substring(3,5),16),n=parseInt(t.substring(5,7),16);const a=t.substring(7);a?s=(255-parseInt(a,16))/255:s=1}else{const a=this._parserRgbColor(t);e=a[0],r=a[1],n=a[2],s=a[3]||1}return{r:e,g:r,b:n,a:s}}_parserRgbColor(t){var e;return((e=t.match(/\d+/g))==null?void 0:e.map(Number))||[]}}var Pt={};const c1=Object.prototype.toString;function Gi(i){const t=c1.call(i);return t.endsWith("Array]")&&!t.includes("Big")}var f1=Object.freeze({__proto__:null,isAnyArray:Gi}),h1=De(f1);function p1(i){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};if(!Gi(i))throw new TypeError("input must be an array");if(i.length===0)throw new TypeError("input must not be empty");var e=t.fromIndex,r=e===void 0?0:e,n=t.toIndex,s=n===void 0?i.length:n;if(r<0||r>=i.length||!Number.isInteger(r))throw new Error("fromIndex must be a positive integer smaller than length");if(s<=r||s>i.length||!Number.isInteger(s))throw new Error("toIndex must be an integer greater than fromIndex and at most equal to length");for(var a=i[r],l=r+1;l<s;l++)i[l]>a&&(a=i[l]);return a}function d1(i){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};if(!Gi(i))throw new TypeError("input must be an array");if(i.length===0)throw new TypeError("input must not be empty");var e=t.fromIndex,r=e===void 0?0:e,n=t.toIndex,s=n===void 0?i.length:n;if(r<0||r>=i.length||!Number.isInteger(r))throw new Error("fromIndex must be a positive integer smaller than length");if(s<=r||s>i.length||!Number.isInteger(s))throw new Error("toIndex must be an integer greater than fromIndex and at most equal to length");for(var a=i[r],l=r+1;l<s;l++)i[l]<a&&(a=i[l]);return a}function _1(i){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};if(Gi(i)){if(i.length===0)throw new TypeError("input must not be empty")}else throw new TypeError("input must be an array");var e;if(t.output!==void 0){if(!Gi(t.output))throw new TypeError("output option must be an array if specified");e=t.output}else e=new Array(i.length);var r=d1(i),n=p1(i);if(r===n)throw new RangeError("minimum and maximum input values are equal. Cannot rescale a constant array");var s=t.min,a=s===void 0?t.autoMinMax?r:0:s,l=t.max,c=l===void 0?t.autoMinMax?n:1:l;if(a>=c)throw new RangeError("min option must be smaller than max option");for(var h=(c-a)/(n-r),p=0;p<i.length;p++)e[p]=(i[p]-r)*h+a;return e}var m1=Object.freeze({__proto__:null,default:_1}),g1=De(m1);Object.defineProperty(Pt,"__esModule",{value:!0});var Xe=h1,Sf=g1;const Hs=" ".repeat(2),Bf=" ".repeat(4);function v1(){return Tf(this)}function Tf(i,t={}){const{maxRows:e=15,maxColumns:r=10,maxNumSize:n=8,padMinus:s="auto"}=t;return`${i.constructor.name} {
|
55
55
|
${Hs}[
|
56
|
-
${
|
56
|
+
${Bf}${w1(i,e,r,n,s)}
|
57
57
|
${Hs}]
|
58
58
|
${Hs}rows: ${i.rows}
|
59
59
|
${Hs}columns: ${i.columns}
|
60
60
|
}`}function w1(i,t,e,r,n){const{rows:s,columns:a}=i,l=Math.min(s,t),c=Math.min(a,e),h=[];if(n==="auto"){n=!1;t:for(let p=0;p<l;p++)for(let f=0;f<c;f++)if(i.get(p,f)<0){n=!0;break t}}for(let p=0;p<l;p++){let f=[];for(let d=0;d<c;d++)f.push(y1(i.get(p,d),r,n));h.push(`${f.join(" ")}`)}return c!==a&&(h[h.length-1]+=` ... ${a-e} more columns`),l!==s&&h.push(`... ${s-t} more rows`),h.join(`
|
61
|
-
${Tf}`)}function y1(i,t,e){return(i>=0&&e?` ${Of(i,t-1)}`:Of(i,t)).padEnd(t)}function Of(i,t){let e=i.toString();if(e.length<=t)return e;let r=i.toFixed(t);if(r.length>t&&(r=i.toFixed(Math.max(0,t-(r.length-t)))),r.length<=t&&!r.startsWith("0.000")&&!r.startsWith("-0.000"))return r;let n=i.toExponential(t);return n.length>t&&(n=i.toExponential(Math.max(0,t-(n.length-t)))),n.slice(0)}function D1(i,t){i.prototype.add=function(r){return typeof r=="number"?this.addS(r):this.addM(r)},i.prototype.addS=function(r){for(let n=0;n<this.rows;n++)for(let s=0;s<this.columns;s++)this.set(n,s,this.get(n,s)+r);return this},i.prototype.addM=function(r){if(r=t.checkMatrix(r),this.rows!==r.rows||this.columns!==r.columns)throw new RangeError("Matrices dimensions must be equal");for(let n=0;n<this.rows;n++)for(let s=0;s<this.columns;s++)this.set(n,s,this.get(n,s)+r.get(n,s));return this},i.add=function(r,n){return new t(r).add(n)},i.prototype.sub=function(r){return typeof r=="number"?this.subS(r):this.subM(r)},i.prototype.subS=function(r){for(let n=0;n<this.rows;n++)for(let s=0;s<this.columns;s++)this.set(n,s,this.get(n,s)-r);return this},i.prototype.subM=function(r){if(r=t.checkMatrix(r),this.rows!==r.rows||this.columns!==r.columns)throw new RangeError("Matrices dimensions must be equal");for(let n=0;n<this.rows;n++)for(let s=0;s<this.columns;s++)this.set(n,s,this.get(n,s)-r.get(n,s));return this},i.sub=function(r,n){return new t(r).sub(n)},i.prototype.subtract=i.prototype.sub,i.prototype.subtractS=i.prototype.subS,i.prototype.subtractM=i.prototype.subM,i.subtract=i.sub,i.prototype.mul=function(r){return typeof r=="number"?this.mulS(r):this.mulM(r)},i.prototype.mulS=function(r){for(let n=0;n<this.rows;n++)for(let s=0;s<this.columns;s++)this.set(n,s,this.get(n,s)*r);return this},i.prototype.mulM=function(r){if(r=t.checkMatrix(r),this.rows!==r.rows||this.columns!==r.columns)throw new RangeError("Matrices dimensions must be equal");for(let n=0;n<this.rows;n++)for(let s=0;s<this.columns;s++)this.set(n,s,this.get(n,s)*r.get(n,s));return this},i.mul=function(r,n){return new t(r).mul(n)},i.prototype.multiply=i.prototype.mul,i.prototype.multiplyS=i.prototype.mulS,i.prototype.multiplyM=i.prototype.mulM,i.multiply=i.mul,i.prototype.div=function(r){return typeof r=="number"?this.divS(r):this.divM(r)},i.prototype.divS=function(r){for(let n=0;n<this.rows;n++)for(let s=0;s<this.columns;s++)this.set(n,s,this.get(n,s)/r);return this},i.prototype.divM=function(r){if(r=t.checkMatrix(r),this.rows!==r.rows||this.columns!==r.columns)throw new RangeError("Matrices dimensions must be equal");for(let n=0;n<this.rows;n++)for(let s=0;s<this.columns;s++)this.set(n,s,this.get(n,s)/r.get(n,s));return this},i.div=function(r,n){return new t(r).div(n)},i.prototype.divide=i.prototype.div,i.prototype.divideS=i.prototype.divS,i.prototype.divideM=i.prototype.divM,i.divide=i.div,i.prototype.mod=function(r){return typeof r=="number"?this.modS(r):this.modM(r)},i.prototype.modS=function(r){for(let n=0;n<this.rows;n++)for(let s=0;s<this.columns;s++)this.set(n,s,this.get(n,s)%r);return this},i.prototype.modM=function(r){if(r=t.checkMatrix(r),this.rows!==r.rows||this.columns!==r.columns)throw new RangeError("Matrices dimensions must be equal");for(let n=0;n<this.rows;n++)for(let s=0;s<this.columns;s++)this.set(n,s,this.get(n,s)%r.get(n,s));return this},i.mod=function(r,n){return new t(r).mod(n)},i.prototype.modulus=i.prototype.mod,i.prototype.modulusS=i.prototype.modS,i.prototype.modulusM=i.prototype.modM,i.modulus=i.mod,i.prototype.and=function(r){return typeof r=="number"?this.andS(r):this.andM(r)},i.prototype.andS=function(r){for(let n=0;n<this.rows;n++)for(let s=0;s<this.columns;s++)this.set(n,s,this.get(n,s)&r);return this},i.prototype.andM=function(r){if(r=t.checkMatrix(r),this.rows!==r.rows||this.columns!==r.columns)throw new RangeError("Matrices dimensions must be equal");for(let n=0;n<this.rows;n++)for(let s=0;s<this.columns;s++)this.set(n,s,this.get(n,s)&r.get(n,s));return this},i.and=function(r,n){return new t(r).and(n)},i.prototype.or=function(r){return typeof r=="number"?this.orS(r):this.orM(r)},i.prototype.orS=function(r){for(let n=0;n<this.rows;n++)for(let s=0;s<this.columns;s++)this.set(n,s,this.get(n,s)|r);return this},i.prototype.orM=function(r){if(r=t.checkMatrix(r),this.rows!==r.rows||this.columns!==r.columns)throw new RangeError("Matrices dimensions must be equal");for(let n=0;n<this.rows;n++)for(let s=0;s<this.columns;s++)this.set(n,s,this.get(n,s)|r.get(n,s));return this},i.or=function(r,n){return new t(r).or(n)},i.prototype.xor=function(r){return typeof r=="number"?this.xorS(r):this.xorM(r)},i.prototype.xorS=function(r){for(let n=0;n<this.rows;n++)for(let s=0;s<this.columns;s++)this.set(n,s,this.get(n,s)^r);return this},i.prototype.xorM=function(r){if(r=t.checkMatrix(r),this.rows!==r.rows||this.columns!==r.columns)throw new RangeError("Matrices dimensions must be equal");for(let n=0;n<this.rows;n++)for(let s=0;s<this.columns;s++)this.set(n,s,this.get(n,s)^r.get(n,s));return this},i.xor=function(r,n){return new t(r).xor(n)},i.prototype.leftShift=function(r){return typeof r=="number"?this.leftShiftS(r):this.leftShiftM(r)},i.prototype.leftShiftS=function(r){for(let n=0;n<this.rows;n++)for(let s=0;s<this.columns;s++)this.set(n,s,this.get(n,s)<<r);return this},i.prototype.leftShiftM=function(r){if(r=t.checkMatrix(r),this.rows!==r.rows||this.columns!==r.columns)throw new RangeError("Matrices dimensions must be equal");for(let n=0;n<this.rows;n++)for(let s=0;s<this.columns;s++)this.set(n,s,this.get(n,s)<<r.get(n,s));return this},i.leftShift=function(r,n){return new t(r).leftShift(n)},i.prototype.signPropagatingRightShift=function(r){return typeof r=="number"?this.signPropagatingRightShiftS(r):this.signPropagatingRightShiftM(r)},i.prototype.signPropagatingRightShiftS=function(r){for(let n=0;n<this.rows;n++)for(let s=0;s<this.columns;s++)this.set(n,s,this.get(n,s)>>r);return this},i.prototype.signPropagatingRightShiftM=function(r){if(r=t.checkMatrix(r),this.rows!==r.rows||this.columns!==r.columns)throw new RangeError("Matrices dimensions must be equal");for(let n=0;n<this.rows;n++)for(let s=0;s<this.columns;s++)this.set(n,s,this.get(n,s)>>r.get(n,s));return this},i.signPropagatingRightShift=function(r,n){return new t(r).signPropagatingRightShift(n)},i.prototype.rightShift=function(r){return typeof r=="number"?this.rightShiftS(r):this.rightShiftM(r)},i.prototype.rightShiftS=function(r){for(let n=0;n<this.rows;n++)for(let s=0;s<this.columns;s++)this.set(n,s,this.get(n,s)>>>r);return this},i.prototype.rightShiftM=function(r){if(r=t.checkMatrix(r),this.rows!==r.rows||this.columns!==r.columns)throw new RangeError("Matrices dimensions must be equal");for(let n=0;n<this.rows;n++)for(let s=0;s<this.columns;s++)this.set(n,s,this.get(n,s)>>>r.get(n,s));return this},i.rightShift=function(r,n){return new t(r).rightShift(n)},i.prototype.zeroFillRightShift=i.prototype.rightShift,i.prototype.zeroFillRightShiftS=i.prototype.rightShiftS,i.prototype.zeroFillRightShiftM=i.prototype.rightShiftM,i.zeroFillRightShift=i.rightShift,i.prototype.not=function(){for(let r=0;r<this.rows;r++)for(let n=0;n<this.columns;n++)this.set(r,n,~this.get(r,n));return this},i.not=function(r){return new t(r).not()},i.prototype.abs=function(){for(let r=0;r<this.rows;r++)for(let n=0;n<this.columns;n++)this.set(r,n,Math.abs(this.get(r,n)));return this},i.abs=function(r){return new t(r).abs()},i.prototype.acos=function(){for(let r=0;r<this.rows;r++)for(let n=0;n<this.columns;n++)this.set(r,n,Math.acos(this.get(r,n)));return this},i.acos=function(r){return new t(r).acos()},i.prototype.acosh=function(){for(let r=0;r<this.rows;r++)for(let n=0;n<this.columns;n++)this.set(r,n,Math.acosh(this.get(r,n)));return this},i.acosh=function(r){return new t(r).acosh()},i.prototype.asin=function(){for(let r=0;r<this.rows;r++)for(let n=0;n<this.columns;n++)this.set(r,n,Math.asin(this.get(r,n)));return this},i.asin=function(r){return new t(r).asin()},i.prototype.asinh=function(){for(let r=0;r<this.rows;r++)for(let n=0;n<this.columns;n++)this.set(r,n,Math.asinh(this.get(r,n)));return this},i.asinh=function(r){return new t(r).asinh()},i.prototype.atan=function(){for(let r=0;r<this.rows;r++)for(let n=0;n<this.columns;n++)this.set(r,n,Math.atan(this.get(r,n)));return this},i.atan=function(r){return new t(r).atan()},i.prototype.atanh=function(){for(let r=0;r<this.rows;r++)for(let n=0;n<this.columns;n++)this.set(r,n,Math.atanh(this.get(r,n)));return this},i.atanh=function(r){return new t(r).atanh()},i.prototype.cbrt=function(){for(let r=0;r<this.rows;r++)for(let n=0;n<this.columns;n++)this.set(r,n,Math.cbrt(this.get(r,n)));return this},i.cbrt=function(r){return new t(r).cbrt()},i.prototype.ceil=function(){for(let r=0;r<this.rows;r++)for(let n=0;n<this.columns;n++)this.set(r,n,Math.ceil(this.get(r,n)));return this},i.ceil=function(r){return new t(r).ceil()},i.prototype.clz32=function(){for(let r=0;r<this.rows;r++)for(let n=0;n<this.columns;n++)this.set(r,n,Math.clz32(this.get(r,n)));return this},i.clz32=function(r){return new t(r).clz32()},i.prototype.cos=function(){for(let r=0;r<this.rows;r++)for(let n=0;n<this.columns;n++)this.set(r,n,Math.cos(this.get(r,n)));return this},i.cos=function(r){return new t(r).cos()},i.prototype.cosh=function(){for(let r=0;r<this.rows;r++)for(let n=0;n<this.columns;n++)this.set(r,n,Math.cosh(this.get(r,n)));return this},i.cosh=function(r){return new t(r).cosh()},i.prototype.exp=function(){for(let r=0;r<this.rows;r++)for(let n=0;n<this.columns;n++)this.set(r,n,Math.exp(this.get(r,n)));return this},i.exp=function(r){return new t(r).exp()},i.prototype.expm1=function(){for(let r=0;r<this.rows;r++)for(let n=0;n<this.columns;n++)this.set(r,n,Math.expm1(this.get(r,n)));return this},i.expm1=function(r){return new t(r).expm1()},i.prototype.floor=function(){for(let r=0;r<this.rows;r++)for(let n=0;n<this.columns;n++)this.set(r,n,Math.floor(this.get(r,n)));return this},i.floor=function(r){return new t(r).floor()},i.prototype.fround=function(){for(let r=0;r<this.rows;r++)for(let n=0;n<this.columns;n++)this.set(r,n,Math.fround(this.get(r,n)));return this},i.fround=function(r){return new t(r).fround()},i.prototype.log=function(){for(let r=0;r<this.rows;r++)for(let n=0;n<this.columns;n++)this.set(r,n,Math.log(this.get(r,n)));return this},i.log=function(r){return new t(r).log()},i.prototype.log1p=function(){for(let r=0;r<this.rows;r++)for(let n=0;n<this.columns;n++)this.set(r,n,Math.log1p(this.get(r,n)));return this},i.log1p=function(r){return new t(r).log1p()},i.prototype.log10=function(){for(let r=0;r<this.rows;r++)for(let n=0;n<this.columns;n++)this.set(r,n,Math.log10(this.get(r,n)));return this},i.log10=function(r){return new t(r).log10()},i.prototype.log2=function(){for(let r=0;r<this.rows;r++)for(let n=0;n<this.columns;n++)this.set(r,n,Math.log2(this.get(r,n)));return this},i.log2=function(r){return new t(r).log2()},i.prototype.round=function(){for(let r=0;r<this.rows;r++)for(let n=0;n<this.columns;n++)this.set(r,n,Math.round(this.get(r,n)));return this},i.round=function(r){return new t(r).round()},i.prototype.sign=function(){for(let r=0;r<this.rows;r++)for(let n=0;n<this.columns;n++)this.set(r,n,Math.sign(this.get(r,n)));return this},i.sign=function(r){return new t(r).sign()},i.prototype.sin=function(){for(let r=0;r<this.rows;r++)for(let n=0;n<this.columns;n++)this.set(r,n,Math.sin(this.get(r,n)));return this},i.sin=function(r){return new t(r).sin()},i.prototype.sinh=function(){for(let r=0;r<this.rows;r++)for(let n=0;n<this.columns;n++)this.set(r,n,Math.sinh(this.get(r,n)));return this},i.sinh=function(r){return new t(r).sinh()},i.prototype.sqrt=function(){for(let r=0;r<this.rows;r++)for(let n=0;n<this.columns;n++)this.set(r,n,Math.sqrt(this.get(r,n)));return this},i.sqrt=function(r){return new t(r).sqrt()},i.prototype.tan=function(){for(let r=0;r<this.rows;r++)for(let n=0;n<this.columns;n++)this.set(r,n,Math.tan(this.get(r,n)));return this},i.tan=function(r){return new t(r).tan()},i.prototype.tanh=function(){for(let r=0;r<this.rows;r++)for(let n=0;n<this.columns;n++)this.set(r,n,Math.tanh(this.get(r,n)));return this},i.tanh=function(r){return new t(r).tanh()},i.prototype.trunc=function(){for(let r=0;r<this.rows;r++)for(let n=0;n<this.columns;n++)this.set(r,n,Math.trunc(this.get(r,n)));return this},i.trunc=function(r){return new t(r).trunc()},i.pow=function(r,n){return new t(r).pow(n)},i.prototype.pow=function(r){return typeof r=="number"?this.powS(r):this.powM(r)},i.prototype.powS=function(r){for(let n=0;n<this.rows;n++)for(let s=0;s<this.columns;s++)this.set(n,s,Math.pow(this.get(n,s),r));return this},i.prototype.powM=function(r){if(r=t.checkMatrix(r),this.rows!==r.rows||this.columns!==r.columns)throw new RangeError("Matrices dimensions must be equal");for(let n=0;n<this.rows;n++)for(let s=0;s<this.columns;s++)this.set(n,s,Math.pow(this.get(n,s),r.get(n,s)));return this}}function vr(i,t,e){let r=e?i.rows:i.rows-1;if(t<0||t>r)throw new RangeError("Row index out of range")}function wr(i,t,e){let r=e?i.columns:i.columns-1;if(t<0||t>r)throw new RangeError("Column index out of range")}function di(i,t){if(t.to1DArray&&(t=t.to1DArray()),t.length!==i.columns)throw new RangeError("vector size must be the same as the number of columns");return t}function _i(i,t){if(t.to1DArray&&(t=t.to1DArray()),t.length!==i.rows)throw new RangeError("vector size must be the same as the number of rows");return t}function Sa(i,t){if(!Xe.isAnyArray(t))throw new TypeError("row indices must be an array");for(let e=0;e<t.length;e++)if(t[e]<0||t[e]>=i.rows)throw new RangeError("row indices are out of range")}function Ba(i,t){if(!Xe.isAnyArray(t))throw new TypeError("column indices must be an array");for(let e=0;e<t.length;e++)if(t[e]<0||t[e]>=i.columns)throw new RangeError("column indices are out of range")}function Ta(i,t,e,r,n){if(arguments.length!==5)throw new RangeError("expected 4 arguments");if(Xs("startRow",t),Xs("endRow",e),Xs("startColumn",r),Xs("endColumn",n),t>e||r>n||t<0||t>=i.rows||e<0||e>=i.rows||r<0||r>=i.columns||n<0||n>=i.columns)throw new RangeError("Submatrix indices are out of range")}function Js(i,t=0){let e=[];for(let r=0;r<i;r++)e.push(t);return e}function Xs(i,t){if(typeof t!="number")throw new TypeError(`${i} must be a number`)}function mi(i){if(i.isEmpty())throw new Error("Empty matrix has no elements to index")}function b1(i){let t=Js(i.rows);for(let e=0;e<i.rows;++e)for(let r=0;r<i.columns;++r)t[e]+=i.get(e,r);return t}function E1(i){let t=Js(i.columns);for(let e=0;e<i.rows;++e)for(let r=0;r<i.columns;++r)t[r]+=i.get(e,r);return t}function x1(i){let t=0;for(let e=0;e<i.rows;e++)for(let r=0;r<i.columns;r++)t+=i.get(e,r);return t}function A1(i){let t=Js(i.rows,1);for(let e=0;e<i.rows;++e)for(let r=0;r<i.columns;++r)t[e]*=i.get(e,r);return t}function C1(i){let t=Js(i.columns,1);for(let e=0;e<i.rows;++e)for(let r=0;r<i.columns;++r)t[r]*=i.get(e,r);return t}function F1(i){let t=1;for(let e=0;e<i.rows;e++)for(let r=0;r<i.columns;r++)t*=i.get(e,r);return t}function M1(i,t,e){const r=i.rows,n=i.columns,s=[];for(let a=0;a<r;a++){let l=0,c=0,h=0;for(let p=0;p<n;p++)h=i.get(a,p)-e[a],l+=h,c+=h*h;t?s.push((c-l*l/n)/(n-1)):s.push((c-l*l/n)/n)}return s}function N1(i,t,e){const r=i.rows,n=i.columns,s=[];for(let a=0;a<n;a++){let l=0,c=0,h=0;for(let p=0;p<r;p++)h=i.get(p,a)-e[a],l+=h,c+=h*h;t?s.push((c-l*l/r)/(r-1)):s.push((c-l*l/r)/r)}return s}function S1(i,t,e){const r=i.rows,n=i.columns,s=r*n;let a=0,l=0,c=0;for(let h=0;h<r;h++)for(let p=0;p<n;p++)c=i.get(h,p)-e,a+=c,l+=c*c;return t?(l-a*a/s)/(s-1):(l-a*a/s)/s}function B1(i,t){for(let e=0;e<i.rows;e++)for(let r=0;r<i.columns;r++)i.set(e,r,i.get(e,r)-t[e])}function T1(i,t){for(let e=0;e<i.rows;e++)for(let r=0;r<i.columns;r++)i.set(e,r,i.get(e,r)-t[r])}function I1(i,t){for(let e=0;e<i.rows;e++)for(let r=0;r<i.columns;r++)i.set(e,r,i.get(e,r)-t)}function O1(i){const t=[];for(let e=0;e<i.rows;e++){let r=0;for(let n=0;n<i.columns;n++)r+=Math.pow(i.get(e,n),2)/(i.columns-1);t.push(Math.sqrt(r))}return t}function $1(i,t){for(let e=0;e<i.rows;e++)for(let r=0;r<i.columns;r++)i.set(e,r,i.get(e,r)/t[e])}function R1(i){const t=[];for(let e=0;e<i.columns;e++){let r=0;for(let n=0;n<i.rows;n++)r+=Math.pow(i.get(n,e),2)/(i.rows-1);t.push(Math.sqrt(r))}return t}function L1(i,t){for(let e=0;e<i.rows;e++)for(let r=0;r<i.columns;r++)i.set(e,r,i.get(e,r)/t[r])}function P1(i){const t=i.size-1;let e=0;for(let r=0;r<i.columns;r++)for(let n=0;n<i.rows;n++)e+=Math.pow(i.get(n,r),2)/t;return Math.sqrt(e)}function z1(i,t){for(let e=0;e<i.rows;e++)for(let r=0;r<i.columns;r++)i.set(e,r,i.get(e,r)/t)}class Ot{static from1DArray(t,e,r){if(t*e!==r.length)throw new RangeError("data length does not match given dimensions");let s=new pt(t,e);for(let a=0;a<t;a++)for(let l=0;l<e;l++)s.set(a,l,r[a*e+l]);return s}static rowVector(t){let e=new pt(1,t.length);for(let r=0;r<t.length;r++)e.set(0,r,t[r]);return e}static columnVector(t){let e=new pt(t.length,1);for(let r=0;r<t.length;r++)e.set(r,0,t[r]);return e}static zeros(t,e){return new pt(t,e)}static ones(t,e){return new pt(t,e).fill(1)}static rand(t,e,r={}){if(typeof r!="object")throw new TypeError("options must be an object");const{random:n=Math.random}=r;let s=new pt(t,e);for(let a=0;a<t;a++)for(let l=0;l<e;l++)s.set(a,l,n());return s}static randInt(t,e,r={}){if(typeof r!="object")throw new TypeError("options must be an object");const{min:n=0,max:s=1e3,random:a=Math.random}=r;if(!Number.isInteger(n))throw new TypeError("min must be an integer");if(!Number.isInteger(s))throw new TypeError("max must be an integer");if(n>=s)throw new RangeError("min must be smaller than max");let l=s-n,c=new pt(t,e);for(let h=0;h<t;h++)for(let p=0;p<e;p++){let f=n+Math.round(a()*l);c.set(h,p,f)}return c}static eye(t,e,r){e===void 0&&(e=t),r===void 0&&(r=1);let n=Math.min(t,e),s=this.zeros(t,e);for(let a=0;a<n;a++)s.set(a,a,r);return s}static diag(t,e,r){let n=t.length;e===void 0&&(e=n),r===void 0&&(r=e);let s=Math.min(n,e,r),a=this.zeros(e,r);for(let l=0;l<s;l++)a.set(l,l,t[l]);return a}static min(t,e){t=this.checkMatrix(t),e=this.checkMatrix(e);let r=t.rows,n=t.columns,s=new pt(r,n);for(let a=0;a<r;a++)for(let l=0;l<n;l++)s.set(a,l,Math.min(t.get(a,l),e.get(a,l)));return s}static max(t,e){t=this.checkMatrix(t),e=this.checkMatrix(e);let r=t.rows,n=t.columns,s=new this(r,n);for(let a=0;a<r;a++)for(let l=0;l<n;l++)s.set(a,l,Math.max(t.get(a,l),e.get(a,l)));return s}static checkMatrix(t){return Ot.isMatrix(t)?t:new pt(t)}static isMatrix(t){return t!=null&&t.klass==="Matrix"}get size(){return this.rows*this.columns}apply(t){if(typeof t!="function")throw new TypeError("callback must be a function");for(let e=0;e<this.rows;e++)for(let r=0;r<this.columns;r++)t.call(this,e,r);return this}to1DArray(){let t=[];for(let e=0;e<this.rows;e++)for(let r=0;r<this.columns;r++)t.push(this.get(e,r));return t}to2DArray(){let t=[];for(let e=0;e<this.rows;e++){t.push([]);for(let r=0;r<this.columns;r++)t[e].push(this.get(e,r))}return t}toJSON(){return this.to2DArray()}isRowVector(){return this.rows===1}isColumnVector(){return this.columns===1}isVector(){return this.rows===1||this.columns===1}isSquare(){return this.rows===this.columns}isEmpty(){return this.rows===0||this.columns===0}isSymmetric(){if(this.isSquare()){for(let t=0;t<this.rows;t++)for(let e=0;e<=t;e++)if(this.get(t,e)!==this.get(e,t))return!1;return!0}return!1}isDistance(){if(!this.isSymmetric())return!1;for(let t=0;t<this.rows;t++)if(this.get(t,t)!==0)return!1;return!0}isEchelonForm(){let t=0,e=0,r=-1,n=!0,s=!1;for(;t<this.rows&&n;){for(e=0,s=!1;e<this.columns&&s===!1;)this.get(t,e)===0?e++:this.get(t,e)===1&&e>r?(s=!0,r=e):(n=!1,s=!0);t++}return n}isReducedEchelonForm(){let t=0,e=0,r=-1,n=!0,s=!1;for(;t<this.rows&&n;){for(e=0,s=!1;e<this.columns&&s===!1;)this.get(t,e)===0?e++:this.get(t,e)===1&&e>r?(s=!0,r=e):(n=!1,s=!0);for(let a=e+1;a<this.rows;a++)this.get(t,a)!==0&&(n=!1);t++}return n}echelonForm(){let t=this.clone(),e=0,r=0;for(;e<t.rows&&r<t.columns;){let n=e;for(let s=e;s<t.rows;s++)t.get(s,r)>t.get(n,r)&&(n=s);if(t.get(n,r)===0)r++;else{t.swapRows(e,n);let s=t.get(e,r);for(let a=r;a<t.columns;a++)t.set(e,a,t.get(e,a)/s);for(let a=e+1;a<t.rows;a++){let l=t.get(a,r)/t.get(e,r);t.set(a,r,0);for(let c=r+1;c<t.columns;c++)t.set(a,c,t.get(a,c)-t.get(e,c)*l)}e++,r++}}return t}reducedEchelonForm(){let t=this.echelonForm(),e=t.columns,r=t.rows,n=r-1;for(;n>=0;)if(t.maxRow(n)===0)n--;else{let s=0,a=!1;for(;s<r&&a===!1;)t.get(n,s)===1?a=!0:s++;for(let l=0;l<n;l++){let c=t.get(l,s);for(let h=s;h<e;h++){let p=t.get(l,h)-c*t.get(n,h);t.set(l,h,p)}}n--}return t}set(){throw new Error("set method is unimplemented")}get(){throw new Error("get method is unimplemented")}repeat(t={}){if(typeof t!="object")throw new TypeError("options must be an object");const{rows:e=1,columns:r=1}=t;if(!Number.isInteger(e)||e<=0)throw new TypeError("rows must be a positive integer");if(!Number.isInteger(r)||r<=0)throw new TypeError("columns must be a positive integer");let n=new pt(this.rows*e,this.columns*r);for(let s=0;s<e;s++)for(let a=0;a<r;a++)n.setSubMatrix(this,this.rows*s,this.columns*a);return n}fill(t){for(let e=0;e<this.rows;e++)for(let r=0;r<this.columns;r++)this.set(e,r,t);return this}neg(){return this.mulS(-1)}getRow(t){vr(this,t);let e=[];for(let r=0;r<this.columns;r++)e.push(this.get(t,r));return e}getRowVector(t){return pt.rowVector(this.getRow(t))}setRow(t,e){vr(this,t),e=di(this,e);for(let r=0;r<this.columns;r++)this.set(t,r,e[r]);return this}swapRows(t,e){vr(this,t),vr(this,e);for(let r=0;r<this.columns;r++){let n=this.get(t,r);this.set(t,r,this.get(e,r)),this.set(e,r,n)}return this}getColumn(t){wr(this,t);let e=[];for(let r=0;r<this.rows;r++)e.push(this.get(r,t));return e}getColumnVector(t){return pt.columnVector(this.getColumn(t))}setColumn(t,e){wr(this,t),e=_i(this,e);for(let r=0;r<this.rows;r++)this.set(r,t,e[r]);return this}swapColumns(t,e){wr(this,t),wr(this,e);for(let r=0;r<this.rows;r++){let n=this.get(r,t);this.set(r,t,this.get(r,e)),this.set(r,e,n)}return this}addRowVector(t){t=di(this,t);for(let e=0;e<this.rows;e++)for(let r=0;r<this.columns;r++)this.set(e,r,this.get(e,r)+t[r]);return this}subRowVector(t){t=di(this,t);for(let e=0;e<this.rows;e++)for(let r=0;r<this.columns;r++)this.set(e,r,this.get(e,r)-t[r]);return this}mulRowVector(t){t=di(this,t);for(let e=0;e<this.rows;e++)for(let r=0;r<this.columns;r++)this.set(e,r,this.get(e,r)*t[r]);return this}divRowVector(t){t=di(this,t);for(let e=0;e<this.rows;e++)for(let r=0;r<this.columns;r++)this.set(e,r,this.get(e,r)/t[r]);return this}addColumnVector(t){t=_i(this,t);for(let e=0;e<this.rows;e++)for(let r=0;r<this.columns;r++)this.set(e,r,this.get(e,r)+t[e]);return this}subColumnVector(t){t=_i(this,t);for(let e=0;e<this.rows;e++)for(let r=0;r<this.columns;r++)this.set(e,r,this.get(e,r)-t[e]);return this}mulColumnVector(t){t=_i(this,t);for(let e=0;e<this.rows;e++)for(let r=0;r<this.columns;r++)this.set(e,r,this.get(e,r)*t[e]);return this}divColumnVector(t){t=_i(this,t);for(let e=0;e<this.rows;e++)for(let r=0;r<this.columns;r++)this.set(e,r,this.get(e,r)/t[e]);return this}mulRow(t,e){vr(this,t);for(let r=0;r<this.columns;r++)this.set(t,r,this.get(t,r)*e);return this}mulColumn(t,e){wr(this,t);for(let r=0;r<this.rows;r++)this.set(r,t,this.get(r,t)*e);return this}max(t){if(this.isEmpty())return NaN;switch(t){case"row":{const e=new Array(this.rows).fill(Number.NEGATIVE_INFINITY);for(let r=0;r<this.rows;r++)for(let n=0;n<this.columns;n++)this.get(r,n)>e[r]&&(e[r]=this.get(r,n));return e}case"column":{const e=new Array(this.columns).fill(Number.NEGATIVE_INFINITY);for(let r=0;r<this.rows;r++)for(let n=0;n<this.columns;n++)this.get(r,n)>e[n]&&(e[n]=this.get(r,n));return e}case void 0:{let e=this.get(0,0);for(let r=0;r<this.rows;r++)for(let n=0;n<this.columns;n++)this.get(r,n)>e&&(e=this.get(r,n));return e}default:throw new Error(`invalid option: ${t}`)}}maxIndex(){mi(this);let t=this.get(0,0),e=[0,0];for(let r=0;r<this.rows;r++)for(let n=0;n<this.columns;n++)this.get(r,n)>t&&(t=this.get(r,n),e[0]=r,e[1]=n);return e}min(t){if(this.isEmpty())return NaN;switch(t){case"row":{const e=new Array(this.rows).fill(Number.POSITIVE_INFINITY);for(let r=0;r<this.rows;r++)for(let n=0;n<this.columns;n++)this.get(r,n)<e[r]&&(e[r]=this.get(r,n));return e}case"column":{const e=new Array(this.columns).fill(Number.POSITIVE_INFINITY);for(let r=0;r<this.rows;r++)for(let n=0;n<this.columns;n++)this.get(r,n)<e[n]&&(e[n]=this.get(r,n));return e}case void 0:{let e=this.get(0,0);for(let r=0;r<this.rows;r++)for(let n=0;n<this.columns;n++)this.get(r,n)<e&&(e=this.get(r,n));return e}default:throw new Error(`invalid option: ${t}`)}}minIndex(){mi(this);let t=this.get(0,0),e=[0,0];for(let r=0;r<this.rows;r++)for(let n=0;n<this.columns;n++)this.get(r,n)<t&&(t=this.get(r,n),e[0]=r,e[1]=n);return e}maxRow(t){if(vr(this,t),this.isEmpty())return NaN;let e=this.get(t,0);for(let r=1;r<this.columns;r++)this.get(t,r)>e&&(e=this.get(t,r));return e}maxRowIndex(t){vr(this,t),mi(this);let e=this.get(t,0),r=[t,0];for(let n=1;n<this.columns;n++)this.get(t,n)>e&&(e=this.get(t,n),r[1]=n);return r}minRow(t){if(vr(this,t),this.isEmpty())return NaN;let e=this.get(t,0);for(let r=1;r<this.columns;r++)this.get(t,r)<e&&(e=this.get(t,r));return e}minRowIndex(t){vr(this,t),mi(this);let e=this.get(t,0),r=[t,0];for(let n=1;n<this.columns;n++)this.get(t,n)<e&&(e=this.get(t,n),r[1]=n);return r}maxColumn(t){if(wr(this,t),this.isEmpty())return NaN;let e=this.get(0,t);for(let r=1;r<this.rows;r++)this.get(r,t)>e&&(e=this.get(r,t));return e}maxColumnIndex(t){wr(this,t),mi(this);let e=this.get(0,t),r=[0,t];for(let n=1;n<this.rows;n++)this.get(n,t)>e&&(e=this.get(n,t),r[0]=n);return r}minColumn(t){if(wr(this,t),this.isEmpty())return NaN;let e=this.get(0,t);for(let r=1;r<this.rows;r++)this.get(r,t)<e&&(e=this.get(r,t));return e}minColumnIndex(t){wr(this,t),mi(this);let e=this.get(0,t),r=[0,t];for(let n=1;n<this.rows;n++)this.get(n,t)<e&&(e=this.get(n,t),r[0]=n);return r}diag(){let t=Math.min(this.rows,this.columns),e=[];for(let r=0;r<t;r++)e.push(this.get(r,r));return e}norm(t="frobenius"){switch(t){case"max":return this.max();case"frobenius":return Math.sqrt(this.dot(this));default:throw new RangeError(`unknown norm type: ${t}`)}}cumulativeSum(){let t=0;for(let e=0;e<this.rows;e++)for(let r=0;r<this.columns;r++)t+=this.get(e,r),this.set(e,r,t);return this}dot(t){Ot.isMatrix(t)&&(t=t.to1DArray());let e=this.to1DArray();if(e.length!==t.length)throw new RangeError("vectors do not have the same size");let r=0;for(let n=0;n<e.length;n++)r+=e[n]*t[n];return r}mmul(t){t=pt.checkMatrix(t);let e=this.rows,r=this.columns,n=t.columns,s=new pt(e,n),a=new Float64Array(r);for(let l=0;l<n;l++){for(let c=0;c<r;c++)a[c]=t.get(c,l);for(let c=0;c<e;c++){let h=0;for(let p=0;p<r;p++)h+=this.get(c,p)*a[p];s.set(c,l,h)}}return s}strassen2x2(t){t=pt.checkMatrix(t);let e=new pt(2,2);const r=this.get(0,0),n=t.get(0,0),s=this.get(0,1),a=t.get(0,1),l=this.get(1,0),c=t.get(1,0),h=this.get(1,1),p=t.get(1,1),f=(r+h)*(n+p),d=(l+h)*n,g=r*(a-p),w=h*(c-n),m=(r+s)*p,D=(l-r)*(n+a),v=(s-h)*(c+p),E=f+w-m+v,b=g+m,N=d+w,x=f-d+g+D;return e.set(0,0,E),e.set(0,1,b),e.set(1,0,N),e.set(1,1,x),e}strassen3x3(t){t=pt.checkMatrix(t);let e=new pt(3,3);const r=this.get(0,0),n=this.get(0,1),s=this.get(0,2),a=this.get(1,0),l=this.get(1,1),c=this.get(1,2),h=this.get(2,0),p=this.get(2,1),f=this.get(2,2),d=t.get(0,0),g=t.get(0,1),w=t.get(0,2),m=t.get(1,0),D=t.get(1,1),v=t.get(1,2),E=t.get(2,0),b=t.get(2,1),N=t.get(2,2),x=(r+n+s-a-l-p-f)*D,F=(r-a)*(-g+D),M=l*(-d+g+m-D-v-E+N),S=(-r+a+l)*(d-g+D),O=(a+l)*(-d+g),C=r*d,T=(-r+h+p)*(d-w+v),R=(-r+h)*(w-v),U=(h+p)*(-d+w),k=(r+n+s-l-c-h-p)*v,W=p*(-d+w+m-D-v-E+b),P=(-s+p+f)*(D+E-b),K=(s-f)*(D-b),G=s*E,V=(p+f)*(-E+b),tt=(-s+l+c)*(v+E-N),ct=(s-c)*(v-N),gt=(l+c)*(-E+N),lt=n*m,wt=c*b,Dt=a*w,St=h*g,bt=f*N,re=C+G+lt,Tt=x+S+O+C+P+G+V,Mt=C+T+U+k+G+tt+gt,ie=F+M+S+C+G+tt+ct,Xt=F+S+O+C+wt,zt=G+tt+ct+gt+Dt,Gt=C+T+R+W+P+K+G,Fe=P+K+G+V+St,or=C+T+R+U+bt;return e.set(0,0,re),e.set(0,1,Tt),e.set(0,2,Mt),e.set(1,0,ie),e.set(1,1,Xt),e.set(1,2,zt),e.set(2,0,Gt),e.set(2,1,Fe),e.set(2,2,or),e}mmulStrassen(t){t=pt.checkMatrix(t);let e=this.clone(),r=e.rows,n=e.columns,s=t.rows,a=t.columns;n!==s&&console.warn(`Multiplying ${r} x ${n} and ${s} x ${a} matrix: dimensions do not match.`);function l(f,d,g){let w=f.rows,m=f.columns;if(w===d&&m===g)return f;{let D=Ot.zeros(d,g);return D=D.setSubMatrix(f,0,0),D}}let c=Math.max(r,s),h=Math.max(n,a);e=l(e,c,h),t=l(t,c,h);function p(f,d,g,w){if(g<=512||w<=512)return f.mmul(d);g%2===1&&w%2===1?(f=l(f,g+1,w+1),d=l(d,g+1,w+1)):g%2===1?(f=l(f,g+1,w),d=l(d,g+1,w)):w%2===1&&(f=l(f,g,w+1),d=l(d,g,w+1));let m=parseInt(f.rows/2,10),D=parseInt(f.columns/2,10),v=f.subMatrix(0,m-1,0,D-1),E=d.subMatrix(0,m-1,0,D-1),b=f.subMatrix(0,m-1,D,f.columns-1),N=d.subMatrix(0,m-1,D,d.columns-1),x=f.subMatrix(m,f.rows-1,0,D-1),F=d.subMatrix(m,d.rows-1,0,D-1),M=f.subMatrix(m,f.rows-1,D,f.columns-1),S=d.subMatrix(m,d.rows-1,D,d.columns-1),O=p(Ot.add(v,M),Ot.add(E,S),m,D),C=p(Ot.add(x,M),E,m,D),T=p(v,Ot.sub(N,S),m,D),R=p(M,Ot.sub(F,E),m,D),U=p(Ot.add(v,b),S,m,D),k=p(Ot.sub(x,v),Ot.add(E,N),m,D),W=p(Ot.sub(b,M),Ot.add(F,S),m,D),P=Ot.add(O,R);P.sub(U),P.add(W);let K=Ot.add(T,U),G=Ot.add(C,R),V=Ot.sub(O,C);V.add(T),V.add(k);let tt=Ot.zeros(2*P.rows,2*P.columns);return tt=tt.setSubMatrix(P,0,0),tt=tt.setSubMatrix(K,P.rows,0),tt=tt.setSubMatrix(G,0,P.columns),tt=tt.setSubMatrix(V,P.rows,P.columns),tt.subMatrix(0,g-1,0,w-1)}return p(e,t,c,h)}scaleRows(t={}){if(typeof t!="object")throw new TypeError("options must be an object");const{min:e=0,max:r=1}=t;if(!Number.isFinite(e))throw new TypeError("min must be a number");if(!Number.isFinite(r))throw new TypeError("max must be a number");if(e>=r)throw new RangeError("min must be smaller than max");let n=new pt(this.rows,this.columns);for(let s=0;s<this.rows;s++){const a=this.getRow(s);a.length>0&&Bf(a,{min:e,max:r,output:a}),n.setRow(s,a)}return n}scaleColumns(t={}){if(typeof t!="object")throw new TypeError("options must be an object");const{min:e=0,max:r=1}=t;if(!Number.isFinite(e))throw new TypeError("min must be a number");if(!Number.isFinite(r))throw new TypeError("max must be a number");if(e>=r)throw new RangeError("min must be smaller than max");let n=new pt(this.rows,this.columns);for(let s=0;s<this.columns;s++){const a=this.getColumn(s);a.length&&Bf(a,{min:e,max:r,output:a}),n.setColumn(s,a)}return n}flipRows(){const t=Math.ceil(this.columns/2);for(let e=0;e<this.rows;e++)for(let r=0;r<t;r++){let n=this.get(e,r),s=this.get(e,this.columns-1-r);this.set(e,r,s),this.set(e,this.columns-1-r,n)}return this}flipColumns(){const t=Math.ceil(this.rows/2);for(let e=0;e<this.columns;e++)for(let r=0;r<t;r++){let n=this.get(r,e),s=this.get(this.rows-1-r,e);this.set(r,e,s),this.set(this.rows-1-r,e,n)}return this}kroneckerProduct(t){t=pt.checkMatrix(t);let e=this.rows,r=this.columns,n=t.rows,s=t.columns,a=new pt(e*n,r*s);for(let l=0;l<e;l++)for(let c=0;c<r;c++)for(let h=0;h<n;h++)for(let p=0;p<s;p++)a.set(n*l+h,s*c+p,this.get(l,c)*t.get(h,p));return a}kroneckerSum(t){if(t=pt.checkMatrix(t),!this.isSquare()||!t.isSquare())throw new Error("Kronecker Sum needs two Square Matrices");let e=this.rows,r=t.rows,n=this.kroneckerProduct(pt.eye(r,r)),s=pt.eye(e,e).kroneckerProduct(t);return n.add(s)}transpose(){let t=new pt(this.columns,this.rows);for(let e=0;e<this.rows;e++)for(let r=0;r<this.columns;r++)t.set(r,e,this.get(e,r));return t}sortRows(t=$f){for(let e=0;e<this.rows;e++)this.setRow(e,this.getRow(e).sort(t));return this}sortColumns(t=$f){for(let e=0;e<this.columns;e++)this.setColumn(e,this.getColumn(e).sort(t));return this}subMatrix(t,e,r,n){Ta(this,t,e,r,n);let s=new pt(e-t+1,n-r+1);for(let a=t;a<=e;a++)for(let l=r;l<=n;l++)s.set(a-t,l-r,this.get(a,l));return s}subMatrixRow(t,e,r){if(e===void 0&&(e=0),r===void 0&&(r=this.columns-1),e>r||e<0||e>=this.columns||r<0||r>=this.columns)throw new RangeError("Argument out of range");let n=new pt(t.length,r-e+1);for(let s=0;s<t.length;s++)for(let a=e;a<=r;a++){if(t[s]<0||t[s]>=this.rows)throw new RangeError(`Row index out of range: ${t[s]}`);n.set(s,a-e,this.get(t[s],a))}return n}subMatrixColumn(t,e,r){if(e===void 0&&(e=0),r===void 0&&(r=this.rows-1),e>r||e<0||e>=this.rows||r<0||r>=this.rows)throw new RangeError("Argument out of range");let n=new pt(r-e+1,t.length);for(let s=0;s<t.length;s++)for(let a=e;a<=r;a++){if(t[s]<0||t[s]>=this.columns)throw new RangeError(`Column index out of range: ${t[s]}`);n.set(a-e,s,this.get(a,t[s]))}return n}setSubMatrix(t,e,r){if(t=pt.checkMatrix(t),t.isEmpty())return this;let n=e+t.rows-1,s=r+t.columns-1;Ta(this,e,n,r,s);for(let a=0;a<t.rows;a++)for(let l=0;l<t.columns;l++)this.set(e+a,r+l,t.get(a,l));return this}selection(t,e){Sa(this,t),Ba(this,e);let r=new pt(t.length,e.length);for(let n=0;n<t.length;n++){let s=t[n];for(let a=0;a<e.length;a++){let l=e[a];r.set(n,a,this.get(s,l))}}return r}trace(){let t=Math.min(this.rows,this.columns),e=0;for(let r=0;r<t;r++)e+=this.get(r,r);return e}clone(){return this.constructor.copy(this,new pt(this.rows,this.columns))}static copy(t,e){for(const[r,n,s]of t.entries())e.set(r,n,s);return e}sum(t){switch(t){case"row":return b1(this);case"column":return E1(this);case void 0:return x1(this);default:throw new Error(`invalid option: ${t}`)}}product(t){switch(t){case"row":return A1(this);case"column":return C1(this);case void 0:return F1(this);default:throw new Error(`invalid option: ${t}`)}}mean(t){const e=this.sum(t);switch(t){case"row":{for(let r=0;r<this.rows;r++)e[r]/=this.columns;return e}case"column":{for(let r=0;r<this.columns;r++)e[r]/=this.rows;return e}case void 0:return e/this.size;default:throw new Error(`invalid option: ${t}`)}}variance(t,e={}){if(typeof t=="object"&&(e=t,t=void 0),typeof e!="object")throw new TypeError("options must be an object");const{unbiased:r=!0,mean:n=this.mean(t)}=e;if(typeof r!="boolean")throw new TypeError("unbiased must be a boolean");switch(t){case"row":{if(!Xe.isAnyArray(n))throw new TypeError("mean must be an array");return M1(this,r,n)}case"column":{if(!Xe.isAnyArray(n))throw new TypeError("mean must be an array");return N1(this,r,n)}case void 0:{if(typeof n!="number")throw new TypeError("mean must be a number");return S1(this,r,n)}default:throw new Error(`invalid option: ${t}`)}}standardDeviation(t,e){typeof t=="object"&&(e=t,t=void 0);const r=this.variance(t,e);if(t===void 0)return Math.sqrt(r);for(let n=0;n<r.length;n++)r[n]=Math.sqrt(r[n]);return r}center(t,e={}){if(typeof t=="object"&&(e=t,t=void 0),typeof e!="object")throw new TypeError("options must be an object");const{center:r=this.mean(t)}=e;switch(t){case"row":{if(!Xe.isAnyArray(r))throw new TypeError("center must be an array");return B1(this,r),this}case"column":{if(!Xe.isAnyArray(r))throw new TypeError("center must be an array");return T1(this,r),this}case void 0:{if(typeof r!="number")throw new TypeError("center must be a number");return I1(this,r),this}default:throw new Error(`invalid option: ${t}`)}}scale(t,e={}){if(typeof t=="object"&&(e=t,t=void 0),typeof e!="object")throw new TypeError("options must be an object");let r=e.scale;switch(t){case"row":{if(r===void 0)r=O1(this);else if(!Xe.isAnyArray(r))throw new TypeError("scale must be an array");return $1(this,r),this}case"column":{if(r===void 0)r=R1(this);else if(!Xe.isAnyArray(r))throw new TypeError("scale must be an array");return L1(this,r),this}case void 0:{if(r===void 0)r=P1(this);else if(typeof r!="number")throw new TypeError("scale must be a number");return z1(this,r),this}default:throw new Error(`invalid option: ${t}`)}}toString(t){return If(this,t)}[Symbol.iterator](){return this.entries()}*entries(){for(let t=0;t<this.rows;t++)for(let e=0;e<this.columns;e++)yield[t,e,this.get(t,e)]}*values(){for(let t=0;t<this.rows;t++)for(let e=0;e<this.columns;e++)yield this.get(t,e)}}Ot.prototype.klass="Matrix",typeof Symbol<"u"&&(Ot.prototype[Symbol.for("nodejs.util.inspect.custom")]=v1);function $f(i,t){return i-t}function q1(i){return i.every(t=>typeof t=="number")}Ot.random=Ot.rand,Ot.randomInt=Ot.randInt,Ot.diagonal=Ot.diag,Ot.prototype.diagonal=Ot.prototype.diag,Ot.identity=Ot.eye,Ot.prototype.negate=Ot.prototype.neg,Ot.prototype.tensorProduct=Ot.prototype.kroneckerProduct;let pt=(Di=class extends Ot{constructor(e,r){super();yl(this,Xi);q(this,"data");if(Di.isMatrix(e))Dl(this,Xi,bl).call(this,e.rows,e.columns),Di.copy(e,this);else if(Number.isInteger(e)&&e>=0)Dl(this,Xi,bl).call(this,e,r);else if(Xe.isAnyArray(e)){const n=e;if(e=n.length,r=e?n[0].length:0,typeof r!="number")throw new TypeError("Data must be a 2D array with at least one element");this.data=[];for(let s=0;s<e;s++){if(n[s].length!==r)throw new RangeError("Inconsistent array dimensions");if(!q1(n[s]))throw new TypeError("Input data contains non-numeric values");this.data.push(Float64Array.from(n[s]))}this.rows=e,this.columns=r}else throw new TypeError("First argument must be a positive number or an array")}set(e,r,n){return this.data[e][r]=n,this}get(e,r){return this.data[e][r]}removeRow(e){return vr(this,e),this.data.splice(e,1),this.rows-=1,this}addRow(e,r){return r===void 0&&(r=e,e=this.rows),vr(this,e,!0),r=Float64Array.from(di(this,r)),this.data.splice(e,0,r),this.rows+=1,this}removeColumn(e){wr(this,e);for(let r=0;r<this.rows;r++){const n=new Float64Array(this.columns-1);for(let s=0;s<e;s++)n[s]=this.data[r][s];for(let s=e+1;s<this.columns;s++)n[s-1]=this.data[r][s];this.data[r]=n}return this.columns-=1,this}addColumn(e,r){typeof r>"u"&&(r=e,e=this.columns),wr(this,e,!0),r=_i(this,r);for(let n=0;n<this.rows;n++){const s=new Float64Array(this.columns+1);let a=0;for(;a<e;a++)s[a]=this.data[n][a];for(s[a++]=r[n];a<this.columns+1;a++)s[a]=this.data[n][a-1];this.data[n]=s}return this.columns+=1,this}},Xi=new WeakSet,bl=function(e,r){if(this.data=[],Number.isInteger(r)&&r>=0)for(let n=0;n<e;n++)this.data.push(new Float64Array(r));else throw new TypeError("nColumns must be a positive integer");this.rows=e,this.columns=r},Di);D1(Ot,pt);const lo=class lo extends Ot{constructor(e){super();yl(this,ke,void 0);if(pt.isMatrix(e)){if(!e.isSymmetric())throw new TypeError("not symmetric data");ea(this,ke,pt.copy(e,new pt(e.rows,e.rows)))}else if(Number.isInteger(e)&&e>=0)ea(this,ke,new pt(e,e));else if(ea(this,ke,new pt(e)),!this.isSymmetric())throw new TypeError("not symmetric data")}get size(){return zr(this,ke).size}get rows(){return zr(this,ke).rows}get columns(){return zr(this,ke).columns}get diagonalSize(){return this.rows}static isSymmetricMatrix(e){return pt.isMatrix(e)&&e.klassType==="SymmetricMatrix"}static zeros(e){return new this(e)}static ones(e){return new this(e).fill(1)}clone(){const e=new lo(this.diagonalSize);for(const[r,n,s]of this.upperRightEntries())e.set(r,n,s);return e}toMatrix(){return new pt(this)}get(e,r){return zr(this,ke).get(e,r)}set(e,r,n){return zr(this,ke).set(e,r,n),zr(this,ke).set(r,e,n),this}removeCross(e){return zr(this,ke).removeRow(e),zr(this,ke).removeColumn(e),this}addCross(e,r){r===void 0&&(r=e,e=this.diagonalSize);const n=r.slice();return n.splice(e,1),zr(this,ke).addRow(e,n),zr(this,ke).addColumn(e,r),this}applyMask(e){if(e.length!==this.diagonalSize)throw new RangeError("Mask size do not match with matrix size");const r=[];for(const[n,s]of e.entries())s||r.push(n);r.reverse();for(const n of r)this.removeCross(n);return this}toCompact(){const{diagonalSize:e}=this,r=new Array(e*(e+1)/2);for(let n=0,s=0,a=0;a<r.length;a++)r[a]=this.get(s,n),++n>=e&&(n=++s);return r}static fromCompact(e){const r=e.length,n=(Math.sqrt(8*r+1)-1)/2;if(!Number.isInteger(n))throw new TypeError(`This array is not a compact representation of a Symmetric Matrix, ${JSON.stringify(e)}`);const s=new lo(n);for(let a=0,l=0,c=0;c<r;c++)s.set(a,l,e[c]),++a>=n&&(a=++l);return s}*upperRightEntries(){for(let e=0,r=0;e<this.diagonalSize;void 0){const n=this.get(e,r);yield[e,r,n],++r>=this.diagonalSize&&(r=++e)}}*upperRightValues(){for(let e=0,r=0;e<this.diagonalSize;void 0)yield this.get(e,r),++r>=this.diagonalSize&&(r=++e)}};ke=new WeakMap;let jn=lo;jn.prototype.klassType="SymmetricMatrix";class Vs extends jn{static isDistanceMatrix(t){return jn.isSymmetricMatrix(t)&&t.klassSubType==="DistanceMatrix"}constructor(t){if(super(t),!this.isDistance())throw new TypeError("Provided arguments do no produce a distance matrix")}set(t,e,r){return t===e&&(r=0),super.set(t,e,r)}addCross(t,e){return e===void 0&&(e=t,t=this.diagonalSize),e=e.slice(),e[t]=0,super.addCross(t,e)}toSymmetricMatrix(){return new jn(this)}clone(){const t=new Vs(this.diagonalSize);for(const[e,r,n]of this.upperRightEntries())e!==r&&t.set(e,r,n);return t}toCompact(){const{diagonalSize:t}=this,e=(t-1)*t/2,r=new Array(e);for(let n=1,s=0,a=0;a<r.length;a++)r[a]=this.get(s,n),++n>=t&&(n=++s+1);return r}static fromCompact(t){const e=t.length,r=(Math.sqrt(8*e+1)+1)/2;if(!Number.isInteger(r))throw new TypeError(`This array is not a compact representation of a DistanceMatrix, ${JSON.stringify(t)}`);const n=new this(r);for(let s=1,a=0,l=0;l<e;l++)n.set(s,a,t[l]),++s>=r&&(s=++a+1);return n}}Vs.prototype.klassSubType="DistanceMatrix";class Vr extends Ot{constructor(t,e,r){super(),this.matrix=t,this.rows=e,this.columns=r}}class k1 extends Vr{constructor(t,e){wr(t,e),super(t,t.rows,1),this.column=e}set(t,e,r){return this.matrix.set(t,this.column,r),this}get(t){return this.matrix.get(t,this.column)}}class U1 extends Vr{constructor(t,e){Ba(t,e),super(t,t.rows,e.length),this.columnIndices=e}set(t,e,r){return this.matrix.set(t,this.columnIndices[e],r),this}get(t,e){return this.matrix.get(t,this.columnIndices[e])}}class W1 extends Vr{constructor(t){super(t,t.rows,t.columns)}set(t,e,r){return this.matrix.set(t,this.columns-e-1,r),this}get(t,e){return this.matrix.get(t,this.columns-e-1)}}class j1 extends Vr{constructor(t){super(t,t.rows,t.columns)}set(t,e,r){return this.matrix.set(this.rows-t-1,e,r),this}get(t,e){return this.matrix.get(this.rows-t-1,e)}}class Y1 extends Vr{constructor(t,e){vr(t,e),super(t,1,t.columns),this.row=e}set(t,e,r){return this.matrix.set(this.row,e,r),this}get(t,e){return this.matrix.get(this.row,e)}}class Z1 extends Vr{constructor(t,e){Sa(t,e),super(t,e.length,t.columns),this.rowIndices=e}set(t,e,r){return this.matrix.set(this.rowIndices[t],e,r),this}get(t,e){return this.matrix.get(this.rowIndices[t],e)}}class Qs extends Vr{constructor(t,e,r){Sa(t,e),Ba(t,r),super(t,e.length,r.length),this.rowIndices=e,this.columnIndices=r}set(t,e,r){return this.matrix.set(this.rowIndices[t],this.columnIndices[e],r),this}get(t,e){return this.matrix.get(this.rowIndices[t],this.columnIndices[e])}}class G1 extends Vr{constructor(t,e,r,n,s){Ta(t,e,r,n,s),super(t,r-e+1,s-n+1),this.startRow=e,this.startColumn=n}set(t,e,r){return this.matrix.set(this.startRow+t,this.startColumn+e,r),this}get(t,e){return this.matrix.get(this.startRow+t,this.startColumn+e)}}class K1 extends Vr{constructor(t){super(t,t.columns,t.rows)}set(t,e,r){return this.matrix.set(e,t,r),this}get(t,e){return this.matrix.get(e,t)}}class Rf extends Ot{constructor(t,e={}){const{rows:r=1}=e;if(t.length%r!==0)throw new Error("the data length is not divisible by the number of rows");super(),this.rows=r,this.columns=t.length/r,this.data=t}set(t,e,r){let n=this._calculateIndex(t,e);return this.data[n]=r,this}get(t,e){let r=this._calculateIndex(t,e);return this.data[r]}_calculateIndex(t,e){return t*this.columns+e}}class sr extends Ot{constructor(t){super(),this.data=t,this.rows=t.length,this.columns=t[0].length}set(t,e,r){return this.data[t][e]=r,this}get(t,e){return this.data[t][e]}}function H1(i,t){if(Xe.isAnyArray(i))return i[0]&&Xe.isAnyArray(i[0])?new sr(i):new Rf(i,t);throw new Error("the argument is not an array")}class to{constructor(t){t=sr.checkMatrix(t);let e=t.clone(),r=e.rows,n=e.columns,s=new Float64Array(r),a=1,l,c,h,p,f,d,g,w,m;for(l=0;l<r;l++)s[l]=l;for(w=new Float64Array(r),c=0;c<n;c++){for(l=0;l<r;l++)w[l]=e.get(l,c);for(l=0;l<r;l++){for(m=Math.min(l,c),f=0,h=0;h<m;h++)f+=e.get(l,h)*w[h];w[l]-=f,e.set(l,c,w[l])}for(p=c,l=c+1;l<r;l++)Math.abs(w[l])>Math.abs(w[p])&&(p=l);if(p!==c){for(h=0;h<n;h++)d=e.get(p,h),e.set(p,h,e.get(c,h)),e.set(c,h,d);g=s[p],s[p]=s[c],s[c]=g,a=-a}if(c<r&&e.get(c,c)!==0)for(l=c+1;l<r;l++)e.set(l,c,e.get(l,c)/e.get(c,c))}this.LU=e,this.pivotVector=s,this.pivotSign=a}isSingular(){let t=this.LU,e=t.columns;for(let r=0;r<e;r++)if(t.get(r,r)===0)return!0;return!1}solve(t){t=pt.checkMatrix(t);let e=this.LU;if(e.rows!==t.rows)throw new Error("Invalid matrix dimensions");if(this.isSingular())throw new Error("LU matrix is singular");let n=t.columns,s=t.subMatrixRow(this.pivotVector,0,n-1),a=e.columns,l,c,h;for(h=0;h<a;h++)for(l=h+1;l<a;l++)for(c=0;c<n;c++)s.set(l,c,s.get(l,c)-s.get(h,c)*e.get(l,h));for(h=a-1;h>=0;h--){for(c=0;c<n;c++)s.set(h,c,s.get(h,c)/e.get(h,h));for(l=0;l<h;l++)for(c=0;c<n;c++)s.set(l,c,s.get(l,c)-s.get(h,c)*e.get(l,h))}return s}get determinant(){let t=this.LU;if(!t.isSquare())throw new Error("Matrix must be square");let e=this.pivotSign,r=t.columns;for(let n=0;n<r;n++)e*=t.get(n,n);return e}get lowerTriangularMatrix(){let t=this.LU,e=t.rows,r=t.columns,n=new pt(e,r);for(let s=0;s<e;s++)for(let a=0;a<r;a++)s>a?n.set(s,a,t.get(s,a)):s===a?n.set(s,a,1):n.set(s,a,0);return n}get upperTriangularMatrix(){let t=this.LU,e=t.rows,r=t.columns,n=new pt(e,r);for(let s=0;s<e;s++)for(let a=0;a<r;a++)s<=a?n.set(s,a,t.get(s,a)):n.set(s,a,0);return n}get pivotPermutationVector(){return Array.from(this.pivotVector)}}function Qr(i,t){let e=0;return Math.abs(i)>Math.abs(t)?(e=t/i,Math.abs(i)*Math.sqrt(1+e*e)):t!==0?(e=i/t,Math.abs(t)*Math.sqrt(1+e*e)):0}class Ia{constructor(t){t=sr.checkMatrix(t);let e=t.clone(),r=t.rows,n=t.columns,s=new Float64Array(n),a,l,c,h;for(c=0;c<n;c++){let p=0;for(a=c;a<r;a++)p=Qr(p,e.get(a,c));if(p!==0){for(e.get(c,c)<0&&(p=-p),a=c;a<r;a++)e.set(a,c,e.get(a,c)/p);for(e.set(c,c,e.get(c,c)+1),l=c+1;l<n;l++){for(h=0,a=c;a<r;a++)h+=e.get(a,c)*e.get(a,l);for(h=-h/e.get(c,c),a=c;a<r;a++)e.set(a,l,e.get(a,l)+h*e.get(a,c))}}s[c]=-p}this.QR=e,this.Rdiag=s}solve(t){t=pt.checkMatrix(t);let e=this.QR,r=e.rows;if(t.rows!==r)throw new Error("Matrix row dimensions must agree");if(!this.isFullRank())throw new Error("Matrix is rank deficient");let n=t.columns,s=t.clone(),a=e.columns,l,c,h,p;for(h=0;h<a;h++)for(c=0;c<n;c++){for(p=0,l=h;l<r;l++)p+=e.get(l,h)*s.get(l,c);for(p=-p/e.get(h,h),l=h;l<r;l++)s.set(l,c,s.get(l,c)+p*e.get(l,h))}for(h=a-1;h>=0;h--){for(c=0;c<n;c++)s.set(h,c,s.get(h,c)/this.Rdiag[h]);for(l=0;l<h;l++)for(c=0;c<n;c++)s.set(l,c,s.get(l,c)-s.get(h,c)*e.get(l,h))}return s.subMatrix(0,a-1,0,n-1)}isFullRank(){let t=this.QR.columns;for(let e=0;e<t;e++)if(this.Rdiag[e]===0)return!1;return!0}get upperTriangularMatrix(){let t=this.QR,e=t.columns,r=new pt(e,e),n,s;for(n=0;n<e;n++)for(s=0;s<e;s++)n<s?r.set(n,s,t.get(n,s)):n===s?r.set(n,s,this.Rdiag[n]):r.set(n,s,0);return r}get orthogonalMatrix(){let t=this.QR,e=t.rows,r=t.columns,n=new pt(e,r),s,a,l,c;for(l=r-1;l>=0;l--){for(s=0;s<e;s++)n.set(s,l,0);for(n.set(l,l,1),a=l;a<r;a++)if(t.get(l,l)!==0){for(c=0,s=l;s<e;s++)c+=t.get(s,l)*n.get(s,a);for(c=-c/t.get(l,l),s=l;s<e;s++)n.set(s,a,n.get(s,a)+c*t.get(s,l))}}return n}}class gi{constructor(t,e={}){if(t=sr.checkMatrix(t),t.isEmpty())throw new Error("Matrix must be non-empty");let r=t.rows,n=t.columns;const{computeLeftSingularVectors:s=!0,computeRightSingularVectors:a=!0,autoTranspose:l=!1}=e;let c=!!s,h=!!a,p=!1,f;if(r<n)if(!l)f=t.clone(),console.warn("Computing SVD on a matrix with more columns than rows. Consider enabling autoTranspose");else{f=t.transpose(),r=f.rows,n=f.columns,p=!0;let C=c;c=h,h=C}else f=t.clone();let d=Math.min(r,n),g=Math.min(r+1,n),w=new Float64Array(g),m=new pt(r,d),D=new pt(n,n),v=new Float64Array(n),E=new Float64Array(r),b=new Float64Array(g);for(let C=0;C<g;C++)b[C]=C;let N=Math.min(r-1,n),x=Math.max(0,Math.min(n-2,r)),F=Math.max(N,x);for(let C=0;C<F;C++){if(C<N){w[C]=0;for(let T=C;T<r;T++)w[C]=Qr(w[C],f.get(T,C));if(w[C]!==0){f.get(C,C)<0&&(w[C]=-w[C]);for(let T=C;T<r;T++)f.set(T,C,f.get(T,C)/w[C]);f.set(C,C,f.get(C,C)+1)}w[C]=-w[C]}for(let T=C+1;T<n;T++){if(C<N&&w[C]!==0){let R=0;for(let U=C;U<r;U++)R+=f.get(U,C)*f.get(U,T);R=-R/f.get(C,C);for(let U=C;U<r;U++)f.set(U,T,f.get(U,T)+R*f.get(U,C))}v[T]=f.get(C,T)}if(c&&C<N)for(let T=C;T<r;T++)m.set(T,C,f.get(T,C));if(C<x){v[C]=0;for(let T=C+1;T<n;T++)v[C]=Qr(v[C],v[T]);if(v[C]!==0){v[C+1]<0&&(v[C]=0-v[C]);for(let T=C+1;T<n;T++)v[T]/=v[C];v[C+1]+=1}if(v[C]=-v[C],C+1<r&&v[C]!==0){for(let T=C+1;T<r;T++)E[T]=0;for(let T=C+1;T<r;T++)for(let R=C+1;R<n;R++)E[T]+=v[R]*f.get(T,R);for(let T=C+1;T<n;T++){let R=-v[T]/v[C+1];for(let U=C+1;U<r;U++)f.set(U,T,f.get(U,T)+R*E[U])}}if(h)for(let T=C+1;T<n;T++)D.set(T,C,v[T])}}let M=Math.min(n,r+1);if(N<n&&(w[N]=f.get(N,N)),r<M&&(w[M-1]=0),x+1<M&&(v[x]=f.get(x,M-1)),v[M-1]=0,c){for(let C=N;C<d;C++){for(let T=0;T<r;T++)m.set(T,C,0);m.set(C,C,1)}for(let C=N-1;C>=0;C--)if(w[C]!==0){for(let T=C+1;T<d;T++){let R=0;for(let U=C;U<r;U++)R+=m.get(U,C)*m.get(U,T);R=-R/m.get(C,C);for(let U=C;U<r;U++)m.set(U,T,m.get(U,T)+R*m.get(U,C))}for(let T=C;T<r;T++)m.set(T,C,-m.get(T,C));m.set(C,C,1+m.get(C,C));for(let T=0;T<C-1;T++)m.set(T,C,0)}else{for(let T=0;T<r;T++)m.set(T,C,0);m.set(C,C,1)}}if(h)for(let C=n-1;C>=0;C--){if(C<x&&v[C]!==0)for(let T=C+1;T<n;T++){let R=0;for(let U=C+1;U<n;U++)R+=D.get(U,C)*D.get(U,T);R=-R/D.get(C+1,C);for(let U=C+1;U<n;U++)D.set(U,T,D.get(U,T)+R*D.get(U,C))}for(let T=0;T<n;T++)D.set(T,C,0);D.set(C,C,1)}let S=M-1,O=Number.EPSILON;for(;M>0;){let C,T;for(C=M-2;C>=-1&&C!==-1;C--){const R=Number.MIN_VALUE+O*Math.abs(w[C]+Math.abs(w[C+1]));if(Math.abs(v[C])<=R||Number.isNaN(v[C])){v[C]=0;break}}if(C===M-2)T=4;else{let R;for(R=M-1;R>=C&&R!==C;R--){let U=(R!==M?Math.abs(v[R]):0)+(R!==C+1?Math.abs(v[R-1]):0);if(Math.abs(w[R])<=O*U){w[R]=0;break}}R===C?T=3:R===M-1?T=1:(T=2,C=R)}switch(C++,T){case 1:{let R=v[M-2];v[M-2]=0;for(let U=M-2;U>=C;U--){let k=Qr(w[U],R),W=w[U]/k,P=R/k;if(w[U]=k,U!==C&&(R=-P*v[U-1],v[U-1]=W*v[U-1]),h)for(let K=0;K<n;K++)k=W*D.get(K,U)+P*D.get(K,M-1),D.set(K,M-1,-P*D.get(K,U)+W*D.get(K,M-1)),D.set(K,U,k)}break}case 2:{let R=v[C-1];v[C-1]=0;for(let U=C;U<M;U++){let k=Qr(w[U],R),W=w[U]/k,P=R/k;if(w[U]=k,R=-P*v[U],v[U]=W*v[U],c)for(let K=0;K<r;K++)k=W*m.get(K,U)+P*m.get(K,C-1),m.set(K,C-1,-P*m.get(K,U)+W*m.get(K,C-1)),m.set(K,U,k)}break}case 3:{const R=Math.max(Math.abs(w[M-1]),Math.abs(w[M-2]),Math.abs(v[M-2]),Math.abs(w[C]),Math.abs(v[C])),U=w[M-1]/R,k=w[M-2]/R,W=v[M-2]/R,P=w[C]/R,K=v[C]/R,G=((k+U)*(k-U)+W*W)/2,V=U*W*(U*W);let tt=0;(G!==0||V!==0)&&(G<0?tt=0-Math.sqrt(G*G+V):tt=Math.sqrt(G*G+V),tt=V/(G+tt));let ct=(P+U)*(P-U)+tt,gt=P*K;for(let lt=C;lt<M-1;lt++){let wt=Qr(ct,gt);wt===0&&(wt=Number.MIN_VALUE);let Dt=ct/wt,St=gt/wt;if(lt!==C&&(v[lt-1]=wt),ct=Dt*w[lt]+St*v[lt],v[lt]=Dt*v[lt]-St*w[lt],gt=St*w[lt+1],w[lt+1]=Dt*w[lt+1],h)for(let bt=0;bt<n;bt++)wt=Dt*D.get(bt,lt)+St*D.get(bt,lt+1),D.set(bt,lt+1,-St*D.get(bt,lt)+Dt*D.get(bt,lt+1)),D.set(bt,lt,wt);if(wt=Qr(ct,gt),wt===0&&(wt=Number.MIN_VALUE),Dt=ct/wt,St=gt/wt,w[lt]=wt,ct=Dt*v[lt]+St*w[lt+1],w[lt+1]=-St*v[lt]+Dt*w[lt+1],gt=St*v[lt+1],v[lt+1]=Dt*v[lt+1],c&<<r-1)for(let bt=0;bt<r;bt++)wt=Dt*m.get(bt,lt)+St*m.get(bt,lt+1),m.set(bt,lt+1,-St*m.get(bt,lt)+Dt*m.get(bt,lt+1)),m.set(bt,lt,wt)}v[M-2]=ct;break}case 4:{if(w[C]<=0&&(w[C]=w[C]<0?-w[C]:0,h))for(let R=0;R<=S;R++)D.set(R,C,-D.get(R,C));for(;C<S&&!(w[C]>=w[C+1]);){let R=w[C];if(w[C]=w[C+1],w[C+1]=R,h&&C<n-1)for(let U=0;U<n;U++)R=D.get(U,C+1),D.set(U,C+1,D.get(U,C)),D.set(U,C,R);if(c&&C<r-1)for(let U=0;U<r;U++)R=m.get(U,C+1),m.set(U,C+1,m.get(U,C)),m.set(U,C,R);C++}M--;break}}}if(p){let C=D;D=m,m=C}this.m=r,this.n=n,this.s=w,this.U=m,this.V=D}solve(t){let e=t,r=this.threshold,n=this.s.length,s=pt.zeros(n,n);for(let d=0;d<n;d++)Math.abs(this.s[d])<=r?s.set(d,d,0):s.set(d,d,1/this.s[d]);let a=this.U,l=this.rightSingularVectors,c=l.mmul(s),h=l.rows,p=a.rows,f=pt.zeros(h,p);for(let d=0;d<h;d++)for(let g=0;g<p;g++){let w=0;for(let m=0;m<n;m++)w+=c.get(d,m)*a.get(g,m);f.set(d,g,w)}return f.mmul(e)}solveForDiagonal(t){return this.solve(pt.diag(t))}inverse(){let t=this.V,e=this.threshold,r=t.rows,n=t.columns,s=new pt(r,this.s.length);for(let p=0;p<r;p++)for(let f=0;f<n;f++)Math.abs(this.s[f])>e&&s.set(p,f,t.get(p,f)/this.s[f]);let a=this.U,l=a.rows,c=a.columns,h=new pt(r,l);for(let p=0;p<r;p++)for(let f=0;f<l;f++){let d=0;for(let g=0;g<c;g++)d+=s.get(p,g)*a.get(f,g);h.set(p,f,d)}return h}get condition(){return this.s[0]/this.s[Math.min(this.m,this.n)-1]}get norm2(){return this.s[0]}get rank(){let t=Math.max(this.m,this.n)*this.s[0]*Number.EPSILON,e=0,r=this.s;for(let n=0,s=r.length;n<s;n++)r[n]>t&&e++;return e}get diagonal(){return Array.from(this.s)}get threshold(){return Number.EPSILON/2*Math.max(this.m,this.n)*this.s[0]}get leftSingularVectors(){return this.U}get rightSingularVectors(){return this.V}get diagonalMatrix(){return pt.diag(this.s)}}function J1(i,t=!1){return i=sr.checkMatrix(i),t?new gi(i).inverse():Lf(i,pt.eye(i.rows))}function Lf(i,t,e=!1){return i=sr.checkMatrix(i),t=sr.checkMatrix(t),e?new gi(i).solve(t):i.isSquare()?new to(i).solve(t):new Ia(i).solve(t)}function eo(i){if(i=pt.checkMatrix(i),i.isSquare()){if(i.columns===0)return 1;let t,e,r,n;if(i.columns===2)return t=i.get(0,0),e=i.get(0,1),r=i.get(1,0),n=i.get(1,1),t*n-e*r;if(i.columns===3){let s,a,l;return s=new Qs(i,[1,2],[1,2]),a=new Qs(i,[1,2],[0,2]),l=new Qs(i,[1,2],[0,1]),t=i.get(0,0),e=i.get(0,1),r=i.get(0,2),t*eo(s)-e*eo(a)+r*eo(l)}else return new to(i).determinant}else throw Error("determinant can only be calculated for a square matrix")}function X1(i,t){let e=[];for(let r=0;r<i;r++)r!==t&&e.push(r);return e}function V1(i,t,e,r=1e-9,n=1e-9){if(i>n)return new Array(t.rows+1).fill(0);{let s=t.addRow(e,[0]);for(let a=0;a<s.rows;a++)Math.abs(s.get(a,0))<r&&s.set(a,0,0);return s.to1DArray()}}function Q1(i,t={}){const{thresholdValue:e=1e-9,thresholdError:r=1e-9}=t;i=pt.checkMatrix(i);let n=i.rows,s=new pt(n,n);for(let a=0;a<n;a++){let l=pt.columnVector(i.getRow(a)),c=i.subMatrixRow(X1(n,a)).transpose(),p=new gi(c).solve(l),f=pt.sub(l,c.mmul(p)).abs().max();s.setRow(a,V1(f,p,a,e,r))}return s}function tw(i,t=Number.EPSILON){if(i=pt.checkMatrix(i),i.isEmpty())return i.transpose();let e=new gi(i,{autoTranspose:!0}),r=e.leftSingularVectors,n=e.rightSingularVectors,s=e.diagonal;for(let a=0;a<s.length;a++)Math.abs(s[a])>t?s[a]=1/s[a]:s[a]=0;return n.mmul(pt.diag(s).mmul(r.transpose()))}function ew(i,t=i,e={}){i=new pt(i);let r=!1;if(typeof t=="object"&&!pt.isMatrix(t)&&!Xe.isAnyArray(t)?(e=t,t=i,r=!0):t=new pt(t),i.rows!==t.rows)throw new TypeError("Both matrices must have the same number of rows");const{center:n=!0}=e;n&&(i=i.center("column"),r||(t=t.center("column")));const s=i.transpose().mmul(t);for(let a=0;a<s.rows;a++)for(let l=0;l<s.columns;l++)s.set(a,l,s.get(a,l)*(1/(i.rows-1)));return s}function rw(i,t=i,e={}){i=new pt(i);let r=!1;if(typeof t=="object"&&!pt.isMatrix(t)&&!Xe.isAnyArray(t)?(e=t,t=i,r=!0):t=new pt(t),i.rows!==t.rows)throw new TypeError("Both matrices must have the same number of rows");const{center:n=!0,scale:s=!0}=e;n&&(i.center("column"),r||t.center("column")),s&&(i.scale("column"),r||t.scale("column"));const a=i.standardDeviation("column",{unbiased:!0}),l=r?a:t.standardDeviation("column",{unbiased:!0}),c=i.transpose().mmul(t);for(let h=0;h<c.rows;h++)for(let p=0;p<c.columns;p++)c.set(h,p,c.get(h,p)*(1/(a[h]*l[p]))*(1/(i.rows-1)));return c}let Pf=class{constructor(t,e={}){const{assumeSymmetric:r=!1}=e;if(t=sr.checkMatrix(t),!t.isSquare())throw new Error("Matrix is not a square matrix");if(t.isEmpty())throw new Error("Matrix must be non-empty");let n=t.columns,s=new pt(n,n),a=new Float64Array(n),l=new Float64Array(n),c=t,h,p,f=!1;if(r?f=!0:f=t.isSymmetric(),f){for(h=0;h<n;h++)for(p=0;p<n;p++)s.set(h,p,c.get(h,p));nw(n,l,a,s),iw(n,l,a,s)}else{let d=new pt(n,n),g=new Float64Array(n);for(p=0;p<n;p++)for(h=0;h<n;h++)d.set(h,p,c.get(h,p));sw(n,d,g,s),ow(n,l,a,s,d)}this.n=n,this.e=l,this.d=a,this.V=s}get realEigenvalues(){return Array.from(this.d)}get imaginaryEigenvalues(){return Array.from(this.e)}get eigenvectorMatrix(){return this.V}get diagonalMatrix(){let t=this.n,e=this.e,r=this.d,n=new pt(t,t),s,a;for(s=0;s<t;s++){for(a=0;a<t;a++)n.set(s,a,0);n.set(s,s,r[s]),e[s]>0?n.set(s,s+1,e[s]):e[s]<0&&n.set(s,s-1,e[s])}return n}};function nw(i,t,e,r){let n,s,a,l,c,h,p,f;for(c=0;c<i;c++)e[c]=r.get(i-1,c);for(l=i-1;l>0;l--){for(f=0,a=0,h=0;h<l;h++)f=f+Math.abs(e[h]);if(f===0)for(t[l]=e[l-1],c=0;c<l;c++)e[c]=r.get(l-1,c),r.set(l,c,0),r.set(c,l,0);else{for(h=0;h<l;h++)e[h]/=f,a+=e[h]*e[h];for(n=e[l-1],s=Math.sqrt(a),n>0&&(s=-s),t[l]=f*s,a=a-n*s,e[l-1]=n-s,c=0;c<l;c++)t[c]=0;for(c=0;c<l;c++){for(n=e[c],r.set(c,l,n),s=t[c]+r.get(c,c)*n,h=c+1;h<=l-1;h++)s+=r.get(h,c)*e[h],t[h]+=r.get(h,c)*n;t[c]=s}for(n=0,c=0;c<l;c++)t[c]/=a,n+=t[c]*e[c];for(p=n/(a+a),c=0;c<l;c++)t[c]-=p*e[c];for(c=0;c<l;c++){for(n=e[c],s=t[c],h=c;h<=l-1;h++)r.set(h,c,r.get(h,c)-(n*t[h]+s*e[h]));e[c]=r.get(l-1,c),r.set(l,c,0)}}e[l]=a}for(l=0;l<i-1;l++){if(r.set(i-1,l,r.get(l,l)),r.set(l,l,1),a=e[l+1],a!==0){for(h=0;h<=l;h++)e[h]=r.get(h,l+1)/a;for(c=0;c<=l;c++){for(s=0,h=0;h<=l;h++)s+=r.get(h,l+1)*r.get(h,c);for(h=0;h<=l;h++)r.set(h,c,r.get(h,c)-s*e[h])}}for(h=0;h<=l;h++)r.set(h,l+1,0)}for(c=0;c<i;c++)e[c]=r.get(i-1,c),r.set(i-1,c,0);r.set(i-1,i-1,1),t[0]=0}function iw(i,t,e,r){let n,s,a,l,c,h,p,f,d,g,w,m,D,v,E,b;for(a=1;a<i;a++)t[a-1]=t[a];t[i-1]=0;let N=0,x=0,F=Number.EPSILON;for(h=0;h<i;h++){for(x=Math.max(x,Math.abs(e[h])+Math.abs(t[h])),p=h;p<i&&!(Math.abs(t[p])<=F*x);)p++;if(p>h)do{for(n=e[h],f=(e[h+1]-n)/(2*t[h]),d=Qr(f,1),f<0&&(d=-d),e[h]=t[h]/(f+d),e[h+1]=t[h]*(f+d),g=e[h+1],s=n-e[h],a=h+2;a<i;a++)e[a]-=s;for(N=N+s,f=e[p],w=1,m=w,D=w,v=t[h+1],E=0,b=0,a=p-1;a>=h;a--)for(D=m,m=w,b=E,n=w*t[a],s=w*f,d=Qr(f,t[a]),t[a+1]=E*d,E=t[a]/d,w=f/d,f=w*e[a]-E*n,e[a+1]=s+E*(w*n+E*e[a]),c=0;c<i;c++)s=r.get(c,a+1),r.set(c,a+1,E*r.get(c,a)+w*s),r.set(c,a,w*r.get(c,a)-E*s);f=-E*b*D*v*t[h]/g,t[h]=E*f,e[h]=w*f}while(Math.abs(t[h])>F*x);e[h]=e[h]+N,t[h]=0}for(a=0;a<i-1;a++){for(c=a,f=e[a],l=a+1;l<i;l++)e[l]<f&&(c=l,f=e[l]);if(c!==a)for(e[c]=e[a],e[a]=f,l=0;l<i;l++)f=r.get(l,a),r.set(l,a,r.get(l,c)),r.set(l,c,f)}}function sw(i,t,e,r){let n=0,s=i-1,a,l,c,h,p,f,d;for(f=n+1;f<=s-1;f++){for(d=0,h=f;h<=s;h++)d=d+Math.abs(t.get(h,f-1));if(d!==0){for(c=0,h=s;h>=f;h--)e[h]=t.get(h,f-1)/d,c+=e[h]*e[h];for(l=Math.sqrt(c),e[f]>0&&(l=-l),c=c-e[f]*l,e[f]=e[f]-l,p=f;p<i;p++){for(a=0,h=s;h>=f;h--)a+=e[h]*t.get(h,p);for(a=a/c,h=f;h<=s;h++)t.set(h,p,t.get(h,p)-a*e[h])}for(h=0;h<=s;h++){for(a=0,p=s;p>=f;p--)a+=e[p]*t.get(h,p);for(a=a/c,p=f;p<=s;p++)t.set(h,p,t.get(h,p)-a*e[p])}e[f]=d*e[f],t.set(f,f-1,d*l)}}for(h=0;h<i;h++)for(p=0;p<i;p++)r.set(h,p,h===p?1:0);for(f=s-1;f>=n+1;f--)if(t.get(f,f-1)!==0){for(h=f+1;h<=s;h++)e[h]=t.get(h,f-1);for(p=f;p<=s;p++){for(l=0,h=f;h<=s;h++)l+=e[h]*r.get(h,p);for(l=l/e[f]/t.get(f,f-1),h=f;h<=s;h++)r.set(h,p,r.get(h,p)+l*e[h])}}}function ow(i,t,e,r,n){let s=i-1,a=0,l=i-1,c=Number.EPSILON,h=0,p=0,f=0,d=0,g=0,w=0,m=0,D=0,v,E,b,N,x,F,M,S,O,C,T,R,U,k,W;for(v=0;v<i;v++)for((v<a||v>l)&&(e[v]=n.get(v,v),t[v]=0),E=Math.max(v-1,0);E<i;E++)p=p+Math.abs(n.get(v,E));for(;s>=a;){for(N=s;N>a&&(w=Math.abs(n.get(N-1,N-1))+Math.abs(n.get(N,N)),w===0&&(w=p),!(Math.abs(n.get(N,N-1))<c*w));)N--;if(N===s)n.set(s,s,n.get(s,s)+h),e[s]=n.get(s,s),t[s]=0,s--,D=0;else if(N===s-1){if(M=n.get(s,s-1)*n.get(s-1,s),f=(n.get(s-1,s-1)-n.get(s,s))/2,d=f*f+M,m=Math.sqrt(Math.abs(d)),n.set(s,s,n.get(s,s)+h),n.set(s-1,s-1,n.get(s-1,s-1)+h),S=n.get(s,s),d>=0){for(m=f>=0?f+m:f-m,e[s-1]=S+m,e[s]=e[s-1],m!==0&&(e[s]=S-M/m),t[s-1]=0,t[s]=0,S=n.get(s,s-1),w=Math.abs(S)+Math.abs(m),f=S/w,d=m/w,g=Math.sqrt(f*f+d*d),f=f/g,d=d/g,E=s-1;E<i;E++)m=n.get(s-1,E),n.set(s-1,E,d*m+f*n.get(s,E)),n.set(s,E,d*n.get(s,E)-f*m);for(v=0;v<=s;v++)m=n.get(v,s-1),n.set(v,s-1,d*m+f*n.get(v,s)),n.set(v,s,d*n.get(v,s)-f*m);for(v=a;v<=l;v++)m=r.get(v,s-1),r.set(v,s-1,d*m+f*r.get(v,s)),r.set(v,s,d*r.get(v,s)-f*m)}else e[s-1]=S+f,e[s]=S+f,t[s-1]=m,t[s]=-m;s=s-2,D=0}else{if(S=n.get(s,s),O=0,M=0,N<s&&(O=n.get(s-1,s-1),M=n.get(s,s-1)*n.get(s-1,s)),D===10){for(h+=S,v=a;v<=s;v++)n.set(v,v,n.get(v,v)-S);w=Math.abs(n.get(s,s-1))+Math.abs(n.get(s-1,s-2)),S=O=.75*w,M=-.4375*w*w}if(D===30&&(w=(O-S)/2,w=w*w+M,w>0)){for(w=Math.sqrt(w),O<S&&(w=-w),w=S-M/((O-S)/2+w),v=a;v<=s;v++)n.set(v,v,n.get(v,v)-w);h+=w,S=O=M=.964}for(D=D+1,x=s-2;x>=N&&(m=n.get(x,x),g=S-m,w=O-m,f=(g*w-M)/n.get(x+1,x)+n.get(x,x+1),d=n.get(x+1,x+1)-m-g-w,g=n.get(x+2,x+1),w=Math.abs(f)+Math.abs(d)+Math.abs(g),f=f/w,d=d/w,g=g/w,!(x===N||Math.abs(n.get(x,x-1))*(Math.abs(d)+Math.abs(g))<c*(Math.abs(f)*(Math.abs(n.get(x-1,x-1))+Math.abs(m)+Math.abs(n.get(x+1,x+1))))));)x--;for(v=x+2;v<=s;v++)n.set(v,v-2,0),v>x+2&&n.set(v,v-3,0);for(b=x;b<=s-1&&(k=b!==s-1,b!==x&&(f=n.get(b,b-1),d=n.get(b+1,b-1),g=k?n.get(b+2,b-1):0,S=Math.abs(f)+Math.abs(d)+Math.abs(g),S!==0&&(f=f/S,d=d/S,g=g/S)),S!==0);b++)if(w=Math.sqrt(f*f+d*d+g*g),f<0&&(w=-w),w!==0){for(b!==x?n.set(b,b-1,-w*S):N!==x&&n.set(b,b-1,-n.get(b,b-1)),f=f+w,S=f/w,O=d/w,m=g/w,d=d/f,g=g/f,E=b;E<i;E++)f=n.get(b,E)+d*n.get(b+1,E),k&&(f=f+g*n.get(b+2,E),n.set(b+2,E,n.get(b+2,E)-f*m)),n.set(b,E,n.get(b,E)-f*S),n.set(b+1,E,n.get(b+1,E)-f*O);for(v=0;v<=Math.min(s,b+3);v++)f=S*n.get(v,b)+O*n.get(v,b+1),k&&(f=f+m*n.get(v,b+2),n.set(v,b+2,n.get(v,b+2)-f*g)),n.set(v,b,n.get(v,b)-f),n.set(v,b+1,n.get(v,b+1)-f*d);for(v=a;v<=l;v++)f=S*r.get(v,b)+O*r.get(v,b+1),k&&(f=f+m*r.get(v,b+2),r.set(v,b+2,r.get(v,b+2)-f*g)),r.set(v,b,r.get(v,b)-f),r.set(v,b+1,r.get(v,b+1)-f*d)}}}if(p!==0){for(s=i-1;s>=0;s--)if(f=e[s],d=t[s],d===0)for(N=s,n.set(s,s,1),v=s-1;v>=0;v--){for(M=n.get(v,v)-f,g=0,E=N;E<=s;E++)g=g+n.get(v,E)*n.get(E,s);if(t[v]<0)m=M,w=g;else if(N=v,t[v]===0?n.set(v,s,M!==0?-g/M:-g/(c*p)):(S=n.get(v,v+1),O=n.get(v+1,v),d=(e[v]-f)*(e[v]-f)+t[v]*t[v],F=(S*w-m*g)/d,n.set(v,s,F),n.set(v+1,s,Math.abs(S)>Math.abs(m)?(-g-M*F)/S:(-w-O*F)/m)),F=Math.abs(n.get(v,s)),c*F*F>1)for(E=v;E<=s;E++)n.set(E,s,n.get(E,s)/F)}else if(d<0)for(N=s-1,Math.abs(n.get(s,s-1))>Math.abs(n.get(s-1,s))?(n.set(s-1,s-1,d/n.get(s,s-1)),n.set(s-1,s,-(n.get(s,s)-f)/n.get(s,s-1))):(W=ro(0,-n.get(s-1,s),n.get(s-1,s-1)-f,d),n.set(s-1,s-1,W[0]),n.set(s-1,s,W[1])),n.set(s,s-1,0),n.set(s,s,1),v=s-2;v>=0;v--){for(C=0,T=0,E=N;E<=s;E++)C=C+n.get(v,E)*n.get(E,s-1),T=T+n.get(v,E)*n.get(E,s);if(M=n.get(v,v)-f,t[v]<0)m=M,g=C,w=T;else if(N=v,t[v]===0?(W=ro(-C,-T,M,d),n.set(v,s-1,W[0]),n.set(v,s,W[1])):(S=n.get(v,v+1),O=n.get(v+1,v),R=(e[v]-f)*(e[v]-f)+t[v]*t[v]-d*d,U=(e[v]-f)*2*d,R===0&&U===0&&(R=c*p*(Math.abs(M)+Math.abs(d)+Math.abs(S)+Math.abs(O)+Math.abs(m))),W=ro(S*g-m*C+d*T,S*w-m*T-d*C,R,U),n.set(v,s-1,W[0]),n.set(v,s,W[1]),Math.abs(S)>Math.abs(m)+Math.abs(d)?(n.set(v+1,s-1,(-C-M*n.get(v,s-1)+d*n.get(v,s))/S),n.set(v+1,s,(-T-M*n.get(v,s)-d*n.get(v,s-1))/S)):(W=ro(-g-O*n.get(v,s-1),-w-O*n.get(v,s),m,d),n.set(v+1,s-1,W[0]),n.set(v+1,s,W[1]))),F=Math.max(Math.abs(n.get(v,s-1)),Math.abs(n.get(v,s))),c*F*F>1)for(E=v;E<=s;E++)n.set(E,s-1,n.get(E,s-1)/F),n.set(E,s,n.get(E,s)/F)}for(v=0;v<i;v++)if(v<a||v>l)for(E=v;E<i;E++)r.set(v,E,n.get(v,E));for(E=i-1;E>=a;E--)for(v=a;v<=l;v++){for(m=0,b=a;b<=Math.min(E,l);b++)m=m+r.get(v,b)*n.get(b,E);r.set(v,E,m)}}}function ro(i,t,e,r){let n,s;return Math.abs(e)>Math.abs(r)?(n=r/e,s=e+n*r,[(i+n*t)/s,(t-n*i)/s]):(n=e/r,s=r+n*e,[(n*i+t)/s,(n*t-i)/s])}class zf{constructor(t){if(t=sr.checkMatrix(t),!t.isSymmetric())throw new Error("Matrix is not symmetric");let e=t,r=e.rows,n=new pt(r,r),s=!0,a,l,c;for(l=0;l<r;l++){let h=0;for(c=0;c<l;c++){let p=0;for(a=0;a<c;a++)p+=n.get(c,a)*n.get(l,a);p=(e.get(l,c)-p)/n.get(c,c),n.set(l,c,p),h=h+p*p}for(h=e.get(l,l)-h,s&=h>0,n.set(l,l,Math.sqrt(Math.max(h,0))),c=l+1;c<r;c++)n.set(l,c,0)}this.L=n,this.positiveDefinite=!!s}isPositiveDefinite(){return this.positiveDefinite}solve(t){t=sr.checkMatrix(t);let e=this.L,r=e.rows;if(t.rows!==r)throw new Error("Matrix dimensions do not match");if(this.isPositiveDefinite()===!1)throw new Error("Matrix is not positive definite");let n=t.columns,s=t.clone(),a,l,c;for(c=0;c<r;c++)for(l=0;l<n;l++){for(a=0;a<c;a++)s.set(c,l,s.get(c,l)-s.get(a,l)*e.get(c,a));s.set(c,l,s.get(c,l)/e.get(c,c))}for(c=r-1;c>=0;c--)for(l=0;l<n;l++){for(a=c+1;a<r;a++)s.set(c,l,s.get(c,l)-s.get(a,l)*e.get(a,c));s.set(c,l,s.get(c,l)/e.get(c,c))}return s}get lowerTriangularMatrix(){return this.L}}class qf{constructor(t,e={}){t=sr.checkMatrix(t);let{Y:r}=e;const{scaleScores:n=!1,maxIterations:s=1e3,terminationCriteria:a=1e-10}=e;let l;if(r){if(Xe.isAnyArray(r)&&typeof r[0]=="number"?r=pt.columnVector(r):r=sr.checkMatrix(r),r.rows!==t.rows)throw new Error("Y should have the same number of rows as X");l=r.getColumnVector(0)}else l=t.getColumnVector(0);let c=1,h,p,f,d;for(let g=0;g<s&&c>a;g++)f=t.transpose().mmul(l).div(l.transpose().mmul(l).get(0,0)),f=f.div(f.norm()),h=t.mmul(f).div(f.transpose().mmul(f).get(0,0)),g>0&&(c=h.clone().sub(d).pow(2).sum()),d=h.clone(),r?(p=r.transpose().mmul(h).div(h.transpose().mmul(h).get(0,0)),p=p.div(p.norm()),l=r.mmul(p).div(p.transpose().mmul(p).get(0,0))):l=h;if(r){let g=t.transpose().mmul(h).div(h.transpose().mmul(h).get(0,0));g=g.div(g.norm());let w=t.clone().sub(h.clone().mmul(g.transpose())),m=l.transpose().mmul(h).div(h.transpose().mmul(h).get(0,0)),D=r.clone().sub(h.clone().mulS(m.get(0,0)).mmul(p.transpose()));this.t=h,this.p=g.transpose(),this.w=f.transpose(),this.q=p,this.u=l,this.s=h.transpose().mmul(h),this.xResidual=w,this.yResidual=D,this.betas=m}else this.w=f.transpose(),this.s=h.transpose().mmul(h).sqrt(),n?this.t=h.clone().div(this.s.get(0,0)):this.t=h,this.xResidual=t.sub(h.mmul(f.transpose()))}}Pt.AbstractMatrix=Ot,Pt.CHO=zf,Pt.CholeskyDecomposition=zf,Pt.DistanceMatrix=Vs,Pt.EVD=Pf;var aw=Pt.EigenvalueDecomposition=Pf;Pt.LU=to,Pt.LuDecomposition=to;var kf=Pt.Matrix=pt;Pt.MatrixColumnSelectionView=U1,Pt.MatrixColumnView=k1,Pt.MatrixFlipColumnView=W1,Pt.MatrixFlipRowView=j1,Pt.MatrixRowSelectionView=Z1,Pt.MatrixRowView=Y1,Pt.MatrixSelectionView=Qs,Pt.MatrixSubView=G1,Pt.MatrixTransposeView=K1,Pt.NIPALS=qf,Pt.Nipals=qf,Pt.QR=Ia,Pt.QrDecomposition=Ia,Pt.SVD=gi,Pt.SingularValueDecomposition=gi,Pt.SymmetricMatrix=jn,Pt.WrapperMatrix1D=Rf,Pt.WrapperMatrix2D=sr,Pt.correlation=rw,Pt.covariance=ew;var Uf=Pt.default=pt;Pt.determinant=eo,Pt.inverse=J1,Pt.linearDependencies=Q1,Pt.pseudoInverse=tw,Pt.solve=Lf,Pt.wrap=H1;const Wf=aw,jf=kf;Uf.Matrix&&Uf.Matrix;class uw{new({rows:t,columns:e,initial_value:r}={}){return new Oa(t,e,r)}avg({id:t}){return t==null?void 0:t.avg()}col({id:t,column:e}){return t==null?void 0:t.col({column:e})}det({id:t}){return t==null?void 0:t.det()}get({id:t,row:e,column:r}){return t==null?void 0:t.get({row:e,column:r})}inv({id:t}){return t==null?void 0:t.inv()}max({id:t}){return t==null?void 0:t.max()}min({id:t}){return t==null?void 0:t.min()}pow({id:t,power:e}){return t==null?void 0:t.pow({power:e})}row({id:t,row:e}){return t==null?void 0:t.row({row:e})}set({id:t,row:e,column:r,value:n}){t==null||t.set({row:e,column:r,value:n})}sum({id1:t,id2:e}){return t==null?void 0:t.sum({id2:e})}copy({id:t}){return t==null?void 0:t.copy()}diff({id1:t,id2:e}){return t==null?void 0:t.diff({id2:e})}rows({id:t}){return t==null?void 0:t.rows()}columns({id:t}){return t==null?void 0:t.columns()}fill({id:t,value:e,from_row:r,to_row:n,from_column:s,to_column:a}){t==null||t.fill({value:e,from_row:r,to_row:n,from_column:s,to_column:a})}kron({id1:t,id2:e}){return t==null?void 0:t.kron({id2:e})}mode({id:t}){return t==null?void 0:t.mode()}mult({id1:t,id2:e}){return t==null?void 0:t.mult({id2:e})}pinv({id:t}){return t==null?void 0:t.pinv()}rank({id:t}){return t==null?void 0:t.rank()}sort({id:t,column:e,order:r}){t==null||t.sort({column:e,order:r})}trace({id:t}){return t==null?void 0:t.trace()}concat({id1:t,id2:e}){return t==null?void 0:t.concat({id2:e})}median({id:t}){return t==null?void 0:t.median()}add_col({id:t,column:e,array_id:r}){t==null||t.add_col({column:e,array_id:r})}add_row({id:t,row:e,array_id:r}){t==null||t.add_row({row:e,array_id:r})}is_zero({id:t}){return t==null?void 0:t.is_zero()}reshape({id:t,rows:e,columns:r}){return t==null?void 0:t.reshape({rows:e,columns:r})}reverse({id:t}){t==null||t.reverse()}is_binary({id:t}){return t==null?void 0:t.is_binary()}is_square({id:t}){return t==null?void 0:t.is_square()}submatrix({id:t,from_row:e,to_row:r,from_column:n,to_column:s}){return t==null?void 0:t.submatrix({from_row:e,to_row:r,from_column:n,to_column:s})}swap_rows({id:t,row1:e,row2:r}){t==null||t.swap_rows({row1:e,row2:r})}transpose({id:t}){return t==null?void 0:t.transpose()}remove_col({id:t,column:e}){return t==null?void 0:t.remove_col({column:e})}remove_row({id:t,row:e}){return t==null?void 0:t.remove_row({row:e})}eigenvalues({id:t}){return t==null?void 0:t.eigenvalues()}is_diagonal({id:t}){return t==null?void 0:t.is_diagonal()}is_identity({id:t}){return t==null?void 0:t.is_identity()}eigenvectors({id:t}){return t==null?void 0:t.eigenvectors()}is_symmetric({id:t}){return t==null?void 0:t.is_symmetric()}swap_columns({id:t,column1:e,column2:r}){t==null||t.swap_columns({column1:e,column2:r})}is_stochastic({id:t}){return t==null?void 0:t.is_stochastic()}is_triangular({id:t}){return t==null?void 0:t.is_triangular()}elements_count({id:t}){return t==null?void 0:t.elements_count()}is_antidiagonal({id:t}){return t==null?void 0:t.is_antidiagonal()}is_antisymmetric({id:t}){return t==null?void 0:t.is_antisymmetric()}}class Oa{constructor(t=0,e=0,r=void 0){q(this,"_matrixInstance");this._matrixInstance=this._createMatrix(t,e,r)}get _matrixArray(){return this._matrixInstance.map(t=>[...t._value])}get _value(){return this._matrixInstance}set _value(t){this._matrixInstance=t}get isMatrix(){return!0}_createMatrix(t,e,r){return Array.from(new Array(t),()=>new Jt(e,r))}avg(){let t=0,e=0;for(const n of this._matrixInstance)for(const s of n._value)t+=s,e+=1;return t/e}col({column:t=0}){const e=[];for(const n of this._matrixInstance)e.push(n._value[t]);const r=new Jt;return r._value=e,r}det(){return Nf(this._matrixArray)}get({row:t=0,column:e=0}){var r,n;return(n=(r=this._matrixInstance[t])==null?void 0:r._value)==null?void 0:n[e]}inv(){const t=Ks(this._matrixArray);return this._newMatrix(t)}max(){return e1(this._matrixArray)}min(){return Na(this._matrixArray)}pow({power:t}){const e=n1(this._matrixArray,t);return this._newMatrix(e)}row({row:t=0}){return this._matrixInstance[t]}set({row:t,column:e,value:r}){this._matrixInstance[t].set({index:e,value:r})}sum({id2:t}){const e=Zi(this._matrixArray,typeof t=="number"?t:t._matrixArray);return this._newMatrix(e)}copy(){return this._newMatrix(this._matrixArray)}diff({id2:t}){const e=Hv(this._matrixArray,typeof t=="number"?t:t._matrixArray);return this._newMatrix(e)}rows(){return this._matrixInstance.length}columns(){return this._matrixArray.length&&this._matrixArray[0].length}fill({value:t,from_row:e=0,to_row:r=this.rows(),from_column:n=0,to_column:s=this.columns()}={}){for(const[a,l]of this._matrixInstance.entries())for(const[c]of l._value.entries())a<r&&a>=e&&c>=n&&c<s&&l.set({index:c,value:t})}kron({id2:t}){const e=Gv(this._matrixArray,t._matrixArray);return this._newMatrix(e)}mode(){return Na(bf(this._matrixArray))}mult({id2:t}){const e=typeof t=="number"?t:t._matrixArray?t._matrixArray:t._value,r=pi(this._matrixArray,e);return this._newMatrix(r)}pinv(){const t=r1(this._matrixArray);return this._newMatrix(t)}rank(){return this._matrixRank(this._matrixArray)}sort({column:t=0,order:e=Pn.ascending}={}){this._matrixInstance.sort((r,n)=>{const s=r._value[t],a=n._value[t];return e!==Pn.descending?s-a:a-s})}trace(){return t1(this._matrixArray)}concat({id2:t}){for(const e of t._value)this._matrixInstance.push(e);return this}median(){return Sf(this._matrixArray)}add_col({column:t=this.columns(),array_id:e}={}){for(const[r,n]of this._matrixInstance.entries())n.insert({index:t,value:e?e._value[r]:void 0})}add_row({row:t,array_id:e}){this._matrixInstance.splice(t||this.rows(),0,e||new Jt(this.columns()))}is_zero(){return this._matrixArray.every(t=>t.every(e=>e===0))}reshape({rows:t,columns:e}){const r=Wv(this._matrixArray,[t,e]);this._matrixInstance=r.map(n=>{const s=new Jt;return s._value=[...n],s})}reverse(){this._matrixInstance.reverse();for(const t of this._matrixInstance)t.reverse()}is_binary(){return this._matrixArray.every(t=>t.every(e=>e===0||e===1))}is_square(){return this.rows()===this.columns()}submatrix({from_row:t=0,to_row:e=this.rows(),from_column:r=0,to_column:n=this.columns()}={}){const s=this._matrixArray.splice(t,e),a=[];for(const l of s)a.push(l.splice(r,n));return this._newMatrix(a)}swap_rows({row1:t,row2:e}){const r=this._matrixInstance[t],n=this._matrixInstance[e];this._matrixInstance[t]=n,this._matrixInstance[e]=r}transpose(){const t=xf(this._matrixArray);return this._newMatrix(t)}remove_col({column:t=this.columns()}={}){const e=[];for(const n of this._matrixInstance){const s=n._value.splice(t,1);e.push(s[0])}const r=new Jt;return r._value=e,r}remove_row({row:t=this.rows()}={}){return this._matrixInstance.splice(t,1)[0]}eigenvalues(){const t=new Wf(new jf(this._matrixArray)),e=new Jt;return e._value=t.realEigenvalues,e}is_diagonal(){const t=this.rows(),e=this.columns();if(t!==e)return!1;const r=this._matrixArray;for(let n=0;n<t;n++)for(let s=0;s<e;s++)if(n!==s&&r[n][s]!==0)return!1;return!0}is_identity(){const t=this.rows(),e=this.columns();if(t!==e)return!1;const r=this._matrixArray;for(let n=0;n<t;n++)for(let s=0;s<e;s++)if(n!==s&&r[n][s]!==0||n===s&&r[n][s]!==1)return!1;return!0}eigenvectors(){const t=new Wf(new jf(this._matrixArray));return this._newMatrix(t.eigenvectorMatrix.to2DArray())}is_symmetric(){const t=this.rows(),e=this.columns();if(t!==e)return!1;const r=this._matrixArray;for(let n=0;n<t;n++)for(let s=n+1;s<e;s++)if(r[n][s]!==r[s][n])return!1;return!0}swap_columns({column1:t,column2:e}){for(const r of this._matrixInstance){const n=r._value[t],s=r._value[e];r.set({index:t,value:s}),r.set({index:e,value:n})}}is_stochastic(){const t=this._matrixArray;for(let e=0;e<t.length;e++){let r=0;for(let n=0;n<t[e].length;n++){if(t[e][n]<0)return!1;r+=t[e][n]}if(Math.abs(r-1)>Number.EPSILON)return!1}return!0}is_triangular(){const t=this.rows(),e=this.columns();return t!==e?!1:this._isUpperTriangular(t)||this._isLowerTriangular(t)}elements_count(){return jv(this._matrixArray)}is_antidiagonal(){const t=this.rows(),e=this.columns();if(t!==e)return!1;const r=this._matrixArray;for(let n=0;n<t;n++)for(let s=0;s<t;s++)if(n+s!==t-1&&r[n][s]!==0)return!1;return!0}is_antisymmetric(){const t=this.rows(),e=this.columns();if(t!==e)return!1;const r=this._matrixArray;for(let n=0;n<t;n++)for(let s=0;s<t;s++)if(n!==s&&r[n][s]!==-r[s][n])return!1;return!0}_isUpperTriangular(t){const e=this._matrixArray;for(let r=1;r<t;r++)for(let n=0;n<r;n++)if(e[r][n]!==0)return!1;return!0}_isLowerTriangular(t){const e=this._matrixArray;for(let r=0;r<t-1;r++)for(let n=r+1;n<t;n++)if(e[r][n]!==0)return!1;return!0}_newMatrix(t){const e=new Oa;return e._value=t.map(r=>{const n=new Jt;return n._value=[...r],n}),e}_matrixRank(t){let e=0;const r=t.length,n=t[0].length,s=[...t].map(a=>[...a]);for(let a=0;a<r&&!(a>=n);a++){let l=a;for(;l<r&&s[l][a]===0;)l++;if(l===r)continue;if(l!==a){const h=s[l];s[l]=s[a],s[a]=h}const c=s[a][a];for(let h=0;h<n;h++)s[a][h]/=c;for(let h=a+1;h<r;h++){const p=s[h][a];s[h]=s[h].map((f,d)=>f-p*s[a][d]),s[h][a]=0}}for(let a=0;a<r;a++)s[a].some(l=>Number(l.toFixed(8))!==0)&&e++;return e}}class lw{constructor(t){q(this,"_variables");q(this,"_cacheData");this._variables=t,this._cacheData={}}change({timeframe:t},e){const r=Hr(t),n=Hr(this._variables.timeframe.period);if(r<n)return!0;const s=`change_${e}`,a=this._cacheData[s],l=this._variables.time;if(a){if(a.offset){if(a.currentTime+a.offset<=l)return this._cacheData[s]={currentTime:l,offset:0},!0}else if(a.currentTime+r*1e3<=l)return this._cacheData[s]={currentTime:l,offset:0},!0}else{const c=this._calcTimeOffset(l,t);return this._cacheData[s]={currentTime:l,offset:c},!1}return!1}in_seconds({timeframe:t}={}){return Hr(t||this._variables.timeframe.period)}from_seconds({seconds:t=0}){const e=t*1e3,r=te.duration(e);if(r.years())return"12M";const s=r.asMonths();if(Zs(s))return`${s}M`;const a=r.asWeeks();if(Zs(a))return`${a}M`;const l=r.asDays();if(l>=1)return`${Math.ceil(l)}D`;const c=r.asMinutes();if(c>=1)return`${Math.ceil(c)}`;const h=r.asSeconds();return h<=1?"1S":h<=5?"5S":h<=10?"10S":h<=15?"15S":h<=30?"30S":"1"}_calcTimeOffset(t,e){let r=0;if(e.includes("W")){const l=te(t).day();e="1D",l!==1&&(r=(8-l)*60*60*24*1e3)}else if(e.includes("M")){const l=te(t).date();e="1D";const c=te(t).daysInMonth();l!==1&&(r=(c-l+1)*60*60*24*1e3)}const n=this._variables.getTimeTradingday(t,e),s=Hr(e)*1e3,a=t-n-Math.floor((t-n)/s)*s;return r?r-a:a}}class cw{pos({source:t,str:e}){return t==null?void 0:t.indexOf(e)}trim({source:t}){return t==null?void 0:t.trim()}lower({source:t}){return t==null?void 0:t.toLocaleLowerCase()}match({source:t,regex:e}){const r=t==null?void 0:t.match(new RegExp(e));return r?r[0]:""}split({string:t,separator:e}){const r=t==null?void 0:t.split(e),n=new Jt;return n._value=r||[],n}upper({source:t}){return t==null?void 0:t.toLocaleUpperCase()}format({formatString:t},e){return this._strFormat(t,e)}length({string:t}){return t==null?void 0:t.length}repeat({source:t,repeat:e=0,separator:r=""}){return Array.from(new Array(e),()=>t).join(r)}replace({source:t,target:e,replacement:r,occurrence:n=0}){let s=-1;for(let a=0;a<n+1&&(s=t.indexOf(e,s+1),s!==-1);a++);return s!==-1?t.substring(0,s)+r+t.substring(s+e.length):t}contains({source:t,str:e}){return t==null?void 0:t.includes(e)}endswith({source:t,str:e}){return t==null?void 0:t.endsWith(e)}tonumber({string:t}){if(/[^\d.]/.test(t))return;const e=parseFloat(t);return isNaN(e)?void 0:e}tostring({value:t,format:e}){if(t===void 0)return"NaN";if(typeof t=="object"){if(t.isArray)return this._arrToStr(t._value,e);if(t.isMatrix){const r=[];for(const n of t._matrixArray)r.push(this._arrToStr(n,e));return r.join(`
|
62
|
-
`)}}if(typeof t=="string")return t;if(typeof t=="boolean")return String(t);if(typeof t=="number")return this._formatNumber(t,e)}_arrToStr(t,e){return`[${t.map(n=>typeof n=="number"?this._formatNumber(n,e):n).toString()}]`}substring({source:t,begin_pos:e=0,end_pos:r}){return t==null?void 0:t.substring(e,r)}startswith({source:t,str:e}){return t==null?void 0:t.startsWith(e)}format_time({time:t,format:e="yyyy-MM-dd'T'HH:mm:ssZ",timezone:r}){return Nr(t,r).format(e)}replace_all({source:t,target:e,replacement:r}){return t==null?void 0:t.replace(new RegExp(e,"g"),r)}_formatNumber(t,e){if(!e)return t;switch(e){case"integer":return String(Math.round(t));case"currency":return`$${t}`;case"percent":return`${t*100}%`;default:const r=e.split(".")[1],n=r?r.length:0;return parseFloat(t.toFixed(n))}}_strFormat(t,e){let r=t;return e.forEach((n,s)=>{if(typeof n=="number"){const a=`\\{\\s*${s}\\s*,\\s*number\\s*,\\s*([^\\}]+)\\s*\\}`,l=t.match(new RegExp(a));if(l){const c=l[1];r=r.replace(new RegExp(a,"g"),String(this._formatNumber(n,c)))}else r=r.replace(new RegExp(`\\{${s}\\}`,"g"),String(n))}else r=r.replace(new RegExp(`\\{${s}\\}`,"g"),n)}),r}}class fw{new(){return new $a}copy({id:t}){return t==null?void 0:t.copy()}get({id:t,key:e}){return t==null?void 0:t.get({key:e})}put({id:t,key:e,value:r}){return t==null?void 0:t.put({key:e,value:r})}keys({id:t}){return t==null?void 0:t.keys()}size({id:t}){return t==null?void 0:t.size()}clear({id:t}){t==null||t.clear()}remove({id:t,key:e}){return t==null?void 0:t.remove({key:e})}values({id:t}){return t==null?void 0:t.values()}put_all({id:t,id2:e}){t==null||t.put_all({id2:e})}contains({id:t,key:e}){return t==null?void 0:t.contains({key:e})}}class $a{constructor(){q(this,"_mapInstance");this._mapInstance=new Map}get isMap(){return!0}_copyMap(t){const e=new $a;return e._mapInstance=new Map(t.entries()),e}copy(){return this._copyMap(this._mapInstance)}get({key:t}){return this._mapInstance.get(t)}put({key:t,value:e}){return this._mapInstance.set(t,e)}keys(){const t=new Jt;return t._value=[...this._mapInstance.keys()],t}size(){return this._mapInstance.size}clear(){this._mapInstance.clear()}remove({key:t}){const e=this._mapInstance.get(t);return this._mapInstance.delete(t),e||void 0}values(){const t=new Jt;return t._value=[...this._mapInstance.values()],t}put_all({id2:t}){this._mapInstance=new Map([...this._mapInstance,...t._mapInstance])}contains({key:t}){return this._mapInstance.has(t)}}class hw{constructor(t){q(this,"_variables");this._variables=t}new({price:t,time:e,index:r}){return new Yn(t,r,e)}now({price:t}){const{time:e,bar_index:r}=this._variables;return new Yn(t,r,e)}copy({id:t}){const{price:e,time:r,index:n}=t||{};return new Yn(e,n,r)}from_index({price:t,index:e}){return new Yn(t,e)}from_time({price:t,time:e}){return new Yn(t,void 0,e)}}class Yn{constructor(t,e,r){q(this,"_index");q(this,"_price");q(this,"_time");this._index=e,this._price=t,this._time=r}get index(){return this._index}get price(){return this._price}get time(){return this._time}copy(){return new Yn(this._price,this._index,this._time)}}class pw{constructor(t){q(this,"_variables");q(this,"_defaultLabel",{text:"",xloc:Ie.bar_index,yloc:zi.price,size:Ur.normal,style:me.styleLabelDown,textalign:He.alignCenter});this._variables=t}new(t,e){const r=`label_${e}`,n={...this._defaultLabel,...t,id:r};t.point&&(n.x=n.xloc===Ie.bar_index?t.point.index:t.point.time,n.y=t.point.price);const s=new Ki(r,this._variables);return this._variables.label.add(r,n,s),s}label(t,e){return t.x?t.x:new Ki(e,this._variables)}copy({id:t},e){return t==null?void 0:t.copy(e)}get_x({id:t},e){return t==null?void 0:t.get_x(e)}get_y({id:t},e){return t==null?void 0:t.get_y(e)}set_x({id:t,...e},r){t==null||t.set_x(e,r)}set_y({id:t,...e},r){t==null||t.set_y(e,r)}delete({id:t}){t==null||t.delete()}get_text({id:t},e){return t==null?void 0:t.get_text(e)}set_xy({id:t,...e},r){t==null||t.set_xy(e,r)}set_size({id:t,...e},r){t==null||t.set_size(e,r)}set_xloc({id:t,...e},r){t==null||t.set_xloc(e,r)}set_yloc({id:t,...e},r){t==null||t.set_yloc(e,r)}set_style({id:t,...e},r){t==null||t.set_style(e,r)}set_color({id:t,...e},r){t==null||t.set_color(e,r)}set_tooltip({id:t,...e},r){t==null||t.set_tooltip(e,r)}set_point({id:t,...e},r){t==null||t.set_point(e,r)}set_text({id:t,...e},r){t==null||t.set_text(e,r)}set_textcolor({id:t,...e},r){t==null||t.set_textcolor(e,r)}set_textalign({id:t,...e},r){t==null||t.set_textalign(e,r)}set_text_font_family({id:t,...e},r){t==null||t.set_text_font_family(e,r)}}class Ki{constructor(t,e){q(this,"_id");q(this,"_variables");this._id=t,this._variables=e}copy(t){const e=`label_${t}`,r=this._getLabel(t),n=new Ki(e,this._variables);return r&&this._variables.label.add(e,{...r,id:e},n),n}get_x(t){var e;return(e=this._getLabel(t))==null?void 0:e.x}get_y(t){var e;return(e=this._getLabel(t))==null?void 0:e.y}set_x({x:t},e){const r=this._getLabel(e);r&&(r.x=t)}set_y({y:t},e){const r=this._getLabel(e);r&&(r.y=t)}delete(){this._variables.label.delete(this._id)}set_xy({x:t,y:e},r){const n=this._getLabel(r);n&&(n.x=t,n.y=e)}get_text(t){var e;return(e=this._getLabel(t))==null?void 0:e.text}set_size({size:t},e){const r=this._getLabel(e);r&&(r.size=t)}set_text({text:t},e){const r=this._getLabel(e);r&&(r.text=t)}set_xloc({x:t,xloc:e},r){const n=this._getLabel(r);n&&(n.x=t,n.xloc=e)}set_yloc({yloc:t},e){const r=this._getLabel(e);r&&(r.yloc=t)}set_color({color:t},e){const r=this._getLabel(e);r&&(r.color=t)}set_point({point:t},e){const r=this._getLabel(e);r&&(r.x=r.xloc===Ie.bar_index?t==null?void 0:t.index:t==null?void 0:t.time,r.y=t==null?void 0:t.price)}set_style({style:t},e){const r=this._getLabel(e);r&&(r.style=t)}set_tooltip({tooltip:t},e){const r=this._getLabel(e);r&&(r.tooltip=t)}set_textalign({textalign:t},e){const r=this._getLabel(e);r&&(r.textalign=t)}set_textcolor({textcolor:t},e){const r=this._getLabel(e);r&&(r.textcolor=t)}set_text_font_family({text_font_family:t},e){const r=this._getLabel(e);r&&(r.text_font_family=t)}_getLabel(t){const e=this._variables.label.get(this._id);return e||console.log(`错误${t}: label 不存在`),e}}const dw={freq_all:hn.freqAll,freq_once_per_bar:hn.freqOncePerBar,freq_once_per_bar_close:hn.freqOncePerBarClose},_w={gaps_off:Pi.gapsOff,gaps_on:Pi.gapsOn,lookahead_off:Pi.lookaheadOff,lookahead_on:Pi.lookaheadOn},vi={aqua:"#00BCD4",black:"#363A45",blue:"#2196F3",fuchsia:"#E040FB",gray:"#787B86",green:"#4CAF50",lime:"#00E676",maroon:"#880E4F",navy:"#311B92",olive:"#808000",orange:"#FF9800",purple:"#9C27B0",red:"#FF5252",silver:"#B2B5BE",teal:"#00897B",white:"#FFFFFF",yellow:"#FFEB3B"},Yf={AUD:"AUD",BTC:"BTC",CAD:"CAD",CHF:"CHF",ETH:"ETH",EUR:"EUR",GBP:"GBP",HKD:"HKD",INR:"INR",JPY:"JPY",KRW:"KRW",MYR:"MYR",NOK:"NOK",NONE:"NONE",NZD:"NZD",RUB:"RUB",SEK:"SEK",SGD:"SGD",TRY:"TRY",USD:"USD",USDT:"USDT",ZAR:"ZAR"},mw={friday:6,monday:2,saturday:7,sunday:1,thursday:5,tuesday:3,wednesday:4},gw={all:[rr.dataWindow,rr.pane,rr.priceScale,rr.statusLine],data_window:[rr.dataWindow],none:[],pane:[rr.pane],price_scale:[rr.priceScale],status_line:[rr.statusLine]},vw={both:Rn.both,left:Rn.left,none:Rn.none,right:Rn.right},ww={inherit:Ln.inherit,mintick:Ln.mintick,percent:Ln.percent,price:Ln.price,volume:Ln.volume},yw={style_solid:gs.styleSolid,style_dashed:gs.styleDashed,style_dotted:gs.styleDotted},Dw={style_arrowdown:me.styleArrowdown,style_arrowup:me.styleArrowup,style_circle:me.styleCircle,style_cross:me.styleCross,style_diamond:me.styleDiamond,style_flag:me.styleFlag,style_label_center:me.styleLabelCenter,style_label_down:me.styleLabelDown,style_label_left:me.styleLabelLeft,style_label_lower_left:me.styleLabelLowerLeft,style_label_lower_right:me.styleLabelLowerRight,style_label_right:me.styleLabelRight,style_label_up:me.styleLabelUp,style_label_upper_left:me.styleLabelUpperLeft,style_label_upper_right:me.styleLabelUpperRight,style_none:me.styleNone,style_square:me.styleSquare,style_text_outline:me.styleTextOutline,style_triangledown:me.styleTriangledown,style_triangleup:me.styleTriangleup,style_xcross:me.styleXcross},bw={style_arrow_both:kr.styleArrowBoth,style_arrow_left:kr.styleArrowLeft,style_arrow_right:kr.styleArrowRight,style_dashed:kr.styleDashed,style_dotted:kr.styleDotted,style_solid:kr.styleSolid},Ew={abovebar:ii.abovebar,absolute:ii.absolute,belowbar:ii.belowbar,bottom:ii.bottom,top:ii.top},xw={e:2.718281828459045,phi:1.618033988749895,pi:3.141592653589793,rphi:.6180339887498948},Aw={style_area:mr.styleArea,style_areabr:mr.styleAreabr,style_circles:mr.styleCircles,style_columns:mr.styleColumns,style_cross:mr.styleCross,style_histogram:mr.styleHistogram,style_line:mr.styleLine,style_linebr:mr.styleLinebr,style_stepline:mr.styleStepline,style_stepline_diamond:mr.styleSteplineDiamond,style_steplinebr:mr.styleSteplinebr},Cw={bottom_center:Sr.bottomCenter,bottom_left:Sr.bottomLeft,bottom_right:Sr.bottomRight,middle_center:Sr.middleCenter,middle_left:Sr.middleLeft,middle_right:Sr.middleRight,top_center:Sr.topCenter,top_left:Sr.topLeft,top_right:Sr.topRight},Fw={left:vs.left,none:vs.none,right:vs.right},Mw={arrowdown:nr.arrowdown,arrowup:nr.arrowup,circle:nr.circle,cross:nr.cross,diamond:nr.diamond,flag:nr.flag,labeldown:nr.labeldown,labelup:nr.labelup,square:nr.square,triangledown:nr.triangledown,triangleup:nr.triangleup,xcross:nr.xcross},Nw={auto:Ur.auto,huge:Ur.huge,large:Ur.large,normal:Ur.normal,small:Ur.small,tiny:Ur.tiny},Sw={cash:Ye.cash,fixed:Ye.fixed,percent_of_equity:Ye.percentOfEquity,commission:{cash_per_contract:Br.cashPerContract,cash_per_order:Br.cashPerOrder,percent:Br.percent},direction:{all:he.all,long:he.long,short:he.short},oca:{cancel:zn.cancel,none:zn.none,reduce:zn.reduce}},Bw={align_bottom:He.alignBottom,align_center:He.alignCenter,align_left:He.alignLeft,align_right:He.alignRight,align_top:He.alignTop,wrap_auto:He.wrapAuto,wrap_none:He.wrapNone},Tw={bar_index:Ie.bar_index,bar_time:Ie.bar_time},Iw={abovebar:zi.abovebar,belowbar:zi.belowbar,price:zi.price},Ow={actual:ws.actual,estimate:ws.estimate,standardized:ws.standardized};class $w{constructor(){q(this,"adjustment",{dividends:ms.dividends,none:ms.none,splits:ms.splits});q(this,"alert",dw);q(this,"barmerge",_w);q(this,"color",vi);q(this,"currency",Yf);q(this,"dayofweek",mw);q(this,"earnings",Ow);q(this,"display",gw);q(this,"extend",vw);q(this,"font",{family_default:"SimSun",family_monospace:"Monospace"});q(this,"format",ww);q(this,"hline",yw);q(this,"label",Dw);q(this,"line",bw);q(this,"location",Ew);q(this,"math",xw);q(this,"order",{ascending:Pn.ascending,descending:Pn.descending});q(this,"plot",Aw);q(this,"position",Cw);q(this,"scale",Fw);q(this,"session",{extended:ra.extended,regular:ra.regular});q(this,"shape",Mw);q(this,"size",Nw);q(this,"splits",{denominator:"denominator",numerator:"numerator"});q(this,"strategy",Sw);q(this,"text",Bw);q(this,"xloc",Tw);q(this,"yloc",Iw)}updateData(){}}class Rw{constructor(t){q(this,"_variables");q(this,"_defaultPolyline",{curved:!1,closed:!1,xloc:Ie.bar_index,line_color:vi.blue,line_style:kr.styleSolid,line_width:1});this._variables=t}new(t,e){const r=`polyline_${e}`,n=Object.assign({},this._defaultPolyline,t,{id:r}),s=new Zf(r,this._variables);return this._variables.polyline.add(r,n,s),s}delete({id:t}){t&&t.delete()}}class Zf{constructor(t,e){q(this,"_id");q(this,"_variables");this._variables=e,this._id=t}delete(){this._variables.polyline.delete(this._id)}}class Lw{constructor(t){q(this,"_variables");q(this,"_defaultLine",{xloc:Ie.bar_index,extend:Rn.none,style:kr.styleSolid});this._variables=t}new({first_point:t,second_point:e,...r},n){const s=`line_${n}`,a={...this._defaultLine,...r,id:s};if(t&&e){const c=a.xloc===Ie.bar_index?t.index:t.time,h=a.xloc===Ie.bar_index?e.index:e.time;Object.assign(a,{x1:c,y1:t.price,x2:h,y2:e.price})}const l=new Hi(s,this._variables);return this._variables.line.add(s,a,l),l}line(t,e){return t.x?t.x:new Hi(e,this._variables)}copy({id:t},e){return t==null?void 0:t.copy(e)}delete({id:t}){t==null||t.delete()}get_x1({id:t},e){return t==null?void 0:t.get_x1(e)}get_x2({id:t},e){return t==null?void 0:t.get_x2(e)}get_y1({id:t},e){return t==null?void 0:t.get_y1(e)}get_y2({id:t},e){return t==null?void 0:t.get_y2(e)}set_x1({id:t,...e},r){t==null||t.set_x1(e,r)}set_x2({id:t,...e},r){t==null||t.set_x2(e,r)}set_y1({id:t,...e},r){t==null||t.set_y1(e,r)}set_y2({id:t,...e},r){t==null||t.set_y2(e,r)}set_xy1({id:t,...e},r){t==null||t.set_xy1(e,r)}set_xy2({id:t,...e},r){t==null||t.set_xy2(e,r)}set_xloc({id:t,...e},r){t==null||t.set_xloc(e,r)}get_price({id:t,...e},r){return t==null?void 0:t.get_price(e,r)}set_color({id:t,...e},r){t==null||t.set_color(e,r)}set_style({id:t,...e},r){t==null||t.set_style(e,r)}set_width({id:t,...e},r){t==null||t.set_width(e,r)}set_extend({id:t,...e},r){t==null||t.set_extend(e,r)}set_first_point({id:t,...e},r){t==null||t.set_first_point(e,r)}set_second_point({id:t,...e},r){t==null||t.set_second_point(e,r)}}class Hi{constructor(t,e){q(this,"_variables");q(this,"_id");this._id=t,this._variables=e}get data(){return this._variables.line.get(this._id)}copy(t){const e=`line_${t}`,r=this._getLine(t),n=new Hi(e,this._variables);return r&&this._variables.line.add(e,{...r,id:e},n),n}delete(){this._variables.line.delete(this._id)}get_price({x:t},e){const r=this._getLine(e);if(t===void 0)return t;if(r&&r.xloc===Ie.bar_index){const{x1:n,y1:s,x2:a,y2:l}=r;return n===void 0||a===void 0||s===void 0||l===void 0?void 0:(l-s)/(a-n)*(t-n)+s}}get_x1(t){var e;return(e=this._getLine(t))==null?void 0:e.x1}get_x2(t){var e;return(e=this._getLine(t))==null?void 0:e.x2}get_y1(t){var e;return(e=this._getLine(t))==null?void 0:e.y1}get_y2(t){var e;return(e=this._getLine(t))==null?void 0:e.y2}set_x1({x:t},e){const r=this._getLine(e);r&&(r.x1=t)}set_x2({x:t},e){const r=this._getLine(e);r&&(r.x2=t)}set_y1({y:t},e){const r=this._getLine(e);r&&(r.y1=t)}set_y2({y:t},e){const r=this._getLine(e);r&&(r.y2=t)}set_xy1({x:t,y:e},r){const n=this._getLine(r);n&&(n.x1=t,n.y1=e)}set_xy2({x:t,y:e},r){const n=this._getLine(r);n&&(n.x2=t,n.y2=e)}set_xloc({xloc:t,x1:e,x2:r},n){const s=this._getLine(n);s&&(s.xloc=t,s.x1=e,s.x2=r)}set_color({color:t},e){const r=this._getLine(e);r&&(r.color=t)}set_style({style:t},e){const r=this._getLine(e);r&&(r.style=t)}set_width({width:t},e){const r=this._getLine(e);r&&(r.width=t)}set_extend({extend:t},e){const r=this._getLine(e);r&&(r.extend=t)}set_first_point({point:t},e){const r=this._getLine(e);if(r){const{index:n,time:s,price:a}=t||{},l=r.xloc===Ie.bar_index?n:s,c=a;l&&(r.x1=l),c&&(r.y1=c)}}set_second_point({point:t},e){const r=this._getLine(e);if(r){const{index:n,time:s,price:a}=t||{},l=r.xloc===Ie.bar_index?n:s,c=a;l&&(r.x2=l),c&&(r.y2=c)}}_getLine(t){const e=this._variables.line.get(this._id);return e||console.log(`${t}: line 不存在`),e}}class Pw{constructor(t){q(this,"_variables");this._variables=t}new({line1:t,line2:e,color:r},n){const s=`linefill_${n}`,a=t==null?void 0:t.data,l=e==null?void 0:e.data;a&&(a.linefills=a.linefills||[],a.linefills.push(s)),l&&(l.linefills=l.linefills||[],l.linefills.push(s));const c=new no(this._variables,s,t,e);return(a||l)&&this._variables.linefill.add(s,{line1:a,line2:l,color:r,id:s},c),c}delete({id:t}){t==null||t.delete()}get_line1({id:t}){return t==null?void 0:t.get_line1()}get_line2({id:t}){return t==null?void 0:t.get_line2()}set_color({id:t,...e}){t==null||t.set_color(e)}}class no{constructor(t,e,r,n){q(this,"_id");q(this,"_line1");q(this,"_line2");q(this,"_variables");this._variables=t,this._id=e,this._line1=r,this._line2=n}linefill(t,e){return t.x?t.x:new no(this._variables,e)}delete(){var e,r;const t=this._variables.linefill.get(this._id);if(t){const{line1:n,line2:s}=t;n&&(n.linefills=(e=n.linefills)==null?void 0:e.filter(a=>a!==this._id)),s&&(s.linefills=(r=s.linefills)==null?void 0:r.filter(a=>a!==this._id))}this._line1=void 0,this._line2=void 0,this._variables.linefill.delete(this._id)}get_line1(){return this._line1}get_line2(){return this._line2}set_color({color:t}){const e=this._variables.linefill.get(this._id);e&&(e.color=t)}}class zw{constructor(t){q(this,"_variables");q(this,"_defaultBox",{border_color:vi.blue,border_width:1,bgcolor:vi.blue,xloc:Ie.bar_index,extend:Rn.none,style:kr.styleSolid,text:"",text_size:Ur.auto,text_color:vi.black,text_halign:He.alignCenter,text_valign:He.alignCenter,text_wrap:He.wrapNone});this._variables=t}box({x:t},e){return t===void 0?new Ji(this._variables,e):t}new({top_left:t,bottom_right:e,...r},n){const s=`box_${n}`,a={...this._defaultBox,...r,id:s};if(t){const{price:c,time:h,index:p}=t;a.top=c,a.left=a.xloc===Ie.bar_index?p:h}if(e){const{price:c,time:h,index:p}=e;a.bottom=c,a.right=a.xloc===Ie.bar_index?p:h}const l=new Ji(this._variables,s);return this._variables.box.add(s,a,l),l}copy({id:t},e){return t==null?void 0:t.copy(e)}delete({id:t}){t==null||t.delete()}get_top({id:t}){return t==null?void 0:t.get_top()}get_bottom({id:t}){return t==null?void 0:t.get_bottom()}get_left({id:t}){return t==null?void 0:t.get_left()}get_right({id:t}){return t==null?void 0:t.get_right()}set_top({id:t,...e}){t==null||t.set_top(e)}set_bottom({id:t,...e}){t==null||t.set_bottom(e)}set_left({id:t,...e}){t==null||t.set_left(e)}set_right({id:t,...e}){t==null||t.set_right(e)}set_extend({id:t,...e}){t==null||t.set_extend(e)}set_bgcolor({id:t,...e}){t==null||t.set_bgcolor(e)}set_border_color({id:t,...e}){t==null||t.set_border_color(e)}set_border_width({id:t,...e}){t==null||t.set_border_width(e)}set_border_style({id:t,...e}){t==null||t.set_border_style(e)}set_lefttop({id:t,...e}){t==null||t.set_lefttop(e)}set_rightbottom({id:t,...e}){t==null||t.set_rightbottom(e)}set_text_size({id:t,...e}){t==null||t.set_text_size(e)}set_text_wrap({id:t,...e}){t==null||t.set_text_wrap(e)}set_text_color({id:t,...e}){t==null||t.set_text_color(e)}set_text_halign({id:t,...e}){t==null||t.set_text_halign(e)}set_text_valign({id:t,...e}){t==null||t.set_text_valign(e)}set_top_left_point({id:t,...e}){t==null||t.set_top_left_point(e)}set_bottom_right_point({id:t,...e}){t==null||t.set_bottom_right_point(e)}set_text_font_family({id:t,...e}){t==null||t.set_text_font_family(e)}}class Ji{constructor(t,e){q(this,"_id");q(this,"_variables");this._variables=t,this._id=e}copy(t){const e=`box_${t}`,r=this._getBox(),n=new Ji(this._variables,e);return r&&this._variables.box.add(e,{...r,id:e},n),n}delete(){this._variables.box.delete(this._id)}get_top(){const t=this._getBox();return t&&t.top}set_top({top:t}){const e=this._getBox();e&&(e.top=t)}get_left(){const t=this._getBox();return t&&t.left}set_left({left:t}){const e=this._getBox();e&&(e.left=t)}set_text({text:t}){const e=this._getBox();e&&(e.text=t)}get_right(){const t=this._getBox();return t&&t.right}set_right({right:t}){const e=this._getBox();e&&(e.right=t)}get_bottom(){const t=this._getBox();return t&&t.bottom}set_bottom({bottom:t}){const e=this._getBox();e&&(e.bottom=t)}set_extend({extend:t}){const e=this._getBox();e&&(e.extend=t)}set_bgcolor({color:t}){const e=this._getBox();e&&(e.bgcolor=t)}set_lefttop({left:t,top:e}){const r=this._getBox();r&&(r.left=t,r.top=e)}set_text_size({text_size:t}){const e=this._getBox();e&&(e.text_size=t)}set_text_wrap({text_wrap:t}){const e=this._getBox();e&&(e.text_wrap=t)}set_text_color({text_color:t}){const e=this._getBox();e&&(e.text_color=t)}set_rightbottom({right:t,bottom:e}){const r=this._getBox();r&&(r.right=t,r.bottom=e)}set_text_halign({text_halign:t}){const e=this._getBox();e&&(e.text_halign=t)}set_text_valign({text_valign:t}){const e=this._getBox();e&&(e.text_valign=t)}set_top_left_point({point:t}){const e=this._getBox();if(e){const{index:r,price:n,time:s}=t||{};e.top=n,e.left=e.xloc===Ie.bar_index?r:s}}set_border_color({color:t}){const e=this._getBox();e&&(e.border_color=t)}set_border_style({style:t}){const e=this._getBox();e&&(e.border_style=t)}set_border_width({width:t}){const e=this._getBox();e&&(e.border_width=t)}set_bottom_right_point({point:t}){const e=this._getBox();if(e){const{index:r,price:n,time:s}=t||{};e.bottom=n,e.right=e.xloc===Ie.bar_index?r:s}}set_text_font_family({text_font_family:t}){const e=this._getBox();e&&(e.text_font_family=t)}_getBox(){return this._variables.box.get(this._id)}}class qw{constructor(t){q(this,"_variables");q(this,"_defaultTable",{position:Sr.topLeft,columns:0,rows:0,frame_width:0,border_width:0});this._variables=t}table({x:t},e){return t||new Ra(this._variables,e)}new(t,e){const r=`table_${e}`,n={...this._defaultTable,...t,cell:[],id:r},s=new Ra(this._variables,r);return this._variables.table.add(r,n,s),s}cell({table_id:t,...e}){t==null||t.cell(e)}cell_set_bgcolor({table_id:t,...e}){t==null||t.cell_set_bgcolor(e)}cell_set_height({table_id:t,...e}){t==null||t.cell_set_height(e)}cell_set_text({table_id:t,...e}){t==null||t.cell_set_text(e)}cell_set_text_color({table_id:t,...e}){t==null||t.cell_set_text_color(e)}cell_set_text_font_family({table_id:t,...e}){t==null||t.cell_set_text_font_family(e)}cell_set_text_halign({table_id:t,...e}){t==null||t.cell_set_text_halign(e)}cell_set_text_valign({table_id:t,...e}){t==null||t.cell_set_text_valign(e)}cell_set_text_size({table_id:t,...e}){t==null||t.cell_set_text_size(e)}cell_set_tooltip({table_id:t,...e}){t==null||t.cell_set_tooltip(e)}cell_set_width({table_id:t,...e}){t==null||t.cell_set_width(e)}clear({table_id:t,...e}){t==null||t.clear(e)}delete({table_id:t}){t==null||t.delete()}merge_cells({table_id:t,...e},r){t==null||t.merge_cells(e,r)}set_bgcolor({table_id:t,...e}){t==null||t.set_bgcolor(e)}set_border_color({table_id:t,...e}){t==null||t.set_border_color(e)}set_border_width({table_id:t,...e}){t==null||t.set_border_width(e)}set_frame_color({table_id:t,...e}){t==null||t.set_frame_color(e)}set_frame_width({table_id:t,...e}){t==null||t.set_frame_width(e)}set_position({table_id:t,...e}){t==null||t.set_position(e)}}class Ra{constructor(t,e){q(this,"_id");q(this,"_variables");q(this,"_defaultCell",{column:0,row:0,text:"",text_color:vi.black,text_halign:He.alignCenter,text_valign:He.alignCenter,text_size:Ur.normal});this._variables=t,this._id=e}cell(t){const e={...this._defaultCell,...t},{column:r=0,row:n=0}=e,s=this._variables.table.get(this._id);if(s){const a=s.cell||[],l=a[n]||[];l[r]=e,a[n]=l,s.cell=a}}cell_set_bgcolor({column:t=0,row:e=0,bgcolor:r}){const n=this._getTableItem(t,e);n&&(n.bgcolor=r)}cell_set_height({column:t=0,row:e=0,height:r}){const n=this._getTableItem(t,e);n&&(n.height=r)}cell_set_text({column:t=0,row:e=0,text:r}){const n=this._getTableItem(t,e);n&&(n.text=r)}cell_set_text_color({column:t=0,row:e=0,text_color:r}){const n=this._getTableItem(t,e);n&&(n.text_color=r)}cell_set_text_font_family({column:t=0,row:e=0,text_font_family:r}){const n=this._getTableItem(t,e);n&&(n.text_font_family=r)}cell_set_text_halign({column:t=0,row:e=0,text_halign:r}){const n=this._getTableItem(t,e);n&&(n.text_halign=r)}cell_set_text_valign({column:t=0,row:e=0,text_valign:r}){const n=this._getTableItem(t,e);n&&(n.text_valign=r)}cell_set_text_size({column:t=0,row:e=0,text_size:r}){const n=this._getTableItem(t,e);n&&(n.text_size=r)}cell_set_tooltip({column:t=0,row:e=0,tooltip:r}){const n=this._getTableItem(t,e);n&&(n.tooltip=r)}cell_set_width({column:t=0,row:e=0,width:r}){const n=this._getTableItem(t,e);n&&(n.width=r)}clear({start_column:t=0,start_row:e=0,end_column:r=0,end_row:n=0}){const s=this._variables.table.get(this._id);if(s){const a=s.cell;if(a)for(let l=e;l<=n;l++)for(let c=t;c<=r;c++){const h=a[l];h&&(h[c]=void 0)}}}delete(){this._variables.table.delete(this._id)}merge_cells({start_column:t=0,start_row:e=0,end_column:r=0,end_row:n=0},s){if(t>r||e>n){console.log(`error ${s}: start_column > end_column or start_row > end_row`);return}const a=this._getTableItem(t,e);if(!a)return;this.clear({start_column:t,start_row:e,end_column:r,end_row:n});const l=this._variables.table.get(this._id);l.cell[e][t]={...a,isMerge:!0,merge_columns:r-t+1,merge_rows:n-e+1}}set_bgcolor({bgcolor:t}){const e=this._variables.table.get(this._id);e&&(e.bgcolor=t)}set_border_color({border_color:t}){const e=this._variables.table.get(this._id);e&&(e.border_color=t)}set_border_width({border_width:t}){const e=this._variables.table.get(this._id);e&&(e.border_width=t)}set_frame_color({frame_color:t}){const e=this._variables.table.get(this._id);e&&(e.frame_color=t)}set_frame_width({frame_width:t}){const e=this._variables.table.get(this._id);e&&(e.frame_width=t)}set_position({position:t}){const e=this._variables.table.get(this._id);e&&(e.position=t)}_getTableItem(t,e){const r=this._variables.table.get(this._id);if(r){const n=r.cell;return n?n[e][t]:void 0}}}class kw{constructor(t){q(this,"_strategy");this._strategy=t}commission({trade_num:t}){return this._verifyTradeNum(t)&&this._strategy.historyOrders[t].commission||0}entry_bar_index({trade_num:t}){if(this._verifyTradeNum(t))return this._strategy.historyOrders[t].in_index}entry_comment({trade_num:t}){if(!this._verifyTradeNum(t))return"";const{comment:e,id:r}=this._strategy.historyOrders[t];return e||r}entry_id({trade_num:t}){return this._verifyTradeNum(t)?this._strategy.historyOrders[t].id:""}entry_price({trade_num:t}){if(this._verifyTradeNum(t))return this._strategy.historyOrders[t].in_price}entry_time({trade_num:t}){if(this._verifyTradeNum(t))return this._strategy.historyOrders[t].in_time}exit_bar_index({trade_num:t}){if(this._verifyTradeNum(t))return this._strategy.historyOrders[t].out_index}exit_comment({trade_num:t}){return this._verifyTradeNum(t)?this._strategy.historyOrders[t].out_comment:""}exit_id({trade_num:t}){return this._verifyTradeNum(t)?this._strategy.historyOrders[t].out_id:""}exit_price({trade_num:t}){if(this._verifyTradeNum(t))return this._strategy.historyOrders[t].out_price}exit_time({trade_num:t}){if(this._verifyTradeNum(t))return this._strategy.historyOrders[t].out_time}max_drawdown({trade_num:t}){return this._verifyTradeNum(t)?this._strategy.historyOrders[t].trading_loss:0}max_drawdown_percent({trade_num:t}){return this._verifyTradeNum(t)?this._strategy.historyOrders[t].trading_loss_percent:0}max_runup({trade_num:t}){return this._verifyTradeNum(t)?this._strategy.historyOrders[t].max_profit:0}max_runup_percent({trade_num:t}){return this._verifyTradeNum(t)?this._strategy.historyOrders[t].max_profit_percent:0}profit({trade_num:t}){return this._verifyTradeNum(t)?this._strategy.historyOrders[t].profit:0}profit_percent({trade_num:t}){return this._verifyTradeNum(t)?this._strategy.historyOrders[t].profit_percent:0}size({trade_num:t}){if(!this._verifyTradeNum(t))return 0;const{out_qty:e=0,direction:r}=this._strategy.historyOrders[t];return r===he.long?e:-e}_verifyTradeNum(t){if(typeof t!="number"||t<0)return!1;const e=this._strategy.historyOrders.length;return!(t>=e)}}class Uw{constructor(t){q(this,"_strategy");this._strategy=t}commission({trade_num:t}){if(!this._verifyTradeNum(t))return 0;const{qty:e=0,original_qty:r=0,commission:n=0}=this._strategy.orders[t];return n*e/r}entry_bar_index({trade_num:t}){if(this._verifyTradeNum(t))return this._strategy.orders[t].in_index}entry_comment({trade_num:t}){if(!this._verifyTradeNum(t))return"";const{comment:e,id:r}=this._strategy.orders[t];return e||r}entry_id({trade_num:t}){return this._verifyTradeNum(t)?this._strategy.orders[t].id:""}entry_price({trade_num:t}){if(this._verifyTradeNum(t))return this._strategy.orders[t].in_price}entry_time({trade_num:t}){if(this._verifyTradeNum(t))return this._strategy.orders[t].in_time}max_drawdown({trade_num:t}){return this._verifyTradeNum(t)?this._strategy.orders[t].trading_loss:0}max_drawdown_percent({trade_num:t}){return this._verifyTradeNum(t)?this._strategy.orders[t].trading_loss_percent:0}max_runup({trade_num:t}){return this._verifyTradeNum(t)?this._strategy.orders[t].max_profit:0}max_runup_percent({trade_num:t}){return this._verifyTradeNum(t)?this._strategy.orders[t].max_profit_percent:0}profit({trade_num:t}){return this._verifyTradeNum(t)?this._strategy.orders[t].profit:0}profit_percent({trade_num:t}){return this._verifyTradeNum(t)?this._strategy.orders[t].profit_percent:0}size({trade_num:t}){if(!this._verifyTradeNum(t))return 0;const{qty:e=0,direction:r}=this._strategy.orders[t];return r===he.long?e:-e}_verifyTradeNum(t){if(typeof t!="number"||t<0)return!1;const e=this._strategy.orders.length;return!(t>=e)}}class Ww{constructor(t){q(this,"_strategy");this._strategy=t}allow_entry_in({value:t}){this._strategy.updateRisk({allow_entry_in:t})}max_cons_loss_days({count:t}){this._strategy.updateRisk({max_cons_loss_days:t})}max_drawdown({value:t,type:e}){e===Ye.percentOfEquity&&(t=t>100?100:t),this._strategy.updateRisk({max_drawdown:t,max_drawdown_type:e})}max_intraday_filled_orders({count:t}){this._strategy.updateRisk({max_intraday_filled_orders:t})}max_intraday_loss({value:t,type:e}){e===Ye.percentOfEquity&&(t=t>100?100:t),this._strategy.updateRisk({max_intraday_loss:t,max_intraday_loss_type:e})}max_position_size({contracts:t}){this._strategy.updateRisk({max_position_size:t})}}let jw=class{constructor(t,e,r,n){q(this,"_variables");q(this,"_options");q(this,"_totalChangeCapital");q(this,"_historyOrder");q(this,"_orders");q(this,"_pendingOrders");q(this,"_mintick");q(this,"_funcOptions");q(this,"_pendingCloseOrders");q(this,"_errorListener");q(this,"_risk");q(this,"_opentrades");q(this,"_closedtrades");q(this,"_riskNamespace");this._variables=t,this._errorListener=n,this._options={overlay:!1,format:Ln.inherit,pyramiding:0,calc_on_order_fills:!1,calc_on_every_tick:!1,max_bars_back:0,backtest_fill_limits_assumption:0,default_qty_type:Ye.fixed,default_qty_value:1,initial_capital:1e6,currency:Yf.NONE,slippage:0,commission_type:Br.percent,commission_value:0,process_orders_on_close:!1,close_entries_rule:"FIFO",margin_long:0,margin_short:0,explicit_plot_zorder:!1,max_lines_count:50,max_labels_count:50,max_boxes_count:50,calc_bars_count:0,risk_free_rate:2,use_bar_magnifier:!1,fill_orders_on_standard_ohlc:!1,max_polylines_count:50},this._funcOptions=e,this._totalChangeCapital=0,this._orders=[],this._pendingOrders=[],this._historyOrder=[],this._pendingCloseOrders=[],this._mintick=r,this._variables.strategy.updateOrders(this._orders),this._variables.strategy.updateHistoryOrders(this._historyOrder),this._variables.strategy.updateStrategyOptions(this._options),this._risk={intradayOrders:0},this._opentrades=new Uw(this),this._closedtrades=new kw(this),this._riskNamespace=new Ww(this)}get orders(){return[...this._orders]}get historyOrders(){return[...this._historyOrder]}get _orderProfit(){return this._orders.reduce((t,e)=>t+(e.profit||0),0)}get _freezeCapital(){const{close:t}=this._variables;return this._orders.reduce((e,r)=>e+t*(r.qty||0),0)}get opentrades(){return this._opentrades}get closedtrades(){return this._closedtrades}get risk(){return this._riskNamespace}updateOptions(t){Object.assign(this._options,t),this._maxConsLossDaysVerify(),this._pendingOrderHandle(),this._maxIntradayFilledOrdersVerify(),this._ordersHandle(),!this._options.process_orders_on_close&&this._calcLiquidate()}updateRisk(t){Object.assign(this._risk,t)}endExecution(){this._calcProfitAndLoss(),this._variables.strategy.update(),this._maxDrawdownVerify(),this._maxIntradayLoss(),this._pendingCloseOrderHandle(),this._options.process_orders_on_close&&this._calcLiquidate()}_maxIntradayLoss(){var g;const{max_intraday_loss:t,max_intraday_loss_type:e,isDisabledOpen:r}=this._risk;if(t===void 0||!e||r)return;const{high:n,low:s,time_tradingday:a,time:l,strategy:{netprofit:c,initial_capital:h}}=this._variables;let{preNetprofit:p=0}=this._risk;l===a&&(p=c,this._risk.preNetprofit=c,this._risk.isTemporaryBan=!1);let f=p-c;f+=this._orders.reduce((w,m)=>{const{in_price:D,direction:v,qty:E=0,commission:b=0,original_qty:N=0}=m,x=v===he.long?1:-1,F=(n-D)*E,M=(s-D)*E,S=x===1?-M:F;return w+S+E/N*b},0);let d=!1;switch(e){case Ye.cash:d=t<f;break;case Ye.percentOfEquity:const w=f/(h+c)*100;d=t<w;break}if(d){this._risk.isTemporaryBan=!0;const w=(g=this._orders[0])==null?void 0:g.direction;this._closeOrders(this._orders,w===he.long?s:n,"Close Position (Max intraday Loss)"),this._pendingOrders=[]}}_maxIntradayFilledOrdersVerify(){const{max_intraday_filled_orders:t,intradayOrders:e=0,isDisabledOpen:r}=this._risk;if(t===void 0||r)return;const{time:n,time_tradingday:s,open:a}=this._variables;n===s&&(this._risk.intradayOrders=0,this._risk.isTemporaryBan=!1),t<=e&&(this._risk.isTemporaryBan=!0,this._closeOrders(this._orders,a,"Close Position (Max number of filled orders in one day)"),this._pendingOrders=[])}_maxConsLossDaysVerify(){const{max_cons_loss_days:t,lossDays:e=0,isDisabledOpen:r,totalProfit:n=0}=this._risk;if(t===void 0||r)return;const{time:s,time_tradingday:a,strategy:l,open:c}=this._variables;let h=e;if(s===a){const p=l.netprofit+l.openprofit;p<n?h=0:h++,Object.assign(this._risk,{lossDays:h,totalProfit:p})}t<=h&&this._riskTouchOff(c,"Close Position (Max consecutive loss days)")}_maxDrawdownVerify(){var n;const{max_drawdown:t,max_drawdown_type:e,isDisabledOpen:r}=this._risk;if(!r&&t!==void 0&&e){const{max_drawdown:s,max_drawdown_percent:a}=this._variables.strategy;let l=!1;switch(e){case Ye.percentOfEquity:l=a<s;break;case Ye.cash:l=t<s;break}if(l){const{high:c,low:h}=this._variables,p=(n=this._orders[0])==null?void 0:n.direction;this._riskTouchOff(p===he.long?c:h,"Close Position (Max Drawdown)")}}}_riskTouchOff(t,e){this._risk.isDisabledOpen=!0,this._closeOrders(this._orders,t,e),this._pendingOrders=[]}strategy(t){this._options={...t},Object.assign(this._funcOptions,{strategy:this._options,scriptType:"strategy"})}order(t){this._risk.isDisabledOpen||this._orderHandle(t)}entry(t){this._risk.isDisabledOpen||this._entryHandle(t)}close(t){if(!this._orders.length)return;const{immediately:e}=t;e||this._options.process_orders_on_close?this._pendingCloseOrders.push({...t,place_order_type:"close"}):this._pendingOrders.push({...t,place_order_type:"close"})}close_all(t){if(typeof t=="string"&&(t={}),!this._orders.length)return;const{immediately:e}=t;e||this._options.process_orders_on_close?this._pendingCloseOrders.push({...t,place_order_type:"close_all"}):this._pendingOrders.push({...t,place_order_type:"close_all"})}cancel({id:t}){this._pendingOrders=this._pendingOrders.filter(e=>!(e.id===t&&e.place_order_type!=="close"))}cancel_all(){this._pendingOrders=this._pendingOrders.filter(t=>t.place_order_type==="close_all")}exit(t,e){this._exit(t,e)}convert_to_account({value:t}){return t}convert_to_symbol({value:t}){return t}default_entry_qty({fill_price:t}){return t?this._calcDefaultQty(t):0}_calcDefaultQty(t){const{default_qty_type:e=Ye.fixed,default_qty_value:r=1,initial_capital:n}=this._options;switch(e){case Ye.fixed:return r;case Ye.cash:return r/t;case Ye.percentOfEquity:return(n+this._orderProfit+this._totalChangeCapital)*r/100/t}}_getCapital(t,e){const{margin_long:r=0,margin_short:n=0}=this._options;return r<100&&r>0&&t===1?e=e*100/r:n<=100&&n>0&&t===-1&&(e=e*100/n),e}_calcProfitAndLoss(){const{high:t,low:e,close:r}=this._variables;for(const n of this._orders){const{in_price:s,qty:a=0,direction:l}=n,c=l===he.long?1:-1,h=(r-s)*c*a,p=(t-s)*a,f=(e-s)*a,d=c===1?p:-f,g=c===1?-f:p;this._calcOrderPercent(n,h,d,g)}}_calcOrderPercent(t,e,r,n){const{commission_value:s}=this._options,{close:a}=this._variables,{original_qty:l=0,qty:c=0,in_price:h,max_profit:p=0,trading_loss:f=0}=t;let{commission:d=0}=t;const g=h*c;if(s){const w=this._getCommission(a,c);e=e-w,d=d*c/l,r-=d,n+=d}r=Math.max(r,p),n=Math.min(n,f),Object.assign(t,{profit:e-d,total_profit:this._totalChangeCapital+e,max_profit:r,trading_loss:n,profit_percent:e/g*100,max_profit_percent:r/g*100,trading_loss_percent:n/g*100})}_calcLiquidate(){if(!this._orders.length)return;const{high:t,low:e}=this._variables,{initial_capital:r,margin_long:n=0,margin_short:s=0,commission_value:a=0}=this._options,l=this._orders[0].direction===he.long?1:-1,c=l===1?e:t,h=(l===1?n:s)/100;if(h<=0)return;const[p,f,d]=this._orders.reduce((v,E)=>{let[b,N,x]=v;const{in_price:F,qty:M=0,original_qty:S=0,commission:O=0}=E,C=F*M,T=c*M;if(b+=C,N+=T,a){const R=this._getCommission(c,M);x+=R+M/S*O}return[b,N,x]},[0,0,0]),g=l*(f-p),m=r+this._totalChangeCapital+g-d-f*h;if(m>=0)return;const D=Math.trunc(m/h/c)*4;this._marginCallOrders(c,D,"Margin Call")}_marginCallOrders(t,e,r){const{close_entries_rule:n="FIFO"}=this._options;if(n==="FIFO"){this._processOrders(this._orders,t,e*this._orders.length,r,r);return}for(const s of this.orders)this._processOrder(s,t,e,r,r);this._orders=this._orders.filter(s=>!s.isDeal),this._variables.strategy.updateOrders(this._orders)}_orderHandle(t){const{process_orders_on_close:e,slippage:r=0}=this._options,{orders:n,isMarketPrice:s,quantities:a,close:l,price:c,activePrice:h}=this._orderArgsParse(t),p=t.direction===he.long?1:-1;if(a<=0)return;let f=a;if(s&&e){if(n.length){const m=this._processOrders(n,l,f,t.id,t.comment);if(m<=0)return;f=m}const g=l+p*r*this._mintick;if(!this._judgeCapitalEnough(f,g,p))return;this._ocaGroupVerify(f,t.oca_name,t.oca_type),this._calcCurrentOrder({...t,in_price:g,in_index:this._variables.bar_index,in_time:this._variables.time,qty:f,place_order_type:"order"});return}this._judgeCapitalEnough(a,c,p)&&this._addPendingOrders(t,c,f,s,h)}_judgeCapitalEnough(t,e,r){if(t<=0)return!1;const{margin_long:n=0,margin_short:s=0}=this._options;if((n===0||n===100)&&r===1||s===0&&r===-1)return!0;const l=this._getCapital(r,this._options.initial_capital+this._orderProfit+this._totalChangeCapital)-this._freezeCapital;return t*e<=l}_ocaGroupVerify(t,e,r){if(!e||!r||r===zn.none)return!1;let n=!1;switch(r){case zn.cancel:this._pendingOrders=this._pendingOrders.filter(s=>{if(s.oca_name===e)s.isCancel=!0,n=!0;else return!0});break;case zn.reduce:this._pendingOrders=this._pendingOrders.filter(s=>{const{qty:a=0,oca_name:l}=s;if(e===l){const c=a-t;return n=!0,c<=0?(s.isCancel=!0,!1):(s.qty=c,!0)}else return!0});break}return n}_processOrders(t,e,r,n,s){let a=r;for(const l of t)if(a=this._processOrder(l,e,a,n,s),a<=0)break;return this._orders=this._orders.filter(l=>!l.isDeal),this._variables.strategy.updateOrders(this._orders),a}_addPendingOrders(t,e,r,n,s){const a=this._pendingOrders.find(l=>l.id===t.id&&!l.isMarketPrice);if(a)Object.assign(a,{...t,in_price:e,isMarketPrice:n,qty:r,active_price:s});else{const l={...t,in_price:e,isMarketPrice:n,qty:r,active_price:s,place_order_type:"order"};this._pendingOrders.push(l)}}_orderArgsParse(t){const{direction:e,qty:r,stop:n}=t;let s=t.limit||0;const{close:a}=this._variables;let l=a,c=!1,h;const p=e===he.long?1:-1,f=n&&(n-a)*p>0,{backtest_fill_limits_assumption:d=0}=this._options;d>0&&s&&(s-=d*this._mintick*p);const g=s&&(s-a)*p<0;f&&g?(h=n,l=s):f?l=n:g?l=s:c=!0;const w=r||this._calcDefaultQty(l)||1;return{orders:this._orders.filter(D=>D.direction!==e),isMarketPrice:c,activePrice:h,quantities:w,close:a,price:l}}_entryHandle(t){const{process_orders_on_close:e}=this._options,{orders:r,isMarketPrice:n,quantities:s,close:a,price:l,activePrice:c}=this._orderArgsParse(t);if(s<=0)return;if(r.length&&n&&e){this._entryOrder(r,a,s,t);return}this._judgeCapitalEnough(s,a,t.direction===he.long?1:-1)&&this._addPendingEntry(t,l,s,n,c)}_entryOrder(t,e,r,n){const{time:s,bar_index:a}=this._variables,{slippage:l=0}=this._options,{oca_name:c,oca_type:h,direction:p,comment:f,isMarketPrice:d,id:g}=n,w=p===he.long?1:-1;if(this._closeOrders(t,e,g,f),r=this._getAvailablePositionSize(r,p),r<=0)return;e=e+l*this._mintick*w;const m={...n,in_price:e,original_qty:r,qty:r,in_index:a,in_time:s,place_order_type:"entry"};if(d){this._calcCurrentOrder(m);return}const{pendingOrders:D,orders:v}=this._getEntryOrders(p),E=D.length+v.length;E&&E>=(this._options.pyramiding||0)||!this._judgeCapitalEnough(r,e,w)||(this._ocaGroupVerify(r,c,h),this._calcCurrentOrder(m))}_getAvailablePositionSize(t,e){const{max_position_size:r,allow_entry_in:n}=this._risk;if(n&&n!==he.all&&n!==e)return 0;if(r===void 0)return t;const s=this._orders.reduce((a,l)=>a+(l.qty||0),0);return s?s+t>r?0:t:t>r?t-r:0}_getEntryOrders(t){const e=this._pendingOrders.filter(n=>["entry","order"].includes(n.place_order_type)&&n.direction===t),r=this._orders.filter(n=>n.direction===t);return{pendingOrders:e,orders:r}}_addPendingEntry(t,e,r,n,s){if(r=this._getAvailablePositionSize(r,t.direction),r<=0)return;const{pendingOrders:a,orders:l}=this._getEntryOrders(t.direction),c=a.length+l.length,h=a.find(p=>p.id===t.id&&p.place_order_type==="entry");if(h)Object.assign(h,{...t,in_price:e,isMarketPrice:n,qty:r,active_price:s});else if(!c||c<(this._options.pyramiding||1)){const p={...t,in_price:e,isMarketPrice:n,qty:r,active_price:s,place_order_type:"entry"};this._pendingOrders.push(p)}}_closeAllOrders(t,e){const{comment:r}=t,{bar_index:n}=this._variables,s=this._orders.filter(a=>a.in_index!==n);s.length&&(this._closeOrders(s,e,"Close position order",r),this._orders=[],this._variables.strategy.updateOrders(this._orders))}_closeOrders(t,e,r,n){for(const s of t)this._closeOrder(s,e,r,n);this._orders=this._orders.filter(s=>!s.isDeal),this._variables.strategy.updateOrders(this._orders)}_closeOrder(t,e,r,n){const{time:s,bar_index:a}=this._variables,{slippage:l=0}=this._options,{in_price:c,qty:h=0,direction:p}=t,f=p===he.long?1:-1;e=e-f*l*this._mintick,t.isDeal=!0;const d=(e-c)*f*h,g={...t,out_price:e,out_id:r,out_index:a,out_time:s,out_comment:n,out_qty:h,profit:d};this._calcPercent(g),this._risk.intradayOrders+=1,this._historyOrder.push(g),this._variables.strategy.updateHistoryOrders(this._historyOrder)}_ordersHandle(){const t=this._orders.filter(a=>a.place_order_type==="exit"&&!a.hasExit);if(!t.length)return;const{open:e,low:r,high:n,close:s}=this._variables;for(const a of t){const{stop:l,limit:c,trail_stop_price:h,isMarketPriceLimit:p,isMarketPriceStop:f,direction:d,id:g,out_comment:w,active_price:m,trail_offset:D=0,out_qty:v,comment_loss:E,comment_profit:b,comment_trailing:N}=a;let x=h;const F=d===he.long?1:-1;let M,S=w;if(p||f?M=e:(c&&r<=c&&n>=c&&(S=b||w,M=c),l&&r<=l&&n>=l&&(M=x?(l-x)*F>0?l:x:l,S=(x===M?N:E)||w)),M)this._processExitOnClose(a,M,{from_entry:g,comment:S,qty:v});else{let O=!1;if(m&&m<=n&&m>=r&&(x=m-D*F*this._mintick,(x-s)*F>=0&&(a.isMarketPriceStop=!0,this._options.process_orders_on_close&&(M=x)),O=!0,a.trail_stop_price=x),x)if((x-e)*F>=0&&!O)M=x;else{const C=(F===1?n:r)-D*F*this._mintick;F===1?x<e&&x>=r&&C>x&&C<s?M=x:C>x?(x=C,C>=s&&(M=C)):x<=n&&r<=x&&(M=x):x>e&&x<=n&&C<x&&C>s?M=x:C<x?(x=C,C<=s&&(M=C)):x<=n&&r<=x&&(M=x),a.trail_stop_price=x}M&&this._processExitOnClose(a,M,{from_entry:g,comment:N||w,qty:v})}}}_pendingOrderHandle(){if(!this._pendingOrders.length)return;const t=[],e=this._pendingOrders.filter(n=>n.place_order_type==="exit"),r=this._pendingOrders.filter(n=>["close","close_all"].includes(n.place_order_type||""));for(const n of r)switch(n.place_order_type){case"close":this._closeOrderHandle(n);break;case"close_all":this._closeAllOrders(n,this._variables.open);break}for(const n of this._pendingOrders){const{isCancel:s,place_order_type:a}=n;if(s)continue;let l;switch(a){case"entry":l=this._entryOrderHandle(n);break;case"order":l=this._orderOrderHandle(n);break}l&&t.push(l)}for(const n of e){const s=this._exitOrderHandle(n);s&&t.push(s)}this._pendingOrders=t}_pendingCloseOrderHandle(){if(!this._pendingCloseOrders.length)return;const t=this._pendingCloseOrders.filter(n=>n.place_order_type==="exit"),e=this._pendingCloseOrders.filter(n=>["close","close_all"].includes(n.place_order_type||"")),{close:r}=this._variables;for(const n of e)switch(n.place_order_type){case"close":this._closeOrderHandle(n,!0);break;case"close_all":this._closeAllOrders(n,r);break}for(const n of t){const{from_entry:s}=n,a=this._orders.filter(l=>!s||l.id===s&&(l.isMarketPriceLimit||l.isMarketPriceStop));for(const l of a)this._processExitOnClose(l,l.limit||l.stop||l.trail_stop_price||r,n)}this._pendingCloseOrders=[]}_entryOrderHandle(t){const{open:e,low:r,high:n}=this._variables,{isMarketPrice:s,qty:a=0,in_price:l,direction:c,active_price:h}=t;if(h&&n>=h&&r<=h)return delete t.active_price,t;let p=l;if(s&&(p=e),p<=n&&p>=r){const f=this._orders.filter(d=>d.direction!==c);this._entryOrder(f,p,a,t)}else return t}_orderOrderHandle(t){const{open:e,low:r,high:n,time:s,bar_index:a}=this._variables,{slippage:l=0}=this._options,{isMarketPrice:c,qty:h=0,in_price:p,direction:f,comment:d,oca_name:g,oca_type:w,active_price:m,id:D}=t;if(m&&n>=m&&r<=m)return delete t.active_price,t;let v=p,E=h;if(c&&(v=e),v<=n&&v>=r){const b=this._orders.filter(x=>x.direction!==f);if(b.length&&(E=this._processOrders(b,v,h,D,d),E<=0))return;const N=f===he.long?1:-1;this._ocaGroupVerify(E,g,w),this._calcCurrentOrder({...t,in_price:v+N*l*this._mintick,in_index:a,in_time:s,qty:E});return}else return t}_closeOrderHandle(t,e){const{id:r,qty:n,qty_percent:s=100,comment:a}=t,{bar_index:l}=this._variables,c=this._orders.filter(g=>g.id===r&&g.in_index!==l&&(!g.close_qty||g.close_qty<(g.qty||0)));if(!c.length)return;let h=0;if(n?h=n:(h=c.reduce((g,w)=>g+(w.qty||0),h),h=s/100*h),h<=0)return;const{open:p,close:f}=this._variables;let d=h;for(const g of c){const{qty:w=0}=g;d<w?g.close_qty=d:(g.close_qty=w,d-=w)}this._processOrders(this._options.close_entries_rule==="ANY"?c:this._orders,e?f:p,h,`Close entry(s) order ${r}`,a)}_exitOrderHandle(t){const{from_entry:e}=t,r=this._orders.filter(n=>(!e||e===n.id)&&!n.hasExit);if(!(r.length&&!this._ordersToExit(r,t)))return t}_exit(t,e){const{profit:r,loss:n,stop:s,limit:a,trail_offset:l,trail_price:c,trail_points:h,from_entry:p="",id:f}=t;if(this._isNaN(r)&&this._isNaN(n)&&this._isNaN(s)&&this._isNaN(a)&&(this._isNaN(l)||this._isNaN(h)&&this._isNaN(c))){this._errorListener.addError("strategy.exit must have at least one of the following parameters: 'profit', 'limit', 'loss', 'stop' or one of the following pairs: 'trail_offset' and 'trail_price' / 'trail_points'. To close the position at market price, use 'strategy.close'",e,Dn.Error);return}const d={...t,place_order_type:"exit"},g=this._orders.filter(D=>(!p||p===D.id)&&!D.hasExit),w=this._pendingOrders.filter(D=>!p||p===D.id);if(g.length){if(!this._ordersToExit(g,d))return}else if(!w.length)return;const m=this._pendingOrders.find(D=>D.id===f);m?Object.assign(m,{...t}):this._pendingOrders.push(d)}_ordersToExit(t,e){const{qty:r,qty_percent:n=100,id:s,comment:a,comment_loss:l,comment_profit:c,comment_trailing:h}=e;let p=r,f=!1;e.comment=a||s;for(const d of t){const{qty:g=0}=d,w=d.direction===he.long?1:-1;p=r?r>=g?g:r:n/100*g,d.out_qty=p,p<g&&(f=!0),Object.assign(d,{out_comment:a||s,comment_loss:l,comment_profit:c,comment_trailing:h}),!(this._stopProfit(d,w,{...e,qty:p})||this._stopLoss(d,w,{...e,qty:p})||this._trailStopLoss(d,w,{...e,qty:p}))&&(d.place_order_type="exit")}return f}_addExitPendingCloseOrders(t){t.place_order_type="exit";const e=this._pendingCloseOrders.find(r=>r.id===t.id);e?Object.assign(e,{...t}):this._pendingCloseOrders.push(t)}_stopProfit(t,e,r){const{limit:n,profit:s,comment_profit:a,comment:l}=r;let c=n;const{close:h}=this._variables,{in_price:p}=t,{process_orders_on_close:f}=this._options;if(!this._isNaN(s)&&this._isNaN(n)&&(c=p+e*s*this._mintick),t.limit=c,c&&(c-h)*e<=0&&(t.isMarketPriceLimit=!0,r.comment=a||l,Object.assign(t,{out_comment:r.comment}),c=h,f))return this._addExitPendingCloseOrders(r),!0}_stopLoss(t,e,r){const{stop:n,loss:s,comment_loss:a,comment:l}=r;let c=n;const{close:h}=this._variables,{in_price:p}=t,{process_orders_on_close:f}=this._options;if(!this._isNaN(s)&&this._isNaN(n)&&(c=p-e*s*this._mintick),t.stop=c,c&&(c-h)*e>=0&&(t.isMarketPriceStop=!0,r.comment=a||l,Object.assign(t,{out_comment:r.comment}),c=h,f))return this._addExitPendingCloseOrders(r),!0}_trailStopLoss(t,e,r){const{trail_offset:n,trail_price:s,trail_points:a,comment_trailing:l,comment:c}=r;if(!this._isNaN(n)){const{close:h}=this._variables,{in_price:p}=t,{process_orders_on_close:f}=this._options;let d;if(this._isNaN(s)?this._isNaN(a)||(d=p+a*e*this._mintick):d=s,t.trail_offset=n,d&&(d-h)*e<=0){const g=h-n*e*this._mintick;if((g-h)*e>=0&&(t.trail_stop_price=h,t.isMarketPriceStop=!0,r.comment=l||c,Object.assign(t,{out_comment:r.comment}),f))return this._addExitPendingCloseOrders(r),!0;t.trail_stop_price=g}t.active_price=d}}_processExitOnClose(t,e,r){const{qty:n=0,comment:s,id:a}=r,{close_entries_rule:l="FIFO"}=this._options;if(l==="FIFO"){const c=this._processExitOrders(this._orders,e,n,a,s);c&&!c.hasExit?(c.hasExit=!0,Object.assign(t,{trail_stop_price:c.trail_stop_price,stop:c.stop,limit:c.limit,trail_offset:c.trail_offset,active_price:c.active_price})):c&&(t.hasExit=!0)}else t.hasExit=!0,this._processOrders([t],e,n,a,s)}_processExitOrders(t,e,r,n,s){let a=r,l;for(const c of t)if(l=c,a=this._processOrder(c,e,a,n,s),a<=0||!c.hasExit)break;return this._orders=this._orders.filter(c=>!c.isDeal),this._variables.strategy.updateOrders(this._orders),l}_processOrder(t,e,r,n,s){const{time:a,bar_index:l}=this._variables,{slippage:c=0}=this._options,{in_price:h,qty:p=0,max_profit:f=0,trading_loss:d=0,direction:g,commission:w=0,original_qty:m=0}=t,D=g===he.long?1:-1;if(e=e-D*c*this._mintick,r<p){const v=p-r,E=(e-h)*D*r,b=f/p*r,N=d/p*r;this._calcPercent({...t,out_price:e,out_id:n,out_index:l,out_time:a,out_comment:s,profit:E,out_qty:r,max_profit:b,trading_loss:N});const x=(e-h)*D*v-w*v/m;Object.assign(t,{qty:v,profit:x,max_profit:f-b,trading_loss:d-N,total_profit:this._totalChangeCapital+x}),r=0}else{t.isDeal=!0;const v=(e-h)*D*p;this._calcPercent({...t,out_price:e,out_id:n,out_index:l,out_time:a,out_comment:s,out_qty:p,profit:v}),r-=p}return r}_calcPercent(t){const{commission_value:e}=this._options,{in_price:r,out_qty:n=0,out_price:s=0,original_qty:a=0}=t;let{profit:l=0,max_profit:c=0,trading_loss:h=0,commission:p=0}=t;c=c<0?0:c;const f=r*n;if(this._totalChangeCapital+=l,e){const d=this._getCommission(s,n);this._totalChangeCapital-=d,p=p*n/a+d,l=l-p,Object.assign(t,{commission:p,profit:l,max_profit:c})}Object.assign(t,{total_profit:this._totalChangeCapital,profit_percent:l/f*100,max_profit_percent:c/f*100,trading_loss_percent:h/f*100}),this._risk.intradayOrders+=1,this._historyOrder.push(t),this._variables.strategy.updateHistoryOrders(this._historyOrder)}_getCommission(t,e){const{commission_value:r=0,commission_type:n}=this._options,s=t*e;let a=0;switch(n){case Br.percent:a=s*r/100;break;case Br.cashPerContract:a=e*r;break;case Br.cashPerOrder:a=r;break}return a}_calcCurrentOrder(t){const{commission_value:e}=this._options,{in_price:r,qty:n=0,max_profit:s=0,trading_loss:a=0}=t;let{profit:l=0}=t;const c=r*n;if(e){const h=this._getCommission(r,n);this._totalChangeCapital-=h,l=l-h,Object.assign(t,{commission:h,profit:l,total_profit:this._totalChangeCapital})}Object.assign(t,{original_qty:n,profit_percent:l/c*100,max_profit_percent:s/c*100,trading_loss_percent:a/c*100}),this._risk.intradayOrders+=1,this._orders.push(t),this._variables.strategy.updateOrders(this._orders)}_isNaN(t){return t===void 0||isNaN(t)}};class Yw{constructor(t){q(this,"_logs");q(this,"_variables");this._variables=t,this._logs=[]}get logs(){return this._logs}clearLogs(){this._logs=[]}info(t,e){this._addLog(t,e,"info")}error(t,e){this._addLog(t,e,"error")}warning(t,e){this._addLog(t,e,"warning")}_addLog(t,e,r){const{message:n,formatString:s}=t,{time:a,bar_index:l,precision:c}=this._variables;let h=n;s&&Array.isArray(e)&&e.length&&(h=s.replace(/{(\d+)}/g,(p,f)=>{let d=e[f];return typeof d=="number"&&(d=parseFloat(d.toFixed(c))),d!==void 0?String(d):p})),h&&this._logs.push({message:`${te(a).format()}: ${h}`,time:a,barIndex:l,type:r})}}class Zw{constructor(t){q(this,"_errorListener");this._errorListener=t}error({message:t},e){this._errorListener.addError(t,e,Dn.Error)}}class Gw{constructor(){q(this,"_errors");this._errors=new Map}clear(){this._errors.clear()}get errors(){return Mr.flatMap([...this._errors.values()])}addError(t,e,r){const[n,s]=e.split("_").slice(-2),a=this._errors.get(e),l={message:t,endLineNumber:Number(n),startColumn:Number(s)+1,endColumn:Number(s)+1,startLineNumber:Number(n),type:r};a?a.push(l):this._errors.set(e,[l])}}class Kw{constructor(){q(this,"_isMarketOpen");q(this,"_currentBarIndex");q(this,"_totalBarIndex");q(this,"_isRealTimeBar");q(this,"_preBarIndex");this._currentBarIndex=0,this._totalBarIndex=0,this._isRealTimeBar=!1,this._preBarIndex=0,this._isMarketOpen=!0}update(t,e,r,n){this._preBarIndex=this._currentBarIndex,this._currentBarIndex=t,this._totalBarIndex=e,this._isRealTimeBar=r,this._isMarketOpen=n}get isnew(){return!this._isRealTimeBar||this._preBarIndex!==this._currentBarIndex}get islast(){return this._currentBarIndex===this._totalBarIndex}get isfirst(){return this._currentBarIndex===0}get ishistory(){return!this._isRealTimeBar}get isrealtime(){return this._isRealTimeBar}get isconfirmed(){return!this._isRealTimeBar}get islastconfirmedhistory(){return this._isMarketOpen?this._currentBarIndex===this._totalBarIndex-1:this._currentBarIndex===this._totalBarIndex}}class Hw{constructor(t){q(this,"_variables");this._variables=t}get isfirstbar(){return this._variables.timeframe.isdwm?!0:this._variables.time===this._variables.time_tradingday}get isfirstbar_regular(){return this._variables.timeframe.isdwm?!0:this._variables.time===this._variables.time_tradingday}get islastbar(){if(this._variables.timeframe.isdwm)return!0;const t=Hr(this._variables.timeframe.period);return this._variables.time+t===this._variables.time_tradingday+24*60*60*1e3}get islastbar_regular(){if(this._variables.timeframe.isdwm)return!0;const t=Hr(this._variables.timeframe.period);return this._variables.time+t===this._variables.time_tradingday+24*60*60*1e3}get ismarket(){return!0}get ispostmarket(){return!1}get ispremarket(){return!1}}class Jw{constructor(t){q(this,"_orders");q(this,"_historyOrders");q(this,"_options");q(this,"_max_contracts_held_all",0);q(this,"_max_contracts_held_long",0);q(this,"_max_contracts_held_short",0);q(this,"_max_drawdown",0);q(this,"_max_runup",0);q(this,"_max_runup_percent",0);q(this,"_max_drawdown_percent",0);q(this,"_variables");q(this,"_netprofit",0);q(this,"_eventrades",0);q(this,"_avg_trade_percent");q(this,"_closedtrades",0);q(this,"_losstrades",0);q(this,"_grossloss",0);q(this,"_grossloss_percent",0);q(this,"_grossprofit",0);q(this,"_grossprofit_percent",0);q(this,"_wintrades",0);q(this,"_opentrades_capital_held",0);q(this,"_position_avg_price",0);q(this,"_position_size",0);this._orders=[],this._historyOrders=[],this._variables=t}update(){this._calcMaxDrawdownAndMaxRunup()}_calcMaxDrawdownAndMaxRunup(){let t=0,e=0;const{high:r,low:n}=this._variables;for(const h of this._orders){const{in_price:p,qty:f=0,commission:d=0,original_qty:g=0,direction:w}=h,m=w===he.long?1:-1,D=(r-p)*f,v=(n-p)*f,E=m===1?D:-v,b=m===1?-v:D;t+=b+d*f/g,e+=E+d*f/g}const[s,a]=this._historyOrders.reduce((h,p)=>{let[f,d]=h;const{profit:g=0,commission:w=0}=p;return f+=g,d+=g-w,[f,d]},[0,0]);t-=s,e+=a;const l=t/(this.initial_capital+this.netprofit)*100;this._max_drawdown<t&&(this._max_drawdown=t),l>this._max_drawdown_percent&&(this._max_drawdown_percent=l);const c=e/(this.initial_capital+this.netprofit)*100;e>this._max_runup&&(this._max_runup=e),c>this._max_runup_percent&&(this._max_runup_percent=c)}updateOrders(t){this._orders=t,this._calcMaxContracts()}_calcMaxContracts(){const t=this._orders.length;if(!t)return;const[e,r,n,s,a,l]=this._orders.reduce(([c,h,p,f,d,g],w)=>{const{direction:m,qty:D=0,in_price:v}=w;return m===he.long?(c+=D,h+=D,g+=D):(c+=D,p+=D,g-=D),f+=D*v,d+=v,[c,h,p,f,d,g]},[0,0,0,0,0,0]);this._position_size=l,this._position_avg_price=a/t,this._opentrades_capital_held=s,this._max_contracts_held_all=Math.max(e,this._max_contracts_held_all),this._max_contracts_held_long=Math.max(r,this._max_contracts_held_long),this._max_contracts_held_short=Math.max(n,this._max_contracts_held_short)}updateHistoryOrders(t){this._historyOrders=t;const e=this._historyOrders.length;this._closedtrades=e;const[r,n,s,a,l,c]=this._historyOrders.reduce((h,p)=>{let[f,d,g,w,m,D]=h;const{profit:v=0,profit_percent:E=0}=p;return f+=v,d+=E,v<0?(g+=v,w+=E):(m+=v,D+=E),[f,d,g,w,m,D]},[0,0,0,0,0,0]);this._avg_trade_percent=e?n/e:void 0,this._netprofit=r,this._grossloss=s,this._grossloss_percent=a,this._grossprofit=l,this._grossprofit_percent=c,this._eventrades=this._historyOrders.filter(h=>h.profit===0).length,this._losstrades=this._historyOrders.filter(h=>(h.profit||0)<0).length,this._wintrades=this._historyOrders.filter(h=>(h.profit||0)>0).length}updateStrategyOptions(t){this._options=t}get long(){return"long"}get short(){return"short"}get account_currency(){return"USD"}get closedtrades(){return this._closedtrades}get opentrades(){return this._orders.length}get opentrades_capital_held(){return this._opentrades_capital_held}get avg_losing_trade(){const t=this.losstrades;return t?Math.abs(this.grossloss/t):void 0}get avg_losing_trade_percent(){const t=this.losstrades;return t?Math.abs(this.grossloss_percent/t):void 0}get avg_trade(){if(this.closedtrades)return Math.abs(this.netprofit/this.closedtrades)}get equity(){return this.initial_capital+this.netprofit+this.openprofit}get netprofit(){return this._netprofit}get eventrades(){return this._eventrades}get openprofit(){return this._orders.reduce((t,e)=>{const{profit:r=0}=e;return t+r},0)}get avg_trade_percent(){return this._avg_trade_percent}get avg_winning_trade(){const t=this.wintrades;return t?Math.abs(this.grossprofit/t):void 0}get avg_winning_trade_percent(){const t=this.wintrades;return t?Math.abs(this.grossprofit_percent/t):void 0}get initial_capital(){var t;return((t=this._options)==null?void 0:t.initial_capital)||0}get losstrades(){return this._losstrades}get grossloss(){return this._grossloss}get grossloss_percent(){return this._grossloss_percent}get grossprofit(){return this._grossprofit}get grossprofit_percent(){return this._grossprofit_percent}get wintrades(){return this._wintrades}get margin_liquidation_price(){if(!this._options)return;const{initial_capital:t,margin_long:e=0,margin_short:r=0,commission_type:n,commission_value:s=0}=this._options,a=this._orders[0].direction===he.long?1:-1,l=(a===1?e:r)/100;if(l<=0)return;const{close:c}=this._variables,[h,p]=this._orders.reduce((f,d)=>{let[g,w]=f;const{in_price:m,qty:D=0,original_qty:v=0}=d,E=m*D;if(g+=E,s){let b=0;switch(n){case Br.percent:b=(E+D*c)*s/100;break;case Br.cashPerContract:b=D*s*2;break;case Br.cashPerOrder:b=D/v*s+s;break}w+=b}return[g,w]},[0,0]);return(h-(t+this.netprofit-p))*a/this.position_size/(1-a*l)}get max_contracts_held_all(){return this._max_contracts_held_all}get max_contracts_held_long(){return this._max_contracts_held_long}get max_contracts_held_short(){return this._max_contracts_held_short}get max_drawdown(){return this._max_drawdown}get max_runup(){return this._max_runup}get max_runup_percent(){return this._max_runup_percent}get max_drawdown_percent(){return this._max_drawdown_percent}get netprofit_percent(){return this.netprofit/this.initial_capital*100}get openprofit_percent(){return this.openprofit/(this.initial_capital+this.netprofit)*100}get position_avg_price(){return this._position_avg_price}get position_entry_name(){if(this._orders.length)return this._orders[0].id}get position_size(){return this._position_size}}class Xw{constructor(){q(this,"_preAccdist");q(this,"_preNvi");q(this,"_prePvi");q(this,"_preObv");q(this,"_prePvt");q(this,"_preWad");q(this,"_preVwap");q(this,"_preValue");q(this,"_currentData");q(this,"_preData");this._preAccdist=0,this._preNvi=0,this._prePvi=0,this._preObv=0,this._prePvt=0,this._preWad=0,this._preVwap={},this._preValue={},this._currentData={},this._preData={}}update(t){this._preValue={},t.barIndex!==this._currentData.barIndex&&(this._preData={...this._currentData}),this._currentData={...t}}get isRealTime(){return this._preData.barIndex===this._currentData.barIndex}get accdist(){if(this._preValue.accdist)return this._preValue.accdist;const{close:t,low:e,high:r,volume:n}=this._currentData;if(r===e)return this._preAccdist;const s=(t-e-(r-t))/(r-e)*n+this._preAccdist;return!this.isRealTime&&(this._preAccdist=s),this._preValue.accdist=s,s}get iii(){if(this._preValue.iii)return this._preValue.iii;const{close:t,low:e,high:r,volume:n}=this._currentData,s=(2*t-r-e)/((r-e)*n);return this._preValue.iii=s,s}get nvi(){return this._preValue.nvi?this._preValue.nvi:this._getNvi()}get wvad(){if(this._preValue.wvad)return this._preValue.wvad;const{close:t,low:e,high:r,volume:n,open:s}=this._currentData,a=(t-s)/(r-e)*n;return this._preValue.wvad=a,a}get obv(){if(this._preValue.obv)return this._preValue.obv;const{close:t,volume:e}=this._currentData,{close:r}=this._preData;if(r===void 0){this._preObv=0;return}const n=Math.sign(t-r)*e+this._preObv;return!this.isRealTime&&(this._preObv=n),this._preValue.obv=n,n}get pvi(){return this._preValue.pvi?this._preValue.pvi:this._getPvi()}get tr(){if(this._preValue.tr)return this._preValue.tr;const{low:t,high:e}=this._currentData,{close:r}=this._preData;if(r===void 0)return;const n=Math.max(e-t,Math.abs(e-r),Math.abs(t-r));return this._preValue.tr=n,n}get pvt(){if(this._preValue.pvt)return this._preValue.pvt;const{close:t,volume:e}=this._currentData,{close:r}=this._preData;if(r===void 0){this._prePvt=0;return}const n=(t-r)/r*e+this._prePvt;return!this.isRealTime&&(this._prePvt=n),this._preValue.pvt=n,n}get wad(){if(this._preValue.wad)return this._preValue.wad;const{close:t,high:e,low:r}=this._currentData,{close:n}=this._preData;if(n===void 0)return this._preWad=0,0;const s=Math.max(e,n),a=Math.min(r,n),l=t-n,h=(l>0?t-a:l<0?t-s:0)+this._preWad;return!this.isRealTime&&(this._preWad=h),this._preValue.wad=h,h}get vwap(){if(this._preValue.vwap)return this._preValue.vwap;const{hlc3:t,volume:e}=this._currentData;let{sum:r=0,sumV:n=0,isReset:s}=this._preVwap;if(self.buildInFunctions.timeframe.change({timeframe:"1D"},"vwap_buildin")&&(s=!0,r=n=0),!s)return;const l=t*e+r,c=e+n;!this.isRealTime&&(this._preVwap={sum:l,sumV:c,isReset:s});const h=l/c;return this._preValue.vwap=h,h}_getNvi(){const t=this._preNvi||1,{close:e=0,volume:r=0}=this._preData,{close:n,volume:s}=this._currentData;let a=1;const l=t||1;return n&&e?a=s<r?l+(n-e)/e*l:l:a=l,!this.isRealTime&&(this._preNvi=a),this._preValue.nvi=a,a}_getPvi(){const t=this._prePvi||1,{close:e=0,volume:r=0}=this._preData,{close:n,volume:s}=this._currentData;let a=1;const l=t||1;return n&&e?a=s>r?l+(n-e)/e*l:l:a=l,!this.isRealTime&&(this._prePvi=a),this._preValue.pvi=a,a}}class Vw{constructor(){q(this,"_period");q(this,"_multiplier");q(this,"_unit");this._period="1",this._multiplier=1,this._unit="m"}update(t){if(!t)return;this._period=t;const[e,r]=_s(t);this._multiplier=e,this._unit=r}get isdaily(){return this._unit==="d"}get isdwm(){return["d","w","M"].includes(this._unit)}get isintraday(){return["s","m","h"].includes(this._unit)}get isminutes(){return this._unit==="m"}get ismonthly(){return this._unit==="M"}get isseconds(){return this._unit==="s"}get isweekly(){return this._unit==="w"}get multiplier(){return this._multiplier}get period(){return this._period}}te.extend(Ip),te.extend(Np),te.extend(Bp);class Qw{constructor(){q(this,"_cacheData");q(this,"_barIndex");q(this,"_isRealTimeBar");q(this,"_barstate");q(this,"_priceVariables");q(this,"_lastBarIndex");q(this,"_currentBarTime");q(this,"_lastBarTime");q(this,"_period");q(this,"_offsetTime");q(this,"_timeframe");q(this,"_ta");q(this,"_polyline");q(this,"_label");q(this,"_line");q(this,"_linefill");q(this,"_box");q(this,"_table");q(this,"_strategy");q(this,"_precision");q(this,"_session");this._cacheData={varData:{},varNewData:{},varipData:{}},this._barIndex=0,this._lastBarIndex=0,this._currentBarTime=0,this._lastBarTime=0,this._offsetTime=0,this._period="",this._isRealTimeBar=!1,this._barstate=new Kw,this._timeframe=new Vw,this._priceVariables={close:0,open:0,low:0,high:0,volume:0},this._ta=new Xw,this._polyline=new wi,this._label=new wi,this._line=new wi,this._linefill=new wi,this._box=new wi,this._table=new wi,this._strategy=new Jw(this),this._precision=4,this._session=new Hw(this)}get table(){return this._table}get box(){return this._box}get linefill(){return this._linefill}get line(){return this._line}get polyline(){return this._polyline}get label(){return this._label}get ta(){return this._ta}get strategy(){return this._strategy}get session(){return this._session}get na(){}get last_bar_index(){return this._lastBarIndex}get bar_index(){return this._barIndex}get barstate(){return this._barstate}get close(){return this._priceVariables.close}get low(){return this._priceVariables.low}get open(){return this._priceVariables.open}get high(){return this._priceVariables.high}get volume(){return this._priceVariables.volume}get ohlc4(){const{close:t,open:e,high:r,low:n}=this._priceVariables;return(t+e+r+n)/4}get hl2(){const{high:t,low:e}=this._priceVariables;return(t+e)/2}get hlc3(){const{close:t,high:e,low:r}=this._priceVariables;return(t+e+r)/3}get hlcc4(){const{close:t,high:e,low:r}=this._priceVariables;return(t*2+e+r)/4}get hour(){return te(this._currentBarTime).subtract(this._offsetTime,"hour").hour()}get minute(){return te(this._currentBarTime).minute()}get second(){return te(this._currentBarTime).second()}get month(){return te(this._currentBarTime).month()+1}get year(){return te(this._currentBarTime).year()}get dayofweek(){return te(this._currentBarTime).day()+1}get dayofmonth(){return te(this._currentBarTime).date()}get weekofyear(){return te(this._currentBarTime).week()}get last_bar_time(){return this._lastBarTime}get time(){return this._currentBarTime}get time_close(){const[t,e]=_s(this._period);return this._isRealTimeBar?void 0:te(this._currentBarTime).add(t,e).valueOf()}get timenow(){return Date.now()}get time_tradingday(){return this.getTimeTradingday(this._currentBarTime,this._period)}get timeframe(){return this._timeframe}get precision(){return this._precision}getTimeTradingday(t,e){const[r,n]=_s(e),s=te(t);return["M","w","y","d"].includes(n)?s.valueOf():(s.subtract(this._offsetTime,"h"),s.startOf("d").add(this._offsetTime,"h").valueOf())}updateData(t){const{barIndex:e,c:r,o:n,h:s,l:a,volume:l,lastBarIndex:c,time:h,lastBarTime:p,period:f="1D",offsetTime:d=5,precision:g=4}=t;this._priceVariables={close:Number(r),open:Number(n),high:Number(s),low:Number(a),volume:Number(l)},e>this._barIndex&&this._isRealTimeBar&&(this._cacheData.varData=this._cacheData.varNewData,this._cacheData.varNewData={}),this._precision=g,this._currentBarTime=h*1e3,this._lastBarIndex=c,this._barIndex=e,this._lastBarTime=p*1e3,this._period=f,this._offsetTime=d,this._timeframe.update(f),this._barstate.update(e,c,!1,!1),this.ta.update({...this._priceVariables,hlc3:this.hlc3,barIndex:e})}getCacheData(t,e,r){let n=this._cacheData[t]||[];n[this._barIndex]=r,n=n.filter(()=>!0);const s=n[n.length-1-e];return this._cacheData[t]=n,s}setCacheData(t,e){const r=this._cacheData[t]||[];r[this._barIndex]=e,this._cacheData[t]=r}getTypeInstance(t,e){return new Cp(t,e)}getVarValue(t,e,r){const n=`${t}_${e}`,s=r==="var"?this._cacheData.varData[n]:this._cacheData.varipData[n];if(s)return s}setVarValue(t,e,r,n){const s=`${t}_${e}`;let a;switch(typeof r=="object"&&r&&(n="var",a=r.varipKeys),n){case"var":if(this._isRealTimeBar){const l=Mr.cloneDeep(r);if(this._cacheData.varNewData[s]=l,a&&a.length)for(const c of a)this._cacheData.varData[s][c]=l[c]}else this._cacheData.varData[s]=r;break;case"varip":this._cacheData.varipData[s]=r;break}return r}add(t,e){return Array.isArray(t)&&Array.isArray(e)?Mr.uniq([...t,...e]):Number(t)+Number(e)}sub(t,e){return Array.isArray(t)&&Array.isArray(e)?t.filter(r=>!e.includes(r)):Number(t)-Number(e)}againAssignParse(t,e){var n;if(e)return;const r=(n=t==null?void 0:t.constructor)==null?void 0:n.name;if(r)switch(r){case Ki.name:case Zf.name:case Ji.name:case Ra.name:case Hi.name:case no.name:t==null||t.delete();break}}}class wi{constructor(t=50){q(this,"_all");q(this,"_allInstance");q(this,"_pseudoArrayAll");q(this,"_maxLength");this._all=new Map,this._allInstance=new Map,this._pseudoArrayAll=new Jt,this._maxLength=t}setMaxLen(t){this._maxLength=t}get data(){return[...this._all.values()]}get all(){return this._pseudoArrayAll._value=[...this._allInstance.values()],this._pseudoArrayAll}add(t,e,r){this._all.set(t,e),this._allInstance.set(t,r);const n=[...this._all.keys()];if(n.length>this._maxLength){const s=n.shift();s&&this.delete(s)}}get(t){return this._all.get(t)}getInstance(t){return this._allInstance.get(t)}delete(t){this._all.delete(t),this._allInstance.delete(t)}}var Gf={exports:{}};(function(i,t){(function(e,r){i.exports=r()})(Wt,function(){return function(e,r,n){r.prototype.isBetween=function(s,a,l,c){var h=n(s),p=n(a),f=(c=c||"()")[0]==="(",d=c[1]===")";return(f?this.isAfter(h,l):!this.isBefore(h,l))&&(d?this.isBefore(p,l):!this.isAfter(p,l))||(f?this.isBefore(h,l):!this.isAfter(h,l))&&(d?this.isAfter(p,l):!this.isBefore(p,l))}}})})(Gf);var ty=Gf.exports,ey=Yt(ty),Kf={exports:{}};(function(i,t){(function(e,r){i.exports=r()})(Wt,function(){return function(e,r,n){var s=r.prototype,a=function(d){var g,w=d.date,m=d.utc,D={};if(!((g=w)===null||g instanceof Date||g instanceof Array||s.$utils().u(g)||g.constructor.name!=="Object")){if(!Object.keys(w).length)return new Date;var v=m?n.utc():n();Object.keys(w).forEach(function(O){var C,T;D[C=O,T=s.$utils().p(C),T==="date"?"day":T]=w[O]});var E=D.day||(D.year||D.month>=0?1:v.date()),b=D.year||v.year(),N=D.month>=0?D.month:D.year||D.day?0:v.month(),x=D.hour||0,F=D.minute||0,M=D.second||0,S=D.millisecond||0;return m?new Date(Date.UTC(b,N,E,x,F,M,S)):new Date(b,N,E,x,F,M,S)}return w},l=s.parse;s.parse=function(d){d.date=a.bind(this)(d),l.bind(this)(d)};var c=s.set,h=s.add,p=s.subtract,f=function(d,g,w,m){m===void 0&&(m=1);var D=Object.keys(g),v=this;return D.forEach(function(E){v=d.bind(v)(g[E]*m,E)}),v};s.set=function(d,g){return g=g===void 0?d:g,d.constructor.name==="Object"?f.bind(this)(function(w,m){return c.bind(this)(m,w)},g,d):c.bind(this)(d,g)},s.add=function(d,g){return d.constructor.name==="Object"?f.bind(this)(h,d,g):h.bind(this)(d,g)},s.subtract=function(d,g){return d.constructor.name==="Object"?f.bind(this)(h,d,g,-1):p.bind(this)(d,g)}}})})(Kf);var ry=Kf.exports,ny=Yt(ry),Hf={exports:{}};(function(i,t){(function(e,r){i.exports=r()})(Wt,function(){var e,r,n=1e3,s=6e4,a=36e5,l=864e5,c=/\[([^\]]+)]|Y{1,4}|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,h=31536e6,p=2628e6,f=/^(-|\+)?P(?:([-+]?[0-9,.]*)Y)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)W)?(?:([-+]?[0-9,.]*)D)?(?:T(?:([-+]?[0-9,.]*)H)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)S)?)?$/,d={years:h,months:p,days:l,hours:a,minutes:s,seconds:n,milliseconds:1,weeks:6048e5},g=function(F){return F instanceof N},w=function(F,M,S){return new N(F,S,M.$l)},m=function(F){return r.p(F)+"s"},D=function(F){return F<0},v=function(F){return D(F)?Math.ceil(F):Math.floor(F)},E=function(F){return Math.abs(F)},b=function(F,M){return F?D(F)?{negative:!0,format:""+E(F)+M}:{negative:!1,format:""+F+M}:{negative:!1,format:""}},N=function(){function F(S,O,C){var T=this;if(this.$d={},this.$l=C,S===void 0&&(this.$ms=0,this.parseFromMilliseconds()),O)return w(S*d[m(O)],this);if(typeof S=="number")return this.$ms=S,this.parseFromMilliseconds(),this;if(typeof S=="object")return Object.keys(S).forEach(function(k){T.$d[m(k)]=S[k]}),this.calMilliseconds(),this;if(typeof S=="string"){var R=S.match(f);if(R){var U=R.slice(2).map(function(k){return k!=null?Number(k):0});return this.$d.years=U[0],this.$d.months=U[1],this.$d.weeks=U[2],this.$d.days=U[3],this.$d.hours=U[4],this.$d.minutes=U[5],this.$d.seconds=U[6],this.calMilliseconds(),this}}return this}var M=F.prototype;return M.calMilliseconds=function(){var S=this;this.$ms=Object.keys(this.$d).reduce(function(O,C){return O+(S.$d[C]||0)*d[C]},0)},M.parseFromMilliseconds=function(){var S=this.$ms;this.$d.years=v(S/h),S%=h,this.$d.months=v(S/p),S%=p,this.$d.days=v(S/l),S%=l,this.$d.hours=v(S/a),S%=a,this.$d.minutes=v(S/s),S%=s,this.$d.seconds=v(S/n),S%=n,this.$d.milliseconds=S},M.toISOString=function(){var S=b(this.$d.years,"Y"),O=b(this.$d.months,"M"),C=+this.$d.days||0;this.$d.weeks&&(C+=7*this.$d.weeks);var T=b(C,"D"),R=b(this.$d.hours,"H"),U=b(this.$d.minutes,"M"),k=this.$d.seconds||0;this.$d.milliseconds&&(k+=this.$d.milliseconds/1e3,k=Math.round(1e3*k)/1e3);var W=b(k,"S"),P=S.negative||O.negative||T.negative||R.negative||U.negative||W.negative,K=R.format||U.format||W.format?"T":"",G=(P?"-":"")+"P"+S.format+O.format+T.format+K+R.format+U.format+W.format;return G==="P"||G==="-P"?"P0D":G},M.toJSON=function(){return this.toISOString()},M.format=function(S){var O=S||"YYYY-MM-DDTHH:mm:ss",C={Y:this.$d.years,YY:r.s(this.$d.years,2,"0"),YYYY:r.s(this.$d.years,4,"0"),M:this.$d.months,MM:r.s(this.$d.months,2,"0"),D:this.$d.days,DD:r.s(this.$d.days,2,"0"),H:this.$d.hours,HH:r.s(this.$d.hours,2,"0"),m:this.$d.minutes,mm:r.s(this.$d.minutes,2,"0"),s:this.$d.seconds,ss:r.s(this.$d.seconds,2,"0"),SSS:r.s(this.$d.milliseconds,3,"0")};return O.replace(c,function(T,R){return R||String(C[T])})},M.as=function(S){return this.$ms/d[m(S)]},M.get=function(S){var O=this.$ms,C=m(S);return C==="milliseconds"?O%=1e3:O=C==="weeks"?v(O/d[C]):this.$d[C],O||0},M.add=function(S,O,C){var T;return T=O?S*d[m(O)]:g(S)?S.$ms:w(S,this).$ms,w(this.$ms+T*(C?-1:1),this)},M.subtract=function(S,O){return this.add(S,O,!0)},M.locale=function(S){var O=this.clone();return O.$l=S,O},M.clone=function(){return w(this.$ms,this)},M.humanize=function(S){return e().add(this.$ms,"ms").locale(this.$l).fromNow(!S)},M.valueOf=function(){return this.asMilliseconds()},M.milliseconds=function(){return this.get("milliseconds")},M.asMilliseconds=function(){return this.as("milliseconds")},M.seconds=function(){return this.get("seconds")},M.asSeconds=function(){return this.as("seconds")},M.minutes=function(){return this.get("minutes")},M.asMinutes=function(){return this.as("minutes")},M.hours=function(){return this.get("hours")},M.asHours=function(){return this.as("hours")},M.days=function(){return this.get("days")},M.asDays=function(){return this.as("days")},M.weeks=function(){return this.get("weeks")},M.asWeeks=function(){return this.as("weeks")},M.months=function(){return this.get("months")},M.asMonths=function(){return this.as("months")},M.years=function(){return this.get("years")},M.asYears=function(){return this.as("years")},F}(),x=function(F,M,S){return F.add(M.years()*S,"y").add(M.months()*S,"M").add(M.days()*S,"d").add(M.hours()*S,"h").add(M.minutes()*S,"m").add(M.seconds()*S,"s").add(M.milliseconds()*S,"ms")};return function(F,M,S){e=S,r=S().$utils(),S.duration=function(T,R){var U=S.locale();return w(T,{$l:U},R)},S.isDuration=g;var O=M.prototype.add,C=M.prototype.subtract;M.prototype.add=function(T,R){return g(T)?x(this,T,1):O.bind(this)(T,R)},M.prototype.subtract=function(T,R){return g(T)?x(this,T,-1):C.bind(this)(T,R)}}})})(Hf);var iy=Hf.exports,sy=Yt(iy);te.extend(ey),te.extend(ny),te.extend(sy);class oy{constructor(t,e){q(this,"array");q(this,"color");q(this,"math");q(this,"str");q(this,"map");q(this,"matrix");q(this,"timeframe");q(this,"ta");q(this,"input");q(this,"_variables");q(this,"_cacheData");q(this,"_options");q(this,"_errorListener");q(this,"_plots");q(this,"_alerts");q(this,"_bgColors");q(this,"_hlines");q(this,"_fills");q(this,"chart");q(this,"line");q(this,"label");q(this,"polyline");q(this,"box");q(this,"table");q(this,"linefill");q(this,"log");q(this,"runtime");q(this,"strategy");this._variables=e,this.array=new $p,this.math=new Rp(t),this.color=new l1,this.str=new cw,this.map=new fw,this.timeframe=new lw(e),this.matrix=new uw,this.ta=new s1(e,this.math,this.timeframe),this._cacheData={},this._options={},this._bgColors={},this._alerts=new Map,this._hlines=new Map,this._fills=new Map,this._errorListener=new Gw,this.input=new u1(e,this._errorListener),this._plots=new Map,this.chart={point:new hw(e)},this.line=new Lw(e),this.label=new pw(e),this.polyline=new Rw(e),this.box=new zw(e),this.table=new qw(e),this.linefill=new Pw(e),this.log=new Yw(e),this.runtime=new Zw(this._errorListener),this.strategy=new jw(this._variables,this._options,1e-4,this._errorListener)}get errors(){return this._errorListener.errors}get options(){const t=this.input.getInputs(),e=this._alerts.size?[...this._alerts.values()]:void 0;this._alerts.clear();const r=Object.keys(this._bgColors).length?{...this._bgColors}:void 0,n=this._hlines.size?[...this._hlines.values()]:void 0,s=this._fills.size?[...this._fills.values()]:void 0,a=this.log.logs.length?this.log.logs:void 0;return this.log.clearLogs(),this._options.scriptType==="strategy"&&Object.assign(this._options,{orders:this.strategy.orders,historyOrders:this.strategy.historyOrders}),Object.assign(this._options,{inputs:t,plots:[...this._plots.values()],draws:this._getDraws(),alerts:e,colors:r,hlines:n,fills:s,logs:a})}_getDraws(){const{line:t,linefill:e,table:r,box:n,polyline:s,label:a}=this._variables,l={};return t.data.length&&(l.lines=t.data),e.data.length&&(l.linefills=e.data),r.data.length&&(l.tables=r.data),n.data.length&&(l.boxes=n.data),s.data.length&&(l.polylines=s.data),a.data.length&&(l.labels=a.data),Object.keys(l).length?l:void 0}update(t){const{barIndex:e,inputs:r}=t;r&&r.length&&this.input.update(r),this.strategy.updateOptions(),this.math.update(e)}endExecution(){this.strategy.endExecution()}indicator(t){this._variables.bar_index||(this._options.scriptType="indicator",this._options.indicator=t)}plot(t,e){const{series:r,color:n,seriesColors:s,...a}=t,{bar_index:l}=this._variables,c=`plot_${e}`,h=this._plots.get(c),p=(h==null?void 0:h.data)||[],f=r!==void 0&&isNaN(r)?void 0:r;if(p[l]=f,s!=null&&s.length&&(this._seriesColorHandle(t,c),p[l]={value:f,itemStyle:{color:n}}),!h){const d=n?[n]:void 0;this._plots.set(c,{editable:!0,...a,colors:d,data:p,id:c})}return{type:"plot",key:c}}plotbar(t,e){const{open:r,close:n,low:s,high:a,color:l,seriesColors:c,...h}=t,{bar_index:p}=this._variables,f=`plotbar_${e}`,d=this._plots.get(f),g=(d==null?void 0:d.data)||[],w=n!==void 0&&isNaN(n)?void 0:n,m=r!==void 0&&isNaN(r)?void 0:r,D=s!==void 0&&isNaN(s)?void 0:s,v=a!==void 0&&isNaN(a)?void 0:a,E=[m,w,D,v];if(g[p]=E,c!=null&&c.length&&(this._seriesColorHandle(t,f),g[p]={value:E,itemStyle:{color:l}}),!d){const b=l?[l]:void 0;this._plots.set(f,{editable:!0,...h,colors:b,data:g,id:f})}}plotchar(t,e){const{series:r,color:n,textcolor:s,...a}=t,{bar_index:l}=this._variables,c=`plotchar_${e}`,h=this._plots.get(c),p=(h==null?void 0:h.data)||[];p[l]={value:r,color:n,textcolor:s},h||this._plots.set(c,{editable:!0,...a,data:p,id:c})}plotarrow(t,e){const{series:r,colorup:n,colordown:s,...a}=t,{bar_index:l}=this._variables,c=`plotarrow_${e}`,h=this._plots.get(c),p=(h==null?void 0:h.data)||[];p[l]={value:r!==void 0&&isNaN(r)?void 0:r,colorup:n,colordown:s},h||this._plots.set(c,{editable:!0,...a,data:p,id:c})}plotshape(t,e){const{series:r,color:n,textcolor:s,...a}=t,{bar_index:l}=this._variables,c=`plotshape_${e}`,h=this._plots.get(c),p=(h==null?void 0:h.data)||[];p[l]={value:r,color:n,textcolor:s},h||this._plots.set(c,{editable:!0,...a,data:p,id:c})}plotcandle(t,e){const{wickcolor:r,bordercolor:n,color:s,close:a,open:l,low:c,high:h,...p}=t,{bar_index:f}=this._variables,d=`plotcandle_${e}`,g=this._plots.get(d),w=(g==null?void 0:g.data)||[],m=a!==void 0&&isNaN(a)?void 0:a,D=l!==void 0&&isNaN(l)?void 0:l,v=c!==void 0&&isNaN(c)?void 0:c,E=h!==void 0&&isNaN(h)?void 0:h,b=[D,m,v,E];w[f]={value:b,wickcolor:r,bordercolor:n,color:s},g||this._plots.set(d,{editable:!0,...p,data:w,id:d})}hline(t,e){const r=`hline_${e}`;return this._hlines.set(r,{linewidth:1,editable:!0,display:rr.all,...t}),{type:"hline",key:r}}fill(t,e){const r=`fill_${e}`;this._fills.set(r,{display:rr.all,editable:!0,fillgaps:!1,...t})}alert({message:t,freq:e=hn.freqOncePerBar},r){const{bar_index:n,_isRealTimeBar:s,last_bar_index:a}=this._variables,l=`alert_${r}`,c=this._cacheData[l].barIndex;if(e===hn.freqOncePerBar&&n===c){this._alerts.delete(l);return}const h={message:t,freq:e,id:l,type:"alert"};if(s){e!==hn.freqOncePerBarClose&&this._alerts.set(l,h),this._cacheData[l].barIndex=n;return}if(!s&&e===hn.freqOncePerBarClose&&n===c&&a===n-1){this._alerts.set(l,h),this._cacheData[l].barIndex=n;return}this._alerts.delete(l)}alertcondition({condition:t,message:e,title:r},n){const{_isRealTimeBar:s}=this._variables,a=`alertcondition_${n}`;s&&t?this._alerts.set(a,{message:e,title:r,id:a,type:"alertcondition"}):this._alerts.delete(a)}barcolor(t){this._setColors(t,"barcolor")}bgcolor(t){this._setColors(t,"bgcolor")}_setColors(t,e){var l,c;const{color:r,...n}=t,{bar_index:s}=this._variables,a=((l=this._bgColors[e])==null?void 0:l.colors)||[];if(!a[s]){const h=((c=this._bgColors[e])==null?void 0:c.setColors)||[];h.includes(r)||h.push(r),a[s]=r,this._bgColors[e]={...n,colors:a,setColors:h}}}max_bars_back({var:t,num:e,var_name:r}){console.log(t,e,r)}float({x:t}){return t}bool({x:t}){return t||!1}string({x:t}){return t}int({x:t}){return t&&Math.trunc(t)}na({x:t}){return t===void 0}fixnan({source:t},e){return t===void 0||isNaN(t)?this._cacheData[`fixnan_${e}`]:(this._cacheData[`fixnan_${e}`]=t,t)}nz({source:t,replacement:e}){return t!==void 0&&!isNaN(t)?t:e||0}time({timeframe:t="",session:e,timezone:r,bars_back:n=0},s){return this._timeHandle(this._variables.time,s,t,e,r,n)}time_close({timeframe:t="",session:e,timezone:r,bars_back:n=0},s){return this._variables.time_close&&this._timeHandle(this._variables.time_close,s,t,e,r,n)}timestamp({dateString:t,timezone:e,year:r,month:n,day:s,hour:a=0,minute:l=0,second:c=0}){if(t)return te(t).valueOf();let h=te({year:r,month:n,day:s,hour:a,minute:l,second:c});return e&&(h=Nr(h.valueOf(),e)),h.valueOf()}weekofyear({time:t,timezone:e}){return Nr(t,e).week()}year({time:t,timezone:e}){return Nr(t,e).year()}second({time:t,timezone:e}){return Nr(t,e).second()}month({time:t,timezone:e}){return Nr(t,e).month()+1}minute({time:t,timezone:e}){return Nr(t,e).minute()}hour({time:t,timezone:e}){return Nr(t,e).hour()}dayofweek({time:t,timezone:e}){return Nr(t,e).day()+1}dayofmonth({time:t,timezone:e}){return Nr(t,e).date()}_calcTimeOffset(t,e){const r=this._variables.getTimeTradingday(t,e),n=Hr(e)*1e3;return t-r-Math.floor((t-r)/n)*n}_timeHandle(t,e,r="",n,s,a=0){const l=r||this._variables.timeframe.period,c=Hr(l),h=Hr(this._variables.timeframe.period);let p;if(c<=h)p=t;else{const f=`time_${e}`,d=this._cacheData[f];if(d)d.currentTime+c*1e3-d.offset<=t?(p=t,this._cacheData[f]={currentTime:t,offset:0}):p=d;else{const g=this._calcTimeOffset(t,l);this._cacheData[f]={currentTime:t,offset:g},p=t}}if(n){const{timePeriods:f,weeks:d}=this._parserSession(n),g=te(t).format("YYYY-MM-DD"),w=p;p=void 0;for(const D of f){const[v,E]=D;if(te(t).isBetween(`${g} ${v}`,`${g} ${E}`,"hour")){te(w).isBetween(`${g} ${v}`,`${g} ${E}`,"hour")?p=w:p=te(`${g} ${v}`).valueOf();break}}const m=this._variables.dayofweek;p&&!d.includes(m)&&(p=void 0)}return s&&(p=p&&Nr(p,s).valueOf()),p&&p-a*h*1e3}_seriesColorHandle(t,e){var s,a;const{seriesColors:r}=t,n=this._plots.get(e);if(n&&r!=null&&r.length)for(const l of r){if((s=n.gradientColorKeys)!=null&&s.includes(l))continue;const c=t[l],h=n[`${l}s`]||[];h.includes(c)||(h.push(c),n[`${l}s`]=h,h.length>5&&(n[`${l}s`]=[],(a=n.gradientColorKeys)==null||a.push(l)))}}_parserSession(t){const e=t.split(":"),r=e[0],s=(e[1]||"1234567").split("").map(l=>{const c=parseInt(l,10);if(c<1||c>7)throw new Error(`Invalid day of week: ${l}`);return c});return{timePeriods:r.split(",").map(l=>{const c=l.split("-");if(c.length!==2)throw new Error(`Invalid time period: ${l}`);return[this._processTime(c[0]),this._processTime(c[1])]}),weeks:s}}_processTime(t){const e=parseInt(t.slice(0,2),10),r=parseInt(t.slice(2),10);if(!(e>=0&&e<=23)&&r>=0&&r<=59)throw new Error("Invalid time: Time must be within 00:00 to 23:59");return`${e}:${r}`}}/**
|
61
|
+
${Bf}`)}function y1(i,t,e){return(i>=0&&e?` ${If(i,t-1)}`:If(i,t)).padEnd(t)}function If(i,t){let e=i.toString();if(e.length<=t)return e;let r=i.toFixed(t);if(r.length>t&&(r=i.toFixed(Math.max(0,t-(r.length-t)))),r.length<=t&&!r.startsWith("0.000")&&!r.startsWith("-0.000"))return r;let n=i.toExponential(t);return n.length>t&&(n=i.toExponential(Math.max(0,t-(n.length-t)))),n.slice(0)}function D1(i,t){i.prototype.add=function(r){return typeof r=="number"?this.addS(r):this.addM(r)},i.prototype.addS=function(r){for(let n=0;n<this.rows;n++)for(let s=0;s<this.columns;s++)this.set(n,s,this.get(n,s)+r);return this},i.prototype.addM=function(r){if(r=t.checkMatrix(r),this.rows!==r.rows||this.columns!==r.columns)throw new RangeError("Matrices dimensions must be equal");for(let n=0;n<this.rows;n++)for(let s=0;s<this.columns;s++)this.set(n,s,this.get(n,s)+r.get(n,s));return this},i.add=function(r,n){return new t(r).add(n)},i.prototype.sub=function(r){return typeof r=="number"?this.subS(r):this.subM(r)},i.prototype.subS=function(r){for(let n=0;n<this.rows;n++)for(let s=0;s<this.columns;s++)this.set(n,s,this.get(n,s)-r);return this},i.prototype.subM=function(r){if(r=t.checkMatrix(r),this.rows!==r.rows||this.columns!==r.columns)throw new RangeError("Matrices dimensions must be equal");for(let n=0;n<this.rows;n++)for(let s=0;s<this.columns;s++)this.set(n,s,this.get(n,s)-r.get(n,s));return this},i.sub=function(r,n){return new t(r).sub(n)},i.prototype.subtract=i.prototype.sub,i.prototype.subtractS=i.prototype.subS,i.prototype.subtractM=i.prototype.subM,i.subtract=i.sub,i.prototype.mul=function(r){return typeof r=="number"?this.mulS(r):this.mulM(r)},i.prototype.mulS=function(r){for(let n=0;n<this.rows;n++)for(let s=0;s<this.columns;s++)this.set(n,s,this.get(n,s)*r);return this},i.prototype.mulM=function(r){if(r=t.checkMatrix(r),this.rows!==r.rows||this.columns!==r.columns)throw new RangeError("Matrices dimensions must be equal");for(let n=0;n<this.rows;n++)for(let s=0;s<this.columns;s++)this.set(n,s,this.get(n,s)*r.get(n,s));return this},i.mul=function(r,n){return new t(r).mul(n)},i.prototype.multiply=i.prototype.mul,i.prototype.multiplyS=i.prototype.mulS,i.prototype.multiplyM=i.prototype.mulM,i.multiply=i.mul,i.prototype.div=function(r){return typeof r=="number"?this.divS(r):this.divM(r)},i.prototype.divS=function(r){for(let n=0;n<this.rows;n++)for(let s=0;s<this.columns;s++)this.set(n,s,this.get(n,s)/r);return this},i.prototype.divM=function(r){if(r=t.checkMatrix(r),this.rows!==r.rows||this.columns!==r.columns)throw new RangeError("Matrices dimensions must be equal");for(let n=0;n<this.rows;n++)for(let s=0;s<this.columns;s++)this.set(n,s,this.get(n,s)/r.get(n,s));return this},i.div=function(r,n){return new t(r).div(n)},i.prototype.divide=i.prototype.div,i.prototype.divideS=i.prototype.divS,i.prototype.divideM=i.prototype.divM,i.divide=i.div,i.prototype.mod=function(r){return typeof r=="number"?this.modS(r):this.modM(r)},i.prototype.modS=function(r){for(let n=0;n<this.rows;n++)for(let s=0;s<this.columns;s++)this.set(n,s,this.get(n,s)%r);return this},i.prototype.modM=function(r){if(r=t.checkMatrix(r),this.rows!==r.rows||this.columns!==r.columns)throw new RangeError("Matrices dimensions must be equal");for(let n=0;n<this.rows;n++)for(let s=0;s<this.columns;s++)this.set(n,s,this.get(n,s)%r.get(n,s));return this},i.mod=function(r,n){return new t(r).mod(n)},i.prototype.modulus=i.prototype.mod,i.prototype.modulusS=i.prototype.modS,i.prototype.modulusM=i.prototype.modM,i.modulus=i.mod,i.prototype.and=function(r){return typeof r=="number"?this.andS(r):this.andM(r)},i.prototype.andS=function(r){for(let n=0;n<this.rows;n++)for(let s=0;s<this.columns;s++)this.set(n,s,this.get(n,s)&r);return this},i.prototype.andM=function(r){if(r=t.checkMatrix(r),this.rows!==r.rows||this.columns!==r.columns)throw new RangeError("Matrices dimensions must be equal");for(let n=0;n<this.rows;n++)for(let s=0;s<this.columns;s++)this.set(n,s,this.get(n,s)&r.get(n,s));return this},i.and=function(r,n){return new t(r).and(n)},i.prototype.or=function(r){return typeof r=="number"?this.orS(r):this.orM(r)},i.prototype.orS=function(r){for(let n=0;n<this.rows;n++)for(let s=0;s<this.columns;s++)this.set(n,s,this.get(n,s)|r);return this},i.prototype.orM=function(r){if(r=t.checkMatrix(r),this.rows!==r.rows||this.columns!==r.columns)throw new RangeError("Matrices dimensions must be equal");for(let n=0;n<this.rows;n++)for(let s=0;s<this.columns;s++)this.set(n,s,this.get(n,s)|r.get(n,s));return this},i.or=function(r,n){return new t(r).or(n)},i.prototype.xor=function(r){return typeof r=="number"?this.xorS(r):this.xorM(r)},i.prototype.xorS=function(r){for(let n=0;n<this.rows;n++)for(let s=0;s<this.columns;s++)this.set(n,s,this.get(n,s)^r);return this},i.prototype.xorM=function(r){if(r=t.checkMatrix(r),this.rows!==r.rows||this.columns!==r.columns)throw new RangeError("Matrices dimensions must be equal");for(let n=0;n<this.rows;n++)for(let s=0;s<this.columns;s++)this.set(n,s,this.get(n,s)^r.get(n,s));return this},i.xor=function(r,n){return new t(r).xor(n)},i.prototype.leftShift=function(r){return typeof r=="number"?this.leftShiftS(r):this.leftShiftM(r)},i.prototype.leftShiftS=function(r){for(let n=0;n<this.rows;n++)for(let s=0;s<this.columns;s++)this.set(n,s,this.get(n,s)<<r);return this},i.prototype.leftShiftM=function(r){if(r=t.checkMatrix(r),this.rows!==r.rows||this.columns!==r.columns)throw new RangeError("Matrices dimensions must be equal");for(let n=0;n<this.rows;n++)for(let s=0;s<this.columns;s++)this.set(n,s,this.get(n,s)<<r.get(n,s));return this},i.leftShift=function(r,n){return new t(r).leftShift(n)},i.prototype.signPropagatingRightShift=function(r){return typeof r=="number"?this.signPropagatingRightShiftS(r):this.signPropagatingRightShiftM(r)},i.prototype.signPropagatingRightShiftS=function(r){for(let n=0;n<this.rows;n++)for(let s=0;s<this.columns;s++)this.set(n,s,this.get(n,s)>>r);return this},i.prototype.signPropagatingRightShiftM=function(r){if(r=t.checkMatrix(r),this.rows!==r.rows||this.columns!==r.columns)throw new RangeError("Matrices dimensions must be equal");for(let n=0;n<this.rows;n++)for(let s=0;s<this.columns;s++)this.set(n,s,this.get(n,s)>>r.get(n,s));return this},i.signPropagatingRightShift=function(r,n){return new t(r).signPropagatingRightShift(n)},i.prototype.rightShift=function(r){return typeof r=="number"?this.rightShiftS(r):this.rightShiftM(r)},i.prototype.rightShiftS=function(r){for(let n=0;n<this.rows;n++)for(let s=0;s<this.columns;s++)this.set(n,s,this.get(n,s)>>>r);return this},i.prototype.rightShiftM=function(r){if(r=t.checkMatrix(r),this.rows!==r.rows||this.columns!==r.columns)throw new RangeError("Matrices dimensions must be equal");for(let n=0;n<this.rows;n++)for(let s=0;s<this.columns;s++)this.set(n,s,this.get(n,s)>>>r.get(n,s));return this},i.rightShift=function(r,n){return new t(r).rightShift(n)},i.prototype.zeroFillRightShift=i.prototype.rightShift,i.prototype.zeroFillRightShiftS=i.prototype.rightShiftS,i.prototype.zeroFillRightShiftM=i.prototype.rightShiftM,i.zeroFillRightShift=i.rightShift,i.prototype.not=function(){for(let r=0;r<this.rows;r++)for(let n=0;n<this.columns;n++)this.set(r,n,~this.get(r,n));return this},i.not=function(r){return new t(r).not()},i.prototype.abs=function(){for(let r=0;r<this.rows;r++)for(let n=0;n<this.columns;n++)this.set(r,n,Math.abs(this.get(r,n)));return this},i.abs=function(r){return new t(r).abs()},i.prototype.acos=function(){for(let r=0;r<this.rows;r++)for(let n=0;n<this.columns;n++)this.set(r,n,Math.acos(this.get(r,n)));return this},i.acos=function(r){return new t(r).acos()},i.prototype.acosh=function(){for(let r=0;r<this.rows;r++)for(let n=0;n<this.columns;n++)this.set(r,n,Math.acosh(this.get(r,n)));return this},i.acosh=function(r){return new t(r).acosh()},i.prototype.asin=function(){for(let r=0;r<this.rows;r++)for(let n=0;n<this.columns;n++)this.set(r,n,Math.asin(this.get(r,n)));return this},i.asin=function(r){return new t(r).asin()},i.prototype.asinh=function(){for(let r=0;r<this.rows;r++)for(let n=0;n<this.columns;n++)this.set(r,n,Math.asinh(this.get(r,n)));return this},i.asinh=function(r){return new t(r).asinh()},i.prototype.atan=function(){for(let r=0;r<this.rows;r++)for(let n=0;n<this.columns;n++)this.set(r,n,Math.atan(this.get(r,n)));return this},i.atan=function(r){return new t(r).atan()},i.prototype.atanh=function(){for(let r=0;r<this.rows;r++)for(let n=0;n<this.columns;n++)this.set(r,n,Math.atanh(this.get(r,n)));return this},i.atanh=function(r){return new t(r).atanh()},i.prototype.cbrt=function(){for(let r=0;r<this.rows;r++)for(let n=0;n<this.columns;n++)this.set(r,n,Math.cbrt(this.get(r,n)));return this},i.cbrt=function(r){return new t(r).cbrt()},i.prototype.ceil=function(){for(let r=0;r<this.rows;r++)for(let n=0;n<this.columns;n++)this.set(r,n,Math.ceil(this.get(r,n)));return this},i.ceil=function(r){return new t(r).ceil()},i.prototype.clz32=function(){for(let r=0;r<this.rows;r++)for(let n=0;n<this.columns;n++)this.set(r,n,Math.clz32(this.get(r,n)));return this},i.clz32=function(r){return new t(r).clz32()},i.prototype.cos=function(){for(let r=0;r<this.rows;r++)for(let n=0;n<this.columns;n++)this.set(r,n,Math.cos(this.get(r,n)));return this},i.cos=function(r){return new t(r).cos()},i.prototype.cosh=function(){for(let r=0;r<this.rows;r++)for(let n=0;n<this.columns;n++)this.set(r,n,Math.cosh(this.get(r,n)));return this},i.cosh=function(r){return new t(r).cosh()},i.prototype.exp=function(){for(let r=0;r<this.rows;r++)for(let n=0;n<this.columns;n++)this.set(r,n,Math.exp(this.get(r,n)));return this},i.exp=function(r){return new t(r).exp()},i.prototype.expm1=function(){for(let r=0;r<this.rows;r++)for(let n=0;n<this.columns;n++)this.set(r,n,Math.expm1(this.get(r,n)));return this},i.expm1=function(r){return new t(r).expm1()},i.prototype.floor=function(){for(let r=0;r<this.rows;r++)for(let n=0;n<this.columns;n++)this.set(r,n,Math.floor(this.get(r,n)));return this},i.floor=function(r){return new t(r).floor()},i.prototype.fround=function(){for(let r=0;r<this.rows;r++)for(let n=0;n<this.columns;n++)this.set(r,n,Math.fround(this.get(r,n)));return this},i.fround=function(r){return new t(r).fround()},i.prototype.log=function(){for(let r=0;r<this.rows;r++)for(let n=0;n<this.columns;n++)this.set(r,n,Math.log(this.get(r,n)));return this},i.log=function(r){return new t(r).log()},i.prototype.log1p=function(){for(let r=0;r<this.rows;r++)for(let n=0;n<this.columns;n++)this.set(r,n,Math.log1p(this.get(r,n)));return this},i.log1p=function(r){return new t(r).log1p()},i.prototype.log10=function(){for(let r=0;r<this.rows;r++)for(let n=0;n<this.columns;n++)this.set(r,n,Math.log10(this.get(r,n)));return this},i.log10=function(r){return new t(r).log10()},i.prototype.log2=function(){for(let r=0;r<this.rows;r++)for(let n=0;n<this.columns;n++)this.set(r,n,Math.log2(this.get(r,n)));return this},i.log2=function(r){return new t(r).log2()},i.prototype.round=function(){for(let r=0;r<this.rows;r++)for(let n=0;n<this.columns;n++)this.set(r,n,Math.round(this.get(r,n)));return this},i.round=function(r){return new t(r).round()},i.prototype.sign=function(){for(let r=0;r<this.rows;r++)for(let n=0;n<this.columns;n++)this.set(r,n,Math.sign(this.get(r,n)));return this},i.sign=function(r){return new t(r).sign()},i.prototype.sin=function(){for(let r=0;r<this.rows;r++)for(let n=0;n<this.columns;n++)this.set(r,n,Math.sin(this.get(r,n)));return this},i.sin=function(r){return new t(r).sin()},i.prototype.sinh=function(){for(let r=0;r<this.rows;r++)for(let n=0;n<this.columns;n++)this.set(r,n,Math.sinh(this.get(r,n)));return this},i.sinh=function(r){return new t(r).sinh()},i.prototype.sqrt=function(){for(let r=0;r<this.rows;r++)for(let n=0;n<this.columns;n++)this.set(r,n,Math.sqrt(this.get(r,n)));return this},i.sqrt=function(r){return new t(r).sqrt()},i.prototype.tan=function(){for(let r=0;r<this.rows;r++)for(let n=0;n<this.columns;n++)this.set(r,n,Math.tan(this.get(r,n)));return this},i.tan=function(r){return new t(r).tan()},i.prototype.tanh=function(){for(let r=0;r<this.rows;r++)for(let n=0;n<this.columns;n++)this.set(r,n,Math.tanh(this.get(r,n)));return this},i.tanh=function(r){return new t(r).tanh()},i.prototype.trunc=function(){for(let r=0;r<this.rows;r++)for(let n=0;n<this.columns;n++)this.set(r,n,Math.trunc(this.get(r,n)));return this},i.trunc=function(r){return new t(r).trunc()},i.pow=function(r,n){return new t(r).pow(n)},i.prototype.pow=function(r){return typeof r=="number"?this.powS(r):this.powM(r)},i.prototype.powS=function(r){for(let n=0;n<this.rows;n++)for(let s=0;s<this.columns;s++)this.set(n,s,Math.pow(this.get(n,s),r));return this},i.prototype.powM=function(r){if(r=t.checkMatrix(r),this.rows!==r.rows||this.columns!==r.columns)throw new RangeError("Matrices dimensions must be equal");for(let n=0;n<this.rows;n++)for(let s=0;s<this.columns;s++)this.set(n,s,Math.pow(this.get(n,s),r.get(n,s)));return this}}function vr(i,t,e){let r=e?i.rows:i.rows-1;if(t<0||t>r)throw new RangeError("Row index out of range")}function wr(i,t,e){let r=e?i.columns:i.columns-1;if(t<0||t>r)throw new RangeError("Column index out of range")}function di(i,t){if(t.to1DArray&&(t=t.to1DArray()),t.length!==i.columns)throw new RangeError("vector size must be the same as the number of columns");return t}function _i(i,t){if(t.to1DArray&&(t=t.to1DArray()),t.length!==i.rows)throw new RangeError("vector size must be the same as the number of rows");return t}function Sa(i,t){if(!Xe.isAnyArray(t))throw new TypeError("row indices must be an array");for(let e=0;e<t.length;e++)if(t[e]<0||t[e]>=i.rows)throw new RangeError("row indices are out of range")}function Ba(i,t){if(!Xe.isAnyArray(t))throw new TypeError("column indices must be an array");for(let e=0;e<t.length;e++)if(t[e]<0||t[e]>=i.columns)throw new RangeError("column indices are out of range")}function Ta(i,t,e,r,n){if(arguments.length!==5)throw new RangeError("expected 4 arguments");if(Xs("startRow",t),Xs("endRow",e),Xs("startColumn",r),Xs("endColumn",n),t>e||r>n||t<0||t>=i.rows||e<0||e>=i.rows||r<0||r>=i.columns||n<0||n>=i.columns)throw new RangeError("Submatrix indices are out of range")}function Js(i,t=0){let e=[];for(let r=0;r<i;r++)e.push(t);return e}function Xs(i,t){if(typeof t!="number")throw new TypeError(`${i} must be a number`)}function mi(i){if(i.isEmpty())throw new Error("Empty matrix has no elements to index")}function b1(i){let t=Js(i.rows);for(let e=0;e<i.rows;++e)for(let r=0;r<i.columns;++r)t[e]+=i.get(e,r);return t}function E1(i){let t=Js(i.columns);for(let e=0;e<i.rows;++e)for(let r=0;r<i.columns;++r)t[r]+=i.get(e,r);return t}function x1(i){let t=0;for(let e=0;e<i.rows;e++)for(let r=0;r<i.columns;r++)t+=i.get(e,r);return t}function A1(i){let t=Js(i.rows,1);for(let e=0;e<i.rows;++e)for(let r=0;r<i.columns;++r)t[e]*=i.get(e,r);return t}function C1(i){let t=Js(i.columns,1);for(let e=0;e<i.rows;++e)for(let r=0;r<i.columns;++r)t[r]*=i.get(e,r);return t}function F1(i){let t=1;for(let e=0;e<i.rows;e++)for(let r=0;r<i.columns;r++)t*=i.get(e,r);return t}function M1(i,t,e){const r=i.rows,n=i.columns,s=[];for(let a=0;a<r;a++){let l=0,c=0,h=0;for(let p=0;p<n;p++)h=i.get(a,p)-e[a],l+=h,c+=h*h;t?s.push((c-l*l/n)/(n-1)):s.push((c-l*l/n)/n)}return s}function N1(i,t,e){const r=i.rows,n=i.columns,s=[];for(let a=0;a<n;a++){let l=0,c=0,h=0;for(let p=0;p<r;p++)h=i.get(p,a)-e[a],l+=h,c+=h*h;t?s.push((c-l*l/r)/(r-1)):s.push((c-l*l/r)/r)}return s}function S1(i,t,e){const r=i.rows,n=i.columns,s=r*n;let a=0,l=0,c=0;for(let h=0;h<r;h++)for(let p=0;p<n;p++)c=i.get(h,p)-e,a+=c,l+=c*c;return t?(l-a*a/s)/(s-1):(l-a*a/s)/s}function B1(i,t){for(let e=0;e<i.rows;e++)for(let r=0;r<i.columns;r++)i.set(e,r,i.get(e,r)-t[e])}function T1(i,t){for(let e=0;e<i.rows;e++)for(let r=0;r<i.columns;r++)i.set(e,r,i.get(e,r)-t[r])}function I1(i,t){for(let e=0;e<i.rows;e++)for(let r=0;r<i.columns;r++)i.set(e,r,i.get(e,r)-t)}function O1(i){const t=[];for(let e=0;e<i.rows;e++){let r=0;for(let n=0;n<i.columns;n++)r+=Math.pow(i.get(e,n),2)/(i.columns-1);t.push(Math.sqrt(r))}return t}function $1(i,t){for(let e=0;e<i.rows;e++)for(let r=0;r<i.columns;r++)i.set(e,r,i.get(e,r)/t[e])}function R1(i){const t=[];for(let e=0;e<i.columns;e++){let r=0;for(let n=0;n<i.rows;n++)r+=Math.pow(i.get(n,e),2)/(i.rows-1);t.push(Math.sqrt(r))}return t}function L1(i,t){for(let e=0;e<i.rows;e++)for(let r=0;r<i.columns;r++)i.set(e,r,i.get(e,r)/t[r])}function P1(i){const t=i.size-1;let e=0;for(let r=0;r<i.columns;r++)for(let n=0;n<i.rows;n++)e+=Math.pow(i.get(n,r),2)/t;return Math.sqrt(e)}function z1(i,t){for(let e=0;e<i.rows;e++)for(let r=0;r<i.columns;r++)i.set(e,r,i.get(e,r)/t)}class Ot{static from1DArray(t,e,r){if(t*e!==r.length)throw new RangeError("data length does not match given dimensions");let s=new pt(t,e);for(let a=0;a<t;a++)for(let l=0;l<e;l++)s.set(a,l,r[a*e+l]);return s}static rowVector(t){let e=new pt(1,t.length);for(let r=0;r<t.length;r++)e.set(0,r,t[r]);return e}static columnVector(t){let e=new pt(t.length,1);for(let r=0;r<t.length;r++)e.set(r,0,t[r]);return e}static zeros(t,e){return new pt(t,e)}static ones(t,e){return new pt(t,e).fill(1)}static rand(t,e,r={}){if(typeof r!="object")throw new TypeError("options must be an object");const{random:n=Math.random}=r;let s=new pt(t,e);for(let a=0;a<t;a++)for(let l=0;l<e;l++)s.set(a,l,n());return s}static randInt(t,e,r={}){if(typeof r!="object")throw new TypeError("options must be an object");const{min:n=0,max:s=1e3,random:a=Math.random}=r;if(!Number.isInteger(n))throw new TypeError("min must be an integer");if(!Number.isInteger(s))throw new TypeError("max must be an integer");if(n>=s)throw new RangeError("min must be smaller than max");let l=s-n,c=new pt(t,e);for(let h=0;h<t;h++)for(let p=0;p<e;p++){let f=n+Math.round(a()*l);c.set(h,p,f)}return c}static eye(t,e,r){e===void 0&&(e=t),r===void 0&&(r=1);let n=Math.min(t,e),s=this.zeros(t,e);for(let a=0;a<n;a++)s.set(a,a,r);return s}static diag(t,e,r){let n=t.length;e===void 0&&(e=n),r===void 0&&(r=e);let s=Math.min(n,e,r),a=this.zeros(e,r);for(let l=0;l<s;l++)a.set(l,l,t[l]);return a}static min(t,e){t=this.checkMatrix(t),e=this.checkMatrix(e);let r=t.rows,n=t.columns,s=new pt(r,n);for(let a=0;a<r;a++)for(let l=0;l<n;l++)s.set(a,l,Math.min(t.get(a,l),e.get(a,l)));return s}static max(t,e){t=this.checkMatrix(t),e=this.checkMatrix(e);let r=t.rows,n=t.columns,s=new this(r,n);for(let a=0;a<r;a++)for(let l=0;l<n;l++)s.set(a,l,Math.max(t.get(a,l),e.get(a,l)));return s}static checkMatrix(t){return Ot.isMatrix(t)?t:new pt(t)}static isMatrix(t){return t!=null&&t.klass==="Matrix"}get size(){return this.rows*this.columns}apply(t){if(typeof t!="function")throw new TypeError("callback must be a function");for(let e=0;e<this.rows;e++)for(let r=0;r<this.columns;r++)t.call(this,e,r);return this}to1DArray(){let t=[];for(let e=0;e<this.rows;e++)for(let r=0;r<this.columns;r++)t.push(this.get(e,r));return t}to2DArray(){let t=[];for(let e=0;e<this.rows;e++){t.push([]);for(let r=0;r<this.columns;r++)t[e].push(this.get(e,r))}return t}toJSON(){return this.to2DArray()}isRowVector(){return this.rows===1}isColumnVector(){return this.columns===1}isVector(){return this.rows===1||this.columns===1}isSquare(){return this.rows===this.columns}isEmpty(){return this.rows===0||this.columns===0}isSymmetric(){if(this.isSquare()){for(let t=0;t<this.rows;t++)for(let e=0;e<=t;e++)if(this.get(t,e)!==this.get(e,t))return!1;return!0}return!1}isDistance(){if(!this.isSymmetric())return!1;for(let t=0;t<this.rows;t++)if(this.get(t,t)!==0)return!1;return!0}isEchelonForm(){let t=0,e=0,r=-1,n=!0,s=!1;for(;t<this.rows&&n;){for(e=0,s=!1;e<this.columns&&s===!1;)this.get(t,e)===0?e++:this.get(t,e)===1&&e>r?(s=!0,r=e):(n=!1,s=!0);t++}return n}isReducedEchelonForm(){let t=0,e=0,r=-1,n=!0,s=!1;for(;t<this.rows&&n;){for(e=0,s=!1;e<this.columns&&s===!1;)this.get(t,e)===0?e++:this.get(t,e)===1&&e>r?(s=!0,r=e):(n=!1,s=!0);for(let a=e+1;a<this.rows;a++)this.get(t,a)!==0&&(n=!1);t++}return n}echelonForm(){let t=this.clone(),e=0,r=0;for(;e<t.rows&&r<t.columns;){let n=e;for(let s=e;s<t.rows;s++)t.get(s,r)>t.get(n,r)&&(n=s);if(t.get(n,r)===0)r++;else{t.swapRows(e,n);let s=t.get(e,r);for(let a=r;a<t.columns;a++)t.set(e,a,t.get(e,a)/s);for(let a=e+1;a<t.rows;a++){let l=t.get(a,r)/t.get(e,r);t.set(a,r,0);for(let c=r+1;c<t.columns;c++)t.set(a,c,t.get(a,c)-t.get(e,c)*l)}e++,r++}}return t}reducedEchelonForm(){let t=this.echelonForm(),e=t.columns,r=t.rows,n=r-1;for(;n>=0;)if(t.maxRow(n)===0)n--;else{let s=0,a=!1;for(;s<r&&a===!1;)t.get(n,s)===1?a=!0:s++;for(let l=0;l<n;l++){let c=t.get(l,s);for(let h=s;h<e;h++){let p=t.get(l,h)-c*t.get(n,h);t.set(l,h,p)}}n--}return t}set(){throw new Error("set method is unimplemented")}get(){throw new Error("get method is unimplemented")}repeat(t={}){if(typeof t!="object")throw new TypeError("options must be an object");const{rows:e=1,columns:r=1}=t;if(!Number.isInteger(e)||e<=0)throw new TypeError("rows must be a positive integer");if(!Number.isInteger(r)||r<=0)throw new TypeError("columns must be a positive integer");let n=new pt(this.rows*e,this.columns*r);for(let s=0;s<e;s++)for(let a=0;a<r;a++)n.setSubMatrix(this,this.rows*s,this.columns*a);return n}fill(t){for(let e=0;e<this.rows;e++)for(let r=0;r<this.columns;r++)this.set(e,r,t);return this}neg(){return this.mulS(-1)}getRow(t){vr(this,t);let e=[];for(let r=0;r<this.columns;r++)e.push(this.get(t,r));return e}getRowVector(t){return pt.rowVector(this.getRow(t))}setRow(t,e){vr(this,t),e=di(this,e);for(let r=0;r<this.columns;r++)this.set(t,r,e[r]);return this}swapRows(t,e){vr(this,t),vr(this,e);for(let r=0;r<this.columns;r++){let n=this.get(t,r);this.set(t,r,this.get(e,r)),this.set(e,r,n)}return this}getColumn(t){wr(this,t);let e=[];for(let r=0;r<this.rows;r++)e.push(this.get(r,t));return e}getColumnVector(t){return pt.columnVector(this.getColumn(t))}setColumn(t,e){wr(this,t),e=_i(this,e);for(let r=0;r<this.rows;r++)this.set(r,t,e[r]);return this}swapColumns(t,e){wr(this,t),wr(this,e);for(let r=0;r<this.rows;r++){let n=this.get(r,t);this.set(r,t,this.get(r,e)),this.set(r,e,n)}return this}addRowVector(t){t=di(this,t);for(let e=0;e<this.rows;e++)for(let r=0;r<this.columns;r++)this.set(e,r,this.get(e,r)+t[r]);return this}subRowVector(t){t=di(this,t);for(let e=0;e<this.rows;e++)for(let r=0;r<this.columns;r++)this.set(e,r,this.get(e,r)-t[r]);return this}mulRowVector(t){t=di(this,t);for(let e=0;e<this.rows;e++)for(let r=0;r<this.columns;r++)this.set(e,r,this.get(e,r)*t[r]);return this}divRowVector(t){t=di(this,t);for(let e=0;e<this.rows;e++)for(let r=0;r<this.columns;r++)this.set(e,r,this.get(e,r)/t[r]);return this}addColumnVector(t){t=_i(this,t);for(let e=0;e<this.rows;e++)for(let r=0;r<this.columns;r++)this.set(e,r,this.get(e,r)+t[e]);return this}subColumnVector(t){t=_i(this,t);for(let e=0;e<this.rows;e++)for(let r=0;r<this.columns;r++)this.set(e,r,this.get(e,r)-t[e]);return this}mulColumnVector(t){t=_i(this,t);for(let e=0;e<this.rows;e++)for(let r=0;r<this.columns;r++)this.set(e,r,this.get(e,r)*t[e]);return this}divColumnVector(t){t=_i(this,t);for(let e=0;e<this.rows;e++)for(let r=0;r<this.columns;r++)this.set(e,r,this.get(e,r)/t[e]);return this}mulRow(t,e){vr(this,t);for(let r=0;r<this.columns;r++)this.set(t,r,this.get(t,r)*e);return this}mulColumn(t,e){wr(this,t);for(let r=0;r<this.rows;r++)this.set(r,t,this.get(r,t)*e);return this}max(t){if(this.isEmpty())return NaN;switch(t){case"row":{const e=new Array(this.rows).fill(Number.NEGATIVE_INFINITY);for(let r=0;r<this.rows;r++)for(let n=0;n<this.columns;n++)this.get(r,n)>e[r]&&(e[r]=this.get(r,n));return e}case"column":{const e=new Array(this.columns).fill(Number.NEGATIVE_INFINITY);for(let r=0;r<this.rows;r++)for(let n=0;n<this.columns;n++)this.get(r,n)>e[n]&&(e[n]=this.get(r,n));return e}case void 0:{let e=this.get(0,0);for(let r=0;r<this.rows;r++)for(let n=0;n<this.columns;n++)this.get(r,n)>e&&(e=this.get(r,n));return e}default:throw new Error(`invalid option: ${t}`)}}maxIndex(){mi(this);let t=this.get(0,0),e=[0,0];for(let r=0;r<this.rows;r++)for(let n=0;n<this.columns;n++)this.get(r,n)>t&&(t=this.get(r,n),e[0]=r,e[1]=n);return e}min(t){if(this.isEmpty())return NaN;switch(t){case"row":{const e=new Array(this.rows).fill(Number.POSITIVE_INFINITY);for(let r=0;r<this.rows;r++)for(let n=0;n<this.columns;n++)this.get(r,n)<e[r]&&(e[r]=this.get(r,n));return e}case"column":{const e=new Array(this.columns).fill(Number.POSITIVE_INFINITY);for(let r=0;r<this.rows;r++)for(let n=0;n<this.columns;n++)this.get(r,n)<e[n]&&(e[n]=this.get(r,n));return e}case void 0:{let e=this.get(0,0);for(let r=0;r<this.rows;r++)for(let n=0;n<this.columns;n++)this.get(r,n)<e&&(e=this.get(r,n));return e}default:throw new Error(`invalid option: ${t}`)}}minIndex(){mi(this);let t=this.get(0,0),e=[0,0];for(let r=0;r<this.rows;r++)for(let n=0;n<this.columns;n++)this.get(r,n)<t&&(t=this.get(r,n),e[0]=r,e[1]=n);return e}maxRow(t){if(vr(this,t),this.isEmpty())return NaN;let e=this.get(t,0);for(let r=1;r<this.columns;r++)this.get(t,r)>e&&(e=this.get(t,r));return e}maxRowIndex(t){vr(this,t),mi(this);let e=this.get(t,0),r=[t,0];for(let n=1;n<this.columns;n++)this.get(t,n)>e&&(e=this.get(t,n),r[1]=n);return r}minRow(t){if(vr(this,t),this.isEmpty())return NaN;let e=this.get(t,0);for(let r=1;r<this.columns;r++)this.get(t,r)<e&&(e=this.get(t,r));return e}minRowIndex(t){vr(this,t),mi(this);let e=this.get(t,0),r=[t,0];for(let n=1;n<this.columns;n++)this.get(t,n)<e&&(e=this.get(t,n),r[1]=n);return r}maxColumn(t){if(wr(this,t),this.isEmpty())return NaN;let e=this.get(0,t);for(let r=1;r<this.rows;r++)this.get(r,t)>e&&(e=this.get(r,t));return e}maxColumnIndex(t){wr(this,t),mi(this);let e=this.get(0,t),r=[0,t];for(let n=1;n<this.rows;n++)this.get(n,t)>e&&(e=this.get(n,t),r[0]=n);return r}minColumn(t){if(wr(this,t),this.isEmpty())return NaN;let e=this.get(0,t);for(let r=1;r<this.rows;r++)this.get(r,t)<e&&(e=this.get(r,t));return e}minColumnIndex(t){wr(this,t),mi(this);let e=this.get(0,t),r=[0,t];for(let n=1;n<this.rows;n++)this.get(n,t)<e&&(e=this.get(n,t),r[0]=n);return r}diag(){let t=Math.min(this.rows,this.columns),e=[];for(let r=0;r<t;r++)e.push(this.get(r,r));return e}norm(t="frobenius"){switch(t){case"max":return this.max();case"frobenius":return Math.sqrt(this.dot(this));default:throw new RangeError(`unknown norm type: ${t}`)}}cumulativeSum(){let t=0;for(let e=0;e<this.rows;e++)for(let r=0;r<this.columns;r++)t+=this.get(e,r),this.set(e,r,t);return this}dot(t){Ot.isMatrix(t)&&(t=t.to1DArray());let e=this.to1DArray();if(e.length!==t.length)throw new RangeError("vectors do not have the same size");let r=0;for(let n=0;n<e.length;n++)r+=e[n]*t[n];return r}mmul(t){t=pt.checkMatrix(t);let e=this.rows,r=this.columns,n=t.columns,s=new pt(e,n),a=new Float64Array(r);for(let l=0;l<n;l++){for(let c=0;c<r;c++)a[c]=t.get(c,l);for(let c=0;c<e;c++){let h=0;for(let p=0;p<r;p++)h+=this.get(c,p)*a[p];s.set(c,l,h)}}return s}strassen2x2(t){t=pt.checkMatrix(t);let e=new pt(2,2);const r=this.get(0,0),n=t.get(0,0),s=this.get(0,1),a=t.get(0,1),l=this.get(1,0),c=t.get(1,0),h=this.get(1,1),p=t.get(1,1),f=(r+h)*(n+p),d=(l+h)*n,g=r*(a-p),w=h*(c-n),m=(r+s)*p,D=(l-r)*(n+a),v=(s-h)*(c+p),E=f+w-m+v,b=g+m,N=d+w,x=f-d+g+D;return e.set(0,0,E),e.set(0,1,b),e.set(1,0,N),e.set(1,1,x),e}strassen3x3(t){t=pt.checkMatrix(t);let e=new pt(3,3);const r=this.get(0,0),n=this.get(0,1),s=this.get(0,2),a=this.get(1,0),l=this.get(1,1),c=this.get(1,2),h=this.get(2,0),p=this.get(2,1),f=this.get(2,2),d=t.get(0,0),g=t.get(0,1),w=t.get(0,2),m=t.get(1,0),D=t.get(1,1),v=t.get(1,2),E=t.get(2,0),b=t.get(2,1),N=t.get(2,2),x=(r+n+s-a-l-p-f)*D,F=(r-a)*(-g+D),M=l*(-d+g+m-D-v-E+N),S=(-r+a+l)*(d-g+D),O=(a+l)*(-d+g),C=r*d,T=(-r+h+p)*(d-w+v),R=(-r+h)*(w-v),U=(h+p)*(-d+w),k=(r+n+s-l-c-h-p)*v,W=p*(-d+w+m-D-v-E+b),P=(-s+p+f)*(D+E-b),K=(s-f)*(D-b),G=s*E,V=(p+f)*(-E+b),tt=(-s+l+c)*(v+E-N),ct=(s-c)*(v-N),gt=(l+c)*(-E+N),lt=n*m,wt=c*b,Dt=a*w,St=h*g,bt=f*N,re=C+G+lt,Tt=x+S+O+C+P+G+V,Mt=C+T+U+k+G+tt+gt,ie=F+M+S+C+G+tt+ct,Xt=F+S+O+C+wt,zt=G+tt+ct+gt+Dt,Gt=C+T+R+W+P+K+G,Fe=P+K+G+V+St,or=C+T+R+U+bt;return e.set(0,0,re),e.set(0,1,Tt),e.set(0,2,Mt),e.set(1,0,ie),e.set(1,1,Xt),e.set(1,2,zt),e.set(2,0,Gt),e.set(2,1,Fe),e.set(2,2,or),e}mmulStrassen(t){t=pt.checkMatrix(t);let e=this.clone(),r=e.rows,n=e.columns,s=t.rows,a=t.columns;n!==s&&console.warn(`Multiplying ${r} x ${n} and ${s} x ${a} matrix: dimensions do not match.`);function l(f,d,g){let w=f.rows,m=f.columns;if(w===d&&m===g)return f;{let D=Ot.zeros(d,g);return D=D.setSubMatrix(f,0,0),D}}let c=Math.max(r,s),h=Math.max(n,a);e=l(e,c,h),t=l(t,c,h);function p(f,d,g,w){if(g<=512||w<=512)return f.mmul(d);g%2===1&&w%2===1?(f=l(f,g+1,w+1),d=l(d,g+1,w+1)):g%2===1?(f=l(f,g+1,w),d=l(d,g+1,w)):w%2===1&&(f=l(f,g,w+1),d=l(d,g,w+1));let m=parseInt(f.rows/2,10),D=parseInt(f.columns/2,10),v=f.subMatrix(0,m-1,0,D-1),E=d.subMatrix(0,m-1,0,D-1),b=f.subMatrix(0,m-1,D,f.columns-1),N=d.subMatrix(0,m-1,D,d.columns-1),x=f.subMatrix(m,f.rows-1,0,D-1),F=d.subMatrix(m,d.rows-1,0,D-1),M=f.subMatrix(m,f.rows-1,D,f.columns-1),S=d.subMatrix(m,d.rows-1,D,d.columns-1),O=p(Ot.add(v,M),Ot.add(E,S),m,D),C=p(Ot.add(x,M),E,m,D),T=p(v,Ot.sub(N,S),m,D),R=p(M,Ot.sub(F,E),m,D),U=p(Ot.add(v,b),S,m,D),k=p(Ot.sub(x,v),Ot.add(E,N),m,D),W=p(Ot.sub(b,M),Ot.add(F,S),m,D),P=Ot.add(O,R);P.sub(U),P.add(W);let K=Ot.add(T,U),G=Ot.add(C,R),V=Ot.sub(O,C);V.add(T),V.add(k);let tt=Ot.zeros(2*P.rows,2*P.columns);return tt=tt.setSubMatrix(P,0,0),tt=tt.setSubMatrix(K,P.rows,0),tt=tt.setSubMatrix(G,0,P.columns),tt=tt.setSubMatrix(V,P.rows,P.columns),tt.subMatrix(0,g-1,0,w-1)}return p(e,t,c,h)}scaleRows(t={}){if(typeof t!="object")throw new TypeError("options must be an object");const{min:e=0,max:r=1}=t;if(!Number.isFinite(e))throw new TypeError("min must be a number");if(!Number.isFinite(r))throw new TypeError("max must be a number");if(e>=r)throw new RangeError("min must be smaller than max");let n=new pt(this.rows,this.columns);for(let s=0;s<this.rows;s++){const a=this.getRow(s);a.length>0&&Sf(a,{min:e,max:r,output:a}),n.setRow(s,a)}return n}scaleColumns(t={}){if(typeof t!="object")throw new TypeError("options must be an object");const{min:e=0,max:r=1}=t;if(!Number.isFinite(e))throw new TypeError("min must be a number");if(!Number.isFinite(r))throw new TypeError("max must be a number");if(e>=r)throw new RangeError("min must be smaller than max");let n=new pt(this.rows,this.columns);for(let s=0;s<this.columns;s++){const a=this.getColumn(s);a.length&&Sf(a,{min:e,max:r,output:a}),n.setColumn(s,a)}return n}flipRows(){const t=Math.ceil(this.columns/2);for(let e=0;e<this.rows;e++)for(let r=0;r<t;r++){let n=this.get(e,r),s=this.get(e,this.columns-1-r);this.set(e,r,s),this.set(e,this.columns-1-r,n)}return this}flipColumns(){const t=Math.ceil(this.rows/2);for(let e=0;e<this.columns;e++)for(let r=0;r<t;r++){let n=this.get(r,e),s=this.get(this.rows-1-r,e);this.set(r,e,s),this.set(this.rows-1-r,e,n)}return this}kroneckerProduct(t){t=pt.checkMatrix(t);let e=this.rows,r=this.columns,n=t.rows,s=t.columns,a=new pt(e*n,r*s);for(let l=0;l<e;l++)for(let c=0;c<r;c++)for(let h=0;h<n;h++)for(let p=0;p<s;p++)a.set(n*l+h,s*c+p,this.get(l,c)*t.get(h,p));return a}kroneckerSum(t){if(t=pt.checkMatrix(t),!this.isSquare()||!t.isSquare())throw new Error("Kronecker Sum needs two Square Matrices");let e=this.rows,r=t.rows,n=this.kroneckerProduct(pt.eye(r,r)),s=pt.eye(e,e).kroneckerProduct(t);return n.add(s)}transpose(){let t=new pt(this.columns,this.rows);for(let e=0;e<this.rows;e++)for(let r=0;r<this.columns;r++)t.set(r,e,this.get(e,r));return t}sortRows(t=Of){for(let e=0;e<this.rows;e++)this.setRow(e,this.getRow(e).sort(t));return this}sortColumns(t=Of){for(let e=0;e<this.columns;e++)this.setColumn(e,this.getColumn(e).sort(t));return this}subMatrix(t,e,r,n){Ta(this,t,e,r,n);let s=new pt(e-t+1,n-r+1);for(let a=t;a<=e;a++)for(let l=r;l<=n;l++)s.set(a-t,l-r,this.get(a,l));return s}subMatrixRow(t,e,r){if(e===void 0&&(e=0),r===void 0&&(r=this.columns-1),e>r||e<0||e>=this.columns||r<0||r>=this.columns)throw new RangeError("Argument out of range");let n=new pt(t.length,r-e+1);for(let s=0;s<t.length;s++)for(let a=e;a<=r;a++){if(t[s]<0||t[s]>=this.rows)throw new RangeError(`Row index out of range: ${t[s]}`);n.set(s,a-e,this.get(t[s],a))}return n}subMatrixColumn(t,e,r){if(e===void 0&&(e=0),r===void 0&&(r=this.rows-1),e>r||e<0||e>=this.rows||r<0||r>=this.rows)throw new RangeError("Argument out of range");let n=new pt(r-e+1,t.length);for(let s=0;s<t.length;s++)for(let a=e;a<=r;a++){if(t[s]<0||t[s]>=this.columns)throw new RangeError(`Column index out of range: ${t[s]}`);n.set(a-e,s,this.get(a,t[s]))}return n}setSubMatrix(t,e,r){if(t=pt.checkMatrix(t),t.isEmpty())return this;let n=e+t.rows-1,s=r+t.columns-1;Ta(this,e,n,r,s);for(let a=0;a<t.rows;a++)for(let l=0;l<t.columns;l++)this.set(e+a,r+l,t.get(a,l));return this}selection(t,e){Sa(this,t),Ba(this,e);let r=new pt(t.length,e.length);for(let n=0;n<t.length;n++){let s=t[n];for(let a=0;a<e.length;a++){let l=e[a];r.set(n,a,this.get(s,l))}}return r}trace(){let t=Math.min(this.rows,this.columns),e=0;for(let r=0;r<t;r++)e+=this.get(r,r);return e}clone(){return this.constructor.copy(this,new pt(this.rows,this.columns))}static copy(t,e){for(const[r,n,s]of t.entries())e.set(r,n,s);return e}sum(t){switch(t){case"row":return b1(this);case"column":return E1(this);case void 0:return x1(this);default:throw new Error(`invalid option: ${t}`)}}product(t){switch(t){case"row":return A1(this);case"column":return C1(this);case void 0:return F1(this);default:throw new Error(`invalid option: ${t}`)}}mean(t){const e=this.sum(t);switch(t){case"row":{for(let r=0;r<this.rows;r++)e[r]/=this.columns;return e}case"column":{for(let r=0;r<this.columns;r++)e[r]/=this.rows;return e}case void 0:return e/this.size;default:throw new Error(`invalid option: ${t}`)}}variance(t,e={}){if(typeof t=="object"&&(e=t,t=void 0),typeof e!="object")throw new TypeError("options must be an object");const{unbiased:r=!0,mean:n=this.mean(t)}=e;if(typeof r!="boolean")throw new TypeError("unbiased must be a boolean");switch(t){case"row":{if(!Xe.isAnyArray(n))throw new TypeError("mean must be an array");return M1(this,r,n)}case"column":{if(!Xe.isAnyArray(n))throw new TypeError("mean must be an array");return N1(this,r,n)}case void 0:{if(typeof n!="number")throw new TypeError("mean must be a number");return S1(this,r,n)}default:throw new Error(`invalid option: ${t}`)}}standardDeviation(t,e){typeof t=="object"&&(e=t,t=void 0);const r=this.variance(t,e);if(t===void 0)return Math.sqrt(r);for(let n=0;n<r.length;n++)r[n]=Math.sqrt(r[n]);return r}center(t,e={}){if(typeof t=="object"&&(e=t,t=void 0),typeof e!="object")throw new TypeError("options must be an object");const{center:r=this.mean(t)}=e;switch(t){case"row":{if(!Xe.isAnyArray(r))throw new TypeError("center must be an array");return B1(this,r),this}case"column":{if(!Xe.isAnyArray(r))throw new TypeError("center must be an array");return T1(this,r),this}case void 0:{if(typeof r!="number")throw new TypeError("center must be a number");return I1(this,r),this}default:throw new Error(`invalid option: ${t}`)}}scale(t,e={}){if(typeof t=="object"&&(e=t,t=void 0),typeof e!="object")throw new TypeError("options must be an object");let r=e.scale;switch(t){case"row":{if(r===void 0)r=O1(this);else if(!Xe.isAnyArray(r))throw new TypeError("scale must be an array");return $1(this,r),this}case"column":{if(r===void 0)r=R1(this);else if(!Xe.isAnyArray(r))throw new TypeError("scale must be an array");return L1(this,r),this}case void 0:{if(r===void 0)r=P1(this);else if(typeof r!="number")throw new TypeError("scale must be a number");return z1(this,r),this}default:throw new Error(`invalid option: ${t}`)}}toString(t){return Tf(this,t)}[Symbol.iterator](){return this.entries()}*entries(){for(let t=0;t<this.rows;t++)for(let e=0;e<this.columns;e++)yield[t,e,this.get(t,e)]}*values(){for(let t=0;t<this.rows;t++)for(let e=0;e<this.columns;e++)yield this.get(t,e)}}Ot.prototype.klass="Matrix",typeof Symbol<"u"&&(Ot.prototype[Symbol.for("nodejs.util.inspect.custom")]=v1);function Of(i,t){return i-t}function q1(i){return i.every(t=>typeof t=="number")}Ot.random=Ot.rand,Ot.randomInt=Ot.randInt,Ot.diagonal=Ot.diag,Ot.prototype.diagonal=Ot.prototype.diag,Ot.identity=Ot.eye,Ot.prototype.negate=Ot.prototype.neg,Ot.prototype.tensorProduct=Ot.prototype.kroneckerProduct;let pt=(Di=class extends Ot{constructor(e,r){super();yl(this,Xi);q(this,"data");if(Di.isMatrix(e))Dl(this,Xi,bl).call(this,e.rows,e.columns),Di.copy(e,this);else if(Number.isInteger(e)&&e>=0)Dl(this,Xi,bl).call(this,e,r);else if(Xe.isAnyArray(e)){const n=e;if(e=n.length,r=e?n[0].length:0,typeof r!="number")throw new TypeError("Data must be a 2D array with at least one element");this.data=[];for(let s=0;s<e;s++){if(n[s].length!==r)throw new RangeError("Inconsistent array dimensions");if(!q1(n[s]))throw new TypeError("Input data contains non-numeric values");this.data.push(Float64Array.from(n[s]))}this.rows=e,this.columns=r}else throw new TypeError("First argument must be a positive number or an array")}set(e,r,n){return this.data[e][r]=n,this}get(e,r){return this.data[e][r]}removeRow(e){return vr(this,e),this.data.splice(e,1),this.rows-=1,this}addRow(e,r){return r===void 0&&(r=e,e=this.rows),vr(this,e,!0),r=Float64Array.from(di(this,r)),this.data.splice(e,0,r),this.rows+=1,this}removeColumn(e){wr(this,e);for(let r=0;r<this.rows;r++){const n=new Float64Array(this.columns-1);for(let s=0;s<e;s++)n[s]=this.data[r][s];for(let s=e+1;s<this.columns;s++)n[s-1]=this.data[r][s];this.data[r]=n}return this.columns-=1,this}addColumn(e,r){typeof r>"u"&&(r=e,e=this.columns),wr(this,e,!0),r=_i(this,r);for(let n=0;n<this.rows;n++){const s=new Float64Array(this.columns+1);let a=0;for(;a<e;a++)s[a]=this.data[n][a];for(s[a++]=r[n];a<this.columns+1;a++)s[a]=this.data[n][a-1];this.data[n]=s}return this.columns+=1,this}},Xi=new WeakSet,bl=function(e,r){if(this.data=[],Number.isInteger(r)&&r>=0)for(let n=0;n<e;n++)this.data.push(new Float64Array(r));else throw new TypeError("nColumns must be a positive integer");this.rows=e,this.columns=r},Di);D1(Ot,pt);const lo=class lo extends Ot{constructor(e){super();yl(this,ke,void 0);if(pt.isMatrix(e)){if(!e.isSymmetric())throw new TypeError("not symmetric data");ea(this,ke,pt.copy(e,new pt(e.rows,e.rows)))}else if(Number.isInteger(e)&&e>=0)ea(this,ke,new pt(e,e));else if(ea(this,ke,new pt(e)),!this.isSymmetric())throw new TypeError("not symmetric data")}get size(){return zr(this,ke).size}get rows(){return zr(this,ke).rows}get columns(){return zr(this,ke).columns}get diagonalSize(){return this.rows}static isSymmetricMatrix(e){return pt.isMatrix(e)&&e.klassType==="SymmetricMatrix"}static zeros(e){return new this(e)}static ones(e){return new this(e).fill(1)}clone(){const e=new lo(this.diagonalSize);for(const[r,n,s]of this.upperRightEntries())e.set(r,n,s);return e}toMatrix(){return new pt(this)}get(e,r){return zr(this,ke).get(e,r)}set(e,r,n){return zr(this,ke).set(e,r,n),zr(this,ke).set(r,e,n),this}removeCross(e){return zr(this,ke).removeRow(e),zr(this,ke).removeColumn(e),this}addCross(e,r){r===void 0&&(r=e,e=this.diagonalSize);const n=r.slice();return n.splice(e,1),zr(this,ke).addRow(e,n),zr(this,ke).addColumn(e,r),this}applyMask(e){if(e.length!==this.diagonalSize)throw new RangeError("Mask size do not match with matrix size");const r=[];for(const[n,s]of e.entries())s||r.push(n);r.reverse();for(const n of r)this.removeCross(n);return this}toCompact(){const{diagonalSize:e}=this,r=new Array(e*(e+1)/2);for(let n=0,s=0,a=0;a<r.length;a++)r[a]=this.get(s,n),++n>=e&&(n=++s);return r}static fromCompact(e){const r=e.length,n=(Math.sqrt(8*r+1)-1)/2;if(!Number.isInteger(n))throw new TypeError(`This array is not a compact representation of a Symmetric Matrix, ${JSON.stringify(e)}`);const s=new lo(n);for(let a=0,l=0,c=0;c<r;c++)s.set(a,l,e[c]),++a>=n&&(a=++l);return s}*upperRightEntries(){for(let e=0,r=0;e<this.diagonalSize;void 0){const n=this.get(e,r);yield[e,r,n],++r>=this.diagonalSize&&(r=++e)}}*upperRightValues(){for(let e=0,r=0;e<this.diagonalSize;void 0)yield this.get(e,r),++r>=this.diagonalSize&&(r=++e)}};ke=new WeakMap;let jn=lo;jn.prototype.klassType="SymmetricMatrix";class Vs extends jn{static isDistanceMatrix(t){return jn.isSymmetricMatrix(t)&&t.klassSubType==="DistanceMatrix"}constructor(t){if(super(t),!this.isDistance())throw new TypeError("Provided arguments do no produce a distance matrix")}set(t,e,r){return t===e&&(r=0),super.set(t,e,r)}addCross(t,e){return e===void 0&&(e=t,t=this.diagonalSize),e=e.slice(),e[t]=0,super.addCross(t,e)}toSymmetricMatrix(){return new jn(this)}clone(){const t=new Vs(this.diagonalSize);for(const[e,r,n]of this.upperRightEntries())e!==r&&t.set(e,r,n);return t}toCompact(){const{diagonalSize:t}=this,e=(t-1)*t/2,r=new Array(e);for(let n=1,s=0,a=0;a<r.length;a++)r[a]=this.get(s,n),++n>=t&&(n=++s+1);return r}static fromCompact(t){const e=t.length,r=(Math.sqrt(8*e+1)+1)/2;if(!Number.isInteger(r))throw new TypeError(`This array is not a compact representation of a DistanceMatrix, ${JSON.stringify(t)}`);const n=new this(r);for(let s=1,a=0,l=0;l<e;l++)n.set(s,a,t[l]),++s>=r&&(s=++a+1);return n}}Vs.prototype.klassSubType="DistanceMatrix";class Vr extends Ot{constructor(t,e,r){super(),this.matrix=t,this.rows=e,this.columns=r}}class k1 extends Vr{constructor(t,e){wr(t,e),super(t,t.rows,1),this.column=e}set(t,e,r){return this.matrix.set(t,this.column,r),this}get(t){return this.matrix.get(t,this.column)}}class U1 extends Vr{constructor(t,e){Ba(t,e),super(t,t.rows,e.length),this.columnIndices=e}set(t,e,r){return this.matrix.set(t,this.columnIndices[e],r),this}get(t,e){return this.matrix.get(t,this.columnIndices[e])}}class W1 extends Vr{constructor(t){super(t,t.rows,t.columns)}set(t,e,r){return this.matrix.set(t,this.columns-e-1,r),this}get(t,e){return this.matrix.get(t,this.columns-e-1)}}class j1 extends Vr{constructor(t){super(t,t.rows,t.columns)}set(t,e,r){return this.matrix.set(this.rows-t-1,e,r),this}get(t,e){return this.matrix.get(this.rows-t-1,e)}}class Y1 extends Vr{constructor(t,e){vr(t,e),super(t,1,t.columns),this.row=e}set(t,e,r){return this.matrix.set(this.row,e,r),this}get(t,e){return this.matrix.get(this.row,e)}}class Z1 extends Vr{constructor(t,e){Sa(t,e),super(t,e.length,t.columns),this.rowIndices=e}set(t,e,r){return this.matrix.set(this.rowIndices[t],e,r),this}get(t,e){return this.matrix.get(this.rowIndices[t],e)}}class Qs extends Vr{constructor(t,e,r){Sa(t,e),Ba(t,r),super(t,e.length,r.length),this.rowIndices=e,this.columnIndices=r}set(t,e,r){return this.matrix.set(this.rowIndices[t],this.columnIndices[e],r),this}get(t,e){return this.matrix.get(this.rowIndices[t],this.columnIndices[e])}}class G1 extends Vr{constructor(t,e,r,n,s){Ta(t,e,r,n,s),super(t,r-e+1,s-n+1),this.startRow=e,this.startColumn=n}set(t,e,r){return this.matrix.set(this.startRow+t,this.startColumn+e,r),this}get(t,e){return this.matrix.get(this.startRow+t,this.startColumn+e)}}class K1 extends Vr{constructor(t){super(t,t.columns,t.rows)}set(t,e,r){return this.matrix.set(e,t,r),this}get(t,e){return this.matrix.get(e,t)}}class $f extends Ot{constructor(t,e={}){const{rows:r=1}=e;if(t.length%r!==0)throw new Error("the data length is not divisible by the number of rows");super(),this.rows=r,this.columns=t.length/r,this.data=t}set(t,e,r){let n=this._calculateIndex(t,e);return this.data[n]=r,this}get(t,e){let r=this._calculateIndex(t,e);return this.data[r]}_calculateIndex(t,e){return t*this.columns+e}}class sr extends Ot{constructor(t){super(),this.data=t,this.rows=t.length,this.columns=t[0].length}set(t,e,r){return this.data[t][e]=r,this}get(t,e){return this.data[t][e]}}function H1(i,t){if(Xe.isAnyArray(i))return i[0]&&Xe.isAnyArray(i[0])?new sr(i):new $f(i,t);throw new Error("the argument is not an array")}class to{constructor(t){t=sr.checkMatrix(t);let e=t.clone(),r=e.rows,n=e.columns,s=new Float64Array(r),a=1,l,c,h,p,f,d,g,w,m;for(l=0;l<r;l++)s[l]=l;for(w=new Float64Array(r),c=0;c<n;c++){for(l=0;l<r;l++)w[l]=e.get(l,c);for(l=0;l<r;l++){for(m=Math.min(l,c),f=0,h=0;h<m;h++)f+=e.get(l,h)*w[h];w[l]-=f,e.set(l,c,w[l])}for(p=c,l=c+1;l<r;l++)Math.abs(w[l])>Math.abs(w[p])&&(p=l);if(p!==c){for(h=0;h<n;h++)d=e.get(p,h),e.set(p,h,e.get(c,h)),e.set(c,h,d);g=s[p],s[p]=s[c],s[c]=g,a=-a}if(c<r&&e.get(c,c)!==0)for(l=c+1;l<r;l++)e.set(l,c,e.get(l,c)/e.get(c,c))}this.LU=e,this.pivotVector=s,this.pivotSign=a}isSingular(){let t=this.LU,e=t.columns;for(let r=0;r<e;r++)if(t.get(r,r)===0)return!0;return!1}solve(t){t=pt.checkMatrix(t);let e=this.LU;if(e.rows!==t.rows)throw new Error("Invalid matrix dimensions");if(this.isSingular())throw new Error("LU matrix is singular");let n=t.columns,s=t.subMatrixRow(this.pivotVector,0,n-1),a=e.columns,l,c,h;for(h=0;h<a;h++)for(l=h+1;l<a;l++)for(c=0;c<n;c++)s.set(l,c,s.get(l,c)-s.get(h,c)*e.get(l,h));for(h=a-1;h>=0;h--){for(c=0;c<n;c++)s.set(h,c,s.get(h,c)/e.get(h,h));for(l=0;l<h;l++)for(c=0;c<n;c++)s.set(l,c,s.get(l,c)-s.get(h,c)*e.get(l,h))}return s}get determinant(){let t=this.LU;if(!t.isSquare())throw new Error("Matrix must be square");let e=this.pivotSign,r=t.columns;for(let n=0;n<r;n++)e*=t.get(n,n);return e}get lowerTriangularMatrix(){let t=this.LU,e=t.rows,r=t.columns,n=new pt(e,r);for(let s=0;s<e;s++)for(let a=0;a<r;a++)s>a?n.set(s,a,t.get(s,a)):s===a?n.set(s,a,1):n.set(s,a,0);return n}get upperTriangularMatrix(){let t=this.LU,e=t.rows,r=t.columns,n=new pt(e,r);for(let s=0;s<e;s++)for(let a=0;a<r;a++)s<=a?n.set(s,a,t.get(s,a)):n.set(s,a,0);return n}get pivotPermutationVector(){return Array.from(this.pivotVector)}}function Qr(i,t){let e=0;return Math.abs(i)>Math.abs(t)?(e=t/i,Math.abs(i)*Math.sqrt(1+e*e)):t!==0?(e=i/t,Math.abs(t)*Math.sqrt(1+e*e)):0}class Ia{constructor(t){t=sr.checkMatrix(t);let e=t.clone(),r=t.rows,n=t.columns,s=new Float64Array(n),a,l,c,h;for(c=0;c<n;c++){let p=0;for(a=c;a<r;a++)p=Qr(p,e.get(a,c));if(p!==0){for(e.get(c,c)<0&&(p=-p),a=c;a<r;a++)e.set(a,c,e.get(a,c)/p);for(e.set(c,c,e.get(c,c)+1),l=c+1;l<n;l++){for(h=0,a=c;a<r;a++)h+=e.get(a,c)*e.get(a,l);for(h=-h/e.get(c,c),a=c;a<r;a++)e.set(a,l,e.get(a,l)+h*e.get(a,c))}}s[c]=-p}this.QR=e,this.Rdiag=s}solve(t){t=pt.checkMatrix(t);let e=this.QR,r=e.rows;if(t.rows!==r)throw new Error("Matrix row dimensions must agree");if(!this.isFullRank())throw new Error("Matrix is rank deficient");let n=t.columns,s=t.clone(),a=e.columns,l,c,h,p;for(h=0;h<a;h++)for(c=0;c<n;c++){for(p=0,l=h;l<r;l++)p+=e.get(l,h)*s.get(l,c);for(p=-p/e.get(h,h),l=h;l<r;l++)s.set(l,c,s.get(l,c)+p*e.get(l,h))}for(h=a-1;h>=0;h--){for(c=0;c<n;c++)s.set(h,c,s.get(h,c)/this.Rdiag[h]);for(l=0;l<h;l++)for(c=0;c<n;c++)s.set(l,c,s.get(l,c)-s.get(h,c)*e.get(l,h))}return s.subMatrix(0,a-1,0,n-1)}isFullRank(){let t=this.QR.columns;for(let e=0;e<t;e++)if(this.Rdiag[e]===0)return!1;return!0}get upperTriangularMatrix(){let t=this.QR,e=t.columns,r=new pt(e,e),n,s;for(n=0;n<e;n++)for(s=0;s<e;s++)n<s?r.set(n,s,t.get(n,s)):n===s?r.set(n,s,this.Rdiag[n]):r.set(n,s,0);return r}get orthogonalMatrix(){let t=this.QR,e=t.rows,r=t.columns,n=new pt(e,r),s,a,l,c;for(l=r-1;l>=0;l--){for(s=0;s<e;s++)n.set(s,l,0);for(n.set(l,l,1),a=l;a<r;a++)if(t.get(l,l)!==0){for(c=0,s=l;s<e;s++)c+=t.get(s,l)*n.get(s,a);for(c=-c/t.get(l,l),s=l;s<e;s++)n.set(s,a,n.get(s,a)+c*t.get(s,l))}}return n}}class gi{constructor(t,e={}){if(t=sr.checkMatrix(t),t.isEmpty())throw new Error("Matrix must be non-empty");let r=t.rows,n=t.columns;const{computeLeftSingularVectors:s=!0,computeRightSingularVectors:a=!0,autoTranspose:l=!1}=e;let c=!!s,h=!!a,p=!1,f;if(r<n)if(!l)f=t.clone(),console.warn("Computing SVD on a matrix with more columns than rows. Consider enabling autoTranspose");else{f=t.transpose(),r=f.rows,n=f.columns,p=!0;let C=c;c=h,h=C}else f=t.clone();let d=Math.min(r,n),g=Math.min(r+1,n),w=new Float64Array(g),m=new pt(r,d),D=new pt(n,n),v=new Float64Array(n),E=new Float64Array(r),b=new Float64Array(g);for(let C=0;C<g;C++)b[C]=C;let N=Math.min(r-1,n),x=Math.max(0,Math.min(n-2,r)),F=Math.max(N,x);for(let C=0;C<F;C++){if(C<N){w[C]=0;for(let T=C;T<r;T++)w[C]=Qr(w[C],f.get(T,C));if(w[C]!==0){f.get(C,C)<0&&(w[C]=-w[C]);for(let T=C;T<r;T++)f.set(T,C,f.get(T,C)/w[C]);f.set(C,C,f.get(C,C)+1)}w[C]=-w[C]}for(let T=C+1;T<n;T++){if(C<N&&w[C]!==0){let R=0;for(let U=C;U<r;U++)R+=f.get(U,C)*f.get(U,T);R=-R/f.get(C,C);for(let U=C;U<r;U++)f.set(U,T,f.get(U,T)+R*f.get(U,C))}v[T]=f.get(C,T)}if(c&&C<N)for(let T=C;T<r;T++)m.set(T,C,f.get(T,C));if(C<x){v[C]=0;for(let T=C+1;T<n;T++)v[C]=Qr(v[C],v[T]);if(v[C]!==0){v[C+1]<0&&(v[C]=0-v[C]);for(let T=C+1;T<n;T++)v[T]/=v[C];v[C+1]+=1}if(v[C]=-v[C],C+1<r&&v[C]!==0){for(let T=C+1;T<r;T++)E[T]=0;for(let T=C+1;T<r;T++)for(let R=C+1;R<n;R++)E[T]+=v[R]*f.get(T,R);for(let T=C+1;T<n;T++){let R=-v[T]/v[C+1];for(let U=C+1;U<r;U++)f.set(U,T,f.get(U,T)+R*E[U])}}if(h)for(let T=C+1;T<n;T++)D.set(T,C,v[T])}}let M=Math.min(n,r+1);if(N<n&&(w[N]=f.get(N,N)),r<M&&(w[M-1]=0),x+1<M&&(v[x]=f.get(x,M-1)),v[M-1]=0,c){for(let C=N;C<d;C++){for(let T=0;T<r;T++)m.set(T,C,0);m.set(C,C,1)}for(let C=N-1;C>=0;C--)if(w[C]!==0){for(let T=C+1;T<d;T++){let R=0;for(let U=C;U<r;U++)R+=m.get(U,C)*m.get(U,T);R=-R/m.get(C,C);for(let U=C;U<r;U++)m.set(U,T,m.get(U,T)+R*m.get(U,C))}for(let T=C;T<r;T++)m.set(T,C,-m.get(T,C));m.set(C,C,1+m.get(C,C));for(let T=0;T<C-1;T++)m.set(T,C,0)}else{for(let T=0;T<r;T++)m.set(T,C,0);m.set(C,C,1)}}if(h)for(let C=n-1;C>=0;C--){if(C<x&&v[C]!==0)for(let T=C+1;T<n;T++){let R=0;for(let U=C+1;U<n;U++)R+=D.get(U,C)*D.get(U,T);R=-R/D.get(C+1,C);for(let U=C+1;U<n;U++)D.set(U,T,D.get(U,T)+R*D.get(U,C))}for(let T=0;T<n;T++)D.set(T,C,0);D.set(C,C,1)}let S=M-1,O=Number.EPSILON;for(;M>0;){let C,T;for(C=M-2;C>=-1&&C!==-1;C--){const R=Number.MIN_VALUE+O*Math.abs(w[C]+Math.abs(w[C+1]));if(Math.abs(v[C])<=R||Number.isNaN(v[C])){v[C]=0;break}}if(C===M-2)T=4;else{let R;for(R=M-1;R>=C&&R!==C;R--){let U=(R!==M?Math.abs(v[R]):0)+(R!==C+1?Math.abs(v[R-1]):0);if(Math.abs(w[R])<=O*U){w[R]=0;break}}R===C?T=3:R===M-1?T=1:(T=2,C=R)}switch(C++,T){case 1:{let R=v[M-2];v[M-2]=0;for(let U=M-2;U>=C;U--){let k=Qr(w[U],R),W=w[U]/k,P=R/k;if(w[U]=k,U!==C&&(R=-P*v[U-1],v[U-1]=W*v[U-1]),h)for(let K=0;K<n;K++)k=W*D.get(K,U)+P*D.get(K,M-1),D.set(K,M-1,-P*D.get(K,U)+W*D.get(K,M-1)),D.set(K,U,k)}break}case 2:{let R=v[C-1];v[C-1]=0;for(let U=C;U<M;U++){let k=Qr(w[U],R),W=w[U]/k,P=R/k;if(w[U]=k,R=-P*v[U],v[U]=W*v[U],c)for(let K=0;K<r;K++)k=W*m.get(K,U)+P*m.get(K,C-1),m.set(K,C-1,-P*m.get(K,U)+W*m.get(K,C-1)),m.set(K,U,k)}break}case 3:{const R=Math.max(Math.abs(w[M-1]),Math.abs(w[M-2]),Math.abs(v[M-2]),Math.abs(w[C]),Math.abs(v[C])),U=w[M-1]/R,k=w[M-2]/R,W=v[M-2]/R,P=w[C]/R,K=v[C]/R,G=((k+U)*(k-U)+W*W)/2,V=U*W*(U*W);let tt=0;(G!==0||V!==0)&&(G<0?tt=0-Math.sqrt(G*G+V):tt=Math.sqrt(G*G+V),tt=V/(G+tt));let ct=(P+U)*(P-U)+tt,gt=P*K;for(let lt=C;lt<M-1;lt++){let wt=Qr(ct,gt);wt===0&&(wt=Number.MIN_VALUE);let Dt=ct/wt,St=gt/wt;if(lt!==C&&(v[lt-1]=wt),ct=Dt*w[lt]+St*v[lt],v[lt]=Dt*v[lt]-St*w[lt],gt=St*w[lt+1],w[lt+1]=Dt*w[lt+1],h)for(let bt=0;bt<n;bt++)wt=Dt*D.get(bt,lt)+St*D.get(bt,lt+1),D.set(bt,lt+1,-St*D.get(bt,lt)+Dt*D.get(bt,lt+1)),D.set(bt,lt,wt);if(wt=Qr(ct,gt),wt===0&&(wt=Number.MIN_VALUE),Dt=ct/wt,St=gt/wt,w[lt]=wt,ct=Dt*v[lt]+St*w[lt+1],w[lt+1]=-St*v[lt]+Dt*w[lt+1],gt=St*v[lt+1],v[lt+1]=Dt*v[lt+1],c&<<r-1)for(let bt=0;bt<r;bt++)wt=Dt*m.get(bt,lt)+St*m.get(bt,lt+1),m.set(bt,lt+1,-St*m.get(bt,lt)+Dt*m.get(bt,lt+1)),m.set(bt,lt,wt)}v[M-2]=ct;break}case 4:{if(w[C]<=0&&(w[C]=w[C]<0?-w[C]:0,h))for(let R=0;R<=S;R++)D.set(R,C,-D.get(R,C));for(;C<S&&!(w[C]>=w[C+1]);){let R=w[C];if(w[C]=w[C+1],w[C+1]=R,h&&C<n-1)for(let U=0;U<n;U++)R=D.get(U,C+1),D.set(U,C+1,D.get(U,C)),D.set(U,C,R);if(c&&C<r-1)for(let U=0;U<r;U++)R=m.get(U,C+1),m.set(U,C+1,m.get(U,C)),m.set(U,C,R);C++}M--;break}}}if(p){let C=D;D=m,m=C}this.m=r,this.n=n,this.s=w,this.U=m,this.V=D}solve(t){let e=t,r=this.threshold,n=this.s.length,s=pt.zeros(n,n);for(let d=0;d<n;d++)Math.abs(this.s[d])<=r?s.set(d,d,0):s.set(d,d,1/this.s[d]);let a=this.U,l=this.rightSingularVectors,c=l.mmul(s),h=l.rows,p=a.rows,f=pt.zeros(h,p);for(let d=0;d<h;d++)for(let g=0;g<p;g++){let w=0;for(let m=0;m<n;m++)w+=c.get(d,m)*a.get(g,m);f.set(d,g,w)}return f.mmul(e)}solveForDiagonal(t){return this.solve(pt.diag(t))}inverse(){let t=this.V,e=this.threshold,r=t.rows,n=t.columns,s=new pt(r,this.s.length);for(let p=0;p<r;p++)for(let f=0;f<n;f++)Math.abs(this.s[f])>e&&s.set(p,f,t.get(p,f)/this.s[f]);let a=this.U,l=a.rows,c=a.columns,h=new pt(r,l);for(let p=0;p<r;p++)for(let f=0;f<l;f++){let d=0;for(let g=0;g<c;g++)d+=s.get(p,g)*a.get(f,g);h.set(p,f,d)}return h}get condition(){return this.s[0]/this.s[Math.min(this.m,this.n)-1]}get norm2(){return this.s[0]}get rank(){let t=Math.max(this.m,this.n)*this.s[0]*Number.EPSILON,e=0,r=this.s;for(let n=0,s=r.length;n<s;n++)r[n]>t&&e++;return e}get diagonal(){return Array.from(this.s)}get threshold(){return Number.EPSILON/2*Math.max(this.m,this.n)*this.s[0]}get leftSingularVectors(){return this.U}get rightSingularVectors(){return this.V}get diagonalMatrix(){return pt.diag(this.s)}}function J1(i,t=!1){return i=sr.checkMatrix(i),t?new gi(i).inverse():Rf(i,pt.eye(i.rows))}function Rf(i,t,e=!1){return i=sr.checkMatrix(i),t=sr.checkMatrix(t),e?new gi(i).solve(t):i.isSquare()?new to(i).solve(t):new Ia(i).solve(t)}function eo(i){if(i=pt.checkMatrix(i),i.isSquare()){if(i.columns===0)return 1;let t,e,r,n;if(i.columns===2)return t=i.get(0,0),e=i.get(0,1),r=i.get(1,0),n=i.get(1,1),t*n-e*r;if(i.columns===3){let s,a,l;return s=new Qs(i,[1,2],[1,2]),a=new Qs(i,[1,2],[0,2]),l=new Qs(i,[1,2],[0,1]),t=i.get(0,0),e=i.get(0,1),r=i.get(0,2),t*eo(s)-e*eo(a)+r*eo(l)}else return new to(i).determinant}else throw Error("determinant can only be calculated for a square matrix")}function X1(i,t){let e=[];for(let r=0;r<i;r++)r!==t&&e.push(r);return e}function V1(i,t,e,r=1e-9,n=1e-9){if(i>n)return new Array(t.rows+1).fill(0);{let s=t.addRow(e,[0]);for(let a=0;a<s.rows;a++)Math.abs(s.get(a,0))<r&&s.set(a,0,0);return s.to1DArray()}}function Q1(i,t={}){const{thresholdValue:e=1e-9,thresholdError:r=1e-9}=t;i=pt.checkMatrix(i);let n=i.rows,s=new pt(n,n);for(let a=0;a<n;a++){let l=pt.columnVector(i.getRow(a)),c=i.subMatrixRow(X1(n,a)).transpose(),p=new gi(c).solve(l),f=pt.sub(l,c.mmul(p)).abs().max();s.setRow(a,V1(f,p,a,e,r))}return s}function tw(i,t=Number.EPSILON){if(i=pt.checkMatrix(i),i.isEmpty())return i.transpose();let e=new gi(i,{autoTranspose:!0}),r=e.leftSingularVectors,n=e.rightSingularVectors,s=e.diagonal;for(let a=0;a<s.length;a++)Math.abs(s[a])>t?s[a]=1/s[a]:s[a]=0;return n.mmul(pt.diag(s).mmul(r.transpose()))}function ew(i,t=i,e={}){i=new pt(i);let r=!1;if(typeof t=="object"&&!pt.isMatrix(t)&&!Xe.isAnyArray(t)?(e=t,t=i,r=!0):t=new pt(t),i.rows!==t.rows)throw new TypeError("Both matrices must have the same number of rows");const{center:n=!0}=e;n&&(i=i.center("column"),r||(t=t.center("column")));const s=i.transpose().mmul(t);for(let a=0;a<s.rows;a++)for(let l=0;l<s.columns;l++)s.set(a,l,s.get(a,l)*(1/(i.rows-1)));return s}function rw(i,t=i,e={}){i=new pt(i);let r=!1;if(typeof t=="object"&&!pt.isMatrix(t)&&!Xe.isAnyArray(t)?(e=t,t=i,r=!0):t=new pt(t),i.rows!==t.rows)throw new TypeError("Both matrices must have the same number of rows");const{center:n=!0,scale:s=!0}=e;n&&(i.center("column"),r||t.center("column")),s&&(i.scale("column"),r||t.scale("column"));const a=i.standardDeviation("column",{unbiased:!0}),l=r?a:t.standardDeviation("column",{unbiased:!0}),c=i.transpose().mmul(t);for(let h=0;h<c.rows;h++)for(let p=0;p<c.columns;p++)c.set(h,p,c.get(h,p)*(1/(a[h]*l[p]))*(1/(i.rows-1)));return c}let Lf=class{constructor(t,e={}){const{assumeSymmetric:r=!1}=e;if(t=sr.checkMatrix(t),!t.isSquare())throw new Error("Matrix is not a square matrix");if(t.isEmpty())throw new Error("Matrix must be non-empty");let n=t.columns,s=new pt(n,n),a=new Float64Array(n),l=new Float64Array(n),c=t,h,p,f=!1;if(r?f=!0:f=t.isSymmetric(),f){for(h=0;h<n;h++)for(p=0;p<n;p++)s.set(h,p,c.get(h,p));nw(n,l,a,s),iw(n,l,a,s)}else{let d=new pt(n,n),g=new Float64Array(n);for(p=0;p<n;p++)for(h=0;h<n;h++)d.set(h,p,c.get(h,p));sw(n,d,g,s),ow(n,l,a,s,d)}this.n=n,this.e=l,this.d=a,this.V=s}get realEigenvalues(){return Array.from(this.d)}get imaginaryEigenvalues(){return Array.from(this.e)}get eigenvectorMatrix(){return this.V}get diagonalMatrix(){let t=this.n,e=this.e,r=this.d,n=new pt(t,t),s,a;for(s=0;s<t;s++){for(a=0;a<t;a++)n.set(s,a,0);n.set(s,s,r[s]),e[s]>0?n.set(s,s+1,e[s]):e[s]<0&&n.set(s,s-1,e[s])}return n}};function nw(i,t,e,r){let n,s,a,l,c,h,p,f;for(c=0;c<i;c++)e[c]=r.get(i-1,c);for(l=i-1;l>0;l--){for(f=0,a=0,h=0;h<l;h++)f=f+Math.abs(e[h]);if(f===0)for(t[l]=e[l-1],c=0;c<l;c++)e[c]=r.get(l-1,c),r.set(l,c,0),r.set(c,l,0);else{for(h=0;h<l;h++)e[h]/=f,a+=e[h]*e[h];for(n=e[l-1],s=Math.sqrt(a),n>0&&(s=-s),t[l]=f*s,a=a-n*s,e[l-1]=n-s,c=0;c<l;c++)t[c]=0;for(c=0;c<l;c++){for(n=e[c],r.set(c,l,n),s=t[c]+r.get(c,c)*n,h=c+1;h<=l-1;h++)s+=r.get(h,c)*e[h],t[h]+=r.get(h,c)*n;t[c]=s}for(n=0,c=0;c<l;c++)t[c]/=a,n+=t[c]*e[c];for(p=n/(a+a),c=0;c<l;c++)t[c]-=p*e[c];for(c=0;c<l;c++){for(n=e[c],s=t[c],h=c;h<=l-1;h++)r.set(h,c,r.get(h,c)-(n*t[h]+s*e[h]));e[c]=r.get(l-1,c),r.set(l,c,0)}}e[l]=a}for(l=0;l<i-1;l++){if(r.set(i-1,l,r.get(l,l)),r.set(l,l,1),a=e[l+1],a!==0){for(h=0;h<=l;h++)e[h]=r.get(h,l+1)/a;for(c=0;c<=l;c++){for(s=0,h=0;h<=l;h++)s+=r.get(h,l+1)*r.get(h,c);for(h=0;h<=l;h++)r.set(h,c,r.get(h,c)-s*e[h])}}for(h=0;h<=l;h++)r.set(h,l+1,0)}for(c=0;c<i;c++)e[c]=r.get(i-1,c),r.set(i-1,c,0);r.set(i-1,i-1,1),t[0]=0}function iw(i,t,e,r){let n,s,a,l,c,h,p,f,d,g,w,m,D,v,E,b;for(a=1;a<i;a++)t[a-1]=t[a];t[i-1]=0;let N=0,x=0,F=Number.EPSILON;for(h=0;h<i;h++){for(x=Math.max(x,Math.abs(e[h])+Math.abs(t[h])),p=h;p<i&&!(Math.abs(t[p])<=F*x);)p++;if(p>h)do{for(n=e[h],f=(e[h+1]-n)/(2*t[h]),d=Qr(f,1),f<0&&(d=-d),e[h]=t[h]/(f+d),e[h+1]=t[h]*(f+d),g=e[h+1],s=n-e[h],a=h+2;a<i;a++)e[a]-=s;for(N=N+s,f=e[p],w=1,m=w,D=w,v=t[h+1],E=0,b=0,a=p-1;a>=h;a--)for(D=m,m=w,b=E,n=w*t[a],s=w*f,d=Qr(f,t[a]),t[a+1]=E*d,E=t[a]/d,w=f/d,f=w*e[a]-E*n,e[a+1]=s+E*(w*n+E*e[a]),c=0;c<i;c++)s=r.get(c,a+1),r.set(c,a+1,E*r.get(c,a)+w*s),r.set(c,a,w*r.get(c,a)-E*s);f=-E*b*D*v*t[h]/g,t[h]=E*f,e[h]=w*f}while(Math.abs(t[h])>F*x);e[h]=e[h]+N,t[h]=0}for(a=0;a<i-1;a++){for(c=a,f=e[a],l=a+1;l<i;l++)e[l]<f&&(c=l,f=e[l]);if(c!==a)for(e[c]=e[a],e[a]=f,l=0;l<i;l++)f=r.get(l,a),r.set(l,a,r.get(l,c)),r.set(l,c,f)}}function sw(i,t,e,r){let n=0,s=i-1,a,l,c,h,p,f,d;for(f=n+1;f<=s-1;f++){for(d=0,h=f;h<=s;h++)d=d+Math.abs(t.get(h,f-1));if(d!==0){for(c=0,h=s;h>=f;h--)e[h]=t.get(h,f-1)/d,c+=e[h]*e[h];for(l=Math.sqrt(c),e[f]>0&&(l=-l),c=c-e[f]*l,e[f]=e[f]-l,p=f;p<i;p++){for(a=0,h=s;h>=f;h--)a+=e[h]*t.get(h,p);for(a=a/c,h=f;h<=s;h++)t.set(h,p,t.get(h,p)-a*e[h])}for(h=0;h<=s;h++){for(a=0,p=s;p>=f;p--)a+=e[p]*t.get(h,p);for(a=a/c,p=f;p<=s;p++)t.set(h,p,t.get(h,p)-a*e[p])}e[f]=d*e[f],t.set(f,f-1,d*l)}}for(h=0;h<i;h++)for(p=0;p<i;p++)r.set(h,p,h===p?1:0);for(f=s-1;f>=n+1;f--)if(t.get(f,f-1)!==0){for(h=f+1;h<=s;h++)e[h]=t.get(h,f-1);for(p=f;p<=s;p++){for(l=0,h=f;h<=s;h++)l+=e[h]*r.get(h,p);for(l=l/e[f]/t.get(f,f-1),h=f;h<=s;h++)r.set(h,p,r.get(h,p)+l*e[h])}}}function ow(i,t,e,r,n){let s=i-1,a=0,l=i-1,c=Number.EPSILON,h=0,p=0,f=0,d=0,g=0,w=0,m=0,D=0,v,E,b,N,x,F,M,S,O,C,T,R,U,k,W;for(v=0;v<i;v++)for((v<a||v>l)&&(e[v]=n.get(v,v),t[v]=0),E=Math.max(v-1,0);E<i;E++)p=p+Math.abs(n.get(v,E));for(;s>=a;){for(N=s;N>a&&(w=Math.abs(n.get(N-1,N-1))+Math.abs(n.get(N,N)),w===0&&(w=p),!(Math.abs(n.get(N,N-1))<c*w));)N--;if(N===s)n.set(s,s,n.get(s,s)+h),e[s]=n.get(s,s),t[s]=0,s--,D=0;else if(N===s-1){if(M=n.get(s,s-1)*n.get(s-1,s),f=(n.get(s-1,s-1)-n.get(s,s))/2,d=f*f+M,m=Math.sqrt(Math.abs(d)),n.set(s,s,n.get(s,s)+h),n.set(s-1,s-1,n.get(s-1,s-1)+h),S=n.get(s,s),d>=0){for(m=f>=0?f+m:f-m,e[s-1]=S+m,e[s]=e[s-1],m!==0&&(e[s]=S-M/m),t[s-1]=0,t[s]=0,S=n.get(s,s-1),w=Math.abs(S)+Math.abs(m),f=S/w,d=m/w,g=Math.sqrt(f*f+d*d),f=f/g,d=d/g,E=s-1;E<i;E++)m=n.get(s-1,E),n.set(s-1,E,d*m+f*n.get(s,E)),n.set(s,E,d*n.get(s,E)-f*m);for(v=0;v<=s;v++)m=n.get(v,s-1),n.set(v,s-1,d*m+f*n.get(v,s)),n.set(v,s,d*n.get(v,s)-f*m);for(v=a;v<=l;v++)m=r.get(v,s-1),r.set(v,s-1,d*m+f*r.get(v,s)),r.set(v,s,d*r.get(v,s)-f*m)}else e[s-1]=S+f,e[s]=S+f,t[s-1]=m,t[s]=-m;s=s-2,D=0}else{if(S=n.get(s,s),O=0,M=0,N<s&&(O=n.get(s-1,s-1),M=n.get(s,s-1)*n.get(s-1,s)),D===10){for(h+=S,v=a;v<=s;v++)n.set(v,v,n.get(v,v)-S);w=Math.abs(n.get(s,s-1))+Math.abs(n.get(s-1,s-2)),S=O=.75*w,M=-.4375*w*w}if(D===30&&(w=(O-S)/2,w=w*w+M,w>0)){for(w=Math.sqrt(w),O<S&&(w=-w),w=S-M/((O-S)/2+w),v=a;v<=s;v++)n.set(v,v,n.get(v,v)-w);h+=w,S=O=M=.964}for(D=D+1,x=s-2;x>=N&&(m=n.get(x,x),g=S-m,w=O-m,f=(g*w-M)/n.get(x+1,x)+n.get(x,x+1),d=n.get(x+1,x+1)-m-g-w,g=n.get(x+2,x+1),w=Math.abs(f)+Math.abs(d)+Math.abs(g),f=f/w,d=d/w,g=g/w,!(x===N||Math.abs(n.get(x,x-1))*(Math.abs(d)+Math.abs(g))<c*(Math.abs(f)*(Math.abs(n.get(x-1,x-1))+Math.abs(m)+Math.abs(n.get(x+1,x+1))))));)x--;for(v=x+2;v<=s;v++)n.set(v,v-2,0),v>x+2&&n.set(v,v-3,0);for(b=x;b<=s-1&&(k=b!==s-1,b!==x&&(f=n.get(b,b-1),d=n.get(b+1,b-1),g=k?n.get(b+2,b-1):0,S=Math.abs(f)+Math.abs(d)+Math.abs(g),S!==0&&(f=f/S,d=d/S,g=g/S)),S!==0);b++)if(w=Math.sqrt(f*f+d*d+g*g),f<0&&(w=-w),w!==0){for(b!==x?n.set(b,b-1,-w*S):N!==x&&n.set(b,b-1,-n.get(b,b-1)),f=f+w,S=f/w,O=d/w,m=g/w,d=d/f,g=g/f,E=b;E<i;E++)f=n.get(b,E)+d*n.get(b+1,E),k&&(f=f+g*n.get(b+2,E),n.set(b+2,E,n.get(b+2,E)-f*m)),n.set(b,E,n.get(b,E)-f*S),n.set(b+1,E,n.get(b+1,E)-f*O);for(v=0;v<=Math.min(s,b+3);v++)f=S*n.get(v,b)+O*n.get(v,b+1),k&&(f=f+m*n.get(v,b+2),n.set(v,b+2,n.get(v,b+2)-f*g)),n.set(v,b,n.get(v,b)-f),n.set(v,b+1,n.get(v,b+1)-f*d);for(v=a;v<=l;v++)f=S*r.get(v,b)+O*r.get(v,b+1),k&&(f=f+m*r.get(v,b+2),r.set(v,b+2,r.get(v,b+2)-f*g)),r.set(v,b,r.get(v,b)-f),r.set(v,b+1,r.get(v,b+1)-f*d)}}}if(p!==0){for(s=i-1;s>=0;s--)if(f=e[s],d=t[s],d===0)for(N=s,n.set(s,s,1),v=s-1;v>=0;v--){for(M=n.get(v,v)-f,g=0,E=N;E<=s;E++)g=g+n.get(v,E)*n.get(E,s);if(t[v]<0)m=M,w=g;else if(N=v,t[v]===0?n.set(v,s,M!==0?-g/M:-g/(c*p)):(S=n.get(v,v+1),O=n.get(v+1,v),d=(e[v]-f)*(e[v]-f)+t[v]*t[v],F=(S*w-m*g)/d,n.set(v,s,F),n.set(v+1,s,Math.abs(S)>Math.abs(m)?(-g-M*F)/S:(-w-O*F)/m)),F=Math.abs(n.get(v,s)),c*F*F>1)for(E=v;E<=s;E++)n.set(E,s,n.get(E,s)/F)}else if(d<0)for(N=s-1,Math.abs(n.get(s,s-1))>Math.abs(n.get(s-1,s))?(n.set(s-1,s-1,d/n.get(s,s-1)),n.set(s-1,s,-(n.get(s,s)-f)/n.get(s,s-1))):(W=ro(0,-n.get(s-1,s),n.get(s-1,s-1)-f,d),n.set(s-1,s-1,W[0]),n.set(s-1,s,W[1])),n.set(s,s-1,0),n.set(s,s,1),v=s-2;v>=0;v--){for(C=0,T=0,E=N;E<=s;E++)C=C+n.get(v,E)*n.get(E,s-1),T=T+n.get(v,E)*n.get(E,s);if(M=n.get(v,v)-f,t[v]<0)m=M,g=C,w=T;else if(N=v,t[v]===0?(W=ro(-C,-T,M,d),n.set(v,s-1,W[0]),n.set(v,s,W[1])):(S=n.get(v,v+1),O=n.get(v+1,v),R=(e[v]-f)*(e[v]-f)+t[v]*t[v]-d*d,U=(e[v]-f)*2*d,R===0&&U===0&&(R=c*p*(Math.abs(M)+Math.abs(d)+Math.abs(S)+Math.abs(O)+Math.abs(m))),W=ro(S*g-m*C+d*T,S*w-m*T-d*C,R,U),n.set(v,s-1,W[0]),n.set(v,s,W[1]),Math.abs(S)>Math.abs(m)+Math.abs(d)?(n.set(v+1,s-1,(-C-M*n.get(v,s-1)+d*n.get(v,s))/S),n.set(v+1,s,(-T-M*n.get(v,s)-d*n.get(v,s-1))/S)):(W=ro(-g-O*n.get(v,s-1),-w-O*n.get(v,s),m,d),n.set(v+1,s-1,W[0]),n.set(v+1,s,W[1]))),F=Math.max(Math.abs(n.get(v,s-1)),Math.abs(n.get(v,s))),c*F*F>1)for(E=v;E<=s;E++)n.set(E,s-1,n.get(E,s-1)/F),n.set(E,s,n.get(E,s)/F)}for(v=0;v<i;v++)if(v<a||v>l)for(E=v;E<i;E++)r.set(v,E,n.get(v,E));for(E=i-1;E>=a;E--)for(v=a;v<=l;v++){for(m=0,b=a;b<=Math.min(E,l);b++)m=m+r.get(v,b)*n.get(b,E);r.set(v,E,m)}}}function ro(i,t,e,r){let n,s;return Math.abs(e)>Math.abs(r)?(n=r/e,s=e+n*r,[(i+n*t)/s,(t-n*i)/s]):(n=e/r,s=r+n*e,[(n*i+t)/s,(n*t-i)/s])}class Pf{constructor(t){if(t=sr.checkMatrix(t),!t.isSymmetric())throw new Error("Matrix is not symmetric");let e=t,r=e.rows,n=new pt(r,r),s=!0,a,l,c;for(l=0;l<r;l++){let h=0;for(c=0;c<l;c++){let p=0;for(a=0;a<c;a++)p+=n.get(c,a)*n.get(l,a);p=(e.get(l,c)-p)/n.get(c,c),n.set(l,c,p),h=h+p*p}for(h=e.get(l,l)-h,s&=h>0,n.set(l,l,Math.sqrt(Math.max(h,0))),c=l+1;c<r;c++)n.set(l,c,0)}this.L=n,this.positiveDefinite=!!s}isPositiveDefinite(){return this.positiveDefinite}solve(t){t=sr.checkMatrix(t);let e=this.L,r=e.rows;if(t.rows!==r)throw new Error("Matrix dimensions do not match");if(this.isPositiveDefinite()===!1)throw new Error("Matrix is not positive definite");let n=t.columns,s=t.clone(),a,l,c;for(c=0;c<r;c++)for(l=0;l<n;l++){for(a=0;a<c;a++)s.set(c,l,s.get(c,l)-s.get(a,l)*e.get(c,a));s.set(c,l,s.get(c,l)/e.get(c,c))}for(c=r-1;c>=0;c--)for(l=0;l<n;l++){for(a=c+1;a<r;a++)s.set(c,l,s.get(c,l)-s.get(a,l)*e.get(a,c));s.set(c,l,s.get(c,l)/e.get(c,c))}return s}get lowerTriangularMatrix(){return this.L}}class zf{constructor(t,e={}){t=sr.checkMatrix(t);let{Y:r}=e;const{scaleScores:n=!1,maxIterations:s=1e3,terminationCriteria:a=1e-10}=e;let l;if(r){if(Xe.isAnyArray(r)&&typeof r[0]=="number"?r=pt.columnVector(r):r=sr.checkMatrix(r),r.rows!==t.rows)throw new Error("Y should have the same number of rows as X");l=r.getColumnVector(0)}else l=t.getColumnVector(0);let c=1,h,p,f,d;for(let g=0;g<s&&c>a;g++)f=t.transpose().mmul(l).div(l.transpose().mmul(l).get(0,0)),f=f.div(f.norm()),h=t.mmul(f).div(f.transpose().mmul(f).get(0,0)),g>0&&(c=h.clone().sub(d).pow(2).sum()),d=h.clone(),r?(p=r.transpose().mmul(h).div(h.transpose().mmul(h).get(0,0)),p=p.div(p.norm()),l=r.mmul(p).div(p.transpose().mmul(p).get(0,0))):l=h;if(r){let g=t.transpose().mmul(h).div(h.transpose().mmul(h).get(0,0));g=g.div(g.norm());let w=t.clone().sub(h.clone().mmul(g.transpose())),m=l.transpose().mmul(h).div(h.transpose().mmul(h).get(0,0)),D=r.clone().sub(h.clone().mulS(m.get(0,0)).mmul(p.transpose()));this.t=h,this.p=g.transpose(),this.w=f.transpose(),this.q=p,this.u=l,this.s=h.transpose().mmul(h),this.xResidual=w,this.yResidual=D,this.betas=m}else this.w=f.transpose(),this.s=h.transpose().mmul(h).sqrt(),n?this.t=h.clone().div(this.s.get(0,0)):this.t=h,this.xResidual=t.sub(h.mmul(f.transpose()))}}Pt.AbstractMatrix=Ot,Pt.CHO=Pf,Pt.CholeskyDecomposition=Pf,Pt.DistanceMatrix=Vs,Pt.EVD=Lf;var aw=Pt.EigenvalueDecomposition=Lf;Pt.LU=to,Pt.LuDecomposition=to;var qf=Pt.Matrix=pt;Pt.MatrixColumnSelectionView=U1,Pt.MatrixColumnView=k1,Pt.MatrixFlipColumnView=W1,Pt.MatrixFlipRowView=j1,Pt.MatrixRowSelectionView=Z1,Pt.MatrixRowView=Y1,Pt.MatrixSelectionView=Qs,Pt.MatrixSubView=G1,Pt.MatrixTransposeView=K1,Pt.NIPALS=zf,Pt.Nipals=zf,Pt.QR=Ia,Pt.QrDecomposition=Ia,Pt.SVD=gi,Pt.SingularValueDecomposition=gi,Pt.SymmetricMatrix=jn,Pt.WrapperMatrix1D=$f,Pt.WrapperMatrix2D=sr,Pt.correlation=rw,Pt.covariance=ew;var kf=Pt.default=pt;Pt.determinant=eo,Pt.inverse=J1,Pt.linearDependencies=Q1,Pt.pseudoInverse=tw,Pt.solve=Rf,Pt.wrap=H1;const Uf=aw,Wf=qf;kf.Matrix&&kf.Matrix;class uw{new({rows:t,columns:e,initial_value:r}={}){return new Oa(t,e,r)}avg({id:t}){return t==null?void 0:t.avg()}col({id:t,column:e}){return t==null?void 0:t.col({column:e})}det({id:t}){return t==null?void 0:t.det()}get({id:t,row:e,column:r}){return t==null?void 0:t.get({row:e,column:r})}inv({id:t}){return t==null?void 0:t.inv()}max({id:t}){return t==null?void 0:t.max()}min({id:t}){return t==null?void 0:t.min()}pow({id:t,power:e}){return t==null?void 0:t.pow({power:e})}row({id:t,row:e}){return t==null?void 0:t.row({row:e})}set({id:t,row:e,column:r,value:n}){t==null||t.set({row:e,column:r,value:n})}sum({id1:t,id2:e}){return t==null?void 0:t.sum({id2:e})}copy({id:t}){return t==null?void 0:t.copy()}diff({id1:t,id2:e}){return t==null?void 0:t.diff({id2:e})}rows({id:t}){return t==null?void 0:t.rows()}columns({id:t}){return t==null?void 0:t.columns()}fill({id:t,value:e,from_row:r,to_row:n,from_column:s,to_column:a}){t==null||t.fill({value:e,from_row:r,to_row:n,from_column:s,to_column:a})}kron({id1:t,id2:e}){return t==null?void 0:t.kron({id2:e})}mode({id:t}){return t==null?void 0:t.mode()}mult({id1:t,id2:e}){return t==null?void 0:t.mult({id2:e})}pinv({id:t}){return t==null?void 0:t.pinv()}rank({id:t}){return t==null?void 0:t.rank()}sort({id:t,column:e,order:r}){t==null||t.sort({column:e,order:r})}trace({id:t}){return t==null?void 0:t.trace()}concat({id1:t,id2:e}){return t==null?void 0:t.concat({id2:e})}median({id:t}){return t==null?void 0:t.median()}add_col({id:t,column:e,array_id:r}){t==null||t.add_col({column:e,array_id:r})}add_row({id:t,row:e,array_id:r}){t==null||t.add_row({row:e,array_id:r})}is_zero({id:t}){return t==null?void 0:t.is_zero()}reshape({id:t,rows:e,columns:r}){return t==null?void 0:t.reshape({rows:e,columns:r})}reverse({id:t}){t==null||t.reverse()}is_binary({id:t}){return t==null?void 0:t.is_binary()}is_square({id:t}){return t==null?void 0:t.is_square()}submatrix({id:t,from_row:e,to_row:r,from_column:n,to_column:s}){return t==null?void 0:t.submatrix({from_row:e,to_row:r,from_column:n,to_column:s})}swap_rows({id:t,row1:e,row2:r}){t==null||t.swap_rows({row1:e,row2:r})}transpose({id:t}){return t==null?void 0:t.transpose()}remove_col({id:t,column:e}){return t==null?void 0:t.remove_col({column:e})}remove_row({id:t,row:e}){return t==null?void 0:t.remove_row({row:e})}eigenvalues({id:t}){return t==null?void 0:t.eigenvalues()}is_diagonal({id:t}){return t==null?void 0:t.is_diagonal()}is_identity({id:t}){return t==null?void 0:t.is_identity()}eigenvectors({id:t}){return t==null?void 0:t.eigenvectors()}is_symmetric({id:t}){return t==null?void 0:t.is_symmetric()}swap_columns({id:t,column1:e,column2:r}){t==null||t.swap_columns({column1:e,column2:r})}is_stochastic({id:t}){return t==null?void 0:t.is_stochastic()}is_triangular({id:t}){return t==null?void 0:t.is_triangular()}elements_count({id:t}){return t==null?void 0:t.elements_count()}is_antidiagonal({id:t}){return t==null?void 0:t.is_antidiagonal()}is_antisymmetric({id:t}){return t==null?void 0:t.is_antisymmetric()}}class Oa{constructor(t=0,e=0,r=void 0){q(this,"_matrixInstance");this._matrixInstance=this._createMatrix(t,e,r)}get _matrixArray(){return this._matrixInstance.map(t=>[...t._value])}get _value(){return this._matrixInstance}set _value(t){this._matrixInstance=t}get isMatrix(){return!0}_createMatrix(t,e,r){return Array.from(new Array(t),()=>new Jt(e,r))}avg(){let t=0,e=0;for(const n of this._matrixInstance)for(const s of n._value)t+=s,e+=1;return t/e}col({column:t=0}){const e=[];for(const n of this._matrixInstance)e.push(n._value[t]);const r=new Jt;return r._value=e,r}det(){return Mf(this._matrixArray)}get({row:t=0,column:e=0}){var r,n;return(n=(r=this._matrixInstance[t])==null?void 0:r._value)==null?void 0:n[e]}inv(){const t=Ks(this._matrixArray);return this._newMatrix(t)}max(){return e1(this._matrixArray)}min(){return Na(this._matrixArray)}pow({power:t}){const e=n1(this._matrixArray,t);return this._newMatrix(e)}row({row:t=0}){return this._matrixInstance[t]}set({row:t,column:e,value:r}){this._matrixInstance[t].set({index:e,value:r})}sum({id2:t}){const e=Zi(this._matrixArray,typeof t=="number"?t:t._matrixArray);return this._newMatrix(e)}copy(){return this._newMatrix(this._matrixArray)}diff({id2:t}){const e=Hv(this._matrixArray,typeof t=="number"?t:t._matrixArray);return this._newMatrix(e)}rows(){return this._matrixInstance.length}columns(){return this._matrixArray.length&&this._matrixArray[0].length}fill({value:t,from_row:e=0,to_row:r=this.rows(),from_column:n=0,to_column:s=this.columns()}={}){for(const[a,l]of this._matrixInstance.entries())for(const[c]of l._value.entries())a<r&&a>=e&&c>=n&&c<s&&l.set({index:c,value:t})}kron({id2:t}){const e=Gv(this._matrixArray,t._matrixArray);return this._newMatrix(e)}mode(){return Na(Df(this._matrixArray))}mult({id2:t}){const e=typeof t=="number"?t:t._matrixArray?t._matrixArray:t._value,r=pi(this._matrixArray,e);return this._newMatrix(r)}pinv(){const t=r1(this._matrixArray);return this._newMatrix(t)}rank(){return this._matrixRank(this._matrixArray)}sort({column:t=0,order:e=Pn.ascending}={}){this._matrixInstance.sort((r,n)=>{const s=r._value[t],a=n._value[t];return e!==Pn.descending?s-a:a-s})}trace(){return t1(this._matrixArray)}concat({id2:t}){for(const e of t._value)this._matrixInstance.push(e);return this}median(){return Nf(this._matrixArray)}add_col({column:t=this.columns(),array_id:e}={}){for(const[r,n]of this._matrixInstance.entries())n.insert({index:t,value:e?e._value[r]:void 0})}add_row({row:t,array_id:e}){this._matrixInstance.splice(t||this.rows(),0,e||new Jt(this.columns()))}is_zero(){return this._matrixArray.every(t=>t.every(e=>e===0))}reshape({rows:t,columns:e}){const r=Wv(this._matrixArray,[t,e]);this._matrixInstance=r.map(n=>{const s=new Jt;return s._value=[...n],s})}reverse(){this._matrixInstance.reverse();for(const t of this._matrixInstance)t.reverse()}is_binary(){return this._matrixArray.every(t=>t.every(e=>e===0||e===1))}is_square(){return this.rows()===this.columns()}submatrix({from_row:t=0,to_row:e=this.rows(),from_column:r=0,to_column:n=this.columns()}={}){const s=this._matrixArray.splice(t,e),a=[];for(const l of s)a.push(l.splice(r,n));return this._newMatrix(a)}swap_rows({row1:t,row2:e}){const r=this._matrixInstance[t],n=this._matrixInstance[e];this._matrixInstance[t]=n,this._matrixInstance[e]=r}transpose(){const t=Ef(this._matrixArray);return this._newMatrix(t)}remove_col({column:t=this.columns()}={}){const e=[];for(const n of this._matrixInstance){const s=n._value.splice(t,1);e.push(s[0])}const r=new Jt;return r._value=e,r}remove_row({row:t=this.rows()}={}){return this._matrixInstance.splice(t,1)[0]}eigenvalues(){const t=new Uf(new Wf(this._matrixArray)),e=new Jt;return e._value=t.realEigenvalues,e}is_diagonal(){const t=this.rows(),e=this.columns();if(t!==e)return!1;const r=this._matrixArray;for(let n=0;n<t;n++)for(let s=0;s<e;s++)if(n!==s&&r[n][s]!==0)return!1;return!0}is_identity(){const t=this.rows(),e=this.columns();if(t!==e)return!1;const r=this._matrixArray;for(let n=0;n<t;n++)for(let s=0;s<e;s++)if(n!==s&&r[n][s]!==0||n===s&&r[n][s]!==1)return!1;return!0}eigenvectors(){const t=new Uf(new Wf(this._matrixArray));return this._newMatrix(t.eigenvectorMatrix.to2DArray())}is_symmetric(){const t=this.rows(),e=this.columns();if(t!==e)return!1;const r=this._matrixArray;for(let n=0;n<t;n++)for(let s=n+1;s<e;s++)if(r[n][s]!==r[s][n])return!1;return!0}swap_columns({column1:t,column2:e}){for(const r of this._matrixInstance){const n=r._value[t],s=r._value[e];r.set({index:t,value:s}),r.set({index:e,value:n})}}is_stochastic(){const t=this._matrixArray;for(let e=0;e<t.length;e++){let r=0;for(let n=0;n<t[e].length;n++){if(t[e][n]<0)return!1;r+=t[e][n]}if(Math.abs(r-1)>Number.EPSILON)return!1}return!0}is_triangular(){const t=this.rows(),e=this.columns();return t!==e?!1:this._isUpperTriangular(t)||this._isLowerTriangular(t)}elements_count(){return jv(this._matrixArray)}is_antidiagonal(){const t=this.rows(),e=this.columns();if(t!==e)return!1;const r=this._matrixArray;for(let n=0;n<t;n++)for(let s=0;s<t;s++)if(n+s!==t-1&&r[n][s]!==0)return!1;return!0}is_antisymmetric(){const t=this.rows(),e=this.columns();if(t!==e)return!1;const r=this._matrixArray;for(let n=0;n<t;n++)for(let s=0;s<t;s++)if(n!==s&&r[n][s]!==-r[s][n])return!1;return!0}_isUpperTriangular(t){const e=this._matrixArray;for(let r=1;r<t;r++)for(let n=0;n<r;n++)if(e[r][n]!==0)return!1;return!0}_isLowerTriangular(t){const e=this._matrixArray;for(let r=0;r<t-1;r++)for(let n=r+1;n<t;n++)if(e[r][n]!==0)return!1;return!0}_newMatrix(t){const e=new Oa;return e._value=t.map(r=>{const n=new Jt;return n._value=[...r],n}),e}_matrixRank(t){let e=0;const r=t.length,n=t[0].length,s=[...t].map(a=>[...a]);for(let a=0;a<r&&!(a>=n);a++){let l=a;for(;l<r&&s[l][a]===0;)l++;if(l===r)continue;if(l!==a){const h=s[l];s[l]=s[a],s[a]=h}const c=s[a][a];for(let h=0;h<n;h++)s[a][h]/=c;for(let h=a+1;h<r;h++){const p=s[h][a];s[h]=s[h].map((f,d)=>f-p*s[a][d]),s[h][a]=0}}for(let a=0;a<r;a++)s[a].some(l=>Number(l.toFixed(8))!==0)&&e++;return e}}class lw{constructor(t){q(this,"_variables");q(this,"_cacheData");this._variables=t,this._cacheData={}}change({timeframe:t},e){const r=Hr(t),n=Hr(this._variables.timeframe.period);if(r<n)return!0;const s=`change_${e}`,a=this._cacheData[s],l=this._variables.time;if(a){if(a.offset){if(a.currentTime+a.offset<=l)return this._cacheData[s]={currentTime:l,offset:0},!0}else if(a.currentTime+r*1e3<=l)return this._cacheData[s]={currentTime:l,offset:0},!0}else{const c=this._calcTimeOffset(l,t);return this._cacheData[s]={currentTime:l,offset:c},!1}return!1}in_seconds({timeframe:t}={}){return Hr(t||this._variables.timeframe.period)}from_seconds({seconds:t=0}){const e=t*1e3,r=te.duration(e);if(r.years())return"12M";const s=r.asMonths();if(Zs(s))return`${s}M`;const a=r.asWeeks();if(Zs(a))return`${a}M`;const l=r.asDays();if(l>=1)return`${Math.ceil(l)}D`;const c=r.asMinutes();if(c>=1)return`${Math.ceil(c)}`;const h=r.asSeconds();return h<=1?"1S":h<=5?"5S":h<=10?"10S":h<=15?"15S":h<=30?"30S":"1"}_calcTimeOffset(t,e){let r=0;if(e.includes("W")){const l=te(t).day();e="1D",l!==1&&(r=(8-l)*60*60*24*1e3)}else if(e.includes("M")){const l=te(t).date();e="1D";const c=te(t).daysInMonth();l!==1&&(r=(c-l+1)*60*60*24*1e3)}const n=this._variables.getTimeTradingday(t,e),s=Hr(e)*1e3,a=t-n-Math.floor((t-n)/s)*s;return r?r-a:a}}class cw{pos({source:t,str:e}){return t==null?void 0:t.indexOf(e)}trim({source:t}){return t==null?void 0:t.trim()}lower({source:t}){return t==null?void 0:t.toLocaleLowerCase()}match({source:t,regex:e}){const r=t==null?void 0:t.match(new RegExp(e));return r?r[0]:""}split({string:t,separator:e}){const r=t==null?void 0:t.split(e),n=new Jt;return n._value=r||[],n}upper({source:t}){return t==null?void 0:t.toLocaleUpperCase()}format({formatString:t},e){return this._strFormat(t,e)}length({string:t}){return t==null?void 0:t.length}repeat({source:t,repeat:e=0,separator:r=""}){return Array.from(new Array(e),()=>t).join(r)}replace({source:t,target:e,replacement:r,occurrence:n=0}){let s=-1;for(let a=0;a<n+1&&(s=t.indexOf(e,s+1),s!==-1);a++);return s!==-1?t.substring(0,s)+r+t.substring(s+e.length):t}contains({source:t,str:e}){return t==null?void 0:t.includes(e)}endswith({source:t,str:e}){return t==null?void 0:t.endsWith(e)}tonumber({string:t}){if(/[^\d.]/.test(t))return;const e=parseFloat(t);return isNaN(e)?void 0:e}tostring({value:t,format:e}){if(t===void 0)return"NaN";if(typeof t=="object"){if(t.isArray)return this._arrToStr(t._value,e);if(t.isMatrix){const r=[];for(const n of t._matrixArray)r.push(this._arrToStr(n,e));return r.join(`
|
62
|
+
`)}}if(typeof t=="string")return t;if(typeof t=="boolean")return String(t);if(typeof t=="number")return this._formatNumber(t,e)}_arrToStr(t,e){return`[${t.map(n=>typeof n=="number"?this._formatNumber(n,e):n).toString()}]`}substring({source:t,begin_pos:e=0,end_pos:r}){return t==null?void 0:t.substring(e,r)}startswith({source:t,str:e}){return t==null?void 0:t.startsWith(e)}format_time({time:t,format:e="yyyy-MM-dd'T'HH:mm:ssZ",timezone:r}){return Nr(t,r).format(e)}replace_all({source:t,target:e,replacement:r}){return t==null?void 0:t.replace(new RegExp(e,"g"),r)}_formatNumber(t,e){if(!e)return t;switch(e){case"integer":return String(Math.round(t));case"currency":return`$${t}`;case"percent":return`${t*100}%`;default:const r=e.split(".")[1],n=r?r.length:0;return parseFloat(t.toFixed(n))}}_strFormat(t,e){let r=t;return e.forEach((n,s)=>{if(typeof n=="number"){const a=`\\{\\s*${s}\\s*,\\s*number\\s*,\\s*([^\\}]+)\\s*\\}`,l=t.match(new RegExp(a));if(l){const c=l[1];r=r.replace(new RegExp(a,"g"),String(this._formatNumber(n,c)))}else r=r.replace(new RegExp(`\\{${s}\\}`,"g"),String(n))}else r=r.replace(new RegExp(`\\{${s}\\}`,"g"),n)}),r}}class fw{new(){return new $a}copy({id:t}){return t==null?void 0:t.copy()}get({id:t,key:e}){return t==null?void 0:t.get({key:e})}put({id:t,key:e,value:r}){return t==null?void 0:t.put({key:e,value:r})}keys({id:t}){return t==null?void 0:t.keys()}size({id:t}){return t==null?void 0:t.size()}clear({id:t}){t==null||t.clear()}remove({id:t,key:e}){return t==null?void 0:t.remove({key:e})}values({id:t}){return t==null?void 0:t.values()}put_all({id:t,id2:e}){t==null||t.put_all({id2:e})}contains({id:t,key:e}){return t==null?void 0:t.contains({key:e})}}class $a{constructor(){q(this,"_mapInstance");this._mapInstance=new Map}get isMap(){return!0}_copyMap(t){const e=new $a;return e._mapInstance=new Map(t.entries()),e}copy(){return this._copyMap(this._mapInstance)}get({key:t}){return this._mapInstance.get(t)}put({key:t,value:e}){return this._mapInstance.set(t,e)}keys(){const t=new Jt;return t._value=[...this._mapInstance.keys()],t}size(){return this._mapInstance.size}clear(){this._mapInstance.clear()}remove({key:t}){const e=this._mapInstance.get(t);return this._mapInstance.delete(t),e||void 0}values(){const t=new Jt;return t._value=[...this._mapInstance.values()],t}put_all({id2:t}){this._mapInstance=new Map([...this._mapInstance,...t._mapInstance])}contains({key:t}){return this._mapInstance.has(t)}}class hw{constructor(t){q(this,"_variables");this._variables=t}new({price:t,time:e,index:r}){return new Yn(t,r,e)}now({price:t}){const{time:e,bar_index:r}=this._variables;return new Yn(t,r,e)}copy({id:t}){const{price:e,time:r,index:n}=t||{};return new Yn(e,n,r)}from_index({price:t,index:e}){return new Yn(t,e)}from_time({price:t,time:e}){return new Yn(t,void 0,e)}}class Yn{constructor(t,e,r){q(this,"_index");q(this,"_price");q(this,"_time");this._index=e,this._price=t,this._time=r}get index(){return this._index}get price(){return this._price}get time(){return this._time}copy(){return new Yn(this._price,this._index,this._time)}}class pw{constructor(t){q(this,"_variables");q(this,"_defaultLabel",{text:"",xloc:Ie.bar_index,yloc:zi.price,size:Ur.normal,style:me.styleLabelDown,textalign:He.alignCenter});this._variables=t}new(t,e){const r=`label_${e}`,n={...this._defaultLabel,...t,id:r};t.point&&(n.x=n.xloc===Ie.bar_index?t.point.index:t.point.time,n.y=t.point.price);const s=new Ki(r,this._variables);return this._variables.label.add(r,n,s),s}label(t,e){return t.x?t.x:new Ki(e,this._variables)}copy({id:t},e){return t==null?void 0:t.copy(e)}get_x({id:t},e){return t==null?void 0:t.get_x(e)}get_y({id:t},e){return t==null?void 0:t.get_y(e)}set_x({id:t,...e},r){t==null||t.set_x(e,r)}set_y({id:t,...e},r){t==null||t.set_y(e,r)}delete({id:t}){t==null||t.delete()}get_text({id:t},e){return t==null?void 0:t.get_text(e)}set_xy({id:t,...e},r){t==null||t.set_xy(e,r)}set_size({id:t,...e},r){t==null||t.set_size(e,r)}set_xloc({id:t,...e},r){t==null||t.set_xloc(e,r)}set_yloc({id:t,...e},r){t==null||t.set_yloc(e,r)}set_style({id:t,...e},r){t==null||t.set_style(e,r)}set_color({id:t,...e},r){t==null||t.set_color(e,r)}set_tooltip({id:t,...e},r){t==null||t.set_tooltip(e,r)}set_point({id:t,...e},r){t==null||t.set_point(e,r)}set_text({id:t,...e},r){t==null||t.set_text(e,r)}set_textcolor({id:t,...e},r){t==null||t.set_textcolor(e,r)}set_textalign({id:t,...e},r){t==null||t.set_textalign(e,r)}set_text_font_family({id:t,...e},r){t==null||t.set_text_font_family(e,r)}}class Ki{constructor(t,e){q(this,"_id");q(this,"_variables");this._id=t,this._variables=e}copy(t){const e=`label_${t}`,r=this._getLabel(t),n=new Ki(e,this._variables);return r&&this._variables.label.add(e,{...r,id:e},n),n}get_x(t){var e;return(e=this._getLabel(t))==null?void 0:e.x}get_y(t){var e;return(e=this._getLabel(t))==null?void 0:e.y}set_x({x:t},e){const r=this._getLabel(e);r&&(r.x=t)}set_y({y:t},e){const r=this._getLabel(e);r&&(r.y=t)}delete(){this._variables.label.delete(this._id)}set_xy({x:t,y:e},r){const n=this._getLabel(r);n&&(n.x=t,n.y=e)}get_text(t){var e;return(e=this._getLabel(t))==null?void 0:e.text}set_size({size:t},e){const r=this._getLabel(e);r&&(r.size=t)}set_text({text:t},e){const r=this._getLabel(e);r&&(r.text=t)}set_xloc({x:t,xloc:e},r){const n=this._getLabel(r);n&&(n.x=t,n.xloc=e)}set_yloc({yloc:t},e){const r=this._getLabel(e);r&&(r.yloc=t)}set_color({color:t},e){const r=this._getLabel(e);r&&(r.color=t)}set_point({point:t},e){const r=this._getLabel(e);r&&(r.x=r.xloc===Ie.bar_index?t==null?void 0:t.index:t==null?void 0:t.time,r.y=t==null?void 0:t.price)}set_style({style:t},e){const r=this._getLabel(e);r&&(r.style=t)}set_tooltip({tooltip:t},e){const r=this._getLabel(e);r&&(r.tooltip=t)}set_textalign({textalign:t},e){const r=this._getLabel(e);r&&(r.textalign=t)}set_textcolor({textcolor:t},e){const r=this._getLabel(e);r&&(r.textcolor=t)}set_text_font_family({text_font_family:t},e){const r=this._getLabel(e);r&&(r.text_font_family=t)}_getLabel(t){const e=this._variables.label.get(this._id);return e||console.log(`错误${t}: label 不存在`),e}}const dw={freq_all:hn.freqAll,freq_once_per_bar:hn.freqOncePerBar,freq_once_per_bar_close:hn.freqOncePerBarClose},_w={gaps_off:Pi.gapsOff,gaps_on:Pi.gapsOn,lookahead_off:Pi.lookaheadOff,lookahead_on:Pi.lookaheadOn},vi={aqua:"#00BCD4",black:"#363A45",blue:"#2196F3",fuchsia:"#E040FB",gray:"#787B86",green:"#4CAF50",lime:"#00E676",maroon:"#880E4F",navy:"#311B92",olive:"#808000",orange:"#FF9800",purple:"#9C27B0",red:"#FF5252",silver:"#B2B5BE",teal:"#00897B",white:"#FFFFFF",yellow:"#FFEB3B"},jf={AUD:"AUD",BTC:"BTC",CAD:"CAD",CHF:"CHF",ETH:"ETH",EUR:"EUR",GBP:"GBP",HKD:"HKD",INR:"INR",JPY:"JPY",KRW:"KRW",MYR:"MYR",NOK:"NOK",NONE:"NONE",NZD:"NZD",RUB:"RUB",SEK:"SEK",SGD:"SGD",TRY:"TRY",USD:"USD",USDT:"USDT",ZAR:"ZAR"},mw={friday:6,monday:2,saturday:7,sunday:1,thursday:5,tuesday:3,wednesday:4},gw={all:[rr.dataWindow,rr.pane,rr.priceScale,rr.statusLine],data_window:[rr.dataWindow],none:[],pane:[rr.pane],price_scale:[rr.priceScale],status_line:[rr.statusLine]},vw={both:Rn.both,left:Rn.left,none:Rn.none,right:Rn.right},ww={inherit:Ln.inherit,mintick:Ln.mintick,percent:Ln.percent,price:Ln.price,volume:Ln.volume},yw={style_solid:gs.styleSolid,style_dashed:gs.styleDashed,style_dotted:gs.styleDotted},Dw={style_arrowdown:me.styleArrowdown,style_arrowup:me.styleArrowup,style_circle:me.styleCircle,style_cross:me.styleCross,style_diamond:me.styleDiamond,style_flag:me.styleFlag,style_label_center:me.styleLabelCenter,style_label_down:me.styleLabelDown,style_label_left:me.styleLabelLeft,style_label_lower_left:me.styleLabelLowerLeft,style_label_lower_right:me.styleLabelLowerRight,style_label_right:me.styleLabelRight,style_label_up:me.styleLabelUp,style_label_upper_left:me.styleLabelUpperLeft,style_label_upper_right:me.styleLabelUpperRight,style_none:me.styleNone,style_square:me.styleSquare,style_text_outline:me.styleTextOutline,style_triangledown:me.styleTriangledown,style_triangleup:me.styleTriangleup,style_xcross:me.styleXcross},bw={style_arrow_both:kr.styleArrowBoth,style_arrow_left:kr.styleArrowLeft,style_arrow_right:kr.styleArrowRight,style_dashed:kr.styleDashed,style_dotted:kr.styleDotted,style_solid:kr.styleSolid},Ew={abovebar:ii.abovebar,absolute:ii.absolute,belowbar:ii.belowbar,bottom:ii.bottom,top:ii.top},xw={e:2.718281828459045,phi:1.618033988749895,pi:3.141592653589793,rphi:.6180339887498948},Aw={style_area:mr.styleArea,style_areabr:mr.styleAreabr,style_circles:mr.styleCircles,style_columns:mr.styleColumns,style_cross:mr.styleCross,style_histogram:mr.styleHistogram,style_line:mr.styleLine,style_linebr:mr.styleLinebr,style_stepline:mr.styleStepline,style_stepline_diamond:mr.styleSteplineDiamond,style_steplinebr:mr.styleSteplinebr},Cw={bottom_center:Sr.bottomCenter,bottom_left:Sr.bottomLeft,bottom_right:Sr.bottomRight,middle_center:Sr.middleCenter,middle_left:Sr.middleLeft,middle_right:Sr.middleRight,top_center:Sr.topCenter,top_left:Sr.topLeft,top_right:Sr.topRight},Fw={left:vs.left,none:vs.none,right:vs.right},Mw={arrowdown:nr.arrowdown,arrowup:nr.arrowup,circle:nr.circle,cross:nr.cross,diamond:nr.diamond,flag:nr.flag,labeldown:nr.labeldown,labelup:nr.labelup,square:nr.square,triangledown:nr.triangledown,triangleup:nr.triangleup,xcross:nr.xcross},Nw={auto:Ur.auto,huge:Ur.huge,large:Ur.large,normal:Ur.normal,small:Ur.small,tiny:Ur.tiny},Sw={cash:Ye.cash,fixed:Ye.fixed,percent_of_equity:Ye.percentOfEquity,commission:{cash_per_contract:Br.cashPerContract,cash_per_order:Br.cashPerOrder,percent:Br.percent},direction:{all:he.all,long:he.long,short:he.short},oca:{cancel:zn.cancel,none:zn.none,reduce:zn.reduce}},Bw={align_bottom:He.alignBottom,align_center:He.alignCenter,align_left:He.alignLeft,align_right:He.alignRight,align_top:He.alignTop,wrap_auto:He.wrapAuto,wrap_none:He.wrapNone},Tw={bar_index:Ie.bar_index,bar_time:Ie.bar_time},Iw={abovebar:zi.abovebar,belowbar:zi.belowbar,price:zi.price},Ow={actual:ws.actual,estimate:ws.estimate,standardized:ws.standardized};class $w{constructor(){q(this,"adjustment",{dividends:ms.dividends,none:ms.none,splits:ms.splits});q(this,"alert",dw);q(this,"barmerge",_w);q(this,"color",vi);q(this,"currency",jf);q(this,"dayofweek",mw);q(this,"earnings",Ow);q(this,"display",gw);q(this,"extend",vw);q(this,"font",{family_default:"SimSun",family_monospace:"Monospace"});q(this,"format",ww);q(this,"hline",yw);q(this,"label",Dw);q(this,"line",bw);q(this,"location",Ew);q(this,"math",xw);q(this,"order",{ascending:Pn.ascending,descending:Pn.descending});q(this,"plot",Aw);q(this,"position",Cw);q(this,"scale",Fw);q(this,"session",{extended:ra.extended,regular:ra.regular});q(this,"shape",Mw);q(this,"size",Nw);q(this,"splits",{denominator:"denominator",numerator:"numerator"});q(this,"strategy",Sw);q(this,"text",Bw);q(this,"xloc",Tw);q(this,"yloc",Iw)}updateData(){}}class Rw{constructor(t){q(this,"_variables");q(this,"_defaultPolyline",{curved:!1,closed:!1,xloc:Ie.bar_index,line_color:vi.blue,line_style:kr.styleSolid,line_width:1});this._variables=t}new(t,e){const r=`polyline_${e}`,n=Object.assign({},this._defaultPolyline,t,{id:r}),s=new Yf(r,this._variables);return this._variables.polyline.add(r,n,s),s}delete({id:t}){t&&t.delete()}}class Yf{constructor(t,e){q(this,"_id");q(this,"_variables");this._variables=e,this._id=t}delete(){this._variables.polyline.delete(this._id)}}class Lw{constructor(t){q(this,"_variables");q(this,"_defaultLine",{xloc:Ie.bar_index,extend:Rn.none,style:kr.styleSolid});this._variables=t}new({first_point:t,second_point:e,...r},n){const s=`line_${n}`,a={...this._defaultLine,...r,id:s};if(t&&e){const c=a.xloc===Ie.bar_index?t.index:t.time,h=a.xloc===Ie.bar_index?e.index:e.time;Object.assign(a,{x1:c,y1:t.price,x2:h,y2:e.price})}const l=new Hi(s,this._variables);return this._variables.line.add(s,a,l),l}line(t,e){return t.x?t.x:new Hi(e,this._variables)}copy({id:t},e){return t==null?void 0:t.copy(e)}delete({id:t}){t==null||t.delete()}get_x1({id:t},e){return t==null?void 0:t.get_x1(e)}get_x2({id:t},e){return t==null?void 0:t.get_x2(e)}get_y1({id:t},e){return t==null?void 0:t.get_y1(e)}get_y2({id:t},e){return t==null?void 0:t.get_y2(e)}set_x1({id:t,...e},r){t==null||t.set_x1(e,r)}set_x2({id:t,...e},r){t==null||t.set_x2(e,r)}set_y1({id:t,...e},r){t==null||t.set_y1(e,r)}set_y2({id:t,...e},r){t==null||t.set_y2(e,r)}set_xy1({id:t,...e},r){t==null||t.set_xy1(e,r)}set_xy2({id:t,...e},r){t==null||t.set_xy2(e,r)}set_xloc({id:t,...e},r){t==null||t.set_xloc(e,r)}get_price({id:t,...e},r){return t==null?void 0:t.get_price(e,r)}set_color({id:t,...e},r){t==null||t.set_color(e,r)}set_style({id:t,...e},r){t==null||t.set_style(e,r)}set_width({id:t,...e},r){t==null||t.set_width(e,r)}set_extend({id:t,...e},r){t==null||t.set_extend(e,r)}set_first_point({id:t,...e},r){t==null||t.set_first_point(e,r)}set_second_point({id:t,...e},r){t==null||t.set_second_point(e,r)}}class Hi{constructor(t,e){q(this,"_variables");q(this,"_id");this._id=t,this._variables=e}get data(){return this._variables.line.get(this._id)}copy(t){const e=`line_${t}`,r=this._getLine(t),n=new Hi(e,this._variables);return r&&this._variables.line.add(e,{...r,id:e},n),n}delete(){this._variables.line.delete(this._id)}get_price({x:t},e){const r=this._getLine(e);if(t===void 0)return t;if(r&&r.xloc===Ie.bar_index){const{x1:n,y1:s,x2:a,y2:l}=r;return n===void 0||a===void 0||s===void 0||l===void 0?void 0:(l-s)/(a-n)*(t-n)+s}}get_x1(t){var e;return(e=this._getLine(t))==null?void 0:e.x1}get_x2(t){var e;return(e=this._getLine(t))==null?void 0:e.x2}get_y1(t){var e;return(e=this._getLine(t))==null?void 0:e.y1}get_y2(t){var e;return(e=this._getLine(t))==null?void 0:e.y2}set_x1({x:t},e){const r=this._getLine(e);r&&(r.x1=t)}set_x2({x:t},e){const r=this._getLine(e);r&&(r.x2=t)}set_y1({y:t},e){const r=this._getLine(e);r&&(r.y1=t)}set_y2({y:t},e){const r=this._getLine(e);r&&(r.y2=t)}set_xy1({x:t,y:e},r){const n=this._getLine(r);n&&(n.x1=t,n.y1=e)}set_xy2({x:t,y:e},r){const n=this._getLine(r);n&&(n.x2=t,n.y2=e)}set_xloc({xloc:t,x1:e,x2:r},n){const s=this._getLine(n);s&&(s.xloc=t,s.x1=e,s.x2=r)}set_color({color:t},e){const r=this._getLine(e);r&&(r.color=t)}set_style({style:t},e){const r=this._getLine(e);r&&(r.style=t)}set_width({width:t},e){const r=this._getLine(e);r&&(r.width=t)}set_extend({extend:t},e){const r=this._getLine(e);r&&(r.extend=t)}set_first_point({point:t},e){const r=this._getLine(e);if(r){const{index:n,time:s,price:a}=t||{},l=r.xloc===Ie.bar_index?n:s,c=a;l&&(r.x1=l),c&&(r.y1=c)}}set_second_point({point:t},e){const r=this._getLine(e);if(r){const{index:n,time:s,price:a}=t||{},l=r.xloc===Ie.bar_index?n:s,c=a;l&&(r.x2=l),c&&(r.y2=c)}}_getLine(t){const e=this._variables.line.get(this._id);return e||console.log(`${t}: line 不存在`),e}}class Pw{constructor(t){q(this,"_variables");this._variables=t}new({line1:t,line2:e,color:r},n){const s=`linefill_${n}`,a=t==null?void 0:t.data,l=e==null?void 0:e.data;a&&(a.linefills=a.linefills||[],a.linefills.push(s)),l&&(l.linefills=l.linefills||[],l.linefills.push(s));const c=new no(this._variables,s,t,e);return(a||l)&&this._variables.linefill.add(s,{line1:a,line2:l,color:r,id:s},c),c}delete({id:t}){t==null||t.delete()}get_line1({id:t}){return t==null?void 0:t.get_line1()}get_line2({id:t}){return t==null?void 0:t.get_line2()}set_color({id:t,...e}){t==null||t.set_color(e)}}class no{constructor(t,e,r,n){q(this,"_id");q(this,"_line1");q(this,"_line2");q(this,"_variables");this._variables=t,this._id=e,this._line1=r,this._line2=n}linefill(t,e){return t.x?t.x:new no(this._variables,e)}delete(){var e,r;const t=this._variables.linefill.get(this._id);if(t){const{line1:n,line2:s}=t;n&&(n.linefills=(e=n.linefills)==null?void 0:e.filter(a=>a!==this._id)),s&&(s.linefills=(r=s.linefills)==null?void 0:r.filter(a=>a!==this._id))}this._line1=void 0,this._line2=void 0,this._variables.linefill.delete(this._id)}get_line1(){return this._line1}get_line2(){return this._line2}set_color({color:t}){const e=this._variables.linefill.get(this._id);e&&(e.color=t)}}class zw{constructor(t){q(this,"_variables");q(this,"_defaultBox",{border_color:vi.blue,border_width:1,bgcolor:vi.blue,xloc:Ie.bar_index,extend:Rn.none,style:kr.styleSolid,text:"",text_size:Ur.auto,text_color:vi.black,text_halign:He.alignCenter,text_valign:He.alignCenter,text_wrap:He.wrapNone});this._variables=t}box({x:t},e){return t===void 0?new Ji(this._variables,e):t}new({top_left:t,bottom_right:e,...r},n){const s=`box_${n}`,a={...this._defaultBox,...r,id:s};if(t){const{price:c,time:h,index:p}=t;a.top=c,a.left=a.xloc===Ie.bar_index?p:h}if(e){const{price:c,time:h,index:p}=e;a.bottom=c,a.right=a.xloc===Ie.bar_index?p:h}const l=new Ji(this._variables,s);return this._variables.box.add(s,a,l),l}copy({id:t},e){return t==null?void 0:t.copy(e)}delete({id:t}){t==null||t.delete()}get_top({id:t}){return t==null?void 0:t.get_top()}get_bottom({id:t}){return t==null?void 0:t.get_bottom()}get_left({id:t}){return t==null?void 0:t.get_left()}get_right({id:t}){return t==null?void 0:t.get_right()}set_top({id:t,...e}){t==null||t.set_top(e)}set_bottom({id:t,...e}){t==null||t.set_bottom(e)}set_left({id:t,...e}){t==null||t.set_left(e)}set_right({id:t,...e}){t==null||t.set_right(e)}set_extend({id:t,...e}){t==null||t.set_extend(e)}set_bgcolor({id:t,...e}){t==null||t.set_bgcolor(e)}set_border_color({id:t,...e}){t==null||t.set_border_color(e)}set_border_width({id:t,...e}){t==null||t.set_border_width(e)}set_border_style({id:t,...e}){t==null||t.set_border_style(e)}set_lefttop({id:t,...e}){t==null||t.set_lefttop(e)}set_rightbottom({id:t,...e}){t==null||t.set_rightbottom(e)}set_text_size({id:t,...e}){t==null||t.set_text_size(e)}set_text_wrap({id:t,...e}){t==null||t.set_text_wrap(e)}set_text_color({id:t,...e}){t==null||t.set_text_color(e)}set_text_halign({id:t,...e}){t==null||t.set_text_halign(e)}set_text_valign({id:t,...e}){t==null||t.set_text_valign(e)}set_top_left_point({id:t,...e}){t==null||t.set_top_left_point(e)}set_bottom_right_point({id:t,...e}){t==null||t.set_bottom_right_point(e)}set_text_font_family({id:t,...e}){t==null||t.set_text_font_family(e)}}class Ji{constructor(t,e){q(this,"_id");q(this,"_variables");this._variables=t,this._id=e}copy(t){const e=`box_${t}`,r=this._getBox(),n=new Ji(this._variables,e);return r&&this._variables.box.add(e,{...r,id:e},n),n}delete(){this._variables.box.delete(this._id)}get_top(){const t=this._getBox();return t&&t.top}set_top({top:t}){const e=this._getBox();e&&(e.top=t)}get_left(){const t=this._getBox();return t&&t.left}set_left({left:t}){const e=this._getBox();e&&(e.left=t)}set_text({text:t}){const e=this._getBox();e&&(e.text=t)}get_right(){const t=this._getBox();return t&&t.right}set_right({right:t}){const e=this._getBox();e&&(e.right=t)}get_bottom(){const t=this._getBox();return t&&t.bottom}set_bottom({bottom:t}){const e=this._getBox();e&&(e.bottom=t)}set_extend({extend:t}){const e=this._getBox();e&&(e.extend=t)}set_bgcolor({color:t}){const e=this._getBox();e&&(e.bgcolor=t)}set_lefttop({left:t,top:e}){const r=this._getBox();r&&(r.left=t,r.top=e)}set_text_size({text_size:t}){const e=this._getBox();e&&(e.text_size=t)}set_text_wrap({text_wrap:t}){const e=this._getBox();e&&(e.text_wrap=t)}set_text_color({text_color:t}){const e=this._getBox();e&&(e.text_color=t)}set_rightbottom({right:t,bottom:e}){const r=this._getBox();r&&(r.right=t,r.bottom=e)}set_text_halign({text_halign:t}){const e=this._getBox();e&&(e.text_halign=t)}set_text_valign({text_valign:t}){const e=this._getBox();e&&(e.text_valign=t)}set_top_left_point({point:t}){const e=this._getBox();if(e){const{index:r,price:n,time:s}=t||{};e.top=n,e.left=e.xloc===Ie.bar_index?r:s}}set_border_color({color:t}){const e=this._getBox();e&&(e.border_color=t)}set_border_style({style:t}){const e=this._getBox();e&&(e.border_style=t)}set_border_width({width:t}){const e=this._getBox();e&&(e.border_width=t)}set_bottom_right_point({point:t}){const e=this._getBox();if(e){const{index:r,price:n,time:s}=t||{};e.bottom=n,e.right=e.xloc===Ie.bar_index?r:s}}set_text_font_family({text_font_family:t}){const e=this._getBox();e&&(e.text_font_family=t)}_getBox(){return this._variables.box.get(this._id)}}class qw{constructor(t){q(this,"_variables");q(this,"_defaultTable",{position:Sr.topLeft,columns:0,rows:0,frame_width:0,border_width:0});this._variables=t}table({x:t},e){return t||new Ra(this._variables,e)}new(t,e){const r=`table_${e}`,n={...this._defaultTable,...t,cell:[],id:r},s=new Ra(this._variables,r);return this._variables.table.add(r,n,s),s}cell({table_id:t,...e}){t==null||t.cell(e)}cell_set_bgcolor({table_id:t,...e}){t==null||t.cell_set_bgcolor(e)}cell_set_height({table_id:t,...e}){t==null||t.cell_set_height(e)}cell_set_text({table_id:t,...e}){t==null||t.cell_set_text(e)}cell_set_text_color({table_id:t,...e}){t==null||t.cell_set_text_color(e)}cell_set_text_font_family({table_id:t,...e}){t==null||t.cell_set_text_font_family(e)}cell_set_text_halign({table_id:t,...e}){t==null||t.cell_set_text_halign(e)}cell_set_text_valign({table_id:t,...e}){t==null||t.cell_set_text_valign(e)}cell_set_text_size({table_id:t,...e}){t==null||t.cell_set_text_size(e)}cell_set_tooltip({table_id:t,...e}){t==null||t.cell_set_tooltip(e)}cell_set_width({table_id:t,...e}){t==null||t.cell_set_width(e)}clear({table_id:t,...e}){t==null||t.clear(e)}delete({table_id:t}){t==null||t.delete()}merge_cells({table_id:t,...e},r){t==null||t.merge_cells(e,r)}set_bgcolor({table_id:t,...e}){t==null||t.set_bgcolor(e)}set_border_color({table_id:t,...e}){t==null||t.set_border_color(e)}set_border_width({table_id:t,...e}){t==null||t.set_border_width(e)}set_frame_color({table_id:t,...e}){t==null||t.set_frame_color(e)}set_frame_width({table_id:t,...e}){t==null||t.set_frame_width(e)}set_position({table_id:t,...e}){t==null||t.set_position(e)}}class Ra{constructor(t,e){q(this,"_id");q(this,"_variables");q(this,"_defaultCell",{column:0,row:0,text:"",text_color:vi.black,text_halign:He.alignCenter,text_valign:He.alignCenter,text_size:Ur.normal});this._variables=t,this._id=e}cell(t){const e={...this._defaultCell,...t},{column:r=0,row:n=0}=e,s=this._variables.table.get(this._id);if(s){const a=s.cell||[],l=a[n]||[];l[r]=e,a[n]=l,s.cell=a}}cell_set_bgcolor({column:t=0,row:e=0,bgcolor:r}){const n=this._getTableItem(t,e);n&&(n.bgcolor=r)}cell_set_height({column:t=0,row:e=0,height:r}){const n=this._getTableItem(t,e);n&&(n.height=r)}cell_set_text({column:t=0,row:e=0,text:r}){const n=this._getTableItem(t,e);n&&(n.text=r)}cell_set_text_color({column:t=0,row:e=0,text_color:r}){const n=this._getTableItem(t,e);n&&(n.text_color=r)}cell_set_text_font_family({column:t=0,row:e=0,text_font_family:r}){const n=this._getTableItem(t,e);n&&(n.text_font_family=r)}cell_set_text_halign({column:t=0,row:e=0,text_halign:r}){const n=this._getTableItem(t,e);n&&(n.text_halign=r)}cell_set_text_valign({column:t=0,row:e=0,text_valign:r}){const n=this._getTableItem(t,e);n&&(n.text_valign=r)}cell_set_text_size({column:t=0,row:e=0,text_size:r}){const n=this._getTableItem(t,e);n&&(n.text_size=r)}cell_set_tooltip({column:t=0,row:e=0,tooltip:r}){const n=this._getTableItem(t,e);n&&(n.tooltip=r)}cell_set_width({column:t=0,row:e=0,width:r}){const n=this._getTableItem(t,e);n&&(n.width=r)}clear({start_column:t=0,start_row:e=0,end_column:r=0,end_row:n=0}){const s=this._variables.table.get(this._id);if(s){const a=s.cell;if(a)for(let l=e;l<=n;l++)for(let c=t;c<=r;c++){const h=a[l];h&&(h[c]=void 0)}}}delete(){this._variables.table.delete(this._id)}merge_cells({start_column:t=0,start_row:e=0,end_column:r=0,end_row:n=0},s){if(t>r||e>n){console.log(`error ${s}: start_column > end_column or start_row > end_row`);return}const a=this._getTableItem(t,e);if(!a)return;this.clear({start_column:t,start_row:e,end_column:r,end_row:n});const l=this._variables.table.get(this._id);l.cell[e][t]={...a,isMerge:!0,merge_columns:r-t+1,merge_rows:n-e+1}}set_bgcolor({bgcolor:t}){const e=this._variables.table.get(this._id);e&&(e.bgcolor=t)}set_border_color({border_color:t}){const e=this._variables.table.get(this._id);e&&(e.border_color=t)}set_border_width({border_width:t}){const e=this._variables.table.get(this._id);e&&(e.border_width=t)}set_frame_color({frame_color:t}){const e=this._variables.table.get(this._id);e&&(e.frame_color=t)}set_frame_width({frame_width:t}){const e=this._variables.table.get(this._id);e&&(e.frame_width=t)}set_position({position:t}){const e=this._variables.table.get(this._id);e&&(e.position=t)}_getTableItem(t,e){const r=this._variables.table.get(this._id);if(r){const n=r.cell;return n?n[e][t]:void 0}}}class kw{constructor(t){q(this,"_strategy");this._strategy=t}commission({trade_num:t}){return this._verifyTradeNum(t)&&this._strategy.historyOrders[t].commission||0}entry_bar_index({trade_num:t}){if(this._verifyTradeNum(t))return this._strategy.historyOrders[t].in_index}entry_comment({trade_num:t}){if(!this._verifyTradeNum(t))return"";const{comment:e,id:r}=this._strategy.historyOrders[t];return e||r}entry_id({trade_num:t}){return this._verifyTradeNum(t)?this._strategy.historyOrders[t].id:""}entry_price({trade_num:t}){if(this._verifyTradeNum(t))return this._strategy.historyOrders[t].in_price}entry_time({trade_num:t}){if(this._verifyTradeNum(t))return this._strategy.historyOrders[t].in_time}exit_bar_index({trade_num:t}){if(this._verifyTradeNum(t))return this._strategy.historyOrders[t].out_index}exit_comment({trade_num:t}){return this._verifyTradeNum(t)?this._strategy.historyOrders[t].out_comment:""}exit_id({trade_num:t}){return this._verifyTradeNum(t)?this._strategy.historyOrders[t].out_id:""}exit_price({trade_num:t}){if(this._verifyTradeNum(t))return this._strategy.historyOrders[t].out_price}exit_time({trade_num:t}){if(this._verifyTradeNum(t))return this._strategy.historyOrders[t].out_time}max_drawdown({trade_num:t}){return this._verifyTradeNum(t)?this._strategy.historyOrders[t].trading_loss:0}max_drawdown_percent({trade_num:t}){return this._verifyTradeNum(t)?this._strategy.historyOrders[t].trading_loss_percent:0}max_runup({trade_num:t}){return this._verifyTradeNum(t)?this._strategy.historyOrders[t].max_profit:0}max_runup_percent({trade_num:t}){return this._verifyTradeNum(t)?this._strategy.historyOrders[t].max_profit_percent:0}profit({trade_num:t}){return this._verifyTradeNum(t)?this._strategy.historyOrders[t].profit:0}profit_percent({trade_num:t}){return this._verifyTradeNum(t)?this._strategy.historyOrders[t].profit_percent:0}size({trade_num:t}){if(!this._verifyTradeNum(t))return 0;const{out_qty:e=0,direction:r}=this._strategy.historyOrders[t];return r===he.long?e:-e}_verifyTradeNum(t){if(typeof t!="number"||t<0)return!1;const e=this._strategy.historyOrders.length;return!(t>=e)}}class Uw{constructor(t){q(this,"_strategy");this._strategy=t}commission({trade_num:t}){if(!this._verifyTradeNum(t))return 0;const{qty:e=0,original_qty:r=0,commission:n=0}=this._strategy.orders[t];return n*e/r}entry_bar_index({trade_num:t}){if(this._verifyTradeNum(t))return this._strategy.orders[t].in_index}entry_comment({trade_num:t}){if(!this._verifyTradeNum(t))return"";const{comment:e,id:r}=this._strategy.orders[t];return e||r}entry_id({trade_num:t}){return this._verifyTradeNum(t)?this._strategy.orders[t].id:""}entry_price({trade_num:t}){if(this._verifyTradeNum(t))return this._strategy.orders[t].in_price}entry_time({trade_num:t}){if(this._verifyTradeNum(t))return this._strategy.orders[t].in_time}max_drawdown({trade_num:t}){return this._verifyTradeNum(t)?this._strategy.orders[t].trading_loss:0}max_drawdown_percent({trade_num:t}){return this._verifyTradeNum(t)?this._strategy.orders[t].trading_loss_percent:0}max_runup({trade_num:t}){return this._verifyTradeNum(t)?this._strategy.orders[t].max_profit:0}max_runup_percent({trade_num:t}){return this._verifyTradeNum(t)?this._strategy.orders[t].max_profit_percent:0}profit({trade_num:t}){return this._verifyTradeNum(t)?this._strategy.orders[t].profit:0}profit_percent({trade_num:t}){return this._verifyTradeNum(t)?this._strategy.orders[t].profit_percent:0}size({trade_num:t}){if(!this._verifyTradeNum(t))return 0;const{qty:e=0,direction:r}=this._strategy.orders[t];return r===he.long?e:-e}_verifyTradeNum(t){if(typeof t!="number"||t<0)return!1;const e=this._strategy.orders.length;return!(t>=e)}}class Ww{constructor(t){q(this,"_strategy");this._strategy=t}allow_entry_in({value:t}){this._strategy.updateRisk({allow_entry_in:t})}max_cons_loss_days({count:t}){this._strategy.updateRisk({max_cons_loss_days:t})}max_drawdown({value:t,type:e}){e===Ye.percentOfEquity&&(t=t>100?100:t),this._strategy.updateRisk({max_drawdown:t,max_drawdown_type:e})}max_intraday_filled_orders({count:t}){this._strategy.updateRisk({max_intraday_filled_orders:t})}max_intraday_loss({value:t,type:e}){e===Ye.percentOfEquity&&(t=t>100?100:t),this._strategy.updateRisk({max_intraday_loss:t,max_intraday_loss_type:e})}max_position_size({contracts:t}){this._strategy.updateRisk({max_position_size:t})}}let jw=class{constructor(t,e,r,n){q(this,"_variables");q(this,"_options");q(this,"_totalChangeCapital");q(this,"_historyOrder");q(this,"_orders");q(this,"_pendingOrders");q(this,"_mintick");q(this,"_funcOptions");q(this,"_pendingCloseOrders");q(this,"_errorListener");q(this,"_risk");q(this,"_opentrades");q(this,"_closedtrades");q(this,"_riskNamespace");this._variables=t,this._errorListener=n,this._options={overlay:!1,format:Ln.inherit,pyramiding:0,calc_on_order_fills:!1,calc_on_every_tick:!1,max_bars_back:0,backtest_fill_limits_assumption:0,default_qty_type:Ye.fixed,default_qty_value:1,initial_capital:1e6,currency:jf.NONE,slippage:0,commission_type:Br.percent,commission_value:0,process_orders_on_close:!1,close_entries_rule:"FIFO",margin_long:0,margin_short:0,explicit_plot_zorder:!1,max_lines_count:50,max_labels_count:50,max_boxes_count:50,calc_bars_count:0,risk_free_rate:2,use_bar_magnifier:!1,fill_orders_on_standard_ohlc:!1,max_polylines_count:50},this._funcOptions=e,this._totalChangeCapital=0,this._orders=[],this._pendingOrders=[],this._historyOrder=[],this._pendingCloseOrders=[],this._mintick=r,this._variables.strategy.updateOrders(this._orders),this._variables.strategy.updateHistoryOrders(this._historyOrder),this._variables.strategy.updateStrategyOptions(this._options),this._risk={intradayOrders:0},this._opentrades=new Uw(this),this._closedtrades=new kw(this),this._riskNamespace=new Ww(this)}get orders(){return[...this._orders]}get historyOrders(){return[...this._historyOrder]}get _orderProfit(){return this._orders.reduce((t,e)=>t+(e.profit||0),0)}get _freezeCapital(){const{close:t}=this._variables;return this._orders.reduce((e,r)=>e+t*(r.qty||0),0)}get opentrades(){return this._opentrades}get closedtrades(){return this._closedtrades}get risk(){return this._riskNamespace}updateOptions(t){Object.assign(this._options,t),this._maxConsLossDaysVerify(),this._pendingOrderHandle(),this._maxIntradayFilledOrdersVerify(),this._ordersHandle(),!this._options.process_orders_on_close&&this._calcLiquidate()}updateRisk(t){Object.assign(this._risk,t)}endExecution(){this._calcProfitAndLoss(),this._variables.strategy.update(),this._maxDrawdownVerify(),this._maxIntradayLoss(),this._pendingCloseOrderHandle(),this._options.process_orders_on_close&&this._calcLiquidate()}_maxIntradayLoss(){var g;const{max_intraday_loss:t,max_intraday_loss_type:e,isDisabledOpen:r}=this._risk;if(t===void 0||!e||r)return;const{high:n,low:s,time_tradingday:a,time:l,strategy:{netprofit:c,initial_capital:h}}=this._variables;let{preNetprofit:p=0}=this._risk;l===a&&(p=c,this._risk.preNetprofit=c,this._risk.isTemporaryBan=!1);let f=p-c;f+=this._orders.reduce((w,m)=>{const{in_price:D,direction:v,qty:E=0,commission:b=0,original_qty:N=0}=m,x=v===he.long?1:-1,F=(n-D)*E,M=(s-D)*E,S=x===1?-M:F;return w+S+E/N*b},0);let d=!1;switch(e){case Ye.cash:d=t<f;break;case Ye.percentOfEquity:const w=f/(h+c)*100;d=t<w;break}if(d){this._risk.isTemporaryBan=!0;const w=(g=this._orders[0])==null?void 0:g.direction;this._closeOrders(this._orders,w===he.long?s:n,"Close Position (Max intraday Loss)"),this._pendingOrders=[]}}_maxIntradayFilledOrdersVerify(){const{max_intraday_filled_orders:t,intradayOrders:e=0,isDisabledOpen:r}=this._risk;if(t===void 0||r)return;const{time:n,time_tradingday:s,open:a}=this._variables;n===s&&(this._risk.intradayOrders=0,this._risk.isTemporaryBan=!1),t<=e&&(this._risk.isTemporaryBan=!0,this._closeOrders(this._orders,a,"Close Position (Max number of filled orders in one day)"),this._pendingOrders=[])}_maxConsLossDaysVerify(){const{max_cons_loss_days:t,lossDays:e=0,isDisabledOpen:r,totalProfit:n=0}=this._risk;if(t===void 0||r)return;const{time:s,time_tradingday:a,strategy:l,open:c}=this._variables;let h=e;if(s===a){const p=l.netprofit+l.openprofit;p<n?h=0:h++,Object.assign(this._risk,{lossDays:h,totalProfit:p})}t<=h&&this._riskTouchOff(c,"Close Position (Max consecutive loss days)")}_maxDrawdownVerify(){var n;const{max_drawdown:t,max_drawdown_type:e,isDisabledOpen:r}=this._risk;if(!r&&t!==void 0&&e){const{max_drawdown:s,max_drawdown_percent:a}=this._variables.strategy;let l=!1;switch(e){case Ye.percentOfEquity:l=a<s;break;case Ye.cash:l=t<s;break}if(l){const{high:c,low:h}=this._variables,p=(n=this._orders[0])==null?void 0:n.direction;this._riskTouchOff(p===he.long?c:h,"Close Position (Max Drawdown)")}}}_riskTouchOff(t,e){this._risk.isDisabledOpen=!0,this._closeOrders(this._orders,t,e),this._pendingOrders=[]}strategy(t){this._options={...t},Object.assign(this._funcOptions,{strategy:this._options,scriptType:"strategy"})}order(t){this._risk.isDisabledOpen||this._orderHandle(t)}entry(t){this._risk.isDisabledOpen||this._entryHandle(t)}close(t){if(!this._orders.length)return;const{immediately:e}=t;e||this._options.process_orders_on_close?this._pendingCloseOrders.push({...t,place_order_type:"close"}):this._pendingOrders.push({...t,place_order_type:"close"})}close_all(t){if(typeof t=="string"&&(t={}),!this._orders.length)return;const{immediately:e}=t;e||this._options.process_orders_on_close?this._pendingCloseOrders.push({...t,place_order_type:"close_all"}):this._pendingOrders.push({...t,place_order_type:"close_all"})}cancel({id:t}){this._pendingOrders=this._pendingOrders.filter(e=>!(e.id===t&&e.place_order_type!=="close"))}cancel_all(){this._pendingOrders=this._pendingOrders.filter(t=>t.place_order_type==="close_all")}exit(t,e){this._exit(t,e)}convert_to_account({value:t}){return t}convert_to_symbol({value:t}){return t}default_entry_qty({fill_price:t}){return t?this._calcDefaultQty(t):0}_calcDefaultQty(t){const{default_qty_type:e=Ye.fixed,default_qty_value:r=1,initial_capital:n}=this._options;switch(e){case Ye.fixed:return r;case Ye.cash:return r/t;case Ye.percentOfEquity:return(n+this._orderProfit+this._totalChangeCapital)*r/100/t}}_getCapital(t,e){const{margin_long:r=0,margin_short:n=0}=this._options;return r<100&&r>0&&t===1?e=e*100/r:n<=100&&n>0&&t===-1&&(e=e*100/n),e}_calcProfitAndLoss(){const{high:t,low:e,close:r}=this._variables;for(const n of this._orders){const{in_price:s,qty:a=0,direction:l}=n,c=l===he.long?1:-1,h=(r-s)*c*a,p=(t-s)*a,f=(e-s)*a,d=c===1?p:-f,g=c===1?-f:p;this._calcOrderPercent(n,h,d,g)}}_calcOrderPercent(t,e,r,n){const{commission_value:s}=this._options,{close:a}=this._variables,{original_qty:l=0,qty:c=0,in_price:h,max_profit:p=0,trading_loss:f=0}=t;let{commission:d=0}=t;const g=h*c;if(s){const w=this._getCommission(a,c);e=e-w,d=d*c/l,r-=d,n+=d}r=Math.max(r,p),n=Math.min(n,f),Object.assign(t,{profit:e-d,total_profit:this._totalChangeCapital+e,max_profit:r,trading_loss:n,profit_percent:e/g*100,max_profit_percent:r/g*100,trading_loss_percent:n/g*100})}_calcLiquidate(){if(!this._orders.length)return;const{high:t,low:e}=this._variables,{initial_capital:r,margin_long:n=0,margin_short:s=0,commission_value:a=0}=this._options,l=this._orders[0].direction===he.long?1:-1,c=l===1?e:t,h=(l===1?n:s)/100;if(h<=0)return;const[p,f,d]=this._orders.reduce((v,E)=>{let[b,N,x]=v;const{in_price:F,qty:M=0,original_qty:S=0,commission:O=0}=E,C=F*M,T=c*M;if(b+=C,N+=T,a){const R=this._getCommission(c,M);x+=R+M/S*O}return[b,N,x]},[0,0,0]),g=l*(f-p),m=r+this._totalChangeCapital+g-d-f*h;if(m>=0)return;const D=Math.trunc(m/h/c)*4;this._marginCallOrders(c,D,"Margin Call")}_marginCallOrders(t,e,r){const{close_entries_rule:n="FIFO"}=this._options;if(n==="FIFO"){this._processOrders(this._orders,t,e*this._orders.length,r,r);return}for(const s of this.orders)this._processOrder(s,t,e,r,r);this._orders=this._orders.filter(s=>!s.isDeal),this._variables.strategy.updateOrders(this._orders)}_orderHandle(t){const{process_orders_on_close:e,slippage:r=0}=this._options,{orders:n,isMarketPrice:s,quantities:a,close:l,price:c,activePrice:h}=this._orderArgsParse(t),p=t.direction===he.long?1:-1;if(a<=0)return;let f=a;if(s&&e){if(n.length){const m=this._processOrders(n,l,f,t.id,t.comment);if(m<=0)return;f=m}const g=l+p*r*this._mintick;if(!this._judgeCapitalEnough(f,g,p))return;this._ocaGroupVerify(f,t.oca_name,t.oca_type),this._calcCurrentOrder({...t,in_price:g,in_index:this._variables.bar_index,in_time:this._variables.time,qty:f,place_order_type:"order"});return}this._judgeCapitalEnough(a,c,p)&&this._addPendingOrders(t,c,f,s,h)}_judgeCapitalEnough(t,e,r){if(t<=0)return!1;const{margin_long:n=0,margin_short:s=0}=this._options;if((n===0||n===100)&&r===1||s===0&&r===-1)return!0;const l=this._getCapital(r,this._options.initial_capital+this._orderProfit+this._totalChangeCapital)-this._freezeCapital;return t*e<=l}_ocaGroupVerify(t,e,r){if(!e||!r||r===zn.none)return!1;let n=!1;switch(r){case zn.cancel:this._pendingOrders=this._pendingOrders.filter(s=>{if(s.oca_name===e)s.isCancel=!0,n=!0;else return!0});break;case zn.reduce:this._pendingOrders=this._pendingOrders.filter(s=>{const{qty:a=0,oca_name:l}=s;if(e===l){const c=a-t;return n=!0,c<=0?(s.isCancel=!0,!1):(s.qty=c,!0)}else return!0});break}return n}_processOrders(t,e,r,n,s){let a=r;for(const l of t)if(a=this._processOrder(l,e,a,n,s),a<=0)break;return this._orders=this._orders.filter(l=>!l.isDeal),this._variables.strategy.updateOrders(this._orders),a}_addPendingOrders(t,e,r,n,s){const a=this._pendingOrders.find(l=>l.id===t.id&&!l.isMarketPrice);if(a)Object.assign(a,{...t,in_price:e,isMarketPrice:n,qty:r,active_price:s});else{const l={...t,in_price:e,isMarketPrice:n,qty:r,active_price:s,place_order_type:"order"};this._pendingOrders.push(l)}}_orderArgsParse(t){const{direction:e,qty:r,stop:n}=t;let s=t.limit||0;const{close:a}=this._variables;let l=a,c=!1,h;const p=e===he.long?1:-1,f=n&&(n-a)*p>0,{backtest_fill_limits_assumption:d=0}=this._options;d>0&&s&&(s-=d*this._mintick*p);const g=s&&(s-a)*p<0;f&&g?(h=n,l=s):f?l=n:g?l=s:c=!0;const w=r||this._calcDefaultQty(l)||1;return{orders:this._orders.filter(D=>D.direction!==e),isMarketPrice:c,activePrice:h,quantities:w,close:a,price:l}}_entryHandle(t){const{process_orders_on_close:e}=this._options,{orders:r,isMarketPrice:n,quantities:s,close:a,price:l,activePrice:c}=this._orderArgsParse(t);if(s<=0)return;if(r.length&&n&&e){this._entryOrder(r,a,s,t);return}this._judgeCapitalEnough(s,a,t.direction===he.long?1:-1)&&this._addPendingEntry(t,l,s,n,c)}_entryOrder(t,e,r,n){const{time:s,bar_index:a}=this._variables,{slippage:l=0}=this._options,{oca_name:c,oca_type:h,direction:p,comment:f,isMarketPrice:d,id:g}=n,w=p===he.long?1:-1;if(this._closeOrders(t,e,g,f),r=this._getAvailablePositionSize(r,p),r<=0)return;e=e+l*this._mintick*w;const m={...n,in_price:e,original_qty:r,qty:r,in_index:a,in_time:s,place_order_type:"entry"};if(d){this._calcCurrentOrder(m);return}const{pendingOrders:D,orders:v}=this._getEntryOrders(p),E=D.length+v.length;E&&E>=(this._options.pyramiding||0)||!this._judgeCapitalEnough(r,e,w)||(this._ocaGroupVerify(r,c,h),this._calcCurrentOrder(m))}_getAvailablePositionSize(t,e){const{max_position_size:r,allow_entry_in:n}=this._risk;if(n&&n!==he.all&&n!==e)return 0;if(r===void 0)return t;const s=this._orders.reduce((a,l)=>a+(l.qty||0),0);return s?s+t>r?0:t:t>r?t-r:0}_getEntryOrders(t){const e=this._pendingOrders.filter(n=>["entry","order"].includes(n.place_order_type)&&n.direction===t),r=this._orders.filter(n=>n.direction===t);return{pendingOrders:e,orders:r}}_addPendingEntry(t,e,r,n,s){if(r=this._getAvailablePositionSize(r,t.direction),r<=0)return;const{pendingOrders:a,orders:l}=this._getEntryOrders(t.direction),c=a.length+l.length,h=a.find(p=>p.id===t.id&&p.place_order_type==="entry");if(h)Object.assign(h,{...t,in_price:e,isMarketPrice:n,qty:r,active_price:s});else if(!c||c<(this._options.pyramiding||1)){const p={...t,in_price:e,isMarketPrice:n,qty:r,active_price:s,place_order_type:"entry"};this._pendingOrders.push(p)}}_closeAllOrders(t,e){const{comment:r}=t,{bar_index:n}=this._variables,s=this._orders.filter(a=>a.in_index!==n);s.length&&(this._closeOrders(s,e,"Close position order",r),this._orders=[],this._variables.strategy.updateOrders(this._orders))}_closeOrders(t,e,r,n){for(const s of t)this._closeOrder(s,e,r,n);this._orders=this._orders.filter(s=>!s.isDeal),this._variables.strategy.updateOrders(this._orders)}_closeOrder(t,e,r,n){const{time:s,bar_index:a}=this._variables,{slippage:l=0}=this._options,{in_price:c,qty:h=0,direction:p}=t,f=p===he.long?1:-1;e=e-f*l*this._mintick,t.isDeal=!0;const d=(e-c)*f*h,g={...t,out_price:e,out_id:r,out_index:a,out_time:s,out_comment:n,out_qty:h,profit:d};this._calcPercent(g),this._risk.intradayOrders+=1,this._historyOrder.push(g),this._variables.strategy.updateHistoryOrders(this._historyOrder)}_ordersHandle(){const t=this._orders.filter(a=>a.place_order_type==="exit"&&!a.hasExit);if(!t.length)return;const{open:e,low:r,high:n,close:s}=this._variables;for(const a of t){const{stop:l,limit:c,trail_stop_price:h,isMarketPriceLimit:p,isMarketPriceStop:f,direction:d,id:g,out_comment:w,active_price:m,trail_offset:D=0,out_qty:v,comment_loss:E,comment_profit:b,comment_trailing:N}=a;let x=h;const F=d===he.long?1:-1;let M,S=w;if(p||f?M=e:(c&&r<=c&&n>=c&&(S=b||w,M=c),l&&r<=l&&n>=l&&(M=x?(l-x)*F>0?l:x:l,S=(x===M?N:E)||w)),M)this._processExitOnClose(a,M,{from_entry:g,comment:S,qty:v});else{let O=!1;if(m&&m<=n&&m>=r&&(x=m-D*F*this._mintick,(x-s)*F>=0&&(a.isMarketPriceStop=!0,this._options.process_orders_on_close&&(M=x)),O=!0,a.trail_stop_price=x),x)if((x-e)*F>=0&&!O)M=x;else{const C=(F===1?n:r)-D*F*this._mintick;F===1?x<e&&x>=r&&C>x&&C<s?M=x:C>x?(x=C,C>=s&&(M=C)):x<=n&&r<=x&&(M=x):x>e&&x<=n&&C<x&&C>s?M=x:C<x?(x=C,C<=s&&(M=C)):x<=n&&r<=x&&(M=x),a.trail_stop_price=x}M&&this._processExitOnClose(a,M,{from_entry:g,comment:N||w,qty:v})}}}_pendingOrderHandle(){if(!this._pendingOrders.length)return;const t=[],e=this._pendingOrders.filter(n=>n.place_order_type==="exit"),r=this._pendingOrders.filter(n=>["close","close_all"].includes(n.place_order_type||""));for(const n of r)switch(n.place_order_type){case"close":this._closeOrderHandle(n);break;case"close_all":this._closeAllOrders(n,this._variables.open);break}for(const n of this._pendingOrders){const{isCancel:s,place_order_type:a}=n;if(s)continue;let l;switch(a){case"entry":l=this._entryOrderHandle(n);break;case"order":l=this._orderOrderHandle(n);break}l&&t.push(l)}for(const n of e){const s=this._exitOrderHandle(n);s&&t.push(s)}this._pendingOrders=t}_pendingCloseOrderHandle(){if(!this._pendingCloseOrders.length)return;const t=this._pendingCloseOrders.filter(n=>n.place_order_type==="exit"),e=this._pendingCloseOrders.filter(n=>["close","close_all"].includes(n.place_order_type||"")),{close:r}=this._variables;for(const n of e)switch(n.place_order_type){case"close":this._closeOrderHandle(n,!0);break;case"close_all":this._closeAllOrders(n,r);break}for(const n of t){const{from_entry:s}=n,a=this._orders.filter(l=>!s||l.id===s&&(l.isMarketPriceLimit||l.isMarketPriceStop));for(const l of a)this._processExitOnClose(l,l.limit||l.stop||l.trail_stop_price||r,n)}this._pendingCloseOrders=[]}_entryOrderHandle(t){const{open:e,low:r,high:n}=this._variables,{isMarketPrice:s,qty:a=0,in_price:l,direction:c,active_price:h}=t;if(h&&n>=h&&r<=h)return delete t.active_price,t;let p=l;if(s&&(p=e),p<=n&&p>=r){const f=this._orders.filter(d=>d.direction!==c);this._entryOrder(f,p,a,t)}else return t}_orderOrderHandle(t){const{open:e,low:r,high:n,time:s,bar_index:a}=this._variables,{slippage:l=0}=this._options,{isMarketPrice:c,qty:h=0,in_price:p,direction:f,comment:d,oca_name:g,oca_type:w,active_price:m,id:D}=t;if(m&&n>=m&&r<=m)return delete t.active_price,t;let v=p,E=h;if(c&&(v=e),v<=n&&v>=r){const b=this._orders.filter(x=>x.direction!==f);if(b.length&&(E=this._processOrders(b,v,h,D,d),E<=0))return;const N=f===he.long?1:-1;this._ocaGroupVerify(E,g,w),this._calcCurrentOrder({...t,in_price:v+N*l*this._mintick,in_index:a,in_time:s,qty:E});return}else return t}_closeOrderHandle(t,e){const{id:r,qty:n,qty_percent:s=100,comment:a}=t,{bar_index:l}=this._variables,c=this._orders.filter(g=>g.id===r&&g.in_index!==l&&(!g.close_qty||g.close_qty<(g.qty||0)));if(!c.length)return;let h=0;if(n?h=n:(h=c.reduce((g,w)=>g+(w.qty||0),h),h=s/100*h),h<=0)return;const{open:p,close:f}=this._variables;let d=h;for(const g of c){const{qty:w=0}=g;d<w?g.close_qty=d:(g.close_qty=w,d-=w)}this._processOrders(this._options.close_entries_rule==="ANY"?c:this._orders,e?f:p,h,`Close entry(s) order ${r}`,a)}_exitOrderHandle(t){const{from_entry:e}=t,r=this._orders.filter(n=>(!e||e===n.id)&&!n.hasExit);if(!(r.length&&!this._ordersToExit(r,t)))return t}_exit(t,e){const{profit:r,loss:n,stop:s,limit:a,trail_offset:l,trail_price:c,trail_points:h,from_entry:p="",id:f}=t;if(this._isNaN(r)&&this._isNaN(n)&&this._isNaN(s)&&this._isNaN(a)&&(this._isNaN(l)||this._isNaN(h)&&this._isNaN(c))){this._errorListener.addError("strategy.exit must have at least one of the following parameters: 'profit', 'limit', 'loss', 'stop' or one of the following pairs: 'trail_offset' and 'trail_price' / 'trail_points'. To close the position at market price, use 'strategy.close'",e,Dn.Error);return}const d={...t,place_order_type:"exit"},g=this._orders.filter(D=>(!p||p===D.id)&&!D.hasExit),w=this._pendingOrders.filter(D=>!p||p===D.id);if(g.length){if(!this._ordersToExit(g,d))return}else if(!w.length)return;const m=this._pendingOrders.find(D=>D.id===f);m?Object.assign(m,{...t}):this._pendingOrders.push(d)}_ordersToExit(t,e){const{qty:r,qty_percent:n=100,id:s,comment:a,comment_loss:l,comment_profit:c,comment_trailing:h}=e;let p=r,f=!1;e.comment=a||s;for(const d of t){const{qty:g=0}=d,w=d.direction===he.long?1:-1;p=r?r>=g?g:r:n/100*g,d.out_qty=p,p<g&&(f=!0),Object.assign(d,{out_comment:a||s,comment_loss:l,comment_profit:c,comment_trailing:h}),!(this._stopProfit(d,w,{...e,qty:p})||this._stopLoss(d,w,{...e,qty:p})||this._trailStopLoss(d,w,{...e,qty:p}))&&(d.place_order_type="exit")}return f}_addExitPendingCloseOrders(t){t.place_order_type="exit";const e=this._pendingCloseOrders.find(r=>r.id===t.id);e?Object.assign(e,{...t}):this._pendingCloseOrders.push(t)}_stopProfit(t,e,r){const{limit:n,profit:s,comment_profit:a,comment:l}=r;let c=n;const{close:h}=this._variables,{in_price:p}=t,{process_orders_on_close:f}=this._options;if(!this._isNaN(s)&&this._isNaN(n)&&(c=p+e*s*this._mintick),t.limit=c,c&&(c-h)*e<=0&&(t.isMarketPriceLimit=!0,r.comment=a||l,Object.assign(t,{out_comment:r.comment}),c=h,f))return this._addExitPendingCloseOrders(r),!0}_stopLoss(t,e,r){const{stop:n,loss:s,comment_loss:a,comment:l}=r;let c=n;const{close:h}=this._variables,{in_price:p}=t,{process_orders_on_close:f}=this._options;if(!this._isNaN(s)&&this._isNaN(n)&&(c=p-e*s*this._mintick),t.stop=c,c&&(c-h)*e>=0&&(t.isMarketPriceStop=!0,r.comment=a||l,Object.assign(t,{out_comment:r.comment}),c=h,f))return this._addExitPendingCloseOrders(r),!0}_trailStopLoss(t,e,r){const{trail_offset:n,trail_price:s,trail_points:a,comment_trailing:l,comment:c}=r;if(!this._isNaN(n)){const{close:h}=this._variables,{in_price:p}=t,{process_orders_on_close:f}=this._options;let d;if(this._isNaN(s)?this._isNaN(a)||(d=p+a*e*this._mintick):d=s,t.trail_offset=n,d&&(d-h)*e<=0){const g=h-n*e*this._mintick;if((g-h)*e>=0&&(t.trail_stop_price=h,t.isMarketPriceStop=!0,r.comment=l||c,Object.assign(t,{out_comment:r.comment}),f))return this._addExitPendingCloseOrders(r),!0;t.trail_stop_price=g}t.active_price=d}}_processExitOnClose(t,e,r){const{qty:n=0,comment:s,id:a}=r,{close_entries_rule:l="FIFO"}=this._options;if(l==="FIFO"){const c=this._processExitOrders(this._orders,e,n,a,s);c&&!c.hasExit?(c.hasExit=!0,Object.assign(t,{trail_stop_price:c.trail_stop_price,stop:c.stop,limit:c.limit,trail_offset:c.trail_offset,active_price:c.active_price})):c&&(t.hasExit=!0)}else t.hasExit=!0,this._processOrders([t],e,n,a,s)}_processExitOrders(t,e,r,n,s){let a=r,l;for(const c of t)if(l=c,a=this._processOrder(c,e,a,n,s),a<=0||!c.hasExit)break;return this._orders=this._orders.filter(c=>!c.isDeal),this._variables.strategy.updateOrders(this._orders),l}_processOrder(t,e,r,n,s){const{time:a,bar_index:l}=this._variables,{slippage:c=0}=this._options,{in_price:h,qty:p=0,max_profit:f=0,trading_loss:d=0,direction:g,commission:w=0,original_qty:m=0}=t,D=g===he.long?1:-1;if(e=e-D*c*this._mintick,r<p){const v=p-r,E=(e-h)*D*r,b=f/p*r,N=d/p*r;this._calcPercent({...t,out_price:e,out_id:n,out_index:l,out_time:a,out_comment:s,profit:E,out_qty:r,max_profit:b,trading_loss:N});const x=(e-h)*D*v-w*v/m;Object.assign(t,{qty:v,profit:x,max_profit:f-b,trading_loss:d-N,total_profit:this._totalChangeCapital+x}),r=0}else{t.isDeal=!0;const v=(e-h)*D*p;this._calcPercent({...t,out_price:e,out_id:n,out_index:l,out_time:a,out_comment:s,out_qty:p,profit:v}),r-=p}return r}_calcPercent(t){const{commission_value:e}=this._options,{in_price:r,out_qty:n=0,out_price:s=0,original_qty:a=0}=t;let{profit:l=0,max_profit:c=0,trading_loss:h=0,commission:p=0}=t;c=c<0?0:c;const f=r*n;if(this._totalChangeCapital+=l,e){const d=this._getCommission(s,n);this._totalChangeCapital-=d,p=p*n/a+d,l=l-p,Object.assign(t,{commission:p,profit:l,max_profit:c})}Object.assign(t,{total_profit:this._totalChangeCapital,profit_percent:l/f*100,max_profit_percent:c/f*100,trading_loss_percent:h/f*100}),this._risk.intradayOrders+=1,this._historyOrder.push(t),this._variables.strategy.updateHistoryOrders(this._historyOrder)}_getCommission(t,e){const{commission_value:r=0,commission_type:n}=this._options,s=t*e;let a=0;switch(n){case Br.percent:a=s*r/100;break;case Br.cashPerContract:a=e*r;break;case Br.cashPerOrder:a=r;break}return a}_calcCurrentOrder(t){const{commission_value:e}=this._options,{in_price:r,qty:n=0,max_profit:s=0,trading_loss:a=0}=t;let{profit:l=0}=t;const c=r*n;if(e){const h=this._getCommission(r,n);this._totalChangeCapital-=h,l=l-h,Object.assign(t,{commission:h,profit:l,total_profit:this._totalChangeCapital})}Object.assign(t,{original_qty:n,profit_percent:l/c*100,max_profit_percent:s/c*100,trading_loss_percent:a/c*100}),this._risk.intradayOrders+=1,this._orders.push(t),this._variables.strategy.updateOrders(this._orders)}_isNaN(t){return t===void 0||isNaN(t)}};class Yw{constructor(t){q(this,"_logs");q(this,"_variables");this._variables=t,this._logs=[]}get logs(){return this._logs}clearLogs(){this._logs=[]}info(t,e){this._addLog(t,e,"info")}error(t,e){this._addLog(t,e,"error")}warning(t,e){this._addLog(t,e,"warning")}_addLog(t,e,r){const{message:n,formatString:s}=t,{time:a,bar_index:l,precision:c}=this._variables;let h=n;s&&Array.isArray(e)&&e.length&&(h=s.replace(/{(\d+)}/g,(p,f)=>{let d=e[f];return typeof d=="number"&&(d=parseFloat(d.toFixed(c))),d!==void 0?String(d):p})),h&&this._logs.push({message:`${te(a).format()}: ${h}`,time:a,barIndex:l,type:r})}}class Zw{constructor(t){q(this,"_errorListener");this._errorListener=t}error({message:t},e){this._errorListener.addError(t,e,Dn.Error)}}class Gw{constructor(){q(this,"_errors");this._errors=new Map}clear(){this._errors.clear()}get errors(){return Mr.flatMap([...this._errors.values()])}addError(t,e,r){const[n,s]=e.split("_").slice(-2),a=this._errors.get(e),l={message:t,endLineNumber:Number(n),startColumn:Number(s)+1,endColumn:Number(s)+1,startLineNumber:Number(n),type:r};a?a.push(l):this._errors.set(e,[l])}}class Kw{constructor(){q(this,"_isMarketOpen");q(this,"_currentBarIndex");q(this,"_totalBarIndex");q(this,"_isRealTimeBar");q(this,"_preBarIndex");this._currentBarIndex=0,this._totalBarIndex=0,this._isRealTimeBar=!1,this._preBarIndex=0,this._isMarketOpen=!0}update(t,e,r,n){this._preBarIndex=this._currentBarIndex,this._currentBarIndex=t,this._totalBarIndex=e,this._isRealTimeBar=r,this._isMarketOpen=n}get isnew(){return!this._isRealTimeBar||this._preBarIndex!==this._currentBarIndex}get islast(){return this._currentBarIndex===this._totalBarIndex}get isfirst(){return this._currentBarIndex===0}get ishistory(){return!this._isRealTimeBar}get isrealtime(){return this._isRealTimeBar}get isconfirmed(){return!this._isRealTimeBar}get islastconfirmedhistory(){return this._isMarketOpen?this._currentBarIndex===this._totalBarIndex-1:this._currentBarIndex===this._totalBarIndex}}class Hw{constructor(t){q(this,"_variables");this._variables=t}get isfirstbar(){return this._variables.timeframe.isdwm?!0:this._variables.time===this._variables.time_tradingday}get isfirstbar_regular(){return this._variables.timeframe.isdwm?!0:this._variables.time===this._variables.time_tradingday}get islastbar(){if(this._variables.timeframe.isdwm)return!0;const t=Hr(this._variables.timeframe.period);return this._variables.time+t===this._variables.time_tradingday+24*60*60*1e3}get islastbar_regular(){if(this._variables.timeframe.isdwm)return!0;const t=Hr(this._variables.timeframe.period);return this._variables.time+t===this._variables.time_tradingday+24*60*60*1e3}get ismarket(){return!0}get ispostmarket(){return!1}get ispremarket(){return!1}}class Jw{constructor(t){q(this,"_orders");q(this,"_historyOrders");q(this,"_options");q(this,"_max_contracts_held_all",0);q(this,"_max_contracts_held_long",0);q(this,"_max_contracts_held_short",0);q(this,"_max_drawdown",0);q(this,"_max_runup",0);q(this,"_max_runup_percent",0);q(this,"_max_drawdown_percent",0);q(this,"_variables");q(this,"_netprofit",0);q(this,"_eventrades",0);q(this,"_avg_trade_percent");q(this,"_closedtrades",0);q(this,"_losstrades",0);q(this,"_grossloss",0);q(this,"_grossloss_percent",0);q(this,"_grossprofit",0);q(this,"_grossprofit_percent",0);q(this,"_wintrades",0);q(this,"_opentrades_capital_held",0);q(this,"_position_avg_price",0);q(this,"_position_size",0);this._orders=[],this._historyOrders=[],this._variables=t}update(){this._calcMaxDrawdownAndMaxRunup()}_calcMaxDrawdownAndMaxRunup(){let t=0,e=0;const{high:r,low:n}=this._variables;for(const h of this._orders){const{in_price:p,qty:f=0,commission:d=0,original_qty:g=0,direction:w}=h,m=w===he.long?1:-1,D=(r-p)*f,v=(n-p)*f,E=m===1?D:-v,b=m===1?-v:D;t+=b+d*f/g,e+=E+d*f/g}const[s,a]=this._historyOrders.reduce((h,p)=>{let[f,d]=h;const{profit:g=0,commission:w=0}=p;return f+=g,d+=g-w,[f,d]},[0,0]);t-=s,e+=a;const l=t/(this.initial_capital+this.netprofit)*100;this._max_drawdown<t&&(this._max_drawdown=t),l>this._max_drawdown_percent&&(this._max_drawdown_percent=l);const c=e/(this.initial_capital+this.netprofit)*100;e>this._max_runup&&(this._max_runup=e),c>this._max_runup_percent&&(this._max_runup_percent=c)}updateOrders(t){this._orders=t,this._calcMaxContracts()}_calcMaxContracts(){const t=this._orders.length;if(!t)return;const[e,r,n,s,a,l]=this._orders.reduce(([c,h,p,f,d,g],w)=>{const{direction:m,qty:D=0,in_price:v}=w;return m===he.long?(c+=D,h+=D,g+=D):(c+=D,p+=D,g-=D),f+=D*v,d+=v,[c,h,p,f,d,g]},[0,0,0,0,0,0]);this._position_size=l,this._position_avg_price=a/t,this._opentrades_capital_held=s,this._max_contracts_held_all=Math.max(e,this._max_contracts_held_all),this._max_contracts_held_long=Math.max(r,this._max_contracts_held_long),this._max_contracts_held_short=Math.max(n,this._max_contracts_held_short)}updateHistoryOrders(t){this._historyOrders=t;const e=this._historyOrders.length;this._closedtrades=e;const[r,n,s,a,l,c]=this._historyOrders.reduce((h,p)=>{let[f,d,g,w,m,D]=h;const{profit:v=0,profit_percent:E=0}=p;return f+=v,d+=E,v<0?(g+=v,w+=E):(m+=v,D+=E),[f,d,g,w,m,D]},[0,0,0,0,0,0]);this._avg_trade_percent=e?n/e:void 0,this._netprofit=r,this._grossloss=s,this._grossloss_percent=a,this._grossprofit=l,this._grossprofit_percent=c,this._eventrades=this._historyOrders.filter(h=>h.profit===0).length,this._losstrades=this._historyOrders.filter(h=>(h.profit||0)<0).length,this._wintrades=this._historyOrders.filter(h=>(h.profit||0)>0).length}updateStrategyOptions(t){this._options=t}get long(){return"long"}get short(){return"short"}get account_currency(){return"USD"}get closedtrades(){return this._closedtrades}get opentrades(){return this._orders.length}get opentrades_capital_held(){return this._opentrades_capital_held}get avg_losing_trade(){const t=this.losstrades;return t?Math.abs(this.grossloss/t):void 0}get avg_losing_trade_percent(){const t=this.losstrades;return t?Math.abs(this.grossloss_percent/t):void 0}get avg_trade(){if(this.closedtrades)return Math.abs(this.netprofit/this.closedtrades)}get equity(){return this.initial_capital+this.netprofit+this.openprofit}get netprofit(){return this._netprofit}get eventrades(){return this._eventrades}get openprofit(){return this._orders.reduce((t,e)=>{const{profit:r=0}=e;return t+r},0)}get avg_trade_percent(){return this._avg_trade_percent}get avg_winning_trade(){const t=this.wintrades;return t?Math.abs(this.grossprofit/t):void 0}get avg_winning_trade_percent(){const t=this.wintrades;return t?Math.abs(this.grossprofit_percent/t):void 0}get initial_capital(){var t;return((t=this._options)==null?void 0:t.initial_capital)||0}get losstrades(){return this._losstrades}get grossloss(){return this._grossloss}get grossloss_percent(){return this._grossloss_percent}get grossprofit(){return this._grossprofit}get grossprofit_percent(){return this._grossprofit_percent}get wintrades(){return this._wintrades}get margin_liquidation_price(){if(!this._options)return;const{initial_capital:t,margin_long:e=0,margin_short:r=0,commission_type:n,commission_value:s=0}=this._options,a=this._orders[0].direction===he.long?1:-1,l=(a===1?e:r)/100;if(l<=0)return;const{close:c}=this._variables,[h,p]=this._orders.reduce((f,d)=>{let[g,w]=f;const{in_price:m,qty:D=0,original_qty:v=0}=d,E=m*D;if(g+=E,s){let b=0;switch(n){case Br.percent:b=(E+D*c)*s/100;break;case Br.cashPerContract:b=D*s*2;break;case Br.cashPerOrder:b=D/v*s+s;break}w+=b}return[g,w]},[0,0]);return(h-(t+this.netprofit-p))*a/this.position_size/(1-a*l)}get max_contracts_held_all(){return this._max_contracts_held_all}get max_contracts_held_long(){return this._max_contracts_held_long}get max_contracts_held_short(){return this._max_contracts_held_short}get max_drawdown(){return this._max_drawdown}get max_runup(){return this._max_runup}get max_runup_percent(){return this._max_runup_percent}get max_drawdown_percent(){return this._max_drawdown_percent}get netprofit_percent(){return this.netprofit/this.initial_capital*100}get openprofit_percent(){return this.openprofit/(this.initial_capital+this.netprofit)*100}get position_avg_price(){return this._position_avg_price}get position_entry_name(){if(this._orders.length)return this._orders[0].id}get position_size(){return this._position_size}}class Xw{constructor(){q(this,"_preAccdist");q(this,"_preNvi");q(this,"_prePvi");q(this,"_preObv");q(this,"_prePvt");q(this,"_preWad");q(this,"_preVwap");q(this,"_preValue");q(this,"_currentData");q(this,"_preData");this._preAccdist=0,this._preNvi=0,this._prePvi=0,this._preObv=0,this._prePvt=0,this._preWad=0,this._preVwap={},this._preValue={},this._currentData={},this._preData={}}update(t){this._preValue={},t.barIndex!==this._currentData.barIndex&&(this._preData={...this._currentData}),this._currentData={...t}}get isRealTime(){return this._preData.barIndex===this._currentData.barIndex}get accdist(){if(this._preValue.accdist)return this._preValue.accdist;const{close:t,low:e,high:r,volume:n}=this._currentData;if(r===e)return this._preAccdist;const s=(t-e-(r-t))/(r-e)*n+this._preAccdist;return!this.isRealTime&&(this._preAccdist=s),this._preValue.accdist=s,s}get iii(){if(this._preValue.iii)return this._preValue.iii;const{close:t,low:e,high:r,volume:n}=this._currentData,s=(2*t-r-e)/((r-e)*n);return this._preValue.iii=s,s}get nvi(){return this._preValue.nvi?this._preValue.nvi:this._getNvi()}get wvad(){if(this._preValue.wvad)return this._preValue.wvad;const{close:t,low:e,high:r,volume:n,open:s}=this._currentData,a=(t-s)/(r-e)*n;return this._preValue.wvad=a,a}get obv(){if(this._preValue.obv)return this._preValue.obv;const{close:t,volume:e}=this._currentData,{close:r}=this._preData;if(r===void 0){this._preObv=0;return}const n=Math.sign(t-r)*e+this._preObv;return!this.isRealTime&&(this._preObv=n),this._preValue.obv=n,n}get pvi(){return this._preValue.pvi?this._preValue.pvi:this._getPvi()}get tr(){if(this._preValue.tr)return this._preValue.tr;const{low:t,high:e}=this._currentData,{close:r}=this._preData;if(r===void 0)return;const n=Math.max(e-t,Math.abs(e-r),Math.abs(t-r));return this._preValue.tr=n,n}get pvt(){if(this._preValue.pvt)return this._preValue.pvt;const{close:t,volume:e}=this._currentData,{close:r}=this._preData;if(r===void 0){this._prePvt=0;return}const n=(t-r)/r*e+this._prePvt;return!this.isRealTime&&(this._prePvt=n),this._preValue.pvt=n,n}get wad(){if(this._preValue.wad)return this._preValue.wad;const{close:t,high:e,low:r}=this._currentData,{close:n}=this._preData;if(n===void 0)return this._preWad=0,0;const s=Math.max(e,n),a=Math.min(r,n),l=t-n,h=(l>0?t-a:l<0?t-s:0)+this._preWad;return!this.isRealTime&&(this._preWad=h),this._preValue.wad=h,h}get vwap(){if(this._preValue.vwap)return this._preValue.vwap;const{hlc3:t,volume:e}=this._currentData;let{sum:r=0,sumV:n=0,isReset:s}=this._preVwap;if(self.buildInFunctions.timeframe.change({timeframe:"1D"},"vwap_buildin")&&(s=!0,r=n=0),!s)return;const l=t*e+r,c=e+n;!this.isRealTime&&(this._preVwap={sum:l,sumV:c,isReset:s});const h=l/c;return this._preValue.vwap=h,h}_getNvi(){const t=this._preNvi||1,{close:e=0,volume:r=0}=this._preData,{close:n,volume:s}=this._currentData;let a=1;const l=t||1;return n&&e?a=s<r?l+(n-e)/e*l:l:a=l,!this.isRealTime&&(this._preNvi=a),this._preValue.nvi=a,a}_getPvi(){const t=this._prePvi||1,{close:e=0,volume:r=0}=this._preData,{close:n,volume:s}=this._currentData;let a=1;const l=t||1;return n&&e?a=s>r?l+(n-e)/e*l:l:a=l,!this.isRealTime&&(this._prePvi=a),this._preValue.pvi=a,a}}class Vw{constructor(){q(this,"_period");q(this,"_multiplier");q(this,"_unit");this._period="1",this._multiplier=1,this._unit="m"}update(t){if(!t)return;this._period=t;const[e,r]=_s(t);this._multiplier=e,this._unit=r}get isdaily(){return this._unit==="d"}get isdwm(){return["d","w","M"].includes(this._unit)}get isintraday(){return["s","m","h"].includes(this._unit)}get isminutes(){return this._unit==="m"}get ismonthly(){return this._unit==="M"}get isseconds(){return this._unit==="s"}get isweekly(){return this._unit==="w"}get multiplier(){return this._multiplier}get period(){return this._period}}te.extend(Tp),te.extend(Mp),te.extend(Sp);class Qw{constructor(){q(this,"_cacheData");q(this,"_barIndex");q(this,"_isRealTimeBar");q(this,"_barstate");q(this,"_priceVariables");q(this,"_lastBarIndex");q(this,"_currentBarTime");q(this,"_lastBarTime");q(this,"_period");q(this,"_offsetTime");q(this,"_timeframe");q(this,"_ta");q(this,"_polyline");q(this,"_label");q(this,"_line");q(this,"_linefill");q(this,"_box");q(this,"_table");q(this,"_strategy");q(this,"_precision");q(this,"_session");this._cacheData={varData:{},varNewData:{},varipData:{}},this._barIndex=0,this._lastBarIndex=0,this._currentBarTime=0,this._lastBarTime=0,this._offsetTime=0,this._period="",this._isRealTimeBar=!1,this._barstate=new Kw,this._timeframe=new Vw,this._priceVariables={close:0,open:0,low:0,high:0,volume:0},this._ta=new Xw,this._polyline=new wi,this._label=new wi,this._line=new wi,this._linefill=new wi,this._box=new wi,this._table=new wi,this._strategy=new Jw(this),this._precision=4,this._session=new Hw(this)}get table(){return this._table}get box(){return this._box}get linefill(){return this._linefill}get line(){return this._line}get polyline(){return this._polyline}get label(){return this._label}get ta(){return this._ta}get strategy(){return this._strategy}get session(){return this._session}get na(){}get last_bar_index(){return this._lastBarIndex}get bar_index(){return this._barIndex}get barstate(){return this._barstate}get close(){return this._priceVariables.close}get low(){return this._priceVariables.low}get open(){return this._priceVariables.open}get high(){return this._priceVariables.high}get volume(){return this._priceVariables.volume}get ohlc4(){const{close:t,open:e,high:r,low:n}=this._priceVariables;return(t+e+r+n)/4}get hl2(){const{high:t,low:e}=this._priceVariables;return(t+e)/2}get hlc3(){const{close:t,high:e,low:r}=this._priceVariables;return(t+e+r)/3}get hlcc4(){const{close:t,high:e,low:r}=this._priceVariables;return(t*2+e+r)/4}get hour(){return te(this._currentBarTime).subtract(this._offsetTime,"hour").hour()}get minute(){return te(this._currentBarTime).minute()}get second(){return te(this._currentBarTime).second()}get month(){return te(this._currentBarTime).month()+1}get year(){return te(this._currentBarTime).year()}get dayofweek(){return te(this._currentBarTime).day()+1}get dayofmonth(){return te(this._currentBarTime).date()}get weekofyear(){return te(this._currentBarTime).week()}get last_bar_time(){return this._lastBarTime}get time(){return this._currentBarTime}get time_close(){const[t,e]=_s(this._period);return this._isRealTimeBar?void 0:te(this._currentBarTime).add(t,e).valueOf()}get timenow(){return Date.now()}get time_tradingday(){return this.getTimeTradingday(this._currentBarTime,this._period)}get timeframe(){return this._timeframe}get precision(){return this._precision}getTimeTradingday(t,e){const[r,n]=_s(e),s=te(t);return["M","w","y","d"].includes(n)?s.valueOf():(s.subtract(this._offsetTime,"h"),s.startOf("d").add(this._offsetTime,"h").valueOf())}updateData(t){const{barIndex:e,c:r,o:n,h:s,l:a,volume:l,lastBarIndex:c,time:h,lastBarTime:p,period:f="1D",offsetTime:d=5,precision:g=4}=t;this._priceVariables={close:Number(r),open:Number(n),high:Number(s),low:Number(a),volume:Number(l)},e>this._barIndex&&this._isRealTimeBar&&(this._cacheData.varData=this._cacheData.varNewData,this._cacheData.varNewData={}),this._precision=g,this._currentBarTime=h*1e3,this._lastBarIndex=c,this._barIndex=e,this._lastBarTime=p*1e3,this._period=f,this._offsetTime=d,this._timeframe.update(f),this._barstate.update(e,c,!1,!1),this.ta.update({...this._priceVariables,hlc3:this.hlc3,barIndex:e})}getCacheData(t,e,r){let n=this._cacheData[t]||[];n[this._barIndex]=r,n=n.filter(()=>!0);const s=n[n.length-1-e];return this._cacheData[t]=n,s}setCacheData(t,e){const r=this._cacheData[t]||[];r[this._barIndex]=e,this._cacheData[t]=r}getTypeInstance(t,e){return new Ap(t,e)}getVarValue(t,e,r){const n=`${t}_${e}`,s=r==="var"?this._cacheData.varData[n]:this._cacheData.varipData[n];if(s)return s}setVarValue(t,e,r,n){const s=`${t}_${e}`;let a;switch(typeof r=="object"&&r&&(n="var",a=r.varipKeys),n){case"var":if(this._isRealTimeBar){const l=Mr.cloneDeep(r);if(this._cacheData.varNewData[s]=l,a&&a.length)for(const c of a)this._cacheData.varData[s][c]=l[c]}else this._cacheData.varData[s]=r;break;case"varip":this._cacheData.varipData[s]=r;break}return r}add(t,e){return Array.isArray(t)&&Array.isArray(e)?Mr.uniq([...t,...e]):Number(t)+Number(e)}sub(t,e){return Array.isArray(t)&&Array.isArray(e)?t.filter(r=>!e.includes(r)):Number(t)-Number(e)}againAssignParse(t,e){var n;if(e)return;const r=(n=t==null?void 0:t.constructor)==null?void 0:n.name;if(r)switch(r){case Ki.name:case Yf.name:case Ji.name:case Ra.name:case Hi.name:case no.name:t==null||t.delete();break}}}class wi{constructor(t=50){q(this,"_all");q(this,"_allInstance");q(this,"_pseudoArrayAll");q(this,"_maxLength");this._all=new Map,this._allInstance=new Map,this._pseudoArrayAll=new Jt,this._maxLength=t}setMaxLen(t){this._maxLength=t}get data(){return[...this._all.values()]}get all(){return this._pseudoArrayAll._value=[...this._allInstance.values()],this._pseudoArrayAll}add(t,e,r){this._all.set(t,e),this._allInstance.set(t,r);const n=[...this._all.keys()];if(n.length>this._maxLength){const s=n.shift();s&&this.delete(s)}}get(t){return this._all.get(t)}getInstance(t){return this._allInstance.get(t)}delete(t){this._all.delete(t),this._allInstance.delete(t)}}var Zf={exports:{}};(function(i,t){(function(e,r){i.exports=r()})(Wt,function(){return function(e,r,n){r.prototype.isBetween=function(s,a,l,c){var h=n(s),p=n(a),f=(c=c||"()")[0]==="(",d=c[1]===")";return(f?this.isAfter(h,l):!this.isBefore(h,l))&&(d?this.isBefore(p,l):!this.isAfter(p,l))||(f?this.isBefore(h,l):!this.isAfter(h,l))&&(d?this.isAfter(p,l):!this.isBefore(p,l))}}})})(Zf);var ty=Zf.exports,ey=Yt(ty),Gf={exports:{}};(function(i,t){(function(e,r){i.exports=r()})(Wt,function(){return function(e,r,n){var s=r.prototype,a=function(d){var g,w=d.date,m=d.utc,D={};if(!((g=w)===null||g instanceof Date||g instanceof Array||s.$utils().u(g)||g.constructor.name!=="Object")){if(!Object.keys(w).length)return new Date;var v=m?n.utc():n();Object.keys(w).forEach(function(O){var C,T;D[C=O,T=s.$utils().p(C),T==="date"?"day":T]=w[O]});var E=D.day||(D.year||D.month>=0?1:v.date()),b=D.year||v.year(),N=D.month>=0?D.month:D.year||D.day?0:v.month(),x=D.hour||0,F=D.minute||0,M=D.second||0,S=D.millisecond||0;return m?new Date(Date.UTC(b,N,E,x,F,M,S)):new Date(b,N,E,x,F,M,S)}return w},l=s.parse;s.parse=function(d){d.date=a.bind(this)(d),l.bind(this)(d)};var c=s.set,h=s.add,p=s.subtract,f=function(d,g,w,m){m===void 0&&(m=1);var D=Object.keys(g),v=this;return D.forEach(function(E){v=d.bind(v)(g[E]*m,E)}),v};s.set=function(d,g){return g=g===void 0?d:g,d.constructor.name==="Object"?f.bind(this)(function(w,m){return c.bind(this)(m,w)},g,d):c.bind(this)(d,g)},s.add=function(d,g){return d.constructor.name==="Object"?f.bind(this)(h,d,g):h.bind(this)(d,g)},s.subtract=function(d,g){return d.constructor.name==="Object"?f.bind(this)(h,d,g,-1):p.bind(this)(d,g)}}})})(Gf);var ry=Gf.exports,ny=Yt(ry),Kf={exports:{}};(function(i,t){(function(e,r){i.exports=r()})(Wt,function(){var e,r,n=1e3,s=6e4,a=36e5,l=864e5,c=/\[([^\]]+)]|Y{1,4}|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,h=31536e6,p=2628e6,f=/^(-|\+)?P(?:([-+]?[0-9,.]*)Y)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)W)?(?:([-+]?[0-9,.]*)D)?(?:T(?:([-+]?[0-9,.]*)H)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)S)?)?$/,d={years:h,months:p,days:l,hours:a,minutes:s,seconds:n,milliseconds:1,weeks:6048e5},g=function(F){return F instanceof N},w=function(F,M,S){return new N(F,S,M.$l)},m=function(F){return r.p(F)+"s"},D=function(F){return F<0},v=function(F){return D(F)?Math.ceil(F):Math.floor(F)},E=function(F){return Math.abs(F)},b=function(F,M){return F?D(F)?{negative:!0,format:""+E(F)+M}:{negative:!1,format:""+F+M}:{negative:!1,format:""}},N=function(){function F(S,O,C){var T=this;if(this.$d={},this.$l=C,S===void 0&&(this.$ms=0,this.parseFromMilliseconds()),O)return w(S*d[m(O)],this);if(typeof S=="number")return this.$ms=S,this.parseFromMilliseconds(),this;if(typeof S=="object")return Object.keys(S).forEach(function(k){T.$d[m(k)]=S[k]}),this.calMilliseconds(),this;if(typeof S=="string"){var R=S.match(f);if(R){var U=R.slice(2).map(function(k){return k!=null?Number(k):0});return this.$d.years=U[0],this.$d.months=U[1],this.$d.weeks=U[2],this.$d.days=U[3],this.$d.hours=U[4],this.$d.minutes=U[5],this.$d.seconds=U[6],this.calMilliseconds(),this}}return this}var M=F.prototype;return M.calMilliseconds=function(){var S=this;this.$ms=Object.keys(this.$d).reduce(function(O,C){return O+(S.$d[C]||0)*d[C]},0)},M.parseFromMilliseconds=function(){var S=this.$ms;this.$d.years=v(S/h),S%=h,this.$d.months=v(S/p),S%=p,this.$d.days=v(S/l),S%=l,this.$d.hours=v(S/a),S%=a,this.$d.minutes=v(S/s),S%=s,this.$d.seconds=v(S/n),S%=n,this.$d.milliseconds=S},M.toISOString=function(){var S=b(this.$d.years,"Y"),O=b(this.$d.months,"M"),C=+this.$d.days||0;this.$d.weeks&&(C+=7*this.$d.weeks);var T=b(C,"D"),R=b(this.$d.hours,"H"),U=b(this.$d.minutes,"M"),k=this.$d.seconds||0;this.$d.milliseconds&&(k+=this.$d.milliseconds/1e3,k=Math.round(1e3*k)/1e3);var W=b(k,"S"),P=S.negative||O.negative||T.negative||R.negative||U.negative||W.negative,K=R.format||U.format||W.format?"T":"",G=(P?"-":"")+"P"+S.format+O.format+T.format+K+R.format+U.format+W.format;return G==="P"||G==="-P"?"P0D":G},M.toJSON=function(){return this.toISOString()},M.format=function(S){var O=S||"YYYY-MM-DDTHH:mm:ss",C={Y:this.$d.years,YY:r.s(this.$d.years,2,"0"),YYYY:r.s(this.$d.years,4,"0"),M:this.$d.months,MM:r.s(this.$d.months,2,"0"),D:this.$d.days,DD:r.s(this.$d.days,2,"0"),H:this.$d.hours,HH:r.s(this.$d.hours,2,"0"),m:this.$d.minutes,mm:r.s(this.$d.minutes,2,"0"),s:this.$d.seconds,ss:r.s(this.$d.seconds,2,"0"),SSS:r.s(this.$d.milliseconds,3,"0")};return O.replace(c,function(T,R){return R||String(C[T])})},M.as=function(S){return this.$ms/d[m(S)]},M.get=function(S){var O=this.$ms,C=m(S);return C==="milliseconds"?O%=1e3:O=C==="weeks"?v(O/d[C]):this.$d[C],O||0},M.add=function(S,O,C){var T;return T=O?S*d[m(O)]:g(S)?S.$ms:w(S,this).$ms,w(this.$ms+T*(C?-1:1),this)},M.subtract=function(S,O){return this.add(S,O,!0)},M.locale=function(S){var O=this.clone();return O.$l=S,O},M.clone=function(){return w(this.$ms,this)},M.humanize=function(S){return e().add(this.$ms,"ms").locale(this.$l).fromNow(!S)},M.valueOf=function(){return this.asMilliseconds()},M.milliseconds=function(){return this.get("milliseconds")},M.asMilliseconds=function(){return this.as("milliseconds")},M.seconds=function(){return this.get("seconds")},M.asSeconds=function(){return this.as("seconds")},M.minutes=function(){return this.get("minutes")},M.asMinutes=function(){return this.as("minutes")},M.hours=function(){return this.get("hours")},M.asHours=function(){return this.as("hours")},M.days=function(){return this.get("days")},M.asDays=function(){return this.as("days")},M.weeks=function(){return this.get("weeks")},M.asWeeks=function(){return this.as("weeks")},M.months=function(){return this.get("months")},M.asMonths=function(){return this.as("months")},M.years=function(){return this.get("years")},M.asYears=function(){return this.as("years")},F}(),x=function(F,M,S){return F.add(M.years()*S,"y").add(M.months()*S,"M").add(M.days()*S,"d").add(M.hours()*S,"h").add(M.minutes()*S,"m").add(M.seconds()*S,"s").add(M.milliseconds()*S,"ms")};return function(F,M,S){e=S,r=S().$utils(),S.duration=function(T,R){var U=S.locale();return w(T,{$l:U},R)},S.isDuration=g;var O=M.prototype.add,C=M.prototype.subtract;M.prototype.add=function(T,R){return g(T)?x(this,T,1):O.bind(this)(T,R)},M.prototype.subtract=function(T,R){return g(T)?x(this,T,-1):C.bind(this)(T,R)}}})})(Kf);var iy=Kf.exports,sy=Yt(iy);te.extend(ey),te.extend(ny),te.extend(sy);class oy{constructor(t,e){q(this,"array");q(this,"color");q(this,"math");q(this,"str");q(this,"map");q(this,"matrix");q(this,"timeframe");q(this,"ta");q(this,"input");q(this,"_variables");q(this,"_cacheData");q(this,"_options");q(this,"_errorListener");q(this,"_plots");q(this,"_alerts");q(this,"_bgColors");q(this,"_hlines");q(this,"_fills");q(this,"chart");q(this,"line");q(this,"label");q(this,"polyline");q(this,"box");q(this,"table");q(this,"linefill");q(this,"log");q(this,"runtime");q(this,"strategy");this._variables=e,this.array=new $p,this.math=new Rp(t),this.color=new l1,this.str=new cw,this.map=new fw,this.timeframe=new lw(e),this.matrix=new uw,this.ta=new s1(e,this.math,this.timeframe),this._cacheData={},this._options={},this._bgColors={},this._alerts=new Map,this._hlines=new Map,this._fills=new Map,this._errorListener=new Gw,this.input=new u1(e,this._errorListener),this._plots=new Map,this.chart={point:new hw(e)},this.line=new Lw(e),this.label=new pw(e),this.polyline=new Rw(e),this.box=new zw(e),this.table=new qw(e),this.linefill=new Pw(e),this.log=new Yw(e),this.runtime=new Zw(this._errorListener),this.strategy=new jw(this._variables,this._options,1e-4,this._errorListener)}get errors(){return this._errorListener.errors}get options(){const t=this.input.getInputs(),e=this._alerts.size?[...this._alerts.values()]:void 0;this._alerts.clear();const r=Object.keys(this._bgColors).length?{...this._bgColors}:void 0,n=this._hlines.size?[...this._hlines.values()]:void 0,s=this._fills.size?[...this._fills.values()]:void 0,a=this.log.logs.length?this.log.logs:void 0;return this.log.clearLogs(),this._options.scriptType==="strategy"&&Object.assign(this._options,{orders:this.strategy.orders,historyOrders:this.strategy.historyOrders}),Object.assign(this._options,{inputs:t,plots:[...this._plots.values()],draws:this._getDraws(),alerts:e,colors:r,hlines:n,fills:s,logs:a})}_getDraws(){const{line:t,linefill:e,table:r,box:n,polyline:s,label:a}=this._variables,l={};return t.data.length&&(l.lines=t.data),e.data.length&&(l.linefills=e.data),r.data.length&&(l.tables=r.data),n.data.length&&(l.boxes=n.data),s.data.length&&(l.polylines=s.data),a.data.length&&(l.labels=a.data),Object.keys(l).length?l:void 0}update(t){const{barIndex:e,inputs:r}=t;r&&r.length&&this.input.update(r),this.strategy.updateOptions(),this.math.update(e)}endExecution(){this.strategy.endExecution()}indicator(t){this._variables.bar_index||(this._options.scriptType="indicator",this._options.indicator=t)}plot(t,e){const{series:r,color:n,seriesColors:s,...a}=t,{bar_index:l}=this._variables,c=`plot_${e}`,h=this._plots.get(c),p=(h==null?void 0:h.data)||[],f=r!==void 0&&isNaN(r)?void 0:r;if(p[l]=f,s!=null&&s.length&&(this._seriesColorHandle(t,c),p[l]={value:f,itemStyle:{color:n}}),!h){const d=n?[n]:void 0;this._plots.set(c,{editable:!0,...a,colors:d,data:p,id:c})}return{type:"plot",key:c}}plotbar(t,e){const{open:r,close:n,low:s,high:a,color:l,seriesColors:c,...h}=t,{bar_index:p}=this._variables,f=`plotbar_${e}`,d=this._plots.get(f),g=(d==null?void 0:d.data)||[],w=n!==void 0&&isNaN(n)?void 0:n,m=r!==void 0&&isNaN(r)?void 0:r,D=s!==void 0&&isNaN(s)?void 0:s,v=a!==void 0&&isNaN(a)?void 0:a,E=[m,w,D,v];if(g[p]=E,c!=null&&c.length&&(this._seriesColorHandle(t,f),g[p]={value:E,itemStyle:{color:l}}),!d){const b=l?[l]:void 0;this._plots.set(f,{editable:!0,...h,colors:b,data:g,id:f})}}plotchar(t,e){const{series:r,color:n,textcolor:s,...a}=t,{bar_index:l}=this._variables,c=`plotchar_${e}`,h=this._plots.get(c),p=(h==null?void 0:h.data)||[];p[l]={value:r,color:n,textcolor:s},h||this._plots.set(c,{editable:!0,...a,data:p,id:c})}plotarrow(t,e){const{series:r,colorup:n,colordown:s,...a}=t,{bar_index:l}=this._variables,c=`plotarrow_${e}`,h=this._plots.get(c),p=(h==null?void 0:h.data)||[];p[l]={value:r!==void 0&&isNaN(r)?void 0:r,colorup:n,colordown:s},h||this._plots.set(c,{editable:!0,...a,data:p,id:c})}plotshape(t,e){const{series:r,color:n,textcolor:s,...a}=t,{bar_index:l}=this._variables,c=`plotshape_${e}`,h=this._plots.get(c),p=(h==null?void 0:h.data)||[];p[l]={value:r,color:n,textcolor:s},h||this._plots.set(c,{editable:!0,...a,data:p,id:c})}plotcandle(t,e){const{wickcolor:r,bordercolor:n,color:s,close:a,open:l,low:c,high:h,...p}=t,{bar_index:f}=this._variables,d=`plotcandle_${e}`,g=this._plots.get(d),w=(g==null?void 0:g.data)||[],m=a!==void 0&&isNaN(a)?void 0:a,D=l!==void 0&&isNaN(l)?void 0:l,v=c!==void 0&&isNaN(c)?void 0:c,E=h!==void 0&&isNaN(h)?void 0:h,b=[D,m,v,E];w[f]={value:b,wickcolor:r,bordercolor:n,color:s},g||this._plots.set(d,{editable:!0,...p,data:w,id:d})}hline(t,e){const r=`hline_${e}`;return this._hlines.set(r,{linewidth:1,editable:!0,display:rr.all,...t}),{type:"hline",key:r}}fill(t,e){const r=`fill_${e}`;this._fills.set(r,{display:rr.all,editable:!0,fillgaps:!1,...t})}alert({message:t,freq:e=hn.freqOncePerBar},r){const{bar_index:n,_isRealTimeBar:s,last_bar_index:a}=this._variables,l=`alert_${r}`,c=this._cacheData[l].barIndex;if(e===hn.freqOncePerBar&&n===c){this._alerts.delete(l);return}const h={message:t,freq:e,id:l,type:"alert"};if(s){e!==hn.freqOncePerBarClose&&this._alerts.set(l,h),this._cacheData[l].barIndex=n;return}if(!s&&e===hn.freqOncePerBarClose&&n===c&&a===n-1){this._alerts.set(l,h),this._cacheData[l].barIndex=n;return}this._alerts.delete(l)}alertcondition({condition:t,message:e,title:r},n){const{_isRealTimeBar:s}=this._variables,a=`alertcondition_${n}`;s&&t?this._alerts.set(a,{message:e,title:r,id:a,type:"alertcondition"}):this._alerts.delete(a)}barcolor(t){this._setColors(t,"barcolor")}bgcolor(t){this._setColors(t,"bgcolor")}_setColors(t,e){var l,c;const{color:r,...n}=t,{bar_index:s}=this._variables,a=((l=this._bgColors[e])==null?void 0:l.colors)||[];if(!a[s]){const h=((c=this._bgColors[e])==null?void 0:c.setColors)||[];h.includes(r)||h.push(r),a[s]=r,this._bgColors[e]={...n,colors:a,setColors:h}}}max_bars_back({var:t,num:e,var_name:r}){console.log(t,e,r)}float({x:t}){return t}bool({x:t}){return t||!1}string({x:t}){return t}int({x:t}){return t&&Math.trunc(t)}na({x:t}){return t===void 0}fixnan({source:t},e){return t===void 0||isNaN(t)?this._cacheData[`fixnan_${e}`]:(this._cacheData[`fixnan_${e}`]=t,t)}nz({source:t,replacement:e}){return t!==void 0&&!isNaN(t)?t:e||0}time({timeframe:t="",session:e,timezone:r,bars_back:n=0},s){return this._timeHandle(this._variables.time,s,t,e,r,n)}time_close({timeframe:t="",session:e,timezone:r,bars_back:n=0},s){return this._variables.time_close&&this._timeHandle(this._variables.time_close,s,t,e,r,n)}timestamp({dateString:t,timezone:e,year:r,month:n,day:s,hour:a=0,minute:l=0,second:c=0}){if(t)return te(t).valueOf();let h=te({year:r,month:n,day:s,hour:a,minute:l,second:c});return e&&(h=Nr(h.valueOf(),e)),h.valueOf()}weekofyear({time:t,timezone:e}){return Nr(t,e).week()}year({time:t,timezone:e}){return Nr(t,e).year()}second({time:t,timezone:e}){return Nr(t,e).second()}month({time:t,timezone:e}){return Nr(t,e).month()+1}minute({time:t,timezone:e}){return Nr(t,e).minute()}hour({time:t,timezone:e}){return Nr(t,e).hour()}dayofweek({time:t,timezone:e}){return Nr(t,e).day()+1}dayofmonth({time:t,timezone:e}){return Nr(t,e).date()}_calcTimeOffset(t,e){const r=this._variables.getTimeTradingday(t,e),n=Hr(e)*1e3;return t-r-Math.floor((t-r)/n)*n}_timeHandle(t,e,r="",n,s,a=0){const l=r||this._variables.timeframe.period,c=Hr(l),h=Hr(this._variables.timeframe.period);let p;if(c<=h)p=t;else{const f=`time_${e}`,d=this._cacheData[f];if(d)d.currentTime+c*1e3-d.offset<=t?(p=t,this._cacheData[f]={currentTime:t,offset:0}):p=d;else{const g=this._calcTimeOffset(t,l);this._cacheData[f]={currentTime:t,offset:g},p=t}}if(n){const{timePeriods:f,weeks:d}=this._parserSession(n),g=te(t).format("YYYY-MM-DD"),w=p;p=void 0;for(const D of f){const[v,E]=D;if(te(t).isBetween(`${g} ${v}`,`${g} ${E}`,"hour")){te(w).isBetween(`${g} ${v}`,`${g} ${E}`,"hour")?p=w:p=te(`${g} ${v}`).valueOf();break}}const m=this._variables.dayofweek;p&&!d.includes(m)&&(p=void 0)}return s&&(p=p&&Nr(p,s).valueOf()),p&&p-a*h*1e3}_seriesColorHandle(t,e){var s,a;const{seriesColors:r}=t,n=this._plots.get(e);if(n&&r!=null&&r.length)for(const l of r){if((s=n.gradientColorKeys)!=null&&s.includes(l))continue;const c=t[l],h=n[`${l}s`]||[];h.includes(c)||(h.push(c),n[`${l}s`]=h,h.length>5&&(n[`${l}s`]=[],(a=n.gradientColorKeys)==null||a.push(l)))}}_parserSession(t){const e=t.split(":"),r=e[0],s=(e[1]||"1234567").split("").map(l=>{const c=parseInt(l,10);if(c<1||c>7)throw new Error(`Invalid day of week: ${l}`);return c});return{timePeriods:r.split(",").map(l=>{const c=l.split("-");if(c.length!==2)throw new Error(`Invalid time period: ${l}`);return[this._processTime(c[0]),this._processTime(c[1])]}),weeks:s}}_processTime(t){const e=parseInt(t.slice(0,2),10),r=parseInt(t.slice(2),10);if(!(e>=0&&e<=23)&&r>=0&&r<=59)throw new Error("Invalid time: Time must be within 00:00 to 23:59");return`${e}:${r}`}}/**
|
63
63
|
* @license
|
64
64
|
* Copyright 2019 Google LLC
|
65
65
|
* SPDX-License-Identifier: Apache-2.0
|
66
|
-
*/const
|
66
|
+
*/const Hf=Symbol("Comlink.proxy"),ay=Symbol("Comlink.endpoint"),uy=Symbol("Comlink.releaseProxy"),La=Symbol("Comlink.finalizer"),io=Symbol("Comlink.thrown"),Jf=i=>typeof i=="object"&&i!==null||typeof i=="function",ly={canHandle:i=>Jf(i)&&i[Hf],serialize(i){const{port1:t,port2:e}=new MessageChannel;return Pa(i,t),[e,[e]]},deserialize(i){return i.start(),py(i)}},cy={canHandle:i=>Jf(i)&&io in i,serialize({value:i}){let t;return i instanceof Error?t={isError:!0,value:{message:i.message,name:i.name,stack:i.stack}}:t={isError:!1,value:i},[t,[]]},deserialize(i){throw i.isError?Object.assign(new Error(i.value.message),i.value):i.value}},Xf=new Map([["proxy",ly],["throw",cy]]);function fy(i,t){for(const e of i)if(t===e||e==="*"||e instanceof RegExp&&e.test(t))return!0;return!1}function Pa(i,t=globalThis,e=["*"]){t.addEventListener("message",function r(n){if(!n||!n.data)return;if(!fy(e,n.origin)){console.warn(`Invalid origin '${n.origin}' for comlink proxy`);return}const{id:s,type:a,path:l}=Object.assign({path:[]},n.data),c=(n.data.argumentList||[]).map(Zn);let h;try{const p=l.slice(0,-1).reduce((d,g)=>d[g],i),f=l.reduce((d,g)=>d[g],i);switch(a){case"GET":h=f;break;case"SET":p[l.slice(-1)[0]]=Zn(n.data.value),h=!0;break;case"APPLY":h=f.apply(p,c);break;case"CONSTRUCT":{const d=new f(...c);h=vy(d)}break;case"ENDPOINT":{const{port1:d,port2:g}=new MessageChannel;Pa(i,g),h=gy(d,[d])}break;case"RELEASE":h=void 0;break;default:return}}catch(p){h={value:p,[io]:0}}Promise.resolve(h).catch(p=>({value:p,[io]:0})).then(p=>{const[f,d]=uo(p);t.postMessage(Object.assign(Object.assign({},f),{id:s}),d),a==="RELEASE"&&(t.removeEventListener("message",r),Vf(t),La in i&&typeof i[La]=="function"&&i[La]())}).catch(p=>{const[f,d]=uo({value:new TypeError("Unserializable return value"),[io]:0});t.postMessage(Object.assign(Object.assign({},f),{id:s}),d)})}),t.start&&t.start()}function hy(i){return i.constructor.name==="MessagePort"}function Vf(i){hy(i)&&i.close()}function py(i,t){return za(i,[],t)}function so(i){if(i)throw new Error("Proxy has been released and is not useable")}function Qf(i){return yi(i,{type:"RELEASE"}).then(()=>{Vf(i)})}const oo=new WeakMap,ao="FinalizationRegistry"in globalThis&&new FinalizationRegistry(i=>{const t=(oo.get(i)||0)-1;oo.set(i,t),t===0&&Qf(i)});function dy(i,t){const e=(oo.get(t)||0)+1;oo.set(t,e),ao&&ao.register(i,t,i)}function _y(i){ao&&ao.unregister(i)}function za(i,t=[],e=function(){}){let r=!1;const n=new Proxy(e,{get(s,a){if(so(r),a===uy)return()=>{_y(n),Qf(i),r=!0};if(a==="then"){if(t.length===0)return{then:()=>n};const l=yi(i,{type:"GET",path:t.map(c=>c.toString())}).then(Zn);return l.then.bind(l)}return za(i,[...t,a])},set(s,a,l){so(r);const[c,h]=uo(l);return yi(i,{type:"SET",path:[...t,a].map(p=>p.toString()),value:c},h).then(Zn)},apply(s,a,l){so(r);const c=t[t.length-1];if(c===ay)return yi(i,{type:"ENDPOINT"}).then(Zn);if(c==="bind")return za(i,t.slice(0,-1));const[h,p]=th(l);return yi(i,{type:"APPLY",path:t.map(f=>f.toString()),argumentList:h},p).then(Zn)},construct(s,a){so(r);const[l,c]=th(a);return yi(i,{type:"CONSTRUCT",path:t.map(h=>h.toString()),argumentList:l},c).then(Zn)}});return dy(n,i),n}function my(i){return Array.prototype.concat.apply([],i)}function th(i){const t=i.map(uo);return[t.map(e=>e[0]),my(t.map(e=>e[1]))]}const eh=new WeakMap;function gy(i,t){return eh.set(i,t),i}function vy(i){return Object.assign(i,{[Hf]:!0})}function uo(i){for(const[t,e]of Xf)if(e.canHandle(i)){const[r,n]=e.serialize(i);return[{type:"HANDLER",name:t,value:r},n]}return[{type:"RAW",value:i},eh.get(i)||[]]}function Zn(i){switch(i.type){case"HANDLER":return Xf.get(i.name).deserialize(i.value);case"RAW":return i.value}}function yi(i,t,e){return new Promise(r=>{const n=wy();i.addEventListener("message",function s(a){!a.data||!a.data.id||a.data.id!==n||(i.removeEventListener("message",s),r(a.data))}),i.start&&i.start(),i.postMessage(Object.assign({id:n},t),e)})}function wy(){return new Array(4).fill(0).map(()=>Math.floor(Math.random()*Number.MAX_SAFE_INTEGER).toString(16)).join("-")}class yy{constructor(){q(this,"_cache");this._cache=new Map}set(t,e){this._cache.set(t,e)}setValue(t,e,r){const n=this._cache.get(t)||{};n[e]=r,this._cache.set(t,n)}updateValue(t,e,r){const n=this._cache.get(t)||{};this._cache.set(t,Object.assign(n[e]||{},r))}get(t){return this._cache.get(t)}has(t){return this._cache.has(t)}delete(t){this._cache.delete(t)}clear(){this._cache.clear()}}function Dy(i,t,e){const{data:r,isPreParser:n}=t;if(self.workerStorage||(self.workerStorage=new yy),e&&(self.builtInGather=new Qw,self.buildinConstants=new $w,self.buildInFunctions=new oy(4,self.builtInGather),self.tradingvueFunc=new Function("$_var","$_const","$_func",i)),n)self.tradingvueFunc(self.builtInGather,self.buildinConstants,self.buildInFunctions);else if(r&&r.length){const a=r.length;for(const[l,c]of r.entries()){self.builtInGather.updateData(Object.assign(c,{barIndex:l,lastBarIndex:a-1,lastBarTime:r[a-1].time})),self.buildInFunctions.update({barIndex:l}),self.tradingvueFunc(self.builtInGather,self.buildinConstants,self.buildInFunctions),self.buildInFunctions.endExecution();const h=self.buildInFunctions.errors;if(h.length&&h.some(p=>p.type===Dn.Error))return{status:1,errors:h}}}const s=self.buildInFunctions.errors;return s.length&&s.some(a=>a.type===Dn.Error)?{status:1,errors:s}:{status:0,options:self.buildInFunctions.options}}function by(i){self==null||self.workerStorage.delete(i)}Pa({runScript:Dy,removeScript:by})})();
|