| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686 | // Generated by LiveScript 1.4.0var each, map, compact, filter, reject, partition, find, head, first, tail, last, initial, empty, reverse, unique, uniqueBy, fold, foldl, fold1, foldl1, foldr, foldr1, unfoldr, concat, concatMap, flatten, difference, intersection, union, countBy, groupBy, andList, orList, any, all, sort, sortWith, sortBy, sum, product, mean, average, maximum, minimum, maximumBy, minimumBy, scan, scanl, scan1, scanl1, scanr, scanr1, slice, take, drop, splitAt, takeWhile, dropWhile, span, breakList, zip, zipWith, zipAll, zipAllWith, at, elemIndex, elemIndices, findIndex, findIndices, toString$ = {}.toString, slice$ = [].slice;each = curry$(function(f, xs){  var i$, len$, x;  for (i$ = 0, len$ = xs.length; i$ < len$; ++i$) {    x = xs[i$];    f(x);  }  return xs;});map = curry$(function(f, xs){  var i$, len$, x, results$ = [];  for (i$ = 0, len$ = xs.length; i$ < len$; ++i$) {    x = xs[i$];    results$.push(f(x));  }  return results$;});compact = function(xs){  var i$, len$, x, results$ = [];  for (i$ = 0, len$ = xs.length; i$ < len$; ++i$) {    x = xs[i$];    if (x) {      results$.push(x);    }  }  return results$;};filter = curry$(function(f, xs){  var i$, len$, x, results$ = [];  for (i$ = 0, len$ = xs.length; i$ < len$; ++i$) {    x = xs[i$];    if (f(x)) {      results$.push(x);    }  }  return results$;});reject = curry$(function(f, xs){  var i$, len$, x, results$ = [];  for (i$ = 0, len$ = xs.length; i$ < len$; ++i$) {    x = xs[i$];    if (!f(x)) {      results$.push(x);    }  }  return results$;});partition = curry$(function(f, xs){  var passed, failed, i$, len$, x;  passed = [];  failed = [];  for (i$ = 0, len$ = xs.length; i$ < len$; ++i$) {    x = xs[i$];    (f(x) ? passed : failed).push(x);  }  return [passed, failed];});find = curry$(function(f, xs){  var i$, len$, x;  for (i$ = 0, len$ = xs.length; i$ < len$; ++i$) {    x = xs[i$];    if (f(x)) {      return x;    }  }});head = first = function(xs){  return xs[0];};tail = function(xs){  if (!xs.length) {    return;  }  return xs.slice(1);};last = function(xs){  return xs[xs.length - 1];};initial = function(xs){  if (!xs.length) {    return;  }  return xs.slice(0, -1);};empty = function(xs){  return !xs.length;};reverse = function(xs){  return xs.concat().reverse();};unique = function(xs){  var result, i$, len$, x;  result = [];  for (i$ = 0, len$ = xs.length; i$ < len$; ++i$) {    x = xs[i$];    if (!in$(x, result)) {      result.push(x);    }  }  return result;};uniqueBy = curry$(function(f, xs){  var seen, i$, len$, x, val, results$ = [];  seen = [];  for (i$ = 0, len$ = xs.length; i$ < len$; ++i$) {    x = xs[i$];    val = f(x);    if (in$(val, seen)) {      continue;    }    seen.push(val);    results$.push(x);  }  return results$;});fold = foldl = curry$(function(f, memo, xs){  var i$, len$, x;  for (i$ = 0, len$ = xs.length; i$ < len$; ++i$) {    x = xs[i$];    memo = f(memo, x);  }  return memo;});fold1 = foldl1 = curry$(function(f, xs){  return fold(f, xs[0], xs.slice(1));});foldr = curry$(function(f, memo, xs){  var i$, x;  for (i$ = xs.length - 1; i$ >= 0; --i$) {    x = xs[i$];    memo = f(x, memo);  }  return memo;});foldr1 = curry$(function(f, xs){  return foldr(f, xs[xs.length - 1], xs.slice(0, -1));});unfoldr = curry$(function(f, b){  var result, x, that;  result = [];  x = b;  while ((that = f(x)) != null) {    result.push(that[0]);    x = that[1];  }  return result;});concat = function(xss){  return [].concat.apply([], xss);};concatMap = curry$(function(f, xs){  var x;  return [].concat.apply([], (function(){    var i$, ref$, len$, results$ = [];    for (i$ = 0, len$ = (ref$ = xs).length; i$ < len$; ++i$) {      x = ref$[i$];      results$.push(f(x));    }    return results$;  }()));});flatten = function(xs){  var x;  return [].concat.apply([], (function(){    var i$, ref$, len$, results$ = [];    for (i$ = 0, len$ = (ref$ = xs).length; i$ < len$; ++i$) {      x = ref$[i$];      if (toString$.call(x).slice(8, -1) === 'Array') {        results$.push(flatten(x));      } else {        results$.push(x);      }    }    return results$;  }()));};difference = function(xs){  var yss, results, i$, len$, x, j$, len1$, ys;  yss = slice$.call(arguments, 1);  results = [];  outer: for (i$ = 0, len$ = xs.length; i$ < len$; ++i$) {    x = xs[i$];    for (j$ = 0, len1$ = yss.length; j$ < len1$; ++j$) {      ys = yss[j$];      if (in$(x, ys)) {        continue outer;      }    }    results.push(x);  }  return results;};intersection = function(xs){  var yss, results, i$, len$, x, j$, len1$, ys;  yss = slice$.call(arguments, 1);  results = [];  outer: for (i$ = 0, len$ = xs.length; i$ < len$; ++i$) {    x = xs[i$];    for (j$ = 0, len1$ = yss.length; j$ < len1$; ++j$) {      ys = yss[j$];      if (!in$(x, ys)) {        continue outer;      }    }    results.push(x);  }  return results;};union = function(){  var xss, results, i$, len$, xs, j$, len1$, x;  xss = slice$.call(arguments);  results = [];  for (i$ = 0, len$ = xss.length; i$ < len$; ++i$) {    xs = xss[i$];    for (j$ = 0, len1$ = xs.length; j$ < len1$; ++j$) {      x = xs[j$];      if (!in$(x, results)) {        results.push(x);      }    }  }  return results;};countBy = curry$(function(f, xs){  var results, i$, len$, x, key;  results = {};  for (i$ = 0, len$ = xs.length; i$ < len$; ++i$) {    x = xs[i$];    key = f(x);    if (key in results) {      results[key] += 1;    } else {      results[key] = 1;    }  }  return results;});groupBy = curry$(function(f, xs){  var results, i$, len$, x, key;  results = {};  for (i$ = 0, len$ = xs.length; i$ < len$; ++i$) {    x = xs[i$];    key = f(x);    if (key in results) {      results[key].push(x);    } else {      results[key] = [x];    }  }  return results;});andList = function(xs){  var i$, len$, x;  for (i$ = 0, len$ = xs.length; i$ < len$; ++i$) {    x = xs[i$];    if (!x) {      return false;    }  }  return true;};orList = function(xs){  var i$, len$, x;  for (i$ = 0, len$ = xs.length; i$ < len$; ++i$) {    x = xs[i$];    if (x) {      return true;    }  }  return false;};any = curry$(function(f, xs){  var i$, len$, x;  for (i$ = 0, len$ = xs.length; i$ < len$; ++i$) {    x = xs[i$];    if (f(x)) {      return true;    }  }  return false;});all = curry$(function(f, xs){  var i$, len$, x;  for (i$ = 0, len$ = xs.length; i$ < len$; ++i$) {    x = xs[i$];    if (!f(x)) {      return false;    }  }  return true;});sort = function(xs){  return xs.concat().sort(function(x, y){    if (x > y) {      return 1;    } else if (x < y) {      return -1;    } else {      return 0;    }  });};sortWith = curry$(function(f, xs){  return xs.concat().sort(f);});sortBy = curry$(function(f, xs){  return xs.concat().sort(function(x, y){    if (f(x) > f(y)) {      return 1;    } else if (f(x) < f(y)) {      return -1;    } else {      return 0;    }  });});sum = function(xs){  var result, i$, len$, x;  result = 0;  for (i$ = 0, len$ = xs.length; i$ < len$; ++i$) {    x = xs[i$];    result += x;  }  return result;};product = function(xs){  var result, i$, len$, x;  result = 1;  for (i$ = 0, len$ = xs.length; i$ < len$; ++i$) {    x = xs[i$];    result *= x;  }  return result;};mean = average = function(xs){  var sum, i$, len$, x;  sum = 0;  for (i$ = 0, len$ = xs.length; i$ < len$; ++i$) {    x = xs[i$];    sum += x;  }  return sum / xs.length;};maximum = function(xs){  var max, i$, ref$, len$, x;  max = xs[0];  for (i$ = 0, len$ = (ref$ = xs.slice(1)).length; i$ < len$; ++i$) {    x = ref$[i$];    if (x > max) {      max = x;    }  }  return max;};minimum = function(xs){  var min, i$, ref$, len$, x;  min = xs[0];  for (i$ = 0, len$ = (ref$ = xs.slice(1)).length; i$ < len$; ++i$) {    x = ref$[i$];    if (x < min) {      min = x;    }  }  return min;};maximumBy = curry$(function(f, xs){  var max, i$, ref$, len$, x;  max = xs[0];  for (i$ = 0, len$ = (ref$ = xs.slice(1)).length; i$ < len$; ++i$) {    x = ref$[i$];    if (f(x) > f(max)) {      max = x;    }  }  return max;});minimumBy = curry$(function(f, xs){  var min, i$, ref$, len$, x;  min = xs[0];  for (i$ = 0, len$ = (ref$ = xs.slice(1)).length; i$ < len$; ++i$) {    x = ref$[i$];    if (f(x) < f(min)) {      min = x;    }  }  return min;});scan = scanl = curry$(function(f, memo, xs){  var last, x;  last = memo;  return [memo].concat((function(){    var i$, ref$, len$, results$ = [];    for (i$ = 0, len$ = (ref$ = xs).length; i$ < len$; ++i$) {      x = ref$[i$];      results$.push(last = f(last, x));    }    return results$;  }()));});scan1 = scanl1 = curry$(function(f, xs){  if (!xs.length) {    return;  }  return scan(f, xs[0], xs.slice(1));});scanr = curry$(function(f, memo, xs){  xs = xs.concat().reverse();  return scan(f, memo, xs).reverse();});scanr1 = curry$(function(f, xs){  if (!xs.length) {    return;  }  xs = xs.concat().reverse();  return scan(f, xs[0], xs.slice(1)).reverse();});slice = curry$(function(x, y, xs){  return xs.slice(x, y);});take = curry$(function(n, xs){  if (n <= 0) {    return xs.slice(0, 0);  } else {    return xs.slice(0, n);  }});drop = curry$(function(n, xs){  if (n <= 0) {    return xs;  } else {    return xs.slice(n);  }});splitAt = curry$(function(n, xs){  return [take(n, xs), drop(n, xs)];});takeWhile = curry$(function(p, xs){  var len, i;  len = xs.length;  if (!len) {    return xs;  }  i = 0;  while (i < len && p(xs[i])) {    i += 1;  }  return xs.slice(0, i);});dropWhile = curry$(function(p, xs){  var len, i;  len = xs.length;  if (!len) {    return xs;  }  i = 0;  while (i < len && p(xs[i])) {    i += 1;  }  return xs.slice(i);});span = curry$(function(p, xs){  return [takeWhile(p, xs), dropWhile(p, xs)];});breakList = curry$(function(p, xs){  return span(compose$(p, not$), xs);});zip = curry$(function(xs, ys){  var result, len, i$, len$, i, x;  result = [];  len = ys.length;  for (i$ = 0, len$ = xs.length; i$ < len$; ++i$) {    i = i$;    x = xs[i$];    if (i === len) {      break;    }    result.push([x, ys[i]]);  }  return result;});zipWith = curry$(function(f, xs, ys){  var result, len, i$, len$, i, x;  result = [];  len = ys.length;  for (i$ = 0, len$ = xs.length; i$ < len$; ++i$) {    i = i$;    x = xs[i$];    if (i === len) {      break;    }    result.push(f(x, ys[i]));  }  return result;});zipAll = function(){  var xss, minLength, i$, len$, xs, ref$, i, lresult$, j$, results$ = [];  xss = slice$.call(arguments);  minLength = undefined;  for (i$ = 0, len$ = xss.length; i$ < len$; ++i$) {    xs = xss[i$];    minLength <= (ref$ = xs.length) || (minLength = ref$);  }  for (i$ = 0; i$ < minLength; ++i$) {    i = i$;    lresult$ = [];    for (j$ = 0, len$ = xss.length; j$ < len$; ++j$) {      xs = xss[j$];      lresult$.push(xs[i]);    }    results$.push(lresult$);  }  return results$;};zipAllWith = function(f){  var xss, minLength, i$, len$, xs, ref$, i, results$ = [];  xss = slice$.call(arguments, 1);  minLength = undefined;  for (i$ = 0, len$ = xss.length; i$ < len$; ++i$) {    xs = xss[i$];    minLength <= (ref$ = xs.length) || (minLength = ref$);  }  for (i$ = 0; i$ < minLength; ++i$) {    i = i$;    results$.push(f.apply(null, (fn$())));  }  return results$;  function fn$(){    var i$, ref$, len$, results$ = [];    for (i$ = 0, len$ = (ref$ = xss).length; i$ < len$; ++i$) {      xs = ref$[i$];      results$.push(xs[i]);    }    return results$;  }};at = curry$(function(n, xs){  if (n < 0) {    return xs[xs.length + n];  } else {    return xs[n];  }});elemIndex = curry$(function(el, xs){  var i$, len$, i, x;  for (i$ = 0, len$ = xs.length; i$ < len$; ++i$) {    i = i$;    x = xs[i$];    if (x === el) {      return i;    }  }});elemIndices = curry$(function(el, xs){  var i$, len$, i, x, results$ = [];  for (i$ = 0, len$ = xs.length; i$ < len$; ++i$) {    i = i$;    x = xs[i$];    if (x === el) {      results$.push(i);    }  }  return results$;});findIndex = curry$(function(f, xs){  var i$, len$, i, x;  for (i$ = 0, len$ = xs.length; i$ < len$; ++i$) {    i = i$;    x = xs[i$];    if (f(x)) {      return i;    }  }});findIndices = curry$(function(f, xs){  var i$, len$, i, x, results$ = [];  for (i$ = 0, len$ = xs.length; i$ < len$; ++i$) {    i = i$;    x = xs[i$];    if (f(x)) {      results$.push(i);    }  }  return results$;});module.exports = {  each: each,  map: map,  filter: filter,  compact: compact,  reject: reject,  partition: partition,  find: find,  head: head,  first: first,  tail: tail,  last: last,  initial: initial,  empty: empty,  reverse: reverse,  difference: difference,  intersection: intersection,  union: union,  countBy: countBy,  groupBy: groupBy,  fold: fold,  fold1: fold1,  foldl: foldl,  foldl1: foldl1,  foldr: foldr,  foldr1: foldr1,  unfoldr: unfoldr,  andList: andList,  orList: orList,  any: any,  all: all,  unique: unique,  uniqueBy: uniqueBy,  sort: sort,  sortWith: sortWith,  sortBy: sortBy,  sum: sum,  product: product,  mean: mean,  average: average,  concat: concat,  concatMap: concatMap,  flatten: flatten,  maximum: maximum,  minimum: minimum,  maximumBy: maximumBy,  minimumBy: minimumBy,  scan: scan,  scan1: scan1,  scanl: scanl,  scanl1: scanl1,  scanr: scanr,  scanr1: scanr1,  slice: slice,  take: take,  drop: drop,  splitAt: splitAt,  takeWhile: takeWhile,  dropWhile: dropWhile,  span: span,  breakList: breakList,  zip: zip,  zipWith: zipWith,  zipAll: zipAll,  zipAllWith: zipAllWith,  at: at,  elemIndex: elemIndex,  elemIndices: elemIndices,  findIndex: findIndex,  findIndices: findIndices};function curry$(f, bound){  var context,  _curry = function(args) {    return f.length > 1 ? function(){      var params = args ? args.concat() : [];      context = bound ? context || this : this;      return params.push.apply(params, arguments) <          f.length && arguments.length ?        _curry.call(context, params) : f.apply(context, params);    } : f;  };  return _curry();}function in$(x, xs){  var i = -1, l = xs.length >>> 0;  while (++i < l) if (x === xs[i]) return true;  return false;}function compose$() {  var functions = arguments;  return function() {    var i, result;    result = functions[0].apply(this, arguments);    for (i = 1; i < functions.length; ++i) {      result = functions[i](result);    }    return result;  };}function not$(x){ return !x; }
 |