| 
					
				 | 
			
			
				@@ -92,27 +92,24 @@ function inherits(child, parent) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	return child; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-/* Smalltalk foundational objects */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-/* SmalltalkRoot is the hidden root of the Amber hierarchy. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- All objects including `Object` inherit from SmalltalkRoot */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-function SmalltalkRoot() {} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-function SmalltalkProtoObject() {} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-inherits(SmalltalkProtoObject, SmalltalkRoot); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-function SmalltalkObject() {} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-inherits(SmalltalkObject, SmalltalkProtoObject); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-function Smalltalk() {} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-inherits(Smalltalk, SmalltalkObject); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-var api = new Smalltalk(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+var api = {}; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 var brikz = new Brikz(api); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 function RootBrik(brikz, st) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	/* Smalltalk foundational objects */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	/* SmalltalkRoot is the hidden root of the Amber hierarchy. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	 All objects including `Object` inherit from SmalltalkRoot */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	function SmalltalkRoot() {} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	function SmalltalkProtoObject() {} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	inherits(SmalltalkProtoObject, SmalltalkRoot); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	function SmalltalkObject() {} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	inherits(SmalltalkObject, SmalltalkProtoObject); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	function SmalltalkNil() {} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	inherits(SmalltalkNil, SmalltalkObject); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	this.Object = SmalltalkObject; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	this.nil = new SmalltalkNil(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	// Hidden root class of the system. 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -123,7 +120,6 @@ function RootBrik(brikz, st) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		st.addPackage("Kernel-Infrastructure"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		st.wrapClassName("ProtoObject", "Kernel-Objects", SmalltalkProtoObject, undefined, false); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		st.wrapClassName("Object", "Kernel-Objects", SmalltalkObject, st.ProtoObject, false); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		st.wrapClassName("Smalltalk", "Kernel-Infrastructure", Smalltalk, st.Object, false); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		st.wrapClassName("UndefinedObject", "Kernel-Objects", SmalltalkNil, st.Object, false); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	}; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -131,7 +127,7 @@ function RootBrik(brikz, st) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 function OrganizeBrik(brikz, st) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	brikz.ensure("augments"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	brikz.ensure("root"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	var SmalltalkObject = brikz.ensure("root").Object; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	function SmalltalkOrganizer () {} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	function SmalltalkPackageOrganizer () { 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -308,6 +304,7 @@ function ClassesBrik(brikz, st) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	var root = brikz.ensure("root"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	var nil = root.nil; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	var rootAsClass = root.rootAsClass; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	var SmalltalkObject = root.Object; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	rootAsClass.klass = {fn: SmalltalkClass}; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	function SmalltalkPackage() {} 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -569,6 +566,7 @@ function MethodsBrik(brikz, st) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	var org = brikz.ensure("organize"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	var stInit = brikz.ensure("stInit"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	var dnu = brikz.ensure("dnu"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	var SmalltalkObject = brikz.ensure("root").Object; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	brikz.ensure("selectorConversion"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	brikz.ensure("classes"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	brikz.ensure("classInit"); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -819,7 +817,9 @@ function PrimitivesBrik(brikz, st) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 function RuntimeBrik(brikz, st) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	brikz.ensure("selectorConversion"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	var nil = brikz.ensure("root").nil; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	var root = brikz.ensure("root"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	var nil = root.nil; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	var SmalltalkObject = root.Object; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	function SmalltalkMethodContext(home, setup) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		this.sendIdx     = {}; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -902,7 +902,7 @@ function RuntimeBrik(brikz, st) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	/* Wrap a JavaScript exception in a Smalltalk Exception.  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	 In case of a RangeError, stub the stack after 100 contexts to 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	 avoid another RangeError later when the stack is manipulated. */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	function wrappedError(error) { 
			 |