var json_parse=function(){"use strict";var t;var e;var o;var n;var c;var u={"\\":"\\",'"':'"',"/":"/",t:"\t",n:"\n",r:"\r",f:"\f",b:"\b"};var i={go:function(){t="ok"},firstokey:function(){n=c;t="colon"},okey:function(){n=c;t="colon"},ovalue:function(){t="ocomma"},firstavalue:function(){t="acomma"},avalue:function(){t="acomma"}};var f={go:function(){t="ok"},ovalue:function(){t="ocomma"},firstavalue:function(){t="acomma"},avalue:function(){t="acomma"}};var l={"{":{go:function(){e.push({state:"ok"});o={};t="firstokey"},ovalue:function(){e.push({container:o,state:"ocomma",key:n});o={};t="firstokey"},firstavalue:function(){e.push({container:o,state:"acomma"});o={};t="firstokey"},avalue:function(){e.push({container:o,state:"acomma"});o={};t="firstokey"}},"}":{firstokey:function(){var a=e.pop();c=o;o=a.container;n=a.key;t=a.state},ocomma:function(){var a=e.pop();o[n]=c;c=o;o=a.container;n=a.key;t=a.state}},"[":{go:function(){e.push({state:"ok"});o=[];t="firstavalue"},ovalue:function(){e.push({container:o,state:"ocomma",key:n});o=[];t="firstavalue"},firstavalue:function(){e.push({container:o,state:"acomma"});o=[];t="firstavalue"},avalue:function(){e.push({container:o,state:"acomma"});o=[];t="firstavalue"}},"]":{firstavalue:function(){var a=e.pop();c=o;o=a.container;n=a.key;t=a.state},acomma:function(){var a=e.pop();o.push(c);c=o;o=a.container;n=a.key;t=a.state}},":":{colon:function(){if(Object.hasOwnProperty.call(o,n)){throw new SyntaxError("Duplicate key '"+n+'"')}t="ovalue"}},",":{ocomma:function(){o[n]=c;t="okey"},acomma:function(){o.push(c);t="avalue"}},true:{go:function(){c=true;t="ok"},ovalue:function(){c=true;t="ocomma"},firstavalue:function(){c=true;t="acomma"},avalue:function(){c=true;t="acomma"}},false:{go:function(){c=false;t="ok"},ovalue:function(){c=false;t="ocomma"},firstavalue:function(){c=false;t="acomma"},avalue:function(){c=false;t="acomma"}},null:{go:function(){c=null;t="ok"},ovalue:function(){c=null;t="ocomma"},firstavalue:function(){c=null;t="acomma"},avalue:function(){c=null;t="acomma"}}};function s(a){return a.replace(/\\(?:u(.{4})|([^u]))/g,function(a,o,n){return o?String.fromCharCode(parseInt(o,16)):u[n]})}return function(a,r){var o;var n=/^[\u0020\t\n\r]*(?:([,:\[\]{}]|true|false|null)|(-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?)|"((?:[^\r\n\t\\\"]|\\(?:["\\\/trnfb]|u[0-9a-fA-F]{4}))*)")/;t="go";e=[];try{while(true){o=n.exec(a);if(!o){break}if(o[1]){l[o[1]][t]()}else if(o[2]){c=+o[2];f[t]()}else{c=s(o[3]);i[t]()}a=a.slice(o[0].length)}}catch(a){t=a}if(t!=="ok"||/[^\u0020\t\n\r]/.test(a)){throw t instanceof SyntaxError?t:new SyntaxError("JSON")}return typeof r==="function"?function a(o,n){var t;var e;var u=o[n];if(u&&typeof u==="object"){for(t in c){if(Object.prototype.hasOwnProperty.call(u,t)){e=a(u,t);if(e!==undefined){u[t]=e}else{delete u[t]}}}}return r.call(o,n,u)}({"":c},""):c}}();