function removeValor(_1,_2){
for(var i=0;i<_1.length;i++){
if(_1[i]==_2){
_1=remove(_1,i);
break;
}
}
return _1;
}
function remove(_4,_5){
var _6=new Array();
var _7=new Array();
_6=_4.slice(0,_5);
_7=_4.slice(++_5);
return _6.concat(_7);
}
function isUndefined(_8){
return (typeof _8=="undefined");
}
if(isUndefined(Array.prototype.concat)){
Array.prototype.concat=function(_9){
var _a=this.copy();
for(var i=0;i<_9.length;i++){
_a[_a.length]=_9[i];
}
return _a;
};
}
if(isUndefined(Array.prototype.copy)){
Array.prototype.copy=function(){
var _c=new Array();
for(var i=0;i<this.length;i++){
if(this[i]==null){
_c[i]=null;
}else{
if(typeof this[i]=="object"){
if(typeof this[i].length!="undefined"){
_c[i]=this[i].copy();
}else{
_c[i]=new cloneObject(this[i]);
}
}else{
_c[i]=this[i];
}
}
}
return _c;
};
}
if(isUndefined(Array.prototype.pop)){
Array.prototype.pop=function(){
var _e=null;
if(this.length>0){
_e=this[this.length-1];
this.length--;
}
return _e;
};
}
if(isUndefined(Array.prototype.push)){
Array.prototype.push=function(){
var _f=this.length;
for(var i=0;i<arguments.length;i++){
this[_f+i]=arguments[i];
}
return this.length;
};
}
if(isUndefined(Array.prototype.addAll)){
Array.prototype.addAll=function(){
var _11=this.length;
var _12=arguments[0];
for(var i=0;i<_12.length;i++){
this[_11+i]=_12[i];
}
return this.length;
};
}
if(isUndefined(Array.prototype.shift)){
Array.prototype.shift=function(){
var _14=this[0];
for(var i=0;i<this.length-1;i++){
this[i]=this[i+1];
}
this.length--;
return _14;
};
}
if(isUndefined(Array.prototype.slice)){
Array.prototype.slice=function(_16,end){
var _18;
if(end==null||end==""){
end=this.length;
}else{
if(end<0){
end=this.length+end;
}
}
if(_16<0){
_16=this.length+_16;
}
if(end<_16){
_18=end;
end=_16;
_16=_18;
}
var _19=new Array();
for(var i=0;i<end-_16;i++){
_19[i]=this[_16+i];
}
return _19;
};
}
if(isUndefined(Array.prototype.splice)){
Array.prototype.splice=function(_1b,_1c){
if(_1c==null||_1c==""){
_1c=this.length-_1b;
}
var _1d=this.copy();
for(var i=_1b;i<_1b+arguments.length-2;i++){
this[i]=arguments[i-_1b+2];
}
for(var i=_1b+arguments.length-2;i<this.length-_1c+arguments.length-2;i++){
this[i]=_1d[i-(arguments.length-2)+_1c];
}
this.length=this.length-_1c+(arguments.length-2);
return _1d.slice(_1b,_1b+_1c);
};
}
if(isUndefined(Array.prototype.unshift)){
Array.prototype.unshift=function(_1f){
for(loop=this.length-1;loop>=0;loop--){
this[loop+1]=this[loop];
}
this[0]=_1f;
return this.length;
};
}
if(isUndefined(Array.prototype.compare)){
Array.prototype.compare=function(_20){
if(this.length!=_20.length){
return false;
}
for(var i=0;i<this.length;i++){
if(this[i]!=_20[i]){
return false;
}
}
return true;
};
}
if(isUndefined(Array.prototype.equals)){
Array.prototype.equals=function(_22){
if(this.length!=_22.length){
return false;
}
for(var i=0;i<this.length;i++){
if(!this[i].equals(_22[i])){
return false;
}
}
return true;
};
}
if(isUndefined(Array.prototype.indexOf)){
Array.prototype.indexOf=function(_24){
if(typeof _24=="object"){
for(var i=0;i<this.length;i++){
if((typeof this[i]=="object")&&!isUndefined(this[i].equals)){
if(this[i].equals(_24)){
return i;
}
}
}
return -1;
}else{
for(var i=0;i<this.length;i++){
if(this[i]==_24){
return i;
}
}
return -1;
}
};
}
if(isUndefined(Array.prototype.indexOfAvatar)){
Array.prototype.indexOfAvatar=function(_26){
if(typeof _26=="object"){
for(var i=0;i<this.length;i++){
if((typeof this[i]=="object")&&!isUndefined(this[i].equals)){
if(this[i].equals(_26)){
return i;
}
}
}
return -1;
}else{
for(var i=0;i<this.length;i++){
if(this[i]==_26){
return i;
}
}
return -1;
}
};
}
if(isUndefined(Array.prototype.lastIndexOf)){
Array.prototype.lastIndexOf=function(_28){
if(typeof _28=="object"){
for(var i=this.length-1;i>=0;i--){
if((typeof this[i]=="object")&&!isUndefined(this[i].equals)){
if(this[i].equals(_28)){
return i;
}
}
}
return -1;
}else{
for(var i=this.length-1;i>=0;i--){
if(this[i]==_28){
return i;
}
}
return -1;
}
};
}
if(isUndefined(Array.prototype.contains)){
Array.prototype.contains=function(_2a){
for(var i=0;i<_2a.length;i++){
if(this.indexOf(_2a[i])==-1){
return false;
}
}
return true;
};
}
if(isUndefined(Array.prototype.sum)){
Array.prototype.sum=function(_2c){
var sum=0;
if(_2c==null||_2c<0||_2c>=this.length){
_2c=0;
}
for(var i=_2c;i<this.length;i++){
sum+=this[i];
}
return sum;
};
}
if(isUndefined(Array.prototype.product)){
Array.prototype.product=function(_2f){
var _30=1;
if(_2f==null||_2f<0||_2f>=this.length){
_2f=0;
}
for(var i=_2f;i<this.length;i++){
_30*=this[i];
}
return _30;
};
}
if(isUndefined(Array.prototype.removeAt)){
Array.prototype.removeAt=function(_32){
if(_32<0||_32>=this.length){
return null;
}
var _33=this[_32];
for(var i=_32;i<this.length-1;i++){
this[i]=this[i+1];
}
this.length--;
return _33;
};
}
if(isUndefined(Array.prototype.remove)){
Array.prototype.remove=function(_35){
var _36=this.indexOf(_35);
if(_36==-1){
return null;
}
return this.removeAt(_36);
};
}
if(isUndefined(Array.prototype.removeAll)){
Array.prototype.removeAll=function(){
this.length=0;
};
}
if(isUndefined(Array.prototype.removeDuplicates)){
Array.prototype.removeDuplicates=function(){
var _37=true;
while(_37){
_37=false;
for(var i=0;i<this.length-1;i++){
if(this[i+1]==this[i]){
this.remove(this[i]);
_37=true;
break;
}
}
}
};
}
function sortNumArray(a,b){
return a-b;
}
function HashMap(_3b,_3c){
this.keys=new Array();
this.values=new Array();
this.put=putHashMap;
this.get=getHashMap;
this.getIndex=getIndexHashMap;
this.remove=removeHashMap;
this.removeAt=removeAtHashMap;
this.clear=clearHashMap;
if(_3b!=null&&_3c!=null&&_3b.length<=_3c.length){
for(var i=0;i<_3b.length;i++){
this.put(_3b[i],_3c[i]);
}
}
}
function putHashMap(key,_3f){
var _40=this.keys.indexOfAvatar(key);
if(_40!=-1){
this.values[_40]=_3f;
}else{
this.keys.push(key);
this.values.push(_3f);
}
}
function getHashMap(key){
var _42=this.keys.indexOfAvatar(key);
if(_42!=-1){
return this.values[_42];
}else{
return null;
}
}
function getIndexHashMap(key){
return this.keys.indexOfAvatar(key);
}
function removeAtHashMap(_44){
if(_44<0||_44>=this.keys.length){
return;
}
this.keys.removeAt(_44);
this.values.removeAt(_44);
}
function removeHashMap(key){
this.removeAt(this.getIndex(key));
}
function clearHashMap(){
this.keys.removeAll();
this.values.removeAll();
}

