if(!this.JSON){
JSON=function(){
function f(n){
return n<10?"0"+n:n;
}
Date.prototype.toJSON=function(){
return this.getUTCFullYear()+"-"+f(this.getUTCMonth()+1)+"-"+f(this.getUTCDate())+"T"+f(this.getUTCHours())+":"+f(this.getUTCMinutes())+":"+f(this.getUTCSeconds())+"Z";
};
var m={"\b":"\\b","\t":"\\t","\n":"\\n","\f":"\\f","\r":"\\r","\"":"\\\"","\\":"\\\\"};
function stringify(_3,_4){
var a,i,k,l,r=/["\\\x00-\x1f\x7f-\x9f]/g,v;
switch(typeof _3){
case "string":
return r.test(_3)?"\""+_3.replace(r,function(a){
var c=m[a];
if(c){
return c;
}
c=a.charCodeAt();
return "\\u00"+Math.floor(c/16).toString(16)+(c%16).toString(16);
})+"\"":"\""+_3+"\"";
case "number":
return isFinite(_3)?String(_3):"null";
case "boolean":
case "null":
return String(_3);
case "object":
if(!_3){
return "null";
}
if(typeof _3.toJSON==="function"){
return stringify(_3.toJSON());
}
a=[];
if(typeof _3.length==="number"&&!(_3.propertyIsEnumerable("length"))){
l=_3.length;
for(i=0;i<l;i+=1){
a.push(stringify(_3[i],_4)||"null");
}
return "["+a.join(",")+"]";
}
if(_4){
l=_4.length;
for(i=0;i<l;i+=1){
k=_4[i];
if(typeof k==="string"){
v=stringify(_3[k],_4);
if(v){
a.push(stringify(k)+":"+v);
}
}
}
}else{
for(k in _3){
if(typeof k==="string"){
v=stringify(_3[k],_4);
if(v){
a.push(stringify(k)+":"+v);
}
}
}
}
return "{"+a.join(",")+"}";
}
}
return {stringify:stringify,parse:function(_d,_e){
var j;
function walk(k,v){
var i,n;
if(v&&typeof v==="object"){
for(i in v){
if(Object.prototype.hasOwnProperty.apply(v,[i])){
n=walk(i,v[i]);
if(n!==undefined){
v[i]=n;
}
}
}
}
return _e(k,v);
}
if(/^[\],:{}\s]*$/.test(_d.replace(/\\./g,"@").replace(/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,"]").replace(/(?:^|:|,)(?:\s*\[)+/g,""))){
j=eval("("+_d+")");
return typeof _e==="function"?walk("",j):j;
}
throw new SyntaxError("parseJSON");
}};
}();
}

