| 
					
				 | 
			
			
				@@ -1,6 +1,7 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 #!/usr/bin/env node 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 (function(define, require){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 define('__wrap__', function (requirejs) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+var module = null; // Bad UMDs workaround 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 requirejs.resolve = require.resolve; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 require = requirejs; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 // This file is used to make additional changes 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -15,6 +16,8 @@ define("config-node", function(){}); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 define('amber/brikz',[], function () { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     return function Brikz(api, apiKey, initKey) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        "use strict"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         //jshint eqnull:true 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         var brikz = this, 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -1292,6 +1295,7 @@ define("amber/node-compatibility", ["./es2015-polyfills"], function(){}); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 //jshint eqnull:true 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 define('amber/boot',['require', './brikz', './compatibility'], function (require, Brikz) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    "use strict"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     function inherits(child, parent) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         child.prototype = Object.create(parent.prototype, { 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -1347,7 +1351,8 @@ define('amber/boot',['require', './brikz', './compatibility'], function (require 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         // Hidden root class of the system. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        this.rootAsClass = {fn: SmalltalkRoot}; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        // Effective superclass of all classes created with `nil subclass: ...`. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        this.nilAsClass = {fn: SmalltalkRoot}; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         this.__init__ = function () { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             var globals = brikz.smalltalkGlobals.globals; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -1488,9 +1493,9 @@ define('amber/boot',['require', './brikz', './compatibility'], function (require 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         var addOrganizationElement = brikz.organize.addOrganizationElement; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         var removeOrganizationElement = brikz.organize.removeOrganizationElement; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         var globals = brikz.smalltalkGlobals.globals; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        var rootAsClass = brikz.root.rootAsClass; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        var nilAsClass = brikz.root.nilAsClass; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         var SmalltalkObject = brikz.root.Object; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        rootAsClass.klass = {fn: SmalltalkClass}; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        nilAsClass.klass = {fn: SmalltalkClass}; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         function SmalltalkBehavior() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -1520,7 +1525,7 @@ define('amber/boot',['require', './brikz', './compatibility'], function (require 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             addCoupledClass("Class", globals.Behavior, "Kernel-Classes", SmalltalkClass); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             // Manually bootstrap the metaclass hierarchy 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            globals.ProtoObject.klass.superclass = rootAsClass.klass = globals.Class; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            globals.ProtoObject.klass.superclass = nilAsClass.klass = globals.Class; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             addSubclass(globals.ProtoObject.klass); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         this.__init__.once = true; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -1537,7 +1542,7 @@ define('amber/boot',['require', './brikz', './compatibility'], function (require 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         function klass(spec) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             var setSuperClass = spec.superclass; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             if (!spec.superclass) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                spec.superclass = rootAsClass; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                spec.superclass = nilAsClass; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             var meta = metaclass(spec); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -1952,7 +1957,8 @@ define('amber/boot',['require', './brikz', './compatibility'], function (require 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     return { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         api: api, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         nil: brikz.root.nil, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        dnu: brikz.root.rootAsClass, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        dnu/* TODO deprecate */: brikz.root.nilAsClass, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        nilAsClass: brikz.root.nilAsClass, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         globals: brikz.smalltalkGlobals.globals, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         asReceiver: brikz.asReceiver.asReceiver 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     }; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -9751,7 +9757,7 @@ var self=this; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 return $core.withContext(function($ctx1) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 ( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 $ctx1.supercall = true, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-($globals.ForkPool.superclass||$boot.dnu).fn.prototype._initialize.apply($recv(self), [])); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+($globals.ForkPool.superclass||$boot.nilAsClass).fn.prototype._initialize.apply($recv(self), [])); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 $ctx1.supercall = false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 self["@poolSize"]=(0); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 self["@queue"]=$recv($globals.Queue)._new(); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -9953,7 +9959,7 @@ var self=this; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 return $core.withContext(function($ctx1) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 ( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 $ctx1.supercall = true, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-($globals.Message.superclass||$boot.dnu).fn.prototype._printOn_.apply($recv(self), [aStream])); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+($globals.Message.superclass||$boot.nilAsClass).fn.prototype._printOn_.apply($recv(self), [aStream])); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 $ctx1.supercall = false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 $recv(aStream)._nextPutAll_("("); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 $ctx1.sendIdx["nextPutAll:"]=1; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -10089,7 +10095,7 @@ var self=this; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 return $core.withContext(function($ctx1) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 ( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 $ctx1.supercall = true, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-($globals.MessageSend.superclass||$boot.dnu).fn.prototype._initialize.apply($recv(self), [])); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+($globals.MessageSend.superclass||$boot.nilAsClass).fn.prototype._initialize.apply($recv(self), [])); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 $ctx1.supercall = false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 self["@message"]=$recv($globals.Message)._new(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 return self; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -10111,7 +10117,7 @@ var self=this; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 return $core.withContext(function($ctx1) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 ( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 $ctx1.supercall = true, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-($globals.MessageSend.superclass||$boot.dnu).fn.prototype._printOn_.apply($recv(self), [aStream])); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+($globals.MessageSend.superclass||$boot.nilAsClass).fn.prototype._printOn_.apply($recv(self), [aStream])); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 $ctx1.supercall = false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 $recv(aStream)._nextPutAll_("("); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 $ctx1.sendIdx["nextPutAll:"]=1; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -10609,7 +10615,7 @@ var self=this; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 return $core.withContext(function($ctx1) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 ( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 $ctx1.supercall = true, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-($globals.MethodContext.superclass||$boot.dnu).fn.prototype._printOn_.apply($recv(self), [aStream])); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+($globals.MethodContext.superclass||$boot.nilAsClass).fn.prototype._printOn_.apply($recv(self), [aStream])); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 $ctx1.supercall = false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 $recv(aStream)._nextPutAll_("("); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 $ctx1.sendIdx["nextPutAll:"]=1; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -11628,7 +11634,7 @@ var self=this; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 return $core.withContext(function($ctx1) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 ( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 $ctx1.supercall = true, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-($globals.BucketStore.superclass||$boot.dnu).fn.prototype._initialize.apply($recv(self), [])); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+($globals.BucketStore.superclass||$boot.nilAsClass).fn.prototype._initialize.apply($recv(self), [])); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 $ctx1.supercall = false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 self._removeAll(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 return self; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -12996,7 +13002,7 @@ var self=this; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 return $core.withContext(function($ctx1) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 ( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 $ctx1.supercall = true, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-($globals.AssociativeCollection.superclass||$boot.dnu).fn.prototype._addAll_.apply($recv(self), [$recv(anAssociativeCollection)._associations()])); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+($globals.AssociativeCollection.superclass||$boot.nilAsClass).fn.prototype._addAll_.apply($recv(self), [$recv(anAssociativeCollection)._associations()])); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 $ctx1.supercall = false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 return anAssociativeCollection; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 }, function($ctx1) {$ctx1.fill(self,"addAll:",{anAssociativeCollection:anAssociativeCollection},$globals.AssociativeCollection)}); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -13379,7 +13385,7 @@ var self=this; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 return $core.withContext(function($ctx1) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 ( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 $ctx1.supercall = true, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-($globals.AssociativeCollection.superclass||$boot.dnu).fn.prototype._printOn_.apply($recv(self), [aStream])); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+($globals.AssociativeCollection.superclass||$boot.nilAsClass).fn.prototype._printOn_.apply($recv(self), [aStream])); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 $ctx1.supercall = false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 $ctx1.sendIdx["printOn:"]=1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 $recv(aStream)._nextPutAll_(" ("); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -13787,7 +13793,7 @@ var self=this; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 return $core.withContext(function($ctx1) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 ( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 $ctx1.supercall = true, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-($globals.Dictionary.superclass||$boot.dnu).fn.prototype._initialize.apply($recv(self), [])); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+($globals.Dictionary.superclass||$boot.nilAsClass).fn.prototype._initialize.apply($recv(self), [])); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 $ctx1.supercall = false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 self["@keys"]=[]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 self["@values"]=[]; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -15036,7 +15042,7 @@ var self=this; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 return $core.withContext(function($ctx1) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 ( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 $ctx1.supercall = true, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-($globals.Array.superclass||$boot.dnu).fn.prototype._printOn_.apply($recv(self), [aStream])); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+($globals.Array.superclass||$boot.nilAsClass).fn.prototype._printOn_.apply($recv(self), [aStream])); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 $ctx1.supercall = false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 $ctx1.sendIdx["printOn:"]=1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 $recv(aStream)._nextPutAll_(" ("); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -17394,7 +17400,7 @@ var self=this; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 return $core.withContext(function($ctx1) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 ( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 $ctx1.supercall = true, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-($globals.Set.superclass||$boot.dnu).fn.prototype._initialize.apply($recv(self), [])); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+($globals.Set.superclass||$boot.nilAsClass).fn.prototype._initialize.apply($recv(self), [])); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 $ctx1.supercall = false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 self["@defaultBucket"]=[]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 self._initializeSlowBucketStores(); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -17465,7 +17471,7 @@ var self=this; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 return $core.withContext(function($ctx1) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 ( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 $ctx1.supercall = true, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-($globals.Set.superclass||$boot.dnu).fn.prototype._printOn_.apply($recv(self), [aStream])); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+($globals.Set.superclass||$boot.nilAsClass).fn.prototype._printOn_.apply($recv(self), [aStream])); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 $ctx1.supercall = false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 $ctx1.sendIdx["printOn:"]=1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 $recv(aStream)._nextPutAll_(" ("); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -18627,7 +18633,7 @@ var self=this; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 return $core.withContext(function($ctx1) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 ( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 $ctx1.supercall = true, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-($globals.Queue.superclass||$boot.dnu).fn.prototype._initialize.apply($recv(self), [])); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+($globals.Queue.superclass||$boot.nilAsClass).fn.prototype._initialize.apply($recv(self), [])); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 $ctx1.supercall = false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 self["@read"]=$recv($globals.OrderedCollection)._new(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 $ctx1.sendIdx["new"]=1; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -19612,7 +19618,7 @@ $1=$recv($globals.JSObjectProxy)._lookupProperty_ofProxy_($recv($recv(aMessage). 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 if(($receiver = $1) == null || $receiver.isNil){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 return ( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 $ctx1.supercall = true, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-($globals.JSObjectProxy.superclass||$boot.dnu).fn.prototype._doesNotUnderstand_.apply($recv(self), [aMessage])); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+($globals.JSObjectProxy.superclass||$boot.nilAsClass).fn.prototype._doesNotUnderstand_.apply($recv(self), [aMessage])); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 $ctx1.supercall = false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 var jsSelector; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -19933,7 +19939,7 @@ return $core.withContext(function($ctx1) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 var $1,$3,$2; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 ( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 $ctx1.supercall = true, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-($globals.ClassOrganizer.superclass||$boot.dnu).fn.prototype._addElement_.apply($recv(self), [aString])); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+($globals.ClassOrganizer.superclass||$boot.nilAsClass).fn.prototype._addElement_.apply($recv(self), [aString])); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 $ctx1.supercall = false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 $1=$recv($globals.SystemAnnouncer)._current(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 $3=$recv($globals.ProtocolAdded)._new(); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -19961,7 +19967,7 @@ return $core.withContext(function($ctx1) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 var $1,$3,$2; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 ( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 $ctx1.supercall = true, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-($globals.ClassOrganizer.superclass||$boot.dnu).fn.prototype._removeElement_.apply($recv(self), [aString])); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+($globals.ClassOrganizer.superclass||$boot.nilAsClass).fn.prototype._removeElement_.apply($recv(self), [aString])); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 $ctx1.supercall = false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 $1=$recv($globals.SystemAnnouncer)._current(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 $3=$recv($globals.ProtocolRemoved)._new(); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -20538,7 +20544,7 @@ var self=this; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 return $core.withContext(function($ctx1) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 ( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 $ctx1.supercall = true, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-($globals.Package.superclass||$boot.dnu).fn.prototype._printOn_.apply($recv(self), [aStream])); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+($globals.Package.superclass||$boot.nilAsClass).fn.prototype._printOn_.apply($recv(self), [aStream])); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 $ctx1.supercall = false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 $recv(aStream)._nextPutAll_(" ("); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 $ctx1.sendIdx["nextPutAll:"]=1; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -21214,7 +21220,7 @@ return $core.withContext(function($ctx1) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 var $1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 $1=( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 $ctx1.supercall = true, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-($globals.Setting.klass.superclass||$boot.dnu).fn.prototype._new.apply($recv(self), [])); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+($globals.Setting.klass.superclass||$boot.nilAsClass).fn.prototype._new.apply($recv(self), [])); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 $ctx1.supercall = false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 $recv($1)._key_(aString); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 $recv($1)._defaultValue_(aDefaultValue); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -21935,11 +21941,11 @@ selector: "version", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 protocol: 'accessing', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 fn: function (){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 var self=this; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-return "0.16.0"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+return "0.16.1"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 args: [], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-source: "version\x0a\x09\x22Answer the version string of Amber\x22\x0a\x09\x0a\x09^ '0.16.0'", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+source: "version\x0a\x09\x22Answer the version string of Amber\x22\x0a\x09\x0a\x09^ '0.16.1'", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 referencedClasses: [], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 messageSends: [] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 }), 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -21959,7 +21965,7 @@ $1=self["@current"]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 if(($receiver = $1) == null || $receiver.isNil){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 self["@current"]=( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 $ctx1.supercall = true, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-($globals.SmalltalkImage.klass.superclass||$boot.dnu).fn.prototype._new.apply($recv(self), [])); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+($globals.SmalltalkImage.klass.superclass||$boot.nilAsClass).fn.prototype._new.apply($recv(self), [])); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 $ctx1.supercall = false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 return self["@current"]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } else { 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -22913,7 +22919,7 @@ var self=this; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 return $core.withContext(function($ctx1) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 ( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 $ctx1.supercall = true, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-($globals.Announcer.superclass||$boot.dnu).fn.prototype._initialize.apply($recv(self), [])); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+($globals.Announcer.superclass||$boot.nilAsClass).fn.prototype._initialize.apply($recv(self), [])); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 $ctx1.supercall = false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 self["@subscriptions"]=$recv($globals.OrderedCollection)._new(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 return self; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -23076,7 +23082,7 @@ $1=self["@current"]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 if(($receiver = $1) == null || $receiver.isNil){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 self["@current"]=( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 $ctx1.supercall = true, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-($globals.SystemAnnouncer.klass.superclass||$boot.dnu).fn.prototype._new.apply($recv(self), [])); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+($globals.SystemAnnouncer.klass.superclass||$boot.nilAsClass).fn.prototype._new.apply($recv(self), [])); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 $ctx1.supercall = false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 return self["@current"]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } else { 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -25447,7 +25453,7 @@ return $core.withContext(function($ctx1) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 var $3,$2,$1,$5,$4; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 ( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 $ctx1.supercall = true, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-($globals.String.superclass||$boot.dnu).fn.prototype._inspectOn_.apply($recv(self), [anInspector])); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+($globals.String.superclass||$boot.nilAsClass).fn.prototype._inspectOn_.apply($recv(self), [anInspector])); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 $ctx1.supercall = false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 $3=self._printString(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 $ctx1.sendIdx["printString"]=1; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -30916,7 +30922,7 @@ var self=this; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 return $core.withContext(function($ctx1) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 ( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 $ctx1.supercall = true, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-($globals.ClassCommentReader.superclass||$boot.dnu).fn.prototype._initialize.apply($recv(self), [])); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+($globals.ClassCommentReader.superclass||$boot.nilAsClass).fn.prototype._initialize.apply($recv(self), [])); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 $ctx1.supercall = false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 return self; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 }, function($ctx1) {$ctx1.fill(self,"initialize",{},$globals.ClassCommentReader)}); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -31019,7 +31025,7 @@ var self=this; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 return $core.withContext(function($ctx1) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 ( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 $ctx1.supercall = true, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-($globals.ClassProtocolReader.superclass||$boot.dnu).fn.prototype._initialize.apply($recv(self), [])); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+($globals.ClassProtocolReader.superclass||$boot.nilAsClass).fn.prototype._initialize.apply($recv(self), [])); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 $ctx1.supercall = false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 return self; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 }, function($ctx1) {$ctx1.fill(self,"initialize",{},$globals.ClassProtocolReader)}); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -32060,7 +32066,7 @@ return $core.withContext(function($ctx1) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 var $1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 ( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 $ctx1.supercall = true, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-($globals.PackageTransport.klass.superclass||$boot.dnu).fn.prototype._initialize.apply($recv(self), [])); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+($globals.PackageTransport.klass.superclass||$boot.nilAsClass).fn.prototype._initialize.apply($recv(self), [])); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 $ctx1.supercall = false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 $1=self.__eq_eq($globals.PackageTransport); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 if($core.assert($1)){ 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -32151,7 +32157,7 @@ return $core.withContext(function($ctx1) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 var $1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 $1=( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 $ctx1.supercall = true, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-($globals.AmdPackageTransport.superclass||$boot.dnu).fn.prototype._asJSON.apply($recv(self), [])); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+($globals.AmdPackageTransport.superclass||$boot.nilAsClass).fn.prototype._asJSON.apply($recv(self), [])); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 $ctx1.supercall = false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 $recv($1)._at_put_("amdNamespace",self._namespace()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 return $recv($1)._yourself(); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -32274,7 +32280,7 @@ var self=this; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 return $core.withContext(function($ctx1) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 ( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 $ctx1.supercall = true, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-($globals.AmdPackageTransport.superclass||$boot.dnu).fn.prototype._printOn_.apply($recv(self), [aStream])); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+($globals.AmdPackageTransport.superclass||$boot.nilAsClass).fn.prototype._printOn_.apply($recv(self), [aStream])); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 $ctx1.supercall = false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 $recv(aStream)._nextPutAll_(" (AMD Namespace: "); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 $ctx1.sendIdx["nextPutAll:"]=1; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -34017,7 +34023,7 @@ var self=this; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 return $core.withContext(function($ctx1) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 ( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 $ctx1.supercall = true, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-($globals.Node.superclass||$boot.dnu).fn.prototype._postCopy.apply($recv(self), [])); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+($globals.Node.superclass||$boot.nilAsClass).fn.prototype._postCopy.apply($recv(self), [])); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 $ctx1.supercall = false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 $recv(self._nodes())._do_((function(each){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 return $core.withContext(function($ctx2) { 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -34361,7 +34367,7 @@ return $core.withContext(function($ctx1) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 var $1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 $1=( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 $ctx1.supercall = true, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-($globals.AssignmentNode.superclass||$boot.dnu).fn.prototype._shouldBeAliased.apply($recv(self), [])); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+($globals.AssignmentNode.superclass||$boot.nilAsClass).fn.prototype._shouldBeAliased.apply($recv(self), [])); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 $ctx1.supercall = false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 return $recv($1)._or_((function(){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 return $core.withContext(function($ctx2) { 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -35392,7 +35398,7 @@ var $2,$1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 sends=$recv($recv($recv(self._method())._sendIndexes())._at_(self._selector()))._size(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 $2=( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 $ctx1.supercall = true, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-($globals.SendNode.superclass||$boot.dnu).fn.prototype._shouldBeAliased.apply($recv(self), [])); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+($globals.SendNode.superclass||$boot.nilAsClass).fn.prototype._shouldBeAliased.apply($recv(self), [])); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 $ctx1.supercall = false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 $1=$recv($2)._or_((function(){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 return $core.withContext(function($ctx2) { 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -36819,7 +36825,7 @@ return $core.withContext(function($ctx1) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 var $1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 $1=( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 $ctx1.supercall = true, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-($globals.MethodLexicalScope.superclass||$boot.dnu).fn.prototype._allVariableNames.apply($recv(self), [])); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+($globals.MethodLexicalScope.superclass||$boot.nilAsClass).fn.prototype._allVariableNames.apply($recv(self), [])); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 $ctx1.supercall = false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 return $recv($1).__comma($recv(self._iVars())._keys()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 }, function($ctx1) {$ctx1.fill(self,"allVariableNames",{},$globals.MethodLexicalScope)}); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -36841,7 +36847,7 @@ return $core.withContext(function($ctx1) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 var $1,$receiver; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 $1=( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 $ctx1.supercall = true, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-($globals.MethodLexicalScope.superclass||$boot.dnu).fn.prototype._bindingFor_.apply($recv(self), [aNode])); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+($globals.MethodLexicalScope.superclass||$boot.nilAsClass).fn.prototype._bindingFor_.apply($recv(self), [aNode])); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 $ctx1.supercall = false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 if(($receiver = $1) == null || $receiver.isNil){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 return $recv(self._iVars())._at_ifAbsent_($recv(aNode)._value(),(function(){ 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -37993,7 +37999,7 @@ var self=this; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 return $core.withContext(function($ctx1) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 ( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 $ctx1.supercall = true, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-($globals.SemanticAnalyzer.superclass||$boot.dnu).fn.prototype._visitAssignmentNode_.apply($recv(self), [aNode])); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+($globals.SemanticAnalyzer.superclass||$boot.nilAsClass).fn.prototype._visitAssignmentNode_.apply($recv(self), [aNode])); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 $ctx1.supercall = false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 $recv($recv(aNode)._left())._beAssigned(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 return self; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -38025,7 +38031,7 @@ return $recv(self["@currentScope"])._addArg_(each); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 })); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 ( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 $ctx1.supercall = true, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-($globals.SemanticAnalyzer.superclass||$boot.dnu).fn.prototype._visitBlockNode_.apply($recv(self), [aNode])); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+($globals.SemanticAnalyzer.superclass||$boot.nilAsClass).fn.prototype._visitBlockNode_.apply($recv(self), [aNode])); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 $ctx1.supercall = false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 self._popScope(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 return self; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -38048,7 +38054,7 @@ return $core.withContext(function($ctx1) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 $recv(aNode)._receiver_($recv($recv($recv(aNode)._nodes())._first())._receiver()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 ( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 $ctx1.supercall = true, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-($globals.SemanticAnalyzer.superclass||$boot.dnu).fn.prototype._visitCascadeNode_.apply($recv(self), [aNode])); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+($globals.SemanticAnalyzer.superclass||$boot.nilAsClass).fn.prototype._visitCascadeNode_.apply($recv(self), [aNode])); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 $ctx1.supercall = false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 return self; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 }, function($ctx1) {$ctx1.fill(self,"visitCascadeNode:",{aNode:aNode},$globals.SemanticAnalyzer)}); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -38084,7 +38090,7 @@ return $recv(self["@currentScope"])._addArg_(each); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 })); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 ( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 $ctx1.supercall = true, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-($globals.SemanticAnalyzer.superclass||$boot.dnu).fn.prototype._visitMethodNode_.apply($recv(self), [aNode])); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+($globals.SemanticAnalyzer.superclass||$boot.nilAsClass).fn.prototype._visitMethodNode_.apply($recv(self), [aNode])); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 $ctx1.supercall = false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 $recv(aNode)._classReferences_(self._classReferences()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 $recv(aNode)._sendIndexes_(self._messageSends()); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -38116,7 +38122,7 @@ $recv($recv(self["@currentScope"])._methodScope())._addNonLocalReturn_(self["@cu 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 ( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 $ctx1.supercall = true, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-($globals.SemanticAnalyzer.superclass||$boot.dnu).fn.prototype._visitReturnNode_.apply($recv(self), [aNode])); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+($globals.SemanticAnalyzer.superclass||$boot.nilAsClass).fn.prototype._visitReturnNode_.apply($recv(self), [aNode])); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 $ctx1.supercall = false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 return self; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 }, function($ctx1) {$ctx1.fill(self,"visitReturnNode:",{aNode:aNode},$globals.SemanticAnalyzer)}); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -38176,7 +38182,7 @@ $recv($10)._add_(aNode); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 $recv(aNode)._index_($recv($recv(self._messageSends())._at_($recv(aNode)._selector()))._size()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 ( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 $ctx1.supercall = true, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-($globals.SemanticAnalyzer.superclass||$boot.dnu).fn.prototype._visitSendNode_.apply($recv(self), [aNode])); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+($globals.SemanticAnalyzer.superclass||$boot.nilAsClass).fn.prototype._visitSendNode_.apply($recv(self), [aNode])); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 $ctx1.supercall = false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 return self; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 }, function($ctx1) {$ctx1.fill(self,"visitSendNode:",{aNode:aNode},$globals.SemanticAnalyzer)}); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -38203,7 +38209,7 @@ return $recv(self["@currentScope"])._addTemp_(each); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 })); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 ( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 $ctx1.supercall = true, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-($globals.SemanticAnalyzer.superclass||$boot.dnu).fn.prototype._visitSequenceNode_.apply($recv(self), [aNode])); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+($globals.SemanticAnalyzer.superclass||$boot.nilAsClass).fn.prototype._visitSequenceNode_.apply($recv(self), [aNode])); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 $ctx1.supercall = false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 return self; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 }, function($ctx1) {$ctx1.fill(self,"visitSequenceNode:",{aNode:aNode},$globals.SemanticAnalyzer)}); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -39863,7 +39869,7 @@ var self=this; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 return $core.withContext(function($ctx1) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 ( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 $ctx1.supercall = true, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-($globals.IRClosureInstruction.superclass||$boot.dnu).fn.prototype._scope_.apply($recv(self), [aScope])); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+($globals.IRClosureInstruction.superclass||$boot.nilAsClass).fn.prototype._scope_.apply($recv(self), [aScope])); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 $ctx1.supercall = false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 $recv(aScope)._instruction_(self); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 return self; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -41279,7 +41285,7 @@ var self=this; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 return $core.withContext(function($ctx1) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 ( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 $ctx1.supercall = true, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-($globals.IRJSTranslator.superclass||$boot.dnu).fn.prototype._initialize.apply($recv(self), [])); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+($globals.IRJSTranslator.superclass||$boot.nilAsClass).fn.prototype._initialize.apply($recv(self), [])); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 $ctx1.supercall = false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 self["@stream"]=$recv($globals.JSStream)._new(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 return self; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -41379,7 +41385,7 @@ return $recv(self._stream())._nextPutBlockContextFor_during_(anIRClosure,(functi 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 return $core.withContext(function($ctx3) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 return ( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 $ctx3.supercall = true, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-($globals.IRJSTranslator.superclass||$boot.dnu).fn.prototype._visitIRClosure_.apply($recv(self), [anIRClosure])); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+($globals.IRJSTranslator.superclass||$boot.nilAsClass).fn.prototype._visitIRClosure_.apply($recv(self), [anIRClosure])); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 $ctx3.supercall = false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 }, function($ctx3) {$ctx3.fillBlock({},$ctx2,3)}); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 })); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -41479,7 +41485,7 @@ return $recv(self._stream())._nextPutNonLocalReturnHandlingWith_((function(){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 return $core.withContext(function($ctx5) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 return ( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 $ctx5.supercall = true, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-($globals.IRJSTranslator.superclass||$boot.dnu).fn.prototype._visitIRMethod_.apply($recv(self), [anIRMethod])); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+($globals.IRJSTranslator.superclass||$boot.nilAsClass).fn.prototype._visitIRMethod_.apply($recv(self), [anIRMethod])); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 $ctx5.supercall = false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 $ctx5.sendIdx["visitIRMethod:"]=1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 }, function($ctx5) {$ctx5.fillBlock({},$ctx4,8)}); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -41487,7 +41493,7 @@ $ctx5.sendIdx["visitIRMethod:"]=1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 return ( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 $ctx4.supercall = true, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-($globals.IRJSTranslator.superclass||$boot.dnu).fn.prototype._visitIRMethod_.apply($recv(self), [anIRMethod])); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+($globals.IRJSTranslator.superclass||$boot.nilAsClass).fn.prototype._visitIRMethod_.apply($recv(self), [anIRMethod])); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 $ctx4.supercall = false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 }, function($ctx4) {$ctx4.fillBlock({},$ctx3,4)}); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -41517,7 +41523,7 @@ $recv(self._stream())._nextPutNonLocalReturnWith_((function(){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 return $core.withContext(function($ctx2) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 return ( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 $ctx2.supercall = true, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-($globals.IRJSTranslator.superclass||$boot.dnu).fn.prototype._visitIRNonLocalReturn_.apply($recv(self), [anIRNonLocalReturn])); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+($globals.IRJSTranslator.superclass||$boot.nilAsClass).fn.prototype._visitIRNonLocalReturn_.apply($recv(self), [anIRNonLocalReturn])); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 $ctx2.supercall = false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 }, function($ctx2) {$ctx2.fillBlock({},$ctx1,1)}); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 })); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -41542,7 +41548,7 @@ $recv(self._stream())._nextPutReturnWith_((function(){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 return $core.withContext(function($ctx2) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 return ( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 $ctx2.supercall = true, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-($globals.IRJSTranslator.superclass||$boot.dnu).fn.prototype._visitIRReturn_.apply($recv(self), [anIRReturn])); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+($globals.IRJSTranslator.superclass||$boot.nilAsClass).fn.prototype._visitIRReturn_.apply($recv(self), [anIRReturn])); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 $ctx2.supercall = false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 }, function($ctx2) {$ctx2.fillBlock({},$ctx1,1)}); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 })); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -41831,7 +41837,7 @@ $5="(".__comma($recv(self._currentClass())._asJavascript()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 $ctx1.sendIdx[","]=2; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 $recv($1)._nextPutAll_($5); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 $ctx1.sendIdx["nextPutAll:"]=5; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$recv($1)._nextPutAll_(".superclass||$boot.dnu).fn.prototype."); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+$recv($1)._nextPutAll_(".superclass||$boot.nilAsClass).fn.prototype."); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 $ctx1.sendIdx["nextPutAll:"]=6; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 $6=$recv($recv($recv(anIRSend)._selector())._asJavaScriptMethodName()).__comma(".apply("); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 $ctx1.sendIdx[","]=3; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -41857,7 +41863,7 @@ return self; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 }, function($ctx1) {$ctx1.fill(self,"visitSuperSend:",{anIRSend:anIRSend},$globals.IRJSTranslator)}); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 args: ["anIRSend"], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-source: "visitSuperSend: anIRSend\x0a\x09self stream\x0a\x09\x09nextPutAll: '('; lf;\x0a\x09\x09nextPutAll: '//>>excludeStart(\x22ctx\x22, pragmas.excludeDebugContexts);'; lf;\x0a\x09\x09nextPutAll: anIRSend scope alias, '.supercall = true,'; lf;\x0a\x09\x09nextPutAll: '//>>excludeEnd(\x22ctx\x22);'; lf;\x0a\x09\x09nextPutAll: '(', self currentClass asJavascript;\x0a\x09\x09nextPutAll: '.superclass||$boot.dnu).fn.prototype.';\x0a\x09\x09nextPutAll: anIRSend selector asJavaScriptMethodName, '.apply(';\x0a\x09\x09nextPutAll: '$recv(self), '.\x0a\x09self\x0a\x09\x09visitInstructionList: anIRSend instructions allButFirst\x0a\x09\x09enclosedBetween: '[' and: ']'.\x0a\x09self stream \x0a\x09\x09nextPutAll: '));'; lf;\x0a\x09\x09nextPutAll: '//>>excludeStart(\x22ctx\x22, pragmas.excludeDebugContexts);'; lf;\x0a\x09\x09nextPutAll: anIRSend scope alias, '.supercall = false;'; lf;\x0a\x09\x09nextPutAll: '//>>excludeEnd(\x22ctx\x22);'", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+source: "visitSuperSend: anIRSend\x0a\x09self stream\x0a\x09\x09nextPutAll: '('; lf;\x0a\x09\x09nextPutAll: '//>>excludeStart(\x22ctx\x22, pragmas.excludeDebugContexts);'; lf;\x0a\x09\x09nextPutAll: anIRSend scope alias, '.supercall = true,'; lf;\x0a\x09\x09nextPutAll: '//>>excludeEnd(\x22ctx\x22);'; lf;\x0a\x09\x09nextPutAll: '(', self currentClass asJavascript;\x0a\x09\x09nextPutAll: '.superclass||$boot.nilAsClass).fn.prototype.';\x0a\x09\x09nextPutAll: anIRSend selector asJavaScriptMethodName, '.apply(';\x0a\x09\x09nextPutAll: '$recv(self), '.\x0a\x09self\x0a\x09\x09visitInstructionList: anIRSend instructions allButFirst\x0a\x09\x09enclosedBetween: '[' and: ']'.\x0a\x09self stream \x0a\x09\x09nextPutAll: '));'; lf;\x0a\x09\x09nextPutAll: '//>>excludeStart(\x22ctx\x22, pragmas.excludeDebugContexts);'; lf;\x0a\x09\x09nextPutAll: anIRSend scope alias, '.supercall = false;'; lf;\x0a\x09\x09nextPutAll: '//>>excludeEnd(\x22ctx\x22);'", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 referencedClasses: [], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 messageSends: ["nextPutAll:", "stream", "lf", ",", "alias", "scope", "asJavascript", "currentClass", "asJavaScriptMethodName", "selector", "visitInstructionList:enclosedBetween:and:", "allButFirst", "instructions"] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 }), 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -41892,7 +41898,7 @@ var self=this; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 return $core.withContext(function($ctx1) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 ( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 $ctx1.supercall = true, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-($globals.JSStream.superclass||$boot.dnu).fn.prototype._initialize.apply($recv(self), [])); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+($globals.JSStream.superclass||$boot.nilAsClass).fn.prototype._initialize.apply($recv(self), [])); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 $ctx1.supercall = false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 self["@stream"]=""._writeStream(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 return self; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -43160,7 +43166,7 @@ return localReturn; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 $7=( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 $ctx1.supercall = true, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-($globals.IRInliner.superclass||$boot.dnu).fn.prototype._visitIRNonLocalReturn_.apply($recv(self), [anIRNonLocalReturn])); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+($globals.IRInliner.superclass||$boot.nilAsClass).fn.prototype._visitIRNonLocalReturn_.apply($recv(self), [anIRNonLocalReturn])); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 $ctx1.supercall = false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 return $7; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 }, function($ctx1) {$ctx1.fill(self,"transformNonLocalReturn:",{anIRNonLocalReturn:anIRNonLocalReturn,localReturn:localReturn},$globals.IRInliner)}); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -43186,7 +43192,7 @@ return $recv(self._assignmentInliner())._inlineAssignment_(anIRAssignment); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 return ( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 $ctx1.supercall = true, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-($globals.IRInliner.superclass||$boot.dnu).fn.prototype._visitIRAssignment_.apply($recv(self), [anIRAssignment])); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+($globals.IRInliner.superclass||$boot.nilAsClass).fn.prototype._visitIRAssignment_.apply($recv(self), [anIRAssignment])); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 $ctx1.supercall = false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 }, function($ctx1) {$ctx1.fill(self,"visitIRAssignment:",{anIRAssignment:anIRAssignment},$globals.IRInliner)}); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -43229,7 +43235,7 @@ return $recv(self._returnInliner())._inlineReturn_(anIRReturn); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 return ( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 $ctx1.supercall = true, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-($globals.IRInliner.superclass||$boot.dnu).fn.prototype._visitIRReturn_.apply($recv(self), [anIRReturn])); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+($globals.IRInliner.superclass||$boot.nilAsClass).fn.prototype._visitIRReturn_.apply($recv(self), [anIRReturn])); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 $ctx1.supercall = false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 }, function($ctx1) {$ctx1.fill(self,"visitIRReturn:",{anIRReturn:anIRReturn},$globals.IRInliner)}); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -43255,7 +43261,7 @@ return $recv(self._sendInliner())._inlineSend_(anIRSend); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 return ( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 $ctx1.supercall = true, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-($globals.IRInliner.superclass||$boot.dnu).fn.prototype._visitIRSend_.apply($recv(self), [anIRSend])); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+($globals.IRInliner.superclass||$boot.nilAsClass).fn.prototype._visitIRSend_.apply($recv(self), [anIRSend])); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 $ctx1.supercall = false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 }, function($ctx1) {$ctx1.fill(self,"visitIRSend:",{anIRSend:anIRSend},$globals.IRInliner)}); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -44205,7 +44211,7 @@ return $core.withContext(function($ctx1) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 var $2,$1,$4,$3,$5,$7,$6; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 inlinedClosure=( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 $ctx1.supercall = true, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-($globals.IRAssignmentInliner.superclass||$boot.dnu).fn.prototype._inlineClosure_.apply($recv(self), [anIRClosure])); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+($globals.IRAssignmentInliner.superclass||$boot.nilAsClass).fn.prototype._inlineClosure_.apply($recv(self), [anIRClosure])); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 $ctx1.supercall = false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 $2=$recv(inlinedClosure)._instructions(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 $ctx1.sendIdx["instructions"]=2; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -44255,7 +44261,7 @@ return $core.withContext(function($ctx1) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 var $1,$3,$2,$4,$6,$5; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 closure=( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 $ctx1.supercall = true, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-($globals.IRReturnInliner.superclass||$boot.dnu).fn.prototype._inlineClosure_.apply($recv(self), [anIRClosure])); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+($globals.IRReturnInliner.superclass||$boot.nilAsClass).fn.prototype._inlineClosure_.apply($recv(self), [anIRClosure])); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 $ctx1.supercall = false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 $1=$recv($recv(closure)._instructions())._last(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 $ctx1.sendIdx["last"]=1; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -45596,7 +45602,7 @@ $recv(self._context())._localAt_ifAbsent_($recv(aNode)._value(),(function(){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 return $core.withContext(function($ctx2) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 $1=( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 $ctx2.supercall = true, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-($globals.AISemanticAnalyzer.superclass||$boot.dnu).fn.prototype._visitVariableNode_.apply($recv(self), [aNode])); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+($globals.AISemanticAnalyzer.superclass||$boot.nilAsClass).fn.prototype._visitVariableNode_.apply($recv(self), [aNode])); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 $ctx2.supercall = false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 throw $early=[$1]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 }, function($ctx2) {$ctx2.fillBlock({},$ctx1,1)}); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -46073,7 +46079,7 @@ return $recv($recv(self._interpreter())._context())._defineLocal_(each); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 })); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 $1=( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 $ctx1.supercall = true, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-($globals.ASTEnterNode.superclass||$boot.dnu).fn.prototype._visitSequenceNode_.apply($recv(self), [aNode])); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+($globals.ASTEnterNode.superclass||$boot.nilAsClass).fn.prototype._visitSequenceNode_.apply($recv(self), [aNode])); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 $ctx1.supercall = false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 return $1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 }, function($ctx1) {$ctx1.fill(self,"visitSequenceNode:",{aNode:aNode},$globals.ASTEnterNode)}); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -46294,7 +46300,7 @@ var self=this; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 return $core.withContext(function($ctx1) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 ( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 $ctx1.supercall = true, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-($globals.ASTInterpreter.superclass||$boot.dnu).fn.prototype._initialize.apply($recv(self), [])); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+($globals.ASTInterpreter.superclass||$boot.nilAsClass).fn.prototype._initialize.apply($recv(self), [])); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 $ctx1.supercall = false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 self["@forceAtEnd"]=false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 return self; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -46780,7 +46786,7 @@ $1=self._hasReturned(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 if(!$core.assert($1)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 ( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 $ctx1.supercall = true, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-($globals.ASTInterpreter.superclass||$boot.dnu).fn.prototype._visit_.apply($recv(self), [aNode])); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+($globals.ASTInterpreter.superclass||$boot.nilAsClass).fn.prototype._visit_.apply($recv(self), [aNode])); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 $ctx1.supercall = false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 return self; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -46845,7 +46851,7 @@ var self=this; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 return $core.withContext(function($ctx1) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 ( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 $ctx1.supercall = true, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-($globals.ASTInterpreter.superclass||$boot.dnu).fn.prototype._visitBlockSequenceNode_.apply($recv(self), [aNode])); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+($globals.ASTInterpreter.superclass||$boot.nilAsClass).fn.prototype._visitBlockSequenceNode_.apply($recv(self), [aNode])); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 $ctx1.supercall = false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 self["@forceAtEnd"]=true; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 return self; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -47249,7 +47255,7 @@ $ctx1.sendIdx["selector"]=1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 sendIndex=$recv($1)._sendIndexAt_($2); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 ( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 $ctx1.supercall = true, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-($globals.ASTPCNodeVisitor.superclass||$boot.dnu).fn.prototype._visitSendNode_.apply($recv(self), [aNode])); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+($globals.ASTPCNodeVisitor.superclass||$boot.nilAsClass).fn.prototype._visitSendNode_.apply($recv(self), [aNode])); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 $ctx1.supercall = false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 $4=self._selector(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 $ctx1.sendIdx["selector"]=2; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -48182,7 +48188,7 @@ return self._withErrorReporting_((function(){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 return $core.withContext(function($ctx3) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 return ( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 $ctx3.supercall = true, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-($globals.ReportingTestContext.superclass||$boot.dnu).fn.prototype._execute_.apply($recv(self), [aBlock])); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+($globals.ReportingTestContext.superclass||$boot.nilAsClass).fn.prototype._execute_.apply($recv(self), [aBlock])); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 $ctx3.supercall = false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 }, function($ctx3) {$ctx3.fillBlock({},$ctx2,2)}); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 })); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -48282,7 +48288,7 @@ return $core.withContext(function($ctx1) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 var $1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 $1=( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 $ctx1.supercall = true, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-($globals.ReportingTestContext.klass.superclass||$boot.dnu).fn.prototype._testCase_.apply($recv(self), [aTestCase])); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+($globals.ReportingTestContext.klass.superclass||$boot.nilAsClass).fn.prototype._testCase_.apply($recv(self), [aTestCase])); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 $ctx1.supercall = false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 $recv($1)._result_(aTestResult); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 $recv($1)._finished_(aBlock); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -48398,7 +48404,7 @@ var self=this; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 return $core.withContext(function($ctx1) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 ( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 $ctx1.supercall = true, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-($globals.TestResult.superclass||$boot.dnu).fn.prototype._initialize.apply($recv(self), [])); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+($globals.TestResult.superclass||$boot.nilAsClass).fn.prototype._initialize.apply($recv(self), [])); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 $ctx1.supercall = false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 self["@timestamp"]=$recv($globals.Date)._now(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 self["@runs"]=(0); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -48621,7 +48627,7 @@ return $core.withContext(function($ctx1) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 var $1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 ( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 $ctx1.supercall = true, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-($globals.TestSuiteRunner.superclass||$boot.dnu).fn.prototype._initialize.apply($recv(self), [])); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+($globals.TestSuiteRunner.superclass||$boot.nilAsClass).fn.prototype._initialize.apply($recv(self), [])); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 $ctx1.supercall = false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 self["@announcer"]=$recv($globals.Announcer)._new(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 $ctx1.sendIdx["new"]=1; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -48747,7 +48753,7 @@ return $core.withContext(function($ctx1) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 var $1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 $1=( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 $ctx1.supercall = true, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-($globals.TestSuiteRunner.klass.superclass||$boot.dnu).fn.prototype._new.apply($recv(self), [])); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+($globals.TestSuiteRunner.klass.superclass||$boot.nilAsClass).fn.prototype._new.apply($recv(self), [])); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 $ctx1.supercall = false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 return $recv($1)._suite_(aCollection); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 }, function($ctx1) {$ctx1.fill(self,"on:",{aCollection:aCollection},$globals.TestSuiteRunner.klass)}); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -52875,7 +52881,7 @@ var self=this; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 return $core.withContext(function($ctx1) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 ( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 $ctx1.supercall = true, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-($globals.CollectionTest.superclass||$boot.dnu).fn.prototype._initialize.apply($recv(self), [])); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+($globals.CollectionTest.superclass||$boot.nilAsClass).fn.prototype._initialize.apply($recv(self), [])); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 $ctx1.supercall = false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 self["@sampleBlock"]=(function(){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -54570,7 +54576,7 @@ return $core.withContext(function($ctx1) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 var $2,$3,$4,$1,$5,$7,$8,$9,$6,$10,$12,$11; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 ( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 $ctx1.supercall = true, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-($globals.AssociativeCollectionTest.superclass||$boot.dnu).fn.prototype._testAddAll.apply($recv(self), [])); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+($globals.AssociativeCollectionTest.superclass||$boot.nilAsClass).fn.prototype._testAddAll.apply($recv(self), [])); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 $ctx1.supercall = false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 $2=self._collection(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 $ctx1.sendIdx["collection"]=1; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -54659,7 +54665,7 @@ return $core.withContext(function($ctx1) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 var $2,$3,$1,$4,$6,$7,$5,$8,$10,$9; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 ( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 $ctx1.supercall = true, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-($globals.AssociativeCollectionTest.superclass||$boot.dnu).fn.prototype._testComma.apply($recv(self), [])); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+($globals.AssociativeCollectionTest.superclass||$boot.nilAsClass).fn.prototype._testComma.apply($recv(self), [])); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 $ctx1.supercall = false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 $2=self._collection(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 $ctx1.sendIdx["collection"]=1; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -55154,7 +55160,7 @@ var self=this; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 return $core.withContext(function($ctx1) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 ( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 $ctx1.supercall = true, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-($globals.DictionaryTest.superclass||$boot.dnu).fn.prototype._samplesDo_.apply($recv(self), [aBlock])); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+($globals.DictionaryTest.superclass||$boot.nilAsClass).fn.prototype._samplesDo_.apply($recv(self), [aBlock])); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 $ctx1.supercall = false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 $recv(aBlock)._value_value_(true,(3)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 $ctx1.sendIdx["value:value:"]=1; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -56063,7 +56069,7 @@ var self=this; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 return $core.withContext(function($ctx1) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 ( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 $ctx1.supercall = true, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-($globals.ArrayTest.superclass||$boot.dnu).fn.prototype._samplesDo_.apply($recv(self), [aBlock])); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+($globals.ArrayTest.superclass||$boot.nilAsClass).fn.prototype._samplesDo_.apply($recv(self), [aBlock])); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 $ctx1.supercall = false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 $recv(aBlock)._value_value_((3),(3)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 return self; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -56505,7 +56511,7 @@ var self=this; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 return $core.withContext(function($ctx1) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 ( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 $ctx1.supercall = true, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-($globals.StringTest.superclass||$boot.dnu).fn.prototype._samplesDo_.apply($recv(self), [aBlock])); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+($globals.StringTest.superclass||$boot.nilAsClass).fn.prototype._samplesDo_.apply($recv(self), [aBlock])); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 $ctx1.supercall = false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 $recv(aBlock)._value_value_((3),"l"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 return self; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -57305,7 +57311,7 @@ return $core.withContext(function($ctx1) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 var $2,$3,$4,$1,$5,$7,$8,$9,$6,$10,$12,$11; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 ( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 $ctx1.supercall = true, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-($globals.SetTest.superclass||$boot.dnu).fn.prototype._testAddAll.apply($recv(self), [])); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+($globals.SetTest.superclass||$boot.nilAsClass).fn.prototype._testAddAll.apply($recv(self), [])); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 $ctx1.supercall = false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 $2=self._collection(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 $ctx1.sendIdx["collection"]=1; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -57414,7 +57420,7 @@ return $core.withContext(function($ctx1) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 var $2,$1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 ( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 $ctx1.supercall = true, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-($globals.SetTest.superclass||$boot.dnu).fn.prototype._testCollect.apply($recv(self), [])); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+($globals.SetTest.superclass||$boot.nilAsClass).fn.prototype._testCollect.apply($recv(self), [])); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 $ctx1.supercall = false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 $2=[(5), (6), (8)]._asSet(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 $ctx1.sendIdx["asSet"]=1; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -57444,7 +57450,7 @@ return $core.withContext(function($ctx1) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 var $2,$3,$1,$4,$6,$7,$5,$8,$10,$9; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 ( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 $ctx1.supercall = true, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-($globals.SetTest.superclass||$boot.dnu).fn.prototype._testComma.apply($recv(self), [])); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+($globals.SetTest.superclass||$boot.nilAsClass).fn.prototype._testComma.apply($recv(self), [])); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 $ctx1.supercall = false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 $2=self._collection(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 $ctx1.sendIdx["collection"]=1; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -62368,7 +62374,7 @@ var self=this; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 return $core.withContext(function($ctx1) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 ( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 $ctx1.supercall = true, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-($globals.BaseFileManipulator.superclass||$boot.dnu).fn.prototype._initialize.apply($recv(self), [])); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+($globals.BaseFileManipulator.superclass||$boot.nilAsClass).fn.prototype._initialize.apply($recv(self), [])); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 $ctx1.supercall = false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 self["@path"]=$recv(require)._value_("path"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 $ctx1.sendIdx["value:"]=1; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -62412,7 +62418,7 @@ var self=this; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 return $core.withContext(function($ctx1) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 ( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 $ctx1.supercall = true, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-($globals.Configurator.superclass||$boot.dnu).fn.prototype._initialize.apply($recv(self), [])); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+($globals.Configurator.superclass||$boot.nilAsClass).fn.prototype._initialize.apply($recv(self), [])); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 $ctx1.supercall = false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 return self; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 }, function($ctx1) {$ctx1.fill(self,"initialize",{},$globals.Configurator)}); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -62789,7 +62795,7 @@ return $core.withContext(function($ctx1) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 var $1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 ( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 $ctx1.supercall = true, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-($globals.FileServer.superclass||$boot.dnu).fn.prototype._initialize.apply($recv(self), [])); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+($globals.FileServer.superclass||$boot.nilAsClass).fn.prototype._initialize.apply($recv(self), [])); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 $ctx1.supercall = false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 self["@http"]=self._require_("http"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 $ctx1.sendIdx["require:"]=1; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -63800,7 +63806,7 @@ var self=this; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 return $core.withContext(function($ctx1) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 ( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 $ctx1.supercall = true, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-($globals.Initer.superclass||$boot.dnu).fn.prototype._initialize.apply($recv(self), [])); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+($globals.Initer.superclass||$boot.nilAsClass).fn.prototype._initialize.apply($recv(self), [])); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 $ctx1.supercall = false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 self["@childProcess"]=$recv(require)._value_("child_process"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 self["@nmPath"]=$recv(self["@path"])._join_with_(self._rootDirname(),"node_modules"); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -64245,7 +64251,7 @@ var self=this; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 return $core.withContext(function($ctx1) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 ( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 $ctx1.supercall = true, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-($globals.Repl.superclass||$boot.dnu).fn.prototype._initialize.apply($recv(self), [])); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+($globals.Repl.superclass||$boot.nilAsClass).fn.prototype._initialize.apply($recv(self), [])); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 $ctx1.supercall = false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 self["@session"]=$recv($globals.DoIt)._new(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 self["@readline"]=$recv(require)._value_("readline"); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -64681,6 +64687,505 @@ $globals.Repl.klass); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                 }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                             }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                         }()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//jshint eqnull:true 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+define('amber/kernel-runtime',[],function () { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    "use strict"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    DNUBrik.deps = ["selectors", "messageSend", "manipulation", "root"]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    function DNUBrik(brikz, st) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        var selectorsBrik = brikz.selectors; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        var messageNotUnderstood = brikz.messageSend.messageNotUnderstood; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        var installJSMethod = brikz.manipulation.installJSMethod; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        var nilAsClass = brikz.root.nilAsClass; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        /* Method not implemented handlers */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        function makeDnuHandler(pair, targetClasses) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            var jsSelector = pair.js; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            var fn = createHandler(pair.st); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            installJSMethod(nilAsClass.fn.prototype, jsSelector, fn); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            targetClasses.forEach(function (target) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                installJSMethod(target.fn.prototype, jsSelector, fn); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        this.makeDnuHandler = makeDnuHandler; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        /* Dnu handler method */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        function createHandler(stSelector) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            return function () { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                return messageNotUnderstood(this, stSelector, arguments); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        selectorsBrik.selectorPairs.forEach(function (pair) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            makeDnuHandler(pair, []); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    function ManipulationBrik(brikz, st) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        function installJSMethod(obj, jsSelector, fn) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            Object.defineProperty(obj, jsSelector, { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                value: fn, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                enumerable: false, configurable: true, writable: true 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        function installMethod(method, klass) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            installJSMethod(klass.fn.prototype, method.jsSelector, method.fn); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        this.installMethod = installMethod; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        this.installJSMethod = installJSMethod; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    RuntimeClassesBrik.deps = ["selectors", "dnu", "classes", "manipulation"]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    function RuntimeClassesBrik(brikz, st) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        var selectors = brikz.selectors; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        var classes = brikz.classes.classes; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        var wireKlass = brikz.classes.wireKlass; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        var installMethod = brikz.manipulation.installMethod; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        var installJSMethod = brikz.manipulation.installJSMethod; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        /* Initialize a class in its class hierarchy. Handle both classes and 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+         metaclasses. */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        var detachedRootClasses = []; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        function markClassDetachedRoot(klass) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            detachedRootClasses.addElement(klass); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            klass.detachedRoot = true; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        this.detachedRootClasses = function () { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            return detachedRootClasses; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        function initClassAndMetaclass(klass) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            initClass(klass); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if (klass.klass && !klass.meta) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                initClass(klass.klass); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        classes().forEach(initClassAndMetaclass); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        st._classAdded = initClassAndMetaclass; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        function initClass(klass) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            wireKlass(klass); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if (klass.detachedRoot) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                copySuperclass(klass); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            installMethods(klass); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        function copySuperclass(klass) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            var myproto = klass.fn.prototype, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                superproto = klass.superclass.fn.prototype; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            selectors.selectorPairs.forEach(function (selectorPair) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                var jsSelector = selectorPair.js; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                installJSMethod(myproto, jsSelector, superproto[jsSelector]); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        function installMethods(klass) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            var methods = klass.methods; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            Object.keys(methods).forEach(function (selector) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                installMethod(methods[selector], klass); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        /* Manually set the constructor of an existing Smalltalk klass, making it a detached root class. */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        st.setClassConstructor = this.setClassConstructor = function (klass, constructor) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            markClassDetachedRoot(klass); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            klass.fn = constructor; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            initClass(klass); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    FrameBindingBrik.deps=["globals", "runtimeClasses"]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    function FrameBindingBrik(brikz, st) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        var globals = brikz.smalltalkGlobals.globals; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        var setClassConstructor = brikz.runtimeClasses.setClassConstructor; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        setClassConstructor(globals.Number, Number); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        setClassConstructor(globals.BlockClosure, Function); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        setClassConstructor(globals.Boolean, Boolean); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        setClassConstructor(globals.Date, Date); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        setClassConstructor(globals.String, String); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        setClassConstructor(globals.Array, Array); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        setClassConstructor(globals.RegularExpression, RegExp); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        setClassConstructor(globals.Error, Error); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        setClassConstructor(globals.Promise, Promise); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    RuntimeMethodsBrik.deps = ["manipulation", "dnu", "runtimeClasses"]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    function RuntimeMethodsBrik(brikz, st) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        var installMethod = brikz.manipulation.installMethod; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        var installJSMethod = brikz.manipulation.installJSMethod; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        var makeDnuHandler = brikz.dnu.makeDnuHandler; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        var detachedRootClasses = brikz.runtimeClasses.detachedRootClasses; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        st._methodAdded = function (method, klass) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            installMethod(method, klass); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            propagateMethodChange(klass, method, klass); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        st._selectorsAdded = function (newSelectors) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            var targetClasses = detachedRootClasses(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            newSelectors.forEach(function (pair) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                makeDnuHandler(pair, targetClasses); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        st._methodRemoved = function (method, klass) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            delete klass.fn.prototype[method.jsSelector]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            propagateMethodChange(klass, method, null); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        function propagateMethodChange(klass, method, exclude) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            var selector = method.selector; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            var jsSelector = method.jsSelector; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            st.traverseClassTree(klass, function (subclass) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                if (subclass != exclude) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    initMethodInClass(subclass, selector, jsSelector); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        function initMethodInClass(klass, selector, jsSelector) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if (klass.detachedRoot && !klass.methods[selector]) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                installJSMethod(klass.fn.prototype, jsSelector, klass.superclass.fn.prototype[jsSelector]); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    PrimitivesBrik.deps = ["smalltalkGlobals"]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    function PrimitivesBrik(brikz, st) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        var globals = brikz.smalltalkGlobals.globals; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        var oid = 0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        /* Unique ID number generator */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        st.nextId = function () { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            oid += 1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            return oid; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        /* Converts a JavaScript object to valid Smalltalk Object */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        st.readJSObject = function (js) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if (js == null) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                return null; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            var readObject = js.constructor === Object; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            var readArray = js.constructor === Array; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            var object = readObject ? globals.Dictionary._new() : readArray ? [] : js; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            for (var i in js) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                if (readObject) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    object._at_put_(i, st.readJSObject(js[i])); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                if (readArray) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    object[i] = st.readJSObject(js[i]); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            return object; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        /* Boolean assertion */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        st.assert = function (shouldBeBoolean) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if (typeof shouldBeBoolean === "boolean") return shouldBeBoolean; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            else if (shouldBeBoolean != null && typeof shouldBeBoolean === "object") { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                shouldBeBoolean = shouldBeBoolean.valueOf(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                if (typeof shouldBeBoolean === "boolean") return shouldBeBoolean; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            globals.NonBooleanReceiver._new()._object_(shouldBeBoolean)._signal(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        /* List of all reserved words in JavaScript. They may not be used as variables 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+         in Smalltalk. */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        // list of reserved JavaScript keywords as of 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        //   http://es5.github.com/#x7.6.1.1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        // and 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        //   http://people.mozilla.org/~jorendorff/es6-draft.html#sec-7.6.1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        st.reservedWords = ['break', 'case', 'catch', 'continue', 'debugger', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            'default', 'delete', 'do', 'else', 'finally', 'for', 'function', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            'if', 'in', 'instanceof', 'new', 'return', 'switch', 'this', 'throw', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            'try', 'typeof', 'var', 'void', 'while', 'with', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            // Amber protected words: these should not be compiled as-is when in code 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            'arguments', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            // ES5: future use: http://es5.github.com/#x7.6.1.2 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            'class', 'const', 'enum', 'export', 'extends', 'import', 'super', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            // ES5: future use in strict mode 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            'implements', 'interface', 'let', 'package', 'private', 'protected', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            'public', 'static', 'yield']; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        st.globalJsVariables = ['window', 'document', 'process', 'global']; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    RuntimeBrik.deps = ["selectorConversion", "smalltalkGlobals", "runtimeClasses"]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    function RuntimeBrik(brikz, st) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        var globals = brikz.smalltalkGlobals.globals; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        var setClassConstructor = brikz.runtimeClasses.setClassConstructor; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        function SmalltalkMethodContext(home, setup) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            this.sendIdx = {}; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            this.homeContext = home; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            this.setup = setup || function () { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            this.supercall = false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        // Fallbacks 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        SmalltalkMethodContext.prototype.locals = {}; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        SmalltalkMethodContext.prototype.receiver = null; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        SmalltalkMethodContext.prototype.selector = null; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        SmalltalkMethodContext.prototype.lookupClass = null; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        SmalltalkMethodContext.prototype.fill = function (receiver, selector, locals, lookupClass) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            this.receiver = receiver; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            this.selector = selector; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            this.locals = locals || {}; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            this.lookupClass = lookupClass; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if (this.homeContext) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                this.homeContext.evaluatedSelector = selector; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        SmalltalkMethodContext.prototype.fillBlock = function (locals, ctx, index) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            this.locals = locals || {}; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            this.outerContext = ctx; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            this.index = index || 0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        SmalltalkMethodContext.prototype.init = function () { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            var home = this.homeContext; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if (home) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                home.init(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            this.setup(this); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        SmalltalkMethodContext.prototype.method = function () { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            var method; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            var lookup = this.lookupClass || this.receiver.klass; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            while (!method && lookup) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                method = lookup.methods[st.js2st(this.selector)]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                lookup = lookup.superclass; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            return method; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        setClassConstructor(globals.MethodContext, SmalltalkMethodContext); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        /* This is the current call context object. While it is publicly available, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+         Use smalltalk.getThisContext() instead which will answer a safe copy of 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+         the current context */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        var thisContext = null; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        st.withContext = function (worker, setup) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if (thisContext) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                return inContext(worker, setup); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                return inContextWithErrorHandling(worker, setup); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        /* 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+           Runs worker function so that error handler is not set up 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+           if there isn't one. This is accomplished by unconditional 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+           wrapping inside a context of a simulated `nil seamlessDoIt` call, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+           which then stops error handler setup (see st.withContext above). 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+           The effect is, $core.seamless(fn)'s exceptions are not 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+           handed into ST error handler and caller should process them. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+         */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        st.seamless = function (worker) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            return inContext(worker, function (ctx) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                ctx.fill(null, "seamlessDoIt", {}, globals.UndefinedObject); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        function inContextWithErrorHandling(worker, setup) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            try { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                return inContext(worker, setup); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } catch (error) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                handleError(error); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                thisContext = null; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                // Rethrow the error in any case. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                error.amberHandled = true; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                throw error; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        function inContext(worker, setup) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            var oldContext = thisContext; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            thisContext = new SmalltalkMethodContext(thisContext, setup); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            var result = worker(thisContext); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            thisContext = oldContext; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            return result; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        /* 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) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            var errorWrapper = globals.JavaScriptException._on_(error); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            // Add the error to the context, so it is visible in the stack 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            try { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                errorWrapper._signal(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } catch (ex) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            var context = st.getThisContext(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if (isRangeError(error)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                stubContextStack(context); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            errorWrapper._context_(context); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            return errorWrapper; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        /* Stub the context stack after 100 contexts */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        function stubContextStack(context) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            var currentContext = context; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            var contexts = 0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            while (contexts < 100) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                if (currentContext) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    currentContext = currentContext.homeContext; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                contexts++; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if (currentContext) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                currentContext.homeContext = undefined; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        function isRangeError(error) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            return error instanceof RangeError; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        /* Handles Smalltalk errors. Triggers the registered ErrorHandler 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+         (See the Smalltalk class ErrorHandler and its subclasses */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        function handleError(error) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if (!error.smalltalkError) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                error = wrappedError(error); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            globals.ErrorHandler._handleError_(error); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        /* Handle thisContext pseudo variable */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        st.getThisContext = function () { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if (thisContext) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                thisContext.init(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                return thisContext; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                return null; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    MessageSendBrik.deps = ["smalltalkGlobals", "selectorConversion", "root"]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    function MessageSendBrik(brikz, st) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        var globals = brikz.smalltalkGlobals.globals; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        var nil = brikz.root.nil; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        /* Handles unhandled errors during message sends */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        // simply send the message and handle #dnu: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        st.send2 = function (receiver, selector, args, klass) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            var method, jsSelector = st.st2js(selector); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if (receiver == null) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                receiver = nil; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            method = klass ? klass.fn.prototype[jsSelector] : receiver.klass && receiver[jsSelector]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if (method) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                return method.apply(receiver, args || []); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                return messageNotUnderstood(receiver, selector, args); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        function invokeDnuMethod(receiver, stSelector, args) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            return receiver._doesNotUnderstand_( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                globals.Message._new() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    ._selector_(stSelector) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    ._arguments_([].slice.call(args)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            ); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        /* Handles #dnu: *and* JavaScript method calls. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+         if the receiver has no klass, we consider it a JS object (outside of the 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+         Amber system). Else assume that the receiver understands #doesNotUnderstand: */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        function messageNotUnderstood(receiver, stSelector, args) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if (receiver.klass != null && !receiver.allowJavaScriptCalls) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                return invokeDnuMethod(receiver, stSelector, args); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            /* Call a method of a JS object, or answer a property if it exists. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+             Else try wrapping a JSObjectProxy around the receiver. */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            var propertyName = st.st2prop(stSelector); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if (!(propertyName in receiver)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                return invokeDnuMethod(globals.JSObjectProxy._on_(receiver), stSelector, args); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            return accessJavaScript(receiver, propertyName, args); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        /* If the object property is a function, then call it, except if it starts with 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+         an uppercase character (we probably want to answer the function itself in this 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+         case and send it #new from Amber). 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+         Converts keyword-based selectors by using the first 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+         keyword only, but keeping all message arguments. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+         Example: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+         "self do: aBlock with: anObject" -> "self.do(aBlock, anObject)" */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        function accessJavaScript(receiver, propertyName, args) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            var propertyValue = receiver[propertyName]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if (typeof propertyValue === "function" && !/^[A-Z]/.test(propertyName)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                return propertyValue.apply(receiver, args || []); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } else if (args.length > 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                receiver[propertyName] = args[0]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                return receiver; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                return propertyValue; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        st.accessJavaScript = accessJavaScript; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        this.messageNotUnderstood = messageNotUnderstood; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    /* Making smalltalk that can run */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    function configureWithRuntime(brikz) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        brikz.dnu = DNUBrik; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        brikz.manipulation = ManipulationBrik; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        brikz.runtimeClasses = RuntimeClassesBrik; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        brikz.frameBinding = FrameBindingBrik; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        brikz.runtimeMethods = RuntimeMethodsBrik; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        brikz.messageSend = MessageSendBrik; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        brikz.runtime = RuntimeBrik; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        brikz.primitives = PrimitivesBrik; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        brikz.rebuild(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    return configureWithRuntime; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+}); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+// Depend on each module that is loaded lazily. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+// Add to packager tasks as dependency, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+// so the lazy-loaded modules are included. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+define('amber/lazypack',['./kernel-runtime'], {}); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 require(["app"]); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 }); 
			 |