!function(n){"function"==typeof define&&define.amd?define([],n):n()}((function(){"use strict";var n,i,t=Math,e=Number,r=Object.defineProperty,u={sinh:function(n){if(0===n)return n;var i=t.exp(n);return i/2-.5/i},cosh:function(n){var i=t.exp(n);return i/2+.5/i},tanh:function(n){return 0===n?n:n<0?((i=t.exp(2*n))-1)/(i+1):(1-(i=t.exp(-2*n)))/(1+i);var i},asinh:function(n){return n===-1/0?-1/0:t.log(n+t.sqrt(n*n+1))},acosh:function(n){return n>=1?t.log(n+t.sqrt(n*n-1)):NaN},atanh:function(n){return n>=-1&&n<=1?t.log((1+n)/(1-n))/2:NaN},expm1:function(n){return 0===n?n:t.exp(n)-1},log10:function(n){return t.log(n)/t.LN10},log2:function(n){return t.log(n)/t.LN2},log1p:function(n){return 0===n?n:t.log(1+n)},sign:function(n){return isNaN(n)?NaN:n<0?-1:n>0?1:+n},cbrt:function(n){return 0===n?n:n<0?-t.pow(-n,1/3):t.pow(n,1/3)},hypot:function(n,i){for(var e=0,r=0,u=arguments;e>=1;)i--;return i},imul:function(n,i){return(0|n)*(0|i)|0}},l={isNaN:function(n){return"number"==typeof n&&n!=n},isFinite:function(n){return"number"==typeof n&&n==n&&n!==1/0&&n!==-1/0},isInteger:function(n){return"number"==typeof n&&n!==1/0&&n!==-1/0&&t.floor(n)===n},isSafeInteger:function(n){return"number"==typeof n&&n>-9007199254740992&&n<9007199254740992&&t.floor(n)===n},parseFloat,parseInt},o={EPSILON:2220446049250313e-31,MAX_SAFE_INTEGER:9007199254740991,MIN_SAFE_INTEGER:-9007199254740991};for(n in u)"function"!=typeof t[n]&&(t[n]=u[n]);for(n in l)"function"!=typeof e[n]&&(e[n]=l[n]);try{for(n in r(n={},0,{}),o)n in e||r(e,n,{value:o[n]})}catch(i){for(n in o)n in e||(e[n]=o[n])}}));var $builtinmodule=function(t){var e="numpy.ndarray",r=Number.MAX_SAFE_INTEGER,u=32,l=0,o=1,a=2,s=4,c=1280|o,f=4096,k=function(){this.math=Math};function b(n){return n&&Sk.abstr.typeName(n)===e}function S(n,i){var t,e;for(e=g(n.ao),t=0;t0&&(n.factors[t-e-1]=n.factors[t-e]*N(i)[t-e]),n.bounds[e]=n.bounds[e]||[],n.bounds[e][0]=0,n.bounds[e][1]=N(i)[e]-1,n.limits[e]=n.limits[e]||[],n.limits[e][0]=0,n.limits[e][1]=N(i)[e]-1,n.limits_sizes[e]=n.limits[e][1]-n.limits[e][0]+1;n.translate=S,w(n)}(i,t),i)}function m(n,i){var t,e,r;if(!b(n))throw new Sk.builtin.ValueError("Numpy IterAllButAxis requires an ndarray.");if(e=p(t=n),0==A(t))return e;if(i<0){var u,l=0,o=0;for(u=0;0==o&&u0&&E(t,u)=0;i--)n.coordinates[i]= 0 or a single integer");t=function(n){if(Sk.builtin.checkSequence(n)){var i,t=Sk.builtin.len(n);t=Sk.ffi.remapToJs(t);var e,r=[];for(i=0;i1)throw new Sk.builtin.ValueError("can only specify one unknown dimension");if(1==r){var l,o;if(0===u)o=1===t.length?1:tn(t.slice(1));else{var a=t.slice();a.splice(u,1),o=tn(a)}l=y(n)/o,t[u]=l}if(tn(t)!==y(n))throw new Sk.builtin.ValueError("total size of new array must be unchanged");return t}function y(n){if(b(n))return tn(n.v.shape);throw new Error("Internal API-Call Error occured in PyArray_DATA.",n)}function g(n){if(b(n))return n.v.buffer;throw new Error("Internal API-Call Error occured in PyArray_DATA.",n)}function $(n){if(b(n))return n.v.strides;throw new Error("Internal API-Call Error occured in PyArray_STRIDES.",n)}function E(n,i){if(b(n))return n.v.strides[i];throw new Error("Internal API-Call Error occured in PyArray_STRIDE.",n)}function A(n){if(b(n))return n.v.shape.length;throw new Error("Internal API-Call Error occured in PyArray_NDIM.",n)}function N(n){if(b(n))return n.v.shape;throw new Error("Internal API-Call Error occured in PyArray_DIMS.",n)}function I(n,i){if(b(n))return n.v.shape[i];throw new Error("Internal API-Call Error occured in PyArray_DIM.",n)}function T(n,i,t){if(b(n)){var e=new Sk.builtin.tuple(i.map((function(n){return new Sk.builtin.int_(n)}))),r=Sk.ffi.remapToPy(t);return Sk.misceval.callsim(n.reshape,n,e,r)}throw new Error("Internal API-Call Error occured in PyArray_NewShape.",n)}function x(t,e){var r,u,l,o=[],a=[],s=[];if(null==e)for(n=A(t),i=0;i=A(t))throw new Sk.builtin.ValueError("invalid axis for this array");if(-1!=s[r])throw new Sk.builtin.ValueError("repeated axis in transpose");s[r]=i,a[i]=r}}for(l=function(n){if(b(n))return n.v.flags;throw new Error("Internal API-Call Error occured in PyArray_NewShape.",n)}(t),u=j(Sk.builtin.type(t),d(t),n,N(t),null,null,l,t),i=0;i0){var r=i.mp$subscript(0);return t>0&&Sk.builtin.checkSequence(r)?n(r,t-1):r}}(n,i),b(t))return d(n)}else if(b(n)){var r=d(n);if(null!=r)return r;var l=Sk.builtin.len(n);Sk.builtin.asnum$(l)>0&&(t=g(n)[0])}try{e=Sk.builtin.type(t)}catch(n){}return e}k.prototype.arange=function(n,i,t){void 0===t&&(t=1),i*=1,t*=1;for(var e=[],r=n*=1;r=i?e:e=0&&i<=3?i:M:void 0}function F(n,i){return i instanceof Sk.builtin.none&&Sk.builtin.checkNone(n)?n:Sk.misceval.callsim(i,n)}function D(n,i){var t,e=l;return function(n){return b(n)}(n)?e:(t=Sk.builtin.getattr(n,new Sk.builtin.str("__array_priority__"),Sk.builtin.none.none$),Sk.builtin.checkNone(t)?i:(t=Sk.builtin.float(t),e=Sk.ffi.remapToJs(t)))}function z(n,i,t,l,k,b,S,p,m){var h,w,d,_;if(i.subarray)throw new Error("subarrays not supported");if(t>u)throw new Sk.builtin.ValueError("number of dimensions must be within [0, "+u+"]");if(_=1,0==(d=1))throw new Sk.builtin.TypeError("Empty data-type");for(w=0;w1&&(h.flags&=~o),S=a)):h.flags=S&~f,h.descr=i,h.base=null,h.weakreflist=null,t>0?(h.dimensions=[],h.strides=[],l.map((function(n){h.dimensions.push(n)})),null==k?d=function(n,i,t,e){var u,l=0;for(u=0;u=0;u--)n[u]=e,i[u]?e*=i[u]:0,1==i[u]&&(n[u]=r);return e}(h.strides,l,t,d,0,h.flags):(k.map((function(n){h.strides.push(n)})),d*=_)):(h.dimensions=null,h.strides=null,h.flags|=a),null==b?(0==d&&(d=1),b=[],h.flags|=s):h.flags&=~s,h.data=b;var y=new Sk.builtin.tuple((h.dimensions||[]).map((function(n){return new Sk.builtin.int_(n)}))),g=new Sk.builtin.list(h.data),$=h.descr;return Sk.misceval.callsim(Q[e],y,$,g)}function j(n,i,t,e,r,u,l,o){return z(0,i,t,e,r,u,l)}function U(n,i,t,e,r,u){var l,o,a;if(Sk.builtin.type(i)!=Sk.builtin.type(n)?(prior=D(i,0),prior=D(n,0),a>o?Sk.builtin.type(i):Sk.builtin.type(n)):(o=a=0,Sk.builtin.type(n)),null!=t)throw new Error('new_array_for_sum does not support "out" parameter');return l=function(n,i,t,e,r,u,l,o){var a;return null==(a=V(e))?null:j(0,a,i,t,r,u,o)}(0,e,r,u,null,null,0,0),l}function L(n,t,r,l,o,a){if(null==n)throw new Error('Internal PyArray_FromAny API-Call error. "op" must not be null.');(null==t||Sk.builtin.checkNone(t))&&null==(t=q(n,u))&&(t=V(O));var s=[],c={level:0,shape:[]};for(b(n)?(s=g(n),(c={}).level=0,c.shape=N(n)):W(n,s,c),i=0;i=0&&f>c.shape.length){var k=[];for(i=0;i1?A(r)-2:0,N(r)[k]!=a&&function(n,i,t,e){var r,u,l,o,a,s,c,f,k;if(u=new Sk.builtin.str("shapes %s and %s not aligned: %d (dim %d) != %d (dim %d)"),s=G(A(n),N(n),""),c=G(A(t),N(t),""),o=new Sk.builtin.int_(i),a=new Sk.builtin.int_(e),f=new Sk.builtin.int_(I(n,i)),k=new Sk.builtin.int_(I(t,e)),u&&s&&c&&o&&a&&f&&k)throw l=new Sk.builtin.tuple([s,c,f,o,k,a]),null!=(r=Sk.abstr.numberBinOp(u,l,"Mod"))?new Sk.builtin.ValueError(r):new Sk.builtin.ValueError("shapes are not aligned")}(e,A(e)-1,r,k),(c=A(e)+A(r)-2)>u)throw new Sk.builtin.ValueError("dot: too many dimensions in result");for(o=0,l=0;l1&&(y[o++]=N(r)[A(r)-1]),b=$(e)[A(e)-1],S=$(r)[k],v=U(e,r,t,c,y,s),s){case 0:case 1:case 2:case 3:d=C;break;default:throw new Sk.builtin.ValueError("dot not available for this type")}if(p=g(v),f=A(e)-1,it1=m(e,f),null==it1)return null;if(it2=m(r,k),null==it2)return null;for(var E,T,x=0;it1.indext.shape.length&&t.shape.push(r.length);var u=r.length;for(e=0;e=i.length)return n[0];for(l=i[e],o=t[e],a=[],u=0;u`_.\n\nWe recommend exploring the docstrings using\n`IPython `_, an advanced Python shell with\nTAB-completion and introspection capabilities. See below for further\ninstructions.\n\nThe docstring examples assume that `numpy` has been imported as `np`::\n\n >>> import numpy as np\n\nCode snippets are indicated by three greater-than signs::\n\n >>> x = 42\n >>> x = x + 1\n\nUse the built-in ``help`` function to view a function's docstring::\n\n >>> help(np.sort)\n ... # doctest: +SKIP\n\nFor some objects, ``np.info(obj)`` may provide additional help. This is\nparticularly true if you see the line \"Help on ufunc object:\" at the top\nof the help() page. Ufuncs are implemented in C, not Python, for speed.\nThe native Python help() does not know how to view their help, but our\nnp.info() function does.\n\nTo search for documents containing a keyword, do::\n\n >>> np.lookfor('keyword')\n ... # doctest: +SKIP\n\nGeneral-purpose documents like a glossary and help on the basic concepts\nof numpy are available under the ``doc`` sub-module::\n\n >>> from numpy import doc\n >>> help(doc)\n ... # doctest: +SKIP\n\nAvailable subpackages\n---------------------\ndoc\n Topical documentation on broadcasting, indexing, etc.\nlib\n Basic functions used by several sub-packages.\nrandom\n Core Random Tools\nlinalg\n Core Linear Algebra Tools\nfft\n Core FFT routines\npolynomial\n Polynomial tools\ntesting\n Numpy testing tools\nf2py\n Fortran to Python Interface Generator.\ndistutils\n Enhancements to distutils with support for\n Fortran compilers support and more.\n\nUtilities\n---------\ntest\n Run numpy unittests\nshow_config\n Show numpy build configuration\ndual\n Overwrite certain functions with high-performance Scipy tools\nmatlib\n Make everything matrices.\n__version__\n Numpy version string\n\nViewing documentation using IPython\n-----------------------------------\nStart IPython with the NumPy profile (``ipython -p numpy``), which will\nimport `numpy` under the alias `np`. Then, use the ``cpaste`` command to\npaste examples into the shell. To see which functions are available in\n`numpy`, type ``np.`` (where ```` refers to the TAB key), or use\n``np.*cos*?`` (where ```` refers to the ENTER key) to narrow\ndown the list. To view the docstring for a function, use\n``np.cos?`` (to view the docstring) and ``np.cos??`` (to view\nthe source code).\n\nCopies vs. in-place operation\n-----------------------------\nMost of the functions in `numpy` return a copy of the array argument\n(e.g., `np.sort`). In-place versions of these functions are often\navailable as array methods, i.e. ``x = np.array([1,2,3]); x.sort()``.\nExceptions to this rule are documented.\n\n");function un(n,i){var t,r;if((n instanceof Sk.builtin.list||n instanceof Sk.builtin.tuple)&&(n=Sk.misceval.callsim(Q.array,n)),b(n)){var u=g(n).map((function(n){return r=Sk.builtin.asnum$(n),t=i.call(null,r),new Sk.builtin.float_(t)})),l=new Sk.builtin.tuple(N(n).map((function(n){return new Sk.builtin.int_(n)})));return buffer=new Sk.builtin.list(u),Sk.misceval.callsim(Q[e],l,d(n),buffer)}if(Sk.builtin.checkNumber(n))return r=Sk.builtin.asnum$(n),t=i.call(null,r),new Sk.builtin.float_(t);throw new Sk.builtin.TypeError('Unsupported argument type for "x"')}Q[e]=Sk.misceval.buildClass(Q,(function(n,i){function t(n){return function(i,t){var r,u,l,o,a,s;if(b(t))for(r=g(i),u=g(t),o=[],s=0,len=r.length;s1){for(l=s.strides[0],u=[],t=0,a=c*l,ubound=(c+1)*l;a=0&&c=0&&i1){var u,l=Sk.ffi.remapToJs(t),o=e.strides[0],a=0,s=(r+1)*o;for(u=r*o;u=0&&r=i.$obj.buffer.length))return i.$obj.buffer[i.$index++]}};return i})),i.__str__=new Sk.builtin.func((function(n){return console.log("enter str"),Sk.misceval.callsim(n.__repr__,n)})),i.__repr__=new Sk.builtin.func((function(n){return console.log("enter repr"),H(n,1)})),i.__add__=new Sk.builtin.func(t("Add")),i.__radd__=new Sk.builtin.func(u("Add")),i.__iadd__=new Sk.builtin.func(r("Add")),i.__sub__=new Sk.builtin.func(t("Sub")),i.__rsub__=new Sk.builtin.func(u("Sub")),i.__isub__=new Sk.builtin.func(r("Sub")),i.__mul__=new Sk.builtin.func(t("Mult")),i.__rmul__=new Sk.builtin.func(u("Mult")),i.__imul__=new Sk.builtin.func(r("Mult")),i.__div__=new Sk.builtin.func(t("Div")),i.__rdiv__=new Sk.builtin.func(u("Div")),i.__idiv__=new Sk.builtin.func(r("Div")),i.__floordiv__=new Sk.builtin.func(t("FloorDiv")),i.__rfloordiv__=new Sk.builtin.func(u("FloorDiv")),i.__ifloordiv__=new Sk.builtin.func(r("FloorDiv")),i.__mod__=new Sk.builtin.func(t("Mod")),i.__rmod__=new Sk.builtin.func(u("Mod")),i.__imod__=new Sk.builtin.func(r("Mod")),i.__xor__=new Sk.builtin.func(t("BitXor")),i.__rxor__=new Sk.builtin.func(u("BitXor")),i.__ixor__=new Sk.builtin.func(r("BitXor")),i.__lshift__=new Sk.builtin.func(t("LShift")),i.__rlshift__=new Sk.builtin.func(u("LShift")),i.__ilshift__=new Sk.builtin.func(r("LShift")),i.__rshift__=new Sk.builtin.func(t("RShift")),i.__rrshift__=new Sk.builtin.func(u("RShift")),i.__irshift__=new Sk.builtin.func(r("RShift")),i.__pos__=new Sk.builtin.func(l("UAdd")),i.__neg__=new Sk.builtin.func(l("USub")),i.__eq__=new Sk.builtin.func((function(n,i){return Sk.misceval.callsim(Q.equal,n,i)})),i.__ne__=new Sk.builtin.func((function(n,i){return Sk.misceval.callsim(Q.not_equal,n,i)})),i.__lt__=new Sk.builtin.func((function(n,i){return Sk.misceval.callsim(Q.less,n,i)})),i.__le__=new Sk.builtin.func((function(n,i){return Sk.misceval.callsim(Q.less_equal,n,i)})),i.__gt__=new Sk.builtin.func((function(n,i){return Sk.misceval.callsim(Q.greater,n,i)})),i.__ge__=new Sk.builtin.func((function(n,i){return Sk.misceval.callsim(Q.greater_equal,n,i)})),i.__pow__=new Sk.builtin.func((function(n,i){Sk.builtin.pyCheckArgs("__pow__",arguments,2,2);var t=g(n).map((function(n){return Sk.builtin.pow(n,i)})),r=new Sk.builtin.tuple(N(n).map((function(n){return new Sk.builtin.int_(n)})));return buffer=new Sk.builtin.list(t),Sk.misceval.callsim(Q[e],r,d(n),buffer)})),i.dot=new Sk.builtin.func((function(n,i){return Sk.misceval.callsim(Q.dot,n,i)})),i.__abs__=new Sk.builtin.func((function(n){Sk.builtin.pyCheckArgs("__abs__",arguments,1,1);var i=g(n).map((function(n){return Sk.builtin.abs(n)})),t=new Sk.builtin.tuple(N(n).map((function(n){return new Sk.builtin.int_(n)})));return buffer=new Sk.builtin.list(i),Sk.misceval.callsim(Q[e],t,d(n),buffer)})),i.transpose=new Sk.builtin.func((function(n,i){var t=Sk.builtin.none.none$,e=arguments.length-1;return i=Array.prototype.slice.call(arguments,1),e>1?t=i:1===e&&(t=i[0]),Sk.builtin.checkNone(t)?x(n,null):x(n,Sk.ffi.remapToJs(t))})),i.any=new Sk.builtin.func((function(n,i,t){return Sk.misceval.callsim(Q.any,n,i,t)})),i.all=new Sk.builtin.func((function(n,i,t){return Sk.misceval.callsim(Q.all,n,i,t)})),i.mean=new Sk.builtin.func((function(n,i,t,e,r){return Sk.misceval.callsim(Q.mean,n,i,t,e,r)})),i.sum=new Sk.builtin.func((function(n,i,t,e,r){return Sk.misceval.callsim(Q.sum,n,i,t,e,r)})),i.prod=new Sk.builtin.func((function(n,i,t,e,r){return Sk.misceval.callsim(Q.prod,n,i,t,e,r)}))}),e,[]),Q.pi=Sk.builtin.float_(Y.math?Y.math.PI:Math.PI),Q.e=Sk.builtin.float_(Y.math?Y.math.E:Math.E);var ln=function(n,i){return Sk.builtin.pyCheckArgs("sin",arguments,1,2),un(n,Y.math?Y.math.sin:Math.sin)};ln.co_varnames=["x","out"],ln.$defaults=[0,new Sk.builtin.list([])],Q.sin=new Sk.builtin.func(ln);var on=function(n,i){if(Sk.builtin.pyCheckArgs("sinh",arguments,1,2),!Y.math)throw new Sk.builtin.OperationError("sinh requires math polyfill");return un(n,Y.math.sinh)};on.co_varnames=["x","out"],on.$defaults=[0,new Sk.builtin.list([])],Q.sinh=new Sk.builtin.func(on);var an=function(n,i){return Sk.builtin.pyCheckArgs("arcsin",arguments,1,2),un(n,Y.math?Y.math.asin:Math.asin)};an.co_varnames=["x","out"],an.$defaults=[0,new Sk.builtin.list([])],Q.arcsin=new Sk.builtin.func(an);var sn=function(n,i){return Sk.builtin.pyCheckArgs("cos",arguments,1,2),un(n,Y.math?Y.math.cos:Math.cos)};sn.co_varnames=["x","out"],sn.$defaults=[0,new Sk.builtin.list([])],Q.cos=new Sk.builtin.func(sn);var cn=function(n,i){if(Sk.builtin.pyCheckArgs("cosh",arguments,1,2),!Y.math)throw new Sk.builtin.OperationError("cosh requires math polyfill");return un(n,Y.math.cosh)};cn.co_varnames=["x","out"],cn.$defaults=[0,new Sk.builtin.list([])],Q.cosh=new Sk.builtin.func(cn);var fn=function(n,i){return Sk.builtin.pyCheckArgs("arccos",arguments,1,2),un(n,Y.math?Y.math.acos:Math.acos)};fn.co_varnames=["x","out"],fn.$defaults=[0,new Sk.builtin.list([])],Q.arccos=new Sk.builtin.func(fn);var kn=function(n,i){return Sk.builtin.pyCheckArgs("arctan",arguments,1,2),un(n,Y.math?Y.math.atan:Math.atan)};kn.co_varnames=["x","out"],kn.$defaults=[0,new Sk.builtin.list([])],Q.arctan=new Sk.builtin.func(kn);var bn=function(n,i){return Sk.builtin.pyCheckArgs("tan",arguments,1,2),un(n,Y.math?Y.math.tan:Math.tan)};bn.co_varnames=["x","out"],bn.$defaults=[0,new Sk.builtin.list([])],Q.tan=new Sk.builtin.func(bn);var Sn=function(n,i){if(Sk.builtin.pyCheckArgs("tanh",arguments,1,2),!Y.math)throw new Sk.builtin.OperationError("tanh requires math polyfill");return un(n,Y.math.tanh)};Sn.co_varnames=["x","out"],Sn.$defaults=[0,new Sk.builtin.list([])],Q.tanh=new Sk.builtin.func(Sn);var pn=function(n,i,t){if(Sk.builtin.pyCheckArgs("round",arguments,1,3),!Y.math)throw new Sk.builtin.OperationError("round requires math polyfill");return console.log(un(n,Y.math?Y.math.round:Math.round)),Sk.misceval.callsim(Q.array,un(n,Y.math?Y.math.round:Math.round),Sk.builtin.int_)};pn.co_varnames=["x","decimals","out"],pn.$defaults=[0,0,new Sk.builtin.list([])],Q.round=new Sk.builtin.func(pn);var mn=function(n,i){if(Sk.builtin.pyCheckArgs("ceil",arguments,1,2),!Y.math)throw new Sk.builtin.OperationError("ceil requires math polyfill");return Sk.misceval.callsim(Q.array,un(n,Y.math?Y.math.ceil:Math.ceil),Sk.builtin.int_)};mn.co_varnames=["x","out"],mn.$defaults=[0,new Sk.builtin.list([])],Q.ceil=new Sk.builtin.func(mn);var hn=function(n,i){if(Sk.builtin.pyCheckArgs("floor",arguments,1,2),!Y.math)throw new Sk.builtin.OperationError("floor requires math polyfill");return Sk.misceval.callsim(Q.array,un(n,Y.math?Y.math.floor:Math.floor),Sk.builtin.int_)};hn.co_varnames=["x","out"],hn.$defaults=[0,new Sk.builtin.list([])],Q.floor=new Sk.builtin.func(hn);var wn=function(n,i){return Sk.builtin.pyCheckArgs("exp",arguments,1,2),un(n,Y.math?Y.math.exp:Math.exp)};wn.co_varnames=["x","out"],wn.$defaults=[0,new Sk.builtin.list([])],Q.exp=new Sk.builtin.func(wn);var dn=function(n,i){return Sk.builtin.pyCheckArgs("sqrt",arguments,1,2),un(n,Y.math?Y.math.sqrt:Math.sqrt)};dn.co_varnames=["x","out"],dn.$defaults=[0,new Sk.builtin.list([])],Q.sqrt=new Sk.builtin.func(dn);var _n=function(n,t,r,u,l){Sk.builtin.pyCheckArgs("linspace",arguments,3,5),Sk.builtin.pyCheckType("start","number",Sk.builtin.checkNumber(n)),Sk.builtin.pyCheckType("stop","number",Sk.builtin.checkNumber(t)),void 0===r&&(r=50);var o,a,s,c,f=Sk.builtin.asnum$(r);(void 0===u?o=!0:u.constructor===Sk.builtin.bool&&(o=u.v),void 0===l?a=!1:l.constructor===Sk.builtin.bool&&(a=l.v),start_num=1*Sk.builtin.asnum$(n),stop_num=1*Sk.builtin.asnum$(t),f<=0)?s=[]:o?1==f?s=[start_num]:(c=(stop_num-start_num)/(f-1),(s=Y.arange(0,f).map((function(n){return n*c+start_num})))[s.length-1]=stop_num):(c=(stop_num-start_num)/f,s=Y.arange(0,f).map((function(n){return n*c+start_num})));var k=Sk.builtin.float_;for(i=0;i