if(typeof json!=="object"){json={}}(function(){function f(n){return n<10?"0"+n:n}if(typeof date.prototype.tojson!=="function"){date.prototype.tojson=function(){return isfinite(this.valueof())?this.getutcfullyear()+"-"+f(this.getutcmonth()+1)+"-"+f(this.getutcdate())+"t"+f(this.getutchours())+":"+f(this.getutcminutes())+":"+f(this.getutcseconds())+"z":null};string.prototype.tojson=number.prototype.tojson=boolean.prototype.tojson=function(){return this.valueof()}}var cx,escapable,gap,indent,meta,rep;function quote(string){escapable.lastindex=0;return escapable.test(string)?'"'+string.replace(escapable,function(a){var c=meta[a];return typeof c==="string"?c:"\\u"+("0000"+a.charcodeat(0).tostring(16)).slice(-4)})+'"':'"'+string+'"'}function str(key,holder){var i,k,v,length,mind=gap,partial,value=holder[key];if(value&&typeof value==="object"&&typeof value.tojson==="function"){value=value.tojson(key)}if(typeof rep==="function"){value=rep.call(holder,key,value)}switch(typeof value){case"string":return quote(value);case"number":return isfinite(value)?string(value):"null";case"boolean":case"null":return string(value);case"object":if(!value){return"null"}gap+=indent;partial=[];if(object.prototype.tostring.apply(value)==="[object array]"){length=value.length;for(i=0;i