|  | @@ -4455,62 +4455,6 @@ messageSends: [",", "join:", "collect:", "asJavaScriptSource"]
 | 
											
												
													
														|  |  }),
 |  |  }),
 | 
											
												
													
														|  |  $globals.Array);
 |  |  $globals.Array);
 | 
											
												
													
														|  |  
 |  |  
 | 
											
												
													
														|  | -$core.addMethod(
 |  | 
 | 
											
												
													
														|  | -$core.method({
 |  | 
 | 
											
												
													
														|  | -selector: "at:ifAbsent:",
 |  | 
 | 
											
												
													
														|  | -protocol: "accessing",
 |  | 
 | 
											
												
													
														|  | -fn: function (anIndex,aBlock){
 |  | 
 | 
											
												
													
														|  | -var self=this,$self=this;
 |  | 
 | 
											
												
													
														|  | -//>>excludeStart("ctx", pragmas.excludeDebugContexts);
 |  | 
 | 
											
												
													
														|  | -return $core.withContext(function($ctx1) {
 |  | 
 | 
											
												
													
														|  | -//>>excludeEnd("ctx");
 |  | 
 | 
											
												
													
														|  | -
 |  | 
 | 
											
												
													
														|  | -		return anIndex >= 1 && anIndex <= self.length
 |  | 
 | 
											
												
													
														|  | -			? self[anIndex - 1]
 |  | 
 | 
											
												
													
														|  | -			: aBlock._value()
 |  | 
 | 
											
												
													
														|  | -	;
 |  | 
 | 
											
												
													
														|  | -return self;
 |  | 
 | 
											
												
													
														|  | -//>>excludeStart("ctx", pragmas.excludeDebugContexts);
 |  | 
 | 
											
												
													
														|  | -}, function($ctx1) {$ctx1.fill(self,"at:ifAbsent:",{anIndex:anIndex,aBlock:aBlock},$globals.Array)});
 |  | 
 | 
											
												
													
														|  | -//>>excludeEnd("ctx");
 |  | 
 | 
											
												
													
														|  | -},
 |  | 
 | 
											
												
													
														|  | -//>>excludeStart("ide", pragmas.excludeIdeData);
 |  | 
 | 
											
												
													
														|  | -args: ["anIndex", "aBlock"],
 |  | 
 | 
											
												
													
														|  | -source: "at: anIndex ifAbsent: aBlock\x0a\x09<inlineJS: '\x0a\x09\x09return anIndex >= 1 && anIndex <= self.length\x0a\x09\x09\x09? self[anIndex - 1]\x0a\x09\x09\x09: aBlock._value()\x0a\x09'>",
 |  | 
 | 
											
												
													
														|  | -referencedClasses: [],
 |  | 
 | 
											
												
													
														|  | -//>>excludeEnd("ide");
 |  | 
 | 
											
												
													
														|  | -messageSends: []
 |  | 
 | 
											
												
													
														|  | -}),
 |  | 
 | 
											
												
													
														|  | -$globals.Array);
 |  | 
 | 
											
												
													
														|  | -
 |  | 
 | 
											
												
													
														|  | -$core.addMethod(
 |  | 
 | 
											
												
													
														|  | -$core.method({
 |  | 
 | 
											
												
													
														|  | -selector: "at:ifPresent:ifAbsent:",
 |  | 
 | 
											
												
													
														|  | -protocol: "accessing",
 |  | 
 | 
											
												
													
														|  | -fn: function (anIndex,aBlock,anotherBlock){
 |  | 
 | 
											
												
													
														|  | -var self=this,$self=this;
 |  | 
 | 
											
												
													
														|  | -//>>excludeStart("ctx", pragmas.excludeDebugContexts);
 |  | 
 | 
											
												
													
														|  | -return $core.withContext(function($ctx1) {
 |  | 
 | 
											
												
													
														|  | -//>>excludeEnd("ctx");
 |  | 
 | 
											
												
													
														|  | -
 |  | 
 | 
											
												
													
														|  | -		return anIndex >= 1 && anIndex <= self.length
 |  | 
 | 
											
												
													
														|  | -			? aBlock._value_(self[anIndex - 1])
 |  | 
 | 
											
												
													
														|  | -			: anotherBlock._value()
 |  | 
 | 
											
												
													
														|  | -	;
 |  | 
 | 
											
												
													
														|  | -return self;
 |  | 
 | 
											
												
													
														|  | -//>>excludeStart("ctx", pragmas.excludeDebugContexts);
 |  | 
 | 
											
												
													
														|  | -}, function($ctx1) {$ctx1.fill(self,"at:ifPresent:ifAbsent:",{anIndex:anIndex,aBlock:aBlock,anotherBlock:anotherBlock},$globals.Array)});
 |  | 
 | 
											
												
													
														|  | -//>>excludeEnd("ctx");
 |  | 
 | 
											
												
													
														|  | -},
 |  | 
 | 
											
												
													
														|  | -//>>excludeStart("ide", pragmas.excludeIdeData);
 |  | 
 | 
											
												
													
														|  | -args: ["anIndex", "aBlock", "anotherBlock"],
 |  | 
 | 
											
												
													
														|  | -source: "at: anIndex ifPresent: aBlock ifAbsent: anotherBlock\x0a\x09<inlineJS: '\x0a\x09\x09return anIndex >= 1 && anIndex <= self.length\x0a\x09\x09\x09? aBlock._value_(self[anIndex - 1])\x0a\x09\x09\x09: anotherBlock._value()\x0a\x09'>",
 |  | 
 | 
											
												
													
														|  | -referencedClasses: [],
 |  | 
 | 
											
												
													
														|  | -//>>excludeEnd("ide");
 |  | 
 | 
											
												
													
														|  | -messageSends: []
 |  | 
 | 
											
												
													
														|  | -}),
 |  | 
 | 
											
												
													
														|  | -$globals.Array);
 |  | 
 | 
											
												
													
														|  | -
 |  | 
 | 
											
												
													
														|  |  $core.addMethod(
 |  |  $core.addMethod(
 | 
											
												
													
														|  |  $core.method({
 |  |  $core.method({
 | 
											
												
													
														|  |  selector: "at:put:",
 |  |  selector: "at:put:",
 | 
											
										
											
												
													
														|  | @@ -4876,30 +4820,6 @@ messageSends: []
 | 
											
												
													
														|  |  }),
 |  |  }),
 | 
											
												
													
														|  |  $globals.Array);
 |  |  $globals.Array);
 | 
											
												
													
														|  |  
 |  |  
 | 
											
												
													
														|  | -$core.addMethod(
 |  | 
 | 
											
												
													
														|  | -$core.method({
 |  | 
 | 
											
												
													
														|  | -selector: "size",
 |  | 
 | 
											
												
													
														|  | -protocol: "accessing",
 |  | 
 | 
											
												
													
														|  | -fn: function (){
 |  | 
 | 
											
												
													
														|  | -var self=this,$self=this;
 |  | 
 | 
											
												
													
														|  | -//>>excludeStart("ctx", pragmas.excludeDebugContexts);
 |  | 
 | 
											
												
													
														|  | -return $core.withContext(function($ctx1) {
 |  | 
 | 
											
												
													
														|  | -//>>excludeEnd("ctx");
 |  | 
 | 
											
												
													
														|  | -return self.length;
 |  | 
 | 
											
												
													
														|  | -return self;
 |  | 
 | 
											
												
													
														|  | -//>>excludeStart("ctx", pragmas.excludeDebugContexts);
 |  | 
 | 
											
												
													
														|  | -}, function($ctx1) {$ctx1.fill(self,"size",{},$globals.Array)});
 |  | 
 | 
											
												
													
														|  | -//>>excludeEnd("ctx");
 |  | 
 | 
											
												
													
														|  | -},
 |  | 
 | 
											
												
													
														|  | -//>>excludeStart("ide", pragmas.excludeIdeData);
 |  | 
 | 
											
												
													
														|  | -args: [],
 |  | 
 | 
											
												
													
														|  | -source: "size\x0a\x09<inlineJS: 'return self.length'>",
 |  | 
 | 
											
												
													
														|  | -referencedClasses: [],
 |  | 
 | 
											
												
													
														|  | -//>>excludeEnd("ide");
 |  | 
 | 
											
												
													
														|  | -messageSends: []
 |  | 
 | 
											
												
													
														|  | -}),
 |  | 
 | 
											
												
													
														|  | -$globals.Array);
 |  | 
 | 
											
												
													
														|  | -
 |  | 
 | 
											
												
													
														|  |  $core.addMethod(
 |  |  $core.addMethod(
 | 
											
												
													
														|  |  $core.method({
 |  |  $core.method({
 | 
											
												
													
														|  |  selector: "sort",
 |  |  selector: "sort",
 | 
											
										
											
												
													
														|  | @@ -6607,30 +6527,6 @@ messageSends: []
 | 
											
												
													
														|  |  }),
 |  |  }),
 | 
											
												
													
														|  |  $globals.String);
 |  |  $globals.String);
 | 
											
												
													
														|  |  
 |  |  
 | 
											
												
													
														|  | -$core.addMethod(
 |  | 
 | 
											
												
													
														|  | -$core.method({
 |  | 
 | 
											
												
													
														|  | -selector: "size",
 |  | 
 | 
											
												
													
														|  | -protocol: "accessing",
 |  | 
 | 
											
												
													
														|  | -fn: function (){
 |  | 
 | 
											
												
													
														|  | -var self=this,$self=this;
 |  | 
 | 
											
												
													
														|  | -//>>excludeStart("ctx", pragmas.excludeDebugContexts);
 |  | 
 | 
											
												
													
														|  | -return $core.withContext(function($ctx1) {
 |  | 
 | 
											
												
													
														|  | -//>>excludeEnd("ctx");
 |  | 
 | 
											
												
													
														|  | -return self.length;
 |  | 
 | 
											
												
													
														|  | -return self;
 |  | 
 | 
											
												
													
														|  | -//>>excludeStart("ctx", pragmas.excludeDebugContexts);
 |  | 
 | 
											
												
													
														|  | -}, function($ctx1) {$ctx1.fill(self,"size",{},$globals.String)});
 |  | 
 | 
											
												
													
														|  | -//>>excludeEnd("ctx");
 |  | 
 | 
											
												
													
														|  | -},
 |  | 
 | 
											
												
													
														|  | -//>>excludeStart("ide", pragmas.excludeIdeData);
 |  | 
 | 
											
												
													
														|  | -args: [],
 |  | 
 | 
											
												
													
														|  | -source: "size\x0a\x09<inlineJS: 'return self.length'>",
 |  | 
 | 
											
												
													
														|  | -referencedClasses: [],
 |  | 
 | 
											
												
													
														|  | -//>>excludeEnd("ide");
 |  | 
 | 
											
												
													
														|  | -messageSends: []
 |  | 
 | 
											
												
													
														|  | -}),
 |  | 
 | 
											
												
													
														|  | -$globals.String);
 |  | 
 | 
											
												
													
														|  | -
 |  | 
 | 
											
												
													
														|  |  $core.addMethod(
 |  |  $core.addMethod(
 | 
											
												
													
														|  |  $core.method({
 |  |  $core.method({
 | 
											
												
													
														|  |  selector: "subStrings:",
 |  |  selector: "subStrings:",
 | 
											
										
											
												
													
														|  | @@ -9908,6 +9804,62 @@ $globals.TKeyValueCollection);
 | 
											
												
													
														|  |  
 |  |  
 | 
											
												
													
														|  |  
 |  |  
 | 
											
												
													
														|  |  $core.addTrait("TNativeZeroBasedCollection", "Kernel-Collections");
 |  |  $core.addTrait("TNativeZeroBasedCollection", "Kernel-Collections");
 | 
											
												
													
														|  | 
 |  | +$core.addMethod(
 | 
											
												
													
														|  | 
 |  | +$core.method({
 | 
											
												
													
														|  | 
 |  | +selector: "at:ifAbsent:",
 | 
											
												
													
														|  | 
 |  | +protocol: "accessing",
 | 
											
												
													
														|  | 
 |  | +fn: function (anIndex,aBlock){
 | 
											
												
													
														|  | 
 |  | +var self=this,$self=this;
 | 
											
												
													
														|  | 
 |  | +//>>excludeStart("ctx", pragmas.excludeDebugContexts);
 | 
											
												
													
														|  | 
 |  | +return $core.withContext(function($ctx1) {
 | 
											
												
													
														|  | 
 |  | +//>>excludeEnd("ctx");
 | 
											
												
													
														|  | 
 |  | +
 | 
											
												
													
														|  | 
 |  | +		return anIndex >= 1 && anIndex <= self.length
 | 
											
												
													
														|  | 
 |  | +			? self[anIndex - 1]
 | 
											
												
													
														|  | 
 |  | +			: aBlock._value()
 | 
											
												
													
														|  | 
 |  | +	;
 | 
											
												
													
														|  | 
 |  | +return self;
 | 
											
												
													
														|  | 
 |  | +//>>excludeStart("ctx", pragmas.excludeDebugContexts);
 | 
											
												
													
														|  | 
 |  | +}, function($ctx1) {$ctx1.fill(self,"at:ifAbsent:",{anIndex:anIndex,aBlock:aBlock},$globals.TNativeZeroBasedCollection)});
 | 
											
												
													
														|  | 
 |  | +//>>excludeEnd("ctx");
 | 
											
												
													
														|  | 
 |  | +},
 | 
											
												
													
														|  | 
 |  | +//>>excludeStart("ide", pragmas.excludeIdeData);
 | 
											
												
													
														|  | 
 |  | +args: ["anIndex", "aBlock"],
 | 
											
												
													
														|  | 
 |  | +source: "at: anIndex ifAbsent: aBlock\x0a\x09<inlineJS: '\x0a\x09\x09return anIndex >= 1 && anIndex <= self.length\x0a\x09\x09\x09? self[anIndex - 1]\x0a\x09\x09\x09: aBlock._value()\x0a\x09'>",
 | 
											
												
													
														|  | 
 |  | +referencedClasses: [],
 | 
											
												
													
														|  | 
 |  | +//>>excludeEnd("ide");
 | 
											
												
													
														|  | 
 |  | +messageSends: []
 | 
											
												
													
														|  | 
 |  | +}),
 | 
											
												
													
														|  | 
 |  | +$globals.TNativeZeroBasedCollection);
 | 
											
												
													
														|  | 
 |  | +
 | 
											
												
													
														|  | 
 |  | +$core.addMethod(
 | 
											
												
													
														|  | 
 |  | +$core.method({
 | 
											
												
													
														|  | 
 |  | +selector: "at:ifPresent:ifAbsent:",
 | 
											
												
													
														|  | 
 |  | +protocol: "accessing",
 | 
											
												
													
														|  | 
 |  | +fn: function (anIndex,aBlock,anotherBlock){
 | 
											
												
													
														|  | 
 |  | +var self=this,$self=this;
 | 
											
												
													
														|  | 
 |  | +//>>excludeStart("ctx", pragmas.excludeDebugContexts);
 | 
											
												
													
														|  | 
 |  | +return $core.withContext(function($ctx1) {
 | 
											
												
													
														|  | 
 |  | +//>>excludeEnd("ctx");
 | 
											
												
													
														|  | 
 |  | +
 | 
											
												
													
														|  | 
 |  | +		return anIndex >= 1 && anIndex <= self.length
 | 
											
												
													
														|  | 
 |  | +			? aBlock._value_(self[anIndex - 1])
 | 
											
												
													
														|  | 
 |  | +			: anotherBlock._value()
 | 
											
												
													
														|  | 
 |  | +	;
 | 
											
												
													
														|  | 
 |  | +return self;
 | 
											
												
													
														|  | 
 |  | +//>>excludeStart("ctx", pragmas.excludeDebugContexts);
 | 
											
												
													
														|  | 
 |  | +}, function($ctx1) {$ctx1.fill(self,"at:ifPresent:ifAbsent:",{anIndex:anIndex,aBlock:aBlock,anotherBlock:anotherBlock},$globals.TNativeZeroBasedCollection)});
 | 
											
												
													
														|  | 
 |  | +//>>excludeEnd("ctx");
 | 
											
												
													
														|  | 
 |  | +},
 | 
											
												
													
														|  | 
 |  | +//>>excludeStart("ide", pragmas.excludeIdeData);
 | 
											
												
													
														|  | 
 |  | +args: ["anIndex", "aBlock", "anotherBlock"],
 | 
											
												
													
														|  | 
 |  | +source: "at: anIndex ifPresent: aBlock ifAbsent: anotherBlock\x0a\x09<inlineJS: '\x0a\x09\x09return anIndex >= 1 && anIndex <= self.length\x0a\x09\x09\x09? aBlock._value_(self[anIndex - 1])\x0a\x09\x09\x09: anotherBlock._value()\x0a\x09'>",
 | 
											
												
													
														|  | 
 |  | +referencedClasses: [],
 | 
											
												
													
														|  | 
 |  | +//>>excludeEnd("ide");
 | 
											
												
													
														|  | 
 |  | +messageSends: []
 | 
											
												
													
														|  | 
 |  | +}),
 | 
											
												
													
														|  | 
 |  | +$globals.TNativeZeroBasedCollection);
 | 
											
												
													
														|  | 
 |  | +
 | 
											
												
													
														|  |  $core.addMethod(
 |  |  $core.addMethod(
 | 
											
												
													
														|  |  $core.method({
 |  |  $core.method({
 | 
											
												
													
														|  |  selector: "detect:ifNone:",
 |  |  selector: "detect:ifNone:",
 | 
											
										
											
												
													
														|  | @@ -10050,6 +10002,30 @@ messageSends: []
 | 
											
												
													
														|  |  }),
 |  |  }),
 | 
											
												
													
														|  |  $globals.TNativeZeroBasedCollection);
 |  |  $globals.TNativeZeroBasedCollection);
 | 
											
												
													
														|  |  
 |  |  
 | 
											
												
													
														|  | 
 |  | +$core.addMethod(
 | 
											
												
													
														|  | 
 |  | +$core.method({
 | 
											
												
													
														|  | 
 |  | +selector: "size",
 | 
											
												
													
														|  | 
 |  | +protocol: "accessing",
 | 
											
												
													
														|  | 
 |  | +fn: function (){
 | 
											
												
													
														|  | 
 |  | +var self=this,$self=this;
 | 
											
												
													
														|  | 
 |  | +//>>excludeStart("ctx", pragmas.excludeDebugContexts);
 | 
											
												
													
														|  | 
 |  | +return $core.withContext(function($ctx1) {
 | 
											
												
													
														|  | 
 |  | +//>>excludeEnd("ctx");
 | 
											
												
													
														|  | 
 |  | +return self.length;
 | 
											
												
													
														|  | 
 |  | +return self;
 | 
											
												
													
														|  | 
 |  | +//>>excludeStart("ctx", pragmas.excludeDebugContexts);
 | 
											
												
													
														|  | 
 |  | +}, function($ctx1) {$ctx1.fill(self,"size",{},$globals.TNativeZeroBasedCollection)});
 | 
											
												
													
														|  | 
 |  | +//>>excludeEnd("ctx");
 | 
											
												
													
														|  | 
 |  | +},
 | 
											
												
													
														|  | 
 |  | +//>>excludeStart("ide", pragmas.excludeIdeData);
 | 
											
												
													
														|  | 
 |  | +args: [],
 | 
											
												
													
														|  | 
 |  | +source: "size\x0a\x09<inlineJS: 'return self.length'>",
 | 
											
												
													
														|  | 
 |  | +referencedClasses: [],
 | 
											
												
													
														|  | 
 |  | +//>>excludeEnd("ide");
 | 
											
												
													
														|  | 
 |  | +messageSends: []
 | 
											
												
													
														|  | 
 |  | +}),
 | 
											
												
													
														|  | 
 |  | +$globals.TNativeZeroBasedCollection);
 | 
											
												
													
														|  | 
 |  | +
 | 
											
												
													
														|  |  $core.addMethod(
 |  |  $core.addMethod(
 | 
											
												
													
														|  |  $core.method({
 |  |  $core.method({
 | 
											
												
													
														|  |  selector: "with:do:",
 |  |  selector: "with:do:",
 |