// Original available at http://www.crockford.com/JSON/json.js
var JSON={copyright:'(c)2005 JSON.org',license:'http://www.crockford.com/JSON/license.html',
stringify:function(v){var a=[];function e(s){a[a.length]=s;}function g(x){var b,c,i,l,v;switch(typeof x){case'string':e('"');if(/["\\\x00-\x1f]/.test(x)){l=x.length;for(i=0;i<l;i+=1){c=x.charAt(i);if(c>=' '){if(c=='\\'||c=='"'){e('\\');}e(c);}else{switch(c){case'\b':e('\\b');break;case'\f':e('\\f');break;case'\n':e('\\n');break;case'\r':e('\\r');break;case'\t':e('\\t');break;default:c=c.charCodeAt();e('\\u00'+Math.floor(c/16).toString(16)+(c%16).toString(16));}}}}else{e(x);}e('"');return;case'number':e(isFinite(x)?x:'null');return;case'object':if(x){if(x instanceof Array){e('[');l=a.length;for(i=0;i<x.length;i+=1){v=x[i];if (typeof v!='undefined'&&typeof v!='function'){if(b){e(',');}g(v);b=true;}}e(']');return;}else if(typeof x.valueOf=='function'){e('{');l=a.length;for(i in x){v=x[i];if(typeof v!='undefined'&&typeof v!='function'&&(!v|| typeof v!='object'||typeof v.valueOf=='function')){if(b){e(',');}g(i);e(':');g(v);b=true;}}return e('}');}}e('null');return;case'boolean':e(x);return;default:e('null');return;}}g(v);return a.join('');},
parse:function(text){try {return !(/[^,:{}\[\]0-9.\-+Eaeflnr-u \n\r\t]/.test(text.replace(/"(\\.|[^"\\])*"/g,'')))&&eval('('+text+')');}catch(e){return false;}}};