!function(){function _(e,t){return t?require(e):e.slice?_[o(e)]:function(t,n){e(t={exports:{}}),_[o(n)]=t.exports};function o(t){return t.split("/").slice(-1).toString().replace(".js","")}}if("undefined"!=typeof module)var b=module;_(function(t){var n,l,p={};function e(t,n){v(this,n)&&void 0!==this[n]||(this[n]=t)}function o(t,n){var e=this.n;if(!e||!(n===e||g(e)&&v(e,n)))return void 0!==n||void 0}function h(t,n){2!==arguments.length?(h.r=h.r||[]).push(t):(h.r=h.r||{})[t]=n}p.fn={is:function(t){return!!t&&"function"==typeof t}},p.bi={is:function(t){return t instanceof Boolean||"boolean"==typeof t}},p.num={is:function(t){return!d(t)&&(0<=t-parseFloat(t)+1||1/0===t||-1/0===t)}},p.text={is:function(t){return"string"==typeof t}},p.text.ify=function(t){return p.text.is(t)?t:"undefined"!=typeof JSON?JSON.stringify(t):t&&t.toString?t.toString():t},p.text.random=function(t,n){var e="";for(t=t||24,n=n||"0123456789ABCDEFGHIJKLMNOPQRSTUVWXZabcdefghijklmnopqrstuvwxyz";0"]||n["<"])||o===n["="]&&(e=n["*"]||n[">"]||n["<"],t.slice(0,(e||"").length)===e||o===n["*"]&&(o!==n[">"]&&o!==n["<"]?t>=n[">"]&&t<=n["<"]:o!==n[">"]&&t>=n[">"]||o!==n["<"]&&t<=n["<"])))},p.text.hash=function(t,n){if("string"==typeof t){if(n=n||0,!t.length)return n;for(var e=0,o=t.length;e");function f(t,n){k!==n&&u.ify(this.o,n,this.s)}u.drift=0,u.is=function(t,n,e){var o=n&&t&&t[k]&&t[k][s]||e;if(o)return v(o=o[n])?o:-1/0},u.lex=function(){return u().toString(36).replace(".","")},u.ify=function(t,n,e,o,i){if(!t||!t[k]){if(!i)return;t=a.soul.ify(t,i)}var r=l(t[k],s);return void 0!==n&&n!==k&&(v(e)&&(r[n]=e),void 0!==o&&(t[n]=o)),t},u.to=function(t,n,e){var o=(t||{})[n];return h(o)&&(o=g(o)),u.ify(e,n,u.is(t,n),o,a.soul(t))},u.map=function(i,r,a){var t=h(t=i||r)?t:null;return i=m(i=i||r)?i:null,t&&!i?(r=v(r)?r:u(),t[k]=t[k]||{},d(t,f,{o:t,s:r}),t):(a=a||h(r)?r:void 0,r=v(r)?r:u(),function(t,n,e,o){if(!i)return f.call({o:e,s:r},t,n),t;i.call(a||this||{},t,n,e,o),p(e,n)&&void 0===e[n]||f.call({o:e,s:r},t,n)})};var c=n.obj,l=c.as,p=c.has,h=c.is,d=c.map,g=c.copy,v=n.num.is,m=n.fn.is,k=a._;t.exports=u})(_,"./state"),_(function(t){var a=_("./type"),u=_("./val"),s=_("./node"),i={};function r(t,n){if(!t||n!==s.soul(t)||!s.is(t,this.fn,this.as))return!0;this.cb&&(e.n=t,e.as=this.as,this.cb.call(e.as,t,n,e))}function e(t){t&&s.is(e.n,t,e.as)}function f(t,n){var e;return(e=function(t,n){var e,o=t.seen,i=o.length;for(;i--;)if(e=o[i],n.obj===e.obj)return e;o.push(n)}(t,n))?e:(n.env=t,n.soul=c,s.ify(n.obj,o,n)&&(n.link=n.link||u.link.ify(s.soul(n.node)),n.obj!==t.shell&&(t.graph[u.link.is(n.link)]=n.node)),n)}function o(t,n,e){var o,i,r=this,a=r.env;if(s._===n&&g(t,u.link._))return e._;if(o=l(t,n,e,r,a)){if(n||(r.node=r.node||e||{},g(t,s._)&&s.soul(t)&&(r.node._=b(t._)),r.node=s.soul.ify(r.node,u.link.is(r.link)),r.link=r.link||u.link.ify(s.soul(r.node))),(i=a.map)&&(i.call(a.as||{},t,n,e,r),g(e,n))){if(void 0===(t=e[n]))return void d(e,n);if(!(o=l(t,n,e,r,a)))return}if(!n)return r.node;if(!0===o)return t;if((i=f(a,{obj:t,path:r.path.concat(n)})).node)return i.link}}function c(t){var n=this,e=u.link.is(n.link),o=n.env.graph;n.link=n.link||u.link.ify(t),n.link[u.link._]=t,n.node&&n.node[s._]&&(n.node[s._][u.link._]=t),g(o,e)&&(o[t]=o[e],d(o,e))}function l(t,n,e,o,i){var r;return!!u.is(t)||(h(t)?1:(r=i.invalid)?l(t=r.call(i.as||{},t,n,e),n,e,o,i):(i.err="Invalid value at '"+o.path.concat(n).join(".")+"'!",void(a.list.is(t)&&(i.err+=" Use `.set(item)` instead of an Array."))))}function p(t,n){var e,o;if(s._!==n)(e=u.link.is(t))?(o=this.opt.seen[e])?this.obj[n]=o:this.obj[n]=this.opt.seen[e]=i.to(this.graph,e,this.opt):this.obj[n]=t;else{if(v(t,u.link._))return;this.obj[n]=b(t)}}i.is=function(t,n,e,o){return!(!t||!h(t)||v(t))&&!k(t,r,{cb:n,fn:e,as:o})},i.ify=function(t,n,e){var o={path:[],obj:t};return n?"string"==typeof n?n={soul:n}:"function"==typeof n&&(n.map=n):n={},"string"==typeof e&&(n.soul=n.soul||e,e=void 0),n.soul&&(o.link=u.link.ify(n.soul)),n.shell=(e||{}).shell,n.graph=n.graph||{},n.seen=n.seen||[],n.as=n.as||e,f(n,o),n.root=o.node,n.graph},i.node=function(t){var n=s.soul(t);if(n)return m({},n,t)},i.to=function(t,n,e){if(t){var o={};return e=e||{seen:{}},k(t[n],p,{obj:o,graph:t,opt:e}),o}};a.fn.is;var n=a.obj,h=n.is,d=n.del,g=n.has,v=n.empty,m=n.put,k=n.map,b=n.copy;t.exports=i})(_,"./graph"),_(function(t){_("./onto"),t.exports=function(t,n){if(this.on){if("function"!=typeof t){if(!t||!n)return;var e=t["#"]||t,o=(this.tag||"")[e];if(!o)return;return o=this.on(e,n),clearTimeout(o.err),!0}e=n&&n["#"]||Math.random().toString(36).slice(2);if(!t)return e;var i=this.on(e,t,n);return i.err=i.err||setTimeout(function(){i.next({err:"Error: No ACK yet.",lack:!0}),i.off()},(this.opt||{}).lack||9e3),e}}})(_,"./ask"),_(function(t){var u=_("./type");t.exports=function(i){var r={s:{}},a=r.s;i=i||{max:1e3,age:27e3},r.check=function(t){return!!a[t]&&n(t)};var n=r.track=function(t){var n=a[t]||(a[t]={});return n.was=+new Date,r.to||(r.to=setTimeout(r.drop,i.age+9)),n};return r.drop=function(e){var o=+new Date;u.obj.map(a,function(t,n){t&&(e||i.age)>o-t.was||delete a[n]}),r.to=null,console.STAT&&9<(e=new Date-o)&&console.STAT(o,e,"dup drop")},r}})(_,"./dup"),_(function(t){function x(t){return t instanceof x?(this._={$:this}).$:this instanceof x?x.create(this._={$:this,opt:t}):new x(t)}x.is=function(t){return t instanceof x||t&&t._&&t===t._.$||!1},x.version=.202,(x.chain=x.prototype).toJSON=function(){};var n=_("./type");function r(t,n,e,o){var i=this,r=x.state.is(e,n);if(!r)return i.err="Error: No state on '"+n+"' in node '"+o+"'!";var a=i.graph[o]||G,u=x.state.is(a,n,!0),s=a[n],f=x.HAM(i.machine,r,u,t,s);f.incoming?(i.put[o]=x.state.to(e,n,i.put[o]),(i.diff||(i.diff={}))[o]=x.state.to(e,n,i.diff[o]),i.souls[o]=!0):f.defer&&(i.defer=r<(i.defer||1/0)?r:i.defer)}function a(t,n){var e=this,o=e.$._,i=(o.next||G)[n];if(!i){if(!(o.opt||G).super)return void(e.souls[n]=!1);i=e.$.get(n)._}var r=e.map[n]={put:t,get:n,$:i.$},a={ctx:e,msg:r};e.async=!!o.tag.node,e.ack&&(r["@"]=e.ack),m(t,u,a),e.async&&(e.and||o.on("node",function(t){this.to.next(t),t===e.map[t.get]&&(e.souls[t.get]=!1,m(t.put,s,t),m(e.souls,function(t){if(t)return t})||e.c||(e.c=1,this.off(),m(e.map,f,e)))}),e.and=!0,o.on("node",r))}function u(t,n){var e=this.ctx,o=e.graph,i=this.msg,r=i.get,a=i.put,u=i.$._;o[r]=x.state.to(a,n,o[r]),e.async||(u.put=x.state.to(a,n,u.put))}function s(t,n){var e=this.put,o=this.$._;o.put=x.state.to(e,n,o.put)}function f(t,n){t.$&&(this.cat.stop=this.stop,t.$._.on("in",t),this.cat.stop=null)}function c(t,n){if(t!==this.graph[n])return!0}n.obj.to(n,x),x.HAM=_("./HAM"),x.val=_("./val"),x.node=_("./node"),x.state=_("./state"),x.graph=_("./graph"),x.on=_("./onto"),x.ask=_("./ask"),x.dup=_("./dup"),x.puff=_("./puff"),function(){function f(t){if(t)if(t.out!==f){var n,e=this.as,o=e.at||e,i=o.$,r=o.dup,a=t.DBG;(n=t["#"])||(n=t["#"]=p(9)),r.check(n)||(r.track(n),n=t._,t._="function"==typeof n?n:function(){},t.$&&t.$===(t.$._||"").$||(t.$=i),o.ask(t["@"],t)||(a&&(a.u=+new Date),t.get&&x.on._get(t,i),!t.put)?(a&&(a.uc=+new Date),this.to.next(t),a&&(a.ua=+new Date),t.out=f,o.on("out",t),a&&(a.ue=+new Date)):u(t))}else this.to.next(t)}function u(t){if(t){var n,e,o=t._||"",i=o.root=((t.$||"")._||"").root,r=t.put,a=t["#"],u=o.DBG=t.DBG;if(r["#"]&&r["."])i.on("put",t);else{o.out=t,o.lot={s:0,more:1};var s=+new Date;for(var f in u&&(u.p=s),r){var c,l=r[f];if(!l){n=m+k(f)+"no node.";break}if(!(e=l._)){n=m+k(f)+"no meta.";break}if(f!==e[T]){n=m+k(f)+"soul not same.";break}if(!(c=e[A])){n=m+k(f)+"no state.";break}for(var p in l)if(S!==p){var h=l[p],d=c[p];if(w===d){n=m+k(p)+"on"+k(f)+"no state.";break}if(!D(h)){n=m+k(p)+"on"+k(f)+"bad "+typeof h+k(h);break}g(h,p,f,d,t)}if(n)break}u&&(u.pe=+new Date),console.STAT&&(console.STAT(s,new Date-s,"mix"),console.STAT(s,o.lot.s,"mix #")),(o.err=n)?i.on("in",{"@":a,err:x.log(n)}):(--o.lot.more||v(o),o.stun||t["@"]||i.on("in",{"@":a,ok:-1}))}}}function g(t,n,e,o,i){var r,a=i._||"",u=a.root,s=u.graph[e]||G,f=j(s,n,1),c=s[n],l=_(),p=b(l,o,f,t,c);if(p.incoming){(r=a.lot||"").s++,r.more++,(a.stun||(a.stun={}))[e+n]=1;var h=a.DBG;h&&(h.ph=h.ph||+new Date),u.on("put",{"#":i["#"],"@":i["@"],put:{"#":e,".":n,":":t,">":o},_:a})}else if(p.defer){var d=o-l;return setTimeout(function(){g(t,n,e,o,i)},y"];t["#"];o[a]=$(o[a],u,f,s,a),function(t,n,e,o,i){var r,a,u=t.root;if((u.opt||"").super&&u.$.get(n),!(u&&(a=u.next)&&(a=a[n])&&a.$))return;(r=t.put||(t.put={}))[n]=$(r[n],e,i,o,n),a.put=$(a.put,e,i,o,n)}(i,a,u,w!==(e=r["="])?e:s,f),(e=i.out)&&(e=e.put)&&(e[a]=$(e[a],u,f,s,a)),--i.lot.more||v(i),this.to.next(t)}function v(t){if(!t.err){var n,e={},o=t.root,i=o.next||"",r=t.put,a=+new Date;for(var u in r){var s=r[u];(n=i[u])&&n.$&&(o.stop=e,n.on("in",{$:n.$,get:u,put:s}),o.stop=null)}console.STAT&&console.STAT(a,new Date-a,"fire"),t.DBG&&(t.DBG.f=+new Date),(n=t.out)&&(n.out=f,o.on("out",n))}}x.create=function(t){t.root=t.root||t,t.graph=t.graph||{},t.on=t.on||x.on,t.ask=t.ask||x.ask,t.dup=t.dup||x.dup();var n=t.$.opt(t.opt);return t.once||(t.on("in",f,t),t.on("out",f,t),t.on("put",e,t),x.on("create",t),t.on("create",t)),t.once=1,n},x.on.put=u;var m="Error: Invalid graph!",k=function(t){return" '"+(""+t).slice(0,9)+"...' "},b=x.HAM,y=2147483647,_=x.state}(),x.on._put=function(t,n){var e=n._,o={$:n,graph:e.graph,put:{},map:{},souls:{},machine:x.state(),ack:t["@"],cat:e,stop:{}};if(x.obj.map(t.put,c,o)){if(x.graph.is(t.put,null,r,o)||(o.err="Error: Invalid graph!"),o.err)return e.on("in",{"@":t["#"],err:x.log(o.err)});if(m(o.put,a,o),o.async||m(o.map,f,o),w!==o.defer){var i=o.defer-o.machine;setTimeout(function(){x.on._put(t,n)},i>MD?MD:i)}o.diff&&e.on("put",v(t,{put:o.diff}))}},x.on._get=function(t,n){var e=n._,o=t.get,i=o[T],r=e.graph[i],a=o[k],u=(e.next||(e.next={}))[i],s=(t._||"").DBG=t.DBG;if(s&&(s.g=+new Date),!r)return e.on("get",t);if(a){if("string"!=typeof a||!g(r,a))return e.on("get",t);r=x.state.to(r,a)}else r=x.window?x.obj.copy(r):r;r=x.graph.node(r),(u||G).ack;function f(){}f.ram=f.faith=!0,s&&(s.ga=+new Date),e.on("in",{"@":t["#"],put:r,ram:1,$:n,_:f}),s&&(s.gm=+new Date),e.on("get",t),s&&(s.gd=+new Date)},x.chain.opt=function(t){t=t||{};var n=this._,e=t.peers||t;return d(t)||(t={}),d(n.opt)||(n.opt=t),l(e)&&(e=[e]),o(e)&&(e=m(e,function(t,n,e){(n={}).id=n.url=t,e(t,n)}),d(n.opt.peers)||(n.opt.peers={}),n.opt.peers=v(e,n.opt.peers)),n.opt.peers=n.opt.peers||{},m(t,function t(n,e){!g(this,e)||i.is(n)||h.empty(n)?this[e]=n:n&&n.constructor!==Object&&!o(n)||m(n,t,this[e])},n.opt),x.on("opt",n),x.obj.native(),this},x.obj.native=function(){var t=Object.prototype;for(var n in t)console.log("Native Object.prototype polluted, reverting",n),delete t[n]};var w,e,o=x.list.is,i=x.text,l=i.is,p=i.random,h=x.obj,d=(h.empty,h.is),g=h.has,v=h.to,m=h.map,$=(h.copy,x.state.lex,x.state.ify),j=x.state.is,T=x.val.link._,k=".",S=x.node._,D=x.val.is,A=(x.val.link.is,x.state._),G={};(x.log=function(){return x.log.off||e.log.apply(e,arguments),[].slice.call(arguments).join(" ")}).once=function(t,n,e){return(e=x.log.once)[t]=e[t]||0,e[t]++||x.log(n)},"undefined"!=typeof window&&((window.GUN=window.Gun=x).window=window);try{void 0!==b&&(b.exports=x)}catch(t){}((t.exports=x).window||"").console=(x.window||"").console||{log:function(){}},(e=console).only=function(t,n){return e.only.i&&t===e.only.i&&e.only.i++&&(e.log.apply(e,arguments)||n)},x.log.once("welcome","Hello wonderful person! :) Thanks for using GUN, please ask for help on http://chat.gun.eco if anything takes you longer than 5min to figure out!")})(_,"./root"),_(function(t){var u=_("./root");u.chain.back=function(t,n){if(-1===(t=t||1)||1/0===t)return this._.root.$;if(1===t)return(this._.back||this._).$;var e=this._;if("string"==typeof t&&(t=t.split(".")),t instanceof Array){for(var o=0,i=t.length,r=e;o(r.acks||0)&&this.off(),r.ack&&r.ack(t,this)},r.opt),e=0,o=n.root.now;a.del(n.root,"now");var i=n.root.mum;n.root.mum={},r.ref._.on("out",{$:r.ref,put:r.out=r.env.graph,opt:r.opt,"#":t}),n.root.mum=i?a.to(i,n.root.mum):i,n.root.now=o,r.via._.on("res",{}),delete r.via._.tag.res},r),r.res&&r.res())}function f(r,t,n,a){var u=this,s=c.is(r);!t&&a.path.length&&(u.res||e)(function(){for(var t=a.path,n=u.ref,e=(u.opt,0),o=t.length;e .once, apologies unexpected."),this.once(t,n)},f.chain.once=function(t,n){var e=this,o=e._,i=o.put;if(0"];if(l[o]=Gun.state.ify(l[o],i,a,r,o),t["@"]||((f[t["#"]]=n=(t._||"").lot||{}).lS=(n.lS||0)+1),(c+=1)>=(u.batch||1e3))return p();s=s||setTimeout(p,u.wait||1)}),a.on("get",function(n){this.to.next(n);var e,o,i,r=n.get;function t(){if(r&&(e=r["#"])){var t=r["."];(o=l[e]||i)&&t&&(o=Gun.state.to(o,t)),a.on("in",{"@":n["#"],put:Gun.graph.node(o),lS:1})}}Gun.debug?setTimeout(t,1):t()});var p=function(t){var e;c=0,clearTimeout(s),s=!1;var n=f;f={},t&&(l=t);try{h.setItem(u.prefix,JSON.stringify(l))}catch(t){Gun.log(e=(t||"localStorage failure")+" Consider using GUN's IndexedDB plugin for RAD for more storage space, https://gun.eco/docs/RAD#install"),a.on("localStorage:error",{err:e,file:u.prefix,flush:l,retry:p})}(e||Gun.obj.empty(u.peers))&&Gun.obj.map(n,function(t,n){if(t){if(t.more)return void(f[n]=t);t.s!==t.lS&&(e="localStorage batch not same.")}a.on("in",{"@":n,err:e,ok:0})})}}})}})(_,"./adapters/localStorage"),_(function(t){var e,x=_("../type");function o(t,n){var e;if(!(n instanceof Object))return n;var o=+new Date;return x.obj.map(Object.keys(n).sort(),i,{to:e={},on:n}),console.STAT&&console.STAT(o,new Date-o,"sort"),e}function i(t){this.to[t]=this.on[t]}e=JSON.stringify,x.obj.hash=function(t,n){if(n||void 0!==(t=e(t,o)))return x.text.hash(n||t||"")},x.obj.hash.sort=o;var w=x.obj.is;x.obj.map;try{t.exports=function(f){var l=function(){},p=f.opt||{};p.log=p.log||console.log,p.gap=p.gap||p.wait||0,p.pack=p.pack||.3*(p.memory?1e3*p.memory*1e3:1399e6),p.puff=p.puff||9;var h,d,g,v=setTimeout.puff||setTimeout,m=f.dup,c=m.check,k=m.track,b=l.hear=function(t,i){if(t){if(p.pack<=t.length)return l.say({dam:"!",err:"Message too big!"},i);var r,n,e,o=t[0];if(l===this&&(b.d+=t.length||0,++b.c),"["!==o){if("{"===o||(t["#"]||w(t))&&(r=t)){try{r=r||JSON.parse(t)}catch(t){return p.log("DAM JSON parse error",t)}if(!r)return;if(r.DBG&&(r.DBG=e={DBG:r.DBG}),e&&(e.hp=+new Date),(n=r["#"])||(n=r["#"]=x.text.random(9)),o=c(n))return;if((r._=function(){}).via=l.leap=i,o=r.dam)return(o=l.hear[o])&&o(r,i,f),void k(n);var a,u=+new Date;e&&(e.is=u),f.on("in",r),e&&(e.hd=+new Date),console.STAT&&9<(a=new Date-u)&&console.STAT(u,a,"msg"),k(n).via=i,l.leap=null}}else{try{r=JSON.parse(t)}catch(t){p.log("DAM JSON parse error",t)}if(t="",!r)return;console.STAT&&console.STAT(+new Date,r.length,"# on hear batch");var s=p.puff;(function t(){for(var n,e=+new Date,o=0;o