text: // Generated by Haxe 3.4.0
  (function () { "use strict";
  var Main = function() { };
  Main.__name__ = true;
  Main.main = function() {
  	com_ls3d_HTMLTrace.init();
  	Main.useSaferGenerateMoreRandoms();
  };
  Main.generateMoreRandoms = function(count) {
  	var _g1 = 0;
  	while(_g1 < count) {
  		++_g1;
  		var num = Math.random();
  		if(num > 0.5) {
  			Main.largeCount++;
  		} else {
  			Main.smallCount++;
  		}
  		Main.nums.push(num);
  	}
  };
  Main.safer_generateMoreRandoms = function(count,initial) {
  	var orig_smallCount;
  	var orig_nums;
  	var orig_largeCount;
  	orig_nums = Main.nums;
  	orig_smallCount = Main.smallCount;
  	orig_largeCount = Main.largeCount;
  	Main.nums = initial.nums.slice();
  	Main.smallCount = initial.smallCount;
  	Main.largeCount = initial.smallCount;
  	Main.generateMoreRandoms(count);
  	var sides = { nums : Main.nums, smallCount : Main.smallCount, largeCount : Main.largeCount};
  	Main.nums = orig_nums;
  	Main.smallCount = orig_smallCount;
  	Main.largeCount = orig_largeCount;
  	return sides;
  };
  Main.useSaferGenerateMoreRandoms = function() {
  	haxe_Log.trace("safer_generateMoreRandoms( 5, initialStates ) " + Std.string(Main.safer_generateMoreRandoms(5,{ nums : [0.3,0.4,0.5], smallCount : 2, largeCount : 1})),{ fileName : "Main.hx", lineNumber : 84, className : "Main", methodName : "useSaferGenerateMoreRandoms"});
  	haxe_Log.trace("nums: " + Std.string(Main.nums),{ fileName : "Main.hx", lineNumber : 86, className : "Main", methodName : "useSaferGenerateMoreRandoms"});
  	haxe_Log.trace("smallCount: " + Main.smallCount,{ fileName : "Main.hx", lineNumber : 87, className : "Main", methodName : "useSaferGenerateMoreRandoms"});
  	haxe_Log.trace("largeCount: " + Main.largeCount,{ fileName : "Main.hx", lineNumber : 88, className : "Main", methodName : "useSaferGenerateMoreRandoms"});
  };
  Math.__name__ = true;
  var Std = function() { };
  Std.__name__ = true;
  Std.string = function(s) {
  	return js_Boot.__string_rec(s,"");
  };
  var com_ls3d_HTMLTrace = function() { };
  com_ls3d_HTMLTrace.__name__ = true;
  com_ls3d_HTMLTrace.init = function() {
  	haxe_Log.trace = function(v,infos) {
  		var div = window.document.createElement("div");
  		div.innerHTML = v;
  		window.document.body.appendChild(div);
  	};
  };
  var haxe_Log = function() { };
  haxe_Log.__name__ = true;
  haxe_Log.trace = function(v,infos) {
  	js_Boot.__trace(v,infos);
  };
  var js_Boot = function() { };
  js_Boot.__name__ = true;
  js_Boot.__unhtml = function(s) {
  	return s.split("&").join("&amp;").split("<").join("&lt;").split(">").join("&gt;");
  };
  js_Boot.__trace = function(v,i) {
  	var msg = i != null ? i.fileName + ":" + i.lineNumber + ": " : "";
  	msg += js_Boot.__string_rec(v,"");
  	if(i != null && i.customParams != null) {
  		var _g = 0;
  		var _g1 = i.customParams;
  		while(_g < _g1.length) {
  			var v1 = _g1[_g];
  			++_g;
  			msg += "," + js_Boot.__string_rec(v1,"");
  		}
  	}
  	var d;
  	var tmp;
  	if(typeof(document) != "undefined") {
  		d = document.getElementById("haxe:trace");
  		tmp = d != null;
  	} else {
  		tmp = false;
  	}
  	if(tmp) {
  		d.innerHTML += js_Boot.__unhtml(msg) + "<br/>";
  	} else if(typeof console != "undefined" && console.log != null) {
  		console.log(msg);
  	}
  };
  js_Boot.__string_rec = function(o,s) {
  	if(o == null) {
  		return "null";
  	}
  	if(s.length >= 5) {
  		return "<...>";
  	}
  	var t = typeof(o);
  	if(t == "function" && (o.__name__ || o.__ename__)) {
  		t = "object";
  	}
  	switch(t) {
  	case "function":
  		return "<function>";
  	case "object":
  		if(o instanceof Array) {
  			if(o.__enum__) {
  				if(o.length == 2) {
  					return o[0];
  				}
  				var str = o[0] + "(";
  				s += "\t";
  				var _g1 = 2;
  				var _g = o.length;
  				while(_g1 < _g) {
  					var i = _g1++;
  					if(i != 2) {
  						str += "," + js_Boot.__string_rec(o[i],s);
  					} else {
  						str += js_Boot.__string_rec(o[i],s);
  					}
  				}
  				return str + ")";
  			}
  			var l = o.length;
  			var i1;
  			var str1 = "[";
  			s += "\t";
  			var _g11 = 0;
  			var _g2 = l;
  			while(_g11 < _g2) {
  				var i2 = _g11++;
  				str1 += (i2 > 0 ? "," : "") + js_Boot.__string_rec(o[i2],s);
  			}
  			str1 += "]";
  			return str1;
  		}
  		var tostr;
  		try {
  			tostr = o.toString;
  		} catch( e ) {
  			return "???";
  		}
  		if(tostr != null && tostr != Object.toString && typeof(tostr) == "function") {
  			var s2 = o.toString();
  			if(s2 != "[object Object]") {
  				return s2;
  			}
  		}
  		var k = null;
  		var str2 = "{\n";
  		s += "\t";
  		var hasp = o.hasOwnProperty != null;
  		for( var k in o ) {
  		if(hasp && !o.hasOwnProperty(k)) {
  			continue;
  		}
  		if(k == "prototype" || k == "__class__" || k == "__super__" || k == "__interfaces__" || k == "__properties__") {
  			continue;
  		}
  		if(str2.length != 2) {
  			str2 += ", \n";
  		}
  		str2 += s + k + " : " + js_Boot.__string_rec(o[k],s);
  		}
  		s = s.substring(1);
  		str2 += "\n" + s + "}";
  		return str2;
  	case "string":
  		return o;
  	default:
  		return String(o);
  	}
  };
  String.__name__ = true;
  Array.__name__ = true;
  Main.nums = [];
  Main.smallCount = 0;
  Main.largeCount = 0;
  Main.main();
  })();
  