function Hashtable(){this.clear=hashtable_clear;this.containsKey=hashtable_containsKey;this.containsValue=hashtable_containsValue;this.get=hashtable_get;this.isEmpty=hashtable_isEmpty;this.keys=hashtable_keys;this.put=hashtable_put;this.remove=hashtable_remove;this.size=hashtable_size;this.toString=hashtable_toString;this.values=hashtable_values;this.hashtable=new Array()}function hashtable_clear(){this.hashtable=new Array()}function hashtable_containsKey(B){var C=false;for(var A in this.hashtable){if(A==B&&this.hashtable[A]!=null){C=true;break}}return C}function hashtable_containsValue(C){var B=false;if(C!=null){for(var A in this.hashtable){if(this.hashtable[A]==C){B=true;break}}}return B}function hashtable_get(A){return this.hashtable[A]}function hashtable_isEmpty(){return(this.size==0)?true:false}function hashtable_keys(){var B=new Array();for(var A in this.hashtable){if(this.hashtable[A]!=null){B.push(A)}}return B}function hashtable_put(A,B){if(A==null||B==null){throw"NullPointerException {"+A+"},{"+B+"}"}else{this.hashtable[A]=B}}function hashtable_remove(A){var B=this.hashtable[A];this.hashtable[A]=null;return B}function hashtable_size(){var B=0;for(var A in this.hashtable){if(this.hashtable[A]!=null){B++}}return B}function hashtable_toString(){var A="";for(var B in this.hashtable){if(this.hashtable[B]!=null){A+="{"+B+"},{"+this.hashtable[B]+"}\n"}}return A}function hashtable_values(){var A=new Array();for(var B in this.hashtable){if(this.hashtable[B]!=null){A.push(this.hashtable[B])}}return A};