var CommonLisp = function(){};
var CommonLispUser = function(){};CommonLisp.abs = function (a) {
 return Math.abs(a);
};
CommonLisp.car = function (lst) {
 return function(lst){return lst && lst.length > 0 && lst[0];}(lst);
};
CommonLisp.cadr = function (lst) {
 return function(lst){return lst && lst.length > 1 && lst[1];}(lst);
};
CommonLisp.caddr = function (lst) {
 return function(lst){return lst && lst.length > 2 && lst[2];}(lst);
};
CommonLisp.first = function (lst) {
 return function(lst){return lst && lst.length > 0 && lst[0];}(lst);
};
CommonLisp.second = function (lst) {
 return function(lst){return lst && lst.length > 1 && lst[1];}(lst);
};
CommonLisp.third = function (lst) {
 return function(lst){return lst && lst.length > 2 && lst[2];}(lst);
};
CommonLisp.fourth = function (lst) {
 return function(lst){return lst && lst.length > 3 && lst[3];}(lst);
};
CommonLisp.fifth = function (lst) {
 return function(lst){return lst && lst.length > 4 && lst[4];}(lst);
};
CommonLisp.sixth = function (lst) {
 return function(lst){return lst && lst.length > 5 && lst[5];}(lst);
};
CommonLisp.seventh = function (lst) {
 return function(lst){return lst && lst.length > 6 && lst[6];}(lst);
};
CommonLisp.eighth = function (lst) {
 return function(lst){return lst && lst.length > 7 && lst[7];}(lst);
};
CommonLisp.ninth = function (lst) {
 return function(lst){return lst && lst.length > 8 && lst[8];}(lst);
};
CommonLisp.tenth = function (lst) {
 return function(lst){return lst && lst.length > 9 && lst[9];}(lst);
};
CommonLisp.nth = function (n,lst) {
 return function(lst, n){return lst && lst.length > n && lst[n];}(lst, n);
};
CommonLisp.cdr = function (lst) {
 return function(lst){ return lst && lst.length > 1 && lst.slice(1); }(lst);
};
CommonLisp.cons = function (e1,e2) {
 return [e1].concat((e2 || []));
};
CommonLisp.eql = function (left,right) {
 return (left === right);
};
CommonLisp.evenp = function (num) {
 return ((num % 2) == 0);
};
CommonLisp.floor = function (n) {
 return Math.floor(n);
};
CommonLisp.gethash = function (key,table) {
 return function(key, hash){return (undefined != hash['htfoo' + key]) && hash['htfoo' + key]; }(key, table);
};
CommonLisp.getUniversalTime = function () {
 return new Date();
};
CommonLisp.identity = function (o) {
 return o;
};
CommonLisp.integerp = function (s) {
 return (s && typeof(s) == "number");
};
CommonLisp.length = function (lst) {
 return (lst || []).length;
};
CommonLisp.listp = function (lst) {
 return function(lst){ return lst && (typeof(lst) == 'object') && lst.constructor !== undefined && lst.constructor.toString().match(/ Array *()/) !== null}(lst);
};
CommonLisp.makeHashTable = function () {
 return {};
};
CommonLisp.min = function() {var args = arguments.length > 0 &&  Array.prototype.slice.call(arguments).slice(0);
;
 
return Math.min.apply(window, args);}
CommonLisp.mod = function (left,right) {
 return (left % right);
};
CommonLisp.numberp = function (s) {
 return (s && typeof(s) == "number");
};
CommonLisp.oddp = function (num) {
 return ((num % 2) == 1);
};
CommonLisp.parseInteger = function (int) {
 return parseInt(int);
};
CommonLisp.princToString = function (o) {
 return "" + o;
};
CommonLisp.reverse = function (lst) {
 return (lst && Array.prototype.slice.call(lst).reverse());
};
CommonLisp.nreverse = function (lst) {
 return (lst && lst.reverse());
};
CommonLisp.stringp = function (s) {
 return (s && typeof(s) == "string");
};
CommonLisp.subseq = function () {
var lst = arguments[0];
var begin = arguments[1];
var end = false;
if (arguments[2] !== undefined)
{end = arguments[2];
} else {
end = false;
}

 return function(lst, begin, end) { return end === false ? lst.slice(begin) : lst.slice(begin, end); }(lst, begin, end);
};
CommonLisp.last = function (lst) {
 return function (lst) { return lst === false ? false : lst.slice(lst.length - 1, lst.length); }(lst);
};
CommonLisp.truncate = function (left,right) {
 return Math.floor(left / right);
};
CommonLisp.typeOf = function (s) {
 return typeof(s);
};
CommonLisp.makeList = function() {var sz = arguments[0];;
 
if(0 == sz) { return false; }
  var retn = new Array(sz);
  for(var idx = 0 ; idx < sz ; idx++) {
    retn[idx] = false;
  }
  return retn;}
CommonLisp.find = function() {var elem = arguments[0];;
var lst = arguments[1];;
var key = false;for (var __WEBTHITETH_SAFE__G15503 = 2 ; __WEBTHITETH_SAFE__G15503 < arguments.length ; __WEBTHITETH_SAFE__G15503++) {if (":key" === arguments[__WEBTHITETH_SAFE__G15503]) { key = arguments[__WEBTHITETH_SAFE__G15503 + 1]; break;}}
;
var test = false;for (var __WEBTHITETH_SAFE__G15504 = 2 ; __WEBTHITETH_SAFE__G15504 < arguments.length ; __WEBTHITETH_SAFE__G15504++) {if (":test" === arguments[__WEBTHITETH_SAFE__G15504]) { test = arguments[__WEBTHITETH_SAFE__G15504 + 1]; break;}}
;
 
var test = test || function(a, b) { return (a == b); };
 if(!(lst !== false)) { return false; }
 for(var idx = 0 ; idx < lst.length ; idx++) {
   if(key && test(elem, key(lst[idx]))) {
     return lst[idx];
   } else if(test(elem, lst[idx])) {
     return lst[idx];
   }
 }
 return false;
 }
CommonLisp.findIf = function() {var findFunc = arguments[0];;
var lst = arguments[1];;
 
if (!(lst !== false)) { return false; }
 for(var idx = 0 ; idx < lst.length ; idx++) {
   if(findFunc(lst[idx])) {
     return lst[idx];
   }
 }
 return false;
 }
CommonLisp.append = function() {var lsts = arguments.length > 0 &&  Array.prototype.slice.call(arguments).slice(0);
;
 

 realLists = new Array();
 for(var idx = 0 ; idx < lsts.length ; idx++) {
   if(lsts[idx]) {
     realLists[realLists.length] = lsts[idx];
   }
 }

 if(realLists.length == 0) {
   return false;
 } else if (realLists.length == 1) {
   return realLists[0];
 } else {
   return realLists[0].concat.apply(realLists[0], realLists.slice(1));;
 }
 }
CommonLisp.position = function() {var elem = arguments[0];;
var lst = arguments[1];;
 
;for (var idx = 0 ; idx < lst.length ; idx++) {
   if(lst[idx] === elem) {
     return idx;
   }
  }
  return false;
  }
CommonLisp.remove = function () {
var elem = arguments[0];
var lst = arguments[1];
var key = CommonLisp.identity;for (var __WEBTHITETH_SAFE__G15505 = 2 ; __WEBTHITETH_SAFE__G15505 < arguments.length ; __WEBTHITETH_SAFE__G15505++) {if (":key" === arguments[__WEBTHITETH_SAFE__G15505]) { key = arguments[__WEBTHITETH_SAFE__G15505 + 1]; break;}}

var test = CommonLisp.eql;for (var __WEBTHITETH_SAFE__G15506 = 2 ; __WEBTHITETH_SAFE__G15506 < arguments.length ; __WEBTHITETH_SAFE__G15506++) {if (":test" === arguments[__WEBTHITETH_SAFE__G15506]) { test = arguments[__WEBTHITETH_SAFE__G15506 + 1]; break;}}

 return function() {if ((! (lst !== false)) !== false) {
 return false;;
}  else if ((0 === (lst || []).length) !== false) {
 return lst;;
}  else if (true !== false) {
 return function() {
var retn = false;
for (var j = 0 ; j < (lst || []).length ; j++) {
if ((! (test (key (function(lst, n){return lst && lst.length > n && lst[n];}(lst, j)),elem) !== false)) !== false) {
retn = [function(lst, n){return lst && lst.length > n && lst[n];}(lst, j)].concat((retn || []));
;
} ;

};

 return (retn && Array.prototype.slice.call(retn).reverse());}();;
}  else { return false; }}();
};
CommonLisp.removeIf = function () {
var test = arguments[0];
var lst = arguments[1];
var key = false;for (var __WEBTHITETH_SAFE__G15507 = 2 ; __WEBTHITETH_SAFE__G15507 < arguments.length ; __WEBTHITETH_SAFE__G15507++) {if (":key" === arguments[__WEBTHITETH_SAFE__G15507]) { key = arguments[__WEBTHITETH_SAFE__G15507 + 1]; break;}}

 return function() {
var key = (key || function (a) {
 return a;
});
 return function() {if ((! (lst !== false)) !== false) {
 return false;;
}  else if ((0 === (lst || []).length) !== false) {
 return lst;;
}  else if (true !== false) {
 return function() {
var retn = false;
for (var j = 0 ; j < (lst || []).length ; j++) {
if ((! (test (key (function(lst, n){return lst && lst.length > n && lst[n];}(lst, j))) !== false)) !== false) {
retn = [function(lst, n){return lst && lst.length > n && lst[n];}(lst, j)].concat((retn || []));
;
} ;

};

 return (retn && Array.prototype.slice.call(retn).reverse());}();;
}  else { return false; }}();}();
};

